LINUX.ORG.RU

Ядро скоро нельзя будет собрать с GCC 2.95/2.96


0

0

Andrew Morton стал принимать патчи для ядра, которые убирают поддержку компиляторов GCC версий 2.95/2.96. Основными причинами для этого стали невозможность сборки некоторых существующих модулей этими компиляторами, а также отсутствие полной поддержки анонимных объединений (anonymous unions) языка C99.

>>> Подробности

★★★★★

Проверено: ivlad ()

Забыли добавить что еще идет дискуссия какие gcc тертьей ветки оставить в списке:D
Вот как надо
http://www.nixp.ru/news/6911
:P

B084 ★★
()

Я даже не знаю кто до сих пор пользуется компиляторами указанными в сабже... Анонимусы как всегда все испортили =))

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

>Я даже не знаю кто до сих пор пользуется компиляторами указанными в >сабже... Анонимусы как всегда все испортили =))

Ну я использую, для ebedded устройств, ядро выходит более компактным,
чем после сборки после gcc3, да и приложения тоже... Дурацкие вопросы еще будут?

McMCC ★★★
()
Ответ на: комментарий от Stinky

>Рискну поинтересоваться, часто-ли в embedded устройствах пользуются >последния ядра?
Из ветки 2.4, очень часто... А вот для сборки 2.6 уже пофиг, тут требований
никаких, т.к. заранее ставится большая флеш и много озу, можно собирать
хоть gcc4...

McMCC ★★★
()
Ответ на: комментарий от gh0stwizard

>Я в том плане, что используют при сборке ядра, а не приложений.

А я про ядро и сказал...

McMCC ★★★
()
Ответ на: комментарий от blind

>вобще-то речь про 2.6 только

Есть железки, под которых требуется сборка 2.6 старыми компиляторами,
именно по причине размеров ядра, по большей части, тулчейнсы для таких
устройств, содержат компилятор 2.95.х и 3.1.х....

McMCC ★★★
()
Ответ на: комментарий от McMCC

> Из ветки 2.4, очень часто... А вот для сборки 2.6 уже пофиг, тут требований никаких, т.к. заранее ставится большая флеш и много озу, можно собирать хоть gcc4...

и

> Есть железки, под которых требуется сборка 2.6 старыми компиляторами, именно по причине размеров ядра, по большей части, тулчейнсы для таких устройств, содержат компилятор 2.95.х и 3.1.х....

Так в чем правда, брат?.. ;)

yyk ★★★★★
()
Ответ на: комментарий от yyk

>Так в чем правда, брат?

Правда в том, что есть разные железки, которые были сделаны ранее и
которые только собираются сделать, так вот, если раньше было ядро 2.4,
и оно легко помещалось на флеш вместе с системой, то теперь, при переходе
на 2.6 могут возникнуть проблемы с размерами, которые могут решиться за счет
сборки с помощью gcc29x... Когда я говорил выше, я имел ввиду новые
железки...


McMCC ★★★
()

> полной поддержки анонимных объединений (anonymous unions)

Анонимусы всех стран, объединяйтесь!

anonymous
()
Ответ на: комментарий от McMCC

У меня gcc-3.3 генерирует более компактный код (для с++), чем gcc-2.96. Кстати, есть опция сказать компилятору "оптимизировать по размеру", для embedded есть опции повыкидывать лишнее из функциональности ядра. Ничего из этого не помогает?

Casus ★★★★★
()
Ответ на: комментарий от Casus

> У меня gcc-3.3 генерирует более компактный код (для с++), чем gcc-2.96.

мля, gcc-2.96 не существует , это gcc-3.0-beta version, который redhat некрасиво назвала gcc-2.96

есть gcc-2.95.2 это последний из ветки 2.x насколько я знаю

szh ★★★★
()
Ответ на: комментарий от idle

> иэх! только я собрался наконец сделать downgrade

> с 3.4 на 2.95, как на тебе ...

Так в чем проблема? Заодно ядро до 2.0.X даунгрейдь и делов...

log1n
()
Ответ на: комментарий от szh

