]> git.sur5r.net Git - u-boot/commitdiff
examples: select libgcc for non-default architecture
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>
Fri, 16 May 2014 08:54:17 +0000 (12:54 +0400)
committerTom Rini <trini@ti.com>
Fri, 23 May 2014 20:51:26 +0000 (16:51 -0400)
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>
Makefile
examples/standalone/Makefile

index 176ce10a7284673408d5ba6742548fb141d4eeae..f2ba48bad9483e8641c4af0dd72e6b193fe40e1f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -699,6 +699,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
index 9ab5446c686114c38f6c189dd2d2d8fbde086451..2dacba2ebae4aec70521a5c7f8bd18f01e84670c 100644 (file)
@@ -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)