[clang] [compiler-rt] [clang][driver][AIX] Change linker bcdtor mode to default to mbr (PR #191265)

Wael Yehia via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 12 21:23:57 PDT 2026


================
@@ -9,4 +9,14 @@
 # define ALIGNED(x) __attribute__((aligned(x)))
 #endif
 
+inline void __llvm_profile_test_initialize() {
+  // This is a no-op on most platforms, but on AIX it forces the linker to
+  // keep the start/stop stub data for the runtime. Normally this data is
+  // referenced by pulling in `__llvm_profile_runtime` from the runtime but
+  // some tests explicitly supress that.
----------------
w2yehia wrote:

so the usecase of defining `__llvm_profile_runtime` in the user code to avoid automatic initialization of the runtime, under the -bcdtors:mbr settings, is broken and users would need to create a reference to `__llvm_profile_keep`. We can add `-u__llvm_profile_keep` to the AIX link step in the driver, but I'm not sure if it will have some unintended consequences such as keeping any constructors defined in the same file as `__llvm_profile_keep` (none today). I'm in favor of keeping things as is, until we find the need to fix this.

https://github.com/llvm/llvm-project/pull/191265


More information about the llvm-commits mailing list