From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 1D5583858D33 for ; Wed, 1 Feb 2023 17:37:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1D5583858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=simark.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=simark.ca Received: from [10.0.0.11] (unknown [217.28.27.60]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 8F7AB1E0D3; Wed, 1 Feb 2023 12:37:31 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=simark.ca; s=mail; t=1675273051; bh=V24c+2i9M0YJYE0OAVqLER7eNMedYZO52ANtP47EFWo=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=sf0UhuIqKX25O7fpHAC/xxFLgw122y3VItuB2D9NfgHNI+WFGBlufg0IYTKIszPjB 5IVQ34uDE+c9W02QI7Z+x3pMm9/ZwjhSKjnqBZvdWEpZF+5ITAucsj9cC08A88R62A 23RGu+cHm8G7OpvGcp4muG7Yx/fI5Uz0ZQfnyCVY= Message-ID: Date: Wed, 1 Feb 2023 12:37:31 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: [PATCH v3 5/8] gdbserver: Transmit target description ID in thread list and stop reply To: Andrew Burgess , Thiago Jung Bauermann via Gdb-patches Cc: Thiago Jung Bauermann , Simon Marchi References: <20230130044518.3322695-1-thiago.bauermann@linaro.org> <20230130044518.3322695-6-thiago.bauermann@linaro.org> <87lelhtwqv.fsf@redhat.com> Content-Language: en-US From: Simon Marchi In-Reply-To: <87lelhtwqv.fsf@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 2/1/23 07:07, Andrew Burgess via Gdb-patches wrote: > Thiago Jung Bauermann via Gdb-patches > writes: > >> Now that an inferior thread can have a different target description than >> its process, there needs to be a way to communicate this target >> description to GDB. So add the concept of a target description ID to the >> remote protocol, which is used to reference them and allows them to be >> transferred only once over the wire. >> >> The ID is an unsigned integer, and is sent in the 'T AA n1:r1;n2:r2;...' >> stop reply packet as a new 'n:r' pair, where n is "tdesc" and "r" is an >> unsigned integer containing the ID. >> >> It is also sent in the threads list XML in the response of a >> qXfer:threads:read request. The ID is sent as a new "tdesc" attribute of >> the node. >> >> To request the target description XML of a given ID, GDB sends the >> qXfer:features:read request with "target-id-%u.xml" as the annex, where %u >> is the target description ID. > > Luis already commented that in some locations the ID is hex, while in > others it is not explicitly stated if the value is hex or decimal. I'd > like to second that feedback, and suggest that we pick one, and use that > consistently throughout. > > My thinking is that it will be easier to understand remote packet traces > if target descriptions are requested using an ID in the safe format as > was sent to GDB, and if IDs in different packets match up. > > Thus, I would suggest we switch to using 'target-id-%x.xml' here, and > send the ID as hex in the threads reply packet. Not that I disagree with you, but I just wanted to note that this decimal / hexadecimal mismatch already exists for the core field. It's hex in stop replies, decimal in XML. The thread id, however, is always hex (the special thread-id syntax). Regardless how this new field is formatted, it would be nice to be explicit about the core field too. Simon