aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-cov/SourceCoverageViewText.cpp
diff options
context:
space:
mode:
authorXing Xue <xingxue@outlook.com>2024-10-19 18:41:06 -0400
committerGitHub <noreply@github.com>2024-10-19 18:41:06 -0400
commitdde26e361f50df4b999ac117222c74f2c100f817 (patch)
tree004cd8ca02d4543cf5a0139d400f52b7f53f4872 /llvm/tools/llvm-cov/SourceCoverageViewText.cpp
parent2eb1699184cf4d5de69f7825f66d7b3c04827f77 (diff)
downloadllvm-dde26e361f50df4b999ac117222c74f2c100f817.zip
llvm-dde26e361f50df4b999ac117222c74f2c100f817.tar.gz
llvm-dde26e361f50df4b999ac117222c74f2c100f817.tar.bz2
[libunwind][AIX] Call dlclose only when dlsym() fails (#112768)
The personality routine `__xlcxx_personality_v0` in `libc++abi` is hard-coded in the unwinder as the handler for EH in applications generated by the legacy IBM C++ compiler. The symbol is resolved dynamically using `dlopen` to avoid a hard dependency of `libunwind` on `libc++abi` for cases such as non-C++ applications. However, `dlclose` was incorrectly called after `dlsym` succeeded, potentially invalidating the function pointer obtained from `dlsym` when the memory allocated for the `dlopen` is reclaimed. This PR changes to call `dlclose` only when `dlsym` fails.
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageViewText.cpp')
0 files changed, 0 insertions, 0 deletions