>>>>>> "Ben" == Ben Wing
<ben(a)666.com> writes:
>
> Ben> I find that hard to believe; I wonder what his reasons are ...
>
> Some of the objects that get dumped contain function
pointers. In the
> IA64 ABI, these point to a descriptor containing { &code,
> &data_context }. At the very least data_context varies between
> machines and across reboots (I'm not sure about per process).
> Data_context is so machine dependant that there is no
useful way that
> we can get access to it in XEmacs.
Note that only dynamic assignments are a problem, because
their function descriptors are allocated at runtime (during
initial relocation), thus their address differ before and
after dumping. (This is unlike powerpc64 where every
function has a descriptor preallocated.) For static
initialisations the corresponding descriptors are also
statically allocated and won't change. Thus for example C++
vtables would not pose a problem.
I'm not quite sure what you are referring to here by "dynamic assignment of
function pointers" -- can you give me an example? I'm sure there is a way
of simply reassigning the function at dump-load time.