[U-Boot] [PATCH v2] examples: select libgcc for non-default architecture
Alexey Brodkin
Alexey.Brodkin at synopsys.com
Fri May 16 08:36:07 CEST 2014
In case of multilib-enabled toolchains if default architecture differ from
the one examples are being built for linker will fail to link example object
files with libgcc of another (non-compatible) architecture.
Interesting enough for years in main Makefile we used CFLAGS/c_flags for this
but not for examples.
So fixing it now.
Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
Cc: Masahiro Yamada <yamada.m at jp.panasonic.com>
Cc: Tom Rini <trini at ti.com>
Cc: Wolfgang Denx <wd at denx.de>
---
v2 copies functoinality for libgcc selection from main Makefile.
This takes care of CONFIG_USE_PRIVATE_LIBGCC if one is used.
examples/standalone/Makefile | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/examples/standalone/Makefile b/examples/standalone/Makefile
index 9ab5446..2c13c07 100644
--- a/examples/standalone/Makefile
+++ b/examples/standalone/Makefile
@@ -38,7 +38,17 @@ targets += $(patsubst $(obj)/%,%,$(LIB)) $(COBJS) $(LIBOBJS-y)
LIBOBJS := $(addprefix $(obj)/,$(LIBOBJS-y))
ELF := $(addprefix $(obj)/,$(ELF))
-gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
+# Add GCC lib
+ifdef CONFIG_USE_PRIVATE_LIBGCC
+ifeq ($(CONFIG_USE_PRIVATE_LIBGCC),y)
+PLATFORM_LIBGCC = arch/$(ARCH)/lib/lib.a
+else
+PLATFORM_LIBGCC = -L $(CONFIG_USE_PRIVATE_LIBGCC) -lgcc
+endif
+else
+PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(PLATFORM_CPPFLAGS) \
+ -print-libgcc-file-name`) -lgcc
+endif
# For PowerPC there's no need to compile standalone applications as a
# relocatable executable. The relocation data is not needed, and
@@ -63,7 +73,7 @@ $(LIB): $(LIBOBJS) FORCE
quiet_cmd_link_elf = LD $@
cmd_link_elf = $(LD) $(LDFLAGS) -g -Ttext $(CONFIG_STANDALONE_LOAD_ADDR) \
- -o $@ -e $(SYM_PREFIX)$(@F) $< $(LIB) -L$(gcclibdir) -lgcc
+ -o $@ -e $(SYM_PREFIX)$(@F) $< $(LIB) $(PLATFORM_LIBGCC)
$(ELF): $(obj)/%: $(obj)/%.o $(LIB) FORCE
$(call if_changed,link_elf)
--
1.9.0
More information about the U-Boot
mailing list