PR ld/15839
authorNick Clifton <nickc@redhat.com>
Fri, 23 Aug 2013 07:37:31 +0000 (07:37 +0000)
committerNick Clifton <nickc@redhat.com>
Fri, 23 Aug 2013 07:37:31 +0000 (07:37 +0000)
* scripttempl/avr.sc: Do not include gc'able sections into general
sections during relocatable links.

ld/ChangeLog
ld/scripttempl/avr.sc

index 2c93588..f9cc7e6 100644 (file)
@@ -1,3 +1,9 @@
+2013-08-23  Nick Clifton  <nickc@redhat.com>
+
+       PR ld/15839
+       * scripttempl/avr.sc: Do not include gc'able sections into general
+       sections during relocatable links.
+
 2013-08-22  Christian Franke  <franke@computer.org>
 
        * emultempl/pe.em: Add --disable-large-address-aware option.
index 2ecbd2c..77200d0 100644 (file)
@@ -81,7 +81,7 @@ SECTIONS
     KEEP(*(.vectors))
 
     /* For data that needs to reside in the lower 64k of progmem.  */
-    *(.progmem.gcc*)
+    ${RELOCATING+. *(.progmem.gcc*)}
 
     /* PR 13812: Placing the trampolines here gives a better chance
        that they will be in range of the code that uses them.  */
@@ -89,21 +89,21 @@ SECTIONS
     ${CONSTRUCTING+ __trampolines_start = . ; }
     /* The jump trampolines for the 16-bit limited relocs will reside here.  */
     *(.trampolines)
-    *(.trampolines*)
+    ${RELOCATING+. *(.trampolines*)}
     ${CONSTRUCTING+ __trampolines_end = . ; }
 
-    *(.progmem*)
+    ${RELOCATING+. *(.progmem*)}
     
     ${RELOCATING+. = ALIGN(2);}
 
     /* For future tablejump instruction arrays for 3 byte pc devices.
        We don't relax jump/call instructions within these sections.  */
     *(.jumptables) 
-    *(.jumptables*) 
+    ${RELOCATING+. *(.jumptables*)}
 
     /* For code that needs to reside in the lower 128k progmem.  */
     *(.lowtext)
-    *(.lowtext*)
+    ${RELOCATING+. *(.lowtext*)}
 
     ${CONSTRUCTING+ __ctors_start = . ; }
     ${CONSTRUCTING+ *(.ctors) }
@@ -138,7 +138,7 @@ SECTIONS
     KEEP (*(.init9))
     *(.text)
     ${RELOCATING+. = ALIGN(2);}
-    *(.text.*)
+    ${RELOCATING+ *(.text.*)}
     ${RELOCATING+. = ALIGN(2);}
     *(.fini9)  /* _exit() starts here.  */
     KEEP (*(.fini9))
@@ -170,9 +170,9 @@ SECTIONS
        addresses for subsequent sections because -Tdata= from the command
        line will have no effect, see PR13697.  Thus, keep .data  */
     KEEP (*(.data))    
-    *(.data*)
+    ${RELOCATING+*(.data*)}
     *(.rodata)  /* We need to include .rodata here if gcc is used */
-    *(.rodata*) /* with -fdata-sections.  */
+    ${RELOCATING+ *(.rodata*)} /* with -fdata-sections.  */
     *(.gnu.linkonce.d*)
     ${RELOCATING+. = ALIGN(2);}
     ${RELOCATING+ _edata = . ; }
@@ -183,7 +183,7 @@ SECTIONS
   {
     ${RELOCATING+ PROVIDE (__bss_start = .) ; }
     *(.bss)
-    *(.bss*)
+    ${RELOCATING+ *(.bss*)}
     *(COMMON)
     ${RELOCATING+ PROVIDE (__bss_end = .) ; }
   } ${RELOCATING+ > data}