diff options
author | Daniel Jacobowitz <drow@false.org> | 2005-03-28 15:32:58 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2005-03-28 15:32:58 +0000 |
commit | e3f7d989e3eebc73e140b38b9ddc954b55b95b46 (patch) | |
tree | b18bc9923b906c43eb3ac4c558fd40dbd40ed20d | |
parent | 0721ba30f5db2dbd00260529517cc483fb3da4c0 (diff) | |
download | gdb-e3f7d989e3eebc73e140b38b9ddc954b55b95b46.zip gdb-e3f7d989e3eebc73e140b38b9ddc954b55b95b46.tar.gz gdb-e3f7d989e3eebc73e140b38b9ddc954b55b95b46.tar.bz2 |
* elf32-arm.c (elf32_arm_check_relocs): Increment count for all
relocation types. Don't count relocations which will use a PLT.
-rw-r--r-- | ChangeLog.csl | 5 | ||||
-rw-r--r-- | bfd/elf32-arm.c | 19 |
2 files changed, 9 insertions, 15 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl index daecaa7..42be2bf 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,3 +1,8 @@ +2005-03-28 Daniel Jacobowitz <dan@codesourcery.com> + + * elf32-arm.c (elf32_arm_check_relocs): Increment count for all + relocation types. Don't count relocations which will use a PLT. + 2005-03-23 Jim Blandy <jimb@redhat.com> * config/tc-arm.c (arm_adjust_symtab): Fetch elf_sym's binding diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 63452ca..2c88fe4 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -4096,18 +4096,9 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, relocs_copied field of the hash table entry. */ if ((info->shared || htab->root.is_relocatable_executable) && (sec->flags & SEC_ALLOC) != 0 - && ((r_type != R_ARM_PC24 - && r_type != R_ARM_PLT32 -#ifndef OLD_ARM_ABI - && r_type != R_ARM_CALL - && r_type != R_ARM_JUMP24 - && r_type != R_ARM_PREL31 -#endif - && r_type != R_ARM_REL32 - && r_type != R_ARM_THM_PC22) - || (h != NULL - && (! info->symbolic - || !h->def_regular)))) + && (r_type == R_ARM_ABS32 + || (h != NULL && ! h->needs_plt + && (! info->symbolic || ! h->def_regular)))) { struct elf32_arm_relocs_copied *p, **head; @@ -4187,9 +4178,7 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, p->count = 0; } - if (r_type == R_ARM_ABS32 - || r_type == R_ARM_REL32) - p->count += 1; + p->count += 1; } break; |