Fix bug with previous patch for unresolved TLS symbol.

We need to check that the output is executable before assuming that we
can replace the reference with zero.

2015-02-02  Cary Coutant  <ccoutant@google.com>

gold/
	* x86_64.cc (Target_x86_64::Relocate::relocate_tls): Check for
	executable output file.
This commit is contained in:
Cary Coutant 2015-02-02 11:46:45 -08:00
parent aa3de2670f
commit 24dd580891
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2015-02-02 Cary Coutant <ccoutant@google.com>
* x86_64.cc (Target_x86_64::Relocate::relocate_tls): Check for
executable output file.
2015-01-22 Han Shen <shenhan@google.com>
* arm.cc (Target_arm::Target_arm): Add initialization for new members.

View File

@ -3784,7 +3784,9 @@ Target_x86_64<size>::Relocate::relocate_tls(
break;
case elfcpp::R_X86_64_GOTTPOFF: // Initial-exec
if (gsym != NULL && gsym->is_undefined())
if (gsym != NULL
&& gsym->is_undefined()
&& parameters->options().output_is_executable())
{
Target_x86_64<size>::Relocate::tls_ie_to_le(relinfo, relnum,
NULL, rela,