]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg Base.h: Always define ASM_PFX
authorJordan Justen <jordan.l.justen@intel.com>
Mon, 1 Sep 2014 17:23:10 +0000 (17:23 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 1 Sep 2014 17:23:10 +0000 (17:23 +0000)
Some compilers may define __USER_LABEL_PREFIX__ to determine the
prefix used with ASM_PFX. Otherwise, IA32 will use a single underscore
'_' character, and all other architectures will use an empty prefix.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16019 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/AArch64/ProcessorBind.h
MdePkg/Include/Arm/ProcessorBind.h
MdePkg/Include/Base.h
MdePkg/Include/Ebc/ProcessorBind.h
MdePkg/Include/Ia32/ProcessorBind.h
MdePkg/Include/Ipf/ProcessorBind.h
MdePkg/Include/X64/ProcessorBind.h

index ce2468287bcf6046c872dd3ee38e41625b06a89d..f09b15a55800bf9a17f2bf81a80c0dd2a9e1f996 100644 (file)
@@ -139,4 +139,8 @@ typedef INT64   INTN;
 **/\r
 #define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)\r
 \r
+#ifndef __USER_LABEL_PREFIX__\r
+#define __USER_LABEL_PREFIX__\r
+#endif\r
+\r
 #endif\r
index 8207044684d7743db0c73ed57614dd717a88cadb..cc763b396b53b745586f8496c1fd14df840c67bb 100644 (file)
@@ -158,6 +158,10 @@ typedef INT32   INTN;
 **/\r
 #define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)\r
 \r
+#ifndef __USER_LABEL_PREFIX__\r
+#define __USER_LABEL_PREFIX__\r
+#endif\r
+\r
 #endif\r
 \r
 \r
index e1ffa7d23b6434c2270a4f11885a5a126cef06cc..4dda3c2f408684fb967b4da3e5f2c3ab0fb64fa1 100644 (file)
@@ -79,21 +79,20 @@ VERIFY_SIZE_OF (CHAR16, 2);
 #endif\r
 \r
 //\r
-// For symbol name in GNU assembly code, an extra "_" is necessary\r
+// For symbol name in assembly code, an extra "_" is sometimes necessary\r
 //\r
-#if defined(__GNUC__)\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
-#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
 #if __APPLE__\r
   //\r
index 4e1a67fb4e575a77d2bea218ca1d05425fe756fd..075f768c7691b4dd3bc5c227138b7326132f9ddd 100644 (file)
@@ -138,5 +138,9 @@ typedef unsigned long         UINTN;
 **/\r
 #define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)\r
 \r
+#ifndef __USER_LABEL_PREFIX__\r
+#define __USER_LABEL_PREFIX__\r
+#endif\r
+\r
 #endif \r
 \r
index 7beee20953b591a39c7bbb1968001584e5057209..f554b57bb792d6bceb21327333742b0977133c28 100644 (file)
@@ -284,5 +284,9 @@ typedef INT32   INTN;
 **/\r
 #define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)\r
 \r
+#ifndef __USER_LABEL_PREFIX__\r
+#define __USER_LABEL_PREFIX__ _\r
+#endif\r
+\r
 #endif\r
 \r
index a40ecd71e586009db84c12d8cecb66a1196c5778..cead575262832794e6088050fbfdb083215395af 100644 (file)
@@ -305,5 +305,9 @@ typedef struct {
 **/\r
 #define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(((EFI_PLABEL *)(FunctionPointer))->EntryPoint)\r
 \r
+#ifndef __USER_LABEL_PREFIX__\r
+#define __USER_LABEL_PREFIX__\r
+#endif\r
+\r
 #endif\r
 \r
index df324340d1932b8ce87ce750ab3ae145e7783ded..dae0683bd732e745a5c4da6e8dda9395009f589b 100644 (file)
@@ -290,5 +290,9 @@ typedef INT64   INTN;
 **/\r
 #define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)\r
 \r
+#ifndef __USER_LABEL_PREFIX__\r
+#define __USER_LABEL_PREFIX__\r
+#endif\r
+\r
 #endif\r
 \r