================ @@ -259,6 +260,56 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA, // Specify linker input file(s). AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA); + // Add sanitizer libraries. + const SanitizerArgs &Sanitize = ToolChain.getSanitizerArgs(Args); + const char *sanitizer = nullptr; + bool NeedsSanitizerDeps = false; + // For now, only support address sanitizer. + if (Sanitize.needsAsanRt()) + sanitizer = "AddressSanitizer"; + + if (sanitizer) { + if (Sanitize.needsSharedRt()) { + ToolChain.getDriver().Diag(diag::err_drv_unsupported_shared_sanitizer_aix) + << sanitizer; + return; + } + NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs); + } + + // Add sanitizer runtime dependencies. + if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles, ---------------- daltenty wrote:
nit: add comment ```suggestion // note: having the static runtime linked into shared libraries can // lead to multiple copies of the runtime with AIX's linkage model, // so disallow that. if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles, ``` https://github.com/llvm/llvm-project/pull/129925 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits