[m-dev.] Trying to add shared objects support for ARM

Sergey Khorev iamphet at nm.ru
Thu Dec 8 20:24:24 AEDT 2005


JF> The hacks in runtime/mercury_goto.h are only necessary for the asm_fast*
JF> grades. You may want to try getting shared libraries to work with hlc.gc,
JF> it should just be a matter of enabling them in the configure script.

Thanks, building and testing shared hlc.gc was a good starting point.

JF> > I wonder what file should I compile with -fpic -S to see manipulations with
JF> > GLOBAL_OFFSET_TABLE?
JF> 
JF> I'm not sure; presumably something that uses shared libraries.
JF> 
JF> > Doesn't this really mean "compile with -fpic and then
JF> > disassemly"? ;)
JF> 
JF> It means compile with -fpic and then don't assemble but write the assembly
JF> code to a file but the effect would be more or less the same.

I was confused because gcc-arm didn't generate any operations with GLOBAL_OFFSET_TABLE for my naive attempts.
Finally I've figured out that a function should contain setjmp. It seems gcc-arm is lazier ;) than gcc-i386
which willingly manipulates GOT for any PIC.
Finally I've got asm_fast.gc working in shared version as well. Patch to go after additional testing and benchmarking.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list