diff -urN src/gdb/frv-tdep.c dev/gdb/frv-tdep.c --- src/gdb/frv-tdep.c 2007-06-18 05:36:42.000000000 +0200 +++ dev/gdb/frv-tdep.c 2007-06-18 05:59:31.000000000 +0200 @@ -1049,14 +1049,6 @@ } static CORE_ADDR -frv_extract_struct_value_address (struct regcache *regcache) -{ - ULONGEST addr; - regcache_cooked_read_unsigned (regcache, struct_return_regnum, &addr); - return addr; -} - -static CORE_ADDR frv_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp) { /* Require dword alignment. */ @@ -1502,7 +1494,6 @@ set_gdbarch_extract_return_value (gdbarch, frv_extract_return_value); set_gdbarch_store_return_value (gdbarch, frv_store_return_value); - set_gdbarch_deprecated_extract_struct_value_address (gdbarch, frv_extract_struct_value_address); /* Frame stuff. */ set_gdbarch_unwind_pc (gdbarch, frv_unwind_pc); diff -urN src/gdb/gdbarch.c dev/gdb/gdbarch.c --- src/gdb/gdbarch.c 2007-06-18 05:36:42.000000000 +0200 +++ dev/gdb/gdbarch.c 2007-06-18 05:53:27.000000000 +0200 @@ -188,7 +188,6 @@ gdbarch_extract_return_value_ftype *extract_return_value; gdbarch_store_return_value_ftype *store_return_value; gdbarch_deprecated_use_struct_convention_ftype *deprecated_use_struct_convention; - gdbarch_deprecated_extract_struct_value_address_ftype *deprecated_extract_struct_value_address; gdbarch_skip_prologue_ftype *skip_prologue; gdbarch_inner_than_ftype *inner_than; gdbarch_breakpoint_from_pc_ftype *breakpoint_from_pc; @@ -311,7 +310,6 @@ 0, /* extract_return_value */ 0, /* store_return_value */ 0, /* deprecated_use_struct_convention */ - 0, /* deprecated_extract_struct_value_address */ 0, /* skip_prologue */ 0, /* inner_than */ 0, /* breakpoint_from_pc */ @@ -555,7 +553,6 @@ /* Skip verify of integer_to_address, has predicate */ /* Skip verify of return_value, has predicate */ /* Skip verify of deprecated_use_struct_convention, invalid_p == 0 */ - /* Skip verify of deprecated_extract_struct_value_address, has predicate */ if (current_gdbarch->skip_prologue == 0) fprintf_unfiltered (log, "\n\tskip_prologue"); if (current_gdbarch->inner_than == 0) @@ -725,24 +722,6 @@ fprintf_unfiltered (file, "gdbarch_dump: decr_pc_after_break = 0x%s\n", paddr_nz (current_gdbarch->decr_pc_after_break)); -#ifdef DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P()", - XSTRING (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P ())); -#endif - fprintf_unfiltered (file, - "gdbarch_dump: gdbarch_deprecated_extract_struct_value_address_p() = %d\n", - gdbarch_deprecated_extract_struct_value_address_p (current_gdbarch)); -#ifdef DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(regcache)", - XSTRING (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS (regcache))); -#endif - fprintf_unfiltered (file, - "gdbarch_dump: deprecated_extract_struct_value_address = <0x%lx>\n", - (long) current_gdbarch->deprecated_extract_struct_value_address); #ifdef DEPRECATED_FP_REGNUM fprintf_unfiltered (file, "gdbarch_dump: DEPRECATED_FP_REGNUM # %s\n", @@ -2241,30 +2220,6 @@ gdbarch->deprecated_use_struct_convention = deprecated_use_struct_convention; } -int -gdbarch_deprecated_extract_struct_value_address_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->deprecated_extract_struct_value_address != NULL; -} - -CORE_ADDR -gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch, struct regcache *regcache) -{ - gdb_assert (gdbarch != NULL); - gdb_assert (gdbarch->deprecated_extract_struct_value_address != NULL); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extract_struct_value_address called\n"); - return gdbarch->deprecated_extract_struct_value_address (regcache); -} - -void -set_gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch, - gdbarch_deprecated_extract_struct_value_address_ftype deprecated_extract_struct_value_address) -{ - gdbarch->deprecated_extract_struct_value_address = deprecated_extract_struct_value_address; -} - CORE_ADDR gdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip) { diff -urN src/gdb/gdbarch.h dev/gdb/gdbarch.h --- src/gdb/gdbarch.h 2007-06-18 05:36:42.000000000 +0200 +++ dev/gdb/gdbarch.h 2007-06-18 05:53:27.000000000 +0200 @@ -467,32 +467,8 @@ will be needed for that case to work. NB: It is passed the callers frame since it is only after the callee has returned that this function is used. - M::CORE_ADDR:extract_returned_value_address:struct frame_info *caller_frame:caller_frame */ - -#if defined (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS) -/* Legacy for systems yet to multi-arch DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS */ -#if !defined (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P) -#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P() (1) -#endif -#endif - -extern int gdbarch_deprecated_extract_struct_value_address_p (struct gdbarch *gdbarch); -#if !defined (GDB_TM_FILE) && defined (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P) -#error "Non multi-arch definition of DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS" -#endif -#if !defined (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P) -#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P() (gdbarch_deprecated_extract_struct_value_address_p (current_gdbarch)) -#endif - -typedef CORE_ADDR (gdbarch_deprecated_extract_struct_value_address_ftype) (struct regcache *regcache); -extern CORE_ADDR gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch, struct regcache *regcache); -extern void set_gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch, gdbarch_deprecated_extract_struct_value_address_ftype *deprecated_extract_struct_value_address); -#if !defined (GDB_TM_FILE) && defined (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS) -#error "Non multi-arch definition of DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS" -#endif -#if !defined (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS) -#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(regcache) (gdbarch_deprecated_extract_struct_value_address (current_gdbarch, regcache)) -#endif + M::CORE_ADDR:extract_returned_value_address:struct frame_info *caller_frame:caller_frame + */ typedef CORE_ADDR (gdbarch_skip_prologue_ftype) (CORE_ADDR ip); extern CORE_ADDR gdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip); diff -urN src/gdb/gdbarch.sh dev/gdb/gdbarch.sh --- src/gdb/gdbarch.sh 2007-06-18 05:36:42.000000000 +0200 +++ dev/gdb/gdbarch.sh 2007-06-18 05:53:27.000000000 +0200 @@ -536,7 +536,6 @@ # function is used. #M::CORE_ADDR:extract_returned_value_address:struct frame_info *caller_frame:caller_frame -F:=:CORE_ADDR:deprecated_extract_struct_value_address:struct regcache *regcache:regcache # f::CORE_ADDR:skip_prologue:CORE_ADDR ip:ip:0:0 diff -urN src/gdb/ia64-tdep.c dev/gdb/ia64-tdep.c --- src/gdb/ia64-tdep.c 2007-06-18 05:36:42.000000000 +0200 +++ dev/gdb/ia64-tdep.c 2007-06-18 05:58:41.000000000 +0200 @@ -2994,14 +2994,6 @@ } } -CORE_ADDR -ia64_extract_struct_value_address (struct regcache *regcache) -{ - error (_("ia64_extract_struct_value_address called and cannot get struct value address")); - return 0; -} - - static int is_float_or_hfa_type_recurse (struct type *t, struct type **etp) { @@ -3551,7 +3543,6 @@ set_gdbarch_extract_return_value (gdbarch, ia64_extract_return_value); set_gdbarch_store_return_value (gdbarch, ia64_store_return_value); - set_gdbarch_deprecated_extract_struct_value_address (gdbarch, ia64_extract_struct_value_address); set_gdbarch_memory_insert_breakpoint (gdbarch, ia64_memory_insert_breakpoint); set_gdbarch_memory_remove_breakpoint (gdbarch, ia64_memory_remove_breakpoint); diff -urN src/gdb/sh64-tdep.c dev/gdb/sh64-tdep.c --- src/gdb/sh64-tdep.c 2007-06-18 05:36:43.000000000 +0200 +++ dev/gdb/sh64-tdep.c 2007-06-18 05:57:23.000000000 +0200 @@ -962,17 +962,6 @@ } static CORE_ADDR -sh64_extract_struct_value_address (struct regcache *regcache) -{ - /* FIXME: cagney/2004-01-17: Does the ABI guarantee that the return - address regster is preserved across function calls? Probably - not, making this function wrong. */ - ULONGEST val; - regcache_raw_read_unsigned (regcache, STRUCT_RETURN_REGNUM, &val); - return val; -} - -static CORE_ADDR sh64_frame_align (struct gdbarch *ignore, CORE_ADDR sp) { return sp & ~7; @@ -2487,8 +2476,6 @@ set_gdbarch_register_sim_regno (gdbarch, legacy_register_sim_regno); set_gdbarch_return_value (gdbarch, sh64_return_value); - set_gdbarch_deprecated_extract_struct_value_address (gdbarch, - sh64_extract_struct_value_address); set_gdbarch_skip_prologue (gdbarch, sh64_skip_prologue); set_gdbarch_inner_than (gdbarch, core_addr_lessthan); diff -urN src/gdb/sh-tdep.c dev/gdb/sh-tdep.c --- src/gdb/sh-tdep.c 2007-06-18 05:36:43.000000000 +0200 +++ dev/gdb/sh-tdep.c 2007-06-18 05:56:12.000000000 +0200 @@ -815,18 +815,6 @@ return 1; } -/* Extract from an array REGBUF containing the (raw) register state - the address in which a function should return its structure value, - as a CORE_ADDR (or an expression that can be used as one). */ -static CORE_ADDR -sh_extract_struct_value_address (struct regcache *regcache) -{ - ULONGEST addr; - - regcache_cooked_read_unsigned (regcache, STRUCT_RETURN_REGNUM, &addr); - return addr; -} - static CORE_ADDR sh_frame_align (struct gdbarch *ignore, CORE_ADDR sp) { @@ -2670,8 +2658,6 @@ set_gdbarch_register_sim_regno (gdbarch, legacy_register_sim_regno); set_gdbarch_return_value (gdbarch, sh_return_value_nofpu); - set_gdbarch_deprecated_extract_struct_value_address (gdbarch, - sh_extract_struct_value_address); set_gdbarch_skip_prologue (gdbarch, sh_skip_prologue); set_gdbarch_inner_than (gdbarch, core_addr_lessthan);