gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Native object relocation in GCL


From: Camm Maguire
Subject: [Gcl-devel] Native object relocation in GCL
Date: Fri, 17 Jun 2005 12:08:14 -0400
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (Unebigory ōmae) APEL/10.3 Emacs/21.2 (i386-debian-linux-gnu) MULE/5.0 (SAKAKI)

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                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]