summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2011-12-22 15:00:40 +0000
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-12-22 15:00:40 +0000
commitba82be168ea201d0bb335edd7cbc0d965e93c6ad (patch)
tree0d1577191786baa4efb06affe2dc80f83300e935
parentc203e7775c56b6fea85663a9e1b759c176ccc42e (diff)
downloadbinutils-redhat-ba82be168ea201d0bb335edd7cbc0d965e93c6ad.tar.gz
2011-12-22 Martin Schwidefsky <schwidefsky@de.ibm.com>
* elf32-s390.c (elf_s390_relocate_section): Add check for debugging section in LD to LE linker relaxation for R_390_TLS_LDO32. * elf64-s390.c (elf_s390_relocate_section): Likewise for R_390_TLS_LDO64.
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elf32-s390.c2
-rw-r--r--bfd/elf64-s390.c2
3 files changed, 9 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 0619adbcd2..a7923bd6ba 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2011-12-22 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (elf_s390_relocate_section): Add check for debugging
+ section in LD to LE linker relaxation for R_390_TLS_LDO32.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise for
+ R_390_TLS_LDO64.
+
2011-12-21 Ulrich Weigand <ulrich.weigand@linaro.org>
* elf32-arm.c (elf32_arm_nabi_grok_psinfo): Fill in core_pid.
diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c
index 2cfd53ee1b..bb586708f3 100644
--- a/bfd/elf32-s390.c
+++ b/bfd/elf32-s390.c
@@ -2862,7 +2862,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
continue;
case R_390_TLS_LDO32:
- if (info->shared)
+ if (info->shared || (input_section->flags & SEC_DEBUGGING))
relocation -= dtpoff_base (info);
else
/* When converting LDO to LE, we must negate. */
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
index 7d3e8821d9..06f96a409b 100644
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -2861,7 +2861,7 @@ elf_s390_relocate_section (bfd *output_bfd,
continue;
case R_390_TLS_LDO64:
- if (info->shared)
+ if (info->shared || (input_section->flags & SEC_DEBUGGING))
relocation -= dtpoff_base (info);
else
/* When converting LDO to LE, we must negate. */