mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-04 00:13:08 +00:00
Stubby implementation of sceSysmoduleGetModuleInfoForUnwind
This commit is contained in:
parent
6b3746f3a6
commit
325143360a
@ -85,18 +85,6 @@ s32 PS4_SYSV_ABI sceKernelDlsym(s32 handle, const char* symbol, void** addrp) {
|
|||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static constexpr size_t ORBIS_DBG_MAX_NAME_LENGTH = 256;
|
|
||||||
|
|
||||||
struct OrbisModuleInfoForUnwind {
|
|
||||||
u64 st_size;
|
|
||||||
std::array<char, ORBIS_DBG_MAX_NAME_LENGTH> name;
|
|
||||||
VAddr eh_frame_hdr_addr;
|
|
||||||
VAddr eh_frame_addr;
|
|
||||||
u64 eh_frame_size;
|
|
||||||
VAddr seg0_addr;
|
|
||||||
u64 seg0_size;
|
|
||||||
};
|
|
||||||
|
|
||||||
s32 PS4_SYSV_ABI sceKernelGetModuleInfoForUnwind(VAddr addr, int flags,
|
s32 PS4_SYSV_ABI sceKernelGetModuleInfoForUnwind(VAddr addr, int flags,
|
||||||
OrbisModuleInfoForUnwind* info) {
|
OrbisModuleInfoForUnwind* info) {
|
||||||
if (flags >= 3) {
|
if (flags >= 3) {
|
||||||
|
@ -15,6 +15,20 @@ int PS4_SYSV_ABI sceKernelIsNeoMode();
|
|||||||
|
|
||||||
int PS4_SYSV_ABI sceKernelGetCompiledSdkVersion(int* ver);
|
int PS4_SYSV_ABI sceKernelGetCompiledSdkVersion(int* ver);
|
||||||
|
|
||||||
|
static constexpr size_t ORBIS_DBG_MAX_NAME_LENGTH = 256;
|
||||||
|
|
||||||
|
struct OrbisModuleInfoForUnwind {
|
||||||
|
u64 st_size;
|
||||||
|
std::array<char, ORBIS_DBG_MAX_NAME_LENGTH> name;
|
||||||
|
VAddr eh_frame_hdr_addr;
|
||||||
|
VAddr eh_frame_addr;
|
||||||
|
u64 eh_frame_size;
|
||||||
|
VAddr seg0_addr;
|
||||||
|
u64 seg0_size;
|
||||||
|
};
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceKernelGetModuleInfoForUnwind(VAddr addr, s32 flags, OrbisModuleInfoForUnwind* info);
|
||||||
|
|
||||||
void RegisterProcess(Core::Loader::SymbolsResolver* sym);
|
void RegisterProcess(Core::Loader::SymbolsResolver* sym);
|
||||||
|
|
||||||
} // namespace Libraries::Kernel
|
} // namespace Libraries::Kernel
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include "core/libraries/libs.h"
|
#include "core/libraries/libs.h"
|
||||||
#include "core/libraries/system/sysmodule.h"
|
#include "core/libraries/system/sysmodule.h"
|
||||||
#include "core/libraries/system/system_error.h"
|
#include "core/libraries/system/system_error.h"
|
||||||
|
#include "core/libraries/kernel/process.h"
|
||||||
|
|
||||||
namespace Libraries::SysModule {
|
namespace Libraries::SysModule {
|
||||||
|
|
||||||
@ -18,9 +19,12 @@ int PS4_SYSV_ABI sceSysmoduleGetModuleHandleInternal() {
|
|||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int PS4_SYSV_ABI sceSysmoduleGetModuleInfoForUnwind() {
|
s32 PS4_SYSV_ABI sceSysmoduleGetModuleInfoForUnwind(VAddr addr, s32 flags, void* info) {
|
||||||
LOG_ERROR(Lib_SysModule, "(STUBBED) called");
|
LOG_ERROR(Lib_SysModule, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
Kernel::OrbisModuleInfoForUnwind module_info;
|
||||||
|
module_info.st_size = 0x130;
|
||||||
|
s32 res = Kernel::sceKernelGetModuleInfoForUnwind(addr, flags, &module_info);
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
int PS4_SYSV_ABI sceSysmoduleIsCalledFromSysModule() {
|
int PS4_SYSV_ABI sceSysmoduleIsCalledFromSysModule() {
|
||||||
|
@ -152,7 +152,7 @@ enum class OrbisSysModuleInternal : u32 {
|
|||||||
};
|
};
|
||||||
|
|
||||||
int PS4_SYSV_ABI sceSysmoduleGetModuleHandleInternal();
|
int PS4_SYSV_ABI sceSysmoduleGetModuleHandleInternal();
|
||||||
int PS4_SYSV_ABI sceSysmoduleGetModuleInfoForUnwind();
|
s32 PS4_SYSV_ABI sceSysmoduleGetModuleInfoForUnwind(VAddr addr, s32 flags, void* info);
|
||||||
int PS4_SYSV_ABI sceSysmoduleIsCalledFromSysModule();
|
int PS4_SYSV_ABI sceSysmoduleIsCalledFromSysModule();
|
||||||
int PS4_SYSV_ABI sceSysmoduleIsCameraPreloaded();
|
int PS4_SYSV_ABI sceSysmoduleIsCameraPreloaded();
|
||||||
int PS4_SYSV_ABI sceSysmoduleIsLoaded(OrbisSysModule id);
|
int PS4_SYSV_ABI sceSysmoduleIsLoaded(OrbisSysModule id);
|
||||||
|
Loading…
Reference in New Issue
Block a user