From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id zIBZIWDCxGpxcAMAWB0awg (envelope-from ) for ; Tue, 06 Oct 2026 05:41:52 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=PiWgCCgA; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 7149D1E04E; Tue, 06 Oct 2026 05:41:52 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HTML_MESSAGE, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 686C91E04E for ; Tue, 06 Oct 2026 05:41:51 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1C5284BB3BC7 for ; Tue, 6 Oct 2026 09:41:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1C5284BB3BC7 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=PiWgCCgA Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id C1DE04BA2E07 for ; Tue, 6 Oct 2026 09:41:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C1DE04BA2E07 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C1DE04BA2E07 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1791279684; cv=none; b=AA3SVEYO6KAC9F70vUUmCK/bmrdTplvMkOpE4T2Nsf2S4r/zYdhkgl1VPNoPZfMQznTzl0f97OaaR45Q1eUn40nIDcXxpnGdlSJC+oZY0ETguEwd/pIUZiDvFoX4pyA0OITinmTZXtvKu4oddvXEG+A3pg97CaKy1OOgXWjKF1Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1791279684; c=relaxed/simple; bh=SfFhYRwJT9gCBfTrx6Do12S5wbNbAALFAAcpNNe/REk=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=GOi644jEJOwpELZKbQ/fZF7kGk20aQmII8S54U2f3rX7pHQi4QSfnjSsudVEPfbsR676io4KvjbjJ3q0hvxMMktzsCNlFczr9W8sifCFTdvAmCCnts7c1pZTU3XQrzwl1tKOLJyVKnua/rlk+RZUxD+wcLhkXfwReg6+5Z1cJys= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=PiWgCCgA DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C1DE04BA2E07 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1791279684; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=0AyjKkFlYV6AuLTcSw8DYy3W5Wzk6Svre0KyHtgNuRM=; b=PiWgCCgAcb0rP5Q/6B+S+yZQdgvvrugakcUQF+nzHAl3g2zAedYmTX7jRlnDWqwMczItCJ XrrRC7HAeY9RLqL+zhhfEqbEtOi32ztXHb0Idp0iEMS+ufOUPNJIgoVmnP2Kps+UrbcVKe rw2h/Ftoimi6F9feM1mmOpl3OCvNrJk= Received: from mail-ua1-f71.google.com (mail-ua1-f71.google.com [209.85.222.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-570-XrtYHf-5PfqC2FSr24KCWQ-1; Tue, 06 Oct 2026 05:41:22 -0400 X-MC-Unique: XrtYHf-5PfqC2FSr24KCWQ-1 X-Mimecast-MFC-AGG-ID: XrtYHf-5PfqC2FSr24KCWQ_1791279681 Received: by mail-ua1-f71.google.com with SMTP id a1e0cc1a2514c-988b86c66e5so2023613241.0 for ; Tue, 06 Oct 2026 02:41:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1791279681; x=1791884481; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=0AyjKkFlYV6AuLTcSw8DYy3W5Wzk6Svre0KyHtgNuRM=; b=zbsc8UM/FhJhMFc54WUHO5nQ3J5b1yzSqcKK4VV2BKq7jxOAVTSC+1aSEdIT9tW6dK 5zNxJ04/MR7eWRh14dy1mRMKxzp2kJmBJsSp1BFWXQLlHpUTwPaPSamr5lyDHS6Vfv8J 537j09sCmzHrUG4AXA0VKe76TCw+z8JLOCOKiVfsNAaIsBNUnwu8gawvmg5MyhVeAvVX RG+/4zVXahEXlXcAYwJ3Xq9mnHdRoc6AomzBEfr5SOmMuoAggagC4geQIsFcSy2+Y31y HgmT6QbEPCvA4tch1QgbuqVAXF9g1uUqgLKfGePUbmhrpD334XiWdS1ZaAH8F/Rfuyj3 RcXg== X-Gm-Message-State: AFq9FYJvysrgGUc+0qM46bE+R5Vad8UmshsrPAAqNI4bgk179qXxTAEu TDNBwFll3hMST/w/lVrHTWCTarJrHCQ5/zz4rBxrFknhoqyZM+4GOohONvND31QmTigiyQ2dpE0 W1yduBz3IRme247ceOIe8Lju0lDx09fyg45/Vzl1NeN5OstYcc3hQWA64e2EA5ipeeOhvbgsH5v tzb3Gc+9uZ0XMe+xGZv97kLNCZIskm6FvEjb+rZQ== X-Gm-Gg: AYBFou3C2CbCOCdrKdEcvzCnvNZ0NUoFLgjqoMh5zOxm7063ayaM+Dxu9DoJMv2C7Xu BIDhLB+GK3pFsLY1+Up2Fa7lrmJmZup7WZEFTT8uOV75SX5bDNC65WUnM5/33HiKxHcDuCOMtGO BpwuKgDpGuvp2BMjGJP3F5rl5xNtN/56/0zntcHyPrrMTubv1fwehMyC8= X-Received: by 2002:a05:6102:a14f:b0:7b2:becd:1179 with SMTP id ada2fe7eead31-7c7e178502dmr348212137.44.1791279681197; Tue, 06 Oct 2026 02:41:21 -0700 (PDT) X-Received: by 2002:a05:6102:a14f:b0:7b2:becd:1179 with SMTP id ada2fe7eead31-7c7e178502dmr348209137.44.1791279680791; Tue, 06 Oct 2026 02:41:20 -0700 (PDT) MIME-Version: 1.0 References: <5d354be53ea21f4da7b446c6337d694c06c475f3.1791027408.git.aburgess@redhat.com> In-Reply-To: <5d354be53ea21f4da7b446c6337d694c06c475f3.1791027408.git.aburgess@redhat.com> From: Alexandra Petlanova Hajkova Date: Tue, 6 Oct 2026 11:41:06 +0200 X-Gm-Features: AclHuK8j679nNapIqMQY_B-QiaJCznjqRFI_sSlU7Vy-tl9B7RQdp7Z4X9wZZjE Message-ID: Subject: Re: [PATCH] gdb: support source tracking for multi-location breakpoints To: Andrew Burgess Cc: gdb-patches@sourceware.org X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: TqOX3nZlcjCOjZUlXszv97JyhDtBYxkNch82lCyWyqg_1791279681 X-Mimecast-Originator: redhat.com Content-Type: multipart/alternative; boundary="000000000000113b40065d28cdb3" X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org --000000000000113b40065d28cdb3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Oct 3, 2026 at 1:38=E2=80=AFPM Andrew Burgess = wrote: > Currently, when breakpoint source tracking is enabled (see 'set > breakpoint source-tracking enabled on'), GDB will not source track > multi-location breakpoints. > > As a first take this was fine, but I think that we can support source > tracking for some multi-location breakpoints. > > Source tracking only applies to breakpoints set based on a file and > line number, so the rest of this discussion is only concerned with > this case. This includes things like 'break file:line' and also > 'break line'. In the latter case GDB uses the current source file to > provide the filename, so the two cases are really equivalent. > > If we consider 'break file:line' then there are two ways that this can > resolve to multiple locations. > > First, if 'file:line' lands in an inline function, and the inline > function is inlined multiple times (or has an out-of-line > instantiation) then there can be multiple locations. However, there > is only a single source line for all of these breakpoint locations, > the original line in the single original file. > > > Hi Andrew, I like your approach. My initial restriction on all multi-threaded breakpoints was too broad. It's great the source-tracking actually works for the inlined functions. Thank you for your improvement, Alexandra --000000000000113b40065d28cdb3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable



On Sat, Oct 3, 2026 at 1:38=E2=80=AFPM Andrew Burgess <aburgess@redhat.com> = wrote:
Currently= , when breakpoint source tracking is enabled (see 'set
breakpoint source-tracking enabled on'), GDB will not source track
multi-location breakpoints.

As a first take this was fine, but I think that we can support source
tracking for some multi-location breakpoints.

Source tracking only applies to breakpoints set based on a file and
line number, so the rest of this discussion is only concerned with
this case.=C2=A0 This includes things like 'break file:line' and al= so
'break line'.=C2=A0 In the latter case GDB uses the current source = file to
provide the filename, so the two cases are really equivalent.

If we consider 'break file:line' then there are two ways that this = can
resolve to multiple locations.

First, if 'file:line' lands in an inline function, and the inline function is inlined multiple times (or has an out-of-line
instantiation) then there can be multiple locations.=C2=A0 However, there is only a single source line for all of these breakpoint locations,
the original line in the single original file.


Hi Andrew,

=C2=A0I like your approach. My initial= restriction on all multi-threaded breakpoints was too broad.
It&= #39;s great the source-tracking actually works for the inlined functions.

Thank you for your improvement,
Alexandra=
--000000000000113b40065d28cdb3--