Message ID | 1400230457-11075-1-git-send-email-abrodkin@synopsys.com |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
Dear Alexey Brodkin, In message <1400230457-11075-1-git-send-email-abrodkin@synopsys.com> 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 Makefile we used CFLAGS/c_flags for this > but not for examples. > > So fixing it now. > > Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> > > Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> > Cc: Tom Rini <trini@ti.com> > Cc: Wolfgang Denx <wd@denx.de> > > --- > In v3 we export PLATFORM_LIBGCC from the main Makefile and use it for examples Thanks! Acked-by: WOlfgang Denk <wd@denx.de> Best regards, Wolfgang Denk
Hi Alexey, On Fri, 16 May 2014 12:54:17 +0400 Alexey Brodkin <Alexey.Brodkin@synopsys.com> 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 Makefile we used CFLAGS/c_flags for this > but not for examples. > > So fixing it now. > > Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> > > Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> > Cc: Tom Rini <trini@ti.com> > Cc: Wolfgang Denx <wd@denx.de> I did build test on some boards with/without CONFIG_USE_PRIVATE_LIBGCC and I worked as expected. So, you can have my Acked-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Thanks! Best Regards Masahiro Yamada
On Fri, May 16, 2014 at 12:54:17PM +0400, Alexey Brodkin 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 Makefile we used CFLAGS/c_flags for this > but not for examples. > > So fixing it now. > > Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> > > Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> > Cc: Tom Rini <trini@ti.com> > Cc: Wolfgang Denx <wd@denx.de> > Acked-by: WOlfgang Denk <wd@denx.de> > Acked-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Applied to u-boot/master, thanks!
diff --git a/Makefile b/Makefile index ff38a43..fd4e176 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/examples/standalone/Makefile b/examples/standalone/Makefile index 9ab5446..2dacba2 100644 --- a/examples/standalone/Makefile +++ b/examples/standalone/Makefile @@ -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)
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@synopsys.com> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Rini <trini@ti.com> Cc: Wolfgang Denx <wd@denx.de> --- 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(-)