diff options
author | Waldemar Brodkorb <mail@waldemar-brodkorb.de> | 2013-09-13 09:31:00 +0200 |
---|---|---|
committer | Waldemar Brodkorb <mail@waldemar-brodkorb.de> | 2013-09-13 09:31:00 +0200 |
commit | b51f7f73b94422c8cb2411797b009c85db15f89b (patch) | |
tree | c128edd2155c7ddff5e48f01b9a870f10000db54 | |
parent | 194b03d5d9dbddc8c00e4da8fcbb0409fcf50d39 (diff) |
fix half way libgcc headache
-rw-r--r-- | package/busybox/Makefile | 4 | ||||
-rw-r--r-- | package/cfgfs/Makefile | 2 | ||||
-rw-r--r-- | package/dropbear/Makefile | 2 | ||||
-rw-r--r-- | package/musl/Config.in.manual | 1 | ||||
-rw-r--r-- | target/config/Config.in | 7 | ||||
-rw-r--r-- | toolchain/gcc/Makefile | 2 | ||||
-rw-r--r-- | toolchain/musl/Makefile | 6 | ||||
-rw-r--r-- | toolchain/musl/patches/0.9.13/libgcc.patch | 12 |
8 files changed, 6 insertions, 30 deletions
diff --git a/package/busybox/Makefile b/package/busybox/Makefile index 4d751a2b1..4a8e8ea68 100644 --- a/package/busybox/Makefile +++ b/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 diff --git a/package/cfgfs/Makefile b/package/cfgfs/Makefile index 5c902fc1e..159bd229b 100644 --- a/package/cfgfs/Makefile +++ b/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 diff --git a/package/dropbear/Makefile b/package/dropbear/Makefile index b3756a8d9..a7c2356e0 100644 --- a/package/dropbear/Makefile +++ b/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 \ diff --git a/package/musl/Config.in.manual b/package/musl/Config.in.manual index a3881c1e8..19f590e61 100644 --- a/package/musl/Config.in.manual +++ b/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. diff --git a/target/config/Config.in b/target/config/Config.in index fc5c8d94a..a14ef5b7a 100644 --- a/target/config/Config.in +++ b/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 diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index b2ae0ea42..5e168d0d5 100644 --- a/toolchain/gcc/Makefile +++ b/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: diff --git a/toolchain/musl/Makefile b/toolchain/musl/Makefile index 91a6add88..b3e02b841 100644 --- a/toolchain/musl/Makefile +++ b/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 $@ diff --git a/toolchain/musl/patches/0.9.13/libgcc.patch b/toolchain/musl/patches/0.9.13/libgcc.patch deleted file mode 100644 index d382ef1fa..000000000 --- a/toolchain/musl/patches/0.9.13/libgcc.patch +++ /dev/null @@ -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) - |