================
@@ -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

Reply via email to