From e6ba3bc976d3e71e13c550474c2c39463e2bdecc Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Sun, 6 Apr 2003 18:36:23 +0000 Subject: [PATCH] 2003-04-06 Andrew Cagney * frame.h (legacy_frame_chain_valid): Rename frame_chain_valid. Update comment. * frame.c (legacy_saved_regs_this_id): Update. (legacy_get_prev_frame): Update. * xstormy16-tdep.c: Update comment. * sparc-tdep.c (sparc_frame_chain): Update comment. * blockframe.c (legacy_frame_chain_valid): Update. --- gdb/ChangeLog | 10 ++++++++++ gdb/blockframe.c | 8 ++++---- gdb/frame.c | 4 ++-- gdb/frame.h | 12 ++++++++---- gdb/sparc-tdep.c | 21 +++++++++++---------- gdb/xstormy16-tdep.c | 5 ++--- 6 files changed, 37 insertions(+), 23 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 86520604bfe..999c1a23e80 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2003-04-06 Andrew Cagney + + * frame.h (legacy_frame_chain_valid): Rename frame_chain_valid. + Update comment. + * frame.c (legacy_saved_regs_this_id): Update. + (legacy_get_prev_frame): Update. + * xstormy16-tdep.c: Update comment. + * sparc-tdep.c (sparc_frame_chain): Update comment. + * blockframe.c (legacy_frame_chain_valid): Update. + 2003-04-06 Andrew Cagney * valprint.c (val_print_type_code_int): Delete #ifdef diff --git a/gdb/blockframe.c b/gdb/blockframe.c index cf691a35887..b6326defb29 100644 --- a/gdb/blockframe.c +++ b/gdb/blockframe.c @@ -554,12 +554,12 @@ deprecated_pc_in_call_dummy_at_entry_point (CORE_ADDR pc, CORE_ADDR sp, && (pc) <= (CALL_DUMMY_ADDRESS () + DECR_PC_AFTER_BREAK)); } -/* Function: frame_chain_valid - Returns true for a user frame or a call_function_by_hand dummy frame, - and false for the CRT0 start-up frame. Purpose is to terminate backtrace. */ +/* Returns true for a user frame or a call_function_by_hand dummy + frame, and false for the CRT0 start-up frame. Purpose is to + terminate backtrace. */ int -frame_chain_valid (CORE_ADDR fp, struct frame_info *fi) +legacy_frame_chain_valid (CORE_ADDR fp, struct frame_info *fi) { /* Don't prune CALL_DUMMY frames. */ if (DEPRECATED_USE_GENERIC_DUMMY_FRAMES diff --git a/gdb/frame.c b/gdb/frame.c index 5e7f6f1ec05..fd2b3eac198 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -821,7 +821,7 @@ legacy_saved_regs_this_id (struct frame_info *next_frame, gdb_assert (DEPRECATED_FRAME_CHAIN_P ()); base = DEPRECATED_FRAME_CHAIN (next_frame); - if (!frame_chain_valid (base, next_frame)) + if (!legacy_frame_chain_valid (base, next_frame)) return; } if (base == 0) @@ -1246,7 +1246,7 @@ legacy_get_prev_frame (struct frame_info *this_frame) gdb_assert (DEPRECATED_FRAME_CHAIN_P ()); address = DEPRECATED_FRAME_CHAIN (this_frame); - if (!frame_chain_valid (address, this_frame)) + if (!legacy_frame_chain_valid (address, this_frame)) return 0; } if (address == 0) diff --git a/gdb/frame.h b/gdb/frame.h index f928b9c11ba..e352ebca05b 100644 --- a/gdb/frame.h +++ b/gdb/frame.h @@ -455,10 +455,14 @@ enum print_what extern void *frame_obstack_zalloc (unsigned long size); #define FRAME_OBSTACK_ZALLOC(TYPE) ((TYPE *) frame_obstack_zalloc (sizeof (TYPE))) -/* If DEPRECATED_FRAME_CHAIN_VALID returns zero it means that the - given frame is the outermost one and has no caller. */ - -extern int frame_chain_valid (CORE_ADDR, struct frame_info *); +/* If legacy_frame_chain_valid() returns zero it means that the given + frame is the outermost one and has no caller. + + This method has been superseeded by the per-architecture + frame_unwind_pc() (returns 0 to indicate an invalid return address) + and per-frame this_id() (returns a NULL frame ID to indicate an + invalid frame). */ +extern int legacy_frame_chain_valid (CORE_ADDR, struct frame_info *); extern void generic_save_dummy_frame_tos (CORE_ADDR sp); diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c index da50574aba3..7a54b8ff120 100644 --- a/gdb/sparc-tdep.c +++ b/gdb/sparc-tdep.c @@ -437,16 +437,17 @@ sparc_frame_chain (struct frame_info *frame) about the chain value. If it really is zero, we detect it later in sparc_init_prev_frame. - Note: kevinb/2003-02-18: The constant 1 used to be returned - here, but, after some recent changes to frame_chain_valid(), - this value is no longer suitable for causing frame_chain_valid() - to "not worry about the chain value." The constant ~0 (i.e, - 0xfff...) causes the failing test in frame_chain_valid() to - succeed thus preserving the "not worry" property. I had considered - using something like ``get_frame_base (frame) + 1''. However, I think - a constant value is better, because when debugging this problem, - I knew that something funny was going on as soon as I saw the - constant 1 being used as the frame chain elsewhere in GDB. */ + Note: kevinb/2003-02-18: The constant 1 used to be returned here, + but, after some recent changes to legacy_frame_chain_valid(), + this value is no longer suitable for causing + legacy_frame_chain_valid() to "not worry about the chain value." + The constant ~0 (i.e, 0xfff...) causes the failing test in + legacy_frame_chain_valid() to succeed thus preserving the "not + worry" property. I had considered using something like + ``get_frame_base (frame) + 1''. However, I think a constant + value is better, because when debugging this problem, I knew that + something funny was going on as soon as I saw the constant 1 + being used as the frame chain elsewhere in GDB. */ return ~ (CORE_ADDR) 0; } diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c index 255912b19fc..3b4c656c5d5 100644 --- a/gdb/xstormy16-tdep.c +++ b/gdb/xstormy16-tdep.c @@ -748,9 +748,8 @@ xstormy16_frame_init_saved_regs (struct frame_info *fi) /* Function: xstormy16_frame_saved_pc Returns the return address for the selected frame. - Called by frame_info, frame_chain_valid, and sometimes by - get_prev_frame. -*/ + Called by frame_info, legacy_frame_chain_valid, and sometimes by + get_prev_frame. */ static CORE_ADDR xstormy16_frame_saved_pc (struct frame_info *fi) -- 2.30.2