================ @@ -338,6 +338,13 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-lpthread"); } const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath()); + +// Required for 64-bit atomic operations used in sanitizer runtimes +// (e.g., sanitizer_common's atomic utilities). On 32-bit AIX, these +// are not natively supported, necessitating linkage with -latomic. + if (Sanitize.hasAnySanitizer() && IsArch32Bit) { + CmdArgs.push_back("-latomic"); ---------------- honeygoyal wrote:
while I appreciate the suggestion and understand the merits of aligning with IBM’s downstream practices, I believe that maintaining the target-specific logic in `AIX.cpp` is the best course for now. This decision is based on ensuring clarity, minimizing risk, and preserving consistency with the community’s expected behavior. Please let me know if there are additional points to consider. https://github.com/llvm/llvm-project/pull/125388 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits