mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-09 17:00:19 +02:00
This causes a global initializer that registers an atexit handler. Be smarter, use an std::array and pass its data around using a span instead. Removes the global initializer and removes the atexit installation
21 lines
612 B
C++
21 lines
612 B
C++
// SPDX-License-Identifier: MIT
|
|
#pragma once
|
|
#include <FEXCore/IR/IR.h>
|
|
#include <FEXCore/fextl/vector.h>
|
|
|
|
#include "LinuxSyscalls/Syscalls.h"
|
|
|
|
namespace FEXCore::Context {
|
|
struct VDSOSigReturn;
|
|
}
|
|
|
|
namespace FEX::VDSO {
|
|
using MapperFn = std::function<void*(void* addr, size_t length, int prot, int flags, int fd, off_t offset)>;
|
|
void* LoadVDSOThunks(bool Is64Bit, FEX::HLE::SyscallHandler* const Handler);
|
|
|
|
uint64_t GetVSyscallEntry(const void* VDSOBase);
|
|
|
|
const std::span<FEXCore::IR::ThunkDefinition> GetVDSOThunkDefinitions();
|
|
const FEXCore::Context::VDSOSigReturn& GetVDSOSymbols();
|
|
} // namespace FEX::VDSO
|