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.
This commit is contained in:
Cary Coutant 2017-12-01 22:03:09 -08:00
parent 97cbe998d0
commit 059256c746
5 changed files with 21 additions and 4 deletions

View 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

View 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

View 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

View 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:

View 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: