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

я бы всетки попробывал -Оs, иногда выдает такоьй же по скорости код.

Вот и по моим наблюдениям -Os не особо проигрывает другим вариантам.

 

По сборкам я регулярно использую для ARM Cortex-M0/M3/M4F под win64. Проблемы были, но их устранили (ну за исключением мелочей, одну я обошел переписав скрипт компоновщика, вторая не доставляет неудобств т.к. к генерации кода не относится).

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

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


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

свежак arm

хост x86_64-linux-gnu

http://klen.org//Files/DevTools/x86_64-kgp...0723_COMARUM.7z

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


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

свежак для arm

теперь пакет содержит фортран, мне понадобился для кода который я пишу для stm32, может еще кому понадобится.

 

www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20160807_OXYCOCCUS.7z

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


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

Внезапно захотелось использовать больше возможностей предоставляемых C++. Выкинул из проекта старые затычки типа переопределения new delete и т.п.. Качнул последний свежак.

Не собирается :(

Вывод линкера

../../../../../../src/gcc/libgcc/unwind-arm-common.inc:50:28: warning: type of '__cxa_begin_cleanup' does not match original declaration [-Wlto-type-mismatch]
../../../../../../../src/gcc/libstdc++-v3/libsupc++/eh_arm.cc:97:1: note: return value type mismatch
../../../../../../../src/gcc/libstdc++-v3/libsupc++/eh_arm.cc:97:1: note: type 'bool' should match type 'bool'
../../../../../../src/gcc/libgcc/unwind-arm-common.inc:39:23: note: the incompatible type is defined here
../../../../../../../src/gcc/libstdc++-v3/libsupc++/eh_arm.cc:97:1: note: '__cxa_begin_cleanup' was previously declared here
../../../../../../../src/gcc/libstdc++-v3/libsupc++/eh_arm.cc:97:1: note: code may be misoptimized unless -fno-strict-aliasing is used
../../../../../../src/gcc/libgcc/unwind-arm-common.inc:51:52: warning: type of '__cxa_type_match' does not match original declaration [-Wlto-type-mismatch]
../../../../../../../src/gcc/libstdc++-v3/libsupc++/eh_arm.cc:40:1: note: type mismatch in parameter 3
../../../../../../../src/gcc/libstdc++-v3/libsupc++/eh_arm.cc:40:1: note: type 'bool' should match type 'bool'
../../../../../../src/gcc/libgcc/unwind-arm-common.inc:39:23: note: the incompatible type is defined here
../../../../../../../src/gcc/libstdc++-v3/libsupc++/eh_arm.cc:40:1: note: '__cxa_type_match' was previously declared here
../../../../../../../src/gcc/libstdc++-v3/libsupc++/eh_arm.cc:40:1: note: code may be misoptimized unless -fno-strict-aliasing is used
/tmp/ccDWmOks.ltrans0.ltrans.o: In function `get_eit_entry':
<artificial>:(.text+0x298): undefined reference to `__exidx_start'
<artificial>:(.text+0x29c): undefined reference to `__exidx_end'
/opt/arm-kgp-eabi/lib/gcc/arm-kgp-eabi/7.0.0/../../../../arm-kgp-eabi/lib/thumb/cortex-m3/libc.a(lib_a-writer.o): In function `_write_r':
/opt/home/arm-kgp-eabi/newlib/arm-kgp-eabi/thumb/cortex-m3/newlib/libc/reent/../../../../../../../../src/newlib/newlib/libc/reent/writer.c:58: undefined reference to `_write'
/opt/arm-kgp-eabi/lib/gcc/arm-kgp-eabi/7.0.0/../../../../arm-kgp-eabi/lib/thumb/cortex-m3/libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
/opt/home/arm-kgp-eabi/newlib/arm-kgp-eabi/thumb/cortex-m3/newlib/libc/reent/../../../../../../../../src/newlib/newlib/libc/reent/sbrkr.c:58: undefined reference to `_sbrk'
/opt/arm-kgp-eabi/lib/gcc/arm-kgp-eabi/7.0.0/../../../../arm-kgp-eabi/lib/thumb/cortex-m3/libc.a(lib_a-signalr.o): In function `_kill_r':
/opt/home/arm-kgp-eabi/newlib/arm-kgp-eabi/thumb/cortex-m3/newlib/libc/reent/../../../../../../../../src/newlib/newlib/libc/reent/signalr.c:61: undefined reference to `_kill'
/opt/arm-kgp-eabi/lib/gcc/arm-kgp-eabi/7.0.0/../../../../arm-kgp-eabi/lib/thumb/cortex-m3/libc.a(lib_a-signalr.o): In function `_getpid_r':
/opt/home/arm-kgp-eabi/newlib/arm-kgp-eabi/thumb/cortex-m3/newlib/libc/reent/../../../../../../../../src/newlib/newlib/libc/reent/signalr.c:97: undefined reference to `_getpid'
/opt/arm-kgp-eabi/lib/gcc/arm-kgp-eabi/7.0.0/../../../../arm-kgp-eabi/lib/thumb/cortex-m3/libc.a(lib_a-closer.o): In function `_close_r':
/opt/home/arm-kgp-eabi/newlib/arm-kgp-eabi/thumb/cortex-m3/newlib/libc/reent/../../../../../../../../src/newlib/newlib/libc/reent/closer.c:53: undefined reference to `_close'
/opt/arm-kgp-eabi/lib/gcc/arm-kgp-eabi/7.0.0/../../../../arm-kgp-eabi/lib/thumb/cortex-m3/libc.a(lib_a-fstatr.o): In function `_fstat_r':
/opt/home/arm-kgp-eabi/newlib/arm-kgp-eabi/thumb/cortex-m3/newlib/libc/reent/../../../../../../../../src/newlib/newlib/libc/reent/fstatr.c:62: undefined reference to `_fstat'
/opt/arm-kgp-eabi/lib/gcc/arm-kgp-eabi/7.0.0/../../../../arm-kgp-eabi/lib/thumb/cortex-m3/libc.a(lib_a-isattyr.o): In function `_isatty_r':
/opt/home/arm-kgp-eabi/newlib/arm-kgp-eabi/thumb/cortex-m3/newlib/libc/reent/../../../../../../../../src/newlib/newlib/libc/reent/isattyr.c:58: undefined reference to `_isatty'
/opt/arm-kgp-eabi/lib/gcc/arm-kgp-eabi/7.0.0/../../../../arm-kgp-eabi/lib/thumb/cortex-m3/libc.a(lib_a-lseekr.o): In function `_lseek_r':
/opt/home/arm-kgp-eabi/newlib/arm-kgp-eabi/thumb/cortex-m3/newlib/libc/reent/../../../../../../../../src/newlib/newlib/libc/reent/lseekr.c:58: undefined reference to `_lseek'
/opt/arm-kgp-eabi/lib/gcc/arm-kgp-eabi/7.0.0/../../../../arm-kgp-eabi/lib/thumb/cortex-m3/libc.a(lib_a-readr.o): In function `_read_r':
/opt/home/arm-kgp-eabi/newlib/arm-kgp-eabi/thumb/cortex-m3/newlib/libc/reent/../../../../../../../../src/newlib/newlib/libc/reent/readr.c:58: undefined reference to `_read'
collect2: error: ld returned 1 exit status

 

Что делать?

 

P. S. startup и соответсвенно ld файл, самописные.

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


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

2_Terminator

такое всегда бывает когда код приложения тянет некоторые функции newlib, они в свою очеред требют среда-спецефичных функций нижнего уровня таких как

_write _sbrk .... итд, которые необходимо реализовать в коде. в таком случае тут уже много раз выкладывали затычки на этот случай.

 

работает это типа так: 1) Вы слинкованы c newlib 2) например хотите использовать printf 3) newlib реализует все до самого низа где нужно писать байты в какойто девайс - тут то она вызывает _write. а "где он и чего" должен реализовать программист.

 

