Compiler error with new Arduino 1.6.12

Hi :slight_smile:

I’m trying to compile my program with the arduino 1.6.12 but I always get those message :

C:\Users\Mathieu\Documents\Arduino\libraries\ApplicationMonitor\ApplicationMonitor.cpp: In function β€˜__vector_6’:

C:\Users\Mathieu\Documents\Arduino\libraries\ApplicationMonitor\ApplicationMonitor.cpp:110:21: error: local frame unavailable (naked function?)

LoadHeader(Header);

^

C:\Users\Mathieu\Documents\Arduino\libraries\ApplicationMonitor\ApplicationMonitor.cpp:188:60: error: local frame unavailable (naked function?)

eeprom_write_byte((uint8_t *)nBaseAddress++, *puData++);

^

C:\Users\Mathieu\Documents\Arduino\libraries\ApplicationMonitor\ApplicationMonitor.cpp:188:60: error: local frame unavailable (naked function?)

lto-wrapper: C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc returned 1 exit status

c:/program files (x86)/arduino/hardware/tools/avr/bin/…/lib/gcc/avr/4.9.2/…/…/…/…/avr/bin/ld.exe: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

exit status 1
Erreur de compilation pour la carte LPS v1.1 5V/16MHz

Does anyone know why it was working with the 1.6.0 version but not with the 1.6.12 version?

I always get this message β€œerror: local frame unavailable (naked function?)” with the 1.6.12 version.

ApplicationMonitor.cpp (6.07 KB)

ApplicationMonitor.h (3.24 KB)

Known problem when running on a 32bit windows. Use an older Arduino IDE or upgrade the Windows.

Thank you for the reply but I’m using a 64 bits windows :confused:

Same(?) error here, trying to use:
#include <Scheduler.h>
Scheduler.startLoop(loop2);

Those cause the problem on my Leonardo.
Win 10 x64, 1.6.12, scheduler 0.4.4

C:\Users\*\AppData\Local\Temp\ccGXa7WW.s: Assembler messages:

C:\Users\*\AppData\Local\Temp\ccGXa7WW.s:1785: Error: constant value required

lto-wrapper: C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc returned 1 exit status

c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.9.2/../../../../avr/bin/ld.exe: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board Arduino Leonardo.

Howdy,

Sorry, I only just saw this problem.

It looks like the compiler is using a different inlining strategy now and a function that was previously not inlined is now inlined. I should have marked it not to be inlined from the start, but I've done that now.

So if you pull the latest version from git hub (GitHub - PaulMartinsen/ArduinoCrashMonitor), the problem should be fixed.

Feel free to post a comment on the article if you encounter any further problems:

Paul.