Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
repairman (Guest)
Добавлено 25.01.2009 12:59 Редактировалось 25.01.2009 12:59
0
Сообщение: 1
repairman (Guest)

Столкнулся я с одной проблемой - нестабильная сборка buildroot его штатным arm-linux-gcc... Сборка происходит успешно, полученные бинарники с полученными библиотеками с очень высокой вероятностью работать не желают... Причина, как удалось установить в той сборке тулчайна и/или библиотек, который сам buildroot для себя собирает...

К сожалению, для моих задач glibc не пригоден, т.е. CodeSourcery я использовать не могу, мне нужен рабочий, безглючный тулчейн на основе uClibc... Из готовых, что я смог найти с buildroot работать ничто не пожелало... Один жаловался на неспособность gcc использовать sysroot, другой на устаревшую версию uClibc и т.п. Без пинков и колдовства не обходилось...

Ну что же, сам не сделаю - никто не сделает... Я собрал свой собственный armv5l-linux-uclibc тулчейн, который стабильно собирает buildroot, при этом производит стабильно работающие бинарники....

Итак, для сборки нам понадобятся исходные тексты:
1. Binutils v2.19 - наборчик из кроссплатформенных ассемблера, линкера, профайлера и т.п.
2. gcc v4.2.4 Gnu compiler collection - коллекция компиляторов самых разных языков программирования, из коротых нам понадобятся только с и с++
3. Исходники ядра, с которым будет работать Ваш софт. Можете использовать то, что у Вас есть или взять последнее, я собирал с 2.6.28.1
4. uClibc v0.9.30

Если Вы собирали buildroot с buildin тулчейном - то все необходимое у Вас уже есть в директории dl...

Для сборки всего вместе я взял Makefile Андрея Валяева (http://mdf-i.blogspot.com/2008/01/arm-linux-toolchain.html) и основательно его переработал, т.к. во-первых его сборка у меня не работала, во-вторых, по моему разумению, кое-что у него сделано "на ура"... И получил такой Makefile:

Код

DISTFILES=~/Distrib
TMP=/tmp

ARCH=arm
TARGET=armv5l-linux-uclibc
PROGPREFIX=$(TARGET)-
PREFIX=$(HOME)/$(TARGET)
CROSS_COMPILE=$(PROGPREFIX)
PATH=$(PREFIX)/bin:$(shell echo $$PATH)

MAKE=make -j1

BINV=binutils-2.19
GCCV=gcc-4.2.4
UCLIBCV=uClibc-0.9.30


.PHONY: binutils gcc-stage1 linux-headers gcc-stage2 uclibc uclibc-config

all: $(BINV).success linux-headers.success
$(UCLIBCV).success $(GCCV).stage1.success $(GCCV).stage2.success

# binutils stuff
$(BINV).success binutils :
echo Building binutils...
rm -rf $(BINV)*
tar -xjf $(DISTFILES)/$(BINV).tar.bz2
mkdir $(BINV).BUILD
cd $(BINV).BUILD; ../$(BINV)/configure
--prefix=$(PREFIX)
--with-sysroot=yes
--target=$(TARGET)
--disable-nls
2>&1 | tee ../$(BINV).configure.log
$(MAKE) -C $(BINV).BUILD
2>&1 | tee $(BINV).build.log
$(MAKE) -C $(BINV).BUILD install
2>&1 | tee $(BINV).install.log
touch $(BINV).success
echo Build binutils done.

# linuxheaders
linux-headers.success linux-headers :
echo Building linux headers...
make -C ./linux ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) headers_install
INSTALL_HDR_PATH=$(PREFIX)/$(TARGET)/sys-root/usr

rm -rf $(UCLIBCV)*
tar -xjf $(DISTFILES)/$(UCLIBCV).tar.bz2
cp uclibc-config $(UCLIBCV)/.config
$(MAKE) -C $(UCLIBCV) install_headers
KERNEL_HEADERS=$(PREFIX)/$(TARGET)/sys-root/usr/include
PREFIX=$(PREFIX)/$(TARGET)/sys-root/
SHARED_LIB_LOADER_PREFIX=/lib
RUNTIME_PREFIX=/
DEVEL_PREFIX=/usr/
2>&1 | tee $(UCLIBCV).headers.log

touch linux-headers.success
echo Build linux headers done.

