ld: Add $NOSANTIZE_CFLAGS to more linker tests
authorH.J. Lu <hjl.tools@gmail.com>
Sun, 30 Aug 2020 14:27:02 +0000 (07:27 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 30 Aug 2020 14:28:17 +0000 (07:28 -0700)
* 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
ld/testsuite/ld-elf/dwarf.exp
ld/testsuite/ld-elf/shared.exp
ld/testsuite/ld-elfvsb/elfvsb.exp
ld/testsuite/ld-shared/shared.exp
ld/testsuite/ld-size/size.exp

index 77e39a56145d7c1d990c77059a0d320eaf98be6f..0138e88db0adb99eabe2f9b251f337851d2023d1 100644 (file)
@@ -1,3 +1,11 @@
+2020-08-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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  <jozef.l@mittosystems.com>
 
        * emultempl/msp430.em (input_section_exists): New.
index 4d2c35d54040c5f1a7c3f3dc1cd09bac845e91a6..93fd21d8f3523d4e5443a4a9ca1f9b267ff52bbf 100644 (file)
@@ -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
index 66da7203df0d9f49b52cbe51e5492fdcb9570843..fb04cc3ac89f289be37ed0358a196fc5380a7d1a 100644 (file)
@@ -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
index 3a242d35276a57b033053a399e7182ea02b3fcb4..673e0a01557106a9961f5e5210976238529000eb 100644 (file)
@@ -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 {
index fa64730775cacdcf7ef9be657c2399bc840c6cdf..eb346e9c6ada8101279b026f345623a7ea3db748 100644 (file)
@@ -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
index 8a9459993a084a55e41c5eb225ee9fee86c88ca0..40d8cda90c786dbe2f0edea8bae1780dc594c701 100644 (file)
@@ -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" \