реклама на сайте
подробности

 
 
> Launchpad'овский gcc-arm-none-eabi Lto и math.h
Viciouspriest
сообщение Dec 15 2016, 08:06
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 24-08-12
Пользователь №: 73 242



Всем здравствуйте.
Осваиваю ланчпадавский компилятор. Столкнулся с тем, что при включенной Lto не видит функции, например sqrt(), из math.h. "undefined reference to `sqrt'
collect2.exe: error: ld returned 1 exit status".

Compile opts -mcpu=cortex-m3 -flto -lto -mthumb -fpack-struct -Wpadded -g -Os
Linker opts -mcpu=cortex-m3 -flto -mthumb -Wl,--gc-sections,-Map=Project.elf.map,-cref,-u,Reset_Handler

Target CPU STM32F103RET6
gcc-arm-none-eabi-5_4-2016q3-20160926-win32

Подозреваю, что дело в ключах, но не знаю в каких. Очень надеюсь на ответ.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Dec 26 2016, 07:29
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Андрей, вы б послушали, что dxp говорит...

Выкидывать неиспользуемые библиотеки - это хорошо, и с этим никто не спорит.
Однако сам механизм определения "неиспользуемости" в ld сделан неидеально (даже ваша ссылка на шаманские действия с альтлинуксом это подтверждает).

Конкурирующие организации почему-то сделали этот механизм лучше (никогда не задумывался, как - там оно просто РАБОТАЛО).


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Dec 26 2016, 07:36
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(esaulenka @ Dec 26 2016, 10:29) *
Однако сам механизм определения "неиспользуемости" в ld сделан неидеально
Конкурирующие организации почему-то сделали этот механизм лучше (никогда не задумывался, как - там оно просто РАБОТАЛО).
Ещё раз. У нас есть тулчейн имени GNU. Линкер там работает так, как работает.
Да существеут куча других тулчейнов, в которых линкеры рабоают по-другому. Но причём тут они, зачем о них тут писать?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Viciouspriest   Launchpad'овский gcc-arm-none-eabi Lto и math.h   Dec 15 2016, 08:06
- - AHTOXA   Вроде бы ещё надо линкеру передать ключ оптимизаци...   Dec 15 2016, 17:42
- - Viciouspriest   Цитата(AHTOXA @ Dec 15 2016, 20:42) Вроде...   Dec 16 2016, 06:55
|- - AHTOXA   А, ну это известная штука. Понять этого нельзя, по...   Dec 16 2016, 07:04
|- - andrew_b   Цитата(Viciouspriest @ Dec 16 2016, 09:55...   Dec 16 2016, 07:48
|- - demiurg_spb   Прочитал доку про --as-needed и для меня не совсем...   Dec 21 2016, 14:49
- - Aaron   да, злостная шутка с этими линкер-опциями и порядк...   Dec 23 2016, 07:09
|- - andrew_b   Цитата(Aaron @ Dec 23 2016, 10:09) да, зл...   Dec 23 2016, 07:52
|- - dxp   QUOTE (andrew_b @ Dec 23 2016, 14:52) Это...   Dec 25 2016, 14:32
|- - andrew_b   Цитата(dxp @ Dec 25 2016, 17:32) Всего эт...   Dec 25 2016, 17:31
|- - dxp   QUOTE (andrew_b @ Dec 26 2016, 00:31) А н...   Dec 26 2016, 04:24
|- - andrew_b   Цитата(dxp @ Dec 26 2016, 07:24) Я сказал...   Dec 26 2016, 05:37
- - esaulenka   Ответов по делу тут два: #6 от demiurg_spb (что де...   Dec 26 2016, 08:08
- - demiurg_spb   Зато GNUшный линкер быстрый!   Dec 26 2016, 10:58


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 20:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01386 секунд с 7
ELECTRONIX ©2004-2016