Updated EFAPI definition for x64 GCC. Original thinking was to add optional EFIAPI...
authorajfish <ajfish@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 1 Nov 2006 18:26:48 +0000 (18:26 +0000)
committerajfish <ajfish@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 1 Nov 2006 18:26:48 +0000 (18:26 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1883 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/x64/ProcessorBind.h

index 785d4d9..3a2fea2 100644 (file)
@@ -177,13 +177,18 @@ typedef INT64   INTN;
 #elif __GNUC__\r
   ///\r
   /// Define the standard calling convention reguardless of optimization level.\r
-  /// efidecl is an extension to GCC that supports the differnece between x64\r
-  /// GCC ABI and x64 Microsoft* ABI. EFI is closer to the Microsoft* ABI and\r
-  /// EFIAPI makes sure the right ABI is used for public interfaces. \r
-  /// eficecl is a work in progress and we do not yet have the compiler\r
+  /// The GCC support assumes a GCC compiler that supports the EFI ABI. The EFI\r
+  /// ABI is much closer to the x64 Microsoft* ABI than standard x64 (x86-64) \r
+  /// GCC ABI. Thus a standard x64 (x86-64) GCC compiler can not be used for \r
+  /// x64. Warning the assembly code in the MDE x64 does not follow the correct \r
+  /// ABI for the standard x64 (x86-64) GCC.\r
   ///\r
-  #define EFIAPI __attribute__((efidecl))    \r
+  #define EFIAPI \r
 #else\r
+  ///\r
+  /// The default for a non Microsoft* or GCC compiler is to assume the EFI ABI\r
+  /// is the standard. \r
+  ///\r
   #define EFIAPI       \r
 #endif\r
 \r