]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Ia32/ProcessorBind.h
1. Remove .extern from GCC assembly.
[mirror_edk2.git] / MdePkg / Include / Ia32 / ProcessorBind.h
index e6d1a7da90125261c7b3a70973862356a2f7315b..a397f4b4b517a29eefe529bf7fe8c69c2bc5d096 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Processor or Compiler specific defines and types for Ia32 architecture.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation<BR>                                                         \r
+  Copyright (c) 2006 - 2009, Intel Corporation<BR>                                                         \r
   All rights reserved. This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
   which accompanies this distribution.  The full text of the license may be found at        \r
@@ -295,7 +295,11 @@ typedef INT32   INTN;
 // use the correct C calling convention. All protocol member functions and\r
 // EFI intrinsics are required to modify their member functions with EFIAPI.\r
 //\r
-#if defined(_MSC_EXTENSIONS)\r
+#ifdef EFIAPI\r
+  ///\r
+  /// If EFIAPI is already defined, then we use that definition.\r
+  ///\r
+#elif defined(_MSC_EXTENSIONS)\r
   ///\r
   /// Microsoft* compiler specific method for EFIAPI calling convension\r
   /// \r
@@ -337,6 +341,11 @@ typedef INT32   INTN;
   #else\r
     #define ASM_PFX(name) _##name\r
   #endif \r
+  #if defined(__APPLE__)\r
+    #define ASM_GLOBAL .globl\r
+  #else\r
+    #define ASM_GLOBAL .global\r
+  #endif \r
 #endif\r
 \r
 /**\r