From: nbd Date: Tue, 20 Oct 2009 07:26:34 +0000 (+0000) Subject: fix pthread mklibs relinking by copying libpthread_so.a from uclibc instead of using... X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/96ff9f58c604fa5e0f8aaa2c1a127ab993162556 fix pthread mklibs relinking by copying libpthread_so.a from uclibc instead of using the standard _pic variant git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18090 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 4ee95aedf..0fdbf1139 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -417,7 +417,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) endef define Package/libc/install_lib - $(CP) $(filter-out %/libdl_pic.a,$(wildcard $(TOOLCHAIN_DIR)/usr/lib/lib*.a)) $(1)/lib/ + $(CP) $(filter-out %/libdl_pic.a %/libpthread_pic.a,$(wildcard $(TOOLCHAIN_DIR)/usr/lib/lib*.a)) $(1)/lib/ $(if $(wildcard $(TOOLCHAIN_DIR)/usr/lib/libc_so.a),$(CP) $(TOOLCHAIN_DIR)/usr/lib/libc_so.a $(1)/lib/libc_pic.a) $(if $(wildcard $(TOOLCHAIN_DIR)/usr/lib/gcc/*/*/libgcc.map), \ $(CP) $(TOOLCHAIN_DIR)/usr/lib/gcc/*/*/libgcc_pic.a $(1)/lib/libgcc_s_pic.a; \ @@ -431,6 +431,10 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) $(CP) $(TOOLCHAIN_DIR)/lib/libpthread-$(LIBC_SO_VERSION).so $(1)/lib/ endef + define Package/libpthread/install_lib + $(if $(wildcard $(TOOLCHAIN_DIR)/usr/lib/libc_so.a),$(CP) $(TOOLCHAIN_DIR)/usr/lib/libpthread_so.a $(1)/lib/libpthread_pic.a) + endef + define Package/librt/install $(INSTALL_DIR) $(1)/lib $(CP) $(TOOLCHAIN_DIR)/lib/librt.so.* $(1)/lib/ diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile index 432de4722..31b996d13 100644 --- a/toolchain/uClibc/Makefile +++ b/toolchain/uClibc/Makefile @@ -102,6 +102,7 @@ define Host/Compile $(UCLIBC_MAKE) PREFIX="$(TOOLCHAIN_DIR)/" install_runtime install_dev ln -sf ../../lib/libc.so.0 $(TOOLCHAIN_DIR)/usr/lib/libc.so $(CP) $(HOST_BUILD_DIR)/libc/libc_so.a $(TOOLCHAIN_DIR)/usr/lib/ + $(CP) $(HOST_BUILD_DIR)/libpthread/*/libpthread_so.a $(TOOLCHAIN_DIR)/usr/lib/ ( cd $(TOOLCHAIN_DIR) ; \ for d in lib usr/lib ; do \ for f in libc.so libpthread.so libgcc_s.so ; do \