Re: [Linux-ia64] IA64 ELF header question...

Peter Bergner
2002-01-24T13:51:48Z

Cary Coutant wrote:
> PA-RISC also uses function descriptors. On HP-UX, for both PA-RISC and
> IA-64, the e_entry field is the address of the code entry point itself,
> rather than the address of a function descriptor. Our dynamic loader
> initializes its own gp value, and when it's time for the dynamic loader
> to call the application's entry point, it knows what the gp value should
> be, so we don't need a function descriptor.

This looks also to be the case for Linux/IA64 (from what I gathered from
looking at the IA64 kernel and GLIBC source). Changing our ABI to match
this doesn't look promising, as we're not the only OS using this ABI.
This means I'll need to modify the kernel to reloc our function
descriptor (FD)
entries. The only problem is, I don't have enough information in
start_thread
to know whether I need to reloc the FD entries or not. Seems like I'll
need
to place some code in fs/binfmt_elf.c to gather up the information
needed
to perform the reloc's in start_thread.

Note I don't really want to reloc the function descriptor entries, just
the values I copy out of the entries as I stuff them into my pt_regs
struct.

Peter