PR ld/13812
authorNick Clifton <nickc@redhat.com>
Wed, 27 Mar 2013 13:21:38 +0000 (13:21 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 27 Mar 2013 13:21:38 +0000 (13:21 +0000)
* scripttempl/avr.sc: Place trampolines before .progmem section.

ld/ChangeLog
ld/scripttempl/avr.sc

index d5457a8e05bb559b6c9266d1df9bb30ef0b73710..bbb7249809befa846200105e776933838febcec3 100644 (file)
@@ -1,3 +1,8 @@
+2013-03-27  Georg-Johann Lay  <gjl@gcc.gnu.org>
+
+       PR ld/13812
+       * scripttempl/avr.sc: Place trampolines before .progmem section.
+
 2013-03-25  Kai Tietz  <ktietz@redhat.com>
 
        * ld.texinfo (--disable-runtime-pseudo-reloc): Adjust default.
index 10ac27f71ba61bfa8f889040d4e2895ecde4d76c..bdbec6ecc9c7c6288d66e37c43322d8e50314071 100644 (file)
@@ -82,15 +82,18 @@ SECTIONS
 
     /* For data that needs to reside in the lower 64k of progmem.  */
     *(.progmem.gcc*)
-    *(.progmem*)
-    ${RELOCATING+. = ALIGN(2);}
 
+    /* PR 13812: Placing the trampolines here gives a better chance
+       that they will be in range of the code that uses them.  */
+    ${RELOCATING+. = ALIGN(2);}
     ${CONSTRUCTING+ __trampolines_start = . ; }
     /* The jump trampolines for the 16-bit limited relocs will reside here.  */
     *(.trampolines)
     *(.trampolines*)
     ${CONSTRUCTING+ __trampolines_end = . ; }
 
+    *(.progmem*)
+    
     /* For future tablejump instruction arrays for 3 byte pc devices.
        We don't relax jump/call instructions within these sections.  */
     *(.jumptables)