Newlib

Discussing libraries simplifying applications development
  • Приветствую всех. Позвольте представиться - меня зовут Олег.
    Я занимаюсь системным/ядерным программированием для Linux и MacOS.
    А сюда меня пригласил SoUrcerer :) Так что принимайте новичка :)
    Я хотел бы заняться библиотекой newlib, поэтому и пишу в этой теме. Насколько я понял, из разговора с Serge, кроме него разработкой библиотеки не занимается больше никто?
    Я думаю взяться за реализацию удобной сетевой части библиотеки, но очень бы хотелось услышать общие пожелания от опытных пользователей/разработчиков. Да и в целом, хотелось бы увидеть, весь roadmap разработки, что нужно добавить/переделать, что уже запланировано и т.д.

    Немного информации обо мне: http://habrahabr.ru/users/elenbert/
    И мой google+ акк: https://plus.google.com/106282404336573363551/about
  • Добро пожаловать!
    Не силен в Си -могу лишь сказать об общих принципах. У нас нет никакого централизованного руководства, так что главные решения принимаются собственно разработчиком работающим по направлению. Если есть сомнения, то можно посоветоваться спросив на форуме. Однако как сформулировал однажды один из участников проекта "Наибольший приоритет имеет мнение пишущего программиста".
  • Да, именно так. Конкретно newlib занимался только Serge. Некоторое количество библиотек и утилит перенес в Колибри с помощью newlib я.
    Как такового roadmap нет. Есть список задач, которыми каждый из нас занимается, и есть некоторый пул идей, реализация которых была бы полезна.
    Насколько я знаю, сейчас Clevermouse занимается USB и дисковой подсистемой, Asper - звуковыми и сетевыми драйверами, Serge - ACPI, hidnplayr - сетевой веткой. Едва ли кто-то откажется от помощи. :) Идеи собраны в теме "Что я хочу увидеть в Колибри завтра", и, когда у кого-нибудь есть время, этот кто-то иногда делает что-нибудь из списка идей. А вообще да, "Наибольший приоритет имеет мнение пишущего программиста". В идеале - каждый делает то, что ему интересно, по возможности не ущемляя права и интересы других участников сообщества. "Нам не нужна сеть, принимаем патчи только к дисковой подсистеме" - это не про Колибри. "Я хочу сделать USB, возражения будут?", через неделю "Ок, все тонкости обсудили, я уже работаю", еще через неделю "Ну вот, концепт" - это про Колибри.
  • Распаковал я линуксовый тулчейн и попробовал завести. Создал юзера kos32, распаковал содержимое архива. Установил права. Не работает, требует cc1.
    Скопировал cc1 в /home/kos32/bin, не работает. cc1 требовал libgmp, я подсунул нужную, в итоге собрал сначала tmp.s, а затем и a.out командой
    i586-kos-gcc ../tmp.c
    Получил валидный файл формата MENUET02, который должен, по идее, выводить Hello. Но он на доску отладки ничего не выводит, просто корректно завершается. :(
  • Всё остальное вроде работает. Только я так и не понял, как правильно настроить пути.
  • Code: Select all

    Создал юзера kos32
    ???
    Достаточно kos32 скопировать в /home и добавить /home/kos32/bin в PATH. сс1 есть, находится в kos32/libexec/gcc/ и далее по каталогам
    printf() работает с буфированным выводом, так что надо \n в конце строки, иначе зависает в буфере.
    Конечно после main() идет exit() которая должна закрывать все потоки и записывать буферы, но наверное что то не работает. Проверю завтра.
    Last edited by Serge on Mon Nov 26, 2012 12:15 am, edited 1 time in total.
  • Добавил, прогресс пошел, но всё равно не очень естественно получается работать как-то.
  • но всё равно не очень естественно получается работать как-то
    В смысле ?
  • Ну, приходится очень серьезно конфиги и мейк-файлы править, чтобы объяснить, что я хочу именно i586-kos32-gcc использовать. Нужно делать алиасы, или делать chroot?
  • export CC=i586-kos32-gcc
    export LD=i586-kos32-ld и т.д.
    В правильных makefile должно быть соответственно $(CC) и $(LD) в командных строках
    для ./configure ещё можно указывать --with-sysroot=/home/kos32 но ./configure и кросскомпиляция вообще плохо совместимы.
  • Понятно, так и делаю. Спасибо.
  • Кстати, в архиве нет libsupc++, и вообще плюсовых библиотек. Это так и должно быть?
  • Так там и С++ нет, только С.
    А две необходимые ++либы здесь http://kolibri-pe.googlecode.com/files/ ... 03.2011.7z
    libgcc_eh и libsupc++

    Я С++ не занимался, хотя Mesa собиралась, там glsl компилятор на С++. Для С++ наверное надо crt править чтобы статические конструкторы выполнялись до main().
  • Ага, спасибо. Еще некоторые configure понимают, когда им говорят target=.. Как добавить i586-kos32 в target?
  • Who is online

    Users browsing this forum: No registered users and 1 guest