[libc] Remove the optional arguments for NVPTX constructors (#69536)
commitabd85cd473afedf112bf00630a22382fee4a7853
authorJoseph Huber <huberjn@outlook.com>
Mon, 20 Nov 2023 23:10:15 +0000 (20 17:10 -0600)
committerGitHub <noreply@github.com>
Mon, 20 Nov 2023 23:10:15 +0000 (20 17:10 -0600)
tree37193e028c2167acb6a9e67b311cbc1f45f04669
parent44c796d5669e78dc020fc4b00865ed6fea42dd4d
[libc] Remove the optional arguments for NVPTX constructors (#69536)

Summary:
We call the global constructors by function pointer. For whatever reason
the NVPTX architecture relies very specifically on the arguments to the
function pointer invocation matching what the function is implemented
as. This is problematic as most of these constructors are generated
with no arguments. This patch removes the extended arguments that GNU
and LLVM use for the constructors optionally so that it can support the
common case.
libc/startup/gpu/nvptx/start.cpp
libc/test/integration/startup/gpu/init_fini_array_test.cpp