Force production of ELF hash table
John Cronin
jncronin@tysos.org
Sun Apr 21 19:23:00 GMT 2013
On 21/04/2013 16:16, Ian Lance Taylor wrote:
> On Sun, Apr 21, 2013 at 6:28 AM, John Cronin <jncronin@tysos.org> wrote:
>> I am using ld to link an OS kernel. The kernel produced is a statically
>> linked executable file but supports dynamic modules. I would like to use
>> the hash table functionality of ELF files to quickly look up symbols within
>> the statically linked kernel file for dynamically loading the modules
>> however cannot work out how to ask ld to add the hash table to non-shared
>> outputs. Is it possible? I see from
>> http://elinux.org/images/1/18/C_AMOROSO_Fast_lkm_loader_ELC-E_2009.pdf that
>> the embedded linux guys have had to write their own tool (ksymhash) to
>> modify the vmlinux image after linking but I was wondering whether there was
>> a way to ask ld to do it for me. I am using the x86_64-elf target.
> There is currently no support for that in either GNU ld or gold. It
> would not be enough to simply write out the hash table; you could also
> have to provide some way for the program to find it at runtime, since
> it would not be able to use the usual dynamic tag mechanism.
>
> Ian
Thanks. I suspected this was so. I'll look into a way of adding it
post-hoc (creating it in a separate program then embedding it in a
separate section with objcopy).
Regards,
John.
More information about the Binutils
mailing list