]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/freescale/mx31ads/u-boot.lds
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'
[karo-tx-uboot.git] / board / freescale / mx31ads / u-boot.lds
index 264c4e80adfc16b6dc6f4a0225e705f0ff824617..963d29f2dc839cb746dc60c39edb779854684e38 100644 (file)
@@ -34,26 +34,27 @@ SECTIONS
        . = ALIGN(4);
        .text      :
        {
+               *(.__image_copy_start)
          /* WARNING - the following is hand-optimized to fit within    */
          /* the sector layout of our flash chips!      XXX FIXME XXX   */
 
-         arch/arm/cpu/arm1136/start.o                  (.text)
-         board/freescale/mx31ads/libmx31ads.o  (.text)
-         arch/arm/lib/libarm.o                 (.text)
-         net/libnet.o                          (.text)
-         drivers/mtd/libmtd.o                  (.text)
+         arch/arm/cpu/arm1136/start.o                  (.text*)
+         board/freescale/mx31ads/libmx31ads.o  (.text*)
+         arch/arm/lib/libarm.o                 (.text*)
+         net/libnet.o                          (.text*)
+         drivers/mtd/libmtd.o                  (.text*)
 
          . = DEFINED(env_offset) ? env_offset : .;
-         common/env_embedded.o(.text)
+         common/env_embedded.o(.text*)
 
-         *(.text)
+         *(.text*)
        }
        . = ALIGN(4);
-       .rodata : { *(.rodata) }
+       .rodata : { *(.rodata*) }
 
        . = ALIGN(4);
        .data : {
-               *(.data)
+               *(.data*)
        }
 
        . = ALIGN(4);
@@ -65,35 +66,48 @@ SECTIONS
 
        . = ALIGN(4);
 
-       __image_copy_end = .;
+       .image_copy_end :
+       {
+               *(.__image_copy_end)
+       }
+
+       .rel_dyn_start :
+       {
+               *(.__rel_dyn_start)
+       }
 
        .rel.dyn : {
-               __rel_dyn_start = .;
                *(.rel*)
-               __rel_dyn_end = .;
        }
 
-       .dynsym : {
-               __dynsym_start = .;
-               *(.dynsym)
+       .rel_dyn_end :
+       {
+               *(.__rel_dyn_end)
        }
 
        _end = .;
 
+/*
+ * Compiler-generated __bss_start and __bss_end, see arch/arm/lib/bss.c
+ * __bss_base and __bss_limit are for linker only (overlay ordering)
+ */
+
        .bss_start __rel_dyn_start (OVERLAY) : {
                KEEP(*(.__bss_start));
+               __bss_base = .;
        }
 
-       .bss __bss_start (OVERLAY) : {
+       .bss __bss_base (OVERLAY) : {
                *(.bss*)
                 . = ALIGN(4);
-                __bss_end = .;
+                __bss_limit = .;
        }
-       .bss_end __bss_end (OVERLAY) : {
-               KEEP(*(__bss_end));
+       .bss_end __bss_limit (OVERLAY) : {
+               KEEP(*(.__bss_end));
        }
 
        /DISCARD/ : { *(.bss*) }
+       /DISCARD/ : { *(.dynsym) }
        /DISCARD/ : { *(.dynstr*) }
        /DISCARD/ : { *(.dynsym*) }
        /DISCARD/ : { *(.dynamic*) }