[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