aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Format/WhitespaceManager.cpp
diff options
context:
space:
mode:
authorJoseph Huber <35342157+jhuber6@users.noreply.github.com>2023-10-04 14:13:52 -0500
committerGitHub <noreply@github.com>2023-10-04 14:13:52 -0500
commit49d8a559d35b5b144d61c8d96b0538db7f719de4 (patch)
tree1f256518fe216d889b0ce90d87a855a4b7aceb14 /clang/lib/Format/WhitespaceManager.cpp
parentd688816627763c04ccf67b8522596f95f2400ca6 (diff)
downloadllvm-49d8a559d35b5b144d61c8d96b0538db7f719de4.zip
llvm-49d8a559d35b5b144d61c8d96b0538db7f719de4.tar.gz
llvm-49d8a559d35b5b144d61c8d96b0538db7f719de4.tar.bz2
[LinkerWrapper] Fix resolution of weak symbols during LTO (#68215)
Summary: Weak symbols are supposed to have the semantics that they can be overriden by a strong (i.e. global) definition. This wasn't being respected by the LTO pass because we simply used the first definition that was available. This patch fixes that logic by doing a first pass over the symbols to check for strong resolutions that could override a weak one. A lot of fake linker logic is ending up in the linker wrapper. If there were an option to handle this in `lld` it would be a lot cleaner, but unfortunately supporting NVPTX is a big restriction as their binaries require the `nvlink` tool.
Diffstat (limited to 'clang/lib/Format/WhitespaceManager.cpp')
0 files changed, 0 insertions, 0 deletions