[Bug 229050] [meta] lld linker migration tracking PR
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Jul 31 15:25:25 UTC 2018
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229050
--- Comment #4 from commit-hook at freebsd.org ---
A commit references this bug:
Author: emaste
Date: Tue Jul 31 15:25:03 UTC 2018
New revision: 336972
URL: https://svnweb.freebsd.org/changeset/base/336972
Log:
lld: [ELF][ARM] Implement support for Tag_ABI_VFP_args
The Tag_ABI_VFP_args build attribute controls the procedure call
standard used for floating point parameters on ARM. The values are:
0 - Base AAPCS (FP Parameters passed in Core (Integer) registers
1 - VFP AAPCS (FP Parameters passed in FP registers)
2 - Toolchain specific (Neither Base or VFP)
3 - Compatible with all (No use of floating point parameters)
If the Tag_ABI_VFP_args build attribute is missing it has an implicit
value of 0.
We use the attribute in two ways:
* Detect a clash in calling convention between Base, VFP and Toolchain.
we follow ld.bfd's lead and do not error if there is a clash between an
implicit Base AAPCS caused by a missing attribute. Many projects
including the hard-float (VFP AAPCS) version of glibc contain assembler
files that do not use floating point but do not have Tag_ABI_VFP_args.
* Set the EF_ARM_ABI_FLOAT_SOFT or EF_ARM_ABI_FLOAT_HARD ELF header flag
for Base or VFP AAPCS respectively. This flag is used by some ELF
loaders.
References:
* Addenda to, and Errata in, the ABI for the ARM Architecture for
Tag_ABI_VFP_args
* Elf for the ARM Architecture for ELF header flags
Fixes LLVM PR36009
PR: 229050
Obtained from: llvm r338377 by Peter Smith
Changes:
head/contrib/llvm/tools/lld/ELF/Arch/ARM.cpp
head/contrib/llvm/tools/lld/ELF/Config.h
head/contrib/llvm/tools/lld/ELF/InputFiles.cpp
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list