We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Let me start off by saying that I'm not sure if this is the right place to ask, and I should also mention that I don't have much experience with ARM architecture or cross-compilation. I'm hoping someone here can help clarify a few things for me or point me in the right direction.
I'm working on compiling Google’s liblc3 library for a Cortex-M33 target. I’m using the latest version of arm-none-eabi-gcc (gcc version 9.2.1 20191025) and compiling with the -mcpu=cortex-m33 flag. However, the linker fails with the following errors:
arm-none-eabi-gcc
-mcpu=cortex-m33
To troubleshoot, we tested the compilation process for Cortex-M3 and Cortex-M4 targets, where everything works fine. The only significant difference I know of is that M3/M4 are Armv7-M, while M33 is Armv8-M. I've also checked each object file with arm-none-eabi-readelf, and they appear identical across all generated objects.
arm-none-eabi-readelf
Has anyone encountered similar linker errors when targeting the Cortex-M33 or switching from Armv7-M to Armv8-M? I suspect the issue lies with the library I'm trying to compile, rather than with the compiler itself. I’d appreciate any insights or suggestions on resolving this!