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;
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)
+2010-11-10 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * gas/arm/plt-1.s, gas/arm/plt-1.d: New test.
+
2010-11-08 Thomas Schwinge <thomas@schwinge.name>
* lib/gas-defs.exp (is_elf_format): Consider for *-*-gnu*, too.
--- /dev/null
+# name: Thumb branch to PLT
+# as:
+# objdump: -dr
+# This test is only valid on ELF based ports.
+#not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+.*: +file format .*arm.*
+
+
+Disassembly of section \.text:
+
+0+000 <Strong1>:
+ 0: f7ff bffe b\.w 12 <Strong2>
+ 0: R_ARM_THM_JUMP24 Strong2
+ 4: f7ff bffe b\.w 12 <Strong2>
+ 4: R_ARM_THM_JUMP24 Strong2
+ 8: e7fe b\.n 12 <Strong2>
+ 8: R_ARM_THM_JUMP11 Strong2
+ a: e7fe b\.n 12 <Strong2>
+ a: R_ARM_THM_JUMP11 Strong2
+ c: f7ff bffe b\.w 12 <Strong2>
+ c: R_ARM_THM_JUMP24 Strong2
+ 10: e7fe b\.n 12 <Strong2>
+ 10: R_ARM_THM_JUMP11 Strong2
+
+0+012 <Strong2>:
+ 12: f7ff bffe b\.w 0 <Strong1>
+ 12: R_ARM_THM_JUMP24 Strong1
+ 16: f7ff bffe b\.w 0 <Strong1>
+ 16: R_ARM_THM_JUMP24 Strong1
+ 1a: e7fe b\.n 0 <Strong1>
+ 1a: R_ARM_THM_JUMP11 Strong1
+ 1c: e7fe b\.n 0 <Strong1>
+ 1c: R_ARM_THM_JUMP11 Strong1
+ 1e: f7ff bffe b\.w 0 <Strong1>
+ 1e: R_ARM_THM_JUMP24 Strong1
+ 22: e7fe b\.n 0 <Strong1>
+ 22: R_ARM_THM_JUMP11 Strong1
--- /dev/null
+ .syntax unified
+ .text
+ .thumb
+
+ .globl Strong1
+ .thumb_func
+ .type Strong1, %function
+Strong1:
+ b Strong2(PLT)
+ b.w Strong2(PLT)
+ b.n Strong2(PLT)
+ b Strong2
+ b.w Strong2
+ b.n Strong2
+ .size Strong1,.-Strong1
+
+ .globl Strong2
+ .thumb_func
+ .type Strong2, %function
+Strong2:
+ b Strong1(PLT)
+ b.w Strong1(PLT)
+ b.n Strong1(PLT)
+ b Strong1
+ b.w Strong1
+ b.n Strong1
+ .size Strong2, .-Strong2