public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/6] Display GDB backtrace for internal errors
@ 2021-08-19  9:49 Andrew Burgess
  2021-08-19  9:49 ` [PATCH 1/6] gdb: use bool instead of int in struct internal_problem Andrew Burgess
                   ` (8 more replies)
  0 siblings, 9 replies; 34+ messages in thread
From: Andrew Burgess @ 2021-08-19  9:49 UTC (permalink / raw)
  To: gdb-patches

This series does two things:

     1. Imports libbacktrace from gcc to present better backtraces of
     GDB when we hit a fatal signal, and

     2. Prints the backtrace when GDB hits an internal-error (e.g. an
     assert).

The hope here is to try an improve the quality of bug reports, instead
of just getting a report that GDB hit some assert in frame.c, or
value.c, we will (hopefully) have a backtrace included with the bug
report, which _might_ give developers a fighting chance at figuring
out what went wrong.

All feedback welcome,

Thanks,
Andrew

---

Andrew Burgess (6):
  gdb: use bool instead of int in struct internal_problem
  gdb: make use of std::string in utils.c
  gdb: Add a dependency between gdb and libbacktrace
  Copy in libbacktrace from gcc
  gdb: use libbacktrace to create a better backtrace for fatal signals
  gdb: print backtrace for internal error/warning

 Makefile.def                                  |     1 +
 Makefile.in                                   |     1 +
 gdb/Makefile.in                               |    16 +-
 gdb/NEWS                                      |     8 +
 gdb/bt-utils.c                                |   170 +
 gdb/bt-utils.h                                |    69 +
 gdb/config.in                                 |     3 +
 gdb/configure                                 |    32 +
 gdb/configure.ac                              |    23 +
 gdb/doc/gdb.texinfo                           |    13 +
 gdb/event-top.c                               |    47 +-
 .../gdb.base/bt-on-error-and-warning.exp      |   118 +
 gdb/testsuite/gdb.base/bt-on-fatal-signal.exp |    36 -
 gdb/utils.c                                   |   121 +-
 libbacktrace/ChangeLog                        |  1759 ++
 libbacktrace/ChangeLog.jit                    |    14 +
 libbacktrace/Makefile.am                      |   586 +
 libbacktrace/Makefile.in                      |  2528 +++
 libbacktrace/README                           |    23 +
 libbacktrace/aclocal.m4                       |   867 +
 libbacktrace/alloc.c                          |   167 +
 libbacktrace/allocfail.c                      |   136 +
 libbacktrace/allocfail.sh                     |   104 +
 libbacktrace/atomic.c                         |   113 +
 libbacktrace/backtrace-supported.h.in         |    66 +
 libbacktrace/backtrace.c                      |   129 +
 libbacktrace/backtrace.h                      |   206 +
 libbacktrace/btest.c                          |   501 +
 libbacktrace/config.h.in                      |   184 +
 libbacktrace/configure                        | 16893 ++++++++++++++++
 libbacktrace/configure.ac                     |   581 +
 libbacktrace/dwarf.c                          |  4056 ++++
 libbacktrace/edtest.c                         |   120 +
 libbacktrace/edtest2.c                        |    43 +
 libbacktrace/elf.c                            |  4919 +++++
 libbacktrace/fileline.c                       |   346 +
 libbacktrace/filetype.awk                     |    13 +
 .../install-debuginfo-for-buildid.sh.in       |    65 +
 libbacktrace/instrumented_alloc.c             |   114 +
 libbacktrace/internal.h                       |   380 +
 libbacktrace/macho.c                          |  1355 ++
 libbacktrace/mmap.c                           |   331 +
 libbacktrace/mmapio.c                         |   110 +
 libbacktrace/mtest.c                          |   410 +
 libbacktrace/nounwind.c                       |    66 +
 libbacktrace/pecoff.c                         |   935 +
 libbacktrace/posix.c                          |   104 +
 libbacktrace/print.c                          |    92 +
 libbacktrace/read.c                           |   110 +
 libbacktrace/simple.c                         |   108 +
 libbacktrace/sort.c                           |   108 +
 libbacktrace/state.c                          |    72 +
 libbacktrace/stest.c                          |   137 +
 libbacktrace/test_format.c                    |    55 +
 libbacktrace/testlib.c                        |   234 +
 libbacktrace/testlib.h                        |   110 +
 libbacktrace/ttest.c                          |   161 +
 libbacktrace/unittest.c                       |    92 +
 libbacktrace/unknown.c                        |    65 +
 libbacktrace/xcoff.c                          |  1606 ++
 libbacktrace/xztest.c                         |   508 +
 libbacktrace/ztest.c                          |   541 +
 62 files changed, 42760 insertions(+), 121 deletions(-)
 create mode 100644 gdb/bt-utils.c
 create mode 100644 gdb/bt-utils.h
 create mode 100644 gdb/testsuite/gdb.base/bt-on-error-and-warning.exp
 create mode 100644 libbacktrace/ChangeLog
 create mode 100644 libbacktrace/ChangeLog.jit
 create mode 100644 libbacktrace/Makefile.am
 create mode 100644 libbacktrace/Makefile.in
 create mode 100644 libbacktrace/README
 create mode 100644 libbacktrace/aclocal.m4
 create mode 100644 libbacktrace/alloc.c
 create mode 100644 libbacktrace/allocfail.c
 create mode 100755 libbacktrace/allocfail.sh
 create mode 100644 libbacktrace/atomic.c
 create mode 100644 libbacktrace/backtrace-supported.h.in
 create mode 100644 libbacktrace/backtrace.c
 create mode 100644 libbacktrace/backtrace.h
 create mode 100644 libbacktrace/btest.c
 create mode 100644 libbacktrace/config.h.in
 create mode 100755 libbacktrace/configure
 create mode 100644 libbacktrace/configure.ac
 create mode 100644 libbacktrace/dwarf.c
 create mode 100644 libbacktrace/edtest.c
 create mode 100644 libbacktrace/edtest2.c
 create mode 100644 libbacktrace/elf.c
 create mode 100644 libbacktrace/fileline.c
 create mode 100644 libbacktrace/filetype.awk
 create mode 100644 libbacktrace/install-debuginfo-for-buildid.sh.in
 create mode 100644 libbacktrace/instrumented_alloc.c
 create mode 100644 libbacktrace/internal.h
 create mode 100644 libbacktrace/macho.c
 create mode 100644 libbacktrace/mmap.c
 create mode 100644 libbacktrace/mmapio.c
 create mode 100644 libbacktrace/mtest.c
 create mode 100644 libbacktrace/nounwind.c
 create mode 100644 libbacktrace/pecoff.c
 create mode 100644 libbacktrace/posix.c
 create mode 100644 libbacktrace/print.c
 create mode 100644 libbacktrace/read.c
 create mode 100644 libbacktrace/simple.c
 create mode 100644 libbacktrace/sort.c
 create mode 100644 libbacktrace/state.c
 create mode 100644 libbacktrace/stest.c
 create mode 100644 libbacktrace/test_format.c
 create mode 100644 libbacktrace/testlib.c
 create mode 100644 libbacktrace/testlib.h
 create mode 100644 libbacktrace/ttest.c
 create mode 100644 libbacktrace/unittest.c
 create mode 100644 libbacktrace/unknown.c
 create mode 100644 libbacktrace/xcoff.c
 create mode 100644 libbacktrace/xztest.c
 create mode 100644 libbacktrace/ztest.c

