[libclc] Work around libclc-remangler ABI mismatch on RHEL 8#21403
Closed
wenju-he wants to merge 1 commit intointel:syclfrom
Closed
[libclc] Work around libclc-remangler ABI mismatch on RHEL 8#21403wenju-he wants to merge 1 commit intointel:syclfrom
wenju-he wants to merge 1 commit intointel:syclfrom
Conversation
intel/llvm nightly builds fail on RHEL 8.0 (GCC 7.5.0) due to an ABI mismatch in the host tool `libclc-remangler`. `libclc-remangler` links against Clang/LLVM libraries built with the host compiler, but the tool itself is built with the just-built Clang. This causes an ABI issue around `std::optional` parameter in `MemoryBuffer::getFileOrSTDIN`. As a workaround, replace the `getFileOrSTDIN` + `parseIR` buffer path with `llvm::parseIRFile(InputIRFilename, ...)`, avoiding the problematic interface. This is a temporary fix; the proper long-term solution is to move `libclc-remangler` out of libclc (runtime) or remove it.
Contributor
Author
|
revert in #21407 for safety. close this pr. |
wenju-he
added a commit
to wenju-he/llvm
that referenced
this pull request
Mar 9, 2026
Cherry-pick upstream commit a3a15f3 which moves libclc from LLVM_ALL_PROJECTS to LLVM_DEFAULT_RUNTIMES. Update configure, build and deploy to enable libclc runtime build. jira: CMPLRLLVM-73202 (cherry picked from commit f3962f6) Also cherry-pick from intel#21403 to w/a libclc-remangler ABI mismatch on RHEL 8. This PR is for sycl-web and I'll follow-up in sycl branch to remove libclc-remangler tool.
wenju-he
added a commit
to wenju-he/llvm
that referenced
this pull request
Mar 9, 2026
Cherry-pick upstream commit a3a15f3 which moves libclc from LLVM_ALL_PROJECTS to LLVM_DEFAULT_RUNTIMES. Update configure, build and deploy to enable libclc runtime build. jira: CMPLRLLVM-73202 (cherry picked from commit f3962f6) Also cherry-pick from intel#21403 to w/a libclc-remangler ABI mismatch on RHEL 8. This PR is temporary fix to unblock sycl-web and I'll follow-up in sycl branch to remove libclc-remangler tool.
sarnex
pushed a commit
that referenced
this pull request
Mar 10, 2026
Cherry-pick upstream commit a3a15f3 which moves libclc from LLVM_ALL_PROJECTS to LLVM_DEFAULT_RUNTIMES. Update configure, build and deploy to enable libclc runtime build. jira: CMPLRLLVM-73202 (cherry picked from commit f3962f6) Also cherry-pick from #21403 to w/a libclc-remangler ABI mismatch on RHEL 8. This PR is temporary fix to unblock sycl-web and I'll follow-up in sycl branch to remove libclc-remangler tool.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix libclc runtime regression from f3962f6 (CMPLRLLVM-73868).
intel/llvm nightly builds fail on RHEL 8.0 with GCC 7.5.0 due to an ABI mismatch in the host tool
libclc-remangler.libclc-remanglerlinks against Clang/LLVM libraries built with the host compiler, but the tool itself is built with the just-built Clang. This causes an ABI issue aroundstd::optionalparameter inMemoryBuffer::getFileOrSTDIN.As a workaround, replace the
getFileOrSTDIN+parseIRbuffer path withllvm::parseIRFile(InputIRFilename, ...), avoiding the problematic interface.This is a temporary fix; the proper long-term solution is to move
libclc-remanglerout of libclc (runtime) or remove it.