aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-05-02 06:18:16 -0700
committerH.J. Lu <hjl.tools@gmail.com>2020-05-02 06:48:26 -0700
commit8c164434186b471fc43a47055af9632c56affdcd (patch)
treea11eac2815a3d9f60d35e939dfc60379248052db
parenta51119cde483f4e9eeaa4450d3f2a7b0e52fea3d (diff)
downloadgdb-8c164434186b471fc43a47055af9632c56affdcd.zip
gdb-8c164434186b471fc43a47055af9632c56affdcd.tar.gz
gdb-8c164434186b471fc43a47055af9632c56affdcd.tar.bz2
gold: Compile common tests with -fcommon
Since GCC 10 defaults to -fno-common, add -fcommon to common tests to force common behavior. PR gold/25904 * testsuite/Makefile.am (COMMON_TEST_C_CFLAGS): New. (common_test_1.o): New rule. (common_test_2.o): Likewise. (common_test_3.o): Likewise. (plugin_common_test_1.o): Likewise. (plugin_common_test_2.o): Likewise. (common_test_1_v1.o): Likewise. (common_test_1_v2.o): Likewise. (common_test_2_pic.o): Compile with $(COMMON_TEST_C_CFLAGS). (common_test_3_pic.o): Likewise. * testsuite/Makefile.in: Regenerated.
-rw-r--r--gold/ChangeLog15
-rw-r--r--gold/testsuite/Makefile.am23
-rw-r--r--gold/testsuite/Makefile.in23
3 files changed, 57 insertions, 4 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 23fb070..79b7057 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,18 @@
+2020-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gold/25904
+ * testsuite/Makefile.am (COMMON_TEST_C_CFLAGS): New.
+ (common_test_1.o): New rule.
+ (common_test_2.o): Likewise.
+ (common_test_3.o): Likewise.
+ (plugin_common_test_1.o): Likewise.
+ (plugin_common_test_2.o): Likewise.
+ (common_test_1_v1.o): Likewise.
+ (common_test_1_v2.o): Likewise.
+ (common_test_2_pic.o): Compile with $(COMMON_TEST_C_CFLAGS).
+ (common_test_3_pic.o): Likewise.
+ * testsuite/Makefile.in: Regenerated.
+
2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
PR gold/25426
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
index ceba002..32cee2e 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
@@ -86,6 +86,10 @@ if OMP_SUPPORT
TLS_TEST_C_CFLAGS = -fopenmp
endif
+# Since GCC 10 defaults to -fno-common, add -fcommon to common tests to
+# force common behavior.
+COMMON_TEST_C_CFLAGS = -fcommon
+
# 'make clean' is good about deleting some intermediate files (such as
# .o's), but not all of them (such as .so's and .err files). We
# improve on that here. automake-1.9 info docs say "mostlyclean" is
@@ -737,18 +741,24 @@ check_PROGRAMS += common_test_1
common_test_1_SOURCES = common_test_1.c
common_test_1_DEPENDENCIES = gcctestdir/ld
common_test_1_LDADD =
+common_test_1.o: common_test_1.c
+ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
check_PROGRAMS += common_test_2
common_test_2_SOURCES = common_test_1.c
common_test_2_DEPENDENCIES = common_test_2.so common_test_3.so gcctestdir/ld
common_test_2_LDFLAGS = -Wl,-R,.
common_test_2_LDADD = common_test_2.so common_test_3.so
+common_test_2.o: common_test_2.c
+ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
common_test_2_pic.o: common_test_2.c
- $(COMPILE) -c -fpic -o $@ $<
+ $(COMPILE) -c -fpic $(COMMON_TEST_C_CFLAGS) -o $@ $<
common_test_2.so: common_test_2_pic.o common_test_3.so gcctestdir/ld
$(LINK) -shared common_test_2_pic.o common_test_3.so
+common_test_3.o: common_test_3.c
+ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
common_test_3_pic.o: common_test_3.c
- $(COMPILE) -c -fpic -o $@ $<
+ $(COMPILE) -c -fpic $(COMMON_TEST_C_CFLAGS) -o $@ $<
common_test_3.so: common_test_3_pic.o ver_test_2.script gcctestdir/ld
$(LINK) -shared common_test_3_pic.o -Wl,--version-script,$(srcdir)/ver_test_2.script
@@ -2472,6 +2482,11 @@ plugin_test.so: plugin_test.o gcctestdir/ld
plugin_test.o: plugin_test.c
$(COMPILE) -O0 -c -fpic -o $@ $<
+plugin_common_test_1.o: plugin_common_test_1.c
+ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
+plugin_common_test_2.o: plugin_common_test_2.c
+ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
+
two_file_test_main.o.syms: two_file_test_main.o
$(TEST_READELF) -sW $< >$@ 2>/dev/null
two_file_test_1.o.syms: two_file_test_1.o
@@ -3256,6 +3271,10 @@ incremental_common_test_1: common_test_1_v1.o common_test_1_v2.o gcctestdir/ld
@sleep 1
cp -f common_test_1_v2.o common_test_1_tmp.o
$(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro,-no-pie common_test_1_tmp.o
+common_test_1_v1.o: common_test_1_v1.c
+ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
+common_test_1_v2.o: common_test_1_v2.c
+ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
check_PROGRAMS += incremental_comdat_test_1
incremental_comdat_test_1: incr_comdat_test_1.o incr_comdat_test_2_v1.o incr_comdat_test_2_v2.o incr_comdat_test_2_v3.o gcctestdir/ld
diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
index 5fed355..4f360f9 100644
--- a/gold/testsuite/Makefile.in
+++ b/gold/testsuite/Makefile.in
@@ -2799,6 +2799,10 @@ TEST_AS = $(top_builddir)/../gas/as-new
@THREADS_TRUE@THREADLIBS = @PTHREAD_LIBS@
@OMP_SUPPORT_TRUE@TLS_TEST_C_CFLAGS = -fopenmp
+# Since GCC 10 defaults to -fno-common, add -fcommon to common tests to
+# force common behavior.
+COMMON_TEST_C_CFLAGS = -fcommon
+
# 'make clean' is good about deleting some intermediate files (such as
# .o's), but not all of them (such as .so's and .err files). We
# improve on that here. automake-1.9 info docs say "mostlyclean" is
@@ -8146,12 +8150,18 @@ uninstall-am:
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_STRIP) -o two_file_strip_test two_file_test
@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_strip.so: two_file_shared.so
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_STRIP) -S -o two_file_shared_strip.so two_file_shared.so
+@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_1.o: common_test_1.c
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
+@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_2.o: common_test_2.c
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_2_pic.o: common_test_2.c
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fpic -o $@ $<
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fpic $(COMMON_TEST_C_CFLAGS) -o $@ $<
@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_2.so: common_test_2_pic.o common_test_3.so gcctestdir/ld
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -shared common_test_2_pic.o common_test_3.so
+@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_3.o: common_test_3.c
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_3_pic.o: common_test_3.c
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fpic -o $@ $<
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fpic $(COMMON_TEST_C_CFLAGS) -o $@ $<
@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_3.so: common_test_3_pic.o ver_test_2.script gcctestdir/ld
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -shared common_test_3_pic.o -Wl,--version-script,$(srcdir)/ver_test_2.script
@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_test_1_pic.o: exception_test_1.cc
@@ -9067,6 +9077,11 @@ uninstall-am:
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test.o: plugin_test.c
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -O0 -c -fpic -o $@ $<
+@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_common_test_1.o: plugin_common_test_1.c
+@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
+@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_common_test_2.o: plugin_common_test_2.c
+@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
+
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@two_file_test_main.o.syms: two_file_test_main.o
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null
@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@two_file_test_1.o.syms: two_file_test_1.o
@@ -9492,6 +9507,10 @@ uninstall-am:
@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ @sleep 1
@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f common_test_1_v2.o common_test_1_tmp.o
@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro,-no-pie common_test_1_tmp.o
+@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_1_v1.o: common_test_1_v1.c
+@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
+@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_1_v2.o: common_test_1_v2.c
+@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c $(COMMON_TEST_C_CFLAGS) -o $@ $<
@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_comdat_test_1: incr_comdat_test_1.o incr_comdat_test_2_v1.o incr_comdat_test_2_v2.o incr_comdat_test_2_v3.o gcctestdir/ld
@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f incr_comdat_test_2_v1.o incr_comdat_test_1_tmp.o
@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro,-no-pie incr_comdat_test_1.o incr_comdat_test_1_tmp.o