From c21e7a7832f76260a27c5bde30f9593355909279 Mon Sep 17 00:00:00 2001 From: Andrew Fish Date: Tue, 9 Sep 2014 21:59:08 +0000 Subject: [PATCH] StdLib: Changes needed to support XCODE5 I had to make the following changes to make this build work: >build -p AppPkg/AppPkg.dsc -a X64 -t XCODE5 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Andrew Fish Reviewed-by: Daryl McDaniel git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16081 6f19259b-4bc3-4df7-8a09-765794883524 --- StdLib/Include/sys/cdefs_aout.h | 10 +++++----- StdLib/LibC/StdLib/Environs.c | 2 +- StdLib/StdLib.inc | 22 ++++++++++++---------- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/StdLib/Include/sys/cdefs_aout.h b/StdLib/Include/sys/cdefs_aout.h index 274991875a..2eb0a90266 100644 --- a/StdLib/Include/sys/cdefs_aout.h +++ b/StdLib/Include/sys/cdefs_aout.h @@ -44,12 +44,12 @@ #define __weak_extern(sym) /* NOTHING */ #define __weak_reference(sym) /* NOTHING */ - #if !defined(__CC_ARM) - #define __warn_references(sym,msg) \ - __asm(".stabs \"" msg "\",30,0,0,0"); \ - __asm(".stabs \"_" #sym "\",1,0,0,0"); - #else + #if defined(__CC_ARM) || defined(__APPLE__) #define __warn_references(sym,msg) + #else + #define __warn_references(sym,msg) \ + __asm(".stabs \"" msg "\",30,0,0,0"); \ + __asm(".stabs \"_" #sym "\",1,0,0,0"); #endif #endif #else /* __STDC__ */ diff --git a/StdLib/LibC/StdLib/Environs.c b/StdLib/LibC/StdLib/Environs.c index 40807279c9..15221a1260 100644 --- a/StdLib/LibC/StdLib/Environs.c +++ b/StdLib/LibC/StdLib/Environs.c @@ -120,7 +120,7 @@ _Exit(int status) longjmp(gMD->MainExit, 0x55); // Get out of here. longjmp can't return 0. Use 0x55 for a non-zero value. #ifdef __GNUC__ - __builtin__Exit(status); /* Keep GCC happy - never reached */ + _Exit(status); /* Keep GCC happy - never reached */ #endif } diff --git a/StdLib/StdLib.inc b/StdLib/StdLib.inc index 6bdbb6fece..60f4cc4d1c 100644 --- a/StdLib/StdLib.inc +++ b/StdLib/StdLib.inc @@ -105,19 +105,21 @@ !ifndef $(EMULATE) # These Build Options are used when building the Standard Libraries to be run # on real hardware. - INTEL:*_*_*_CC_FLAGS = /Qfreestanding /D UEFI_C_SOURCE - MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /D UEFI_C_SOURCE - GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE - RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm - ARMGCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length + INTEL:*_*_*_CC_FLAGS = /Qfreestanding /D UEFI_C_SOURCE + MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /D UEFI_C_SOURCE + GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE + RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm + ARMGCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length + XCODE:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized !else # The Build Options, below, are only used when building the Standard Libraries # to be run under an emulation environment. # They disable optimization which facillitates debugging under the Emulation environment. - INTEL:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE - MSFT:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE - GCC:*_*_IA32_CC_FLAGS = -O0 -DUEFI_C_SOURCE - RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm - ARMGCC:*_*_*_CC_FLAGS = -O0 -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length + INTEL:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE + MSFT:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE + GCC:*_*_IA32_CC_FLAGS = -O0 -DUEFI_C_SOURCE + RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm + ARMGCC:*_*_*_CC_FLAGS = -O0 -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length + XCODE:*_*_*_CC_FLAGS = -O0 -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized !endif -- 2.39.2