yaxunl created this revision. yaxunl added reviewers: tra, ashi1, scchan. yaxunl requested review of this revision.
In -fgpu-rdc case, fat binary is embedded as global variable __hip_fatbin. It needs to have protected visibility to avoid conflict between shared libraries. https://reviews.llvm.org/D106571 Files: clang/lib/Driver/ToolChains/HIP.cpp clang/test/Driver/hip-toolchain-rdc.hip Index: clang/test/Driver/hip-toolchain-rdc.hip =================================================================== --- clang/test/Driver/hip-toolchain-rdc.hip +++ clang/test/Driver/hip-toolchain-rdc.hip @@ -14,6 +14,7 @@ // RUN: 2>&1 | FileCheck %s // check code object alignment in dumped llvm-mc input +// CHECK: .protected __hip_fatbin // CHECK: .p2align 12 // emit objects for host side path Index: clang/lib/Driver/ToolChains/HIP.cpp =================================================================== --- clang/lib/Driver/ToolChains/HIP.cpp +++ clang/lib/Driver/ToolChains/HIP.cpp @@ -180,6 +180,7 @@ // in several main host machines. ObjStream << "# HIP Object Generator\n"; ObjStream << "# *** Automatically generated by Clang ***\n"; + ObjStream << " .protected __hip_fatbin\n"; ObjStream << " .type __hip_fatbin,@object\n"; ObjStream << " .section .hip_fatbin,\"a\",@progbits\n"; ObjStream << " .globl __hip_fatbin\n";
Index: clang/test/Driver/hip-toolchain-rdc.hip =================================================================== --- clang/test/Driver/hip-toolchain-rdc.hip +++ clang/test/Driver/hip-toolchain-rdc.hip @@ -14,6 +14,7 @@ // RUN: 2>&1 | FileCheck %s // check code object alignment in dumped llvm-mc input +// CHECK: .protected __hip_fatbin // CHECK: .p2align 12 // emit objects for host side path Index: clang/lib/Driver/ToolChains/HIP.cpp =================================================================== --- clang/lib/Driver/ToolChains/HIP.cpp +++ clang/lib/Driver/ToolChains/HIP.cpp @@ -180,6 +180,7 @@ // in several main host machines. ObjStream << "# HIP Object Generator\n"; ObjStream << "# *** Automatically generated by Clang ***\n"; + ObjStream << " .protected __hip_fatbin\n"; ObjStream << " .type __hip_fatbin,@object\n"; ObjStream << " .section .hip_fatbin,\"a\",@progbits\n"; ObjStream << " .globl __hip_fatbin\n";
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits