aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/arch/sh/cpu/u-boot.lds
diff options
context:
space:
mode:
Diffstat (limited to 'roms/u-boot/arch/sh/cpu/u-boot.lds')
-rw-r--r--roms/u-boot/arch/sh/cpu/u-boot.lds90
1 files changed, 90 insertions, 0 deletions
diff --git a/roms/u-boot/arch/sh/cpu/u-boot.lds b/roms/u-boot/arch/sh/cpu/u-boot.lds
new file mode 100644
index 000000000..4cc97737f
--- /dev/null
+++ b/roms/u-boot/arch/sh/cpu/u-boot.lds
@@ -0,0 +1,90 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2016 Vladimir Zapolskiy <vz@mleia.com>
+ * Copyright (C) 2008-2009 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
+ * Copyright (C) 2008 Mark Jonas <mark.jonas@de.bosch.com>
+ * Copyright (C) 2007 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+ */
+
+#include "config.h"
+
+#ifdef CONFIG_SYS_BIG_ENDIAN
+OUTPUT_FORMAT("elf32-shbig-linux", "elf32-shbig-linux", "elf32-sh-linux")
+#else
+OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
+#endif
+
+OUTPUT_ARCH(sh)
+
+MEMORY
+{
+ ram : ORIGIN = CONFIG_SYS_SDRAM_BASE, LENGTH = CONFIG_SYS_SDRAM_SIZE
+}
+
+ENTRY(_start)
+
+SECTIONS
+{
+ . = CONFIG_SYS_TEXT_BASE;
+ reloc_dst = .;
+
+ PROVIDE (_ftext = .);
+ PROVIDE (_fcode = .);
+ PROVIDE (_start = .);
+
+ .text :
+ {
+ KEEP(*/start.o (.text))
+ KEEP(CONFIG_BOARDDIR/lowlevel_init.o (.text .spiboot1.text))
+ KEEP(*(.spiboot2.text))
+ . = ALIGN(8192);
+#ifdef CONFIG_ENV_IS_IN_FLASH
+ env/embedded.o (.doesnotexist)
+ . = ALIGN(8192);
+#endif
+ *(.text)
+ . = ALIGN(4);
+ } >ram =0xFF
+ PROVIDE (_ecode = .);
+ .rodata :
+ {
+ *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
+ . = ALIGN(4);
+ } >ram
+ PROVIDE (_etext = .);
+
+
+ PROVIDE (_fdata = .);
+ .data :
+ {
+ *(.data)
+ . = ALIGN(4);
+ } >ram
+ PROVIDE (_edata = .);
+
+ PROVIDE (_fgot = .);
+ .got :
+ {
+ *(.got.plt) *(.got)
+ . = ALIGN(4);
+ } >ram
+ PROVIDE (_egot = .);
+
+ .u_boot_list : {
+ KEEP(*(SORT(.u_boot_list*)));
+ } >ram
+
+ PROVIDE (__init_end = .);
+ PROVIDE (reloc_dst_end = .);
+ PROVIDE (_end = .);
+
+ PROVIDE (bss_start = .);
+ PROVIDE (__bss_start = .);
+ .bss :
+ {
+ *(.bss)
+ . = ALIGN(4);
+ } >ram
+ PROVIDE (bss_end = .);
+ PROVIDE (__bss_end = .);
+}