[U-Boot] [RFC PATCH 1/2] sh: make lds more generic
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Thu May 14 00:58:24 CEST 2009
currently the sh lds need to sync the lds 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 <plagnioj at jcrosoft.com>
Cc: Nobuhiro Iwamatsu <iwamatsu.nobuhiro at renesas.com>
---
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 ++++---
sh_config.mk | 1 +
12 files changed, 34 insertions(+), 117 deletions(-)
diff --git a/board/mpr2/u-boot.lds b/board/mpr2/u-boot.lds
index deae344..4180522 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 provide by command line
+ */
+ . = .;
PROVIDE (_ftext = .);
PROVIDE (_fcode = .);
diff --git a/board/ms7720se/u-boot.lds b/board/ms7720se/u-boot.lds
index 1f9b792..7aaaaf8 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 provide by command line
+ */
+ . = .;
PROVIDE (_ftext = .);
PROVIDE (_fcode = .);
diff --git a/board/ms7722se/u-boot.lds b/board/ms7722se/u-boot.lds
index 7b0fb67..db3741c 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 provide by command line
+ */
+ . = .;
PROVIDE (_ftext = .);
PROVIDE (_fcode = .);
diff --git a/board/ms7750se/u-boot.lds b/board/ms7750se/u-boot.lds
index 7b0fb67..db3741c 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 provide by command line
+ */
+ . = .;
PROVIDE (_ftext = .);
PROVIDE (_fcode = .);
diff --git a/board/renesas/MigoR/u-boot.lds b/board/renesas/MigoR/u-boot.lds
index c004b83..9b83cad 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 provide by command line
+ */
+ . = .;
PROVIDE (_ftext = .);
PROVIDE (_fcode = .);
diff --git a/board/renesas/ap325rxa/u-boot.lds b/board/renesas/ap325rxa/u-boot.lds
index 94bacca..9b83cad 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 provide by command line
+ */
+ . = .;
PROVIDE (_ftext = .);
PROVIDE (_fcode = .);
diff --git a/board/renesas/r2dplus/u-boot.lds b/board/renesas/r2dplus/u-boot.lds
index e1c15b0..93a7d31 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 provide by command line
+ */
+ . = .;
PROVIDE (_ftext = .);
PROVIDE (_fcode = .);
diff --git a/board/renesas/r7780mp/u-boot.lds b/board/renesas/r7780mp/u-boot.lds
index f32d0b8..93a7d31 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 provide by command line
+ */
+ . = .;
PROVIDE (_ftext = .);
PROVIDE (_fcode = .);
diff --git a/board/renesas/rsk7203/u-boot.lds b/board/renesas/rsk7203/u-boot.lds
index bd4a550..7f3cfbd 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 provide by command line
*/
-
- . = 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..93a7d31 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 provide by command line
+ */
+ . = .;
PROVIDE (_ftext = .);
PROVIDE (_fcode = .);
diff --git a/board/renesas/sh7785lcr/u-boot.lds b/board/renesas/sh7785lcr/u-boot.lds
index 255ab37..777ab92 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 provide by command line
+ */
+ . = .;
PROVIDE (_ftext = .);
PROVIDE (_fcode = .);
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.1.3
More information about the U-Boot
mailing list