Browse Source

* i386.cc (Target_i386::Relocate::relocate): Recognize non-PIC calls

to __tls_get_addr.
	* x86_64.cc (Target_x86_64::Relocate::relocate): Likewise.

	* ChangeLog: Fixed typo in previous ChangeLog entry (version 1.9).
cgen-1_1-branch
Cary Coutant 18 years ago
parent
commit
5efc7cd2d6
  1. 8
      gold/ChangeLog
  2. 3
      gold/i386.cc
  3. 3
      gold/x86_64.cc

8
gold/ChangeLog

@ -1,6 +1,12 @@
2009-01-29 Cary Coutant <ccoutant@google.com>
* i386.cc (Target_i386::Relocate::relocate): Recognize non-PIC calls
to __tls_get_addr.
* x86_64.cc (Target_x86_64::Relocate::relocate): Likewise.
2009-01-28 Ian Lance Taylor <iant@google.com>
* version.cc (version_string): Bump to 1.8.
* version.cc (version_string): Bump to 1.9.
* gold.h: Include <cstring> and <stdint.h>.
* version.cc: Include <cstdio>.

3
gold/i386.cc

@ -1633,7 +1633,8 @@ Target_i386::Relocate::relocate(const Relocate_info<32, false>* relinfo,
{
if (this->skip_call_tls_get_addr_)
{
if (r_type != elfcpp::R_386_PLT32
if ((r_type != elfcpp::R_386_PLT32
&& r_type != elfcpp::R_386_PC32)
|| gsym == NULL
|| strcmp(gsym->name(), "___tls_get_addr") != 0)
gold_error_at_location(relinfo, relnum, rel.get_r_offset(),

3
gold/x86_64.cc

@ -1703,7 +1703,8 @@ Target_x86_64::Relocate::relocate(const Relocate_info<64, false>* relinfo,
{
if (this->skip_call_tls_get_addr_)
{
if (r_type != elfcpp::R_X86_64_PLT32
if ((r_type != elfcpp::R_X86_64_PLT32
&& r_type != elfcpp::R_X86_64_PC32)
|| gsym == NULL
|| strcmp(gsym->name(), "__tls_get_addr") != 0)
{

Loading…
Cancel
Save