Ard Biesheuvel 78d706e235 StdLib/LibC: avoid LTO code for compiler intrinsics
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>
2016-08-09 10:08:35 +02:00

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