commit | 593c05d97da51ef03ff3aa04421ce9651a5165eb | [log] [tgz] |
---|---|---|
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | Thu Dec 10 14:06:49 2020 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Sun Jan 03 12:52:40 2021 -0800 |
tree | ca4def4446a0249a69a595b074265dcaaee07851 | |
parent | 003c4fdde0c8dc071e17c3e6674e0548c39840ef [diff] |
[lld] [ELF] AArch64: Handle DT_AARCH64_VARIANT_PCS As indicated by AArch64 ELF specification, symbols with st_other marked with STO_AARCH64_VARIANT_PCS indicates it may follow a variant procedure call standard with different register usage convention (for instance SVE calls). Static linkers must preserve the marking and propagate it to the dynamic symbol table if any reference or definition of the symbol is marked with STO_AARCH64_VARIANT_PCS, and add a DT_AARCH64_VARIANT_PCS dynamic tag if there are R_<CLS>_JUMP_SLOT relocations that reference that symbols. It implements https://bugs.llvm.org/show_bug.cgi?id=48368. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D93045 GitOrigin-RevId: 978eb3b87bca0837d52d096c343fc70b06d9a04d
This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.
lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.
In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.
It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz
The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f.