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
