summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
02c9c47)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9073
6f19259b-4bc3-4df7-8a09-
765794883524
// For symbol name in GNU assembly code, an extra "_" is necessary\r
//\r
#if defined(__GNUC__)\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
+ /// Private worker functions for ASM_PFX()\r
+ ///\r
+ #define _CONCATENATE(a, b) __CONCATENATE(a, b)\r
+ #define __CONCATENATE(a, b) a ## b\r
+\r
+ ///\r
+ /// The __USER_LABEL_PREFIX__ macro predefined by GNUC represents the prefix\r
+ /// on symbols in assembly language.\r
+ ///\r
+ #define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name)\r
+\r
///\r
/// For GNU assembly code, .global or .globl can declare global symbols.\r
/// Define this macro to unify the usage.\r
///\r
/// For GNU assembly code, .global or .globl can declare global symbols.\r
/// Define this macro to unify the usage.\r
// For symbol name in GNU assembly code, an extra "_" is necessary\r
//\r
#if defined(__GNUC__)\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
+ /// Private worker functions for ASM_PFX()\r
+ ///\r
+ #define _CONCATENATE(a, b) __CONCATENATE(a, b)\r
+ #define __CONCATENATE(a, b) a ## b\r
+\r
+ ///\r
+ /// The __USER_LABEL_PREFIX__ macro predefined by GNUC represents the prefix\r
+ /// on symbols in assembly language.\r
+ ///\r
+ #define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name)\r
+\r
///\r
/// For GNU assembly code, .global or .globl can declare global symbols.\r
/// Define this macro to unify the usage.\r
///\r
/// For GNU assembly code, .global or .globl can declare global symbols.\r
/// Define this macro to unify the usage.\r