[Vm-dev] Alien on Spur and "el capitan"?

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Tue Oct 20 20:43:16 UTC 2015


Esteban,

good news, https://github.com/devernay/xcodelegacy supports Xcode 7 and El
capitan...
So we can still compile a legacy MacCarbon based VM compatible with snow
leopard.
I ried it, it works and I can run Squeak 5.0 (spur) with such VM.

For my own brand of macosx 32/squeak.cog.spur, it's less glorious.
I can compile with latest clang (7), but the image immediately quit when I
use this VM (with a correct STARTUP/QUIT log pair in the change log
though...).

I'll continue to dig.

2015-10-20 8:32 GMT+02:00 Esteban Lorenzano <estebanlm at gmail.com>:

>
> Hi,
>
> I think this does not solves my problem :(
>
> but… do you think this leaks where present before? I’m using different way
> to build pharovm (using cmake to generate it, not an xcode project) so I
> can add the definitions there… but I tried to integrate your changes to my
> sources and I found that you are using newer objc instructions, so the
> build with sdk 10.6 (needed to still support leopard) failed (then I
> reverted, waiting for a better moment to perform this task)
> … yet, I didn’t tried too much so I don’t know if the error is not fixable
> in 10.6 or I just missed a configuration.
>
> Any hint?
>
> cheers,
> Esteban
>
> On 20 Oct 2015, at 03:03, John McIntosh <johnmci at smalltalkconsulting.com>
> wrote:
>
> Ok  I pushed fixes to deal with a code compile error, plus update the code
> base so that it does not leak memory when running under the os-x legacy
> 32bit objective-c runtime.
> Brave folks could look at Cog/build.macos32x86/squeak.cog.spur and the
> miosvm script or the SqueakCogSpur32x86.xcworkspace xCode project.
>
> On Mon, Oct 19, 2015 at 11:09 AM, John McIntosh <
> johnmci at smalltalkconsulting.com> wrote:
>
>> Look at Cog/build.macos32x86/squeak.cog.spur  and the miosvm script or
>> the SqueakCogSpur32x86.xcworkspace
>> You should be able to build a 32bit cog.spur VM using the current Xcode
>> under the current OSX
>>
>> On Mon, Oct 19, 2015 at 11:01 AM, Nicolas Cellier <
>> nicolas.cellier.aka.nice at gmail.com> wrote:
>>
>>>
>>> I regularly sync (merge) with Eliot branch, but I'm a few months behind,
>>> not much time recently.
>>> Also, I upgraded Xcode to latest version but did not yet tried to
>>> compile the VM, so no premature promises...
>>> I'll try and have a look and will keep you informed...
>>>
>>> cheers
>>>
>>> 2015-10-19 19:56 GMT+02:00 Esteban Lorenzano <estebanlm at gmail.com>:
>>>
>>>>
>>>> I don’t know about Eliot, but I cannot wait.
>>>> Without Alien, I have no FFI with callbacks.
>>>> Without FFI with callbacks I have no replacement for NativeBoost.
>>>> Without NativeBoost I have not Athens (and OSWindow)
>>>> And without those, Pharo cannot migrate to Spur.
>>>>
>>>> So if you have a working version (or partially working), please, share
>>>> it.
>>>>
>>>> Esteban
>>>>
>>>> On 19 Oct 2015, at 19:48, Nicolas Cellier <
>>>> nicolas.cellier.aka.nice at gmail.com> wrote:
>>>>
>>>> I've changed many of these in my experimental branch when trying to
>>>> remove lot of UB - but it's not up to date with latest Eliot .oscog
>>>> versions...
>>>>
>>>> I'd like we review some of these changes, but only if Eliot is ready,
>>>> he has many things cooking already.
>>>>
>>>> http://smalltalkhub.com/mc/nice/NiceVMExperiments/main
>>>>
>>>> 2015-10-19 18:31 GMT+02:00 Esteban Lorenzano <estebanlm at gmail.com>:
>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> Does anyone tested Alien on Spur and "El capitan"? specifically
>>>>> callbacks?
>>>>> For me, a completely broken :(
>>>>>
>>>>> 1) this structure (in maybeInlinePositive32BitIntegerFor: and others):
>>>>>
>>>>> (integerValue >= 0
>>>>> and: [objectMemory isIntegerValue: integerValue]) ifTrue:
>>>>> [^objectMemory integerObjectOf: integerValue].
>>>>>
>>>>> Does not works if “integer value” is an unsigned long, because
>>>>> compiler assumes it will always be true, then remove the if, then answers a
>>>>> wrong value.
>>>>>
>>>>> 2) assertCStackWellAligned always fail. No idea why because if does
>>>>> not says anything, just jmp back to the regular flow.
>>>>>
>>>>> 3) finally, ceCaptureCStackPointers also fails… this can be because
>>>>> (2) or because other reasons (it also jmps back so no clue) (method
>>>>> generateCaptureCStackPointers: clarifies is a hack, so I suppose it stopped
>>>>> to work).
>>>>>
>>>>> I guess solution of (1) is easy: argument number just has to be a
>>>>> sqLong instead an unsigned long.
>>>>>
>>>>> But for 2 and 3 I have no idea where to start.
>>>>>
>>>>> Does anyone has an idea?
>>>>>
>>>>> Esteban
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>> --
>>
>> ===========================================================================
>> John M. McIntosh. Corporate Smalltalk Consulting Ltd
>> https://www.linkedin.com/in/smalltalk
>>
>> ===========================================================================
>>
>
>
>
> --
> ===========================================================================
> John M. McIntosh. Corporate Smalltalk Consulting Ltd
> https://www.linkedin.com/in/smalltalk
> ===========================================================================
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20151020/e427fc28/attachment-0001.htm


More information about the Vm-dev mailing list