Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

fuzzer_unslide_address

fuzzer.fuzzer_unslide_address
export fn fuzzer_unslide_address(addr: usize) usize

File

lib/fuzzer.zig:2283

Code

export fn fuzzer_unslide_address(addr: usize) usize {
    const si = std.debug.getSelfDebugInfo() catch @compileError("unsupported");
    const slide = si.getModuleSlide(io, addr) catch |err| {
        // The LLVM backend seems to insert placeholder values of `1` in __sancov_pcs1
        if (addr == 1) return 1;
        panic("failed to find virtual address slide for address 0x{x}: {t}", .{ addr, err });
    };
    return addr - slide;
}