Отзыв самого Линуса Торвалдса все о том же RedHat
http://linuxtoday.com/news_story.php3?ltsn=2000-12-14-002-21-NW-RH-SW.
From the Linux kernel mailing list:
Subject: Re: Signal 11
Date: 14 Dec 2000 11:11:28 -0800
From: [email protected] (Linus Torvalds)
Quite frankly, anybody who uses RedHat 7.0 and their broken compiler for _anything_ is going to have trouble.
I don't know why RH decided to do their idiotic gcc-2.96 release (it certainly wasn't approved by any technical gcc people - the gcc people were upset about it too), and I find it even more surprising that they apparently KNEW that the compiler they were using was completely broken. They included another (non-broken) compiler, and called it "kgcc".
"kgcc" stands for "kernel gcc", apparently because (a) they realised that a miscompiled kernel is even worse than miscompiling some random user applications and (b) gcc-2.96 is so broken that it requires special libraries for C++ vtable chunks handling that is different, so the _working_ gcc can only be used with programs that do not need such library support. Namely the kernel.
In case it wasn't obvious yet, I consider RedHat-7.0 to be basically unusable as a development platform, and I hope RH downgrades their compiler to something that works better RSN. It apparently has problems compiling stuff like the CVS snapshots of X etc too (and obviously, anything you compile under gcc-2.96 is not likely to work anywhere else except with the broken libraries).
Откровенно говоря, любой, кто использует RedHat 7.0 и их битый "универсальный" компилятор будет иметь проблемы.
Я не знаю, почему RH решил делать свой идиотский выпуск gcc-2.96 (это конечно не было одобрено никакими разработчиками gcc - разработчики сожалели об этом), и я нахожу это тем более удивительным, что они очевидно ЗНАЛИ, что компилятор, который они использовали, был с ошибками. Они включили другой, "правильный" компилятор, и назвали его "kgcc".
"kgcc" означает " kernel gcc ", очевидно потому что
(a), они поняли, что ошибки при компиляции ядра даже хуже, чем при компиляции некоторых пользовательских приложений и
(b) gcc-2.96 требует специальных библиотек для C ++ vtable куски, обрабатывающие, который является различным, так что этот компилятор может использоваться только с программами, которые не нуждаются в таких библиотеках. Например, ядро.
В случае, если это не было очевидно все же, я полагаю, что RedHat-7.0 будет в основном непригодным как платформа развития, и я надеюсь, что RH снизит версию их компилятора до такой, которая работает лучше чем RSN. Это очевидно имеет проблемы, компилирующие материал подобно CVS снимкам X и т.д также (и очевидно, все, что Вы собираете под gcc-2.96, вряд ли будет работать где-нибудь еще кроме как со сломанными{*нарушенными*} библиотеками).