[clang] [clang][ssaf] Fix plugin crash on AIX by adding `SUPPORT_PLUGINS` to `clang-ssaf-format` (PR #192292)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 15 10:17:53 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Aviral Goel (aviralg)
<details>
<summary>Changes</summary>
This change fixes a crash when running the `with-plugin.test` lit tests on AIX. The crash is caused by a missing `-Wl, -brtl` linker flag. Without this flag, the dynamic linker cannot resolve symbols from the host executable when loading shared libraries via `dlopen`. So when the plugin's static initializer runs and tries to register into the `llvm::Registry` (calling `getRegistryLinkListInstance` defined in the host via `LLVM_INSTANTIATE_REGISTRY`), the symbol resolves to `null`, crashing the process.
The fix is to use `SUPPORT_PLUGINS` flag in `add_llvm_executable`, like other tools in llvm. For AIX, this flag adds `-Wl, -brtl` to enable runtime linking; for Non-AIX platforms, it sets `LLVM_NO_DEAD_STRIP` to prevent the linker from stripping symbols that plugins reference at load time.
---
Full diff: https://github.com/llvm/llvm-project/pull/192292.diff
1 Files Affected:
- (modified) clang/tools/clang-ssaf-format/CMakeLists.txt (+5)
``````````diff
diff --git a/clang/tools/clang-ssaf-format/CMakeLists.txt b/clang/tools/clang-ssaf-format/CMakeLists.txt
index 5551dce34fc85..33ce432be3f4a 100644
--- a/clang/tools/clang-ssaf-format/CMakeLists.txt
+++ b/clang/tools/clang-ssaf-format/CMakeLists.txt
@@ -3,8 +3,13 @@ set(LLVM_LINK_COMPONENTS
Support
)
+if(CLANG_PLUGIN_SUPPORT)
+ set(support_plugins SUPPORT_PLUGINS)
+endif()
+
add_clang_tool(clang-ssaf-format
SSAFFormat.cpp
+ ${support_plugins}
)
clang_target_link_libraries(clang-ssaf-format
``````````
</details>
https://github.com/llvm/llvm-project/pull/192292
More information about the cfe-commits
mailing list