From 0ffc5441a79affd3194590ceb50981000b61caf7 Mon Sep 17 00:00:00 2001 From: ajfish Date: Wed, 1 Nov 2006 18:26:48 +0000 Subject: [PATCH] Updated EFAPI definition for x64 GCC. Original thinking was to add optional EFIAPI support to standard GCC. New thinking is to support EFIAPI as a seperate processor target. This is to reduce validation risk to the main line GCC. Update the definition and comments to match current thinking. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1883 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/x64/ProcessorBind.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/MdePkg/Include/x64/ProcessorBind.h b/MdePkg/Include/x64/ProcessorBind.h index 785d4d98f0..3a2fea26ce 100644 --- a/MdePkg/Include/x64/ProcessorBind.h +++ b/MdePkg/Include/x64/ProcessorBind.h @@ -177,13 +177,18 @@ typedef INT64 INTN; #elif __GNUC__ /// /// Define the standard calling convention reguardless of optimization level. - /// efidecl is an extension to GCC that supports the differnece between x64 - /// GCC ABI and x64 Microsoft* ABI. EFI is closer to the Microsoft* ABI and - /// EFIAPI makes sure the right ABI is used for public interfaces. - /// eficecl is a work in progress and we do not yet have the compiler + /// The GCC support assumes a GCC compiler that supports the EFI ABI. The EFI + /// ABI is much closer to the x64 Microsoft* ABI than standard x64 (x86-64) + /// GCC ABI. Thus a standard x64 (x86-64) GCC compiler can not be used for + /// x64. Warning the assembly code in the MDE x64 does not follow the correct + /// ABI for the standard x64 (x86-64) GCC. /// - #define EFIAPI __attribute__((efidecl)) + #define EFIAPI #else + /// + /// The default for a non Microsoft* or GCC compiler is to assume the EFI ABI + /// is the standard. + /// #define EFIAPI #endif -- 2.39.2