# gcc stuff
$(GCCV).stage1.success gcc-stage1 : $(BINV).success
echo Building gcc stage1...
rm -rf $(GCCV)*
tar -xjf $(DISTFILES)/$(GCCV).tar.bz2
# cd $(GCCV); cat `echo ../patches/$(GCCV)/*.patch`| patch -p1
mkdir $(GCCV).stage1.BUILD
cd $(GCCV).stage1.BUILD; ../$(GCCV)/configure
--prefix=$(PREFIX)
--target=$(TARGET)
--with-sysroot=yes
--with-arch=armv5te
--with-tune=arm926ej-s
--enable-languages=c
--disable-__cxa_atexit
--enable-target-optspace
--with-gnu-ld
--disable-threads
--disable-shared
--disable-nls
--disable-multilib
--disable-tls
--disable-libmudflap
--disable-libssp
2>&1 | tee ../$(GCCV).stage1.configure.log
$(MAKE) -C $(GCCV).stage1.BUILD
2>&1 | tee $(GCCV).stage1.build.log
$(MAKE) -C $(GCCV).stage1.BUILD install
2>&1 | tee $(GCCV).stage1.install.log
touch $(GCCV).stage1.success
echo Build gcc stage1 done.

$(UCLIBCV).success uclibc : $(GCCV).stage1.success linux-headers.success
echo Building uclibc...
$(MAKE) -C $(UCLIBCV) clean
2>&1 | tee $(UCLIBCV).clean.log
$(MAKE) -C $(UCLIBCV) CROSS=$(CROSS_COMPILE)
KERNEL_HEADERS=$(PREFIX)/$(TARGET)/sys-root/usr/include
PREFIX=$(PREFIX)/$(TARGET)/sys-root/
SHARED_LIB_LOADER_PREFIX=/lib
RUNTIME_PREFIX=/
DEVEL_PREFIX=/usr/
2>&1 | tee $(UCLIBCV).build.log
$(MAKE) -C $(UCLIBCV) CROSS=$(CROSS_COMPILE) install
KERNEL_HEADERS=$(PREFIX)/$(TARGET)/sys-root/usr/include
PREFIX=$(PREFIX)/$(TARGET)/sys-root/
SHARED_LIB_LOADER_PREFIX=/lib
RUNTIME_PREFIX=/
DEVEL_PREFIX=/usr/
2>&1 | tee $(UCLIBCV).install.log
touch $(UCLIBCV).success
echo Build uClibc done.

$(GCCV).stage2.success gcc-stage2 : $(UCLIBCV).success
echo Building gcc stage2...
rm -rf $(GCCV).stage2.*
mkdir $(GCCV).stage2.BUILD
cd $(GCCV).stage2.BUILD; ../$(GCCV)/configure
--prefix=$(PREFIX)
--target=$(TARGET)
--with-sysroot=yes
--with-arch=armv5te
--with-tune=arm926ej-s
--enable-languages=c,c++
--disable-__cxa_atexit
--enable-target-optspace
--with-gnu-ld
--disable-threads
--disable-shared
--disable-nls
--disable-multilib
2>&1 | tee ../$(GCCV).stage2.configure.log

$(MAKE) -C $(GCCV).stage2.BUILD clean
2>&1 | tee $(GCCV).stage2.build.log
$(MAKE) -C $(GCCV).stage2.BUILD
2>&1 | tee $(GCCV).stage2.build.log
$(MAKE) -C $(GCCV).stage2.BUILD install
2>&1 | tee $(GCCV).stage2.install.log
touch $(GCCV).stage2.success
echo Build gcc stage2 done.


# configuration stuff
uclibc-config:
tar -xjf $(DISTFILES)/$(UCLIBCV).tar.bz2
cp uclibc-config $(UCLIBCV)/.config
$(MAKE) -C $(UCLIBCV) CROSS="$(TARGET)-" menuconfig
cp $(UCLIBCV)/.config uclibc-config

# cleanup stuff
uninstall:
rm -rf $(PREFIX)

clean:
rm -rf $(BINV)*
rm -rf $(GCCV)*
rm -rf $(UCLIBCV)*
rm -rf linux-headers.success


Запуск которого на моей машине через 21 минуту произвел абсолютно рабочий armv5l-linux-uclibc тулчейн с поддержкой 2-ух языков Си и Си++... Если кому нужны pascal, ada, fortran, java и т.д. и т.п. из поддерживаемых gcc - включите их с опцию сборки 2-ой стадии... я не пробовал, но должно работать...

Код

