This patch adds support for backtrace functions also known from
*glibc that are declared in execinfo.h. This functionality in
uClibc is implemented in libubacktrace library.

The application that needs to be compiled with backtrace functions
must be linked against libubacktrace.so.

Signed-off-by: Jiri Slachta <[email protected]>
---
 package/libs/toolchain/Makefile         |   16 ++++++++++++++++
 toolchain/uClibc/config-0.9.33.2/common |    2 +-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/package/libs/toolchain/Makefile b/package/libs/toolchain/Makefile
index 202e9d0..d678486 100644
--- a/package/libs/toolchain/Makefile
+++ b/package/libs/toolchain/Makefile
@@ -175,6 +175,12 @@ $(call Package/libc/Default)
   TITLE:=POSIX thread library debugging support
 endef
 
+define Package/libubacktrace
+$(call Package/libc/Default)
+  DEPENDS:=@USE_UCLIBC
+  TITLE:=Backtrace functions library
+endef
+
 define Package/librt
 $(call Package/libc/Default)
   TITLE:=POSIX.1b RealTime extension library
@@ -475,6 +481,15 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
   endif
   endef
 
+  define Package/libubacktrace/install
+       $(INSTALL_DIR) $(1)/lib
+  ifeq ($(USE_UCLIBC),y)
+       $(CP) \
+               $(TOOLCHAIN_DIR)/lib/libubacktrace-$(LIBC_SO_VERSION).so.*
+               $(1)/lib/
+  endif
+  endef
+
   define Package/libpthread/install_lib
        $(if $(wildcard $(TOOLCHAIN_DIR)/lib/libpthread_so.a),$(CP) 
$(TOOLCHAIN_DIR)/lib/libpthread_so.a $(1)/lib/libpthread_pic.a)
   endef
@@ -589,6 +604,7 @@ $(eval $(call BuildPackage,libssp))
 $(eval $(call BuildPackage,libstdcpp))
 $(eval $(call BuildPackage,libpthread))
 $(eval $(call BuildPackage,libthread-db))
+$(eval $(call BuildPackage,libubacktrace))
 $(eval $(call BuildPackage,librt))
 $(eval $(call BuildPackage,libgfortran))
 $(eval $(call BuildPackage,ldd))
diff --git a/toolchain/uClibc/config-0.9.33.2/common 
b/toolchain/uClibc/config-0.9.33.2/common
index fce922e..a90e321 100644
--- a/toolchain/uClibc/config-0.9.33.2/common
+++ b/toolchain/uClibc/config-0.9.33.2/common
@@ -42,7 +42,7 @@ LDSO_RUNPATH=y
 # LDSO_STANDALONE_SUPPORT is not set
 # LINUXTHREADS_NEW is not set
 # LINUXTHREADS_OLD is not set
-# UCLIBC_HAS_BACKTRACE is not set
+UCLIBC_HAS_BACKTRACE=y
 UCLIBC_HAS_THREADS_NATIVE=y
 # MALLOC is not set
 MALLOC_GLIBC_COMPAT=y
-- 
1.7.9.5
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to