diff options
author | Andreas Schwab <schwab@suse.de> | 2011-02-22 15:46:11 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2011-02-22 15:46:11 +0000 |
commit | f8328c019fa3d1289cba7638622f23f6a243ecb5 (patch) | |
tree | 5c8059cdce8cbe4262ac021d5303eaeee01508a8 /bfd | |
parent | fee1c4201a04318909d343e5494a1d2be0537789 (diff) | |
download | gdb-f8328c019fa3d1289cba7638622f23f6a243ecb5.tar.gz |
* elf32-m68k.c (elf_m68k_finish_dynamic_symbol): For a TLS_GD
relocation read the value from the second GOT slot.
Diffstat (limited to 'bfd')
-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 1ab968c295f..a8907a0b02b 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 1d9d6a43ebc..b4f7bc2c94c 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; |