From bddb0493ac7250f49df7cad5db5333bb1a676572 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Fri, 2 Mar 2007 18:22:59 +0000 Subject: [PATCH] 2007-03-02 Paul Brook 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. --- gas/testsuite/gas/arm/relax_branch_align.d | 13 +++++++++++++ gas/testsuite/gas/arm/relax_branch_align.s | 17 +++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 gas/testsuite/gas/arm/relax_branch_align.d create mode 100644 gas/testsuite/gas/arm/relax_branch_align.s 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 -- 2.7.4