Fixes an invalid warning about memory region overflow on the ARM.

PR ld/19106
	* emultempl/armelf.em (_set_symbols): New function.  Enables
	relaxation for non-relocatable links.
	(LDEMUL_SET_SYMBOLS): Define.
This commit is contained in:
Nick Clifton 2015-11-16 14:21:28 +00:00
parent 797eee4264
commit 3940d2c36a
2 changed files with 21 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2015-11-16 Nick Clifton <nickc@redhat.com>
PR ld/19106
* emultempl/armelf.em (_set_symbols): New function. Enables
relaxation for non-relocatable links.
(LDEMUL_SET_SYMBOLS): Define.
2015-11-13 Tristan Gingold <gingold@adacore.com>
* configure: Regenerate.

View File

@ -54,6 +54,19 @@ gld${EMULATION_NAME}_before_parse (void)
config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`;
}
static void
gld${EMULATION_NAME}_set_symbols (void)
{
/* PR 19106: The section resizing code in gldarmelf_after_allocation
is effectively the same as relaxation, so prevent early memory
region checks which produce bogus error messages.
Note - this test has nothing to do with symbols. It is just here
because this is the first emulation routine that is called after
the command line has been parsed. */
if (!bfd_link_relocatable (&link_info))
TARGET_ENABLE_RELAXATION;
}
static void
arm_elf_before_allocation (void)
{
@ -728,6 +741,7 @@ LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=arm_elf_create_output_section_statements
# Replace the elf before_parse function with our own.
LDEMUL_BEFORE_PARSE=gld"${EMULATION_NAME}"_before_parse
LDEMUL_SET_SYMBOLS=gld"${EMULATION_NAME}"_set_symbols
# Call the extra arm-elf function
LDEMUL_FINISH=gld${EMULATION_NAME}_finish