/* Dynamic architecture support for GDB, the GNU debugger.
- Copyright 1998, 1999, 2000, 2002, 2003 Free Software Foundation,
- Inc.
+ Copyright 1998, 1999, 2000, 2002, 2003, 2004 Free Software
+ Foundation, Inc.
This file is part of GDB.
/* gdbarch trace variable */
extern int gdbarch_debug;
+/* An implementation of return_value that props up architectures still
+ using USE_STRUCT_RETURN, EXTRACT_RETURN_VALUE and
+ STORE_RETURN_VALUE. See also the hacks in "stack.c". */
+enum return_value_convention legacy_return_value (struct gdbarch *gdbarch,
+ struct type *valtype,
+ struct regcache *regcache,
+ gdb_byte *readbuf,
+ const gdb_byte *writebuf);
+
/* Implementation of extract return value that grubs around in the
register cache. */
extern gdbarch_extract_return_value_ftype legacy_extract_return_value;
/* To return any structure or union type by value, store it at the
address passed as an invisible first argument to the function. */
-extern gdbarch_use_struct_convention_ftype always_use_struct_convention;
+extern gdbarch_deprecated_use_struct_convention_ftype always_use_struct_convention;
/* Typical remote_translate_xfer_address */
extern gdbarch_remote_translate_xfer_address_ftype generic_remote_translate_xfer_address;
extern int no_op_reg_to_regnum (int reg);
-/* Versions of init_frame_pc(). Do nothing; do the default. */
-
-extern CORE_ADDR deprecated_init_frame_pc_default (int fromleaf, struct frame_info *prev);
-
/* Do nothing version of elf_make_msymbol_special. */
void default_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym);
extern CORE_ADDR generic_skip_solib_resolver (struct gdbarch *gdbarch,
CORE_ADDR pc);
-extern int generic_in_solib_call_trampoline (CORE_ADDR pc, char *name);
-
extern int generic_in_solib_return_trampoline (CORE_ADDR pc, char *name);
extern int generic_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc);
extern int default_stabs_argument_has_addr (struct gdbarch *gdbarch,
struct type *type);
+extern int generic_instruction_nullified (struct gdbarch *gdbarch,
+ struct regcache *regcache);
+
/* For compatibility with older architectures, returns
(LEGACY_SIM_REGNO_IGNORE) when the register doesn't have a valid
name. */