./armv5l-linux-uclibc-gcc -v
Using built-in specs.
Target: armv5l-linux-uclibc
Configured with: ../gcc-4.2.4/configure --prefix=/home/repman/armv5l-linux-uclibc --target=armv5l-linux-uclibc --with-sysroot=yes --with-arch=armv5te --with-tune=arm926ej-s --enable-languages=c,c++ --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --disable-threads --disable-shared --disable-nls --disable-multilib
Thread model: single
gcc version 4.2.4


Наличие каких-либо патчей (почему-то ???) никак не сказалось на конечный результат, поэтому я решил оставить все в "чистом" виде...
Никаких проблем в сборке и в производных я не заметил... (заремарченную строку в Makefile для наложения патчей на gcc на всякий случай оставил)...

Все настройки задаются переменными в первых 10 строках Makefile...

p.s. форум-зараза сожрал все символы ""...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 25.01.2009 г. в 13:53:07
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 25.01.2009 13:45 Редактировалось 25.01.2009 13:45 Сообщение: 2
repairman (Guest)

Сейчас провожу тестирование, но пока собранный тулчейн без проблем собирал buildroot с разными комбинациями приложений, ядро линукс, bootstrap, отдельные приложения и т.п. - в полностью автоматическом режиме, ровно, без ругани....

Готовые к употреблению бинарники:
http://repairman.smtp.ru/armv5l-linux-uclibc.tar.bz2

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 27.01.2009 г. в 13:16:22
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 25.01.2009 14:04 Редактировалось 25.01.2009 14:04 Сообщение: 3
repairman (Guest)

Конфигурация uclibc (uclibc-config):
Код

#
# Automatically generated make config: don't edit
# Version: 0.9.30
# Mon Jan 19 20:54:52 2009
#
# TARGET_alpha is not set
TARGET_arm=y
# TARGET_avr32 is not set
# TARGET_bfin is not set
# TARGET_cris is not set
# TARGET_e1 is not set
# TARGET_frv is not set
# TARGET_h8300 is not set
# TARGET_hppa is not set
# TARGET_i386 is not set
# TARGET_i960 is not set
# TARGET_ia64 is not set
# TARGET_m68k is not set
# TARGET_microblaze is not set
# TARGET_mips is not set
# TARGET_nios is not set
# TARGET_nios2 is not set
# TARGET_powerpc is not set
# TARGET_sh is not set
# TARGET_sh64 is not set
# TARGET_sparc is not set
# TARGET_v850 is not set
# TARGET_vax is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set

#
# Target Architecture Features and Options
#
TARGET_ARCH="arm"
FORCE_OPTIONS_FOR_ARCH=y
CONFIG_ARM_OABI=y
# CONFIG_ARM_EABI is not set
USE_BX=y
# CONFIG_GENERIC_ARM is not set
# CONFIG_ARM610 is not set
# CONFIG_ARM710 is not set
# CONFIG_ARM7TDMI is not set
# CONFIG_ARM720T is not set
# CONFIG_ARM920T is not set
# CONFIG_ARM922T is not set
CONFIG_ARM926T=y
# CONFIG_ARM10T is not set
# CONFIG_ARM1136JF_S is not set
# CONFIG_ARM1176JZ_S is not set
# CONFIG_ARM1176JZF_S is not set
# CONFIG_ARM_CORTEX_M3 is not set
# CONFIG_ARM_CORTEX_M1 is not set
# CONFIG_ARM_SA110 is not set
# CONFIG_ARM_SA1100 is not set
# CONFIG_ARM_XSCALE is not set
# CONFIG_ARM_IWMMXT is not set
TARGET_SUBARCH=""

#
# Using ELF file format
#
ARCH_ANY_ENDIAN=y
ARCH_LITTLE_ENDIAN=y
# ARCH_WANTS_BIG_ENDIAN is not set
ARCH_WANTS_LITTLE_ENDIAN=y
ARCH_HAS_MMU=y
ARCH_USE_MMU=y
UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
# UCLIBC_HAS_FENV is not set
KERNEL_HEADERS="/usr/src/linux/include"
HAVE_DOT_CONFIG=y

