audk/ArmPkg
Ard Biesheuvel e1458aaded ArmPkg: add prebuilt glue binaries for GCC5 LTO support
GCC in LTO mode interoperates poorly with non-standard libraries that
provide implementations of compiler intrinsics such as memcpy/memset
or the stack protector entry points. Such libraries need to be built
in non-LTO mode, and then referenced explicitly on the linker command
line using a -plugin-opt=-pass-through=-lxxx linker option.

However, if these intrinsics are also referenced directly, the LTO
version of the code will be pulled in, and will happily satisfy all
other references to the same symbol.

So add a pair of glue libraries, for ARM and AARCH64, that reference
the known intrinsics. Since the binaries live under ArmPkg directly,
we can reference them in tools_def.txt. Under LD garbage collection,
the object itself will be pruned, and so will the intrinsics that end
up unused by the module.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2016-08-02 10:53:57 +02:00
..
Application/LinuxLoader ArmPkg: LinuxLoader: fix typo in help string 2016-01-20 14:55:58 +00:00
Drivers ArmPkg/ArmGicLib: manage GICv3 SPI state at the distributor 2016-07-13 16:37:21 +02:00
Filesystem/SemihostFs ArmPkg/SemihostFs: Implement SetInfo() and handle seeking past the end of a file 2014-10-27 10:42:51 +00:00
Include ArmPkg: Add Cortex-A72 CPU type 2016-07-28 15:27:53 +01:00
Library ArmPkg: add prebuilt glue binaries for GCC5 LTO support 2016-08-02 10:53:57 +02:00
ArmPkg.dec ArmPkg: introduce ArmMmuLib library class 2016-07-07 14:33:47 +02:00
ArmPkg.dsc ArmPkg: ARM/AArch64 implementation of CpuExceptionHandlerLib 2016-03-16 12:19:58 +01:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
License.txt ArmPkg: Rectify file modes 2016-01-30 12:25:59 +00:00