Adrian Bunk предложил (http://kerneltrap.org/node/5527) включить в -mm ветку патч, убирающий поддержку старых версий GCC (http://gcc.gnu.org/) в Linux ядре 2.6.x.
При использовании этого патча, ядро уже не сможет быть собрано GCC 2.95, 2.96, 3.0 и 3.1. Останется лишь поддержка версий 3.2, 3.3, 3.4, 4.0.
Общественность, в списке рассылки LKM, крайне отрицательно отозвалась о присланном патче. Например, при его использовании, ядро вообще не сможет быть собрано на платформе VAX (http://linux-vax.sourceforge.net/), некоторые замечают странные ошибки, проявляющиеся только при сборке последней версией GCC.
В итого, ядро будет еще долго поддерживать сборку с использованием GCC 2.95.URL: http://kerneltrap.org/node/5527
Новость: http://www.opennet.me/opennews/art.shtml?num=5873
да уж, красноглазики уже не знают чего бы еще сделать для своего линупса.пару недель назад была новость о патчах, с помощью которых можно собирать древние 2.2 ядра новым напильником, а тут все наоборот :)
А мне кажется, это неплохая мысль. Надо чистить код.
Старье в утиль! Даже мс от 98 виндов отказались. Новые версии требуют для зависимостей пакеты новых версий. Так почему ядро не может?
Видать, кому-то влом обновлять компилятор... Однако ж не влом обновлять ядро! О_о
>Видать, кому-то влом обновлять компилятор... Однако ж не влом обновлять ядро! О_оСэр хоть раз обновлял GCC без обновления версии дистрибутива и половины пакетов в нем ?
не знаю как автор того сообщения... но я менял ;) точнее не менял,а просто поставил новый компилятор в /opt и прописал его в $PATH. ВСЕ! и ничего обновлять и пересобирать не надо ;)
Все, на что хватило автора патча, это поправить проверку на версию gcc без каких-либо других измений в коде ядра :-). Неудивительно, что остальные люди из LKM "крайне отрицательно отозвалась о присланном патче". Вообще, исходя из публикаций в инете, можно подумать о том, что единственная система которая пытается получить выгоду от gcc >=3 является dragonflybsd. А остальные пытаются отдать дань моде.
Дык а что еще требуется? Только указать что требуется гыц 3
Если в курсе, то какие преимущества они используют. Кроме как улучшенной кодогенерации?
Расширенный синтаксис?Спасибо!
> Если в курсе, то какие преимущества они используют. Кроме как улучшенной кодогенерации?из Release Notes for DragonFly 1.2.0
This will be last release that uses GCC 2.95.x as the default compiler. Both GCC 3.4.x and GCC 2.95.x are supported in this release through the use of the CCVER environment variable ('gcc2' or 'gcc34'). GCC 2.95.x is to be retired soon due to its lack of TLS support. The current development branch will soon start depending heavily on TLS support and __thread both within the kernel and in libc and other libraries. This release fully supports TLS segments for programs compiled with gcc-3.4.x.
В свете распространения многопроцессорности, многоядерности, широкого использования многопоточности, решение использовать TLS обоснованное. А там заодно и С99 использовать будут.
Зачем такие примочки вообще нужны ! Лучше бы зделали чтонибудь полезное .
Согласен... Безопасностью ядра бы занялись...
Все от кривых рук. Ибо ВСЕ версии софта должны компилиться ВСЕМИ версиями компиляторов. Иначе это ущербность программистов, не более, не менее.
А это попросту невозможно. Версии GCC <3.* шли своим путём развития. А начиная с 3.* стали стремится в сторону соотвествия международным стандартам POSIX, ISO.
Согласен. Версии 2.9х вообще не соответствуют ISO. Особенно в STL.
2.9х не поддерживает более новый стандарт языка С - С99, а поддерживает С89 (кто читал "Язык программирования С", тот поймёт). С99 - более удобный для написания программ, расширены стандартные библиотеки, ослаблена строгость синтаксиса (например, что переменные теперь можно объявлять по ходу программы, а не только в начале конструкции).