
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@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@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)