summaryrefslogtreecommitdiffstats
path: root/arch/sh/cpu/u-boot.lds
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.m@jp.panasonic.com>2014-06-20 16:40:14 +0900
committerNobuhiro Iwamatsu <iwamatsu@nigauri.org>2014-07-24 12:02:23 +0900
commitafc3929fac2ab5c2c3396ceed1bd7585c3b33cc2 (patch)
treefbd7131bc54493e374545e1e81d333d60412dc9e /arch/sh/cpu/u-boot.lds
parentfbe79a17fddb7f0b11aa15b9c93e9a4a26165ed8 (diff)
downloadtalos-obmc-uboot-afc3929fac2ab5c2c3396ceed1bd7585c3b33cc2.tar.gz
talos-obmc-uboot-afc3929fac2ab5c2c3396ceed1bd7585c3b33cc2.zip
sh: unify sh2/sh3/sh4 linker scripts
The linker scripts of sh2/sh3/sh4 are almost the same. The difference among them is essentially only one line. They can be consolidated into a single file, arch/sh/cpu/u-boot.lds by re-writing the diffrent line as follows: KEEP(*/start.o (.text)) Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Diffstat (limited to 'arch/sh/cpu/u-boot.lds')
-rw-r--r--arch/sh/cpu/u-boot.lds83
1 files changed, 83 insertions, 0 deletions
diff --git a/arch/sh/cpu/u-boot.lds b/arch/sh/cpu/u-boot.lds
new file mode 100644
index 0000000000..30c7a9d3f8
--- /dev/null
+++ b/arch/sh/cpu/u-boot.lds
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2007
+ * Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+ *
+ * Copyright (C) 2008-2009
+ * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
+ *
+ * Copyright (C) 2008
+ * Mark Jonas <mark.jonas@de.bosch.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
+OUTPUT_ARCH(sh)
+ENTRY(_start)
+
+SECTIONS
+{
+ /*
+ * entry and reloct_dst will be provided via ldflags
+ */
+ . = .;
+
+ PROVIDE (_ftext = .);
+ PROVIDE (_fcode = .);
+ PROVIDE (_start = .);
+
+ .text :
+ {
+ KEEP(*/start.o (.text))
+ . = ALIGN(8192);
+ common/env_embedded.o (.ppcenv)
+ . = ALIGN(8192);
+ common/env_embedded.o (.ppcenvr)
+ . = ALIGN(8192);
+ *(.text)
+ . = ALIGN(4);
+ } =0xFF
+ PROVIDE (_ecode = .);
+ .rodata :
+ {
+ *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
+ . = ALIGN(4);
+ }
+ PROVIDE (_etext = .);
+
+
+ PROVIDE (_fdata = .);
+ .data :
+ {
+ *(.data)
+ . = ALIGN(4);
+ }
+ PROVIDE (_edata = .);
+
+ PROVIDE (_fgot = .);
+ .got :
+ {
+ *(.got)
+ . = ALIGN(4);
+ }
+ PROVIDE (_egot = .);
+
+
+ .u_boot_list : {
+ KEEP(*(SORT(.u_boot_list*)));
+ }
+
+ PROVIDE (reloc_dst_end = .);
+ /* _reloc_dst_end = .; */
+
+ PROVIDE (bss_start = .);
+ PROVIDE (__bss_start = .);
+ .bss :
+ {
+ *(.bss)
+ . = ALIGN(4);
+ }
+ PROVIDE (bss_end = .);
+
+ PROVIDE (__bss_end = .);
+}
OpenPOWER on IntegriCloud