gas/testsuite/ChangeLog
* gas/i386/general.{s,l}: Move 16 bit jmp and call tests from here * gas/i386/jump16.{s,d}: To here. * gas/i386/jump.{s,d}: New files. Duplicate 32 bit jmp and call tests in general.s so that objdump is exercised. * gas/i386/i386.exp: Call new tests.
This commit is contained in:
parent
06b53c1bff
commit
a3d1c52b07
8 changed files with 175 additions and 187 deletions
|
@ -1,3 +1,12 @@
|
|||
2000-01-21 Alan Modra <alan@spri.levels.unisa.edu.au>
|
||||
|
||||
* gas/i386/general.{s,l}: Move 16 bit jmp and call tests from here
|
||||
* gas/i386/jump16.{s,d}: To here.
|
||||
* gas/i386/jump.{s,d}: New files. Duplicate 32 bit jmp and call
|
||||
tests in general.s so that objdump is exercised.
|
||||
|
||||
* gas/i386/i386.exp: Call new tests.
|
||||
|
||||
2000-01-15 Alan Modra <alan@spri.levels.unisa.edu.au>
|
||||
|
||||
* gas/i386/general.{s,l}: Add jmp and call tests for .code16gcc,
|
||||
|
|
|
@ -35,26 +35,6 @@
|
|||
.*:180: Warning:.*
|
||||
.*:182: Warning:.*
|
||||
.*:184: Warning:.*
|
||||
.*:191: Warning:.*
|
||||
.*:193: Warning:.*
|
||||
.*:195: Warning:.*
|
||||
.*:197: Warning:.*
|
||||
.*:199: Warning:.*
|
||||
.*:205: Warning:.*
|
||||
.*:207: Warning:.*
|
||||
.*:209: Warning:.*
|
||||
.*:211: Warning:.*
|
||||
.*:213: Warning:.*
|
||||
.*:220: Warning:.*
|
||||
.*:222: Warning:.*
|
||||
.*:224: Warning:.*
|
||||
.*:226: Warning:.*
|
||||
.*:228: Warning:.*
|
||||
.*:234: Warning:.*
|
||||
.*:236: Warning:.*
|
||||
.*:238: Warning:.*
|
||||
.*:240: Warning:.*
|
||||
.*:242: Warning:.*
|
||||
1 .psize 0
|
||||
2 .text
|
||||
3 # test various segment reg insns
|
||||
|
@ -239,123 +219,45 @@
|
|||
156 0160 67668984 248C0000 movl %eax,140\(%esp\)
|
||||
156 00
|
||||
157
|
||||
158 .extern xxx
|
||||
158 .code32
|
||||
159 0169 EB98 jmp 1b
|
||||
160 016b E9FEFF jmp xxx
|
||||
161 016e FF260000 jmp \*xxx
|
||||
162 0172 FF260000 jmp xxx\(,1\)
|
||||
160 016b E9FCFFFF FF jmp xxx
|
||||
161 0170 FF250000 0000 jmp \*xxx
|
||||
162 0176 FF250000 0000 jmp xxx\(,1\)
|
||||
.*Warning:.*
|
||||
163 0176 66FFE7 jmp \*%edi
|
||||
164 0179 66FFE7 jmp %edi
|
||||
163 017c FFE7 jmp \*%edi
|
||||
164 017e FFE7 jmp %edi
|
||||
.*Warning:.*
|
||||
165 017c 67FF27 jmp \*\(%edi\)
|
||||
166 017f 67FF27 jmp \(%edi\)
|
||||
165 0180 FF27 jmp \*\(%edi\)
|
||||
166 0182 FF27 jmp \(%edi\)
|
||||
.*Warning:.*
|
||||
167 0182 67FFAF00 000000 ljmp \*xxx\(%edi\)
|
||||
168 0189 67FFAF00 000000 ljmp xxx\(%edi\)
|
||||
167 0184 FF2CBD00 000000 ljmp \*xxx\(,%edi,4\)
|
||||
168 018b FF2CBD00 000000 ljmp xxx\(,%edi,4\)
|
||||
.*Warning:.*
|
||||
169 0190 FF2E0000 ljmp \*xxx
|
||||
170 0194 FF2E0000 ljmp xxx\(,1\)
|
||||
169 0192 FF2D0000 0000 ljmp \*xxx
|
||||
170 0198 FF2D0000 0000 ljmp xxx\(,1\)
|
||||
.*Warning:.*
|
||||
171 0198 EA000034 12 ljmp \$0x1234,\$xxx
|
||||
171 019e EA000000 003412 ljmp \$0x1234,\$xxx
|
||||
172
|
||||
173 019d 66E860FF FFFF call 1b
|
||||
174 01a3 66E8FCFF FFFF call xxx
|
||||
175 01a9 66FF1600 00 call \*xxx
|
||||
176 01ae 66FF1600 00 call xxx\(,1\)
|
||||
173 01a5 E859FFFF FF call 1b
|
||||
174 01aa E8FCFFFF FF call xxx
|
||||
175 01af FF150000 0000 call \*xxx
|
||||
176 01b5 FF150000 0000 call xxx\(,1\)
|
||||
.*Warning:.*
|
||||
177 01b3 66FFD7 call \*%edi
|
||||
178 01b6 66FFD7 call %edi
|
||||
177 01bb FFD7 call \*%edi
|
||||
178 01bd FFD7 call %edi
|
||||
.*Warning:.*
|
||||
179 01b9 6766FF17 call \*\(%edi\)
|
||||
180 01bd 6766FF17 call \(%edi\)
|
||||
179 01bf FF17 call \*\(%edi\)
|
||||
180 01c1 FF17 call \(%edi\)
|
||||
.*Warning:.*
|
||||
181 01c1 6766FF9F 00000000 lcall \*xxx\(%edi\)
|
||||
182 01c9 6766FF9F 00000000 lcall xxx\(%edi\)
|
||||
181 01c3 FF1CBD00 000000 lcall \*xxx\(,%edi,4\)
|
||||
182 01ca FF1CBD00 000000 lcall xxx\(,%edi,4\)
|
||||
.*Warning:.*
|
||||
183 01d1 66FF1E00 00 lcall \*xxx
|
||||
184 01d6 66FF1E00 00 lcall xxx\(,1\)
|
||||
183 01d1 FF1D0000 0000 lcall \*xxx
|
||||
184 01d7 FF1D0000 0000 lcall xxx\(,1\)
|
||||
.*Warning:.*
|
||||
185 01db 669A0000 00003412 lcall \$0x1234,\$xxx
|
||||
185 01dd 9A000000 003412 lcall \$0x1234,\$xxx
|
||||
186
|
||||
187 .code16
|
||||
188 01e3 E91DFF jmp 1b
|
||||
189 01e6 E9FEFF jmp xxx
|
||||
190 01e9 FF260000 jmp \*xxx
|
||||
191 01ed FF260000 jmp xxx\(,1\)
|
||||
.*Warning:.*
|
||||
192 01f1 FFE7 jmp \*%di
|
||||
193 01f3 FFE7 jmp %di
|
||||
.*Warning:.*
|
||||
194 01f5 FF25 jmp \*\(%di\)
|
||||
195 01f7 FF25 jmp \(%di\)
|
||||
.*Warning:.*
|
||||
196 01f9 FFAD0000 ljmp \*xxx\(%di\)
|
||||
197 01fd FFAD0000 ljmp xxx\(%di\)
|
||||
.*Warning:.*
|
||||
198 0201 FF2E0000 ljmp \*xxx
|
||||
199 0205 FF2E0000 ljmp xxx\(,1\)
|
||||
.*Warning:.*
|
||||
200 0209 EA000034 12 ljmp \$0x1234,\$xxx
|
||||
201
|
||||
202 020e E8F2FE call 1b
|
||||
203 0211 E8FEFF call xxx
|
||||
204 0214 FF160000 call \*xxx
|
||||
205 0218 FF160000 call xxx\(,1\)
|
||||
.*Warning:.*
|
||||
206 021c FFD7 call \*%di
|
||||
207 021e FFD7 call %di
|
||||
.*Warning:.*
|
||||
208 0220 FF15 call \*\(%di\)
|
||||
209 0222 FF15 call \(%di\)
|
||||
.*Warning:.*
|
||||
210 0224 FF9D0000 lcall \*xxx\(%di\)
|
||||
211 0228 FF9D0000 lcall xxx\(%di\)
|
||||
.*Warning:.*
|
||||
212 022c FF1E0000 lcall \*xxx
|
||||
213 0230 FF1E0000 lcall xxx\(,1\)
|
||||
.*Warning:.*
|
||||
214 0234 9A000034 12 lcall \$0x1234,\$xxx
|
||||
215
|
||||
216 .code32
|
||||
217 0239 E9C5FEFF FF jmp 1b
|
||||
218 023e E9FCFFFF FF jmp xxx
|
||||
219 0243 FF250000 0000 jmp \*xxx
|
||||
220 0249 FF250000 0000 jmp xxx\(,1\)
|
||||
.*Warning:.*
|
||||
221 024f FFE7 jmp \*%edi
|
||||
222 0251 FFE7 jmp %edi
|
||||
.*Warning:.*
|
||||
223 0253 FF27 jmp \*\(%edi\)
|
||||
224 0255 FF27 jmp \(%edi\)
|
||||
.*Warning:.*
|
||||
225 0257 FF2CBD00 000000 ljmp \*xxx\(,%edi,4\)
|
||||
226 025e FF2CBD00 000000 ljmp xxx\(,%edi,4\)
|
||||
.*Warning:.*
|
||||
227 0265 FF2D0000 0000 ljmp \*xxx
|
||||
228 026b FF2D0000 0000 ljmp xxx\(,1\)
|
||||
.*Warning:.*
|
||||
229 0271 EA000000 003412 ljmp \$0x1234,\$xxx
|
||||
230
|
||||
231 0278 E886FEFF FF call 1b
|
||||
232 027d E8FCFFFF FF call xxx
|
||||
233 0282 FF150000 0000 call \*xxx
|
||||
234 0288 FF150000 0000 call xxx\(,1\)
|
||||
.*Warning:.*
|
||||
235 028e FFD7 call \*%edi
|
||||
236 0290 FFD7 call %edi
|
||||
.*Warning:.*
|
||||
237 0292 FF17 call \*\(%edi\)
|
||||
238 0294 FF17 call \(%edi\)
|
||||
.*Warning:.*
|
||||
239 0296 FF1CBD00 000000 lcall \*xxx\(,%edi,4\)
|
||||
240 029d FF1CBD00 000000 lcall xxx\(,%edi,4\)
|
||||
.*Warning:.*
|
||||
241 02a4 FF1D0000 0000 lcall \*xxx
|
||||
242 02aa FF1D0000 0000 lcall xxx\(,1\)
|
||||
.*Warning:.*
|
||||
243 02b0 9A000000 003412 lcall \$0x1234,\$xxx
|
||||
244
|
||||
245 # Force a good alignment.
|
||||
246 02b7 00000000 00000000 .p2align 4,0
|
||||
246 00
|
||||
187 # Force a good alignment.
|
||||
188 01e4 00000000 00000000 .p2align 4,0
|
||||
188 00000000
|
||||
|
|
|
@ -155,64 +155,6 @@
|
|||
leal -1760(%ebp),%ebx
|
||||
movl %eax,140(%esp)
|
||||
|
||||
.extern xxx
|
||||
jmp 1b
|
||||
jmp xxx
|
||||
jmp *xxx
|
||||
jmp xxx(,1)
|
||||
jmp *%edi
|
||||
jmp %edi
|
||||
jmp *(%edi)
|
||||
jmp (%edi)
|
||||
ljmp *xxx(%edi)
|
||||
ljmp xxx(%edi)
|
||||
ljmp *xxx
|
||||
ljmp xxx(,1)
|
||||
ljmp $0x1234,$xxx
|
||||
|
||||
call 1b
|
||||
call xxx
|
||||
call *xxx
|
||||
call xxx(,1)
|
||||
call *%edi
|
||||
call %edi
|
||||
call *(%edi)
|
||||
call (%edi)
|
||||
lcall *xxx(%edi)
|
||||
lcall xxx(%edi)
|
||||
lcall *xxx
|
||||
lcall xxx(,1)
|
||||
lcall $0x1234,$xxx
|
||||
|
||||
.code16
|
||||
jmp 1b
|
||||
jmp xxx
|
||||
jmp *xxx
|
||||
jmp xxx(,1)
|
||||
jmp *%di
|
||||
jmp %di
|
||||
jmp *(%di)
|
||||
jmp (%di)
|
||||
ljmp *xxx(%di)
|
||||
ljmp xxx(%di)
|
||||
ljmp *xxx
|
||||
ljmp xxx(,1)
|
||||
ljmp $0x1234,$xxx
|
||||
|
||||
call 1b
|
||||
call xxx
|
||||
call *xxx
|
||||
call xxx(,1)
|
||||
call *%di
|
||||
call %di
|
||||
call *(%di)
|
||||
call (%di)
|
||||
lcall *xxx(%di)
|
||||
lcall xxx(%di)
|
||||
lcall *xxx
|
||||
lcall xxx(,1)
|
||||
lcall $0x1234,$xxx
|
||||
|
||||
.code32
|
||||
jmp 1b
|
||||
jmp xxx
|
||||
|
|
|
@ -26,11 +26,13 @@ if [istarget "i*86-*-*"] then {
|
|||
run_dump_test "prefix"
|
||||
run_dump_test "amd"
|
||||
run_dump_test "katmai"
|
||||
run_dump_test "jump"
|
||||
|
||||
# The reloc and white tests require support for 8 and 16 bit
|
||||
# relocs, so we only run them for ELF and COFF targets.
|
||||
# These tests require support for 8 and 16 bit relocs,
|
||||
# so we only run them for ELF and COFF targets.
|
||||
if {[istarget "*-*-elf*"] || [istarget "*-*-linux*"] || [istarget "*-*-coff*"]} then {
|
||||
run_dump_test "reloc"
|
||||
run_dump_test "jump16"
|
||||
run_list_test "white" "-al --listing-lhs-width=3"
|
||||
}
|
||||
}
|
||||
|
|
26
gas/testsuite/gas/i386/jump.d
Normal file
26
gas/testsuite/gas/i386/jump.d
Normal file
|
@ -0,0 +1,26 @@
|
|||
#name: i386 jump
|
||||
#objdump: -drw
|
||||
|
||||
.*: +file format .*i386.*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0+000 <.text>:
|
||||
0: eb fe [ ]*jmp (0x0|0 <.text>)
|
||||
2: e9 (fc|f9) ff ff ff [ ]*jmp (0x3|0 <.text>) 3: (R_386_PC)?(DISP)?32 xxx
|
||||
7: ff 25 00 00 00 00 [ ]*jmp \*0x0 9: (R_386_)?(dir)?32 xxx
|
||||
d: ff e7 [ ]*jmp \*%edi
|
||||
f: ff 27 [ ]*jmp \*\(%edi\)
|
||||
11: ff 2c bd 00 00 00 00 [ ]*ljmp \*0x0\(,%edi,4\) 14: (R_386_)?(dir)?32 xxx
|
||||
18: ff 2d 00 00 00 00 [ ]*ljmp \*0x0 1a: (R_386_)?(dir)?32 xxx
|
||||
1e: ea 00 00 00 00 34 12 [ ]*ljmp \$0x1234,\$0x0 1f: (R_386_)?(dir)?32 xxx
|
||||
25: e8 d6 ff ff ff [ ]*call (0x0|0 <.text>)
|
||||
2a: e8 (fc|d1) ff ff ff [ ]*call (0x2b|0 <.text>) 2b: (R_386_PC)?(DISP)?32 xxx
|
||||
2f: ff 15 00 00 00 00 [ ]*call \*0x0 31: (R_386_)?(dir)?32 xxx
|
||||
35: ff d7 [ ]*call \*%edi
|
||||
37: ff 17 [ ]*call \*\(%edi\)
|
||||
39: ff 1c bd 00 00 00 00 [ ]*lcall \*0x0\(,%edi,4\) 3c: (R_386_)?(dir)?32 xxx
|
||||
40: ff 1d 00 00 00 00 [ ]*lcall \*0x0 42: (R_386_)?(dir)?32 xxx
|
||||
46: 9a 00 00 00 00 34 12 [ ]*lcall \$0x1234,\$0x0 47: (R_386_)?(dir)?32 xxx
|
||||
4d:.*
|
||||
.*
|
24
gas/testsuite/gas/i386/jump.s
Normal file
24
gas/testsuite/gas/i386/jump.s
Normal file
|
@ -0,0 +1,24 @@
|
|||
.psize 0
|
||||
.text
|
||||
.extern xxx
|
||||
|
||||
1: jmp 1b
|
||||
jmp xxx
|
||||
jmp *xxx
|
||||
jmp *%edi
|
||||
jmp *(%edi)
|
||||
ljmp *xxx(,%edi,4)
|
||||
ljmp *xxx
|
||||
ljmp $0x1234,$xxx
|
||||
|
||||
call 1b
|
||||
call xxx
|
||||
call *xxx
|
||||
call *%edi
|
||||
call *(%edi)
|
||||
lcall *xxx(,%edi,4)
|
||||
lcall *xxx
|
||||
lcall $0x1234,$xxx
|
||||
|
||||
# Force a good alignment.
|
||||
.p2align 4,0
|
40
gas/testsuite/gas/i386/jump16.d
Normal file
40
gas/testsuite/gas/i386/jump16.d
Normal file
|
@ -0,0 +1,40 @@
|
|||
#name: i386 jump16
|
||||
#objdump: -drw -mi8086
|
||||
|
||||
.*: file format .*i386.*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0+000 <.text>:
|
||||
0: eb fe [ ]*jmp (0x0|0 <.text>)
|
||||
2: e9 (fe|fb) ff [ ]*jmp (0x3|0 <.text>) 3: (R_386_PC)?(DISP)?16 xxx
|
||||
5: ff 26 00 00 [ ]*jmp \*0 7: (R_386_)?(dir)?16 xxx
|
||||
9: 66 ff e7 [ ]*jmpl \*%edi
|
||||
c: 67 ff 27 [ ]*addr32 jmp \*\(%edi\)
|
||||
f: 67 ff af 00 00 00 00 [ ]*addr32 ljmp \*0x0\(%edi\) 12: (R_386_)?(dir)?32 xxx
|
||||
16: ff 2e 00 00 [ ]*ljmp \*0 18: (R_386_)?(dir)?16 xxx
|
||||
1a: ea 00 00 34 12 [ ]*ljmp \$0x1234,\$0x0 1b: (R_386_)?(dir)?16 xxx
|
||||
1f: 66 e8 db ff ff ff [ ]*calll (0x0|0 <.text>)
|
||||
25: 66 e8 (fc|d5) ff ff ff [ ]*calll (0x27|0 <.text>) 27: (R_386_PC)?(DISP)?32 xxx
|
||||
2b: 66 ff 16 00 00 [ ]*calll \*0 2e: (R_386_)?(dir)?16 xxx
|
||||
30: 66 ff d7 [ ]*calll \*%edi
|
||||
33: 67 66 ff 17 [ ]*addr32 calll \*\(%edi\)
|
||||
37: 67 66 ff 9f 00 00 00 00 [ ]*addr32 lcalll \*0x0\(%edi\) 3b: (R_386_)?(dir)?32 xxx
|
||||
3f: 66 ff 1e 00 00 [ ]*lcalll \*0 42: (R_386_)?(dir)?16 xxx
|
||||
44: 66 9a 00 00 00 00 34 12 [ ]*lcalll \$0x1234,\$0x0 46: (R_386_)?(dir)?32 xxx
|
||||
4c: eb b2 [ ]*jmp (0x0|0 <.text>)
|
||||
4e: ff 26 00 00 [ ]*jmp \*0 50: (R_386_)?(dir)?16 xxx
|
||||
52: ff e7 [ ]*jmp \*%di
|
||||
54: ff 25 [ ]*jmp \*\(%di\)
|
||||
56: ff ad 00 00 [ ]*ljmp \*0\(%di\) 58: (R_386_)?(dir)?16 xxx
|
||||
5a: ff 2e 00 00 [ ]*ljmp \*0 5c: (R_386_)?(dir)?16 xxx
|
||||
5e: ea 00 00 34 12 [ ]*ljmp \$0x1234,\$0x0 5f: (R_386_)?(dir)?16 xxx
|
||||
63: e8 9a ff [ ]*call (0x0|0 <.text>)
|
||||
66: e8 (fe|97) ff [ ]*call (0x67|0 <.text>) 67: (R_386_PC)?(DISP)?16 xxx
|
||||
69: ff 16 00 00 [ ]*call \*0 6b: (R_386_)?(dir)?16 xxx
|
||||
6d: ff d7 [ ]*call \*%di
|
||||
6f: ff 15 [ ]*call \*\(%di\)
|
||||
71: ff 9d 00 00 [ ]*lcall \*0\(%di\) 73: (R_386_)?(dir)?16 xxx
|
||||
75: ff 1e 00 00 [ ]*lcall \*0 77: (R_386_)?(dir)?16 xxx
|
||||
79: 9a 00 00 34 12 [ ]*lcall \$0x1234,\$0x0 7a: (R_386_)?(dir)?16 xxx
|
||||
...
|
43
gas/testsuite/gas/i386/jump16.s
Normal file
43
gas/testsuite/gas/i386/jump16.s
Normal file
|
@ -0,0 +1,43 @@
|
|||
.psize 0
|
||||
.text
|
||||
.extern xxx
|
||||
|
||||
.code16gcc
|
||||
1: jmp 1b
|
||||
jmp xxx
|
||||
jmp *xxx
|
||||
jmp *%edi
|
||||
jmp *(%edi)
|
||||
ljmp *xxx(%edi)
|
||||
ljmp *xxx
|
||||
ljmp $0x1234,$xxx
|
||||
|
||||
call 1b
|
||||
call xxx
|
||||
call *xxx
|
||||
call *%edi
|
||||
call *(%edi)
|
||||
lcall *xxx(%edi)
|
||||
lcall *xxx
|
||||
lcall $0x1234,$xxx
|
||||
|
||||
.code16
|
||||
jmp 1b
|
||||
jmp *xxx
|
||||
jmp *%di
|
||||
jmp *(%di)
|
||||
ljmp *xxx(%di)
|
||||
ljmp *xxx
|
||||
ljmp $0x1234,$xxx
|
||||
|
||||
call 1b
|
||||
call xxx
|
||||
call *xxx
|
||||
call *%di
|
||||
call *(%di)
|
||||
lcall *xxx(%di)
|
||||
lcall *xxx
|
||||
lcall $0x1234,$xxx
|
||||
|
||||
# Force a good alignment.
|
||||
.p2align 4,0
|
Loading…
Reference in a new issue