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
//\r
// Make sure we are useing the correct packing rules per EFI specification\r
//\r
+#ifndef __GNUC__\r
#pragma pack()\r
+#endif\r
+\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
#endif\r
\r
\r
-#if (__STDC_VERSION__ < 199901L)\r
+#if !defined(__GNUC__) && (__STDC_VERSION__ < 199901L)\r
//\r
// No ANSI C 2000 stdint.h integer width declarations, so define equivalents\r
//\r
#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
+ #define ASM_PFX(name) _##name \r
+#endif\r
+\r
+#define FUNCTION_ENTRY_POINT(p) (p)\r
+\r
#endif\r
\r