From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id BD3AE3858CDB; Mon, 23 Jan 2023 15:33:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BD3AE3858CDB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1674488007; bh=bBiMDM954+mxnZj9jkd0G83zUW0C2Gpto6vK5cFnu7U=; h=From:To:Subject:Date:In-Reply-To:References:From; b=hWW6y5xawinfOF/cNeC7FzLkeeh+bUbCqZyvW4iUppVZUwhdXeV1tdYp0UKtJOiK7 qSJYcxFvKKy3JrpX0IIsKXzQBs1815w5PaWdVJMEmS6+6iWXmq9sFylzDiWN+sGGF5 3bO/j7uZtEOtWY3/NIZ7EqXQQgb8j24Obp+LScNk= From: "vries at gcc dot gnu.org" To: gdb-prs@sourceware.org Subject: [Bug tdep/30021] [gdb/tdep, powerpc64le] previous frame inner to this frame (corrupt stack?) Date: Mon, 23 Jan 2023 15:33:27 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: tdep X-Bugzilla-Version: HEAD X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: vries 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: cc 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=3D30021 Tom de Vries changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |cel at us dot ibm.com, | |kevinb at redhat dot com, | |ulrich.weigand at de dot i= bm.com --- Comment #2 from Tom de Vries --- With gcc 4.8.5, I'm running into FAILs in gdb.base/unwind-on-each-insn.exp, which I assume are a duplicate of this one, for the reason that the same in= sn triggers the problem: ... FAIL: gdb.base/unwind-on-each-insn.exp: instruction 5: $fba_value =3D=3D $m= ain_fba FAIL: gdb.base/unwind-on-each-insn.exp: instruction 5: [string equal $fid $main_fid] ... Disassembly of foo: ... 00000000100006dc : 100006dc: f8 ff e1 fb std r31,-8(r1) 100006e0: d1 ff 21 f8 stdu r1,-48(r1) 100006e4: 78 0b 3f 7c mr r31,r1 100006e8: 30 00 3f 38 addi r1,r31,48 100006ec: f8 ff e1 eb ld r31,-8(r1) 100006f0: 20 00 80 4e blr ... Minimal reproducer: ... $ gdb -q -batch outputs/gdb.base/unwind-on-each-insn/unwind-on-each-insn \ -ex "set trace-commands on" \ -ex "b *foo + 12" \ -ex "display /x \$r1" \ -ex "display /x \$r31" \ -ex run \ -ex "info frame" \ -ex "si" \ -ex "info frame" \ -ex si \ -ex "info frame" +b *foo + 12 Breakpoint 1 at 0x100006e8 +display /x $r1 +display /x $r31 +run Breakpoint 1, 0x00000000100006e8 in foo () 1: /x $r1 =3D 0x7fffffffec80 2: /x $r31 =3D 0x7fffffffec80 +info frame Stack level 0, frame at 0x7fffffffecb0: pc =3D 0x100006e8 in foo; saved pc =3D 0x100006b0 called by frame at 0x7fffffffed20 Arglist at 0x7fffffffec80, args:=20 Locals at 0x7fffffffec80, Previous frame's sp is 0x7fffffffecb0 Saved registers: r31 at 0x7fffffffeca8 +si 0x00000000100006ec in foo () 1: /x $r1 =3D 0x7fffffffecb0 2: /x $r31 =3D 0x7fffffffec80 +info frame Stack level 0, frame at 0x7fffffffecb0: pc =3D 0x100006ec in foo; saved pc =3D 0x100006b0 called by frame at 0x7fffffffecf0 Arglist at 0x7fffffffec80, args:=20 Locals at 0x7fffffffec80, Previous frame's sp in r1 +si 0x00000000100006f0 in foo () 1: /x $r1 =3D 0x7fffffffecb0 2: /x $r31 =3D 0x7fffffffecb0 +info frame Stack level 0, frame at 0x7fffffffecb0: pc =3D 0x100006f0 in foo; saved pc =3D 0x100006b0 called by frame at 0x7fffffffed20 Arglist at 0x7fffffffecb0, args:=20 Locals at 0x7fffffffecb0, Previous frame's sp in r1 ... Note this line: ... called by frame at 0x7fffffffed20 ... called by frame at 0x7fffffffecf0 ... called by frame at 0x7fffffffed20 ... It's correct for the insn first insn (at 100006e8), which is not unwound by= the epilogue unwinder. It's also correct for the last insn (at 100006f0), which is unwound by the epilogue unwinder. It not correct for the middle insn (at 100006ec), which is also unwound by = the epilogue unwinder. --=20 You are receiving this mail because: You are on the CC list for the bug.=