The existing u-boot-spl-fel.lds linker script is rather messy.
Instead of fixing it, just use u-boot-spl.lds for both normal
SPL and FEL SPL.

Signed-off-by: Siarhei Siamashka <siarhei.siamas...@gmail.com>
---
 arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds | 83 -----------------------------
 arch/arm/cpu/armv7/sunxi/u-boot-spl.lds     |  4 +-
 include/configs/sunxi-common.h              | 14 +++--
 3 files changed, 11 insertions(+), 90 deletions(-)
 delete mode 100644 arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds

diff --git a/arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds 
b/arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds
deleted file mode 100644
index beb8900..0000000
--- a/arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * (C) Copyright 2013
- * Henrik Nordstrom <hen...@henriknordstrom.net>
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start_fel)
-SECTIONS
-{
-       . = 0x00002000;
-
-       . = ALIGN(4);
-       .text :
-       {
-               arch/arm/cpu/armv7/sunxi/start_fel.o    (.text)
-               *(.text.s_init)
-               *(.text*)
-       }
-
-       . = ALIGN(4);
-       .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
-
-       . = ALIGN(4);
-       .data : {
-               *(.data*)
-       }
-
-       . = ALIGN(4);
-       .u_boot_list : {
-               KEEP(*(SORT(.u_boot_list*)));
-       }
-
-       . = ALIGN(4);
-       . = .;
-
-       . = ALIGN(4);
-       .rel.dyn : {
-               __rel_dyn_start = .;
-               *(.rel*)
-               __rel_dyn_end = .;
-       }
-
-       .dynsym : {
-               __dynsym_start = .;
-               *(.dynsym)
-       }
-
-       . = ALIGN(4);
-       .note.gnu.build-id :
-       {
-               *(.note.gnu.build-id)
-       }
-       _end = .;
-
-       . = ALIGN(4096);
-       .mmutable : {
-               *(.mmutable)
-       }
-
-       .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/ : { *(.dynstr*) }
-       /DISCARD/ : { *(.dynamic*) }
-       /DISCARD/ : { *(.plt*) }
-       /DISCARD/ : { *(.interp*) }
-       /DISCARD/ : { *(.gnu*) }
-       /DISCARD/ : { *(.note*) }
-}
diff --git a/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds 
b/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds
index 53f0cbd..7806bcf 100644
--- a/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds
+++ b/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds
@@ -21,14 +21,14 @@ MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \
 
 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
 OUTPUT_ARCH(arm)
-ENTRY(_start)
+ENTRY(CONFIG_SPL_ENTRY_POINT_FUNCTION)
 SECTIONS
 {
        .text      :
        {
                __start = .;
                *(.vectors)
-               arch/arm/cpu/armv7/start.o      (.text)
+               CONFIG_SPL_ENTRY_POINT_OBJ_FILE (.text)
                *(.text*)
        } > .sram
 
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index f570d9c..c644ad4 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -144,18 +144,21 @@
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 
+#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/armv7/sunxi/u-boot-spl.lds"
+#define CONFIG_SPL_BSS_START_ADDR      0x4ff80000
+#define CONFIG_SPL_BSS_MAX_SIZE                0x80000         /* 512 KiB */
+
 #ifdef CONFIG_SPL_FEL
 
-#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds"
+#define CONFIG_SPL_ENTRY_POINT_FUNCTION "_start_fel"
+#define CONFIG_SPL_ENTRY_POINT_OBJ_FILE "arch/arm/cpu/armv7/sunxi/start_fel.o"
+
 #define CONFIG_SPL_START_S_PATH "arch/arm/cpu/armv7/sunxi"
 #define CONFIG_SPL_TEXT_BASE           0x2000
 #define CONFIG_SPL_MAX_SIZE            0x4000          /* 16 KiB */
 
 #else /* CONFIG_SPL */
 
-#define CONFIG_SPL_BSS_START_ADDR      0x4ff80000
-#define CONFIG_SPL_BSS_MAX_SIZE                0x80000         /* 512 KiB */
-
 #define CONFIG_SPL_TEXT_BASE           0x20            /* sram start+header */
 #define CONFIG_SPL_MAX_SIZE            0x5fe0          /* 24KB on sun4i/sun7i 
*/
 
@@ -165,7 +168,8 @@
 #define CONFIG_SPL_MMC_SUPPORT
 #endif
 
-#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/armv7/sunxi/u-boot-spl.lds"
+#define CONFIG_SPL_ENTRY_POINT_FUNCTION "_start"
+#define CONFIG_SPL_ENTRY_POINT_OBJ_FILE "arch/arm/cpu/armv7/start.o"
 
 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR        80      /* 40KiB */
 #define CONFIG_SPL_PAD_TO              32768           /* decimal for 'dd' */
-- 
2.0.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to