common: Add libc sigaction hook

This commit is contained in:
GPUCode 2023-11-17 20:22:38 +02:00 committed by t895
parent 5a182f4e7c
commit 20011dfeb8
3 changed files with 68 additions and 0 deletions

19
src/common/signal_chain.h Normal file
View file

@ -0,0 +1,19 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#ifndef _WIN32
#include <signal.h>
namespace Common {
// Android's ART overrides sigaction with its own wrapper. This is problematic for SIGSEGV
// in particular, because ARTs handler access TPIDR_EL0, so this extracts the libc version
// and calls it directly.
int SigAction(int signum, const struct sigaction* act, struct sigaction* oldact);
} // namespace Common
#endif