From b1b036984852e4522f33c1b6df23afea248a0899 Mon Sep 17 00:00:00 2001 From: Sapphire Date: Sat, 11 Apr 2026 21:44:01 -0500 Subject: [PATCH] VulkanRenderer: Fix compile error on glibc 2.43 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sa_handler may not be a direct member of struct sigaction, in glibc 2.43 it may be defined as part of a union of sa_handler and sa_sigaction, then a preprocessor macro is defined for compatibility purposes. Here it expands as `sa{.__sigaction_handler.sa_handler = ...}` which is not supported in C++. /home/sapphire/code/Cemu/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp: In function β€˜int BreathOfTheWildChildProcessMain()’: /home/sapphire/code/Cemu/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp:346:29: error: expected primary-expression before β€˜.’ token 346 | struct sigaction sa{.sa_handler = [](int unused){_exit(1);}}; | ^ --- src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp index 8d149288..d70cb065 100644 --- a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp +++ b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp @@ -343,7 +343,9 @@ void VulkanRenderer::GetDeviceFeatures() int BreathOfTheWildChildProcessMain() { InitializeGlobalVulkan(); - struct sigaction sa{.sa_handler = [](int unused){_exit(1);}}; + struct sigaction sa{}; + sa.sa_handler = [](int unused) { _exit(1); }; + int ret = sigaction(SIGABRT, &sa, nullptr); freopen("/dev/null", "w", stderr);