Divides variable of linker flags to LDFLAGS-u-boot and LDFLAGS
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 <vapier@gentoo.org> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
This commit is contained in:
parent
f8ea15f769
commit
8aba9dceeb
2
Makefile
2
Makefile
|
@ -369,7 +369,7 @@ $(obj)u-boot.dis: $(obj)u-boot
|
||||||
GEN_UBOOT = \
|
GEN_UBOOT = \
|
||||||
UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
|
UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
|
||||||
sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
|
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) \
|
--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
|
||||||
-Map u-boot.map -o u-boot
|
-Map u-boot.map -o u-boot
|
||||||
$(obj)u-boot: depend \
|
$(obj)u-boot: depend \
|
||||||
|
|
|
@ -30,7 +30,8 @@ CONFIG_BFIN_BOOT_MODE := $(strip $(subst ",,$(CONFIG_BFIN_BOOT_MODE)))
|
||||||
PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic
|
PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic
|
||||||
PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN
|
PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN
|
||||||
|
|
||||||
LDFLAGS += --gc-sections -m elf32bfin
|
LDFLAGS_u-boot += --gc-sections
|
||||||
|
LDFLAGS += -m elf32bfin
|
||||||
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
|
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
|
||||||
|
|
||||||
PLATFORM_CPPFLAGS += -DBFIN_CPU='"$(CONFIG_BFIN_CPU)"'
|
PLATFORM_CPPFLAGS += -DBFIN_CPU='"$(CONFIG_BFIN_CPU)"'
|
||||||
|
|
|
@ -35,5 +35,6 @@ PLATFORM_CPPFLAGS += $(call cc-option, -fno-stack-protector)
|
||||||
PLATFORM_CPPFLAGS += $(call cc-option, -mpreferred-stack-boundary=2)
|
PLATFORM_CPPFLAGS += $(call cc-option, -mpreferred-stack-boundary=2)
|
||||||
PLATFORM_CPPFLAGS += -DCONFIG_I386 -D__I386__
|
PLATFORM_CPPFLAGS += -DCONFIG_I386 -D__I386__
|
||||||
|
|
||||||
LDFLAGS += --cref --gc-sections
|
LDFLAGS += --cref
|
||||||
|
LDFLAGS_u-boot += --gc-sections
|
||||||
PLATFORM_RELFLAGS += -ffunction-sections
|
PLATFORM_RELFLAGS += -ffunction-sections
|
||||||
|
|
|
@ -31,5 +31,5 @@ PLATFORM_CPPFLAGS += -G0
|
||||||
|
|
||||||
LDSCRIPT ?= $(SRCTREE)/$(CPUDIR)/u-boot.lds
|
LDSCRIPT ?= $(SRCTREE)/$(CPUDIR)/u-boot.lds
|
||||||
|
|
||||||
LDFLAGS += --gc-sections
|
LDFLAGS_u-boot += --gc-sections
|
||||||
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
|
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
|
||||||
|
|
|
@ -24,10 +24,10 @@
|
||||||
CROSS_COMPILE ?= ppc_8xx-
|
CROSS_COMPILE ?= ppc_8xx-
|
||||||
|
|
||||||
STANDALONE_LOAD_ADDR = 0x40000
|
STANDALONE_LOAD_ADDR = 0x40000
|
||||||
|
LDFLAGS_u-boot = --gc-sections
|
||||||
PLATFORM_RELFLAGS += -mrelocatable -ffunction-sections -fdata-sections
|
PLATFORM_RELFLAGS += -mrelocatable -ffunction-sections -fdata-sections
|
||||||
PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__
|
PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__
|
||||||
PLATFORM_LDFLAGS += -n --gc-sections
|
PLATFORM_LDFLAGS += -n
|
||||||
|
|
||||||
ifdef CONFIG_SYS_LDSCRIPT
|
ifdef CONFIG_SYS_LDSCRIPT
|
||||||
# need to strip off double quotes
|
# need to strip off double quotes
|
||||||
|
|
|
@ -30,5 +30,5 @@ endif
|
||||||
|
|
||||||
PLATFORM_CPPFLAGS += -DCONFIG_SH -D__SH__
|
PLATFORM_CPPFLAGS += -DCONFIG_SH -D__SH__
|
||||||
PLATFORM_LDFLAGS += -e $(CONFIG_SYS_TEXT_BASE) --defsym reloc_dst=$(CONFIG_SYS_TEXT_BASE)
|
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
|
LDSCRIPT := $(SRCTREE)/$(CPUDIR)/u-boot.lds
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
# MA 02111-1307 USA
|
# MA 02111-1307 USA
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
ENDIANNESS += -EB
|
||||||
|
|
||||||
PLATFORM_CPPFLAGS += -m3e -mb
|
PLATFORM_CPPFLAGS += -m3e -mb
|
||||||
PLATFORM_RELFLAGS += -ffixed-r13
|
PLATFORM_RELFLAGS += -ffixed-r13
|
||||||
PLATFORM_LDFLAGS += -EB
|
PLATFORM_LDFLAGS += $(ENDIANNESS)
|
||||||
|
|
|
@ -204,9 +204,11 @@ endif
|
||||||
|
|
||||||
AFLAGS := $(AFLAGS_DEBUG) -D__ASSEMBLY__ $(CPPFLAGS)
|
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),)
|
ifneq ($(CONFIG_SYS_TEXT_BASE),)
|
||||||
LDFLAGS += -Ttext $(CONFIG_SYS_TEXT_BASE)
|
LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Location of a usable BFD library, where we define "usable" as
|
# 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
|
# If the list of objects to link is empty, just create an empty built-in.o
|
||||||
cmd_link_o_target = $(if $(strip $1),\
|
cmd_link_o_target = $(if $(strip $1),\
|
||||||
$(LD) -r -o $@ $1 ,\
|
$(LD) $(LDFLAGS) -r -o $@ $1,\
|
||||||
rm -f $@; $(AR) rcs $@ )
|
rm -f $@; $(AR) rcs $@ )
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
Loading…
Reference in New Issue