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 <yamad...@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 <yamad...@jp.panasonic.com> > Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu...@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 <iwama...@nigauri.org> > - * > - * Copyright (C) 2008-2009 > - * Yoshihiro Shimoda <shimoda.yoshih...@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.yoshih...@renesas.com> > - * > - * Copyright (C) 2007 > * Nobuhiro Iwamatsu <iwama...@nigauri.org> > * > + * Copyright (C) 2008-2009 > + * Yoshihiro Shimoda <shimoda.yoshih...@renesas.com> > + * > * Copyright (C) 2008 > * Mark Jonas <mark.jo...@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 > -- Nobuhiro Iwamatsu iwamatsu at {nigauri.org / debian.org} GPG ID: 40AD1FA6 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot