diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ec35909c4e..a65232186d 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 3a1ad6aba7..9f12896102 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 ();