| Message ID | 289d2478-6150-4499-a367-426ab9c88a40@gmx.de |
|---|---|
| State | New |
| Headers |
Return-Path: <gdb-patches-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 136D14BA2E33 for <patchwork@sourceware.org>; Wed, 3 Jun 2026 12:12:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 136D14BA2E33 Authentication-Results: sourceware.org; dkim=fail reason="signature verification failed" (2048-bit key, secure) header.d=gmx.de header.i=ronald.hecht@gmx.de header.a=rsa-sha256 header.s=s31663417 header.b=Lct6JBpY X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by sourceware.org (Postfix) with ESMTPS id 65C854BA2E05 for <gdb-patches@sourceware.org>; Wed, 3 Jun 2026 12:11:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 65C854BA2E05 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 65C854BA2E05 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=212.227.15.15 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1780488713; cv=none; b=qwOXbllTU4UgGwvZwR5oMRQCp42nwL9Si3Jqi5StLAFcM0dMrLQ3qUPavt4vPAwmfAuzC+zbi8bFxPzMlf7ut7k4TulEwKKjgpn6bt8y2vTuZEYur2XP1b+2Q00GkAKVv2m3TCJ0CqvR7CWusTsmuR2KUZuzpt3DokHlUQEBp9o= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1780488713; c=relaxed/simple; bh=94b32IAcj4CxnPMp5c0qKD3Zl257F8q/3M3uLnCtslM=; h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject; b=Z4qIakd0nk+r3lhwtlRqrbpkwSzfPWFEHp6IOSxClIm0jYqFDzqnq6nbCdzQnWQ18vG+fscT2pC0hvxK539JjRN9wN2yAqBpMFVLfStUbqLiDWFqew74y4stI+8wbQMq/Y3xN58nT+FONg7ysMTbfOxTL0i9RE+4GURBpD4dnHw= 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=Lct6JBpY DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 65C854BA2E05 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1780488709; x=1781093509; i=ronald.hecht@gmx.de; bh=Bjez0eOvl1z1GDdat5eh5/tLXLYRbA2bOy2HZAur/i0=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version:To: From:Subject:cc:content-transfer-encoding:content-type:date:from: message-id:mime-version:reply-to:subject:to; b=Lct6JBpYlUihXgUf64lHRaMkMyoC5YfTaNUqKveUxwIL38CFv18b9T/5jOfH3ArW TMTRq88eJBqLv8Fvg2tZyZ2+OGP0TthCmKHFpdT38mseDjw5h3RM1umJOENKYjiPX KA39fRYliwB9lwCzZf5fl5Vbe1DTFWEYHO7Wyj/mVepMTRtaw5UYc4WUV6lh8xXGS RtHHwj0N1qLTxw/VGyLmgSgqDm6/xyqEkXKdlN8Qs4f/IRk4VKD7eSC/FfxXLsan6 9Sh0fs4FgFW3u0hVaLWVO+utxzCttW1esnEuGbCuQ/Dnmju0IIKpPc+hyV/caauiy yf/jtLX6V+5JlGKbaQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from client.hidden.invalid by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M2wGs-1wY2lk3xsa-00518Z for <gdb-patches@sourceware.org>; Wed, 03 Jun 2026 14:11:49 +0200 Content-Type: multipart/mixed; boundary="------------yAbZpPrhYpl2xhcuBp6NSm0F" Message-ID: <289d2478-6150-4499-a367-426ab9c88a40@gmx.de> Date: Wed, 3 Jun 2026 14:11:48 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: gdb-patches@sourceware.org From: Ronald Hecht <ronald.hecht@gmx.de> Subject: [PATCH] gdb: z80: Guard against missing symtab in skip_prologue X-Provags-ID: V03:K1:Z0FVnf6+ZRSJ0yl7mkYDBauR2jgjPRW3YCoKLnSd4grAJVP6Zaz EkbpPvF235751/VpfaVIW9aaRF0Q+mQh6kcjnl4VCrFyoUKbk3S8lTG2eg2pISh+IZWdC0h jDk8Y+rMCcGhMvaU+JHnAibPOGMLOlusmSUFJAQq5uQ0scTJ1z/7dP4oVpAVTGyrg/mkf20 isrL79SMv4xGwUDrgLSvQ== UI-OutboundReport: notjunk:1;M01:P0:yHmgDTufZzg=;w1SaCJ7ynu3NbfW9vpQTRrFWU2J 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 X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, HTML_MESSAGE, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP, URIBL_BLOCKED shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list <gdb-patches.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=subscribe> Errors-To: gdb-patches-bounces~patchwork=sourceware.org@sourceware.org |
| Series |
gdb: z80: Guard against missing symtab in skip_prologue
|
|
Checks
| Context | Check | Description |
|---|---|---|
| linaro-tcwg-bot/tcwg_gdb_build--master-arm | success | Build passed |
| linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 | success | Build passed |
| linaro-tcwg-bot/tcwg_gdb_check--master-arm | success | Test passed |
| linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 | fail | Patch failed to apply |
Commit Message
Ronald Hecht
June 3, 2026, 12:11 p.m. UTC
|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=34198 |
Comments
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=34198 | > 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 != 0) > { > struct symtab_and_line prologue_sal = find_sal_for_pc (func_addr, 0); > - struct compunit_symtab *compunit = prologue_sal.symtab->compunit (); > - const char *debug_format = compunit->debugformat (); > - > - if (debug_format != NULL && > - !strncasecmp ("dwarf", debug_format, strlen("dwarf"))) > - return std::max (pc, prologue_end); > + if (prologue_sal.symtab != nullptr) > + { > + struct compunit_symtab *compunit = prologue_sal.symtab->compunit (); > + if (compunit != 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
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 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=34198 | >> 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 != 0) >> { >> struct symtab_and_line prologue_sal = find_sal_for_pc (func_addr, 0); >> - struct compunit_symtab *compunit = prologue_sal.symtab->compunit (); >> - const char *debug_format = compunit->debugformat (); >> - >> - if (debug_format != NULL && >> - !strncasecmp ("dwarf", debug_format, strlen("dwarf"))) >> - return std::max (pc, prologue_end); >> + if (prologue_sal.symtab != nullptr) >> + { >> + struct compunit_symtab *compunit = prologue_sal.symtab->compunit (); >> + if (compunit != 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
On 6/4/26 2:58 AM, Ronald Hecht wrote: > 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 check removed, matching your suggestion. > > Best, Thanks, I used the text from your bug report as a commit message and pushed the patch. Simon
From 14a45c8bd64db9c6c41c75bd9a7de2c95935e9f2 Mon Sep 17 00:00:00 2001 From: Ronald Hecht <r.hecht@astech.de> Date: Wed, 3 Jun 2026 14:05:07 +0200 Subject: [PATCH] gdb: z80: Guard against missing symtab in skip_prologue Signed-off-by: Ronald Hecht <r.hecht@astech.de> --- gdb/z80-tdep.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/gdb/z80-tdep.c b/gdb/z80-tdep.c index f7e207d0..f2e9b09e 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 != 0) { struct symtab_and_line prologue_sal = find_sal_for_pc (func_addr, 0); - struct compunit_symtab *compunit = prologue_sal.symtab->compunit (); - const char *debug_format = compunit->debugformat (); - - if (debug_format != NULL && - !strncasecmp ("dwarf", debug_format, strlen("dwarf"))) - return std::max (pc, prologue_end); + if (prologue_sal.symtab != nullptr) + { + struct compunit_symtab *compunit = prologue_sal.symtab->compunit (); + if (compunit != nullptr) + { + const char *debug_format = compunit->debugformat (); + if (debug_format != nullptr + && !strncasecmp ("dwarf", debug_format, strlen ("dwarf"))) + return std::max (pc, prologue_end); + } + } } return pc; -- 2.43.0