From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 56566 invoked by alias); 22 Nov 2019 23:12:11 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 56557 invoked by uid 89); 22 Nov 2019 23:12:10 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-14.0 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3 autolearn=ham version=3.3.1 spammy= X-HELO: mx1.osci.io Received: from polly.osci.io (HELO mx1.osci.io) (8.43.85.229) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 22 Nov 2019 23:12:09 +0000 Received: by mx1.osci.io (Postfix, from userid 994) id 0472220413; Fri, 22 Nov 2019 18:12:08 -0500 (EST) Received: from gnutoolchain-gerrit.osci.io (gnutoolchain-gerrit.osci.io [8.43.85.239]) by mx1.osci.io (Postfix) with ESMTP id 02656202EB; Fri, 22 Nov 2019 18:12:06 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by gnutoolchain-gerrit.osci.io (Postfix) with ESMTP id D350E2816F; Fri, 22 Nov 2019 18:12:06 -0500 (EST) X-Gerrit-PatchSet: 3 Date: Fri, 22 Nov 2019 23:12:00 -0000 From: "Tom Tromey (Code Review)" To: gdb-patches@sourceware.org Cc: Pedro Alves Auto-Submitted: auto-generated X-Gerrit-MessageType: comment Subject: [review v3] Introduce thread-safe way to handle SIGSEGV X-Gerrit-Change-Id: Ic832bbb033b64744e4b44f14b41db7e4168ce427 X-Gerrit-Change-Number: 171 X-Gerrit-ChangeURL: X-Gerrit-Commit: 63d5fca762abd2676a0e18373b55c82e12cf150d In-Reply-To: References: X-Gerrit-Comment-Date: Fri, 22 Nov 2019 18:12:06 -0500 Reply-To: gnutoolchain-gerrit@osci.io MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Disposition: inline User-Agent: Gerrit/3.0.3-79-g83ff7f88f1 Content-Type: text/plain; charset=UTF-8 Message-Id: <20191122231206.D350E2816F@gnutoolchain-gerrit.osci.io> X-SW-Source: 2019-11/txt/msg00757.txt.bz2 Tom Tromey has posted comments on this change. Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/171 ...................................................................... Patch Set 3: (1 comment) | --- gdb/cp-support.c | +++ gdb/cp-support.c | @@ -1477,17 +1480,17 @@ static bool catch_demangler_crashes = true; | | /* Stack context and environment for demangler crash recovery. */ | | -static SIGJMP_BUF gdb_demangle_jmp_buf; | +static thread_local SIGJMP_BUF *gdb_demangle_jmp_buf; | | /* If nonzero, attempt to dump core from the signal handler. */ | | -static int gdb_demangle_attempt_core_dump = 1; | +static std::atomic gdb_demangle_attempt_core_dump; PS3, Line 1487: > Is there anything ever initializing this to true? Oops, nope. I fixed this. > Makes me ponder about a maintenance command to force a SIGSEGV. I think there is one actually. I don't know if I want to try to unit test this or not. The current problem under discussion is maybe hard to check. What would be really great is to fuzz the demangler and fix all the bugs. Then we could ditch all of this code | | /* Signal handler for gdb_demangle. */ | | static void | gdb_demangle_signal_handler (int signo) | { | if (gdb_demangle_attempt_core_dump) | { | if (fork () == 0) -- Gerrit-Project: binutils-gdb Gerrit-Branch: master Gerrit-Change-Id: Ic832bbb033b64744e4b44f14b41db7e4168ce427 Gerrit-Change-Number: 171 Gerrit-PatchSet: 3 Gerrit-Owner: Tom Tromey Gerrit-Reviewer: Tom Tromey Gerrit-CC: Pedro Alves Gerrit-Comment-Date: Fri, 22 Nov 2019 23:12:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Pedro Alves Gerrit-MessageType: comment