Page 6 of 16

Re: Newlib

Posted: Sun Aug 21, 2011 12:24 pm
by Serge
Для binutils будет обновление патча и ещё будет патч gcc-4.6.1

Re: Newlib

Posted: Mon Dec 05, 2011 10:36 pm
by oleg_kutkov
Приветствую всех. Позвольте представиться - меня зовут Олег.
Я занимаюсь системным/ядерным программированием для Linux и MacOS.
А сюда меня пригласил SoUrcerer :) Так что принимайте новичка :)
Я хотел бы заняться библиотекой newlib, поэтому и пишу в этой теме. Насколько я понял, из разговора с Serge, кроме него разработкой библиотеки не занимается больше никто?
Я думаю взяться за реализацию удобной сетевой части библиотеки, но очень бы хотелось услышать общие пожелания от опытных пользователей/разработчиков. Да и в целом, хотелось бы увидеть, весь roadmap разработки, что нужно добавить/переделать, что уже запланировано и т.д.

Немного информации обо мне: http://habrahabr.ru/users/elenbert/
И мой google+ акк: https://plus.google.com/106282404336573363551/about

Re: Newlib

Posted: Mon Dec 05, 2011 11:23 pm
by Mario
Добро пожаловать!
Не силен в Си -могу лишь сказать об общих принципах. У нас нет никакого централизованного руководства, так что главные решения принимаются собственно разработчиком работающим по направлению. Если есть сомнения, то можно посоветоваться спросив на форуме. Однако как сформулировал однажды один из участников проекта "Наибольший приоритет имеет мнение пишущего программиста".

Re: Newlib

Posted: Tue Dec 06, 2011 10:01 am
by SoUrcerer
Да, именно так. Конкретно newlib занимался только Serge. Некоторое количество библиотек и утилит перенес в Колибри с помощью newlib я.
Как такового roadmap нет. Есть список задач, которыми каждый из нас занимается, и есть некоторый пул идей, реализация которых была бы полезна.
Насколько я знаю, сейчас Clevermouse занимается USB и дисковой подсистемой, Asper - звуковыми и сетевыми драйверами, Serge - ACPI, hidnplayr - сетевой веткой. Едва ли кто-то откажется от помощи. :) Идеи собраны в теме "Что я хочу увидеть в Колибри завтра", и, когда у кого-нибудь есть время, этот кто-то иногда делает что-нибудь из списка идей. А вообще да, "Наибольший приоритет имеет мнение пишущего программиста". В идеале - каждый делает то, что ему интересно, по возможности не ущемляя права и интересы других участников сообщества. "Нам не нужна сеть, принимаем патчи только к дисковой подсистеме" - это не про Колибри. "Я хочу сделать USB, возражения будут?", через неделю "Ок, все тонкости обсудили, я уже работаю", еще через неделю "Ну вот, концепт" - это про Колибри.

Re: Newlib

Posted: Sun Nov 25, 2012 11:13 pm
by SoUrcerer
Распаковал я линуксовый тулчейн и попробовал завести. Создал юзера kos32, распаковал содержимое архива. Установил права. Не работает, требует cc1.
Скопировал cc1 в /home/kos32/bin, не работает. cc1 требовал libgmp, я подсунул нужную, в итоге собрал сначала tmp.s, а затем и a.out командой
i586-kos-gcc ../tmp.c
Получил валидный файл формата MENUET02, который должен, по идее, выводить Hello. Но он на доску отладки ничего не выводит, просто корректно завершается. :(

Re: Newlib

Posted: Sun Nov 25, 2012 11:17 pm
by SoUrcerer
Всё остальное вроде работает. Только я так и не понял, как правильно настроить пути.

Re: Newlib

Posted: Sun Nov 25, 2012 11:45 pm
by Serge

Code: Select all

Создал юзера kos32
???
Достаточно kos32 скопировать в /home и добавить /home/kos32/bin в PATH. сс1 есть, находится в kos32/libexec/gcc/ и далее по каталогам
printf() работает с буфированным выводом, так что надо \n в конце строки, иначе зависает в буфере.
Конечно после main() идет exit() которая должна закрывать все потоки и записывать буферы, но наверное что то не работает. Проверю завтра.

Re: Newlib

Posted: Mon Nov 26, 2012 12:14 am
by SoUrcerer
Добавил, прогресс пошел, но всё равно не очень естественно получается работать как-то.

Re: Newlib

Posted: Mon Nov 26, 2012 12:17 am
by Serge
но всё равно не очень естественно получается работать как-то
В смысле ?

Re: Newlib

Posted: Mon Nov 26, 2012 12:30 am
by SoUrcerer
Ну, приходится очень серьезно конфиги и мейк-файлы править, чтобы объяснить, что я хочу именно i586-kos32-gcc использовать. Нужно делать алиасы, или делать chroot?

Re: Newlib

Posted: Mon Nov 26, 2012 12:46 am
by Serge
export CC=i586-kos32-gcc
export LD=i586-kos32-ld и т.д.
В правильных makefile должно быть соответственно $(CC) и $(LD) в командных строках
для ./configure ещё можно указывать --with-sysroot=/home/kos32 но ./configure и кросскомпиляция вообще плохо совместимы.

Re: Newlib

Posted: Mon Nov 26, 2012 12:52 am
by SoUrcerer
Понятно, так и делаю. Спасибо.

Re: Newlib

Posted: Mon Nov 26, 2012 12:53 am
by SoUrcerer
Кстати, в архиве нет libsupc++, и вообще плюсовых библиотек. Это так и должно быть?

Re: Newlib

Posted: Mon Nov 26, 2012 12:58 am
by Serge
Так там и С++ нет, только С.
А две необходимые ++либы здесь http://kolibri-pe.googlecode.com/files/ ... 03.2011.7z
libgcc_eh и libsupc++

Я С++ не занимался, хотя Mesa собиралась, там glsl компилятор на С++. Для С++ наверное надо crt править чтобы статические конструкторы выполнялись до main().

Re: Newlib

Posted: Mon Nov 26, 2012 1:09 am
by SoUrcerer
Ага, спасибо. Еще некоторые configure понимают, когда им говорят target=.. Как добавить i586-kos32 в target?