From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sonic308-18.consmr.mail.ir2.yahoo.com (sonic308-18.consmr.mail.ir2.yahoo.com [77.238.178.146]) by sourceware.org (Postfix) with ESMTPS id 955993858D33 for ; Tue, 21 Nov 2023 17:28:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 955993858D33 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=yahoo.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=yahoo.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 955993858D33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=77.238.178.146 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700587691; cv=none; b=sGD7RrCTzjuMkIn8JX7MW4NFzJYYaFwM+Z9Z9mQjn98Ihq7ErzHxKAQSHHgYnWFW6fDovby252Q4f7/5MsTduE32q31J0NN/MfRG0DvdSYejDtbEdReKEpwNJcwYb3V2lbGxgpZwHWFM7p7RJc8AdW7Fwn08E9N4gvl7XnJtS2o= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700587691; c=relaxed/simple; bh=7sGUBSkoxMyKyHwfrBP9S+Xpd/C8qV/GP6AwxrwTOfE=; h=DKIM-Signature:Date:From:To:Message-ID:Subject:MIME-Version; b=DW9m3G71glRNpBCdkE2dMTDDSJaSaeiChAW6H8oUllXrI2gDtKANdiDTIrHuRubmwMYvFbnQkOW82Fx2rFGbqcBTEd43rLCQdSVMAwrrvZ14H8WE2g+QELJaIhEt1jBQZTwJU6Q8A+q3JF2JuMsHZ6PLgJwHEM1AgUVHh06Lh/4= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s2048; t=1700587688; bh=7sGUBSkoxMyKyHwfrBP9S+Xpd/C8qV/GP6AwxrwTOfE=; h=Date:From:To:In-Reply-To:References:Subject:From:Subject:Reply-To; b=uFQWIUQblFVZVqttgLfsyVCEFX7RejGPxqcryjzhWpjkWRk9bTe/DrP29uKRNpsrstFjPgbzKAaKg8ZQh+44MjFCRdPp7bakGETyqXrVtjf7qWI8q751Z8OMfE4/Cb9BXu2JEwt4u2nXfC1P12S3PbU5G4ar1X6Ue9DuntqkZKwGLBlUHSkfOyj1c6f6aYo7OQ7e0z9F2iZ9tLtBmiaQrqGCdy3wBx/LNS8KK8n0UO0t5YwbyR3M7yMhTK+VXRfTMQxJd6VBHT7vEvpvyFYh33BbDF+hG+CwlLdllscRkvfHtRzthxi62ptjFdySoeuM9iRSDuxM3w2APTksODcEgA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1700587688; bh=NXiAdzNy6ExFzBd8xCWjjODyqlJmaOV6eH0Oli1yeMN=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=SMZhD2p9NJcexRrTZ+f64mnMA6PVLsdwJ2oklG59QLD3pUti3zfiMoS8PHrVWqfwgpTYvIT8ZVarHjKk5E+lWpDStCk62PzvA0YWO23YWoFQJYMea8+jvpK8DAJWJWZLbmpXjjrGE5fcU233m1lJduAElMtJ3cLYULU6jbgnMMQOd1aNxMICZHTHCcemVrUnlA4gpHY+GKdS0g8zSSMRwXVZ5RtKZjKR3jvs8zXfzAFx6N9w7v5fIP9Rd5L3k7BcE7gkiUckjG2RednjXDmHDSjJqS35aYKQ2YArBaSa1u4QLbnnW81F8OMq2QfTeGjJAVenVdigfEF6s7bABvnECg== X-YMail-OSG: WSZ6q9YVM1lgDNZqMvZDyksDHlfcknyfpeFYNcMU0W0W0Pc6Zk19vzuygB.n_nH HpB9rxkrRNN1DKnx.hqmqclQp.9it6wyxxQIyWibB4RvsgBQm55uULq_gICK6x1ODS9SicX6s.Yq _LKXnq6KhJVQ.6_lwTRuyEI8DBzzWhil3VxfeEs0yKaciSZRfwgEWCimSE82hbl3pSjJmqgo_rvB JfKHxZfp93.KqnRmoPxSW1tnx3xlT93ZOe1DQPKGqiEtxgRSHO4ReVYc40aSz9Zha9fq4wHhObAF ga4EZyK4Kl3MvJj2GcNZM4HToN1gUOS075SuTBmAjA11M.th4ROK3g37uxUKBymch50Qdx8tBVTG eI9u..2xinzj.VHeBS7Bikw_iJCMpgMEIPWfwpU11KioYvJWFQGZy.tpcIQ1C7Nr4CBFvvllM4UY uPdEQGm8oEF32cjbje6S.sIQ_e1AY2YNw.Lh0QjFm8v4Tdtn8TFmVhgyRt7zj5a4Yf_8GG2M3J0s DovKOl.nuIIRVi8JtggZbOEEzta6aeljz.HVtEjA.7q.PcPd.p03XH526bKLwq_liY89cUtnSOh6 owJolL.D93QuEwLYIw9YiqKO_cmGikwjpsM_0AhPdtxQ7V7mLh5dqi4rcwSsyGYSzXRRG4wo.y_M Fnh3bBXghLa9NVYDPrPEU9FWnJaFb3NgJc7vL4xR19.rXfxw8DMW.51ObcE3vdTUYSjoqwf0L7z3 Vuk7yi2ZeF2rVIhZvWLO4e.2TU7YYqG01cqdT3XG7u.BIzE1N9F16TcqTNYcdrQYrHZex_DkhA8E JwSITO8smkuaaZEvTDYWgEYNGaLArA2lLADVNmIsWPiBaolj5wMaL.BzikFa_au2H2804XPqYLP7 Ll0TQCMcobFBHXsJ5qg_fviPNzGi9mu3Xpv2Xh4VAQ63RM2fnfILGJbTKrDvs_b1OZ2IV3U27CSz WlC55gzdZmLPUiGYBFZxNLwFxbWfsEhdUB.2liEZax8yvjNS4BYJe0IaPIbe3PYNHI9wChVSaS5i YKWcrlETjypRobXuKstWuaE_T5tVUgPISwwnM.TwXO2jToWzuCUoZ5Fwu4vmyi15gpqIg.FoXyna l0NgwT63FNVrlBb.qTVrox3gpDCaA7_BHqHygk9GQkEC0WFWeWSb5Hcsz68j.fWHiIFaMcvd7d8Y Jdca.0mLkDIKE0A00otb1C.IBKEkTFQN50cki2jp9apGskId.aYR1tvc3sWMgi4xG.eqgjnTdKxY CtZZBLFLfpt47yZCeHERQxqPVn2g.fvBKlaZWzLLOkegYJ2XY6UCICx7mYtDXIMIgsIOr5o93ba2 u4VIcd_dLx6LSddXbHVgsbMqI2De6D7rfiUr0OR5SbokLxdqevAeh9dAuxrXqaXYrH6.JdpifFGd qw6T5XQkyfwMcNALSfdHO1bv8XfVrMbnsy2YyHSUAolJA2YGdvSzScMNov.NK2IdHaiZOss5ob8p GzfzAC6b1tB7m0xlbMrDQa8_ZcBz9GG98MpG9DZJP8HwA85Lk3izzS1g7i.rWznV3am2i3jBEIIf 89Abc28QG3ftjfh4_a3iCLyR1GnAEmi5EEoF68mpWRULQbC7NGYopKRixNpbA0jkZeUJD3iFZVyi .MgDY6OMdH8kfblcQXJBS08Fo3lG6M0zqDqrZL8xgV89UJqYjZWj9CtfoVnPs0heATZ751Vkr126 g.MaUnq9MVaJozU_9ytVWF3gXWitBfnfh6vhZuGlYaqK_zTuJzn5Kubf4V8mBhWy9awxcpsFw2hb BiErGLBCFE5goRsiZ6sOXKEKymcJFH5HyL.71ApVSOCakdLQq_Tqjfj2lsZSkfkvIZR47DRm0afS a_osgmmw_C2SZC5rtgA2Kd0.H5V5b1hsYy6wQrFPdBB6Io4qKRioL0a.TQTEzj9XBNpfqWFiMkNn iSxeJZKjeUZHBwCfdUIa8mleHTXlYaJja0Pzpw9Et2rkHdqHRoXbRu1gV.ynoyYAVKpv9b87.UsB QI12obrQuDnxr_YYBs3eEiE4SgcJ4AYes71CctBgf3nXrU.dMwgrzlK9TaDLgSlHC8xumWSYENaj PXU0sQmY7bkqVYUjcPL2uF92.m17_a1N1Z1xrI25GydqtvakzJPEBakDNBTMcofjTUgRFbjaxcw2 HUiON0HL9lYWEObreO4yv4GY6qy7tIVf0ILXICOaCSu0_Nw8x6L.y52_Hs3MW8NZ0QuqkNtNZPGn NzsEcpC2_4amt X-Sonic-MF: X-Sonic-ID: 5a27c3dc-4fe1-4177-a1c3-bf634dea9eb2 Received: from sonic.gate.mail.ne1.yahoo.com by sonic308.consmr.mail.ir2.yahoo.com with HTTP; Tue, 21 Nov 2023 17:28:08 +0000 Date: Tue, 21 Nov 2023 17:28:06 +0000 (UTC) From: Hannes Domani To: "gdb-patches@sourceware.org" Message-ID: <1572481043.10136040.1700587686083@mail.yahoo.com> In-Reply-To: <20231106193047.2147-1-ssbssa@yahoo.de> References: <20231106193047.2147-1-ssbssa.ref@yahoo.de> <20231106193047.2147-1-ssbssa@yahoo.de> Subject: Re: [PATCH] Fix breakpoints on symbols with multiple trampoline symbols MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.21896 YMailNorrin X-Spam-Status: No, score=-8.9 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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: Ping. Am Montag, 6. November 2023, 20:31:22 MEZ hat Hannes Domani Folgendes geschrieben: > On mingw targets it's possible that there are multiple trampoline > symbols for __cxa_throw, in each module where a throw is done, but > without a corresponding global symbol. > Since commit 77f2120b200be6cabbf6f610942fc1173a8df6d3 they cancel each > other out in search_minsyms_for_name, which makes it impossible to set > a breakpoint there: > > (gdb) b __cxa_throw > Function "__cxa_throw" not defined. > Make breakpoint pending on future shared library load? (y or [n]) y > Breakpoint 2 (__cxa_throw) pending. > (gdb) c > Continuing. > [Inferior 1 (process 10004) exited with code 03] > > With catch throw it also doesn't work, and you don't even get an error > message: > > (gdb) catch throw > Catchpoint 2 (throw) > (gdb) c > Continuing. > [Inferior 1 (process 5532) exited with code 03] > (gdb) > > The fix is to simply ignore other trampoline symbols when looking for > corresponding global symbols, and it's working as expected: > > (gdb) b __cxa_throw > Breakpoint 2 at 0x13f091590 (2 locations) > (gdb) c > Continuing. > > Breakpoint 2.1, 0x000000013f091590 in __cxa_throw () > (gdb) > > And catch throw also works again: > > (gdb) catch throw > Catchpoint 2 (throw) > (gdb) c > Continuing. > > Catchpoint 2.1 (exception thrown), 0x000000013f181590 in __cxa_throw () > (gdb) > > Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=3D29548 > --- > gdb/linespec.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/gdb/linespec.c b/gdb/linespec.c > index fa733d880e3..2aa01819812 100644 > --- a/gdb/linespec.c > +++ b/gdb/linespec.c > @@ -4281,6 +4281,10 @@ search_minsyms_for_name (struct collect_info *info= , >=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (&item2 = =3D=3D &item) >=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 continue; > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Ignore other t= rampoline symbols.=C2=A0 */ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (item2.minsym-= >type () =3D=3D mst_solib_trampoline) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 continue; > + >=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Trampoline= symbols can only jump to exported >=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 symbols.=C2=A0 */ >=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (msymbol_t= ype_is_static (item2.minsym->type ())) > -- > 2.35.1