gas/
[deliverable/binutils-gdb.git] / gas / testsuite / gas / mips / empic.s
1 # Check GNU-specific embedded relocs, for ELF.
2
3 .text
4 .set noreorder
5 nop
6 l2: jal g1 # R_MIPS_GNU_REL16_S2 g1 -1
7 nop
8 b g2 # R_MIPS_GNU_REL16_S2 g2 -1
9 nop
10 b g2 # R_MIPS_GNU_REL16_S2 g2 -1
11 nop
12 jal l1 # R_MIPS_GNU_REL16_S2 .foo 3F
13 nop
14 jal l2 # R_MIPS_GNU_REL16_S2 .text 0 or -9
15 nop
16 b l1+8 # R_MIPS_GNU_REL16_S2 .foo 41
17 nop
18 l3:
19 b l2 # R_MIPS_GNU_REL16_S2 .text 0 or -D
20 nop
21 la $3,g1-l3 # R_MIPS_GNU_REL_HI16 g1 0
22 # R_MIPS_GNU_REL_LO16 g1 C
23 la $3,l1-l3 # R_MIPS_GNU_REL_HI16 .foo 0
24 # R_MIPS_GNU_REL_LO16 .foo 114
25 la $3,l2-l3 # -30
26 .word g1 # R_MIPS_32 g1 0
27 .word l1 # R_MIPS_32 .foo 100
28 .word l2 # R_MIPS_32 .text 4
29 .word g1-l3 # R_MIPS_PC32 g1 28
30 .word l1-l3 # R_MIPS_PC32 .foo 12C
31 .word l2-l3 # -30
32 .align 3
33 .dword g1 # R_MIPS_64 g1 0
34 .dword l1 # R_MIPS_64 .foo 100
35 .dword l2 # R_MIPS_64 .text 4
36 .dword g1-l3 # R_MIPS_PC64 g1 4C
37 .dword l1-l3 # R_MIPS_PC64 .foo 154
38 .dword l2-l3 # -30
39 l5:
40 b 2f # R_MIPS_GNU_REL16_S2 .text 32
41 b 2f+4 # R_MIPS_GNU_REL16_S2 .text 33
42 la $3,2f-l5 # R_MIPS_GNU_REL_HI16 .text 0
43 # R_MIPS_GNU_REL_LO16 .text D8
44 la $3,2f+8-l5 # R_MIPS_GNU_REL_HI16 .text 0
45 # R_MIPS_GNU_REL_LO16 .text E8
46
47
48 .word 2f # R_MIPS_32 .text CC
49 .word 2f-l5 # R_MIPS_PC32 .text EC or 34
50 .dword 2f # R_MIPS_64 .text CC
51 .dword 2f-l5 # R_MIPS_PC64 .text F8 or 34
52 nop
53 2: # at address 0xCC.
54 b 2b # R_MIPS_GNU_REL16_S2 .text 32
55 b 2b+4 # R_MIPS_GNU_REL16_S2 .text 33
56 la $3,2b-l5 # R_MIPS_GNU_REL_HI16 .text 0
57 # R_MIPS_GNU_REL_LO16 .text 10C
58 la $3,2b+8-l5 # R_MIPS_GNU_REL_HI16 .text 0
59 # R_MIPS_GNU_REL_LO16 .text 11C
60 .word 2b # R_MIPS_32 .text CC
61 .word 2b-l5 # R_MIPS_PC32 .text 11C or 34
62 nop
63 .dword 2b # R_MIPS_64 .text CC
64 .dword 2b-l5 # R_MIPS_PC64 .text 98 or 34
65
66 # align section end to 16-byte boundary for easier testing on multiple targets
67 .p2align 4
68
69 .section ".foo","ax",@progbits
70 nop
71 l4:
72 la $3,g1-l4
73 la $3,l1-l4
74 la $3,l2-l4
75 la $3,g1-l4
76
77 dla $3,g1-l4
78 dla $3,l1-l4
79 dla $3,l2-l4
80
81 .word g1
82 .word l1
83 .word l2
84 .word g1-l4
85 .word l1-l4
86 .word l2-l4
87 .dword g1
88 .dword l1
89 .dword l2
90 .dword g1-l4
91 .dword l1-l4
92 .dword l2-l4
93
94 la $3,g1-l4+4
95 la $3,l1-l4+4
96 la $3,l2-l4+4
97
98 dla $3,g1-l4+4
99 dla $3,l1-l4+4
100 dla $3,l2-l4+4
101
102 .word g1+4
103 .word l1+4
104 .word l2+4
105 .word g1-l4+4
106 .word l1-l4+4
107 .word l2-l4+4
108 .dword g1+4
109 .dword l1+4
110 .dword l2+4
111 .dword g1-l4+4
112 .dword l1-l4+4
113 .dword l2-l4+4
114 l1:
115
116 nop
117
118 # align section end to 16-byte boundary for easier testing on multiple targets
119 .p2align 4
This page took 0.032786 seconds and 4 git commands to generate.