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

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

[removing emacs-devel from cc: since it's off-topic there.]

Camm Maguire <camm@enhanced.com> writes:

> Far better than trying to probe ld.so's function descriptor table, I
> should rather ammend the lisp compiler to write a static function
> structure into each produced C source file before compilation, with the
> structure's pointer element statically initialized to the static
> function in the same file.  I then use the address for this structure at
> runtime in setting the lisp symbol's function definition.  This should
> work, right?

I have rechecked the specs, and actually the key point isn't static
vs. dynamic assignment, but rather local vs. dynamic symbols.  A function
descriptor for a symbol in a shared library will be allocated by the
dynamic linker, whereas those for symbols in the executable are allocated
by the static linker.  So you only have to make sure that all function
pointers in the executable only refer to functions therein.


Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

Reply to: