Systemd/src/boot
James T. Lee 1ad6056239 boot: Ensure ARM UEFI binary does not contain FP/SIMD instructions
ARM toolchains will sometimes optimize otherwise floating-point-free
code with floating point and SIMD instructions.  This was happening with
systemd-bootarm.efi and it was causing U-Boot to crash and reset the
CPU.  U-Boot does not support the ARM VFP floating point coprocessor,
which is an optional piece of hardware anyway [1].

Ensure the compiler does not generate FP/SIMD instructions by supplying
the `-mgeneral-regs-only` option when building for ARM [2].

The other option you often see to solve these problems is
`-msoft-float`, but that changes the ABI and prevents linking with
libgnuefi.

[1] https://lists.denx.de/pipermail/u-boot/2011-February/087736.html
[2] https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html#index-mgeneral-regs-only-1
2020-03-08 15:21:00 +09:00
..
efi boot: Ensure ARM UEFI binary does not contain FP/SIMD instructions 2020-03-08 15:21:00 +09:00
bless-boot-generator.c util-lib: split shared/efivars into basic/efivars and shared/efi-loader 2019-09-16 18:08:53 +02:00
bless-boot.c tree-wide: clean up --help texts a bit 2019-11-18 15:14:43 +01:00
boot-check-no-failures.c tree-wide: clean up --help texts a bit 2019-11-18 15:14:43 +01:00
bootctl.c bootlctl: show LoaderDevicePartUUID information in status 2019-11-30 17:42:13 +01:00