[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
For the reference, the rawhide scratch build is
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 801 bytes
Desc: not available
More information about the Strace-devel