Fix search in TUI
[deliverable/binutils-gdb.git] / ld / testsuite / ld-elf / frame.exp
index 9f5a787715d32726b17b1578f0eececaa57221bd..2acc8ba84a583a015d4bd45d80e3ac55a0c1f21a 100644 (file)
@@ -1,5 +1,5 @@
 # Expect script for frame section tests
-#   Copyright 2004, 2007 Free Software Foundation, Inc.
+#   Copyright (C) 2004-2020 Free Software Foundation, Inc.
 #
 # This file is part of the GNU Binutils.
 #
@@ -29,7 +29,7 @@ if ![is_elf_format] {
 }
 
 # No shared lib support on this target.
-if { [istarget "mcore-*-*"] } {
+if ![check_shared_lib_support] {
     return
 }
 
@@ -40,43 +40,55 @@ if { [istarget "sh*-*-elf*"] } {
 
 # ??? These targets have their own .tbss section, with different meaning
 # to the usual ELF .tbss.
-if { [istarget "hppa64-*-*"] || [istarget "v850-*-*"] } {
+if { [istarget "hppa64-*-*"] || [istarget "v850*-*-*"] } {
     return
 }
 
+set as_opt ""
+
+# This target requires extra as options when building code for shared
+# libraries.
+if { [istarget "tic6x-*-*"] } {
+    set as_opt "-mpic -mpid=near"
+}
+
 set test1      "read-only .eh_frame section"
 set test2      "read-only .gcc_except_table section"
 
 global as
 global ld
 
-if { ![ld_assemble $as $srcdir/$subdir/tbss.s tmpdir/tbss.o ]
-     || ![ld_assemble $as $srcdir/$subdir/frame.s tmpdir/frame.o] } {
+if { ![ld_assemble_flags $as $as_opt $srcdir/$subdir/tbss.s tmpdir/tbss.o ]
+     || ![ld_assemble_flags $as $as_opt $srcdir/$subdir/frame.s tmpdir/frame.o] } {
     unresolved "$test1"
     return
 }
 
-if { [ld_simple_link $ld tmpdir/frame.so "--shared tmpdir/frame.o tmpdir/tbss.o"] } {
-    pass "$test1"
+if { [ld_link $ld tmpdir/frame.so "-z noseparate-code --shared tmpdir/frame.o tmpdir/tbss.o"] } {
+    pass "$test1 -z noseparate-code"
 } else {
-    if [string match "*shared not supported*" $link_output] {
-       unsupported "-shared is not supported by this target"
-    } else {
-       fail "$test1"
-    }
+   fail "$test1 -z noseparate-code"
 }
 
-if ![ld_assemble $as $srcdir/$subdir/table.s tmpdir/table.o ] {
+if { [ld_link $ld tmpdir/frame.so "-z separate-code --shared tmpdir/frame.o tmpdir/tbss.o"] } {
+    pass "$test1 -z separate-code"
+} else {
+    fail "$test1 -z separate-code"
+}
+
+if ![ld_assemble_flags $as $as_opt $srcdir/$subdir/table.s tmpdir/table.o ] {
     unresolved "$test2"
     return
 }
 
-if { [ld_simple_link $ld tmpdir/table.so "--shared tmpdir/table.o tmpdir/tbss.o"] } {
-    pass "$test2"
+if { [ld_link $ld tmpdir/table.so "-z noseparate-code --shared tmpdir/table.o tmpdir/tbss.o"] } {
+    pass "$test2 -z noseparate-code"
+} else {
+    fail "$test2 -z noseparate-code"
+}
+
+if { [ld_link $ld tmpdir/table.so "-z separate-code --shared tmpdir/table.o tmpdir/tbss.o"] } {
+    pass "$test2 -z separate-code"
 } else {
-    if [string match "*shared not supported*" $link_output] {
-       unsupported "-shared is not supported by this target"
-    } else {
-       fail "$test2"
-    }
+    fail "$test2 -z separate-code"
 }
This page took 0.024075 seconds and 4 git commands to generate.