aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorShoaib Meenai <smeenai@fb.com>2022-08-22 22:55:41 +0300
committerShoaib Meenai <smeenai@fb.com>2022-08-27 14:54:34 +0500
commita745e47900dde15c180d5caea7a1d292ca809eb1 (patch)
tree3cd1e31cb26441a9c09510b752c2bf13b9e1c57d /clang/lib/Basic/SourceManager.cpp
parentaf14c41d070f10f94a94016723f772b3920d8719 (diff)
downloadllvm-a745e47900dde15c180d5caea7a1d292ca809eb1.zip
llvm-a745e47900dde15c180d5caea7a1d292ca809eb1.tar.gz
llvm-a745e47900dde15c180d5caea7a1d292ca809eb1.tar.bz2
[MachO] Fix dead-stripping __eh_frame
This section is marked S_ATTR_LIVE_SUPPORT in input files, which meant that on arm64, we were unnecessarily preserving FDEs if we e.g. had multiple weak definitions for a function. Worse, we would actually produce an invalid `__eh_frame` section in that case, because the CIE associated with the unnecessary FDE would still get dead-stripped and we'd end up with a dangling FDE. We set up associations from functions to their FDEs, so dead-stripping will just work naturally, and we can clear S_ATTR_LIVE_SUPPORT from our input `__eh_frame` sections to fix dead-stripping. Reviewed By: #lld-macho, int3 Differential Revision: https://reviews.llvm.org/D132489
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions