///\r
#define MDE_CPU_X64\r
\r
-\r
//\r
// Make sure we are using the correct packing rules per EFI specification\r
//\r
#define EFIAPI \r
#endif\r
\r
-//\r
-// The Microsoft* C compiler can removed references to unreferenced data items\r
-// if the /OPT:REF linker option is used. We defined a macro as this is a \r
-// a non standard extension\r
-//\r
-#if defined(_MSC_EXTENSIONS)\r
- ///\r
- /// Remove global variable from the linked image if there are no references to \r
- /// it after all compiler and linker optimizations have been performed.\r
- ///\r
- ///\r
- #define GLOBAL_REMOVE_IF_UNREFERENCED __declspec(selectany)\r
-#else\r
- ///\r
- /// Remove global variable from the linked image if there are no references to \r
- /// it after all compiler and linker optimizations have been performed.\r
- ///\r
- ///\r
- #define GLOBAL_REMOVE_IF_UNREFERENCED\r
-#endif\r
-\r
-//\r
-// For symbol name in GNU assembly code, an extra "_" is necessary\r
-//\r
#if defined(__GNUC__)\r
- #if defined(linux)\r
- #define ASM_PFX(name) name\r
- #else\r
- #define ASM_PFX(name) _##name\r
- #endif\r
///\r
/// For GNU assembly code, .global or .globl can declare global symbols.\r
/// Define this macro to unify the usage.\r