From 42afa120eb180bce52c692939cd179e3c02160d9 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 30 Aug 2020 07:27:02 -0700 Subject: [PATCH] ld: Add $NOSANTIZE_CFLAGS to more linker tests * testsuite/ld-elf/dwarf.exp: Append $NOSANTIZE_CFLAGS to CFLAGS. * testsuite/ld-elf/shared.exp: Likewise. * testsuite/ld-elfvsb/elfvsb.exp: Likewise. * testsuite/ld-shared/shared.exp: Likewise. * testsuite/ld-size/size.exp: Likewise. --- ld/ChangeLog | 8 ++++++++ ld/testsuite/ld-elf/dwarf.exp | 4 ++++ ld/testsuite/ld-elf/shared.exp | 4 ++++ ld/testsuite/ld-elfvsb/elfvsb.exp | 13 +++++++------ ld/testsuite/ld-shared/shared.exp | 6 ++++++ ld/testsuite/ld-size/size.exp | 7 ++++--- 6 files changed, 33 insertions(+), 9 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 77e39a56145..0138e88db0a 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2020-08-30 H.J. Lu + + * testsuite/ld-elf/dwarf.exp: Append $NOSANTIZE_CFLAGS to CFLAGS. + * testsuite/ld-elf/shared.exp: Likewise. + * testsuite/ld-elfvsb/elfvsb.exp: Likewise. + * testsuite/ld-shared/shared.exp: Likewise. + * testsuite/ld-size/size.exp: Likewise. + 2020-08-28 Jozef Lawrynowicz * emultempl/msp430.em (input_section_exists): New. diff --git a/ld/testsuite/ld-elf/dwarf.exp b/ld/testsuite/ld-elf/dwarf.exp index 4d2c35d5404..93fd21d8f35 100644 --- a/ld/testsuite/ld-elf/dwarf.exp +++ b/ld/testsuite/ld-elf/dwarf.exp @@ -68,8 +68,12 @@ set run_tests { "-g -feliminate-dwarf2-dups"} } +# Disable all sanitizers. +set old_CFLAGS "$CFLAGS" +append CFLAGS " $NOSANTIZE_CFLAGS" run_cc_link_tests $build_tests run_ld_link_exec_tests $run_tests +set CFLAGS "$old_CFLAGS" proc strip_test {} { global ld diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp index 66da7203df0..fb04cc3ac89 100644 --- a/ld/testsuite/ld-elf/shared.exp +++ b/ld/testsuite/ld-elf/shared.exp @@ -1102,7 +1102,11 @@ set dlopen_run_tests [list \ if [check_libdl_available] { # XFAIL on NetBSD ELF systems as they do not currently support the .*_array # sections. + # Disable all sanitizers. + set old_CFLAGS "$CFLAGS" + append CFLAGS " $NOSANTIZE_CFLAGS" run_ld_link_exec_tests $dlopen_run_tests "*-*-netbsdelf*" + set CFLAGS "$old_CFLAGS" } # Check --no-add-needed and --no-copy-dt-needed-entries diff --git a/ld/testsuite/ld-elfvsb/elfvsb.exp b/ld/testsuite/ld-elfvsb/elfvsb.exp index 3a242d35276..673e0a01557 100644 --- a/ld/testsuite/ld-elfvsb/elfvsb.exp +++ b/ld/testsuite/ld-elfvsb/elfvsb.exp @@ -197,6 +197,7 @@ proc visibility_run {visibility} { global PLT_CFLAGS global NOPIE_CFLAGS global COMPRESS_LDFLAG + global NOSANTIZE_CFLAGS if [ string match $visibility "hidden" ] { set VSBCFLAG "-DHIDDEN_TEST" @@ -235,7 +236,7 @@ proc visibility_run {visibility} { } else { # Compile the main program. Make sure that PLT is used since PLT # is expected. - if ![ld_compile "$CC -g $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { + if ![ld_compile "$CC -g $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG $NOSANTIZE_CFLAGS" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { unresolved "visibility ($visibility) (non PIC)" unresolved "visibility ($visibility)" } else { @@ -245,8 +246,8 @@ proc visibility_run {visibility} { # will need to do more relocation work. However, note that not # using -fpic will cause some of the tests to return different # results. Make sure that PLT is used since PLT is expected. - if { ![ld_compile "$CC -g $NOPIE_CFLAGS $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o] - || ![ld_compile "$CC -g $NOPIE_CFLAGS $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } { + if { ![ld_compile "$CC -g $NOPIE_CFLAGS $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG $NOSANTIZE_CFLAGS" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o] + || ![ld_compile "$CC -g $NOPIE_CFLAGS $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG $NOSANTIZE_CFLAGS" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } { unresolved "visibility ($visibility) (non PIC)" } else { # SunOS non PIC shared libraries don't permit some cases of @@ -334,8 +335,8 @@ proc visibility_run {visibility} { # Now compile the code using -fpic. - if { ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG -DSHARED $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o] - || ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG -DSHARED $picflag" $srcdir/$subdir/sh2.c $tmpdir/sh2p.o] } { + if { ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG $NOSANTIZE_CFLAGS -DSHARED $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o] + || ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG $NOSANTIZE_CFLAGS -DSHARED $picflag" $srcdir/$subdir/sh2.c $tmpdir/sh2p.o] } { unresolved "visibility ($visibility)" } else { if { [ string match $visibility "protected" ] @@ -352,7 +353,7 @@ proc visibility_run {visibility} { # Don't bother. } else { # Now do the same tests again, but this time compile main.c PIC. - if ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG -DSHARED $picflag" $srcdir/$subdir/main.c $tmpdir/mainp.o] { + if ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG $NOSANTIZE_CFLAGS -DSHARED $picflag" $srcdir/$subdir/main.c $tmpdir/mainp.o] { unresolved "visibility ($visibility) (PIC main, non PIC so)" unresolved "visibility ($visibility) (PIC main)" } else { diff --git a/ld/testsuite/ld-shared/shared.exp b/ld/testsuite/ld-shared/shared.exp index fa64730775c..eb346e9c6ad 100644 --- a/ld/testsuite/ld-shared/shared.exp +++ b/ld/testsuite/ld-shared/shared.exp @@ -65,6 +65,10 @@ set tmpdir tmpdir set SHCFLAG "" set shared_needs_pic "no" +# Disable all sanitizers. +set old_CFLAGS "$CFLAGS" +append CFLAGS " $NOSANTIZE_CFLAGS" + if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } { # AIX shared libraries do not seem to support useful features, @@ -343,6 +347,8 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdir/m } } +set CFLAGS "$old_CFLAGS" + if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } { # Remove the temporary directory. catch "exec rm -rf $tmpdir" exec_status diff --git a/ld/testsuite/ld-size/size.exp b/ld/testsuite/ld-size/size.exp index 8a9459993a0..40d8cda90c7 100644 --- a/ld/testsuite/ld-size/size.exp +++ b/ld/testsuite/ld-size/size.exp @@ -134,8 +134,8 @@ run_cc_link_tests [list \ ] \ [list \ "Build libsize-9.so" \ - "-shared" \ - "-fPIC" \ + "-shared $NOSANTIZE_CFLAGS" \ + "-fPIC $NOSANTIZE_CFLAGS" \ {size-9b.c} \ {{readelf -rW size-9.rd}} \ "libsize-9.so" \ @@ -284,11 +284,12 @@ run_ld_link_exec_tests [list \ ] \ [list \ "Run size-9" \ - "-Wl,--no-as-needed tmpdir/libsize-9.so" \ + "-Wl,--no-as-needed tmpdir/libsize-9.so $NOSANTIZE_CFLAGS" \ "" \ {size-9a.c} \ "size-9" \ "size-9.out" \ + "$NOSANTIZE_CFLAGS" \ ] \ [list \ "Run size-10" \ -- 2.30.2