diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2011-02-22 15:46:13 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2011-02-22 15:46:13 +0000 |
commit | 93b3ac7505631bfe9939ec59135ae5ddfbaca24c (patch) | |
tree | 72c7131b8e7a7c5a1d3cbef9b0058d208ca94401 | |
parent | c45f3c548d7ba59939c70f7e132de22db190de56 (diff) | |
download | gdb-93b3ac7505631bfe9939ec59135ae5ddfbaca24c.zip gdb-93b3ac7505631bfe9939ec59135ae5ddfbaca24c.tar.gz gdb-93b3ac7505631bfe9939ec59135ae5ddfbaca24c.tar.bz2 |
* elf32-m68k.c (elf_m68k_finish_dynamic_symbol): For a TLS_GD
relocation read the value from the second GOT slot.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-m68k.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1ab968c..a8907a0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2011-02-22 Andreas Schwab <schwab@redhat.com> + + * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): For a TLS_GD + relocation read the value from the second GOT slot. + 2011-02-15 Tristan Gingold <gingold@adacore.com> * vms-alpha.c (alpha_vms_link_add_archive_symbols): Add a comment. diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index 1d9d6a4..b4f7bc2 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -1,6 +1,6 @@ /* Motorola 68k series support for 32-bit ELF Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -4390,6 +4390,11 @@ elf_m68k_finish_dynamic_symbol (output_bfd, info, h, sym) break; case R_68K_TLS_GD32: + /* The value for this relocation is actually put in + the second GOT slot. */ + relocation = bfd_get_signed_32 (output_bfd, + (sgot->contents + + got_entry_offset + 4)); relocation += dtpoff_base (info); break; |