mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 18:14:13 +08:00
* gas/hppa/reloc/*.s: Use .code instead of .SPACE/.SUBSPA for
sectioning. * gas/hppa/parse/parse.exp: Disable tests not appropriate for PA64. Revamp address expressions slightly to handle an arbitrary sized address.
This commit is contained in:
parent
a022ef54db
commit
a91f57fd4b
@ -1,5 +1,11 @@
|
||||
Mon Aug 30 12:18:40 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* gas/hppa/reloc/*.s: Use .code instead of .SPACE/.SUBSPA for
|
||||
sectioning.
|
||||
* gas/hppa/parse/parse.exp: Disable tests not appropriate for PA64.
|
||||
Revamp address expressions slightly to handle an arbitrary sized
|
||||
address.
|
||||
|
||||
* gas/hppa/parse/*.s: Use .code instead of .SPACE/.SUBSPA for
|
||||
sectioning.
|
||||
* gas/hppa/parse/parse.exp: Disable tests not appropriate for PA64.
|
||||
|
@ -1,22 +1,14 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
.IMPORT $global$,DATA
|
||||
.IMPORT $$dyncall,MILLICODE
|
||||
; gcc_compiled.:
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$
|
||||
.data
|
||||
|
||||
.align 4
|
||||
tab___2
|
||||
.word L$0002
|
||||
.word L$0003
|
||||
.word L$0004
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
.code
|
||||
|
||||
.align 4
|
||||
.EXPORT execute,CODE
|
||||
@ -64,16 +56,13 @@ L$0004
|
||||
.PROCEND
|
||||
.IMPORT __main,CODE
|
||||
.IMPORT strcmp,CODE
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$
|
||||
|
||||
.align 4
|
||||
L$C0000
|
||||
.STRING "xyxyz\x00"
|
||||
.IMPORT abort,CODE
|
||||
.IMPORT exit,CODE
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
.code
|
||||
|
||||
.align 4
|
||||
.EXPORT main,CODE
|
||||
@ -122,8 +111,7 @@ L$0011
|
||||
nop
|
||||
.EXIT
|
||||
.PROCEND
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $BSS$
|
||||
.data
|
||||
|
||||
optab .comm 10
|
||||
buf .comm 10
|
||||
|
@ -1,13 +1,4 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.code
|
||||
.align 4
|
||||
.IMPORT $$dyncall,MILLICODE ; Code for dynamic function calls.
|
||||
|
||||
|
@ -1,13 +1,4 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.code
|
||||
.align 4
|
||||
|
||||
ldil L%0xc0001004,%r1
|
||||
|
@ -1,13 +1,4 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.code
|
||||
.align 4
|
||||
.import yabba,code
|
||||
|
||||
|
@ -1,15 +1,4 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
.IMPORT $global$,DATA
|
||||
.IMPORT $$dyncall,MILLICODE
|
||||
; gcc_compiled.:
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.code
|
||||
.align 4
|
||||
.EXPORT foo,CODE
|
||||
.EXPORT foo,ENTRY,PRIV_LEV=3
|
||||
|
@ -1,14 +1,4 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
.SUBSPA $MILLICODE$,QUAD=0,ALIGN=8,ACCESS=44,SORT=8
|
||||
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.code
|
||||
b,n $$foo
|
||||
nop
|
||||
nop
|
||||
|
@ -1,15 +1,4 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
.IMPORT $global$,DATA
|
||||
.IMPORT $$dyncall,MILLICODE
|
||||
; gcc_compiled.:
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.code
|
||||
.align 4
|
||||
.EXPORT g,CODE
|
||||
.EXPORT g,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR
|
||||
@ -72,8 +61,7 @@ L$0005
|
||||
.EXIT
|
||||
.PROCEND
|
||||
.IMPORT abort,CODE
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$
|
||||
.data
|
||||
|
||||
.align 4
|
||||
L$TRAMP0000
|
||||
@ -88,8 +76,7 @@ L$TRAMP0000
|
||||
ldw 40(%r22),%r29
|
||||
.word 0
|
||||
.word 0
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
.code
|
||||
|
||||
.align 4
|
||||
.EXPORT f,CODE
|
||||
|
@ -1,15 +1,4 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
.IMPORT $global$,DATA
|
||||
.IMPORT $$dyncall,MILLICODE
|
||||
; gcc_compiled.:
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.code
|
||||
.align 4
|
||||
s:
|
||||
.PROC
|
||||
|
@ -1,16 +1,4 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
.IMPORT $global$,DATA
|
||||
.IMPORT $$dyncall,MILLICODE
|
||||
; gcc_compiled.:
|
||||
.IMPORT bar,CODE
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.code
|
||||
.align 4
|
||||
.EXPORT foo,CODE
|
||||
.EXPORT foo,ENTRY,PRIV_LEV=3,RTNVAL=GR
|
||||
|
@ -1,13 +1,9 @@
|
||||
|
||||
.SPACE $TEXT$,SORT=8
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=4,ACCESS=0x2c,CODE_ONLY,SORT=24
|
||||
.SPACE $PRIVATE$,SORT=16
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
|
||||
.data
|
||||
bogo
|
||||
.ALIGN 8
|
||||
.WORD bogo+4 ; = 0x4
|
||||
.STRING "\x00\x00\x00{\x00\x00\x01\xC8\x00\x00\x03\x15"
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$
|
||||
.data
|
||||
.EXPORT bogo
|
||||
.END
|
||||
|
@ -1,26 +1,16 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
.IMPORT $global$,DATA
|
||||
.IMPORT $$dyncall,MILLICODE
|
||||
; gcc_compiled.:
|
||||
.IMPORT abort,CODE
|
||||
.EXPORT f,DATA
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$
|
||||
|
||||
.data
|
||||
.align 4
|
||||
f:
|
||||
.word P%abort
|
||||
.word P%abort
|
||||
.IMPORT __main,CODE
|
||||
.IMPORT printf,CODE
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.code
|
||||
.align 4
|
||||
LC$0000:
|
||||
.STRING "frob\x0a\x00"
|
||||
|
@ -1,15 +1,7 @@
|
||||
.COPYRIGHT "MetaWare Incorporated, 1992"
|
||||
.VERSION "hc2.6a -O1 t3.c\n"
|
||||
|
||||
.SPACE $PRIVATE$,SORT=16
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=0x1F,SORT=80,ZERO
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1F,SORT=16
|
||||
|
||||
.SPACE $TEXT$,SORT=8
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=4,ACCESS=44,CODE_ONLY,SORT=24
|
||||
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$
|
||||
.data
|
||||
.ALIGN 8
|
||||
$L00DATA
|
||||
.ALIGN 8
|
||||
@ -19,8 +11,7 @@ s
|
||||
.BLOCKZ 786425
|
||||
.BLOCKZ 7
|
||||
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
.code
|
||||
L$001.3
|
||||
g .PROC
|
||||
.CALLINFO FRAME=0,NO_CALLS
|
||||
@ -32,8 +23,7 @@ g .PROC
|
||||
.PROCEND
|
||||
|
||||
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$
|
||||
.data
|
||||
.ALIGN 4
|
||||
.EXPORT l
|
||||
l
|
||||
|
@ -1,15 +1,8 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
.IMPORT $global$,DATA
|
||||
.IMPORT $$dyncall,MILLICODE
|
||||
; gcc_compiled.:
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.code
|
||||
.align 4
|
||||
.PARAM foo,RTNVAL=GR
|
||||
foo:
|
||||
@ -19,14 +12,10 @@ foo:
|
||||
bv,n %r0(%r2)
|
||||
.EXIT
|
||||
.PROCEND
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.align 4
|
||||
LC$0000:
|
||||
.word P%foo
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.align 4
|
||||
.EXPORT bar,CODE
|
||||
|
@ -1,16 +1,4 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
.IMPORT $global$,DATA
|
||||
.IMPORT $$dyncall,MILLICODE
|
||||
; gcc_compiled.:
|
||||
.EXPORT blah,DATA
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$
|
||||
|
||||
.data
|
||||
.align 8
|
||||
blah
|
||||
; .double 0e+00
|
||||
@ -26,8 +14,7 @@ foo
|
||||
.align 4
|
||||
yabba
|
||||
.word 1
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
.code
|
||||
|
||||
.align 4
|
||||
.EXPORT bar,CODE
|
||||
|
@ -32,7 +32,7 @@ proc do_ble_relocation_test {} {
|
||||
# a PC-relative relocation for a BLE instruction.
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^00000004\[^\n\]*ABS_CALL\[^\n\]*\n" { set x 1 }
|
||||
-re "^0+4\[^\n\]*ABS_CALL\[^\n\]*\n" { set x 1 }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
eof { break }
|
||||
@ -43,8 +43,8 @@ proc do_ble_relocation_test {} {
|
||||
# a PC-relative relocation for a BLE instruction.
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^00000000\[^\n\]*DIR21L\[^\n\]*\n" { set x 1 }
|
||||
-re "^00000004\[^\n\]*DIR17R\[^\n\]*\n" { set x 1 }
|
||||
-re "^0+\[^\n\]*DIR21L\[^\n\]*\n" { set x 1 }
|
||||
-re "^0+4\[^\n\]*DIR17R\[^\n\]*\n" { set x 1 }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
eof { break }
|
||||
@ -65,6 +65,10 @@ proc do_relocation_reduction_tests {} {
|
||||
set testname "reduce.s: Test relocation reductions (part 2)"
|
||||
set x 0
|
||||
|
||||
if [istarget hppa*w-*-*] then {
|
||||
return;
|
||||
}
|
||||
|
||||
if [gas_test_old "reduce.s" "" "Relocation reductions (part1)"] then {
|
||||
objdump_start_no_subdir "a.out" "-r"
|
||||
|
||||
@ -73,9 +77,9 @@ proc do_relocation_reduction_tests {} {
|
||||
# Doing so makes generating parameter relocation stubs impossible.
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^00000004\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
|
||||
-re "^0+4\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000014\[^\n\]*PCREL\[^\n\]*foo\[^\n\]*\n"
|
||||
-re "^0+14\[^\n\]*PCREL\[^\n\]*foo\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -94,20 +98,20 @@ proc do_relocation_reduction_tests {} {
|
||||
set testname "reduce2.s: More relocation reduction tests (part 2)"
|
||||
set x 0
|
||||
|
||||
if [gas_test_old "reduce2.s" "" "More relocatoin reductions (part1)"] then {
|
||||
if [gas_test_old "reduce2.s" "" "More relocation reductions (part1)"] then {
|
||||
objdump_start_no_subdir "a.out" "-r"
|
||||
|
||||
# Check to make sure DLT relative relocs are not reduced to sym+addend
|
||||
# Doing so doesn't work as one might expect
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^00000004\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n"
|
||||
-re "^0+4\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^0000001c\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n"
|
||||
-re "^0+1c\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000030\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n"
|
||||
-re "^0+30\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000048\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n"
|
||||
-re "^0+48\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -134,13 +138,13 @@ proc do_relocation_reduction_tests {} {
|
||||
# Doing so makes generating parameter relocation stubs impossible.
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^0000000c\[^\n\]*yabba\[^\n\+\]*\n"
|
||||
-re "^0+c\[^\n\]*yabba\[^\n\+\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^0000000c\[^\n\]*yabba\+\[^\n\]*\n"
|
||||
-re "^0+c\[^\n\]*yabba\+\[^\n\]*\n"
|
||||
{ set x 0; break }
|
||||
-re "^00000010\[^\n\]*yabba\[^\n\+\]*\n"
|
||||
-re "^0+10\[^\n\]*yabba\[^\n\+\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000010\[^\n\]*yabba\+\[^\n\]*\n"
|
||||
-re "^0+10\[^\n\]*yabba\+\[^\n\]*\n"
|
||||
{ set x 0; break }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -215,9 +219,9 @@ proc do_plabel_relocation_test {} {
|
||||
# Check that we make PLABEL relocation entries when they're needed.
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^00000000\[^\n\]*PLABEL\[^\n\]*\n"
|
||||
-re "^0+\[^\n\]*PLABEL\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000004\[^\n\]*PLABEL\[^\n\]*\n"
|
||||
-re "^0+4\[^\n\]*PLABEL\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -238,6 +242,10 @@ proc do_selector_scope_test {} {
|
||||
set testname "selectorbug.s: Test scope of field selector"
|
||||
set x 0
|
||||
|
||||
if [istarget hppa*w-*-*] then {
|
||||
return;
|
||||
}
|
||||
|
||||
if [gas_test_old "selectorbug.s" "" "Test scope of field selector (part 1)"] {
|
||||
objdump_start_no_subdir "a.out" "-r"
|
||||
|
||||
@ -247,9 +255,9 @@ proc do_selector_scope_test {} {
|
||||
if [istarget hppa*-*-*elf*] then {
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^00000014\[^\n\]*DIR32\[^\n\]*\n"
|
||||
-re "^0+14\[^\n\]*DIR32\[^\n\]*\n"
|
||||
{ set x 1 }
|
||||
-re "^00000014\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
|
||||
-re "^0+14\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
|
||||
{ set x 0 }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -259,9 +267,9 @@ proc do_selector_scope_test {} {
|
||||
} else {
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^00000014\[^\n\]*DATA_ONE\[^\n\]*\n"
|
||||
-re "^0+14\[^\n\]*DATA_ONE\[^\n\]*\n"
|
||||
{ set x 1 }
|
||||
-re "^00000014\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
|
||||
-re "^0+14\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
|
||||
{ set x 0 }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -290,9 +298,9 @@ proc do_local_label_as_operand_test {} {
|
||||
# to a non-branching instruction correctly.
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^0000002c\[^\n\]*0x00000024\[^\n\]*\n"
|
||||
-re "^0+2c\[^\n\]*0x0+24\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000030\[^\n\]*0x00000024\[^\n\]*\n"
|
||||
-re "^0+30\[^\n\]*0x0+24\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -327,7 +335,7 @@ proc do_exit_relocation_test {} {
|
||||
# Note that a match here is really a FAILURE!
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^00000000\[^\n\]*R_EXIT\[^\n\]*\n"
|
||||
-re "^0+\[^\n\]*R_EXIT\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -348,6 +356,10 @@ proc do_cross_space_fixup_test_1 {} {
|
||||
set testname "fixupbug.s: Test cross space jump/call fixup bug (part 2)"
|
||||
set x 0
|
||||
|
||||
if [istarget hppa*w-*-*] then {
|
||||
return;
|
||||
}
|
||||
|
||||
# ELF (osf) doesn't really handle extra sections too well...
|
||||
if [istarget hppa*-*-*elf*] then {
|
||||
return;
|
||||
@ -360,7 +372,7 @@ proc do_cross_space_fixup_test_1 {} {
|
||||
# branch/call
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^00000000\[^\n\]*PCREL_CALL\[^\n\]*\n"
|
||||
-re "^0+\[^\n\]*PCREL_CALL\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -381,6 +393,10 @@ proc do_cross_space_fixup_test_2 {} {
|
||||
set testname "fixupbug.s: Test cross space jump/call fixup bug (part 3)"
|
||||
set x 0
|
||||
|
||||
if [istarget hppa*w-*-*] then {
|
||||
return;
|
||||
}
|
||||
|
||||
# ELF (osf) doesn't really handle extra sections too well...
|
||||
if [istarget hppa*-*-*elf*] then {
|
||||
return;
|
||||
@ -415,24 +431,24 @@ proc do_round_mode_test {} {
|
||||
# Make sure GAS generated correct relocations to switch rounding modes.
|
||||
# Also make sure (for SOM) that redundant rounding mode relocations
|
||||
# were eliminated.
|
||||
if [istarget hppa*-*-*elf*] then {
|
||||
if { [istarget hppa*-*-*elf*] || [istarget hppa*w-*-*] } then {
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^00000000\[^\n\]*DIR21L\[^\n\]*\n"
|
||||
-re "^0+\[^\n\]*DIR21L\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000004\[^\n\]*DIR14R\[^\n\]*\n"
|
||||
-re "^0+4\[^\n\]*DIR14R\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000008\[^\n\]*DIR21L\[^\n\]*\n"
|
||||
-re "^0+8\[^\n\]*DIR21L\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^0000000c\[^\n\]*DIR14R\[^\n\]*\n"
|
||||
-re "^0+c\[^\n\]*DIR14R\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000010\[^\n\]*DIR21L\[^\n\]*\n"
|
||||
-re "^0+10\[^\n\]*DIR21L\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000014\[^\n\]*DIR14R\[^\n\]*\n"
|
||||
-re "^0+14\[^\n\]*DIR14R\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000018\[^\n\]*DIR21L\[^\n\]*\n"
|
||||
-re "^0+18\[^\n\]*DIR21L\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^0000001c\[^\n\]*DIR14R\[^\n\]*\n"
|
||||
-re "^0+1c\[^\n\]*DIR14R\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -442,19 +458,19 @@ proc do_round_mode_test {} {
|
||||
} else {
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^00000000\[^\n\]*R_R_MODE\[^\n\]*\n"
|
||||
-re "^0+\[^\n\]*R_R_MODE\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000004\[^\n\]*R_R_MODE\[^\n\]*\n"
|
||||
-re "^0+4\[^\n\]*R_R_MODE\[^\n\]*\n"
|
||||
{ fail $testname }
|
||||
-re "^00000008\[^\n\]*R_N_MODE\[^\n\]*\n"
|
||||
-re "^0+8\[^\n\]*R_N_MODE\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^0000000c\[^\n\]*R_N_MODE\[^\n\]*\n"
|
||||
-re "^0+c\[^\n\]*R_N_MODE\[^\n\]*\n"
|
||||
{ fail $testname }
|
||||
-re "^00000010\[^\n\]*R_R_MODE\[^\n\]*\n"
|
||||
-re "^0+10\[^\n\]*R_R_MODE\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^00000014\[^\n\]*R_R_MODE\[^\n\]*\n"
|
||||
-re "^0+14\[^\n\]*R_R_MODE\[^\n\]*\n"
|
||||
{ fail $testname }
|
||||
-re "^0000001c\[^\n\]*R_R_MODE\[^\n\]*\n"
|
||||
-re "^0+1c\[^\n\]*R_R_MODE\[^\n\]*\n"
|
||||
{ fail $testname }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -468,7 +484,7 @@ proc do_round_mode_test {} {
|
||||
objdump_finish
|
||||
|
||||
# Did we find what we were looking for? If not, flunk it.
|
||||
if [istarget hppa*-*-*elf*] then {
|
||||
if {[istarget hppa*-*-*elf*] || [istarget hppa*w-*-*] } then {
|
||||
if [expr $x==8] then { pass $testname } else { fail $testname }
|
||||
} else {
|
||||
if [expr $x==3] then { pass $testname } else { fail $testname }
|
||||
@ -487,9 +503,9 @@ proc do_function_reloc_bug {} {
|
||||
# branch/call
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^000000cc\[^\n\]*f2___4\[^\n+\]*\n"
|
||||
-re "^0+cc\[^\n\]*f2___4\[^\n+\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^000000d0\[^\n\]*f2___4\[^\n+\]*\n"
|
||||
-re "^0+d0\[^\n\]*f2___4\[^\n+\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -511,9 +527,9 @@ proc do_function_reloc_bug {} {
|
||||
# Make sure we didn't put anything in the instruction itself!
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^000000cc\[^\n\]*ldil 0,r20\[^\n\]*\n"
|
||||
-re "^0+cc\[^\n\]*ldil 0,r20\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "^000000d0\[^\n\]*ldo 0\[\(\]+r20\[\)\]+,r19\[^\n\]*\n"
|
||||
-re "^0+d0\[^\n\]*ldo 0\[\(\]+r20\[\)\]+,r19\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -541,7 +557,7 @@ proc do_r_no_reloc {} {
|
||||
# Make sure GAS generated a correct relocation for the reference.
|
||||
while 1 {
|
||||
expect {
|
||||
-re "^000c0004\[^\n\]*PLABEL\[^\n]*g\[^\n\]*\n"
|
||||
-re "^0+c0004\[^\n\]*PLABEL\[^\n]*g\[^\n\]*\n"
|
||||
{ set x [expr $x+1] }
|
||||
-re "\[^\n\]*\n" { }
|
||||
timeout { perror "timeout\n"; break }
|
||||
@ -563,6 +579,10 @@ proc do_pic_relocation_test {} {
|
||||
set testname "picreloc.s: Test for proper PIC relocation (part 2)"
|
||||
set x 0
|
||||
|
||||
if [istarget hppa*w-*-*] then {
|
||||
return;
|
||||
}
|
||||
|
||||
# ELF (osf) doesn't really handle extra sections too well...
|
||||
if [istarget hppa*-*-*elf*] then {
|
||||
return;
|
||||
|
@ -1,12 +1,4 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
.code
|
||||
|
||||
.align 4
|
||||
.IMPORT foo,data
|
||||
|
@ -1,21 +1,11 @@
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
|
||||
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
|
||||
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
|
||||
.IMPORT $global$,DATA
|
||||
.IMPORT $$dyncall,MILLICODE
|
||||
; gcc_compiled.:
|
||||
.EXPORT intVec_error_handler,DATA
|
||||
.SPACE $PRIVATE$
|
||||
.SUBSPA $DATA$
|
||||
.data
|
||||
|
||||
intVec_error_handler:
|
||||
.word P%default_intVec_error_handler__FPCc
|
||||
.SPACE $TEXT$
|
||||
.SUBSPA $CODE$
|
||||
|
||||
.code
|
||||
.align 4
|
||||
.EXPORT foo,CODE
|
||||
.EXPORT foo,ENTRY,PRIV_LEV=3
|
||||
|
Loading…
Reference in New Issue
Block a user