https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118221

--- Comment #5 from Trampas Stern <trampas at gmail dot com> ---
The project in attachment is a makefile project. 

The readme.md has instructions on how to build in windows, by installing xpack
utility. 

If you build in linux then just edit the path to the arm-none-eabi-gcc compiler
and path to build tools you want use and then issue `make debug`

The build/debug/lora.lst should show the error when built with GCC11 or
greater: 
0000016c <configure_clocks>:
D:\Projects\SECA\LoRa\firmware/src/drivers/sercom/sercom.cpp:102
 16c:   b500            push    {lr}
 16e:   4b98            ldr     r3, [pc, #608]  ; (3d0 <HEAP_SIZE+0x1d0>)
 170:   2280            movs    r2, #128        ; 0x80
D:\Projects\SECA\LoRa\firmware/src/drivers/sercom/sercom.cpp:106
 172:   0052            lsls    r2, r2, #1
 174:   609a            str     r2, [r3, #8]
D:\Projects\SECA\LoRa\firmware/src/drivers/sercom/sercom.cpp:107
 176:   4b97            ldr     r3, [pc, #604]  ; (3d4 <HEAP_SIZE+0x1d4>)
 178:   3afd            subs    r2, #253        ; 0xfd

Specifically the configure_clocks() function does not exist in the sercom.cpp
file. 

When built with GCC 10 tools the results are as expected.

Reply via email to