# 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 are different from automake used by gold.
COMPILE1 = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK1 = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
CXXCOMPILE1 = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLINK1 = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(OPT_NO_PLUGINS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@

# Strip out -Wp,-D_FORTIFY_SOURCE=, which is irrelevant for the gold
# testsuite and incompatible with -O0 used in gold tests, from
# COMPILE, LINK, CXXCOMPILE and CXXLINK.
COMPILE = `echo $(COMPILE1) | sed -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9[0-9]]*//'`
LINK = `echo $(LINK1) | sed -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9][0-9]*//'`
CXXCOMPILE = `echo $(CXXCOMPILE1) | sed -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9][0-9]*//'`
CXXLINK = `echo $(CXXLINK1) | sed -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9][0-9]*//'`

# 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.)
CXXLINK_S = `echo $(CXXLINK1) | sed -e 's/-static-lib\\(gcc\\|stdc++\\)//g'`

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
THREADSLIB = -lpthread
endif

if OMP_SUPPORT
TLS_TEST_C_CFLAGS = -fopenmp
endif

# '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

# 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)
LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \
	$(THREADSLIB) $(LIBDL) $(ZLIB)


# 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
	test -d gcctestdir || mkdir -p gcctestdir
	rm -f gcctestdir/ld
	(cd gcctestdir && $(LN_S) ../../ld-new ld)

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

endif GCC

check_PROGRAMS += object_unittest
object_unittest_SOURCES = object_unittest.cc

check_PROGRAMS += binary_unittest
binary_unittest_SOURCES = binary_unittest.cc

check_PROGRAMS += leb128_unittest
leb128_unittest_SOURCES = leb128_unittest.cc

check_PROGRAMS += overflow_unittest
overflow_unittest_SOURCES = overflow_unittest.cc
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

# 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) -Bgcctestdir/ -Wl,--incremental-full -Wl,-z,norelro 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) -Bgcctestdir/ -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) -Bgcctestdir/ -Wl,--gc-sections gc_tls_test.o
gc_tls_test.stdout: gc_tls_test
	$(TEST_NM) -C gc_tls_test > gc_tls_test.stdout

check_SCRIPTS += 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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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 -Bgcctestdir/ -Wl,--icf=all,-Map,icf_test.map icf_test.o
icf_test.map: icf_test
	@touch icf_test.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) -Bgcctestdir/ -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 -Bgcctestdir/ -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 -Bgcctestdir/ -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 -Bgcctestdir/ -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) -Bgcctestdir/ -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)  -Bgcctestdir/ text_section_grouping.o
text_section_no_grouping: text_section_grouping.o gcctestdir/ld
	$(CXXLINK)  -Bgcctestdir/ -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)  -Bgcctestdir/ -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)  -Bgcctestdir/ -Wl,-z,text-unlikely-segment text_unlikely_segment.o
text_unlikely_segment_readelf.stdout: text_unlikely_segment
	$(TEST_READELF) -Wl $< >$@

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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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_LDFLAGS = -Bgcctestdir/
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) -Bgcctestdir/ 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) -Bgcctestdir/ 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) -Bgcctestdir/ 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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ basic_pic_test.o

if HAVE_STATIC
check_PROGRAMS += basic_static_pic_test
basic_static_pic_test: basic_pic_test.o gcctestdir/ld
	$(CXXLINK) -Bgcctestdir/ -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) -Bgcctestdir/ -pie basic_pie_test.o

check_PROGRAMS += constructor_test
constructor_test_SOURCES = constructor_test.cc
constructor_test_DEPENDENCIES = gcctestdir/ld
constructor_test_LDFLAGS = -Bgcctestdir/
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_LDFLAGS = -Bgcctestdir/
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_LDFLAGS = -Bgcctestdir/
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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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_LDFLAGS = -Bgcctestdir/
common_test_1_LDADD =

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 = -Bgcctestdir/ -Wl,-R,.
common_test_2_LDADD = common_test_2.so common_test_3.so
common_test_2_pic.o: common_test_2.c
	$(COMPILE) -c -fpic -o $@ $<
common_test_2.so: common_test_2_pic.o common_test_3.so gcctestdir/ld
	$(LINK) -Bgcctestdir/ -shared common_test_2_pic.o common_test_3.so
common_test_3_pic.o: common_test_3.c
	$(COMPILE) -c -fpic -o $@ $<
common_test_3.so: common_test_3_pic.o ver_test_2.script gcctestdir/ld
	$(LINK) -Bgcctestdir/ -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) -Bgcctestdir/ -shared exception_test_1_pic.o
exception_shared_2.so: exception_test_2_pic.o gcctestdir/ld
	$(CXXLINK) -Bgcctestdir/ -shared exception_test_2_pic.o
exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o gcctestdir/ld
	$(CXXLINK) -Bgcctestdir/ -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_LDFLAGS = -Bgcctestdir/
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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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_LDFLAGS = -Bgcctestdir/
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 = -Bgcctestdir/ -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) -Bgcctestdir/ -shared weak_undef_file1.o
alt/weak_undef_lib.so: weak_undef_file2.o gcctestdir/ld
	test -d alt || mkdir -p alt
	$(CXXLINK) -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ 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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -o copy_test_protected copy_test_protected.o copy_test_2.so -Wl,-R,. "2>$@"
	@if $(CXXLINK) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/
tls_test_LDADD = tls_test_c.o -lpthread
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 = -Bgcctestdir/
tls_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o \
	-lpthread

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) -Bgcctestdir/ -pie tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o tls_test_c_pie.o -lpthread

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) -Bgcctestdir/ -pie tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o -lpthread

tls_shared_test_SOURCES = tls_test_main.cc
tls_shared_test_DEPENDENCIES = gcctestdir/ld tls_test_shared.so
tls_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
tls_shared_test_LDADD = tls_test_shared.so -lpthread

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 = -Bgcctestdir/ -Wl,-R,.
tls_shared_ie_test_LDADD = tls_test_ie_shared.so -lpthread

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 = -Bgcctestdir/ -Wl,-R,.
tls_shared_gd_to_ie_test_LDADD = tls_test_pic.o tls_test_c_pic.o \
	tls_test_shared2.so -lpthread

if TLS_GNU2_DIALECT

check_PROGRAMS += tls_shared_gnu2_gd_to_ie_test

tls_test_gnu2.o: tls_test.cc
	$(CXXCOMPILE) -c -fpic -mtls-dialect=gnu2 -o $@ $<
tls_test_file2_gnu2.o: tls_test_file2.cc
	$(CXXCOMPILE) -c -fpic -mtls-dialect=gnu2 -o $@ $<
tls_test_c_gnu2.o: tls_test_c.c
	$(COMPILE) -c -fpic -mtls-dialect=gnu2 $(TLS_TEST_C_CFLAGS) -o $@ $<
tls_test_gnu2_shared2.so: tls_test_file2_gnu2.o gcctestdir/ld
	$(CXXLINK) -Bgcctestdir/ -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 = -Bgcctestdir/ -Wl,-R,.
tls_shared_gnu2_gd_to_ie_test_LDADD = tls_test_gnu2.o tls_test_c_gnu2.o \
	tls_test_gnu2_shared2.so -lpthread

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) -Bgcctestdir/ -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 = -Bgcctestdir/ -Wl,-R,.
tls_shared_gnu2_test_LDADD = tls_test_gnu2_shared.so -lpthread

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) -Bgcctestdir/ -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 = -Bgcctestdir/ -Wl,-R,.
tls_shared_nonpic_test_LDADD = tls_test_shared_nonpic.so -lpthread
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
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_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_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_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 $< > $@

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_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

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 = -Bgcctestdir/ -fPIE
pr20216a_test_LDFLAGS = -Bgcctestdir/ -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 = -Bgcctestdir/ -fPIE
pr20216b_test_LDFLAGS = -pie -Bgcctestdir/ -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 = -Bgcctestdir/ -fPIE
pr20216c_test_LDFLAGS = -static -Bgcctestdir/ -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 = -Bgcctestdir/ -fPIE
pr20216d_test_LDFLAGS = -Bgcctestdir/ -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 = -Bgcctestdir/ -fPIE
pr20216e_test_LDFLAGS = -Bgcctestdir/ -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) -Bgcctestdir/ -shared pr20216_gd.o pr20216_ld.o

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

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