-- 
2.25.4


^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2021-09-29  9:56 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-19  9:49 [PATCH 0/6] Display GDB backtrace for internal errors Andrew Burgess
2021-08-19  9:49 ` [PATCH 1/6] gdb: use bool instead of int in struct internal_problem Andrew Burgess
2021-08-19 18:33   ` Simon Marchi
2021-09-07 14:11     ` Andrew Burgess
2021-08-19  9:49 ` [PATCH 2/6] gdb: make use of std::string in utils.c Andrew Burgess
2021-08-19 18:41   ` Simon Marchi
2021-09-07 14:12     ` Andrew Burgess
2021-08-19  9:49 ` [PATCH 3/6] gdb: Add a dependency between gdb and libbacktrace Andrew Burgess
2021-08-19 18:43   ` Simon Marchi
2021-08-27 17:44     ` Tom Tromey
2021-08-30 20:33       ` Andrew Burgess
2021-08-19  9:49 ` [PATCH 4/6] Copy in libbacktrace from gcc Andrew Burgess
2021-08-27 17:46   ` Tom Tromey
2021-08-30 20:34     ` Andrew Burgess
2021-08-19  9:49 ` [PATCH 5/6] gdb: use libbacktrace to create a better backtrace for fatal signals Andrew Burgess
2021-08-19 18:58   ` Simon Marchi
2021-08-19  9:49 ` [PATCH 6/6] gdb: print backtrace for internal error/warning Andrew Burgess
2021-08-19 19:01   ` Simon Marchi
2021-08-30 14:16 ` [PATCH 0/6] Display GDB backtrace for internal errors Tom de Vries
2021-08-30 20:35   ` Andrew Burgess
2021-08-31 11:17 ` Florian Weimer
2021-09-28 11:26 ` [PUSHED " Andrew Burgess
2021-09-28 11:26   ` [PUSHED 1/6] top-level configure: setup target_configdirs based on repository Andrew Burgess
2021-09-28 11:26   ` [PUSHED 2/6] gdb: Add a dependency between gdb and libbacktrace Andrew Burgess
2021-09-28 11:26   ` [PUSHED 4/6] src-release.sh: add libbacktrace to GDB_SUPPORT_DIRS Andrew Burgess
2021-09-28 11:26   ` [PUSHED 5/6] gdb: use libbacktrace to create a better backtrace for fatal signals Andrew Burgess
2021-09-28 18:55     ` Pedro Alves
2021-09-29  8:21       ` Andrew Burgess
2021-09-29  3:09     ` Simon Marchi
2021-09-29  9:56       ` Andrew Burgess
2021-09-28 11:26   ` [PUSHED 6/6] gdb: print backtrace for internal error/warning Andrew Burgess
2021-09-28 12:26     ` Eli Zaretskii
2021-09-29  8:34       ` Andrew Burgess
2021-09-28 12:20   ` [PUSHED 3/6] Copy in libbacktrace from gcc Andrew Burgess

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).