From f6b633c7433f1f51f807145b1645b1d2c31c91b9 Mon Sep 17 00:00:00 2001 From: Liming Gao Date: Thu, 28 Jul 2016 15:35:27 +0800 Subject: EdkCompatibilityPkg: Fix GCC build failure Edk2 enables Os option and ms_va_list in GCC tool chain. This change makes VA_LIST is not pointer, and cause GCC failure. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao --- .../EdkIIGlueLib/Library/DxeReportStatusCodeLib/ReportStatusCodeLib.c | 2 +- .../EdkIIGlueLib/Library/PeiReportStatusCodeLib/ReportStatusCodeLib.c | 2 +- .../Library/SmmRuntimeDxeReportStatusCodeLib/ReportStatusCodeLib.c | 2 +- EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ReportStatusCode.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeReportStatusCodeLib/ReportStatusCodeLib.c b/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeReportStatusCodeLib/ReportStatusCodeLib.c index a1c232dea0..fdd4619ca7 100644 --- a/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeReportStatusCodeLib/ReportStatusCodeLib.c +++ b/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeReportStatusCodeLib/ReportStatusCodeLib.c @@ -296,7 +296,7 @@ GlueReportStatusCodeExtractDebugInfo ( *ErrorLevel = DebugInfo->ErrorLevel; -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(__GNUC__) // This is non portable C code you can't assume VA_LIST is pointer return FALSE; #else diff --git a/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiReportStatusCodeLib/ReportStatusCodeLib.c b/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiReportStatusCodeLib/ReportStatusCodeLib.c index 29207e0f5b..16d6473c69 100644 --- a/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiReportStatusCodeLib/ReportStatusCodeLib.c +++ b/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiReportStatusCodeLib/ReportStatusCodeLib.c @@ -248,7 +248,7 @@ GlueReportStatusCodeExtractDebugInfo ( // The first 12 * UINTN bytes of the string are really an // argument stack to support varargs on the Format string. // -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(__GNUC__) // This is non portable C code you can't assume VA_LIST is pointer return FALSE; #else diff --git a/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/SmmRuntimeDxeReportStatusCodeLib/ReportStatusCodeLib.c b/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/SmmRuntimeDxeReportStatusCodeLib/ReportStatusCodeLib.c index ef16d4010d..c9835a432a 100644 --- a/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/SmmRuntimeDxeReportStatusCodeLib/ReportStatusCodeLib.c +++ b/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/SmmRuntimeDxeReportStatusCodeLib/ReportStatusCodeLib.c @@ -280,7 +280,7 @@ GlueReportStatusCodeExtractDebugInfo ( // The first 12 * UINTN bytes of the string are really an // argument stack to support varargs on the Format string. // -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(__GNUC__) // This is non portable C code you can't assume VA_LIST is pointer return FALSE; #else diff --git a/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ReportStatusCode.c b/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ReportStatusCode.c index 58d97ac7e1..b23b345ebc 100644 --- a/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ReportStatusCode.c +++ b/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ReportStatusCode.c @@ -332,7 +332,7 @@ Returns: // The first 12 * UINTN bytes of the string are really an // arguement stack to support varargs on the Format string. // -#if (defined (EFIARM) || defined (EFIAARCH64) || defined (__APPLE__)) +#if (defined (EFIARM) || defined (EFIAARCH64) || defined (__APPLE__) || defined (__GNUC__)) // It is not legal C code to cast VA_LIST to a pointer. VA_LIST can // be a structure. return FALSE; -- cgit v1.2.3