diff options
author | Andrew Cagney <cagney@redhat.com> | 2004-05-01 19:35:22 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2004-05-01 19:35:22 +0000 |
commit | 0e100dab2eb07e9fc9ca155f87172d02439b64cb (patch) | |
tree | c7d780fe2636e683e8ee64f718b2f51b57d7c635 /gdb/s390-tdep.c | |
parent | 55699d593f51fb72de21a8860f53b5b5a11207bd (diff) | |
download | gdb-0e100dab2eb07e9fc9ca155f87172d02439b64cb.zip gdb-0e100dab2eb07e9fc9ca155f87172d02439b64cb.tar.gz gdb-0e100dab2eb07e9fc9ca155f87172d02439b64cb.tar.bz2 |
2004-05-01 Andrew Cagney <cagney@redhat.com>
* frame.c (create_sentinel_frame): Set type to SENTINEL_FRAME.
* dummy-frame.c (dummy_frame_this_id): Use get_frame_type, instead
of frame_relative_level.
* sentinel-frame.c (sentinel_frame_unwinder): Set unwinder's type
to SENTINEL_FRAME.
* frame.h (enum frame_type): Add SENTINEL_FRAME.
* s390-tdep.c (s390_prologue_frame_unwind_cache): Delete calls to
frame_relative_level.
Diffstat (limited to 'gdb/s390-tdep.c')
-rw-r--r-- | gdb/s390-tdep.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 0f8f65d..6a5cd50 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -1803,10 +1803,10 @@ s390_prologue_frame_unwind_cache (struct frame_info *next_frame, /* If the next frame is a NORMAL_FRAME, this frame *cannot* have frame size zero. This is only possible if the next frame is a sentinel frame, a dummy frame, or a signal trampoline frame. */ - if (get_frame_type (next_frame) == NORMAL_FRAME - /* For some reason, sentinel frames are NORMAL_FRAMEs - -- but they have negative frame level. */ - && frame_relative_level (next_frame) >= 0) + /* FIXME: cagney/2004-05-01: This sanity check shouldn't be + needed, instead the code should simpliy rely on its + analysis. */ + if (get_frame_type (next_frame) == NORMAL_FRAME) return 0; /* If we really have a frameless function, %r14 must be valid @@ -1850,9 +1850,9 @@ s390_prologue_frame_unwind_cache (struct frame_info *next_frame, treat it as frameless if we're currently within the function epilog code at a point where the frame pointer has already been restored. This can only happen in an innermost frame. */ - if (size > 0 - && (get_frame_type (next_frame) != NORMAL_FRAME - || frame_relative_level (next_frame) < 0)) + /* FIXME: cagney/2004-05-01: This sanity check shouldn't be needed, + instead the code should simpliy rely on its analysis. */ + if (size > 0 && get_frame_type (next_frame) != NORMAL_FRAME) { /* See the comment in s390_in_function_epilogue_p on why this is not completely reliable ... */ |