public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
From: "aburgess at redhat dot com" <sourceware-bugzilla@sourceware.org> To: gdb-prs@sourceware.org Subject: [Bug gdb/29941] Inferior call strlen(p) gives segfaults in GDB 13, (somewhat?) works in GDB11 and GDB12 Date: Mon, 26 Dec 2022 12:59:11 +0000 [thread overview] Message-ID: <bug-29941-4717-T77Xe9GhN8@http.sourceware.org/bugzilla/> (raw) In-Reply-To: <bug-29941-4717@http.sourceware.org/bugzilla/> https://sourceware.org/bugzilla/show_bug.cgi?id=29941 Andrew Burgess <aburgess at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |13.1 CC| |aburgess at redhat dot com --- Comment #3 from Andrew Burgess <aburgess at redhat dot com> --- I think that for now a better fix would be something like the totally untested patch below which uses prepare_reinflate and reinflate. Simon has a patch on-list that removes the need for calling prepare_reinflate and reinflate, but I doubt that will be merged to the GDB13 branch, it's a pretty big change. Also worth noting that I can't reproduce the original failure on my x86-64 machine, and I don't have time to setup an environment where I can test this as a fix right now. ### START ### diff --git a/gdb/infcall.c b/gdb/infcall.c index c1db3e22189..ec9669a6b6a 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -848,6 +848,7 @@ call_function_by_hand_dummy (struct value *function, bool stack_temporaries = thread_stack_temporaries_enabled_p (call_thread.get ()); frame = get_current_frame (); + frame.prepare_reinflate (); gdbarch = get_frame_arch (frame); if (!gdbarch_push_dummy_call_p (gdbarch)) @@ -863,6 +864,8 @@ call_function_by_hand_dummy (struct value *function, "target calling convention."), get_function_name (funaddr, name_buf, sizeof (name_buf))); + frame.reinflate (); + if (values_type == NULL || values_type->is_stub ()) values_type = default_return_type; if (values_type == NULL) ### END ### -- You are receiving this mail because: You are on the CC list for the bug.
next prev parent reply other threads:[~2022-12-26 12:59 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-12-25 20:47 [Bug gdb/29941] New: " philippe.waroquiers at skynet dot be 2022-12-25 23:37 ` [Bug gdb/29941] " mark at klomp dot org 2022-12-26 7:39 ` vries at gcc dot gnu.org 2022-12-26 12:59 ` aburgess at redhat dot com [this message] 2022-12-26 13:08 ` vries at gcc dot gnu.org 2023-01-03 9:18 ` cvs-commit at gcc dot gnu.org 2023-01-03 10:53 ` cvs-commit at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-29941-4717-T77Xe9GhN8@http.sourceware.org/bugzilla/ \ --to=sourceware-bugzilla@sourceware.org \ --cc=gdb-prs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).