]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - arch/sh/cpu/u-boot.lds
Merge git://git.denx.de/u-boot-tegra
[people/ms/u-boot.git] / arch / sh / cpu / u-boot.lds
index 30c7a9d3f8b86277377c6e1869d9799e83e7bb2b..7fc91bc4aaaa746a1e8c137a060b818109c3914b 100644 (file)
@@ -1,26 +1,27 @@
 /*
- * 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>
+ * 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>
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
 
+#include "config.h"
+
 OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
 OUTPUT_ARCH(sh)
+
+MEMORY
+{
+       ram     : ORIGIN = CONFIG_SYS_SDRAM_BASE, LENGTH = CONFIG_SYS_SDRAM_SIZE
+}
+
 ENTRY(_start)
 
 SECTIONS
 {
-       /*
-        * entry and reloct_dst will be provided via ldflags
-        */
-       . = .;
+       reloc_dst = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
@@ -29,20 +30,22 @@ SECTIONS
        .text :
        {
                KEEP(*/start.o          (.text))
+               KEEP(CONFIG_BOARDDIR/lowlevel_init.o    (.text .spiboot1.text))
+               KEEP(*(.spiboot2.text))
                . = ALIGN(8192);
-               common/env_embedded.o   (.ppcenv)
+               env/embedded.o  (.ppcenv)
                . = ALIGN(8192);
-               common/env_embedded.o   (.ppcenvr)
+               env/embedded.o  (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
-       } =0xFF
+       } >ram =0xFF
        PROVIDE (_ecode = .);
        .rodata :
        {
                *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
                . = ALIGN(4);
-       }
+       } >ram
        PROVIDE (_etext = .);
 
 
@@ -51,24 +54,23 @@ SECTIONS
        {
                *(.data)
                . = ALIGN(4);
-       }
+       } >ram
        PROVIDE (_edata = .);
 
        PROVIDE (_fgot = .);
        .got :
        {
-               *(.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 = .);
-       /* _reloc_dst_end = .; */
 
        PROVIDE (bss_start = .);
        PROVIDE (__bss_start = .);
@@ -76,8 +78,7 @@ SECTIONS
        {
                *(.bss)
                . = ALIGN(4);
-       }
+       } >ram
        PROVIDE (bss_end = .);
-
        PROVIDE (__bss_end = .);
 }