Don't discard relocs against __ehdr_start
__ehdr_start will be defined by assign_file_positions_for_non_load_sections later. PR ld/16428 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs against __ehdr_start. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
This commit is contained in:
parent
c3ce498cbd
commit
818d220a6f
@ -1,3 +1,10 @@
|
||||
2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/16428
|
||||
* elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
|
||||
against __ehdr_start.
|
||||
* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
|
||||
|
||||
2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
|
||||
|
@ -2390,9 +2390,12 @@ elf_i386_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
|
||||
}
|
||||
|
||||
/* Also discard relocs on undefined weak syms with non-default
|
||||
visibility. */
|
||||
visibility. Don't discard relocs against __ehdr_start which
|
||||
will be defined by assign_file_positions_for_non_load_sections
|
||||
later. */
|
||||
if (eh->dyn_relocs != NULL
|
||||
&& h->root.type == bfd_link_hash_undefweak)
|
||||
&& h->root.type == bfd_link_hash_undefweak
|
||||
&& strcmp (h->root.root.string, "__ehdr_start") != 0)
|
||||
{
|
||||
if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT)
|
||||
eh->dyn_relocs = NULL;
|
||||
|
@ -2473,9 +2473,12 @@ elf_x86_64_allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
|
||||
}
|
||||
|
||||
/* Also discard relocs on undefined weak syms with non-default
|
||||
visibility. */
|
||||
visibility. Don't discard relocs against __ehdr_start which
|
||||
will be defined by assign_file_positions_for_non_load_sections
|
||||
later. */
|
||||
if (eh->dyn_relocs != NULL
|
||||
&& h->root.type == bfd_link_hash_undefweak)
|
||||
&& h->root.type == bfd_link_hash_undefweak
|
||||
&& strcmp (h->root.root.string, "__ehdr_start") != 0)
|
||||
{
|
||||
if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT)
|
||||
eh->dyn_relocs = NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user