-
Notifications
You must be signed in to change notification settings - Fork 12.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[LLJIT] Symbols not found: [ llvm_orc_registerEHFrameSectionWrapper ] #74671
Comments
For anyone else dealing with this, I did find a workaround. I had to remove I still believe that requiring any LLVM exports breaks encapsulation and is very undesirable. |
Just wanted to add a vote to this issue. This problem is causing issues in Apache Arrow and is preventing me from upgrading our software which relies on Arrow. This has been open for a year now, are there any plans to fix it? |
After updating to LLVM 17 we started seeing the error in title when creating an LLJIT instance when running on Linux. After digging through the source code and reading issue #61712 I think I understand the issue.
Why must functions like llvm_orc_registerEHFrameSectionWrapper be exported and found via dlsym? This seems like a bad design decision.
Our use case is perhaps unique, but we must support multiple versions of LLVM being used in the same process simultaneously. We have one shared library using LLVM to generate executable code for a future HW product, and another shared library using LLVM (of a potentially different version) to translate that binary (using LLJIT) into something that can be executed by current HW. The second shared library (using LLJIT) is linked with -Wl,--exclude,ALL to prevent export of symbols from static libraries. Additionally, we load this library using dlopen with the RTLD_LOCAL flag. Either of these will break LLJIT on LLVM 17.
All of this worked fine for the last 7-8 years until LLVM 17.
Is there any kind of workaround we can do (in client code only) to prevent the use of dlsym when creating an LLJIT instance?
The text was updated successfully, but these errors were encountered: