diff options
author | Cary Coutant <ccoutant@gmail.com> | 2016-08-17 10:53:31 -0700 |
---|---|---|
committer | Cary Coutant <ccoutant@gmail.com> | 2016-08-17 10:53:31 -0700 |
commit | a4aa1f5f01456222b47096e19018a8adc251cd58 (patch) | |
tree | 210c9ae197db57d529f118a67b77a6ef586d5f42 | |
parent | 9b19e39006796a4dc90f9801f44bb6f07fdb6386 (diff) | |
download | gdb-a4aa1f5f01456222b47096e19018a8adc251cd58.zip gdb-a4aa1f5f01456222b47096e19018a8adc251cd58.tar.gz gdb-a4aa1f5f01456222b47096e19018a8adc251cd58.tar.bz2 |
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.
-rw-r--r-- | gold/ChangeLog | 8 | ||||
-rw-r--r-- | gold/i386.cc | 7 | ||||
-rw-r--r-- | gold/testsuite/Makefile.am | 12 | ||||
-rw-r--r-- | 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;"; \ |