aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus>1993-10-25 16:46:55 +0000
committerKen Raeburn <raeburn@cygnus>1993-10-25 16:46:55 +0000
commitb59797d28a241ad66a80519300d318df0556cabd (patch)
treeb3f7349eef89ba5f69a842b540aec1ed08829465
parent24f1de41a7284a74f8cb2ee5bb5617363a568704 (diff)
downloadgdb-b59797d28a241ad66a80519300d318df0556cabd.zip
gdb-b59797d28a241ad66a80519300d318df0556cabd.tar.gz
gdb-b59797d28a241ad66a80519300d318df0556cabd.tar.bz2
new test case for relocations with addends
-rw-r--r--gas/testsuite/gas/sparc-solaris/.Sanitize2
-rw-r--r--gas/testsuite/gas/sparc-solaris/addend.exp36
-rw-r--r--gas/testsuite/gas/sparc-solaris/addend.s11
3 files changed, 49 insertions, 0 deletions
diff --git a/gas/testsuite/gas/sparc-solaris/.Sanitize b/gas/testsuite/gas/sparc-solaris/.Sanitize
index a160360..3233d0b 100644
--- a/gas/testsuite/gas/sparc-solaris/.Sanitize
+++ b/gas/testsuite/gas/sparc-solaris/.Sanitize
@@ -26,6 +26,8 @@ Do-first:
Things-to-keep:
+addend.exp
+addend.s
gas.exp
sol-cc.s
sol-gcc.s
diff --git a/gas/testsuite/gas/sparc-solaris/addend.exp b/gas/testsuite/gas/sparc-solaris/addend.exp
new file mode 100644
index 0000000..a0ac875
--- /dev/null
+++ b/gas/testsuite/gas/sparc-solaris/addend.exp
@@ -0,0 +1,36 @@
+#
+# SunOS4 on SPARC tests
+#
+
+if [istarget sparc-*-solaris2*] then {
+ set x1 0
+ set x2 0
+ set x3 0
+ set x4 0
+ set x5 0
+ set x6 0
+ set testname "addends (part 2)"
+ if [gas_test_old "addend.s" "" "addends (part 1)"] then {
+ objdump_start_no_subdir "a.out" "-r"
+ while 1 {
+ # These are what we get using the Solaris assembler.
+ expect {
+ -re "08 R_SPARC_WDISP22 +foo1\+0x0+04\r\n" { incr x1 }
+ -re "0c R_SPARC_WDISP22 +foo1\+0x0+04\r\n" { incr x2 }
+ -re "10 R_SPARC_WDISP22 +foo1\r\n" { incr x3 }
+ -re "14 R_SPARC_WDISP22 +foo1\r\n" { incr x4 }
+ -re "1c R_SPARC_32 +foo1\r\n" { incr x5 }
+ -re "20 R_SPARC_32 +foo1\+0x0*04\r\n" { incr x6 }
+ -re "\[^\n\]*\n" { }
+ timeout { error "timeout\n"; break }
+ eof { break }
+ }
+ }
+ objdump_finish
+ if [all_ones $x1 $x2 $x3 $x4 $x5 $x6] then {
+ pass $testname
+ } else {
+ fail $testname
+ }
+ }
+}
diff --git a/gas/testsuite/gas/sparc-solaris/addend.s b/gas/testsuite/gas/sparc-solaris/addend.s
new file mode 100644
index 0000000..18eb108
--- /dev/null
+++ b/gas/testsuite/gas/sparc-solaris/addend.s
@@ -0,0 +1,11 @@
+ .global foo
+foo:
+ nop
+ nop
+ ba foo1+0x4
+ ba foo1+0x4
+ ba foo1
+ ba foo1
+ nop
+ .word foo1
+ .word foo1+4