From ad961eab9a010e79d17a4ea7e6bb977fe6dd86c2 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 29 Jun 2016 08:37:30 -0700 Subject: [PATCH] gold: Support x86-64 TLS code sequences without PLT There are extensions to x86-64 psABI: https://groups.google.com/forum/#!topic/x86-64-abi/de5_KnLHxtI to call tls_get_addr via GOT: call *__tls_get_addr@GOTPCREL(%rip) Since direct call is 4-byte long and indirect call, is 5-byte long, the extra one byte must be handled properly. For general dynamic model, one 0x66 prefix before call instruction is removed to make room for indirect call. For local dynamic model, we simply use 5-byte indirect call. TLS linker optimization is updated to recognize new instruction patterns. For local dynamic model to local exec model transition, we generate 4 0x66 prefixes, instead of 3, before mov instruction in 64-bit and generate a 5-byte nop, instead of 4-byte, before mov instruction in 32-bit. PR gold/20216 * configure.ac (DEFAULT_TARGET_X86_64_OR_X32): New AM_CONDITIONAL. * configure: Regenerated. * x86_64.cc (Target_x86_64::Relocate::relocate): Allow R_X86_64_GOTPCRELX relocation against __tls_get_addr. (Target_x86_64::Relocate::tls_gd_to_ie): Support indirect call to __tls_get_addr. (Target_x86_64::Relocate::tls_gd_to_le): Likewise. (Target_x86_64::Relocate::tls_ld_to_le): Likewise. * testsuite/Makefile.am (check_PROGRAMS): Add pr20216a_test, pr20216b_test, pr20216c_test, pr20216d_test, pr20216e_test. (pr20216a_test_SOURCES): New. (pr20216a_test_DEPENDENCIES): Likewise. (pr20216a_test_CFLAGS): Likewise. (pr20216a_test_LDFLAGS): Likewise. (pr20216a_test_LDADD): Likewise. (pr20216b_test_SOURCES): Likewise. (pr20216b_test_DEPENDENCIES): Likewise. (pr20216b_test_CFLAGS): Likewise. (pr20216b_test_LDFLAGS): Likewise. (pr20216b_test_LDADD): Likewise. (pr20216c_test_SOURCES): Likewise. (pr20216c_test_DEPENDENCIES): Likewise. (pr20216c_test_CFLAGS): Likewise. (pr20216c_test_LDFLAGS): Likewise. (pr20216c_test_LDADD): Likewise. (pr20216d_test_SOURCES): Likewise. (pr20216d_test_DEPENDENCIES): Likewise. (pr20216d_test_CFLAGS): Likewise. (pr20216d_test_LDFLAGS): Likewise. (pr20216d_test_LDADD): Likewise. (pr20216e_test_SOURCES): Likewise. (pr20216e_test_DEPENDENCIES): Likewise. (pr20216e_test_CFLAGS): Likewise. (pr20216e_test_LDFLAGS): Likewise. (pr20216e_test_LDADD): Likewise. (pr20216a.so): Likewise. (pr20216b.so): Likewise. (pr20216_gd.o): Likewise. (pr20216_ld.o): Likewise. (MOSTLYCLEANFILES): Add pr20216a.so pr20216b.so. * testsuite/Makefile.in: Regenerated. * testsuite/pr20216_def.c: New file. * testsuite/pr20216_gd.S: Likewise. * testsuite/pr20216_ld.S: Likewise. * testsuite/pr20216_main.c: Likewise. --- gold/ChangeLog | 50 +++++ gold/configure | 14 ++ gold/configure.ac | 2 + gold/testsuite/Makefile.am | 53 +++++ gold/testsuite/Makefile.in | 457 ++++++++++++++++++++++++++++++++---------- gold/testsuite/pr20216_def.c | 1 + gold/testsuite/pr20216_gd.S | 55 +++++ gold/testsuite/pr20216_ld.S | 47 +++++ gold/testsuite/pr20216_main.c | 26 +++ gold/x86_64.cc | 55 ++++- 10 files changed, 639 insertions(+), 121 deletions(-) create mode 100644 gold/testsuite/pr20216_def.c create mode 100644 gold/testsuite/pr20216_gd.S create mode 100644 gold/testsuite/pr20216_ld.S create mode 100644 gold/testsuite/pr20216_main.c diff --git a/gold/ChangeLog b/gold/ChangeLog index fddfa10..eb24d25 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,53 @@ +2016-06-29 H.J. Lu + + PR gold/20216 + * configure.ac (DEFAULT_TARGET_X86_64_OR_X32): New + AM_CONDITIONAL. + * configure: Regenerated. + * x86_64.cc (Target_x86_64::Relocate::relocate): Allow + R_X86_64_GOTPCRELX relocation against __tls_get_addr. + (Target_x86_64::Relocate::tls_gd_to_ie): Support indirect + call to __tls_get_addr. + (Target_x86_64::Relocate::tls_gd_to_le): Likewise. + (Target_x86_64::Relocate::tls_ld_to_le): Likewise. + * testsuite/Makefile.am (check_PROGRAMS): Add pr20216a_test, + pr20216b_test, pr20216c_test, pr20216d_test, pr20216e_test. + (pr20216a_test_SOURCES): New. + (pr20216a_test_DEPENDENCIES): Likewise. + (pr20216a_test_CFLAGS): Likewise. + (pr20216a_test_LDFLAGS): Likewise. + (pr20216a_test_LDADD): Likewise. + (pr20216b_test_SOURCES): Likewise. + (pr20216b_test_DEPENDENCIES): Likewise. + (pr20216b_test_CFLAGS): Likewise. + (pr20216b_test_LDFLAGS): Likewise. + (pr20216b_test_LDADD): Likewise. + (pr20216c_test_SOURCES): Likewise. + (pr20216c_test_DEPENDENCIES): Likewise. + (pr20216c_test_CFLAGS): Likewise. + (pr20216c_test_LDFLAGS): Likewise. + (pr20216c_test_LDADD): Likewise. + (pr20216d_test_SOURCES): Likewise. + (pr20216d_test_DEPENDENCIES): Likewise. + (pr20216d_test_CFLAGS): Likewise. + (pr20216d_test_LDFLAGS): Likewise. + (pr20216d_test_LDADD): Likewise. + (pr20216e_test_SOURCES): Likewise. + (pr20216e_test_DEPENDENCIES): Likewise. + (pr20216e_test_CFLAGS): Likewise. + (pr20216e_test_LDFLAGS): Likewise. + (pr20216e_test_LDADD): Likewise. + (pr20216a.so): Likewise. + (pr20216b.so): Likewise. + (pr20216_gd.o): Likewise. + (pr20216_ld.o): Likewise. + (MOSTLYCLEANFILES): Add pr20216a.so pr20216b.so. + * testsuite/Makefile.in: Regenerated. + * testsuite/pr20216_def.c: New file. + * testsuite/pr20216_gd.S: Likewise. + * testsuite/pr20216_ld.S: Likewise. + * testsuite/pr20216_main.c: Likewise. + 2016-06-29 Alan Modra * script_test_12.t: Delete .plt, specify 64k page size. diff --git a/gold/configure b/gold/configure index a40b2b5..8240c28 100755 --- a/gold/configure +++ b/gold/configure @@ -690,6 +690,8 @@ DEFAULT_TARGET_MIPS_FALSE DEFAULT_TARGET_MIPS_TRUE DEFAULT_TARGET_TILEGX_FALSE DEFAULT_TARGET_TILEGX_TRUE +DEFAULT_TARGET_X86_64_OR_X32_FALSE +DEFAULT_TARGET_X86_64_OR_X32_TRUE DEFAULT_TARGET_X32_FALSE DEFAULT_TARGET_X32_TRUE DEFAULT_TARGET_X86_64_FALSE @@ -3539,6 +3541,14 @@ else DEFAULT_TARGET_X32_FALSE= fi + if test "$target_x86_64" = "yes" -o "$target_x32" = "yes"; then + DEFAULT_TARGET_X86_64_OR_X32_TRUE= + DEFAULT_TARGET_X86_64_OR_X32_FALSE='#' +else + DEFAULT_TARGET_X86_64_OR_X32_TRUE='#' + DEFAULT_TARGET_X86_64_OR_X32_FALSE= +fi + if test "$targ_obj" = "tilegx"; then DEFAULT_TARGET_TILEGX_TRUE= DEFAULT_TARGET_TILEGX_FALSE='#' @@ -7837,6 +7847,10 @@ if test -z "${DEFAULT_TARGET_X32_TRUE}" && test -z "${DEFAULT_TARGET_X32_FALSE}" as_fn_error "conditional \"DEFAULT_TARGET_X32\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${DEFAULT_TARGET_X86_64_OR_X32_TRUE}" && test -z "${DEFAULT_TARGET_X86_64_OR_X32_FALSE}"; then + as_fn_error "conditional \"DEFAULT_TARGET_X86_64_OR_X32\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${DEFAULT_TARGET_TILEGX_TRUE}" && test -z "${DEFAULT_TARGET_TILEGX_FALSE}"; then as_fn_error "conditional \"DEFAULT_TARGET_TILEGX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/gold/configure.ac b/gold/configure.ac index 90e2c22..de3b630 100644 --- a/gold/configure.ac +++ b/gold/configure.ac @@ -237,6 +237,8 @@ for targ in $target $canon_targets; do fi AM_CONDITIONAL(DEFAULT_TARGET_X86_64, test "$target_x86_64" = "yes") AM_CONDITIONAL(DEFAULT_TARGET_X32, test "$target_x32" = "yes") + AM_CONDITIONAL(DEFAULT_TARGET_X86_64_OR_X32, + test "$target_x86_64" = "yes" -o "$target_x32" = "yes") AM_CONDITIONAL(DEFAULT_TARGET_TILEGX, test "$targ_obj" = "tilegx") AM_CONDITIONAL(DEFAULT_TARGET_MIPS, test "$targ_obj" = "mips") DEFAULT_TARGET=${targ_obj} diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am index 05ffd7e..3512ae7 100644 --- a/gold/testsuite/Makefile.am +++ b/gold/testsuite/Makefile.am @@ -1147,6 +1147,59 @@ x32_overflow_pc32.err: x32_overflow_pc32.o gcctestdir/ld 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 + $(COMPILE) -c -o $@ $< + +pr20216_ld.o: pr20216_ld.S + $(COMPILE) -c -o $@ $< + +endif DEFAULT_TARGET_X86_64_OR_X32 + if DEFAULT_TARGET_I386 check_SCRIPTS += i386_mov_to_lea.sh diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in index c08ea3f..6046fe9 100644 --- a/gold/testsuite/Makefile.in +++ b/gold/testsuite/Makefile.in @@ -69,7 +69,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ $(am__EXEEXT_28) $(am__EXEEXT_29) $(am__EXEEXT_30) \ $(am__EXEEXT_31) $(am__EXEEXT_32) $(am__EXEEXT_33) \ $(am__EXEEXT_34) $(am__EXEEXT_35) $(am__EXEEXT_36) \ - $(am__EXEEXT_37) + $(am__EXEEXT_37) $(am__EXEEXT_38) @NATIVE_OR_CROSS_LINKER_TRUE@am__append_1 = object_unittest \ @NATIVE_OR_CROSS_LINKER_TRUE@ binary_unittest leb128_unittest \ @NATIVE_OR_CROSS_LINKER_TRUE@ overflow_unittest @@ -262,13 +262,19 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_indirect_jump_to_direct1 \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x86_64_overflow_pc32.err \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ x32_overflow_pc32.err -@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_32 = i386_mov_to_lea.sh -@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_33 = i386_mov_to_lea1.stdout i386_mov_to_lea2.stdout \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_32 = pr20216a_test \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216b_test \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216c_test \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216d_test \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216e_test +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_33 = pr20216a.so pr20216b.so +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_34 = i386_mov_to_lea.sh +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_35 = i386_mov_to_lea1.stdout i386_mov_to_lea2.stdout \ @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ i386_mov_to_lea3.stdout i386_mov_to_lea4.stdout \ @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ i386_mov_to_lea5.stdout i386_mov_to_lea6.stdout \ @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ i386_mov_to_lea7.stdout i386_mov_to_lea8.stdout -@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_34 = i386_mov_to_lea1 i386_mov_to_lea2 i386_mov_to_lea3 \ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_36 = i386_mov_to_lea1 i386_mov_to_lea2 i386_mov_to_lea3 \ @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ i386_mov_to_lea4 i386_mov_to_lea5 i386_mov_to_lea6 \ @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ i386_mov_to_lea7 i386_mov_to_lea8 @@ -291,7 +297,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # declared in a script file is assigned a non-zero starting address. # Test difference between "*(a b)" and "*(a) *(b)" in input section spec. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_35 = many_sections_test \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_37 = many_sections_test \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_r_test initpri1 \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri2 initpri3a \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile \ @@ -319,9 +325,9 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_test_2 @GCC_FALSE@many_sections_test_DEPENDENCIES = @NATIVE_LINKER_FALSE@many_sections_test_DEPENDENCIES = -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_36 = many_sections_define.h \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_38 = many_sections_define.h \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_check.h -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_37 = many_sections_define.h \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_39 = many_sections_define.h \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_check.h \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg.err \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ missing_key_func.err \ @@ -379,7 +385,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # Test --dynamic-list, --dynamic-list-data, --dynamic-list-cpp-new, # and --dynamic-list-cpp-typeinfo -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_38 = debug_msg.sh \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_40 = debug_msg.sh \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ missing_key_func.sh \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ undef_symbol.sh pr18689.sh \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_1.sh ver_test_2.sh \ @@ -409,7 +415,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # 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. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_39 = debug_msg.err \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_41 = debug_msg.err \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ missing_key_func.err \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_cdebug.err \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_cdebug_gabi.err \ @@ -457,7 +463,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @NATIVE_LINKER_FALSE@thin_archive_test_2_DEPENDENCIES = # Test plugins with -r. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_40 = \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_42 = \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_1 \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_2 \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_3 \ @@ -469,7 +475,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_10 \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_11 \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_start_lib -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_41 = \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_43 = \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_1.sh \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_2.sh \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_3.sh \ @@ -485,7 +491,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # As above, but check COMDAT case, where a non-IR file contains a duplicate # of a COMDAT group in an IR file. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_42 = \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_44 = \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_1.err \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_2.err \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_3.err \ @@ -499,7 +505,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_11.err \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_start_lib.err # Make a copy of two_file_test_1.o, which does not define the symbol _Z4t16av. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_43 = \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_45 = \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_1.err \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_2.err \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_3.err \ @@ -514,19 +520,19 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_11.err \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_thin.a \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_start_lib.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_44 = plugin_test_tls -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_45 = plugin_test_tls.sh -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_46 = plugin_test_tls.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_47 = plugin_test_tls.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_48 = unused.c \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_46 = plugin_test_tls +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_47 = plugin_test_tls.sh +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_48 = plugin_test_tls.err +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_49 = plugin_test_tls.err +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_50 = unused.c \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_final_layout \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_with_alignment -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_49 = plugin_final_layout.sh \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_51 = plugin_final_layout.sh \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_with_alignment.sh -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_50 = plugin_final_layout.stdout \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_52 = plugin_final_layout.stdout \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_final_layout_readelf.stdout \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_with_alignment.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_51 = exclude_libs_test \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_53 = exclude_libs_test \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ local_labels_test \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_test @@ -544,7 +550,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # weak reference in a DSO. # Test that MEMORY region support works. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_52 = exclude_libs_test.sh \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_54 = exclude_libs_test.sh \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_test.sh \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ hidden_test.sh \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ retain_symbols_file_test.sh \ @@ -554,7 +560,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # Test INCLUDE directives in linker scripts. # The binary isn't runnable, so we just check that we can build it without errors. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_53 = exclude_libs_test.syms \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_55 = exclude_libs_test.syms \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_test.syms \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_relocatable_test1.syms \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_relocatable_test2.syms \ @@ -564,7 +570,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ strong_ref_weak_def.stdout \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ dyn_weak_ref.stdout \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ memory_test.stdout memory_test_2 -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_54 = exclude_libs_test.syms \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_56 = exclude_libs_test.syms \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ libexclude_libs_test_1.a \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ libexclude_libs_test_2.a \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ alt/libexclude_libs_test_3.a \ @@ -596,7 +602,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ memory_test_inc_2.t \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ memory_test_inc_3.t \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ memory_test_2 -@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@am__append_55 = large +@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@am__append_57 = large @GCC_FALSE@large_DEPENDENCIES = @MCMODEL_MEDIUM_FALSE@large_DEPENDENCIES = @NATIVE_LINKER_FALSE@large_DEPENDENCIES = @@ -605,13 +611,13 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # it will get execute permission. # Check -l:foo.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_56 = permission_test \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_58 = permission_test \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ searched_file_test @GCC_FALSE@searched_file_test_DEPENDENCIES = @NATIVE_LINKER_FALSE@searched_file_test_DEPENDENCIES = -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_57 = ifuncmain1static \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_59 = ifuncmain1static \ @GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1picstatic -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_58 = ifuncmain1 \ +@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_60 = ifuncmain1 \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1pic \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1vis \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1vispic \ @@ -619,14 +625,14 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1pie \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1vispie \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1staticpie -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_59 = ifuncmain2static \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_61 = ifuncmain2static \ @GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain2picstatic @GCC_FALSE@ifuncmain2static_DEPENDENCIES = @HAVE_STATIC_FALSE@ifuncmain2static_DEPENDENCIES = @IFUNC_FALSE@ifuncmain2static_DEPENDENCIES = @IFUNC_STATIC_FALSE@ifuncmain2static_DEPENDENCIES = @NATIVE_LINKER_FALSE@ifuncmain2static_DEPENDENCIES = -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_60 = ifuncmain2 \ +@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_62 = ifuncmain2 \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain2pic \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain3 @GCC_FALSE@ifuncmain2_DEPENDENCIES = @@ -635,32 +641,32 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @GCC_FALSE@ifuncmain3_DEPENDENCIES = @IFUNC_FALSE@ifuncmain3_DEPENDENCIES = @NATIVE_LINKER_FALSE@ifuncmain3_DEPENDENCIES = -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_61 = ifuncmain4static \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_63 = ifuncmain4static \ @GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain4picstatic @GCC_FALSE@ifuncmain4static_DEPENDENCIES = @HAVE_STATIC_FALSE@ifuncmain4static_DEPENDENCIES = @IFUNC_FALSE@ifuncmain4static_DEPENDENCIES = @IFUNC_STATIC_FALSE@ifuncmain4static_DEPENDENCIES = @NATIVE_LINKER_FALSE@ifuncmain4static_DEPENDENCIES = -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_62 = ifuncmain4 +@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_64 = ifuncmain4 @GCC_FALSE@ifuncmain4_DEPENDENCIES = @IFUNC_FALSE@ifuncmain4_DEPENDENCIES = @NATIVE_LINKER_FALSE@ifuncmain4_DEPENDENCIES = -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_63 = ifuncmain5static \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_65 = ifuncmain5static \ @GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5picstatic -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_64 = ifuncmain5 \ +@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_66 = ifuncmain5 \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5pic \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5staticpic \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5pie \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain6pie -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_65 = ifuncmain7static \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_67 = ifuncmain7static \ @GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7picstatic @GCC_FALSE@ifuncmain7static_DEPENDENCIES = @HAVE_STATIC_FALSE@ifuncmain7static_DEPENDENCIES = @IFUNC_FALSE@ifuncmain7static_DEPENDENCIES = @IFUNC_STATIC_FALSE@ifuncmain7static_DEPENDENCIES = @NATIVE_LINKER_FALSE@ifuncmain7static_DEPENDENCIES = -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_66 = ifuncmain7 \ +@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_68 = ifuncmain7 \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7pic \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7pie \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncvar @@ -677,7 +683,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # Test that __ehdr_start is defined correctly when used with a linker script. # Test that __ehdr_start is not overridden when supplied by the user. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_67 = start_lib_test \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_69 = start_lib_test \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_1 \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_2 \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_3 \ @@ -690,17 +696,17 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # Another simple C test (DW_AT_high_pc encoding) for --gdb-index. # Test that --gdb-index functions correctly with gcc-generated pubnames. -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_68 = gdb_index_test_1.sh \ +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_70 = gdb_index_test_1.sh \ @GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_2.sh \ @GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_2_gabi.sh \ @GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_3.sh \ @GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_4.sh -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_69 = gdb_index_test_1.stdout \ +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_71 = gdb_index_test_1.stdout \ @GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_2.stdout \ @GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_2_gabi.stdout \ @GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_3.stdout \ @GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_4.stdout -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_70 = gdb_index_test_1.stdout \ +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_72 = gdb_index_test_1.stdout \ @GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_1 \ @GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_2.stdout \ @GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_2 \ @@ -722,18 +728,18 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # appropriately aligned. # Test that the --defsym option copies the symbol type and visibility. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_71 = ehdr_start_test_4.sh \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_73 = ehdr_start_test_4.sh \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ defsym_test.sh -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_72 = ehdr_start_test_4.syms \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_74 = ehdr_start_test_4.syms \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ defsym_test.syms -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_73 = ehdr_start_test_4 \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_75 = ehdr_start_test_4 \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ defsym_test defsym_test.syms @GCC_FALSE@ehdr_start_test_5_DEPENDENCIES = @NATIVE_LINKER_FALSE@ehdr_start_test_5_DEPENDENCIES = # Test the --incremental-unchanged flag with an archive library. # The second link should not update the library. -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_74 = incremental_test_2 \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_76 = incremental_test_2 \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_3 \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_4 \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_5 \ @@ -742,7 +748,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_common_test_1 \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_comdat_test_1 \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_x86_64_bnd_test -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_75 = two_file_test_tmp_2.o \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_77 = two_file_test_tmp_2.o \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_tmp_3.o \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_4.base \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_tmp_4.o \ @@ -752,30 +758,30 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # These tests work with native and cross linkers. # Test script section order. -@NATIVE_OR_CROSS_LINKER_TRUE@am__append_76 = script_test_10.sh -@NATIVE_OR_CROSS_LINKER_TRUE@am__append_77 = script_test_10.stdout -@NATIVE_OR_CROSS_LINKER_TRUE@am__append_78 = script_test_10 +@NATIVE_OR_CROSS_LINKER_TRUE@am__append_78 = script_test_10.sh +@NATIVE_OR_CROSS_LINKER_TRUE@am__append_79 = script_test_10.stdout +@NATIVE_OR_CROSS_LINKER_TRUE@am__append_80 = script_test_10 # These tests work with cross linkers only. -@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_79 = split_i386.sh -@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_80 = split_i386_1.stdout split_i386_2.stdout \ +@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_81 = split_i386.sh +@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_82 = split_i386_1.stdout split_i386_2.stdout \ @DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_i386_3.stdout split_i386_4.stdout split_i386_r.stdout -@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_81 = split_i386_1 split_i386_2 split_i386_3 \ +@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_83 = split_i386_1 split_i386_2 split_i386_3 \ @DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_i386_4 split_i386_r -@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_82 = split_x86_64.sh -@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_83 = split_x86_64_1.stdout split_x86_64_2.stdout \ +@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_84 = split_x86_64.sh +@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_85 = split_x86_64_1.stdout split_x86_64_2.stdout \ @DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_x86_64_3.stdout split_x86_64_4.stdout split_x86_64_r.stdout -@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_84 = split_x86_64_1 split_x86_64_2 split_x86_64_3 \ +@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_86 = split_x86_64_1 split_x86_64_2 split_x86_64_3 \ @DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_x86_64_4 split_x86_64_r -@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_85 = split_x32.sh -@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_86 = split_x32_1.stdout split_x32_2.stdout \ +@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_87 = split_x32.sh +@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_88 = split_x32_1.stdout split_x32_2.stdout \ @DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_x32_3.stdout split_x32_4.stdout split_x32_r.stdout -@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_87 = split_x32_1 split_x32_2 split_x32_3 \ +@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_89 = split_x32_1 split_x32_2 split_x32_3 \ @DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_x32_4 split_x32_r @@ -790,7 +796,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # Check Thumb to Thumb farcall veneers # Check Thumb to ARM farcall veneers -@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_88 = arm_abs_global.sh \ +@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_90 = arm_abs_global.sh \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_branch_in_range.sh \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_branch_out_of_range.sh \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_fix_v4bx.sh \ @@ -804,7 +810,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_arm_thumb.sh \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_thumb.sh \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm.sh -@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_89 = arm_abs_global.stdout \ +@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_91 = arm_abs_global.stdout \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_bl_in_range.stdout \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_bl_out_of_range.stdout \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ thumb_bl_in_range.stdout \ @@ -849,7 +855,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_thumb_6m.stdout \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm.stdout \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm_5t.stdout -@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_90 = arm_abs_global \ +@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_92 = arm_abs_global \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_bl_in_range \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_bl_out_of_range \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ thumb_bl_in_range \ @@ -892,11 +898,11 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_thumb_6m \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm_5t -@DEFAULT_TARGET_AARCH64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_91 = aarch64_reloc_none.sh -@DEFAULT_TARGET_AARCH64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_92 = aarch64_reloc_none.stdout -@DEFAULT_TARGET_AARCH64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_93 = aarch64_reloc_none -@DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_94 = split_s390.sh -@DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_95 = split_s390_z1.stdout split_s390_z2.stdout split_s390_z3.stdout \ +@DEFAULT_TARGET_AARCH64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_93 = aarch64_reloc_none.sh +@DEFAULT_TARGET_AARCH64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_94 = aarch64_reloc_none.stdout +@DEFAULT_TARGET_AARCH64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_95 = aarch64_reloc_none +@DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_96 = split_s390.sh +@DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_97 = split_s390_z1.stdout split_s390_z2.stdout split_s390_z3.stdout \ @DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_s390_z4.stdout split_s390_n1.stdout split_s390_n2.stdout \ @DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_s390_a1.stdout split_s390_a2.stdout split_s390_z1_ns.stdout \ @DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_s390_z2_ns.stdout split_s390_z3_ns.stdout split_s390_z4_ns.stdout \ @@ -908,7 +914,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_s390x_z4_ns.stdout split_s390x_n1_ns.stdout \ @DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_s390x_n2_ns.stdout split_s390x_r.stdout -@DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_96 = split_s390_z1 split_s390_z2 split_s390_z3 \ +@DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_98 = split_s390_z1 split_s390_z2 split_s390_z3 \ @DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_s390_z4 split_s390_n1 split_s390_n2 split_s390_a1 \ @DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_s390_a2 split_s390_z1_ns split_s390_z2_ns split_s390_z3_ns \ @DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_s390_z4_ns split_s390_n1_ns split_s390_n2_ns split_s390_r \ @@ -917,10 +923,10 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_s390x_z1_ns split_s390x_z2_ns split_s390x_z3_ns \ @DEFAULT_TARGET_S390_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_s390x_z4_ns split_s390x_n1_ns split_s390x_n2_ns split_s390x_r -@DEFAULT_TARGET_X86_64_TRUE@am__append_97 = *.dwo *.dwp -@DEFAULT_TARGET_X86_64_TRUE@am__append_98 = dwp_test_1.sh \ +@DEFAULT_TARGET_X86_64_TRUE@am__append_99 = *.dwo *.dwp +@DEFAULT_TARGET_X86_64_TRUE@am__append_100 = dwp_test_1.sh \ @DEFAULT_TARGET_X86_64_TRUE@ dwp_test_2.sh -@DEFAULT_TARGET_X86_64_TRUE@am__append_99 = dwp_test_1.stdout \ +@DEFAULT_TARGET_X86_64_TRUE@am__append_101 = dwp_test_1.stdout \ @DEFAULT_TARGET_X86_64_TRUE@ dwp_test_2.stdout subdir = testsuite DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am @@ -1018,7 +1024,12 @@ libgoldtest_a_OBJECTS = $(am_libgoldtest_a_OBJECTS) @GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@am__EXEEXT_18 = tls_static_test$(EXEEXT) \ @GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@ tls_static_pic_test$(EXEEXT) @FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am__EXEEXT_19 = tls_shared_nonpic_test$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_20 = \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_20 = pr20216a_test$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216b_test$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216c_test$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216d_test$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216e_test$(EXEEXT) +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_21 = \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_test$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_r_test$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri1$(EXEEXT) \ @@ -1059,7 +1070,7 @@ libgoldtest_a_OBJECTS = $(am_libgoldtest_a_OBJECTS) @GCC_TRUE@@NATIVE_LINKER_TRUE@ dynamic_list_2$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_test_1$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_test_2$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__EXEEXT_21 = plugin_test_1$(EXEEXT) \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__EXEEXT_22 = plugin_test_1$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_2$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_3$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_4$(EXEEXT) \ @@ -1070,18 +1081,18 @@ libgoldtest_a_OBJECTS = $(am_libgoldtest_a_OBJECTS) @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_10$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_11$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_start_lib$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__EXEEXT_22 = plugin_test_tls$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_23 = \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__EXEEXT_23 = plugin_test_tls$(EXEEXT) +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_24 = \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ exclude_libs_test$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ local_labels_test$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_test$(EXEEXT) -@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_24 = large$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_25 = \ +@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_25 = large$(EXEEXT) +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_26 = \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ permission_test$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ searched_file_test$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_26 = ifuncmain1static$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_27 = ifuncmain1static$(EXEEXT) \ @GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1picstatic$(EXEEXT) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_27 = \ +@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_28 = \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1pic$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1vis$(EXEEXT) \ @@ -1090,37 +1101,37 @@ libgoldtest_a_OBJECTS = $(am_libgoldtest_a_OBJECTS) @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1pie$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1vispie$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1staticpie$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_28 = ifuncmain2static$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_29 = ifuncmain2static$(EXEEXT) \ @GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain2picstatic$(EXEEXT) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_29 = \ +@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_30 = \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain2$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain2pic$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain3$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_30 = ifuncmain4static$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_31 = ifuncmain4static$(EXEEXT) \ @GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain4picstatic$(EXEEXT) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_31 = \ +@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_32 = \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain4$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_32 = ifuncmain5static$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_33 = ifuncmain5static$(EXEEXT) \ @GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5picstatic$(EXEEXT) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_33 = \ +@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_34 = \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5pic$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5staticpic$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5pie$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain6pie$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_34 = ifuncmain7static$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_35 = ifuncmain7static$(EXEEXT) \ @GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7picstatic$(EXEEXT) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_35 = \ +@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_36 = \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7pic$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7pie$(EXEEXT) \ @GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncvar$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_36 = start_lib_test$(EXEEXT) \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_37 = start_lib_test$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_1$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_2$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_3$(EXEEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_5$(EXEEXT) -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_37 = incremental_test_2$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_38 = incremental_test_2$(EXEEXT) \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_3$(EXEEXT) \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_4$(EXEEXT) \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_5$(EXEEXT) \ @@ -1790,6 +1801,30 @@ plugin_test_tls_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_pr20216a_test_OBJECTS = pr20216a_test-pr20216_main.$(OBJEXT) \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216a_test-pr20216_def.$(OBJEXT) +pr20216a_test_OBJECTS = $(am_pr20216a_test_OBJECTS) +pr20216a_test_LINK = $(CCLD) $(pr20216a_test_CFLAGS) $(CFLAGS) \ + $(pr20216a_test_LDFLAGS) $(LDFLAGS) -o $@ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_pr20216b_test_OBJECTS = pr20216b_test-pr20216_main.$(OBJEXT) \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216b_test-pr20216_def.$(OBJEXT) +pr20216b_test_OBJECTS = $(am_pr20216b_test_OBJECTS) +pr20216b_test_LINK = $(CCLD) $(pr20216b_test_CFLAGS) $(CFLAGS) \ + $(pr20216b_test_LDFLAGS) $(LDFLAGS) -o $@ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_pr20216c_test_OBJECTS = pr20216c_test-pr20216_main.$(OBJEXT) \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216c_test-pr20216_def.$(OBJEXT) +pr20216c_test_OBJECTS = $(am_pr20216c_test_OBJECTS) +pr20216c_test_LINK = $(CCLD) $(pr20216c_test_CFLAGS) $(CFLAGS) \ + $(pr20216c_test_LDFLAGS) $(LDFLAGS) -o $@ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_pr20216d_test_OBJECTS = pr20216d_test-pr20216_main.$(OBJEXT) \ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr20216d_test-pr20216_def.$(OBJEXT) +pr20216d_test_OBJECTS = $(am_pr20216d_test_OBJECTS) +pr20216d_test_LINK = $(CCLD) $(pr20216d_test_CFLAGS) $(CFLAGS) \ + $(pr20216d_test_LDFLAGS) $(LDFLAGS) -o $@ +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_pr20216e_test_OBJECTS = pr20216e_test-pr20216_main.$(OBJEXT) +pr20216e_test_OBJECTS = $(am_pr20216e_test_OBJECTS) +pr20216e_test_LINK = $(CCLD) $(pr20216e_test_CFLAGS) $(CFLAGS) \ + $(pr20216e_test_LDFLAGS) $(LDFLAGS) -o $@ @GCC_TRUE@@NATIVE_LINKER_TRUE@am_protected_1_OBJECTS = \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_main_1.$(OBJEXT) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_main_2.$(OBJEXT) \ @@ -2250,11 +2285,14 @@ SOURCES = $(libgoldtest_a_SOURCES) basic_pic_test.c basic_pie_test.c \ plugin_test_3.c plugin_test_4.c plugin_test_5.c \ plugin_test_6.c plugin_test_7.c plugin_test_8.c \ plugin_test_start_lib.c plugin_test_tls.c \ - $(protected_1_SOURCES) $(protected_2_SOURCES) \ - $(relro_now_test_SOURCES) $(relro_script_test_SOURCES) \ - $(relro_strip_test_SOURCES) $(relro_test_SOURCES) \ - $(script_test_1_SOURCES) script_test_11.c script_test_12.c \ - script_test_12i.c $(script_test_2_SOURCES) script_test_3.c \ + $(pr20216a_test_SOURCES) $(pr20216b_test_SOURCES) \ + $(pr20216c_test_SOURCES) $(pr20216d_test_SOURCES) \ + $(pr20216e_test_SOURCES) $(protected_1_SOURCES) \ + $(protected_2_SOURCES) $(relro_now_test_SOURCES) \ + $(relro_script_test_SOURCES) $(relro_strip_test_SOURCES) \ + $(relro_test_SOURCES) $(script_test_1_SOURCES) \ + script_test_11.c script_test_12.c script_test_12i.c \ + $(script_test_2_SOURCES) script_test_3.c \ $(searched_file_test_SOURCES) start_lib_test.c \ $(thin_archive_test_1_SOURCES) $(thin_archive_test_2_SOURCES) \ $(tls_phdrs_script_test_SOURCES) $(tls_pic_test_SOURCES) \ @@ -2624,31 +2662,31 @@ TEST_AS = $(top_builddir)/../gas/as-new # the right choice for files 'make' builds that people rebuild. MOSTLYCLEANFILES = *.so *.syms *.stdout $(am__append_4) \ $(am__append_17) $(am__append_21) $(am__append_31) \ - $(am__append_34) $(am__append_37) $(am__append_43) \ - $(am__append_47) $(am__append_48) $(am__append_54) \ - $(am__append_70) $(am__append_73) $(am__append_75) \ - $(am__append_78) $(am__append_81) $(am__append_84) \ - $(am__append_87) $(am__append_90) $(am__append_93) \ - $(am__append_96) $(am__append_97) + $(am__append_33) $(am__append_36) $(am__append_39) \ + $(am__append_45) $(am__append_49) $(am__append_50) \ + $(am__append_56) $(am__append_72) $(am__append_75) \ + $(am__append_77) $(am__append_80) $(am__append_83) \ + $(am__append_86) $(am__append_89) $(am__append_92) \ + $(am__append_95) $(am__append_98) $(am__append_99) # 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 = $(am__append_2) $(am__append_19) $(am__append_23) \ - $(am__append_29) $(am__append_32) $(am__append_38) \ - $(am__append_41) $(am__append_45) $(am__append_49) \ - $(am__append_52) $(am__append_68) $(am__append_71) \ - $(am__append_76) $(am__append_79) $(am__append_82) \ - $(am__append_85) $(am__append_88) $(am__append_91) \ - $(am__append_94) $(am__append_98) + $(am__append_29) $(am__append_34) $(am__append_40) \ + $(am__append_43) $(am__append_47) $(am__append_51) \ + $(am__append_54) $(am__append_70) $(am__append_73) \ + $(am__append_78) $(am__append_81) $(am__append_84) \ + $(am__append_87) $(am__append_90) $(am__append_93) \ + $(am__append_96) $(am__append_100) check_DATA = $(am__append_3) $(am__append_20) $(am__append_24) \ - $(am__append_30) $(am__append_33) $(am__append_39) \ - $(am__append_42) $(am__append_46) $(am__append_50) \ - $(am__append_53) $(am__append_69) $(am__append_72) \ - $(am__append_77) $(am__append_80) $(am__append_83) \ - $(am__append_86) $(am__append_89) $(am__append_92) \ - $(am__append_95) $(am__append_99) -BUILT_SOURCES = $(am__append_36) + $(am__append_30) $(am__append_35) $(am__append_41) \ + $(am__append_44) $(am__append_48) $(am__append_52) \ + $(am__append_55) $(am__append_71) $(am__append_74) \ + $(am__append_79) $(am__append_82) $(am__append_85) \ + $(am__append_88) $(am__append_91) $(am__append_94) \ + $(am__append_97) $(am__append_101) +BUILT_SOURCES = $(am__append_38) TESTS = $(check_SCRIPTS) $(check_PROGRAMS) # --------------------------------------------------------------------- @@ -2940,6 +2978,31 @@ LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \ @FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_nonpic_test_DEPENDENCIES = gcctestdir/ld tls_test_shared_nonpic.so @FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. @FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_nonpic_test_LDADD = tls_test_shared_nonpic.so -lpthread +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216a_test_SOURCES = pr20216_main.c pr20216_def.c +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216a_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o gcctestdir/ld gcctestdir/as +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216a_test_CFLAGS = -Bgcctestdir/ -fPIE +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216a_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216a_test_LDADD = pr20216_gd.o pr20216_ld.o +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216b_test_SOURCES = pr20216_main.c pr20216_def.c +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216b_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o gcctestdir/ld gcctestdir/as +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216b_test_CFLAGS = -Bgcctestdir/ -fPIE +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216b_test_LDFLAGS = -pie -Bgcctestdir/ -Wl,-R,. +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216b_test_LDADD = pr20216_gd.o pr20216_ld.o +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216c_test_SOURCES = pr20216_main.c pr20216_def.c +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216c_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o gcctestdir/ld gcctestdir/as +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216c_test_CFLAGS = -Bgcctestdir/ -fPIE +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216c_test_LDFLAGS = -static -Bgcctestdir/ -Wl,-R,. +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216c_test_LDADD = pr20216_gd.o pr20216_ld.o +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216d_test_SOURCES = pr20216_main.c pr20216_def.c +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216d_test_DEPENDENCIES = pr20216a.so gcctestdir/ld gcctestdir/as +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216d_test_CFLAGS = -Bgcctestdir/ -fPIE +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216d_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216d_test_LDADD = pr20216a.so +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216e_test_SOURCES = pr20216_main.c +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216e_test_DEPENDENCIES = pr20216_gd.o pr20216_ld.o pr20216b.so gcctestdir/ld gcctestdir/as +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216e_test_CFLAGS = -Bgcctestdir/ -fPIE +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216e_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216e_test_LDADD = pr20216_gd.o pr20216_ld.o pr20216b.so @GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_test_SOURCES = many_sections_test.cc @GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_test_DEPENDENCIES = gcctestdir/ld @GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_test_LDFLAGS = -Bgcctestdir/ -rdynamic @@ -3828,6 +3891,21 @@ pie_copyrelocs_test$(EXEEXT): $(pie_copyrelocs_test_OBJECTS) $(pie_copyrelocs_te @TLS_FALSE@plugin_test_tls$(EXEEXT): $(plugin_test_tls_OBJECTS) $(plugin_test_tls_DEPENDENCIES) $(EXTRA_plugin_test_tls_DEPENDENCIES) @TLS_FALSE@ @rm -f plugin_test_tls$(EXEEXT) @TLS_FALSE@ $(LINK) $(plugin_test_tls_OBJECTS) $(plugin_test_tls_LDADD) $(LIBS) +pr20216a_test$(EXEEXT): $(pr20216a_test_OBJECTS) $(pr20216a_test_DEPENDENCIES) $(EXTRA_pr20216a_test_DEPENDENCIES) + @rm -f pr20216a_test$(EXEEXT) + $(pr20216a_test_LINK) $(pr20216a_test_OBJECTS) $(pr20216a_test_LDADD) $(LIBS) +pr20216b_test$(EXEEXT): $(pr20216b_test_OBJECTS) $(pr20216b_test_DEPENDENCIES) $(EXTRA_pr20216b_test_DEPENDENCIES) + @rm -f pr20216b_test$(EXEEXT) + $(pr20216b_test_LINK) $(pr20216b_test_OBJECTS) $(pr20216b_test_LDADD) $(LIBS) +pr20216c_test$(EXEEXT): $(pr20216c_test_OBJECTS) $(pr20216c_test_DEPENDENCIES) $(EXTRA_pr20216c_test_DEPENDENCIES) + @rm -f pr20216c_test$(EXEEXT) + $(pr20216c_test_LINK) $(pr20216c_test_OBJECTS) $(pr20216c_test_LDADD) $(LIBS) +pr20216d_test$(EXEEXT): $(pr20216d_test_OBJECTS) $(pr20216d_test_DEPENDENCIES) $(EXTRA_pr20216d_test_DEPENDENCIES) + @rm -f pr20216d_test$(EXEEXT) + $(pr20216d_test_LINK) $(pr20216d_test_OBJECTS) $(pr20216d_test_LDADD) $(LIBS) +pr20216e_test$(EXEEXT): $(pr20216e_test_OBJECTS) $(pr20216e_test_DEPENDENCIES) $(EXTRA_pr20216e_test_DEPENDENCIES) + @rm -f pr20216e_test$(EXEEXT) + $(pr20216e_test_LINK) $(pr20216e_test_OBJECTS) $(pr20216e_test_LDADD) $(LIBS) protected_1$(EXEEXT): $(protected_1_OBJECTS) $(protected_1_DEPENDENCIES) $(EXTRA_protected_1_DEPENDENCIES) @rm -f protected_1$(EXEEXT) $(protected_1_LINK) $(protected_1_OBJECTS) $(protected_1_LDADD) $(LIBS) @@ -4168,6 +4246,15 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin_test_8.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin_test_start_lib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin_test_tls.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pr20216a_test-pr20216_def.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pr20216a_test-pr20216_main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pr20216b_test-pr20216_def.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pr20216b_test-pr20216_main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pr20216c_test-pr20216_def.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pr20216c_test-pr20216_main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pr20216d_test-pr20216_def.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pr20216d_test-pr20216_main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pr20216e_test-pr20216_main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/protected_3.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/protected_main_1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/protected_main_2.Po@am__quote@ @@ -4238,6 +4325,132 @@ large-large.obj: large.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(large_CFLAGS) $(CFLAGS) -c -o large-large.obj `if test -f 'large.c'; then $(CYGPATH_W) 'large.c'; else $(CYGPATH_W) '$(srcdir)/large.c'; fi` +pr20216a_test-pr20216_main.o: pr20216_main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216a_test_CFLAGS) $(CFLAGS) -MT pr20216a_test-pr20216_main.o -MD -MP -MF $(DEPDIR)/pr20216a_test-pr20216_main.Tpo -c -o pr20216a_test-pr20216_main.o `test -f 'pr20216_main.c' || echo '$(srcdir)/'`pr20216_main.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216a_test-pr20216_main.Tpo $(DEPDIR)/pr20216a_test-pr20216_main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_main.c' object='pr20216a_test-pr20216_main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216a_test_CFLAGS) $(CFLAGS) -c -o pr20216a_test-pr20216_main.o `test -f 'pr20216_main.c' || echo '$(srcdir)/'`pr20216_main.c + +pr20216a_test-pr20216_main.obj: pr20216_main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216a_test_CFLAGS) $(CFLAGS) -MT pr20216a_test-pr20216_main.obj -MD -MP -MF $(DEPDIR)/pr20216a_test-pr20216_main.Tpo -c -o pr20216a_test-pr20216_main.obj `if test -f 'pr20216_main.c'; then $(CYGPATH_W) 'pr20216_main.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_main.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216a_test-pr20216_main.Tpo $(DEPDIR)/pr20216a_test-pr20216_main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_main.c' object='pr20216a_test-pr20216_main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216a_test_CFLAGS) $(CFLAGS) -c -o pr20216a_test-pr20216_main.obj `if test -f 'pr20216_main.c'; then $(CYGPATH_W) 'pr20216_main.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_main.c'; fi` + +pr20216a_test-pr20216_def.o: pr20216_def.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216a_test_CFLAGS) $(CFLAGS) -MT pr20216a_test-pr20216_def.o -MD -MP -MF $(DEPDIR)/pr20216a_test-pr20216_def.Tpo -c -o pr20216a_test-pr20216_def.o `test -f 'pr20216_def.c' || echo '$(srcdir)/'`pr20216_def.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216a_test-pr20216_def.Tpo $(DEPDIR)/pr20216a_test-pr20216_def.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_def.c' object='pr20216a_test-pr20216_def.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216a_test_CFLAGS) $(CFLAGS) -c -o pr20216a_test-pr20216_def.o `test -f 'pr20216_def.c' || echo '$(srcdir)/'`pr20216_def.c + +pr20216a_test-pr20216_def.obj: pr20216_def.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216a_test_CFLAGS) $(CFLAGS) -MT pr20216a_test-pr20216_def.obj -MD -MP -MF $(DEPDIR)/pr20216a_test-pr20216_def.Tpo -c -o pr20216a_test-pr20216_def.obj `if test -f 'pr20216_def.c'; then $(CYGPATH_W) 'pr20216_def.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_def.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216a_test-pr20216_def.Tpo $(DEPDIR)/pr20216a_test-pr20216_def.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_def.c' object='pr20216a_test-pr20216_def.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216a_test_CFLAGS) $(CFLAGS) -c -o pr20216a_test-pr20216_def.obj `if test -f 'pr20216_def.c'; then $(CYGPATH_W) 'pr20216_def.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_def.c'; fi` + +pr20216b_test-pr20216_main.o: pr20216_main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216b_test_CFLAGS) $(CFLAGS) -MT pr20216b_test-pr20216_main.o -MD -MP -MF $(DEPDIR)/pr20216b_test-pr20216_main.Tpo -c -o pr20216b_test-pr20216_main.o `test -f 'pr20216_main.c' || echo '$(srcdir)/'`pr20216_main.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216b_test-pr20216_main.Tpo $(DEPDIR)/pr20216b_test-pr20216_main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_main.c' object='pr20216b_test-pr20216_main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216b_test_CFLAGS) $(CFLAGS) -c -o pr20216b_test-pr20216_main.o `test -f 'pr20216_main.c' || echo '$(srcdir)/'`pr20216_main.c + +pr20216b_test-pr20216_main.obj: pr20216_main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216b_test_CFLAGS) $(CFLAGS) -MT pr20216b_test-pr20216_main.obj -MD -MP -MF $(DEPDIR)/pr20216b_test-pr20216_main.Tpo -c -o pr20216b_test-pr20216_main.obj `if test -f 'pr20216_main.c'; then $(CYGPATH_W) 'pr20216_main.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_main.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216b_test-pr20216_main.Tpo $(DEPDIR)/pr20216b_test-pr20216_main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_main.c' object='pr20216b_test-pr20216_main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216b_test_CFLAGS) $(CFLAGS) -c -o pr20216b_test-pr20216_main.obj `if test -f 'pr20216_main.c'; then $(CYGPATH_W) 'pr20216_main.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_main.c'; fi` + +pr20216b_test-pr20216_def.o: pr20216_def.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216b_test_CFLAGS) $(CFLAGS) -MT pr20216b_test-pr20216_def.o -MD -MP -MF $(DEPDIR)/pr20216b_test-pr20216_def.Tpo -c -o pr20216b_test-pr20216_def.o `test -f 'pr20216_def.c' || echo '$(srcdir)/'`pr20216_def.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216b_test-pr20216_def.Tpo $(DEPDIR)/pr20216b_test-pr20216_def.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_def.c' object='pr20216b_test-pr20216_def.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216b_test_CFLAGS) $(CFLAGS) -c -o pr20216b_test-pr20216_def.o `test -f 'pr20216_def.c' || echo '$(srcdir)/'`pr20216_def.c + +pr20216b_test-pr20216_def.obj: pr20216_def.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216b_test_CFLAGS) $(CFLAGS) -MT pr20216b_test-pr20216_def.obj -MD -MP -MF $(DEPDIR)/pr20216b_test-pr20216_def.Tpo -c -o pr20216b_test-pr20216_def.obj `if test -f 'pr20216_def.c'; then $(CYGPATH_W) 'pr20216_def.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_def.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216b_test-pr20216_def.Tpo $(DEPDIR)/pr20216b_test-pr20216_def.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_def.c' object='pr20216b_test-pr20216_def.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216b_test_CFLAGS) $(CFLAGS) -c -o pr20216b_test-pr20216_def.obj `if test -f 'pr20216_def.c'; then $(CYGPATH_W) 'pr20216_def.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_def.c'; fi` + +pr20216c_test-pr20216_main.o: pr20216_main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216c_test_CFLAGS) $(CFLAGS) -MT pr20216c_test-pr20216_main.o -MD -MP -MF $(DEPDIR)/pr20216c_test-pr20216_main.Tpo -c -o pr20216c_test-pr20216_main.o `test -f 'pr20216_main.c' || echo '$(srcdir)/'`pr20216_main.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216c_test-pr20216_main.Tpo $(DEPDIR)/pr20216c_test-pr20216_main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_main.c' object='pr20216c_test-pr20216_main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216c_test_CFLAGS) $(CFLAGS) -c -o pr20216c_test-pr20216_main.o `test -f 'pr20216_main.c' || echo '$(srcdir)/'`pr20216_main.c + +pr20216c_test-pr20216_main.obj: pr20216_main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216c_test_CFLAGS) $(CFLAGS) -MT pr20216c_test-pr20216_main.obj -MD -MP -MF $(DEPDIR)/pr20216c_test-pr20216_main.Tpo -c -o pr20216c_test-pr20216_main.obj `if test -f 'pr20216_main.c'; then $(CYGPATH_W) 'pr20216_main.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_main.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216c_test-pr20216_main.Tpo $(DEPDIR)/pr20216c_test-pr20216_main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_main.c' object='pr20216c_test-pr20216_main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216c_test_CFLAGS) $(CFLAGS) -c -o pr20216c_test-pr20216_main.obj `if test -f 'pr20216_main.c'; then $(CYGPATH_W) 'pr20216_main.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_main.c'; fi` + +pr20216c_test-pr20216_def.o: pr20216_def.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216c_test_CFLAGS) $(CFLAGS) -MT pr20216c_test-pr20216_def.o -MD -MP -MF $(DEPDIR)/pr20216c_test-pr20216_def.Tpo -c -o pr20216c_test-pr20216_def.o `test -f 'pr20216_def.c' || echo '$(srcdir)/'`pr20216_def.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216c_test-pr20216_def.Tpo $(DEPDIR)/pr20216c_test-pr20216_def.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_def.c' object='pr20216c_test-pr20216_def.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216c_test_CFLAGS) $(CFLAGS) -c -o pr20216c_test-pr20216_def.o `test -f 'pr20216_def.c' || echo '$(srcdir)/'`pr20216_def.c + +pr20216c_test-pr20216_def.obj: pr20216_def.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216c_test_CFLAGS) $(CFLAGS) -MT pr20216c_test-pr20216_def.obj -MD -MP -MF $(DEPDIR)/pr20216c_test-pr20216_def.Tpo -c -o pr20216c_test-pr20216_def.obj `if test -f 'pr20216_def.c'; then $(CYGPATH_W) 'pr20216_def.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_def.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216c_test-pr20216_def.Tpo $(DEPDIR)/pr20216c_test-pr20216_def.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_def.c' object='pr20216c_test-pr20216_def.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216c_test_CFLAGS) $(CFLAGS) -c -o pr20216c_test-pr20216_def.obj `if test -f 'pr20216_def.c'; then $(CYGPATH_W) 'pr20216_def.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_def.c'; fi` + +pr20216d_test-pr20216_main.o: pr20216_main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216d_test_CFLAGS) $(CFLAGS) -MT pr20216d_test-pr20216_main.o -MD -MP -MF $(DEPDIR)/pr20216d_test-pr20216_main.Tpo -c -o pr20216d_test-pr20216_main.o `test -f 'pr20216_main.c' || echo '$(srcdir)/'`pr20216_main.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216d_test-pr20216_main.Tpo $(DEPDIR)/pr20216d_test-pr20216_main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_main.c' object='pr20216d_test-pr20216_main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216d_test_CFLAGS) $(CFLAGS) -c -o pr20216d_test-pr20216_main.o `test -f 'pr20216_main.c' || echo '$(srcdir)/'`pr20216_main.c + +pr20216d_test-pr20216_main.obj: pr20216_main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216d_test_CFLAGS) $(CFLAGS) -MT pr20216d_test-pr20216_main.obj -MD -MP -MF $(DEPDIR)/pr20216d_test-pr20216_main.Tpo -c -o pr20216d_test-pr20216_main.obj `if test -f 'pr20216_main.c'; then $(CYGPATH_W) 'pr20216_main.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_main.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216d_test-pr20216_main.Tpo $(DEPDIR)/pr20216d_test-pr20216_main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_main.c' object='pr20216d_test-pr20216_main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216d_test_CFLAGS) $(CFLAGS) -c -o pr20216d_test-pr20216_main.obj `if test -f 'pr20216_main.c'; then $(CYGPATH_W) 'pr20216_main.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_main.c'; fi` + +pr20216d_test-pr20216_def.o: pr20216_def.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216d_test_CFLAGS) $(CFLAGS) -MT pr20216d_test-pr20216_def.o -MD -MP -MF $(DEPDIR)/pr20216d_test-pr20216_def.Tpo -c -o pr20216d_test-pr20216_def.o `test -f 'pr20216_def.c' || echo '$(srcdir)/'`pr20216_def.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216d_test-pr20216_def.Tpo $(DEPDIR)/pr20216d_test-pr20216_def.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_def.c' object='pr20216d_test-pr20216_def.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216d_test_CFLAGS) $(CFLAGS) -c -o pr20216d_test-pr20216_def.o `test -f 'pr20216_def.c' || echo '$(srcdir)/'`pr20216_def.c + +pr20216d_test-pr20216_def.obj: pr20216_def.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216d_test_CFLAGS) $(CFLAGS) -MT pr20216d_test-pr20216_def.obj -MD -MP -MF $(DEPDIR)/pr20216d_test-pr20216_def.Tpo -c -o pr20216d_test-pr20216_def.obj `if test -f 'pr20216_def.c'; then $(CYGPATH_W) 'pr20216_def.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_def.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216d_test-pr20216_def.Tpo $(DEPDIR)/pr20216d_test-pr20216_def.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_def.c' object='pr20216d_test-pr20216_def.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216d_test_CFLAGS) $(CFLAGS) -c -o pr20216d_test-pr20216_def.obj `if test -f 'pr20216_def.c'; then $(CYGPATH_W) 'pr20216_def.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_def.c'; fi` + +pr20216e_test-pr20216_main.o: pr20216_main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216e_test_CFLAGS) $(CFLAGS) -MT pr20216e_test-pr20216_main.o -MD -MP -MF $(DEPDIR)/pr20216e_test-pr20216_main.Tpo -c -o pr20216e_test-pr20216_main.o `test -f 'pr20216_main.c' || echo '$(srcdir)/'`pr20216_main.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216e_test-pr20216_main.Tpo $(DEPDIR)/pr20216e_test-pr20216_main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_main.c' object='pr20216e_test-pr20216_main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216e_test_CFLAGS) $(CFLAGS) -c -o pr20216e_test-pr20216_main.o `test -f 'pr20216_main.c' || echo '$(srcdir)/'`pr20216_main.c + +pr20216e_test-pr20216_main.obj: pr20216_main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216e_test_CFLAGS) $(CFLAGS) -MT pr20216e_test-pr20216_main.obj -MD -MP -MF $(DEPDIR)/pr20216e_test-pr20216_main.Tpo -c -o pr20216e_test-pr20216_main.obj `if test -f 'pr20216_main.c'; then $(CYGPATH_W) 'pr20216_main.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_main.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pr20216e_test-pr20216_main.Tpo $(DEPDIR)/pr20216e_test-pr20216_main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pr20216_main.c' object='pr20216e_test-pr20216_main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pr20216e_test_CFLAGS) $(CFLAGS) -c -o pr20216e_test-pr20216_main.obj `if test -f 'pr20216_main.c'; then $(CYGPATH_W) 'pr20216_main.c'; else $(CYGPATH_W) '$(srcdir)/pr20216_main.c'; fi` + .cc.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @@ -4856,6 +5069,16 @@ tls_static_pic_test.log: tls_static_pic_test$(EXEEXT) @p='tls_static_pic_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) tls_shared_nonpic_test.log: tls_shared_nonpic_test$(EXEEXT) @p='tls_shared_nonpic_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +pr20216a_test.log: pr20216a_test$(EXEEXT) + @p='pr20216a_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +pr20216b_test.log: pr20216b_test$(EXEEXT) + @p='pr20216b_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +pr20216c_test.log: pr20216c_test$(EXEEXT) + @p='pr20216c_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +pr20216d_test.log: pr20216d_test$(EXEEXT) + @p='pr20216d_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +pr20216e_test.log: pr20216e_test$(EXEEXT) + @p='pr20216e_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) many_sections_test.log: many_sections_test$(EXEEXT) @p='many_sections_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) many_sections_r_test.log: many_sections_r_test$(EXEEXT) @@ -5689,6 +5912,18 @@ uninstall-am: @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ exit 1; \ @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ fi +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216a.so: pr20216_gd.o pr20216_ld.o gcctestdir/ld +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared pr20216_gd.o pr20216_ld.o + +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216b.so: pr20216_def.o gcctestdir/ld +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared pr20216_def.o + +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216_gd.o: pr20216_gd.S +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< + +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@pr20216_ld.o: pr20216_ld.S +@DEFAULT_TARGET_X86_64_OR_X32_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< + @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@i386_mov_to_lea1.o: i386_mov_to_lea1.s @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AS) --32 -o $@ $< @DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@i386_mov_to_lea2.o: i386_mov_to_lea2.s diff --git a/gold/testsuite/pr20216_def.c b/gold/testsuite/pr20216_def.c new file mode 100644 index 0000000..62470a9 --- /dev/null +++ b/gold/testsuite/pr20216_def.c @@ -0,0 +1 @@ +__thread int gd = 1; diff --git a/gold/testsuite/pr20216_gd.S b/gold/testsuite/pr20216_gd.S new file mode 100644 index 0000000..cf56675 --- /dev/null +++ b/gold/testsuite/pr20216_gd.S @@ -0,0 +1,55 @@ + .text + .p2align 4,,15 + .globl get_gd + .type get_gd, @function +get_gd: + subq $8, %rsp +#ifdef __LP64__ + .byte 0x66 +#endif + leaq gd@tlsgd(%rip), %rdi + .byte 0x66 + rex64 + call *__tls_get_addr@GOTPCREL(%rip) + addq $8, %rsp + ret + .size get_gd, .-get_gd + .text + .p2align 4,,15 + .globl set_gd + .type set_gd, @function +set_gd: + pushq %rbx + movl %edi, %ebx +#ifdef __LP64__ + .byte 0x66 +#endif + leaq gd@tlsgd(%rip), %rdi + .value 0x6666 + rex64 + call __tls_get_addr@PLT + movl %ebx, (%rax) + popq %rbx + ret + .size set_gd, .-set_gd + .text + .p2align 4,,15 + .globl test_gd + .type test_gd, @function +test_gd: + pushq %rbx + movl %edi, %ebx +#ifdef __LP64__ + .byte 0x66 +#endif + leaq gd@tlsgd(%rip), %rdi + .byte 0x66 + rex64 + call *__tls_get_addr@GOTPCREL(%rip) + cmpl %ebx, (%rax) + popq %rbx + sete %al + movzbl %al, %eax + ret + .size test_gd, .-test_gd + .section .note.GNU-stack,"",@progbits diff --git a/gold/testsuite/pr20216_ld.S b/gold/testsuite/pr20216_ld.S new file mode 100644 index 0000000..a3cbc96 --- /dev/null +++ b/gold/testsuite/pr20216_ld.S @@ -0,0 +1,47 @@ + .text + .p2align 4,,15 + .globl get_ld + .type get_ld, @function +get_ld: + subq $8, %rsp + leaq ld@tlsld(%rip), %rdi + call __tls_get_addr@PLT + addq $8, %rsp + addq $ld@dtpoff, %rax + ret + .size get_ld, .-get_ld + .text + .p2align 4,,15 + .globl set_ld + .type set_ld, @function +set_ld: + pushq %rbx + movl %edi, %ebx + leaq ld@tlsld(%rip), %rdi + call *__tls_get_addr@GOTPCREL(%rip) + movl %ebx, ld@dtpoff(%rax) + popq %rbx + ret + .size set_ld, .-set_ld + .text + .p2align 4,,15 + .globl test_ld + .type test_ld, @function +test_ld: + pushq %rbx + movl %edi, %ebx + leaq ld@tlsld(%rip), %rdi + call *__tls_get_addr@GOTPCREL(%rip) + cmpl %ebx, ld@dtpoff(%rax) + popq %rbx + sete %al + movzbl %al, %eax + ret + .size test_ld, .-test_ld + .section .tbss,"awT",@nobits + .align 4 + .type ld, @object + .size ld, 4 +ld: + .zero 4 + .section .note.GNU-stack,"",@progbits diff --git a/gold/testsuite/pr20216_main.c b/gold/testsuite/pr20216_main.c new file mode 100644 index 0000000..3d69787 --- /dev/null +++ b/gold/testsuite/pr20216_main.c @@ -0,0 +1,26 @@ +#include + +extern int * get_gd (void); +extern void set_gd (int); +extern int test_gd (int); +extern int * get_ld (void); +extern void set_ld (int); +extern int test_ld (int); + +int +main () +{ + int *p; + + p = get_gd (); + set_gd (3); + if (*p != 3 || !test_gd (3)) + abort (); + + p = get_ld (); + set_ld (4); + if (*p != 4 || !test_ld (4)) + abort (); + + return 0; +} diff --git a/gold/x86_64.cc b/gold/x86_64.cc index 6c511e2..6aa489a 100644 --- a/gold/x86_64.cc +++ b/gold/x86_64.cc @@ -3505,6 +3505,7 @@ Target_x86_64::Relocate::relocate( if (this->skip_call_tls_get_addr_) { if ((r_type != elfcpp::R_X86_64_PLT32 + && r_type != elfcpp::R_X86_64_GOTPCRELX && r_type != elfcpp::R_X86_64_PLT32_BND && r_type != elfcpp::R_X86_64_PC32_BND && r_type != elfcpp::R_X86_64_PC32) @@ -4169,16 +4170,23 @@ Target_x86_64::Relocate::tls_gd_to_ie( { // For SIZE == 64: // .byte 0x66; leaq foo@tlsgd(%rip),%rdi; - // .word 0x6666; rex64; call __tls_get_addr + // .word 0x6666; rex64; call __tls_get_addr@PLT + // ==> movq %fs:0,%rax; addq x@gottpoff(%rip),%rax + // .byte 0x66; leaq foo@tlsgd(%rip),%rdi; + // .word 0x66; rex64; call *__tls_get_addr@GOTPCREL(%rip) // ==> movq %fs:0,%rax; addq x@gottpoff(%rip),%rax // For SIZE == 32: // leaq foo@tlsgd(%rip),%rdi; - // .word 0x6666; rex64; call __tls_get_addr + // .word 0x6666; rex64; call __tls_get_addr@PLT + // ==> movl %fs:0,%eax; addq x@gottpoff(%rip),%rax + // leaq foo@tlsgd(%rip),%rdi; + // .word 0x66; rex64; call *__tls_get_addr@GOTPCREL(%rip) // ==> movl %fs:0,%eax; addq x@gottpoff(%rip),%rax tls::check_range(relinfo, relnum, rela.get_r_offset(), view_size, 12); tls::check_tls(relinfo, relnum, rela.get_r_offset(), - (memcmp(view + 4, "\x66\x66\x48\xe8", 4) == 0)); + (memcmp(view + 4, "\x66\x66\x48\xe8", 4) == 0 + || memcmp(view + 4, "\x66\x48\xff", 3) == 0)); if (size == 64) { @@ -4225,16 +4233,23 @@ Target_x86_64::Relocate::tls_gd_to_le( { // For SIZE == 64: // .byte 0x66; leaq foo@tlsgd(%rip),%rdi; - // .word 0x6666; rex64; call __tls_get_addr + // .word 0x6666; rex64; call __tls_get_addr@PLT + // ==> movq %fs:0,%rax; leaq x@tpoff(%rax),%rax + // .byte 0x66; leaq foo@tlsgd(%rip),%rdi; + // .word 0x66; rex64; call *__tls_get_addr@GOTPCREL(%rip) // ==> movq %fs:0,%rax; leaq x@tpoff(%rax),%rax // For SIZE == 32: // leaq foo@tlsgd(%rip),%rdi; - // .word 0x6666; rex64; call __tls_get_addr + // .word 0x6666; rex64; call __tls_get_addr@PLT + // ==> movl %fs:0,%eax; leaq x@tpoff(%rax),%rax + // leaq foo@tlsgd(%rip),%rdi; + // .word 0x66; rex64; call *__tls_get_addr@GOTPCREL(%rip) // ==> movl %fs:0,%eax; leaq x@tpoff(%rax),%rax tls::check_range(relinfo, relnum, rela.get_r_offset(), view_size, 12); tls::check_tls(relinfo, relnum, rela.get_r_offset(), - (memcmp(view + 4, "\x66\x66\x48\xe8", 4) == 0)); + (memcmp(view + 4, "\x66\x66\x48\xe8", 4) == 0 + || memcmp(view + 4, "\x66\x48\xff", 3) == 0)); if (size == 64) { @@ -4362,6 +4377,13 @@ Target_x86_64::Relocate::tls_ld_to_le( // For SIZE == 32: // ... leq foo@dtpoff(%rax),%reg // ==> nopl 0x0(%rax); movl %fs:0,%eax ... leaq x@tpoff(%rax),%rdx + // leaq foo@tlsld(%rip),%rdi; call *__tls_get_addr@GOTPCREL(%rip) + // For SIZE == 64: + // ... leq foo@dtpoff(%rax),%reg + // ==> .word 0x6666; .byte 0x6666; movq %fs:0,%rax ... leaq x@tpoff(%rax),%rdx + // For SIZE == 32: + // ... leq foo@dtpoff(%rax),%reg + // ==> nopw 0x0(%rax); movl %fs:0,%eax ... leaq x@tpoff(%rax),%rdx tls::check_range(relinfo, relnum, rela.get_r_offset(), view_size, -3); tls::check_range(relinfo, relnum, rela.get_r_offset(), view_size, 9); @@ -4369,12 +4391,25 @@ Target_x86_64::Relocate::tls_ld_to_le( tls::check_tls(relinfo, relnum, rela.get_r_offset(), view[-3] == 0x48 && view[-2] == 0x8d && view[-1] == 0x3d); - tls::check_tls(relinfo, relnum, rela.get_r_offset(), view[4] == 0xe8); + tls::check_tls(relinfo, relnum, rela.get_r_offset(), + view[4] == 0xe8 || view[4] == 0xff); - if (size == 64) - memcpy(view - 3, "\x66\x66\x66\x64\x48\x8b\x04\x25\0\0\0\0", 12); + if (view[4] == 0xe8) + { + if (size == 64) + memcpy(view - 3, "\x66\x66\x66\x64\x48\x8b\x04\x25\0\0\0\0", 12); + else + memcpy(view - 3, "\x0f\x1f\x40\x00\x64\x8b\x04\x25\0\0\0\0", 12); + } else - memcpy(view - 3, "\x0f\x1f\x40\x00\x64\x8b\x04\x25\0\0\0\0", 12); + { + if (size == 64) + memcpy(view - 3, "\x66\x66\x66\x66\x64\x48\x8b\x04\x25\0\0\0\0", + 13); + else + memcpy(view - 3, "\x66\x0f\x1f\x40\x00\x64\x8b\x04\x25\0\0\0\0", + 13); + } // The next reloc should be a PLT32 reloc against __tls_get_addr. // We can skip it. -- 2.7.4