mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-11 12:06:09 +00:00
Don't update reloc count if there are any non pc-relative relocs
PR ld/16428 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc count if there are any non pc-relative relocs. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
This commit is contained in:
parent
8213266aea
commit
d1ec1e40b5
@ -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 update reloc
|
||||
count if there are any non pc-relative relocs.
|
||||
* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
|
||||
|
||||
2014-01-14 Michael Hudson-Doyle <michael.hudson@linaro.org>
|
||||
Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org>
|
||||
|
||||
|
@ -2367,9 +2367,14 @@ elf_i386_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
|
||||
struct elf_dyn_relocs **pp;
|
||||
|
||||
for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
|
||||
{
|
||||
/* Don't update reloc count if there are any non
|
||||
pc-relative relocs. */
|
||||
if (!h->pointer_equality_needed)
|
||||
{
|
||||
p->count -= p->pc_count;
|
||||
p->pc_count = 0;
|
||||
}
|
||||
if (p->count == 0)
|
||||
*pp = p->next;
|
||||
else
|
||||
|
@ -2462,9 +2462,14 @@ elf_x86_64_allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
|
||||
struct elf_dyn_relocs **pp;
|
||||
|
||||
for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
|
||||
{
|
||||
/* Don't update reloc count if there are any non
|
||||
pc-relative relocs. */
|
||||
if (!h->pointer_equality_needed)
|
||||
{
|
||||
p->count -= p->pc_count;
|
||||
p->pc_count = 0;
|
||||
}
|
||||
if (p->count == 0)
|
||||
*pp = p->next;
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user