Bug#194242: gcc 3.3 v the kernel (was Bug#194242: .... drivers/atm/ambassador.c:301:21: ........)
* Brian M. Carlson (firstname.lastname@example.org) wrote:
> On Sun, May 25, 2003 at 07:35:23PM +0100, Dr. David Alan Gilbert wrote:
> > * Brian M. Carlson (email@example.com) wrote:
> > >
> > > Indeed they are. The Linux kernel is part of the release criteria (at
> > > least it was for 3.0) . The site states:
> > Which kernel version? On which architecture? With which drivers?
> I really don't know. I'm not a mind reader. All I know is what is on the
> web site. I also know that gcc is the only compiler that consistently
> compiles the Linux kernel correctly--in general, that is.
> > Its fair to say Gcc shouldn't have any bugs that show up in a few
> > kernel builds, but you can't expect them to test everything; like gcc
> > the kernel is a big piece of code.
> No, I can't expect them to test everything, but I can expect them to
> give it at least a once through. This would have (or at least should
> have) been caught, because gcc 3.3 introduced a complete incompatibility
> with older versions: creating an error when pasting together two such
> tokens. I don't know what the standard says on this issue, but at most
> it requires a diagnostic, and a warning suffices. Changing the warning
> to an error breaks *a lot* of code that otherwise works, including the
Well, I've just compiled Linux 2.5.69 with gcc 3.3 (Debian as in Sid) -
all looks fine to me (although not tried to boot it).
I'm just pointing out that they probably did a similar test; they
compiled >>A<< linux kernel with some particular set of drivers
(hopefully a fairly large chunk) and hopefully they checked it and it
was OK; the fact that it fails in one (fairly obscure) driver is hardly
cause for criticising them for not meeting their release criteria.
> If a .c file doesn't turn into a .o file, and it did with 3.2 , that's
> a regression, and therefore a bug. You can argue for all eternity
> that it's not bug, but a feature, and I'll tell you that if Debian ever
> ships any version of gcc in unstable that doesn't compile the kernel,
> that's a bug.
Well I've got to say that that particular line has to come up in my
category as the weirdest use of #define macroing that I've seen. I
haven't got a clue if thats valid code or not.
---------------- Have a happy GNU millennium! ----------------------
/ Dr. David Alan Gilbert | Running GNU/Linux on Alpha,68K| Happy \
\ gro.gilbert @ treblig.org | MIPS,x86,ARM,SPARC,PPC & HPPA | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/