core: Rework elf loader

This commit is contained in:
GPUCode 2023-10-26 22:55:13 +03:00
parent fed14ad4ed
commit ca564b928c
7 changed files with 514 additions and 503 deletions

View file

@ -14,17 +14,17 @@ struct EntryParams {
const char* argv[3];
};
/*this struct keeps neccesary info about loaded modules.Main executeable is included too as well*/
// This struct keeps neccesary info about loaded modules. Main executeable is included too as well
struct Module
{
Elf* elf = nullptr;
Elf elf;
u64 aligned_base_size = 0;
u64 base_virtual_addr = 0; //base virtual address
u64 base_virtual_addr = 0; // Base virtual address
Linker* linker = nullptr;
Linker* linker = nullptr;
void* m_dynamic = nullptr;
void* m_dynamic_data = nullptr;
void* m_dynamic = nullptr;
void* m_dynamic_data = nullptr;
DynamicModuleInfo* dynamic_info = nullptr;
SymbolsResolver* export_sym = nullptr;
@ -131,4 +131,4 @@ public:
std::vector<Module*> m_modules;
SymbolsResolver* m_HLEsymbols = nullptr;
std::mutex m_mutex;
};
};