I'm using the ARM GNU toolchain 13.2 rel 1. At higher levels of optimisation the compiler emits calls to memcpy, memset etc. which I cannot resolve.
These routines are not provided by the runtime environment (this is a bare-metal embedded system). However, I presume they're present in a (target dependent) library somewhere in this toolchain. For example, there are many instances of libc_nano.a (and others) but I can't work out which (if any) to use. My target is an iMXRT1062 which has a Cortex-M7 core, but I would like a generalised way to establish the correct library to link with.
I guess there's a compiler option which prevents it from emitting these calls in the first place ( is it 'freestanding'?), but I assume this would result in less efficient code.
Update : 'freestanding' won't work as a workaround because "GCC requires the freestanding environment provide memcpy, memmove, memset and memcmp" so I definitely need to find the correct library.
memcpy
memmove
memset
memcmp" so I definitely need to find the correct library.