currently we need to sync the linker script enty and TEXT_BASE manualy
and the reloc_dst is based on it

instead provide it now from the ldflags

tested on r2dplus

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagn...@jcrosoft.com>
Cc: Nobuhiro Iwamatsu <iwamatsu.nobuh...@renesas.com>
---
 Makefile                             |    5 --
 board/mpr2/u-boot.lds                |   13 +----
 board/ms7720se/u-boot.lds            |   15 +----
 board/ms7722se/u-boot.lds            |   15 +----
 board/ms7750se/u-boot.lds            |   15 +----
 board/renesas/MigoR/u-boot.lds       |   15 +----
 board/renesas/ap325rxa/u-boot.lds    |   15 +----
 board/renesas/r2dplus/u-boot.lds     |   15 +----
 board/renesas/r7780mp/u-boot.lds     |   15 +----
 board/renesas/rsk7203/u-boot.lds     |   10 +---
 board/renesas/sh7763rdp/u-boot.lds   |   15 +----
 board/renesas/sh7785lcr/u-boot.lds   |    7 ++-
 board/renesas/sh7785lcr/u-boot_29bit |   96 ----------------------------------
 board/renesas/sh7785lcr/u-boot_32bit |   96 ----------------------------------
 sh_config.mk                         |    1 +
 15 files changed, 34 insertions(+), 314 deletions(-)
 delete mode 100644 board/renesas/sh7785lcr/u-boot_29bit
 delete mode 100644 board/renesas/sh7785lcr/u-boot_32bit

diff --git a/Makefile b/Makefile
index cd4df2e..5d9d2ea 100644
--- a/Makefile
+++ b/Makefile
@@ -3469,14 +3469,9 @@ sh7785lcr_config  :   unconfig
        @echo "#define CONFIG_SH7785LCR 1" > $(obj)include/config.h
        @if [ "$(findstring 32bit, $@)" ] ; then \
                echo "#define CONFIG_SH_32BIT 1" >> $(obj)include/config.h ; \
-               cp $(obj)board/renesas/sh7785lcr/u-boot_32bit \
-                       $(obj)board/renesas/sh7785lcr/u-boot.lds ; \
                echo "TEXT_BASE = 0x8ff80000" > \
                        $(obj)board/renesas/sh7785lcr/config.tmp ; \
                  $(XECHO) " ... enable 32-Bit Address Extended Mode" ; \
-       else \
-               cp $(obj)board/renesas/sh7785lcr/u-boot_29bit \
-                       $(obj)board/renesas/sh7785lcr/u-boot.lds ; \
        fi
        @$(MKCONFIG) -a $(call xtract_sh7785lcr,$@) sh sh4 sh7785lcr renesas
 
