audk/StdLib/LibC
Ard Biesheuvel 1fbd0ca16a StdLib/LibC ARM AARCH64: do not redefine compiler intrinsics
The memset() function is a compiler intrinsic on AARCH64 and ARM, and
so is memmove() on ARM. Usually, redefining them as LibC currently does
is not a problem since only one version will be selected at link time
from the various static libraries that provide implementations. However,
under LTO, this is slightly different, since explicit references (in the
C code) and implicit references (emitted by the compiler backend) may
resolve to different versions (LTO vs non-LTO), causing conflicts.

So simply omit them for ARM/AARCH64 resp. ARM.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2016-08-09 10:10:12 +02:00
..
CRT
Containers
Ctype
Locale StdLib: Clarify and improve comments. 2016-01-06 00:31:42 +00:00
Main StdLib/LibC: Provide missing ARM symbols 2015-07-30 09:50:58 +00:00
Math
NetUtil
Signal
Softfloat StdLib/LibC: avoid LTO code for compiler intrinsics 2016-08-09 10:08:35 +02:00
StdLib StdLib: Move libraries from ShellPkg into MdeModulePkg and MdePkg. 2015-01-13 23:35:33 +00:00
Stdio
String StdLib/LibC ARM AARCH64: do not redefine compiler intrinsics 2016-08-09 10:10:12 +02:00
Time
Uefi StdLib: Fix compilation errors caused by previous commit of daConsole.c 2016-01-10 21:23:51 +00:00
Wchar
gdtoa StdLib: Add support for AArch64 2015-07-30 09:51:04 +00:00
LibC.inf StdLib/LibC: avoid LTO code for compiler intrinsics 2016-08-09 10:08:35 +02:00