]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/cpu/u-boot.lds
ARM: Fix __bss_start and __bss_end in linker scripts
[u-boot] / arch / arm / cpu / u-boot.lds
index 3a1083d9a9b65c9bd00dad2bbaabf2a7a450aae6..d5e42d3ac942a316590a56d97b3c1cddb2880f21 100644 (file)
@@ -81,18 +81,24 @@ SECTIONS
                *(.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_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/ : { *(.dynstr*) }