* tests/strace-k-demangle.test: New test.
* tests/stack-fcall-mangled.c: New file.
* tests/stack-fcall-mangled-0.c: Likewise.
* tests/stack-fcall-mangled-1.c: Likewise.
* tests/stack-fcall-mangled-2.c: Likewise.
* tests/stack-fcall-mangled-3.c: Likewise.
* tests/stack-fcall.h [MANGLE] (f0, f1, f2, f3): New macros.
* tests/.gitignore: Add stack-fcall-mangled.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(stack_fcall_mangled_SOURCES): New variable.
(EXTRA_DIST): Add strace-k-demangle.test.
[USE_LIBUNWIND && USE_DEMANGLE] (LIBUNWIND_TESTS): Likewise.
sockopt-sol_netlink
splice
stack-fcall
+stack-fcall-mangled
stat
stat64
statfs
signal_receive \
sleep \
stack-fcall \
+ stack-fcall-mangled \
threads-execve \
unblock_reset_raise \
unix-pair-send-recv \
stack_fcall_SOURCES = stack-fcall.c \
stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
+stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \
+ stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
+ stack-fcall-mangled-2.c stack-fcall-mangled-3.c
+
include gen_tests.am
if USE_LIBUNWIND
LIBUNWIND_TESTS = strace-k.test
+if USE_DEMANGLE
+LIBUNWIND_TESTS += strace-k-demangle.test
+endif
else
LIBUNWIND_TESTS =
endif
strace-E.expected \
strace-T.expected \
strace-ff.expected \
+ strace-k-demangle.test \
strace-k.test \
strace-r.expected \
strace.supp \
--- /dev/null
+#define MANGLE
+#include "stack-fcall-0.c"
--- /dev/null
+#define MANGLE
+#include "stack-fcall-1.c"
--- /dev/null
+#define MANGLE
+#include "stack-fcall-2.c"
--- /dev/null
+#define MANGLE
+#include "stack-fcall-3.c"
--- /dev/null
+#define MANGLE
+#include "stack-fcall.c"
+#ifdef MANGLE
+
+#define f0 _ZN2ns2f0Ei
+#define f1 _ZN2ns2f1Ei
+#define f2 _ZN2ns2f2Ei
+#define f3 _ZN2ns2f3Ei
+
+#endif
+
int f0(int i);
int f1(int i);
int f2(int i);
--- /dev/null
+#!/bin/sh
+# Check strace -k symbol names demangling.
+
+test_prog=../stack-fcall-mangled
+expected='getpid ns::f3 ns::f2 ns::f1 ns::f0 main '
+
+. "${srcdir=.}"/strace-k.test