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

Re: [Gcl-devel] Re: ia64 function descriptors and unexec



Greetings!

Apparently xemacs has faced a problem similar to the one GCL now
faces.

I've found the useful link:

http://list-archive.xemacs.org/xemacs-beta/200302/msg00029.html

I understand (I think) what the DYNAMIC_SYSCALL_FUNCADDR does, but I'm
still confused as to what problem it solves.  I've been told, and I've
verified myself, that one cannot step around the ABI by simply jumping
to the *real* function address in a C function call, e.g. (*f)();  So
perhaps as the name implies this is something needed only for
syscalls, and that the 'portable dumper option' solves the more
generic problem of dumped lisp objects containing function pointers
referring to C functions in the same program.  Would you mind
sketching how xemacs has addressed this on ia64?  I've been advised to
dump (part of) the ld.so function descriptor table along with the
image in the unexec, but it appears that xemacs is doing something
different.  

One other idea is to loop through the function objects before unexec
and converting the pointers their in to the real addresses, then on
re-execution, devising some algorithm to search through the new
function descriptor table for the new descriptor and assigning the
pointers to that address.  I know the first address in the descriptor
contains the real function address, but I don't know about the second
address in the function descriptor structure.  Ideally this should be
examined to make sure we've found a real descriptor and not simply a
coincidental address in ld.so's memory map.

Advice appreciated.

Take care,



"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> >>>>> "Peter" == Peter Chubb <peter@chubb.wattle.id.au> writes:
> 
>     Peter> Well the version [of XEmacs] packaged for Debian on IA64
>     Peter> still does not work: Bug #149088 in the debian bug tracking
>     Peter> system.
> 
> --with-system-malloc seems to be necessary and sufficient on Red Hat
> Linux systems for the ia64 architecture to work.
> 
> Does the Debian packaged version use the portable dumper option?
> 
> 
> -- 
> Institute of Policy and Planning Sciences     http://turnbull.sk.tsukuba.ac.jp
> University of Tsukuba                    Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
>                Ask not how you can "do" free software business;
>               ask what your business can "do for" free software.
> 
> 
> 

-- 
Camm Maguire			     			camm@enhanced.com
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah



Reply to: