================
@@ -631,6 +631,20 @@ void amdgpu::Linker::ConstructJob(Compilation &C, const
JobAction &JA,
Args.getLastArgValue(options::OPT_mcpu_EQ))));
}
addLinkerCompressDebugSectionsOption(getToolChain(), Args, CmdArgs);
+
+ // ASan instrumented OpenMP+Offload libraries are installed in default ROCm
+ // LLVM ASan custom path.
+ // Below code prepends the LLVM ASan custom path to pick ASan instrumented
+ // libompdevice.a.
+ const SanitizerArgs &SanArgs = getToolChain().getSanitizerArgs(Args);
+ if (SanArgs.needsAsanRt()) {
+ const AMDGPUToolChain &AMDGPU =
+ static_cast<const AMDGPUToolChain &>(getToolChain());
+ StringRef ASanPath = Args.MakeArgString(
+ AMDGPU.getRocmInstallationPath().str() + "/lib/llvm/lib/asan");
----------------
ampandey-AMD wrote:
> I will check again how to avoid hardcoding this for asan. It dosen't happen
> for non-asan libompdevice.a.
Fixed.
ASan Lib paths are prepended to standard `FilePaths` list initialized via
`getArchSpecificLibPaths` from `Driver/ToolChain.cpp`.
`checkAndAddAMDGPUSanLibPaths` handles this case now, no need to explicitly
link at `amdgpu::Linker` function.
https://github.com/llvm/llvm-project/pull/179636
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits