Skip to content

Commit f1e48a6

Browse files
committed
Attempt to fix arm32 Windows
1 parent 26ab4af commit f1e48a6

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

src/windows_sys.rs

+45
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,51 @@ pub struct CONTEXT {
245245
pub SegSs: u32,
246246
pub ExtendedRegisters: [u8; 512],
247247
}
248+
249+
cfg_if::cfg_if! {
250+
if #[cfg(target_arch = "arm")] {
251+
pub const ARM_MAX_BREAKPOINTS: usize = 8;
252+
pub const ARM_MAX_WATCHPOINTS: usize = 1;
253+
254+
#[repr(C)]
255+
#[derive(Clone, Copy)]
256+
pub struct CONTEXT_u([u64; 32]);
257+
258+
#[repr(C)]
259+
#[derive(Clone, Copy)]
260+
pub struct CONTEXT {
261+
pub ContextFlags: u32,
262+
pub R0: u32,
263+
pub R1: u32,
264+
pub R2: u32,
265+
pub R3: u32,
266+
pub R4: u32,
267+
pub R5: u32,
268+
pub R6: u32,
269+
pub R7: u32,
270+
pub R8: u32,
271+
pub R9: u32,
272+
pub R10: u32,
273+
pub R11: u32,
274+
pub R12: u32,
275+
pub Sp: u32,
276+
pub Lr: u32,
277+
pub Pc: u32,
278+
pub Cpsr: u32,
279+
pub Fpsrc: u32,
280+
pub Padding: u32,
281+
pub u: CONTEXT_u,
282+
pub Bvr: [u32; ARM_MAX_BREAKPOINTS],
283+
pub Bcr: [u32; ARM_MAX_BREAKPOINTS],
284+
pub Wvr: [u32; ARM_MAX_WATCHPOINTS],
285+
pub Wcr: [u32; ARM_MAX_WATCHPOINTS],
286+
pub Padding2: [u32; 2],
287+
}
288+
289+
pub const IMAGE_FILE_MACHINE_ARMNT: IMAGE_FILE_MACHINE = 0x01c4;
290+
}
291+
}
292+
248293
pub type CONTEXT_FLAGS = u32;
249294
pub const CP_UTF8: u32 = 65001u32;
250295
pub type CREATE_TOOLHELP_SNAPSHOT_FLAGS = u32;

0 commit comments

Comments
 (0)