diff options
author | Alex Richardson <alexrichardson@google.com> | 2022-08-25 12:15:47 +0000 |
---|---|---|
committer | Alex Richardson <alexrichardson@google.com> | 2022-08-26 09:34:04 +0000 |
commit | 0483b008759b566984f040269b7a90210922a145 (patch) | |
tree | ff64263ace4c78cc34329bce1e5e6ac96fc2a153 /llvm/lib/CodeGen/CodeGen.cpp | |
parent | 5955edf8a453b4b8ff7d5dfff2db3adc27a36bc1 (diff) | |
download | llvm-0483b008759b566984f040269b7a90210922a145.zip llvm-0483b008759b566984f040269b7a90210922a145.tar.gz llvm-0483b008759b566984f040269b7a90210922a145.tar.bz2 |
Mark the $local function begin symbol as a function
While this does not matter for most targets, when building for Arm Morello,
we have to mark the symbol as a function and add size information, so that
LLD can correctly evaluate relocations against the local symbol.
Since Morello is an out-of-tree target, I tried to reproduce this with
in-tree backends and with the previous reviews applied this results in
a noticeable difference when targeting Thumb.
Background: Morello uses a method similar Thumb where the encoding mode is
specified in the LSB of the symbol. If we don't mark the target as a
function, the relocation will not have the LSB set and calls will end up
using the wrong encoding mode (which will almost certainly crash).
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D131429
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
0 files changed, 0 insertions, 0 deletions