]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
tests: backtrace.c accept __libc_do_syscall as first frame symname.
authorMark Wielaard <mjw@redhat.com>
Fri, 13 Jun 2014 23:09:17 +0000 (01:09 +0200)
committerMark Wielaard <mjw@redhat.com>
Tue, 17 Jun 2014 14:50:40 +0000 (16:50 +0200)
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>
tests/ChangeLog
tests/backtrace.c

index 7c46428cb24f28318e09bdee5dad72dd3b2f40c0..90a2a0eecd8f667a3bd9e01d2d86bb309939cd5e 100644 (file)
@@ -1,3 +1,8 @@
+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.
index ce0bd17d11444d3f9639daf17e0c1bc907cb2c53..1d3948ebf3773d344a82ec9859ad24aa7a4e6cf1 100644 (file)
@@ -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);