Compare commits

..

1 Commits

Author SHA1 Message Date
lizzie 2411bf060b 2026-09-06 18:38:50
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-06 18:38:50 +00:00
4 changed files with 24 additions and 20 deletions
+1
View File
@@ -117,6 +117,7 @@ template <typename T>
static void GetFuncAddress(Common::DynamicLibrary& dll, const char* name, T& pfn) {
if (!dll.GetSymbol(name, &pfn)) {
LOG_CRITICAL(HW_Memory, "Failed to load {}", name);
throw std::bad_alloc{};
}
}
+17 -16
View File
@@ -17,25 +17,26 @@ namespace Core {
namespace Symbols {
struct ModuleHeaderLocation {
u32 version;
u32 header_offset;
u32 version_offset;
u32_le version;
u32_le header_offset;
u32_le version_offset;
};
static_assert(sizeof(ModuleHeaderLocation) == 0x0C);
struct ModuleHeader {
u32 signature;
u32 dynamic_offset;
u32 bss_start_offset;
u32 bss_end_offset;
u32 exception_info_start_offset;
u32 exception_info_end_offset;
u32 module_offset;
u32 relro_start_offset;
u32 full_relro_end_offset;
u32 nx_debug_link_start_offset;
u32 nx_debug_link_end_offset;
u32 note_gnu_build_id_start_offset;
u32 note_gnu_build_id_end_offset;
u32_le signature;
u32_le dynamic_offset;
u32_le bss_start_offset;
u32_le bss_end_offset;
// https://github.com/Atmosphere-NX/Atmosphere/pull/2835/changes
s32_le exception_info_start_offset;
s32_le exception_info_end_offset;
u32_le module_offset;
u32_le relro_start_offset;
u32_le full_relro_end_offset;
u32_le nx_debug_link_start_offset;
u32_le nx_debug_link_end_offset;
u32_le note_gnu_build_id_start_offset;
u32_le note_gnu_build_id_end_offset;
};
static_assert(sizeof(ModuleHeader) == 0x34);
+3 -2
View File
@@ -63,8 +63,9 @@ struct ModHeader {
u32_le dynamic_offset;
u32_le bss_start_offset;
u32_le bss_end_offset;
u32_le unwind_start_offset;
u32_le unwind_end_offset;
// https://github.com/Atmosphere-NX/Atmosphere/pull/2835/changes
s32_le unwind_start_offset;
s32_le unwind_end_offset;
u32_le module_offset; // Offset to runtime-generated module object. typically equal to .bss base
};
static_assert(sizeof(ModHeader) == 0x1c, "ModHeader has incorrect size.");
+3 -2
View File
@@ -35,8 +35,9 @@ struct MODHeader {
u32_le dynamic_offset;
u32_le bss_start_offset;
u32_le bss_end_offset;
u32_le eh_frame_hdr_start_offset;
u32_le eh_frame_hdr_end_offset;
// https://github.com/Atmosphere-NX/Atmosphere/pull/2835/changes
s32_le eh_frame_hdr_start_offset;
s32_le eh_frame_hdr_end_offset;
u32_le module_offset; // Offset to runtime-generated module object. typically equal to .bss base
};
static_assert(sizeof(MODHeader) == 0x1c, "MODHeader has incorrect size.");