The softfloat routines and some other routines supplied by LibC will satisfy references to compiler intrinsics that are emitted by the compiler backend, which under LTO means that the link-time code generation may emit references to symbols that have been optimized away already. Work around this by building the ARM and AARCH64 versions of LibC and the softfloat library without LTO. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Michael Zimmermann <sigmaepsilon92@gmail.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
75 lines
2.0 KiB
INI
75 lines
2.0 KiB
INI
## @file
|
|
# Standard C library: Software floating point Library.
|
|
#
|
|
# Copyright (c) 2014, ARM Ltd. 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.php.
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = LibSoftfloat
|
|
FILE_GUID = e9f4b929-ee33-4b70-8e90-17d283af508c
|
|
MODULE_TYPE = UEFI_APPLICATION
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = LibSoftfloat
|
|
|
|
#
|
|
# VALID_ARCHITECTURES = ARM AARCH64
|
|
#
|
|
|
|
# Only tested with GCC
|
|
# Look at the Makefile.inc file from NetBSD to see how to build
|
|
|
|
[Sources.ARM]
|
|
bits32/softfloat.c
|
|
Arm/__aeabi_dcmpeq.c
|
|
Arm/__aeabi_fcmpeq.c
|
|
Arm/__aeabi_dcmpge.c
|
|
Arm/__aeabi_fcmpge.c
|
|
Arm/__aeabi_dcmpgt.c
|
|
Arm/__aeabi_fcmpgt.c
|
|
Arm/__aeabi_dcmple.c
|
|
Arm/__aeabi_fcmple.c
|
|
Arm/__aeabi_dcmplt.c
|
|
Arm/__aeabi_fcmplt.c
|
|
Arm/__aeabi_dcmpun.c
|
|
Arm/__aeabi_fcmpun.c
|
|
|
|
[Sources.AARCH64]
|
|
bits64/softfloat.c
|
|
eqtf2.c
|
|
getf2.c
|
|
gttf2.c
|
|
letf2.c
|
|
lttf2.c
|
|
netf2.c
|
|
|
|
[Sources]
|
|
fpgetround.c
|
|
fpsetround.c
|
|
fpgetmask.c
|
|
fpsetmask.c
|
|
fpgetsticky.c
|
|
fpsetsticky.c
|
|
|
|
[Packages]
|
|
StdLib/StdLib.dec
|
|
StdLibPrivateInternalFiles/DoNotUse.dec
|
|
MdePkg/MdePkg.dec
|
|
|
|
################################################################
|
|
# The Build Options, below, are only used when building the C library.
|
|
# DO NOT use them when building your application!
|
|
# Nasty things could happen if you do.
|
|
|
|
[BuildOptions]
|
|
GCC:*_*_*_CC_FLAGS = -DSOFTFLOAT_FOR_GCC -Wno-enum-compare -fno-tree-vrp -fno-lto
|