Jump to content

    
Sign in to follow this  
klen

свежак KGP win32/arm/avr/mips/m68k

Recommended Posts

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

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

 

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

Edited by Шаманъ

Share this post


Link to post
Share on other sites

свежак для arm

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

 

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

Share this post


Link to post
Share on other sites

Внезапно захотелось использовать больше возможностей предоставляемых 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 файл, самописные.

Share this post


Link to post
Share on other sites

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 для ембедерских проектов.

Share this post


Link to post
Share on other sites

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

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

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

 

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

 

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

Edited by Terminator

Share this post


Link to post
Share on other sites

2_Terminator

 

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

 

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

 

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

 

Share this post


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

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

Share this post


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

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

 

 

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

Edited by Terminator

Share this post


Link to post
Share on other sites

соберу релизную версию 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

 

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

Share this post


Link to post
Share on other sites

Компиляция прошла нормально, но линковка не срослась - что надо указать кроме 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

Edited by Genadi Zawidowski

Share this post


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

 

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

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

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

 

Share this post


Link to post
Share on other sites
Кроме 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 всё нормально.

Edited by Genadi Zawidowski

Share this post


Link to post
Share on other sites
Не, libm указана явно (ключил -lm компилятору):

 

 

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

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

 

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

 

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

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

 

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

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

Edited by Genadi Zawidowski

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this