* testsuite/Makefile.am (MOSTLYCLEANFILES): Add more generated files.
[deliverable/binutils-gdb.git] / gold / testsuite / Makefile.am
index 3bb5bd3a5f86acbc9f48702cbea4bf6a0cd54ed5..af16f901b89f327ab4efb953378733e061952451 100644 (file)
@@ -4,7 +4,8 @@
 # system and the host system are the same.  So these tests will not
 # work when building with a cross-compiler.
 
-AUTOMAKE_OPTIONS =
+# Ignore warning about AM_PROG_CC_C_O due to large_CFLAGS
+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
@@ -12,7 +13,7 @@ AUTOMAKE_OPTIONS =
 AM_CFLAGS = $(WARN_CFLAGS) $(LFS_CFLAGS) -fmerge-constants
 AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CFLAGS) -fmerge-constants
 
-INCLUDES = \
+AM_CPPFLAGS = \
        -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../../include \
        -I$(srcdir)/../../elfcpp -I.. \
        -DLOCALEDIR="\"$(datadir)/locale\"" \
@@ -41,7 +42,7 @@ endif
 # .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
 # the right choice for files 'make' builds that people rebuild.
-MOSTLYCLEANFILES = *.so
+MOSTLYCLEANFILES = *.so *.syms *.stdout
 
 
 # We will add to these later, for each individual test.  Note
@@ -106,6 +107,7 @@ flagstest_ndebug.o: constructor_test.cc
 
 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 
        $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
 gc_comdat_test_2.o: gc_comdat_test_2.cc 
@@ -115,6 +117,35 @@ gc_comdat_test: gc_comdat_test_1.o gc_comdat_test_2.o gcctestdir/ld
 gc_comdat_test.stdout: gc_comdat_test
        $(TEST_NM) -C gc_comdat_test > gc_comdat_test.stdout
 
