Message ID | 1465437864-19567-2-git-send-email-yszhou4tech@gmail.com |
---|---|
State | Accepted |
Headers | show |
On 10 June 2016 at 21:43, Yousong Zhou <yszhou4tech@gmail.com> wrote: > On 10 June 2016 at 20:52, Sergey Zakharchenko <doublef.mobile@gmail.com> wrote: >> Hello Yousong, >> >> The libunwind-enabled strace builds fine but I'm getting a "Can't >> initiate libunwind: Invalid argument" error when trying to use it >> (this is on an Atheros, i.e. MIPS chip). This is just a report, I'm >> not urging you to anything... >> > > Yeah, the stack trace dump feature seems really fragile. I noticed > that once on qemu/malta, then did "make clean" and rebuilt, the > 'invalid argument' error disappeared later and along with it the -k > option does not have said effect at all. But it works partly on > qemu/x86_64 though at the moment the traces cannot go past libc. > > yousong I tried yesterday building a x86_64 firmware with glibc and strace -k works quite well there. However the situation of the glibc-mips combination is the same as with musl-mips. My current guess is that libunwind may need some patching to work with musl-libc. Regards, yousong
diff --git a/package/devel/strace/Makefile b/package/devel/strace/Makefile index 8a0d2e8..df560fd 100644 --- a/package/devel/strace/Makefile +++ b/package/devel/strace/Makefile @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=strace PKG_VERSION:=4.11 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MD5SUM:=a15d2555a7febb56d00c6e1a51c655dc PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz @@ -23,6 +23,7 @@ PKG_LICENSE_FILES:=COPYRIGHT PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> PKG_FIXUP:=autoreconf +PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_strace_libunwind PKG_INSTALL:=1 include $(INCLUDE_DIR)/package.mk @@ -39,6 +40,7 @@ define Package/strace SECTION:=utils CATEGORY:=Utilities TITLE:=System call tracer + DEPENDS:=+PACKAGE_strace_libunwind:libunwind URL:=http://strace.sourceforge.net/ endef @@ -47,6 +49,13 @@ A useful diagnostic, instructional, and debugging tool. Allows you to track what system calls a program makes while it is running. endef +define Package/strace/config +config PACKAGE_strace_libunwind + bool "Enable stack tracing support using libunwind (experimental)" + default n +endef + +CONFIGURE_ARGS += --with-libunwind=$(if $(CONFIG_PACKAGE_strace_libunwind),yes,no) MAKE_FLAGS := \ CCOPT="$(TARGET_CFLAGS)"
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> --- package/devel/strace/Makefile | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)