From 666a3f4ed4f62a9b1b732dae6a34a66d31217563 Mon Sep 17 00:00:00 2001 From: Joseph Huber Date: Wed, 11 Sep 2024 11:36:07 -0700 Subject: [PATCH] [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. --- libc/startup/gpu/amdgpu/start.cpp | 3 +++ libc/startup/gpu/nvptx/start.cpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/libc/startup/gpu/amdgpu/start.cpp b/libc/startup/gpu/amdgpu/start.cpp index f09541b0d558..8bd0c3a938d0 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 ef1e63e5161a..bc529b36f509 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.