Ув. тов AHTOXA и другие тут неоднократно выкладывали исходник с затычками для этих функций.

это все нормально и понятно - непонятно чтоже собиралось до этого?

 

верните затычки. посмотрите что будет. мне очевидно что когда вы делали свой malloc через него new то все было хорошо, кодла Вы потянули их из newlib то malloc дернул (это можно в коде newlib посмотреть) _sbrk чтоб память выделить.

 

 

а вообще то лично мне очень надоела newlib, вещь хорошая но для "жесnко эбедеед" все это не нужно и вредно. я сейчас ваяю свою реализацию libc предназначенную для "маленьких систем" которая будет поддержывать минимально необходимый набор стандартных функций, реентрантность и многопоточность.

делал я так - если что то нужно из libc - переносил портировал в свою либу. цель получить легковесную libc для ембедерских проектов.

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


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

Что-то я так и не нашёл нормального способа определения этих лишних функций, тянущих всякие _write_sbrk и т.п. :(

Затычки вернул. Файлик от AHTOXA нашёл, от моего отличается не сильно, __cxa_begin_cleanup и подобных (из ошибок выше) там нет.

Поковыряю исходники gcc ...

 

Печалит, что несмотря на явное указание -fno-exception, всякие unwind-ы всё равно тянутся :(

 

Вернул переопределение операторов new и delete. Простые вещи вроде адекватно работают. Посмотрим что будет дальше ...

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

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


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

2_Terminator

 

в моей сборке из исходников gcc я выдрал генерацию unwind. сам компиллер эту хрень не будет всовывать если библиотеки не потребуют.

 

если сможете урезать проект до куска котрый эту проблему создает то я поковыряюсь и найду в чем проблема.

 

сам использую фичи С++14 и все делал для того чтоб никаких "ушей и хвостов от больших машин" не прилазили в код (exeption,rtti, и прочие дряни) - только чистый С++14 без привязки к среде исполнения. как бы у меня работает - значит и у Вас заработает.

 

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


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

Файлик от AHTOXA нашёл, от моего отличается не сильно, __cxa_begin_cleanup и подобных (из ошибок выше) там нет.

Это не мой, а как раз ваш файлик :) Я его изначально взял вот из этого вашего поста.

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


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

сам использую фичи С++14 и все делал для того чтоб никаких "ушей и хвостов от больших машин" не прилазили в код

операторы new и delete переопределены?

 

 

P. S. да, с lto проект не собирается (Error: offset out of range) :) Собирается только маленькая часть, загрузчик (он по сути является сильно урезанной копией основной прошивки).

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

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


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

