[binutils-gdb] Fix incremental linking failure with GCC 7+.

Cary Coutant ccoutant@sourceware.org
Sat Dec 2 06:03:00 GMT 2017


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

commit 059256c7465164fc070482dbe04ebe4e2ccf1a08
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Fri Dec 1 22:03:09 2017 -0800

    Fix incremental linking failure with GCC 7+.
    
    With the new compiler, we're running out of patch space for the .eh_frame
    section. To workaround that issue, we compile the before and after versions
    both with no unwind tables.
    
    gold/
    	PR gold/22309
    	* testsuite/Makefile.am (two_file_test_1_v1_ndebug.o): Compile with
    	no EH information.
    	(two_file_test_1_ndebug.o): Likewise.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/two_file_test_1.cc: Touch to force recompilation with new
    	flags.
    	* testsuite/two_file_test_1_v1.cc: Likewise.

Diff:
---
 gold/ChangeLog                       | 11 +++++++++++
 gold/testsuite/Makefile.am           |  4 ++--
 gold/testsuite/Makefile.in           |  4 ++--
 gold/testsuite/two_file_test_1.cc    |  3 +++
 gold/testsuite/two_file_test_1_v1.cc |  3 +++
 5 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/gold/ChangeLog b/gold/ChangeLog
index 3c0b046..0da0697 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,16 @@
 2017-12-01  Cary Coutant  <ccoutant@gmail.com>
 
+	PR gold/22309
+	* testsuite/Makefile.am (two_file_test_1_v1_ndebug.o): Compile with
+	no EH information.
+	(two_file_test_1_ndebug.o): Likewise.
+	* testsuite/Makefile.in: Regenerate.
+	* testsuite/two_file_test_1.cc: Touch to force recompilation with new
+	flags.
+	* testsuite/two_file_test_1_v1.cc: Likewise.
+
+2017-12-01  Cary Coutant  <ccoutant@gmail.com>
+
 	PR gold/22042
 	* options.h (-fuse-ld): Use NULL instead of empty string.
 
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
index 5f7f66f..f490453 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
@@ -2996,9 +2996,9 @@ pr20976-d.o: pr20976.o gcctestdir/ld
 if DEFAULT_TARGET_X86_64
 
 two_file_test_1_v1_ndebug.o: two_file_test_1_v1.cc
-	$(CXXCOMPILE) -O0 -g0 -c -o $@ $<
+	$(CXXCOMPILE) -O0 -g0 -fno-exceptions -fno-asynchronous-unwind-tables -c -o $@ $<
 two_file_test_1_ndebug.o: two_file_test_1.cc
-	$(CXXCOMPILE) -O0 -g0 -c -o $@ $<
+	$(CXXCOMPILE) -O0 -g0 -fno-exceptions -fno-asynchronous-unwind-tables -c -o $@ $<
 two_file_test_1b_ndebug.o: two_file_test_1b.cc
 	$(CXXCOMPILE) -O0 -g0 -c -o $@ $<
 two_file_test_2_ndebug.o: two_file_test_2.cc
diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
index 9bb3b56..ad61da9 100644
--- a/gold/testsuite/Makefile.in
+++ b/gold/testsuite/Makefile.in
@@ -7334,9 +7334,9 @@ uninstall-am:
 # Incremental linking is currently supported only on the x86_64 target.
 
 @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_1_v1_ndebug.o: two_file_test_1_v1.cc
-@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(CXXCOMPILE) -O0 -g0 -c -o $@ $<
+@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(CXXCOMPILE) -O0 -g0 -fno-exceptions -fno-asynchronous-unwind-tables -c -o $@ $<
 @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_1_ndebug.o: two_file_test_1.cc
-@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(CXXCOMPILE) -O0 -g0 -c -o $@ $<
+@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(CXXCOMPILE) -O0 -g0 -fno-exceptions -fno-asynchronous-unwind-tables -c -o $@ $<
 @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_1b_ndebug.o: two_file_test_1b.cc
 @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@	$(CXXCOMPILE) -O0 -g0 -c -o $@ $<
 @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_2_ndebug.o: two_file_test_2.cc
diff --git a/gold/testsuite/two_file_test_1.cc b/gold/testsuite/two_file_test_1.cc
index 567409a..8c26c63 100644
--- a/gold/testsuite/two_file_test_1.cc
+++ b/gold/testsuite/two_file_test_1.cc
@@ -20,6 +20,9 @@
 // Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
 // MA 02110-1301, USA.
 
+// For incremental linking tests, this file needs to be compiled with
+// -fno-exceptions -fno-asynchronous-unwind-tables.
+
 // This tests references between files.  This is file 1, and
 // two_file_test_2.cc is file 2.  We test in several different ways:
 
diff --git a/gold/testsuite/two_file_test_1_v1.cc b/gold/testsuite/two_file_test_1_v1.cc
index d2ea0e2..f95ee73 100644
--- a/gold/testsuite/two_file_test_1_v1.cc
+++ b/gold/testsuite/two_file_test_1_v1.cc
@@ -25,6 +25,9 @@
 // source file, then do an incremental link with the primary version of
 // the file.
 
+// For incremental linking tests, this file needs to be compiled with
+// -fno-exceptions -fno-asynchronous-unwind-tables.
+
 // This tests references between files.  This is file 1, and
 // two_file_test_2.cc is file 2.  We test in several different ways:



More information about the Binutils-cvs mailing list