public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v3] libgcc inclusion from common Makefile overwritable from platform configs files
@ 2009-07-08 19:36 Jean-Christophe PLAGNIOL-VILLARD
  2009-07-08 19:42 ` Scott Wood
                   ` (2 more replies)
  0 siblings, 3 replies; 69+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-07-08 19:36 UTC (permalink / raw)
  To: u-boot

This patch allow to overwrit the libgcc Makefile inclusion from the toplevel
Makefile by the arch_config.mk files. This is in preparation for the ARM
architecture to move away from including libgcc function and only using
self-contained U-Boot functions as done in Linux.

Currently all the ARM boards that use the nand are broken due to the adding of
the 64 Bit device size support. In the past we have seen problems with different
toolchains due to EABI, FPU as example.
With this patch and the following one we move away from all these problems and
we will be able to have full control to have a functions embedded into u-boot.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
 Makefile                 |    3 ++-
 api_examples/Makefile    |    4 +---
 board/netstar/Makefile   |    4 +---
 board/sl8245/config.mk   |    1 -
 board/trab/Makefile      |    2 --
 board/voiceblue/Makefile |    4 +---
 examples/Makefile        |    2 +-
 7 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/Makefile b/Makefile
index 2a06440..e2a61fb 100644
--- a/Makefile
+++ b/Makefile
@@ -288,7 +288,8 @@ LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a
 LIBBOARD := $(addprefix $(obj),$(LIBBOARD))
 
 # Add GCC lib
-PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
+PLATFORM_LIBGCC ?= -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
+PLATFORM_LIBS += $(PLATFORM_LIBGCC)
 
 ifeq ($(CONFIG_NAND_U_BOOT),y)
 NAND_SPL = nand_spl
diff --git a/api_examples/Makefile b/api_examples/Makefile
index 4c01437..4bfa7e6 100644
--- a/api_examples/Makefile
+++ b/api_examples/Makefile
@@ -56,8 +56,6 @@ OBJS	:= $(addprefix $(obj),$(COBJS))
 ELF	:= $(addprefix $(obj),$(ELF))
 BIN	:= $(addprefix $(obj),$(BIN))
 
-gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
-
 CPPFLAGS += -I..
 
 all:	$(obj).depend $(OBJS) $(LIB) $(ELF) $(BIN)
@@ -70,7 +68,7 @@ $(ELF):
 $(obj)%:	$(obj)%.o $(LIB)
 		$(LD) $(obj)crt0.o -Ttext $(LOAD_ADDR) \
 			-o $@ $< $(LIB) \
-			-L$(gcclibdir) -lgcc
+			$(PLATFORM_LIBGCC)
 
 $(BIN):
 $(obj)%.bin:	$(obj)%
diff --git a/board/netstar/Makefile b/board/netstar/Makefile
index 91bac38..1cc2722 100644
--- a/board/netstar/Makefile
+++ b/board/netstar/Makefile
@@ -36,8 +36,6 @@ SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c) eeprom.c \
 OBJS	:= $(addprefix $(obj),$(COBJS))
 SOBJS	:= $(addprefix $(obj),$(SOBJS))
 
-gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
-
 LOAD_ADDR = 0x10400000
 LDSCRIPT = $(TOPDIR)/board/$(BOARDDIR)/eeprom.lds
 lnk = $(if $(obj),$(obj),.)
@@ -55,7 +53,7 @@ $(obj)eeprom.srec:	$(obj)eeprom.o $(obj)eeprom_start.o
 		-o $(<:.o=) -e eeprom eeprom.o eeprom_start.o \
 		-L$(obj)../../examples -lstubs \
 		-L$(obj)../../lib_generic -lgeneric \
-		-L$(gcclibdir) -lgcc
+		$(PLATFROM_LIBGCC)
 	$(OBJCOPY) -O srec $(<:.o=) $@
 
 $(obj)eeprom.bin:	$(obj)eeprom.srec
diff --git a/board/sl8245/config.mk b/board/sl8245/config.mk
index 022512b..299fc6c 100644
--- a/board/sl8245/config.mk
+++ b/board/sl8245/config.mk
@@ -28,4 +28,3 @@
 TEXT_BASE = 0xFFF00000
 
 PLATFORM_CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE)
-PLATFORM_LIBS += $(shell $(CC) -print-libgcc-file-name)
diff --git a/board/trab/Makefile b/board/trab/Makefile
index 30e5fbb..a3661c4 100644
--- a/board/trab/Makefile
+++ b/board/trab/Makefile
@@ -36,8 +36,6 @@ SOBJS	:= $(addprefix $(obj),$(SOBJS))
 
 OBJS_FKT := $(addprefix $(obj),$(COBJS_FKT))
 
-gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
-
 LOAD_ADDR = 0xc100000
 
 #########################################################################
diff --git a/board/voiceblue/Makefile b/board/voiceblue/Makefile
index e7c1cbb..0d1e079 100644
--- a/board/voiceblue/Makefile
+++ b/board/voiceblue/Makefile
@@ -33,8 +33,6 @@ SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c) eeprom.c eeprom_start.S
 OBJS	:= $(addprefix $(obj),$(COBJS))
 SOBJS	:= $(addprefix $(obj),$(SOBJS))
 
-gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
-
 LOAD_ADDR = 0x10400000
 LDSCRIPT = $(TOPDIR)/board/$(BOARDDIR)/eeprom.lds
 lnk = $(if $(obj),$(obj),.)
@@ -49,7 +47,7 @@ $(obj)eeprom.srec:	$(obj)eeprom.o $(obj)eeprom_start.o
 		-o $(<:.o=) -e eeprom eeprom.o eeprom_start.o \
 		-L$(obj)../../examples -lstubs \
 		-L$(obj)../../lib_generic -lgeneric \
