repo.or.cz
/
binutils
/
dougsmingw.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
Merge remote branch 'origin/master'
[binutils/dougsmingw.git]
/
ld
/
testsuite
/
ld-arm
/
thumb2-bl-blx-interwork.s
blob
dba46af752981b10d6680d1906d3385c80005797
1
.arch armv7-a
2
.global _start
3
.syntax unified
4
.text
5
.thumb
6
7
.macro do_calls
8
@ The following four instructions are accepted by gas
,
but generate
9
@ meaningless code.
10
@bl.w arm0
11
@bl.w arm4
12
@
nop
13
@bl.w arm0
14
@bl.w arm4
15
@
nop
16
blx.w arm0
17
blx.w arm4
18
nop
19
blx.w arm0
20
blx.w arm4
21
nop
22
bl.w thumb0
23
bl.w thumb2
24
bl.w thumb4
25
bl.w thumb6
26
nop
27
bl.w thumb0
28
bl.w thumb2
29
bl.w thumb4
30
bl.w thumb6
31
nop
32
@ These eight are all accepted by gas
,
but generate bad code.
33
@blx.w thumb0
34
@blx.w thumb2
35
@blx.w thumb4
36
@blx.w thumb6
37
@
nop
38
@blx.w thumb0
39
@blx.w thumb2
40
@blx.w thumb4
41
@blx.w thumb6
42
.endm
43
44
.thumb_func
45
.align 3
46
_start
:
47
do_calls
48
49
.arm
50
.align 3
51
arm0
:
52
bx
lr
53
54
.align 3
55
nop
56
arm4
:
57
bx
lr
58
59
.thumb
60
.thumb_func
61
.align 3
62
thumb0
:
63
bx
lr
64
65
.thumb_func
66
.align 3
67
nop
68
thumb2
:
69
bx
lr
70
71
.thumb_func
72
.align 3
73
nop
74
nop
75
thumb4
:
76
bx
lr
77
78
.thumb_func
79
.align 3
80
nop
81
nop
82
nop
83
thumb6
:
84
bx
lr
85
86
backwards
:
87
do_calls