public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
From: "vries at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org>
To: gdb-prs@sourceware.org
Subject: [Bug record/29721] [gdb, record, aarch64] FAIL: gdb.reverse/solib-precsave.exp: reverse-next third shr1
Date: Mon, 16 Jan 2023 10:43:39 +0000	[thread overview]
Message-ID: <bug-29721-4717-2RNTy0wfbD@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-29721-4717@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=29721

--- Comment #16 from Tom de Vries <vries at gcc dot gnu.org> ---
First sign of trouble:
...
    [infrun] bpstat_check_breakpoint_conditions: incorrect frame
{stack=0xfffffffff320,code=0x0000fffff7f9d594,!special} not
{stack=0xfffffffff330,code=0x0000fffff7f9d594,!special}, not stopping
...

Using additional_flags=-fasynchronous-unwind-tables works around this.

On x86_64, using additional_flags=-fno-asynchronous-unwind-tables to drop the
cfi info, the problem doesn't trigger.

With x86_64, we have:
...
000000000000050a <shr1>:
 50a:   55                      push   %rbp
 50b:   48 89 e5                mov    %rsp,%rbp
 50e:   48 89 7d f8             mov    %rdi,-0x8(%rbp)
 512:   90                      nop
 513:   5d                      pop    %rbp
 514:   c3                      ret
...
and at the first insn:
...
1: /x $pc = 0x7ffff7ff150a
2: /x $sp = 0x7fffffffdad8
3: /x $rbp = 0x7fffffffdaf0
(gdb) info frame
Stack level 0, frame at 0x7fffffffdae0:
 rip = 0x7ffff7ff150a in shr1; saved rip = 0x4005df
 called by frame at 0x7fffffffdb00
 Arglist at 0x7fffffffdad0, args: 
 Locals at 0x7fffffffdad0, Previous frame's sp is 0x7fffffffdae0
 Saved registers:
  rip at 0x7fffffffdad8
...
and at the last insn:
...
1: /x $pc = 0x7ffff7ff1514
2: /x $sp = 0x7fffffffdad8
3: /x $rbp = 0x7fffffffdaf0
(gdb) info frame
Stack level 0, frame at 0x7fffffffdae0:
 rip = 0x7ffff7ff1514 in shr1; saved rip = 0x4005df
 called by frame at 0x7fffffffdb00
 Arglist at 0x7fffffffdaf0, args: 
 Locals at 0x7fffffffdaf0, Previous frame's sp is 0x7fffffffdae0
 Saved registers:
  rip at 0x7fffffffdad8
...
the same frame address (as well as the same $sp and $fp).

On aarch64 (with additional_flags=-fno-omit-frame-pointer
additional_flags=-mno-omit-leaf-frame-pointer added, to have more comparable
code), we have:
...
0000000000000594 <shr1>:
 594:   a9be7bfd        stp     x29, x30, [sp, #-32]!
 598:   910003fd        mov     x29, sp
 59c:   f9000fa0        str     x0, [x29, #24]
 5a0:   d503201f        nop
 5a4:   a8c27bfd        ldp     x29, x30, [sp], #32
 5a8:   d65f03c0        ret
...
and at the first insn:
...
1: /x $pc = 0xfffff7f9d594
2: /x $sp = 0xfffffffff320
3: /x $x29 = 0xfffffffff320
(gdb) info frame
Stack level 0, frame at 0xfffffffff320:
 pc = 0xfffff7f9d594 in shr1; saved pc = 0x400718
 called by frame at 0xfffffffff340
 Arglist at 0xfffffffff320, args: 
 Locals at 0xfffffffff320, Previous frame's sp is 0xfffffffff320
...
and at the last insn:
...
1: /x $pc = 0xfffff7f9d5a8
2: /x $sp = 0xfffffffff320
3: /x $x29 = 0xfffffffff320
(gdb) info frame
Stack level 0, frame at 0xfffffffff340:
 pc = 0xfffff7f9d5a8 in shr1; saved pc = 0xfffff7d68fa0
 called by frame at 0xfffffffff490
 Arglist at 0xfffffffff320, args: 
 Locals at 0xfffffffff320, Previous frame's sp is 0xfffffffff340
 Saved registers:
  x29 at 0xfffffffff320, x30 at 0xfffffffff328
...
so a different frame address (while having the same $sp and $fp).

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2023-01-16 10:43 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-25 13:30 [Bug record/29721] New: " vries at gcc dot gnu.org
2022-10-25 16:20 ` [Bug record/29721] " vries at gcc dot gnu.org
2022-10-26 11:56 ` blarsen at redhat dot com
2022-10-26 14:16 ` vries at gcc dot gnu.org
2022-10-26 14:36 ` blarsen at redhat dot com
2022-10-26 14:43 ` vries at gcc dot gnu.org
2022-10-26 14:47 ` vries at gcc dot gnu.org
2022-10-27 20:15 ` luis.machado at arm dot com
2022-11-02 14:05 ` vries at gcc dot gnu.org
2022-11-02 15:42 ` blarsen at redhat dot com
2022-11-08 16:08 ` blarsen at redhat dot com
2022-11-10 12:07 ` blarsen at redhat dot com
2022-11-10 12:40 ` luis.machado at arm dot com
2022-11-10 14:18 ` vries at gcc dot gnu.org
2022-11-10 14:20 ` vries at gcc dot gnu.org
2022-12-13 14:57 ` blarsen at redhat dot com
2023-01-16 10:43 ` vries at gcc dot gnu.org [this message]
2023-01-16 15:58 ` vries at gcc dot gnu.org
2023-01-16 16:40 ` vries at gcc dot gnu.org
2023-01-16 18:59 ` luis.machado at arm dot com
2023-01-16 19:39 ` vries at gcc dot gnu.org
2023-01-16 19:53 ` luis.machado at arm dot com
2023-01-16 19:57 ` vries at gcc dot gnu.org
2023-01-17 16:47 ` vries at gcc dot gnu.org
2023-01-19 13:42 ` vries at gcc dot gnu.org
2023-01-19 13:46 ` vries at gcc dot gnu.org
2023-01-19 13:47 ` vries at gcc dot gnu.org
2023-01-19 13:56 ` luis.machado at arm dot com
2023-01-19 14:00 ` vries at gcc dot gnu.org
2023-01-19 14:14 ` vries at gcc dot gnu.org
2023-01-19 14:28 ` blarsen at redhat dot com
2023-01-19 17:30 ` vries at gcc dot gnu.org
2023-01-20  8:57 ` blarsen at redhat dot com

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-29721-4717-2RNTy0wfbD@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: link
Be 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).