]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/karo/tx48/u-boot.lds
Update from 2013.01 to 2013.07
[karo-tx-uboot.git] / board / karo / tx48 / u-boot.lds
index ba7f4eb5d883bac6b8b58f5de9f2eb0b7e8a9df3..493cc559a852063272e45edbb65e9f9e1bff3e69 100644 (file)
@@ -31,7 +31,7 @@ SECTIONS
        . = 0x00000000;
        .text :
        {
-               __image_copy_start = .;
+               *(.__image_copy_start)
                CPUDIR/start.o (.text*)
                *(.text*)
        }
@@ -50,44 +50,56 @@ SECTIONS
 
        . = ALIGN(4);
        .u_boot_list : {
-       #include <u-boot.lst>
+               KEEP(*(SORT(.u_boot_list*)));
        }
 
        . = ALIGN(4);
+       .image_copy_end :
+       {
+               *(.__image_copy_end)
+       }
 
-       __image_copy_end = .;
+       .rel_dyn_start :
+       {
+               *(.__rel_dyn_start)
+       }
 
-       .rel.dyn : {
-               __rel_dyn_start = .;
+       .rel.dyn :
+       {
                *(.rel*)
-               __rel_dyn_end = .;
        }
 
-       .dynsym : {
-               __dynsym_start = .;
-               *(.dynsym)
+       .rel_dyn_end :
+       {
+               *(.__rel_dyn_end)
        }
 
        _end = .;
 
-       /*
-        * Deprecated: this MMU section is used by pxa at present but
-        * should not be used by new boards/CPUs.
-        */
-       . = ALIGN(4096);
-       .mmutable : {
-               *(.mmutable)
-       }
+/*
+ * 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 __rel_dyn_start (OVERLAY) : {
-               __bss_start = .;
-               *(.bss)
-                . = ALIGN(4);
-               __bss_end__ = .;
+       .bss_start __rel_dyn_start (OVERLAY) : {
+               KEEP(*(.__bss_start));
+               __bss_base = .;
        }
 
+       .bss __bss_base (OVERLAY) : {
+               *(.bss*)
+               . = ALIGN(4);
+               __bss_limit = .;
+       }
+       .bss_end __bss_limit (OVERLAY) : {
+               KEEP(*(.__bss_end));
+       }
+       /DISCARD/ : { *(.bss*) }
        /DISCARD/ : { *(.dynstr*) }
+       /DISCARD/ : { *(.dynsym*) }
        /DISCARD/ : { *(.dynamic*) }
+       /DISCARD/ : { *(.hash*) }
        /DISCARD/ : { *(.plt*) }
        /DISCARD/ : { *(.interp*) }
        /DISCARD/ : { *(.gnu*) }