How to reclaim .rela.dyn entries for symbols that become hidden?
John David Anglin
dave@hiauly1.hia.nrc.ca
Mon Jul 4 16:09:00 GMT 2005
> > Are these provided by the linker's internal script?
>
> ld/emultempl/elf32.em:
> gld${EMULATION_NAME}_provide_bound_symbols (".init_array",
> "__init_array_start",
> "__init_array_end");
2005-03-22 H.J. Lu <hongjiu.lu@intel.com>
* emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols): New
(gld${EMULATION_NAME}_finish): Call
gld${EMULATION_NAME}_provide_bound_symbols to provide
__preinit_array_start, __preinit_array_end, __init_array_start,
__init_array_end, __fini_array_start and __fini_array_end.
* scripttempl/elf.sc: Don't provide __preinit_array_start,
__preinit_array_end, __init_array_start, __init_array_end,
__fini_array_start nor __fini_array_end.
static void
gld${EMULATION_NAME}_provide_bound_symbols (const char *sec,
const char *start,
const char *end)
{
asection *s = bfd_get_section_by_name (output_bfd, sec);
if (s && bfd_section_removed_from_list (output_bfd, s))
s = NULL;
_bfd_elf_provide_section_bound_symbols (&link_info, s, start, end);
}
2005-05-04 H.J. Lu <hongjiu.lu@intel.com>
* bfd-in.h (_bfd_elf_provide_section_bound_symbols): New.
* bfd-in2.h: Regenerated.
* elflink.c (bfd_elf_set_symbol): New.
(_bfd_elf_provide_symbol): Call it.
(_bfd_elf_provide_section_bound_symbols): New.
`
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
More information about the Binutils
mailing list