X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=StdLib%2FStdLib.inc;h=8837e04b4f3554473e2695467eb9f098bd013e49;hb=72259647d0f2eeff65781bc1013674fbd9fd6aa2;hp=c2cf12856b752513defe051dc2bf092f36f0247e;hpb=41b152c5f6ec3a5a6e51b4f8f0f90291a5895edc;p=mirror_edk2.git
diff --git a/StdLib/StdLib.inc b/StdLib/StdLib.inc
index c2cf12856b..8837e04b4f 100644
--- a/StdLib/StdLib.inc
+++ b/StdLib/StdLib.inc
@@ -5,7 +5,8 @@
# The including DSC file must DEFINE the EMULATE macro if
# the application is to be run in an emulation environment.
#
-# Copyright (c) 2011, Intel Corporation. All rights reserved.
+# Copyright (c) 2016, Daryl McDaniel. All rights reserved.
+# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -25,6 +26,11 @@
UseSocketDxe|StdLib/UseSocketDxe/UseSocketDxe.inf
[LibraryClasses.Common.UEFI_APPLICATION]
+ ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
+
#
# C Standard Libraries
#
@@ -44,49 +50,42 @@
LibNetUtil|StdLib/LibC/NetUtil/NetUtil.inf
# Additional libraries for POSIX functionality.
+ LibPosix|StdLib/PosixLib/PosixLib.inf # Combines LibErr, LibGen, LibGlob, LibStringlist, GetPass into one library
+
LibErr|StdLib/PosixLib/Err/LibErr.inf
LibGen|StdLib/PosixLib/Gen/LibGen.inf
LibGlob|StdLib/PosixLib/Glob/LibGlob.inf
LibStringlist|StdLib/PosixLib/Stringlist/LibStringlist.inf
+ LibIIO|StdLib/LibC/Uefi/InteractiveIO/IIO.inf
+
+# Additional, non-standard, libraries
+ LibContainer|StdLib/LibC/Containers/ContainerLib.inf
# Libraries for device abstractions within the Standard C Library
# Applications should not directly access any functions defined in these libraries.
LibGdtoa|StdLib/LibC/gdtoa/gdtoa.inf
DevConsole|StdLib/LibC/Uefi/Devices/daConsole.inf
- DevShell|StdLib/LibC/Uefi/Devices/daShell.inf
+ DevShell|StdLib/LibC/Uefi/Devices/daShell.inf # DEPRECATED! Please use DevMedia for new code.
+ DevMedia|StdLib/LibC/Uefi/Devices/daShell.inf
DevUtility|StdLib/LibC/Uefi/Devices/daUtility.inf
-###
-# Select the correct TimerLib instance depending upon whether running under
-# an emulation environment, or not.
-!ifndef $(EMULATE)
- # Not running in an Emulation Environment
-[LibraryClasses.IA32.UEFI_APPLICATION]
- TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-# TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf
-
-[LibraryClasses.X64.UEFI_APPLICATION]
- TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-# TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf
-
-[LibraryClasses.IPF.UEFI_APPLICATION]
- PalLib|MdePkg/Library/UefiPalLib/UefiPalLib.inf
- TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf
-
-[LibraryClasses.ARM.UEFI_APPLICATION]
- NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
- TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
+ LuaLib|AppPkg/Applications/Lua/LuaLib.inf # Lua language library
+[LibraryClasses.ARM]
+ NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
+ NULL|StdLib/LibC/Softfloat/Softfloat.inf
-!else
- # Use this instance if Running in an Emulation Environment.
-[LibraryClasses.Common.UEFI_APPLICATION]
- TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
+ # Add support for GCC stack protector
+ NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
-[LibraryClasses.ARM.UEFI_APPLICATION]
+[LibraryClasses.AArch64]
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
-!endif
+ # Use the softfloat library to cover missing hardfloat operations.
+ NULL|StdLib/LibC/Softfloat/Softfloat.inf
+
+ # Add support for GCC stack protector
+ NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
[Components]
# BaseLib and BaseMemoryLib need to be built with the /GL- switch when using the Microsoft
@@ -116,21 +115,31 @@
#
[BuildOptions]
-!ifndef $(EMULATE)
- # These Build Options are used when building the Standard Libraries to be run
- # on real hardware.
- INTEL:*_*_*_CC_FLAGS = /Qfreestanding
- MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /D NT32dvm
- GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib
- RVCT:*_*_*_CC_FLAGS = --library_interface=none -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm -DNT32dvm
- ARMGCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length -DNT32dvm
+!ifdef $(EMULATE)
+ # The Build Options, below, are only used when building the Standard Libraries
+ # to be run under an emulation environment; such as NT32Pkg.
+ # 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
+ XCODE:*_*_*_CC_FLAGS = -O0 -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 the clock() system call
- # which is currently incompatible with the most emulation environments.
- # Select the correct TimerLib instance, above.
- INTEL:*_*_IA32_CC_FLAGS = /Od /D NT32dvm
- MSFT:*_*_IA32_CC_FLAGS = /Od /D NT32dvm
- GCC:*_*_IA32_CC_FLAGS = -O0 -DNT32dvm
+ # 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
+ XCODE:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized
!endif
+
+ # Temporarily restrict compiler warnings to those produced by VS2012.
+ # Code that fails when these flags are removed will have to be rewritten
+ # in order to pass. This may be as simple as renaming an object, but may
+ # require more significant changes.
+ MSFT:*_VS2015_*_CC_FLAGS = /Wv:11
+ MSFT:*_VS2015x86_*_CC_FLAGS = /Wv:11
+ MSFT:*_VS2015xASL_*_CC_FLAGS = /Wv:11
+ MSFT:*_VS2015x86xASL_*_CC_FLAGS = /Wv:11