This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fix extraneous complaints about missing expected TLS relocation (i386).


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a4aa1f5f01456222b47096e19018a8adc251cd58

commit a4aa1f5f01456222b47096e19018a8adc251cd58
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Aug 17 10:53:31 2016 -0700

    Fix extraneous complaints about missing expected TLS relocation (i386).
    
    Build the test objects with the in-tree assembler. Also fix some cascading
    error messages caused by not resetting the skip_call_tls_get_addr_ flag
    after printing the error.
    
    gold/
    	* i386.cc (Target_i386): Reset skip_call_tls_get_addr_ after printing
    	error message.
    	* testsuite/Makefile.am (pr20216a): Add missing dependencies.
    	(pr20308a): Add -Bgcctestdir/ to compile rules.
    	* testsuite/Makefile.in: Regenerate.

Diff:
---
 gold/ChangeLog             |  8 ++++++++
 gold/i386.cc               |  7 +++++--
 gold/testsuite/Makefile.am | 12 ++++++------
 gold/testsuite/Makefile.in | 12 ++++++------
 4 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/gold/ChangeLog b/gold/ChangeLog
index d63d442..548f623 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,11 @@
+2016-08-17  Cary Coutant  <ccoutant@gmail.com>
+
+	* i386.cc (Target_i386): Reset skip_call_tls_get_addr_ after printing
+	error message.
+	* testsuite/Makefile.am (pr20216a): Add missing dependencies.
+	(pr20308a): Add -Bgcctestdir/ to compile rules.
+	* testsuite/Makefile.in: Regenerate.
+
 2016-08-12  Roland McGrath  <roland@hack.frob.com>
 
 	PR gold/20462
diff --git a/gold/i386.cc b/gold/i386.cc
index 28864cd..ec515c4 100644
--- a/gold/i386.cc
+++ b/gold/i386.cc
@@ -2794,8 +2794,11 @@ Target_i386::Relocate::relocate(const Relocate_info<32, false>* relinfo,
 	   && 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(),
-			       _("missing expected TLS relocation"));
+	{
+	  gold_error_at_location(relinfo, relnum, rel.get_r_offset(),
+				 _("missing expected TLS relocation"));
+	  this->skip_call_tls_get_addr_ = false;
+	}
       else
 	{
 	  this->skip_call_tls_get_addr_ = false;
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
index 739458c..86c01f8 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
@@ -1192,10 +1192,10 @@ pr20216a.so: pr20216_gd.o pr20216_ld.o gcctestdir/ld
 pr20216b.so: pr20216_def.o gcctestdir/ld
 	$(LINK) -Bgcctestdir/ -shared pr20216_def.o
 
-pr20216_gd.o: pr20216_gd.S
+pr20216_gd.o: pr20216_gd.S gcctestdir/as
 	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
 
-pr20216_ld.o: pr20216_ld.S
+pr20216_ld.o: pr20216_ld.S gcctestdir/as
 	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
 
 endif DEFAULT_TARGET_X86_64_OR_X32
@@ -1297,11 +1297,11 @@ pr20308a.so: pr20308_gd.o pr20308_ld.o gcctestdir/ld
 pr20308b.so: pr20308_def.o gcctestdir/ld
 	$(LINK) -Bgcctestdir/ -shared pr20308_def.o
 
-pr20308_gd.o: pr20308_gd.S
-	$(COMPILE) -c -o $@ $<
+pr20308_gd.o: pr20308_gd.S gcctestdir/as
+	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
 
-pr20308_ld.o: pr20308_ld.S
-	$(COMPILE) -c -o $@ $<
+pr20308_ld.o: pr20308_ld.S gcctestdir/as
+	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
 
 endif DEFAULT_TARGET_I386
 
diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
index 15844e2..938d474 100644
--- a/gold/testsuite/Makefile.in
+++ b/gold/testsuite/Makefile.in
@@ -6150,10 +6150,10 @@ uninstall-am:
 @DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216b.so: pr20216_def.o gcctestdir/ld
 @DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(LINK) -Bgcctestdir/ -shared pr20216_def.o
 
-@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216_gd.o: pr20216_gd.S
+@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216_gd.o: pr20216_gd.S gcctestdir/as
 @DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
 
-@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216_ld.o: pr20216_ld.S
+@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216_ld.o: pr20216_ld.S gcctestdir/as
 @DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
 
 @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@i386_mov_to_lea1.o: i386_mov_to_lea1.s
@@ -6205,11 +6205,11 @@ uninstall-am:
 @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20308b.so: pr20308_def.o gcctestdir/ld
 @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(LINK) -Bgcctestdir/ -shared pr20308_def.o
 
-@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20308_gd.o: pr20308_gd.S
-@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(COMPILE) -c -o $@ $<
+@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20308_gd.o: pr20308_gd.S gcctestdir/as
+@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
 
-@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20308_ld.o: pr20308_ld.S
-@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(COMPILE) -c -o $@ $<
+@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20308_ld.o: pr20308_ld.S gcctestdir/as
+@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(COMPILE) -Bgcctestdir/ -c -o $@ $<
 @GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_define.h:
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	(for i in `seq 1 70000`; do \
 @GCC_TRUE@@NATIVE_LINKER_TRUE@	   echo "int var_$$i __attribute__((section(\"section_$$i\"))) = $$i;"; \


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]