mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-04 00:13:08 +00:00
fix linker impl
This commit is contained in:
parent
ff76836028
commit
0885f65757
@ -139,7 +139,7 @@ s32 Linker::LoadModule(const std::filesystem::path& elf_name, bool is_dynamic) {
|
|||||||
return m_modules.size() - 1;
|
return m_modules.size() - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 Linker::LoadAndStartModule(const std::filesystem::path& path, size_t args, const void* argp,
|
s32 Linker::LoadAndStartModule(const std::filesystem::path& path, u64 args, const void* argp,
|
||||||
int* pRes) {
|
int* pRes) {
|
||||||
u32 handle = FindByName(path);
|
u32 handle = FindByName(path);
|
||||||
if (handle != -1) {
|
if (handle != -1) {
|
||||||
|
@ -144,7 +144,7 @@ public:
|
|||||||
void FreeTlsForNonPrimaryThread(void* pointer);
|
void FreeTlsForNonPrimaryThread(void* pointer);
|
||||||
|
|
||||||
s32 LoadModule(const std::filesystem::path& elf_name, bool is_dynamic = false);
|
s32 LoadModule(const std::filesystem::path& elf_name, bool is_dynamic = false);
|
||||||
s32 LoadAndStartModule(const std::filesystem::path& path, size_t args, const void* argp,
|
s32 LoadAndStartModule(const std::filesystem::path& path, u64 args, const void* argp,
|
||||||
int* pRes);
|
int* pRes);
|
||||||
Module* FindByAddress(VAddr address);
|
Module* FindByAddress(VAddr address);
|
||||||
|
|
||||||
|
@ -94,7 +94,7 @@ Module::Module(Core::MemoryManager* memory_, const std::filesystem::path& file_,
|
|||||||
|
|
||||||
Module::~Module() = default;
|
Module::~Module() = default;
|
||||||
|
|
||||||
s32 Module::Start(size_t args, const void* argp, void* param) {
|
s32 Module::Start(u64 args, const void* argp, void* param) {
|
||||||
LOG_INFO(Core_Linker, "Module started : {}", name);
|
LOG_INFO(Core_Linker, "Module started : {}", name);
|
||||||
const VAddr addr = dynamic_info.init_virtual_addr + GetBaseAddress();
|
const VAddr addr = dynamic_info.init_virtual_addr + GetBaseAddress();
|
||||||
return ExecuteGuest(reinterpret_cast<EntryFunc>(addr), args, argp, param);
|
return ExecuteGuest(reinterpret_cast<EntryFunc>(addr), args, argp, param);
|
||||||
|
@ -203,7 +203,7 @@ public:
|
|||||||
return (rela_bits[index >> 3] >> (index & 7)) & 1;
|
return (rela_bits[index >> 3] >> (index & 7)) & 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 Start(size_t args, const void* argp, void* param);
|
s32 Start(u64 args, const void* argp, void* param);
|
||||||
void LoadModuleToMemory(u32& max_tls_index);
|
void LoadModuleToMemory(u32& max_tls_index);
|
||||||
void LoadDynamicInfo();
|
void LoadDynamicInfo();
|
||||||
void LoadSymbols();
|
void LoadSymbols();
|
||||||
|
Loading…
Reference in New Issue
Block a user