From: Felix Fietkau 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: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;h=54ab6265bbf76a2cb5a0da0030527d7d065506a6 fix pthread mklibs relinking by copying libpthread_so.a from uclibc instead of using the standard _pic variant SVN-Revision: 18090 --- 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 \