Bug 136891 - 64-bit PPC GDB can't single step out of a signal handler
Summary: 64-bit PPC GDB can't single step out of a signal handler
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: gdb
Version: 3.0
Hardware: powerpc
OS: Linux
Target Milestone: ---
Assignee: Andrew Cagney
QA Contact: Jay Turner
Depends On: 108886
Blocks: 117972 146413
TreeView+ depends on / blocked
Reported: 2004-10-22 20:45 UTC by Andrew Cagney
Modified: 2015-01-08 00:08 UTC (History)
4 users (show)

Clone Of:
Last Closed: 2004-12-21 19:37:21 UTC

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2004:561 normal SHIPPED_LIVE Updated gdb and libunwind packages 2004-12-21 05:00:00 UTC

Description Andrew Cagney 2004-10-22 20:45:46 UTC
In the function epilogue, where the dynamic chain (of SP's) has been
torn down, GDB gets confused: it thinks it needs to run down one level
of the SP chain (to get the frame ID's stack address) when it doesn't.
 This, in turn, leads to wrong saved registers being saved, ...

In the case of single-stepping out of a signal handler and into a
signal trampoline, things get especially bad as the
signal-trampoline's frame doesn't actually have a valid SP chain.  It
leads to a bad memory access and that leads to a failed step.

The CFI information, if working, would fix this.

Comment 1 Andrew Cagney 2004-11-10 22:58:24 UTC
GDB version:
  GNU gdb Red Hat Linux (6.1post-1.20040607.50rh)
Includes CFI for PPC and the test (sigstep.exp) passes.


Comment 2 John Flanagan 2004-12-21 19:37:21 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.