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:
Alan Modra 2000-01-21 10:18:33 +00:00
parent 06b53c1bff
commit a3d1c52b07
8 changed files with 175 additions and 187 deletions

View file

@ -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,

View file

@ -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

View file

@ -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

View file

@ -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"
}
}

View 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:.*
.*

View 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

View 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
...

View 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