diff options
author | Leonard Chan <leonardchan@google.com> | 2025-05-16 15:18:50 -0700 |
---|---|---|
committer | Leonard Chan <leonardchan@google.com> | 2025-05-16 15:38:22 -0700 |
commit | 286ab11dc65de8175e2bce69fd7e36acd3be7ce0 (patch) | |
tree | 1880a81e5109cf45294f391baac3dfaa3f656784 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 1fa8394e78cc0eb73a766bcae1ad76af7e3b84da (diff) | |
download | llvm-286ab11dc65de8175e2bce69fd7e36acd3be7ce0.zip llvm-286ab11dc65de8175e2bce69fd7e36acd3be7ce0.tar.gz llvm-286ab11dc65de8175e2bce69fd7e36acd3be7ce0.tar.bz2 |
Reapply "[llvm][CFI] Do not canonicalize COFF functions in a comdat (#139962)"
This reapplies 33684ac9be4892579f63a8e2b67080419426cf98 with appropriate
requires on tests.
COFF requires that a function exists with the same name as a comdat. Not
having this key function results in `LLVM ERROR: Associative COMDAT
symbol '...' does not exist.` CFI by default will attempt to
canonicalize a function by appending `.cfi` to its name which allows
external references to refer to the new canonical alias, but it does not
change the comdat name. We can change the comdat name since symbol and
comdat resolution occurs before LTO, so we already know which symbols
are prevailing.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions