]> git.lizzy.rs Git - rust.git/commit
Use aapcs for efiapi calling convention on arm
authorNicholas Bishop <nbishop@nbishop.net>
Sun, 6 Nov 2022 22:29:46 +0000 (17:29 -0500)
committerNicholas Bishop <nbishop@nbishop.net>
Sun, 6 Nov 2022 23:05:24 +0000 (18:05 -0500)
commit42cbb401574b494c5da7a58cb2485be54992babd
treee70a231523d49fd421723474e13459cafa0a6245
parent7eef946fc0e0eff40e588eab77b09b287accbec3
Use aapcs for efiapi calling convention on arm

On arm, llvm treats the C calling convention as `aapcs` on soft-float
targets and `aapcs-vfp` on hard-float targets [1]. UEFI specifies in the
arm calling convention that floating point extensions aren't used [2],
so always translate `efiapi` to `aapcs` on arm.

[1]: https://github.com/rust-lang/compiler-builtins/issues/116#issuecomment-261057422
[2]: https://uefi.org/specs/UEFI/2.10/02_Overview.html#detailed-calling-convention

https://github.com/rust-lang/rust/issues/65815
compiler/rustc_target/src/spec/mod.rs
src/test/codegen/abi-efiapi.rs