This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fixes an invalid warning about memory region overflow on the ARM.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3940d2c36abbf7c4701e312bd76f6bb119898c8a

commit 3940d2c36abbf7c4701e312bd76f6bb119898c8a
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 16 14:21:28 2015 +0000

    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.

Diff:
---
 ld/ChangeLog           |  7 +++++++
 ld/emultempl/armelf.em | 14 ++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index d5e450e..d4324ec 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -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.
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em
index b03aed4..2931a49 100644
--- a/ld/emultempl/armelf.em
+++ b/ld/emultempl/armelf.em
@@ -55,6 +55,19 @@ gld${EMULATION_NAME}_before_parse (void)
 }
 
 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)
 {
   bfd_elf32_arm_set_byteswap_code (&link_info, byteswap_code);
@@ -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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]