From 059256c7465164fc070482dbe04ebe4e2ccf1a08 Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Fri, 1 Dec 2017 22:03:09 -0800 Subject: [PATCH] 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. --- 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 3c0b046d4b4..0da06979aee 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,14 @@ +2017-12-01 Cary Coutant + + 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 PR gold/22042 diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am index 5f7f66ff4b4..f490453f1f8 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 9bb3b56ddc1..ad61da95b21 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 567409af26a..8c26c6344e1 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 d2ea0e217a6..f95ee737ade 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: -- 2.30.2