This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Our release cycles are getting longer
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: martin at dalecki dot de (Marcin Dalecki)
- Cc: gcc at gcc dot gnu dot org, david dot carlton at sun dot com (David Carlton)
- Date: Tue, 23 Jan 2007 22:32:13 -0500 (EST)
- Subject: Re: [RFC] Our release cycles are getting longer
>
>
> Wiadomo¶æ napisana w dniu 2007-01-24, o godz02:30, przez David Carlton:
>
> > For 4, you should probably spend some time figuring out why bugs are
> > being introduced into the code in the first place. Is test coverage
> > not good enough?
The test coverage is not good for C++ while it is great for C and most
middle-end issues. Most of the regressions being reported are not
really in any real code but made up examples by a select few GCC
developers.
> It's "too good" to be usable. The time required for a full test suite
> run can be measured by days not hours.
Days, only for slow machines. For our PS3 toolchain (which is really
two sperate compilers), it takes 6 hours to run the testsuite, this
is doing one target with -fPIC. So I don't see how you can say it
takes days.
> The main reason is plain and
> simple the use of an inadequate build infrastructure and not the pure
> size of code compiled for coverage. Those things get completely
> ridiculous
> for cross build targets.
No, not really, it took me a day max to get a spu-elf cross compile
building and runing with newlib and all.
> No. The problems are entierly technical in nature. It's not a pure human
> resources management issue.
Actually they are poltical reasons rather than technical. Human resource
management is actually the biggest issue because most developers have a
day job working on GCC and not supporting the FSF mainline.
> > My favorite tactic to decrease the number of
> > bugs is to set up a unit test framework for your code base (so you can
> > test changes to individual functions without having to run the whole
> > compiler), and to strongly encourage patches to be accompanied by unit
> > tests.
>
> That's basically a pipe dream with the autoxxxx based build system.
Actually the issues here are unrelated at all to auto* and unit test framework.
> It's even
> not trivial to identify dead code...
It is almost hard to identify dead code in any program that has much history as GCC. GCC
is on its 20th birthday this year. What code out there has lasted that long and does
not have hard places to identify dead code?
> A trivial by nature change like the
> top level build of libgcc took actually years to come by.
Unrelated to any of the above issues. Once the patch was written, there was only small
changes to the code to have toplevel libgcc work on weirder targets like Darwin or Netware.
Nothing special was needed really. The real reason why toplevel libgcc took years to come
by is because nobody cared enough about libgcc to do any kind of clean up. The attitude has
changed recently (when I say recent I mean the last 3-4 years) to all of these problems and
in fact all major issues with GCC's build and internals are changing for the better.
-- Pinski
PS auto* is not to blame for GCC's problems, GCC is older than auto*.