Dwarf2 test for 68HC11/68HC12 gas
This commit is contained in:
parent
d8273f3bf3
commit
68a581b811
5 changed files with 427 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||||||
|
|
||||||
|
* gas/m68hc11/all.exp: Add new tests for dwarf2.
|
||||||
|
* gas/m68hc11/lbranch-dwarf2.d: New file, test for dwarf2.
|
||||||
|
* gas/m68hc11/opers12-dwarf2.d: Likewise.
|
||||||
|
* gas/m68hc11/insns-dwarf2.d: Likewise.
|
||||||
|
|
||||||
2001-01-11 Nick Clifton <nickc@redhat.com>
|
2001-01-11 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* gas/arm/adrl.s: Add global label 'foo'.
|
* gas/arm/adrl.s: Add global label 'foo'.
|
||||||
|
|
|
@ -13,6 +13,9 @@ if ![istarget "m68hc11-*-*"] then {
|
||||||
run_dump_test insns
|
run_dump_test insns
|
||||||
run_dump_test lbranch
|
run_dump_test lbranch
|
||||||
run_dump_test all_insns
|
run_dump_test all_insns
|
||||||
|
run_dump_test insns-dwarf2
|
||||||
|
run_dump_test lbranch-dwarf2
|
||||||
|
|
||||||
# Some 68HC12 tests
|
# Some 68HC12 tests
|
||||||
run_dump_test opers12
|
run_dump_test opers12
|
||||||
|
run_dump_test opers12-dwarf2
|
111
gas/testsuite/gas/m68hc11/insns-dwarf2.d
Normal file
111
gas/testsuite/gas/m68hc11/insns-dwarf2.d
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
#objdump: -S
|
||||||
|
#as: -m68hc11 -gdwarf2
|
||||||
|
#name: Dwarf2 test on insns.s
|
||||||
|
#source: insns.s
|
||||||
|
|
||||||
|
# Test handling of basic instructions.
|
||||||
|
|
||||||
|
.*: +file format elf32\-m68hc11
|
||||||
|
|
||||||
|
Disassembly of section .text:
|
||||||
|
|
||||||
|
0+0 <_start>:
|
||||||
|
.globl _start
|
||||||
|
.sect .text
|
||||||
|
|
||||||
|
_start:
|
||||||
|
lds #stack\+1024
|
||||||
|
0: 8e 04 00 lds #400 <L1\+0x3a9>
|
||||||
|
ldx #1
|
||||||
|
3: ce 00 01 ldx #1 <_start\+0x1>
|
||||||
|
|
||||||
|
00000006 <Loop>:
|
||||||
|
Loop:
|
||||||
|
jsr test
|
||||||
|
6: bd 00 10 jsr 10 <test>
|
||||||
|
dex
|
||||||
|
9: 09 dex
|
||||||
|
bne Loop
|
||||||
|
a: 26 fa bne 6 <Loop>
|
||||||
|
|
||||||
|
0000000c <Stop>:
|
||||||
|
c: cd 03 .byte 0xcd, 0x03
|
||||||
|
Stop:
|
||||||
|
|
||||||
|
.byte 0xcd
|
||||||
|
.byte 3
|
||||||
|
bra _start
|
||||||
|
e: 20 f0 bra 0 <_start>
|
||||||
|
|
||||||
|
00000010 <test>:
|
||||||
|
|
||||||
|
test:
|
||||||
|
ldd #2
|
||||||
|
10: cc 00 02 ldd #2 <_start\+0x2>
|
||||||
|
jsr test2
|
||||||
|
13: bd 00 17 jsr 17 <test2>
|
||||||
|
rts
|
||||||
|
16: 39 rts
|
||||||
|
|
||||||
|
00000017 <test2>:
|
||||||
|
|
||||||
|
B_low = 12
|
||||||
|
A_low = 44
|
||||||
|
D_low = 50
|
||||||
|
value = 23
|
||||||
|
|
||||||
|
.globl test2
|
||||||
|
test2:
|
||||||
|
ldx value,y
|
||||||
|
17: cd ee 17 ldx 23,y
|
||||||
|
std value,x
|
||||||
|
1a: ed 17 std 23,x
|
||||||
|
ldd ,x
|
||||||
|
1c: ec 00 ldd 0,x
|
||||||
|
sty ,y
|
||||||
|
1e: 18 ef 00 sty 0,y
|
||||||
|
stx ,y
|
||||||
|
21: cd ef 00 stx 0,y
|
||||||
|
brclr 6,x,#4,test2
|
||||||
|
24: 1f 06 04 ef brclr 6,x #\$04 17 <test2>
|
||||||
|
brclr 12,x #8 test2
|
||||||
|
28: 1f 0c 08 eb brclr 12,x #\$08 17 <test2>
|
||||||
|
ldd \*ZD1
|
||||||
|
2c: dc 00 ldd \*0 <_start>
|
||||||
|
ldx \*ZD1\+2
|
||||||
|
2e: de 02 ldx \*2 <_start\+0x2>
|
||||||
|
clr \*ZD2
|
||||||
|
30: 7f 00 00 clr 0 <_start>
|
||||||
|
clr \*ZD2\+1
|
||||||
|
33: 7f 00 01 clr 1 <_start\+0x1>
|
||||||
|
bne .-4
|
||||||
|
36: 26 fc bne 34 <test2\+0x1d>
|
||||||
|
beq .\+2
|
||||||
|
38: 27 02 beq 3c <test2\+0x25>
|
||||||
|
bclr \*ZD1\+1, #32
|
||||||
|
3a: 15 01 20 bclr \*1 <_start\+0x1> #\$20
|
||||||
|
brclr \*ZD2\+2, #40, test2
|
||||||
|
3d: 13 02 28 d6 brclr \*2 <_start\+0x2> #\$28 17 <test2>
|
||||||
|
ldy #24\+_start-44
|
||||||
|
41: 18 ce ff ec ldy #ffec <L1\+0xff95>
|
||||||
|
ldd B_low,y
|
||||||
|
45: 18 ec 0c ldd 12,y
|
||||||
|
addd A_low,y
|
||||||
|
48: 18 e3 2c addd 44,y
|
||||||
|
addd D_low,y
|
||||||
|
4b: 18 e3 32 addd 50,y
|
||||||
|
subd A_low
|
||||||
|
4e: b3 00 2c subd 2c <test2\+0x15>
|
||||||
|
subd #A_low
|
||||||
|
51: 83 00 2c subd #2c <test2\+0x15>
|
||||||
|
jmp Stop
|
||||||
|
54: 7e 00 0c jmp c <Stop>
|
||||||
|
|
||||||
|
0+057 <L1>:
|
||||||
|
L1:
|
||||||
|
anda #%lo\(test2\)
|
||||||
|
57: 84 17 anda #23
|
||||||
|
andb #%hi\(test2\)
|
||||||
|
59: c4 00 andb #0
|
||||||
|
rts
|
||||||
|
5b: 39 rts
|
90
gas/testsuite/gas/m68hc11/lbranch-dwarf2.d
Normal file
90
gas/testsuite/gas/m68hc11/lbranch-dwarf2.d
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
#objdump: -S
|
||||||
|
#as: -m68hc11 -gdwarf2
|
||||||
|
#name: Dwarf2 test on lbranch.s
|
||||||
|
#source: lbranch.s
|
||||||
|
|
||||||
|
# Test handling of basic instructions.
|
||||||
|
|
||||||
|
.*: +file format elf32\-m68hc11
|
||||||
|
|
||||||
|
Disassembly of section .text:
|
||||||
|
|
||||||
|
0+0 <_rcall>:
|
||||||
|
.globl _rcall
|
||||||
|
.globl _start
|
||||||
|
_start:
|
||||||
|
_rcall:
|
||||||
|
ldaa \#0x10 ;86 10
|
||||||
|
0: 86 10 ldaa \#16
|
||||||
|
jbra Lend ; Must be switched to a jmp
|
||||||
|
2: 7e 01 0b jmp 10b <Lend>
|
||||||
|
jbsr toto ; \-> to a jsr
|
||||||
|
5: bd 01 1b jsr 11b <toto>
|
||||||
|
jbne toto ; \-> to a beq\+jmp
|
||||||
|
8: 27 03 beq d <_rcall\+0xd>
|
||||||
|
a: 7e 01 1b jmp 11b <toto>
|
||||||
|
jbeq toto ; -> to a bne\+jmp
|
||||||
|
d: 26 03 bne 12 <_rcall\+0x12>
|
||||||
|
f: 7e 01 1b jmp 11b <toto>
|
||||||
|
jbcs toto ; -> to a bcc\+jmp
|
||||||
|
12: 24 03 bcc 17 <_rcall\+0x17>
|
||||||
|
14: 7e 01 1b jmp 11b <toto>
|
||||||
|
jbcc toto ; -> to a bcs\+jmp
|
||||||
|
17: 25 03 bcs 1c <_rcall\+0x1c>
|
||||||
|
19: 7e 01 1b jmp 11b <toto>
|
||||||
|
xgdx
|
||||||
|
1c: 8f xgdx
|
||||||
|
xgdx
|
||||||
|
1d: 8f xgdx
|
||||||
|
beq bidule ; -> to a bne\+jmp
|
||||||
|
1e: 26 03 bne 23 <_rcall\+0x23>
|
||||||
|
20: 7e 01 80 jmp 180 <bidule>
|
||||||
|
bcs bidule ; -> to a bcc\+jmp
|
||||||
|
23: 24 03 bcc 28 <_rcall\+0x28>
|
||||||
|
25: 7e 01 80 jmp 180 <bidule>
|
||||||
|
bcc bidule ; -> to a bcs\+jmp
|
||||||
|
28: 25 03 bcs 2d <_rcall\+0x2d>
|
||||||
|
2a: 7e 01 80 jmp 180 <bidule>
|
||||||
|
xgdx
|
||||||
|
2d: 8f xgdx
|
||||||
|
jbra 200
|
||||||
|
2e: 7e 00 c8 jmp c8 <_rcall\+0xc8>
|
||||||
|
jbsr 1923
|
||||||
|
31: bd 07 83 jsr 783 <bidule\+0x603>
|
||||||
|
bne Lend ; -> to a beq\+jmp
|
||||||
|
34: 27 03 beq 39 <_rcall\+0x39>
|
||||||
|
36: 7e 01 0b jmp 10b <Lend>
|
||||||
|
jbsr toto
|
||||||
|
39: bd 01 1b jsr 11b <toto>
|
||||||
|
jbeq toto
|
||||||
|
3c: 26 03 bne 41 <_rcall\+0x41>
|
||||||
|
3e: 7e 01 1b jmp 11b <toto>
|
||||||
|
...
|
||||||
|
.skip 200
|
||||||
|
ldaa \*dir ;96 33
|
||||||
|
109: 96 00 ldaa \*0 <_rcall>
|
||||||
|
|
||||||
|
0000010b <Lend>:
|
||||||
|
Lend:
|
||||||
|
bhi external_op
|
||||||
|
10b: 23 03 bls 110 <Lend\+0x5>
|
||||||
|
10d: 7e 00 00 jmp 0 <_rcall>
|
||||||
|
bls external_op
|
||||||
|
110: 22 03 bhi 115 <Lend\+0xa>
|
||||||
|
112: 7e 00 00 jmp 0 <_rcall>
|
||||||
|
bsr out
|
||||||
|
115: bd 00 00 jsr 0 <_rcall>
|
||||||
|
ldx #12
|
||||||
|
118: ce 00 0c ldx #c <_rcall\+0xc>
|
||||||
|
|
||||||
|
0000011b <toto>:
|
||||||
|
toto:
|
||||||
|
rts
|
||||||
|
11b: 39 rts
|
||||||
|
...
|
||||||
|
|
||||||
|
00000180 <bidule>:
|
||||||
|
.skip 100
|
||||||
|
bidule:
|
||||||
|
rts
|
||||||
|
180: 39 rts
|
216
gas/testsuite/gas/m68hc11/opers12-dwarf2.d
Normal file
216
gas/testsuite/gas/m68hc11/opers12-dwarf2.d
Normal file
|
@ -0,0 +1,216 @@
|
||||||
|
#objdump: -S
|
||||||
|
#as: -m68hc12 -gdwarf2
|
||||||
|
#name: Dwarf2 test on opers12.s
|
||||||
|
#source: opers12.s
|
||||||
|
|
||||||
|
.*: +file format elf32\-m68hc12
|
||||||
|
|
||||||
|
Disassembly of section .text:
|
||||||
|
|
||||||
|
0+0 <start>:
|
||||||
|
sect .text
|
||||||
|
globl start
|
||||||
|
|
||||||
|
start:
|
||||||
|
anda \[12,x\] ; Indexed indirect
|
||||||
|
0: a4 e3 00 0c anda \[12,X\]
|
||||||
|
ldaa #10
|
||||||
|
4: 86 0a ldaa #10
|
||||||
|
ldx L1
|
||||||
|
6: fe 00 09 ldx 9 <L1>
|
||||||
|
|
||||||
|
00000009 <L1>:
|
||||||
|
L1: ldy ,x
|
||||||
|
9: ed 00 ldy 0,X
|
||||||
|
addd 1,y ; Offset from register
|
||||||
|
b: e3 41 addd 1,Y
|
||||||
|
subd \-1,y
|
||||||
|
d: a3 5f subd \-1,Y
|
||||||
|
eora 15,y
|
||||||
|
f: a8 4f eora 15,Y
|
||||||
|
eora \-16,y
|
||||||
|
11: a8 50 eora \-16,Y
|
||||||
|
eorb 16,y
|
||||||
|
13: e8 e8 10 eorb 16,Y
|
||||||
|
eorb \-17,y
|
||||||
|
16: e8 e9 ef eorb \-17,Y
|
||||||
|
oraa 128,sp
|
||||||
|
19: aa f0 80 oraa 128,SP
|
||||||
|
orab \-128,sp
|
||||||
|
1c: ea f1 80 orab \-128,SP
|
||||||
|
orab 255,x
|
||||||
|
1f: ea e0 ff orab 255,X
|
||||||
|
orab \-256,x
|
||||||
|
22: ea e1 00 orab \-256,X
|
||||||
|
anda 256,x
|
||||||
|
25: a4 e2 01 00 anda 256,X
|
||||||
|
andb \-257,x
|
||||||
|
29: e4 e2 fe ff andb \-257,X
|
||||||
|
anda \[12,x\] ; Indexed indirect \(16\-bit offset\)
|
||||||
|
2d: a4 e3 00 0c anda \[12,X\]
|
||||||
|
ldaa \[257,y\]
|
||||||
|
31: a6 eb 01 01 ldaa \[257,Y\]
|
||||||
|
ldab \[32767,sp\]
|
||||||
|
35: e6 f3 7f ff ldab \[32767,SP\]
|
||||||
|
ldd \[32768,pc\]
|
||||||
|
39: ec fb 80 00 ldd \[32768,PC\]
|
||||||
|
ldd L1,pc
|
||||||
|
3d: ec f8 09 ldd 9,PC
|
||||||
|
std a,x ; Two\-reg index
|
||||||
|
40: 6c e4 std A,X
|
||||||
|
ldx b,x
|
||||||
|
42: ee e5 ldx B,X
|
||||||
|
stx d,y
|
||||||
|
44: 6e ee stx D,Y
|
||||||
|
addd 1,\+x ; Pre\-Auto inc
|
||||||
|
46: e3 20 addd 1,\+X
|
||||||
|
addd 2,\+x
|
||||||
|
48: e3 21 addd 2,\+X
|
||||||
|
addd 8,\+x
|
||||||
|
4a: e3 27 addd 8,\+X
|
||||||
|
addd 1,sp\+ ; Post\-Auto inc
|
||||||
|
4c: e3 b0 addd 1,SP\+
|
||||||
|
addd 2,sp\+
|
||||||
|
4e: e3 b1 addd 2,SP\+
|
||||||
|
addd 8,sp\+
|
||||||
|
50: e3 b7 addd 8,SP\+
|
||||||
|
subd 1,\-y ; Pre\-Auto dec
|
||||||
|
52: a3 6f subd 1,\-Y
|
||||||
|
subd 2,\-y
|
||||||
|
54: a3 6e subd 2,\-Y
|
||||||
|
subd 8,\-y
|
||||||
|
56: a3 68 subd 8,\-Y
|
||||||
|
addd 1,y\- ; Post\-Auto dec
|
||||||
|
58: e3 7f addd 1,Y\-
|
||||||
|
addd 2,y\-
|
||||||
|
5a: e3 7e addd 2,Y\-
|
||||||
|
addd 8,y\-
|
||||||
|
5c: e3 78 addd 8,Y\-
|
||||||
|
std \[d,x\] ; Indexed indirect with two reg index
|
||||||
|
5e: 6c e7 std \[D,X\]
|
||||||
|
std \[d,y\]
|
||||||
|
60: 6c ef std \[D,Y\]
|
||||||
|
std \[d,sp\]
|
||||||
|
62: 6c f7 std \[D,SP\]
|
||||||
|
std \[d,pc\]
|
||||||
|
64: 6c ff std \[D,PC\]
|
||||||
|
beq L1
|
||||||
|
66: 27 a1 beq 9 <L1>
|
||||||
|
lbeq start
|
||||||
|
68: 18 27 ff 94 lbeq 0 <start>
|
||||||
|
lbcc L2
|
||||||
|
6c: 18 24 00 4c lbcc bc <L2>
|
||||||
|
;;
|
||||||
|
;; Move insn with various operands
|
||||||
|
;;
|
||||||
|
movb start, 1,x
|
||||||
|
70: 18 09 01 00 movb 0 <start>, 1,X
|
||||||
|
74: 00
|
||||||
|
movw 1,x, start
|
||||||
|
75: 18 05 01 00 movw 1,X, 0 <start>
|
||||||
|
79: 00
|
||||||
|
movb start, 1,\+x
|
||||||
|
7a: 18 09 20 00 movb 0 <start>, 1,\+X
|
||||||
|
7e: 00
|
||||||
|
movb start, 1,\-x
|
||||||
|
7f: 18 09 2f 00 movb 0 <start>, 1,\-X
|
||||||
|
83: 00
|
||||||
|
movb #23, 1,\-sp
|
||||||
|
84: 18 08 af 17 movb #23, 1,\-SP
|
||||||
|
movb L1, L2
|
||||||
|
88: 18 0c 00 09 movb 9 <L1>, bc <L2>
|
||||||
|
8c: 00 bc
|
||||||
|
movb L1, a,x
|
||||||
|
8e: 18 09 e4 00 movb 9 <L1>, A,X
|
||||||
|
92: 09
|
||||||
|
movw L1, b,x
|
||||||
|
93: 18 01 e5 00 movw 9 <L1>, B,X
|
||||||
|
97: 09
|
||||||
|
movw L1, d,x
|
||||||
|
98: 18 01 e6 00 movw 9 <L1>, D,X
|
||||||
|
9c: 09
|
||||||
|
movw d,x, a,x
|
||||||
|
9d: 18 02 e6 e4 movw D,X, A,X
|
||||||
|
movw b,sp, d,pc
|
||||||
|
a1: 18 02 f5 fe movw B,SP, D,PC
|
||||||
|
movw b,sp, L1
|
||||||
|
a5: 18 05 f5 00 movw B,SP, 9 <L1>
|
||||||
|
a9: 09
|
||||||
|
movw b,sp, 1,x
|
||||||
|
aa: 18 02 f5 01 movw B,SP, 1,X
|
||||||
|
movw d,x, a,y
|
||||||
|
ae: 18 02 e6 ec movw D,X, A,Y
|
||||||
|
trap #0x30
|
||||||
|
b2: 18 30 trap #48
|
||||||
|
trap #0x39
|
||||||
|
b4: 18 39 trap #57
|
||||||
|
trap #0x40
|
||||||
|
b6: 18 40 trap #64
|
||||||
|
trap #0x80
|
||||||
|
b8: 18 80 trap #128
|
||||||
|
trap #255
|
||||||
|
ba: 18 ff trap #255
|
||||||
|
|
||||||
|
000000bc <L2>:
|
||||||
|
L2:
|
||||||
|
movw 1,x,2,x
|
||||||
|
bc: 18 02 01 02 movw 1,X, 2,X
|
||||||
|
movw \-1,\-1
|
||||||
|
c0: 18 04 ff ff movw ffff <bb\+0xd7ff>, ffff <bb\+0xd7ff>
|
||||||
|
c4: ff ff
|
||||||
|
movw \-1,1,x
|
||||||
|
c6: 18 01 01 ff movw ffff <bb\+0xd7ff>, 1,X
|
||||||
|
ca: ff
|
||||||
|
movw #\-1,1,x
|
||||||
|
cb: 18 00 01 ff movw #ffff <bb\+0xd7ff>, 1,X
|
||||||
|
cf: ff
|
||||||
|
movw 3,8
|
||||||
|
d0: 18 04 00 03 movw 3 <start\+0x3>, 8 <start\+0x8>
|
||||||
|
d4: 00 08
|
||||||
|
movw #3,3
|
||||||
|
d6: 18 03 00 03 movw #3 <start\+0x3>, 3 <start\+0x3>
|
||||||
|
da: 00 03
|
||||||
|
movw #3,1,x
|
||||||
|
dc: 18 00 01 00 movw #3 <start\+0x3>, 1,X
|
||||||
|
e0: 03
|
||||||
|
movw 3,1,x
|
||||||
|
e1: 18 01 01 00 movw 3 <start\+0x3>, 1,X
|
||||||
|
e5: 03
|
||||||
|
movw 3,\+2,x
|
||||||
|
e6: 18 01 02 00 movw 3 <start\+0x3>, 2,X
|
||||||
|
ea: 03
|
||||||
|
movw 4,\-2,x
|
||||||
|
eb: 18 01 1e 00 movw 4 <start\+0x4>, \-2,X
|
||||||
|
ef: 04
|
||||||
|
rts
|
||||||
|
f0: 3d rts
|
||||||
|
|
||||||
|
000000f1 <post_indexed_pb>:
|
||||||
|
;;
|
||||||
|
;; Post\-index byte with relocation
|
||||||
|
;;
|
||||||
|
post_indexed_pb:
|
||||||
|
t1:
|
||||||
|
leas abort,x
|
||||||
|
f1: 1b e2 00 00 leas 0,X
|
||||||
|
|
||||||
|
000000f5 <t2>:
|
||||||
|
t2:
|
||||||
|
leax t2\-t1,y
|
||||||
|
f5: 1a 44 leax 4,Y
|
||||||
|
leax toto,x
|
||||||
|
f7: 1a e2 00 64 leax 100,X
|
||||||
|
leas toto\+titi,sp
|
||||||
|
fb: 1b f2 00 6e leas 110,SP
|
||||||
|
leay titi,x
|
||||||
|
ff: 19 e2 00 0a leay 10,X
|
||||||
|
leas bb,y
|
||||||
|
103: 1b ea 28 00 leas 10240,Y
|
||||||
|
leas min5b,pc
|
||||||
|
107: 1b fa 00 ff leas 255,PC
|
||||||
|
leas max5b,pc
|
||||||
|
10b: 1b fa 00 00 leas 0,PC
|
||||||
|
leas min9b,pc
|
||||||
|
10f: 1b fa 00 ff leas 255,PC
|
||||||
|
leas max9b,pc
|
||||||
|
113: 1b fa 00 00 leas 0,PC
|
Loading…
Reference in a new issue