Page 4 of 16

Re: Newlib

Posted: Mon Aug 08, 2011 2:59 pm
by Serge
Есть ли необходимость в кросскомпиляторе gcc для Колибри ?.
И если есть, какой формат входных файлов предпочтителен ELF или COFF ?

Re: Newlib

Posted: Mon Aug 08, 2011 3:10 pm
by Mario
А какой будет размер самого компилятора?
На первый вопрос отвечу да, хоть я и не сишник, но кто знает со временем.

Re: Newlib

Posted: Mon Aug 08, 2011 4:30 pm
by Serge
Размер точно не знаю. Зависит от опций при конфигурировании пакета. Ожидаю 25+ Мб

Re: Newlib

Posted: Mon Aug 08, 2011 4:55 pm
by s1n
Эээх. Была бы возможно портировать c--, было бы замечательно.
p.s. я "за" за gcc.

Re: Newlib

Posted: Mon Aug 08, 2011 7:30 pm
by Foldl
Кросскомпилятор gcc - это сборка gcc, по-умолчанию генерирующая бинарники под Колибри? Но ведь и обычным gcc можно. Ну да, нужен скрипт для ld (и mingw в linux для newlib), но это мелочи.

Re: Newlib

Posted: Mon Aug 08, 2011 7:42 pm
by Serge
Можно, но без бубна не обойтись. Mingw включает разные __WIN32__ и т.п. #define. На кроссплатформенных библиотеках это даёт нежелательные результаты. Хочется иметь однотипную среду разработчика для linux и msys/cygwin.

Re: Newlib

Posted: Mon Aug 08, 2011 8:16 pm
by Foldl
Не смог придумать ситуации, когда будет иметь значение COFF или ELF, ведь все равно собирать из исходников. Ну разве что какие-нибудь линуксовые исходники откажутся собираться в coff, но тогда не соберутся и под Колибри, мне кажется.
Если вопрос
Serge wrote:какой формат входных файлов предпочтителен ELF или COFF ?
действительно важен, можно поподробнее?

Re: Newlib

Posted: Mon Aug 08, 2011 9:51 pm
by Serge
Дело в библиотеках. Если будет каша, когда одна часть скомпилирована linux ELF а другая в mingw COFF и третья i686-kos32-gcc? При достаточном количестве библиотек вполне реальная ситуация. Ещё надо учитывать, что объектники собранные не кросскомпилятором могут быть не совместимы с системой. Путаница будет возникать точно, хочется её уменьшить, пока нет нативного компилятора.

Update. Там ещё декорирование имен по-умолчанию разное
ELF: open read write close
COFF: _open _read _write _close

Re: Newlib

Posted: Mon Aug 08, 2011 10:02 pm
by Mario
Нужно исходить из минимализма - брать тот формат который создает меньше напрягов для реализации.

Re: Newlib

Posted: Mon Aug 08, 2011 10:22 pm
by Serge
Спасибо, Кэп !

Кто знает какой формат создаст меньше напрягов ? А-ну колитесь!

Re: Newlib

Posted: Mon Aug 08, 2011 11:00 pm
by Mario
Ну, тебе видней - ты же дольше этим занимаешься и можешь оценить приблизительные расходы.

Re: Newlib

Posted: Tue Aug 09, 2011 11:00 am
by bw
Я бы использовал COFF.
По поводу кроскомпилятора не понял, ты думаешь запихать gcc в kos или чего сделать?

..bw

Re: Newlib

Posted: Tue Aug 09, 2011 12:44 pm
by Serge
bw
До kos ещё очень далеко. Хочу чтобы программы собирались в linux или msys с минимальными правками.

Re: Newlib

Posted: Tue Aug 09, 2011 7:25 pm
by XVilka
советую посмотреть на crosstool-ng - с его помощью, плюс свои патчи, если необходимо (они тоже легко интегрируются) можно собрать свой тулчейн. В том числе и статический, который можно распространять, например, в SDK

Re: Newlib

Posted: Tue Aug 09, 2011 11:30 pm
by Serge
XVilka

Посмотрел, там больше на Линукс ориентировано. Мне удалось скомпилировать gcc-4.6.1 mingw32 для target=i686-kos32. То есть это тот же mingw32 но уже под новым именем. Теперь буду править файлы конфигурации чтобы отвязаться от Win32.