X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=StdLib%2FStdLib.inc;h=8837e04b4f3554473e2695467eb9f098bd013e49;hb=6e2d15e3c4ab24ce94a36aab5e2b67715d42f958;hp=5446ecd35f45d67583c73c50655308d9c8e5a08b;hpb=c614ca505dd2947acbd111e2764056aeac2012ad;p=mirror_edk2.git diff --git a/StdLib/StdLib.inc b/StdLib/StdLib.inc index 5446ecd35f..8837e04b4f 100644 --- a/StdLib/StdLib.inc +++ b/StdLib/StdLib.inc @@ -4,6 +4,16 @@ # # The including DSC file must DEFINE the EMULATE macro if # the application is to be run in an emulation environment. +# +# 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 +# http://opensource.org/licenses/bsd-license. +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. ################################################################ ########## @@ -16,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 # @@ -35,47 +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|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf - -[LibraryClasses.X64.UEFI_APPLICATION] - TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf - -[LibraryClasses.IPF.UEFI_APPLICATION] - PalLib|MdePkg/Library/UefiPalLib/UefiPalLib.inf - TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf + LuaLib|AppPkg/Applications/Lua/LuaLib.inf # Lua language library -[LibraryClasses.ARM.UEFI_APPLICATION] +[LibraryClasses.ARM] NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf - TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf + NULL|StdLib/LibC/Softfloat/Softfloat.inf + # Add support for GCC stack protector + NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf -!else - # Use this instance if Running in an Emulation Environment. -[LibraryClasses.Common.UEFI_APPLICATION] - TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.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 @@ -105,23 +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 - 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