> If x86_64 is specified as target CPU instruction set (e.g. when
> cross-compiling *to* x86_64), the cpu_instruction_set may be set to
> x86_64, e.g. if it is derived from a Meson crossfile. However, while
> Meson uses "x86_64" as name for the x86_64 architecture, compiler
> options accept only "x86-64".
> 
> Introduce a conditional for handling this special case by changing
> cpu_instruction_set to the march-compatible value.
> 
> Signed-off-by: Adrian Schollmeyer <[email protected]>
> ---
>  config/meson.build | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/config/meson.build b/config/meson.build
> index dcb84ebd13..238d6cae0c 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -177,6 +177,11 @@ if not is_ms_compiler
>          machine_args += '-mtune=' + cpu_instruction_set
>          compiler_arch_support = cc.has_argument('-mcpu=' +
> cpu_instruction_set)
>      else
> +        # Meson uses x86_64, but compilers expect x86-64.
> +        # See https://mesonbuild.com/Reference-tables.html#cpu-
> families
> +        if cpu_instruction_set == 'x86_64'
> +            cpu_instruction_set = 'x86-64'

Not sure, but maybe: 'x86-64-v2'?

Ref:
https://www.phoronix.com/news/GCC-11-x86-64-Feature-Levels

> +        endif
>          machine_args += '-march=' + cpu_instruction_set
>          # arm manages generic/auto config in config/arm/meson.build
>          if cpu_instruction_set != 'generic' and cpu_instruction_set !=
> 'auto'
> --
> 2.43.0

Reply via email to