This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFC] Add a little IBM XL C++ specific code in dwarf2read.c, to set TYPE_VPTR_FIELDNO and TYPE_VPTR_BASETYPE of a virtual class correctly
- From: Daniel Jacobowitz <drow at false dot org>
- To: Wu Zhou <woodzltc at cn dot ibm dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Mon, 30 May 2005 22:50:32 -0400
- Subject: Re: [RFC] Add a little IBM XL C++ specific code in dwarf2read.c, to set TYPE_VPTR_FIELDNO and TYPE_VPTR_BASETYPE of a virtual class correctly
- References: <Pine.LNX.4.63.0504301332010.26869@plinuxt18.cn.ibm.com>
Your computer's date is wrong; please fix that. I had to go hunting to
see where this message was filed :-)
On Sat, Apr 30, 2005 at 01:53:46PM -0700, Wu Zhou wrote:
> Daniel,
>
> As we discussed in a previous thread before, gdb will drop into SEGV
> fault when handling the debug-info of a virtual class which has no
> DW_AT_containing_type attribute. ARM's RVCT compiler will generate
> this kind of debuginfo and prone to trigger SEGV error, which you
> fixed in a big un-cleanuped patch. IBM's XL compiler will also
> generate this kind of debuginfo and prone to SEGV error too, on
> which I posted a small patch based on yours.
>
> I see that you are still too busy to look into this. But maybe we
> could handle this somewhat easily. My thought is to begin with
> eliminating the SEGV error first, which only need a small fix. Then
> we could go on with other parts. So I post the following IBM XLC++
> specific patch, wishing that we could make some progress on this.
> What is your point on this idea? If you think it is ok, I could also
> add ARM specific code into this patch. Please review and comment.
> Thanks a lot!
I am not the maintainer of this code, so I can't approve patches to it.
You currently need to speak with Elena about DWARF-2 patches.
I think the change is probably reasonable. Alternatively, we could
teach GDB not to rely on TYPE_VPTR_FIELDNO and TYPE_VPTR_BASETYPE if
the C++ ABI in use does not require them, which the GNU v3 ABI does
not. That would also be a good solution.
--
Daniel Jacobowitz
CodeSourcery, LLC