From: Roland McGrath Date: Fri, 11 Oct 2013 21:56:16 +0000 (+0000) Subject: gold/ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2b64b5511a0d0814eb3938cff986edf493a7b362;p=binutils-gdb.git gold/ * configure.ac (MERGE_CONSTANTS_FLAG): New check. * configure: Regenerate. * Makefile.in: Regenerate. * testsuite/merge_string_literals_1.c: Renamed to have .cc suffix. * testsuite/merge_string_literals_2.c: Likewise. * testsuite/Makefile.am (merge_string_literals_1.o, merge_string_literals_2.o): Update deps. (AM_CFLAGS, AM_CXXFLAGS): Use $(MERGE_CONSTANTS_FLAG) in place of literal -fmerge-constants. * testsuite/Makefile.in: Regenerate. --- diff --git a/gold/ChangeLog b/gold/ChangeLog index e79588d029b..a44313bd915 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,16 @@ 2013-10-11 Roland McGrath + * configure.ac (MERGE_CONSTANTS_FLAG): New check. + * configure: Regenerate. + * Makefile.in: Regenerate. + * testsuite/merge_string_literals_1.c: Renamed to have .cc suffix. + * testsuite/merge_string_literals_2.c: Likewise. + * testsuite/Makefile.am + (merge_string_literals_1.o, merge_string_literals_2.o): Update deps. + (AM_CFLAGS, AM_CXXFLAGS): Use $(MERGE_CONSTANTS_FLAG) in place of + literal -fmerge-constants. + * testsuite/Makefile.in: Regenerate. + * i386.cc (Target_i386): Remove unused member dynbss_. * arm.cc (Target_arm): Likewise. * powerpc.cc (Target_powerpc): Likewise. @@ -336,23 +347,23 @@ 2013-05-21 Cary Coutant - * object.cc (Sized_relobj_file::get_symbol_location_info): Set - type of enclosing symbol. - (Relocate_info::location): Check symbol type when describing symbol. - * object.h (Symbol_location_info): Remove unused line_number; - add enclosing_symbol_type. - * testsuite/debug_msg.sh: Adjust expected output. + * object.cc (Sized_relobj_file::get_symbol_location_info): Set + type of enclosing symbol. + (Relocate_info::location): Check symbol type when describing symbol. + * object.h (Symbol_location_info): Remove unused line_number; + add enclosing_symbol_type. + * testsuite/debug_msg.sh: Adjust expected output. 2013-05-13 Cary Coutant - * configure.ac: Export DEFAULT_TARGET. - * configure: Regenerate. - * Makefile.in: Regenerate. - * testsuite/Makefile.am: Add .EXPORT_ALL_VARIABLES. - * testsuite/Makefile.in: Regenerate. - * testsuite/debug_msg.sh: Delete duplicate tests. - Don't check undef_int error message match for powerpc where the - source file and line number aren't available. + * configure.ac: Export DEFAULT_TARGET. + * configure: Regenerate. + * Makefile.in: Regenerate. + * testsuite/Makefile.am: Add .EXPORT_ALL_VARIABLES. + * testsuite/Makefile.in: Regenerate. + * testsuite/debug_msg.sh: Delete duplicate tests. + Don't check undef_int error message match for powerpc where the + source file and line number aren't available. 2013-05-10 Roland McGrath diff --git a/gold/Makefile.in b/gold/Makefile.in index 09de14ca537..3bd9fae297d 100644 --- a/gold/Makefile.in +++ b/gold/Makefile.in @@ -319,6 +319,7 @@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MERGE_CONSTANTS_FLAG = @MERGE_CONSTANTS_FLAG@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ diff --git a/gold/configure b/gold/configure index cb56b651c58..e30fd751d92 100755 --- a/gold/configure +++ b/gold/configure @@ -622,6 +622,7 @@ STATIC_TLS_FALSE STATIC_TLS_TRUE TLS_FALSE TLS_TRUE +MERGE_CONSTANTS_FLAG MCMODEL_MEDIUM_FALSE MCMODEL_MEDIUM_TRUE FN_PTRS_IN_SO_WITHOUT_PIC_FALSE @@ -6339,6 +6340,35 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fmerge-constants" >&5 +$as_echo_n "checking whether $CC supports -fmerge-constants... " >&6; } +if test "${gold_cv_merge_constants+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -fmerge-constants" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +const char *s = "foo"; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + have_merge_constants=yes +else + have_merge_constants=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +CFLAGS="$save_CFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gold_cv_merge_constants" >&5 +$as_echo "$gold_cv_merge_constants" >&6; } + +if test "$gold_cv_merge_constants" = yes; then : + MERGE_CONSTANTS_FLAG=-fmerge-constants +else + MERGE_CONSTANTS_FLAG= +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for thread support" >&5 $as_echo_n "checking for thread support... " >&6; } if test "${gold_cv_c_thread+set}" = set; then : diff --git a/gold/configure.ac b/gold/configure.ac index e3e10b3dbd1..4cc9569e12f 100644 --- a/gold/configure.ac +++ b/gold/configure.ac @@ -7,12 +7,12 @@ dnl This file is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 3 of the License, or dnl (at your option) any later version. -dnl +dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. -dnl +dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; see the file COPYING3. If not see dnl . @@ -338,6 +338,19 @@ dnl Whether we can test -mcmodel=medium. AM_CONDITIONAL(MCMODEL_MEDIUM, [test "$target_cpu" = "x86_64" -a "$have_mcmodel_medium" = "yes" -a "$gold_cv_prog_gcc41" = "yes"]) +AC_CACHE_CHECK([whether $CC supports -fmerge-constants], + [gold_cv_merge_constants], [ +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -fmerge-constants" +AC_COMPILE_IFELSE([const char *s = "foo";], + [have_merge_constants=yes], + [have_merge_constants=no]) +CFLAGS="$save_CFLAGS"]) +AC_SUBST([MERGE_CONSTANTS_FLAG]) +AS_IF([test "$gold_cv_merge_constants" = yes], + [MERGE_CONSTANTS_FLAG=-fmerge-constants], + [MERGE_CONSTANTS_FLAG=]) + dnl Test for __thread support. AC_CACHE_CHECK([for thread support], [gold_cv_c_thread], [AC_COMPILE_IFELSE([__thread int i = 1;], diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am index 570781d3164..8f93c5a7517 100644 --- a/gold/testsuite/Makefile.am +++ b/gold/testsuite/Makefile.am @@ -8,10 +8,10 @@ AUTOMAKE_OPTIONS = foreign -Wno-portability # The two_file_test tests -fmerge-constants, so we simply always turn -# it on. This may need to be controlled by a configure option -# eventually. -AM_CFLAGS = $(WARN_CFLAGS) $(LFS_CFLAGS) -fmerge-constants -AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CFLAGS) -fmerge-constants +# it on. For compilers that do not support the command-line option, +# we assume they just always emit SHF_MERGE sections unconditionally. +AM_CFLAGS = $(WARN_CFLAGS) $(LFS_CFLAGS) $(MERGE_CONSTANTS_FLAG) +AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CFLAGS) $(MERGE_CONSTANTS_FLAG) AM_CPPFLAGS = \ -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../../include \ @@ -74,7 +74,7 @@ MOSTLYCLEANFILES = *.so *.syms *.stdout # Export make variables to the shell scripts so that they can see # (for example) DEFAULT_TARGET. .EXPORT_ALL_VARIABLES: - + # We will add to these later, for each individual test. Note # that we add each test under check_SCRIPTS or check_PROGRAMS; # the TESTS variable is automatically populated from these. @@ -164,9 +164,9 @@ incremental_test.stdout: incremental_test ../incremental-dump check_SCRIPTS += gc_comdat_test.sh check_DATA += gc_comdat_test.stdout MOSTLYCLEANFILES += gc_comdat_test -gc_comdat_test_1.o: gc_comdat_test_1.cc +gc_comdat_test_1.o: gc_comdat_test_1.cc $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< -gc_comdat_test_2.o: gc_comdat_test_2.cc +gc_comdat_test_2.o: gc_comdat_test_2.cc $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< gc_comdat_test: gc_comdat_test_1.o gc_comdat_test_2.o gcctestdir/ld $(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_comdat_test_1.o gc_comdat_test_2.o @@ -198,7 +198,7 @@ check_DATA += pr14265.stdout MOSTLYCLEANFILES += pr14265 pr14265.o: pr14265.c $(COMPILE) -O0 -c -o $@ $< -pr14265: pr14265.o +pr14265: pr14265.o $(LINK) -Bgcctestdir/ -Wl,--gc-sections -T $(srcdir)/pr14265.t -o $@ $< pr14265.stdout: pr14265 $(TEST_NM) --format=bsd --numeric-sort $< > $@ @@ -206,7 +206,7 @@ pr14265.stdout: pr14265 check_SCRIPTS += icf_test.sh check_DATA += icf_test.map MOSTLYCLEANFILES += icf_test icf_test.map -icf_test.o: icf_test.cc +icf_test.o: icf_test.cc $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< icf_test: icf_test.o gcctestdir/ld $(CXXLINK) -o icf_test -Bgcctestdir/ -Wl,--icf=all,-Map,icf_test.map icf_test.o @@ -277,7 +277,7 @@ text_section_no_grouping: text_section_grouping.o gcctestdir/ld text_section_grouping.stdout: text_section_grouping $(TEST_NM) -n --synthetic text_section_grouping > text_section_grouping.stdout text_section_no_grouping.stdout: text_section_no_grouping - $(TEST_NM) -n --synthetic text_section_no_grouping > text_section_no_grouping.stdout + $(TEST_NM) -n --synthetic text_section_no_grouping > text_section_no_grouping.stdout check_SCRIPTS += section_sorting_name.sh check_DATA += section_sorting_name.stdout @@ -337,9 +337,9 @@ large_symbol_alignment_LDADD = check_SCRIPTS += merge_string_literals.sh check_DATA += merge_string_literals.stdout MOSTLYCLEANFILES += merge_string_literals -merge_string_literals_1.o: merge_string_literals_1.c +merge_string_literals_1.o: merge_string_literals_1.cc $(CXXCOMPILE) -O2 -c -fPIC -g -o $@ $< -merge_string_literals_2.o: merge_string_literals_2.c +merge_string_literals_2.o: merge_string_literals_2.cc $(CXXCOMPILE) -O2 -c -fPIC -g -o $@ $< merge_string_literals: merge_string_literals_1.o merge_string_literals_2.o gcctestdir/ld $(CXXLINK) -Bgcctestdir/ merge_string_literals_1.o merge_string_literals_2.o -O2 -shared -nostdlib @@ -1759,7 +1759,7 @@ retain_symbols_file_test.so: basic_pic_test.o gcctestdir/ld echo '_ZN4t16bC1Ev' >> retain_symbols_file_test.in echo '_ZNK4t20a3getEv' >> retain_symbols_file_test.in echo '_Z3t18v' >> retain_symbols_file_test.in - echo '__tcf_0' >> retain_symbols_file_test.in + echo '__tcf_0' >> retain_symbols_file_test.in $(CXXLINK) -Bgcctestdir/ -shared -Wl,-retain-symbols-file,retain_symbols_file_test.in basic_pic_test.o retain_symbols_file_test.stdout: retain_symbols_file_test.so $(TEST_NM) -C retain_symbols_file_test.so > $@ @@ -1789,7 +1789,7 @@ alt/searched_file_test_lib.a: searched_file_test_lib.o test -d alt || mkdir -p alt $(TEST_AR) rc $@ $^ -# Test that no .gnu.version sections are created when +# Test that no .gnu.version sections are created when # symbol versioning is not used. check_SCRIPTS += no_version_test.sh check_DATA += no_version_test.stdout @@ -2032,7 +2032,7 @@ ifuncmain7pie: ifuncmain7pie.o gcctestdir/ld check_PROGRAMS += ifuncvar ifuncvar1_pic.o: ifuncvar1.c $(COMPILE) -c -fPIC -o $@ $< -ifuncvar2_pic.o: ifuncvar2.c +ifuncvar2_pic.o: ifuncvar2.c $(COMPILE) -c -fPIC -o $@ $< ifuncvar.so: ifuncvar1_pic.o ifuncvar2_pic.o gcctestdir/ld $(LINK) -Bgcctestdir/ -shared ifuncvar1_pic.o ifuncvar2_pic.o diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in index 855ba806959..24239b61f94 100644 --- a/gold/testsuite/Makefile.in +++ b/gold/testsuite/Makefile.in @@ -390,7 +390,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # Test -retain-symbols-file. -# Test that no .gnu.version sections are created when +# Test that no .gnu.version sections are created when # symbol versioning is not used. # Test that strong reference to a weak symbol in a DSO remains strong. @@ -1964,6 +1964,7 @@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MERGE_CONSTANTS_FLAG = @MERGE_CONSTANTS_FLAG@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ @@ -2055,10 +2056,10 @@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = foreign -Wno-portability # The two_file_test tests -fmerge-constants, so we simply always turn -# it on. This may need to be controlled by a configure option -# eventually. -AM_CFLAGS = $(WARN_CFLAGS) $(LFS_CFLAGS) -fmerge-constants -AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CFLAGS) -fmerge-constants +# it on. For compilers that do not support the command-line option, +# we assume they just always emit SHF_MERGE sections unconditionally. +AM_CFLAGS = $(WARN_CFLAGS) $(LFS_CFLAGS) $(MERGE_CONSTANTS_FLAG) +AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CFLAGS) $(MERGE_CONSTANTS_FLAG) AM_CPPFLAGS = \ -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../../include \ -I$(srcdir)/../../elfcpp -I.. \ @@ -4405,9 +4406,9 @@ uninstall-am: @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--incremental-full incremental_test_1.o incremental_test_2.o -Wl,-debug 2> incremental_test.cmdline @GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_test.stdout: incremental_test ../incremental-dump @GCC_TRUE@@NATIVE_LINKER_TRUE@ ../incremental-dump incremental_test > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_comdat_test_1.o: gc_comdat_test_1.cc +@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_comdat_test_1.o: gc_comdat_test_1.cc @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_comdat_test_2.o: gc_comdat_test_2.cc +@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_comdat_test_2.o: gc_comdat_test_2.cc @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< @GCC_TRUE@@NATIVE_LINKER_TRUE@gc_comdat_test: gc_comdat_test_1.o gc_comdat_test_2.o gcctestdir/ld @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_comdat_test_1.o gc_comdat_test_2.o @@ -4427,11 +4428,11 @@ uninstall-am: @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) gc_orphan_section_test > gc_orphan_section_test.stdout @GCC_TRUE@@NATIVE_LINKER_TRUE@pr14265.o: pr14265.c @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@pr14265: pr14265.o +@GCC_TRUE@@NATIVE_LINKER_TRUE@pr14265: pr14265.o @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--gc-sections -T $(srcdir)/pr14265.t -o $@ $< @GCC_TRUE@@NATIVE_LINKER_TRUE@pr14265.stdout: pr14265 @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) --format=bsd --numeric-sort $< > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_test.o: icf_test.cc +@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_test.o: icf_test.cc @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< @GCC_TRUE@@NATIVE_LINKER_TRUE@icf_test: icf_test.o gcctestdir/ld @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -o icf_test -Bgcctestdir/ -Wl,--icf=all,-Map,icf_test.map icf_test.o @@ -4482,7 +4483,7 @@ uninstall-am: @GCC_TRUE@@NATIVE_LINKER_TRUE@text_section_grouping.stdout: text_section_grouping @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic text_section_grouping > text_section_grouping.stdout @GCC_TRUE@@NATIVE_LINKER_TRUE@text_section_no_grouping.stdout: text_section_no_grouping -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic text_section_no_grouping > text_section_no_grouping.stdout +@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic text_section_no_grouping > text_section_no_grouping.stdout @GCC_TRUE@@NATIVE_LINKER_TRUE@section_sorting_name.o: section_sorting_name.cc @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< @GCC_TRUE@@NATIVE_LINKER_TRUE@section_sorting_name: section_sorting_name.o gcctestdir/ld @@ -4513,9 +4514,9 @@ uninstall-am: @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_sht_rel_addend_test_1.o icf_sht_rel_addend_test_2.o @GCC_TRUE@@NATIVE_LINKER_TRUE@icf_sht_rel_addend_test.stdout: icf_sht_rel_addend_test @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) icf_sht_rel_addend_test > icf_sht_rel_addend_test.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@merge_string_literals_1.o: merge_string_literals_1.c +@GCC_TRUE@@NATIVE_LINKER_TRUE@merge_string_literals_1.o: merge_string_literals_1.cc @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O2 -c -fPIC -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@merge_string_literals_2.o: merge_string_literals_2.c +@GCC_TRUE@@NATIVE_LINKER_TRUE@merge_string_literals_2.o: merge_string_literals_2.cc @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O2 -c -fPIC -g -o $@ $< @GCC_TRUE@@NATIVE_LINKER_TRUE@merge_string_literals: merge_string_literals_1.o merge_string_literals_2.o gcctestdir/ld @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ merge_string_literals_1.o merge_string_literals_2.o -O2 -shared -nostdlib @@ -5128,7 +5129,7 @@ uninstall-am: @GCC_TRUE@@NATIVE_LINKER_TRUE@ echo '_ZN4t16bC1Ev' >> retain_symbols_file_test.in @GCC_TRUE@@NATIVE_LINKER_TRUE@ echo '_ZNK4t20a3getEv' >> retain_symbols_file_test.in @GCC_TRUE@@NATIVE_LINKER_TRUE@ echo '_Z3t18v' >> retain_symbols_file_test.in -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo '__tcf_0' >> retain_symbols_file_test.in +@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo '__tcf_0' >> retain_symbols_file_test.in @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-retain-symbols-file,retain_symbols_file_test.in basic_pic_test.o @GCC_TRUE@@NATIVE_LINKER_TRUE@retain_symbols_file_test.stdout: retain_symbols_file_test.so @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -C retain_symbols_file_test.so > $@ @@ -5250,7 +5251,7 @@ uninstall-am: @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain7pie.o @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncvar1_pic.o: ifuncvar1.c @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncvar2_pic.o: ifuncvar2.c +@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncvar2_pic.o: ifuncvar2.c @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncvar.so: ifuncvar1_pic.o ifuncvar2_pic.o gcctestdir/ld @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared ifuncvar1_pic.o ifuncvar2_pic.o diff --git a/gold/testsuite/merge_string_literals_1.c b/gold/testsuite/merge_string_literals_1.c deleted file mode 100644 index fc0487c3bfb..00000000000 --- a/gold/testsuite/merge_string_literals_1.c +++ /dev/null @@ -1,31 +0,0 @@ -// merge_string_literals_1.c -- a test case for gold - -// Copyright 2013 Free Software Foundation, Inc. -// Written by Alexander Ivchenko - -// This file is part of gold. - -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, -// MA 02110-1301, USA. - -// The goal of this program is to check whether string literals from different -// object files are merged together - -const char* bar1() { - return "abcdefghijklmnopqrstuvwxyz0123456789"; -} -const char* bar1_short() { - return "abcdef"; -} diff --git a/gold/testsuite/merge_string_literals_1.cc b/gold/testsuite/merge_string_literals_1.cc new file mode 100644 index 00000000000..fc0487c3bfb --- /dev/null +++ b/gold/testsuite/merge_string_literals_1.cc @@ -0,0 +1,31 @@ +// merge_string_literals_1.c -- a test case for gold + +// Copyright 2013 Free Software Foundation, Inc. +// Written by Alexander Ivchenko + +// This file is part of gold. + +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +// MA 02110-1301, USA. + +// The goal of this program is to check whether string literals from different +// object files are merged together + +const char* bar1() { + return "abcdefghijklmnopqrstuvwxyz0123456789"; +} +const char* bar1_short() { + return "abcdef"; +} diff --git a/gold/testsuite/merge_string_literals_2.c b/gold/testsuite/merge_string_literals_2.c deleted file mode 100644 index d1185cde123..00000000000 --- a/gold/testsuite/merge_string_literals_2.c +++ /dev/null @@ -1,31 +0,0 @@ -// merge_string_literals_2.c -- a test case for gold - -// Copyright 2013 Free Software Foundation, Inc. -// Written by Alexander Ivchenko - -// This file is part of gold. - -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 3 of the License, or -// (at your option) any later version. - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, -// MA 02110-1301, USA. - -// The goal of this program is to check whether string literals from different -// object files are merged together - -const char* bar2() { - return "abcdefghijklmnopqrstuvwxyz0123456789"; -} -const char* bar2_short() { - return "abcdef"; -} diff --git a/gold/testsuite/merge_string_literals_2.cc b/gold/testsuite/merge_string_literals_2.cc new file mode 100644 index 00000000000..d1185cde123 --- /dev/null +++ b/gold/testsuite/merge_string_literals_2.cc @@ -0,0 +1,31 @@ +// merge_string_literals_2.c -- a test case for gold + +// Copyright 2013 Free Software Foundation, Inc. +// Written by Alexander Ivchenko + +// This file is part of gold. + +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +// MA 02110-1301, USA. + +// The goal of this program is to check whether string literals from different +// object files are merged together + +const char* bar2() { + return "abcdefghijklmnopqrstuvwxyz0123456789"; +} +const char* bar2_short() { + return "abcdef"; +}