2008-07-07  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (arm_fix_adjustable): Don't adjust MOVW/MOVT
	relocations.

gas/testsuite/

2008-07-07  Paul Brook  <paul@codesourcery.com>

	* gas/arm/movw-local.d: New test.
	* gas/arm/movw-local.s: New test.
This commit is contained in:
Carlos O'Donell 2008-07-07 19:12:58 +00:00
parent c27e721e3e
commit 79947c5421
5 changed files with 50 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2008-07-07 Paul Brook <paul@codesourcery.com>
* config/tc-arm.c (arm_fix_adjustable): Don't adjust MOVW/MOVT
relocations.
2008-07-07 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.tgt: Add bfin-*-rtems*.

View File

@ -19420,6 +19420,17 @@ arm_fix_adjustable (fixS * fixP)
|| fixP->fx_r_type == BFD_RELOC_ARM_LDR_PC_G0)
return 0;
/* MOVW/MOVT REL relocations have limited offsets, so keep the symbols. */
if (fixP->fx_r_type == BFD_RELOC_ARM_MOVW
|| fixP->fx_r_type == BFD_RELOC_ARM_MOVT
|| fixP->fx_r_type == BFD_RELOC_ARM_MOVW_PCREL
|| fixP->fx_r_type == BFD_RELOC_ARM_MOVT_PCREL
|| fixP->fx_r_type == BFD_RELOC_ARM_THUMB_MOVW
|| fixP->fx_r_type == BFD_RELOC_ARM_THUMB_MOVT
|| fixP->fx_r_type == BFD_RELOC_ARM_THUMB_MOVW_PCREL
|| fixP->fx_r_type == BFD_RELOC_ARM_THUMB_MOVT_PCREL)
return 0;
return 1;
}
#endif /* defined (OBJ_ELF) || defined (OBJ_COFF) */

View File

@ -1,3 +1,8 @@
2008-07-07 Paul Brook <paul@codesourcery.com>
* gas/arm/movw-local.d: New test.
* gas/arm/movw-local.s: New test.
2008-06-27 Chao-ying Fu <fu@mips.com>
* gas/mips/odd-float.d: Replace ... with #pass.

View File

@ -0,0 +1,16 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
#name: MOVW/MOVT relocations against local symbols
.*: +file format .*arm.*
Disassembly of section .text:
0[0-9a-f]+ <[^>]+> e3000000 movw r0, #0 ; 0x0
0: R_ARM_MOVW_ABS_NC bar
0[0-9a-f]+ <[^>]+> e3400000 movt r0, #0 ; 0x0
4: R_ARM_MOVT_ABS bar
0[0-9a-f]+ <[^>]+> f240 0000 movw r0, #0 ; 0x0
8: R_ARM_THM_MOVW_ABS_NC bar
0[0-9a-f]+ <[^>]+> f2c0 0000 movt r0, #0 ; 0x0
c: R_ARM_THM_MOVT_ABS bar
#...

View File

@ -0,0 +1,13 @@
.arch armv7-a
.text
.syntax unified
foo:
movw r0, #:lower16: bar
movt r0, #:upper16: bar
.thumb
movw r0, #:lower16: bar
movt r0, #:upper16: bar
.space 0x10000
bar: