This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
gdb and binutils branch master updated. da2b2fdf57a96f7a5b6b153e94afb747e212b17f
- From: tromey at sourceware dot org
- To: gdb-cvs at sourceware dot org
- Date: 22 Nov 2013 18:12:16 -0000
- Subject: gdb and binutils branch master updated. da2b2fdf57a96f7a5b6b153e94afb747e212b17f
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via da2b2fdf57a96f7a5b6b153e94afb747e212b17f (commit)
from 6eeee81c8e59511962bdd83df5e7785bfdf871d2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=da2b2fdf57a96f7a5b6b153e94afb747e212b17f
commit da2b2fdf57a96f7a5b6b153e94afb747e212b17f
Author: Tom Tromey <tromey@redhat.com>
Date: Wed Nov 13 11:10:55 2013 -0700
handle an unspecified return address column
Debugging PR 16155 further, I found that the DWARF unwinder found the
function in question, but thought it had no registers saved
(fs->regs.num_regs == 0).
It seems to me that if a frame does not specify the return address
column, or if the return address column is explicitly marked as
DWARF2_FRAME_REG_UNSPECIFIED, then we should set the
"undefined_retaddr" flag and let the DWARF unwinder gracefully stop.
This patch implements that idea.
With this patch the backtrace works properly:
(gdb) bt
#0 0x0000007fb7ed485c in nanosleep () from /lib64/libc.so.6
#1 0x0000007fb7ed4508 in sleep () from /lib64/libc.so.6
#2 0x00000000004008bc in thread_function (arg=0x4) at threadapply.c:73
#3 0x0000007fb7fad950 in start_thread () from /lib64/libpthread.so.0
#4 0x0000007fb7f0956c in clone () from /lib64/libc.so.6
2013-11-22 Tom Tromey <tromey@redhat.com>
PR backtrace/16155:
* dwarf2-frame.c (dwarf2_frame_cache): Set undefined_retaddr if
the return address column is unspecified.
2013-11-22 Tom Tromey <tromey@redhat.com>
* gdb.dwarf2/dw2-bad-cfi.c: New file.
* gdb.dwarf2/dw2-bad-cfi.exp: New file.
* gdb.dwarf2/dw2-bad-cfi.S: New file.
-----------------------------------------------------------------------
Summary of changes:
gdb/ChangeLog | 6 +
gdb/dwarf2-frame.c | 4 +
gdb/testsuite/ChangeLog | 6 +
gdb/testsuite/gdb.dwarf2/dw2-bad-cfi.S | 216 ++++++++++++++++++++++++++++++
gdb/testsuite/gdb.dwarf2/dw2-bad-cfi.c | 28 ++++
gdb/testsuite/gdb.dwarf2/dw2-bad-cfi.exp | 42 ++++++
6 files changed, 302 insertions(+), 0 deletions(-)
create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-bad-cfi.S
create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-bad-cfi.c
create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-bad-cfi.exp
hooks/post-receive
--
gdb and binutils