Yet more hppa testuite tweaks for hppa-linux.
[deliverable/binutils-gdb.git] / gas / testsuite / gas / hppa / reloc / reloc.exp
1 # Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
2
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16
17 # Please email any bugs, comments, and/or additions to this file to:
18 # DejaGnu@cygnus.com
19
20 # Written by the Center for Software Science at the University of Utah
21 # and by Cygnus Support.
22
23 proc do_ble_relocation_test {} {
24 set testname "blebug.s: Test for proper relocation for BLE (part 2)"
25 set x 0
26
27 if [gas_test_old "blebug.s" "" "Proper relocation for BLE (part 1)"] then {
28 objdump_start_no_subdir "a.out" "-r"
29
30 if ![istarget hppa*-*-*elf*] then {
31 # At one time both versions of the assembler would incorrectly use
32 # a PC-relative relocation for a BLE instruction.
33 while 1 {
34 expect {
35 -re "^0+4\[^\n\]*ABS_CALL\[^\n\]*\n" { set x 1 }
36 -re "\[^\n\]*\n" { }
37 timeout { perror "timeout\n"; break }
38 eof { break }
39 }
40 }
41 } else {
42 # At one time both versions of the assembler would incorrectly use
43 # a PC-relative relocation for a BLE instruction.
44 while 1 {
45 expect {
46 -re "^0+\[^\n\]*DIR21L\[^\n\]*\n" { set x 1 }
47 -re "^0+4\[^\n\]*DIR17R\[^\n\]*\n" { set x 1 }
48 -re "\[^\n\]*\n" { }
49 timeout { perror "timeout\n"; break }
50 eof { break }
51 }
52 }
53 }
54 }
55
56 # This was intended to do any cleanup necessary. It kinda looks like it
57 # isn't needed, but just in case, please keep it in for now.
58 objdump_finish
59
60 # Did we find what we were looking for? If not, flunk it.
61 if [expr $x==1] then { pass $testname } else { fail $testname }
62 }
63
64 proc do_relocation_reduction_tests {} {
65 set testname "reduce.s: Test relocation reductions (part 2)"
66 set x 0
67
68 if {[istarget hppa*w-*-*]
69 || [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then {
70 return;
71 }
72
73 if [gas_test_old "reduce.s" "" "Relocation reductions (part1)"] then {
74 objdump_start_no_subdir "a.out" "-r"
75
76 # Check to make sure relocations involving procedure labels
77 # are not reduced to a relocation involving some other symbol.
78 # Doing so makes generating parameter relocation stubs impossible.
79 while 1 {
80 expect {
81 -re "^0+4\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
82 { set x [expr $x+1] }
83 -re "^0+14\[^\n\]*PCREL\[^\n\]*foo\[^\n\]*\n"
84 { set x [expr $x+1] }
85 -re "\[^\n\]*\n" { }
86 timeout { perror "timeout\n"; break }
87 eof { break }
88 }
89 }
90 }
91
92 # This was intended to do any cleanup necessary. It kinda looks like it
93 # isn't needed, but just in case, please keep it in for now.
94 objdump_finish
95
96 # Did we find what we were looking for? If not, flunk it.
97 if [expr $x==2] then { pass $testname } else { fail $testname }
98
99 set testname "reduce2.s: More relocation reduction tests (part 2)"
100 set x 0
101
102 if [gas_test_old "reduce2.s" "" "More relocation reductions (part1)"] then {
103 objdump_start_no_subdir "a.out" "-r"
104
105 # Check to make sure DLT relative relocs are not reduced to sym+addend
106 # Doing so doesn't work as one might expect
107 while 1 {
108 expect {
109 -re "^0+4\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n"
110 { set x [expr $x+1] }
111 -re "^0+1c\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n"
112 { set x [expr $x+1] }
113 -re "^0+30\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n"
114 { set x [expr $x+1] }
115 -re "^0+48\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n"
116 { set x [expr $x+1] }
117 -re "\[^\n\]*\n" { }
118 timeout { perror "timeout\n"; break }
119 eof { break }
120 }
121 }
122 }
123
124 # This was intended to do any cleanup necessary. It kinda looks like it
125 # isn't needed, but just in case, please keep it in for now.
126 objdump_finish
127
128 # Did we find what we were looking for? If not, flunk it.
129 if [expr $x==2] then { pass $testname } else { fail $testname }
130
131 set testname "reduce3.s: Test even more relocation reductions (part 2)"
132 set x 0
133
134 if [gas_test_old "reduce3.s" "" "Even more relocation reductions (part1)"] then {
135 objdump_start_no_subdir "a.out" "-r"
136
137 # Check to make sure relocations involving procedure labels
138 # are not reduced to a relocation involving some other symbol.
139 # Doing so makes generating parameter relocation stubs impossible.
140 while 1 {
141 expect {
142 -re "^0+c\[^\n\]*yabba\[^\n\+\]*\n"
143 { set x [expr $x+1] }
144 -re "^0+c\[^\n\]*yabba\+\[^\n\]*\n"
145 { set x 0; break }
146 -re "^0+10\[^\n\]*yabba\[^\n\+\]*\n"
147 { set x [expr $x+1] }
148 -re "^0+10\[^\n\]*yabba\+\[^\n\]*\n"
149 { set x 0; break }
150 -re "\[^\n\]*\n" { }
151 timeout { perror "timeout\n"; break }
152 eof { break }
153 }
154 }
155 }
156
157 # This was intended to do any cleanup necessary. It kinda looks like it
158 # isn't needed, but just in case, please keep it in for now.
159 objdump_finish
160
161 # Did we find what we were looking for? If not, flunk it.
162 if [expr $x==2] then { pass $testname } else { fail $testname }
163 }
164
165 proc do_ble_mode_selector_test {} {
166 set testname "blebug2.s: blebug2"
167 set x 0
168
169 gas_start "blebug2.s" "-al"
170
171 # GAS uses too many bits on the BLE instruction.
172 while 1 {
173 expect {
174 -re "^ +\[0-9\]+ 0000 20202801\[^\n\]*\n" { set x [expr $x+1] }
175 -re "^ +\[0-9\]+ 0004 E420E008\[^\n\]*\n" { set x [expr $x+1] }
176 -re "\[^\n\]*\n" { }
177 timeout { perror "timeout\n"; break }
178 eof { break }
179 }
180 }
181
182 # This was intended to do any cleanup necessary. It kinda looks like it
183 # isn't needed, but just in case, please keep it in for now.
184 gas_finish
185
186 # Did we find what we were looking for? If not, flunk it.
187 if [expr $x==2] then { pass $testname } else { fail $testname }
188 }
189
190 proc do_ble_relocation_test {} {
191 set testname "blebug3.s: blebug3"
192 set x 0
193
194 gas_start "blebug3.s" "-al"
195
196 while 1 {
197 expect {
198 -re "^ +\[0-9\]+ 0000 E4002000\[^\n\]*\n" { set x [expr $x+1] }
199 -re "\[^\n\]*\n" { }
200 timeout { perror "timeout\n"; break }
201 eof { break }
202 }
203 }
204
205 # This was intended to do any cleanup necessary. It kinda looks like it
206 # isn't needed, but just in case, please keep it in for now.
207 gas_finish
208
209 # Did we find what we were looking for? If not, flunk it.
210 if [expr $x==1] then { pass $testname } else { fail $testname }
211 }
212
213 proc do_plabel_relocation_test {} {
214 set testname "plabelbug.s: Old gas-1.36 plabel bug (part 2)"
215 set x 0
216
217 if [gas_test_old "plabelbug.s" "" "Old gas-1.36 plabel bug (part 1)"] {
218 objdump_start_no_subdir "a.out" "-r"
219
220 # Check that we make PLABEL relocation entries when they're needed.
221 while 1 {
222 expect {
223 -re "^0+\[^\n\]*PLABEL\[^\n\]*\n"
224 { set x [expr $x+1] }
225 -re "^0+4\[^\n\]*PLABEL\[^\n\]*\n"
226 { set x [expr $x+1] }
227 -re "\[^\n\]*\n" { }
228 timeout { perror "timeout\n"; break }
229 eof { break }
230 }
231 }
232
233 # This was intended to do any cleanup necessary. It kinda looks like it
234 # isn't needed, but just in case, please keep it in for now.
235 objdump_finish
236
237 # Did we find what we were looking for? If not, flunk it.
238 if [expr $x==2] then { pass $testname } else { fail $testname }
239 }
240 }
241
242 proc do_selector_scope_test {} {
243 set testname "selectorbug.s: Test scope of field selector"
244 set x 0
245
246 if [istarget hppa*w-*-*] then {
247 return;
248 }
249
250 if [gas_test_old "selectorbug.s" "" "Test scope of field selector (part 1)"] {
251 objdump_start_no_subdir "a.out" "-r"
252
253 # Check to make sure the relocation entry after the plabel is correct.
254 # If an old field selector was incorrectly "carried" over, then
255 # this test will fail.
256 if {[istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then {
257 while 1 {
258 expect {
259 -re "^0+14\[^\n\]*DIR32\[^\n\]*\n"
260 { set x 1 }
261 -re "^0+14\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
262 { set x 0 }
263 -re "\[^\n\]*\n" { }
264 timeout { perror "timeout\n"; break }
265 eof { break }
266 }
267 }
268 } else {
269 while 1 {
270 expect {
271 -re "^0+14\[^\n\]*DATA_ONE\[^\n\]*\n"
272 { set x 1 }
273 -re "^0+14\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
274 { set x 0 }
275 -re "\[^\n\]*\n" { }
276 timeout { perror "timeout\n"; break }
277 eof { break }
278 }
279 }
280 }
281
282 # This was intended to do any cleanup necessary. It kinda looks like it
283 # isn't needed, but just in case, please keep it in for now.
284 objdump_finish
285
286 # Did we find what we were looking for? If not, flunk it.
287 if [expr $x==1] then { pass $testname } else { fail $testname }
288 }
289 }
290
291 proc do_local_label_as_operand_test {} {
292 set testname "labelopbug.s: Test local label as operand (non-branching)"
293 set x 0
294
295 if [gas_test_old "labelopbug.s" "" "Local label as operand (part 1)"] {
296 objdump_start_no_subdir "a.out" "-r"
297
298 # Check to make sure we handle difference of local lables as an operand
299 # to a non-branching instruction correctly.
300 while 1 {
301 expect {
302 -re "^0+2c\[^\n\]*0x0+24\[^\n\]*\n"
303 { set x [expr $x+1] }
304 -re "^0+30\[^\n\]*0x0+24\[^\n\]*\n"
305 { set x [expr $x+1] }
306 -re "\[^\n\]*\n" { }
307 timeout { perror "timeout\n"; break }
308 eof { break }
309 }
310 }
311
312 # This was intended to do any cleanup necessary. It kinda looks like it
313 # isn't needed, but just in case, please keep it in for now.
314 objdump_finish
315
316 # Did we find what we were looking for? If not, flunk it.
317 if [expr $x==2] then { pass $testname } else { fail $testname }
318 }
319 }
320
321 proc do_exit_relocation_test {} {
322 set testname "exitbug.s: Test for bogus R_EXIT relocation (part 2)"
323 set x 0
324
325 # Elf (osf) does not use ENTRY/EXIT relocations.
326 # I guess we could look at the unwind subspaces it builds...
327 # Until then, make sure it still assembles.
328 if {[istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then {
329 gas_test_old "exitbug.s" "" "Test for bogus R_EXIT relocation (part 1)"
330 return;
331 }
332
333 if [gas_test_old "exitbug.s" "" "Test for bogus R_EXIT relocation (part 1)"] {
334 objdump_start_no_subdir "a.out" "-r"
335
336 # Note that a match here is really a FAILURE!
337 while 1 {
338 expect {
339 -re "^0+\[^\n\]*R_EXIT\[^\n\]*\n"
340 { set x [expr $x+1] }
341 -re "\[^\n\]*\n" { }
342 timeout { perror "timeout\n"; break }
343 eof { break }
344 }
345 }
346
347 # This was intended to do any cleanup necessary. It kinda looks like it
348 # isn't needed, but just in case, please keep it in for now.
349 objdump_finish
350
351 # Did we find what we were looking for? If not, flunk it.
352 if [expr $x==0] then { pass $testname } else { fail $testname }
353 }
354 }
355
356 proc do_cross_space_fixup_test_1 {} {
357 set testname "fixupbug.s: Test cross space jump/call fixup bug (part 2)"
358 set x 0
359
360 if [istarget hppa*w-*-*] then {
361 return;
362 }
363
364 # ELF (osf) doesn't really handle extra sections too well...
365 if {[istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then {
366 return;
367 }
368
369 if [gas_test_old "fixupbug.s" "" "Test cross space jump/call fixup bug (part 1)"] {
370 objdump_start_no_subdir "a.out" "-r"
371
372 # Make sure GAS generated a fixup/relocation for the cross-space
373 # branch/call
374 while 1 {
375 expect {
376 -re "^0+\[^\n\]*PCREL_CALL\[^\n\]*\n"
377 { set x [expr $x+1] }
378 -re "\[^\n\]*\n" { }
379 timeout { perror "timeout\n"; break }
380 eof { break }
381 }
382 }
383
384 # This was intended to do any cleanup necessary. It kinda looks like it
385 # isn't needed, but just in case, please keep it in for now.
386 objdump_finish
387
388 # Did we find what we were looking for? If not, flunk it.
389 if [expr $x==1] then { pass $testname } else { fail $testname }
390 }
391 }
392
393 proc do_cross_space_fixup_test_2 {} {
394 set testname "fixupbug.s: Test cross space jump/call fixup bug (part 3)"
395 set x 0
396
397 if [istarget hppa*w-*-*] then {
398 return;
399 }
400
401 # ELF (osf) doesn't really handle extra sections too well...
402 if {[istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then {
403 return;
404 }
405
406 gas_start "fixupbug.s" "-al"
407
408 while 1 {
409 expect {
410 -re "^ +\[0-9\]+ 0000 E8000002\[^\n\]*\n" { set x [expr $x+1] }
411 -re "\[^\n\]*\n" { }
412 timeout { perror "timeout\n"; break }
413 eof { break }
414 }
415 }
416
417 # This was intended to do any cleanup necessary. It kinda looks like it
418 # isn't needed, but just in case, please keep it in for now.
419 gas_finish
420
421 # Did we find what we were looking for? If not, flunk it.
422 if [expr $x==1] then { pass $testname } else { fail $testname }
423 }
424
425 proc do_round_mode_test {} {
426 set testname "roundmode.s: Test switching of rounding modes (part 2)"
427 set x 0
428
429 if [gas_test_old "roundmode.s" "" "Test switch of rounding modes(part 1)"] {
430 objdump_start_no_subdir "a.out" "-r"
431
432 # Make sure GAS generated correct relocations to switch rounding modes.
433 # Also make sure (for SOM) that redundant rounding mode relocations
434 # were eliminated.
435 if { [istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*] || [istarget hppa*w-*-*] } then {
436 while 1 {
437 expect {
438 -re "^0+\[^\n\]*DIR21L\[^\n\]*\n"
439 { set x [expr $x+1] }
440 -re "^0+4\[^\n\]*DIR14R\[^\n\]*\n"
441 { set x [expr $x+1] }
442 -re "^0+8\[^\n\]*DIR21L\[^\n\]*\n"
443 { set x [expr $x+1] }
444 -re "^0+c\[^\n\]*DIR14R\[^\n\]*\n"
445 { set x [expr $x+1] }
446 -re "^0+10\[^\n\]*DIR21L\[^\n\]*\n"
447 { set x [expr $x+1] }
448 -re "^0+14\[^\n\]*DIR14R\[^\n\]*\n"
449 { set x [expr $x+1] }
450 -re "^0+18\[^\n\]*DIR21L\[^\n\]*\n"
451 { set x [expr $x+1] }
452 -re "^0+1c\[^\n\]*DIR14R\[^\n\]*\n"
453 { set x [expr $x+1] }
454 -re "\[^\n\]*\n" { }
455 timeout { perror "timeout\n"; break }
456 eof { break }
457 }
458 }
459 } else {
460 while 1 {
461 expect {
462 -re "^0+\[^\n\]*R_R_MODE\[^\n\]*\n"
463 { set x [expr $x+1] }
464 -re "^0+4\[^\n\]*R_R_MODE\[^\n\]*\n"
465 { fail $testname }
466 -re "^0+8\[^\n\]*R_N_MODE\[^\n\]*\n"
467 { set x [expr $x+1] }
468 -re "^0+c\[^\n\]*R_N_MODE\[^\n\]*\n"
469 { fail $testname }
470 -re "^0+10\[^\n\]*R_R_MODE\[^\n\]*\n"
471 { set x [expr $x+1] }
472 -re "^0+14\[^\n\]*R_R_MODE\[^\n\]*\n"
473 { fail $testname }
474 -re "^0+1c\[^\n\]*R_R_MODE\[^\n\]*\n"
475 { fail $testname }
476 -re "\[^\n\]*\n" { }
477 timeout { perror "timeout\n"; break }
478 eof { break }
479 }
480 }
481 }
482
483 # This was intended to do any cleanup necessary. It kinda looks like it
484 # isn't needed, but just in case, please keep it in for now.
485 objdump_finish
486
487 # Did we find what we were looking for? If not, flunk it.
488 if {[istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*] || [istarget hppa*w-*-*] } then {
489 if [expr $x==8] then { pass $testname } else { fail $testname }
490 } else {
491 if [expr $x==3] then { pass $testname } else { fail $testname }
492 }
493 }
494 }
495
496 proc do_function_reloc_bug {} {
497 set testname "funcrelocbug.s: Test for reloc bug in non-plabel function reference (part 2)"
498 set x 0
499
500 if [gas_test_old "funcrelocbug.s" "" "Test for reloc bug in non-plabel function reference (part 1)"] {
501 objdump_start_no_subdir "a.out" "-r"
502
503 # Make sure GAS generated a correct relocation for the reference.
504 # branch/call
505 while 1 {
506 expect {
507 -re "^0+cc\[^\n\]*f2___4\[^\n+\]*\n"
508 { set x [expr $x+1] }
509 -re "^0+d0\[^\n\]*f2___4\[^\n+\]*\n"
510 { set x [expr $x+1] }
511 -re "\[^\n\]*\n" { }
512 timeout { perror "timeout\n"; break }
513 eof { break }
514 }
515 }
516
517 # This was intended to do any cleanup necessary. It kinda looks like it
518 # isn't needed, but just in case, please keep it in for now.
519 objdump_finish
520
521 # Did we find what we were looking for? If not, flunk it.
522 if [expr $x==2] then { pass $testname } else { fail $testname }
523
524 set testname "funcrelocbug.s: Test for reloc bug in non-plabel function reference (part3)"
525 set x 0
526
527 objdump_start_no_subdir "a.out" "--prefix-addresses -d"
528 # Make sure we didn't put anything in the instruction itself!
529 while 1 {
530 expect {
531 -re "^0+cc\[^\n\]*ldil 0,r20\[^\n\]*\n"
532 { set x [expr $x+1] }
533 -re "^0+d0\[^\n\]*ldo 0\[\(\]+r20\[\)\]+,r19\[^\n\]*\n"
534 { set x [expr $x+1] }
535 -re "\[^\n\]*\n" { }
536 timeout { perror "timeout\n"; break }
537 eof { break }
538 }
539 }
540
541 # This was intended to do any cleanup necessary. It kinda looks like it
542 # isn't needed, but just in case, please keep it in for now.
543 objdump_finish
544
545 # Did we find what we were looking for? If not, flunk it.
546 if [expr $x==2] then { pass $testname } else { fail $testname }
547 }
548
549 }
550
551 proc do_r_no_reloc {} {
552 set testname "r_no_reloc.s: Test for reloc bug in 4-byte R_NO_RELCOATION fixups (part 2)"
553 set x 0
554
555 if [gas_test_old "r_no_reloc.s" "" "Test for reloc bug in 4-byte R_NO_RELOCATION fixups (part 1)"] {
556 objdump_start_no_subdir "a.out" "-r"
557
558 # Make sure GAS generated a correct relocation for the reference.
559 while 1 {
560 expect {
561 -re "^0+c0004\[^\n\]*PLABEL\[^\n]*g\[^\n\]*\n"
562 { set x [expr $x+1] }
563 -re "\[^\n\]*\n" { }
564 timeout { perror "timeout\n"; break }
565 eof { break }
566 }
567 }
568
569 # This was intended to do any cleanup necessary. It kinda looks like it
570 # isn't needed, but just in case, please keep it in for now.
571 objdump_finish
572
573 # Did we find what we were looking for? If not, flunk it.
574 if [expr $x==1] then { pass $testname } else { fail $testname }
575
576 }
577 }
578
579 proc do_pic_relocation_test {} {
580 set testname "picreloc.s: Test for proper PIC relocation (part 2)"
581 set x 0
582
583 if [istarget hppa*w-*-*] then {
584 return;
585 }
586
587 # ELF (osf) doesn't really handle extra sections too well...
588 if {[istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then {
589 return;
590 }
591
592 gas_start "picreloc.s" "-al"
593
594 while 1 {
595 expect {
596 -re "^ +\[0-9\]+ 0000 00000004\[^\n\]*\n" { set x [expr $x+1] }
597 -re "\[^\n\]*\n" { }
598 timeout { perror "timeout\n"; break }
599 eof { break }
600 }
601 }
602
603 # This was intended to do any cleanup necessary. It kinda looks like it
604 # isn't needed, but just in case, please keep it in for now.
605 gas_finish
606
607 # Did we find what we were looking for? If not, flunk it.
608 if [expr $x==1] then { pass $testname } else { fail $testname }
609 }
610
611 proc do_apply_test {} {
612 set testname "applybug.s: Test for proper fixup appliation (part 2)"
613 set x 0
614
615 # ELF (osf) doesn't really handle extra sections too well...
616 if {[istarget hppa*-*-*elf*] || [istarget hppa*-*-linux*]} then {
617 return;
618 }
619
620 gas_start "applybug.s" "-al"
621
622 while 1 {
623 expect {
624 -re "^ +\[0-9\]+ 0000 00000000\[^\n\]*\n" { set x [expr $x+1] }
625 -re "^ +\[0-9\]+ 0004 00000000\[^\n\]*\n" { set x [expr $x+1] }
626 -re "^ +\[0-9\]+ 0008 00000000\[^\n\]*\n" { set x [expr $x+1] }
627 -re "\[^\n\]*\n" { }
628 timeout { perror "timeout\n"; break }
629 eof { break }
630 }
631 }
632
633 # This was intended to do any cleanup necessary. It kinda looks like it
634 # isn't needed, but just in case, please keep it in for now.
635 gas_finish
636
637 # Did we find what we were looking for? If not, flunk it.
638 if [expr $x==3] then { pass $testname } else { fail $testname }
639 }
640 if [istarget hppa*-*-*] then {
641 # Make sure we put the right relocation entry on a BLE instruction.
642 do_ble_relocation_test
643
644 # Make sure relocation reductions are not too agressive about
645 # adjusting relocations against some symbols.
646 do_relocation_reduction_tests
647
648 # Check that mode selectors on a ble instruction actually work.
649 do_ble_mode_selector_test
650
651 # Check that we take the -8 adjustment into account when zeroing
652 # out the displacement field in a ble instruction with a reloc
653 do_ble_relocation_test
654
655 # 1.36 simply didn't generate all the plabels it should have. Make
656 # sure gas-2 does.
657 do_plabel_relocation_test
658
659 # Make sure a field selector only effects the current instruction
660 # or assembler directive.
661 do_selector_scope_test
662
663 # This should really generate a relocation. It would make life much
664 # easier on the optimizing linker. Until then just make sure the
665 # difference is computed correctly.
666 do_local_label_as_operand_test
667
668 # GAS2 incorrectly generated R_EXIT relocations when .exit directives
669 # were not in the source code.
670 do_exit_relocation_test
671
672 # GAS2 incorrectly thought it could apply a fixup for a pc-relative
673 # branch/call which crossed different subspaces.
674 # Also check that the assembled instruction is correct
675 do_cross_space_fixup_test_1
676 do_cross_space_fixup_test_2
677
678 # Make sure we switch rounding modes correctly
679 do_round_mode_test
680
681 # Test for a bug found when a function was used in a non-branching
682 # instruction *without* a plabel (for portable runtime model)
683 do_function_reloc_bug
684
685 # Test for an off-by-one bug in the handling of 4-byte R_NO_RELOCATION
686 # fixups.
687 do_r_no_reloc
688
689 # Test a relocation problem which shows up when building shared
690 # libraries in SOM
691 do_pic_relocation_test
692
693 # Test a problem with md_apply_fix that was introduced when fixing
694 # the pic relocation test.
695 do_apply_test
696
697 # Make sure gas doesn't resolve long-calls which are to be fixed
698 # by the linker
699 gas_test "longcall.s" "" "" "Avoid resolving long-calls"
700 }
This page took 0.045305 seconds and 4 git commands to generate.