From: Xiaotian Wu Date: Wed, 27 Dec 2023 08:25:22 +0000 (+0800) Subject: loongarch64: disable simd when build efi X-Git-Tag: v256-rc1~610 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ff37c9fcbe1d88a3ea0c6174ba8424e3ea14a82b;p=thirdparty%2Fsystemd.git loongarch64: disable simd when build efi LoongArch does not yet support the `-mgeneral-regs-only` option, so when compiling for EFI, we need to use the `-mno-lsx` and `-mno-lasx` options to disable SIMD instructions. --- diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build index 6194099fe40..483e0ade0ce 100644 --- a/src/boot/efi/meson.build +++ b/src/boot/efi/meson.build @@ -210,11 +210,13 @@ if cc.get_id() == 'clang' endif efi_arch_c_args = { - 'aarch64' : ['-mgeneral-regs-only'], - 'arm' : ['-mgeneral-regs-only'], + 'aarch64' : ['-mgeneral-regs-only'], + 'arm' : ['-mgeneral-regs-only'], + # Until -mgeneral-regs-only is supported in LoongArch, use the following option instead: + 'loongarch64' : ['-mno-lsx', '-mno-lasx'], # Pass -m64/32 explicitly to make building on x32 work. - 'x86_64' : ['-m64', '-march=x86-64', '-mno-red-zone', '-mgeneral-regs-only'], - 'x86' : ['-m32', '-march=i686', '-mgeneral-regs-only', '-malign-double'], + 'x86_64' : ['-m64', '-march=x86-64', '-mno-red-zone', '-mgeneral-regs-only'], + 'x86' : ['-m32', '-march=i686', '-mgeneral-regs-only', '-malign-double'], } efi_arch_c_ld_args = { # libgcc is not compiled with -fshort-wchar, but it does not use it anyways,