Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Ard Biesheuvel 41203b9ab5 BaseTools/tools_def ARM: use softfloat target for CLANG3x
The 'arm-linux-gnueabihf' target triplet we use for CLANG35 and
CLANG38 specifies a hardfloat target, and so the binaries that are
emitted are annotated as using VFP registers for passing floating
point arguments, even though no VFP is used anywhere in the code.

This works fine as long as we don't try to link against code
that uses software floating point, but combining object files
with different floating point calling conventions is not permitted.

So switch to the softfloat arm-linux-gnueabi triplet instead.
This affects both the name Clang uses when invoking the linker,
and the arguments it passes to it, and we are mostly interested
in the latter (since any version of GNU ld.bfd will do the right
thing as long as it targets EABI ARM)

For native builds, this change has no effect, since the unprefixed
system linker will take priority, and so Clang will pass the right
arguments to whichever linker happens to be the system linker.

For cross builds, the fact that Clang composes the name of the
linker by prefixing '-ld' with the target triplet implies that
users will have to switch to a version of binutils that targets
arm-linux-gnueabi rather than arm-linux-gnueabihf. Note that the
GCCx toolchain targets can use either when building for ARM so this
does not create a need to install two versions of the ARM cross
toolchain. Also, note that all ARM toolchains in the GCC family
are already documented as requiring a toolchain that targets
arm-linux-gnueabi and not arm-linux-gnueabihf.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2018-12-23 15:56:02 +01:00
AppPkg AppPkg: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:35 +08:00
ArmPkg ArmPkg/ArmScmiDxe: Add clock enable function 2018-12-21 18:30:46 +01:00
ArmPlatformPkg ArmPlatformPkg/PL011SerialPortLib: use untyped PCD for register base 2018-12-20 18:34:08 +01:00
ArmVirtPkg ArmVirtPkg/MemoryInitPeiLib: split memory HOB based on MAX_ALLOC_ADDRESS 2018-12-20 11:02:40 +01:00
BaseTools BaseTools/tools_def ARM: use softfloat target for CLANG3x 2018-12-23 15:56:02 +01:00
BeagleBoardPkg EmbeddedPkg: remove GdbDebugAgent library 2018-12-19 16:29:29 +01:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg: Removing ipf from edk2. 2018-08-14 08:58:28 +08:00
CorebootPayloadPkg CorebootPayloadPkg: Remove EdkShellBinPkg in FDF 2018-11-05 13:58:24 +08:00
CryptoPkg Upgrade OpenSSL to 1.1.0j 2018-12-21 10:07:42 +08:00
EdkCompatibilityPkg EdkCompatibilityPkg: Removing ipf from edk2. 2018-09-25 23:43:46 +08:00
EmbeddedPkg EmbeddedPkg: remove GdbDebugAgent library 2018-12-19 16:29:29 +01:00
EmulatorPkg EmulatorPkg: Remove EdkShellBinPkg in FDF and DEC 2018-11-19 10:50:15 +08:00
FatPkg FatPkg: Correct the line ending to CRLF 2018-10-24 15:22:31 +08:00
FmpDevicePkg FmpDevicePkg DSC: Add NOOPT target to verify NOOPT target 2018-10-31 22:08:10 +08:00
IntelFrameworkModulePkg IntelFrameworkModulePkg: Fix UEFI and Tiano Decompression logic issue 2018-11-11 11:48:37 +08:00
IntelFrameworkPkg IntelFrameworkPkg FrameworkUefiLib: Add new EfiLocateXXXAcpiTable APIs 2018-09-27 14:25:32 +08:00
IntelFsp2Pkg IntelFsp2Pkg: Fixed potentially NULL pointer accessing 2018-10-29 11:24:58 +08:00
IntelFsp2WrapperPkg IntelFsp2WrapperPkg: Fix constant if statements issue 2018-11-26 11:40:38 +08:00
IntelFspPkg edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
IntelFspWrapperPkg edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
IntelSiliconPkg IntelSiliconPkg VTdDxe: Report status code for VTd error 2018-10-25 11:50:49 +08:00
MdeModulePkg MdeModulePkg/Dxe/Page: take MAX_ALLOC_ADDRESS into account 2018-12-20 11:01:58 +01:00
MdePkg MdePkg/Arm/ProcessorBind.h: fix copy/paste error 2018-12-20 12:29:57 +01:00
NetworkPkg NetworkPkg/IScsiDxe: add debug logs for failed SetVariable attempts 2018-11-23 14:27:11 +08:00
Nt32Pkg Nt32Pkg: Remove EdkShellBinPkg in FDF and DEC 2018-11-19 10:50:15 +08:00
Omap35xxPkg Omap35xxPkg: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:46 +08:00
OptionRomPkg OptionRomPkg: Removing ipf which is no longer supported from edk2. 2018-09-06 14:44:30 +08:00
OvmfPkg OvmfPkg: Remove PcdPeiCoreMaxXXX PCDs' statement 2018-12-19 12:33:32 +08:00
PcAtChipsetPkg PcAtChipsetPkg PcRtc: Use new EfiLocateFirstAcpiTable() 2018-09-27 14:25:35 +08:00
QuarkPlatformPkg QuarkPlatformPkg: Removing ipf which is no longer supported from edk2. 2018-08-14 08:58:30 +08:00
QuarkSocPkg QuarkSocPkg: Removing ipf which is no longer supported from edk2. 2018-08-14 08:58:32 +08:00
SecurityPkg SecurityPkg Tcg(2)Pei: Remove the using of PcdPeiCoreMaxFvSupported 2018-12-19 12:33:28 +08:00
ShellBinPkg ShellBinPkg: Clean up source files 2018-06-28 11:19:51 +08:00
ShellPkg ShellPkg/UefiShellDebug1CommandsLib: Remove the unused function CharToUpper 2018-12-18 11:38:51 +08:00
SignedCapsulePkg SignedCapsulePkg: Remove PalLib in dsc which was missed at 52664c5 2018-09-25 23:40:40 +08:00
SourceLevelDebugPkg SourceLevelDebugPkg/Readme.txt: Update UDK Debugger Tool & manual URL 2018-11-08 12:00:34 +08:00
StandaloneMmPkg StandaloneMM: Update permissions for Standalone MM drivers memory area 2018-12-09 16:01:53 +00:00
StdLib StdLib: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:51 +08:00
StdLibPrivateInternalFiles StdLibPrivateInternalFiles: Removing ipf from edk2. 2018-06-29 16:19:51 +08:00
UefiCpuPkg UefiCpuPkg/CpuExceptionHandlerLib: Fix spelling issue 2018-12-21 09:51:18 +08:00
Vlv2DeviceRefCodePkg edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg: Remove PcdPeiCoreMaxXXX PCDs' statement 2018-12-19 12:34:19 +08:00
.gitignore edk2: Add .DS_Store to .gitignore for macOS 2017-05-19 15:14:34 -07:00
.gitmodules CryptoPkg: Adding OpenSSL as one submodule of EDKII repo 2018-01-18 14:06:15 +08:00
BuildNotes2.txt BaseTools: Updated BuildNotes URLs 2016-03-25 09:46:44 +08:00
Contributions.txt edk2: Fix typo in Contributions.txt 2017-08-16 17:50:44 +08:00
License.txt edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
Maintainers.txt Maintainers.txt: Change DynamicTablesPkg maintainer 2018-12-21 17:26:36 +00:00
Readme.md Readme.md: Add edk2 release tag and edk2 release plan 2018-12-20 23:31:47 +08:00
edksetup.bat BaseTools: Fix incorrect %EDK_TOOLS_PATH% 2018-08-08 08:44:22 +08:00
edksetup.sh Revert BaseTools: PYTHON3 migration 2018-10-15 08:29:14 +08:00

Readme.md

EDK II Project

A modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications from www.uefi.org.

Contributions to the EDK II open source project are covered by the TianoCore Contribution Agreement 1.1

The majority of the content in the EDK II open source project uses a BSD 2-Clause License. The EDK II open source project contains the following components that are covered by additional licenses:

The EDK II Project is composed of packages. The maintainers for each package are listed in Maintainers.txt.

Resources