соберу релизную версию 6.2.0

с LTO там должно быть без ошибок при линковке.

 

я заметил люди не очень хотят использовать свежие сборки, наверно боятся граблей. я же грабли ищу и настигаю :) релизная сборка позволит не ходить по минному полю при возможности воспользоваться С++14

 

вот собрал 5.4.0

linux64:

http://klen.org/Files/DevTools/x86_64-kgp-....0_VACCINIUM.7z

 

win64:

http://klen.org/Files/DevTools/x86_64-kgp-....0_VACCINIUM.7z

 

линуксовую протестил на своих проектах. виндовую неначем. пробуйте.

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


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

Компиляция прошла нормально, но линковка не срослась - что надо указать кроме libm?

И чего это memcpy/memset повылезали?

 

C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans20.ltrans.o: In function `txmikeagc.part.7':
<artificial>:(.text.txmikeagc.part.7+0x9e): undefined reference to `powf'
<artificial>:(.text.txmikeagc.part.7+0x142): undefined reference to `log10f'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans20.ltrans.o: In function `trxparam_update.lto_priv.546':
<artificial>:(.text.trxparam_update.lto_priv.546+0x5a): undefined reference to `powf'
<artificial>:(.text.trxparam_update.lto_priv.546+0xe0): undefined reference to `log10f'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans0.ltrans.o: In function `ResetException.lto_priv.457':
<artificial>:(.text.ResetException.lto_priv.457+0x30e): undefined reference to `memcpy'
<artificial>:(.text.ResetException.lto_priv.457+0x31a): undefined reference to `memset'
<artificial>:(.text.ResetException.lto_priv.457+0x1e0c): undefined reference to `log10f'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans2.ltrans.o: In function `OTG_FS_IRQHandler':
<artificial>:(.text.OTG_FS_IRQHandler+0x1390): undefined reference to `memcpy'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans4.ltrans.o: In function `updateboard.isra.35.lto_priv.330':
<artificial>:(.text.updateboard.isra.35.lto_priv.330+0x8cc): undefined reference to `memcmp'
<artificial>:(.text.updateboard.isra.35.lto_priv.330+0x1148): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans6.ltrans.o: In function `wave_startrecording.lto_priv.347':
<artificial>:(.text.wave_startrecording.lto_priv.347+0x75c): undefined reference to `memset'
<artificial>:(.text.wave_startrecording.lto_priv.347+0x111e): undefined reference to `memset'
<artificial>:(.text.wave_startrecording.lto_priv.347+0x12c8): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans8.ltrans.o: In function `display_bars':
<artificial>:(.text.display_bars+0x2e): undefined reference to `log10f'
<artificial>:(.text.display_bars+0x4e): undefined reference to `log10f'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans9.ltrans.o: In function `dsp_extbuffer32rx':
<artificial>:(.text.dsp_extbuffer32rx+0x5c6): undefined reference to `atan2f'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans9.ltrans.o: In function `audio_update.lto_priv.545':
<artificial>:(.text.audio_update.lto_priv.545+0x492): undefined reference to `memset'
<artificial>:(.text.audio_update.lto_priv.545+0x56c): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.545+0x578): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.545+0x594): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.545+0x5a0): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.545+0x5c6): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.545+0x5d2): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.545+0x5fa): undefined reference to `sinf'
<artificial>:(.text.audio_update.lto_priv.545+0x606): undefined reference to `cosf'
<artificial>:(.text.audio_update.lto_priv.545+0x8a6): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans12.ltrans.o: In function `sync_fs.lto_priv.185':
<artificial>:(.text.sync_fs.lto_priv.185+0x36): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans12.ltrans.o: In function `dir_next.lto_priv.409':
<artificial>:(.text.dir_next.lto_priv.409+0xf6): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans14.ltrans.o: In function `fir_design_lowpass.lto_priv.484':
<artificial>:(.text.fir_design_lowpass.lto_priv.484+0x60): undefined reference to `sinf'
<artificial>:(.text.fir_design_lowpass.lto_priv.484+0x86): undefined reference to `sinf'
<artificial>:(.text.fir_design_lowpass.lto_priv.484+0xa4): undefined reference to `sinf'
<artificial>:(.text.fir_design_lowpass.lto_priv.484+0xc2): undefined reference to `sinf'
<artificial>:(.text.fir_design_lowpass.lto_priv.484+0xe4): undefined reference to `sinf'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans14.ltrans.o:<artificial>:(.text.fir_design_lowpass.lto_priv.484+0x100): more undefined references to `sinf' follow
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans14.ltrans.o: In function `fir_design_lowpass.lto_priv.484':
<artificial>:(.text.fir_design_lowpass.lto_priv.484+0x168): undefined reference to `memset'
<artificial>:(.text.fir_design_lowpass.lto_priv.484+0x1c4): undefined reference to `cosf'
<artificial>:(.text.fir_design_lowpass.lto_priv.484+0x1d0): undefined reference to `cosf'
<artificial>:(.text.fir_design_lowpass.lto_priv.484+0x1dc): undefined reference to `cosf'
<artificial>:(.text.fir_design_lowpass.lto_priv.484+0x208): undefined reference to `cosf'
<artificial>:(.text.fir_design_lowpass.lto_priv.484+0x214): undefined reference to `cosf'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans14.ltrans.o:<artificial>:(.text.fir_design_lowpass.lto_priv.484+0x220): more undefined references to `cosf' follow
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans14.ltrans.o: In function `agc_times_update.lto_priv.463':
<artificial>:(.text.agc_times_update.lto_priv.463+0x4c): undefined reference to `powf'
<artificial>:(.text.agc_times_update.lto_priv.463+0x84): undefined reference to `powf'
<artificial>:(.text.agc_times_update.lto_priv.463+0xd6): undefined reference to `powf'
<artificial>:(.text.agc_times_update.lto_priv.463+0xfa): undefined reference to `log10f'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans14.ltrans.o: In function `agc_times_initialize.lto_priv.547':
<artificial>:(.text.agc_times_initialize.lto_priv.547+0x36): undefined reference to `log10f'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans14.ltrans.o: In function `DMA1_Stream4_IRQHandler':
<artificial>:(.text.DMA1_Stream4_IRQHandler+0x10a): undefined reference to `memset'
<artificial>:(.text.DMA1_Stream4_IRQHandler+0x11c): undefined reference to `memset'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans16.ltrans.o: In function `smanswer':
<artificial>:(.text.smanswer+0x16): undefined reference to `log10f'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans17.ltrans.o: In function `single_rate_out_write_mcv.constprop.156':
<artificial>:(.text.single_rate_out_write_mcv.constprop.156+0x18): undefined reference to `memset'
<artificial>:(.text.single_rate_out_write_mcv.constprop.156+0x26): undefined reference to `memcpy'
<artificial>:(.text.single_rate_out_write_mcv.constprop.156+0x32): undefined reference to `memcpy'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans17.ltrans.o: In function `fir_design_bandpass_scaled.constprop.140':
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0x52): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0x5e): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0x7e): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0x8a): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0xac): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0xb8): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0xdc): undefined reference to `sinf'
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0xe8): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0x12c): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0x138): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0x144): undefined reference to `cosf'
<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0x16a): undefined reference to `cosf'
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans17.ltrans.o:<artificial>:(.text.fir_design_bandpass_scaled.constprop.140+0x176): more undefined references to `cosf' follow
C:\Users\gena\AppData\Local\Temp\ccVWE887.ltrans19.ltrans.o: In function `agc_forvard_float.isra.10.constprop.4':
<artificial>:(.text.agc_forvard_float.isra.10.constprop.4+0xcc): undefined reference to `powf'
<artificial>:(.text.agc_forvard_float.isra.10.constprop.4+0x19e): undefined reference to `log10f'
collect2.exe: error: ld returned 1 exit status
make.exe: *** [tc1_stm32f746zg_rom.elf] Error 1

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

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


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

Компиляция прошла нормально, но линковка не срослась - что надо указать кроме libm?
Кроме libm надо еще libc - там находятся memcpy/memset. Но Вы, похоже, и libm не указали, судя по тому, что линкер не находит powf, sinf и т.п., которые должны там быть...

 

И чего это memcpy/memset повылезали?

Если я правильно понял, memset требуется, например, функции wave_startrecording().

Смотрите map-файл - там должно быть написано, кто какой символ потребовал.

 

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


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

Кроме libm надо еще libc - там находятся memcpy/memset. Но Вы, похоже, и libm не указали, судя по тому, что линкер не находит powf, sinf и т.п., которые должны там быть...

 

 

Если я правильно понял, memset требуется, например, функции wave_startrecording().

Смотрите map-файл - там должно быть написано, кто какой символ потребовал.

 

 

Не, libm указана явно (ключил -lm компилятору):

C:\user\arm-kgp-eabi_@_x86_64-kgp-mingw32_5.4.0_VACCINIUM\bin\arm-kgp-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -Ofast -flto -gdwarf-2 -fomit-frame-pointer -Wall -Wstrict-prototypes -DNDEBUG=1 -DCPUSTYLE_STM32F7XX=1 -DSTM32F746xx=1 -MD -MP -MF ./dep/tests.o.d -I../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Include -I../ ../tests.c -o tests.o

C:\user\arm-kgp-eabi_@_x86_64-kgp-mingw32_5.4.0_VACCINIUM\bin\arm-kgp-eabi-gcc bandfilters.o board.o usbd.o usbd_desc.o sequen.o elkey.o encoder.o serial.o hardware.o hd44780.o display.o display2.o keyboard.o keymaps.o nvram.o spifuncs.o formats.o

synthcalcs.o filters.o pcf8535.o uc1608.o uc1601s.o lph88.o ls020.o l2f50.o s1d13781.o ILI9320.o ili9225.o st7735.o st7565s.o graphltdc.o sdram.o ili8961.o twi.o pio.o tlv320aic23.o cs4272.o nau8822.o hardwarecodecs.o buffers.o audio.o spislave.o modems.o sdcard.o ff.o ccsbcs.o tc1.o tests.o -mcpu=cortex-m7 -mthumb -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fno-math-errno -funroll-loops -fgraphite -ffunction-sections -fdata-sections -ffat-lto-objects -flto -Ofast -nostartfiles -T./STM32F746ZG_rom.ld -Wl,-Map=tc1_stm32f746zg_rom.map,--cref,--no-warn-mismatch -L../../CMSIS-SP-00300-r4p5-00rel0/CMSIS/Lib/GCC -lm -o tc1_stm32f746zg_rom.elf

 

Добавление -lc проблему не решило.

ПРи использовании компилятора с https://launchpad.net/gcc-arm-embedded всё нормально.

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

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


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

Не, libm указана явно (ключил -lm компилятору):

 

 

Добавление -lc проблему не решило.

ПРи использовании компилятора с https://launchpad.net/gcc-arm-embedded всё нормально.

 

после обеда поправим, просьба "не двигатся и трогать предметы..." тоесть не править код и аборочные скрипты в своем проекте.

 

просьба скачать и прверить ситуацию на выше выложенной сборке OXYCOCCUS

я за нее ручаюсь, все должжно захаваться.это проверенная рабочая моя.

 

мне наверно не поверят но всетаки lto оптимизатор в коде из транка лучше и устойчивей чем в "старых релизах"

также очень сильно все зависить как собирать, в своих сборках мултилиб, libstdc++ libsupc++, ... собираю руками, автоматом это невозможно.

с OXYCOCCUS я хорошенько потрахался чтоб все работало включая фортран.

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


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

Хорошо, эта часть не менялась уже много месяцев. Устройство для тестирования рядом, на программаторе.

 

просьба скачать и прверить ситуацию на выше выложенной сборке OXYCOCCUS

www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20160807_OXYCOCCUS.7z

Это линуховая версия... я ведь пигмей (по Вашей классификации пользователей), под виндами сижу...

Но когда Вы выкладываете виндовые версии, я их пытаюсь применить.

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

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


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

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

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

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

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

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

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

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

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

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