diff --git a/board/mpr2/u-boot.lds b/board/mpr2/u-boot.lds
index deae344..1e55b83 100644
--- a/board/mpr2/u-boot.lds
+++ b/board/mpr2/u-boot.lds
@@ -34,16 +34,9 @@ ENTRY(_start)
 SECTIONS
 {
        /*
-          Base address of internal SDRAM is 0x8C000000.
-          U-Boot resides in the last 256 kB of the 64 MB.
-
-          NOTE: This address must match with the definition of
-          TEXT_BASE in config.mk (in this directory).
-
-       */
-       . = 0x8C000000 + (64*1024*1024) - (256*1024);
-
-       PROVIDE (reloc_dst = .);
+        * entry and reloct_dst will be provided via ldflags
+        */
+       . = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
diff --git a/board/ms7720se/u-boot.lds b/board/ms7720se/u-boot.lds
index 1f9b792..b006dc8 100644
--- a/board/ms7720se/u-boot.lds
+++ b/board/ms7720se/u-boot.lds
@@ -31,18 +31,9 @@ ENTRY(_start)
 SECTIONS
 {
        /*
-          Base address of internal SDRAM is 0x0C000000.
-          Although size of SDRAM can be either 16 or 32 MBytes,
-          we assume 16 MBytes (ie ignore upper half if the full
-          32 MBytes is present).
-
-          NOTE: This address must match with the definition of
-          TEXT_BASE in config.mk (in this directory).
-
-       */
-       . = 0x8C000000 + (64*1024*1024) - (256*1024);
-
-       PROVIDE (reloc_dst = .);
+        * entry and reloct_dst will be provided via ldflags
+        */
+       . = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
diff --git a/board/ms7722se/u-boot.lds b/board/ms7722se/u-boot.lds
index 7b0fb67..2ae4f20 100644
--- a/board/ms7722se/u-boot.lds
+++ b/board/ms7722se/u-boot.lds
@@ -28,18 +28,9 @@ ENTRY(_start)
 SECTIONS
 {
        /*
-          Base address of internal SDRAM is 0x0C000000.
-          Although size of SDRAM can be either 16 or 32 MBytes,
-          we assume 16 MBytes (ie ignore upper half if the full
-          32 MBytes is present).
-
-          NOTE: This address must match with the definition of
-          TEXT_BASE in config.mk (in this directory).
-
-       */
-       . = 0x8C000000 + (64*1024*1024) - (256*1024);
-
-       PROVIDE (reloc_dst = .);
+        * entry and reloct_dst will be provided via ldflags
+        */
+       . = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
diff --git a/board/ms7750se/u-boot.lds b/board/ms7750se/u-boot.lds
index 7b0fb67..2ae4f20 100644
--- a/board/ms7750se/u-boot.lds
+++ b/board/ms7750se/u-boot.lds
@@ -28,18 +28,9 @@ ENTRY(_start)
 SECTIONS
 {
        /*
-          Base address of internal SDRAM is 0x0C000000.
-          Although size of SDRAM can be either 16 or 32 MBytes,
-          we assume 16 MBytes (ie ignore upper half if the full
-          32 MBytes is present).
-
-          NOTE: This address must match with the definition of
-          TEXT_BASE in config.mk (in this directory).
-
-       */
-       . = 0x8C000000 + (64*1024*1024) - (256*1024);
-
-       PROVIDE (reloc_dst = .);
+        * entry and reloct_dst will be provided via ldflags
+        */
+       . = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
diff --git a/board/renesas/MigoR/u-boot.lds b/board/renesas/MigoR/u-boot.lds
index c004b83..cd40d07 100644
--- a/board/renesas/MigoR/u-boot.lds
+++ b/board/renesas/MigoR/u-boot.lds
@@ -28,18 +28,9 @@ ENTRY(_start)
 SECTIONS
 {
        /*
-          Base address of internal SDRAM is 0x0C000000.
-          Although size of SDRAM can be either 16 or 32 MBytes,
-          we assume 16 MBytes (ie ignore upper half if the full
-          32 MBytes is present).
-
-          NOTE: This address must match with the definition of
-          TEXT_BASE in config.mk (in this directory).
-
-       */
-       . = 0x8C000000 + (64*1024*1024) - (256*1024);
-
-       PROVIDE (reloc_dst = .);
+        * entry and reloct_dst will be provided via ldflags
+        */
+       . = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
diff --git a/board/renesas/ap325rxa/u-boot.lds 
b/board/renesas/ap325rxa/u-boot.lds
index 94bacca..cd40d07 100644
--- a/board/renesas/ap325rxa/u-boot.lds
+++ b/board/renesas/ap325rxa/u-boot.lds
@@ -28,18 +28,9 @@ ENTRY(_start)
 SECTIONS
 {
        /*
-          Base address of internal SDRAM is 0x88000000.
-          Although size of SDRAM can be either 16 or 32 MBytes,
-          we assume 16 MBytes (ie ignore upper half if the full
-          32 MBytes is present).
-
-          NOTE: This address must match with the definition of
-          TEXT_BASE in config.mk (in this directory).
-
-       */
-       . = 0x88000000 + (128*1024*1024) - (256*1024);
-
-       PROVIDE (reloc_dst = .);
+        * entry and reloct_dst will be provided via ldflags
+        */
+       . = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
diff --git a/board/renesas/r2dplus/u-boot.lds b/board/renesas/r2dplus/u-boot.lds
index e1c15b0..86ef505 100644
--- a/board/renesas/r2dplus/u-boot.lds
+++ b/board/renesas/r2dplus/u-boot.lds
@@ -28,18 +28,9 @@ ENTRY(_start)
 SECTIONS
 {
        /*
-          Base address of internal SDRAM is 0x0C000000.
-          Although size of SDRAM can be either 16 or 32 MBytes,
-          we assume 16 MBytes (ie ignore upper half if the full
-          32 MBytes is present).
-
-          NOTE: This address must match with the definition of
-          TEXT_BASE in config.mk (in this directory).
-
-       */
-       . = 0x0C000000 + (64*1024*1024) - (256*1024);
-
-       PROVIDE (reloc_dst = .);
+        * entry and reloct_dst will be provided via ldflags
+        */
+       . = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
diff --git a/board/renesas/r7780mp/u-boot.lds b/board/renesas/r7780mp/u-boot.lds
index f32d0b8..86ef505 100644
--- a/board/renesas/r7780mp/u-boot.lds
+++ b/board/renesas/r7780mp/u-boot.lds
@@ -28,18 +28,9 @@ ENTRY(_start)
 SECTIONS
 {
        /*
-          Base address of internal SDRAM is 0x0C000000.
-          Although size of SDRAM can be either 16 or 32 MBytes,
-          we assume 16 MBytes (ie ignore upper half if the full
-          32 MBytes is present).
-
-          NOTE: This address must match with the definition of
-          TEXT_BASE in config.mk (in this directory).
-
-       */
-       . = 0x08000000 + (128*1024*1024) - (256*1024);
-
-       PROVIDE (reloc_dst = .);
+        * entry and reloct_dst will be provided via ldflags
+        */
+       . = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
diff --git a/board/renesas/rsk7203/u-boot.lds b/board/renesas/rsk7203/u-boot.lds
index bd4a550..6db5a00 100644
--- a/board/renesas/rsk7203/u-boot.lds
+++ b/board/renesas/rsk7203/u-boot.lds
@@ -28,15 +28,9 @@ ENTRY(_start)
 SECTIONS
 {
        /*
-        * Base address of internal SDRAM is 0x0C000000.
-        *
-        * NOTE: This address must match with the definition of
-        *TEXT_BASE in config.mk (in this directory).
+        * entry and reloct_dst will be provided via ldflags
         */
-
-       . = 0x0C000000 + (8*1024*1024) - (256*1024);
-
-       PROVIDE (reloc_dst = .);
+       . = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
diff --git a/board/renesas/sh7763rdp/u-boot.lds 
b/board/renesas/sh7763rdp/u-boot.lds
index b1a967d..86ef505 100644
--- a/board/renesas/sh7763rdp/u-boot.lds
+++ b/board/renesas/sh7763rdp/u-boot.lds
@@ -28,18 +28,9 @@ ENTRY(_start)
 SECTIONS
 {
        /*
-          Base address of internal SDRAM is 0x0C000000.
-          Although size of SDRAM can be either 16 or 32 MBytes,
-          we assume 16 MBytes (ie ignore upper half if the full
-          32 MBytes is present).
-
-          NOTE: This address must match with the definition of
-          TEXT_BASE in config.mk (in this directory).
-
-       */
-       . = 0x8C000000 + (64*1024*1024) - (256*1024);
-
-       PROVIDE (reloc_dst = .);
+        * entry and reloct_dst will be provided via ldflags
+        */
+       . = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
diff --git a/board/renesas/sh7785lcr/u-boot.lds 
b/board/renesas/sh7785lcr/u-boot.lds
index 255ab37..48f4ba2 100644
--- a/board/renesas/sh7785lcr/u-boot.lds
+++ b/board/renesas/sh7785lcr/u-boot.lds
@@ -28,9 +28,10 @@ ENTRY(_start)
 
 SECTIONS
 {
-       . = 0x88000000 + (128 * 1024 * 1024) - (512 * 1024);
-
-       PROVIDE (reloc_dst = .);
+       /*
+        * entry and reloct_dst will be provided via ldflags
+        */
+       . = .;
 
        PROVIDE (_ftext = .);
        PROVIDE (_fcode = .);
diff --git a/board/renesas/sh7785lcr/u-boot_29bit 
b/board/renesas/sh7785lcr/u-boot_29bit
deleted file mode 100644
index 231769f..0000000
--- a/board/renesas/sh7785lcr/u-boot_29bit
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyrigth (c) 2007
- * Nobuhiro Iwamatsu <iwama...@nigauri.org>
- * Copyrigth (c) 2008 Yoshihiro Shimoda <shimoda.yoshih...@renesas.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
-OUTPUT_ARCH(sh)
-ENTRY(_start)
-
-SECTIONS
-{
-       . = 0x08000000 + (128 * 1024 * 1024) - (512 * 1024);
-
-       PROVIDE (reloc_dst = .);
-
-       PROVIDE (_ftext = .);
-       PROVIDE (_fcode = .);
-       PROVIDE (_start = .);
-
-       .text :
-       {
-               cpu/sh4/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 :
-       {
-               *(.rodata)
-               . = ALIGN(4);
-       }
-       PROVIDE (_etext = .);
-
-
-       PROVIDE (_fdata = .);
-       .data :
-       {
-               *(.data)
-               . = ALIGN(4);
-       }
-       PROVIDE (_edata = .);
-
-       PROVIDE (_fgot = .);
-       .got :
-       {
-               *(.got)
-               . = ALIGN(4);
-       }
-       PROVIDE (_egot = .);
-
-       PROVIDE (__u_boot_cmd_start = .);
-       .u_boot_cmd :
-       {
-               *(.u_boot_cmd)
-               . = ALIGN(4);
-       }
-       PROVIDE (__u_boot_cmd_end = .);
-
-       PROVIDE (reloc_dst_end = .);
-       /* _reloc_dst_end = .; */
-
-       PROVIDE (bss_start = .);
-       PROVIDE (__bss_start = .);
-       .bss :
-       {
-               *(.bss)
-               . = ALIGN(4);
-       }
-       PROVIDE (bss_end = .);
-
-       PROVIDE (_end = .);
-}
diff --git a/board/renesas/sh7785lcr/u-boot_32bit 
b/board/renesas/sh7785lcr/u-boot_32bit
deleted file mode 100644
index 446fb93..0000000
--- a/board/renesas/sh7785lcr/u-boot_32bit
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyrigth (c) 2007
- * Nobuhiro Iwamatsu <iwama...@nigauri.org>
- * Copyrigth (c) 2008-2009 Yoshihiro Shimoda <shimoda.yoshih...@renesas.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
-OUTPUT_ARCH(sh)
-ENTRY(_start)
-
-SECTIONS
-{
-       . = 0x88000000 + (128 * 1024 * 1024) - (512 * 1024);
-
-       PROVIDE (reloc_dst = .);
-
-       PROVIDE (_ftext = .);
-       PROVIDE (_fcode = .);
-       PROVIDE (_start = .);
-
-       .text :
-       {
-               cpu/sh4/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 :
-       {
-               *(.rodata)
-               . = ALIGN(4);
-       }
-       PROVIDE (_etext = .);
-
-
-       PROVIDE (_fdata = .);
-       .data :
-       {
-               *(.data)
-               . = ALIGN(4);
-       }
-       PROVIDE (_edata = .);
-
-       PROVIDE (_fgot = .);
-       .got :
-       {
-               *(.got)
-               . = ALIGN(4);
-       }
-       PROVIDE (_egot = .);
-
-       PROVIDE (__u_boot_cmd_start = .);
-       .u_boot_cmd :
-       {
-               *(.u_boot_cmd)
-               . = ALIGN(4);
-       }
-       PROVIDE (__u_boot_cmd_end = .);
-
-       PROVIDE (reloc_dst_end = .);
-       /* _reloc_dst_end = .; */
-
-       PROVIDE (bss_start = .);
-       PROVIDE (__bss_start = .);
-       .bss :
-       {
-               *(.bss)
-               . = ALIGN(4);
-       }
-       PROVIDE (bss_end = .);
-
-       PROVIDE (_end = .);
-}
diff --git a/sh_config.mk b/sh_config.mk
index 49d50f7..c19db53 100644
--- a/sh_config.mk
+++ b/sh_config.mk
@@ -22,3 +22,4 @@
 #
 
 PLATFORM_CPPFLAGS += -DCONFIG_SH -D__SH__
+PLATFORM_LDFLAGS += -e $(TEXT_BASE) --defsym reloc_dst=$(TEXT_BASE)
-- 
1.6.3.1

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

Reply via email to