From: Dmitry V. Levin Date: Fri, 29 Dec 2017 17:59:29 +0000 (+0000) Subject: unwind: demangle function arguments X-Git-Tag: v4.21~233 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8e959c4db93ff7cf1bfa592a21e564b5849dc4fc;p=strace unwind: demangle function arguments * unwind.c (print_stack_frame): Specify demangling style. * tests/strace-k.test (result): Update regexp. * tests/strace-k-demangle.test (expected): Update expected output. --- diff --git a/tests/strace-k-demangle.test b/tests/strace-k-demangle.test index d68b1a01..1616449f 100755 --- a/tests/strace-k-demangle.test +++ b/tests/strace-k-demangle.test @@ -2,6 +2,6 @@ # Check strace -k symbol names demangling. test_prog=../stack-fcall-mangled -expected='getpid ns::f3 ns::f2 ns::f1 ns::f0 main ' +expected='getpid ns::f3(int) ns::f2(int) ns::f1(int) ns::f0(int) main ' . "${srcdir=.}"/strace-k.test diff --git a/tests/strace-k.test b/tests/strace-k.test index 9d8934dd..2a21a9db 100755 --- a/tests/strace-k.test +++ b/tests/strace-k.test @@ -44,7 +44,7 @@ check_prog tr run_prog "$test_prog" run_strace -e getpid -k $args -result=$(sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^.*\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" | +result=$(sed -r -n '1,/\(main\+0x[a-f0-9]+\) .*/ s/^[^(]+\(([^+]+)\+0x[a-f0-9]+\) .*/\1/p' "$LOG" | tr '\n' ' ') test "$result" = "$expected" || { diff --git a/unwind.c b/unwind.c index 3a66c3fc..181123cc 100644 --- a/unwind.c +++ b/unwind.c @@ -322,7 +322,9 @@ print_stack_frame(struct tcb *tcp, cur_mmap_cache->mmap_offset; #ifdef USE_DEMANGLE - char *demangled_name = cplus_demangle(*symbol_name, 0); + char *demangled_name = + cplus_demangle(*symbol_name, + DMGL_AUTO | DMGL_PARAMS); #endif call_action(data,