]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/actux3/u-boot.lds
ARM: Fix __bss_start and __bss_end in linker scripts
[karo-tx-uboot.git] / board / actux3 / u-boot.lds
index 35aab29d40713c1c8ba468c571b890ce2b3da21f..44b990ee7ff5cb548aba07923e08e1a3ef6e77b4 100644 (file)
@@ -34,7 +34,7 @@ SECTIONS
                net/libnet.o(.text*)
                board/actux3/libactux3.o(.text*)
                arch/arm/cpu/ixp/libixp.o(.text*)
-               drivers/serial/libserial.o(.text*)
+               drivers/input/libinput.o(.text*)
 
                . = env_offset;
                common/env_embedded.o(.ppcenv)
@@ -54,13 +54,16 @@ SECTIONS
                *(.got)
        }
        . =.;
-       __u_boot_cmd_start =.;
-       .u_boot_cmd : {
-               *(.u_boot_cmd)
+
+       . = ALIGN(4);
+       .u_boot_list : {
+               KEEP(*(SORT(.u_boot_list*)));
        }
-       __u_boot_cmd_end =.;
 
        . = ALIGN (4);
+
+       __image_copy_end = .;
+
        .rel.dyn : {
                __rel_dyn_start = .;
                *(.rel*)
@@ -72,13 +75,27 @@ SECTIONS
                *(.dynsym)
        }
 
-       .bss __rel_dyn_start (OVERLAY) : {
-               __bss_start = .;
+       _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_base (OVERLAY) : {
                *(.bss*)
                 . = ALIGN(4);
-               _end = .;
+               __bss_limit = .;
+       }
+       .bss_end __bss_limit (OVERLAY) : {
+               KEEP(*(.__bss_end));
        }
-       __bss_end__ =.;
+
        /DISCARD/ : { *(.dynstr*) }
        /DISCARD/ : { *(.dynamic*) }
        /DISCARD/ : { *(.plt*) }