[U-Boot] [PATCH v2 2/7] x86: set CONFIG_USE_PRIVATE_LIBGCC to y

Masahiro Yamada yamada.m at jp.panasonic.com
Thu Oct 23 18:30:41 CEST 2014


The motivation of this commit is to change CONFIG_USE_PRIVATE_LIBGCC
to a boolean macro so we can move it to Kconfig.

In the current implementation, there are two forms of syntax
for this macro:

  - CONFIG_USE_PRIVATE_LIBGCC=y
  - CONFIG_USE_PRIVATE_LIBGCC=path/to/private/libgcc

The latter is only used by x86 architecture.
With a little bit refactoring, it can be converted to the former.

Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
Tested-by: Simon Glass <sjg at chromium.org>
Acked-by: Simon Glass <sjg at chromium.org>
---

Changes in v2:
  - Rebase on commit 68e80fdda

 arch/x86/config.mk            | 3 ---
 arch/x86/include/asm/config.h | 2 ++
 arch/x86/lib/Makefile         | 6 +++---
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/arch/x86/config.mk b/arch/x86/config.mk
index 3106079..3e7fedb 100644
--- a/arch/x86/config.mk
+++ b/arch/x86/config.mk
@@ -28,6 +28,3 @@ PLATFORM_LDFLAGS += --emit-relocs -Bsymbolic -Bsymbolic-functions -m elf_i386
 LDFLAGS_FINAL += --gc-sections -pie
 LDFLAGS_FINAL += --wrap=__divdi3 --wrap=__udivdi3
 LDFLAGS_FINAL += --wrap=__moddi3 --wrap=__umoddi3
-
-export NORMAL_LIBGCC = $(shell $(CC) $(PLATFORM_CPPFLAGS) -print-libgcc-file-name)
-CONFIG_USE_PRIVATE_LIBGCC := arch/x86/lib
diff --git a/arch/x86/include/asm/config.h b/arch/x86/include/asm/config.h
index ff15828..fedcaea 100644
--- a/arch/x86/include/asm/config.h
+++ b/arch/x86/include/asm/config.h
@@ -11,4 +11,6 @@
 #define CONFIG_LMB
 #define CONFIG_SYS_BOOT_RAMDISK_HIGH
 
+#define CONFIG_USE_PRIVATE_LIBGCC
+
 #endif
diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
index f7303ab..25b672a 100644
--- a/arch/x86/lib/Makefile
+++ b/arch/x86/lib/Makefile
@@ -20,9 +20,9 @@ obj-$(CONFIG_SYS_X86_TSC_TIMER)	+= tsc_timer.o
 obj-$(CONFIG_VIDEO_VGA)	+= video.o
 obj-$(CONFIG_CMD_ZBOOT)	+= zimage.o
 
-LIBGCC := $(notdir $(NORMAL_LIBGCC))
-extra-y := $(LIBGCC)
+extra-$(CONFIG_USE_PRIVATE_LIBGCC) := lib.a
 
+NORMAL_LIBGCC = $(shell $(CC) $(PLATFORM_CPPFLAGS) -print-libgcc-file-name)
 OBJCOPYFLAGS := --prefix-symbols=__normal_
-$(obj)/$(LIBGCC): $(NORMAL_LIBGCC) FORCE
+$(obj)/lib.a: $(NORMAL_LIBGCC) FORCE
 	$(call if_changed,objcopy)
-- 
1.9.1



More information about the U-Boot mailing list