diff options
author | Han Shen <shenhan@google.com> | 2015-11-17 16:29:47 -0800 |
---|---|---|
committer | Han Shen <shenhan@google.com> | 2015-11-19 17:29:00 -0800 |
commit | 8bfb6b2bf11cfbc445239158ec28d0988f8fa947 (patch) | |
tree | 64baf9be2b2d76eb0d3d83ec6acf3d5ddd452b64 /binutils-2.25/gold/testsuite/Makefile.am | |
parent | 932d71b859239e834651fdee549dc661cda82fe8 (diff) | |
download | toolchain_binutils-8bfb6b2bf11cfbc445239158ec28d0988f8fa947.tar.gz toolchain_binutils-8bfb6b2bf11cfbc445239158ec28d0988f8fa947.tar.bz2 toolchain_binutils-8bfb6b2bf11cfbc445239158ec28d0988f8fa947.zip |
Create an unified binutils source tree for both Android and ChromiumOS.
About source code - The base version of this binutils is newer than that
of aosp/binutils-2.25, it is based on the binutils that is used to build
google products and ChromiumOS. And it contains *all* local Android
patches as well as all patches that are cherry-picked from upstream for
aosp/binutils-2.25 tree (up to Nov. 5 - 932d71b85). You may find the
detailed development history for this binutils tree here -
https://chromium.googlesource.com/chromiumos/third_party/binutils/+log/unification
(This CL is a combination of all the CLs in it. After this CL is
submitted the tree will be identical to
https://chromium.googlesource.com/chromiumos/third_party/binutils/+log/unification
at 2865a3615d80bd5f82d14d7e0484e84dc052596a)
About testing - We tested this binutils for both ChromiumOS and
Android. For android, we tested building N4, N5X, N6, N7, N9 using new
binutils, we also did a full-build of toolchain (by build.py) and built
a N5X image; for ChromiumOS - it passed ChromiumOS toolchain release
tests on all 4 platforms (x86, x86_64, arm32 and arm64).
Change-Id: I2bb2cf579f9458d0a8bc9612331dc7d5043e3d82
Diffstat (limited to 'binutils-2.25/gold/testsuite/Makefile.am')
-rw-r--r-- | binutils-2.25/gold/testsuite/Makefile.am | 72 |
1 files changed, 52 insertions, 20 deletions
diff --git a/binutils-2.25/gold/testsuite/Makefile.am b/binutils-2.25/gold/testsuite/Makefile.am index 83619428..a9caa6bc 100644 --- a/binutils-2.25/gold/testsuite/Makefile.am +++ b/binutils-2.25/gold/testsuite/Makefile.am @@ -144,7 +144,7 @@ endif NATIVE_OR_CROSS_LINKER # 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 TEST_AS_NATIVE_LINKER if GCC # Each of these .o's is a useful, small complete program. They're @@ -164,7 +164,7 @@ incremental_test_1.o: incremental_test_1.c 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 incremental_test_1.o incremental_test_2.o -Wl,-debug 2> incremental_test.cmdline + $(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 > $@ @@ -528,6 +528,20 @@ pie_copyrelocs_shared_test.o: pie_copyrelocs_shared_test.cc pie_copyrelocs_shared_test.so: pie_copyrelocs_shared_test.o gcctestdir/ld $(CXXLINK) -Bgcctestdir/ -shared pie_copyrelocs_shared_test.o +check_SCRIPTS += disable_pie_unsafe_size_test.sh +check_PROGRAMS += disable_pie_unsafe_size_test +check_DATA += disable_pie_unsafe_size_test_readelf.stdout +MOSTLYCLEANFILES += disable_pie_unsafe_size_test +disable_pie_unsafe_size_test_SOURCES = disable_pie_unsafe_size_test.cc +disable_pie_unsafe_size_test_LDFLAGS = -Bgcctestdir/ -pie +disable_pie_unsafe_size_test_readelf.stdout: disable_pie_unsafe_size_test + $(TEST_READELF) -l $< >$@ 2>/dev/null + +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 @@ -870,6 +884,11 @@ 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 @@ -2237,6 +2256,19 @@ memory_test: memory_test.o gcctestdir/ld $(srcdir)/memory_test.t 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_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 -z max-page-size=0x1000 -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. @@ -2365,31 +2397,31 @@ 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 -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 + $(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 -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 + $(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 -Bgcctestdir/ two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.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 -Bgcctestdir/ two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.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 -Bgcctestdir/ two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.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 -Bgcctestdir/ two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.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 @@ -2397,11 +2429,11 @@ 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 -Bgcctestdir/ two_file_test_main.o two_file_test_5.a + $(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 -Bgcctestdir/ two_file_test_main.o two_file_test_5.a + $(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. @@ -2411,38 +2443,38 @@ 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 -Bgcctestdir/ two_file_test_main.o two_file_test_6.a + $(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 -Bgcctestdir/ two_file_test_main.o -Wl,--incremental-unchanged two_file_test_6.a -Wl,--incremental-unknown + $(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 -Bgcctestdir/ -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so + $(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 -Bgcctestdir/ -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so + $(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 -Bgcctestdir/ 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 -Bgcctestdir/ 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 -Bgcctestdir/ incr_comdat_test_1.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 -Bgcctestdir/ incr_comdat_test_1.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 -Bgcctestdir/ incr_comdat_test_1.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 @@ -2459,7 +2491,7 @@ exception_x86_64_bnd_2.o: exception_test_2.cc gcctestdir/as endif DEFAULT_TARGET_X86_64 endif GCC -endif NATIVE_LINKER +endif TEST_AS_NATIVE_LINKER # These tests work with native and cross linkers. |