summaryrefslogtreecommitdiff
path: root/BaseTools/Scripts
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2016-07-18 12:19:34 +0200
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2016-08-02 10:53:57 +0200
commite1458aaded8e34b0c74c1a17ac1dc3765d97c082 (patch)
tree17018870aaa74ac762ad1f4acb0c5394427f3118 /BaseTools/Scripts
parenta1b8baccc30ba7c3911359e271b0e0a3ef56d501 (diff)
downloadedk2-platforms-e1458aaded8e34b0c74c1a17ac1dc3765d97c082.tar.xz
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>
Diffstat (limited to 'BaseTools/Scripts')
0 files changed, 0 insertions, 0 deletions