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.
Zig › compiler/ › aro/ › backend/ › Object/ › Elf.zig › addRelocation
addRelocation
Elf.addRelocation
pub fn addRelocation (elf : *Elf , name : []const u8 , section_kind : Object .Section , address : u64 , addend : i64 ) !void
File
Code
pub fn addRelocation (elf : *Elf , name : []const u8 , section_kind : Object .Section , address : u64 , addend : i64 ) !void {
const section_name = sectionString (section_kind );
const symbol = elf .local_symbols .get (name ) orelse elf .global_symbols .get (name ).?;
const section = elf .sections .get (section_name ).?;
if (section .relocations .items .len == 0 ) elf .strtab_len += ".rela" .len ;
try section .relocations .append (elf .arena .child_allocator , .{
.symbol = symbol ,
.offset = @intCast (address ),
.addend = addend ,
.type = if (symbol .section == null ) 4 else 2 ,
});
}