Add support for Arm64EC to the Standard Library
This commit is contained in:
@@ -23,6 +23,7 @@ pub const MIN_ALIGN: usize = 8;
|
||||
#[cfg(any(
|
||||
target_arch = "x86_64",
|
||||
target_arch = "aarch64",
|
||||
target_arch = "arm64ec",
|
||||
target_arch = "loongarch64",
|
||||
target_arch = "mips64",
|
||||
target_arch = "mips64r6",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Bindings generated by `windows-bindgen` 0.55.0
|
||||
// Bindings generated by `windows-bindgen` 0.56.0
|
||||
|
||||
#![allow(non_snake_case, non_upper_case_globals, non_camel_case_types, dead_code, clippy::all)]
|
||||
#[link(name = "advapi32")]
|
||||
@@ -345,7 +345,7 @@ extern "system" {
|
||||
}
|
||||
#[link(name = "kernel32")]
|
||||
extern "system" {
|
||||
pub fn GetSystemTimePreciseAsFileTime(lpsystemtimeasfiletime: *mut FILETIME) -> ();
|
||||
pub fn GetSystemTimePreciseAsFileTime(lpsystemtimeasfiletime: *mut FILETIME);
|
||||
}
|
||||
#[link(name = "kernel32")]
|
||||
extern "system" {
|
||||
@@ -1018,7 +1018,7 @@ impl Clone for CONTEXT_0_0 {
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
pub struct CONTEXT {
|
||||
pub P1Home: u64,
|
||||
pub P2Home: u64,
|
||||
@@ -1067,30 +1067,30 @@ pub struct CONTEXT {
|
||||
pub LastExceptionToRip: u64,
|
||||
pub LastExceptionFromRip: u64,
|
||||
}
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Copy for CONTEXT {}
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Clone for CONTEXT {
|
||||
fn clone(&self) -> Self {
|
||||
*self
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
pub union CONTEXT_0 {
|
||||
pub FltSave: XSAVE_FORMAT,
|
||||
pub Anonymous: CONTEXT_0_0,
|
||||
}
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Copy for CONTEXT_0 {}
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Clone for CONTEXT_0 {
|
||||
fn clone(&self) -> Self {
|
||||
*self
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
pub struct CONTEXT_0_0 {
|
||||
pub Header: [M128A; 2],
|
||||
pub Legacy: [M128A; 8],
|
||||
@@ -1111,9 +1111,9 @@ pub struct CONTEXT_0_0 {
|
||||
pub Xmm14: M128A,
|
||||
pub Xmm15: M128A,
|
||||
}
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Copy for CONTEXT_0_0 {}
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Clone for CONTEXT_0_0 {
|
||||
fn clone(&self) -> Self {
|
||||
*self
|
||||
@@ -3339,7 +3339,7 @@ pub const FILE_WRITE_EA: FILE_ACCESS_RIGHTS = 16u32;
|
||||
pub const FILE_WRITE_THROUGH: NTCREATEFILE_CREATE_OPTIONS = 2u32;
|
||||
pub const FIONBIO: i32 = -2147195266i32;
|
||||
#[repr(C)]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
pub struct FLOATING_SAVE_AREA {
|
||||
pub ControlWord: u32,
|
||||
pub StatusWord: u32,
|
||||
@@ -3351,9 +3351,9 @@ pub struct FLOATING_SAVE_AREA {
|
||||
pub RegisterArea: [u8; 80],
|
||||
pub Cr0NpxState: u32,
|
||||
}
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Copy for FLOATING_SAVE_AREA {}
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Clone for FLOATING_SAVE_AREA {
|
||||
fn clone(&self) -> Self {
|
||||
*self
|
||||
@@ -4106,7 +4106,7 @@ impl Clone for WSABUF {
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
pub struct WSADATA {
|
||||
pub wVersion: u16,
|
||||
pub wHighVersion: u16,
|
||||
@@ -4116,9 +4116,9 @@ pub struct WSADATA {
|
||||
pub szDescription: [i8; 257],
|
||||
pub szSystemStatus: [i8; 129],
|
||||
}
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Copy for WSADATA {}
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Clone for WSADATA {
|
||||
fn clone(&self) -> Self {
|
||||
*self
|
||||
@@ -4286,7 +4286,7 @@ pub const WSA_SECURE_HOST_NOT_FOUND: WSA_ERROR = 11032i32;
|
||||
pub const WSA_WAIT_EVENT_0: WSA_ERROR = 0i32;
|
||||
pub const WSA_WAIT_IO_COMPLETION: WSA_ERROR = 192i32;
|
||||
#[repr(C)]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
pub struct XSAVE_FORMAT {
|
||||
pub ControlWord: u16,
|
||||
pub StatusWord: u16,
|
||||
@@ -4305,9 +4305,9 @@ pub struct XSAVE_FORMAT {
|
||||
pub XmmRegisters: [M128A; 16],
|
||||
pub Reserved4: [u8; 96],
|
||||
}
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Copy for XSAVE_FORMAT {}
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Clone for XSAVE_FORMAT {
|
||||
fn clone(&self) -> Self {
|
||||
*self
|
||||
|
||||
@@ -332,7 +332,7 @@ pub fn abort_internal() -> ! {
|
||||
core::arch::asm!("int $$0x29", in("ecx") c::FAST_FAIL_FATAL_APP_EXIT, options(noreturn, nostack));
|
||||
} else if #[cfg(all(target_arch = "arm", target_feature = "thumb-mode"))] {
|
||||
core::arch::asm!(".inst 0xDEFB", in("r0") c::FAST_FAIL_FATAL_APP_EXIT, options(noreturn, nostack));
|
||||
} else if #[cfg(target_arch = "aarch64")] {
|
||||
} else if #[cfg(any(target_arch = "aarch64", target_arch = "arm64ec"))] {
|
||||
core::arch::asm!("brk 0xF003", in("x0") c::FAST_FAIL_FATAL_APP_EXIT, options(noreturn, nostack));
|
||||
} else {
|
||||
core::intrinsics::abort();
|
||||
|
||||
Reference in New Issue
Block a user