From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 921033854170; Fri, 21 Oct 2022 10:49:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 921033854170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1666349383; bh=7tRhJu/cRsFSj0HrugW4WvBmUZHabZ/OBhaEGqOuLgI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=k4cZUPq+5rfUOA3hSxHKSNsd9aeak4HoA5GcKIov8LjN7kiajCHx1MfZWhGPfEsIs wpWqN1kXJ34QVYVzVOw89rj3CwrhFbW+Acfo8xlicBcx8q/duCl4VKpzA3qXWChSik PPOsOuJ0VOGoIpq4zTfeqLO5Wueuch3FC/tSZ+zc= From: "cvs-commit at gcc dot gnu.org" To: gdb-prs@sourceware.org Subject: [Bug gdb/16678] record problem with recursion Date: Fri, 21 Oct 2022 10:49:42 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: gdb X-Bugzilla-Version: 7.7 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://sourceware.org/bugzilla/show_bug.cgi?id=3D16678 --- Comment #1 from cvs-commit at gcc dot gnu.org --- The master branch has been updated by Bruno Larsen : https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D49d7cd733a7f= 1b87aa1d40318b3d7c2b65aca5ac commit 49d7cd733a7f1b87aa1d40318b3d7c2b65aca5ac Author: Bruno Larsen Date: Fri Aug 19 15:11:28 2022 +0200 Change calculation of frame_id by amd64 epilogue unwinder When GDB is stopped at a ret instruction and no debug information is available for unwinding, GDB defaults to the amd64 epilogue unwinder, to be able to generate a decent backtrace. However, when calculating the frame id, the epilogue unwinder generates information as if the return instruction was the whole frame. This was an issue especially when attempting to reverse debug, as GDB would place a step_resume_breakpoint from the epilogue of a function if we were to attempt to skip that function, and this breakpoint should ideally have the current function's frame_id to avoid other problems such as PR record/16678. This commit changes the frame_id calculation for the amd64 epilogue, so that it is always the same as the dwarf2 unwinder's frame_id. It also adds a test to confirm that the frame_id will be the same, regardless of using the epilogue unwinder or not, thanks to Andrew Burgess. Co-Authored-By: Andrew Burgess --=20 You are receiving this mail because: You are on the CC list for the bug.=