about summary refs log tree commit diff
path: root/src/test/codegen
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2022-11-10 10:47:39 -0500
committerGitHub <noreply@github.com>2022-11-10 10:47:39 -0500
commit8f2c1f846945c24aeaf773c9b3c76ddae98db36c (patch)
treeb2cdc518fe6b9117daa86fe123dc43dd1f94b3ca /src/test/codegen
parent150e0ec393031ede36de981363b7b9422cfcaf3a (diff)
parent42cbb401574b494c5da7a58cb2485be54992babd (diff)
downloadrust-8f2c1f846945c24aeaf773c9b3c76ddae98db36c.tar.gz
rust-8f2c1f846945c24aeaf773c9b3c76ddae98db36c.zip
Rollup merge of #104077 - nicholasbishop:bishop-uefi-aapcs, r=nagisa
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](https://github.com/rust-lang/compiler-builtins/issues/116#issuecomment-261057422). UEFI specifies in the arm calling convention that [floating point extensions aren't used](https://uefi.org/specs/UEFI/2.10/02_Overview.html#detailed-calling-convention), so always translate `efiapi` to `aapcs` on arm.

https://github.com/rust-lang/rust/issues/65815
Diffstat (limited to 'src/test/codegen')
-rw-r--r--src/test/codegen/abi-efiapi.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/test/codegen/abi-efiapi.rs b/src/test/codegen/abi-efiapi.rs
index b4fda5f8c84..9061d7432a3 100644
--- a/src/test/codegen/abi-efiapi.rs
+++ b/src/test/codegen/abi-efiapi.rs
@@ -27,7 +27,7 @@ trait Copy { }
 //x86_64: define win64cc void @has_efiapi
 //i686: define void @has_efiapi
 //aarch64: define dso_local void @has_efiapi
-//arm: define dso_local void @has_efiapi
+//arm: define dso_local arm_aapcscc void @has_efiapi
 //riscv: define dso_local void @has_efiapi
 #[no_mangle]
 pub extern "efiapi" fn has_efiapi() {}