panda "make recover" shows link error "undefined reference to __aeabi_llsr"
See original GitHub issueIn v0.5.8, panda’s make recover shows following linker error
arm-none-eabi-gcc -g -Wall -mlittle-endian -mthumb -mcpu=cortex-m4 -mhard-float -DSTM32F4 -DSTM32F413xx -mfpu=fpv4-sp-d16 -fsingle-precision-constant -I inc -I ../ -nostdlib -fno-builtin -std=gnu11 -Os -Tstm32_flash.ld -o obj/bootstub.panda.elf obj/startup_stm32f413xx.o obj/bootstub.panda.o obj/sha.panda.o obj/rsa.panda.o obj/sha.panda.o: In function SHA_final: /.../openpilot/panda/crypto/sha.c:131: undefined reference to __aeabi_llsr collect2: error: ld returned 1 exit status
This appears to be due to changes in panda/board/build.mk compile optimization flag change from -O2 to -Os. From what I gather, __aeabi_llsr is arm’s long long shift right operation which was excluded by the compiler when the optimization flag changed.
Issue Analytics
- State:
- Created 5 years ago
- Comments:8 (7 by maintainers)
Top GitHub Comments
cool. I’ll test independently and I’ll merge. Thanks.
With fix on sha.c
make
on EONmake recover
on EONWithout fix on sha.c
make recover
on EONThanks!