public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug tdep/14673] New: esp isn't updated in stack unwind
@ 2012-10-05  1:19 hjl.tools at gmail dot com
  2012-10-05  2:07 ` [Bug tdep/14673] Pseudo registers aren't " hjl.tools at gmail dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: hjl.tools at gmail dot com @ 2012-10-05  1:19 UTC (permalink / raw)
  To: gdb-prs


http://sourceware.org/bugzilla/show_bug.cgi?id=14673

             Bug #: 14673
           Summary: esp isn't updated in stack unwind
           Product: gdb
           Version: unknown
            Status: NEW
          Severity: normal
          Priority: P2
         Component: tdep
        AssignedTo: unassigned@sourceware.org
        ReportedBy: hjl.tools@gmail.com
    Classification: Unclassified


For x86-64, esp isn't updated in stack unwind:

[hjl@gnu-tools-1 tmp]$ cat foo.c
void
bar ()
{
}

int
main ()
{
  bar ();
  return 0;
}
[hjl@gnu-tools-1 tmp]$ gcc -g foo.c
[hjl@gnu-tools-1 tmp]$ gdb a.out 
GNU gdb (GDB) 7.5.50.20120930-cvs
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /tmp/a.out...done.
(gdb) b bar
Breakpoint 1 at 0x4004a0: file foo.c, line 4.
(gdb) r
Starting program: /tmp/a.out 

Breakpoint 1, bar () at foo.c:4
4    }
(gdb) f 1
#1  0x00000000004004b0 in main () at foo.c:9
9      bar ();
(gdb) p $pc
$1 = (void (*)()) 0x4004b0 <main+14>
(gdb) p $rsp
$2 = (void *) 0x7fffffffdf90
(gdb) p $rip
$3 = (void (*)()) 0x4004b0 <main+14>
(gdb) p $sp
$4 = (void *) 0x7fffffffdf90
(gdb) p/x $esp
$5 = 0xffffdf80

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug tdep/14673] Pseudo registers aren't updated in stack unwind
  2012-10-05  1:19 [Bug tdep/14673] New: esp isn't updated in stack unwind hjl.tools at gmail dot com
@ 2012-10-05  2:07 ` hjl.tools at gmail dot com
  2023-12-14 16:46 ` simark at simark dot ca
  2023-12-15 16:43 ` tromey at sourceware dot org
  2 siblings, 0 replies; 4+ messages in thread
From: hjl.tools at gmail dot com @ 2012-10-05  2:07 UTC (permalink / raw)
  To: gdb-prs


http://sourceware.org/bugzilla/show_bug.cgi?id=14673

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|esp isn't updated in stack  |Pseudo registers aren't
                   |unwind                      |updated in stack unwind

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2012-10-05 02:07:28 UTC ---
It is not just esp, none of pseudo registers are updated.
It is bad for esp and eip.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug tdep/14673] Pseudo registers aren't updated in stack unwind
  2012-10-05  1:19 [Bug tdep/14673] New: esp isn't updated in stack unwind hjl.tools at gmail dot com
  2012-10-05  2:07 ` [Bug tdep/14673] Pseudo registers aren't " hjl.tools at gmail dot com
@ 2023-12-14 16:46 ` simark at simark dot ca
  2023-12-15 16:43 ` tromey at sourceware dot org
  2 siblings, 0 replies; 4+ messages in thread
From: simark at simark dot ca @ 2023-12-14 16:46 UTC (permalink / raw)
  To: gdb-prs

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

Simon Marchi <simark at simark dot ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #2 from Simon Marchi <simark at simark dot ca> ---
I believe this is fixed by my pseudo register series, that commit and the 20 or
so previous ones:

https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=f5d420bbceeb1d5065c3d91dd7c6c1e43f855ca1

When running:

./gdb -batch -nx -q --data-directory=data-directory test \                      
    -ex 'b foo' -ex r -ex bt \
    -ex 'frame 0' \
    -ex 'p/x $sp' -ex 'p/x $rsp' -ex 'p/x $esp' \
    -ex 'frame 1' \
    -ex 'p/x $sp' -ex 'p/x $rsp' -ex 'p/x $esp'

Before, I get:

    #0  foo (x=2) at test.c:3
    3         return x + 1;
    $1 = 0x7fffffffe180
    $2 = 0x7fffffffe180
    $3 = 0xffffe180

    #1  0x0000555555555146 in main () at test.c:8
    8         foo(2);
    $4 = 0x7fffffffe190
    $5 = 0x7fffffffe190
    $6 = 0xffffe180

After, I get:

    #0  foo (x=2) at test.c:3
    3         return x + 1;
    $1 = 0x7fffffffe180
    $2 = 0x7fffffffe180
    $3 = 0xffffe180

    #1  0x0000555555555146 in main () at test.c:8
    8         foo(2);
    $4 = 0x7fffffffe190
    $5 = 0x7fffffffe190
    $6 = 0xffffe190

From what I can tell, from amd64-tdep.c, the eip pseudo register exists only on
the x32 arch, which I can't test.  But if it's handled like all other dword
pseudo registers, it should work as well.

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug tdep/14673] Pseudo registers aren't updated in stack unwind
  2012-10-05  1:19 [Bug tdep/14673] New: esp isn't updated in stack unwind hjl.tools at gmail dot com
  2012-10-05  2:07 ` [Bug tdep/14673] Pseudo registers aren't " hjl.tools at gmail dot com
  2023-12-14 16:46 ` simark at simark dot ca
@ 2023-12-15 16:43 ` tromey at sourceware dot org
  2 siblings, 0 replies; 4+ messages in thread
From: tromey at sourceware dot org @ 2023-12-15 16:43 UTC (permalink / raw)
  To: gdb-prs

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

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tromey at sourceware dot org
   Target Milestone|---                         |15.1

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-12-15 16:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-05  1:19 [Bug tdep/14673] New: esp isn't updated in stack unwind hjl.tools at gmail dot com
2012-10-05  2:07 ` [Bug tdep/14673] Pseudo registers aren't " hjl.tools at gmail dot com
2023-12-14 16:46 ` simark at simark dot ca
2023-12-15 16:43 ` tromey at sourceware dot org

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).