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
commit60f42b3a9ad673413e4021fa0260ef042b1f7373 (patch)
tree895d0fa5f9def7e52259e1ed33ad5ef5c0d9a392
parent3142def980696e09df117456488b11b8b8ff3ffe (diff)
downloadgdb-60f42b3a9ad673413e4021fa0260ef042b1f7373.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 0619adbcd20..a7923bd6ba7 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 2cfd53ee1b0..bb586708f37 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 7d3e8821d93..06f96a409b9 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. */