Перейти к содержанию
    

float point libs

Собирая констркции конвертации double в float и наоборот гсс попросил много функций для работы с такими операциями. Почти все функции я нашел гугле, но остались 2 функции которых нигде нету, в libgcc.a их нет. Где их взять?

 

__aeabi_dcmplt
__aeabi_dcmpeq

 

зы. gcc 4.5.2 самозборный

собирал так

./configure --target=arm-eabi --prefix=/usr --enable-interwork --enable-languages="c,c++" --with-float=soft --with-libgcc

Изменено пользователем vova7890

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нашел какую то старую либгсс, попробовал прилинковать - собралось. Но функция vsprintf(исходник нашел в гугле работоспособность проверена) не смогла побороть float и double. На флоате все зависло а дубль не правильно преобразовало :(

 

1. Как собрать гсс вместе с libgcc.a?

2. Как можно проверить работоспособность этих либ?

 

Изменено пользователем vova7890

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Как собрать гсс вместе с libgcc.a?

2. Как можно проверить работоспособность этих либ?

 

а как собсно их можно собрать отдельно - я не умею....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага, ну научите меня своим неумением :smile3046:

 

1, libgcc это библиотека нативно компилятора - там функции которыми он эмулирует операции с операндами если нет соответствующей аппаратной подлержки (например если на проце нет операции деления то libgcc содержит тело функции которая вызовется если программист напишет в коде деление операндов). эта библиотека ВСЕГДА (если не хакать спеки) линкуется к выходному исмполняймому бинарю. когда собирается gcc нада понимать что собирается gcc+libgc

 

2, libc - это библиотека к омпиллеру никакого отношения не имеет - это сборник функций требующих страндартом С языка. может и вообще никакому стандарту не отвечать. в ней обычно реализованы такие 'естественные вещи' как print open close . эта библа отражает болше среду в корой сгенеренная прога выполняется. напоминаю - компиллеру наплевать что в ней есть или нет. он за нее не в ответе.

 

3, отсюда вывод или Вы чето не поняли и неправильно написали выразились или я чето неправильно прачитал или вообще невструе по gcc... ;(

 

те функции про которые вы писали для Cortex-M3 натурально могут находится тольков libgcc потому как нет у него сопроцессора;

arm-kgp-eabi-objdump -t /opt/kgp_arm_eabi/lib/gcc/arm-kgp-eabi/4.6.0/thumb/cortex-m3/libgcc.a | grep __aeabi_dcmplt

000000c0 g F .text 00000012 __aeabi_dcmplt

00000000 *UND* 00000000 __aeabi_dcmplt

00000000 *UND* 00000000 __aeabi_dcmplt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...