aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2009-01-27 22:28:22 +0000
committerHans-Peter Nilsson <hp@axis.com>2009-01-27 22:28:22 +0000
commitf6f0598346619a96534beb53fb0872e33614ae22 (patch)
tree6417473e5f8daeba3ffd2bb7362a99b6298c7a12 /bfd
parent27cc28f94b69c07ac6c4b1834c2e65538dbbcc3a (diff)
downloadgdb-f6f0598346619a96534beb53fb0872e33614ae22.zip
gdb-f6f0598346619a96534beb53fb0872e33614ae22.tar.gz
gdb-f6f0598346619a96534beb53fb0872e33614ae22.tar.bz2
* elf32-cris.c (cris_elf_relocate_section): Use elf_hash_table
(info)->tls_size, not elf_hash_table (info)->tls_sec->size for the size of local TLS data.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-cris.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f6102d5..6f16c7d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2009-01-27 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section): Use elf_hash_table
+ (info)->tls_size, not elf_hash_table (info)->tls_sec->size for
+ the size of local TLS data.
+
2009-01-27 Andreas Schwab <schwab@suse.de>
* mach-o.c (bfd_mach_o_archive_p): Restrict the number of
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index 16b0b45..bd6de29 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -1694,7 +1694,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
relocation -= elf_hash_table (info)->tls_sec == NULL
? 0 : (elf_hash_table (info)->tls_sec->vma
+ (info->shared
- ? 0 : elf_hash_table (info)->tls_sec->size));
+ ? 0 : elf_hash_table (info)->tls_size));
break;
case R_CRIS_32_GD:
@@ -1737,7 +1737,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
/* The symbol is defined in the program, so just write
(1, -prog_tls_size+known_tpoffset) into the GOT. */
relocation -= elf_hash_table (info)->tls_sec->vma;
- relocation -= elf_hash_table (info)->tls_sec->size;
+ relocation -= elf_hash_table (info)->tls_size;
if (h != NULL)
{
@@ -1889,7 +1889,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
/* The symbol is defined in the program, so just write
the -prog_tls_size+known_tpoffset into the GOT. */
relocation -= elf_hash_table (info)->tls_sec->vma;
- relocation -= elf_hash_table (info)->tls_sec->size;
+ relocation -= elf_hash_table (info)->tls_size;
if (h != NULL)
off = h->got.offset;
@@ -2019,7 +2019,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
relocation -= elf_hash_table (info)->tls_sec == NULL
? 0
: (elf_hash_table (info)->tls_sec->vma
- + elf_hash_table (info)->tls_sec->size);
+ + elf_hash_table (info)->tls_size);
/* The TLS-relative offset is the relocation. */
break;