[PATCH v3 0/7] glibc-2.34: Fix gdb.base/gdb-sigterm.exp failure/error

Kevin Buettner kevinb@redhat.com
Sun Feb 27 00:00:44 GMT 2022


This series addresses Pedro's concerns regarding the v2 series posted
last year:

https://sourceware.org/pipermail/gdb-patches/2021-August/181575.html

In particular, it introduces a new exception which will be thrown
when GDB receives a SIGTERM.  That exception is handled at the
top level when possible, though for the extension languages, Python
and Guile, a somewhat different approach had to be taken.  In order to
ensure that this new exception isn't inadvertently swallowed on its
way up to the top level, I also did an audit of the try / catch code
involving gdb_exception, making adjustments where necessary.

Kevin Buettner (7):
  Introduce gdb_exception_forced_quit
  Handle gdb SIGTERM by throwing / catching gdb_exception_force_quit
  Catch gdb_exception_error instead of gdb_exception (in many places)
  Python QUIT processing updates
  Guile QUIT processing updates
  QUIT processing w/ explicit throw for gdb_exception_forced_quit
  Handle QUIT processing in the scoped_switch_fork_info destructor

 gdb/ada-lang.c                   |  2 +-
 gdb/breakpoint.c                 |  8 ++++----
 gdb/cli/cli-interp.c             |  2 +-
 gdb/event-top.c                  |  2 ++
 gdb/guile/guile-internal.h       |  5 +++++
 gdb/guile/scm-pretty-print.c     |  5 +++++
 gdb/guile/scm-type.c             |  5 +++++
 gdb/guile/scm-value.c            |  5 +++++
 gdb/i386-linux-tdep.c            |  2 +-
 gdb/inf-loop.c                   |  2 +-
 gdb/infcmd.c                     |  2 +-
 gdb/infrun.c                     |  2 +-
 gdb/jit.c                        |  2 +-
 gdb/linux-fork.c                 | 13 +++++++++++++
 gdb/main.c                       | 12 ++++++++++++
 gdb/mi/mi-cmd-break.c            |  2 +-
 gdb/mi/mi-interp.c               |  2 +-
 gdb/mi/mi-main.c                 |  4 ++++
 gdb/objc-lang.c                  |  2 +-
 gdb/parse.c                      |  2 +-
 gdb/printcmd.c                   |  2 +-
 gdb/python/py-finishbreakpoint.c |  5 +++++
 gdb/python/py-gdb-readline.c     |  4 ++++
 gdb/python/py-symbol.c           |  5 +++++
 gdb/python/py-utils.c            |  3 +++
 gdb/python/py-value.c            |  5 +++++
 gdb/record-btrace.c              |  2 +-
 gdb/record-full.c                |  2 +-
 gdb/remote-fileio.c              | 15 ++++++++++-----
 gdb/solib.c                      |  2 +-
 gdb/sparc64-linux-tdep.c         |  2 +-
 gdb/symfile-mem.c                |  2 +-
 gdb/top.h                        |  2 +-
 gdb/tui/tui-io.c                 |  4 ++++
 gdb/tui/tui.c                    |  4 ++++
 gdb/utils.c                      |  2 +-
 gdb/windows-nat.c                |  4 ++++
 gdbsupport/common-exceptions.cc  | 14 ++++++++++++++
 gdbsupport/common-exceptions.h   | 22 +++++++++++++++++++++-
 39 files changed, 153 insertions(+), 29 deletions(-)

-- 
2.35.1



More information about the Gdb-patches mailing list