summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-10-20 07:26:34 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-10-20 07:26:34 +0000
commit96ff9f58c604fa5e0f8aaa2c1a127ab993162556 (patch)
tree80df33c4b4b85bad213f8a6933d5e74ff3797f42
parent12efcae535e15e0d99ff342166283bee33a00ae7 (diff)
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
-rw-r--r--package/base-files/Makefile6
-rw-r--r--toolchain/uClibc/Makefile1
2 files changed, 6 insertions, 1 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 4ee95aedfe..0fdbf11391 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 432de47220..31b996d13c 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 \