]> git.sur5r.net Git - u-boot/blobdiff - arch/x86/cpu/u-boot.lds
Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'
[u-boot] / arch / x86 / cpu / u-boot.lds
index 4bb2a2f5a19016e4a8b1ed10ab06b2c60a731dbb..2d6911aa4196b58278eedbab54b833ba3e38d976 100644 (file)
@@ -33,14 +33,10 @@ SECTIONS
        .text  : { *(.text*); }
 
        . = ALIGN(4);
-       __u_boot_cmd_start = .;
-       .u_boot_cmd : { *(.u_boot_cmd) }
-       . = ALIGN(4);
-       __u_boot_cmd_end = .;
 
        . = ALIGN(4);
        .u_boot_list : {
-       #include <u-boot.lst>
+               KEEP(*(SORT(.u_boot_list*)));
        }
 
        . = ALIGN(4);
@@ -49,9 +45,6 @@ SECTIONS
        . = ALIGN(4);
        .data : { *(.data*) }
 
-       . = ALIGN(4);
-       .dynsym : { *(.dynsym*) }
-
        . = ALIGN(4);
        .hash : { *(.hash*) }
 
@@ -60,17 +53,25 @@ SECTIONS
 
        . = ALIGN(4);
        __data_end = .;
+       __init_end = .;
 
        . = ALIGN(4);
-       __bss_start = ABSOLUTE(.);
-       .bss (NOLOAD) : { *(.bss) }
-       . = ALIGN(4);
-       __bss_end = ABSOLUTE(.);
+       .dynsym : { *(.dynsym*) }
 
        . = ALIGN(4);
        __rel_dyn_start = .;
        .rel.dyn : { *(.rel.dyn) }
        __rel_dyn_end = .;
+       . = ALIGN(4);
+       _end = .;
+
+       .bss __rel_dyn_start (OVERLAY) : {
+               __bss_start = .;
+               *(.bss)
+               *(COM*)
+               . = ALIGN(4);
+               __bss_end = .;
+       }
 
        /DISCARD/ : { *(.dynstr*) }
        /DISCARD/ : { *(.dynamic*) }
@@ -90,6 +91,8 @@ SECTIONS
        __bios_start = LOADADDR(.bios);
        __bios_size = SIZEOF(.bios);
 
+#ifdef CONFIG_X86_RESET_VECTOR
+
        /*
         * The following expressions place the 16-bit Real-Mode code and
         * Reset Vector at the end of the Flash ROM
@@ -99,4 +102,5 @@ SECTIONS
 
        . = RESET_VEC_LOC;
        .resetvec : AT (CONFIG_SYS_TEXT_BASE + (CONFIG_SYS_MONITOR_LEN - RESET_SEG_SIZE + RESET_VEC_LOC)) { KEEP(*(.resetvec)); }
+#endif
 }