summaryrefslogtreecommitdiffstats
path: root/library/backtrace/src/symbolize/gimli/libs_libnx.rs
blob: 93b5ba17eacb85abcbb4ec01299018edb33b26dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use super::{Library, LibrarySegment, Vec};

// DevkitA64 doesn't natively support debug info, but the build system will
// place debug info at the path `romfs:/debug_info.elf`.
pub(super) fn native_libraries() -> Vec<Library> {
    extern "C" {
        static __start__: u8;
    }

    let bias = unsafe { &__start__ } as *const u8 as usize;

    let mut ret = Vec::new();
    let mut segments = Vec::new();
    segments.push(LibrarySegment {
        stated_virtual_memory_address: 0,
        len: usize::max_value() - bias,
    });

    let path = "romfs:/debug_info.elf";
    ret.push(Library {
        name: path.into(),
        segments,
        bias,
    });

    ret
}