Done, now it's dying while running the tests. I'll try to make it work again tomorrow night (only if we finally get to release a new version of SqueakNOS, I promise).
Here is the stack trace in case it's a known problem: Smalltalk stack dump: 0xbf78b038 M NBFFICallout class(NBNativeCodeGen class)>generateCode:andRetry: 2032660172: a(n) NBFFICallout class 0xbf78b9a8 I NativeBoostLinux32>getGlobalSymbolPointer: 2039879072: a(n) NativeBoostLinux32 0xbf78b9d0 I [] in NBUnixExternalHeapManager>mmapLength:prot:flags:into: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78b9f4 I NBFFICallout>generate: 2041155916: a(n) NBFFICallout 0xbf78ba28 I [] in NBFFICallout class>cdecl:emitCall:options: 2032660172: a(n) NBFFICallout class 0xbf78ba64 I NBFFICallout class(NBNativeCodeGen class)>generateCode:andRetry: 2032660172: a(n) NBFFICallout class 0xbf78ba90 I NBFFICallout class(NBNativeCodeGen class)>handleFailureIn:nativeCode: 2032660172: a(n) NBFFICallout class 0xbf78babc I NBFFICallout class>cdecl:emitCall:options: 2032660172: a(n) NBFFICallout class 0xbf78bae8 I NBUnixExternalHeapManager>mmapLength:prot:flags:into: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78bb20 I NBUnixExternalHeapManager>primAllocatePage: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78bb50 I NBUnixExternalHeapManager(NBExternalHeapManager)>allocatePage: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78bb74 M [] in NBUnixExternalHeapManager(NBExternalHeapManager)>allocate: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78bb8c M IdentitySet(Collection)>detect:ifNone: 2041154916: a(n) IdentitySet 0xbf78bbc0 I [] in NBUnixExternalHeapManager(NBExternalHeapManager)>allocate: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78bbe0 M [] in Semaphore>critical: 2041154856: a(n) Semaphore 0xbf78bc00 M BlockClosure>ensure: 2041155208: a(n) BlockClosure 0xbf78bc20 M Semaphore>critical: 2041154856: a(n) Semaphore 0xbf78bc44 I NBUnixExternalHeapManager(NBExternalHeapManager)>allocate: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78bc6c I NativeBoostLinux32>basicAllocate: 2039879072: a(n) NativeBoostLinux32 0xbf78bc94 I NativeBoostLinux32(NativeBoost)>allocate: 2039879072: a(n) NativeBoostLinux32 0xbf78bcb8 I NativeBoostLinux32(NativeBoost)>initialize 2039879072: a(n) NativeBoostLinux32 0xbf78bcd0 M NativeBoostLinux32 class(Behavior)>new 2032913612: a(n) NativeBoostLinux32 class 0xbf78bcf4 I [] in NativeBoost class>discoverPlatformId 2032664204: a(n) NativeBoost class 0xbf78bd1c I [] in NativeBoost class(Behavior)>allSubclassesDo: 2032664204: a(n) NativeBoost class 0xbf78bd40 M Array(SequenceableCollection)>do: 2032915888: a(n) Array 0xbf78bd64 I NativeBoost class(Class)>subclassesDo: 2032664204: a(n) NativeBoost class 0xbf78bd88 I NativeBoost class(Behavior)>allSubclassesDo: 2032664204: a(n) NativeBoost class 0xbf78bdb0 I NativeBoost class>discoverPlatformId 2032664204: a(n) NativeBoost class 0xbf78bdd0 I NativeBoost class>forCurrentPlatform 2032664204: a(n) NativeBoost class 0xbf78bdf0 I NativeBoost class>allocate: 2032664204: a(n) NativeBoost class 0xbf78be10 M NBExternalAddressTests>testMemoryAccess 2039875280: a(n) NBExternalAddressTests 0xbf78be30 I NBExternalAddressTests(TestCase)>performTest 2039875280: a(n) NBExternalAddressTests 0xbf78be50 I [] in NBExternalAddressTests(TestCase)>runCase 2039875280: a(n) NBExternalAddressTests 0xbf78be70 M BlockClosure>ensure: 2039878812: a(n) BlockClosure 0xbf78be94 I NBExternalAddressTests(TestCase)>runCase 2039875280: a(n) NBExternalAddressTests On Wed, Mar 16, 2011 at 11:27 PM, Igor Stasenko <[email protected]> wrote: > On 17 March 2011 03:20, Javier Pimás <[email protected]> wrote: > > I'm also seeing that NBCoInterpreter and NBCoObjectMemory only have small > > modifications compared to the non NB ones. Maybe it is possible to merge > > them directly into cog with an enable/disable flag, so that building NB > is > > the same as building Cog with NB enabled. > > > > Yes, the changes are very small, but i wanted to keep them separate, > so its easy to see them. > > So if you can't wait, you can just patch the original classes > and then generate VM sources using usual command. > But don't forget to include NativeBoostPlugin as internal one. > > If you using CMakeVMMaker, you do it like following: > > | config | > config := CogUnixConfig new. > config internalPlugins: (cog internalPlugins copyWith: #NativeBoostPlugin). > > config generateSourceFiles. > config generate. > > > > -- > Best regards, > Igor Stasenko AKA sig. > > -- Javier Pimás Ciudad de Buenos Aires
