aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/CommandLine.cpp
diff options
context:
space:
mode:
authorDaniel Paoliello <danpao@microsoft.com>2025-09-18 09:24:34 -0700
committerGitHub <noreply@github.com>2025-09-18 09:24:34 -0700
commit4fabe6ffae885bddc52500ad59bc535febfaa494 (patch)
tree2cced811318dbb9b096d78a347861a7d7798798c /llvm/lib/Support/CommandLine.cpp
parent8b9c70dcdbc80f01945c6560232717afd228d532 (diff)
downloadllvm-4fabe6ffae885bddc52500ad59bc535febfaa494.zip
llvm-4fabe6ffae885bddc52500ad59bc535febfaa494.tar.gz
llvm-4fabe6ffae885bddc52500ad59bc535febfaa494.tar.bz2
Use internal linkage for __NoopCoro_ResumeDestroy (#159407)
`__NoopCoro_ResumeDestroy` currently has private linkage, which causes [issues for Arm64EC](https://github.com/llvm/llvm-project/issues/158341). The Arm64EC lowering is trying to mangle and add thunks for `__NoopCoro_ResumeDestroy`, since it sees that it's address is taken (and, therefore, might be called from x64 code via a function pointer). MSVC's linker requires that the function be placed in COMDAT (`LNK1361: non COMDAT symbol '.L#__NoopCoro_ResumeDestroy' in hybrid binary`) which trips an assert in the verifier (`comdat global value has private linkage`) and the subsequent linking step fails since the private symbol isn't in the symbol table. Since there is no reason to use private linkage for `__NoopCoro_ResumeDestroy` and other coro related functions have also been [switched to internal linkage to improve debugging](https://github.com/llvm/llvm-project/pull/151224), this change switches to using internal linkage. Fixes #158341
Diffstat (limited to 'llvm/lib/Support/CommandLine.cpp')
0 files changed, 0 insertions, 0 deletions