summaryrefslogtreecommitdiffstats
path: root/StdLib
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2016-08-08 12:46:50 +0200
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2016-08-09 10:08:35 +0200
commit78d706e23512435c8166afe88600c4de493e0e68 (patch)
treea915fc104b19ef6cf9b1c188dc53d6d6c9e2a4d4 /StdLib
parent0f73cca02b645267cb11ab8ddf1ba88af5ec3246 (diff)
downloadedk2-78d706e23512435c8166afe88600c4de493e0e68.tar.gz
edk2-78d706e23512435c8166afe88600c4de493e0e68.tar.bz2
edk2-78d706e23512435c8166afe88600c4de493e0e68.zip
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>
Diffstat (limited to 'StdLib')
-rw-r--r--StdLib/LibC/LibC.inf1
-rw-r--r--StdLib/LibC/Softfloat/Softfloat.inf2
2 files changed, 2 insertions, 1 deletions
diff --git a/StdLib/LibC/LibC.inf b/StdLib/LibC/LibC.inf
index f136306485..6039bb81c7 100644
--- a/StdLib/LibC/LibC.inf
+++ b/StdLib/LibC/LibC.inf
@@ -120,3 +120,4 @@
#
[BuildOptions]
MSFT:*_*_IA32_CC_FLAGS = /GL-
+ GCC:*_*_ARM_CC_FLAGS = -fno-lto
diff --git a/StdLib/LibC/Softfloat/Softfloat.inf b/StdLib/LibC/Softfloat/Softfloat.inf
index 99763bcb57..460406c38f 100644
--- a/StdLib/LibC/Softfloat/Softfloat.inf
+++ b/StdLib/LibC/Softfloat/Softfloat.inf
@@ -71,4 +71,4 @@
# Nasty things could happen if you do.
[BuildOptions]
- GCC:*_*_*_CC_FLAGS = -DSOFTFLOAT_FOR_GCC -Wno-enum-compare -fno-tree-vrp
+ GCC:*_*_*_CC_FLAGS = -DSOFTFLOAT_FOR_GCC -Wno-enum-compare -fno-tree-vrp -fno-lto