[bug] undefined symbols with -Woverloaded-virtual and -fprofile-arcs -ftest-coverage

Brooks Moses brooks.moses@codesourcery.com
Sat Jun 9 06:52:00 GMT 2007


Lothar Werzinger wrote:
> Joe Buck wrote:
>> Sounds like it.  I suggest that you file a bug report, with a complete
>> testcase, so that it can be fixed.
> 
> AFAIK the proposed way to file a bug is to preprocess the file that fails
> and to attach the preprocessed file to the bug.

That's the usual way in most circumstances, yes.  The general principle 
is to simplify the testcase by removing any unnecessary complications; 
usually, a specific instance of that principle is to remove the 
preprocessing step as an unnecessary complication.

> As described earlier the bug vanishes if I do that. Thus I have no idea how
> to provide you gcc folks with a testcase.
> 
> I'd appreciate any input how to create such a testcase.

In your case, that specific instance of the general principle does not 
apply, so you would include the include the non-preprocessed source.

The trick, of course, is including _all_ of the relevant source, 
including all the included header files.

First thing I'd do is try chopping the source file down into smaller and 
smaller bits, by iterating "if I remove this half, does the problem stay 
or go away?" until you've got the smallest file you can get that still 
exhibits the problem.  Then repeat with the included files; try to 
remove as many of those as you can.  After that, put the remaining ones 
in the same directory, and repeat the process on those.

Ideally, the end result will be a small pile of files that you can zip 
up and attach to the bug report.

If that sounds like too much work, an alternative is arranging things in 
the same directory such that you've got a large self-contained pile of 
files that exhibit the problem, and posting a bug report with just the 
information you posted here and a short description of the files, and 
asking for a volunteer that you can send the files to who'll do the 
reduction.  People have been willing to do that in the past, for 
complicated bugs like this.

At least, that would be my advice; others may have differing advice, or 
suggestions more specific to this particular situation.

Hope this helps,
- Brooks



More information about the Gcc mailing list