diff options
author | James T. Lee <james@james.tl> | 2020-03-08 00:05:34 +0100 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2020-03-08 07:21:00 +0100 |
commit | 1ad6056239b70ce69ea70108cf4e49a05a9c2a1d (patch) | |
tree | d22796da193e5f1f887433b90369f436ad004cf0 /catalog | |
parent | Merge pull request #15036 from yuwata/can-termination-mod (diff) | |
download | systemd-1ad6056239b70ce69ea70108cf4e49a05a9c2a1d.tar.xz systemd-1ad6056239b70ce69ea70108cf4e49a05a9c2a1d.zip |
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
Diffstat (limited to 'catalog')
0 files changed, 0 insertions, 0 deletions