Greetings! GCL, maxima, acl2, and axiom use a bfd-based native object relocation facility to loading compiled lisp objects into the running lisp image. This works on all 12 Debian platforms now save only ia64 and hppa.
We've recently added support for mips, mipsel, and alpha, which like at least some of these two use global position registers and other atypical linking features. We did this by crafting and adding a global symbol table (i.e. .got/GOT) section at the end of each compiled file, setting the GP register to the beginning of this table, and pointing the relocation records in all other sections to the new table. THe special relocation functions in libbfd are redirected if necessary. It would simplify life greatly if I could extend this functionality to ia64 and hppa, as maintaining the alternate workarounds based on dlopen is cumbersome. It would be helpful if someone could point me to some succinct documentation somewhere which describes the handful of relocation types output by gcc. Better yet if someone knows of an existing implementation in some other program I could study and copy. Take care, -- Camm Maguire [EMAIL PROTECTED] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

