This is the mail archive of the
mailing list for the GDB project.
Re: [PATCH] m32c-tdep.c: Don't choke on virtual functions in push_dummy_call
- From: Mark Kettenis <mark dot kettenis at xs4all dot nl>
- To: gdb-patches at sourceware dot org
- Date: Wed, 28 Jun 2006 23:23:04 +0200 (CEST)
- Subject: Re: [PATCH] m32c-tdep.c: Don't choke on virtual functions in push_dummy_call
- References: <20060628141839.GA29012@calimero.vinschen.de>
> Date: Wed, 28 Jun 2006 16:18:39 +0200
> From: Corinna Vinschen <firstname.lastname@example.org>
> the below patch fixes a couple of GDB internal errors when calling
> virtual C++ methods. Virtual methods are not represented as type
> TYPE_CODE_METHOD, but as TYPE_CODE_PTR pointing to TYPE_CODE_METHOD.
> The m32c_push_dummy_call function only checks the function type for
> TYPE_CODE_FUNC or TYPE_CODE_METHOD, which results in a failed assertion
> in case of virtual methods. The below patch skips TYPE_CODE_PTR types
> until it points to the actual TYPE_CODE_METHOD to evaluate further
> necessary data.
> Ok to apply?
Hmm, I don't understand why this is a m32c-specific problem.
Shouldn't this be handled in generic code instead?