This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: about how to add support to new c++ compiler in GDB


On Mon, Apr 25, 2005 at 11:18:23PM -0400, Daniel Jacobowitz wrote:
> On Tue, Apr 26, 2005 at 10:53:03AM +0800, Wu Zhou wrote:
> > Hello Daniel and all,
> > 
> > I am recently running GDB testsuite against IBM's xlc compiler, and found
> > some problems with c++ testcases, especially while handling virtual-table
> > related stuff. After some analysis, I found there are some difference
> > between the debuginfo output between xlc++ and g++. The main difference I
> > noted now is that the class in xlc++ didn't depend on DW_TAG_containing_type
> > to find its virutal function table. Instead, every virtual class in xlc++
> > had its own "__vfp", which act the same role as "_vptr.CLASSNAME" in g++.
> > This will make gdb crash (SEGV) on quite a few c++ testcase.
> 
> I have some patches for this, originally developed for the ARM RVCT
> compiler.  I haven't had the time to clean them up and post them.
> They will probably be helpful to you.
> 
> If I haven't posted them by the end of this week, please, remind me.

You can find the patch, against current CVS GDB, at:
  http://return.false.org/~drow/gdb/combined-rvct-patches.diff

On i386-linux, using g++, it breaks a couple of gcj tests (hmm, I
thought I'd fixed that) and fixes a couple of C++ KFAILs.  For RVCT the
results are more dramatic.  It is going to be a long time before these
patches are all merged; there are 41 of them, some will require
discussion, and all will require me finding some time.  I'll go do the
first one now.

You should give these a try with xlc++ and see if they help.  If not,
we'll need to discuss the differences in xlc output.

-- 
Daniel Jacobowitz
CodeSourcery, LLC


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]