From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id LpEKIVYjIWqw4DMAWB0awg (envelope-from ) for ; Thu, 04 Jun 2026 03:03:50 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; secure) header.d=gmx.de header.i=ronald.hecht@gmx.de header.a=rsa-sha256 header.s=s31663417 header.b=WPd1E8IR; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 592BB1E0A6; Thu, 04 Jun 2026 03:03:50 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,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 43EC31E024 for ; Thu, 04 Jun 2026 03:03:49 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9752B4BAD17B for ; Thu, 4 Jun 2026 07:03:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9752B4BAD17B Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=gmx.de header.i=ronald.hecht@gmx.de header.a=rsa-sha256 header.s=s31663417 header.b=WPd1E8IR Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by sourceware.org (Postfix) with ESMTPS id 756E74BA2E0D for ; Thu, 4 Jun 2026 07:03:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 756E74BA2E0D Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 756E74BA2E0D Authentication-Results: sourceware.org; arc=none smtp.remote-ip=212.227.15.19 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1780556601; cv=none; b=VT57DzVqVHxlY6whn3M5ouPQHedWFNrGMWOsFRwnyc1QXDJioXlbQrsRT+JZvXhYNA/ZMGNY8KHs8BviocisSEhlYlCQUcF703CXP5n0jeiLnPJjCvcJA2pGzcRBPG8MP6ZjQbktIGoaE9BafufJ5tNGXWfjcbHtJToiRmyQrxA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1780556601; c=relaxed/simple; bh=V83mkorq/mpQCM5UnwP+lthtkF+WlgDtLrdB03SRLj0=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=HsSZyg1NWU9/9eXcn0FCaYXeyb27hy/mQaR/yXYFfSI34rxdii02evhRmt/5uFipTJ0S2HacejDU3wgImIadIlTAg02Epmxsoie24wBRt2Unc80jDooQ9H51adpjTP2ZZt/QuMRpT6dIcBrjZh1h4rhHxjCXlvizTa8IBOGx7/E= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, secure) header.d=gmx.de header.i=ronald.hecht@gmx.de header.a=rsa-sha256 header.s=s31663417 header.b=WPd1E8IR DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 756E74BA2E0D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780556595; x=1781161395; i=ronald.hecht@gmx.de; bh=tNt1/JEI2DZOcnXW9mjqMf8e0xHihbcq4YGqnXfEQ5Y=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version: Subject:To:References:From:In-Reply-To:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=WPd1E8IRy7vLxnp6pCWTLCEFQz7iwdD7jshrPUK58PDcHJknL0C+kgCIEmkJsEUF j4vLJzHvvgfF49X8ETZ3AGGXjjyGNTrBJIo7pZDSf9s5y6MRWGxNBS0IUVBvoxPoj UghvIKpmAqCHkd3Su3JqKZpm+paIZCKGqKETBddL9f5/x0yLm7jWp2L2dLCM3kAQr j2rKbckugPtCK4622HYPdELCWign0UP+makeNRs/CmV2YuBYvdgRLT3D/QEGnOdmK 45hYykLot05nKeAmNGIJG71dkhlixIsdlPfevlGDKgAxJsdxFA79NcciCDogdO8Yl JYka0SRBa00BxUlXlQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from client.hidden.invalid by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M2f5Z-1wYcOr00nn-004qTQ for ; Thu, 04 Jun 2026 08:58:10 +0200 Content-Type: multipart/mixed; boundary="------------cZo6tMZDKyY0FkSsbQeI0y93" Message-ID: <0b20f5db-d812-496d-a2b9-7732f6305646@gmx.de> Date: Thu, 4 Jun 2026 08:58:06 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PP?] [PATCH] gdb: z80: Guard against missing symtab in skip_prologue To: gdb-patches@sourceware.org References: <289d2478-6150-4499-a367-426ab9c88a40@gmx.de> Content-Language: en-US From: Ronald Hecht In-Reply-To: X-Provags-ID: V03:K1:cLGw+vFgHFX8VUDAEb3lJuLERP/Cqt3bvNhjFeUhvlwLu2QXX3b qpU38BqxpChFbcoRxlZtDdkVRjEtefH+ocN7DRTJhuF4Gq9XFYeq1XQL9F4A7BusaMhmlgF PxuouQLbrXkx1L+X2e8g8dvWh4mCdfvseBhY3Zu577fMcI2HZ+YLvTBi3Aiz457AF3gTR3R 2ByNVddZuIJQ9V3sDGw6Q== UI-OutboundReport: notjunk:1;M01:P0:cScfqUHPRUw=;NJfgPYd5yfP6VwNCAKvOo2zwtv4 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 qAPGciGadtZdrxibhM= 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 This is a multi-part message in MIME format. --------------cZo6tMZDKyY0FkSsbQeI0y93 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi Simon, yes, that's fine with me. Thanks for cleaning it up and pushing it. For reference, I attached the adjusted patch with the compunit nullptr=20 check removed, matching your suggestion. Best, Ronald On 6/3/26 17:32, Simon Marchi wrote: > On 6/3/26 8:11 AM, Ronald Hecht wrote: >> |Hi, this is the patch from PR tdep/34198. It fixes an internal >> segmentation fault in z80_skip_prologue when setting "break main" on >> some Z80 binaries. "break *main" works, which points at the >> prologue/SAL path. Regression-tested manually with the reproducer from >> the PR. Thanks, Ronald >> https://sourceware.org/bugzilla/show_bug.cgi?id=3D34198 | >> diff --git a/gdb/z80-tdep.c b/gdb/z80-tdep.c >> index f7e207d02ec3..f2e9b09e3b91 100644 >> --- a/gdb/z80-tdep.c >> +++ b/gdb/z80-tdep.c >> @@ -495,12 +495,17 @@ z80_skip_prologue (struct gdbarch *gdbarch, CORE_= ADDR pc) >> if (prologue_end !=3D 0) >> { >> struct symtab_and_line prologue_sal =3D find_sal_for_pc (func_a= ddr, 0); >> - struct compunit_symtab *compunit =3D prologue_sal.symtab->compun= it (); >> - const char *debug_format =3D compunit->debugformat (); >> - >> - if (debug_format !=3D NULL && >> - !strncasecmp ("dwarf", debug_format, strlen("dwarf"))) >> - return std::max (pc, prologue_end); >> + if (prologue_sal.symtab !=3D nullptr) >> + { >> + struct compunit_symtab *compunit =3D prologue_sal.symtab->com= punit (); >> + if (compunit !=3D nullptr) > symtab->compunit() can't return nullptr, so I wouldn't add this check > (that method should be modified to return a reference, to make it > clear). > > The patch looks good otherwise. Would you be ok with me pushing your > patch with that change? > > Simon --------------cZo6tMZDKyY0FkSsbQeI0y93 Content-Type: text/x-patch; charset=UTF-8; name="z80-skip-prologue-nullcheck-v2.patch" Content-Disposition: attachment; filename="z80-skip-prologue-nullcheck-v2.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2dkYi96ODAtdGRlcC5jIGIvZ2RiL3o4MC10ZGVwLmMKaW5kZXggZjdl MjA3ZDAuLjBjNmUxYTJhIDEwMDY0NAotLS0gYS9nZGIvejgwLXRkZXAuYworKysgYi9nZGIv ejgwLXRkZXAuYwpAQCAtNDk1LDEyICs0OTUsMTUgQEAgejgwX3NraXBfcHJvbG9ndWUgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBDT1JFX0FERFIgcGMpCiAgIGlmIChwcm9sb2d1ZV9l bmQgIT0gMCkKICAgICB7CiAgICAgICBzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lIHByb2xvZ3Vl X3NhbCA9IGZpbmRfc2FsX2Zvcl9wYyAoZnVuY19hZGRyLCAwKTsKLSAgICAgIHN0cnVjdCBj b21wdW5pdF9zeW10YWIgKmNvbXB1bml0ID0gcHJvbG9ndWVfc2FsLnN5bXRhYi0+Y29tcHVu aXQgKCk7Ci0gICAgICBjb25zdCBjaGFyICpkZWJ1Z19mb3JtYXQgPSBjb21wdW5pdC0+ZGVi dWdmb3JtYXQgKCk7Ci0KLSAgICAgIGlmIChkZWJ1Z19mb3JtYXQgIT0gTlVMTCAmJgotCSAh c3RybmNhc2VjbXAgKCJkd2FyZiIsIGRlYnVnX2Zvcm1hdCwgc3RybGVuKCJkd2FyZiIpKSkK LQlyZXR1cm4gc3RkOjptYXggKHBjLCBwcm9sb2d1ZV9lbmQpOworICAgICAgaWYgKHByb2xv Z3VlX3NhbC5zeW10YWIgIT0gbnVsbHB0cikKKyAgICAgICAgeworICAgICAgICAgIHN0cnVj dCBjb21wdW5pdF9zeW10YWIgKmNvbXB1bml0ID0gcHJvbG9ndWVfc2FsLnN5bXRhYi0+Y29t cHVuaXQgKCk7CisgICAgICAgICAgY29uc3QgY2hhciAqZGVidWdfZm9ybWF0ID0gY29tcHVu aXQtPmRlYnVnZm9ybWF0ICgpOworCisgICAgICAgICAgaWYgKGRlYnVnX2Zvcm1hdCAhPSBu dWxscHRyCisgICAgICAgICAgICAgICYmICFzdHJuY2FzZWNtcCAoImR3YXJmIiwgZGVidWdf Zm9ybWF0LCBzdHJsZW4gKCJkd2FyZiIpKSkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om1h eCAocGMsIHByb2xvZ3VlX2VuZCk7CisgICAgICAgIH0KICAgICB9CiAKICAgcmV0dXJuIHBj Owo= --------------cZo6tMZDKyY0FkSsbQeI0y93--