[PATCH 2/2] unwind: add libdw as a alternative unwinder back-end

Dmitry V. Levin ldv at altlinux.org
Mon Apr 9 21:43:24 UTC 2018


On Mon, Apr 09, 2018 at 03:06:16AM +0900, Masatake YAMATO wrote:
> * unwind-libdw.c: New source file.
> * configure.ac: New option --with-libdw.
>   Accept only one of --with-libdw=yes or --with-libunwind=yes.
>   Don't check libunwind if libdw is available.
>   (USE_LIBDW): Define.
>   (AC_SUBST): Add libdw_CFLAGS and libdw_LIBS.
> * Makefile.am (USE_LIBDW): New condition.
> [USE_LIBUNWIND] (strace_SOURCES): Add unwind-libdw.c.
> [USE_LIBUNWIND] (strace_CPPFLAGS, strace_LDADD): Append libdw_CFLAGS,
> and strace_LDADD respectively.

Inspired by commit elfutils-0.170-68-gafffdff29228db03e2131af577f58a22aec6c1fe,
I played with your first patchset a bit last weekend, you can find the
result in ldv/stacktrace branch.

Everything looks fine except on armv7 which seems to be universally broken
(neither libdw nor libunwind works in all distributions I tested).
For example, libdw-based unwinder fails strace-k.test with the following
diagnostics in rawhide scratch build:
getpid()                                = 31248
 > /usr/lib/libc-2.27.9000.so(__getpid+0xc) [0x9f66c]
 > No DWARF information found

Surprisingly, aarch64 also fails in rawhide scratch build, but this might
be a rawhide specific issue as in other distributions strace-k.test passes
on aarch64.

For the reference, the rawhide scratch build is

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20180410/465e8976/attachment.bin>

More information about the Strace-devel mailing list