[PATCHv4] print stack trace after each syscall

Dmitry V. Levin ldv at altlinux.org
Fri Sep 13 14:58:20 UTC 2013


On Thu, Sep 12, 2013 at 11:03:41PM -0700, Luca Clementi wrote:
> On Thu, Sep 12, 2013 at 8:49 AM, Dmitry V. Levin <ldv at altlinux.org> wrote:
> > On Fri, Aug 16, 2013 at 02:20:09PM +0900, Masatake YAMATO wrote:
> >> After rebuilding libunwind with enabling minidebuginfo feature[1], your
> >> patch works fine on my Fedora 19.
> >>
> >> strace maintainer(s), is there any issue for merging the patch to
> >> the official source tree?
> >
> > I've changed the patch a bit and pushed it to branch ldv/unwind,
> > please have a look:
> > http://sourceforge.net/p/strace/code/ci/5a9cf58a485a97b4fcfd36a7a6e3637368086f4b/
> 
> Hey Dmitry,
> I think the patch looks much nicer now, thanks for polishing it.
> 
> Although when I try to configure against the latest libunwind compiled
> in a folder (not the distro package), I get an error if I use:
> 
> ------------------------------------------------
> ./configure --with-libunwind=/home/clem/projects/libunwind/libunwindinstall
> [...]
> checking for perl... /usr/bin/perl
> checking libunwind-ptrace.h usability... yes
> checking libunwind-ptrace.h presence... yes
> checking for libunwind-ptrace.h... yes
> checking for _UPT_create in -lunwind-ptrace... no
> configure: error: in `/home/clem/projects/strace':
> configure: error: failed to find _UPT_create in libunwind-ptrace
> See `config.log' for more details
> ------------------------------------------------
> 
> 
> In config.log I have:
> -----------------------------
> configure:7026: gcc -o conftest -g -O2
> -I/home/clem/projects/libunwind/libunwindinstall//include
> -L/home/clem/projects/libunwind/libunwindinstall//lib conftest.c
> -lunwind-ptrace
>                 >&5
> /home/clem/projects/FingerPrint/libunwind/libunwindinstall//lib/libunwind-ptrace.so:
> undefined reference to `_Ux86_64_get_elf_image'
> /home/clem/projects/FingerPrint/libunwind/libunwindinstall//lib/libunwind-ptrace.so:
> undefined reference to `_Ux86_64_dwarf_find_unwind_table'
> /home/clem/projects/FingerPrint/libunwind/libunwindinstall//lib/libunwind-ptrace.so:
> undefined reference to `_Ux86_64_dwarf_search_unwind_table'
> -----------------------------
> 
> 
> To properly configure I need to use the following:
> ./configure --with-libunwind=/home/clem/projects/FingerPrint/libunwind/libunwindinstall/
> LIBS="-lunwind -lunwind-generic"
> LDFLAGS=-L/home/clem/projects/libunwind/libunwindinstall/lib
> 
> 
> AFAIK if you want to avoid the LDFLAG/LIBS variable you need add the test on:
>         AC_CHECK_LIB([unwind], [backtrace],
>         AC_CHECK_LIB([unwind-generic], [_U${UNWIND_ARCH}_create_addr_space],
> I know that it is not the prettiest code ever but that's the only way
> I could get to configure with my setup.

I'd prefer configure checks to be written without these libunwind internals;
unwind.c is using unw_create_addr_space macro, so configure check should
do the same.

I've tweaked configure.ac part of the patch and re-pushed it to ldv/unwind
branch (commit v4.8-67-g709259c).
Please give it a try.


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20130913/d0b21490/attachment.bin>


More information about the Strace-devel mailing list