From 036003a671233c43e35b3004f91e4cbd61255cf3 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 5 Dec 2019 08:08:39 -0700 Subject: [PATCH] Silence ARI for valid calls to abort There are a handful of spots in gdb that validly call abort. This patch adds the appropriate ARI marker to these lines, to silence the ARI report. This also removes the "fix" call for "abort" from gdb_ari.sh; it was incorrect and now is not needed. gdb/ChangeLog 2019-12-13 Tom Tromey * contrib/ari/gdb_ari.sh: Remove "fix" call for abort. * utils.c (abort_with_message, dump_core, internal_vproblem): Add ARI marker to abort. * event-top.c (handle_sigsegv): Add ARI marker to abort. Change-Id: I09ce6aa5010bbe4e5bb73ffdb727481be39d34d6 --- gdb/ChangeLog | 7 +++++++ gdb/contrib/ari/gdb_ari.sh | 1 - gdb/event-top.c | 2 +- gdb/utils.c | 6 +++--- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 02040390e22..44bb65ffccc 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2019-12-13 Tom Tromey + + * contrib/ari/gdb_ari.sh: Remove "fix" call for abort. + * utils.c (abort_with_message, dump_core, internal_vproblem): Add + ARI marker to abort. + * event-top.c (handle_sigsegv): Add ARI marker to abort. + 2019-12-13 Tom Tromey * contrib/ari/gdb_ari.sh: Fix floatformat_from_double text. diff --git a/gdb/contrib/ari/gdb_ari.sh b/gdb/contrib/ari/gdb_ari.sh index d05f4af54c6..300ed761f13 100755 --- a/gdb/contrib/ari/gdb_ari.sh +++ b/gdb/contrib/ari/gdb_ari.sh @@ -647,7 +647,6 @@ FNR == 1 { BEGIN { doc["abort"] = "\ Do not use abort, instead use internal_error; GDB should never abort" category["abort"] = ari_regression - fix("abort", "gdb/utils.c", 3) } /(^|[^_[:alnum:]])abort[[:space:]]*\(/ { fail("abort") diff --git a/gdb/event-top.c b/gdb/event-top.c index 9ec599e8c49..5feb2928e22 100644 --- a/gdb/event-top.c +++ b/gdb/event-top.c @@ -881,7 +881,7 @@ handle_sigsegv (int sig) install_handle_sigsegv (); if (thread_local_segv_handler == nullptr) - abort (); + abort (); /* ARI: abort */ thread_local_segv_handler (sig); } diff --git a/gdb/utils.c b/gdb/utils.c index 0b8ec02abe6..41241afcd45 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -186,7 +186,7 @@ abort_with_message (const char *msg) else fputs_unfiltered (msg, gdb_stderr); - abort (); /* NOTE: GDB has only three calls to abort(). */ + abort (); /* ARI: abort */ } /* Dump core trying to increase the core soft limit to hard limit first. */ @@ -200,7 +200,7 @@ dump_core (void) setrlimit (RLIMIT_CORE, &rlim); #endif /* HAVE_SETRLIMIT */ - abort (); /* NOTE: GDB has only three calls to abort(). */ + abort (); /* ARI: abort */ } /* Check whether GDB will be able to dump core using the dump_core @@ -320,7 +320,7 @@ internal_vproblem (struct internal_problem *problem, does not fix this problem. This is the solution suggested at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509. */ if (write (STDERR_FILENO, msg, sizeof (msg)) != sizeof (msg)) - abort (); /* NOTE: GDB has only three calls to abort(). */ + abort (); /* ARI: abort */ exit (1); } } -- 2.30.2