From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26376 invoked by alias); 9 Sep 2018 13:57:28 -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 26364 invoked by uid 89); 9 Sep 2018 13:57:27 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: smtp.eu.adacore.com Received: from mel.act-europe.fr (HELO smtp.eu.adacore.com) (194.98.77.210) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 09 Sep 2018 13:57:25 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id D770D81391; Sun, 9 Sep 2018 15:57:23 +0200 (CEST) Received: from smtp.eu.adacore.com ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LRJ3riKPRFi5; Sun, 9 Sep 2018 15:57:23 +0200 (CEST) Received: from dev192-150-182-225.eduroam.manchester.ac.uk (unknown [192.150.182.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.eu.adacore.com (Postfix) with ESMTPSA id A7E478138F; Sun, 9 Sep 2018 15:57:23 +0200 (CEST) Subject: Re: [RFA 5/5 v2] Darwin: fix SIGTRAP when debugging To: Simon Marchi , gdb-patches@sourceware.org Cc: brobecker@adacore.com, simon.marchi@polymtl.ca, tom@tromey.com References: <1536499653-10033-1-git-send-email-roirand@adacore.com> From: Xavier Roirand Message-ID: <4e353362-0808-11dc-dbca-63e3aa58b6ec@adacore.com> Date: Sun, 09 Sep 2018 13:57:00 -0000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2018-09/txt/msg00234.txt.bz2 Le 9/9/18 à 3:55 PM, Simon Marchi a écrit : > On 2018-09-09 02:27 PM, Xavier Roirand wrote: >> Debugging a program under Darwin does not work: >> >> (gdb) start >> Temporary breakpoint 1 at 0x100000fb4: file /tmp/helloworld.c, line 1. >> Starting program: /private/tmp/helloworld >> [New Thread 0x2903 of process 60326] >> During startup program terminated with signal SIGTRAP, Trace/breakpoint >> trap. >> >> Field signaled from darwin_thread_info is not initialized thus signal >> sent to the debuggee is considered as not sent by GDB whereas it should. >> >> This patch fixes this problem and also updates (change type, initialize) >> single_step value in the same structure at the same time. >> >> gdb/ChangeLog: >> >> * darwin-nat.h (struct darwin_thread_info) : Change >> type and initialize. >> (struct darwin_thread_info) : Change type and >> initialize. >> >> Change-Id: I0fe2a6985df9d0dfcc8a2a258a3ef70cfa19b403 >> --- >> gdb/darwin-nat.h | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/gdb/darwin-nat.h b/gdb/darwin-nat.h >> index 5965df08ab6..4232b5e0365 100644 >> --- a/gdb/darwin-nat.h >> +++ b/gdb/darwin-nat.h >> @@ -126,10 +126,10 @@ struct darwin_thread_info : public private_thread_info >> enum darwin_msg_state msg_state; >> >> /* True if this thread is single-stepped. */ >> - unsigned char single_step; >> + bool single_step = 0; >> >> /* True if a signal was manually sent to the thread. */ >> - unsigned char signaled; >> + bool signaled = 0; >> >> /* The last exception received. */ >> struct darwin_exception_msg event; >> > > As mentioned in the last review, I think all files should be initialized to a > sensible value, either to a constant value or by the constructor. This is > what I would suggest, on top of your patch (not tested). Would that work > for you? > > I woud have think of two patches, one for the signaled field and one for whole field initialization but that's not a problem to merge in one. I'll do this.