You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After upgrading to libffi 3.4.81 (we skipped 3.4.7 release because of a breakage in Clang build in upstream), libLLVM-19.so in our AArch64 port isn't functional anymore, breaking Clang and our base-devel.
An unresolved symbol, __clear_cache, shows up when ldd on the shared library,
It's found that the symbol is actually exported by libffi.so. Bisecting suggests commit 593cb01 (Add mold linker to linker checks. (#866), 2024-12-13), which makes the buildscript correctly recognizes mold linker and enables versionscript support by default, removes the symbol since it's not listed in the script. This should be the correct behavior.
It's still unknown why __clear_cache used in libLLVM-19.so, which is implemented in compiler-rt, resolves to the symbol provided by libffi.
This introduces an ABI change in the dependency graph of our base-devel (libffi removes some symbol) and requires manual transition. Before figuring out the root cause, let's disable version script in libffi to workaround the ABI issue.
The text was updated successfully, but these errors were encountered:
After upgrading to libffi 3.4.81 (we skipped 3.4.7 release because of a breakage in Clang build in upstream), libLLVM-19.so in our AArch64 port isn't functional anymore, breaking Clang and our base-devel.
An unresolved symbol,
__clear_cache
, shows up when ldd on the shared library,It's found that the symbol is actually exported by libffi.so. Bisecting suggests commit 593cb01 (Add mold linker to linker checks. (#866), 2024-12-13), which makes the buildscript correctly recognizes mold linker and enables versionscript support by default, removes the symbol since it's not listed in the script. This should be the correct behavior.
It's still unknown why __clear_cache used in libLLVM-19.so, which is implemented in compiler-rt, resolves to the symbol provided by libffi.
This introduces an ABI change in the dependency graph of our base-devel (libffi removes some symbol) and requires manual transition. Before figuring out the root cause, let's disable version script in libffi to workaround the ABI issue.
The text was updated successfully, but these errors were encountered: