summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2014-06-14 01:09:17 +0200
committerMark Wielaard <mjw@redhat.com>2014-06-17 16:50:40 +0200
commit1986c175c1b26f9e5e94e97d274095d45d7ab2ce (patch)
tree701c8bd8f5d6110aeb3ac1d2aad55b0b4af86124
parentcb5ac6eed994720e76ec5d00c9c03425ec3afaf7 (diff)
downloadelfutils-1986c175c1b26f9e5e94e97d274095d45d7ab2ce.tar.gz
tests: backtrace.c accept __libc_do_syscall as first frame symname.
On some architectures (Debian armhl) system calls go through __libc_do_syscall instead of __kernel_vsyscall. Accept either of these symbol names for the first backtrace frame. Signed-off-by: Mark Wielaard <mjw@redhat.com>
-rw-r--r--tests/ChangeLog5
-rw-r--r--tests/backtrace.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 7c46428c..90a2a0ee 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,5 +1,10 @@
2014-06-13 Mark Wielaard <mjw@redhat.com>
+ * backtrace.c (callback_verify): Accept "__libc_do_syscall" as first
+ frame symname.
+
+2014-06-13 Mark Wielaard <mjw@redhat.com>
+
* backtrace-subr.sh (check_native_unsupported): New function.
(check_native): Call it.
(check_native_core): Likewise.
diff --git a/tests/backtrace.c b/tests/backtrace.c
index ce0bd17d..1d3948eb 100644
--- a/tests/backtrace.c
+++ b/tests/backtrace.c
@@ -98,7 +98,8 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
{
case 0:
if (! reduce_frameno && symname
- && strcmp (symname, "__kernel_vsyscall") == 0)
+ && (strcmp (symname, "__kernel_vsyscall") == 0
+ || strcmp (symname, "__libc_do_syscall") == 0))
reduce_frameno = true;
else
assert (symname && strcmp (symname, "raise") == 0);