mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 04:49:54 +08:00
new test case for relocations with addends
This commit is contained in:
@ -26,6 +26,8 @@ Do-first:
|
||||
|
||||
Things-to-keep:
|
||||
|
||||
addend.exp
|
||||
addend.s
|
||||
gas.exp
|
||||
sol-cc.s
|
||||
sol-gcc.s
|
||||
|
36
gas/testsuite/gas/sparc-solaris/addend.exp
Normal file
36
gas/testsuite/gas/sparc-solaris/addend.exp
Normal file
@ -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
|
||||
}
|
||||
}
|
||||
}
|
11
gas/testsuite/gas/sparc-solaris/addend.s
Normal file
11
gas/testsuite/gas/sparc-solaris/addend.s
Normal file
@ -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
|
Reference in New Issue
Block a user