-		-L$(gcclibdir) -lgcc
+		$(PLATFROM_LIBGCC)
 	$(OBJCOPY) -O srec $(<:.o=) $@
 
 $(obj)eeprom.bin:	$(obj)eeprom.srec
diff --git a/examples/Makefile b/examples/Makefile
index dbcfa92..5bd13f1 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -178,7 +178,7 @@ $(ELF):
 $(obj)%:	$(obj)%.o $(LIB)
 		$(LD) -g $(EX_LDFLAGS) -Ttext $(LOAD_ADDR) \
 			-o $@ -e $(SYM_PREFIX)$(notdir $(<:.o=)) $< $(LIB) \
-			-L$(gcclibdir) -lgcc
+			$(PLATFORM_LIBGCC)
 
 $(SREC):
 $(obj)%.srec:	$(obj)%
-- 
1.6.3.1

^ permalink raw reply related	[flat|nested] 69+ messages in thread

end of thread, other threads:[~2009-07-27  6:26 UTC | newest]

Thread overview: 69+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-08 19:36 [U-Boot] [PATCH v3] libgcc inclusion from common Makefile overwritable from platform configs files Jean-Christophe PLAGNIOL-VILLARD
2009-07-08 19:42 ` Scott Wood
2009-07-08 20:09   ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-08 20:14 ` [U-Boot] [PATCH V4] " Jean-Christophe PLAGNIOL-VILLARD
2009-07-08 20:26   ` Scott Wood
2009-07-08 20:33     ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-08 20:38     ` [U-Boot] [PATCH V5] " Jean-Christophe PLAGNIOL-VILLARD
2009-07-08 20:38       ` [U-Boot] [PATCH 2/2] netstar/voiceblue: remove no-need libgcc link for eeprom standalone Jean-Christophe PLAGNIOL-VILLARD
2009-07-20 22:03         ` Wolfgang Denk
2009-07-08 20:55       ` [U-Boot] [PATCH V5] libgcc inclusion from common Makefile overwritable from platform configs files Wolfgang Denk
2009-07-08 21:19         ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-08 21:29           ` Wolfgang Denk
2009-07-08 20:30   ` [U-Boot] [PATCH V4] " Wolfgang Denk
2009-07-08 20:45     ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-08 20:47     ` Mike Frysinger
2009-07-09 10:24 ` [U-Boot] [PATCH 1/2 v6] Make libgcc inclusion from common Makefile overridable by platform config file Jean-Christophe PLAGNIOL-VILLARD
2009-07-12  7:54   ` Dirk Behme
2009-07-12  8:02     ` Stefan Roese
2009-07-12  8:15       ` Dirk Behme
2009-07-12 10:29       ` Wolfgang Denk
2009-07-12 12:06         ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-12 12:13           ` Dirk Behme
2009-07-12 12:39             ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-12 14:36           ` Wolfgang Denk
2009-07-12 14:55             ` Dirk Behme
2009-07-12 15:50               ` Wolfgang Denk
2009-07-12 16:12                 ` Dirk Behme
2009-07-12 18:17                   ` Wolfgang Denk
2009-07-12 19:22                     ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-12 19:35                       ` Wolfgang Denk
2009-07-12 19:51                         ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-12 21:27                           ` Wolfgang Denk
2009-07-12 16:17                 ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-12 18:29                   ` Wolfgang Denk
2009-07-12 19:06                     ` Dirk Behme
2009-07-12 19:30                       ` Wolfgang Denk
2009-07-13  9:25                     ` Mike Frysinger
2009-07-13 16:00                       ` Dirk Behme
2009-07-15 22:18                       ` Scott Wood
2009-07-15 22:43                         ` Mike Frysinger
2009-07-15 23:03                           ` Scott Wood
2009-07-15 23:54                             ` Mike Frysinger
2009-07-16 15:36                               ` Scott Wood
2009-07-16 15:42                                 ` Wolfgang Denk
2009-07-16 15:56                                   ` Scott Wood
2009-07-17 11:27                                     ` Detlev Zundel
2009-07-17 11:37                                       ` Wolfgang Denk
2009-07-17 11:41                                         ` Wolfgang Denk
2009-07-17 15:24                                         ` Scott Wood
2009-07-16 11:11                         ` Wolfgang Denk
2009-07-13  7:36         ` Stefan Roese
2009-07-13 15:46           ` Dirk Behme
2009-07-13 18:16           ` Mike Frysinger
2009-07-23  9:36   ` Wolfgang Denk
2009-07-23 11:09     ` [U-Boot] [PATCH] Make linking against libgcc configurable Wolfgang Denk
2009-07-23 11:15       ` [U-Boot] [PATCH v2] " Wolfgang Denk
2009-07-23 11:27         ` [U-Boot] [PATCH] arm: add _lshrdi3.S Heiko Schocher
2009-07-23 11:41           ` Wolfgang Denk
2009-07-23 12:16             ` Heiko Schocher
2009-07-26 22:11           ` Wolfgang Denk
2009-07-23 13:28         ` [U-Boot] [PATCH v2] Make linking against libgcc configurable Daniel Gorsulowski
2009-07-23 14:12           ` Heiko Schocher
2009-07-23 14:43             ` Daniel Gorsulowski
2009-07-23 14:48               ` Daniel Gorsulowski
2009-07-23 15:33                 ` Heiko Schocher
2009-07-24  6:07                   ` Daniel Gorsulowski
2009-07-27  6:26                     ` Heiko Schocher
2009-07-23 16:45           ` Wolfgang Denk
2009-07-26 22:11         ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox