From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26427 invoked by alias); 15 Nov 2012 17:21:53 -0000 Received: (qmail 26415 invoked by uid 22791); 15 Nov 2012 17:21:49 -0000 X-SWARE-Spam-Status: No, hits=-7.6 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 15 Nov 2012 17:21:41 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id qAFHLQZQ022125 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 15 Nov 2012 12:21:28 -0500 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id qAFHLN2C016338; Thu, 15 Nov 2012 12:21:24 -0500 Message-ID: <50A52493.70807@redhat.com> Date: Thu, 15 Nov 2012 17:21:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121029 Thunderbird/16.0.2 MIME-Version: 1.0 To: Eli Zaretskii CC: gnu@toad.com, mark.kettenis@xs4all.nl, brobecker@adacore.com, gdb@sourceware.org Subject: Re: Time to expand "Program received signal" ? References: <50A13A4E.3020000@redhat.com> <20121113162530.GX4847@adacore.com> <201211131640.qADGeKhs021376@glazunov.sibelius.xs4all.nl> <50A281BC.9030802@redhat.com> <201211132240.qADMeB2N032392@new.toad.com> <50A371C6.3080307@redhat.com> <201211141954.qAEJsQ2N026469@new.toad.com> <50A4C5AA.70304@redhat.com> <83mwyiu7j6.fsf@gnu.org> In-Reply-To: <83mwyiu7j6.fsf@gnu.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2012-11/txt/msg00036.txt.bz2 On 15-11-2012 16:59, Eli Zaretskii wrote: >> Date: Thu, 15 Nov 2012 10:36:26 +0000 >> From: Pedro Alves >> CC: Mark Kettenis , brobecker@adacore.com, gdb@sourceware.org >> >>> GDB shouldn't mention >>> threads at all, unless the program being debugged has more than a >>> single thread. >> >> See? If it has a single thread, GDB calls that thread "thread 1". > > To propose a compromise: can we call the only thread "main thread" > instead of "thread 1"? Not really. You can end up with one thread in the list, even after the "main thread" having exited. Then, if you have two inferiors, each of them is non-threaded, saying "main thread" still doesn't tell you which of the inferiors got the signal. My previous paste hinted at it. We could say "inferior N" instead, but it's just much simpler to always call the single thread in single-threaded inferiors a thread, rather than having to explain (and care for) the special case of non-threaded vs single-threaded. I'd very much dislike that inconsistency. I wouldn't even know how to distinguish the cases, since with remote debugging, GDB has no clue on whether the other end is threaded or not. Some other points: It makes no sense to me to have "thread apply all FOO" do nothing for non-threaded inferiors. E.g., this allows things like "b foo thread 1" to refer to the main "thread" of a non-threaded program, even if it becomes threaded by a later dlopen. Etc. > >> GDB's model calls the unit of scheduling in the inferior that got >> the signal "Thread N". You can "thread N" to switch to it. >> >> (gdb) maint print target-stack >> The current target stack is: >> - child (Unix child process) >> - exec (Local exec file) >> - None (None) >> (gdb) info threads >> Id Target Id Frame >> * 1 process 9939 "break" main (argc=1, argv=0x7fffffffdc48, envp=0x7fffffffdc58) at ../../../src/gdb/testsuite/gdb.base/break.c:89 > > This just says that GDB's model is self-consistent. Being consistent > doesn't necessarily mean being correct ;-) Nor wrong. But self-consistent is certainly better than inconsistent. -- Pedro Alves