From: Daniel Jacobowitz Date: Sun, 10 Sep 2006 15:44:36 +0000 (+0000) Subject: * infcall.c (call_function_by_hand): Check for function pointer X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4c8508101163caf4d851d20d96dca2d77635b382;p=binutils-gdb.git * infcall.c (call_function_by_hand): Check for function pointer types. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ec35909c4eb..a65232186dc 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2006-09-10 Daniel Jacobowitz + + * infcall.c (call_function_by_hand): Check for function pointer + types. + 2006-09-10 Andreas Schwab * m68k-tdep.c (m68k_analyze_register_saves): Fix decoding of diff --git a/gdb/infcall.c b/gdb/infcall.c index 3a1ad6aba7e..9f12896102c 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -336,6 +336,9 @@ call_function_by_hand (struct value *function, int nargs, struct value **args) struct cleanup *caller_regcache_cleanup; struct frame_id dummy_id; + if (TYPE_CODE (ftype) == TYPE_CODE_PTR) + ftype = check_typedef (TYPE_TARGET_TYPE (ftype)); + if (!target_has_execution) noprocess ();