
Hi,
Thanks for your patch. I applied to next branch of u-boot-sh.
Best regards, Nobuhiro
2014-06-20 16:40 GMT+09:00 Masahiro Yamada yamada.m@jp.panasonic.com:
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
I built all SuperH boards and comprared MD5SUM. I confirmed the same output binaries are produced with/without this patch.
arch/sh/cpu/sh2/u-boot.lds | 76 -------------------------------------- arch/sh/cpu/sh4/u-boot.lds | 80 ---------------------------------------- arch/sh/cpu/{sh3 => }/u-boot.lds | 8 ++-- 3 files changed, 4 insertions(+), 160 deletions(-) delete mode 100644 arch/sh/cpu/sh2/u-boot.lds delete mode 100644 arch/sh/cpu/sh4/u-boot.lds rename arch/sh/cpu/{sh3 => }/u-boot.lds (95%)
diff --git a/arch/sh/cpu/sh2/u-boot.lds b/arch/sh/cpu/sh2/u-boot.lds deleted file mode 100644 index 254d9f2..0000000 --- a/arch/sh/cpu/sh2/u-boot.lds +++ /dev/null @@ -1,76 +0,0 @@ -/*
- Copyright (C) 2008 Nobuhiro Iwamatsu
- Copyright (C) 2008 Renesas Solutions Corp.
- 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(arch/sh/cpu/sh2/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 = .);
PROVIDE (bss_start = .);
PROVIDE (__bss_start = .);
.bss :
{
*(.bss)
. = ALIGN(4);
}
PROVIDE (bss_end = .);
PROVIDE (__bss_end = .);
-} diff --git a/arch/sh/cpu/sh4/u-boot.lds b/arch/sh/cpu/sh4/u-boot.lds deleted file mode 100644 index 57544ce..0000000 --- a/arch/sh/cpu/sh4/u-boot.lds +++ /dev/null @@ -1,80 +0,0 @@ -/*
- Copyright (C) 2007
- Nobuhiro Iwamatsu iwamatsu@nigauri.org
- Copyright (C) 2008-2009
- Yoshihiro Shimoda shimoda.yoshihiro@renesas.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(arch/sh/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 :
{
*(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 (NOLOAD) :
{
*(.bss)
. = ALIGN(4);
}
PROVIDE (bss_end = .);
PROVIDE (__bss_end = .);
-} diff --git a/arch/sh/cpu/sh3/u-boot.lds b/arch/sh/cpu/u-boot.lds similarity index 95% rename from arch/sh/cpu/sh3/u-boot.lds rename to arch/sh/cpu/u-boot.lds index 26de086..30c7a9d 100644 --- a/arch/sh/cpu/sh3/u-boot.lds +++ b/arch/sh/cpu/u-boot.lds @@ -1,10 +1,10 @@ /*
- Copyright (C) 2007
- Yoshihiro Shimoda shimoda.yoshihiro@renesas.com
- 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
@@ -28,7 +28,7 @@ SECTIONS
.text : {
KEEP(arch/sh/cpu/sh3/start.o (.text))
KEEP(*/start.o (.text)) . = ALIGN(8192); common/env_embedded.o (.ppcenv) . = ALIGN(8192);
-- 1.9.1