Долго долго пытался я заставить работать gcc. Но в лучшем случае получал ELF бинарник.
В общем всё-таки собрав (и даже запустив) simple.c, решил отделить всё что нужно для компиляции в отдельную папку и выложить тут.
Кладём в src сишные файлы, запускаем build.sh и получаем исполняемый файл.
Проверял только на simple.c из примеров к tcc.
Думаю будет полезно тем, кто так и не смог осилить http://diamondz.land.ru/hll/hll.htm для гцц.
gcc и kolibri
-
- Attachments
-
-
buildenv.zip (25.24 KiB)
- Собственно среда для сборки.
Downloaded 674 times
-
А выравнивание для данных в 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 запускается. На остальном не проверял.
ld скрипт был дан мне на irc канале. simple.c запускается. На остальном не проверял.
DonPedro
Я не знаю какое выравнивание секций делает ld по-умолчанию. Если это 4 байта то данные sse могут оказаться не выравнеными на 16 байт.
Я не знаю какое выравнивание секций делает 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 скомпилировалась замечательно, кстати.
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
Поддержкой menuetlibc никто не занимается. Для C++ минимальный набор библиотек есть в contrib/sdk
Спасибо! Скелет примера скомпилился.
@lex
Если требуется именно ++ надо подключать libsupc++.a и libgcc_eh.a
Если требуется именно ++ надо подключать 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
"
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 2 guests