# Expect script for frame section tests
-# Copyright 2004, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2004-2020 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
}
# No shared lib support on this target.
-if { [istarget "mcore-*-*"] } {
+if ![check_shared_lib_support] {
return
}
# ??? 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 test1 "read-only .eh_frame section"
set test2 "read-only .gcc_except_table section"
-global as
-global ld
-
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 {
+ fail "$test1 -z noseparate-code"
+}
+
+if { [ld_link $ld tmpdir/frame.so "-z separate-code --shared tmpdir/frame.o tmpdir/tbss.o"] } {
+ pass "$test1 -z separate-code"
} else {
- if [string match "*shared not supported*" $link_output] {
- unsupported "-shared is not supported by this target"
- } else {
- fail "$test1"
- }
+ fail "$test1 -z separate-code"
}
if ![ld_assemble_flags $as $as_opt $srcdir/$subdir/table.s tmpdir/table.o ] {
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"
}