[Vm-dev] compiling IA32ABI for cocoa cog
Esteban Lorenzano
estebanlm at gmail.com
Wed Apr 13 02:25:24 UTC 2011
well... for testing, I changed -fvisibility=hidden with -fvisibility=default
now it runs... and all the symbols are public.
I do not perceive any loose of performance, nor loading, nor executing...
I dunno, maybe I should keep this visibility... it certainly easies some things. What I don't know is if this is conceptually correct.
What do you think?
Cheers,
Esteban
El 12/04/2011, a las 10:34p.m., Eliot Miranda escribió:
>
>
> On Tue, Apr 12, 2011 at 6:30 PM, Esteban Lorenzano <estebanlm at gmail.com> wrote:
>
> Hi Eliot,
> yes... I need it, because cocoa cog vm is compiled with: -fvisibility=hidden, and so I need to explicitly export functions/variables I want to use outside. I could change the visibility, but I'm not sure if this is a good idea.
>
> If you must, you must. You can include specific declarations in the class-side declareCVarsIn: methods, e.g. StackInterpreter class>> declareCVarsIn:.
>
>
> Cheers,
> Esteban
>
> El 12/04/2011, a las 9:17p.m., Eliot Miranda escribió:
>
>> Hi Esteban,
>>
>> On Tue, Apr 12, 2011 at 5:03 PM, Esteban Lorenzano <estebanlm at gmail.com> wrote:
>>
>> Hi,
>> I'm trying to compile new IA32ABI plugin, who should work with new Threaded FFI.
>> As everybody requested, I'm trying to compile this plugin as an external plugin, and for that reason I need variable
>>
>> sqInt inIOProcessEvents;
>>
>> to be
>>
>> EXPORT(sqInt) inIOProcessEvents;
>>
>> ...how can I modify VMMaker to ensure this?
>>
>> Um, are you sure you need to. If you have a look at http://www.squeakvm.org/svn/squeak/branches/Cog r2378 you'll see that inIOProcessEvents is declared in cointerpmt.c and that IA32ABI.c imports it via
>>
>> src/plugins/IA32ABI/IA32ABI.c: { extern int inIOProcessEvents; address = (sqInt)&inIOProcessEvents; }
>>
>> Doesn't that work?
>>
>> best,
>> Eliot
>>
>> I tried touching StackInterpreter>>#mustBeGlobal:, but that generates bad code on gcc3x-cointerpmt.c (it creates GIV(inIOProcessEvents) calls and that does not work)
>>
>> so... any idea?
>>
>> thanks,
>> Esteban
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20110412/c0128947/attachment.htm
More information about the Vm-dev
mailing list