From patchwork Tue Jan 11 12:07:32 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nobuhiro Iwamatsu X-Patchwork-Id: 78353 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 19B72B70B3 for ; Tue, 11 Jan 2011 23:03:30 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 8F2C2280B5; Tue, 11 Jan 2011 13:03:26 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de 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 FlQJnzuofzq2; Tue, 11 Jan 2011 13:03:26 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 05FA0280C1; Tue, 11 Jan 2011 13:03:25 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 3525C280C1 for ; Tue, 11 Jan 2011 13:03:23 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de 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 9JO4G4VA5XdM for ; Tue, 11 Jan 2011 13:03:19 +0100 (CET) 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-iw0-f172.google.com (mail-iw0-f172.google.com [209.85.214.172]) by theia.denx.de (Postfix) with ESMTPS id 05FEE280B5 for ; Tue, 11 Jan 2011 13:03:17 +0100 (CET) Received: by iwn40 with SMTP id 40so20143825iwn.3 for ; Tue, 11 Jan 2011 04:03:15 -0800 (PST) Received: by 10.42.223.4 with SMTP id ii4mr5651126icb.4.1294747395858; Tue, 11 Jan 2011 04:03:15 -0800 (PST) Received: from chimagu (EM114-48-39-46.pool.e-mobile.ne.jp [114.48.39.46]) by mx.google.com with ESMTPS id k42sm4504814ick.8.2011.01.11.04.03.13 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 11 Jan 2011 04:03:15 -0800 (PST) Received: from iwamatsu by chimagu with local (Exim 4.72) (envelope-from ) id 1Pcd0f-0003Hr-GF; Tue, 11 Jan 2011 21:07:33 +0900 From: Nobuhiro Iwamatsu To: u-boot@lists.denx.de Date: Tue, 11 Jan 2011 21:07:32 +0900 Message-Id: <1294747652-12603-1-git-send-email-iwamatsu@nigauri.org> X-Mailer: git-send-email 1.7.2.3 Subject: [U-Boot] [PATCH v3] Divides variable of linker flags to LDFLAGS-u-boot and LDFLAGS X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.9 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de Linker needs to use the proper endian/bfd flags even when doing partial linking. LDFLAGS_u-boot sets linker option which is called it when U-boot is built (u-boot final). LDFLAGS sets necessary option by partial linking (use in cmd_link_o_target). CC: Mike Frysinger Signed-off-by: Nobuhiro Iwamatsu Acked-by: Mike Frysinger --- V3: Remove trailing space. Makefile | 2 +- arch/blackfin/config.mk | 3 ++- arch/i386/config.mk | 3 ++- arch/nios2/config.mk | 2 +- arch/powerpc/config.mk | 4 ++-- arch/sh/config.mk | 2 +- arch/sh/cpu/sh2/config.mk | 4 +++- config.mk | 8 +++++--- 8 files changed, 17 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 9055028..d6884ea 100644 --- a/Makefile +++ b/Makefile @@ -369,7 +369,7 @@ $(obj)u-boot.dis: $(obj)u-boot GEN_UBOOT = \ UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\ - cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \ + cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM $(__OBJS) \ --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \ -Map u-boot.map -o u-boot $(obj)u-boot: depend \ diff --git a/arch/blackfin/config.mk b/arch/blackfin/config.mk index ab117ca..0cba294 100644 --- a/arch/blackfin/config.mk +++ b/arch/blackfin/config.mk @@ -30,7 +30,8 @@ CONFIG_BFIN_BOOT_MODE := $(strip $(subst ",,$(CONFIG_BFIN_BOOT_MODE))) PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN -LDFLAGS += --gc-sections -m elf32bfin +LDFLAGS_u-boot += --gc-sections +LDFLAGS += -m elf32bfin PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections PLATFORM_CPPFLAGS += -DBFIN_CPU='"$(CONFIG_BFIN_CPU)"' diff --git a/arch/i386/config.mk b/arch/i386/config.mk index 8743f1a..3fb97c1 100644 --- a/arch/i386/config.mk +++ b/arch/i386/config.mk @@ -35,5 +35,6 @@ PLATFORM_CPPFLAGS += $(call cc-option, -fno-stack-protector) PLATFORM_CPPFLAGS += $(call cc-option, -mpreferred-stack-boundary=2) PLATFORM_CPPFLAGS += -DCONFIG_I386 -D__I386__ -LDFLAGS += --cref --gc-sections +LDFLAGS += --cref +LDFLAGS_u-boot += --gc-sections PLATFORM_RELFLAGS += -ffunction-sections diff --git a/arch/nios2/config.mk b/arch/nios2/config.mk index aba96b3..fa93180 100644 --- a/arch/nios2/config.mk +++ b/arch/nios2/config.mk @@ -31,5 +31,5 @@ PLATFORM_CPPFLAGS += -G0 LDSCRIPT ?= $(SRCTREE)/$(CPUDIR)/u-boot.lds -LDFLAGS += --gc-sections +LDFLAGS_u-boot += --gc-sections PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections diff --git a/arch/powerpc/config.mk b/arch/powerpc/config.mk index 2912604..64191c7 100644 --- a/arch/powerpc/config.mk +++ b/arch/powerpc/config.mk @@ -24,10 +24,10 @@ CROSS_COMPILE ?= ppc_8xx- STANDALONE_LOAD_ADDR = 0x40000 - +LDFLAGS_u-boot = --gc-sections PLATFORM_RELFLAGS += -mrelocatable -ffunction-sections -fdata-sections PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__ -PLATFORM_LDFLAGS += -n --gc-sections +PLATFORM_LDFLAGS += -n ifdef CONFIG_SYS_LDSCRIPT # need to strip off double quotes diff --git a/arch/sh/config.mk b/arch/sh/config.mk index 415c949..4ef85e3 100644 --- a/arch/sh/config.mk +++ b/arch/sh/config.mk @@ -30,5 +30,5 @@ endif PLATFORM_CPPFLAGS += -DCONFIG_SH -D__SH__ PLATFORM_LDFLAGS += -e $(CONFIG_SYS_TEXT_BASE) --defsym reloc_dst=$(CONFIG_SYS_TEXT_BASE) - +LDFLAGS_u-boot = --gc-sections LDSCRIPT := $(SRCTREE)/$(CPUDIR)/u-boot.lds diff --git a/arch/sh/cpu/sh2/config.mk b/arch/sh/cpu/sh2/config.mk index 52d5a0f..f2d40aa 100644 --- a/arch/sh/cpu/sh2/config.mk +++ b/arch/sh/cpu/sh2/config.mk @@ -21,6 +21,8 @@ # MA 02111-1307 USA # # +ENDIANNESS += -EB + PLATFORM_CPPFLAGS += -m3e -mb PLATFORM_RELFLAGS += -ffixed-r13 -PLATFORM_LDFLAGS += -EB +PLATFORM_LDFLAGS += $(ENDIANNESS) diff --git a/config.mk b/config.mk index 66f8fe6..5147c35 100644 --- a/config.mk +++ b/config.mk @@ -204,9 +204,11 @@ endif AFLAGS := $(AFLAGS_DEBUG) -D__ASSEMBLY__ $(CPPFLAGS) -LDFLAGS += -Bstatic -T $(obj)u-boot.lds $(PLATFORM_LDFLAGS) +LDFLAGS += $(PLATFORM_LDFLAGS) + +LDFLAGS_u-boot += -Bstatic -T $(obj)u-boot.lds $(PLATFORM_LDFLAGS) ifneq ($(CONFIG_SYS_TEXT_BASE),) -LDFLAGS += -Ttext $(CONFIG_SYS_TEXT_BASE) +LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE) endif # Location of a usable BFD library, where we define "usable" as @@ -259,7 +261,7 @@ $(obj)%.s: %.c # If the list of objects to link is empty, just create an empty built-in.o cmd_link_o_target = $(if $(strip $1),\ - $(LD) -r -o $@ $1 ,\ + $(LD) $(LDFLAGS) -r -o $@ $1,\ rm -f $@; $(AR) rcs $@ ) #########################################################################