On Sat, Apr 21, 2001 at 12:40:01AM +0100, Paul J Collins wrote:
> >>>>> "FD" == Fergal Daly <fergal at esatclear.ie> writes:
>> FD> I think Redhat might argue that the kernel developers have
> FD> been shipping broken code for a long time and that Redhat's
>> That very much depends on how you define "broken code". Code that
> triggers internal compiler errors or whose machine code form produces
> results that are wrong is not broken. When that happens, you have a
> broken compiler.
I would define broken code to be code that doesn't conform to the C standard
and I believe (open to correction) that this is at least part of the problem
with kernel. GCC is now more strict with the standard, so a lot of things
one used to get away with no longer work.
It's the compilers which compile non-conformant code without complaining
that are the broken ones.
> FD> gcc is considerably less broken than most other distros'
> FD> compilers, especially when it comes to C++ support,
>> RedHat's compiler is totally broken compared to that shipped with
> other distros since it:
>> 1) will not build a working kernel (unless you install the 2.96-69
> update). And yes, I know about kgcc.
See above. Also, Linus has said that he'd like people to try building with
2.96 and see what breaks as this will allow them to find places where kernel
bugs are foruitously masked by bugs in older gccs.
> 2) uses a C++ ABI that is incompatible with a) gcc 2.95.* and b) gcc
> 3.0
Similar incompatibilities existed at every transition from gcc2.7 to gcc2.8
to egcs1.0 to egcs1.1 to gcc2.95 and will occur again for 3.0. RH obviously
decided that, in this case, progress was more important than maintaining
compatibility for something that has a history of incompatibility.
Also, redhat comes with a compatability package which includes versions of
libstdc++ with several old ABIs so that older dynamically linked C++
binaries can still work.
Finally, if you have crucial apps that you can't just recompile, then you
need to be very careful about major upgrades - with any distro. Expect big
changes and breakages with Linux, it has never been a platform for binary
only distribution, in fact when it comes to kernel modules, it is actively
discouraged (http://kt.zork.net/kernel-traffic/kt20010416_114.html#7),
Fergal
Fergal
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!