From 3b117c4823bbe0f7250d4bd516bb370d12ca0952 Mon Sep 17 00:00:00 2001 From: Dan Robertson Date: Sat, 25 Jun 2022 21:19:09 -0400 Subject: [PATCH] library: fix uefi va_list type definition For uefi the va_list should always be the void pointer variant. --- library/core/src/ffi/mod.rs | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/library/core/src/ffi/mod.rs b/library/core/src/ffi/mod.rs index 93cdf121fbe..43e4b7f08e2 100644 --- a/library/core/src/ffi/mod.rs +++ b/library/core/src/ffi/mod.rs @@ -231,7 +231,8 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { all(target_arch = "aarch64", any(target_os = "macos", target_os = "ios")), target_family = "wasm", target_arch = "asmjs", - windows + target_os = "uefi", + windows, ))] #[repr(transparent)] #[unstable( @@ -254,7 +255,8 @@ pub struct VaListImpl<'f> { all(target_arch = "aarch64", any(target_os = "macos", target_os = "ios")), target_family = "wasm", target_arch = "asmjs", - windows + target_os = "uefi", + windows, ))] #[unstable( feature = "c_variadic", @@ -276,7 +278,8 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { #[cfg(all( target_arch = "aarch64", not(any(target_os = "macos", target_os = "ios")), - not(windows) + not(target_os = "uefi"), + not(windows), ))] #[repr(C)] #[derive(Debug)] @@ -297,7 +300,7 @@ pub struct VaListImpl<'f> { } /// PowerPC ABI implementation of a `va_list`. -#[cfg(all(target_arch = "powerpc", not(windows)))] +#[cfg(all(target_arch = "powerpc", not(target_os = "uefi"), not(windows)))] #[repr(C)] #[derive(Debug)] #[unstable( @@ -317,7 +320,7 @@ pub struct VaListImpl<'f> { } /// x86_64 ABI implementation of a `va_list`. -#[cfg(all(target_arch = "x86_64", not(windows)))] +#[cfg(all(target_arch = "x86_64", not(target_os = "uefi"), not(windows)))] #[repr(C)] #[derive(Debug)] #[unstable( @@ -354,7 +357,8 @@ pub struct VaList<'a, 'f: 'a> { all(target_arch = "aarch64", any(target_os = "macos", target_os = "ios")), target_family = "wasm", target_arch = "asmjs", - windows + target_os = "uefi", + windows, ))] inner: VaListImpl<'f>, @@ -363,7 +367,8 @@ pub struct VaList<'a, 'f: 'a> { any(not(target_arch = "aarch64"), not(any(target_os = "macos", target_os = "ios"))), not(target_family = "wasm"), not(target_arch = "asmjs"), - not(windows) + not(target_os = "uefi"), + not(windows), ))] inner: &'a mut VaListImpl<'f>, @@ -375,7 +380,8 @@ pub struct VaList<'a, 'f: 'a> { all(target_arch = "aarch64", any(target_os = "macos", target_os = "ios")), target_family = "wasm", target_arch = "asmjs", - windows + target_os = "uefi", + windows, ))] #[unstable( feature = "c_variadic", @@ -396,7 +402,8 @@ pub fn as_va_list<'a>(&'a mut self) -> VaList<'a, 'f> { any(not(target_arch = "aarch64"), not(any(target_os = "macos", target_os = "ios"))), not(target_family = "wasm"), not(target_arch = "asmjs"), - not(windows) + not(target_os = "uefi"), + not(windows), ))] #[unstable( feature = "c_variadic", -- 2.44.0