From: Pavan Nikhilesh <pbhagavat...@marvell.com> Some ARM CPUs have specific march requirements and are not compatible with the supported march list. Add fallback march in case the mcpu and the march advertised in the part_number_config are not supported by the compiler.
Example mcpu = neoverse-n2 march = armv9-a fallback_march = armv8.5-a mcpu, march not supported machine_args = ['-march=armv8.5-a'] mcpu, march, fallback_march not supported least march supported = armv8-a machine_args = ['-march=armv8-a'] Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com> Reviewed-by: Juraj Linkeš <juraj.lin...@pantheon.tech> --- config/arm/meson.build | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/arm/meson.build b/config/arm/meson.build index 472a30f83a..73557bc169 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -94,6 +94,7 @@ part_number_config_arm = { '0xd49': { 'march': 'armv9-a', 'march_features': ['sve2'], + 'fallback_march': 'armv8.5-a', 'mcpu': 'neoverse-n2', 'flags': [ ['RTE_MACHINE', '"neoverse-n2"'], @@ -829,6 +830,11 @@ if update_flags break endif endforeach + if (part_number_config.has_key('fallback_march') and + candidate_march != part_number_config['march'] and + cc.has_argument('-march=' + part_number_config['fallback_march'])) + candidate_march = part_number_config['fallback_march'] + endif endif if candidate_march != part_number_config['march'] -- 2.25.1