diff options
author | Paul Brook <paul@codesourcery.com> | 2006-04-07 15:08:04 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2006-04-07 15:08:04 +0000 |
commit | 7ae2971b7af507f3d30ff3c0877bb9448e1eb683 (patch) | |
tree | 8871dc050002ecd7bd966448c4a4a8889ffe9577 /gas/config | |
parent | 53365c0d765c72dcca8ca57f4c8dd8bb2e0c1b19 (diff) | |
download | gdb-7ae2971b7af507f3d30ff3c0877bb9448e1eb683.zip gdb-7ae2971b7af507f3d30ff3c0877bb9448e1eb683.tar.gz gdb-7ae2971b7af507f3d30ff3c0877bb9448e1eb683.tar.bz2 |
2006-04-07 Paul Brook <paul@codesourcery.com>
gas/
* config/tc-arm.c (md_apply_fix): Set H bit on blx instruction.
gas/testsuite/
* gas/arm/blx-local.d: New test.
* gas/arm/blx-local.d: New test.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-arm.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index bf91b89..54cd349 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -11927,6 +11927,14 @@ md_apply_fix (fixS * fixP, { newval = md_chars_to_number (buf, INSN_SIZE); newval |= (value >> 2) & 0x00ffffff; + /* Set the H bit on BLX instructions. */ + if (temp == 1) + { + if (value & 2) + newval |= 0x01000000; + else + newval &= ~0x01000000; + } md_number_to_chars (buf, newval, INSN_SIZE); } break; |