Добрый день, Alex.
Alex пишет в сообщении:
AM> uClinux собирается без -nostdinc и -nostdlib, AM> в результате умудряется цеплять AM> разные стандартные файлы (типа stdio.h и sys/types.h) AM> не из своего дистрбутива, а из хост-системы.
По поводу nostdinc: Когда компилируют ядро указывают
-nostdinc (по дистрибутиву 20030909).
Когда компилируют библиотеки нет опции
-nostdinc (по дистрибутиву 20030909), при этом если include файл не найден в явно указанных каталогах, то он берется из include каталога поставляемого в составе toolchain, у меня например это каталог:
/opt/uClinux/lib/gcc-lib/arm-elf/2.95.3/include
те, если например stdarg.h не найден в каталогах, указанных явно, будет использоваться:
/opt/uClinux/lib/gcc-lib/arm- elf/2.95.3/include/stdarg.h
это нормально, не совсем правильно если используется stdarg.h host системы.
Когда компилируют приложения -nostdinc не указывается, тоже правильно, см компиляцию библиотек.
stdio.h берется из uClinux дистрибутива, sys/types.h тоже. Они могут братся от хоста, когда компилируются утилиты для хоста, например mkfs.jffs2.
По поводу -nostdlib:
При линковке приложений опция -nostdlib не используется, задается -nostartfiles и указывается startup файл из состава дистрибутива uClinux. Нормально - имеем право взять include файлы и библиотеку из состава toolchain.
При линковке ядра в явном виде указывается библиотека из состава toolchain libgcc.a (по дистрибутиву 20030909).
/opt/uClinux/lib/gcc-lib/arm-elf/2.95.3/libgcc.a
Если не указать не находятся __umodsi3, __umodsi3, __udivsi3 итд, наверное они от туда берутся. Подробно здесь не разбирался.
AM> Он gcc3 суже обирается или нет?
По поводу gcc 3.x, сейчас несколько некогда, предкомпилированных достаточно много можно найти, может быть стоит присоединится к одному из авторитетных источников. Требует изучения.
С уважением, Дмитрий Черкашин.
Alex Mogilnikov пишет: AM> Привет Dmitriy!
AM> 27 Jul 04 03:04, Dmitriy Cherkashin писал Yury Logvinov:
DC>> Можете попробовать DC>>
formatting link
> Есть Ethernet 10/100, 2 Com порта, uClinux под плату
AM> Кстати, все забывал спросить. Он gcc3 суже обирается или нет? Если помнишь, AM> с год назад я пробовал это чудо собрать, и после изрядной работы напильником AM> мне это удалось. Hо тогда у меня был gcc2, а сейчас - gcc3. Почти те же AM> манипуляции напильником (одна из десятка ошибок оказалась уже исправленной в AM> свежем дистрибутиве!) к успеху не привели.
AM> Кстати, раз уж зашла речь, еще вопрос. Я с удивлением обнаружил, что AM> uClinux собирается без -nostdinc и -nostdlib, в результате умудряется цеплять AM> разные стандартные файлы (типа stdio.h и sys/types.h) не из своего дистрбутива, AM> а из хост-системы. Как же так? Ты что-то можешь сказать по этому поводу?
AM> Всего наилучшего, [Team PCAD 2000] AM> Алексей М. AM> ... Северо-Кавказская межрегиональная ассоциация анонимных соискателей.