diff --git a/arch/x86/cpu/coreboot/sdram.c b/arch/x86/cpu/coreboot/sdram.c
index a8136a06ab4e3a0a442a5b7aa82b47eb11309855..786009c746d924255db184e22b998cc50de68c8e 100644
--- a/arch/x86/cpu/coreboot/sdram.c
+++ b/arch/x86/cpu/coreboot/sdram.c
@@ -28,6 +28,7 @@
 #include <asm/u-boot-x86.h>
 #include <asm/global_data.h>
 #include <asm/processor.h>
+#include <asm/sections.h>
 #include <asm/arch/sysinfo.h>
 #include <asm/arch/tables.h>
 
diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds
index 54f2fb76f7bb2398f3587e4b9865d8d36b9012d4..69e6ea6ff201f74b560129d5b2856cbf626fb59f 100644
--- a/arch/x86/cpu/u-boot.lds
+++ b/arch/x86/cpu/u-boot.lds
@@ -53,6 +53,7 @@ SECTIONS
 
 	. = ALIGN(4);
 	__data_end = .;
+	__init_end = .;
 
 	. = ALIGN(4);
 	.dynsym : { *(.dynsym*) }
@@ -64,9 +65,6 @@ SECTIONS
 	. = ALIGN(4);
 	_end = .;
 
-	. = ALIGN(4);
-
-	__end = .;
 	.bss __rel_dyn_start (OVERLAY) : {
 		__bss_start = .;
 		*(.bss)
diff --git a/arch/x86/include/asm/u-boot-x86.h b/arch/x86/include/asm/u-boot-x86.h
index 3e380fe81d101a11445a2724aef607d2f984d90d..ae0c3883e413ab2cfaa71243143d941fe1324f24 100644
--- a/arch/x86/include/asm/u-boot-x86.h
+++ b/arch/x86/include/asm/u-boot-x86.h
@@ -24,15 +24,6 @@
 #ifndef _U_BOOT_I386_H_
 #define _U_BOOT_I386_H_	1
 
-/* Exports from the Linker Script */
-extern char __text_start[];
-extern ulong __data_end;
-extern ulong __rel_dyn_start;
-extern ulong __rel_dyn_end;
-extern char __bss_start[];
-extern ulong __bss_end;
-extern char _end[];
-
 /* cpu/.../cpu.c */
 int x86_cpu_init_r(void);
 int cpu_init_r(void);
diff --git a/arch/x86/lib/board.c b/arch/x86/lib/board.c
index 555301a24e3e8330ce511100a837f570f45b3f7a..452e5d8262b3e803b2950f07ecf8df45dae4d954 100644
--- a/arch/x86/lib/board.c
+++ b/arch/x86/lib/board.c
@@ -38,6 +38,7 @@
 #include <asm/u-boot-x86.h>
 #include <asm/relocate.h>
 #include <asm/processor.h>
+#include <asm/sections.h>
 
 #include <asm/init_helpers.h>
 #include <asm/init_wrappers.h>
diff --git a/arch/x86/lib/init_helpers.c b/arch/x86/lib/init_helpers.c
index 7df9536a4788906230a1d2f525e016d456144b74..af9dbc146a3c7beef6f4adec33828d42cb270e3a 100644
--- a/arch/x86/lib/init_helpers.c
+++ b/arch/x86/lib/init_helpers.c
@@ -32,6 +32,7 @@
 #include <spi.h>
 #include <status_led.h>
 #include <asm/processor.h>
+#include <asm/sections.h>
 #include <asm/u-boot-x86.h>
 #include <linux/compiler.h>
 
diff --git a/arch/x86/lib/relocate.c b/arch/x86/lib/relocate.c
index e893c2b214f59c9e255304488f0801290c868467..f178db9c81ccf4d7d55ec2310e5ecb1f21fbadbd 100644
--- a/arch/x86/lib/relocate.c
+++ b/arch/x86/lib/relocate.c
@@ -36,6 +36,7 @@
 #include <malloc.h>
 #include <asm/u-boot-x86.h>
 #include <asm/relocate.h>
+#include <asm/sections.h>
 #include <elf.h>
 
 int copy_uboot_to_ram(void)