fix pthread mklibs relinking by copying libpthread_so.a from uclibc instead of using...
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 20 Oct 2009 07:26:34 +0000 (07:26 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 20 Oct 2009 07:26:34 +0000 (07:26 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18090 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/base-files/Makefile
toolchain/uClibc/Makefile

index 4ee95aedfef2d2b2913044b3000c7002f1a24396..0fdbf113911707c587f25e2e1519e9b25e8d52b1 100644 (file)
@@ -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/
index 432de472202a5f858f91c9b8e0cd0b07f6fd5006..31b996d13cd4c9cb70bd58bc9104b8d268be6676 100644 (file)
@@ -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 \