Commit c28a749f authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

ntdll/tests: Force alignment of output structures.

Some Windows version expect output to be aligned on 4 bytes. Notes (from i386 and x86_64 tests): - MSVC and Mingw/gcc don't layout the two variables (sdki, sdki_ex) the same way. - MSVC aligns each variable on 4-byte boundary, - MingW/GCC stores them in a 8-byte chunk, but starting from the end of the buffer: hence none of them is on a 4-byte boundary. So, fixing the alignment of variables is not sufficient to workaround the compilers' discrepancy on all source code. I didn't find a generic way to align on 4 bytes structures of size smaller than 4 bytes (apart from adding the DECLSPEC_ALIGN to each of the offending structures, likely not that many though). Ideas welcomed. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53684Signed-off-by: 's avatarEric Pouech <eric.pouech@gmail.com>
parent 7d856937
......@@ -1066,8 +1066,9 @@ static void test_query_kerndebug(void)
{
NTSTATUS status;
ULONG ReturnLength;
SYSTEM_KERNEL_DEBUGGER_INFORMATION_EX skdi_ex;
SYSTEM_KERNEL_DEBUGGER_INFORMATION skdi;
/* some Windows version expect alignment */
SYSTEM_KERNEL_DEBUGGER_INFORMATION_EX DECLSPEC_ALIGN(4) skdi_ex;
SYSTEM_KERNEL_DEBUGGER_INFORMATION DECLSPEC_ALIGN(4) skdi;
status = pNtQuerySystemInformation(SystemKernelDebuggerInformation, &skdi, 0, &ReturnLength);
ok( status == STATUS_INFO_LENGTH_MISMATCH, "Expected STATUS_INFO_LENGTH_MISMATCH, got %08lx\n", status);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment