diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-05-03 19:39:23 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-05-03 19:39:23 +0000 |
commit | 7043d8dc5edd566142805331c3caad571f9aef2f (patch) | |
tree | 569a445a897e50f81ae5cd31e4ea08124dc614de /gdb/gdbarch.h | |
parent | 92bf2b80f20268d032bb7f55103514324ff939b9 (diff) | |
download | gdb-7043d8dc5edd566142805331c3caad571f9aef2f.zip gdb-7043d8dc5edd566142805331c3caad571f9aef2f.tar.gz gdb-7043d8dc5edd566142805331c3caad571f9aef2f.tar.bz2 |
2003-05-03 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (PUSH_DUMMY_CODE): New architecture method, add
comments noteing that it replaces the old FIX_CALL_DUMMY code.
* gdbarch.h, gdbarch.c: Re-generate.
* d10v-tdep.c (d10v_push_dummy_code): New function.
(d10v_gdbarch_init): Set push_dummy_code.
* infcall.c (legacy_push_dummy_code): New function.
(generic_push_dummy_code): New function.
(push_dummy_code): New function.
(call_function_by_hand): Call push_dummy_code. Pass bp_addr,
instead of dummy_addr, to push_dummy_call. Move call to
generic_save_call_dummy_addr to outside of CALL_DUMMY_LOCATION
switch.
* sparc-tdep.c (sparc_gdbarch_init): Mention push_dummy_code.
2003-05-03 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Document
push_dummy_code. Add cross references.
Diffstat (limited to 'gdb/gdbarch.h')
-rw-r--r-- | gdb/gdbarch.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index f781cc9..f00cc34 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -1135,6 +1135,8 @@ extern void set_gdbarch_deprecated_use_generic_dummy_frames (struct gdbarch *gdb #define DEPRECATED_USE_GENERIC_DUMMY_FRAMES (gdbarch_deprecated_use_generic_dummy_frames (current_gdbarch)) #endif +/* Replaced by push_dummy_code. */ + /* Default (value) for non- multi-arch platforms. */ #if (!GDB_MULTI_ARCH) && !defined (CALL_DUMMY_LOCATION) #define CALL_DUMMY_LOCATION (AT_ENTRY_POINT) @@ -1149,6 +1151,8 @@ extern void set_gdbarch_call_dummy_location (struct gdbarch *gdbarch, int call_d #define CALL_DUMMY_LOCATION (gdbarch_call_dummy_location (current_gdbarch)) #endif +/* Replaced by push_dummy_code. */ + /* Default (function) for non- multi-arch platforms. */ #if (!GDB_MULTI_ARCH) && !defined (CALL_DUMMY_ADDRESS) #define CALL_DUMMY_ADDRESS() (entry_point_address ()) @@ -1166,6 +1170,8 @@ extern void set_gdbarch_call_dummy_address (struct gdbarch *gdbarch, gdbarch_cal #endif #endif +/* Replaced by push_dummy_code. */ + extern CORE_ADDR gdbarch_call_dummy_start_offset (struct gdbarch *gdbarch); extern void set_gdbarch_call_dummy_start_offset (struct gdbarch *gdbarch, CORE_ADDR call_dummy_start_offset); #if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (CALL_DUMMY_START_OFFSET) @@ -1175,6 +1181,8 @@ extern void set_gdbarch_call_dummy_start_offset (struct gdbarch *gdbarch, CORE_A #define CALL_DUMMY_START_OFFSET (gdbarch_call_dummy_start_offset (current_gdbarch)) #endif +/* Replaced by push_dummy_code. */ + extern CORE_ADDR gdbarch_call_dummy_breakpoint_offset (struct gdbarch *gdbarch); extern void set_gdbarch_call_dummy_breakpoint_offset (struct gdbarch *gdbarch, CORE_ADDR call_dummy_breakpoint_offset); #if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (CALL_DUMMY_BREAKPOINT_OFFSET) @@ -1184,6 +1192,8 @@ extern void set_gdbarch_call_dummy_breakpoint_offset (struct gdbarch *gdbarch, C #define CALL_DUMMY_BREAKPOINT_OFFSET (gdbarch_call_dummy_breakpoint_offset (current_gdbarch)) #endif +/* Replaced by push_dummy_code. */ + extern int gdbarch_call_dummy_length (struct gdbarch *gdbarch); extern void set_gdbarch_call_dummy_length (struct gdbarch *gdbarch, int call_dummy_length); #if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (CALL_DUMMY_LENGTH) @@ -1236,6 +1246,8 @@ extern void set_gdbarch_deprecated_pc_in_call_dummy (struct gdbarch *gdbarch, gd #endif #endif +/* Replaced by push_dummy_code. */ + /* Default (value) for non- multi-arch platforms. */ #if (!GDB_MULTI_ARCH) && !defined (CALL_DUMMY_WORDS) #define CALL_DUMMY_WORDS (legacy_call_dummy_words) @@ -1250,6 +1262,8 @@ extern void set_gdbarch_call_dummy_words (struct gdbarch *gdbarch, LONGEST * cal #define CALL_DUMMY_WORDS (gdbarch_call_dummy_words (current_gdbarch)) #endif +/* Replaced by push_dummy_code. */ + /* Default (value) for non- multi-arch platforms. */ #if (!GDB_MULTI_ARCH) && !defined (SIZEOF_CALL_DUMMY_WORDS) #define SIZEOF_CALL_DUMMY_WORDS (legacy_sizeof_call_dummy_words) @@ -1264,6 +1278,8 @@ extern void set_gdbarch_sizeof_call_dummy_words (struct gdbarch *gdbarch, int si #define SIZEOF_CALL_DUMMY_WORDS (gdbarch_sizeof_call_dummy_words (current_gdbarch)) #endif +/* Replaced by push_dummy_code. */ + #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) @@ -1300,6 +1316,8 @@ extern void set_gdbarch_deprecated_call_dummy_stack_adjust (struct gdbarch *gdba #endif #endif +/* Replaced by push_dummy_code. */ + #if defined (FIX_CALL_DUMMY) /* Legacy for systems yet to multi-arch FIX_CALL_DUMMY */ #if !defined (FIX_CALL_DUMMY_P) @@ -1337,6 +1355,14 @@ extern void set_gdbarch_fix_call_dummy (struct gdbarch *gdbarch, gdbarch_fix_cal #endif #endif +/* This is a replacement for FIX_CALL_DUMMY et.al. */ + +extern int gdbarch_push_dummy_code_p (struct gdbarch *gdbarch); + +typedef CORE_ADDR (gdbarch_push_dummy_code_ftype) (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, int using_gcc, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr); +extern CORE_ADDR gdbarch_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, int using_gcc, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr); +extern void set_gdbarch_push_dummy_code (struct gdbarch *gdbarch, gdbarch_push_dummy_code_ftype *push_dummy_code); + #if defined (DEPRECATED_INIT_FRAME_PC_FIRST) /* Legacy for systems yet to multi-arch DEPRECATED_INIT_FRAME_PC_FIRST */ #if !defined (DEPRECATED_INIT_FRAME_PC_FIRST_P) |