> мля, gcc-2.96 не существует , это gcc-3.0-beta version, который

> redhat некрасиво назвала gcc-2.96

Если RedHat сказала, что это 2.96, значит это и есть 2.96. Тебе не кажется, что контора, силами которой написано 99% всего gcc - лучше знает, какая есть версия, а какой нет?

log1n
()
Ответ на: комментарий от Casus

>У меня gcc-3.3 генерирует более компактный код (для с++), чем gcc-2.96.

Вот именно, для с++, который нафиг не нужен, речь исключительно про С,
даже для тулчейнсов, gcc собирают без c++, я тоже...
http://mcmcc.bat.ru/dlinkt/ar7_mipsel_toolchain_src/mipsel_toolchain_build.ko...

McMCC ★★★
()
Ответ на: комментарий от blind

>а зачем железкам срочно переползать на 2.6? какая такая необходимость?

У меня знакомый пишет прошивку для железки на ARM9, когда ее проектировали, то закладывались на ядро 2.4, однако время шло и
понадобилось воткнуть 2.6, в нем фич побольше и нагрузку держит нужную,
так вот, первым с чем он столкнулся, это размеры ядра после выхода из под
gcc3, даже с использованием lzma компрессии самого ядра, нужные размеры
не получались, тогда он пересобрал ядро с помошью gcc-2.95.3, ядро не
то что влезло, но еще и запас остался.. Для своей железки, я тоже пробовал
gcc3, кое как собрал старенький 2.4.17, но размеры:((, вообщем, в топку
gcc3, для embedded, кому критична стоимость на память и флеш, он не
подходит...

McMCC ★★★
()
Ответ на: комментарий от szh

>мля, gcc-2.96 не существует , это gcc-3.0-beta version, который redhat
>некрасиво назвала gcc-2.96

Фигню порим... gcc-2.96 это gcc v.2 и ни разу не бета v.3, т.к. она сама
по себе существовала и многое было взято из 2.96...

McMCC ★★★
()
Ответ на: комментарий от log1n

>Заодно ядро до 2.0.X даунгрейдь и делов...

Лично держал в руках железку, для TV по езернету, где стоял видеопроцессор
со встроенным ядром 2.0, причем не во флеш, а в него самого, сама же
система была на CF диске, и что там было, мне не удалось посмотреть...

McMCC ★★★
()
Ответ на: комментарий от McMCC

компактный... может быть. А правильный?

> Ну я использую, для ebedded устройств, ядро выходит более компактным,
> чем после сборки после gcc3, да и приложения тоже... Дурацкие вопросы
> еще будут?

1) Какими заклинаниями боретесь с [многочисленными] ICE?
2) Не боитесь потом с пользователями повстречаться? 

Dselect ★★★
()
Ответ на: комментарий от log1n

log1n:
> > иэх! только я собрался наконец сделать downgrade
> > с 3.4 на 2.95, как на тебе ...
>
> Так в чем проблема? Заодно ядро до 2.0.X даунгрейдь и делов...

проблема в том, что собирался я это сделать как раз для того,
чтобы перекомпиляция 2.6 происходила быстрее.

а для 2.2 (который, вообще-то, я раз в полгода компилирую), у
меня вообще egcs-1-не-помню-какая-версия.

idle ★★★★★
()

tcc тоже перестало собираться

anonymous
()
Ответ на: комментарий от Casus

>falign-functions, falign-jumps, falign-labels, falign-loops пробовал поменьше >поставить?

....А еще я умею на баяне играть и ложками "Мурку" сбацать....

McMCC ★★★
()

Кстати, сам по себе компилятор GCC 2.95/96 уже не собирается под GCC 3.3.x последним.

Но с другой стороны GCC 3.4 собирает *неработоспособное* 2.4.32 ядро, по крайней мере на MIPS. Ошибок синтаксиса нету, а код не работает :)

anonymous
()
Ответ на: комментарий от McMCC

>-Os -ffunction-sections -fdata-sections

И что? у gcc-3.x.x получается код больше, чем у 2.95.2 ?

smartly ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.