From e2d0e7eb0476ade97ed7c00e7a3838609d52d084 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Wed, 22 Oct 2003 23:54:11 +0000 Subject: 2003-10-22 Andrew Cagney * gdbarch.sh (convert_from_func_ptr_addr): Convert to a pure multi-arch method, add "targ" parameter. (struct target_ops): Declare. * gdbarch.h, gdbarch.c: Re-generate. * Makefile.in (c-valprint.o): Update dependencies. * arch-utils.h: Update copyright. (convert_from_func_ptr_addr_identity): Declare. * arch-utils.c (convert_from_func_ptr_addr_identity): New function. * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update. * rs6000-tdep.c (rs6000_convert_from_func_ptr_addr): Upate. * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Update. * infcall.c (find_function_addr, call_function_by_hand): Update. * c-valprint.c: Include "target.h". (print_function_pointer_address): Update. --- gdb/infcall.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'gdb/infcall.c') diff --git a/gdb/infcall.c b/gdb/infcall.c index f9cb87e..75c7f4e 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -182,7 +182,9 @@ find_function_addr (struct value *function, struct type **retval_type) if (TYPE_CODE (ftype) == TYPE_CODE_FUNC || TYPE_CODE (ftype) == TYPE_CODE_METHOD) { - funaddr = CONVERT_FROM_FUNC_PTR_ADDR (funaddr); + funaddr = gdbarch_convert_from_func_ptr_addr (current_gdbarch, + funaddr, + ¤t_target); value_type = TYPE_TARGET_TYPE (ftype); } else @@ -562,7 +564,9 @@ call_function_by_hand (struct value *function, int nargs, struct value **args) dummy_addr = DEPRECATED_CALL_DUMMY_ADDRESS (); /* Make certain that the address points at real code, and not a function descriptor. */ - dummy_addr = CONVERT_FROM_FUNC_PTR_ADDR (dummy_addr); + dummy_addr = gdbarch_convert_from_func_ptr_addr (current_gdbarch, + dummy_addr, + ¤t_target); /* A call dummy always consists of just a single breakpoint, so it's address is the same as the address of the dummy. */ bp_addr = dummy_addr; @@ -583,7 +587,9 @@ call_function_by_hand (struct value *function, int nargs, struct value **args) dummy_addr = entry_point_address (); /* Make certain that the address points at real code, and not a function descriptor. */ - dummy_addr = CONVERT_FROM_FUNC_PTR_ADDR (dummy_addr); + dummy_addr = gdbarch_convert_from_func_ptr_addr (current_gdbarch, + dummy_addr, + ¤t_target); /* A call dummy always consists of just a single breakpoint, so it's address is the same as the address of the dummy. */ bp_addr = dummy_addr; -- cgit v1.1