From patchwork Sat Aug 6 18:21:01 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Zapolskiy X-Patchwork-Id: 656377 X-Patchwork-Delegate: iwamatsu@nigauri.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3s6Bp82C6Jz9t0G for ; Sun, 7 Aug 2016 04:21:36 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 787FBA751C; Sat, 6 Aug 2016 20:21:33 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ij9o6ApPAqfq; Sat, 6 Aug 2016 20:21:33 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 9AC494BA67; Sat, 6 Aug 2016 20:21:26 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 03BB04BB1A for ; Sat, 6 Aug 2016 20:21:21 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 86Cpz4qBJlCD for ; Sat, 6 Aug 2016 20:21:20 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail.mleia.com (mleia.com [178.79.152.223]) by theia.denx.de (Postfix) with ESMTPS id A06F54BA67 for ; Sat, 6 Aug 2016 20:21:17 +0200 (CEST) Received: from mail.mleia.com (localhost [127.0.0.1]) by mail.mleia.com (Postfix) with ESMTP id 5D2F3433F19; Sat, 6 Aug 2016 19:21:17 +0100 (BST) From: Vladimir Zapolskiy To: Nobuhiro Iwamatsu Date: Sat, 6 Aug 2016 21:21:01 +0300 Message-Id: <1470507672-1188-2-git-send-email-vz@mleia.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1470507672-1188-1-git-send-email-vz@mleia.com> References: <1470507672-1188-1-git-send-email-vz@mleia.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-49551924 X-CRM114-CacheID: sfid-20160806_192117_407002_77D5AFF5 X-CRM114-Status: GOOD ( 15.10 ) Cc: u-boot@lists.denx.de, Mark Jonas Subject: [U-Boot] [PATCH 01/12] sh4: use single u-boot linker script for all boards X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Three supported SH4/SH4A boards with the bootloader image stored on SPI flash have own flavour of a linker script, in turn they are equal among each other. The only difference is that the text from lowlevel_init.o is placed right after start.o, which makes sense. Note that .bss section is not marked as NOLOAD, because for about 10 years this is a default option of a GNU linker, either the attribute is found or not the resulting image file is the same. Signed-off-by: Vladimir Zapolskiy --- arch/sh/cpu/u-boot.lds | 4 ++ board/renesas/sh7752evb/Makefile | 2 +- board/renesas/sh7752evb/u-boot.lds | 82 ------------------------------------- board/renesas/sh7753evb/Makefile | 2 +- board/renesas/sh7753evb/u-boot.lds | 82 ------------------------------------- board/renesas/sh7757lcr/Makefile | 2 +- board/renesas/sh7757lcr/u-boot.lds | 83 -------------------------------------- include/configs/sh7752evb.h | 1 - include/configs/sh7753evb.h | 1 - include/configs/sh7757lcr.h | 1 - 10 files changed, 7 insertions(+), 253 deletions(-) delete mode 100644 board/renesas/sh7752evb/u-boot.lds delete mode 100644 board/renesas/sh7753evb/u-boot.lds delete mode 100644 board/renesas/sh7757lcr/u-boot.lds diff --git a/arch/sh/cpu/u-boot.lds b/arch/sh/cpu/u-boot.lds index 78611c2..6f38563 100644 --- a/arch/sh/cpu/u-boot.lds +++ b/arch/sh/cpu/u-boot.lds @@ -11,6 +11,8 @@ * SPDX-License-Identifier: GPL-2.0+ */ +#include "config.h" + OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") OUTPUT_ARCH(sh) ENTRY(_start) @@ -29,6 +31,8 @@ SECTIONS .text : { KEEP(*/start.o (.text)) + KEEP(CONFIG_BOARDDIR/lowlevel_init.o (.spiboot1.text)) + KEEP(*(.spiboot2.text)) . = ALIGN(8192); common/env_embedded.o (.ppcenv) . = ALIGN(8192); diff --git a/board/renesas/sh7752evb/Makefile b/board/renesas/sh7752evb/Makefile index 856af81..fb6eeec 100644 --- a/board/renesas/sh7752evb/Makefile +++ b/board/renesas/sh7752evb/Makefile @@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ obj-y := sh7752evb.o spi-boot.o -obj-y += lowlevel_init.o +extra-y += lowlevel_init.o diff --git a/board/renesas/sh7752evb/u-boot.lds b/board/renesas/sh7752evb/u-boot.lds deleted file mode 100644 index 6cd4056..0000000 --- a/board/renesas/sh7752evb/u-boot.lds +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2007 - * Nobuhiro Iwamatsu - * - * Copyright (C) 2012 - * Yoshihiro Shimoda - * - * 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)) - *(.spiboot1.text) - *(.spiboot2.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 (__init_end = .); - 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/board/renesas/sh7753evb/Makefile b/board/renesas/sh7753evb/Makefile index f7c8e94..4293142 100644 --- a/board/renesas/sh7753evb/Makefile +++ b/board/renesas/sh7753evb/Makefile @@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ obj-y := sh7753evb.o spi-boot.o -obj-y += lowlevel_init.o +extra-y += lowlevel_init.o diff --git a/board/renesas/sh7753evb/u-boot.lds b/board/renesas/sh7753evb/u-boot.lds deleted file mode 100644 index 6cd4056..0000000 --- a/board/renesas/sh7753evb/u-boot.lds +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2007 - * Nobuhiro Iwamatsu - * - * Copyright (C) 2012 - * Yoshihiro Shimoda - * - * 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)) - *(.spiboot1.text) - *(.spiboot2.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 (__init_end = .); - 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/board/renesas/sh7757lcr/Makefile b/board/renesas/sh7757lcr/Makefile index 1fa3992..f1ce0f6 100644 --- a/board/renesas/sh7757lcr/Makefile +++ b/board/renesas/sh7757lcr/Makefile @@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ obj-y := sh7757lcr.o spi-boot.o -obj-y += lowlevel_init.o +extra-y += lowlevel_init.o diff --git a/board/renesas/sh7757lcr/u-boot.lds b/board/renesas/sh7757lcr/u-boot.lds deleted file mode 100644 index d701367..0000000 --- a/board/renesas/sh7757lcr/u-boot.lds +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (C) 2007 - * Nobuhiro Iwamatsu - * - * Copyright (C) 2011 - * Yoshihiro Shimoda - * - * 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)) - *(.spiboot1.text) - *(.spiboot2.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 (__init_end = .); - 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/include/configs/sh7752evb.h b/include/configs/sh7752evb.h index fb6e05f..aee7ae8 100644 --- a/include/configs/sh7752evb.h +++ b/include/configs/sh7752evb.h @@ -14,7 +14,6 @@ #define CONFIG_SH7752EVB 1 #define CONFIG_SYS_TEXT_BASE 0x5ff80000 -#define CONFIG_SYS_LDSCRIPT "board/renesas/sh7752evb/u-boot.lds" #define CONFIG_CMD_DFL #define CONFIG_CMD_SDRAM diff --git a/include/configs/sh7753evb.h b/include/configs/sh7753evb.h index 64e9e52..a25be31 100644 --- a/include/configs/sh7753evb.h +++ b/include/configs/sh7753evb.h @@ -14,7 +14,6 @@ #define CONFIG_SH7753EVB 1 #define CONFIG_SYS_TEXT_BASE 0x5ff80000 -#define CONFIG_SYS_LDSCRIPT "board/renesas/sh7753evb/u-boot.lds" #define CONFIG_CMD_DFL #define CONFIG_CMD_SDRAM diff --git a/include/configs/sh7757lcr.h b/include/configs/sh7757lcr.h index f9a9a03..f7572e7 100644 --- a/include/configs/sh7757lcr.h +++ b/include/configs/sh7757lcr.h @@ -15,7 +15,6 @@ #define CONFIG_SH7757LCR_DDR_ECC 1 #define CONFIG_SYS_TEXT_BASE 0x8ef80000 -#define CONFIG_SYS_LDSCRIPT "board/renesas/sh7757lcr/u-boot.lds" #define CONFIG_CMD_SDRAM #define CONFIG_CMD_MD5SUM