From 59424fff04b0d47b796e91b47d6826db6aac1721 Mon Sep 17 00:00:00 2001 From: jljusten Date: Tue, 22 Feb 2011 16:36:12 +0000 Subject: [PATCH] SourceLevelDebugPkg: Pack CPU context structures Use #pragma pack to ensure that ASM and C code agree on the structure layout between various compilers. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11331 6f19259b-4bc3-4df7-8a09-765794883524 --- .../DebugAgent/DebugAgentCommon/Ia32/ArchRegisters.h | 6 +++++- .../Library/DebugAgent/DebugAgentCommon/X64/ArchRegisters.h | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/ArchRegisters.h b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/ArchRegisters.h index 3c279589e7..909ddbe535 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/ArchRegisters.h +++ b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/ArchRegisters.h @@ -1,7 +1,7 @@ /** @file IA32 register defintions needed by debug transfer protocol. - Copyright (c) 2010, Intel Corporation. All rights reserved.
+ Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -15,6 +15,8 @@ #ifndef _ARCH_REGISTERS_H_ #define _ARCH_REGISTERS_H_ +#pragma pack(1) + /// /// FXSAVE_STATE /// FP / MMX / XMM registers (see fxrstor instruction definition) @@ -153,4 +155,6 @@ typedef struct { UINT32 TssBas; } DEBUG_DATA_REPONSE_READ_REGISTER_GROUP_SEGBASE_IA32; +#pragma pack() + #endif diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/ArchRegisters.h b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/ArchRegisters.h index e7a5a33089..9675391956 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/ArchRegisters.h +++ b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/ArchRegisters.h @@ -1,7 +1,7 @@ /** @file X64 register defintions needed by debug transfer protocol. - Copyright (c) 2010, Intel Corporation. All rights reserved.
+ Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -15,6 +15,8 @@ #ifndef _ARCH_REGISTERS_H_ #define _ARCH_REGISTERS_H_ +#pragma pack(1) + /// /// FXSAVE_STATE (promoted operation) /// FP / MMX / XMM registers (see fxrstor instruction definition) @@ -325,5 +327,6 @@ typedef struct { UINT64 Tssas; } DEBUG_DATA_REPONSE_READ_REGISTER_GROUP_SEGMENT_BASES_X64; +#pragma pack() #endif -- 2.39.2