Just to make it clear, this is an immediate solution that is good enough to fix the bug. However, a more proper solution would be to introduce the _Alignas ( https://en.cppreference.com/w/c/language/_Alignas ) concept to EDK II. I would suggest the following macro in Base.h: /** Enforce custom alignment for a variable definition. Similar to C11 alignas macro from stdalign.h, except it must be functional to support MSVC. @param  Alignment  Numeric alignment to require. **/ #ifdef _MSC_EXTENSIONS #define ALIGNAS(Alignment) __declspec(align(Alignment)) #else #define ALIGNAS(Alignment) _Alignas(Alignment) #endif If there is no disagreement on this, I can imagine submitting an update after this patch is merged.