Bug Report
What's the issue you encountered?
The struct containing the module name has changed in SDK 20, causing the Atmosphere gdb stub (monitor get info) and crash reports to stop showing module names.
How can the issue be reproduced?
Use gdb to attach to an application that uses SDK 20 (e.g. Splatoon 3 10.0.0), it no longer shows the module name:
Modules:
0x0190200000 - 0x0190202fff .elf
0x0190206000 - 0x019505dfff .elf
0x0196509000 - 0x0196b6bfff .elf
Crash Report
This is the same in crash reports for applications that uses SDK 20:
...
Module Info:
Number of Modules: 03
Module 00:
Address: 0000005af9e00000-0000005af9e03000
Name: [283033de]
Module Id: 283033DEEA3FC0B60104A4790098B9CCDB62D006000000000000000000000000
Module 01:
Address: 0000005af9e06000-0000005afec5e000
Name: [5e219d08]
Module Id: 5E219D08AE786051873FDCEEB618017DB3DCCEEF000000000000000000000000
...
System Firmware Version
20.1.1
Environment?
- What bootloader (fusèe, hekate, etc) was Atmosphère launched by: hekate
- Official release or unofficial build: Atmosphere 1.9.1
- Do you have additional kips or sysmodules you're loading: -
- Homebrew software installed: -
- EmuMMC or SysNAND: -
Additional context?
Old struct:
struct {
u32 version; // 0
s32 path_length;
char path[ModuleDefinition::PathLengthMax];
} module_path;
New struct:
struct {
u32 version; // 1
u32 unk1;
u32 unk2;
u32 unk3;
s32 path_length;
char path[ModuleDefinition::PathLengthMax];
} module_path;
Related code:
creport:
|
if (rodata_start.module_path.zero != 0 || rodata_start.module_path.path_length <= 0) { |
dmnt2:
(possibly more)
Bug Report
What's the issue you encountered?
The struct containing the module name has changed in SDK 20, causing the Atmosphere gdb stub (
monitor get info) and crash reports to stop showing module names.How can the issue be reproduced?
Use gdb to attach to an application that uses SDK 20 (e.g. Splatoon 3 10.0.0), it no longer shows the module name:
Crash Report
This is the same in crash reports for applications that uses SDK 20:
System Firmware Version
20.1.1
Environment?
Additional context?
Old struct:
New struct:
Related code:
creport:
Atmosphere/stratosphere/creport/source/creport_modules.cpp
Line 213 in d8a37b4
dmnt2:
Atmosphere/stratosphere/dmnt.gen2/source/dmnt2_debug_process.cpp
Line 192 in d8a37b4
(possibly more)