gcc и kolibri

High-level languages programming questions
  • А выравнивание для данных в ld.x ? EDIT kolibri.ld
    Last edited by Serge on Thu Feb 12, 2009 11:15 pm, edited 1 time in total.
  • Эээ... что?

    ld скрипт был дан мне на irc канале. simple.c запускается. На остальном не проверял.
  • DonPedro

    Я не знаю какое выравнивание секций делает ld по-умолчанию. Если это 4 байта то данные sse могут оказаться не выравнеными на 16 байт.
  • Объясните мне, почему до сих пор не перенесен gcc в kolibri? если он гнутый, то у него ведь должны быть исходники (вроде бы в плюсах). Исходник немного по править как написано в http://diamondz.land.ru/hll/hll.htm и приучить его компилить проги под колибри по той же инструкции.
  • Dimofey wrote:Объясните мне, почему до сих пор не перенесен gcc в kolibri? если он гнутый, то у него ведь должны быть исходники (вроде бы в плюсах). Исходник немного по править как написано в http://diamondz.land.ru/hll/hll.htm и приучить его компилить проги под колибри по той же инструкции.
    Ну, перенесите - мы тут в сообществе как бы не против.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4 я постараюсь, но я как программист еще не очень, хотелось заранее узнать в чем проблема. Если бы проблем не было, уже давно бы сделали как я описал или иначе.
  • Та статья потом была обновлена, т.к. было еще несколько компиляторов адаптировано. Актуальный вариант http://kolibri-n.org/inf/hll/hll.php . Но там тоже огрехи есть - Pyton вместо Python.
  • ...
    make[2]: Entering directory `/home/alvl/menuetlibc/src/libcpp'
    /home/alvl/menuetlibc/linuxtools/mmkdep new.cpp delete.cpp net/ip_addr.cpp net/udp_socket.cpp > ./ldepend
    gcc: error trying to exec 'cc1plus': execvp: No such file or directory
    gcc: error trying to exec 'cc1plus': execvp: No such file or directory
    gcc: error trying to exec 'cc1plus': execvp: No such file or directory
    gcc: error trying to exec 'cc1plus': execvp: No such file or directory
    make[2]: *** [depend] Error 1
    make[2]: Leaving directory `/home/alvl/menuetlibc/src/libcpp'
    make[1]: *** [depend] Error 2
    make[1]: Leaving directory `/home/alvl/menuetlibc/src'
    make: *** [all] Error 2

    Под виндой с mingw дело обстоит не лучше, не видит gcc при попытке сборки. Как же хочется заиметь архив скомпилированных библиотек с инклудами, а не голые сорцы. Newlib скомпилировалась замечательно, кстати.
  • @lex
    Поддержкой menuetlibc никто не занимается. Для C++ минимальный набор библиотек есть в contrib/sdk
  • Спасибо! Скелет примера скомпилился.
  • @lex
    Если требуется именно ++ надо подключать libsupc++.a и libgcc_eh.a
  • Toolchain у Сержа только для lin x86-64, у меня lin 32bit. Поставил wine, mingw. Запускаю в wine kos32-gcc -v и получаю
    "
    kos32-gcc -v
    err:module:import_dll Library libiconv-2.dll (which is needed by L"C:\\MinGW\\msys\\1.0\\home\\autobuild\\tools\\win32\\bin\\kos32-gcc.exe") not found
    err:module:LdrInitializeThunk Main exe initialization for L"C:\\MinGW\\msys\\1.0\\home\\autobuild\\tools\\win32\\bin\\kos32-gcc.exe" failed, status c0000135
    "
    Подскажите пожалуйста, какую библиотеку воткнуть (libiconv-2.dll) в winetricks?

    Добавлено.
    libiconv-2.dll Скопировал в ~/.wine/drive_c/MinGW/msys/1.0/home/autobuild/tools/win32/bin/
    Заработало. Инфо взял отсюда viewtopic.php?f=24&t=1587&start=165
  • Решил таки поплясать вокруг gcc и code::blocks. Остановился на newlibc.
    Подопытный:
    Spoiler:

    Code: Select all

     #include "stdio.h"
    
    int main(int argc, char** argv[])
    {
        prinf("Hello, world!");
        return 0;
    }
    
    Компиляция прошла успешно, вокруг линковщика долго плясал, но так ничего и не вышло:

    Code: Select all

    ld.exe -LD:\src\newlib\lib -LC:\TDM-GCC-64\lib\gcc\x86_64-w64-mingw32\5.1.0\32 -o helllo-world.exe D:\src\kos-hello-world\.objs\main.o  -s -nostdlib -n --file-alignment=16 --section-alignment=16 -TD:\src\newlib\app.lds --image-base 0 -i386pe  -lgcc -lapp -lc.dll
    ld.exe: bad -rpath option
    Где-то в параметрах явно закралась ошибка, но моих знаний не хватает, чтобы найти её (параметры были взяты отсюда и отсюда)
  • В http://websvn.kolibrios.org/filedetails ... Fbuild.txt есть ссылка на тулчейн от Serge, kos32-gcc и kos32-ld.
    Сделаем мир лучше!
  • Who is online

    Users browsing this forum: No registered users and 4 guests