mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 10:04:26 +00:00
![]() Current build infra uses ARM_ARCH_MAJOR/MINOR to come up with march version and uses that march version with the compiler. However in certain situations this is not ideal, like for example when we build with gcc-11 which supports only till march=armv8.5 but we need to build for 8.8 build, this means we need to bump down MAJOR/MINOR and we can't rely on major and minor values from the platform to select march value and build infra doesn't even try to compile and fails with not supported MAJOR/MINOR. By adding a march build helper we try to check if compiler supports given march value from MAJOR/MINOR values from platform, if compiler doesn't support then we try to check what's the max or best supported march version by compiler and choose that march value and try to compile with that. This is a supportive mechanism which will decouple march reliance on MAJOR/MINOR values from platform and will pave way for setting up enabling of features based on MAJOR/MINOR without worrying about the compiler not supporting given MAJOR/MINOR. Also in TF-A we use generic instructions without much reliance or need for exact march necessity. So enabling and building features from armv-8.8 using an armv-8.5 march value is still going to be fine. Please note: Platforms are free to freeze their march values using `MARCH_DIRECTIVE`. In absence of this define we are going to poke the compiler and come up with a potential march value. Change-Id: I673061a269ec9018ff12e75dc375979f5e33b7d1 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> |
||
---|---|---|
.. | ||
tbbr | ||
arch_features.mk | ||
armv7-a-cpus.mk | ||
build_env.mk | ||
build_macros.mk | ||
cygwin.mk | ||
defaults.mk | ||
march.mk | ||
msys.mk | ||
plat_helpers.mk | ||
unix.mk | ||
windows.mk |