I have a program, which can be compiled and linked with ARMCompiler6.18, but it failed to link with ARMCompiler6.19, which comes with Development Studio 2022.2. The error is:
Error: L6415E: Could not find a unique set of libraries compatible with this image. Suggest using the --cpu option to select a specific library.
I used this option in my makefile: -mcpu=cortex-r82+nofp+nocrypto+nosimd
If I change the --mcpu option value to --mcpu=cortex-r82 by removing +nofp+nocrypto+nosimd, the program can compile and link. It looks like the linker no longer understands the feature options +nofp, +nocrypto etc.
Hi Oscar,
The behavior of 6.19 is in fact correct. The library (currently) expects fp and simd to be available (just removing nocrypto does not cause the error above).
With 6.18 fp enabled libraries were silently being linked in (note that 6.18 warned that support for Cortex-R82 was Beta level).
This is somewhat covered in the below article, written for Cortex-A but equally applies for Cortex-R in this instance.https://developer.arm.com/documentation/ka004846
May I ask if you are working with a Cortex-R82 implementation without FP, or is this just an academic interest?
Regards,
Ronan
Also - moving this thread to the Compiler specific forum.
Ronan,
Thanks for your answer. According to ka004846, I should be able to use +nofp option to ensure no floating point is used. But actually 6.19 reports linking error if I use +nofp option. What do you think the behavior of 6.19 is correct?
We are working with a Cortex-R82 implementation without FP.
Thanks
-Oscar
Hi Oscar, it is correct in that the library currently does not support +nofp for Cortex-R82, and so the error is justified.
Could you send me a private message with your contact details and we can discuss further offline.