mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-30 12:44:10 +08:00
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.
This commit is contained in:
parent
fd3646071c
commit
12d6b0b7ba
@ -1,3 +1,7 @@
|
||||
2010-11-10 Richard Sandiford <richard.sandiford@linaro.org>
|
||||
|
||||
* config/tc-arm.c (do_t_branch): Treat (PLT) branches as wide.
|
||||
|
||||
2010-11-05 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/tc-cr16.c (getprocreg_image): Fix typo MAX_PREG ->
|
||||
|
@ -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)
|
||||
|
@ -1,3 +1,7 @@
|
||||
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.
|
||||
|
38
gas/testsuite/gas/arm/plt-1.d
Normal file
38
gas/testsuite/gas/arm/plt-1.d
Normal file
@ -0,0 +1,38 @@
|
||||
# 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
|
27
gas/testsuite/gas/arm/plt-1.s
Normal file
27
gas/testsuite/gas/arm/plt-1.s
Normal file
@ -0,0 +1,27 @@
|
||||
.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
|
Loading…
Reference in New Issue
Block a user