From 0d70d57617ba4567d8398c5f8916fc35e9eb67ac Mon Sep 17 00:00:00 2001 From: klutzy Date: Thu, 18 Sep 2014 22:37:46 +0900 Subject: std::rt::backtrace: Fix backtrace on Win64 `struct CONTEXT` and its substructs require 16-byte alignment. --- src/libstd/rt/backtrace.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/libstd') diff --git a/src/libstd/rt/backtrace.rs b/src/libstd/rt/backtrace.rs index 5557ef9943b..f4887a143d1 100644 --- a/src/libstd/rt/backtrace.rs +++ b/src/libstd/rt/backtrace.rs @@ -831,9 +831,11 @@ mod imp { mod arch { use libc::{c_longlong, c_ulonglong}; use libc::types::os::arch::extra::{WORD, DWORD, DWORDLONG}; + use simd; #[repr(C)] pub struct CONTEXT { + _align_hack: [simd::u64x2, ..0], // FIXME align on 16-byte P1Home: DWORDLONG, P2Home: DWORDLONG, P3Home: DWORDLONG, @@ -892,12 +894,14 @@ mod imp { #[repr(C)] pub struct M128A { + _align_hack: [simd::u64x2, ..0], // FIXME align on 16-byte Low: c_ulonglong, High: c_longlong } #[repr(C)] pub struct FLOATING_SAVE_AREA { + _align_hack: [simd::u64x2, ..0], // FIXME align on 16-byte _Dummy: [u8, ..512] // FIXME: Fill this out } -- cgit 1.4.1-3-g733a5