From: Andrew Cagney Date: Sat, 23 Nov 2002 01:39:25 +0000 (+0000) Subject: 2002-11-22 Andrew Cagney X-Git-Tag: cagney-unwind-20030108-branchpoint~659 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f4ded5b12117d22df18a92b5e0c5b895df64fb59;p=platform%2Fupstream%2Fbinutils.git 2002-11-22 Andrew Cagney * gdbarch.sh (FRAME_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS): Default to default_frame_address. * gdbarch.h, gdbarch.c: Re-generate. * d10v-tdep.c (d10v_gdbarch_init): Do not set frame_args_address or frame_locals_address to default_frame_address. * m68k-tdep.c (m68k_gdbarch_init): Update. * i386-tdep.c (i386_gdbarch_init): Update. * frv-tdep.c (frv_gdbarch_init): Update. * sh-tdep.c (sh_gdbarch_init): Update. * v850-tdep.c (v850_gdbarch_init): Update. * sparc-tdep.c (sparc_gdbarch_init): Update. * mips-tdep.c (mips_gdbarch_init): Update. * mn10300-tdep.c (mn10300_gdbarch_init): Update. * x86-64-tdep.c (x86_64_gdbarch_init): Update. * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. * cris-tdep.c (cris_frame_args_address): Delete function. (cris_frame_locals_address): Delete function. (cris_gdbarch_init): Do not set frame_args_address or frame_locals_address. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 99786d2..9821418 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,27 @@ +2002-11-22 Andrew Cagney + + * gdbarch.sh (FRAME_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS): Default + to default_frame_address. + * gdbarch.h, gdbarch.c: Re-generate. + + * d10v-tdep.c (d10v_gdbarch_init): Do not set frame_args_address + or frame_locals_address to default_frame_address. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * x86-64-tdep.c (x86_64_gdbarch_init): Update. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + + * cris-tdep.c (cris_frame_args_address): Delete function. + (cris_frame_locals_address): Delete function. + (cris_gdbarch_init): Do not set frame_args_address or + frame_locals_address. + 2002-11-22 Michael Snyder * thread-db.c (thread_db_load): Tell the user what's going on diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c index d3325f0..a7ba733 100644 --- a/gdb/cris-tdep.c +++ b/gdb/cris-tdep.c @@ -1276,24 +1276,6 @@ cris_frame_saved_pc (struct frame_info *fi) return fi->extra_info->return_pc; } -/* Return the address of the argument block for the frame described - by struct frame_info. */ - -CORE_ADDR -cris_frame_args_address (struct frame_info *fi) -{ - return FRAME_FP (fi); -} - -/* Return the address of the locals block for the frame - described by struct frame_info. */ - -CORE_ADDR -cris_frame_locals_address (struct frame_info *fi) -{ - return FRAME_FP (fi); -} - /* Setup the function arguments for calling a function in the inferior. */ CORE_ADDR @@ -4331,8 +4313,6 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_frame_chain_valid (gdbarch, generic_file_frame_chain_valid); set_gdbarch_frame_saved_pc (gdbarch, cris_frame_saved_pc); - set_gdbarch_frame_args_address (gdbarch, cris_frame_args_address); - set_gdbarch_frame_locals_address (gdbarch, cris_frame_locals_address); set_gdbarch_saved_pc_after_call (gdbarch, cris_saved_pc_after_call); set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); diff --git a/gdb/d10v-tdep.c b/gdb/d10v-tdep.c index dd5df77..e1adf50 100644 --- a/gdb/d10v-tdep.c +++ b/gdb/d10v-tdep.c @@ -1634,8 +1634,7 @@ d10v_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_frame_chain (gdbarch, d10v_frame_chain); set_gdbarch_frame_chain_valid (gdbarch, d10v_frame_chain_valid); set_gdbarch_frame_saved_pc (gdbarch, d10v_frame_saved_pc); - set_gdbarch_frame_args_address (gdbarch, default_frame_address); - set_gdbarch_frame_locals_address (gdbarch, default_frame_address); + set_gdbarch_saved_pc_after_call (gdbarch, d10v_saved_pc_after_call); set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); set_gdbarch_stack_align (gdbarch, d10v_stack_align); diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c index ae5fb2b..72c83cd 100644 --- a/gdb/frv-tdep.c +++ b/gdb/frv-tdep.c @@ -1081,8 +1081,6 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_frame_chain (gdbarch, frv_frame_chain); set_gdbarch_frame_chain_valid (gdbarch, func_frame_chain_valid); set_gdbarch_frame_saved_pc (gdbarch, frv_frame_saved_pc); - set_gdbarch_frame_args_address (gdbarch, default_frame_address); - set_gdbarch_frame_locals_address (gdbarch, default_frame_address); set_gdbarch_frame_init_saved_regs (gdbarch, frv_frame_init_saved_regs); diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 468726d..5b25678 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -556,6 +556,8 @@ gdbarch_alloc (const struct gdbarch_info *info, current_gdbarch->frame_args_skip = -1; current_gdbarch->frameless_function_invocation = generic_frameless_function_invocation_not; current_gdbarch->frame_chain_valid = generic_func_frame_chain_valid; + current_gdbarch->frame_args_address = default_frame_address; + current_gdbarch->frame_locals_address = default_frame_address; current_gdbarch->extra_stack_alignment_needed = 1; current_gdbarch->convert_from_func_ptr_addr = core_addr_identity; current_gdbarch->addr_bits_remove = core_addr_identity; @@ -777,12 +779,8 @@ verify_gdbarch (struct gdbarch *gdbarch) if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && (gdbarch->frame_saved_pc == 0)) fprintf_unfiltered (log, "\n\tframe_saved_pc"); - if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->frame_args_address == 0)) - fprintf_unfiltered (log, "\n\tframe_args_address"); - if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->frame_locals_address == 0)) - fprintf_unfiltered (log, "\n\tframe_locals_address"); + /* Skip verify of frame_args_address, invalid_p == 0 */ + /* Skip verify of frame_locals_address, invalid_p == 0 */ if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && (gdbarch->saved_pc_after_call == 0)) fprintf_unfiltered (log, "\n\tsaved_pc_after_call"); diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index a2fa465..436293f 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -1950,6 +1950,11 @@ extern void set_gdbarch_frame_saved_pc (struct gdbarch *gdbarch, gdbarch_frame_s #endif #endif +/* Default (function) for non- multi-arch platforms. */ +#if (!GDB_MULTI_ARCH) && !defined (FRAME_ARGS_ADDRESS) +#define FRAME_ARGS_ADDRESS(fi) (default_frame_address (fi)) +#endif + typedef CORE_ADDR (gdbarch_frame_args_address_ftype) (struct frame_info *fi); extern CORE_ADDR gdbarch_frame_args_address (struct gdbarch *gdbarch, struct frame_info *fi); extern void set_gdbarch_frame_args_address (struct gdbarch *gdbarch, gdbarch_frame_args_address_ftype *frame_args_address); @@ -1962,6 +1967,11 @@ extern void set_gdbarch_frame_args_address (struct gdbarch *gdbarch, gdbarch_fra #endif #endif +/* Default (function) for non- multi-arch platforms. */ +#if (!GDB_MULTI_ARCH) && !defined (FRAME_LOCALS_ADDRESS) +#define FRAME_LOCALS_ADDRESS(fi) (default_frame_address (fi)) +#endif + typedef CORE_ADDR (gdbarch_frame_locals_address_ftype) (struct frame_info *fi); extern CORE_ADDR gdbarch_frame_locals_address (struct gdbarch *gdbarch, struct frame_info *fi); extern void set_gdbarch_frame_locals_address (struct gdbarch *gdbarch, gdbarch_frame_locals_address_ftype *frame_locals_address); diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh index 9bbce75..95fdd91 100755 --- a/gdb/gdbarch.sh +++ b/gdb/gdbarch.sh @@ -566,8 +566,8 @@ f:2:FRAME_CHAIN:CORE_ADDR:frame_chain:struct frame_info *frame:frame::0:0 # functions. f:2:FRAME_CHAIN_VALID:int:frame_chain_valid:CORE_ADDR chain, struct frame_info *thisframe:chain, thisframe:::generic_func_frame_chain_valid::0 f:2:FRAME_SAVED_PC:CORE_ADDR:frame_saved_pc:struct frame_info *fi:fi::0:0 -f:2:FRAME_ARGS_ADDRESS:CORE_ADDR:frame_args_address:struct frame_info *fi:fi::0:0 -f:2:FRAME_LOCALS_ADDRESS:CORE_ADDR:frame_locals_address:struct frame_info *fi:fi::0:0 +f:2:FRAME_ARGS_ADDRESS:CORE_ADDR:frame_args_address:struct frame_info *fi:fi::0:default_frame_address::0 +f:2:FRAME_LOCALS_ADDRESS:CORE_ADDR:frame_locals_address:struct frame_info *fi:fi::0:default_frame_address::0 f:2:SAVED_PC_AFTER_CALL:CORE_ADDR:saved_pc_after_call:struct frame_info *frame:frame::0:0 f:2:FRAME_NUM_ARGS:int:frame_num_args:struct frame_info *frame:frame::0:0 # diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index d1336a0..32fb68e 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -1636,8 +1636,6 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_frame_chain (gdbarch, i386_frame_chain); set_gdbarch_frame_chain_valid (gdbarch, generic_file_frame_chain_valid); set_gdbarch_frame_saved_pc (gdbarch, i386_frame_saved_pc); - set_gdbarch_frame_args_address (gdbarch, default_frame_address); - set_gdbarch_frame_locals_address (gdbarch, default_frame_address); set_gdbarch_saved_pc_after_call (gdbarch, i386_saved_pc_after_call); set_gdbarch_frame_num_args (gdbarch, i386_frame_num_args); set_gdbarch_pc_in_sigtramp (gdbarch, i386_pc_in_sigtramp); diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index 6859b50..2b8eb40 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -1033,8 +1033,6 @@ m68k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) /* OK to default this value to 'unknown'. */ set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); set_gdbarch_frame_args_skip (gdbarch, 8); - set_gdbarch_frame_args_address (gdbarch, default_frame_address); - set_gdbarch_frame_locals_address (gdbarch, default_frame_address); set_gdbarch_register_raw_size (gdbarch, m68k_register_raw_size); set_gdbarch_register_virtual_size (gdbarch, m68k_register_virtual_size); diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index f2c94f7..c749a4c 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -6035,8 +6035,6 @@ mips_gdbarch_init (struct gdbarch_info info, set_gdbarch_frameless_function_invocation (gdbarch, generic_frameless_function_invocation_not); set_gdbarch_frame_saved_pc (gdbarch, mips_frame_saved_pc); - set_gdbarch_frame_args_address (gdbarch, default_frame_address); - set_gdbarch_frame_locals_address (gdbarch, default_frame_address); set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); set_gdbarch_frame_args_skip (gdbarch, 0); diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c index cc7c6c8..6ed9cc1 100644 --- a/gdb/mn10300-tdep.c +++ b/gdb/mn10300-tdep.c @@ -1179,8 +1179,6 @@ mn10300_gdbarch_init (struct gdbarch_info info, set_gdbarch_pop_frame (gdbarch, mn10300_pop_frame); set_gdbarch_skip_prologue (gdbarch, mn10300_skip_prologue); set_gdbarch_frame_args_skip (gdbarch, 0); - set_gdbarch_frame_args_address (gdbarch, default_frame_address); - set_gdbarch_frame_locals_address (gdbarch, default_frame_address); set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); /* That's right, we're using the stack pointer as our frame pointer. */ set_gdbarch_read_fp (gdbarch, generic_target_read_sp); diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c index 3d6c488..12e26d3 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -4589,8 +4589,6 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_frameless_function_invocation (gdbarch, frameless_look_for_prologue); set_gdbarch_frame_chain_valid (gdbarch, generic_file_frame_chain_valid); set_gdbarch_frame_saved_pc (gdbarch, sh_frame_saved_pc); - set_gdbarch_frame_args_address (gdbarch, default_frame_address); - set_gdbarch_frame_locals_address (gdbarch, default_frame_address); set_gdbarch_saved_pc_after_call (gdbarch, sh_saved_pc_after_call); set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); set_gdbarch_believe_pcc_promotion (gdbarch, 1); diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c index 479c82b..006f76f 100644 --- a/gdb/sparc-tdep.c +++ b/gdb/sparc-tdep.c @@ -3149,10 +3149,8 @@ sparc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_float_bit (gdbarch, 4 * TARGET_CHAR_BIT); set_gdbarch_fp_regnum (gdbarch, SPARC_FP_REGNUM); set_gdbarch_fp0_regnum (gdbarch, SPARC_FP0_REGNUM); - set_gdbarch_frame_args_address (gdbarch, default_frame_address); set_gdbarch_frame_chain (gdbarch, sparc_frame_chain); set_gdbarch_frame_init_saved_regs (gdbarch, sparc_frame_init_saved_regs); - set_gdbarch_frame_locals_address (gdbarch, default_frame_address); set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); set_gdbarch_frame_saved_pc (gdbarch, sparc_frame_saved_pc); set_gdbarch_frameless_function_invocation (gdbarch, diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c index b6f4a73..2ecd691 100644 --- a/gdb/v850-tdep.c +++ b/gdb/v850-tdep.c @@ -1237,8 +1237,6 @@ v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_frame_saved_pc (gdbarch, v850_frame_saved_pc); set_gdbarch_skip_prologue (gdbarch, v850_skip_prologue); set_gdbarch_frame_chain_valid (gdbarch, generic_file_frame_chain_valid); - set_gdbarch_frame_args_address (gdbarch, default_frame_address); - set_gdbarch_frame_locals_address (gdbarch, default_frame_address); /* * Miscelany diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c index ad97f16..f4d0301 100644 --- a/gdb/x86-64-tdep.c +++ b/gdb/x86-64-tdep.c @@ -1087,8 +1087,6 @@ x86_64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_function_start_offset (gdbarch, 0); set_gdbarch_frame_args_skip (gdbarch, 8); - set_gdbarch_frame_args_address (gdbarch, default_frame_address); - set_gdbarch_frame_locals_address (gdbarch, default_frame_address); set_gdbarch_use_generic_dummy_frames (gdbarch, 1); diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c index f111516..c444bbf 100644 --- a/gdb/xstormy16-tdep.c +++ b/gdb/xstormy16-tdep.c @@ -1055,8 +1055,6 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_frame_saved_pc (gdbarch, xstormy16_frame_saved_pc); set_gdbarch_skip_prologue (gdbarch, xstormy16_skip_prologue); set_gdbarch_frame_chain_valid (gdbarch, xstormy16_frame_chain_valid); - set_gdbarch_frame_args_address (gdbarch, default_frame_address); - set_gdbarch_frame_locals_address (gdbarch, default_frame_address); set_gdbarch_in_function_epilogue_p (gdbarch, xstormy16_in_function_epilogue_p);