Revert "MIPS: fix some ld testcases with compiler"
authorMaciej W. Rozycki <macro@orcam.me.uk>
Thu, 15 Jun 2023 03:45:03 +0000 (04:45 +0100)
committerMaciej W. Rozycki <macro@orcam.me.uk>
Thu, 15 Jun 2023 03:45:03 +0000 (04:45 +0100)
This reverts commit a0631c1501c113c04891c9a24a9ff5276257f28d.  It was
applied unapproved.

ld/testsuite/config/default.exp
ld/testsuite/ld-elf/indirect.exp
ld/testsuite/ld-elf/pr23658-2.rd
ld/testsuite/ld-elf/shared.exp
ld/testsuite/ld-elfvers/vers.exp
ld/testsuite/ld-gc/gc.exp
ld/testsuite/ld-mips-elf/mips-elf.exp
ld/testsuite/ld-plugin/lto.exp
ld/testsuite/ld-plugin/plugin.exp
ld/testsuite/ld-selective/selective.exp
ld/testsuite/ld-shared/shared.exp

index 1bc8760e72b374e1b2d5609bf28187a2026ea847..5c925476e23c9a69ef5fd2a0ee3d17fcbea59e0f 100644 (file)
@@ -155,7 +155,7 @@ if {! [info exists env(CCC_OVERRIDE_OPTIONS)]} {
 # installed, but to the O32 ABI in the build tree, because of some
 # specs-file hacks.  Make sure we use an ABI that is compatible with
 # the one we expect.
-if {[istarget mips*64*-*-linux*] && ![istarget mips*64*-*-linux-gnuabi64] &&
+if {[istarget mips64*-*-linux*] &&
     (![board_info [target_info name] exists multilib_flags] ||
      ![string match "*-mabi" [board_info [target_info name] multilib_flags]])
    } {
@@ -263,24 +263,6 @@ proc ld_exec { target output } {
        default_ld_exec $target $output
 }
 
-#
-# xfail_from_runlist
-#      mark a test xfail and remove it from the runlist
-proc xfail_from_runlist { runlist name } {
-  set i 0
-  set rtl $runlist
-  foreach t $runlist {
-    set tn [lindex $t 0]
-    if [string equal $name $tn] {
-      xfail $tn
-      set rtl [lreplace $rtl $i $i]
-    }
-    incr i
-  }
-  return $rtl
-}
-
-
 # From gas-defs.exp, to support run_dump_test.
 if ![info exists AS] then {
     set AS $as
index dfbb097378bac79400b17e138d42ee4c4edb4477..ce4771371dd72ea86a4dd0a1f3ac2c263d86690d 100644 (file)
@@ -219,9 +219,7 @@ proc check_dynamic_syms { test } {
 
 foreach t [list indirect5a indirect5b indirect6a indirect6b] {
     set testname [concat $t "dynsym"]
-    if { [istarget mips*] } {
-       xfail $testname
-    } elseif { [check_dynamic_syms tmpdir/$t] } {
+    if { [check_dynamic_syms tmpdir/$t] } {
        pass $testname
     } else {
        fail $testname
@@ -254,9 +252,7 @@ run_ld_link_exec_tests $pie_tests
 
 foreach t [list indirect5c indirect5d indirect6c indirect6d] {
     set testname [concat $t "dynsym"]
-    if { [istarget mips*] } {
-       xfail $testname
-    } elseif { [check_dynamic_syms tmpdir/$t] } {
+    if { [check_dynamic_syms tmpdir/$t] } {
        pass $testname
     } else {
        fail $testname
index e414ae3250d9be5b9c55789e7ab344556bec9b17..9f89c4b40aed36c960e836f720df1f9b20d7bdb9 100644 (file)
@@ -1,5 +1,5 @@
 #...
- +[0-9]+ +(\.MIPS\.abiflags \.MIPS\.options \.dynamic \.hash \.dynsym \.dynstr \.text |)\.interp \.note.4 \.note.1 \.note.2 \.note.3.*
+ +[0-9]+ +\.interp \.note.4 \.note.1 \.note.2 \.note.3.*
 #...
  +[0-9]+ +\.note\.4 \.note\.1 +
  +[0-9]+ +\.note\.2 .note\.3 +
index 2019275dda313e70c952a3ab1afea9ade923e77f..1eef9f456678daaaa2c7d0d269e2347d87c2c100 100644 (file)
@@ -774,6 +774,9 @@ set build_tests {
   {"Build libpr16496b.a"
    "" "-fPIC"
    {pr16496b.c} {} "libpr16496b.a"}
+  {"Build libpr16496b.so"
+   "-shared -Wl,--no-as-needed tmpdir/pr16496b.o tmpdir/libpr16496a.so" ""
+   {dummy.c} {{objdump {-R} pr16496b.od}} "libpr16496b.so"}
   {"Build libpr16452a.so"
    "-shared -Wl,-soname,libpr16452a.so,--version-script=pr16452.map" "-fPIC"
    {pr16452a.c} {} "libpr16452a.so"}
@@ -794,15 +797,6 @@ set build_tests {
    {pr18458b.c} {} "libpr18458b.so"}
 }
 
-# MIPS PIC uses different way: .MIPS.stub
-if { ![istarget mips*-linux*] } {
-    append build_tests {
-       {"Build libpr16496b.so"
-       "-shared -Wl,--no-as-needed tmpdir/pr16496b.o tmpdir/libpr16496a.so" ""
-       {dummy.c} {{objdump {-R} pr16496b.od}} "libpr16496b.so"}
-    }
-}
-
 run_cc_link_tests [list \
     [list \
        "Build libpr2404a.so" \
index 2ab5487d4404ea2516b4fbbc436ef227f5cdcad0..b266cc0226f5beacd31f0f7e093330a93c488f08 100644 (file)
@@ -801,13 +801,13 @@ build_exec "vers3" vers3.c vers3 "-Wl,--no-as-needed" vers1.so vers3.ver vers3.d
 
 # This test fails on MIPS.  On the MIPS we must put foo in the dynamic
 # symbol table, which the test does not expect.
-setup_xfail "mips*-*-irix*" "mips*-linux-*"
+setup_xfail "mips*-*-irix*"
 build_exec "vers4" vers4.c vers4 "" "" "" "" vers4.sym
 
 build_exec "vers4a" vers4.c vers4a "-Wl,-export-dynamic" "" vers4a.ver vers4a.dsym vers4a.sym
 
 # Verify that --no-export-dynamic undoes the effect of --export-dynamic.
-setup_xfail "mips*-*-irix*" "mips*-linux-*"
+setup_xfail "mips*-*-irix*"
 build_exec "vers4b" vers4.c vers4b "-Wl,-export-dynamic -Wl,--no-export-dynamic" "" "" "" vers4.sym
 
 
@@ -932,20 +932,18 @@ set as_pic_flags ""
 if [istarget sparc*-*-*] {
   set as_pic_flags "-K PIC"
 }
-if { ![istarget mips*-*-*] } {
-  run_ld_link_tests [list "\"vers24a\"
+run_ld_link_tests [list "\"vers24a\"
                         \"-shared --version-script $srcdir/$subdir/vers24.map\" \"\"
                         \"$as_pic_flags $as_options\" {vers24a.c vers24b.c} { { readelf -Wrs vers24.rd } }
                         \"libvers24a.so\" \"-fpic\""]
-  run_ld_link_tests [list "\"vers24b\"
+run_ld_link_tests [list "\"vers24b\"
                         \"-shared --version-script $srcdir/$subdir/vers24.map\" \"\"
                         \"$as_pic_flags $as_options\" {vers24b.c vers24a.c} { { readelf -Wrs vers24.rd } }
                         \"libvers24b.so\" \"-fpic\""]
-  run_ld_link_tests [list "\"vers24c\"
+run_ld_link_tests [list "\"vers24c\"
                         \"-shared --version-script $srcdir/$subdir/vers24.map\" \"\"
                         \"$as_pic_flags $as_options\" {vers24c.c} { { readelf -Wrs vers24.rd } }
                         \"libvers24c.so\" \"-fpic\""]
-}
 
 # Test versioned definition vs. normal definition in different files.
 if [string match "yes" $pic] then {
index e342c3ba2fe15a4ec578786b30c44872902b54f2..bca0397ee021efae7040351db622018214604a22 100644 (file)
@@ -151,10 +151,6 @@ if { [check_compiler_available] } {
     }
 }
 
-set save_asflags $ASFLAGS
-if { [istarget "mips*-*-linux*"] } {
-    append ASFLAGS " -KPIC"
-}
 set symdefs ""
 if [is_pecoff_format] {
     set symdefs {{ld {--defsym __main=main --defsym ___main=main}}}
@@ -178,7 +174,6 @@ if { [check_compiler_available] } {
     }
     run_dump_test "pr19161" $symdefs
 }
-set ASFLAGS $save_asflags
 
 if { [is_elf_format] && [check_shared_lib_support] \
      && [check_compiler_available] } {
index 4565bc9570c6599bcaf2d6083304ef8f80efd22c..ee0522b073fc696a9943d4f1dbc0bd923c2ed346 100644 (file)
@@ -1101,7 +1101,7 @@ if { $has_abi(o32) } {
 }
 
 run_dump_test_o32 "mips16-local-stubs-1"
-run_dump_test_n32 "mips16-local-stubs-1" noarch
+run_dump_test_n32 "mips16-local-stubs-1"
 
 set mips16_fp_stub_test [list \
     [list "Floating-point stub for mips16 functions" \
index a4b546d42536cdc66d938111f7095c346c606450..e7e7952bb1baeb6ebfaa26208b50151942c79c5f 100644 (file)
@@ -557,7 +557,7 @@ if { ! [istarget "arm*-*-*"] } {
 # when using the LTO plugin.  The HPPA target however requires an
 # executable stack for syscall restarts and signal returns, so we
 # skip this test for that target.
-if { ! [istarget "hppa*-*-*"] && ! [istarget "mips*-linux*"] } {
+if { ! [istarget "hppa*-*-*"] } {
     lappend lto_link_elf_tests \
   [list "PR ld/12982" \
    "-O2 -flto -fuse-linker-plugin" "-O2 -flto" \
@@ -909,10 +909,6 @@ if { [at_least_gcc_version 4 7] } {
     }
 }
 
-set save_asflags $ASFLAGS
-if { [istarget "mips*-*-linux*"] } {
-    append ASFLAGS " -KPIC"
-}
 # Run "ld -r" to generate inputs for complex LTO tests.
 run_dump_test "lto-3r"
 remote_exec host "mv" "tmpdir/dump tmpdir/lto-3.o"
@@ -926,12 +922,7 @@ run_ld_link_tests [list \
    "-r tmpdir/pr19317.o" "" "" \
    {dummy.s} {} "pr19317-r.o"] \
 ]
-set ASFLAGS $save_asflags
 
-if { [istarget "mips*-*-linux*"] } {
-  set lto_run_tests [xfail_from_runlist $lto_run_tests "PR ld/15323 (4)"]
-  set lto_run_tests [xfail_from_runlist $lto_run_tests "PR ld/19317 (3)"]
-}
 run_ld_link_exec_tests $lto_run_tests
 
 if { [is_elf_format] } {
index ce7d406c998f2595b63ee46ab2026ae30b94c36a..bbb8cedbc2ca85151689d1538dc486c1a32359fb 100644 (file)
@@ -295,15 +295,6 @@ if { !$can_compile || $failed_compile } {
     return
 }
 
-if { [istarget "mips*-*-linux*"] } {
-  set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile lost symbol"]
-  set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile replace symbol"]
-  set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile resolve symbol"]
-  set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile lost symbol with source"]
-  set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile replace symbol with source"]
-  set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile resolve symbol with source"]
-  set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile resolve symbol with source"]
-}
 run_ld_link_tests $plugin_tests
 
 if { [is_elf_format] \
@@ -364,12 +355,6 @@ if { [regexp "0+ T func" "$plugin_nm_output"] &&
 
 # Check if ar --plugin works.
 file delete tmpdir/libfunc.a
-if { [istarget "mips*-*-linux*"] } {
-  set plugin_src_tests [xfail_from_runlist $plugin_src_tests "plugin 2 with source lib"]
-  set plugin_src_tests [xfail_from_runlist $plugin_src_tests "load plugin 2 with source"]
-  set plugin_src_tests [xfail_from_runlist $plugin_src_tests "plugin 3 with source lib"]
-  set plugin_src_tests [xfail_from_runlist $plugin_src_tests "load plugin 3 with source"]
-}
 if [ar_simple_create $ar "--plugin $plugin2_path" "tmpdir/libfunc.a" \
                         "tmpdir/main.o $srcdir/$subdir/func.c"] {
     set testname "ar --plugin"
index 2531a5e5df8625b8caf3b87d3596001d40dad310..813a52d54de7116b3e8c8c4f155b954f6f4487a9 100644 (file)
@@ -52,7 +52,7 @@ set ldflags "--gc-sections -Bstatic"
 
 if [istarget mips*-*] {
     # MIPS16 doesn't support PIC code.
-    set cflags "-mno-abicalls -fno-PIC $cflags"
+    set cflags "-mno-abicalls $cflags"
     # MIPS ELF uses __start by default, we override it.
     set ldflags "-e _start $ldflags"
 }
index 3b0adddf023fc33a0366c49cd062cb38866e5b8b..f56e42f667b2fe28508be21b89c1b09e7fc804a8 100644 (file)
@@ -220,7 +220,7 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.
         || ![ld_compile "$CC_FOR_TARGET $PLT_CFLAGS $SHCFLAG" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } {
        unsupported "shared (non PIC)"
     } else { if { [is_xcoff_format] } {
-       shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o xcoff
+       shared_test shnp "shared (nonPIC)" mainnp.o sh1np.o sh2np.o xcoff
     } else {
        # Solaris defaults to -z text.
        setup_xfail "*-*-solaris2*"
@@ -242,7 +242,6 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.
            setup_xfail "arm*-*-linux*"
        }
        setup_xfail "aarch64*-*-linux*"
-       setup_xfail "mips*-*-linux*"
        shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o shared
 
        # Test ELF shared library relocations with a non-zero load
@@ -324,7 +323,6 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdi
                setup_xfail "arm*-*-linux*"
            }
            setup_xfail "aarch64*-*-linux*"
-           setup_xfail "mips*-*-linux*"
            shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o shared
        }
     } else {