[libc-commits] [libc] 666a3f4 - [libc] Stub TLS functions on the GPU temporarily (#108267)

via libc-commits libc-commits at lists.llvm.org
Wed Sep 11 11:36:12 PDT 2024


Author: Joseph Huber
Date: 2024-09-11T11:36:07-07:00
New Revision: 666a3f4ed4f62a9b1b732dae6a34a66d31217563

URL: https://github.com/llvm/llvm-project/commit/666a3f4ed4f62a9b1b732dae6a34a66d31217563
DIFF: https://github.com/llvm/llvm-project/commit/666a3f4ed4f62a9b1b732dae6a34a66d31217563.diff

LOG: [libc] Stub TLS functions on the GPU temporarily (#108267)

Summary:
There's an extern weak symbol for this, we should just factor these into
a more common interface. Stub them temporarily to make the bots happy.
PTXAS does not handle extern weak.

Added: 
    

Modified: 
    libc/startup/gpu/amdgpu/start.cpp
    libc/startup/gpu/nvptx/start.cpp

Removed: 
    


################################################################################
diff  --git a/libc/startup/gpu/amdgpu/start.cpp b/libc/startup/gpu/amdgpu/start.cpp
index f09541b0d55808..8bd0c3a938d029 100644
--- a/libc/startup/gpu/amdgpu/start.cpp
+++ b/libc/startup/gpu/amdgpu/start.cpp
@@ -17,6 +17,9 @@ extern "C" int main(int argc, char **argv, char **envp);
 
 namespace LIBC_NAMESPACE_DECL {
 
+// FIXME: Factor this out into common logic so we don't need to stub it here.
+void teardown_main_tls() {}
+
 DataEnvironment app;
 
 extern "C" uintptr_t __init_array_start[];

diff  --git a/libc/startup/gpu/nvptx/start.cpp b/libc/startup/gpu/nvptx/start.cpp
index ef1e63e5161a61..bc529b36f50970 100644
--- a/libc/startup/gpu/nvptx/start.cpp
+++ b/libc/startup/gpu/nvptx/start.cpp
@@ -19,6 +19,9 @@ namespace LIBC_NAMESPACE_DECL {
 
 DataEnvironment app;
 
+// FIXME: Factor this out into common logic so we don't need to stub it here.
+void teardown_main_tls() {}
+
 extern "C" {
 // Nvidia's 'nvlink' linker does not provide these symbols. We instead need
 // to manually create them and update the globals in the loader implememtation.


        


More information about the libc-commits mailing list