examples: select libgcc for non-default architecture
PATCH v3 1/1 examples: select libgcc for non-default architecture
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.
---
In v3 we export PLATFORM_LIBGCC from the main Makefile and use it for examples
--- Makefile | 1 + examples/standalone/Makefile | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-)
Makefile +1 -0
@@ -696,6 +696,7 @@ PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(c_flags) -print-libgcc-file-name` endif PLATFORM_LIBS += $(PLATFORM_LIBGCC) export PLATFORM_LIBS +export PLATFORM_LIBGCC # Special flags for CPP when processing the linker script. # Pass the version down so we can handle backwards compatibility
examples/standalone/Makefile +1 -3
@@ -38,8 +38,6 @@ targets += $(patsubst $(obj)/%,%,$(LIB)) $(COBJS) $(LIBOBJS-y) LIBOBJS := $(addprefix $(obj)/,$(LIBOBJS-y)) ELF := $(addprefix $(obj)/,$(ELF)) -gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`) - # For PowerPC there's no need to compile standalone applications as a # relocatable executable. The relocation data is not needed, and # also causes the entry point of the standalone application to be
@@ -63,7 +61,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)
Signature · 1 line
1.9.0
PATCH v3 1/1 examples: select libgcc for non-default architecture
Dear Alexey Brodkin,
Quoted 9 lines · In message <[email protected]> you wrote:
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
Makefilewe used CFLAGS/c_flags for this but not for examples.So fixing it now.
Quoted 8 lines
Signed-off-by Alexey Brodkin <[email protected]>Cc Masahiro Yamada <[email protected]>Cc Tom Rini <[email protected]>Cc Wolfgang Denx <[email protected]>---
In v3 we exportPLATFORM_LIBGCCfrom the mainMakefileand use it for examples
Thanks!
Best regards,
Wolfgang Denk
Signature · 4 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "Pull the wool over your own eyes!" - J.R. "Bob" Dobbs
PATCH v3 1/1 examples: select libgcc for non-default architecture
In reply to Alexey BrodkinHi Alexey,
Quoted 7 lines · On Fri, 16 May 2014 12:54:17 +0400 Alexey Brodkin…
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
Makefilewe used CFLAGS/c_flags for this but not for examples.
Quoted 7 lines
So fixing it now.
Signed-off-by Alexey Brodkin <[email protected]>Cc Masahiro Yamada <[email protected]>Cc Tom Rini <[email protected]>Cc Wolfgang Denx <[email protected]>
I did build test on some boards with/without CONFIG_USE_PRIVATE_LIBGCC and I worked as expected.
So, you can have my
Thanks!
Best Regards
Masahiro Yamada
PATCH v3 1/1 examples: select libgcc for non-default architecture
In reply to Alexey BrodkinQuoted 9 lines · Alexey Brodkin
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
Makefilewe used CFLAGS/c_flags for this but not for examples.So fixing it now.
Quoted 7 lines
Signed-off-by Alexey Brodkin <[email protected]>Cc Masahiro Yamada <[email protected]>Cc Tom Rini <[email protected]>Cc Wolfgang Denx <[email protected]>Acked-by WOlfgang Denk <[email protected]>Acked-by Masahiro Yamada <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140523/0e4e02e7/attachment.pgp>