NSO: Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
It starts with the "NSO" header and mainly describes .text, .rodata, and .data segments (like a short-form of ELF program headers): | It starts with the "NSO" header and mainly describes .text, .rodata, and .data segments (like a short-form of ELF program headers): | ||
=== .rodata-relative extent === | === .rodata-relative extent === | ||
Line 56: | Line 32: | ||
| 0x4 | | 0x4 | ||
| 4 | | 4 | ||
| | | Version | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| 4 | | 4 | ||
| | | Reserved1 | ||
|- | |- | ||
| 0xC | | 0xC | ||
| 4 | | 4 | ||
| | | Flags: TextCompress = 1, RoCompress = 2, DataCompress = 4, TextHash = 8, RoHash = 0x10, DataHash = 0x20 | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| | | 4 | ||
| | | TextFileOffset | ||
|- | |||
| 0x14 | |||
| 4 | |||
| TextMemoryOffset | |||
|- | |||
| 0x18 | |||
| 4 | |||
| TextSize | |||
|- | |||
| 0x1C | |||
| 4 | |||
| ModuleNameOffset | |||
|- | |||
| 0x20 | |||
| 4 | |||
| RoFileOffset | |||
|- | |||
| 0x24 | |||
| 4 | |||
| RoMemoryOffset | |||
|- | |||
| 0x28 | |||
| 4 | |||
| RoSize | |||
|- | |||
| 0x2C | |||
| 4 | |||
| ModuleNameSize | |||
|- | |||
| 0x30 | |||
| 4 | |||
| DataFileOffset | |||
|- | |||
| 0x34 | |||
| 4 | |||
| DataMemoryOffset | |||
|- | |||
| 0x38 | |||
| 4 | |||
| DataSize | |||
|- | |||
| 0x3C | |||
| 4 | |||
| BssSize | |||
|- | |- | ||
| 0x40 | | 0x40 | ||
Line 75: | Line 95: | ||
|- | |- | ||
| 0x60 | | 0x60 | ||
| 0x4 | | 0x4 | ||
| | | TextFileSize | ||
|- | |||
| 0x64 | |||
| 0x4 | |||
| RoFileSize | |||
|- | |||
| 0x68 | |||
| 0x4 | |||
| DataFileSize | |||
|- | |- | ||
| 0x6c | | 0x6c |