#
# General Library Settings
#
# HAVE_NO_PIC is not set
DOPIC=y
# ARCH_HAS_NO_SHARED is not set
# ARCH_HAS_NO_LDSO is not set
HAVE_SHARED=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
LDSO_CACHE_SUPPORT=y
# LDSO_PRELOAD_FILE_SUPPORT is not set
LDSO_BASE_FILENAME="ld.so"
UCLIBC_STATIC_LDCONFIG=y
LDSO_RUNPATH=y
UCLIBC_CTOR_DTOR=y
# LDSO_GNU_HASH_SUPPORT is not set
# HAS_NO_THREADS is not set
UCLIBC_HAS_THREADS=y
# PTHREADS_DEBUG_SUPPORT is not set
LINUXTHREADS_OLD=y
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
# MALLOC_SIMPLE is not set
MALLOC_STANDARD=y
MALLOC_GLIBC_COMPAT=y
UCLIBC_DYNAMIC_ATEXIT=y
# COMPAT_ATEXIT is not set
# UCLIBC_SUSV3_LEGACY is not set
# UCLIBC_SUSV3_LEGACY_MACROS is not set
# UCLIBC_HAS_STUBS is not set
UCLIBC_HAS_SHADOW=y
# UCLIBC_HAS_PROGRAM_INVOCATION_NAME is not set
UCLIBC_HAS_PTY=y
ASSUME_DEVPTS=y
UNIX98PTY_ONLY=y
# UCLIBC_HAS_GETPT is not set
UCLIBC_HAS_TM_EXTENSIONS=y
UCLIBC_HAS_TZ_CACHING=y
UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"

#
# Advanced Library Settings
#
UCLIBC_PWD_BUFFER_SIZE=256
UCLIBC_GRP_BUFFER_SIZE=256

#
# Support various families of functions
#
UCLIBC_LINUX_MODULE_24=y
UCLIBC_LINUX_SPECIFIC=y
UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set
# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
# UCLIBC_NTP_LEGACY is not set
# UCLIBC_SV4_DEPRECATED is not set
UCLIBC_HAS_REALTIME=y
UCLIBC_HAS_ADVANCED_REALTIME=y
UCLIBC_HAS_EPOLL=y
UCLIBC_HAS_XATTR=y
UCLIBC_HAS_PROFILING=y
UCLIBC_HAS_CRYPT_IMPL=y
UCLIBC_HAS_CRYPT=y
UCLIBC_HAS_NETWORK_SUPPORT=y
UCLIBC_HAS_SOCKET=y
UCLIBC_HAS_IPV4=y
# UCLIBC_HAS_IPV6 is not set
UCLIBC_HAS_RPC=y
UCLIBC_HAS_FULL_RPC=y
UCLIBC_HAS_REENTRANT_RPC=y
UCLIBC_USE_NETLINK=y
UCLIBC_SUPPORT_AI_ADDRCONFIG=y
# UCLIBC_HAS_BSD_RES_CLOSE is not set

#
# String and Stdio Support
#
# UCLIBC_HAS_STRING_GENERIC_OPT is not set
# UCLIBC_HAS_STRING_ARCH_OPT is not set
UCLIBC_HAS_CTYPE_TABLES=y
UCLIBC_HAS_CTYPE_SIGNED=y
# UCLIBC_HAS_CTYPE_UNSAFE is not set
# UCLIBC_HAS_CTYPE_CHECKED is not set
UCLIBC_HAS_CTYPE_ENFORCED=y
# UCLIBC_HAS_WCHAR is not set
# UCLIBC_HAS_LOCALE is not set
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
# USE_OLD_VFPRINTF is not set
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
UCLIBC_HAS_STDIO_BUFSIZ_4096=y
# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
# UCLIBC_HAS_STDIO_GETC_MACRO is not set
# UCLIBC_HAS_STDIO_PUTC_MACRO is not set
UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
UCLIBC_HAS_PRINTF_M_SPEC=y
UCLIBC_HAS_ERRNO_MESSAGES=y
# UCLIBC_HAS_SYS_ERRLIST is not set
UCLIBC_HAS_SIGNUM_MESSAGES=y
# UCLIBC_HAS_SYS_SIGLIST is not set
UCLIBC_HAS_GNU_GETOPT=y
# UCLIBC_HAS_GNU_GETSUBOPT is not set

#
# Big and Tall
#
UCLIBC_HAS_REGEX=y
# UCLIBC_HAS_REGEX_OLD is not set
UCLIBC_HAS_FNMATCH=y
# UCLIBC_HAS_FNMATCH_OLD is not set
# UCLIBC_HAS_WORDEXP is not set
UCLIBC_HAS_FTW=y
UCLIBC_HAS_GLOB=y
UCLIBC_HAS_GNU_GLOB=y

