2006-12-01 Paul Brook <paul@codesourcery.com>

gas/
	* config/tc-arm.c (arm_force_relocation): Return 1 for relocs against
	function symbols.

	gas/testsuite/
	* gas/arm/thumbrel.s: New test.
	* gas/arm/thumbrel.d: New test.
This commit is contained in:
Paul Brook 2006-12-01 16:42:26 +00:00
parent 945c025aaf
commit f0291e4c15
5 changed files with 41 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2006-12-01 Paul Brook <paul@codesourcery.com>
* config/tc-arm.c (arm_force_relocation): Return 1 for relocs against
function symbols.
2006-11-29 Paul Brook <paul@codesourcery.com>
* config/tc-arm.c (arm_is_eabi): New function.

View File

@ -18962,6 +18962,12 @@ arm_force_relocation (struct fix * fixp)
|| fixp->fx_r_type == BFD_RELOC_ARM_LDR_PC_G0)
return 1;
/* Always generate relocations against function symbols. */
if (fixp->fx_r_type == BFD_RELOC_32
&& fixp->fx_addsy
&& (symbol_get_bfdsym (fixp->fx_addsy)->flags & BSF_FUNCTION))
return 1;
return generic_force_reloc (fixp);
}

View File

@ -1,3 +1,8 @@
2006-12-01 Paul Brook <paul@codesourcery.com>
* gas/arm/thumbrel.s: New test.
* gas/arm/thumbrel.d: New test.
2006-11-30 Jan Beulich <jbeulich@novell.com>
* gas/i386/intel.d: Adjust.

View File

@ -0,0 +1,14 @@
#objdump: -sr
# This test is only valid on ELF based ports.
#not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
.*: file format.*
RELOCATION RECORDS FOR \[.text\]:
OFFSET TYPE VALUE
00000004 R_ARM_REL32 b
Contents of section .text:
0000 00000000 (00000004|04000000) 00000000 00000000 .*
# Ignore .ARM.attributes section
#...

View File

@ -0,0 +1,11 @@
@ Check that PC-relative relocs against local function symbols are
@ generated correctly.
.text
.thumb
a:
.word 0
.word b - a
.word 0
.word 0
.type b, %function
b: