Fix incremental linking failure with GCC 7+.
authorCary Coutant <ccoutant@gmail.com>
Sat, 2 Dec 2017 06:03:09 +0000 (22:03 -0800)
committerCary Coutant <ccoutant@gmail.com>
Sat, 2 Dec 2017 06:03:09 +0000 (22:03 -0800)
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.

gold/ChangeLog
gold/testsuite/Makefile.am
gold/testsuite/Makefile.in
gold/testsuite/two_file_test_1.cc
gold/testsuite/two_file_test_1_v1.cc

index 3c0b046d4b42b2870f4fc60ae485eab02cb5b359..0da06979aee6f665a618849b96a216aac8df2010 100644 (file)
@@ -1,3 +1,14 @@
+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
index 5f7f66ff4b42759db548b06c353d4b852531f3eb..f490453f1f886dbf0ed1eabdff751c2c893aafe9 100644 (file)
@@ -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
index 9bb3b56ddc15c96b8c3b0df552a11bb34de321cd..ad61da95b217fff770976ad5e0e88cbb703bce23 100644 (file)
@@ -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
index 567409af26a6f37339d7e86eb9a2b092d7f54417..8c26c6344e102929bf7da268d672b78cb3f0aa18 100644 (file)
@@ -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:
 
index d2ea0e217a65cf2dbed5b3e0621081e32bd55898..f95ee737adea31706710fa5345fa4c108c747b65 100644 (file)
@@ -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: