aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2004-02-27 10:03:05 +0000
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2004-02-27 10:03:05 +0000
commit1c3ff0f2a51472fbecbbf1069f2570980b14ec9a (patch)
tree269eec1a8c3f4a9d17937df961f2b3266284970a /bfd
parent6b9acc27a9f99a131b016e25b8e52481959b9321 (diff)
downloadgdb-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/ChangeLog9
-rw-r--r--bfd/elf32-s390.c9
-rw-r--r--bfd/elf64-s390.c9
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