From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 113670 invoked by alias); 19 Jul 2017 00:01:36 -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 113493 invoked by uid 89); 19 Jul 2017 00:01:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Kevin, Hx-languages-length:1568, H*o:Inc X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 19 Jul 2017 00:01:29 +0000 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6124F7C84E; Wed, 19 Jul 2017 00:01:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 6124F7C84E Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=kevinb@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 6124F7C84E Received: from pinnacle.lan (ovpn-116-35.phx2.redhat.com [10.3.116.35]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1864677E8E; Wed, 19 Jul 2017 00:01:28 +0000 (UTC) Date: Wed, 19 Jul 2017 00:01:00 -0000 From: Kevin Buettner To: Simon Marchi Cc: gdb-patches@sourceware.org Subject: Re: [PATCH v2 1/7] Add target method for converting thread handle to thread_info struct pointer Message-ID: <20170718170126.24f114b8@pinnacle.lan> In-Reply-To: References: <20170408224959.67164a27@pinnacle.lan> <20170408230651.45120811@pinnacle.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2017-07/txt/msg00267.txt.bz2 On Thu, 04 May 2017 23:26:20 -0400 Simon Marchi wrote: > On 2017-04-09 02:06, Kevin Buettner wrote: > > --- a/gdb/linux-thread-db.c > > +++ b/gdb/linux-thread-db.c > > @@ -1410,6 +1410,29 @@ thread_db_extra_thread_info (struct target_ops > > *self, > > return NULL; > > } > > > > +/* Return pointer to the thread_info struct which corresponds to > > + THREAD_HANDLE (having length HANDLE_LEN). */ > > +static struct thread_info * > > +thread_db_thread_handle_to_thread_info (struct target_ops *ops, > > + const gdb_byte *thread_handle, > > + int handle_len) > > +{ > > + struct thread_info *tp; > > + thread_t handle_tid; > > + > > + gdb_assert (handle_len == sizeof (handle_tid)); > > I assume this is always true, because if you are using libthread_db, it > implies that GDB is of the exact same architecture (32 bits vs 64 bits) > as the inferior? I'm about to submit a new patch set, but I decided that I ought to address this question... I had first thought that the answer to your question was "yes", but after thinking about it some more, I decided that it's not appropriate to generate an internal error (via a failed assert) for this case. It's possible to get here via a call from the python interface. We don't want user written code to generate internal errors. Therefore, I changed it to call error() when there's a handle size mismatch. Thanks for this review and all of the others too. They were very much appreciated. Kevin