X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=EdkCompatibilityPkg%2FFoundation%2FInclude%2FIa32%2FEfiBind.h;h=12d7154d0baef7754124cbf5290523d41869fb3d;hb=e8de46808a7d2426116de79cdf2aeab43d5a5537;hp=c89ca9d00eaae045e030f741a8d70cabe0bb13b1;hpb=59a7e4f4bd159d4e91d29410ce0c3fa03646c363;p=mirror_edk2.git diff --git a/EdkCompatibilityPkg/Foundation/Include/Ia32/EfiBind.h b/EdkCompatibilityPkg/Foundation/Include/Ia32/EfiBind.h index c89ca9d00e..12d7154d0b 100644 --- a/EdkCompatibilityPkg/Foundation/Include/Ia32/EfiBind.h +++ b/EdkCompatibilityPkg/Foundation/Include/Ia32/EfiBind.h @@ -83,7 +83,9 @@ Abstract: // // Make sure we are useing the correct packing rules per EFI specification // +#ifndef __GNUC__ #pragma pack() +#endif #if __INTEL_COMPILER // @@ -309,12 +311,19 @@ typedef int32_t intn_t; // // For symbol name in GNU assembly code, an extra "_" is necessary // -#if __GNUC__ - #if defined(linux) - #define ASM_PFX(name) name - #else - #define ASM_PFX(name) _##name - #endif +#if defined(__GNUC__) + /// + /// Private worker functions for ASM_PFX() + /// + #define _CONCATENATE(a, b) __CONCATENATE(a, b) + #define __CONCATENATE(a, b) a ## b + + /// + /// The __USER_LABEL_PREFIX__ macro predefined by GNUC represents the prefix + /// on symbols in assembly language. + /// + #define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name) + #endif #endif