diff options
author | Paul Brook <paul@codesourcery.com> | 2007-03-02 18:22:59 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2007-03-02 18:22:59 +0000 |
commit | bddb0493ac7250f49df7cad5db5333bb1a676572 (patch) | |
tree | 4c48c7485206b6361cb22e223b9f7907fdd1d247 | |
parent | 5e77afaabd5f2af319350ec61082a999f9bb3704 (diff) | |
download | gdb-bddb0493ac7250f49df7cad5db5333bb1a676572.zip gdb-bddb0493ac7250f49df7cad5db5333bb1a676572.tar.gz gdb-bddb0493ac7250f49df7cad5db5333bb1a676572.tar.bz2 |
2007-03-02 Paul Brook <paul@codesourcery.com>
gas/
* config/tc-arm.c (relax_immediate): Always return positive values.
(relaxed_symbol_addr): New function.
(relax_adr, relax_branch): Use it.
(arm_relax_frag): Pass strect argument. Adjust infinite loop check.
gas/testsuite/
* gas/arm/relax_branch_align.d: New test.
* gas/arm/relax_branch_align.s: New test.
-rw-r--r-- | gas/testsuite/gas/arm/relax_branch_align.d | 13 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/relax_branch_align.s | 17 |
2 files changed, 30 insertions, 0 deletions
diff --git a/gas/testsuite/gas/arm/relax_branch_align.d b/gas/testsuite/gas/arm/relax_branch_align.d new file mode 100644 index 0000000..e23b095 --- /dev/null +++ b/gas/testsuite/gas/arm/relax_branch_align.d @@ -0,0 +1,13 @@ +#name: Branch relaxation with alignment. +#objdump: -dr --prefix-addresses --show-raw-insn + +.*: +file format .*arm.* + +Disassembly of section .text: +0+000 <[^>]+> bf00 nop +0+002 <[^>]+> f000 8080 beq.w 0+106 <[^>]*> +0+006 <[^>]+> bf00 nop +#... +0+100 <[^>]+> bf00 nop +0+102 <[^>]+> f47f af80 bne.w 0+006 <[^>]*> +0+106 <[^>]+> bf00 nop diff --git a/gas/testsuite/gas/arm/relax_branch_align.s b/gas/testsuite/gas/arm/relax_branch_align.s new file mode 100644 index 0000000..718ce49 --- /dev/null +++ b/gas/testsuite/gas/arm/relax_branch_align.s @@ -0,0 +1,17 @@ + .syntax unified + .thumb +fn: + nop +.L191: + beq .L192 +.L46: + nop + .align 2 +.L54: + .rept 62 + .word 0 + .endr + nop + bne .L46 +.L192: + nop |