]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Ia32/ProcessorBind.h
make change to support UnixPkg build. The changes are listed as follows:
[mirror_edk2.git] / MdePkg / Include / Ia32 / ProcessorBind.h
index dd38e4958b1ee25504f8d69784b7386ac76b0289..72c10328e45a07e54b00650d209a82271cfb5a1c 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
-  Processor or Compiler specific defines and types for x64.\r
+  Processor or Compiler specific defines and types for Ia32 architecture.\r
 \r
   Copyright (c) 2006, Intel Corporation                                                         \r
   All rights reserved. This program and the accompanying materials                          \r
@@ -10,8 +10,6 @@
   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
 \r
-  Module Name:  ProcessorBind.h\r
-\r
 **/\r
 \r
 #ifndef __PROCESSOR_BIND_H__\r
 #pragma pack()\r
 #endif\r
 \r
+#if __INTEL_COMPILER\r
+//\r
+// Disable ICC's remark #1418: external function definition with no prior declaration.\r
+// This is legal ANSI C code so we disable the remark that is turned on with /W4\r
+//\r
+#pragma warning ( disable : 1418 )\r
+\r
+\r
+//\r
+// Disable ICC's remark #1419: external declaration in primary source file\r
+// This is legal ANSI C code so we disable the remark that is turned on with /W4\r
+//\r
+#pragma warning ( disable : 1419 )\r
+\r
+#endif\r
+\r
+\r
 #if _MSC_EXTENSIONS\r
 \r
 //\r
@@ -161,10 +176,10 @@ typedef INT32   INTN;
   // Microsoft* compiler requires _EFIAPI useage, __cdecl is Microsoft* specific C.\r
   // \r
   #define EFIAPI __cdecl  \r
-#endif\r
-\r
-#if __GNUC__\r
-  #define EFIAPI __attribute__((cdecl))    \r
+#else\r
+  #if __GNUC__\r
+    #define EFIAPI __attribute__((cdecl))  \r
+  #endif  \r
 #endif\r
 \r
 //\r
@@ -178,5 +193,18 @@ typedef INT32   INTN;
   #define GLOBAL_REMOVE_IF_UNREFERENCED\r
 #endif\r
 \r
+//\r
+// For symbol name in GNU assembly code, an extra "_" is necessary\r
+//\r
+#if __GNUC__\r
+  #if defined(linux)\r
+    #define ASM_PFX(name) name\r
+  #else\r
+    #define ASM_PFX(name) _##name\r
+  #endif \r
+#endif\r
+\r
+#define FUNCTION_ENTRY_POINT(p) (p)\r
+\r
 #endif\r
 \r