OpenBSD not the only ones grumbling about gcc
OpenBSD not the only ones grumbling about gcc
Posted Oct 25, 2007 20:30 UTC (Thu) by rfunk (subscriber, #4054)Parent article: A potential competitor for GCC: pcc
Linux kernel developers are unhappy with gcc too.
Posted Oct 25, 2007 21:50 UTC (Thu)
by khim (subscriber, #9252)
[Link]
For example they refused for a looong time to switch from gcc 2.7.2.x to gcc 2.95 and later to gcc 3.x - yet today they happily abandoned gcc 2.95 because it's "too buggy". They like bugfixes in gcc (when it makes life easier for kernel developers) but they hate to fix bugs in kernel (when new gcc produces incorrect code because it uses more aggressive optimizations) - it all is quite natural. Yet they are not insane enough to try to port Linux kernel to anything else - because they need portable free compiler which generates fast code and that currently means gcc...
Posted Oct 25, 2007 22:19 UTC (Thu)
by sayler (guest, #3164)
[Link] (1 responses)
Posted Oct 25, 2007 23:37 UTC (Thu)
by nix (subscriber, #2304)
[Link]
Linux developers have love/hate relationship with gcc
OpenBSD not the only ones grumbling about gcc
Not only that.. in some sense I think it would be fair to state that for things like the Linux
kernel, some of GCC's more adventurous optimizations are really damaging. (See above thread
for details).
In general, the kernel is probably fairly well-served by a "glorified assembly" C compiler,
whereas gcc has a much broader target. A C-only compiler that did simple intra-procedure
optimization at 10x the speed of GCC might be a win.
OpenBSD not the only ones grumbling about gcc
I don't see why a sort of -O0.5 variant that dikes out 80% of GCC's
optimization passes wouldn't be doable, or maybe even -Okernel that dikes
out just the ones the kernel hackers dislike. The passes mechanism should
be able to do that without especially much difficulty (modulo the existing
problem where some of them don't properly declare their dependencies on
earlier/later passes).
I think I have a project for this weekend... ;}