#
# Library Installation Options
#
SHARED_LIB_LOADER_PREFIX="/lib"
RUNTIME_PREFIX="/"
DEVEL_PREFIX="/usr/"

#
# Security options
#
# UCLIBC_BUILD_PIE is not set
UCLIBC_HAS_ARC4RANDOM=y
# HAVE_NO_SSP is not set
# UCLIBC_HAS_SSP is not set
UCLIBC_BUILD_RELRO=y
# UCLIBC_BUILD_NOW is not set
# UCLIBC_BUILD_NOEXECSTACK is not set

#
# uClibc development/debugging options
#
CROSS_COMPILER_PREFIX=""
UCLIBC_EXTRA_CFLAGS=""
# DODEBUG is not set
# DODEBUG_PT is not set
DOSTRIP=y
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
# UCLIBC_MALLOC_DEBUGGING is not set
WARNINGS="-Wall"
# EXTRA_WARNINGS is not set
# DOMULTI is not set
# UCLIBC_MJN3_ONLY is not set
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 25.01.2009 15:07 Редактировалось 25.01.2009 15:07 Сообщение: 4
sasamy (Guest)

Цитата
CONFIG_ARM_OABI=y
# CONFIG_ARM_EABI is not set


Скорей всего в этом весь залог успеха что все стало работать.

Цитата
UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y

Я конечно не видел ваш конфиг ядра но подозреваю что там все же включена эмуляция fpu так что эти строки имхо оверхед.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно sasamy 25.01.2009 г. в 15:32:03
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 25.01.2009 15:26 Редактировалось 25.01.2009 15:26 Сообщение: 5
repairman (Guest)

Цитата

Скорей всего в этом весь залог успеха что все стало работать.


Скорее всего...

Цитата

Я конечно не видел ваш конфиг ядра но подозреваю что там все же включена эмуляция fpu так что эти строки имхо оверхед.


Естессно включена....
Код

CONFIG_FPE_NWFPE=y


p.s. жаль, что нет на свете добрых людей, готовых поделится информацией просто так, правда ???....

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 25.01.2009 г. в 15:49:15
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 25.01.2009 15:48 Редактировалось 25.01.2009 15:48 Сообщение: 6
sasamy (Guest)

Цитата
Естессно включена....


Зачем тогда еще в uclibc включать поддержку ? Это просто лишний код - ядро само все посчитает.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно sasamy 25.01.2009 г. в 15:50:29
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 25.01.2009 15:56 Редактировалось 25.01.2009 15:56 Сообщение: 7
repairman (Guest)

Разве ?
Вы правильно понимаете назначение этих опций ?
Насколько я помню, переводчик Вам не требуется....

Код

UCLIBC_HAS_FPU:
If your target CPU does not have a Floating Point Unit (FPU) or a kernel FPU emulator, but you still wish to support floating point functions, then uClibc will need to be compiled with soft floating point support (-msoft-float). If your target CPU does not have an FPU or an FPU emulator within the Linux kernel, then you should answer N.


Код

UCLIBC_HAS_FLOATS:
This option allows you to entirely omit all floating point number support from uClibc. This will cause floating point functions like strtod() to be omitted from uClibc. Other floating point functions, such as printf() and scanf() will still be included in the library, but will not contain support for floating point numbers.
Answering N to this option can reduce the size of uClibc. Most people will answer Y.


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 25.01.2009 г. в 16:09:27
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 25.01.2009 16:03 Редактировалось 25.01.2009 16:03 Сообщение: 8
repairman (Guest)

(???) До сих пор был уверен на 100%... теперь в сомнении...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 25.01.2009 г. в 17:06:49
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 25.01.2009 16:04 Редактировалось 25.01.2009 16:04 Сообщение: 9
sasamy (Guest)

Да, я не прав - все наоборот понял. Если есть эмуляция то можно включить :) Вообще непонятно нифига - чего они этой подсказкой хотели сказать ??

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно sasamy 25.01.2009 г. в 16:09:56
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 25.01.2009 16:15 Редактировалось 25.01.2009 16:15 Сообщение: 10
sasamy (Guest)

Не - у тебя все нормально. В общем насколько я понял UCLIBC_HAS_FPU как раз сообщает uclibc что в системе есть поддержка fpu и он будет собран без опции компилятора -msoft-float. UCLIBC_HAS_FLOATS добавит код для отображения и ввода чисел с плавающей точкой.
Спуститься к концу Подняться к началу
Форум » starterkit.ru » Embedded Linux