diff options
author | Catherine Moore <clm@redhat.com> | 2008-05-09 19:28:47 +0000 |
---|---|---|
committer | Catherine Moore <clm@redhat.com> | 2008-05-09 19:28:47 +0000 |
commit | 35903be00caecb8248eb38414b3fad3fee65fbe8 (patch) | |
tree | f3be6c13f08f4763a73d15ca2d7ec1dbee926149 /gas/testsuite | |
parent | 7ae0e2a243189fe9573b6229cc5464c1db20cc14 (diff) | |
download | gdb-35903be00caecb8248eb38414b3fad3fee65fbe8.zip gdb-35903be00caecb8248eb38414b3fad3fee65fbe8.tar.gz gdb-35903be00caecb8248eb38414b3fad3fee65fbe8.tar.bz2 |
gas/
* config/tc-mips.c (mips_frob_file): Don't match MIPS16 relocs
with non-MIPS16 relocs.
gas/testsuite/
* gas/mips/mips16-hilo-match.s: New test.
* gas/mips/mip16-hilo-match.d: New test output.Index: config/tc-mips.c
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips.exp | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips16-hilo-match.d | 40 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips16-hilo-match.s | 148 |
4 files changed, 194 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 17a4b31..0d8e43c 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-05-09 Catherine Moore <clm@codesourcery.com> + + * gas/mips/mips16-hilo-match.s: New test. + * gas/mips/mip16-hilo-match.d: New test output. + 2008-05-02 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/i386.exp: Run movbe, movbe-intel, inval-movbe, ept, diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index d540a1a..29cff0c 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -528,6 +528,7 @@ if { [istarget mips*-*-vxworks*] } { if $has_newabi { run_dump_test "mips16-hilo-n32" } + run_dump_test "mips16-hilo-match" } run_list_test "mips-no-jalx" "-32" run_dump_test "delay" diff --git a/gas/testsuite/gas/mips/mips16-hilo-match.d b/gas/testsuite/gas/mips/mips16-hilo-match.d new file mode 100644 index 0000000..effd9bb --- /dev/null +++ b/gas/testsuite/gas/mips/mips16-hilo-match.d @@ -0,0 +1,40 @@ +#objdump: -r +#name: MIPS16 mips16-hilo-match + +.*: +file format .*mips.* + +RELOCATION RECORDS FOR \[\.text\]: +OFFSET TYPE VALUE +00000010 R_MIPS_HI16 var4 +00000018 R_MIPS_LO16 var4 +00000008 R_MIPS_HI16 __var1 +00000020 R_MIPS_LO16 __var1 +0000001c R_MIPS_HI16 .sbss +0000002c R_MIPS_LO16 .sbss +00000030 R_MIPS_26 func4 +00000028 R_MIPS_HI16 __var3 +00000034 R_MIPS_LO16 __var3 +00000038 R_MIPS_LO16 hilo_match +0000003c R_MIPS_HI16 .bss +00000044 R_MIPS_LO16 .bss +00000040 R_MIPS_HI16 .bss +00000048 R_MIPS_LO16 .bss +0000004c R_MIPS_26 func3 +00000024 R_MIPS_HI16 hilo_match +00000050 R_MIPS_LO16 hilo_match +0000005e R_MIPS16_HI16 .data +00000068 R_MIPS16_LO16 .data +0000006c R_MIPS16_26 func1 +00000072 R_MIPS16_26 func2 +00000078 R_MIPS16_HI16 hilo_match +00000080 R_MIPS16_LO16 hilo_match +00000086 R_MIPS16_LO16 hilo_match +0000008a R_MIPS16_26 func1 + + +RELOCATION RECORDS FOR \[\.pdr\]: +OFFSET TYPE VALUE +00000000 R_MIPS_32 _pinit +00000020 R_MIPS_32 pdelt + + diff --git a/gas/testsuite/gas/mips/mips16-hilo-match.s b/gas/testsuite/gas/mips/mips16-hilo-match.s new file mode 100644 index 0000000..7510d5d --- /dev/null +++ b/gas/testsuite/gas/mips/mips16-hilo-match.s @@ -0,0 +1,148 @@ + .align 2 + .globl _pinit +.LFB84: + .set nomips16 + .ent _pinit +_pinit: + + lw $3,8($23) + li $5,1 + lui $2,%hi(__var1) + ori $3,$3,0x1 + lui $4,%hi(var4) + sw $3,8($23) + addiu $4,$4,%lo(var4) + lui $3,%hi(var5) + sw $5,%lo(__var1)($2) + lui $19,%hi(hilo_match) +.LVL100: + lui $2,%hi(__var3) + sw $5,%lo(var5)($3) + .set noreorder + .set nomacro + jal func4 + sw $5,%lo(__var3)($2) + .set macro + .set reorder + + lw $17,%lo(hilo_match)($19) +.LVL101: + lui $2,%hi(var6) + lui $3,%hi(var6+704) + addiu $16,$2,%lo(var6) +.LVL102: + addiu $18,$3,%lo(var6+704) + .set noreorder + .set nomacro + jal func3 + sw $2,%lo(hilo_match)($19) + + .end _pinit +.LFE84: + .size _pinit, .-_pinit + .align 2 + .globl pdelt +.LFB120: + .set mips16 + .ent pdelt +pdelt: + .set macro + .set reorder + + li $2,16 +.L321: +.LVL212: + j $31 +.LVL213: +.L322: + lhu $2,36($17) + move $4,$16 + li $16,%hi(var2) + sll $16,$16,8 + addiu $2,1 + sll $16,$16,8 + addiu $16,%lo(var2) + .set noreorder + .set nomacro + jal func1 + sh $2,36($17) + .set macro + .set reorder + + .set noreorder + .set nomacro + jal func2 + move $4,$16 + .set macro + .set reorder + + li $3,%hi(hilo_match) + sll $3,$3,8 + sll $3,$3,8 + lw $2,%lo(hilo_match)($3) + sw $2,0($17) + sw $17,%lo(hilo_match)($3) + .set noreorder + .set nomacro + jal func1 + move $4,$16 + .set macro + .set reorder + +.LVL214: + .set noreorder + .set nomacro + j $31 + li $2,0 + .set macro + .set reorder + + .end pdelt + .align 2 + .weak __var3 + .section .sbss,"aw",@nobits + .align 2 + .type __var3, @object + .size __var3, 4 +__var3: + .space 4 + .weak __var1 + .align 2 + .type __var1, @object + .size __var1, 4 +__var1: + .space 4 + .data + .align 2 + .weak __hilo_match + .align 2 + .type __hilo_match, @object + .size __hilo_match, 4 +__hilo_match: + .space 4 + .data + .align 2 + .align 2 + .type var2, @object + .size var2, 32 +var2: + .word 0 + .word -1 + .word 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .word 0 + .word 0 + .half 0 + .space 6 + .align 2 + .rdata + .align 2 + .space 8 + .local var5 + .comm var5,4,4 + .align 2 + .local var6 + .comm var6,704,4 |