# Process this file with automake to generate Makefile.in

# As far as I can tell automake testing support assumes that the build
# system and the host system are the same.  So these tests will not
# work when building with a cross-compiler.

# Ignore warning about AM_PROG_CC_C_O due to large_CFLAGS
AUTOMAKE_OPTIONS = foreign -Wno-portability

# This is where we get zlib from.  zlib is in ../../zlib unless we were
# configured with --with-system-zlib, in which case ../../zlib either
# doesn't exist or not configured.
ZLIB = -L../../zlib -lz

# The two_file_test tests -fmerge-constants, so we simply always turn
# 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.. \
	-DLOCALEDIR="\"$(datadir)/locale\"" \
	@INCINTL@

# Some versions of GCC now automatically enable linker plugins,
# but we want to run our tests without GCC's plugins.
if HAVE_NO_USE_LINKER_PLUGIN
OPT_NO_PLUGINS = -fno-use-linker-plugin
endif

# COMPILE1, LINK1, CXXCOMPILE1, CXXLINK1 are renamed from COMPILE, LINK,
# CXXCOMPILE and CXXLINK generated by automake 1.11.1.  FIXME: they should
# be updated if they differ in newer automake used by gold, but note the
# addition of OPT_NO_PLUGINS and use of CC and CXX in LINK1 and CXXLINK1.
COMPILE1 = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK1 = $(CC) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
CXXCOMPILE1 = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLINK1 = $(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) $(OPT_NO_PLUGINS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@

# Put our -B option before any other -B that might be in $CC or $CXX
editcc = -e 's/\([^ ]*\)\(.*\)/\1 -Bgcctestdir\/\2/'

# Strip out -Wp,-D_FORTIFY_SOURCE=, which is irrelevant for the gold
# testsuite and incompatible with -O0 used in gold tests.
editcc1 = -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9][0-9]*//'

CCLD = `echo $(CC) | sed $(editcc)`
CXXLD = `echo $(CXX) | sed $(editcc)`
COMPILE = `echo $(COMPILE1) | sed $(editcc) $(editcc1)`
LINK = `echo $(LINK1) | sed $(editcc) $(editcc1)`
CXXCOMPILE = `echo $(CXXCOMPILE1) | sed $(editcc) $(editcc1)`
CXXLINK = `echo $(CXXLINK1) | sed $(editcc) $(editcc1)`

# Strip out -static-libgcc and -static-libstdc++ options, for tests
# that must have these libraries linked dynamically.  The -shared-libgcc
# option does not work correctly, and there is no -shared-libstdc++ option.
# (See GCC PR 55781 and PR 55782.)
editcc2 = -e 's/-static-lib\(gcc\|stdc++\) *//g'
CXXLINK_S = `echo $(CXXLINK1) | sed $(editcc) $(editcc1) $(editcc2)`

TEST_READELF = $(top_builddir)/../binutils/readelf
TEST_OBJDUMP = $(top_builddir)/../binutils/objdump
TEST_OBJCOPY = $(top_builddir)/../binutils/objcopy
TEST_CXXFILT = $(top_builddir)/../binutils/cxxfilt
TEST_STRIP = $(top_builddir)/../binutils/strip-new
TEST_AR = $(top_builddir)/../binutils/ar
TEST_NM = $(top_builddir)/../binutils/nm-new
TEST_AS = $(top_builddir)/../gas/as-new

if PLUGINS
LIBDL = -ldl
endif

if THREADS
THREADFLAGS = @PTHREAD_CFLAGS@
THREADLIBS = @PTHREAD_LIBS@
endif

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
# the right choice for files 'make' builds that people rebuild.
MOSTLYCLEANFILES = *.so *.syms *.stdout *.stderr

# 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.
check_SCRIPTS =
check_DATA =
check_PROGRAMS =
BUILT_SOURCES =

TESTS = $(check_SCRIPTS) $(check_PROGRAMS)

# ---------------------------------------------------------------------
# These tests test the internals of gold (unittests).

# Infrastucture needed for the unittests
check_LIBRARIES = libgoldtest.a
libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc

DEPENDENCIES = \
	libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL_DEP)

# The unittests themselves
if NATIVE_OR_CROSS_LINKER
if GCC

# Infrastucture needed for the unittests: a directory where the linker
# is named 'ld'.  This is because the -B flag appends 'ld' to its arg.
gcctestdir/ld: ../ld-new gcctestdir/collect-ld
	test -d gcctestdir || mkdir -p gcctestdir
	rm -f $@
	$(LN_S) $(abs_top_builddir)/ld-new $@

# Needed when using uninstalled compiler
gcctestdir/collect-ld: ../ld-new
	test -d gcctestdir || mkdir -p gcctestdir
	rm -f $@
	$(LN_S) $(abs_top_builddir)/ld-new $@

# Some tests require the latest features of an in-tree assembler.
gcctestdir/as: $(TEST_AS)
	test -d gcctestdir || mkdir -p gcctestdir
	rm -f $@
	$(LN_S) $(abs_top_builddir)/../gas/as-new $@

endif GCC

check_PROGRAMS += object_unittest
object_unittest_SOURCES = object_unittest.cc
object_unittest_LDFLAGS = $(THREADFLAGS)
object_unittest_LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \
	$(THREADLIBS) $(LIBDL) $(ZLIB)

check_PROGRAMS += binary_unittest
binary_unittest_SOURCES = binary_unittest.cc
binary_unittest_LDFLAGS = $(THREADFLAGS)
binary_unittest_LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \
	$(THREADLIBS) $(LIBDL) $(ZLIB)

check_PROGRAMS += leb128_unittest
leb128_unittest_SOURCES = leb128_unittest.cc
leb128_unittest_LDFLAGS = $(THREADFLAGS)
leb128_unittest_LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \
	$(THREADLIBS) $(LIBDL) $(ZLIB)

check_PROGRAMS += overflow_unittest
overflow_unittest_SOURCES = overflow_unittest.cc
overflow_unittest_LDFLAGS = $(THREADFLAGS)
overflow_unittest_LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \
	$(THREADLIBS) $(LIBDL) $(ZLIB)
overflow_unittest.o: overflow_unittest.cc
	$(CXXCOMPILE) -O3 -c -o $@ $<

endif NATIVE_OR_CROSS_LINKER

# ---------------------------------------------------------------------
# These tests test the output of gold (end-to-end tests).  In
# particular, they make sure that gold can link "difficult" object
# files, and the resulting object files run correctly.  These can only
# run if we've built ld-new for the native architecture (that is,
# we're not cross-compiling it), since we run ld-new as part of these
# tests.  We use the gcc-specific flag '-B' to use our linker instead
# of the default linker, which is why we only run our tests under gcc.

if NATIVE_LINKER
if GCC

# Test empty command line error conditions.
check_SCRIPTS += empty_command_line_test.sh
empty_command_line_test.sh: gcctestdir/ld

# Each of these .o's is a useful, small complete program.  They're
# particularly useful for making sure ld-new's flags do what they're
# supposed to (hence their names), but are used for many tests that
# don't actually involve analyzing input data.
flagstest_debug.o: constructor_test.cc
	$(CXXCOMPILE) -O0 -g -c -o $@ $<
flagstest_ndebug.o: constructor_test.cc
	$(CXXCOMPILE) -O0 -c -o $@ $<

check_SCRIPTS += incremental_test.sh
check_DATA += incremental_test.stdout
MOSTLYCLEANFILES += incremental_test incremental_test.cmdline
incremental_test_1.o: incremental_test_1.c
	$(COMPILE) -O0 -c -ffunction-sections -g -o $@ $<
incremental_test_2.o: incremental_test_2.c
	$(COMPILE) -O0 -c -ffunction-sections -g -o $@ $<
incremental_test: incremental_test_1.o incremental_test_2.o gcctestdir/ld
	$(LINK) -Wl,--incremental-full -Wl,-z,norelro,-no-pie incremental_test_1.o incremental_test_2.o -Wl,-debug 2> incremental_test.cmdline
incremental_test.stdout: incremental_test ../incremental-dump
	../incremental-dump incremental_test > $@

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
	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
gc_comdat_test: gc_comdat_test_1.o gc_comdat_test_2.o gcctestdir/ld
	$(CXXLINK) -Wl,--gc-sections gc_comdat_test_1.o gc_comdat_test_2.o
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) -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 += gc_orphan_section_test.sh
check_DATA += gc_orphan_section_test.stdout
MOSTLYCLEANFILES += gc_orphan_section_test
gc_orphan_section_test.o: gc_orphan_section_test.cc
	$(CXXCOMPILE) -O0 -c -g -o $@ $<
gc_orphan_section_test:gc_orphan_section_test.o gcctestdir/ld
	$(CXXLINK) -Wl,--gc-sections gc_orphan_section_test.o
gc_orphan_section_test.stdout: gc_orphan_section_test
	$(TEST_NM) gc_orphan_section_test > gc_orphan_section_test.stdout

check_SCRIPTS += pr14265.sh
check_DATA += pr14265.stdout
MOSTLYCLEANFILES += pr14265
pr14265.o: pr14265.c
	$(COMPILE) -O0 -c -o $@ $<
pr14265: pr14265.o gcctestdir/ld $(srcdir)/pr14265.t
	$(LINK) -Wl,--gc-sections -Wl,-T,$(srcdir)/pr14265.t -o $@ $<
pr14265.stdout: pr14265
	$(TEST_NM) --format=bsd --numeric-sort $< > $@

check_SCRIPTS += pr20717.sh
check_DATA += pr20717.stdout
MOSTLYCLEANFILES += pr20717
pr20717.o: pr20717.c
	$(COMPILE) -O0 -ffunction-sections -c -o $@ $<
pr20717: pr20717.o gcctestdir/ld $(srcdir)/pr20717.t
	$(LINK) -Wl,--gc-sections -Wl,-T,$(srcdir)/pr20717.t -o $@ $<
pr20717.stdout: pr20717
	$(TEST_NM) $< > $@

check_SCRIPTS += gc_dynamic_list_test.sh
check_DATA += gc_dynamic_list_test.stdout
MOSTLYCLEANFILES += gc_dynamic_list_test
gc_dynamic_list_test.o: gc_dynamic_list_test.c
	$(COMPILE) -c -ffunction-sections -o $@ $<
gc_dynamic_list_test: gc_dynamic_list_test.o gcctestdir/ld $(srcdir)/gc_dynamic_list_test.t
	$(LINK) -Wl,--gc-sections -Wl,--dynamic-list,$(srcdir)/gc_dynamic_list_test.t gc_dynamic_list_test.o
gc_dynamic_list_test.stdout: gc_dynamic_list_test
	$(TEST_NM) gc_dynamic_list_test > $@

check_SCRIPTS += icf_test.sh
check_DATA += icf_test.map
MOSTLYCLEANFILES += icf_test icf_test.map
icf_test.o: icf_test.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
icf_test: icf_test.o gcctestdir/ld
	$(CXXLINK) -o icf_test -Wl,--icf=all,-Map,icf_test.map icf_test.o
icf_test.map: icf_test
	@touch icf_test.map

check_SCRIPTS += icf_test_pr21066.sh
check_DATA += icf_test_pr21066.map
MOSTLYCLEANFILES += icf_test_pr21066 icf_test_pr21066.map
icf_test_pr21066.o: icf_test_pr21066.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
icf_test_pr21066: icf_test_pr21066.o gcctestdir/ld
	$(CXXLINK) -o icf_test_pr21066 -Bgcctestdir/ -Wl,--icf=all,-Map,icf_test_pr21066.map icf_test_pr21066.o
icf_test_pr21066.map: icf_test_pr21066
	@touch icf_test_pr21066.map

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) -Wl,--icf=all -Wl,--keep-unique,_Z11unique_funcv icf_keep_unique_test.o
icf_keep_unique_test.stdout: icf_keep_unique_test
	$(TEST_NM) -C $< > $@

check_SCRIPTS += icf_safe_test.sh
check_DATA += icf_safe_test_1.stdout icf_safe_test_2.stdout icf_safe_test.map
MOSTLYCLEANFILES += icf_safe_test icf_safe_test.map
icf_safe_test.o: icf_safe_test.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
icf_safe_test: icf_safe_test.o gcctestdir/ld
	$(CXXLINK) -o icf_safe_test -Wl,--icf=safe,-Map,icf_safe_test.map icf_safe_test.o
icf_safe_test.map: icf_safe_test
	@touch icf_safe_test.map
icf_safe_test_1.stdout: icf_safe_test
	$(TEST_NM) $< > $@
icf_safe_test_2.stdout: icf_safe_test
	$(TEST_READELF) -h $< > $@

check_SCRIPTS += icf_safe_pie_test.sh
check_DATA += icf_safe_pie_test_1.stdout icf_safe_pie_test_2.stdout icf_safe_pie_test.map
MOSTLYCLEANFILES += icf_safe_pie_test icf_safe_pie_test.map
icf_safe_pie_test.o: icf_safe_test.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIE -g -o $@ $<
icf_safe_pie_test: icf_safe_pie_test.o gcctestdir/ld
	$(CXXLINK) -o icf_safe_pie_test -Wl,--icf=safe,-Map,icf_safe_pie_test.map icf_safe_pie_test.o -pie
icf_safe_pie_test.map: icf_safe_pie_test
	@touch icf_safe_pie_test.map
icf_safe_pie_test_1.stdout: icf_safe_pie_test
	$(TEST_NM) $< > $@
icf_safe_pie_test_2.stdout: icf_safe_pie_test
	$(TEST_READELF) -h $< > $@

check_SCRIPTS += icf_safe_so_test.sh
check_DATA += icf_safe_so_test_1.stdout icf_safe_so_test_2.stdout icf_safe_so_test.map
MOSTLYCLEANFILES += icf_safe_so_test icf_safe_so_test.map
icf_safe_so_test.o: icf_safe_so_test.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $<
icf_safe_so_test: icf_safe_so_test.o gcctestdir/ld
	$(CXXLINK) -o icf_safe_so_test -Wl,--icf=safe,-Map,icf_safe_so_test.map icf_safe_so_test.o -fPIC -shared
icf_safe_so_test.map:
	@touch icf_safe_so_test.map
icf_safe_so_test_1.stdout: icf_safe_so_test
	$(TEST_NM) $< > $@
icf_safe_so_test_2.stdout: icf_safe_so_test
	$(TEST_READELF) -h $< > $@

check_SCRIPTS += final_layout.sh
check_DATA += final_layout.stdout
MOSTLYCLEANFILES += final_layout final_layout_sequence.txt final_layout_script.lds
final_layout.o: final_layout.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -fdata-sections -g -o $@ $<
final_layout_sequence.txt:
	(echo "*_Z3barv*" && echo ".text._Z3bazv" && echo "*_Z3foov*" && echo "*global_varb*" && echo "*global_vara*" && echo "*global_varc*") > final_layout_sequence.txt
final_layout_script.lds:
	(echo "SECTIONS { .text : { *(.text*) } .got : { *(.got .toc) } .sbss : { *(.sbss*) } .bss : { *(.bss*) } }") > final_layout_script.lds
final_layout: final_layout.o final_layout_sequence.txt final_layout_script.lds gcctestdir/ld
	$(CXXLINK) -Wl,--section-ordering-file,final_layout_sequence.txt -Wl,-T,final_layout_script.lds final_layout.o
final_layout.stdout: final_layout
	$(TEST_NM) -n --synthetic final_layout > final_layout.stdout

check_SCRIPTS += text_section_grouping.sh
check_DATA += text_section_grouping.stdout text_section_no_grouping.stdout
MOSTLYCLEANFILES += text_section_grouping text_section_no_grouping
text_section_grouping.o: text_section_grouping.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
text_section_grouping: text_section_grouping.o gcctestdir/ld
	$(CXXLINK) text_section_grouping.o
text_section_no_grouping: text_section_grouping.o gcctestdir/ld
	$(CXXLINK) -Wl,--no-text-reorder text_section_grouping.o
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

check_SCRIPTS += section_sorting_name.sh
check_DATA += section_sorting_name.stdout
MOSTLYCLEANFILES += section_sorting_name
section_sorting_name.o: section_sorting_name.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
section_sorting_name: section_sorting_name.o gcctestdir/ld
	$(CXXLINK) -Wl,--sort-section=name section_sorting_name.o
section_sorting_name.stdout: section_sorting_name
	$(TEST_NM) -n --synthetic section_sorting_name > section_sorting_name.stdout

check_SCRIPTS += text_unlikely_segment.sh
check_DATA += text_unlikely_segment_readelf.stdout
MOSTLYCLEANFILES += text_unlikely_segment
text_unlikely_segment.o: text_unlikely_segment.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
text_unlikely_segment: text_unlikely_segment.o gcctestdir/ld
	$(CXXLINK) -Wl,-z,text-unlikely-segment text_unlikely_segment.o
text_unlikely_segment_readelf.stdout: text_unlikely_segment
	$(TEST_READELF) -Wl $< >$@

check_SCRIPTS += keep_text_section_prefix.sh
check_DATA += keep_text_section_prefix_readelf.stdout keep_text_section_prefix_nm.stdout
MOSTLYCLEANFILES += keep_text_section_prefix
keep_text_section_prefix.o: keep_text_section_prefix.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $<
keep_text_section_prefix: keep_text_section_prefix.o gcctestdir/ld
	$(CXXLINK) -Wl,-z,keep-text-section-prefix keep_text_section_prefix.o
keep_text_section_prefix_readelf.stdout: keep_text_section_prefix
	$(TEST_READELF) -Wl $< >$@
keep_text_section_prefix_nm.stdout: keep_text_section_prefix
	$(TEST_NM) -n --synthetic $< >$@

check_PROGRAMS += icf_virtual_function_folding_test
MOSTLYCLEANFILES += icf_virtual_function_folding_test icf_virtual_function_folding_test.map
icf_virtual_function_folding_test.o: icf_virtual_function_folding_test.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIE -g -o $@ $<
icf_virtual_function_folding_test: icf_virtual_function_folding_test.o gcctestdir/ld
	$(CXXLINK) -Wl,--icf=all icf_virtual_function_folding_test.o -pie

check_SCRIPTS += icf_preemptible_functions_test.sh
check_DATA += icf_preemptible_functions_test.stdout
MOSTLYCLEANFILES += icf_preemptible_functions_test
icf_preemptible_functions_test.o: icf_preemptible_functions_test.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $<
icf_preemptible_functions_test: icf_preemptible_functions_test.o gcctestdir/ld
	$(CXXLINK) -Wl,--icf=all icf_preemptible_functions_test.o -fPIC -shared
icf_preemptible_functions_test.stdout: icf_preemptible_functions_test
	$(TEST_NM) icf_preemptible_functions_test > icf_preemptible_functions_test.stdout

check_SCRIPTS += icf_string_merge_test.sh
check_DATA += icf_string_merge_test.stdout
MOSTLYCLEANFILES += icf_string_merge_test
icf_string_merge_test.o: icf_string_merge_test.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $<
icf_string_merge_test: icf_string_merge_test.o gcctestdir/ld
	$(CXXLINK) -Wl,--icf=all icf_string_merge_test.o
icf_string_merge_test.stdout: icf_string_merge_test
	$(TEST_NM) icf_string_merge_test > icf_string_merge_test.stdout

check_SCRIPTS += icf_sht_rel_addend_test.sh
check_DATA += icf_sht_rel_addend_test.stdout
MOSTLYCLEANFILES += icf_sht_rel_addend_test
icf_sht_rel_addend_test_1.o: icf_sht_rel_addend_test_1.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $<
icf_sht_rel_addend_test_2.o: icf_sht_rel_addend_test_2.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $<
icf_sht_rel_addend_test: icf_sht_rel_addend_test_1.o icf_sht_rel_addend_test_2.o gcctestdir/ld
	$(CXXLINK) -Wl,--icf=all icf_sht_rel_addend_test_1.o icf_sht_rel_addend_test_2.o
icf_sht_rel_addend_test.stdout: icf_sht_rel_addend_test
	$(TEST_NM) icf_sht_rel_addend_test > icf_sht_rel_addend_test.stdout

check_PROGRAMS += large_symbol_alignment
large_symbol_alignment_SOURCES = large_symbol_alignment.cc
large_symbol_alignment_DEPENDENCIES = gcctestdir/ld
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.cc
	$(CXXCOMPILE) -O2 -c -fPIC -g -o $@ $<
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) merge_string_literals_1.o merge_string_literals_2.o -O2 -shared -nostdlib
merge_string_literals.stdout: merge_string_literals
	$(TEST_OBJDUMP) -s -j.rodata merge_string_literals > merge_string_literals.stdout

check_PROGRAMS += basic_test
check_PROGRAMS += basic_pic_test
basic_test.o: basic_test.cc
	$(CXXCOMPILE) -O0 -c -o $@ $<
basic_test: basic_test.o gcctestdir/ld
	$(CXXLINK) basic_test.o

check_PROGRAMS += eh_test
eh_test_a.o: eh_test_a.cc
	$(CXXCOMPILE) -O0 -c -o $@ $<
eh_test_b.o: eh_test_b.cc
	$(CXXCOMPILE) -O0 -c -o $@ $<
eh_test: eh_test_a.o eh_test_b.o gcctestdir/ld
	$(CXXLINK_S) eh_test_a.o eh_test_b.o

check_SCRIPTS += eh_test_2.sh
check_DATA += eh_test_2.sects
MOSTLYCLEANFILES += eh_test_2 eh_test_2.sects
eh_test_r.o: eh_test_a.o eh_test_b.o gcctestdir/ld
	gcctestdir/ld -r -o $@ eh_test_a.o eh_test_b.o
eh_test_2: eh_test_r.o gcctestdir/ld
	$(CXXLINK_S) -Wl,--eh-frame-hdr eh_test_r.o
eh_test_2.sects: eh_test_2
	$(TEST_READELF) -SW $< >$@ 2>/dev/null

if HAVE_STATIC
check_PROGRAMS += basic_static_test
basic_static_test: basic_test.o gcctestdir/ld
	$(CXXLINK) -static basic_test.o
endif

basic_pic_test.o: basic_test.cc
	$(CXXCOMPILE) -O0 -c -fpic -o $@ $<
basic_pic_test: basic_pic_test.o gcctestdir/ld
	$(CXXLINK) basic_pic_test.o

if HAVE_STATIC
check_PROGRAMS += basic_static_pic_test
basic_static_pic_test: basic_pic_test.o gcctestdir/ld
	$(CXXLINK) -static basic_pic_test.o
endif

check_PROGRAMS += basic_pie_test
basic_pie_test.o: basic_test.cc
	$(CXXCOMPILE) -O0 -c -fpie -o $@ $<
basic_pie_test: basic_pie_test.o gcctestdir/ld
	$(CXXLINK) -pie basic_pie_test.o

if THREADS
check_PROGRAMS += basic_threads_test
basic_threads_test: basic_test.o gcctestdir/ld
	$(CXXLINK) -Wl,--threads basic_test.o
endif

check_PROGRAMS += constructor_test
constructor_test_SOURCES = constructor_test.cc
constructor_test_DEPENDENCIES = gcctestdir/ld
constructor_test_LDADD =

if HAVE_STATIC
check_PROGRAMS += constructor_static_test
constructor_static_test_SOURCES = $(constructor_test_SOURCES)
constructor_static_test_DEPENDENCIES = $(constructor_test_DEPENDENCIES)
constructor_static_test_LDFLAGS = $(constructor_test_LDFLAGS) -static
constructor_static_test_LDADD = $(constructor_test_LDADD)
endif

check_PROGRAMS += two_file_test
check_PROGRAMS += two_file_pic_test
two_file_test_SOURCES = \
	two_file_test_1.cc \
	two_file_test_1b.cc \
	two_file_test_2.cc \
	two_file_test_main.cc \
	two_file_test.h
two_file_test_DEPENDENCIES = gcctestdir/ld
two_file_test_LDADD =

if HAVE_STATIC
check_PROGRAMS += two_file_static_test
two_file_static_test_SOURCES = $(two_file_test_SOURCES)
two_file_static_test_DEPENDENCIES = $(two_file_test_DEPENDENCIES)
two_file_static_test_LDFLAGS = $(two_file_test_LDFLAGS) -static
two_file_static_test_LDADD = $(two_file_test_LDADD)
endif

two_file_pic_test_SOURCES = two_file_test_main.cc
two_file_pic_test_DEPENDENCIES = \
	gcctestdir/ld two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o
two_file_pic_test_LDADD = two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o


check_PROGRAMS += two_file_shared_1_test
check_PROGRAMS += two_file_shared_2_test
check_PROGRAMS += two_file_shared_1_pic_2_test
check_PROGRAMS += two_file_shared_2_pic_1_test
check_PROGRAMS += two_file_same_shared_test
check_PROGRAMS += two_file_separate_shared_12_test
check_PROGRAMS += two_file_separate_shared_21_test
two_file_test_1_pic.o: two_file_test_1.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
two_file_test_1b_pic.o: two_file_test_1b.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
two_file_test_2_pic.o: two_file_test_2.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
two_file_shared_1.so: two_file_test_1_pic.o two_file_test_1b_pic.o gcctestdir/ld
	$(CXXLINK) -shared two_file_test_1_pic.o two_file_test_1b_pic.o
two_file_shared_2.so: two_file_test_2_pic.o gcctestdir/ld
	$(CXXLINK) -shared two_file_test_2_pic.o
two_file_shared.so: two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o gcctestdir/ld
	$(CXXLINK) -shared two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o

two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc
two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so
two_file_shared_1_test_LDFLAGS = -Wl,-R,.
two_file_shared_1_test_LDADD = two_file_shared_1.so

two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_1b.cc two_file_test_main.cc
two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so
two_file_shared_2_test_LDFLAGS = -Wl,-R,.
two_file_shared_2_test_LDADD = two_file_shared_2.so

two_file_shared_1_pic_2_test_SOURCES = two_file_test_main.cc
two_file_shared_1_pic_2_test_DEPENDENCIES = \
	gcctestdir/ld two_file_shared_2.so two_file_test_1_pic.o two_file_test_1b_pic.o
two_file_shared_1_pic_2_test_LDFLAGS = -Wl,-R,.
two_file_shared_1_pic_2_test_LDADD = two_file_test_1_pic.o two_file_test_1b_pic.o two_file_shared_2.so

two_file_shared_2_pic_1_test_SOURCES = two_file_test_main.cc
two_file_shared_2_pic_1_test_DEPENDENCIES = \
	gcctestdir/ld two_file_shared_1.so two_file_test_2_pic.o
two_file_shared_2_pic_1_test_LDFLAGS = -Wl,-R,.
two_file_shared_2_pic_1_test_LDADD = two_file_test_2_pic.o two_file_shared_1.so

two_file_same_shared_test_SOURCES = two_file_test_main.cc
two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so
two_file_same_shared_test_LDFLAGS = -Wl,-R,.
two_file_same_shared_test_LDADD = two_file_shared.so

two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc
two_file_separate_shared_12_test_DEPENDENCIES = \
	gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
two_file_separate_shared_12_test_LDFLAGS = -Wl,-R,.
two_file_separate_shared_12_test_LDADD = \
	two_file_shared_1.so two_file_shared_2.so

two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc
two_file_separate_shared_21_test_DEPENDENCIES = \
	gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
two_file_separate_shared_21_test_LDFLAGS = -Wl,-R,.
two_file_separate_shared_21_test_LDADD = \
	two_file_shared_2.so two_file_shared_1.so

check_PROGRAMS += two_file_relocatable_test
two_file_relocatable_test_SOURCES = two_file_test_main.cc
two_file_relocatable_test_DEPENDENCIES = \
	gcctestdir/ld two_file_relocatable.o
two_file_relocatable_test_LDFLAGS = -Wl,-R,.
two_file_relocatable_test_LDADD = two_file_relocatable.o
two_file_relocatable.o: gcctestdir/ld two_file_test_1.o two_file_test_1b.o two_file_test_2.o
	gcctestdir/ld -r -o $@ two_file_test_1.o two_file_test_1b.o two_file_test_2.o

check_PROGRAMS += two_file_pie_test
two_file_test_1_pie.o: two_file_test_1.cc
	$(CXXCOMPILE) -c -fpie -o $@ $<
two_file_test_1b_pie.o: two_file_test_1b.cc
	$(CXXCOMPILE) -c -fpie -o $@ $<
