From 55699d593f51fb72de21a8860f53b5b5a11207bd Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Sat, 1 May 2004 19:02:11 +0000 Subject: [PATCH] 2004-05-01 Andrew Cagney * frame.h (deprecated_set_frame_type): Delete declaration. * frame.c (deprecated_set_frame_type): Delete function, update comments. --- gdb/ChangeLog | 4 ++++ gdb/frame.c | 51 ++++++++++++++++++++------------------------------- gdb/frame.h | 18 +++--------------- 3 files changed, 27 insertions(+), 46 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3e9c708c1a..17fc35fe8b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2004-05-01 Andrew Cagney + * frame.h (deprecated_set_frame_type): Delete declaration. + * frame.c (deprecated_set_frame_type): Delete function, update + comments. + * gdbarch.sh (DEPRECATED_PC_IN_SIGTRAMP): Delete. * gdbarch.h, gdbarch.c: Re-generate. * shnbsd-tdep.c (shnbsd_init_abi): Do not set pc_in_sigtramp. diff --git a/gdb/frame.c b/gdb/frame.c index 0db1473c9b..f120a160db 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -67,10 +67,10 @@ struct frame_info int level; /* The frame's type. */ - /* FIXME: cagney/2003-04-02: Should instead be returning - ->unwind->type. Unfortunately, legacy code is still explicitly - setting the type using the method deprecated_set_frame_type. - Eliminate that method and this field can be eliminated. */ + /* FIXME: cagney/2004-05-01: Should instead just use ->unwind->type. + Unfortunately, legacy_get_prev_frame is still explicitly setting + the type. Eliminate that method and this field can be + eliminated. */ enum frame_type type; /* For each register, address of where it was saved on entry to the @@ -233,11 +233,10 @@ get_frame_id (struct frame_info *fi) { fi->unwind = frame_unwind_find_by_frame (fi->next, &fi->prologue_cache); - /* FIXME: cagney/2003-04-02: Rather than storing the frame's - type in the frame, the unwinder's type should be returned - directly. Unfortunately legacy code, called by - legacy_get_prev_frame(), explicitly sets the frame's type - using the method deprecated_set_frame_type(). */ + /* FIXME: cagney/2004-05-01: Should instead just use + ->unwind->type. Unfortunately, legacy_get_prev_frame is + still explicitly setting the type. Eliminate that method + and this field can be eliminated. */ fi->type = fi->unwind->type; } /* Find THIS frame's ID. */ @@ -548,11 +547,10 @@ frame_register_unwind (struct frame_info *frame, int regnum, { frame->unwind = frame_unwind_find_by_frame (frame->next, &frame->prologue_cache); - /* FIXME: cagney/2003-04-02: Rather than storing the frame's - type in the frame, the unwinder's type should be returned - directly. Unfortunately, legacy code, called by - legacy_get_prev_frame(), explicitly set the frames type using - the method deprecated_set_frame_type(). */ + /* FIXME: cagney/2004-05-01: Should instead just use ->unwind->type. + Unfortunately, legacy_get_prev_frame is still explicitly setting + the type. Eliminate that method and this field can be + eliminated. */ frame->type = frame->unwind->type; } @@ -1507,11 +1505,10 @@ legacy_get_prev_frame (struct frame_info *this_frame) /* Find PREV frame's unwinder. */ prev->unwind = frame_unwind_find_by_frame (this_frame, &prev->prologue_cache); - /* FIXME: cagney/2003-04-02: Rather than storing the frame's - type in the frame, the unwinder's type should be returned - directly. Unfortunately, legacy code, called by - legacy_get_prev_frame(), explicitly set the frames type - using the method deprecated_set_frame_type(). */ + /* FIXME: cagney/2004-05-01: Should instead just use + ->unwind->type. Unfortunately, legacy_get_prev_frame is + still explicitly setting the type. Eliminate that method + and this field can be eliminated. */ prev->type = prev->unwind->type; /* Find PREV frame's ID. */ prev->unwind->this_id (this_frame, @@ -2105,11 +2102,10 @@ get_frame_type (struct frame_info *frame) provides the frame's type. */ frame->unwind = frame_unwind_find_by_frame (frame->next, &frame->prologue_cache); - /* FIXME: cagney/2003-04-02: Rather than storing the frame's - type in the frame, the unwinder's type should be returned - directly. Unfortunately, legacy code, called by - legacy_get_prev_frame(), explicitly set the frames type using - the method deprecated_set_frame_type(). */ + /* FIXME: cagney/2004-05-01: Should instead just use + ->unwind->type. Unfortunately, legacy_get_prev_frame is + still explicitly setting the type. Eliminate that method and + this field can be eliminated. */ frame->type = frame->unwind->type; } if (frame->type == UNKNOWN_FRAME) @@ -2118,13 +2114,6 @@ get_frame_type (struct frame_info *frame) return frame->type; } -void -deprecated_set_frame_type (struct frame_info *frame, enum frame_type type) -{ - /* Arrrg! See comment in "frame.h". */ - frame->type = type; -} - struct frame_extra_info * get_frame_extra_info (struct frame_info *fi) { diff --git a/gdb/frame.h b/gdb/frame.h index eb8243d69e..617d3a1d3b 100644 --- a/gdb/frame.h +++ b/gdb/frame.h @@ -343,9 +343,9 @@ extern int frame_relative_level (struct frame_info *fi); enum frame_type { /* The frame's type hasn't yet been defined. This is a catch-all - for legacy code that uses really strange technicques, such as - deprecated_set_frame_type, to set the frame's type. New code - should not use this value. */ + for legacy_get_prev_frame that uses really strange techniques to + determine the frame's type. New code should not use this + value. */ UNKNOWN_FRAME, /* A true stack frame, created by the target program during normal execution. */ @@ -359,18 +359,6 @@ enum frame_type }; extern enum frame_type get_frame_type (struct frame_info *); -/* FIXME: cagney/2002-11-10: Some targets want to directly mark a - frame as being of a specific type. This shouldn't be necessary. - DEPRECATED_PC_IN_CALL_DUMMY() indicates a DUMMY_FRAME. I suspect - the real problem here is that get_prev_frame() only sets - initialized after DEPRECATED_INIT_EXTRA_FRAME_INFO as been called. - Consequently, some targets found that the frame's type was wrong - and tried to fix it. The correct fix is to modify get_prev_frame() - so that it initializes the frame's type before calling any other - functions. */ -extern void deprecated_set_frame_type (struct frame_info *, - enum frame_type type); - /* Unwind the stack frame so that the value of REGNUM, in the previous (up, older) frame is returned. If VALUEP is NULL, don't fetch/compute the value. Instead just return the location of the