From 20dfbb084f5d7b635d187167d95417e9ed75e078 Mon Sep 17 00:00:00 2001 From: ROCm CI Service Account <66695075+rocm-ci@users.noreply.github.com> Date: Tue, 20 Dec 2022 06:51:12 +0530 Subject: [PATCH] SWDEV-344620 - hipcc fails to parse version of clang in some cases (#3119) Change-Id: I46f716c82a7500b9a2bcaf5f9ff4ad8a8f982770 [ROCm/hip commit: 0c443d12011da16a036057e0472ae59c68bc901f] --- projects/hip/bin/hipcc.pl | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/projects/hip/bin/hipcc.pl b/projects/hip/bin/hipcc.pl index 2dd7c248ef..dedfc58648 100755 --- a/projects/hip/bin/hipcc.pl +++ b/projects/hip/bin/hipcc.pl @@ -160,7 +160,7 @@ if ($HIP_PLATFORM eq "amd") { $execExtension = ""; if($isWindows) { $execExtension = ".exe"; - } + } $HIPCC="$HIP_CLANG_PATH/clang++" . $execExtension; # If $HIPCC clang++ is not compiled, use clang instead @@ -173,13 +173,10 @@ if ($HIP_PLATFORM eq "amd") { $HIPLDFLAGS .= " -fuse-ld=lld"; $HIPLDFLAGS .= " --ld-path=$HIP_CLANG_PATH/lld-link.exe"; } - $HIP_CLANG_VERSION = `$HIPCC --version`; - $HIP_CLANG_VERSION=~/.*clang version (\S+).*/; - $HIP_CLANG_VERSION=$1; - # Figure out the target with which llvm is configured - $HIP_CLANG_TARGET = `$HIPCC -print-target-triple`; - chomp($HIP_CLANG_TARGET); + # get Clang RT Builtin path + $HIP_CLANG_RT_LIB = `$HIPCC --print-runtime-dir`; + chomp($HIP_CLANG_RT_LIB); if (! defined $HIP_INCLUDE_PATH) { $HIP_INCLUDE_PATH = "$HIP_PATH/include"; @@ -196,7 +193,7 @@ if ($HIP_PLATFORM eq "amd") { print ("HIP_INCLUDE_PATH=$HIP_INCLUDE_PATH\n"); print ("HIP_LIB_PATH=$HIP_LIB_PATH\n"); print ("DEVICE_LIB_PATH=$DEVICE_LIB_PATH\n"); - print ("HIP_CLANG_TARGET=$HIP_CLANG_TARGET\n"); + print ("HIP_CLANG_RT_LIB=$HIP_CLANG_RT_LIB\n"); } $HIPLDFLAGS .= " -L\"$HIP_LIB_PATH\""; @@ -598,13 +595,8 @@ if ($HIP_PLATFORM eq "amd") { } else { $toolArgs = ${toolArgs} . " -Wl,-rpath=$HIP_LIB_PATH:$ROCM_PATH/lib -lamdhip64 "; } - # To support __fp16 and _Float16, explicitly link with compiler-rt - $HIP_CLANG_BUILTIN_LIB="$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/lib/$HIP_CLANG_TARGET/libclang_rt.builtins.a"; - if (-e $HIP_CLANG_BUILTIN_LIB) { - $toolArgs .= " -L$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/lib/$HIP_CLANG_TARGET -lclang_rt.builtins " - } else { - $toolArgs .= " -L$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/lib/linux -lclang_rt.builtins-x86_64 " - } + + $toolArgs .= " -L$HIP_CLANG_RT_LIB -lclang_rt.builtins-x86_64 " } }