diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2004-02-27 10:03:05 +0000 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2004-02-27 10:03:05 +0000 |
commit | 1c3ff0f2a51472fbecbbf1069f2570980b14ec9a (patch) | |
tree | 269eec1a8c3f4a9d17937df961f2b3266284970a /bfd | |
parent | 6b9acc27a9f99a131b016e25b8e52481959b9321 (diff) | |
download | gdb-1c3ff0f2a51472fbecbbf1069f2570980b14ec9a.zip gdb-1c3ff0f2a51472fbecbbf1069f2570980b14ec9a.tar.gz gdb-1c3ff0f2a51472fbecbbf1069f2570980b14ec9a.tar.bz2 |
* elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
for pc relative relocs.
(elf_s390_relocate_section): Likewise.
* elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
for pc relative relocs.
(elf_s390_relocate_section): Likewise.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 9 | ||||
-rw-r--r-- | bfd/elf32-s390.c | 9 | ||||
-rw-r--r-- | bfd/elf64-s390.c | 9 |
3 files changed, 13 insertions, 14 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6e39c4b..1d808b0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,12 @@ +2004-02-27 Jakub Jelinek <jakub@redhat.com> + + * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL + for pc relative relocs. + (elf_s390_relocate_section): Likewise. + * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL + for pc relative relocs. + (elf_s390_relocate_section): Likewise. + 2004-02-26 H.J. Lu <hongjiu.lu@intel.com> * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index 07ba23c..53b3fe4 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -1884,9 +1884,7 @@ allocate_dynrelocs (h, inf) if (info->shared) { - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - && ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0 - || info->symbolic)) + if (SYMBOL_REFERENCES_LOCAL (info, h)) { struct elf_s390_dyn_relocs **pp; @@ -2562,10 +2560,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, && r_type != R_390_PC32DBL && r_type != R_390_PC32) || (h != NULL - && h->dynindx != -1 - && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + && !SYMBOL_REFERENCES_LOCAL (info, h)))) || (ELIMINATE_COPY_RELOCS && !info->shared && h != NULL diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index 2260248..8a919c4 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -1855,9 +1855,7 @@ allocate_dynrelocs (h, inf) if (info->shared) { - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - && ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0 - || info->symbolic)) + if (SYMBOL_REFERENCES_LOCAL (info, h)) { struct elf_s390_dyn_relocs **pp; @@ -2540,10 +2538,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, && r_type != R_390_PC32DBL && r_type != R_390_PC64) || (h != NULL - && h->dynindx != -1 - && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + && !SYMBOL_REFERENCES_LOCAL (info, h)))) || (ELIMINATE_COPY_RELOCS && !info->shared && h != NULL |