2006-05-11 Paul Brook <paul@codesourcery.com>

gas/
	* config/tc-arm.c (arm_fix_adjustable): Return 0 for function symbols.
gas/testsuite/
	* gas/arm/local_function.d: New test.
	* gas/arm/local_function.s: New test.
This commit is contained in:
Paul Brook 2006-05-11 15:05:17 +00:00
parent 89ee2ebe8b
commit e28387c3bf
5 changed files with 36 additions and 3 deletions

View file

@ -1,3 +1,7 @@
2006-05-11 Paul Brook <paul@codesourcery.com>
* config/tc-arm.c (arm_fix_adjustable): Return 0 for function symbols.
2006-05-11 Thiemo Seufer <ths@mips.com>
* config/tc-mips.c (append_insn): Don't check the range of j or

View file

@ -17053,9 +17053,9 @@ arm_fix_adjustable (fixS * fixP)
#endif
#ifdef OBJ_ELF
/* Relocations against Thumb function names must be left unadjusted,
so that the linker can use this information to correctly set the
bottom bit of their addresses. The MIPS version of this function
/* Relocations against function names must be left unadjusted,
so that the linker can use this information to generate interworking
stubs. The MIPS version of this function
also prevents relocations that are mips-16 specific, but I do not
know why it does this.
@ -17072,6 +17072,10 @@ arm_fix_adjustable (fixS * fixP)
if (fixP->fx_addsy == NULL)
return 1;
/* Preserve relocations against symbols with function type. */
if (symbol_get_bfdsym (fixP->fx_addsy)->flags & BSF_FUNCTION)
return 0;
if (THUMB_IS_FUNC (fixP->fx_addsy)
&& fixP->fx_subsy == NULL)
return 0;

View file

@ -1,3 +1,8 @@
2006-05-11 Paul Brook <paul@codesourcery.com>
* gas/arm/local_function.d: New test.
* gas/arm/local_function.s: New test.
2006-05-11 Thiemo Seufer <ths@mips.com>
* gas/mips/jal-range.l: Don't check the range of j or jal

View file

@ -0,0 +1,10 @@
#objdump: -r
#name: Relocations agains local function symbols
# 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
00000000 R_ARM_(CALL|PC24) bar

View file

@ -0,0 +1,10 @@
.text
.type foo, %function
foo:
bl bar
.section .text.bar
nop
.type bar, %function
bar:
nop