From: Andrew Cagney Date: Tue, 25 Mar 2003 18:54:16 +0000 (+0000) Subject: 2003-03-25 Andrew Cagney X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1bf6d5cced30fb7670ad45b0b51a2ea77ec3dc4b;p=binutils-gdb.git 2003-03-25 Andrew Cagney * gdbarch.sh (CALL_DUMMY_STACK_ADJUST_P): Delete. (DEPRECATED_CALL_DUMMY_STACK_ADJUST): Replace CALL_DUMMY_STACK_ADJUST with a predicate variable. * gdbarch.h, gdbarch.c: Regenerate. * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set call_dummy_stack_adjust_p. * vax-tdep.c (vax_gdbarch_init): Ditto. * v850-tdep.c (v850_gdbarch_init): Ditto. * sh-tdep.c (sh_gdbarch_init): Ditto. * s390-tdep.c (s390_gdbarch_init): Ditto. * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. * ns32k-tdep.c (ns32k_gdbarch_init): Ditto. * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. * mips-tdep.c (mips_gdbarch_init): Ditto. * mcore-tdep.c (mcore_gdbarch_init): Ditto. * m68k-tdep.c (m68k_gdbarch_init): Ditto. * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. * ia64-tdep.c (ia64_gdbarch_init): Ditto. * i386-tdep.c (i386_gdbarch_init): Ditto. * h8300-tdep.c (h8300_gdbarch_init): Ditto. * frv-tdep.c (frv_gdbarch_init): Ditto. * d10v-tdep.c (d10v_gdbarch_init): Ditto. * cris-tdep.c (cris_gdbarch_init): Ditto. * avr-tdep.c (avr_gdbarch_init): Ditto. * arm-tdep.c (arm_gdbarch_init): Ditto. * alpha-tdep.c (alpha_gdbarch_init): Ditto. * config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update. * config/sparc/tm-sparc.h (CALL_DUMMY_STACK_ADJUST): Update. * config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update. * sparc-tdep.c (sparc_gdbarch_init): Update. Do not set call_dummy_stack_adjust_p. * inferior.h (CALL_DUMMY_STACK_ADJUST_P): Delete macro. (CALL_DUMMY_STACK_ADJUST): Delete macro. * sparc-tdep.c (sparc32_push_arguments): Update. * valops.c (hand_function_call): Update. 2003-03-25 Andrew Cagney * gdbint.texinfo (Target Architecture Definition): Delete reference to CALL_DUMMY_STACK_ADJUST_P. Rename CALL_DUMMY_STACK_ADJUST to DEPRECATED_CALL_DUMMY_STACK_ADJUST. Add reference to PUSH_ARGUMENTS. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index eabeaf74ea2..f76cf5678c4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,41 @@ +2003-03-25 Andrew Cagney + + * gdbarch.sh (CALL_DUMMY_STACK_ADJUST_P): Delete. + (DEPRECATED_CALL_DUMMY_STACK_ADJUST): Replace + CALL_DUMMY_STACK_ADJUST with a predicate variable. + * gdbarch.h, gdbarch.c: Regenerate. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set + call_dummy_stack_adjust_p. + * vax-tdep.c (vax_gdbarch_init): Ditto. + * v850-tdep.c (v850_gdbarch_init): Ditto. + * sh-tdep.c (sh_gdbarch_init): Ditto. + * s390-tdep.c (s390_gdbarch_init): Ditto. + * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. + * ns32k-tdep.c (ns32k_gdbarch_init): Ditto. + * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. + * mips-tdep.c (mips_gdbarch_init): Ditto. + * mcore-tdep.c (mcore_gdbarch_init): Ditto. + * m68k-tdep.c (m68k_gdbarch_init): Ditto. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. + * ia64-tdep.c (ia64_gdbarch_init): Ditto. + * i386-tdep.c (i386_gdbarch_init): Ditto. + * h8300-tdep.c (h8300_gdbarch_init): Ditto. + * frv-tdep.c (frv_gdbarch_init): Ditto. + * d10v-tdep.c (d10v_gdbarch_init): Ditto. + * cris-tdep.c (cris_gdbarch_init): Ditto. + * avr-tdep.c (avr_gdbarch_init): Ditto. + * arm-tdep.c (arm_gdbarch_init): Ditto. + * alpha-tdep.c (alpha_gdbarch_init): Ditto. + * config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update. + * config/sparc/tm-sparc.h (CALL_DUMMY_STACK_ADJUST): Update. + * config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. Do not set + call_dummy_stack_adjust_p. + * inferior.h (CALL_DUMMY_STACK_ADJUST_P): Delete macro. + (CALL_DUMMY_STACK_ADJUST): Delete macro. + * sparc-tdep.c (sparc32_push_arguments): Update. + * valops.c (hand_function_call): Update. + 2003-03-25 Corinna Vinschen * xstormy16-tdep.c (xstormy16_gdbarch_init): Add call to diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index fd553256df6..762b9969a4c 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -1876,7 +1876,6 @@ alpha_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0); set_gdbarch_call_dummy_start_offset (gdbarch, 0); set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_at_entry_point); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_deprecated_push_dummy_frame (gdbarch, alpha_push_dummy_frame); set_gdbarch_fix_call_dummy (gdbarch, alpha_fix_call_dummy); set_gdbarch_deprecated_init_frame_pc (gdbarch, init_frame_pc_noop); diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index bb1df4ff845..00ccd177fef 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -2919,7 +2919,6 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0); set_gdbarch_call_dummy_p (gdbarch, 1); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_call_dummy_words (gdbarch, arm_call_dummy_words); set_gdbarch_sizeof_call_dummy_words (gdbarch, 0); diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index ce7de32a73a..52994bf101b 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -1174,7 +1174,6 @@ avr_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_length (gdbarch, 0); set_gdbarch_call_dummy_p (gdbarch, 1); set_gdbarch_call_dummy_words (gdbarch, avr_call_dummy_words); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); /* set_gdbarch_believe_pcc_promotion (gdbarch, 1); // TRoth: should this be set? */ diff --git a/gdb/config/sparc/tm-sp64.h b/gdb/config/sparc/tm-sp64.h index 691e38f4e1e..8abec1c709c 100644 --- a/gdb/config/sparc/tm-sp64.h +++ b/gdb/config/sparc/tm-sp64.h @@ -102,8 +102,8 @@ #define CALL_DUMMY_LOCATION AT_ENTRY_POINT #undef DEPRECATED_PC_IN_CALL_DUMMY #define DEPRECATED_PC_IN_CALL_DUMMY(pc, sp, frame_address) deprecated_pc_in_call_dummy_at_entry_point (pc, sp, frame_address) -#undef CALL_DUMMY_STACK_ADJUST -#define CALL_DUMMY_STACK_ADJUST 128 +#undef DEPRECATED_CALL_DUMMY_STACK_ADJUST +#define DEPRECATED_CALL_DUMMY_STACK_ADJUST 128 #undef SIZEOF_CALL_DUMMY_WORDS #define SIZEOF_CALL_DUMMY_WORDS 0 #undef CALL_DUMMY_ADDRESS @@ -143,8 +143,8 @@ extern void sparc_at_entry_store_struct_return (CORE_ADDR addr, CORE_ADDR sp); /* 128 is to reserve space to write the %i/%l registers that will be restored when we resume. */ -#undef CALL_DUMMY_STACK_ADJUST -#define CALL_DUMMY_STACK_ADJUST 128 +#undef DEPRECATED_CALL_DUMMY_STACK_ADJUST +#define DEPRECATED_CALL_DUMMY_STACK_ADJUST 128 /* Size of the call dummy in bytes. */ #undef CALL_DUMMY_LENGTH diff --git a/gdb/config/sparc/tm-sparc.h b/gdb/config/sparc/tm-sparc.h index 0213e205fb0..e3c08b581c9 100644 --- a/gdb/config/sparc/tm-sparc.h +++ b/gdb/config/sparc/tm-sparc.h @@ -649,7 +649,7 @@ extern CORE_ADDR init_frame_pc_noop (int fromleaf, struct frame_info *prev); #define CALL_DUMMY_BREAKPOINT_OFFSET (CALL_DUMMY_START_OFFSET + 0x30) -#define CALL_DUMMY_STACK_ADJUST 68 +#define DEPRECATED_CALL_DUMMY_STACK_ADJUST 68 /* Call dummy method (eg. on stack, at entry point, etc.) */ diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c index 3a33c2e653f..fcd099088e7 100644 --- a/gdb/cris-tdep.c +++ b/gdb/cris-tdep.c @@ -4276,7 +4276,6 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_sizeof_call_dummy_words (gdbarch, 0); /* No stack adjustment needed when peforming an inferior function call. */ - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); set_gdbarch_deprecated_get_saved_register (gdbarch, deprecated_generic_get_saved_register); diff --git a/gdb/d10v-tdep.c b/gdb/d10v-tdep.c index f443ceff8dd..f125fd19e7b 100644 --- a/gdb/d10v-tdep.c +++ b/gdb/d10v-tdep.c @@ -1700,7 +1700,6 @@ d10v_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_words (gdbarch, d10v_call_dummy_words); set_gdbarch_sizeof_call_dummy_words (gdbarch, sizeof (d10v_call_dummy_words)); set_gdbarch_call_dummy_p (gdbarch, 1); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); set_gdbarch_extract_return_value (gdbarch, d10v_extract_return_value); diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 4797eaadf9f..3aeadd3ba3c 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,10 @@ +2003-03-25 Andrew Cagney + + * gdbint.texinfo (Target Architecture Definition): Delete + reference to CALL_DUMMY_STACK_ADJUST_P. Rename + CALL_DUMMY_STACK_ADJUST to DEPRECATED_CALL_DUMMY_STACK_ADJUST. + Add reference to PUSH_ARGUMENTS. + 2003-03-23 Andrew Cagney * gdbint.texinfo (Algorithms, Target Architecture Definition): diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index 6ab6fc5ed07..0522d726ade 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -3112,17 +3112,11 @@ A static initializer for @code{CALL_DUMMY_WORDS}. Deprecated. @findex CALL_DUMMY_LOCATION See the file @file{inferior.h}. -@item CALL_DUMMY_STACK_ADJUST -@findex CALL_DUMMY_STACK_ADJUST -Stack adjustment needed when performing an inferior function call. - -Should be deprecated in favor of something like @code{STACK_ALIGN}. - -@item CALL_DUMMY_STACK_ADJUST_P -@findex CALL_DUMMY_STACK_ADJUST_P -Predicate for use of @code{CALL_DUMMY_STACK_ADJUST}. - -Should be deprecated in favor of something like @code{STACK_ALIGN}. +@item DEPRECATED_CALL_DUMMY_STACK_ADJUST +@findex DEPRECATED_CALL_DUMMY_STACK_ADJUST +Stack adjustment needed when performing an inferior function call. This +function is no longer needed. @xref{PUSH_ARGUMENTS}, which can handle +all alignment directly. @item CANNOT_FETCH_REGISTER (@var{regno}) @findex CANNOT_FETCH_REGISTER @@ -3711,6 +3705,7 @@ method has been superseeded by generic code. @item PUSH_ARGUMENTS (@var{nargs}, @var{args}, @var{sp}, @var{struct_return}, @var{struct_addr}) @findex PUSH_ARGUMENTS +@anchor{PUSH_ARGUMENTS} Define this to push arguments onto the stack for inferior function call. Returns the updated stack pointer value. diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c index 03eda4c6a79..3a67a7ff003 100644 --- a/gdb/frv-tdep.c +++ b/gdb/frv-tdep.c @@ -1114,7 +1114,6 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0); set_gdbarch_call_dummy_start_offset (gdbarch, 0); set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_at_entry_point); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); set_gdbarch_decr_pc_after_break (gdbarch, 0); diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index ef0ef6bb5b8..d3010c16a2d 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -195,8 +195,7 @@ struct gdbarch int call_dummy_p; LONGEST * call_dummy_words; int sizeof_call_dummy_words; - int call_dummy_stack_adjust_p; - int call_dummy_stack_adjust; + int deprecated_call_dummy_stack_adjust; gdbarch_fix_call_dummy_ftype *fix_call_dummy; gdbarch_deprecated_init_frame_pc_first_ftype *deprecated_init_frame_pc_first; gdbarch_deprecated_init_frame_pc_ftype *deprecated_init_frame_pc; @@ -434,7 +433,6 @@ struct gdbarch startup_gdbarch = 0, 0, 0, - 0, generic_in_function_epilogue_p, construct_inferior_arguments, 0, @@ -538,7 +536,6 @@ gdbarch_alloc (const struct gdbarch_info *info, current_gdbarch->call_dummy_p = -1; current_gdbarch->call_dummy_words = legacy_call_dummy_words; current_gdbarch->sizeof_call_dummy_words = legacy_sizeof_call_dummy_words; - current_gdbarch->call_dummy_stack_adjust_p = -1; current_gdbarch->register_convertible = generic_register_convertible_not; current_gdbarch->convert_register_p = legacy_convert_register_p; current_gdbarch->register_to_value = legacy_register_to_value; @@ -700,12 +697,7 @@ verify_gdbarch (struct gdbarch *gdbarch) fprintf_unfiltered (log, "\n\tcall_dummy_p"); /* Skip verify of call_dummy_words, invalid_p == 0 */ /* Skip verify of sizeof_call_dummy_words, invalid_p == 0 */ - if ((GDB_MULTI_ARCH >= GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->call_dummy_stack_adjust_p == -1)) - fprintf_unfiltered (log, "\n\tcall_dummy_stack_adjust_p"); - if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->call_dummy_stack_adjust_p && gdbarch->call_dummy_stack_adjust == 0)) - fprintf_unfiltered (log, "\n\tcall_dummy_stack_adjust"); + /* Skip verify of deprecated_call_dummy_stack_adjust, has predicate */ if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && (gdbarch->fix_call_dummy == 0)) fprintf_unfiltered (log, "\n\tfix_call_dummy"); @@ -1002,23 +994,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) "gdbarch_dump: CALL_DUMMY_P = %d\n", CALL_DUMMY_P); #endif -#ifdef CALL_DUMMY_STACK_ADJUST - fprintf_unfiltered (file, - "gdbarch_dump: CALL_DUMMY_STACK_ADJUST # %s\n", - XSTRING (CALL_DUMMY_STACK_ADJUST)); - if (CALL_DUMMY_STACK_ADJUST_P) - fprintf_unfiltered (file, - "gdbarch_dump: CALL_DUMMY_STACK_ADJUST = 0x%08lx\n", - (long) CALL_DUMMY_STACK_ADJUST); -#endif -#ifdef CALL_DUMMY_STACK_ADJUST_P - fprintf_unfiltered (file, - "gdbarch_dump: CALL_DUMMY_STACK_ADJUST_P # %s\n", - XSTRING (CALL_DUMMY_STACK_ADJUST_P)); - fprintf_unfiltered (file, - "gdbarch_dump: CALL_DUMMY_STACK_ADJUST_P = 0x%08lx\n", - (long) CALL_DUMMY_STACK_ADJUST_P); -#endif #ifdef CALL_DUMMY_START_OFFSET fprintf_unfiltered (file, "gdbarch_dump: CALL_DUMMY_START_OFFSET # %s\n", @@ -1113,6 +1088,23 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) "gdbarch_dump: DECR_PC_AFTER_BREAK = %ld\n", (long) DECR_PC_AFTER_BREAK); #endif +#ifdef DEPRECATED_CALL_DUMMY_STACK_ADJUST_P + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_CALL_DUMMY_STACK_ADJUST_P()", + XSTRING (DEPRECATED_CALL_DUMMY_STACK_ADJUST_P ())); + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_CALL_DUMMY_STACK_ADJUST_P() = %d\n", + DEPRECATED_CALL_DUMMY_STACK_ADJUST_P ()); +#endif +#ifdef DEPRECATED_CALL_DUMMY_STACK_ADJUST + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_CALL_DUMMY_STACK_ADJUST # %s\n", + XSTRING (DEPRECATED_CALL_DUMMY_STACK_ADJUST)); + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_CALL_DUMMY_STACK_ADJUST = %d\n", + DEPRECATED_CALL_DUMMY_STACK_ADJUST); +#endif #ifdef DEPRECATED_DO_REGISTERS_INFO_P fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -3872,41 +3864,26 @@ set_gdbarch_sizeof_call_dummy_words (struct gdbarch *gdbarch, } int -gdbarch_call_dummy_stack_adjust_p (struct gdbarch *gdbarch) +gdbarch_deprecated_call_dummy_stack_adjust_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - if (gdbarch->call_dummy_stack_adjust_p == -1) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_call_dummy_stack_adjust_p invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_call_dummy_stack_adjust_p called\n"); - return gdbarch->call_dummy_stack_adjust_p; -} - -void -set_gdbarch_call_dummy_stack_adjust_p (struct gdbarch *gdbarch, - int call_dummy_stack_adjust_p) -{ - gdbarch->call_dummy_stack_adjust_p = call_dummy_stack_adjust_p; + return gdbarch->deprecated_call_dummy_stack_adjust != 0; } int -gdbarch_call_dummy_stack_adjust (struct gdbarch *gdbarch) +gdbarch_deprecated_call_dummy_stack_adjust (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - if (gdbarch->call_dummy_stack_adjust_p && gdbarch->call_dummy_stack_adjust == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_call_dummy_stack_adjust invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_call_dummy_stack_adjust called\n"); - return gdbarch->call_dummy_stack_adjust; + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_call_dummy_stack_adjust called\n"); + return gdbarch->deprecated_call_dummy_stack_adjust; } void -set_gdbarch_call_dummy_stack_adjust (struct gdbarch *gdbarch, - int call_dummy_stack_adjust) +set_gdbarch_deprecated_call_dummy_stack_adjust (struct gdbarch *gdbarch, + int deprecated_call_dummy_stack_adjust) { - gdbarch->call_dummy_stack_adjust = call_dummy_stack_adjust; + gdbarch->deprecated_call_dummy_stack_adjust = deprecated_call_dummy_stack_adjust; } void diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index 834e694b96f..563199fe565 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -1260,25 +1260,39 @@ extern void set_gdbarch_sizeof_call_dummy_words (struct gdbarch *gdbarch, int si #endif #endif -extern int gdbarch_call_dummy_stack_adjust_p (struct gdbarch *gdbarch); -extern void set_gdbarch_call_dummy_stack_adjust_p (struct gdbarch *gdbarch, int call_dummy_stack_adjust_p); -#if (GDB_MULTI_ARCH >= GDB_MULTI_ARCH_PARTIAL) && defined (CALL_DUMMY_STACK_ADJUST_P) -#error "Non multi-arch definition of CALL_DUMMY_STACK_ADJUST_P" +#if defined (DEPRECATED_CALL_DUMMY_STACK_ADJUST) +/* Legacy for systems yet to multi-arch DEPRECATED_CALL_DUMMY_STACK_ADJUST */ +#if !defined (DEPRECATED_CALL_DUMMY_STACK_ADJUST_P) +#define DEPRECATED_CALL_DUMMY_STACK_ADJUST_P() (1) #endif -#if GDB_MULTI_ARCH -#if (GDB_MULTI_ARCH >= GDB_MULTI_ARCH_PARTIAL) || !defined (CALL_DUMMY_STACK_ADJUST_P) -#define CALL_DUMMY_STACK_ADJUST_P (gdbarch_call_dummy_stack_adjust_p (current_gdbarch)) #endif + +/* Default predicate for non- multi-arch targets. */ +#if (!GDB_MULTI_ARCH) && !defined (DEPRECATED_CALL_DUMMY_STACK_ADJUST_P) +#define DEPRECATED_CALL_DUMMY_STACK_ADJUST_P() (0) +#endif + +extern int gdbarch_deprecated_call_dummy_stack_adjust_p (struct gdbarch *gdbarch); +#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_CALL_DUMMY_STACK_ADJUST_P) +#error "Non multi-arch definition of DEPRECATED_CALL_DUMMY_STACK_ADJUST" +#endif +#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_CALL_DUMMY_STACK_ADJUST_P) +#define DEPRECATED_CALL_DUMMY_STACK_ADJUST_P() (gdbarch_deprecated_call_dummy_stack_adjust_p (current_gdbarch)) +#endif + +/* Default (value) for non- multi-arch platforms. */ +#if (!GDB_MULTI_ARCH) && !defined (DEPRECATED_CALL_DUMMY_STACK_ADJUST) +#define DEPRECATED_CALL_DUMMY_STACK_ADJUST (0) #endif -extern int gdbarch_call_dummy_stack_adjust (struct gdbarch *gdbarch); -extern void set_gdbarch_call_dummy_stack_adjust (struct gdbarch *gdbarch, int call_dummy_stack_adjust); -#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (CALL_DUMMY_STACK_ADJUST) -#error "Non multi-arch definition of CALL_DUMMY_STACK_ADJUST" +extern int gdbarch_deprecated_call_dummy_stack_adjust (struct gdbarch *gdbarch); +extern void set_gdbarch_deprecated_call_dummy_stack_adjust (struct gdbarch *gdbarch, int deprecated_call_dummy_stack_adjust); +#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_CALL_DUMMY_STACK_ADJUST) +#error "Non multi-arch definition of DEPRECATED_CALL_DUMMY_STACK_ADJUST" #endif #if GDB_MULTI_ARCH -#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (CALL_DUMMY_STACK_ADJUST) -#define CALL_DUMMY_STACK_ADJUST (gdbarch_call_dummy_stack_adjust (current_gdbarch)) +#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_CALL_DUMMY_STACK_ADJUST) +#define DEPRECATED_CALL_DUMMY_STACK_ADJUST (gdbarch_deprecated_call_dummy_stack_adjust (current_gdbarch)) #endif #endif diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh index c624c8414dc..9d26534b0b6 100755 --- a/gdb/gdbarch.sh +++ b/gdb/gdbarch.sh @@ -533,8 +533,7 @@ F:1:DEPRECATED_PC_IN_CALL_DUMMY:int:deprecated_pc_in_call_dummy:CORE_ADDR pc, CO v:1:CALL_DUMMY_P:int:call_dummy_p::::0:-1 v:2:CALL_DUMMY_WORDS:LONGEST *:call_dummy_words::::0:legacy_call_dummy_words::0:0x%08lx v:2:SIZEOF_CALL_DUMMY_WORDS:int:sizeof_call_dummy_words::::0:legacy_sizeof_call_dummy_words::0:0x%08lx -v:1:CALL_DUMMY_STACK_ADJUST_P:int:call_dummy_stack_adjust_p::::0:-1:::0x%08lx -v:2:CALL_DUMMY_STACK_ADJUST:int:call_dummy_stack_adjust::::0:::gdbarch->call_dummy_stack_adjust_p && gdbarch->call_dummy_stack_adjust == 0:0x%08lx::CALL_DUMMY_STACK_ADJUST_P +V:2:DEPRECATED_CALL_DUMMY_STACK_ADJUST:int:deprecated_call_dummy_stack_adjust::::0 f:2:FIX_CALL_DUMMY:void:fix_call_dummy:char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, struct value **args, struct type *type, int gcc_p:dummy, pc, fun, nargs, args, type, gcc_p:::0 F:2:DEPRECATED_INIT_FRAME_PC_FIRST:CORE_ADDR:deprecated_init_frame_pc_first:int fromleaf, struct frame_info *prev:fromleaf, prev F:2:DEPRECATED_INIT_FRAME_PC:CORE_ADDR:deprecated_init_frame_pc:int fromleaf, struct frame_info *prev:fromleaf, prev diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index 5a7dafbce5a..100cfdee76f 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -1164,8 +1164,6 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_p (gdbarch, 1); set_gdbarch_call_dummy_words (gdbarch, call_dummy_words); set_gdbarch_sizeof_call_dummy_words (gdbarch, 0); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); - /* set_gdbarch_call_dummy_stack_adjust */ set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); set_gdbarch_breakpoint_from_pc (gdbarch, h8300_breakpoint_from_pc); diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index e0ffc22c30c..ffdad06f4d0 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -1573,7 +1573,6 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_p (gdbarch, 1); set_gdbarch_call_dummy_words (gdbarch, NULL); set_gdbarch_sizeof_call_dummy_words (gdbarch, 0); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); set_gdbarch_register_convertible (gdbarch, i386_register_convertible); diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index 2e8efdef4bd..96767824a86 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -2245,7 +2245,6 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_address (gdbarch, entry_point_address); set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0); set_gdbarch_call_dummy_start_offset (gdbarch, 0); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); set_gdbarch_decr_pc_after_break (gdbarch, 0); diff --git a/gdb/inferior.h b/gdb/inferior.h index 4616a1f3da7..10da8ee5408 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -437,18 +437,6 @@ extern int attach_flag; #define CALL_DUMMY_LENGTH (internal_error (__FILE__, __LINE__, "CALL_DUMMY_LENGTH"), 0) #endif -#if defined (CALL_DUMMY_STACK_ADJUST) -#if !defined (CALL_DUMMY_STACK_ADJUST_P) -#define CALL_DUMMY_STACK_ADJUST_P (1) -#endif -#endif -#if !defined (CALL_DUMMY_STACK_ADJUST) -#define CALL_DUMMY_STACK_ADJUST (internal_error (__FILE__, __LINE__, "CALL_DUMMY_STACK_ADJUST"), 0) -#endif -#if !defined (CALL_DUMMY_STACK_ADJUST_P) -#define CALL_DUMMY_STACK_ADJUST_P (0) -#endif - /* FIXME: cagney/2000-04-17: gdbarch should manage this. The default shouldn't be necessary. */ diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c index 46862e8e41c..ec70601a09f 100644 --- a/gdb/m68hc11-tdep.c +++ b/gdb/m68hc11-tdep.c @@ -1389,7 +1389,6 @@ m68hc11_gdbarch_init (struct gdbarch_info info, set_gdbarch_sizeof_call_dummy_words (gdbarch, sizeof (m68hc11_call_dummy_words)); set_gdbarch_call_dummy_p (gdbarch, 1); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_deprecated_get_saved_register (gdbarch, deprecated_generic_get_saved_register); set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); set_gdbarch_deprecated_extract_return_value (gdbarch, m68hc11_extract_return_value); diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index 73f180f6b45..41b09ab4928 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -1042,13 +1042,11 @@ m68k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 24); set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_on_stack); set_gdbarch_call_dummy_p (gdbarch, 1); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_call_dummy_length (gdbarch, 28); set_gdbarch_call_dummy_start_offset (gdbarch, 12); set_gdbarch_call_dummy_words (gdbarch, call_dummy_words); set_gdbarch_sizeof_call_dummy_words (gdbarch, sizeof (call_dummy_words)); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, m68k_fix_call_dummy); set_gdbarch_deprecated_push_dummy_frame (gdbarch, m68k_push_dummy_frame); set_gdbarch_deprecated_pop_frame (gdbarch, m68k_pop_frame); diff --git a/gdb/mcore-tdep.c b/gdb/mcore-tdep.c index 15b87808eff..c0373c432c6 100644 --- a/gdb/mcore-tdep.c +++ b/gdb/mcore-tdep.c @@ -1125,7 +1125,6 @@ mcore_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); set_gdbarch_call_dummy_address (gdbarch, entry_point_address); set_gdbarch_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_saved_pc_after_call (gdbarch, mcore_saved_pc_after_call); set_gdbarch_function_start_offset (gdbarch, 0); set_gdbarch_decr_pc_after_break (gdbarch, 0); diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 14bb4b5be53..8be888af132 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -6027,7 +6027,6 @@ mips_gdbarch_init (struct gdbarch_info info, /* MIPS version of CALL_DUMMY */ set_gdbarch_call_dummy_p (gdbarch, 1); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_call_dummy_address (gdbarch, mips_call_dummy_address); set_gdbarch_push_return_address (gdbarch, mips_push_return_address); set_gdbarch_deprecated_pop_frame (gdbarch, mips_pop_frame); diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c index 4cf1ec2f18b..ab01cd43778 100644 --- a/gdb/mn10300-tdep.c +++ b/gdb/mn10300-tdep.c @@ -1188,7 +1188,6 @@ mn10300_gdbarch_init (struct gdbarch_info info, set_gdbarch_call_dummy_p (gdbarch, 1); set_gdbarch_call_dummy_breakpoint_offset_p (gdbarch, 1); set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_call_dummy_address (gdbarch, entry_point_address); set_gdbarch_call_dummy_words (gdbarch, mn10300_call_dummy_words); set_gdbarch_sizeof_call_dummy_words (gdbarch, diff --git a/gdb/ns32k-tdep.c b/gdb/ns32k-tdep.c index 9a2b2983955..1a620deaa8d 100644 --- a/gdb/ns32k-tdep.c +++ b/gdb/ns32k-tdep.c @@ -603,7 +603,6 @@ ns32k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_breakpoint_offset_p (gdbarch, 0); set_gdbarch_deprecated_use_generic_dummy_frames (gdbarch, 0); set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_on_stack); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); /* Breakpoint info */ set_gdbarch_decr_pc_after_break (gdbarch, 0); diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 99ee049751d..7824a2cec8f 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -2906,7 +2906,6 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0); set_gdbarch_call_dummy_start_offset (gdbarch, 0); set_gdbarch_call_dummy_p (gdbarch, 1); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, rs6000_fix_call_dummy); set_gdbarch_frame_align (gdbarch, rs6000_frame_align); set_gdbarch_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos); diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index b98d12a951d..578e3cd6af5 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -1870,7 +1870,6 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos); set_gdbarch_call_dummy_breakpoint_offset_p (gdbarch, 1); set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); set_gdbarch_push_return_address (gdbarch, s390_push_return_address); set_gdbarch_sizeof_call_dummy_words (gdbarch, diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c index 71f5df6102f..5e93c566a95 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -4661,7 +4661,6 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_words (gdbarch, sh_call_dummy_words); set_gdbarch_sizeof_call_dummy_words (gdbarch, sizeof (sh_call_dummy_words)); set_gdbarch_call_dummy_p (gdbarch, 1); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); set_gdbarch_push_return_address (gdbarch, sh_push_return_address); diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c index b6b7faa87b8..bef029b069b 100644 --- a/gdb/sparc-tdep.c +++ b/gdb/sparc-tdep.c @@ -2249,8 +2249,8 @@ sparc32_push_arguments (int nargs, struct value **args, CORE_ADDR sp, } /* Make room for the arguments on the stack. */ - accumulate_size += CALL_DUMMY_STACK_ADJUST; - sp = ((sp - accumulate_size) & ~7) + CALL_DUMMY_STACK_ADJUST; + accumulate_size += DEPRECATED_CALL_DUMMY_STACK_ADJUST; + sp = ((sp - accumulate_size) & ~7) + DEPRECATED_CALL_DUMMY_STACK_ADJUST; /* `Push' arguments on the stack. */ for (i = 0, oregnum = 0, m_arg = sparc_args; @@ -3139,7 +3139,6 @@ sparc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_breakpoint_from_pc (gdbarch, memory_breakpoint_from_pc); set_gdbarch_call_dummy_breakpoint_offset_p (gdbarch, 1); set_gdbarch_call_dummy_p (gdbarch, 1); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 1); set_gdbarch_decr_pc_after_break (gdbarch, 0); set_gdbarch_double_bit (gdbarch, 8 * TARGET_CHAR_BIT); set_gdbarch_deprecated_extract_struct_value_address (gdbarch, sparc_extract_struct_value_address); @@ -3252,7 +3251,7 @@ sparc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_length (gdbarch, 0); set_gdbarch_call_dummy_words (gdbarch, call_dummy_nil); #endif - set_gdbarch_call_dummy_stack_adjust (gdbarch, 68); + set_gdbarch_deprecated_call_dummy_stack_adjust (gdbarch, 68); set_gdbarch_call_dummy_start_offset (gdbarch, 0); set_gdbarch_frame_args_skip (gdbarch, 68); set_gdbarch_function_start_offset (gdbarch, 0); @@ -3308,7 +3307,7 @@ sparc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_start_offset (gdbarch, 0); set_gdbarch_call_dummy_words (gdbarch, call_dummy_nil); #endif - set_gdbarch_call_dummy_stack_adjust (gdbarch, 128); + set_gdbarch_deprecated_call_dummy_stack_adjust (gdbarch, 128); set_gdbarch_frame_args_skip (gdbarch, 136); set_gdbarch_function_start_offset (gdbarch, 0); set_gdbarch_long_bit (gdbarch, 8 * TARGET_CHAR_BIT); diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c index ddbe67741bd..ede5abcd472 100644 --- a/gdb/v850-tdep.c +++ b/gdb/v850-tdep.c @@ -1284,8 +1284,6 @@ v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_p (gdbarch, 1); set_gdbarch_call_dummy_words (gdbarch, call_dummy_nil); set_gdbarch_sizeof_call_dummy_words (gdbarch, 0); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); - /* set_gdbarch_call_dummy_stack_adjust */ set_gdbarch_fix_call_dummy (gdbarch, v850_fix_call_dummy); set_gdbarch_breakpoint_from_pc (gdbarch, v850_breakpoint_from_pc); diff --git a/gdb/valops.c b/gdb/valops.c index 5fd0eccdf9e..90ad7ba4936 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -1611,8 +1611,8 @@ You must use a pointer to function type variable. Command ignored.", arg_name); for (i = nargs - 1; i >= 0; i--) len += TYPE_LENGTH (VALUE_ENCLOSING_TYPE (args[i])); - if (CALL_DUMMY_STACK_ADJUST_P) - len += CALL_DUMMY_STACK_ADJUST; + if (DEPRECATED_CALL_DUMMY_STACK_ADJUST_P ()) + len += DEPRECATED_CALL_DUMMY_STACK_ADJUST; sp -= STACK_ALIGN (len) - len; } } @@ -1636,8 +1636,8 @@ You must use a pointer to function type variable. Command ignored.", arg_name); { /* If stack grows up, we must leave a hole at the bottom, note that sp already has been advanced for the arguments! */ - if (CALL_DUMMY_STACK_ADJUST_P) - sp += CALL_DUMMY_STACK_ADJUST; + if (DEPRECATED_CALL_DUMMY_STACK_ADJUST_P ()) + sp += DEPRECATED_CALL_DUMMY_STACK_ADJUST; sp = STACK_ALIGN (sp); } @@ -1646,11 +1646,11 @@ You must use a pointer to function type variable. Command ignored.", arg_name); /* MVS 11/22/96: I think at least some of this stack_align code is really broken. Better to let PUSH_ARGUMENTS adjust the stack in a target-defined manner. */ - if (CALL_DUMMY_STACK_ADJUST_P) + if (DEPRECATED_CALL_DUMMY_STACK_ADJUST_P ()) if (INNER_THAN (1, 2)) { /* stack grows downward */ - sp -= CALL_DUMMY_STACK_ADJUST; + sp -= DEPRECATED_CALL_DUMMY_STACK_ADJUST; } /* Store the address at which the structure is supposed to be diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c index d5a56287f9e..bd075deecec 100644 --- a/gdb/vax-tdep.c +++ b/gdb/vax-tdep.c @@ -678,7 +678,6 @@ vax_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 7); set_gdbarch_deprecated_use_generic_dummy_frames (gdbarch, 0); set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_on_stack); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); /* Breakpoint info */ set_gdbarch_breakpoint_from_pc (gdbarch, vax_breakpoint_from_pc); diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c index 1a8a7861b64..47c80fedbe7 100644 --- a/gdb/xstormy16-tdep.c +++ b/gdb/xstormy16-tdep.c @@ -1101,8 +1101,6 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_p (gdbarch, 1); set_gdbarch_call_dummy_words (gdbarch, call_dummy_words); set_gdbarch_sizeof_call_dummy_words (gdbarch, 0); - set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); - /* set_gdbarch_call_dummy_stack_adjust */ set_gdbarch_fix_call_dummy (gdbarch, generic_fix_call_dummy); set_gdbarch_breakpoint_from_pc (gdbarch, xstormy16_breakpoint_from_pc);