two_file_test_2_pie.o: two_file_test_2.cc
	$(CXXCOMPILE) -c -fpie -o $@ $<
two_file_test_main_pie.o: two_file_test_main.cc
	$(CXXCOMPILE) -c -fpie -o $@ $<
two_file_pie_test: two_file_test_1_pie.o two_file_test_1b_pie.o \
		two_file_test_2_pie.o two_file_test_main_pie.o gcctestdir/ld
	$(CXXLINK) -pie two_file_test_1_pie.o two_file_test_1b_pie.o two_file_test_2_pie.o two_file_test_main_pie.o

check_PROGRAMS += pie_copyrelocs_test
pie_copyrelocs_test_SOURCES = pie_copyrelocs_test.cc
pie_copyrelocs_test_DEPENDENCIES = gcctestdir/ld pie_copyrelocs_shared_test.so
pie_copyrelocs_test_CXXFLAGS = -fno-exceptions -fno-asynchronous-unwind-tables
pie_copyrelocs_test_LDFLAGS = -Wl,-R,. -pie
pie_copyrelocs_test_LDADD = pie_copyrelocs_shared_test.so
pie_copyrelocs_shared_test.o: pie_copyrelocs_shared_test.cc
	$(CXXCOMPILE) -O2 -fpic -c -o $@ $<
pie_copyrelocs_shared_test.so: pie_copyrelocs_shared_test.o gcctestdir/ld
	$(CXXLINK) -shared pie_copyrelocs_shared_test.o

check_PROGRAMS += weak_unresolved_symbols_test
weak_unresolved_symbols_test_SOURCES = weak_unresolved_symbols_test.cc
weak_unresolved_symbols_test_CXXFLAGS = -fPIE
weak_unresolved_symbols_test_LDFLAGS = -pie -Wl,--weak-unresolved-symbols

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

# The nonpic tests will fail on platforms which can not put non-PIC
# code into shared libraries, so we just don't run them in that case.
if FN_PTRS_IN_SO_WITHOUT_PIC

check_PROGRAMS += two_file_shared_1_nonpic_test
check_PROGRAMS += two_file_shared_2_nonpic_test
check_PROGRAMS += two_file_same_shared_nonpic_test
check_PROGRAMS += two_file_separate_shared_12_nonpic_test
check_PROGRAMS += two_file_separate_shared_21_nonpic_test
check_PROGRAMS += two_file_mixed_shared_test
check_PROGRAMS += two_file_mixed_2_shared_test
two_file_shared_1_nonpic.so: two_file_test_1.o gcctestdir/ld
	$(CXXLINK) -shared two_file_test_1.o two_file_test_1b.o -Wl,-z,notext
two_file_shared_2_nonpic.so: two_file_test_2.o gcctestdir/ld
	$(CXXLINK) -shared two_file_test_2.o
two_file_shared_nonpic.so: two_file_test_1.o two_file_test_1b.o two_file_test_2.o gcctestdir/ld
	$(CXXLINK) -shared two_file_test_1.o two_file_test_1b.o two_file_test_2.o -Wl,-z,notext
two_file_shared_mixed.so: two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2.o gcctestdir/ld
	$(CXXLINK) -shared two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2.o -Wl,-z,notext
two_file_shared_mixed_1.so: two_file_test_1.o two_file_test_1b_pic.o two_file_shared_2.so gcctestdir/ld
	$(CXXLINK) -shared two_file_test_1.o two_file_test_1b_pic.o two_file_shared_2.so -Wl,-z,notext

two_file_shared_1_nonpic_test_SOURCES = \
	two_file_test_2.cc two_file_test_main.cc
two_file_shared_1_nonpic_test_DEPENDENCIES = \
	gcctestdir/ld two_file_shared_1_nonpic.so
two_file_shared_1_nonpic_test_LDFLAGS = -Wl,-R,.
two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so

two_file_shared_2_nonpic_test_SOURCES = \
	two_file_test_1.cc two_file_test_1b.cc two_file_test_main.cc
two_file_shared_2_nonpic_test_DEPENDENCIES = \
	gcctestdir/ld two_file_shared_2_nonpic.so
two_file_shared_2_nonpic_test_LDFLAGS = -Wl,-R,.
two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so

two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc
two_file_same_shared_nonpic_test_DEPENDENCIES = \
	gcctestdir/ld two_file_shared_nonpic.so
two_file_same_shared_nonpic_test_LDFLAGS = -Wl,-R,.
two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so

two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc
two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \
	gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
two_file_separate_shared_12_nonpic_test_LDFLAGS = -Wl,-R,.
two_file_separate_shared_12_nonpic_test_LDADD = \
	two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so

two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc
two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \
	gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
two_file_separate_shared_21_nonpic_test_LDFLAGS = -Wl,-R,.
two_file_separate_shared_21_nonpic_test_LDADD = \
	two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so

two_file_mixed_shared_test_SOURCES = two_file_test_main.cc
two_file_mixed_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared_mixed.so
two_file_mixed_shared_test_LDFLAGS = -Wl,-R,.
two_file_mixed_shared_test_LDADD = two_file_shared_mixed.so

two_file_mixed_2_shared_test_SOURCES = two_file_test_main.cc
two_file_mixed_2_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared_mixed_1.so two_file_shared_2.so
two_file_mixed_2_shared_test_LDFLAGS = -Wl,-R,.
two_file_mixed_2_shared_test_LDADD = two_file_shared_mixed_1.so two_file_shared_2.so

check_PROGRAMS += two_file_mixed_pie_test
two_file_mixed_pie_test: two_file_test_1.o two_file_test_1b_pie.o \
		two_file_test_main_pie.o two_file_shared_2.so gcctestdir/ld
	$(CXXLINK) -Wl,-R,. -pie two_file_test_1.o two_file_test_1b_pie.o two_file_test_main_pie.o two_file_shared_2.so

endif FN_PTRS_IN_SO_WITHOUT_PIC

check_PROGRAMS += two_file_strip_test
two_file_strip_test: two_file_test
	$(TEST_STRIP) -o two_file_strip_test two_file_test

check_PROGRAMS += two_file_same_shared_strip_test
two_file_same_shared_strip_test_SOURCES = two_file_test_main.cc
two_file_same_shared_strip_test_DEPENDENCIES = \
	gcctestdir/ld two_file_shared_strip.so