+check_SCRIPTS += gc_tls_test.sh
+check_DATA += gc_tls_test.stdout
+MOSTLYCLEANFILES += gc_tls_test
+gc_tls_test.o: gc_tls_test.cc
+       $(CXXCOMPILE) -O0 -c -g -o $@ $<
+gc_tls_test:gc_tls_test.o gcctestdir/ld
+       $(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_tls_test.o
+gc_tls_test.stdout: gc_tls_test
+       $(TEST_NM) -C gc_tls_test > gc_tls_test.stdout
+
+check_SCRIPTS += icf_test.sh
+check_DATA += icf_test.stdout
+MOSTLYCLEANFILES += icf_test
+icf_test.o: icf_test.cc 
+       $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
+icf_test: icf_test.o gcctestdir/ld
+       $(CXXLINK) -Bgcctestdir/ -Wl,--icf icf_test.o
+icf_test.stdout: icf_test
+       $(TEST_NM) -C icf_test > icf_test.stdout
+
+check_SCRIPTS += icf_keep_unique_test.sh
+check_DATA += icf_keep_unique_test.stdout
+MOSTLYCLEANFILES += icf_keep_unique_test
+icf_keep_unique_test.o: icf_keep_unique_test.cc
+       $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
+icf_keep_unique_test: icf_keep_unique_test.o gcctestdir/ld
+       $(CXXLINK) -Bgcctestdir/ -Wl,--icf -Wl,--keep-unique,_Z11unique_funcv icf_keep_unique_test.o
+icf_keep_unique_test.stdout: icf_keep_unique_test
+       $(TEST_NM) -C icf_keep_unique_test > icf_keep_unique_test.stdout
 
 check_PROGRAMS += basic_test
 check_PROGRAMS += basic_static_test
@@ -241,6 +272,7 @@ two_file_relocatable.o: gcctestdir/ld two_file_test_1.o two_file_test_1b.o two_f
 
 check_SCRIPTS += two_file_shared.sh
 check_DATA += two_file_shared.dbg
+MOSTLYCLEANFILES += two_file_shared.dbg
 two_file_shared.dbg: two_file_shared.so
        $(TEST_READELF) -w $< >$@ 2>/dev/null
 
@@ -396,6 +428,7 @@ weak_test_DEPENDENCIES = gcctestdir/ld
 weak_test_LDFLAGS = -Bgcctestdir/
 
 check_PROGRAMS += weak_undef_test
+MOSTLYCLEANFILES += alt/weak_undef_lib.so
 weak_undef_test_SOURCES = weak_undef_test.cc
 weak_undef_test_DEPENDENCIES = gcctestdir/ld weak_undef_lib.so alt/weak_undef_lib.so
 weak_undef_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,alt
@@ -412,6 +445,7 @@ alt/weak_undef_lib.so: weak_undef_file2.o
 
 if FN_PTRS_IN_SO_WITHOUT_PIC
 check_PROGRAMS += weak_undef_nonpic_test
+MOSTLYCLEANFILES += alt/weak_undef_lib_nonpic.so
 weak_undef_nonpic_test_SOURCES = weak_undef_test.cc
 weak_undef_nonpic_test_DEPENDENCIES = gcctestdir/ld weak_undef_lib_nonpic.so alt/weak_undef_lib_nonpic.so
 weak_undef_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,alt
@@ -606,6 +640,7 @@ many_sections_test_DEPENDENCIES = gcctestdir/ld
 many_sections_test_LDFLAGS = -Bgcctestdir/ -rdynamic
 
 BUILT_SOURCES += many_sections_define.h
+MOSTLYCLEANFILES += many_sections_define.h
 many_sections_define.h:
        (for i in `seq 1 70000`; do \
           echo "int var_$$i __attribute__((section(\"section_$$i\"))) = $$i;"; \
@@ -613,6 +648,7 @@ many_sections_define.h:
        mv -f $@.tmp $@
 
 BUILT_SOURCES += many_sections_check.h
+MOSTLYCLEANFILES += many_sections_check.h
 many_sections_check.h:
        (for i in `seq 1 1000 70000`; do \
           echo "assert(var_$$i == $$i);"; \
@@ -833,6 +869,7 @@ ver_test_10.so: gcctestdir/ld ver_test_2.o ver_test_10.script
        $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_10.script ver_test_2.o
 
 check_PROGRAMS += ver_test_11
+MOSTLYCLEANFILES += ver_test_11.a
 ver_test_11_SOURCES = ver_test_main_2.cc
 ver_test_11_DEPENDENCIES = gcctestdir/ld ver_test_11.a
 ver_test_11_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
@@ -900,6 +937,7 @@ justsyms_2r.o: justsyms_2.o gcctestdir/ld $(srcdir)/justsyms.t
        gcctestdir/ld -o $@ -r -T $(srcdir)/justsyms.t justsyms_2.o
 
 check_PROGRAMS += binary_test
+MOSTLYCLEANFILES += binary.txt
 binary_test_SOURCES = binary_test.cc
 binary_test_DEPENDENCIES = gcctestdir/ld binary.txt
 binary_test_LDFLAGS = -Bgcctestdir/ -Wl,--format,binary,binary.txt,--format,elf
@@ -928,7 +966,7 @@ script_test_3.stdout: script_test_3
 
 check_SCRIPTS += script_test_4.sh
 check_DATA += script_test_4.stdout
-MOSTLYCLEANFILES += script_test_4.stdout
+MOSTLYCLEANFILES += script_test_4
 script_test_4: basic_test.o gcctestdir/ld $(srcdir)/script_test_4.t
        $(CXXLINK) -Bgcctestdir/ basic_test.o -T $(srcdir)/script_test_4.t
 script_test_4.stdout: script_test_4
@@ -936,7 +974,7 @@ script_test_4.stdout: script_test_4
 
 check_SCRIPTS += script_test_5.sh
 check_DATA += script_test_5.stdout
-MOSTLYCLEANFILES += script_test_5.stdout
+MOSTLYCLEANFILES += script_test_5
 script_test_5: script_test_5.o gcctestdir/ld $(srcdir)/script_test_5.t
        $(CXXLINK) -Bgcctestdir/ script_test_5.o -T $(srcdir)/script_test_5.t
 script_test_5.stdout: script_test_5
@@ -947,7 +985,7 @@ script_test_5.stdout: script_test_5
 
 check_SCRIPTS += dynamic_list.sh
 check_DATA += dynamic_list.stdout
-MOSTLYCLEANFILES += dynamic_list.stdout
+MOSTLYCLEANFILES += dynamic_list dynamic_list.stdout
 dynamic_list: basic_test.o gcctestdir/ld $(srcdir)/dynamic_list.t
        $(CXXLINK) -Bgcctestdir/ basic_test.o \
          -Wl,--dynamic-list $(srcdir)/dynamic_list.t \
@@ -958,6 +996,9 @@ dynamic_list.stdout: dynamic_list
        $(TEST_READELF) -DWs dynamic_list > dynamic_list.stdout
 
 check_PROGRAMS += thin_archive_test_1
+MOSTLYCLEANFILES += libthin1.a libthin3.a libthinall.a \
+       alt/thin_archive_test_2.o alt/thin_archive_test_4.o \
+       alt/libthin2.a alt/libthin4.a
 thin_archive_test_1_SOURCES = thin_archive_main.cc
 thin_archive_test_1_DEPENDENCIES = gcctestdir/ld libthin1.a alt/libthin2.a
 thin_archive_test_1_LDFLAGS = -Bgcctestdir/ -Lalt
@@ -1023,7 +1064,7 @@ plugin_test_3.err: plugin_test_3
 check_PROGRAMS += plugin_test_4
 check_SCRIPTS += plugin_test_4.sh
 check_DATA += plugin_test_4.err
-MOSTLYCLEANFILES += plugin_test_4.err
+MOSTLYCLEANFILES += plugin_test_4.a plugin_test_4.err
 plugin_test_4: two_file_test_main.o plugin_test_4.a gcctestdir/ld plugin_test.so
        $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o -Wl,--whole-archive,plugin_test_4.a,--no-whole-archive 2>plugin_test_4.err
 plugin_test_4.err: plugin_test_4
@@ -1092,5 +1133,35 @@ discard_locals_test.syms: discard_locals_test
 discard_locals_test.o: discard_locals_test.c
        $(COMPILE) -c -Wa,-L -o $@ $<
 
+if MCMODEL_MEDIUM
+check_PROGRAMS += large
+large_SOURCES = large.c
+large_CFLAGS = -mcmodel=medium
+large_DEPENDENCIES = gcctestdir/ld
+large_LDFLAGS = -Bgcctestdir/
+endif MCMODEL_MEDIUM
+
+# Test that hidden and internal symbols in the main program cannot be
+# referenced by a shared library.
+check_SCRIPTS += hidden_test.sh
+check_DATA += hidden_test.err
+MOSTLYCLEANFILES += hidden_test hidden_test.err
+libhidden.so: hidden_test_1.c gcctestdir/ld
+       $(COMPILE) -Bgcctestdir/ -g -shared -fPIC -w -o $@ $(srcdir)/hidden_test_1.c
+hidden_test: hidden_test_main.o libhidden.so gcctestdir/ld
+       $(LINK) -Bgcctestdir/ -Wl,-R,. hidden_test_main.o libhidden.so 2>hidden_test.err
+hidden_test.err: hidden_test
+       @touch hidden_test.err
+
+# Test that if the output file already exists and is empty,
+# it will get execute permission.
+check_PROGRAMS += permission_test
+permission_test: basic_test.o gcctestdir/ld
+       umask 022; \
+       rm -f $@; \
+       touch $@; \
+       chmod 600 $@; \
+       $(CXXLINK) -Bgcctestdir/ basic_test.o
+
 endif GCC
 endif NATIVE_LINKER
This page took 0.069057 seconds and 4 git commands to generate.