Browse Source

fix half way libgcc headache

Waldemar Brodkorb 10 years ago
parent
commit
b51f7f73b9

+ 0 - 4
package/busybox/Makefile

@@ -38,12 +38,8 @@ BB_MAKE_FLAGS:=		V=1 IPKG_ARCH="${CPU_ARCH}" ARCH="${ARCH}" GCC_HONOUR_COPTS=s \
 			HOSTCC="${CC_FOR_BUILD}" HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" \
 			-C ${WRKBUILD} 
 ifneq (${ADK_NATIVE},y)
-ifeq ($(ADK_TARGET_LIB_STATIC_LIBGCC),y)
 BB_MAKE_FLAGS+=		CROSS_COMPILE="$(TARGET_CROSS)" EXTRA_LDFLAGS='-static-libgcc'
 else
-BB_MAKE_FLAGS+=		CROSS_COMPILE="$(TARGET_CROSS)"
-endif
-else
 BB_MAKE_FLAGS+=		EXTRA_LDFLAGS="-static-libgcc"
 endif
 

+ 0 - 2
package/cfgfs/Makefile

@@ -26,9 +26,7 @@ $(eval $(call PKG_template,CFGFS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG
 
 CONFIG_STYLE:=		manual
 INSTALL_STYLE:=		manual
-ifeq ($(ADK_TARGET_LIB_STATIC_LIBGCC),y)
 TARGET_LDFLAGS+=	-static-libgcc
-endif
 
 do-install:
 	${INSTALL_DIR} ${IDIR_CFGFS}/sbin

+ 0 - 2
package/dropbear/Makefile

@@ -32,9 +32,7 @@ ifeq ($(ADK_STATIC),y)
 TARGET_LDFLAGS+=	-static
 endif
 
-ifeq ($(ADK_TARGET_LIB_STATIC_LIBGCC),y)
 TARGET_LDFLAGS+=	-static-libgcc
-endif
 BUILD_STYLE:=		manual
 INSTALL_STYLE:=		manual
 CONFIGURE_ARGS+=	--disable-pam \

+ 0 - 1
package/musl/Config.in.manual

@@ -4,7 +4,6 @@ config ADK_PACKAGE_MUSL
 	default y if ADK_TARGET_LIB_MUSL && !ADK_TOOLCHAIN_ONLY
 	default n
 	depends on ADK_TARGET_LIB_MUSL
-	select ADK_PACKAGE_LIBGCC
 	help
 	  Embedded C library.
 

+ 0 - 7
target/config/Config.in

@@ -564,9 +564,6 @@ config ADK_musl
 config ADK_libc
 	boolean
 
-config ADK_TARGET_LIB_STATIC_LIBGCC
-	boolean
-
 config ADK_TARGET_LIBC
 	string
 	default "uclibc"  if ADK_uclibc
@@ -588,7 +585,6 @@ config ADK_TARGET_LIB_UCLIBC
 		   !ADK_LINUX_SPARC64 && \
 		   !ADK_LINUX_PPC64 && \
 		   !ADK_LINUX_NATIVE
-	select ADK_TARGET_LIB_STATIC_LIBGCC
 	help
  	 http://uclibc.org
 
@@ -609,7 +605,6 @@ config ADK_TARGET_LIB_EGLIBC
 		ADK_LINUX_SPARC64 || \
 		ADK_LINUX_X86 || \
 		ADK_LINUX_X86_64
-	select ADK_TARGET_LIB_STATIC_LIBGCC
 	help
 	 http://www.eglibc.org
 
@@ -630,7 +625,6 @@ config ADK_TARGET_LIB_GLIBC
 		ADK_LINUX_SPARC64 || \
 		ADK_LINUX_X86 || \
 		ADK_LINUX_X86_64
-	select ADK_TARGET_LIB_STATIC_LIBGCC
 	help
 	 http://www.gnu.org/libc
 
@@ -652,7 +646,6 @@ config ADK_TARGET_LIB_LIBC
 	prompt "Native C library"
 	boolean
 	select ADK_libc
-	select ADK_TARGET_LIB_STATIC_LIBGCC
 	depends on ADK_LINUX_NATIVE
 
 endchoice

+ 0 - 2
toolchain/gcc/Makefile

@@ -149,8 +149,6 @@ $(GCC_BUILD_DIR_INITIAL)/.compiled: $(GCC_BUILD_DIR_INITIAL)/.configured
 
 $(WRKBUILD)/.configured: $(GCC_BUILD_DIR_INITIAL)/.compiled
 	PATH='$(TARGET_PATH)' $(MAKE) -C $(GCC_BUILD_DIR_INITIAL) install-gcc install-target-libgcc
-	# -lgcc_eh workaround
-	(cd $(STAGING_HOST_DIR)/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION) && ln -sf libgcc.a libgcc_eh.a)
 	touch $@
 
 $(GCC_BUILD_DIR_FINAL)/.configured:

+ 6 - 0
toolchain/musl/Makefile

@@ -17,6 +17,12 @@ $(WRKBUILD)/.headers:
 	touch $@
 
 $(WRKBUILD)/.compiled:
+	# reconfigure musl, otherwise linking with libgcc is disabled
+	(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
+		./configure --prefix=/usr \
+		--target=$(REAL_GNU_TARGET_NAME) \
+		--disable-gcc-wrapper \
+	)
 	$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) all
 	touch $@
 

+ 0 - 12
toolchain/musl/patches/0.9.13/libgcc.patch

@@ -1,12 +0,0 @@
-diff -Nur musl-0.9.12.orig/Makefile musl-0.9.12/Makefile
---- musl-0.9.12.orig/Makefile	2013-07-29 09:20:33.000000000 +0200
-+++ musl-0.9.12/Makefile	2013-08-17 16:10:10.000000000 +0200
-@@ -100,7 +100,7 @@
- 	$(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $<
- 
- lib/libc.so: $(LOBJS)
--	$(CC) $(CFLAGS_ALL_SHARED) $(LDFLAGS) -nostdlib -shared \
-+	$(CC) $(CFLAGS_ALL_SHARED) $(LDFLAGS) -static-libgcc -nostdlib -shared \
- 	-Wl,-e,_start -Wl,-Bsymbolic-functions \
- 	-o $@ $(LOBJS) $(LIBCC)
-