pr20216_ld.o: pr20216_ld.S gcctestdir/as
	$(COMPILE) -Bgcctestdir/ -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 = -Bgcctestdir/ -fPIE
pr20308a_test_LDFLAGS = -Bgcctestdir/ -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 = -Bgcctestdir/ -fPIE
pr20308b_test_LDFLAGS = -pie -Bgcctestdir/ -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 = -Bgcctestdir/ -fPIE
pr20308c_test_LDFLAGS = -static -Bgcctestdir/ -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 = -Bgcctestdir/ -fPIE
pr20308d_test_LDFLAGS = -Bgcctestdir/ -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 = -Bgcctestdir/ -fPIE
pr20308e_test_LDFLAGS = -Bgcctestdir/ -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) -Bgcctestdir/ -shared pr20308_gd.o pr20308_ld.o

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

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

pr20308_ld.o: pr20308_ld.S gcctestdir/as
	$(COMPILE) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ 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) -Bgcctestdir/ file_in_many_sections.o -Wl,--gc-sections
file_in_many_sections.stdout: file_in_many_sections
	$(TEST_READELF) -s $< > $@

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

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

check_PROGRAMS += initpri3a
initpri3a_SOURCES = initpri3.c
initpri3a_DEPENDENCIES = gcctestdir/ld
initpri3a_LDFLAGS = -Bgcctestdir/
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 = -Bgcctestdir/ -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) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o "2>$@"
	@if $(CXXLINK) -Bgcctestdir/ -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) -Bgcctestdir/ -o missing_key_func missing_key_func.o "2>$@"
	@if $(CXXLINK) -Bgcctestdir/ -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) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/debug_msg.cc
odr_violation1_cdebug.o: odr_violation1.cc gcctestdir/as
	$(CXXCOMPILE) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/odr_violation1.cc
odr_violation2_cdebug.o: odr_violation2.cc gcctestdir/as
	$(CXXCOMPILE) -Bgcctestdir/ -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) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o "2>$@"
	@if $(CXXLINK) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -O0 -g -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc
odr_violation1.so: odr_violation1.cc gcctestdir/ld
	$(CXXCOMPILE) -Bgcctestdir/ -O0 -g -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc
odr_violation2.so: odr_violation2.cc gcctestdir/ld
	$(CXXCOMPILE) -Bgcctestdir/ -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) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so "2>$@"
	@if $(CXXLINK_S) -Bgcctestdir/ -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) -Bgcctestdir/ -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc
odr_violation1_ndebug.so: odr_violation1.cc gcctestdir/ld
	$(CXXCOMPILE) -Bgcctestdir/ -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc
odr_violation2_ndebug.so: odr_violation2.cc gcctestdir/ld
	$(CXXCOMPILE) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -shared undef_symbol.o
undef_symbol.err: undef_symbol_main.o undef_symbol.so gcctestdir/ld
	@echo $(CXXLINK) -Bgcctestdir/ -o undef_symbol_test undef_symbol_main.o undef_symbol.so "2>$@"
	@if $(CXXLINK) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_10.script ver_test_2.o

check_PROGRAMS += ver_test_11
MOSTLYCLEANFILES += ver_test_11.a
ver_test_11_SOURCES = ver_test_main_2.cc
ver_test_11_DEPENDENCIES = gcctestdir/ld ver_test_11.a
ver_test_11_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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_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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -shared -o protected_4.so protected_4_pic.o "2>$@"
	@if $(CXXLINK) -Bgcctestdir/ -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 = -Bgcctestdir/ -Wl,-R,.
relro_test_LDADD = relro_test.so
relro_test.so: gcctestdir/ld relro_test_pic.o
	$(CXXLINK) -Bgcctestdir/ -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 = -Bgcctestdir -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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 $@ -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 = -Bgcctestdir/ -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 -Bgcctestdir/ -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) -Bgcctestdir/ 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) -Bgcctestdir/ 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) -Bgcctestdir/ 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) -Bgcctestdir/ 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) -Bgcctestdir/ 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) -Bgcctestdir/ 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) -Bgcctestdir/ 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) -Bgcctestdir/ 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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ 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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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_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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o -Wl,--whole-archive,plugin_test_4.a,--no-whole-archive 2>plugin_test_4.err
plugin_test_4.err: plugin_test_4
	@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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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
	$(COMPILE) -c -o $@ $<
plugin_test_12: export_dynamic_plugin.o gcctestdir/ld plugin_test.so export_dynamic_plugin.o.syms
	$(CXXLINK) -Bgcctestdir/ -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_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) -Bgcctestdir/ -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


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) -Bgcctestdir/ -shared plugin_test.o
plugin_test.o: plugin_test.c
	$(COMPILE) -O0 -c -fpic -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -shared plugin_section_order.o
plugin_section_order.o: plugin_section_order.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) -Bgcctestdir/ -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) -Bgcctestdir/ -shared plugin_section_alignment.o
plugin_section_alignment.o: plugin_section_alignment.cc
	$(CXXCOMPILE) -O0 -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 = -Bgcctestdir/ -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) -Bgcctestdir/ 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 = -Bgcctestdir/ -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_LDFLAGS = -Bgcctestdir/
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) -Bgcctestdir/ -g -shared -fPIC -w -o $@ $(srcdir)/hidden_test_1.c
hidden_test: hidden_test_main.o libhidden.so gcctestdir/ld
	$(LINK) -Bgcctestdir/ -Wl,-R,. hidden_test_main.o libhidden.so 2>hidden_test.err
hidden_test.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) -Bgcctestdir/ -shared -Wl,-retain-symbols-file,retain_symbols_file_test.in basic_pic_test.o
retain_symbols_file_test.stdout: retain_symbols_file_test.so
	$(TEST_NM) -C retain_symbols_file_test.so > $@


# Test that if the output file already exists and is empty,
# it will get execute permission.
check_PROGRAMS += permission_test
permission_test: basic_test.o gcctestdir/ld
	umask 022; \
	rm -f $@; \
	touch $@; \
	chmod 600 $@; \
	$(CXXLINK) -Bgcctestdir/ basic_test.o

# 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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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 = -Bgcctestdir/ -static
ifuncmain1static_LDADD = ifuncdep1.o

check_PROGRAMS += ifuncmain1picstatic
ifuncmain1picstatic: ifuncmain1pic.o ifuncmod1.o gcctestdir/ld
	$(LINK) -Bgcctestdir/ -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 = -Bgcctestdir/ -Wl,-R,.
ifuncmain1_LDADD = ifuncmod1.so

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

check_PROGRAMS += ifuncmain1vis
ifuncmain1vis_SOURCES = ifuncmain1vis.c
ifuncmain1vis_DEPENDENCIES = gcctestdir/ld ifuncmod1.so
ifuncmain1vis_LDFLAGS = -Bgcctestdir/ -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) -Bgcctestdir/ ifuncmain1pic.o ifuncmod1.so -Wl,-R,.

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

check_PROGRAMS += ifuncmain1pie
ifuncmain1pie: ifuncmain1pie.o ifuncmod1.so gcctestdir/ld
	$(LINK) -Bgcctestdir/ -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) -Bgcctestdir/ -pie ifuncmain1vispie.o ifuncmod1.so -Wl,-R,.

check_PROGRAMS += ifuncmain1staticpie
ifuncmain1staticpie: ifuncmain1pie.o ifuncmod1.o gcctestdir/ld
	$(LINK) -Bgcctestdir/ -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 = -Bgcctestdir/ -static
ifuncmain2static_LDADD =

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

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

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

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

check_PROGRAMS += ifuncmain3
ifuncmain3_SOURCES = ifuncmain3.c
ifuncmain3_DEPENDENCIES = gcctestdir/ld ifuncmod3.so
ifuncmain3_LDFLAGS = -Bgcctestdir/ -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 = -Bgcctestdir/ -static
ifuncmain4static_LDADD =

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

check_PROGRAMS += ifuncmain4
ifuncmain4_SOURCES = ifuncmain4.c
ifuncmain4_DEPENDENCIES = gcctestdir/ld
ifuncmain4_LDFLAGS = -Bgcctestdir/
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) -Bgcctestdir/ -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 = -Bgcctestdir/ -static
ifuncmain5static_LDADD = ifuncdep5.o

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

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

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

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

check_PROGRAMS += ifuncmain5pie
ifuncmain5pie: ifuncmain5pie.o ifuncmod5.so gcctestdir/ld
	$(LINK) -Bgcctestdir/ -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) -Bgcctestdir/ -shared ifuncmod6.o

check_PROGRAMS += ifuncmain6pie
ifuncmain6pie: ifuncmain6pie.o ifuncmod6.so gcctestdir/ld
	$(LINK) -Bgcctestdir/ -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 = -Bgcctestdir/ -static
ifuncmain7static_LDADD =

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

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

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

check_PROGRAMS += ifuncmain7pie
ifuncmain7pie: ifuncmain7pie.o gcctestdir/ld
	$(LINK) -Bgcctestdir/ -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) -Bgcctestdir/ -shared ifuncvar1_pic.o ifuncvar2_pic.o
ifuncvar_SOURCES = ifuncvar3.c
ifuncvar_DEPENDENCIES = gcctestdir/ld ifuncvar.so
ifuncvar_LDFLAGS = -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections -c -o $@ $<
gdb_index_test_2: gdb_index_test_cdebug.o gcctestdir/ld
	$(CXXLINK) -Bgcctestdir/ -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) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections=zlib-gabi -c -o $@ $<
gdb_index_test_2_gabi: gdb_index_test_cdebug_gabi.o gcctestdir/ld
	$(CXXLINK) -Bgcctestdir/ -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) -Bgcctestdir/ -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) -Bgcctestdir/ -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_LDFLAGS = -Bgcctestdir/
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_LDFLAGS = -Bgcctestdir/
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 = -Bgcctestdir/ -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) -Bgcctestdir/ -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_LDFLAGS = -Bgcctestdir/
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) -Bgcctestdir/ -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) -Bgcctestdir/ 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 -c -o $@ $<
two_file_test_1_ndebug.o: two_file_test_1.cc
	$(CXXCOMPILE) -O0 -g0 -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 $@ $<

check_PROGRAMS += incremental_test_2
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 -Bgcctestdir/ 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 -Bgcctestdir/ two_file_test_tmp_2.o two_file_test_1b_ndebug.o two_file_test_2_ndebug.o two_file_test_main_ndebug.o

check_PROGRAMS += incremental_test_3
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 -Bgcctestdir/ 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 -Bgcctestdir/ two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.o

check_PROGRAMS += incremental_test_4
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 -Bgcctestdir/ 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 -Bgcctestdir/ two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.o

check_PROGRAMS += incremental_test_5
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 -Bgcctestdir/ 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 -Bgcctestdir/ 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 -Bgcctestdir/ 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 -Bgcctestdir/ two_file_test_main.o -Wl,--incremental-unchanged two_file_test_6.a -Wl,--incremental-unknown

check_PROGRAMS += incremental_copy_test
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 -Bgcctestdir/ -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 -Bgcctestdir/ -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so

check_PROGRAMS += incremental_common_test_1
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 -Bgcctestdir/ 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 -Bgcctestdir/ common_test_1_tmp.o

check_PROGRAMS += incremental_comdat_test_1
incremental_comdat_test_1: incr_comdat_test_1.o incr_comdat_test_2_v1.o incr_comdat_test_2_v2.o incr_comdat_test_2_v3.o gcctestdir/ld
	cp -f incr_comdat_test_2_v1.o incr_comdat_test_1_tmp.o
	$(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ 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 -Bgcctestdir/ 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 -Bgcctestdir/ 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 -Bgcctestdir/ -Wa,-madd-bnd-prefix -o $@ $<
exception_x86_64_bnd_2.o: exception_test_2.cc gcctestdir/as
	$(CXXCOMPILE) -c -Bgcctestdir/ -Wa,-madd-bnd-prefix -o $@ $<
endif DEFAULT_TARGET_X86_64

check_PROGRAMS += pr22266
pr22266: pr22266_main.o pr22266_ar.o gcctestdir/ld
	$(LINK) -Bgcctestdir/ 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

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

endif DEFAULT_TARGET_X86_64