two_file_same_shared_strip_test_LDFLAGS = -Wl,-R.
two_file_same_shared_strip_test_LDADD = two_file_shared_strip.so
two_file_shared_strip.so: two_file_shared.so
	$(TEST_STRIP) -S -o two_file_shared_strip.so two_file_shared.so

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 $(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 $(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

check_PROGRAMS += exception_test
check_PROGRAMS += exception_shared_1_test
check_PROGRAMS += exception_shared_2_test
check_PROGRAMS += exception_same_shared_test
check_PROGRAMS += exception_separate_shared_12_test
check_PROGRAMS += exception_separate_shared_21_test
exception_test_1_pic.o: exception_test_1.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
exception_test_2_pic.o: exception_test_2.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
exception_shared_1.so: exception_test_1_pic.o gcctestdir/ld
	$(CXXLINK) -shared exception_test_1_pic.o
exception_shared_2.so: exception_test_2_pic.o gcctestdir/ld
	$(CXXLINK) -shared exception_test_2_pic.o
exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o gcctestdir/ld
	$(CXXLINK) -shared exception_test_1_pic.o exception_test_2_pic.o

exception_test_SOURCES = \
	exception_test_main.cc \
	exception_test_1.cc \
	exception_test_2.cc \
	exception_test.h
exception_test_DEPENDENCIES = gcctestdir/ld
exception_test_LDADD =

if HAVE_STATIC
check_PROGRAMS += exception_static_test
exception_static_test_SOURCES = $(exception_test_SOURCES)
exception_static_test_DEPENDENCIES = $(exception_test_DEPENDENCIES)
exception_static_test_LDFLAGS = $(exception_test_LDFLAGS) -static
exception_static_test_LDADD = $(exception_test_LDADD)
endif

exception_shared_1_test_SOURCES = exception_test_2.cc exception_test_main.cc
exception_shared_1_test_DEPENDENCIES = gcctestdir/ld exception_shared_1.so
exception_shared_1_test_LDFLAGS = -Wl,-R,.
exception_shared_1_test_LDADD = exception_shared_1.so

exception_shared_2_test_SOURCES = exception_test_1.cc exception_test_main.cc
exception_shared_2_test_DEPENDENCIES = gcctestdir/ld exception_shared_2.so
exception_shared_2_test_LDFLAGS = -Wl,-R,.
exception_shared_2_test_LDADD = exception_shared_2.so

exception_same_shared_test_SOURCES = exception_test_main.cc
exception_same_shared_test_DEPENDENCIES = gcctestdir/ld exception_shared.so
exception_same_shared_test_LDFLAGS = -Wl,-R,.
exception_same_shared_test_LDADD = exception_shared.so

exception_separate_shared_12_test_SOURCES = exception_test_main.cc
exception_separate_shared_12_test_DEPENDENCIES = \
	gcctestdir/ld exception_shared_1.so exception_shared_2.so
exception_separate_shared_12_test_LDFLAGS = -Wl,-R,. -Wl,--no-as-needed
exception_separate_shared_12_test_LDADD = \
	exception_shared_1.so exception_shared_2.so

exception_separate_shared_21_test_SOURCES = exception_test_main.cc
exception_separate_shared_21_test_DEPENDENCIES = \
	gcctestdir/ld exception_shared_1.so exception_shared_2.so
exception_separate_shared_21_test_LDFLAGS = -Wl,-R,. -Wl,--no-as-needed
exception_separate_shared_21_test_LDADD = \
	exception_shared_2.so exception_shared_1.so


check_PROGRAMS += weak_test
weak_test_SOURCES = weak_test.cc
weak_test_DEPENDENCIES = gcctestdir/ld
weak_test_LDADD =

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 = -Wl,-R,alt
weak_undef_test_LDADD = -L . weak_undef_lib.so
weak_undef_file1.o: weak_undef_file1.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
weak_undef_file2.o: weak_undef_file2.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
weak_undef_lib.so: weak_undef_file1.o gcctestdir/ld
	$(CXXLINK) -shared weak_undef_file1.o
alt/weak_undef_lib.so: weak_undef_file2.o gcctestdir/ld
	test -d alt || mkdir -p alt
	$(CXXLINK) -shared weak_undef_file2.o

check_PROGRAMS += weak_undef_test_2
weak_undef_test_2_SOURCES = weak_undef_test_2.cc
weak_undef_test_2_DEPENDENCIES = gcctestdir/ld libweak_undef_2.a
weak_undef_test_2_LDFLAGS = -u weak_undef_2
weak_undef_test_2_LDADD = -L . -lweak_undef_2
MOSTLYCLEANFILES += libweak_undef_2.a
libweak_undef_2.a: weak_undef_file3.o weak_undef_file4.o
	$(TEST_AR) rc $@ $^
weak_undef_file3.o: weak_undef_file3.cc
	$(CXXCOMPILE) -c -o $@ $<
weak_undef_file4.o: weak_undef_file4.cc
	$(CXXCOMPILE) -c -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 = -Wl,-R,alt
weak_undef_nonpic_test_LDADD = -L . weak_undef_lib_nonpic.so
weak_undef_file1_nonpic.o: weak_undef_file1.cc
	$(CXXCOMPILE) -c -o $@ $<
weak_undef_file2_nonpic.o: weak_undef_file2.cc
	$(CXXCOMPILE) -c -o $@ $<
weak_undef_lib_nonpic.so: weak_undef_file1_nonpic.o
	$(CXXLINK) -shared weak_undef_file1_nonpic.o -Wl,-z,notext
alt/weak_undef_lib_nonpic.so: weak_undef_file2_nonpic.o
	test -d alt || mkdir -p alt
	$(CXXLINK) -shared weak_undef_file2_nonpic.o -Wl,-z,notext
endif FN_PTRS_IN_SO_WITHOUT_PIC


check_PROGRAMS += weak_alias_test
weak_alias_test_SOURCES = weak_alias_test_main.cc
weak_alias_test_DEPENDENCIES = \
	gcctestdir/ld weak_alias_test_1.so weak_alias_test_2.so \
	weak_alias_test_3.o weak_alias_test_4.so weak_alias_test_5.so
weak_alias_test_LDFLAGS = -Wl,-R,.
weak_alias_test_LDADD = \
	weak_alias_test_1.so weak_alias_test_2.so weak_alias_test_3.o \
	weak_alias_test_4.so weak_alias_test_5.so
weak_alias_test_1_pic.o: weak_alias_test_1.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
weak_alias_test_1.so: weak_alias_test_1_pic.o gcctestdir/ld
	$(CXXLINK) -shared weak_alias_test_1_pic.o
weak_alias_test_2_pic.o: weak_alias_test_2.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
weak_alias_test_2.so: weak_alias_test_2_pic.o gcctestdir/ld
	$(CXXLINK) -shared weak_alias_test_2_pic.o
weak_alias_test_3.o: weak_alias_test_3.cc
	$(CXXCOMPILE) -c -o $@ $<
weak_alias_test_4_pic.o: weak_alias_test_4.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
weak_alias_test_4.so: weak_alias_test_4_pic.o gcctestdir/ld
	$(CXXLINK) -shared weak_alias_test_4_pic.o
weak_alias_test_5_pic.o: weak_alias_test_5.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
weak_alias_test_5.so: weak_alias_test_5_pic.o $(srcdir)/weak_alias_test.script gcctestdir/ld
	$(CXXLINK) -shared weak_alias_test_5_pic.o \
		-Wl,--version-script,$(srcdir)/weak_alias_test.script

check_SCRIPTS += weak_plt.sh
check_PROGRAMS += weak_plt
check_DATA += weak_plt_shared.so
weak_plt_main_pic.o: weak_plt_main.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
weak_plt: weak_plt_main_pic.o gcctestdir/ld
	$(CXXLINK) weak_plt_main_pic.o
weak_plt_shared_pic.o: weak_plt_shared.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
weak_plt_shared.so: weak_plt_shared_pic.o gcctestdir/ld
	$(CXXLINK) -shared weak_plt_shared_pic.o

check_PROGRAMS += copy_test
copy_test_SOURCES = copy_test.cc
copy_test_DEPENDENCIES = gcctestdir/ld copy_test_1.so copy_test_2.so
copy_test_LDFLAGS = -Wl,-R,.
copy_test_LDADD = copy_test_1.so copy_test_2.so
copy_test_1_pic.o: copy_test_1.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
copy_test_1.so: gcctestdir/ld copy_test_1_pic.o
	$(CXXLINK) -shared copy_test_1_pic.o
copy_test_2_pic.o: copy_test_2.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
copy_test_2.so: gcctestdir/ld copy_test_2_pic.o
	$(CXXLINK) -shared copy_test_2_pic.o

check_PROGRAMS += copy_test_relro
copy_test_relro_SOURCES = copy_test_relro.cc
copy_test_relro_DEPENDENCIES = gcctestdir/ld copy_test_relro_1.so
copy_test_relro_LDFLAGS = -Wl,-R,. -Wl,-z,relro
copy_test_relro_LDADD = copy_test_relro_1.so
copy_test_relro_1_pic.o: copy_test_relro_1.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
copy_test_relro_1.so: gcctestdir/ld copy_test_relro_1_pic.o
	$(CXXLINK) -shared -Wl,-z,relro copy_test_relro_1_pic.o

if !DEFAULT_TARGET_POWERPC
check_SCRIPTS += copy_test_protected.sh
check_DATA += copy_test_protected.err
MOSTLYCLEANFILES += copy_test_protected.err
copy_test_protected.err: copy_test_protected.o copy_test_2.so gcctestdir/ld
	@echo $(CXXLINK) -o copy_test_protected copy_test_protected.o copy_test_2.so -Wl,-R,. "2>$@"
	@if $(CXXLINK) -o copy_test_protected copy_test_protected.o copy_test_2.so -Wl,-R,. 2>$@; \
	then \
	  echo 1>&2 "Link of copy_test_protected should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi
endif

if TLS

check_PROGRAMS += tls_test
check_PROGRAMS += tls_pic_test
check_PROGRAMS += tls_pie_test
check_PROGRAMS += tls_pie_pic_test
check_PROGRAMS += tls_shared_test
check_PROGRAMS += tls_shared_ie_test
check_PROGRAMS += tls_shared_gd_to_ie_test
tls_test_pic.o: tls_test.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
tls_test_file2_pic.o: tls_test_file2.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
tls_test_c_pic.o: tls_test_c.c
	$(COMPILE) -c -fpic $(TLS_TEST_C_CFLAGS) -o $@ $<
tls_test_shared.so: tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o gcctestdir/ld
	$(CXXLINK) -shared tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o -Wl,-z,defs
tls_test_shared2.so: tls_test_file2_pic.o gcctestdir/ld
	$(CXXLINK) -shared tls_test_file2_pic.o

tls_test_pic_ie.o: tls_test.cc
	$(CXXCOMPILE) -c -fpic -ftls-model=initial-exec -o $@ $<
tls_test_file2_pic_ie.o: tls_test_file2.cc
	$(CXXCOMPILE) -c -fpic -ftls-model=initial-exec -o $@ $<
tls_test_c_pic_ie.o: tls_test_c.c
	$(COMPILE) -c -fpic -ftls-model=initial-exec $(TLS_TEST_C_CFLAGS) -o $@ $<
tls_test_ie_shared.so: tls_test_pic_ie.o tls_test_file2_pic_ie.o tls_test_c_pic_ie.o gcctestdir/ld
	$(CXXLINK) -shared tls_test_pic_ie.o tls_test_file2_pic_ie.o tls_test_c_pic_ie.o

tls_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc tls_test.h
tls_test_DEPENDENCIES = gcctestdir/ld tls_test_c.o
tls_test_LDFLAGS = $(THREADFLAGS)
tls_test_LDADD = tls_test_c.o $(THREADLIBS)
tls_test_c.o: tls_test_c.c
	$(COMPILE) -c $(TLS_TEST_C_CFLAGS) -o $@ $<

tls_pic_test_SOURCES = tls_test_main.cc
tls_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o \
	tls_test_c_pic.o
tls_pic_test_LDFLAGS = $(THREADFLAGS)
tls_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o \
	$(THREADLIBS)

tls_test_main_pie.o: tls_test_main.cc tls_test.h
	$(CXXCOMPILE) -c -fpie -o $@ $<
tls_test_pie.o: tls_test.cc tls_test.h
	$(CXXCOMPILE) -c -fpie -o $@ $<
tls_test_file2_pie.o: tls_test_file2.cc tls_test.h
	$(CXXCOMPILE) -c -fpie -o $@ $<
tls_test_c_pie.o: tls_test_c.c
	$(COMPILE) -c -fpic $(TLS_TEST_C_CFLAGS) -o $@ $<
tls_pie_test: tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o \
		tls_test_c_pie.o gcctestdir/ld
	$(CXXLINK) $(THREADFLAGS) -pie tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o tls_test_c_pie.o $(THREADLIBS)

check_SCRIPTS += tls_pie_test.sh
check_DATA += tls_pie_test.stdout
tls_pie_test.stdout: tls_pie_test
	$(TEST_READELF) -rW $< > $@ 2>/dev/null

tls_pie_pic_test: tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o \
		tls_test_c_pic.o gcctestdir/ld
	$(CXXLINK) $(THREADFLAGS) -pie tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o $(THREADLIBS)

tls_shared_test_SOURCES = tls_test_main.cc
tls_shared_test_DEPENDENCIES = gcctestdir/ld tls_test_shared.so
tls_shared_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
tls_shared_test_LDADD = tls_test_shared.so $(THREADLIBS)

tls_shared_ie_test_SOURCES = tls_test_main.cc
tls_shared_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_ie_shared.so
tls_shared_ie_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
tls_shared_ie_test_LDADD = tls_test_ie_shared.so $(THREADLIBS)

tls_shared_gd_to_ie_test_SOURCES = tls_test_main.cc
tls_shared_gd_to_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o \
	tls_test_c_pic.o tls_test_shared2.so
tls_shared_gd_to_ie_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
tls_shared_gd_to_ie_test_LDADD = tls_test_pic.o tls_test_c_pic.o \
	tls_test_shared2.so $(THREADLIBS)

if TLS_GNU2_DIALECT

check_PROGRAMS += tls_shared_gnu2_gd_to_ie_test

tls_test_gnu2.o: tls_test.cc gcctestdir/as
	$(CXXCOMPILE) -c -fpic -mtls-dialect=gnu2 -o $@ $<
tls_test_file2_gnu2.o: tls_test_file2.cc gcctestdir/as
	$(CXXCOMPILE) -c -fpic -mtls-dialect=gnu2 -o $@ $<
tls_test_c_gnu2.o: tls_test_c.c gcctestdir/as
	$(COMPILE) -c -fpic -mtls-dialect=gnu2 $(TLS_TEST_C_CFLAGS) -o $@ $<
tls_test_gnu2_shared2.so: tls_test_file2_gnu2.o gcctestdir/ld
	$(CXXLINK) -shared tls_test_file2_gnu2.o

tls_shared_gnu2_gd_to_ie_test_SOURCES = tls_test_main.cc
tls_shared_gnu2_gd_to_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_gnu2.o \
	tls_test_c_gnu2.o tls_test_gnu2_shared2.so
tls_shared_gnu2_gd_to_ie_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
tls_shared_gnu2_gd_to_ie_test_LDADD = tls_test_gnu2.o tls_test_c_gnu2.o \
	tls_test_gnu2_shared2.so $(THREADLIBS)

if TLS_DESCRIPTORS

check_PROGRAMS += tls_shared_gnu2_test

tls_test_gnu2_shared.so: tls_test_gnu2.o tls_test_file2_gnu2.o tls_test_c_gnu2.o gcctestdir/ld
	$(CXXLINK) -shared tls_test_gnu2.o tls_test_file2_gnu2.o tls_test_c_gnu2.o

tls_shared_gnu2_test_SOURCES = tls_test_main.cc
tls_shared_gnu2_test_DEPENDENCIES = gcctestdir/ld tls_test_gnu2_shared.so
tls_shared_gnu2_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
tls_shared_gnu2_test_LDADD = tls_test_gnu2_shared.so $(THREADLIBS)

endif TLS_DESCRIPTORS

endif TLS_GNU2_DIALECT

if HAVE_STATIC
if STATIC_TLS
check_PROGRAMS += tls_static_test
check_PROGRAMS += tls_static_pic_test

tls_static_test_SOURCES = $(tls_test_SOURCES)
tls_static_test_DEPENDENCIES = $(tls_test_DEPENDENCIES)
tls_static_test_LDFLAGS = $(tls_test_LDFLAGS) -static
tls_static_test_LDADD = $(tls_test_LDADD)

tls_static_pic_test_SOURCES = $(tls_pic_test_SOURCES)
tls_static_pic_test_DEPENDENCIES = $(tls_pic_test_DEPENDENCIES)
tls_static_pic_test_LDFLAGS = $(tls_pic_test_LDFLAGS) -static
tls_static_pic_test_LDADD = $(tls_pic_test_LDADD)
endif
endif

if FN_PTRS_IN_SO_WITHOUT_PIC
check_PROGRAMS += tls_shared_nonpic_test
tls_test_shared_nonpic.so: tls_test.o tls_test_file2.o tls_test_c.o gcctestdir/ld
	$(CXXLINK) -shared tls_test.o tls_test_file2.o tls_test_c.o -Wl,-z,notext

tls_shared_nonpic_test_SOURCES = tls_test_main.cc
tls_shared_nonpic_test_DEPENDENCIES = gcctestdir/ld tls_test_shared_nonpic.so
tls_shared_nonpic_test_LDFLAGS = -Wl,-R,. $(THREADFLAGS)
tls_shared_nonpic_test_LDADD = tls_test_shared_nonpic.so $(THREADLIBS)
endif FN_PTRS_IN_SO_WITHOUT_PIC

endif TLS

if DEFAULT_TARGET_X86_64

check_SCRIPTS += x86_64_mov_to_lea.sh
check_DATA += x86_64_mov_to_lea1.stdout x86_64_mov_to_lea2.stdout \
	x86_64_mov_to_lea3.stdout x86_64_mov_to_lea4.stdout \
	x86_64_mov_to_lea5.stdout x86_64_mov_to_lea6.stdout \
	x86_64_mov_to_lea7.stdout x86_64_mov_to_lea8.stdout \
	x86_64_mov_to_lea9.stdout x86_64_mov_to_lea10.stdout \
	x86_64_mov_to_lea11.stdout x86_64_mov_to_lea12.stdout \
	x86_64_mov_to_lea13.stdout x86_64_mov_to_lea14.stdout \
	x86_64_mov_to_lea15.stdout x86_64_mov_to_lea16.stdout

MOSTLYCLEANFILES += x86_64_mov_to_lea1 x86_64_mov_to_lea2 \
	x86_64_mov_to_lea3 x86_64_mov_to_lea4 x86_64_mov_to_lea5 \
	x86_64_mov_to_lea6 x86_64_mov_to_lea7 x86_64_mov_to_lea8 \
	x86_64_mov_to_lea9 x86_64_mov_to_lea10 x86_64_mov_to_lea11 \
	x86_64_mov_to_lea12 x86_64_mov_to_lea13 x86_64_mov_to_lea14 \
	x86_64_mov_to_lea15 x86_64_mov_to_lea16

x86_64_mov_to_lea1.o: x86_64_mov_to_lea1.s
	$(TEST_AS) --64 -o $@ $<
x86_64_mov_to_lea2.o: x86_64_mov_to_lea1.s
	$(TEST_AS) --x32 -o $@ $<
x86_64_mov_to_lea3.o: x86_64_mov_to_lea2.s
	$(TEST_AS) --x32 -o $@ $<
x86_64_mov_to_lea4.o: x86_64_mov_to_lea2.s
	$(TEST_AS) --64 -o $@ $<
x86_64_mov_to_lea5.o: x86_64_mov_to_lea3.s
	$(TEST_AS) --x32 -mrelax-relocations=yes -o $@ $<
x86_64_mov_to_lea6.o: x86_64_mov_to_lea3.s
	$(TEST_AS) --64 -mrelax-relocations=yes -o $@ $<
x86_64_mov_to_lea7.o: x86_64_mov_to_lea4.s
	$(TEST_AS) --x32 -o $@ $<
x86_64_mov_to_lea8.o: x86_64_mov_to_lea4.s
	$(TEST_AS) --64 -o $@ $<
x86_64_mov_to_lea9.o: x86_64_mov_to_lea5.s
	$(TEST_AS) --x32 -mrelax-relocations=yes -o $@ $<
x86_64_mov_to_lea10.o: x86_64_mov_to_lea5.s
	$(TEST_AS) --64 -mrelax-relocations=yes -o $@ $<
x86_64_mov_to_lea1: x86_64_mov_to_lea1.o ../ld-new
	../ld-new -Bsymbolic -shared -melf_x86_64 -o $@ $<
x86_64_mov_to_lea2: x86_64_mov_to_lea1.o ../ld-new
	../ld-new -pie -melf_x86_64 -o $@ $<
x86_64_mov_to_lea3: x86_64_mov_to_lea1.o ../ld-new
	../ld-new -melf_x86_64 -o $@ $<
x86_64_mov_to_lea4: x86_64_mov_to_lea2.o ../ld-new
	../ld-new -Bsymbolic -shared -melf32_x86_64 -o $@ $<
x86_64_mov_to_lea5: x86_64_mov_to_lea2.o ../ld-new
	../ld-new -pie -melf32_x86_64 -o $@ $<
x86_64_mov_to_lea6: x86_64_mov_to_lea2.o ../ld-new
	../ld-new -melf32_x86_64 -o $@ $<
x86_64_mov_to_lea7: x86_64_mov_to_lea3.o ../ld-new
	../ld-new -melf32_x86_64 -pie -o $@ $<
x86_64_mov_to_lea8: x86_64_mov_to_lea4.o ../ld-new
	../ld-new -melf_x86_64 -pie -o $@ $<
x86_64_mov_to_lea9: x86_64_mov_to_lea5.o ../ld-new
	../ld-new -melf32_x86_64 -o $@ $<
x86_64_mov_to_lea10: x86_64_mov_to_lea6.o ../ld-new
	../ld-new -melf_x86_64 -o $@ $<
x86_64_mov_to_lea11: x86_64_mov_to_lea2.o ../ld-new
	../ld-new -melf32_x86_64 -shared -o $@ $<
x86_64_mov_to_lea12: x86_64_mov_to_lea1.o ../ld-new
	../ld-new -melf_x86_64 -shared -o $@ $<
x86_64_mov_to_lea13: x86_64_mov_to_lea7.o ../ld-new
	../ld-new -melf32_x86_64 -shared -o $@ $<
x86_64_mov_to_lea14: x86_64_mov_to_lea8.o ../ld-new
	../ld-new -melf_x86_64 -shared -o $@ $<
x86_64_mov_to_lea15: x86_64_mov_to_lea9.o ../ld-new
	../ld-new -melf32_x86_64 -shared -o $@ $<
x86_64_mov_to_lea16: x86_64_mov_to_lea10.o ../ld-new
	../ld-new -melf_x86_64 -shared -o $@ $<
x86_64_mov_to_lea1.stdout: x86_64_mov_to_lea1
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea2.stdout: x86_64_mov_to_lea2
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea3.stdout: x86_64_mov_to_lea3
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea4.stdout: x86_64_mov_to_lea4
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea5.stdout: x86_64_mov_to_lea5
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea6.stdout: x86_64_mov_to_lea6
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea7.stdout: x86_64_mov_to_lea7
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea8.stdout: x86_64_mov_to_lea8
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea9.stdout: x86_64_mov_to_lea9
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea10.stdout: x86_64_mov_to_lea10
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea11.stdout: x86_64_mov_to_lea11
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea12.stdout: x86_64_mov_to_lea12
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea13.stdout: x86_64_mov_to_lea13
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea14.stdout: x86_64_mov_to_lea14
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea15.stdout: x86_64_mov_to_lea15
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_mov_to_lea16.stdout: x86_64_mov_to_lea16
	$(TEST_OBJDUMP) -dw $< > $@

check_SCRIPTS += x86_64_indirect_call_to_direct.sh
check_DATA += x86_64_indirect_call_to_direct1.stdout \
	x86_64_indirect_jump_to_direct1.stdout
MOSTLYCLEANFILES += x86_64_indirect_call_to_direct1 \
	x86_64_indirect_jump_to_direct1

x86_64_indirect_call_to_direct1.o: x86_64_indirect_call_to_direct1.s
	$(TEST_AS) --64 -mrelax-relocations=yes -o $@ $<
x86_64_indirect_call_to_direct1: x86_64_indirect_call_to_direct1.o gcctestdir/ld
	gcctestdir/ld -o $@ $<
x86_64_indirect_call_to_direct1.stdout: x86_64_indirect_call_to_direct1
	$(TEST_OBJDUMP) -dw $< > $@
x86_64_indirect_jump_to_direct1.o: x86_64_indirect_jump_to_direct1.s
	$(TEST_AS) --64 -mrelax-relocations=yes -o $@ $<
x86_64_indirect_jump_to_direct1: x86_64_indirect_jump_to_direct1.o gcctestdir/ld
	gcctestdir/ld -o $@ $<
x86_64_indirect_jump_to_direct1.stdout: x86_64_indirect_jump_to_direct1
	$(TEST_OBJDUMP) -dw $< > $@

check_SCRIPTS += x86_64_gd_to_le.sh
check_DATA += x86_64_gd_to_le.stdout
MOSTLYCLEANFILES += x86_64_gd_to_le

x86_64_gd_to_le.o: x86_64_gd_to_le.s
	$(TEST_AS) --64 -o $@ $<
x86_64_gd_to_le: x86_64_gd_to_le.o gcctestdir/ld
	gcctestdir/ld -o $@ $<
x86_64_gd_to_le.stdout: x86_64_gd_to_le
	$(TEST_OBJDUMP) -dw $< > $@

check_SCRIPTS += x86_64_overflow_pc32.sh
check_DATA += x86_64_overflow_pc32.err
MOSTLYCLEANFILES += x86_64_overflow_pc32.err
x86_64_overflow_pc32.o: x86_64_overflow_pc32.s
	$(TEST_AS) -o $@ $<
x86_64_overflow_pc32.err: x86_64_overflow_pc32.o gcctestdir/ld
	@echo gcctestdir/ld -e bar -Tdata=0x81000000 -o x86_64_overflow_pc32 x86_64_overflow_pc32.o "2>$@"
	@if gcctestdir/ld -e bar -Tdata=0x81000000 -o x86_64_overflow_pc32 x86_64_overflow_pc32.o 2>$@; \
	then \
	  echo 1>&2 "Link of x86_64_overflow_pc32 should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi

check_PROGRAMS += pr17704a_test
pr17704a_test.o: pr17704a_test.s
	$(TEST_AS) --64 -o $@ $<
pr17704a_test: pr17704a_test.o gcctestdir/ld
	gcctestdir/ld --icf=all -o $@ $<

check_SCRIPTS += x32_overflow_pc32.sh
check_DATA += x32_overflow_pc32.err
MOSTLYCLEANFILES += x32_overflow_pc32.err
x32_overflow_pc32.o: x86_64_overflow_pc32.s
	$(TEST_AS) --x32 -o $@ $<
x32_overflow_pc32.err: x32_overflow_pc32.o gcctestdir/ld
	@echo gcctestdir/ld -e bar -Tdata=0x81000000 -o x32_overflow_pc32 x32_overflow_pc32.o "2>$@"
	@if gcctestdir/ld -e bar -Tdata=0x81000000 -o x32_overflow_pc32 x32_overflow_pc32.o 2>$@; \
	then \
	  echo 1>&2 "Link of x32_overflow_pc32 should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi

check_SCRIPTS += pr23016_1.sh
check_DATA += pr23016_1.stdout pr23016_1r.stdout
pr23016_1.stdout: pr23016_1.o
	$(TEST_READELF) -rSW $< >$@ 2>/dev/null
pr23016_1.o: pr23016_1a.o pr23016_1b.o gcctestdir/ld
	gcctestdir/ld -r -o $@ pr23016_1a.o pr23016_1b.o
pr23016_1r.stdout: pr23016_1r.o
	$(TEST_READELF) -rSW $< >$@ 2>/dev/null
pr23016_1r.o: pr23016_1a.o pr23016_1b.o gcctestdir/ld
	gcctestdir/ld -r -o $@ pr23016_1b.o pr23016_1a.o
pr23016_1a.o: pr23016_1a.s
	$(TEST_AS) -o $@ $<
pr23016_1b.o: pr23016_1b.s
	$(TEST_AS) -o $@ $<

check_SCRIPTS += pr23016_2.sh
check_DATA += pr23016_2.stdout
pr23016_2.stdout: pr23016_2.o
	$(TEST_READELF) -rW $< >$@ 2>/dev/null
pr23016_2.o: pr23016_2a.o pr23016_2b.o gcctestdir/ld
	gcctestdir/ld -r -o $@ pr23016_2a.o pr23016_2b.o
pr23016_2a.o: pr23016_2a.s
	$(TEST_AS) -o $@ $<
pr23016_2b.o: pr23016_2b.s
	$(TEST_AS) -o $@ $<

endif DEFAULT_TARGET_X86_64

if DEFAULT_TARGET_X86_64_OR_X32

check_PROGRAMS += pr20216a_test
pr20216a_test_SOURCES = pr20216_main.c pr20216_def.c
pr20216a_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o gcctestdir/ld gcctestdir/as
pr20216a_test_CFLAGS = -fPIE
pr20216a_test_LDFLAGS = -Wl,-R,.
pr20216a_test_LDADD = pr20216_gd.o pr20216_ld.o

check_PROGRAMS += pr20216b_test
pr20216b_test_SOURCES = pr20216_main.c pr20216_def.c
pr20216b_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o gcctestdir/ld gcctestdir/as
pr20216b_test_CFLAGS = -fPIE
pr20216b_test_LDFLAGS = -pie -Wl,-R,.
pr20216b_test_LDADD = pr20216_gd.o pr20216_ld.o

check_PROGRAMS += pr20216c_test
pr20216c_test_SOURCES = pr20216_main.c pr20216_def.c
pr20216c_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o gcctestdir/ld gcctestdir/as
pr20216c_test_CFLAGS = -fPIE
pr20216c_test_LDFLAGS = -static -Wl,-R,.
pr20216c_test_LDADD = pr20216_gd.o pr20216_ld.o

check_PROGRAMS += pr20216d_test
pr20216d_test_SOURCES = pr20216_main.c pr20216_def.c
pr20216d_test_DEPENDENCIES = pr20216a.so gcctestdir/ld gcctestdir/as
pr20216d_test_CFLAGS = -fPIE
pr20216d_test_LDFLAGS = -Wl,-R,.
pr20216d_test_LDADD = pr20216a.so

check_PROGRAMS += pr20216e_test
pr20216e_test_SOURCES = pr20216_main.c
pr20216e_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o pr20216b.so gcctestdir/ld gcctestdir/as
pr20216e_test_CFLAGS = -fPIE
pr20216e_test_LDFLAGS = -Wl,-R,.
pr20216e_test_LDADD = pr20216_gd.o pr20216_ld.o pr20216b.so

MOSTLYCLEANFILES += pr20216a.so pr20216b.so

pr20216a.so: pr20216_gd.o pr20216_ld.o gcctestdir/ld
	$(LINK) -shared pr20216_gd.o pr20216_ld.o

pr20216b.so: pr20216_def.o gcctestdir/ld
	$(LINK) -shared pr20216_def.o

pr20216_gd.o: pr20216_gd.S gcctestdir/as
	$(COMPILE) -c -o $@ $<

pr20216_ld.o: pr20216_ld.S gcctestdir/as
	$(COMPILE) -c -o $@ $<

endif DEFAULT_TARGET_X86_64_OR_X32

if DEFAULT_TARGET_I386

check_SCRIPTS += i386_mov_to_lea.sh
check_DATA += i386_mov_to_lea1.stdout i386_mov_to_lea2.stdout \
	i386_mov_to_lea3.stdout i386_mov_to_lea4.stdout \
	i386_mov_to_lea5.stdout i386_mov_to_lea6.stdout \
	i386_mov_to_lea7.stdout i386_mov_to_lea8.stdout
MOSTLYCLEANFILES += i386_mov_to_lea1 i386_mov_to_lea2 i386_mov_to_lea3 \
	i386_mov_to_lea4 i386_mov_to_lea5 i386_mov_to_lea6 \
	i386_mov_to_lea7 i386_mov_to_lea8

i386_mov_to_lea1.o: i386_mov_to_lea1.s
	$(TEST_AS) --32 -o $@ $<
i386_mov_to_lea2.o: i386_mov_to_lea2.s
	$(TEST_AS) --32 -o $@ $<
i386_mov_to_lea3.o: i386_mov_to_lea3.s
	$(TEST_AS) --32 -o $@ $<
i386_mov_to_lea4.o: i386_mov_to_lea4.s
	$(TEST_AS) --32 -o $@ $<
i386_mov_to_lea5.o: i386_mov_to_lea5.s
	$(TEST_AS) --32 -o $@ $<
i386_mov_to_lea1: i386_mov_to_lea1.o ../ld-new
	../ld-new -Bsymbolic -shared -melf_i386 -o $@ $<
i386_mov_to_lea2: i386_mov_to_lea1.o ../ld-new
	../ld-new -pie -melf_i386 -o $@ $<
i386_mov_to_lea3: i386_mov_to_lea1.o ../ld-new
	../ld-new -melf_i386 -o $@ $<
i386_mov_to_lea4: i386_mov_to_lea1.o ../ld-new
	../ld-new -melf_i386 -shared -o $@ $<
i386_mov_to_lea5: i386_mov_to_lea2.o ../ld-new
	../ld-new -melf_i386 -shared -o $@ $<
i386_mov_to_lea6: i386_mov_to_lea3.o ../ld-new
	../ld-new -melf_i386 -shared -o $@ $<
i386_mov_to_lea7: i386_mov_to_lea4.o ../ld-new
	../ld-new -melf_i386 -shared -o $@ $<
i386_mov_to_lea8: i386_mov_to_lea5.o ../ld-new
	../ld-new -melf_i386 -shared -o $@ $<
i386_mov_to_lea1.stdout: i386_mov_to_lea1
	$(TEST_OBJDUMP) -dw $< > $@
i386_mov_to_lea2.stdout: i386_mov_to_lea2
	$(TEST_OBJDUMP) -dw $< > $@
i386_mov_to_lea3.stdout: i386_mov_to_lea3
	$(TEST_OBJDUMP) -dw $< > $@
i386_mov_to_lea4.stdout: i386_mov_to_lea4
	$(TEST_OBJDUMP) -dw $< > $@
i386_mov_to_lea5.stdout: i386_mov_to_lea5
	$(TEST_OBJDUMP) -dw $< > $@
i386_mov_to_lea6.stdout: i386_mov_to_lea6
	$(TEST_OBJDUMP) -dw $< > $@
i386_mov_to_lea7.stdout: i386_mov_to_lea7
	$(TEST_OBJDUMP) -dw $< > $@
i386_mov_to_lea8.stdout: i386_mov_to_lea8
	$(TEST_OBJDUMP) -dw $< > $@

check_PROGRAMS += pr20308a_test
pr20308a_test_SOURCES = pr20308_main.c pr20308_def.c
pr20308a_test_DEPENDENCIES = pr20308_gd.o pr20308_ld.o gcctestdir/ld gcctestdir/as
pr20308a_test_CFLAGS = -fPIE
pr20308a_test_LDFLAGS = -Wl,-R,.
pr20308a_test_LDADD = pr20308_gd.o pr20308_ld.o

check_PROGRAMS += pr20308b_test
pr20308b_test_SOURCES = pr20308_main.c pr20308_def.c
pr20308b_test_DEPENDENCIES = pr20308_gd.o pr20308_ld.o gcctestdir/ld gcctestdir/as
pr20308b_test_CFLAGS = -fPIE
pr20308b_test_LDFLAGS = -pie -Wl,-R,.
pr20308b_test_LDADD = pr20308_gd.o pr20308_ld.o

check_PROGRAMS += pr20308c_test
pr20308c_test_SOURCES = pr20308_main.c pr20308_def.c
pr20308c_test_DEPENDENCIES = pr20308_gd.o pr20308_ld.o gcctestdir/ld gcctestdir/as
pr20308c_test_CFLAGS = -fPIE
pr20308c_test_LDFLAGS = -static -Wl,-R,.
pr20308c_test_LDADD = pr20308_gd.o pr20308_ld.o

check_PROGRAMS += pr20308d_test
pr20308d_test_SOURCES = pr20308_main.c pr20308_def.c
pr20308d_test_DEPENDENCIES = pr20308a.so gcctestdir/ld gcctestdir/as
pr20308d_test_CFLAGS = -fPIE
pr20308d_test_LDFLAGS = -Wl,-R,.
pr20308d_test_LDADD = pr20308a.so

check_PROGRAMS += pr20308e_test
pr20308e_test_SOURCES = pr20308_main.c
pr20308e_test_DEPENDENCIES = pr20308_gd.o pr20308_ld.o pr20308b.so gcctestdir/ld gcctestdir/as
pr20308e_test_CFLAGS = -fPIE
pr20308e_test_LDFLAGS = -Wl,-R,.
pr20308e_test_LDADD = pr20308_gd.o pr20308_ld.o pr20308b.so

MOSTLYCLEANFILES += pr20308a.so pr20308b.so

pr20308a.so: pr20308_gd.o pr20308_ld.o gcctestdir/ld
	$(LINK) -shared pr20308_gd.o pr20308_ld.o

pr20308b.so: pr20308_def.o gcctestdir/ld
	$(LINK) -shared pr20308_def.o

pr20308_gd.o: pr20308_gd.S gcctestdir/as
	$(COMPILE) -c -o $@ $<

pr20308_ld.o: pr20308_ld.S gcctestdir/as
	$(COMPILE) -c -o $@ $<

endif DEFAULT_TARGET_I386

check_PROGRAMS += many_sections_test
many_sections_test_SOURCES = many_sections_test.cc
many_sections_test_DEPENDENCIES = gcctestdir/ld
many_sections_test_LDFLAGS = -rdynamic
many_sections_test_LDADD =

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;"; \
	 done) > $@.tmp
	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);"; \
	 done) > $@.tmp
	mv -f $@.tmp $@

check_PROGRAMS += many_sections_r_test
many_sections_r_test.o: many_sections_test.o gcctestdir/ld
	gcctestdir/ld -r -o $@ many_sections_test.o
many_sections_r_test: many_sections_r_test.o gcctestdir/ld
	$(CXXLINK) many_sections_r_test.o $(LIBS)

check_SCRIPTS += file_in_many_sections_test.sh
check_DATA += file_in_many_sections.stdout
MOSTLYCLEANFILES += file_in_many_sections
file_in_many_sections.o: file_in_many_sections.c many_sections_define.h
	$(COMPILE) -c -fdata-sections -o $@ $(srcdir)/file_in_many_sections.c
file_in_many_sections: file_in_many_sections.o gcctestdir/ld
	$(LINK) file_in_many_sections.o -Wl,--gc-sections
file_in_many_sections.stdout: file_in_many_sections
	$(TEST_READELF) -sW $< > $@

check_PROGRAMS += initpri1
initpri1_SOURCES = initpri1.c
initpri1_DEPENDENCIES = gcctestdir/ld
initpri1_LDADD =

check_PROGRAMS += initpri2
initpri2_SOURCES = initpri2.c
initpri2_DEPENDENCIES = gcctestdir/ld
initpri2_LDFLAGS = -Wl,--ctors-in-init-array
initpri2_LDADD =

check_PROGRAMS += initpri3a
initpri3a_SOURCES = initpri3.c
initpri3a_DEPENDENCIES = gcctestdir/ld
initpri3a_LDADD =

# This test fails on targets not using .ctors and .dtors sections (e.g. ARM
# EABI). Given that gcc is moving towards using .init_array in all cases,
# this test is commented out.  A better fix would be checking whether gcc
# uses .ctors or .init_array sections in configure.

# check_PROGRAMS += initpri3b
# initpri3b_SOURCES = initpri3.c
# initpri3b_DEPENDENCIES = gcctestdir/ld
# initpri3b_LDFLAGS = -Wl,--no-ctors-in-init-array
# initpri3b_LDADD =

# Test --detect-odr-violations
check_SCRIPTS += debug_msg.sh

# Create the data files that debug_msg.sh analyzes.
check_DATA += debug_msg.err
MOSTLYCLEANFILES += debug_msg.err
debug_msg.o: debug_msg.cc
	$(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/debug_msg.cc
odr_violation1.o: odr_violation1.cc
	$(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/odr_violation1.cc
# Compile with different optimization flags to check that rearranged
# instructions don't cause a false positive.
odr_violation2.o: odr_violation2.cc
	$(CXXCOMPILE) -O2 -g -c -w -o $@ $(srcdir)/odr_violation2.cc
debug_msg.err: debug_msg.o odr_violation1.o odr_violation2.o gcctestdir/ld
	@echo $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o "2>$@"
	@if $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o 2>$@; \
	then \
	  echo 1>&2 "Link of debug_msg should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi

# Test error message when a vtable is undefined.
check_SCRIPTS += missing_key_func.sh
check_DATA += missing_key_func.err
MOSTLYCLEANFILES += missing_key_func.err
missing_key_func.o: missing_key_func.cc
	$(CXXCOMPILE) -O0 -g -c -o $@ $(srcdir)/missing_key_func.cc
missing_key_func.err: missing_key_func.o gcctestdir/ld
	@echo $(CXXLINK) -o missing_key_func missing_key_func.o "2>$@"
	@if $(CXXLINK) -o missing_key_func missing_key_func.o 2>$@; \
	then \
	  echo 1>&2 "Link of missing_key_func should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi

# Check that --detect-odr-violations works with compressed debug sections.
check_DATA += debug_msg_cdebug.err
MOSTLYCLEANFILES += debug_msg_cdebug.err
debug_msg_cdebug.o: debug_msg.cc gcctestdir/as
	$(CXXCOMPILE) -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/debug_msg.cc
odr_violation1_cdebug.o: odr_violation1.cc gcctestdir/as
	$(CXXCOMPILE) -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/odr_violation1.cc
odr_violation2_cdebug.o: odr_violation2.cc gcctestdir/as
	$(CXXCOMPILE) -O2 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/odr_violation2.cc
debug_msg_cdebug.err: debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o gcctestdir/ld
	@echo $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o "2>$@"
	@if $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o 2>$@; \
	then \
	  echo 1>&2 "Link of debug_msg_cdebug should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi
check_DATA += debug_msg_cdebug_gabi.err
MOSTLYCLEANFILES += debug_msg_cdebug_gabi.err
debug_msg_cdebug_gabi.o: debug_msg.cc gcctestdir/as
	$(CXXCOMPILE) -O0 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/debug_msg.cc
odr_violation1_cdebug_gabi.o: odr_violation1.cc gcctestdir/as
	$(CXXCOMPILE) -O0 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/odr_violation1.cc
odr_violation2_cdebug_gabi.o: odr_violation2.cc gcctestdir/as
	$(CXXCOMPILE) -O2 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/odr_violation2.cc
debug_msg_cdebug_gabi.err: debug_msg_cdebug_gabi.o odr_violation1_cdebug_gabi.o odr_violation2_cdebug_gabi.o gcctestdir/ld
	@echo $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug_gabi.o odr_violation1_cdebug_gabi.o odr_violation2_cdebug_gabi.o "2>$@"
	@if $(CXXLINK) -Wl,--detect-odr-violations -o debug_msg_cdebug_gabi debug_msg_cdebug_gabi.o odr_violation1_cdebug_gabi.o odr_violation2_cdebug_gabi.o 2>$@; \
	then \
	  echo 1>&2 "Link of debug_msg_cdebug_gabi should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi

# See if we can also detect problems when we're linking .so's, not .o's.
check_DATA += debug_msg_so.err
MOSTLYCLEANFILES += debug_msg_so.err
debug_msg.so: debug_msg.cc gcctestdir/ld
	$(CXXCOMPILE) -O0 -g -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc
odr_violation1.so: odr_violation1.cc gcctestdir/ld
	$(CXXCOMPILE) -O0 -g -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc
odr_violation2.so: odr_violation2.cc gcctestdir/ld
	$(CXXCOMPILE) -O2 -g -shared -fPIC -w -o $@ $(srcdir)/odr_violation2.cc
debug_msg_so.err: debug_msg.so odr_violation1.so odr_violation2.so gcctestdir/ld
	@echo $(CXXLINK_S) -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so "2>$@"
	@if $(CXXLINK_S) -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so 2>$@; \
	then \
	  echo 1>&2 "Link of debug_msg_so should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi

# We also want to make sure we do something reasonable when there's no
# debug info available.  For the best test, we use .so's.
check_DATA += debug_msg_ndebug.err
MOSTLYCLEANFILES += debug_msg_ndebug.err
debug_msg_ndebug.so: debug_msg.cc gcctestdir/ld
	$(CXXCOMPILE) -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc
odr_violation1_ndebug.so: odr_violation1.cc gcctestdir/ld
	$(CXXCOMPILE) -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc
odr_violation2_ndebug.so: odr_violation2.cc gcctestdir/ld
	$(CXXCOMPILE) -O2 -g0 -shared -fPIC -w -o $@ $(srcdir)/odr_violation2.cc
debug_msg_ndebug.err: debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so gcctestdir/ld
	@echo $(CXXLINK_S) -Wl,--detect-odr-violations -o debug_msg_ndebug debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so -shared-libgcc -Bdynamic -lstdc++ "2>$@"
	@if $(CXXLINK_S) -Wl,--detect-odr-violations -o debug_msg_ndebug debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so -shared-libgcc -Bdynamic -lstdc++ 2>$@; \
	then \
	  echo 1>&2 "Link of debug_msg_ndebug should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi


# Similar to --detect-odr-violations: check for undefined symbols in .so's
check_SCRIPTS += undef_symbol.sh
check_DATA += undef_symbol.err
MOSTLYCLEANFILES += undef_symbol.err
undef_symbol.o: undef_symbol.cc
	$(CXXCOMPILE) -O0 -g -c -fPIC $<
undef_symbol.so: undef_symbol.o gcctestdir/ld
	$(CXXLINK) -shared undef_symbol.o
undef_symbol.err: undef_symbol_main.o undef_symbol.so gcctestdir/ld
	@echo $(CXXLINK) -o undef_symbol_test undef_symbol_main.o undef_symbol.so "2>$@"
	@if $(CXXLINK) -o undef_symbol_test undef_symbol_main.o undef_symbol.so 2>$@; \
	then \
	  echo 1>&2 "Link of undef_symbol_test should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi


# Test -o when emitting to a special file (such as something in /dev).
check_PROGRAMS += flagstest_o_specialfile
flagstest_o_specialfile: flagstest_debug.o gcctestdir/ld
	$(CXXLINK) -o /dev/stdout $< 2>&1 | cat > $@
	chmod a+x $@
	test -s $@

# Test --compress-debug-sections.
check_PROGRAMS += flagstest_compress_debug_sections_none
check_DATA += flagstest_compress_debug_sections_none.stdout
flagstest_compress_debug_sections_none: flagstest_debug.o gcctestdir/ld
	$(CXXLINK) -o $@ $< -Wl,--compress-debug-sections=none
	test -s $@

# Dump DWARF debug sections.
flagstest_compress_debug_sections_none.stdout: flagstest_compress_debug_sections_none
	$(TEST_READELF) -w $< > $@.tmp
	mv -f $@.tmp $@

check_PROGRAMS += flagstest_compress_debug_sections
check_DATA += flagstest_compress_debug_sections.stdout \
	      flagstest_compress_debug_sections.cmp \
	      flagstest_compress_debug_sections.check
MOSTLYCLEANFILES += flagstest_compress_debug_sections.check \
		    flagstest_compress_debug_sections.cmp
flagstest_compress_debug_sections: flagstest_debug.o gcctestdir/ld
	$(CXXLINK) -o $@ $< -Wl,--compress-debug-sections=zlib
	test -s $@

# Test --compress-debug-sections with --build-id=tree.
check_PROGRAMS += flagstest_compress_debug_sections_and_build_id_tree
flagstest_compress_debug_sections_and_build_id_tree: flagstest_debug.o gcctestdir/ld
	$(CXXLINK) -o $@ $< -Wl,--compress-debug-sections=zlib \
		-Wl,--build-id=tree \
		-Wl,--build-id-chunk-size-for-treehash=4096 \
		-Wl,--build-id-min-file-size-for-treehash=0
	test -s $@

# Dump compressed DWARF debug sections.
flagstest_compress_debug_sections.stdout: flagstest_compress_debug_sections
	$(TEST_READELF) -w $< | sed -e "s/.zdebug_/.debug_/" > $@.tmp
	mv -f $@.tmp $@

# Check there are compressed DWARF .debug_* sections.
flagstest_compress_debug_sections.check: flagstest_compress_debug_sections
	$(TEST_READELF) -SW $< | egrep ".debug_.* C *" > $@.tmp
	mv -f $@.tmp $@

# Compare DWARF debug info.
flagstest_compress_debug_sections.cmp: flagstest_compress_debug_sections.stdout \
	flagstest_compress_debug_sections_none.stdout
	cmp flagstest_compress_debug_sections.stdout \
		flagstest_compress_debug_sections_none.stdout > $@.tmp
	mv -f $@.tmp $@

check_PROGRAMS += flagstest_compress_debug_sections_gnu
check_DATA += flagstest_compress_debug_sections_gnu.stdout \
	      flagstest_compress_debug_sections_gnu.cmp \
	      flagstest_compress_debug_sections_gnu.check
MOSTLYCLEANFILES += flagstest_compress_debug_sections_gnu.check \
		    flagstest_compress_debug_sections_gnu.cmp
flagstest_compress_debug_sections_gnu: flagstest_debug.o gcctestdir/ld
	$(CXXLINK) -o $@ $< -Wl,--compress-debug-sections=zlib-gnu
	test -s $@

# Dump compressed DWARF debug sections.
flagstest_compress_debug_sections_gnu.stdout: flagstest_compress_debug_sections_gnu
	$(TEST_READELF) -w $< | sed -e "s/.zdebug_/.debug_/" > $@.tmp
	mv -f $@.tmp $@

# Check there are compressed DWARF .zdebug_* sections.
flagstest_compress_debug_sections_gnu.check: flagstest_compress_debug_sections_gnu
	$(TEST_READELF) -SW $< | grep ".zdebug_" > $@.tmp
	mv -f $@.tmp $@

# Compare DWARF debug info.
flagstest_compress_debug_sections_gnu.cmp: flagstest_compress_debug_sections_gnu.stdout \
	flagstest_compress_debug_sections_none.stdout
	cmp flagstest_compress_debug_sections_gnu.stdout \
		flagstest_compress_debug_sections_none.stdout > $@.tmp
	mv -f $@.tmp $@

check_PROGRAMS += flagstest_compress_debug_sections_gabi
check_DATA += flagstest_compress_debug_sections_gabi.stdout \
	      flagstest_compress_debug_sections_gabi.cmp \
	      flagstest_compress_debug_sections_gabi.check
MOSTLYCLEANFILES += flagstest_compress_debug_sections_gabi.cmp \
		    flagstest_compress_debug_sections_gabi.check
flagstest_compress_debug_sections_gabi: flagstest_debug.o gcctestdir/ld
	$(CXXLINK) -o $@ $< -Wl,--compress-debug-sections=zlib-gabi
	test -s $@

# Dump compressed DWARF debug sections.
flagstest_compress_debug_sections_gabi.stdout: flagstest_compress_debug_sections_gabi
	$(TEST_READELF) -w $< > $@.tmp
	mv -f $@.tmp $@

# Check there are compressed DWARF .debug_* sections.
flagstest_compress_debug_sections_gabi.check: flagstest_compress_debug_sections_gabi
	$(TEST_READELF) -tW $< | grep "COMPRESSED" > $@.tmp
	mv -f $@.tmp $@

# Compare DWARF debug info.
flagstest_compress_debug_sections_gabi.cmp: flagstest_compress_debug_sections_gabi.stdout \
	flagstest_compress_debug_sections_none.stdout
	cmp flagstest_compress_debug_sections_gabi.stdout \
		flagstest_compress_debug_sections_none.stdout > $@.tmp
	mv -f $@.tmp $@

# The specialfile output has a tricky case when we also compress debug
# sections, because it requires output-file resizing.
check_PROGRAMS += flagstest_o_specialfile_and_compress_debug_sections
flagstest_o_specialfile_and_compress_debug_sections: flagstest_debug.o \
		gcctestdir/ld
	$(CXXLINK) -o /dev/stdout $< -Wl,--compress-debug-sections=zlib 2>&1 | cat > $@
	chmod a+x $@
	test -s $@

check_SCRIPTS += pr18689.sh
check_DATA += pr18689.stdout
MOSTLYCLEANFILES += pr18689a.o pr18689b.o

pr18689.stdout: pr18689b.o
	$(TEST_READELF) -SW $< > $@

pr18689a.o: pr18689.o ../ld-new
	../ld-new -r -o $@ $<

pr18689b.o: pr18689a.o ../ld-new
	../ld-new -r -o $@ $<

pr18689.o: pr18689.c gcctestdir/as
	$(COMPILE) -ggdb3 -g -Wa,--compress-debug-sections=zlib-gabi -c -w -o $@ $(srcdir)/pr18689.c

# Test -TText and -Tdata.
check_PROGRAMS += flagstest_o_ttext_1
flagstest_o_ttext_1: flagstest_debug.o gcctestdir/ld
	$(CXXLINK) -o $@ $< -Wl,-Ttext,0x400000 -Wl,-Tdata,0x800000

# This version won't be runnable, because there is no way to put the
# PT_PHDR segment at file offset 0.  We just make sure that we can
# build it without error.
check_DATA += flagstest_o_ttext_2
MOSTLYCLEANFILES += flagstest_o_ttext_2
flagstest_o_ttext_2: flagstest_debug.o gcctestdir/ld
	$(CXXLINK) -o $@ $< -Wl,-Ttext,0x400010 -Wl,-Tdata,0x800010

# Test symbol versioning.
check_PROGRAMS += ver_test
ver_test_SOURCES = ver_test_main.cc
ver_test_DEPENDENCIES = gcctestdir/ld ver_test_1.so ver_test_2.so ver_test_4.so
ver_test_LDFLAGS = -Wl,-R,.
ver_test_LDADD = ver_test_1.so ver_test_2.so ver_test_4.so
ver_test_1.so: ver_test_1.o ver_test_2.so ver_test_3.o ver_test_4.so gcctestdir/ld
	$(CXXLINK) -shared ver_test_1.o ver_test_2.so ver_test_3.o ver_test_4.so
ver_test_2.so: ver_test_2.o $(srcdir)/ver_test_2.script ver_test_4.so gcctestdir/ld
	$(CXXLINK) -shared -Wl,--version-script,$(srcdir)/ver_test_2.script -Wl,-R,. ver_test_2.o ver_test_4.so
ver_test_4.so: ver_test_4.o $(srcdir)/ver_test_4.script gcctestdir/ld
	$(CXXLINK) -shared -Wl,--version-script,$(srcdir)/ver_test_4.script ver_test_4.o
ver_test_1.o: ver_test_1.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
ver_test_2.o: ver_test_2.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
ver_test_3.o: ver_test_3.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
ver_test_4.o: ver_test_4.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<

check_SCRIPTS += ver_test_1.sh
check_DATA += ver_test_1.syms
ver_test_1.syms: ver_test_1.so
	$(TEST_READELF) -s $< >$@ 2>/dev/null

check_PROGRAMS += ver_test_2
ver_test_2_SOURCES = ver_test_main_2.cc
ver_test_2_DEPENDENCIES = gcctestdir/ld ver_test_4.so ver_test_2.so
ver_test_2_LDFLAGS = -Wl,-R,.
ver_test_2_LDADD = ver_test_4.so ver_test_2.so

check_SCRIPTS += ver_test_2.sh
check_DATA += ver_test_2.syms
ver_test_2.syms: ver_test_2
	$(TEST_READELF) -s $< >$@ 2>/dev/null

check_SCRIPTS += ver_test_4.sh
check_DATA += ver_test_4.syms
ver_test_4.syms: ver_test_4.so
	$(TEST_READELF) -s $< >$@ 2>/dev/null

ver_test_5.so: ver_test_5.o $(srcdir)/ver_test_5.script ver_test_4.so gcctestdir/ld
	$(CXXLINK) -shared -Wl,--version-script,$(srcdir)/ver_test_5.script ver_test_5.o ver_test_4.so
ver_test_5.o: ver_test_5.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
check_SCRIPTS += ver_test_5.sh
check_DATA += ver_test_5.syms
ver_test_5.syms: ver_test_5.so
	$(TEST_READELF) -s $< >$@ 2>/dev/null

check_PROGRAMS += ver_test_6
ver_test_6_SOURCES = ver_test_6.c
ver_test_6_DEPENDENCIES = gcctestdir/ld ver_test_2.so
ver_test_6_LDFLAGS = -Wl,-R,.
ver_test_6_LDADD = ver_test_2.so

ver_test_7.so: ver_test_4.o $(srcdir)/ver_test_4.script ver_test_7.o gcctestdir/ld
	$(CXXLINK) -shared -Wl,--version-script,$(srcdir)/ver_test_4.script ver_test_4.o ver_test_7.o
ver_test_7.o: ver_test_7.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
check_SCRIPTS += ver_test_7.sh
check_DATA += ver_test_7.syms
ver_test_7.syms: ver_test_7.so
	$(TEST_READELF) -s $< >$@ 2>/dev/null

check_PROGRAMS += ver_test_8
ver_test_8_SOURCES = two_file_test_main.cc
ver_test_8_DEPENDENCIES = gcctestdir/ld ver_test_8_1.so ver_test_8_2.so
ver_test_8_LDFLAGS = -Wl,-R,.
ver_test_8_LDADD = ver_test_8_1.so ver_test_8_2.so
ver_test_8_1.so: two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so gcctestdir/ld
	$(CXXLINK) -shared two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so
ver_test_8_2.so: two_file_test_2_pic.o $(srcdir)/ver_test_8.script gcctestdir/ld
	$(CXXLINK) -shared -Wl,--version-script,$(srcdir)/ver_test_8.script two_file_test_2_pic.o

check_SCRIPTS += ver_test_8.sh
check_DATA += ver_test_8_2.so.syms
ver_test_8_2.so.syms: ver_test_8_2.so
	$(TEST_READELF) -s $< >$@ 2>/dev/null

check_PROGRAMS += ver_test_9
ver_test_9_SOURCES = ver_test_main.cc
ver_test_9_DEPENDENCIES = gcctestdir/ld ver_test_9.so
ver_test_9_LDFLAGS = -Wl,-R,.
ver_test_9_LDADD = ver_test_9.so
ver_test_9.so: ver_test_9.o ver_test_4.so ver_test_5.so gcctestdir/ld
	$(CXXLINK) -shared -Wl,-R,. ver_test_9.o ver_test_5.so ver_test_4.so
ver_test_9.o: ver_test_9.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<

check_SCRIPTS += ver_test_10.sh
check_DATA += ver_test_10.syms
ver_test_10.syms: ver_test_10.so
	$(TEST_READELF) -s $< >$@ 2>/dev/null
ver_test_10.so: gcctestdir/ld ver_test_2.o ver_test_10.script
	$(CXXLINK) -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 = -Wl,-R,.
ver_test_11_LDADD = ver_test_11.a
ver_test_11.a: ver_test_1.o ver_test_2.o ver_test_4.o
	$(TEST_AR) rc $@ $^

check_PROGRAMS += ver_test_12
ver_test_12_SOURCES = ver_test_main_2.cc
ver_test_12_DEPENDENCIES = gcctestdir/ld ver_test_12.o
ver_test_12_LDFLAGS = -Wl,-R,.
ver_test_12_LDADD = ver_test_12.o
ver_test_12.o: gcctestdir/ld ver_test_1.o ver_test_2.o ver_test_4.o
	gcctestdir/ld -r -o $@ ver_test_1.o ver_test_2.o ver_test_4.o

check_SCRIPTS += ver_test_13.sh
check_DATA += ver_test_13.syms
ver_test_13.syms: ver_test_13.so
	$(TEST_READELF) -s $< >$@ 2>/dev/null
ver_test_13.so: gcctestdir/ld ver_test_13.o ver_test_13.script
	$(LINK) -shared -Wl,--version-script,$(srcdir)/ver_test_13.script ver_test_13.o
ver_test_13.o: ver_test_13.c
	$(COMPILE) -c -fpic -o $@ $<

check_SCRIPTS += ver_test_14.sh
check_DATA += ver_test_14.syms
MOSTLYCLEANFILES += ver_test_14
ver_test_14.syms: ver_test_14
	$(TEST_OBJDUMP) -T $< | $(TEST_CXXFILT) >$@
ver_test_14: gcctestdir/ld ver_test_main.o ver_test_1.so ver_test_2.so ver_test_4.so ver_test_14.script
	$(CXXLINK) -Wl,--version-script,$(srcdir)/ver_test_14.script -Wl,-E -Wl,-R,. ver_test_main.o ver_test_1.so ver_test_2.so ver_test_4.so

check_SCRIPTS += ver_test_pr23409.sh
check_DATA += ver_test_pr23409.syms
ver_test_pr23409.syms: ver_test_pr23409_1.so
	$(TEST_READELF) --dyn-syms -W $< >$@
ver_test_pr23409_1.so: gcctestdir/ld ver_test_1.o $(srcdir)/ver_test_pr23409_1.script ver_test_pr23409_2.so
	gcctestdir/ld -shared -o $@ ver_test_1.o ver_test_pr23409_2.so --version-script $(srcdir)/ver_test_pr23409_1.script
ver_test_pr23409_2.so: gcctestdir/ld ver_test_1.o $(srcdir)/ver_test_pr23409_2.script
	gcctestdir/ld -shared -o $@ ver_test_1.o --version-script $(srcdir)/ver_test_pr23409_2.script

check_SCRIPTS += weak_as_needed.sh
check_DATA += weak_as_needed.stdout
weak_as_needed.stdout: weak_as_needed_a.so
	$(TEST_READELF) -dW --dyn-syms $< >$@
weak_as_needed_a.so: gcctestdir/ld weak_as_needed_a.o weak_as_needed_b.so weak_as_needed_c.so
	gcctestdir/ld -shared -rpath . -o $@ weak_as_needed_a.o --as-needed weak_as_needed_b.so weak_as_needed_c.so
weak_as_needed_b.so: gcctestdir/ld weak_as_needed_b.o weak_as_needed_b.script
	gcctestdir/ld -shared -rpath . -o $@ --version-script $(srcdir)/weak_as_needed_b.script weak_as_needed_b.o
weak_as_needed_c.so: gcctestdir/ld weak_as_needed_c.o weak_as_needed_c.script
	gcctestdir/ld -shared -rpath . -o $@ --version-script $(srcdir)/weak_as_needed_c.script weak_as_needed_c.o
weak_as_needed_a.o: weak_as_needed_a.c
	$(COMPILE) -c -fpic -o $@ $<
weak_as_needed_b.o: weak_as_needed_b.c
	$(COMPILE) -c -fpic -o $@ $<
weak_as_needed_c.o: weak_as_needed_c.c
	$(COMPILE) -c -fpic -o $@ $<

check_PROGRAMS += protected_1
protected_1_SOURCES = \
	protected_main_1.cc protected_main_2.cc protected_main_3.cc
protected_1_DEPENDENCIES = gcctestdir/ld protected_1.so
protected_1_LDFLAGS = -Wl,-R,.
protected_1_LDADD = protected_1.so

protected_1.so: gcctestdir/ld protected_1_pic.o protected_2_pic.o protected_3_pic.o
	$(CXXLINK) -shared protected_1_pic.o protected_2_pic.o protected_3_pic.o
protected_1_pic.o: protected_1.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
protected_2_pic.o: protected_2.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
protected_3_pic.o: protected_3.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<

check_PROGRAMS += protected_2
protected_2_SOURCES = protected_main_1.cc protected_3.cc
protected_2_DEPENDENCIES = gcctestdir/ld protected_1.so
protected_2_LDFLAGS = -Wl,-R,.
protected_2_LDADD = protected_1.so

check_DATA += protected_3.err
MOSTLYCLEANFILES += protected_3.err
protected_4_pic.o: protected_4.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
protected_3.err: protected_4_pic.o gcctestdir/ld
	@echo $(CXXLINK) -shared -o protected_4.so protected_4_pic.o "2>$@"
	@if $(CXXLINK) -shared -o protected_4.so protected_4_pic.o 2>$@; then \
	  echo 1>&2 "Link of protected_4.so should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi

check_PROGRAMS += relro_test
check_SCRIPTS += relro_test.sh
check_DATA += relro_test.stdout
relro_test_SOURCES = relro_test_main.cc
relro_test_DEPENDENCIES = gcctestdir/ld relro_test.so
relro_test_LDFLAGS = -Wl,-R,.
relro_test_LDADD = relro_test.so
relro_test.so: gcctestdir/ld relro_test_pic.o
	$(CXXLINK) -shared -Wl,-z,relro relro_test_pic.o
relro_test_pic.o: relro_test.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<
relro_test.stdout: relro_test.so
	$(TEST_READELF) -SlW relro_test.so > relro_test.stdout

check_PROGRAMS += relro_now_test
relro_now_test_SOURCES = relro_test_main.cc
relro_now_test_DEPENDENCIES = gcctestdir/ld relro_now_test.so
relro_now_test_LDFLAGS = -Wl,-R,. -Wl,-z,relro -Wl,-z,now
relro_now_test_LDADD = relro_now_test.so
relro_now_test.so: gcctestdir/ld relro_test_pic.o
	$(CXXLINK) -shared -Wl,-z,relro -Wl,-z,now relro_test_pic.o

check_PROGRAMS += relro_strip_test
relro_strip_test_SOURCES = relro_test_main.cc
relro_strip_test_DEPENDENCIES = gcctestdir/ld relro_strip_test.so
relro_strip_test_LDFLAGS = -Wl,-R,.
relro_strip_test_LDADD = relro_strip_test.so
relro_strip_test.so: relro_test.so
	$(TEST_STRIP) -o $@ $<

check_PROGRAMS += relro_script_test
relro_script_test_SOURCES = relro_test_main.cc
relro_script_test_DEPENDENCIES = gcctestdir/ld relro_script_test.so
relro_script_test_LDFLAGS = -Wl,-R,.
relro_script_test_LDADD = relro_script_test.so
relro_script_test.so: gcctestdir/ld relro_script_test.t relro_test_pic.o
	$(CXXLINK) -shared -Wl,-z,relro -Wl,-T,$(srcdir)/relro_script_test.t relro_test_pic.o

check_PROGRAMS += script_test_1
script_test_1_SOURCES = script_test_1a.cc script_test_1b.cc
script_test_1_DEPENDENCIES = gcctestdir/ld script_test_1.t
script_test_1_LDFLAGS = -Wl,-R,. -Wl,-T,$(srcdir)/script_test_1.t
script_test_1_LDADD =

check_PROGRAMS += script_test_2
script_test_2_SOURCES = script_test_2.cc script_test_2a.cc script_test_2b.cc
script_test_2_DEPENDENCIES = gcctestdir/ld script_test_2.t
script_test_2_LDFLAGS = -Wl,-R,. -Wl,-T,$(srcdir)/script_test_2.t
script_test_2_LDADD =

check_PROGRAMS += justsyms
justsyms_SOURCES = justsyms_1.cc
justsyms_DEPENDENCIES = gcctestdir/ld justsyms_2r.o
justsyms_LDFLAGS = -Wl,-R,justsyms_2r.o
justsyms_LDADD =
justsyms_2.o: justsyms_2.cc
	$(CXXCOMPILE) -c -o $@ $<
justsyms_2r.o: justsyms_2.o gcctestdir/ld $(srcdir)/justsyms.t
	gcctestdir/ld -o $@ -r -T $(srcdir)/justsyms.t justsyms_2.o

check_PROGRAMS += justsyms_exec
justsyms_exec_SOURCES = justsyms_exec.c
justsyms_exec_DEPENDENCIES = gcctestdir/ld justsyms_lib
justsyms_exec_LDFLAGS = -Wl,-R,justsyms_lib
justsyms_exec_LDADD =
MOSTLYCLEANFILES += justsyms_lib
justsyms_lib.o: justsyms_lib.c
	$(COMPILE) -c -o $@ $<
justsyms_lib: justsyms_lib.o gcctestdir/ld
	gcctestdir/ld -o $@ -z norelro -T $(srcdir)/justsyms_lib.t -Ttext=0x1000200 -Tdata=0x2000000 -e exported_func justsyms_lib.o

check_PROGRAMS += binary_test
MOSTLYCLEANFILES += binary.txt
binary_test_SOURCES = binary_test.cc
binary_test_DEPENDENCIES = gcctestdir/ld binary.txt
binary_test_LDFLAGS = -Wl,--format,binary,binary.txt,--format,elf
binary_test_LDADD =
# Copy the file to the build directory to avoid worrying about the
# full pathname in the generated symbols.
binary.txt: $(srcdir)/binary.in
	rm -f $@
	$(LN_S) $< $@

check_SCRIPTS += ver_matching_test.sh
check_DATA += ver_matching_test.stdout
MOSTLYCLEANFILES += ver_matching_test.stdout
ver_matching_def.so: ver_matching_def_pic.o $(srcdir)/version_script.map gcctestdir/ld
	$(CXXLINK) -O0 -shared ver_matching_def_pic.o -Wl,--version-script=$(srcdir)/version_script.map
ver_matching_def_pic.o: ver_matching_def.cc
	$(CXXCOMPILE) -O0 -c -fpic -o $@ $<
ver_matching_test.stdout: ver_matching_def.so
	$(TEST_OBJDUMP) -T ver_matching_def.so | $(TEST_CXXFILT) > ver_matching_test.stdout

check_PROGRAMS += script_test_3
check_SCRIPTS += script_test_3.sh
check_DATA += script_test_3.stdout
MOSTLYCLEANFILES += script_test_3.stdout
script_test_3: basic_test.o gcctestdir/ld script_test_3.t
	$(CXXLINK) basic_test.o -Wl,-T,$(srcdir)/script_test_3.t
script_test_3.stdout: script_test_3
	$(TEST_READELF) -SlW script_test_3 > script_test_3.stdout

check_PROGRAMS += tls_phdrs_script_test
tls_phdrs_script_test_SOURCES = $(tls_test_SOURCES)
tls_phdrs_script_test_DEPENDENCIES = $(tls_test_DEPENDENCIES) $(srcdir)/script_test_3.t
tls_phdrs_script_test_LDFLAGS = $(tls_test_LDFLAGS) -Wl,-T,$(srcdir)/script_test_3.t
tls_phdrs_script_test_LDADD = $(tls_test_LDADD)

check_SCRIPTS += script_test_4.sh
check_DATA += script_test_4.stdout
MOSTLYCLEANFILES += script_test_4
script_test_4: basic_test.o gcctestdir/ld $(srcdir)/script_test_4.t
	$(CXXLINK) basic_test.o -Wl,-T,$(srcdir)/script_test_4.t
script_test_4.stdout: script_test_4
	$(TEST_READELF) -SlW script_test_4 > script_test_4.stdout

check_PROGRAMS += tls_script_test
tls_script_test_SOURCES = $(tls_test_SOURCES)
tls_script_test_DEPENDENCIES = $(tls_test_DEPENDENCIES) $(srcdir)/script_test_4.t
tls_script_test_LDFLAGS = $(tls_test_LDFLAGS) -Wl,-T,$(srcdir)/script_test_4.t
tls_script_test_LDADD = $(tls_test_LDADD)

check_SCRIPTS += script_test_5.sh
check_DATA += script_test_5.stdout
MOSTLYCLEANFILES += script_test_5
script_test_5: script_test_5.o gcctestdir/ld $(srcdir)/script_test_5.t
	$(CXXLINK) script_test_5.o -Wl,-T,$(srcdir)/script_test_5.t
script_test_5.stdout: script_test_5
	$(TEST_READELF) -SW script_test_5 > script_test_5.stdout

check_SCRIPTS += script_test_6.sh
check_DATA += script_test_6.stdout
MOSTLYCLEANFILES += script_test_6
script_test_6: basic_test.o gcctestdir/ld $(srcdir)/script_test_6.t
	$(CXXLINK) basic_test.o -Wl,-T,$(srcdir)/script_test_6.t \
	-Wl,-Ttext=0x10001000 -Wl,-Tdata=0x10200000 -Wl,-Tbss=0x10400000
script_test_6.stdout: script_test_6
	$(TEST_READELF) -SlW script_test_6 > script_test_6.stdout

check_SCRIPTS += script_test_7.sh
check_DATA += script_test_7.stdout
MOSTLYCLEANFILES += script_test_7
script_test_7: basic_test.o gcctestdir/ld $(srcdir)/script_test_7.t
	$(CXXLINK) basic_test.o -Wl,-T,$(srcdir)/script_test_7.t
script_test_7.stdout: script_test_7
	$(TEST_READELF) -SlW script_test_7 > script_test_7.stdout

check_SCRIPTS += script_test_8.sh
check_DATA += script_test_8.stdout
MOSTLYCLEANFILES += script_test_8
script_test_8: basic_test.o gcctestdir/ld $(srcdir)/script_test_7.t
	$(CXXLINK) basic_test.o -Wl,-T,$(srcdir)/script_test_7.t \
	-Wl,-Ttext=0x20001000 -Wl,-Tdata=0x20200000 -Wl,-Tbss=0x20400000
script_test_8.stdout: script_test_8
	$(TEST_READELF) -SlW script_test_8 > script_test_8.stdout

check_SCRIPTS += script_test_9.sh
check_DATA += script_test_9.stdout
MOSTLYCLEANFILES += script_test_9
script_test_9.o: script_test_9.cc
	$(CXXCOMPILE) -O0 -c -o $@ $<
script_test_9: gcctestdir/ld $(srcdir)/script_test_9.t script_test_9.o
	$(CXXLINK) script_test_9.o -Wl,-T,$(srcdir)/script_test_9.t
script_test_9.stdout: script_test_9
	$(TEST_READELF) -lW script_test_9 > script_test_9.stdout

# Test scripts with a relocatable link.
# The -g option is necessary to trigger a bug where a section
# declared in a script file is assigned a non-zero starting address.
check_PROGRAMS += script_test_11
script_test_11: gcctestdir/ld script_test_11_r.o
	$(LINK) script_test_11_r.o
script_test_11_r.o: gcctestdir/ld $(srcdir)/script_test_11.t script_test_11a.o script_test_11b.o
	gcctestdir/ld -r -o $@ -T $(srcdir)/script_test_11.t script_test_11a.o script_test_11b.o
script_test_11a.o: script_test_11a.c
	$(COMPILE) -c -g -o $@ $<
script_test_11b.o: script_test_11b.c
	$(COMPILE) -c -g -o $@ $<

# Test difference between "*(a b)" and "*(a) *(b)" in input section spec.
check_PROGRAMS += script_test_12
script_test_12: gcctestdir/ld $(srcdir)/script_test_12.t script_test_12a.o script_test_12b.o
	$(LINK) -Wl,-T,$(srcdir)/script_test_12.t script_test_12a.o script_test_12b.o

check_PROGRAMS += script_test_12i
script_test_12i: gcctestdir/ld $(srcdir)/script_test_12i.t script_test_12a.o script_test_12b.o
	$(LINK) -Wl,-T,$(srcdir)/script_test_12i.t script_test_12a.o script_test_12b.o
script_test_12a.o: script_test_12a.c
	$(COMPILE) -O0 -c -o $@ $<
script_test_12b.o: script_test_12b.c
	$(COMPILE) -O0 -c -o $@ $<

# Test for ordering internally created sections with a linker script.
check_SCRIPTS += script_test_13.sh
check_DATA += script_test_13.stdout
MOSTLYCLEANFILES += script_test_13
script_test_13.o: script_test_13.c
	$(COMPILE) -O0 -c -fPIC -o $@ $<
script_test_13: $(srcdir)/script_test_13.t script_test_13.o gcctestdir/ld
	gcctestdir/ld -shared -o $@ script_test_13.o -T $(srcdir)/script_test_13.t
script_test_13.stdout: script_test_13
	$(TEST_READELF) -SW script_test_13 > $@

# Test for SORT_BY_INIT_PRIORITY.
check_SCRIPTS += script_test_14.sh
check_DATA += script_test_14.stdout
MOSTLYCLEANFILES += script_test_14
script_test_14.o: script_test_14.s
	$(TEST_AS) -o $@ $<
script_test_14: $(srcdir)/script_test_14.t script_test_14.o gcctestdir/ld
	gcctestdir/ld -o $@ script_test_14.o -T $(srcdir)/script_test_14.t
script_test_14.stdout: script_test_14
	$(TEST_OBJDUMP) -s script_test_14 > $@

# Test BSS section placement at end of segment.
check_SCRIPTS += script_test_15a.sh
check_DATA += script_test_15a.stdout
MOSTLYCLEANFILES += script_test_15a
script_test_15a: $(srcdir)/script_test_15a.t script_test_15.o gcctestdir/ld
	gcctestdir/ld -o $@ script_test_15.o -T $(srcdir)/script_test_15a.t
script_test_15a.stdout: script_test_15a
	$(TEST_READELF) -lSW script_test_15a > $@

# Test BSS section placement in middle of segment.
check_SCRIPTS += script_test_15b.sh
check_DATA += script_test_15b.stdout
MOSTLYCLEANFILES += script_test_15b
script_test_15b: $(srcdir)/script_test_15b.t script_test_15.o gcctestdir/ld
	gcctestdir/ld -o $@ script_test_15.o -T $(srcdir)/script_test_15b.t
script_test_15b.stdout: script_test_15b
	$(TEST_READELF) -lSW script_test_15b > $@

# Test orphan BSS section placement.
check_SCRIPTS += script_test_15c.sh
check_DATA += script_test_15c.stdout
MOSTLYCLEANFILES += script_test_15c
script_test_15c: $(srcdir)/script_test_15c.t script_test_15.o gcctestdir/ld
	gcctestdir/ld -o $@ script_test_15.o -T $(srcdir)/script_test_15c.t
script_test_15c.stdout: script_test_15c
	$(TEST_READELF) -lSW script_test_15c > $@

# Test --dynamic-list, --dynamic-list-data, --dynamic-list-cpp-new,
# and --dynamic-list-cpp-typeinfo

check_SCRIPTS += dynamic_list.sh
check_DATA += dynamic_list.stdout
MOSTLYCLEANFILES += dynamic_list dynamic_list.stdout
dynamic_list: basic_test.o gcctestdir/ld $(srcdir)/dynamic_list.t
	$(CXXLINK) basic_test.o \
	  -Wl,--dynamic-list $(srcdir)/dynamic_list.t \
	  -Wl,--dynamic-list-data \
	  -Wl,--dynamic-list-cpp-new \
	  -Wl,--dynamic-list-cpp-typeinfo
dynamic_list.stdout: dynamic_list
	$(TEST_READELF) -W --dyn-syms dynamic_list > dynamic_list.stdout

check_PROGRAMS += dynamic_list_2
dynamic_list_2_SOURCES = dynamic_list_2.cc
dynamic_list_2_DEPENDENCIES = gcctestdir/ld dynamic_list_lib1.so dynamic_list_lib2.so
dynamic_list_2_LDFLAGS = -L. -Wl,-R,. -Wl,--no-as-needed
dynamic_list_2_LDADD = dynamic_list_lib1.so dynamic_list_lib2.so

dynamic_list_lib1.so: gcctestdir/ld dynamic_list_lib1.o
	$(CXXLINK) -shared dynamic_list_lib1.o
dynamic_list_lib1.o: dynamic_list_lib1.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<

dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
	$(CXXLINK) -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
dynamic_list_lib2.o: dynamic_list_lib2.cc
	$(CXXCOMPILE) -c -fpic -o $@ $<

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 = -Lalt
thin_archive_test_1_LDADD = libthin1.a -lthin2

check_PROGRAMS += thin_archive_test_2
thin_archive_test_2_SOURCES = thin_archive_main.cc
thin_archive_test_2_DEPENDENCIES = gcctestdir/ld libthinall.a
thin_archive_test_2_LDFLAGS = -L.
thin_archive_test_2_LDADD = -lthinall

libthin1.a: thin_archive_test_1.o alt/thin_archive_test_2.o
	rm -f $@
	$(TEST_AR) crT $@ $^
alt/libthin2.a: thin_archive_test_3.o alt/thin_archive_test_4.o
	rm -f $@
	$(TEST_AR) crT $@ $^
libthin3.a: thin_archive_test_1.o alt/thin_archive_test_4.o
	rm -f $@
	$(TEST_AR) crT $@ $^
alt/libthin4.a: alt/thin_archive_test_2.o thin_archive_test_3.o
	rm -f $@
	$(TEST_AR) crT $@ $^
libthinall.a: libthin3.a alt/libthin4.a
	rm -f $@
	$(TEST_AR) crT $@ $^
alt/thin_archive_test_2.o: thin_archive_test_2.cc
	test -d alt || mkdir -p alt
	$(CXXCOMPILE) -c -o $@ $<
alt/thin_archive_test_4.o: thin_archive_test_4.cc
	test -d alt || mkdir -p alt
	$(CXXCOMPILE) -c -o $@ $<

if PLUGINS

check_PROGRAMS += plugin_test_1
check_SCRIPTS += plugin_test_1.sh
check_DATA += plugin_test_1.err
MOSTLYCLEANFILES += plugin_test_1.err
plugin_test_1: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms gcctestdir/ld plugin_test.so
	$(CXXLINK) -Wl,--no-demangle,--emit-relocs,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms 2>plugin_test_1.err
plugin_test_1.err: plugin_test_1
	@touch plugin_test_1.err

check_PROGRAMS += plugin_test_2
check_SCRIPTS += plugin_test_2.sh
check_DATA += plugin_test_2.err
MOSTLYCLEANFILES += plugin_test_2.err
plugin_test_2: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_shared_2.so gcctestdir/ld plugin_test.so
	$(CXXLINK) -Wl,--no-demangle,-R,.,--plugin,"./plugin_test.so" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_shared_2.so 2>plugin_test_2.err
plugin_test_2.err: plugin_test_2
	@touch plugin_test_2.err

check_PROGRAMS += plugin_test_3
check_SCRIPTS += plugin_test_3.sh
check_DATA += plugin_test_3.err
MOSTLYCLEANFILES += plugin_test_3.err
plugin_test_3: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms gcctestdir/ld plugin_test.so
	$(CXXLINK) -Wl,--export-dynamic -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms 2>plugin_test_3.err
plugin_test_3.err: plugin_test_3
	@touch plugin_test_3.err

check_PROGRAMS += plugin_test_4
check_SCRIPTS += plugin_test_4.sh
check_DATA += 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) -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
	@touch plugin_test_4.err

plugin_test_4.a: two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms
	$(TEST_AR) cr $@ $^

check_PROGRAMS += plugin_test_5
plugin_test_5: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms unused.o.syms gcctestdir/ld plugin_test.so
	$(CXXLINK) -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv",--gc-sections two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms unused.o.syms

check_PROGRAMS += plugin_test_6
check_SCRIPTS += plugin_test_6.sh
check_DATA += plugin_test_6.err
MOSTLYCLEANFILES += plugin_test_6.err
plugin_test_6: plugin_common_test_1.o.syms plugin_common_test_2.o.syms gcctestdir/ld plugin_test.so
	$(CXXLINK) -Wl,--no-demangle,--plugin,"./plugin_test.so" plugin_common_test_1.o.syms plugin_common_test_2.o.syms 2>plugin_test_6.err
plugin_test_6.err: plugin_test_6
	@touch plugin_test_6.err

check_PROGRAMS += plugin_test_7
check_SCRIPTS += plugin_test_7.sh
check_DATA += plugin_test_7.err plugin_test_7.o.syms
MOSTLYCLEANFILES += plugin_test_7.err
plugin_test_7: plugin_test_7_1.o plugin_test_7_1.o.syms plugin_test_7_2.o gcctestdir/ld plugin_test.so
	$(LINK) -Wl,--no-demangle,--plugin,"./plugin_test.so",--gc-sections,--print-gc-sections plugin_test_7_1.o.syms plugin_test_7_2.o 2>plugin_test_7.err
plugin_test_7.o.syms: plugin_test_7
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
plugin_test_7_1.o: plugin_test_7_1.c
	$(COMPILE) -DLTO -O0 -c -ffunction-sections -fdata-sections -o $@ $<
plugin_test_7_1_orig.o: plugin_test_7_1.c
	$(COMPILE) -O0 -c -ffunction-sections -fdata-sections -o $@ $<
plugin_test_7_1.o.syms: plugin_test_7_1_orig.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
plugin_test_7_2.o: plugin_test_7_2.c
	$(COMPILE) -O0 -c -ffunction-sections -fdata-sections -o $@ $<
plugin_test_7.err: plugin_test_7

# Test plugins with -r.
check_PROGRAMS += plugin_test_8
plugin_test_8.o: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o ../ld-new plugin_test.so
	../ld-new -r -o $@ --no-demangle --plugin "./plugin_test.so" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o
plugin_test_8: plugin_test_8.o gcctestdir/ld
	$(CXXLINK) -Wl,--no-demangle plugin_test_8.o

# Test that symbols known in the IR file but not in the replacement file
# produce an unresolved symbol error.
check_DATA += plugin_test_9.err
MOSTLYCLEANFILES += plugin_test_9.err
plugin_test_9.err: two_file_test_main.o two_file_test_1c.o.syms two_file_test_2.o.syms gcctestdir/ld plugin_test.so
	@echo $(CXXLINK) -o plugin_test_9 -Wl,--no-demangle,--plugin,"./plugin_test.so" two_file_test_main.o two_file_test_1c.o.syms two_file_test_2.o.syms "2>$@"
	@if $(CXXLINK) -o plugin_test_9 -Wl,--no-demangle,--plugin,"./plugin_test.so" two_file_test_main.o two_file_test_1c.o.syms two_file_test_2.o.syms 2>$@; then \
	  echo 1>&2 "Link of plugin_test_9 should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi
# Make a .syms file that claims to define the symbol _Z4t16av.
two_file_test_1c.o.syms: two_file_test_1.o.syms two_file_test_1c.o
	cp two_file_test_1.o.syms $@.tmp
	grep "_Z4t16av" two_file_test_1b.o.syms >> $@.tmp
	mv -f $@.tmp $@
# Make a copy of two_file_test_1.o, which does not define the symbol _Z4t16av.
MOSTLYCLEANFILES += two_file_test_1c.o
two_file_test_1c.o: two_file_test_1.o
	cp two_file_test_1.o $@

# As above, but check COMDAT case, where a non-IR file contains a duplicate
# of a COMDAT group in an IR file.
check_DATA += plugin_test_9b.err
MOSTLYCLEANFILES += plugin_test_9b.err
plugin_test_9b.err: plugin_test_9b_ir.o.syms plugin_test_9b_ir.o plugin_test_9b_elf.o gcctestdir/ld plugin_test.so
	@echo $(CXXLINK) -o plugin_test_9b -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_ZN1A5printEv" plugin_test_9b_ir.o plugin_test_9b_elf.o "2>$@"
	@if $(CXXLINK) -o plugin_test_9b -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_ZN1A5printEv" plugin_test_9b_ir.o plugin_test_9b_elf.o 2>$@; then \
	  echo 1>&2 "Link of plugin_test_9b should have failed"; \
	  rm -f $@; \
	  exit 1; \
	fi
# Make a .syms file that claims to define a method in class A in a COMDAT group.
# The real plugin_test_9b_ir.o will be compiled without the -D, and will not
# define any methods in class A.
plugin_test_9b_ir.o.syms: plugin_test_9b_ir_witha.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
plugin_test_9b_ir_witha.o: plugin_test_9b_ir.cc
	$(CXXCOMPILE) -c -DUSE_CLASS_A -o $@ $<

check_PROGRAMS += plugin_test_10
check_SCRIPTS += plugin_test_10.sh
check_DATA += plugin_test_10.sections
MOSTLYCLEANFILES += plugin_test_10.sections
plugin_test_10: plugin_common_test_1.o.syms plugin_common_test_2.o gcctestdir/ld plugin_test.so
	$(CXXLINK) -Wl,--no-demangle,--plugin,"./plugin_test.so" plugin_common_test_1.o.syms plugin_common_test_2.o
plugin_test_10.sections: plugin_test_10
	$(TEST_READELF) -SW $< >$@ 2>/dev/null

check_PROGRAMS += plugin_test_11
check_SCRIPTS += plugin_test_11.sh
check_DATA += plugin_test_11.err
MOSTLYCLEANFILES += plugin_test_11.err plugin_test_thin.a
PLUGIN_TEST_11_SYMS = two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms
plugin_test_11: two_file_test_main.o plugin_test_thin.a gcctestdir/ld plugin_test.so $(PLUGIN_TEST_11_SYMS)
	$(CXXLINK) -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o plugin_test_thin.a 2>plugin_test_11.err
plugin_test_11.err: plugin_test_11
	@touch plugin_test_11.err
plugin_test_thin.a: two_file_test_1.o two_file_test_1b.o two_file_test_2.o
	rm -f $@
	$(TEST_AR) crT $@ $^

check_PROGRAMS += plugin_test_12
check_SCRIPTS += plugin_test_12.sh
check_DATA += plugin_test_12.err
MOSTLYCLEANFILES += plugin_test_12.err
export_dynamic_plugin.o.syms: export_dynamic_plugin.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
export_dynamic_plugin.o: export_dynamic_plugin.cc
	$(CXXCOMPILE) -c -o $@ $<
plugin_test_12: export_dynamic_plugin.o gcctestdir/ld plugin_test.so export_dynamic_plugin.o.syms
	$(CXXLINK) -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z3foov" -Wl,--export-dynamic-symbol,"_Z3foov" export_dynamic_plugin.o.syms 2>plugin_test_12.err
plugin_test_12.err: plugin_test_12
	@touch plugin_test_12.err

check_PROGRAMS += plugin_test_wrap_symbols
check_SCRIPTS += plugin_test_wrap_symbols.sh
check_DATA += plugin_test_wrap_symbols.err
MOSTLYCLEANFILES += plugin_test_wrap_symbols.err
plugin_test_wrap_symbols_1.o: plugin_test_wrap_symbols_1.cc
	$(CXXCOMPILE) -c -o $@ $<
plugin_test_wrap_symbols_2.o: plugin_test_wrap_symbols_2.cc
	$(CXXCOMPILE) -c -o $@ $<
plugin_test_wrap_symbols: plugin_test_wrap_symbols_1.o plugin_test_wrap_symbols_2.o gcctestdir/ld plugin_test.so
	$(CXXLINK) -Wl,--plugin,"./plugin_test.so" -Wl,--wrap=hello,--wrap=jello plugin_test_wrap_symbols_1.o plugin_test_wrap_symbols_2.o 2>plugin_test_wrap_symbols.err
plugin_test_wrap_symbols.err: plugin_test_wrap_symbols
	@touch plugin_test_wrap_symbols.err

check_PROGRAMS += plugin_test_start_lib
check_SCRIPTS += plugin_test_start_lib.sh
check_DATA += plugin_test_start_lib.err
MOSTLYCLEANFILES += plugin_test_start_lib.err
plugin_test_start_lib: unused.o plugin_start_lib_test.o plugin_start_lib_test_2.syms gcctestdir/ld plugin_test.so
	$(CXXLINK) -Wl,--no-demangle,--plugin,"./plugin_test.so" plugin_start_lib_test.o \
		-Wl,--start-lib plugin_start_lib_test_2.syms -Wl,--end-lib 2>plugin_test_start_lib.err
plugin_test_start_lib.err: plugin_test_start_lib
	@touch plugin_test_start_lib.err

check_PROGRAMS += plugin_test_defsym
check_SCRIPTS += plugin_test_defsym.sh
check_DATA += plugin_test_defsym.err
MOSTLYCLEANFILES += plugin_test_defsym.err
plugin_test_defsym.syms: plugin_test_defsym.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
plugin_test_defsym.o: plugin_test_defsym.c
	$(COMPILE) -c -o $@ $<
plugin_test_defsym: plugin_test_defsym.o plugin_test_defsym.syms gcctestdir/ld plugin_test.so
	$(CXXLINK) -Wl,--no-demangle,--plugin,"./plugin_test.so" -Wl,--defsym,bar=foo plugin_test_defsym.syms 2>plugin_test_defsym.err
plugin_test_defsym.err: plugin_test_defsym
	@touch plugin_test_defsym.err

plugin_start_lib_test_2.syms: plugin_start_lib_test_2.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null

plugin_test.so: plugin_test.o gcctestdir/ld
	$(LINK) -shared plugin_test.o
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
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
two_file_test_1b.o.syms: two_file_test_1b.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
two_file_test_2.o.syms: two_file_test_2.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
plugin_common_test_1.o.syms: plugin_common_test_1.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
plugin_common_test_2.o.syms: plugin_common_test_2.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null

empty.o.syms:
	@echo "" >$@
	@echo "Symbol table" >>$@

if TLS

check_PROGRAMS += plugin_test_tls
check_SCRIPTS += plugin_test_tls.sh
check_DATA += plugin_test_tls.err
MOSTLYCLEANFILES += plugin_test_tls.err
plugin_test_tls: two_file_test_tls.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2_tls.o.syms gcctestdir/ld plugin_test.so
	$(CXXLINK) -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_tls.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2_tls.o.syms 2>plugin_test_tls.err
plugin_test_tls.err: plugin_test_tls
	@touch plugin_test_tls.err

two_file_test_2_tls.o.syms: two_file_test_2_tls.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null

endif TLS

MOSTLYCLEANFILES += unused.c
unused.o.syms: unused.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
	@echo "     1: 00000000     4 FUNC    GLOBAL DEFAULT    1 UNUSED" >>$@
unused.o: unused.c
	$(COMPILE) -c -o $@ $<
unused.c:
	@cp /dev/null $@

check_SCRIPTS += plugin_final_layout.sh
check_DATA += plugin_final_layout.stdout plugin_final_layout_readelf.stdout
MOSTLYCLEANFILES += plugin_final_layout
plugin_final_layout.o: plugin_final_layout.cc
	$(CXXCOMPILE) -O0 -c -ffunction-sections -fdata-sections -g -o $@ $<
plugin_final_layout: plugin_final_layout.o plugin_section_order.so gcctestdir/ld
	$(CXXLINK) -Wl,--plugin,"./plugin_section_order.so" plugin_final_layout.o
plugin_final_layout.stdout: plugin_final_layout
	$(TEST_NM) -n --synthetic plugin_final_layout > plugin_final_layout.stdout
plugin_final_layout_readelf.stdout: plugin_final_layout
	$(TEST_READELF) -Wl plugin_final_layout > plugin_final_layout_readelf.stdout

plugin_section_order.so: plugin_section_order.o gcctestdir/ld
	$(LINK) -shared plugin_section_order.o
plugin_section_order.o: plugin_section_order.c
	$(COMPILE) -O0 -c -fpic -o $@ $<

# Uses the plugin_final_layout.sh script above to avoid duplication
check_DATA += plugin_layout_new_file.stdout plugin_layout_new_file_readelf.stdout
MOSTLYCLEANFILES += plugin_layout_new_file
plugin_final_layout.o.syms: plugin_final_layout.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
plugin_layout_new_file: plugin_final_layout.o.syms plugin_test.so plugin_new_section_layout.so gcctestdir/ld
	$(CXXLINK) -Wl,--plugin,"./plugin_test.so"  -Wl,--plugin,"./plugin_new_section_layout.so" plugin_final_layout.o.syms
plugin_layout_new_file.stdout: plugin_layout_new_file
	$(TEST_NM) -n --synthetic plugin_layout_new_file > plugin_layout_new_file.stdout
plugin_layout_new_file_readelf.stdout: plugin_layout_new_file
	$(TEST_READELF) -Wl plugin_layout_new_file > plugin_layout_new_file_readelf.stdout

plugin_new_section_layout.so: plugin_new_section_layout.o gcctestdir/ld
	$(LINK) -shared plugin_new_section_layout.o
plugin_new_section_layout.o: plugin_new_section_layout.c
	$(COMPILE) -O0 -c -fpic -o $@ $<

check_SCRIPTS += plugin_layout_with_alignment.sh
check_DATA += plugin_layout_with_alignment.stdout
MOSTLYCLEANFILES += plugin_layout_with_alignment
plugin_layout_with_alignment.o: plugin_layout_with_alignment.c
	$(COMPILE) -O0 -c -ffunction-sections -fdata-sections -g -o $@ $<
plugin_layout_with_alignment: plugin_layout_with_alignment.o plugin_section_alignment.so gcctestdir/ld
	$(LINK) -Wl,--plugin,"./plugin_section_alignment.so" plugin_layout_with_alignment.o
plugin_layout_with_alignment.stdout: plugin_layout_with_alignment
	$(TEST_NM) -n --synthetic plugin_layout_with_alignment > plugin_layout_with_alignment.stdout

plugin_section_alignment.so: plugin_section_alignment.o gcctestdir/ld
	$(CXXLINK) -shared plugin_section_alignment.o
plugin_section_alignment.o: plugin_section_alignment.cc
	$(CXXCOMPILE) -O0 -c -fpic -o $@ $<

check_SCRIPTS += plugin_pr22868.sh
check_DATA += plugin_pr22868.stdout
MOSTLYCLEANFILES += plugin_pr22868.stdout
plugin_pr22868.stdout: plugin_pr22868.so
	$(TEST_READELF) -W --dyn-syms $< >$@ 2>/dev/null
plugin_pr22868.so: plugin_pr22868_a.o.syms plugin_pr22868_b.o.syms plugin_pr22868_b.o plugin_test.so gcctestdir/ld
	$(LINK) -shared -Wl,--plugin,"./plugin_test.so" plugin_pr22868_a.o.syms plugin_pr22868_b.o.syms
plugin_pr22868_a.o.syms: plugin_pr22868_a.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
# Generate the .syms file from an alternate version of the original source
# file, with a "protected" visibility attribute. We'll link with a
# "replacement" object that does not have that attribute.
plugin_pr22868_b.o.syms: plugin_pr22868_b_ir.o
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
plugin_pr22868_a.o: plugin_pr22868_a.c
	$(COMPILE) -c -fpic -o $@ $<
plugin_pr22868_b_ir.o: plugin_pr22868_b.c
	$(COMPILE) -c -DIR -fpic -o $@ $<
plugin_pr22868_b.o: plugin_pr22868_b.c
	$(COMPILE) -c -fpic -o $@ $<

check_SCRIPTS += ver_test_pr16504.sh
check_DATA += ver_test_pr16504.stdout
ver_test_pr16504.stdout: ver_test_pr16504.so
	$(TEST_READELF) -W --dyn-syms $< >$@ 2>/dev/null
ver_test_pr16504.so: ver_test_pr16504_a.so ver_test_pr16504_b.o.syms ver_test_pr16504_b.script gcctestdir/ld
	gcctestdir/ld -shared -o $@ --plugin ./plugin_test.so --version-script $(srcdir)/ver_test_pr16504_b.script ver_test_pr16504_b.o.syms ver_test_pr16504_a.so
ver_test_pr16504_a.so: ver_test_pr16504_a.o ver_test_pr16504_a.script gcctestdir/ld
	gcctestdir/ld -shared -o $@ --version-script $(srcdir)/ver_test_pr16504_a.script ver_test_pr16504_a.o
ver_test_pr16504_a.o: ver_test_pr16504_a.c
	$(COMPILE) -c -fpic -o $@ $<
# Filter out the UNDEFs from the symbols file to simulate GCC behavior,
# which does not pass the UNDEF from a .symver directive.
ver_test_pr16504_b.o.syms: ver_test_pr16504_b.o
	$(TEST_READELF) -sW $< 2>/dev/null | grep -v "UND" >$@
ver_test_pr16504_b.o: ver_test_pr16504_b.c
	$(COMPILE) -c -fpic -o $@ $<

endif PLUGINS

check_PROGRAMS += exclude_libs_test
check_SCRIPTS += exclude_libs_test.sh
check_DATA += exclude_libs_test.syms
MOSTLYCLEANFILES += exclude_libs_test.syms libexclude_libs_test_1.a \
	libexclude_libs_test_2.a alt/libexclude_libs_test_3.a
exclude_libs_test_SOURCES = exclude_libs_test.c
exclude_libs_test_DEPENDENCIES = gcctestdir/ld libexclude_libs_test_1.a \
	libexclude_libs_test_2.a alt/libexclude_libs_test_3.a
exclude_libs_test_LDFLAGS = -L. -Lalt \
	-Wl,--exclude-libs,dummy:libexclude_libs_test_1 \
	-Wl,--exclude-libs,libexclude_libs_test_3
exclude_libs_test_LDADD = -lexclude_libs_test_1 -lexclude_libs_test_2 \
	alt/libexclude_libs_test_3.a
exclude_libs_test.syms: exclude_libs_test
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
libexclude_libs_test_1.a: exclude_libs_test_1.o
	$(TEST_AR) rc $@ $^
libexclude_libs_test_2.a: exclude_libs_test_2.o
	$(TEST_AR) rc $@ $^
alt/libexclude_libs_test_3.a: exclude_libs_test_3.o
	test -d alt || mkdir -p alt
	$(TEST_AR) rc $@ $^

check_PROGRAMS += local_labels_test
local_labels_test.o: ver_test_6.c
	$(COMPILE) -g -c -Wa,-L -o $@ $<
local_labels_test: local_labels_test.o gcctestdir/ld
	$(LINK) local_labels_test.o

check_PROGRAMS += discard_locals_test
check_SCRIPTS += discard_locals_test.sh
check_DATA += discard_locals_test.syms \
	discard_locals_relocatable_test1.syms \
	discard_locals_relocatable_test2.syms
MOSTLYCLEANFILES += discard_locals_test.syms \
	discard_locals_relocatable_test1.syms \
	discard_locals_relocatable_test2.syms \
	discard_locals_relocatable_test1.out \
	discard_locals_relocatable_test2.out
discard_locals_test_SOURCES = discard_locals_test.c
discard_locals_test_LDFLAGS = -Wl,--discard-locals
discard_locals_test.syms: discard_locals_test
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
# '-Wa,-L' is required to preserve the local label used for testing.
discard_locals_test.o: discard_locals_test.c
	$(COMPILE) -c -Wa,-L -o $@ $<

discard_locals_relocatable_test1.syms: discard_locals_relocatable_test1.out
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
discard_locals_relocatable_test.o: discard_locals_relocatable_test.c
	$(COMPILE) -c -Wa,-L -fPIC -o $@ $<
discard_locals_relocatable_test1.out: discard_locals_relocatable_test.o ../ld-new
	../ld-new --discard-locals -relocatable -o $@ $<

discard_locals_relocatable_test2.syms: discard_locals_relocatable_test2.out
	$(TEST_READELF) -sW $< >$@ 2>/dev/null
discard_locals_relocatable_test2.out: discard_locals_relocatable_test.o ../ld-new
	../ld-new --discard-all -relocatable -o $@ $<

if MCMODEL_MEDIUM
check_PROGRAMS += large
large_SOURCES = large.c
large_CFLAGS = -mcmodel=medium
large_DEPENDENCIES = gcctestdir/ld
large_LDADD =
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 hidden_test.syms
libhidden.so: hidden_test_1.c gcctestdir/ld
	$(COMPILE) -g -shared -fPIC -w -o $@ $(srcdir)/hidden_test_1.c
hidden_test: hidden_test_main.o libhidden.so gcctestdir/ld
	$(LINK) -Wl,-R,. hidden_test_main.o libhidden.so 2>hidden_test.err
hidden_test.syms: hidden_test
	$(TEST_NM) -D hidden_test > $@
hidden_test.err: hidden_test
	@touch hidden_test.err

# Test -retain-symbols-file.
check_SCRIPTS += retain_symbols_file_test.sh
check_DATA += retain_symbols_file_test.stdout
MOSTLYCLEANFILES += retain_symbols_file_test retain_symbols_file_test.in \
		    retain_symbols_file_test.stdout
retain_symbols_file_test.so: basic_pic_test.o gcctestdir/ld
	echo 'main' > retain_symbols_file_test.in
	echo 't1' >> 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
	$(CXXLINK) -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 > $@


# 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) basic_test.o

# Check -l:foo.a
check_PROGRAMS += searched_file_test
MOSTLYCLEANFILES += searched_file_test searched_file_test_lib.o \
		    alt/searched_file_test_lib.a
searched_file_test_SOURCES = searched_file_test.cc
searched_file_test_DEPENDENCIES = gcctestdir/ld alt/searched_file_test_lib.a
searched_file_test_LDFLAGS = -Lalt
searched_file_test_LDADD = -l:searched_file_test_lib.a
searched_file_test_lib.o: searched_file_test_lib.cc
	$(CXXCOMPILE) -c -o $@ $<
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
# symbol versioning is not used.
check_SCRIPTS += no_version_test.sh
check_DATA += no_version_test.stdout
MOSTLYCLEANFILES += libno_version_test.so no_version_test.stdout
# We invoke the linker directly since gcc may include additional objects that
# uses symbol versioning.
libno_version_test.so: no_version_test.o gcctestdir/ld
	gcctestdir/ld -shared -o $@ no_version_test.o
no_version_test.o: no_version_test.c
	$(COMPILE) -o $@ -c -fPIC $<
no_version_test.stdout: libno_version_test.so
	$(TEST_OBJDUMP) -h $< > $@

# Test STT_GNU_IFUNC symbols.
if IFUNC

ifuncmod1.o: ifuncmod1.c
	$(COMPILE) -c -fPIC -o $@ $<
ifuncmod1.so: ifuncmod1.o gcctestdir/ld
	$(LINK) -shared ifuncmod1.o

ifuncdep1.o: ifuncmod1.c
	$(COMPILE) -c -o $@ $<

ifuncmain1pic.o: ifuncmain1.c
	$(COMPILE) -c -fPIC -o $@ $<
ifuncmain1pie.o: ifuncmain1.c
	$(COMPILE) -c -fPIE -o $@ $<

if HAVE_STATIC
if IFUNC_STATIC
check_PROGRAMS += ifuncmain1static
ifuncmain1static_SOURCES = ifuncmain1.c
ifuncmain1static_DEPENDENCIES = gcctestdir/ld ifuncdep1.o
ifuncmain1static_LDFLAGS = -static
ifuncmain1static_LDADD = ifuncdep1.o

check_PROGRAMS += ifuncmain1picstatic
ifuncmain1picstatic: ifuncmain1pic.o ifuncmod1.o gcctestdir/ld
	$(LINK) -static ifuncmain1pic.o ifuncmod1.o

check_SCRIPTS += ifuncmod1.sh
check_DATA += ifuncmod1.so.stderr
ifuncmod1.so.stderr: ifuncmod1.so
	$(TEST_READELF) -s $< > /dev/null 2> $@
endif
endif

check_PROGRAMS += ifuncmain1
ifuncmain1_SOURCES = ifuncmain1.c
ifuncmain1_DEPENDENCIES = gcctestdir/ld ifuncmod1.so
ifuncmain1_LDFLAGS = -Wl,-R,.
ifuncmain1_LDADD = ifuncmod1.so

check_PROGRAMS += ifuncmain1pic
ifuncmain1pic: ifuncmain1pic.o ifuncmod1.so gcctestdir/ld
	$(LINK) ifuncmain1pic.o ifuncmod1.so -Wl,-R,.

check_PROGRAMS += ifuncmain1vis
ifuncmain1vis_SOURCES = ifuncmain1vis.c
ifuncmain1vis_DEPENDENCIES = gcctestdir/ld ifuncmod1.so
ifuncmain1vis_LDFLAGS = -Wl,-R,.
ifuncmain1vis_LDADD = ifuncmod1.so

check_PROGRAMS += ifuncmain1vispic
ifuncmain1vispic.o: ifuncmain1vis.c
	$(COMPILE) -c -fPIC -o $@ $<
ifuncmain1vispic: ifuncmain1vispic.o ifuncmod1.so gcctestdir/ld
	$(LINK) ifuncmain1pic.o ifuncmod1.so -Wl,-R,.

check_PROGRAMS += ifuncmain1staticpic
ifuncmain1staticpic: ifuncmain1pic.o ifuncmod1.o gcctestdir/ld
	$(LINK) ifuncmain1pic.o ifuncmod1.o

check_PROGRAMS += ifuncmain1pie
ifuncmain1pie: ifuncmain1pie.o ifuncmod1.so gcctestdir/ld
	$(LINK) -pie ifuncmain1pie.o ifuncmod1.so -Wl,-R,.

check_PROGRAMS += ifuncmain1vispie
ifuncmain1vispie.o: ifuncmain1vis.c
	$(COMPILE) -c -fPIE -o $@ $<
ifuncmain1vispie: ifuncmain1vispie.o ifuncmod1.so gcctestdir/ld
	$(LINK) -pie ifuncmain1vispie.o ifuncmod1.so -Wl,-R,.

check_PROGRAMS += ifuncmain1staticpie
ifuncmain1staticpie: ifuncmain1pie.o ifuncmod1.o gcctestdir/ld
	$(LINK) -pie ifuncmain1pie.o ifuncmod1.o

ifuncmain2pic.o: ifuncmain2.c
	$(COMPILE) -c -fPIC -o $@ $<

ifuncdep2pic.o: ifuncdep2.c
	$(COMPILE) -c -fPIC -o $@ $<

if HAVE_STATIC
if IFUNC_STATIC
check_PROGRAMS += ifuncmain2static
ifuncmain2static_SOURCES = ifuncmain2.c ifuncdep2.c
ifuncmain2static_DEPENDENCIES = gcctestdir/ld
ifuncmain2static_LDFLAGS = -static
ifuncmain2static_LDADD =

check_PROGRAMS += ifuncmain2picstatic
ifuncmain2picstatic: ifuncmain2pic.o ifuncdep2pic.o gcctestdir/ld
	$(LINK) -static ifuncmain2pic.o ifuncdep2pic.o
endif
endif

check_PROGRAMS += ifuncmain2
ifuncmain2_SOURCES = ifuncmain2.c ifuncdep2.c
ifuncmain2_DEPENDENCIES = gcctestdir/ld
ifuncmain2_LDADD =

check_PROGRAMS += ifuncmain2pic
ifuncmain2pic: ifuncmain2pic.o ifuncdep2pic.o gcctestdir/ld
	$(LINK) ifuncmain2pic.o ifuncdep2pic.o

ifuncmod3.o: ifuncmod3.c
	$(COMPILE) -c -fPIC -o $@ $<
ifuncmod3.so: ifuncmod3.o gcctestdir/ld
	$(LINK) -shared ifuncmod3.o

check_PROGRAMS += ifuncmain3
ifuncmain3_SOURCES = ifuncmain3.c
ifuncmain3_DEPENDENCIES = gcctestdir/ld ifuncmod3.so
ifuncmain3_LDFLAGS = -Wl,--export-dynamic -Wl,-R,.
ifuncmain3_LDADD = -ldl

ifuncmain4pic.o: ifuncmain4.c
	$(COMPILE) -c -fPIC -o $@ $<

if HAVE_STATIC
if IFUNC_STATIC
check_PROGRAMS += ifuncmain4static
ifuncmain4static_SOURCES = ifuncmain4.c
ifuncmain4static_DEPENDENCIES = gcctestdir/ld
ifuncmain4static_LDFLAGS = -static
ifuncmain4static_LDADD =

check_PROGRAMS += ifuncmain4picstatic
ifuncmain4picstatic: ifuncmain4pic.o gcctestdir/ld
	$(LINK) -static ifuncmain4pic.o
endif
endif

check_PROGRAMS += ifuncmain4
ifuncmain4_SOURCES = ifuncmain4.c
ifuncmain4_DEPENDENCIES = gcctestdir/ld
ifuncmain4_LDADD =

ifuncmain5pic.o: ifuncmain5.c
	$(COMPILE) -c -fPIC -o $@ $<

ifuncmain5pie.o: ifuncmain5.c
	$(COMPILE) -c -fPIE -o $@ $<

ifuncmod5.o: ifuncmod5.c
	$(COMPILE) -c -fPIC -o $@ $<
ifuncmod5.so: ifuncmod5.o gcctestdir/ld
	$(LINK) -shared ifuncmod5.o

ifuncdep5.o: ifuncmod5.c
	$(COMPILE) -c -o $@ $<

if HAVE_STATIC
if IFUNC_STATIC
check_PROGRAMS += ifuncmain5static
ifuncmain5static_SOURCES = ifuncmain5.c
ifuncmain5static_DEPENDENCIES = gcctestdir/ld ifuncdep5.o
ifuncmain5static_LDFLAGS = -static
ifuncmain5static_LDADD = ifuncdep5.o

check_PROGRAMS += ifuncmain5picstatic
ifuncmain5picstatic: ifuncmain5pic.o ifuncmod5.o gcctestdir/ld
	$(LINK) -static ifuncmain5pic.o ifuncmod5.o
endif
endif

check_PROGRAMS += ifuncmain5
ifuncmain5_SOURCES = ifuncmain5.c
ifuncmain5_DEPENDENCIES = gcctestdir/ld ifuncmod5.so
ifuncmain5_LDFLAGS = -Wl,-R,.
ifuncmain5_LDADD = ifuncmod5.so

check_PROGRAMS += ifuncmain5pic
ifuncmain5pic: ifuncmain5pic.o ifuncmod5.so gcctestdir/ld
	$(LINK) ifuncmain5pic.o ifuncmod5.so -Wl,-R,.

check_PROGRAMS += ifuncmain5staticpic
ifuncmain5staticpic: ifuncmain5pic.o ifuncmod5.o gcctestdir/ld
	$(LINK) ifuncmain5pic.o ifuncmod5.o

check_PROGRAMS += ifuncmain5pie
ifuncmain5pie: ifuncmain5pie.o ifuncmod5.so gcctestdir/ld
	$(LINK) -pie ifuncmain5pie.o ifuncmod5.so -Wl,-R,.

ifuncmain6pie.o: ifuncmain6pie.c
	$(COMPILE) -c -fPIE -o $@ $<

ifuncmod6.o: ifuncmod6.c
	$(COMPILE) -c -fPIC -o $@ $<
ifuncmod6.so: ifuncmod6.o gcctestdir/ld
	$(LINK) -shared ifuncmod6.o

check_PROGRAMS += ifuncmain6pie
ifuncmain6pie: ifuncmain6pie.o ifuncmod6.so gcctestdir/ld
	$(LINK) -pie ifuncmain6pie.o ifuncmod6.so -Wl,-R,.

ifuncmain7pic.o: ifuncmain7.c
	$(COMPILE) -c -fPIC -o $@ $<

ifuncmain7pie.o: ifuncmain7.c
	$(COMPILE) -c -fPIE -o $@ $<

if HAVE_STATIC
if IFUNC_STATIC
check_PROGRAMS += ifuncmain7static
ifuncmain7static_SOURCES = ifuncmain7.c
ifuncmain7static_DEPENDENCIES = gcctestdir/ld
ifuncmain7static_LDFLAGS = -static
ifuncmain7static_LDADD =

check_PROGRAMS += ifuncmain7picstatic
ifuncmain7picstatic: ifuncmain7pic.o gcctestdir/ld
	$(LINK) -static ifuncmain7pic.o
endif
endif

check_PROGRAMS += ifuncmain7
ifuncmain7_SOURCES = ifuncmain7.c
ifuncmain7_DEPENDENCIES = gcctestdir/ld
ifuncmain7_LDADD =

check_PROGRAMS += ifuncmain7pic
ifuncmain7pic: ifuncmain7pic.o gcctestdir/ld
	$(LINK) ifuncmain7pic.o

check_PROGRAMS += ifuncmain7pie
ifuncmain7pie: ifuncmain7pie.o gcctestdir/ld
	$(LINK) -pie ifuncmain7pie.o

check_PROGRAMS += ifuncvar
ifuncvar1_pic.o: ifuncvar1.c
	$(COMPILE) -c -fPIC -o $@ $<
ifuncvar2_pic.o: ifuncvar2.c
	$(COMPILE) -c -fPIC -o $@ $<
ifuncvar.so: ifuncvar1_pic.o ifuncvar2_pic.o gcctestdir/ld
	$(LINK) -shared ifuncvar1_pic.o ifuncvar2_pic.o
ifuncvar_SOURCES = ifuncvar3.c
ifuncvar_DEPENDENCIES = gcctestdir/ld ifuncvar.so
ifuncvar_LDFLAGS = -Wl,-R,.
ifuncvar_LDADD = ifuncvar.so

endif IFUNC

# Test that strong reference to a weak symbol in a DSO remains strong.
check_SCRIPTS += strong_ref_weak_def.sh
check_DATA += strong_ref_weak_def.stdout
MOSTLYCLEANFILES += strong_ref_weak_def_1.so strong_ref_weak_def_2.so \
	strong_ref_weak_def.stdout
strong_ref_weak_def_2.o: strong_ref_weak_def_2.c
	$(COMPILE) -o $@ -c -fPIC $<
strong_ref_weak_def_2.so: strong_ref_weak_def_2.o gcctestdir/ld
	gcctestdir/ld -shared -o $@ strong_ref_weak_def_2.o
strong_ref_weak_def_1.o: strong_ref_weak_def_1.c
	$(COMPILE) -o $@ -c -fPIC $<
strong_ref_weak_def_1.so: strong_ref_weak_def_1.o strong_ref_weak_def_2.so \
	gcctestdir/ld
	gcctestdir/ld -shared -o $@ strong_ref_weak_def_1.o \
		strong_ref_weak_def_2.so
strong_ref_weak_def.stdout: strong_ref_weak_def_1.so
	$(TEST_READELF) -sWD $< > $@

# Test that a strong weak reference remains strong if there is another
# weak reference in a DSO.
check_SCRIPTS += dyn_weak_ref.sh
check_DATA += dyn_weak_ref.stdout
MOSTLYCLEANFILES += dyn_weak_ref_1.so dyn_weak_ref_2.so \
	dyn_weak_ref.stdout
dyn_weak_ref_2.o: dyn_weak_ref_2.c
	$(COMPILE) -o $@ -c -fPIC $<
dyn_weak_ref_2.so: dyn_weak_ref_2.o gcctestdir/ld
	gcctestdir/ld -shared -o $@ dyn_weak_ref_2.o
dyn_weak_ref_1.o: dyn_weak_ref_1.c
	$(COMPILE) -o $@ -c -fPIC $<
# We intentionally put dyn_weak_ref_2.so in front of dyn_weak_ref_1.o
# so that the weak ref there goes to gold's symbol table first.
dyn_weak_ref_1.so: dyn_weak_ref_1.o dyn_weak_ref_2.so gcctestdir/ld
	gcctestdir/ld -shared -o $@ dyn_weak_ref_2.so dyn_weak_ref_1.o
dyn_weak_ref.stdout: dyn_weak_ref_1.so
	$(TEST_READELF) -sWD $< > $@


# Test that --start-lib and --end-lib function correctly.
check_PROGRAMS += start_lib_test
MOSTLYCLEANFILES += libstart_lib_test.a
start_lib_test: start_lib_test_main.o libstart_lib_test.a start_lib_test_2.o start_lib_test_3.o \
	gcctestdir/ld
	$(LINK) -o $@ start_lib_test_main.o -L. -lstart_lib_test \
		-Wl,--start-lib start_lib_test_2.o start_lib_test_3.o -Wl,--end-lib
libstart_lib_test.a: start_lib_test_1.o
	$(TEST_AR) rc $@ $^

# Test that MEMORY region support works.
check_SCRIPTS += memory_test.sh
check_DATA += memory_test.stdout
MOSTLYCLEANFILES += memory_test.stdout memory_test memory_test.o
memory_test.o: memory_test.s
	$(COMPILE) -o $@ -c $<
memory_test: memory_test.o gcctestdir/ld $(srcdir)/memory_test.t
	$(LINK) -nostartfiles -nostdlib -Wl,-z,max-page-size=0x1000 -Wl,-z,common-page-size=0x1000 -Wl,-T,$(srcdir)/memory_test.t -o $@ memory_test.o
memory_test.stdout: memory_test
	$(TEST_READELF) -lWS $< > $@

# Test INCLUDE directives in linker scripts.
# The binary isn't runnable, so we just check that we can build it without errors.
check_DATA += memory_test_2
MOSTLYCLEANFILES += memory_test_inc_1.t memory_test_inc_2.t memory_test_inc_3.t memory_test_2
memory_test_inc_1.t: $(srcdir)/memory_test_inc_1.t.src
	cp $< $@
memory_test_inc_2.t: $(srcdir)/memory_test_inc_2.t.src
	cp $< $@
memory_test_inc_3.t: $(srcdir)/memory_test_inc_3.t.src
	cp $< $@
memory_test_2: memory_test.o gcctestdir/ld $(srcdir)/memory_test.t memory_test_inc_1.t memory_test_inc_2.t memory_test_inc_3.t
	$(LINK) -nostartfiles -nostdlib -Wl,-z,max-page-size=0x1000 -Wl,-z,common-page-size=0x1000 -Wl,-T,$(srcdir)/memory_test.t -o $@ memory_test.o

if HAVE_PUBNAMES

# Test that --gdb-index functions correctly without gcc-generated pubnames.
check_SCRIPTS += gdb_index_test_1.sh
check_DATA += gdb_index_test_1.stdout
MOSTLYCLEANFILES += gdb_index_test_1.stdout gdb_index_test_1
gdb_index_test.o: gdb_index_test.cc
	$(CXXCOMPILE) -O0 -g -gno-pubnames -c -o $@ $<
gdb_index_test_1: gdb_index_test.o gcctestdir/ld
	$(CXXLINK) -Wl,--gdb-index $<
gdb_index_test_1.stdout: gdb_index_test_1
	$(TEST_READELF) --debug-dump=gdb_index $< > $@

# Test that --gdb-index functions correctly with compressed debug sections.
check_SCRIPTS += gdb_index_test_2.sh
check_DATA += gdb_index_test_2.stdout
MOSTLYCLEANFILES += gdb_index_test_2.stdout gdb_index_test_2 gdb_index_test_2_gabi
gdb_index_test_cdebug.o: gdb_index_test.cc
	$(CXXCOMPILE) -O0 -g -Wa,--compress-debug-sections -c -o $@ $<
gdb_index_test_2: gdb_index_test_cdebug.o gcctestdir/ld
	$(CXXLINK) -Wl,--gdb-index $<
gdb_index_test_2.stdout: gdb_index_test_2
	$(TEST_READELF) --debug-dump=gdb_index $< > $@
check_SCRIPTS += gdb_index_test_2_gabi.sh
check_DATA += gdb_index_test_2_gabi.stdout
MOSTLYCLEANFILES += gdb_index_test_2.stdout gdb_index_test_2
gdb_index_test_cdebug_gabi.o: gdb_index_test.cc
	$(CXXCOMPILE) -O0 -g -Wa,--compress-debug-sections=zlib-gabi -c -o $@ $<
gdb_index_test_2_gabi: gdb_index_test_cdebug_gabi.o gcctestdir/ld
	$(CXXLINK) -Wl,--gdb-index $<
gdb_index_test_2_gabi.stdout: gdb_index_test_2_gabi
	$(TEST_READELF) --debug-dump=gdb_index $< > $@

# Another simple C test (DW_AT_high_pc encoding) for --gdb-index.
check_SCRIPTS += gdb_index_test_3.sh
check_DATA += gdb_index_test_3.stdout
MOSTLYCLEANFILES += gdb_index_test_3.stdout gdb_index_test_3
gdb_index_test_3.o: gdb_index_test_3.c
	$(COMPILE) -O0 -g -c -o $@ $<
gdb_index_test_3: gdb_index_test_3.o gcctestdir/ld
	$(LINK) -Wl,--gdb-index,--fatal-warnings $<
gdb_index_test_3.stdout: gdb_index_test_3
	$(TEST_READELF) --debug-dump=gdb_index $< > $@

# Test that --gdb-index functions correctly with gcc-generated pubnames.
check_SCRIPTS += gdb_index_test_4.sh
check_DATA += gdb_index_test_4.stdout
MOSTLYCLEANFILES += gdb_index_test_4.stdout gdb_index_test_4
gdb_index_test_pub.o: gdb_index_test.cc
	$(CXXCOMPILE) -O0 -g -gpubnames -c -o $@ $<
gdb_index_test_4: gdb_index_test_pub.o gcctestdir/ld
	$(CXXLINK) -Wl,--gdb-index $<
gdb_index_test_4.stdout: gdb_index_test_4
	$(TEST_READELF) --debug-dump=gdb_index $< > $@

endif HAVE_PUBNAMES

# Test that __ehdr_start is defined correctly.
check_PROGRAMS += ehdr_start_test_1
ehdr_start_test_1_SOURCES = ehdr_start_test.cc
ehdr_start_test_1_DEPENDENCIES = gcctestdir/ld
ehdr_start_test_1_CXXFLAGS =
ehdr_start_test_1_LDADD =

# Test that __ehdr_start is defined correctly with a weak reference.
check_PROGRAMS += ehdr_start_test_2
ehdr_start_test_2_SOURCES = ehdr_start_test.cc
ehdr_start_test_2_DEPENDENCIES = gcctestdir/ld
ehdr_start_test_2_CXXFLAGS = -DEHDR_START_WEAK
ehdr_start_test_2_LDADD =

# Test that __ehdr_start is defined correctly when used with a linker script.
check_PROGRAMS += ehdr_start_test_3
ehdr_start_test_3_SOURCES = ehdr_start_test.cc
ehdr_start_test_3_DEPENDENCIES = gcctestdir/ld $(srcdir)/ehdr_start_test.t
ehdr_start_test_3_CXXFLAGS = -DEHDR_START_WEAK
ehdr_start_test_3_LDFLAGS = -Wl,-T,$(srcdir)/ehdr_start_test.t
ehdr_start_test_3_LDADD =

# Test that __ehdr_start is left undefined when the text segment is not
# appropriately aligned.
check_SCRIPTS += ehdr_start_test_4.sh
check_DATA += ehdr_start_test_4.syms
MOSTLYCLEANFILES += ehdr_start_test_4
ehdr_start_test_4.syms: ehdr_start_test_4
	$(TEST_NM) ehdr_start_test_4 > $@
ehdr_start_test_4: ehdr_start_test_4.o gcctestdir/ld
	$(CXXLINK) -Wl,-Ttext=0x100100 $<
ehdr_start_test_4.o: ehdr_start_test.cc
	$(CXXCOMPILE) -c -DEHDR_START_WEAK -o $@ $<

# Test that __ehdr_start is not overridden when supplied by the user.
check_PROGRAMS += ehdr_start_test_5
ehdr_start_test_5_SOURCES = ehdr_start_test.cc ehdr_start_def.cc
ehdr_start_test_5_DEPENDENCIES = gcctestdir/ld
ehdr_start_test_5_CXXFLAGS = -DEHDR_START_USER_DEF
ehdr_start_test_5_LDADD =

# Test that the --defsym option copies the symbol type and visibility.
check_SCRIPTS += defsym_test.sh
check_DATA += defsym_test.syms
MOSTLYCLEANFILES += defsym_test defsym_test.syms
defsym_test.syms: defsym_test
	$(TEST_READELF) -sW $< > $@
defsym_test: defsym_test.o gcctestdir/ld
	$(LINK) -Wl,--defsym=bar=foo defsym_test.o
defsym_test.o: defsym_test.c
	$(COMPILE) -c -o $@ $<

# Test that the -d option (force common allocation) works correctly.
check_PROGRAMS += pr20976
pr20976: pr20976-d.o gcctestdir/ld
	$(LINK) pr20976-d.o
pr20976-d.o: pr20976.o gcctestdir/ld
	gcctestdir/ld -r -d -o $@ pr20976.o

# End-to-end incremental linking tests.
# Incremental linking is currently supported only on the x86_64 target.

if DEFAULT_TARGET_X86_64

two_file_test_1_v1_ndebug.o: two_file_test_1_v1.cc
	$(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 -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
	$(CXXCOMPILE) -O0 -g0 -c -o $@ $<
two_file_test_main_ndebug.o: two_file_test_main.cc
	$(CXXCOMPILE) -O0 -g0 -c -o $@ $<

if !CFLAGS_CF_PROTECTION
check_PROGRAMS += incremental_test_2
endif
MOSTLYCLEANFILES += two_file_test_tmp_2.o
incremental_test_2: two_file_test_1_v1_ndebug.o two_file_test_1_ndebug.o two_file_test_1b_ndebug.o \
		    two_file_test_2_ndebug.o two_file_test_main_ndebug.o gcctestdir/ld
	cp -f two_file_test_1_v1_ndebug.o two_file_test_tmp_2.o
	$(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro,-no-pie two_file_test_tmp_2.o two_file_test_1b_ndebug.o two_file_test_2_ndebug.o two_file_test_main_ndebug.o
	@sleep 1
	cp -f two_file_test_1_ndebug.o two_file_test_tmp_2.o
	$(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro,-no-pie two_file_test_tmp_2.o two_file_test_1b_ndebug.o two_file_test_2_ndebug.o two_file_test_main_ndebug.o

if !CFLAGS_CF_PROTECTION
check_PROGRAMS += incremental_test_3
endif
MOSTLYCLEANFILES += two_file_test_tmp_3.o
incremental_test_3: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \
		    two_file_test_2.o two_file_test_main.o gcctestdir/ld
	cp -f two_file_test_1b_v1.o two_file_test_tmp_3.o
	$(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro,-no-pie two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.o
	@sleep 1
	cp -f two_file_test_1b.o two_file_test_tmp_3.o
	$(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro,-no-pie two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.o

if !CFLAGS_CF_PROTECTION
check_PROGRAMS += incremental_test_4
endif
MOSTLYCLEANFILES += incremental_test_4.base two_file_test_tmp_4.o
incremental_test_4: two_file_test_1.o two_file_test_1b.o two_file_test_2_v1.o \
		    two_file_test_2.o two_file_test_main.o gcctestdir/ld
	cp -f two_file_test_2_v1.o two_file_test_tmp_4.o
	$(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro,-no-pie two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.o
	mv -f incremental_test_4 incremental_test_4.base
	@sleep 1
	cp -f two_file_test_2.o two_file_test_tmp_4.o
	$(CXXLINK) -Wl,--incremental-update,--incremental-base=incremental_test_4.base -Wl,-z,norelro,-no-pie two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.o

if !CFLAGS_CF_PROTECTION
check_PROGRAMS += incremental_test_5
endif
MOSTLYCLEANFILES += two_file_test_5.a
incremental_test_5: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \
		    two_file_test_2.o two_file_test_main.o gcctestdir/ld
	cp -f two_file_test_1b_v1.o two_file_test_tmp_5.o
	$(TEST_AR) rc two_file_test_5.a two_file_test_1.o two_file_test_tmp_5.o two_file_test_2.o
	$(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro,-no-pie two_file_test_main.o two_file_test_5.a
	@sleep 1
	cp -f two_file_test_1b.o two_file_test_tmp_5.o
	$(TEST_AR) rc two_file_test_5.a two_file_test_1.o two_file_test_tmp_5.o two_file_test_2.o
	$(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro,-no-pie two_file_test_main.o two_file_test_5.a

# Test the --incremental-unchanged flag with an archive library.
# The second link should not update the library.
check_PROGRAMS += incremental_test_6
MOSTLYCLEANFILES += two_file_test_6.a
incremental_test_6: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \
		    two_file_test_2.o two_file_test_main.o gcctestdir/ld
	cp -f two_file_test_1b.o two_file_test_tmp_6.o
	$(TEST_AR) rc two_file_test_6.a two_file_test_1.o two_file_test_tmp_6.o two_file_test_2.o
	$(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro,-no-pie two_file_test_main.o two_file_test_6.a
	@sleep 1
	cp -f two_file_test_1b_v1.o two_file_test_tmp_6.o
	$(TEST_AR) rc two_file_test_6.a two_file_test_1.o two_file_test_tmp_6.o two_file_test_2.o
	$(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro,-no-pie two_file_test_main.o -Wl,--incremental-unchanged two_file_test_6.a -Wl,--incremental-unknown

if !CFLAGS_CF_PROTECTION
check_PROGRAMS += incremental_copy_test
endif
incremental_copy_test: copy_test_v1.o copy_test.o copy_test_1.so copy_test_2.so
	cp -f copy_test_v1.o copy_test_tmp.o
	$(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro,-no-pie -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so
	@sleep 1
	cp -f copy_test.o copy_test_tmp.o
	$(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro,-no-pie -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so

if !CFLAGS_CF_PROTECTION
check_PROGRAMS += incremental_common_test_1
endif
incremental_common_test_1: common_test_1_v1.o common_test_1_v2.o gcctestdir/ld
	cp -f common_test_1_v1.o common_test_1_tmp.o
	$(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro,-no-pie common_test_1_tmp.o
	@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 $@ $<

if !CFLAGS_CF_PROTECTION
check_PROGRAMS += incremental_comdat_test_1
endif
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
	cp -f incr_comdat_test_2_v1.o incr_comdat_test_1_tmp.o
	$(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro,-no-pie incr_comdat_test_1.o incr_comdat_test_1_tmp.o
	@sleep 1
	cp -f incr_comdat_test_2_v2.o incr_comdat_test_1_tmp.o
	$(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro,-no-pie incr_comdat_test_1.o incr_comdat_test_1_tmp.o
	@sleep 1
	cp -f incr_comdat_test_2_v3.o incr_comdat_test_1_tmp.o
	$(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro,-no-pie incr_comdat_test_1.o incr_comdat_test_1_tmp.o

endif DEFAULT_TARGET_X86_64

if DEFAULT_TARGET_X86_64
check_PROGRAMS += exception_x86_64_bnd_test
exception_x86_64_bnd_test_SOURCES = exception_test_main.cc
exception_x86_64_bnd_test_DEPENDENCIES = gcctestdir/ld exception_x86_64_bnd_1.o exception_x86_64_bnd_2.o
exception_x86_64_bnd_test_LDFLAGS = $(exception_test_LDFLAGS) -Wl,-z,bndplt
exception_x86_64_bnd_test_LDADD = exception_x86_64_bnd_1.o exception_x86_64_bnd_2.o
exception_x86_64_bnd_1.o: exception_test_1.cc gcctestdir/as
	$(CXXCOMPILE) -c -fpic -Wa,-madd-bnd-prefix -o $@ $<
exception_x86_64_bnd_2.o: exception_test_2.cc gcctestdir/as
	$(CXXCOMPILE) -c -Wa,-madd-bnd-prefix -o $@ $<
endif DEFAULT_TARGET_X86_64

if DEFAULT_TARGET_X86_64
check_SCRIPTS += gnu_property_test.sh
check_DATA += gnu_property_test.stdout
MOSTLYCLEANFILES += gnu_property_test
gnu_property_test.stdout: gnu_property_test
	$(TEST_READELF) -lhSWn $< >$@
gnu_property_test: gcctestdir/ld gnu_property_a.o gnu_property_b.o gnu_property_c.o
	gcctestdir/ld --build-id -o $@ gnu_property_a.o gnu_property_b.o gnu_property_c.o
gnu_property_main.o: gnu_property_main.c
	$(COMPILE) -c -o $@ $<
gnu_property_a.o: gnu_property_a.S
	$(COMPILE) -c -o $@ $<
gnu_property_b.o: gnu_property_b.S
	$(COMPILE) -c -o $@ $<
gnu_property_c.o: gnu_property_c.S
	$(COMPILE) -c -o $@ $<
endif DEFAULT_TARGET_X86_64

check_PROGRAMS += pr22266
pr22266: pr22266_main.o pr22266_ar.o gcctestdir/ld
	$(LINK) pr22266_main.o pr22266_ar.o
pr22266_ar.o: pr22266_a.o gcctestdir/ld
	gcctestdir/ld -r -T $(srcdir)/pr22266_script.t -o $@ pr22266_a.o

if DEFAULT_TARGET_AARCH64

check_PROGRAMS += aarch64_pr23870
aarch64_pr23870_SOURCES = aarch64_pr23870_foo.c
aarch64_pr23870_DEPENDENCIES = \
	gcctestdir/ld gcctestdir/as aarch64_pr23870_main.o \
	aarch64_pr23870_foo.o aarch64_pr23870_bar.so
aarch64_pr23870_LDFLAGS = -Wl,-R,. -L. -Wl,-l:aarch64_pr23870_bar.so
aarch64_pr23870_LDADD = aarch64_pr23870_main.o
aarch64_pr23870_main.o: aarch64_pr23870_main.S
	$(COMPILE) -c -o $@ $<
aarch64_pr23870_foo.o: aarch64_pr23870_foo.c
	$(COMPILE) -c -o $@ $<
aarch64_pr23870_bar.o: aarch64_pr23870_bar.c
	$(COMPILE) -c -fPIC -o $@ $<
aarch64_pr23870_bar.so: aarch64_pr23870_bar.o
	$(COMPILE) -shared -o $@ $<

endif DEFAULT_TARGET_AARCH64

endif GCC
endif NATIVE_LINKER

# These tests work with native and cross linkers.

if NATIVE_OR_CROSS_LINKER

# Test script section order.
check_SCRIPTS += script_test_10.sh
check_DATA += script_test_10.stdout
MOSTLYCLEANFILES += script_test_10
script_test_10.o: script_test_10.s
	$(TEST_AS) -o $@ $<
script_test_10: $(srcdir)/script_test_10.t script_test_10.o gcctestdir/ld
	gcctestdir/ld -o $@ script_test_10.o -T $(srcdir)/script_test_10.t
script_test_10.stdout: script_test_10
	$(TEST_READELF) -SW script_test_10 > $@

# These tests work with cross linkers only.

if DEFAULT_TARGET_I386

check_SCRIPTS += split_i386.sh
check_DATA += split_i386_1.stdout split_i386_2.stdout \
	split_i386_3.stdout split_i386_4.stdout split_i386_r.stdout
SPLIT_DEFSYMS = --defsym __morestack=0x100 --defsym __morestack_non_split=0x200
split_i386_1.o: split_i386_1.s
	$(TEST_AS) -o $@ $<
split_i386_2.o: split_i386_2.s
	$(TEST_AS) -o $@ $<
split_i386_3.o: split_i386_3.s
	$(TEST_AS) -o $@ $<
split_i386_4.o: split_i386_4.s
	$(TEST_AS) -o $@ $<
split_i386_n.o: split_i386_n.s
	$(TEST_AS) -o $@ $<
split_i386_1: split_i386_1.o split_i386_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_i386_1.o split_i386_n.o
split_i386_1.stdout: split_i386_1
	$(TEST_OBJDUMP) -d $< > $@
split_i386_2: split_i386_2.o split_i386_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_i386_2.o split_i386_n.o
split_i386_2.stdout: split_i386_2
	$(TEST_OBJDUMP) -d $< > $@
split_i386_3.stdout: split_i386_3.o split_i386_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o split_i386_3 split_i386_3.o split_i386_n.o > $@ 2>&1 || exit 0
split_i386_4: split_i386_4.o split_i386_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_i386_4.o split_i386_n.o
split_i386_4.stdout: split_i386_4
	$(TEST_OBJDUMP) -d $< > $@
split_i386_r.stdout: split_i386_1.o split_i386_n.o ../ld-new
	../ld-new -r split_i386_1.o split_i386_n.o -o split_i386_r > $@ 2>&1 || exit 0
MOSTLYCLEANFILES += split_i386_1 split_i386_2 split_i386_3 \
	split_i386_4 split_i386_r

endif DEFAULT_TARGET_I386

if DEFAULT_TARGET_X86_64

check_SCRIPTS += split_x86_64.sh
check_DATA += split_x86_64_1.stdout split_x86_64_2.stdout \
	split_x86_64_3.stdout split_x86_64_4.stdout split_x86_64_r.stdout
SPLIT_DEFSYMS = --defsym __morestack=0x100 --defsym __morestack_non_split=0x200
split_x86_64_1.o: split_x86_64_1.s
	$(TEST_AS) -o $@ $<
split_x86_64_2.o: split_x86_64_2.s
	$(TEST_AS) -o $@ $<
split_x86_64_3.o: split_x86_64_3.s
	$(TEST_AS) -o $@ $<
split_x86_64_4.o: split_x86_64_4.s
	$(TEST_AS) -o $@ $<
split_x86_64_n.o: split_x86_64_n.s
	$(TEST_AS) -o $@ $<
split_x86_64_1: split_x86_64_1.o split_x86_64_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_x86_64_1.o split_x86_64_n.o
split_x86_64_1.stdout: split_x86_64_1
	$(TEST_OBJDUMP) -d $< > $@
split_x86_64_2: split_x86_64_2.o split_x86_64_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_x86_64_2.o split_x86_64_n.o
split_x86_64_2.stdout: split_x86_64_2
	$(TEST_OBJDUMP) -d $< > $@
split_x86_64_3.stdout: split_x86_64_3.o split_x86_64_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o split_x86_64_3 split_x86_64_3.o split_x86_64_n.o > $@ 2>&1 || exit 0
split_x86_64_4: split_x86_64_4.o split_x86_64_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_x86_64_4.o split_x86_64_n.o
split_x86_64_4.stdout: split_x86_64_4
	$(TEST_OBJDUMP) -d $< > $@
split_x86_64_r.stdout: split_x86_64_1.o split_x86_64_n.o ../ld-new
	../ld-new -r split_x86_64_1.o split_x86_64_n.o -o split_x86_64_r > $@ 2>&1 || exit 0
MOSTLYCLEANFILES += split_x86_64_1 split_x86_64_2 split_x86_64_3 \
	split_x86_64_4 split_x86_64_r

check_SCRIPTS += bnd_plt_1.sh
check_DATA += bnd_plt_1.stdout
bnd_plt_1.o: bnd_plt_1.s
	$(TEST_AS) --64 -o $@ $<
bnd_plt_1.so: bnd_plt_1.o ../ld-new
	../ld-new -shared -z bndplt bnd_plt_1.o -o $@
bnd_plt_1.stdout: bnd_plt_1.so
	$(TEST_OBJDUMP) -dw $< > $@

check_SCRIPTS += bnd_ifunc_1.sh
check_DATA += bnd_ifunc_1.stdout
bnd_ifunc_1.o: bnd_ifunc_1.s
	$(TEST_AS) --64 -madd-bnd-prefix -o $@ $<
bnd_ifunc_1.so: bnd_ifunc_1.o ../ld-new
	../ld-new -shared -z bndplt bnd_ifunc_1.o -o $@
bnd_ifunc_1.stdout: bnd_ifunc_1.so
	$(TEST_OBJDUMP) -dw $< > $@

check_SCRIPTS += bnd_ifunc_2.sh
check_DATA += bnd_ifunc_2.stdout
bnd_ifunc_2.o: bnd_ifunc_2.s
	$(TEST_AS) --64 -madd-bnd-prefix -o $@ $<
bnd_ifunc_2.so: bnd_ifunc_2.o ../ld-new
	../ld-new -shared -z bndplt bnd_ifunc_2.o -o $@
bnd_ifunc_2.stdout: bnd_ifunc_2.so
	$(TEST_OBJDUMP) -dw $< > $@

endif DEFAULT_TARGET_X86_64

if DEFAULT_TARGET_X32

check_SCRIPTS += split_x32.sh
check_DATA += split_x32_1.stdout split_x32_2.stdout \
	split_x32_3.stdout split_x32_4.stdout split_x32_r.stdout
SPLIT_DEFSYMS = --defsym __morestack=0x100 --defsym __morestack_non_split=0x200
split_x32_1.o: split_x32_1.s
	$(TEST_AS) -o $@ $<
split_x32_2.o: split_x32_2.s
	$(TEST_AS) -o $@ $<
split_x32_3.o: split_x32_3.s
	$(TEST_AS) -o $@ $<
split_x32_4.o: split_x32_4.s
	$(TEST_AS) -o $@ $<
split_x32_n.o: split_x32_n.s
	$(TEST_AS) -o $@ $<
split_x32_1: split_x32_1.o split_x32_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_x32_1.o split_x32_n.o
split_x32_1.stdout: split_x32_1
	$(TEST_OBJDUMP) -d $< > $@
split_x32_2: split_x32_2.o split_x32_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_x32_2.o split_x32_n.o
split_x32_2.stdout: split_x32_2
	$(TEST_OBJDUMP) -d $< > $@
split_x32_3.stdout: split_x32_3.o split_x32_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o split_x32_3 split_x32_3.o split_x32_n.o > $@ 2>&1 || exit 0
split_x32_4: split_x32_4.o split_x32_n.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_x32_4.o split_x32_n.o
split_x32_4.stdout: split_x32_4
	$(TEST_OBJDUMP) -d $< > $@
split_x32_r.stdout: split_x32_1.o split_x32_n.o ../ld-new
	../ld-new -r split_x32_1.o split_x32_n.o -o split_x32_r > $@ 2>&1 || exit 0
MOSTLYCLEANFILES += split_x32_1 split_x32_2 split_x32_3 \
	split_x32_4 split_x32_r

endif DEFAULT_TARGET_X32

if DEFAULT_TARGET_ARM

check_SCRIPTS += arm_abs_global.sh
check_DATA += arm_abs_global.stdout
arm_abs_lib.o: arm_abs_lib.s
	$(TEST_AS) -march=armv7-a -o $@ $<
libarm_abs.so: arm_abs_lib.o ../ld-new
	../ld-new -shared -o $@ arm_abs_lib.o
arm_abs_global.o: arm_abs_global.s
	$(TEST_AS) -march=armv7-a -o $@ $<
arm_abs_global: arm_abs_global.o libarm_abs.so ../ld-new
	../ld-new -o $@ arm_abs_global.o -L. -larm_abs
arm_abs_global.stdout: arm_abs_global
	$(TEST_READELF) -r $< > $@

MOSTLYCLEANFILES += arm_abs_global

check_SCRIPTS += arm_branch_in_range.sh arm_branch_out_of_range.sh
check_DATA += arm_bl_in_range.stdout arm_bl_out_of_range.stdout \
	thumb_bl_in_range.stdout thumb_bl_out_of_range.stdout \
	thumb2_bl_in_range.stdout thumb2_bl_out_of_range.stdout \
	thumb_blx_in_range.stdout thumb_blx_out_of_range.stdout \
	thumb2_blx_in_range.stdout thumb2_blx_out_of_range.stdout \
	thumb_bl_out_of_range_local.stdout arm_thm_jump11.stdout \
	arm_thm_jump8.stdout

arm_bl_in_range.stdout: arm_bl_in_range
	$(TEST_OBJDUMP) -D $< > $@

arm_bl_in_range: arm_bl_in_range.o ../ld-new
	../ld-new -T $(srcdir)/arm_branch_range.t -o $@ $<

arm_bl_in_range.o: arm_bl_in_range.s
	$(TEST_AS) -o $@ $<

arm_bl_out_of_range.stdout: arm_bl_out_of_range
	$(TEST_OBJDUMP) -S $< > $@

arm_bl_out_of_range: arm_bl_out_of_range.o ../ld-new
	../ld-new -T $(srcdir)/arm_branch_range.t -o $@ $<

arm_bl_out_of_range.o: arm_bl_out_of_range.s
	$(TEST_AS) -o $@ $<

thumb_bl_in_range.stdout: thumb_bl_in_range
	$(TEST_OBJDUMP) -D $< > $@

thumb_bl_in_range: thumb_bl_in_range.o ../ld-new
	../ld-new --no-fix-arm1176 -T $(srcdir)/thumb_branch_range.t -o $@ $<

thumb_bl_in_range.o: thumb_bl_in_range.s
	$(TEST_AS) -o $@ -march=armv5te $<

thumb_bl_out_of_range.stdout: thumb_bl_out_of_range
	$(TEST_OBJDUMP) -D $< > $@

thumb_bl_out_of_range: thumb_bl_out_of_range.o ../ld-new
	../ld-new --no-fix-arm1176 -T $(srcdir)/thumb_branch_range.t -o $@ $<

thumb_bl_out_of_range.o: thumb_bl_out_of_range.s
	$(TEST_AS) -o $@ -march=armv5te $<

thumb2_bl_in_range.stdout: thumb2_bl_in_range
	$(TEST_OBJDUMP) -D $< > $@

thumb2_bl_in_range: thumb2_bl_in_range.o ../ld-new
	../ld-new -T $(srcdir)/thumb2_branch_range.t -o $@ $<

thumb2_bl_in_range.o: thumb_bl_in_range.s
	$(TEST_AS) -o $@ -march=armv7-a $<

thumb2_bl_out_of_range.stdout: thumb2_bl_out_of_range
	$(TEST_OBJDUMP) -D $< > $@

thumb2_bl_out_of_range: thumb2_bl_out_of_range.o ../ld-new
	../ld-new -T $(srcdir)/thumb2_branch_range.t -o $@ $<

thumb2_bl_out_of_range.o: thumb_bl_out_of_range.s
	$(TEST_AS) -o $@ -march=armv7-a $<

thumb_blx_in_range.stdout: thumb_blx_in_range
	$(TEST_OBJDUMP) -D $< > $@

thumb_blx_in_range: thumb_blx_in_range.o ../ld-new
	../ld-new --no-fix-arm1176 -T $(srcdir)/thumb_branch_range.t -o $@ $<

thumb_blx_in_range.o: thumb_blx_in_range.s
	$(TEST_AS) -o $@ -march=armv5te $<

thumb_blx_out_of_range.stdout: thumb_blx_out_of_range
	$(TEST_OBJDUMP) -D $< > $@

thumb_blx_out_of_range: thumb_blx_out_of_range.o ../ld-new
	../ld-new --no-fix-arm1176 -T $(srcdir)/thumb_branch_range.t -o $@ $<

thumb_blx_out_of_range.o: thumb_blx_out_of_range.s
	$(TEST_AS) -o $@ -march=armv5te $<

thumb2_blx_in_range.stdout: thumb2_blx_in_range
	$(TEST_OBJDUMP) -D $< > $@

thumb2_blx_in_range: thumb2_blx_in_range.o ../ld-new
	../ld-new -T $(srcdir)/thumb2_branch_range.t -o $@ $<

thumb2_blx_in_range.o: thumb_blx_in_range.s
	$(TEST_AS) -o $@ -march=armv7-a $<

thumb2_blx_out_of_range.stdout: thumb2_blx_out_of_range
	$(TEST_OBJDUMP) -D $< > $@

thumb2_blx_out_of_range: thumb2_blx_out_of_range.o ../ld-new
	../ld-new -T $(srcdir)/thumb2_branch_range.t -o $@ $<

thumb2_blx_out_of_range.o: thumb_blx_out_of_range.s
	$(TEST_AS) -o $@ -march=armv7-a $<

thumb_bl_out_of_range_local.stdout: thumb_bl_out_of_range_local
	$(TEST_OBJDUMP) -D $< > $@

thumb_bl_out_of_range_local: thumb_bl_out_of_range_local.o ../ld-new
	../ld-new --no-fix-arm1176 -T $(srcdir)/thumb_branch_range.t -o $@ $<

thumb_bl_out_of_range_local.o: thumb_bl_out_of_range_local.s
	$(TEST_AS) -o $@ -march=armv5te $<

arm_thm_jump11.stdout: arm_thm_jump11
	$(TEST_OBJDUMP) -D $< > $@

arm_thm_jump11: arm_thm_jump11.o ../ld-new
	../ld-new -T $(srcdir)/arm_thm_jump11.t -o $@ $<

arm_thm_jump11.o: arm_thm_jump11.s
	$(TEST_AS) -o $@ $<

arm_thm_jump8.stdout: arm_thm_jump8
	$(TEST_OBJDUMP) -D $< > $@

arm_thm_jump8: arm_thm_jump8.o ../ld-new
	../ld-new -T $(srcdir)/arm_thm_jump8.t -o $@ $<

arm_thm_jump8.o: arm_thm_jump8.s
	$(TEST_AS) -o $@ $<

MOSTLYCLEANFILES += arm_bl_in_range arm_bl_out_of_range thumb_bl_in_range \
	thumb_bl_out_of_range thumb2_bl_in_range thumb2_bl_out_of_range \
	thumb_blx_in_range thumb_blx_out_of_range thumb2_blx_in_range \
	thumb2_blx_out_of_range thumb_bl_out_of_range_local arm_thm_jump11 \
	arm_thm_jump8

check_SCRIPTS += arm_fix_v4bx.sh
check_DATA += arm_fix_v4bx.stdout arm_fix_v4bx_interworking.stdout \
	arm_no_fix_v4bx.stdout

arm_fix_v4bx.stdout: arm_fix_v4bx
	$(TEST_OBJDUMP) -D -j.text $< > $@

arm_fix_v4bx: arm_fix_v4bx.o ../ld-new
	../ld-new --no-fix-arm1176 --fix-v4bx -o $@ $<

arm_fix_v4bx.o: arm_fix_v4bx.s
	$(TEST_AS) -o $@ $<

arm_fix_v4bx_interworking.stdout: arm_fix_v4bx_interworking
	$(TEST_OBJDUMP) -D -j.text $< > $@

arm_fix_v4bx_interworking: arm_fix_v4bx.o ../ld-new
	../ld-new --no-fix-arm1176 --fix-v4bx-interworking -o $@ $<

arm_no_fix_v4bx.stdout: arm_no_fix_v4bx
	$(TEST_OBJDUMP) -D -j.text $< > $@

arm_no_fix_v4bx: arm_fix_v4bx.o ../ld-new
	../ld-new --no-fix-arm1176 -o $@ $<

MOSTLYCLEANFILES += arm_fix_v4bx arm_fix_v4bx_interworking arm_no_fix_v4bx

check_SCRIPTS += arm_attr_merge.sh
check_DATA += arm_attr_merge_6.stdout arm_attr_merge_6r.stdout \
	arm_attr_merge_7.stdout

arm_attr_merge_6.stdout: arm_attr_merge_6
	$(TEST_READELF) -A $< > $@

arm_attr_merge_6: arm_attr_merge_6a.o arm_attr_merge_6b.o ../ld-new
	../ld-new -o $@ arm_attr_merge_6a.o arm_attr_merge_6b.o

arm_attr_merge_6a.o: arm_attr_merge_6a.s
	$(TEST_AS) -o $@ $<

arm_attr_merge_6b.o: arm_attr_merge_6b.s
	$(TEST_AS) -o $@ $<

arm_attr_merge_6r.stdout: arm_attr_merge_6r
	$(TEST_READELF) -A $< > $@

arm_attr_merge_6r: arm_attr_merge_6b.o arm_attr_merge_6a.o ../ld-new
	../ld-new -o $@ arm_attr_merge_6b.o arm_attr_merge_6a.o

arm_attr_merge_7.stdout: arm_attr_merge_7
	$(TEST_READELF) -A $< > $@

arm_attr_merge_7: arm_attr_merge_7a.o arm_attr_merge_7b.o ../ld-new
	../ld-new -o $@ arm_attr_merge_7a.o arm_attr_merge_7b.o

arm_attr_merge_7a.o: arm_attr_merge_7a.s
	$(TEST_AS) -o $@ $<

arm_attr_merge_7b.o: arm_attr_merge_7b.s
	$(TEST_AS) -o $@ $<

MOSTLYCLEANFILES += arm_attr_merge_6 arm_attr_merge_6r arm_attr_merge_7

# ARM1176 workaround test.
check_SCRIPTS += arm_fix_1176.sh
check_DATA += arm_fix_1176_default_v6z.stdout arm_fix_1176_on_v6z.stdout \
	arm_fix_1176_off_v6z.stdout arm_fix_1176_default_v5te.stdout \
	arm_fix_1176_default_v7a.stdout arm_fix_1176_default_1156t2f_s.stdout

arm_fix_1176_default_v6z.stdout: arm_fix_1176_default_v6z
	$(TEST_OBJDUMP) -D -j.foo $< > $@

arm_fix_1176_default_v6z: arm_fix_1176_default_v6z.o ../ld-new
	../ld-new --section-start=.foo=0x2001014 -o $@ $<

arm_fix_1176_default_v6z.o: arm_fix_1176.s
	$(TEST_AS) -march=armv6z -o $@ $<

arm_fix_1176_on_v6z.stdout: arm_fix_1176_on_v6z
	$(TEST_OBJDUMP) -D -j.foo $< > $@

arm_fix_1176_on_v6z: arm_fix_1176_on_v6z.o ../ld-new
	../ld-new --section-start=.foo=0x2001014 --fix-arm1176 -o $@ $<

arm_fix_1176_on_v6z.o: arm_fix_1176.s
	$(TEST_AS) -march=armv6z -o $@ $<

arm_fix_1176_off_v6z.stdout: arm_fix_1176_off_v6z
	$(TEST_OBJDUMP) -D -j.foo $< > $@

arm_fix_1176_off_v6z: arm_fix_1176_off_v6z.o ../ld-new
	../ld-new --section-start=.foo=0x2001014 --no-fix-arm1176 -o $@ $<

arm_fix_1176_off_v6z.o: arm_fix_1176.s
	$(TEST_AS) -march=armv6z -o $@ $<

arm_fix_1176_default_v5te.stdout: arm_fix_1176_default_v5te
	$(TEST_OBJDUMP) -D -j.foo $< > $@

arm_fix_1176_default_v5te: arm_fix_1176_default_v5te.o ../ld-new
	../ld-new --section-start=.foo=0x2001014 -o $@ $<

arm_fix_1176_default_v5te.o: arm_fix_1176.s
	$(TEST_AS) -march=armv5te -o $@ $<

arm_fix_1176_default_v7a.stdout: arm_fix_1176_default_v7a
	$(TEST_OBJDUMP) -D -j.foo $< > $@

arm_fix_1176_default_v7a: arm_fix_1176_default_v7a.o ../ld-new
	../ld-new --section-start=.foo=0x2001014 -o $@ $<

arm_fix_1176_default_v7a.o: arm_fix_1176.s
	$(TEST_AS) -march=armv7-a -o $@ $<

arm_fix_1176_default_1156t2f_s.stdout: arm_fix_1176_default_1156t2f_s
	$(TEST_OBJDUMP) -D -j.foo $< > $@

arm_fix_1176_default_1156t2f_s: arm_fix_1176_default_1156t2f_s.o ../ld-new
	../ld-new --section-start=.foo=0x2001014 -o $@ $<

arm_fix_1176_default_1156t2f_s.o: arm_fix_1176.s
	$(TEST_AS) -mcpu=arm1156t2f-s -o $@ $<

MOSTLYCLEANFILES += arm_fix_1176_default_v6z arm_fix_1176_on_v6z arm_fix_1176_off_v6z \
	arm_fix_1176_default_v5te arm_fix_1176_default_v7a arm_fix_1176_default_1156t2f_s

# Cortex-A8 workaround test.

check_SCRIPTS += arm_cortex_a8.sh
check_DATA += arm_cortex_a8_b_cond.stdout arm_cortex_a8_b.stdout \
	arm_cortex_a8_bl.stdout arm_cortex_a8_blx.stdout \
	arm_cortex_a8_local.stdout arm_cortex_a8_local_reloc.stdout

arm_cortex_a8_b_cond.stdout: arm_cortex_a8_b_cond
	$(TEST_OBJDUMP) -D -j.text $< > $@

arm_cortex_a8_b_cond: arm_cortex_a8_b_cond.o ../ld-new
	../ld-new -o $@ $<

arm_cortex_a8_b_cond.o: arm_cortex_a8_b_cond.s
	$(TEST_AS) -o $@ $<

arm_cortex_a8_b.stdout: arm_cortex_a8_b
	$(TEST_OBJDUMP) -D -j.text $< > $@

arm_cortex_a8_b: arm_cortex_a8_b.o ../ld-new
	../ld-new --fix-cortex-a8 -o $@ $<

arm_cortex_a8_b.o: arm_cortex_a8_b.s
	$(TEST_AS) -o $@ $<

arm_cortex_a8_bl.stdout: arm_cortex_a8_bl
	$(TEST_OBJDUMP) -D -j.text $< > $@

arm_cortex_a8_bl: arm_cortex_a8_bl.o ../ld-new
	../ld-new -o $@ $<

arm_cortex_a8_bl.o: arm_cortex_a8_bl.s
	$(TEST_AS) -o $@ $<

arm_cortex_a8_blx.stdout: arm_cortex_a8_blx
	$(TEST_OBJDUMP) -D -j.text $< > $@

arm_cortex_a8_blx: arm_cortex_a8_blx.o ../ld-new
	../ld-new -o $@ $<

arm_cortex_a8_blx.o: arm_cortex_a8_blx.s
	$(TEST_AS) -o $@ $<

arm_cortex_a8_local.stdout: arm_cortex_a8_local
	$(TEST_OBJDUMP) -D -j.text $< > $@

arm_cortex_a8_local: arm_cortex_a8_local.o ../ld-new
	../ld-new -o $@ $<

arm_cortex_a8_local.o: arm_cortex_a8_local.s
	$(TEST_AS) -o $@ $<

arm_cortex_a8_local_reloc.stdout: arm_cortex_a8_local_reloc
	$(TEST_OBJDUMP) -D -j.text $< > $@

arm_cortex_a8_local_reloc: arm_cortex_a8_local_reloc.o ../ld-new
	../ld-new -o $@ $<

arm_cortex_a8_local_reloc.o: arm_cortex_a8_local_reloc.s
	$(TEST_AS) -o $@ $<

MOSTLYCLEANFILES += arm_cortex_a8_b_cond arm_cortex_a8_b arm_cortex_a8_bl \
	arm_cortex_a8_blx arm_cortex_a8_local arm_cortex_a8_local_reloc

check_SCRIPTS += arm_exidx_test.sh
check_DATA += arm_exidx_test.stdout

arm_exidx_test.stdout: arm_exidx_test.so
	$(TEST_READELF) -Sr $< > $@

arm_exidx_test.so: arm_exidx_test.o ../ld-new
	../ld-new -shared -o $@ $<

arm_exidx_test.o: arm_exidx_test.s
	$(TEST_AS) -o $@ $<

check_SCRIPTS += pr12826.sh
check_DATA += pr12826.stdout

pr12826.stdout: pr12826.so
	$(TEST_READELF) -A $< > $@

pr12826.so: pr12826_1.o pr12826_2.o ../ld-new
	../ld-new -shared -o $@ $<

pr12826_1.o: pr12826_1.s
	$(TEST_AS) -o $@ $<

pr12826_2.o: pr12826_2.s
	$(TEST_AS) -o $@ $<

check_SCRIPTS += arm_unaligned_reloc.sh
check_DATA += arm_unaligned_reloc.stdout arm_unaligned_reloc_r.stdout

arm_unaligned_reloc.stdout: arm_unaligned_reloc
	$(TEST_OBJDUMP) -D $< > $@

arm_unaligned_reloc_r.stdout: arm_unaligned_reloc_r
	$(TEST_OBJDUMP) -Dr $< > $@

arm_unaligned_reloc: arm_unaligned_reloc.o ../ld-new
	../ld-new -o $@ $<

arm_unaligned_reloc_r: arm_unaligned_reloc.o ../ld-new
	../ld-new -r -o $@ $<

arm_unaligned_reloc.o: arm_unaligned_reloc.s
	$(TEST_AS) -o $@ $<

MOSTLYCLEANFILES += arm_unaligned_reloc arm_unaligned_reloc_r

# Check ARM to ARM farcall veneers

check_SCRIPTS += arm_farcall_arm_arm.sh
check_DATA += arm_farcall_arm_arm.stdout

arm_farcall_arm_arm.stdout: arm_farcall_arm_arm
	$(TEST_OBJDUMP) -d $< > $@

arm_farcall_arm_arm: arm_farcall_arm_arm.o ../ld-new
	../ld-new --no-fix-arm1176 --section-start .text=0x1000 --section-start .foo=0x2001020 -o $@ $<

arm_farcall_arm_arm.o: arm_farcall_arm_arm.s
	$(TEST_AS) -o $@ $<

MOSTLYCLEANFILES += arm_farcall_arm_arm

# Check ARM to Thumb farcall veneers

check_SCRIPTS += arm_farcall_arm_thumb.sh
check_DATA += arm_farcall_arm_thumb.stdout arm_farcall_arm_thumb_5t.stdout

arm_farcall_arm_thumb.stdout: arm_farcall_arm_thumb
	$(TEST_OBJDUMP) -D $< > $@

arm_farcall_arm_thumb: arm_farcall_arm_thumb.o ../ld-new
	../ld-new --section-start .text=0x1000 --section-start .foo=0x2001014 -o $@ $<

arm_farcall_arm_thumb.o: arm_farcall_arm_thumb.s
	$(TEST_AS) -o $@ $<

arm_farcall_arm_thumb_5t.stdout: arm_farcall_arm_thumb_5t
	$(TEST_OBJDUMP) -D $< > $@

arm_farcall_arm_thumb_5t: arm_farcall_arm_thumb_5t.o ../ld-new
	../ld-new --no-fix-arm1176 --section-start .text=0x1000 --section-start .foo=0x2001014 -o $@ $<

arm_farcall_arm_thumb_5t.o: arm_farcall_arm_thumb.s
	$(TEST_AS) -march=armv5t -o $@ $<

MOSTLYCLEANFILES += arm_farcall_arm_thumb arm_farcall_arm_thumb_5t

# Check Thumb to Thumb farcall veneers

check_SCRIPTS += arm_farcall_thumb_thumb.sh
check_DATA += arm_farcall_thumb_thumb.stdout \
	      arm_farcall_thumb_thumb_5t.stdout \
	      arm_farcall_thumb_thumb_7m.stdout \
	      arm_farcall_thumb_thumb_6m.stdout

arm_farcall_thumb_thumb.stdout: arm_farcall_thumb_thumb
	$(TEST_OBJDUMP) -D $< > $@

arm_farcall_thumb_thumb: arm_farcall_thumb_thumb.o ../ld-new
	../ld-new --section-start .text=0x1000 --section-start .foo=0x2001014 -o $@ $<

arm_farcall_thumb_thumb.o: arm_farcall_thumb_thumb.s
	$(TEST_AS) -march=armv4t -o $@ $<

arm_farcall_thumb_thumb_5t.stdout: arm_farcall_thumb_thumb_5t
	$(TEST_OBJDUMP) -D $< > $@

arm_farcall_thumb_thumb_5t: arm_farcall_thumb_thumb_5t.o ../ld-new
	../ld-new --no-fix-arm1176 --section-start .text=0x1000 --section-start .foo=0x2001014 -o $@ $<

arm_farcall_thumb_thumb_5t.o: arm_farcall_thumb_thumb.s
	$(TEST_AS) -march=armv5t -o $@ $<

arm_farcall_thumb_thumb_7m.stdout: arm_farcall_thumb_thumb_7m
	$(TEST_OBJDUMP) -D $< > $@

arm_farcall_thumb_thumb_7m: arm_farcall_thumb_thumb_7m.o ../ld-new
	../ld-new --section-start .text=0x1000 --section-start .foo=0x2001014 -o $@ $<

arm_farcall_thumb_thumb_7m.o: arm_farcall_thumb_thumb.s
	$(TEST_AS) -march=armv7-m -o $@ $<

arm_farcall_thumb_thumb_6m.stdout: arm_farcall_thumb_thumb_6m
	$(TEST_OBJDUMP) -D $< > $@

arm_farcall_thumb_thumb_6m: arm_farcall_thumb_thumb_6m.o ../ld-new
	../ld-new --section-start .text=0x1000 --section-start .foo=0x2001014 -o $@ $<

arm_farcall_thumb_thumb_6m.o: arm_farcall_thumb_thumb.s
	$(TEST_AS) -march=armv6-m -o $@ $<

MOSTLYCLEANFILES += arm_farcall_thumb_thumb arm_farcall_thumb_thumb_5t \
		    arm_farcall_thumb_thumb_7m arm_farcall_thumb_thumb_6m

#Check ARM to ARM farcall veneers in the be8 mode addressing

check_SCRIPTS += arm_farcall_arm_arm_be8.sh
check_DATA += arm_farcall_arm_arm_be8.stdout

arm_farcall_arm_arm_be8.stdout: arm_farcall_arm_arm_be8
	$(TEST_OBJDUMP) -D $< > $@

arm_farcall_arm_arm_be8: arm_farcall_arm_arm_be8.o ../ld-new
	../ld-new --no-fix-arm1176 --section-start .text=0x1000 --section-start .foo=0x2001020 -EB --be8 -o $@ $<

arm_farcall_arm_arm_be8.o: arm_farcall_arm_arm.s
	$(TEST_AS) -EB -o $@ $<

MOSTLYCLEANFILES += arm_farcall_arm_arm_be8

#Check THUMB  to  THUMB farcall veneers in the be8 mode addressing

check_SCRIPTS += arm_farcall_thumb_thumb_be8.sh
check_DATA += arm_farcall_thumb_thumb_be8.stdout

arm_farcall_thumb_thumb_be8.stdout: arm_farcall_thumb_thumb_be8
	$(TEST_OBJDUMP) -D $< > $@

arm_farcall_thumb_thumb_be8: arm_farcall_thumb_thumb_be8.o ../ld-new
	../ld-new --section-start .text=0x1000 --section-start .foo=0x2001014 -EB --be8 -o $@ $<

arm_farcall_thumb_thumb_be8.o: arm_farcall_thumb_thumb.s
	$(TEST_AS) -march=armv7-m -EB -o $@ $<

MOSTLYCLEANFILES += arm_farcall_thumb_thumb_be8

# Check Thumb to ARM farcall veneers

check_SCRIPTS += arm_farcall_thumb_arm.sh
check_DATA += arm_farcall_thumb_arm.stdout \
	      arm_farcall_thumb_arm_5t.stdout

arm_farcall_thumb_arm.stdout: arm_farcall_thumb_arm
	$(TEST_OBJDUMP) -D $< > $@

arm_farcall_thumb_arm: arm_farcall_thumb_arm.o ../ld-new
	../ld-new --section-start .text=0x1c01010 --section-start .foo=0x2001014 -o $@ $<

arm_farcall_thumb_arm.o: arm_farcall_thumb_arm.s
	$(TEST_AS) -o $@ $<

arm_farcall_thumb_arm_5t.stdout: arm_farcall_thumb_arm_5t
	$(TEST_OBJDUMP) -D $< > $@

arm_farcall_thumb_arm_5t: arm_farcall_thumb_arm_5t.o ../ld-new
	../ld-new --no-fix-arm1176 --section-start .text=0x1c01010 --section-start .foo=0x2001014 -o $@ $<

arm_farcall_thumb_arm_5t.o: arm_farcall_thumb_arm.s
	$(TEST_AS) -march=armv5t -o $@ $<

MOSTLYCLEANFILES += arm_farcall_thumb_arm arm_farcall_thumb_arm_5t

# Check handling of --target1-abs, --target1-rel and --target2 options

check_SCRIPTS += arm_target1_abs.sh arm_target1_rel.sh \
		 arm_target2_rel.sh arm_target2_abs.sh arm_target2_got_rel.sh
check_DATA += arm_target1_abs.stdout arm_target1_rel.stdout \
	      arm_target2_rel.stdout arm_target2_abs.stdout arm_target2_got_rel.stdout

arm_target1_abs.stdout: arm_target1_abs
	$(TEST_OBJDUMP) -s $< > $@

arm_target1_abs: arm_target1.o ../ld-new
	../ld-new --target1-abs --section-start .text=0x8000 -o $@ $<

arm_target1_rel.stdout: arm_target1_rel
	$(TEST_OBJDUMP) -s $< > $@

arm_target1_rel: arm_target1.o ../ld-new
	../ld-new --target1-rel --section-start .text=0x8000 -o $@ $<

arm_target1.o: arm_target1.s
	$(TEST_AS) -o $@ $<

arm_target2_rel.stdout: arm_target2_rel
	$(TEST_OBJDUMP) -s $< > $@

arm_target2_rel: arm_target2.o ../ld-new
	../ld-new --target2=rel --section-start .text=0x8000 -o $@ $<

arm_target2_abs.stdout: arm_target2_abs
	$(TEST_OBJDUMP) -s $< > $@

arm_target2_abs: arm_target2.o ../ld-new
	../ld-new --target2=abs --section-start .text=0x8000 -o $@ $<

arm_target2_got_rel.stdout: arm_target2_got_rel
	$(TEST_OBJDUMP) -s $< > $@

arm_target2_got_rel: arm_target2.o ../ld-new
	../ld-new --target2=got-rel --section-start .text=0x8000 --section-start .got=0x9000 -o $@ $<

arm_target2.o: arm_target2.s
	$(TEST_AS) -o $@ $<

MOSTLYCLEANFILES += arm_target1_abs arm_target1_rel \
		    arm_target2_rel arm_target2_abs arm_target2_got_rel

# The test demonstrates why the constructor of a target object should not access options.
check_DATA += arm_target_lazy_init
MOSTLYCLEANFILES += arm_target_lazy_init
arm_target_lazy_init: arm_target_lazy_init.o arm_target_lazy_init.t ../ld-new
	../ld-new -T $(srcdir)/arm_target_lazy_init.t -o $@ $<
arm_target_lazy_init.o: arm_target_lazy_init.s
	$(TEST_AS) -EL -o $@ $<

endif DEFAULT_TARGET_ARM

if DEFAULT_TARGET_AARCH64

check_SCRIPTS += aarch64_reloc_none.sh
check_DATA += aarch64_reloc_none.stdout
aarch64_reloc_none.o: aarch64_reloc_none.s
	$(TEST_AS) -o $@ $<
aarch64_reloc_none: aarch64_reloc_none.o ../ld-new
	../ld-new -o $@ aarch64_reloc_none.o --gc-sections
aarch64_reloc_none.stdout: aarch64_reloc_none
	$(TEST_NM) $< > $@

MOSTLYCLEANFILES += aarch64_reloc_none

check_SCRIPTS += aarch64_relocs.sh
check_DATA += aarch64_relocs.stdout
aarch64_globals.o: aarch64_globals.s
	$(TEST_AS) -o $@ $<
aarch64_relocs.o: aarch64_relocs.s
	$(TEST_AS) -o $@ $<
aarch64_relocs: aarch64_relocs.o aarch64_globals.o ../ld-new
	../ld-new -o $@ aarch64_relocs.o aarch64_globals.o -e0 --emit-relocs
aarch64_relocs.stdout: aarch64_relocs
	$(TEST_OBJDUMP) -dr $< > $@

MOSTLYCLEANFILES += aarch64_relocs

check_SCRIPTS += pr21430.sh
check_DATA += pr21430.stdout
pr21430.o: pr21430.s
	$(TEST_AS) -o $@ $<
pr21430: pr21430.o ../ld-new
	../ld-new -o $@ $<
pr21430.stdout: pr21430
	$(TEST_NM) -S $< > $@

MOSTLYCLEANFILES += pr21430

check_SCRIPTS += aarch64_tlsdesc.sh
check_DATA += aarch64_tlsdesc.stdout
aarch64_tlsdesc.o: aarch64_tlsdesc.s
	$(TEST_AS) -o $@ $<
aarch64_tlsdesc: aarch64_tlsdesc.o $(srcdir)/aarch64_tlsdesc.t ../ld-new
	../ld-new $< -shared -T $(srcdir)/aarch64_tlsdesc.t -o $@
aarch64_tlsdesc.stdout: aarch64_tlsdesc
	$(TEST_OBJDUMP) -dR -j.text -j.got.plt $< > $@

MOSTLYCLEANFILES += aarch64_tlsdesc

endif DEFAULT_TARGET_AARCH64

if DEFAULT_TARGET_S390

check_SCRIPTS += split_s390.sh
check_DATA += split_s390_z1.stdout split_s390_z2.stdout split_s390_z3.stdout \
	split_s390_z4.stdout split_s390_n1.stdout split_s390_n2.stdout \
	split_s390_a1.stdout split_s390_a2.stdout split_s390_z1_ns.stdout \
	split_s390_z2_ns.stdout split_s390_z3_ns.stdout split_s390_z4_ns.stdout \
	split_s390_n1_ns.stdout split_s390_n2_ns.stdout split_s390_r.stdout \
	split_s390x_z1.stdout split_s390x_z2.stdout split_s390x_z3.stdout \
	split_s390x_z4.stdout split_s390x_n1.stdout split_s390x_n2.stdout \
	split_s390x_a1.stdout split_s390x_a2.stdout split_s390x_z1_ns.stdout \
	split_s390x_z2_ns.stdout split_s390x_z3_ns.stdout \
	split_s390x_z4_ns.stdout split_s390x_n1_ns.stdout \
	split_s390x_n2_ns.stdout split_s390x_r.stdout
SPLIT_DEFSYMS = --defsym __morestack=0x100 --defsym __morestack_non_split=0x200
split_s390_1_z1.o: split_s390_1_z1.s
	$(TEST_AS) -m31 -o $@ $<
split_s390_1_z2.o: split_s390_1_z2.s
	$(TEST_AS) -m31 -o $@ $<
split_s390_1_z3.o: split_s390_1_z3.s
	$(TEST_AS) -m31 -o $@ $<
split_s390_1_z4.o: split_s390_1_z4.s
	$(TEST_AS) -m31 -o $@ $<
split_s390_1_n1.o: split_s390_1_n1.s
	$(TEST_AS) -m31 -o $@ $<
split_s390_1_n2.o: split_s390_1_n2.s
	$(TEST_AS) -m31 -o $@ $<
split_s390_1_a1.o: split_s390_1_a1.s
	$(TEST_AS) -m31 -o $@ $<
split_s390_1_a2.o: split_s390_1_a2.s
	$(TEST_AS) -m31 -o $@ $<
split_s390_2_s.o: split_s390_2_s.s
	$(TEST_AS) -m31 -o $@ $<
split_s390_2_ns.o: split_s390_2_ns.s
	$(TEST_AS) -m31 -o $@ $<
split_s390_z1: split_s390_1_z1.o split_s390_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_z1.o split_s390_2_s.o
split_s390_z1.stdout: split_s390_z1
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390_z2: split_s390_1_z2.o split_s390_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_z2.o split_s390_2_s.o
split_s390_z2.stdout: split_s390_z2
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390_z3: split_s390_1_z3.o split_s390_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_z3.o split_s390_2_s.o
split_s390_z3.stdout: split_s390_z3
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390_z4: split_s390_1_z4.o split_s390_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_z4.o split_s390_2_s.o
split_s390_z4.stdout: split_s390_z4
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390_n1: split_s390_1_n1.o split_s390_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_n1.o split_s390_2_s.o
split_s390_n1.stdout: split_s390_n1
	$(TEST_OBJDUMP) -d $< > $@
split_s390_n2: split_s390_1_n2.o split_s390_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_n2.o split_s390_2_s.o
split_s390_n2.stdout: split_s390_n2
	$(TEST_OBJDUMP) -d $< > $@
split_s390_z1_ns: split_s390_1_z1.o split_s390_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_z1.o split_s390_2_ns.o
split_s390_z1_ns.stdout: split_s390_z1_ns
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390_z2_ns: split_s390_1_z2.o split_s390_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_z2.o split_s390_2_ns.o
split_s390_z2_ns.stdout: split_s390_z2_ns
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390_z3_ns: split_s390_1_z3.o split_s390_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_z3.o split_s390_2_ns.o
split_s390_z3_ns.stdout: split_s390_z3_ns
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390_z4_ns: split_s390_1_z4.o split_s390_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_z4.o split_s390_2_ns.o
split_s390_z4_ns.stdout: split_s390_z4_ns
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390_n1_ns: split_s390_1_n1.o split_s390_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_n1.o split_s390_2_ns.o
split_s390_n1_ns.stdout: split_s390_n1_ns
	$(TEST_OBJDUMP) -d $< > $@
split_s390_n2_ns.stdout: split_s390_1_n2.o split_s390_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o split_s390_n2 split_s390_1_n2.o split_s390_2_ns.o > $@ 2>&1 || exit 0
split_s390_a1.stdout: split_s390_1_a1.o split_s390_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o split_s390_a1 split_s390_1_a1.o split_s390_2_ns.o > $@ 2>&1 || exit 0
split_s390_a2: split_s390_1_a2.o split_s390_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390_1_a2.o split_s390_2_ns.o
split_s390_a2.stdout: split_s390_a2
	$(TEST_OBJDUMP) -d $< > $@
split_s390_r.stdout: split_s390_1_z1.o split_s390_2_ns.o ../ld-new
	../ld-new -r split_s390_1_z1.o split_s390_2_ns.o -o split_s390_r > $@ 2>&1 || exit 0
split_s390x_1_z1.o: split_s390x_1_z1.s
	$(TEST_AS) -m64 -o $@ $<
split_s390x_1_z2.o: split_s390x_1_z2.s
	$(TEST_AS) -m64 -o $@ $<
split_s390x_1_z3.o: split_s390x_1_z3.s
	$(TEST_AS) -m64 -o $@ $<
split_s390x_1_z4.o: split_s390x_1_z4.s
	$(TEST_AS) -m64 -o $@ $<
split_s390x_1_n1.o: split_s390x_1_n1.s
	$(TEST_AS) -m64 -o $@ $<
split_s390x_1_n2.o: split_s390x_1_n2.s
	$(TEST_AS) -m64 -o $@ $<
split_s390x_1_a1.o: split_s390x_1_a1.s
	$(TEST_AS) -m64 -o $@ $<
split_s390x_1_a2.o: split_s390x_1_a2.s
	$(TEST_AS) -m64 -o $@ $<
split_s390x_2_s.o: split_s390x_2_s.s
	$(TEST_AS) -m64 -o $@ $<
split_s390x_2_ns.o: split_s390x_2_ns.s
	$(TEST_AS) -m64 -o $@ $<
split_s390x_z1: split_s390x_1_z1.o split_s390x_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_z1.o split_s390x_2_s.o
split_s390x_z1.stdout: split_s390x_z1
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390x_z2: split_s390x_1_z2.o split_s390x_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_z2.o split_s390x_2_s.o
split_s390x_z2.stdout: split_s390x_z2
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390x_z3: split_s390x_1_z3.o split_s390x_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_z3.o split_s390x_2_s.o
split_s390x_z3.stdout: split_s390x_z3
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390x_z4: split_s390x_1_z4.o split_s390x_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_z4.o split_s390x_2_s.o
split_s390x_z4.stdout: split_s390x_z4
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390x_n1: split_s390x_1_n1.o split_s390x_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_n1.o split_s390x_2_s.o
split_s390x_n1.stdout: split_s390x_n1
	$(TEST_OBJDUMP) -d $< > $@
split_s390x_n2: split_s390x_1_n2.o split_s390x_2_s.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_n2.o split_s390x_2_s.o
split_s390x_n2.stdout: split_s390x_n2
	$(TEST_OBJDUMP) -d $< > $@
split_s390x_z1_ns: split_s390x_1_z1.o split_s390x_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_z1.o split_s390x_2_ns.o
split_s390x_z1_ns.stdout: split_s390x_z1_ns
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390x_z2_ns: split_s390x_1_z2.o split_s390x_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_z2.o split_s390x_2_ns.o
split_s390x_z2_ns.stdout: split_s390x_z2_ns
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390x_z3_ns: split_s390x_1_z3.o split_s390x_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_z3.o split_s390x_2_ns.o
split_s390x_z3_ns.stdout: split_s390x_z3_ns
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390x_z4_ns: split_s390x_1_z4.o split_s390x_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_z4.o split_s390x_2_ns.o
split_s390x_z4_ns.stdout: split_s390x_z4_ns
	$(TEST_OBJDUMP) -j .rodata -j .text -D $< > $@
split_s390x_n1_ns: split_s390x_1_n1.o split_s390x_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_n1.o split_s390x_2_ns.o
split_s390x_n1_ns.stdout: split_s390x_n1_ns
	$(TEST_OBJDUMP) -d $< > $@
split_s390x_n2_ns.stdout: split_s390x_1_n2.o split_s390x_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o split_s390x_n2 split_s390x_1_n2.o split_s390x_2_ns.o > $@ 2>&1 || exit 0
split_s390x_a1.stdout: split_s390x_1_a1.o split_s390x_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o split_s390x_a1 split_s390x_1_a1.o split_s390x_2_ns.o > $@ 2>&1 || exit 0
split_s390x_a2: split_s390x_1_a2.o split_s390x_2_ns.o ../ld-new
	../ld-new $(SPLIT_DEFSYMS) -o $@ split_s390x_1_a2.o split_s390x_2_ns.o
split_s390x_a2.stdout: split_s390x_a2
	$(TEST_OBJDUMP) -d $< > $@
split_s390x_r.stdout: split_s390x_1_z1.o split_s390x_2_ns.o ../ld-new
	../ld-new -r split_s390x_1_z1.o split_s390x_2_ns.o -o split_s390x_r > $@ 2>&1 || exit 0
MOSTLYCLEANFILES += split_s390_z1 split_s390_z2 split_s390_z3 \
	split_s390_z4 split_s390_n1 split_s390_n2 split_s390_a1 \
	split_s390_a2 split_s390_z1_ns split_s390_z2_ns split_s390_z3_ns \
	split_s390_z4_ns split_s390_n1_ns split_s390_n2_ns split_s390_r \
	split_s390x_z1 split_s390x_z2 split_s390x_z3 split_s390x_z4 \
	split_s390x_n1 split_s390x_n2 split_s390x_a1 split_s390x_a2 \
	split_s390x_z1_ns split_s390x_z2_ns split_s390x_z3_ns \
	split_s390x_z4_ns split_s390x_n1_ns split_s390x_n2_ns split_s390x_r

endif DEFAULT_TARGET_S390

endif NATIVE_OR_CROSS_LINKER

# Tests for the dwp tool.
# We don't want to rely yet on GCC support for -gsplit-dwarf,
# so we use (for now) test cases in x86 assembly language,
# compiled from the dwp_test_*.cc sources.

if DEFAULT_TARGET_X86_64

dwp_test_main.o: dwp_test_main.s
	$(TEST_AS) -o $@ $<
dwp_test_1.o: dwp_test_1.s
	$(TEST_AS) -o $@ $<
dwp_test_1b.o: dwp_test_1b.s
	$(TEST_AS) -o $@ $<
dwp_test_2.o: dwp_test_2.s
	$(TEST_AS) -o $@ $<

dwp_test_main.dwo: dwp_test_main.o
	$(TEST_OBJCOPY) --extract-dwo $< $@
dwp_test_1.dwo: dwp_test_1.o
	$(TEST_OBJCOPY) --extract-dwo $< $@
dwp_test_1b.dwo: dwp_test_1b.o
	$(TEST_OBJCOPY) --extract-dwo $< $@
dwp_test_2.dwo: dwp_test_2.o
	$(TEST_OBJCOPY) --extract-dwo $< $@

MOSTLYCLEANFILES += *.dwo *.dwp
check_SCRIPTS += dwp_test_1.sh
check_DATA += dwp_test_1.stdout
dwp_test_1.stdout: dwp_test_1.dwp
	$(TEST_READELF) -wi $< > $@
dwp_test_1.dwp: ../dwp dwp_test_main.dwo dwp_test_1.dwo dwp_test_1b.dwo dwp_test_2.dwo
	../dwp -o $@ dwp_test_main.dwo dwp_test_1.dwo dwp_test_1b.dwo dwp_test_2.dwo

check_SCRIPTS += dwp_test_2.sh
check_DATA += dwp_test_2.stdout
dwp_test_2.stdout: dwp_test_2.dwp
	$(TEST_READELF) -wi $< > $@
dwp_test_2.dwp: ../dwp dwp_test_2a.dwp dwp_test_2b.dwp
	../dwp -o $@ dwp_test_2a.dwp dwp_test_2b.dwp
dwp_test_2a.dwp: ../dwp dwp_test_main.dwo dwp_test_1.dwo
	../dwp -o $@ dwp_test_main.dwo dwp_test_1.dwo
dwp_test_2b.dwp: ../dwp dwp_test_1b.dwo dwp_test_2.dwo
	../dwp -o $@ dwp_test_1b.dwo dwp_test_2.dwo

check_SCRIPTS += pr26936.sh
check_DATA += pr26936a.stdout pr26936b.stdout
MOSTLYCLEANFILES += pr26936a pr26936b
pr26936a.stdout: pr26936a
	$(TEST_READELF) -wL -wR -wr $< >$@ 2>/dev/null
pr26936a: pr26936a.o pr26936b.o pr26936c.o ../ld-new
	../ld-new -Ttext-segment 0x10000 -z max-page-size=0x1000 \
		-e _start -o $@ pr26936a.o pr26936b.o pr26936c.o
pr26936b.stdout: pr26936b
	$(TEST_READELF) -wL -wR -wr $< >$@ 2>/dev/null
pr26936b: pr26936d.o pr26936b.o pr26936c.o ../ld-new
	../ld-new -Ttext-segment 0x10000 -z max-page-size=0x1000 \
		-e _start -o $@ pr26936d.o pr26936b.o pr26936c.o
pr26936a.o: pr26936a.s
	$(TEST_AS) --gen-debug -mx86-used-note=yes -o $@ $<
pr26936b.o: pr26936b.s
	$(TEST_AS) --gen-debug -mx86-used-note=yes -o $@ $<
pr26936c.o: pr26936c.s
	$(TEST_AS) --gen-debug -mx86-used-note=yes -o $@ $<
pr26936d.o: pr26936d.s
	$(TEST_AS) --gen-debug -mx86-used-note=yes -o $@ $<

check_SCRIPTS += retain.sh
check_DATA += retain_1.out retain_2.out
MOSTLYCLEANFILES += retain_1 retain_2
retain_1.out: retain_1
	$(TEST_NM) $< >$@
retain_1: retain_1.o ../ld-new
	../ld-new  -e _start --gc-sections -o $@  retain_1.o
retain_1.o: retain_1.s
	$(TEST_AS) -o $@ $<
retain_2.out: retain_2
	$(TEST_READELF) -d $< >$@
retain_2: retain_2.o ../ld-new
	../ld-new -pie -e _start --gc-sections -o $@  retain_2.o
retain_2.o: retain_2.s
	$(TEST_AS) -o $@ $<

endif DEFAULT_TARGET_X86_64
