aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorJez Ng <jezng@fb.com>2022-12-23 14:50:58 -0500
committerJez Ng <jezng@fb.com>2022-12-23 14:51:19 -0500
commit61f94f2768e6b74beb91b96b03630bbf72b9bfaa (patch)
treea14b304b25f04144f9ec8de0f53b835fa4d6bd5d /llvm/tools/llvm-objdump/llvm-objdump.cpp
parent7f60ed12effade437028b938ea463f37020f89fd (diff)
downloadllvm-61f94f2768e6b74beb91b96b03630bbf72b9bfaa.zip
llvm-61f94f2768e6b74beb91b96b03630bbf72b9bfaa.tar.gz
llvm-61f94f2768e6b74beb91b96b03630bbf72b9bfaa.tar.bz2
[lld-macho] Only fold private-label aliases that do not have flags
This will enable us to re-land {D139069}. The issue with the original diff was that we were folding all private-label symbols. We were not merging the symbol flags during this folding; instead we just made all references to the folded symbol point to its aliasee. This caused some flags to be incorrectly discarded. This surfaced as code that was incorrectly stripped due to LLD dropping the `.no_dead_strip` flag. This diff fixes things by only folding flag-less private-label aliases. Most (maybe all) of the `ltmp<N>` symbols that are generated by the MC aarch64 backend are flag-less, so this conservative folding behavior does the job. Reviewed By: #lld-macho, thakis Differential Revision: https://reviews.llvm.org/D140606
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions