aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-arm.c
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2010-11-10 13:36:31 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2010-11-10 13:36:31 +0000
commit12d6b0b7ba4c753349cc4a87986ef093959e3a77 (patch)
tree342831c0c08b2730e8a0f9d5c50828e8ffc9987f /gas/config/tc-arm.c
parentfd3646071c278ca4c39ac6904a9a520c24cd25f9 (diff)
downloadgdb-12d6b0b7ba4c753349cc4a87986ef093959e3a77.zip
gdb-12d6b0b7ba4c753349cc4a87986ef093959e3a77.tar.gz
gdb-12d6b0b7ba4c753349cc4a87986ef093959e3a77.tar.bz2
gas/
* config/tc-arm.c (do_t_branch): Treat (PLT) branches as wide. gas/testsuite/ * gas/arm/plt-1.s, gas/arm/plt-1.d: New test.
Diffstat (limited to 'gas/config/tc-arm.c')
-rw-r--r--gas/config/tc-arm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 8dd342b..9a87342 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -2213,7 +2213,7 @@ create_neon_reg_alias (char *newname, char *p)
struct reg_entry mybasereg;
struct neon_type ntype;
struct neon_typed_alias typeinfo;
- char *namebuf, *nameend;
+ char *namebuf, *nameend ATTRIBUTE_UNUSED;
int namelen;
typeinfo.defined = 0;
@@ -9683,7 +9683,9 @@ do_t_branch (void)
else
opcode = inst.instruction;
- if (unified_syntax && inst.size_req == 4)
+ if (unified_syntax
+ && (inst.size_req == 4
+ || (inst.size_req != 2 && inst.operands[0].hasreloc)))
{
inst.instruction = THUMB_OP32(opcode);
if (cond == COND_ALWAYS)