Skip to documentation
SLOP

tiny.tldr.formats.elf.layout.section

Reference tiny.tldr formats elf layout section

Defined in formats.elf.layout.

API (8)

Actions

Public operations.

Types and contracts

Public types and contracts.

No direct callersNo direct callsformats.elf.layoutsection
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Called byCallsNo direct callersformats.elf.output_section.OutputSectionKindisNoBitsformats.elf.layout.OutputSectionfileLoadSize
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callersformats.elf.output_section.OutputSectionKindisAllocatedformats.elf.layout.OutputSectionlogicalSize
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callsformats.elf.ehframe.sectionassignprivate sourcelib.tldr.src.formats.elf.layout.collectcommonSymbolsprivate sourcelib.tldr.src.formats.elf.layout.collectemptyAllocSectionprivate sourcelib.tldr.src.formats.elf.layout.collectpayloadSizeformats.elf.merge.Fixedcollectprivate sourcelib.tldr.src.formats.elf.merge.targetassignformats.elf.layout.SectionContributioninit
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callsformats.elf.layout.SectionContributionoutputIndexformats.elf.layout.SectionContributionisPresent
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callersformats.elf.layout.SectionContributionisPresentformats.elf.layout.SectionContributionoutputIndex
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callsprivate sourcelib.tldr.src.formats.elf.address.cachesyntheticBoundaryRangeForSectionformats.elf.addressing.contribution_modulesymbolformats.elf.addressing.symboladdressprivate sourcelib.tldr.src.formats.elf.address.symbolsectionAddressprivate sourcelib.tldr.src.formats.elf.ehframe.header.reser...countEntries+7 moreformats.elf.layout.sectioncontributionAt
Static calls · unresolved targets: 0 · external targets: 1.

Source: lib/tldr/src/formats/elf/layout/root.zig:8

zig
pub const section = @import("section.zig");

Source: lib/tldr/src/formats/elf/layout/section.zig

zig
const std = @import("std");const elf = @import("../root.zig");const OutputSectionKind = elf.output_section.OutputSectionKind;const output_section_count = elf.output_section.output_section_count;pub const OutputSection = struct {    kind: OutputSectionKind,    file_size: u64 = 0,    memory_size: u64 = 0,    alignment: u64 = 1,    file_offset: u64 = 0,    address: u64 = 0,    reserved_size: u64 = 0,    section_index: u16 = 0,    pub fn logicalSize(self: OutputSection) u64 {        if (self.kind.isAllocated()) return self.memory_size;        return self.file_size;    }    pub fn fileLoadSize(self: OutputSection) u64 {        if (self.kind.isNoBits()) return 0;        return self.reserved_size;    }};pub const SectionContribution = struct {    output_index_plus_one: u8 = 0,    offset: u64 = 0,    size: u64 = 0,    reserved_size: u64 = 0,    alignment: u64 = 0,    pub fn init(output_index: usize, offset: u64, size: u64, reserved_size: u64, alignment: u64) SectionContribution {        std.debug.assert(output_index < output_section_count);        return .{            .output_index_plus_one = @intCast(output_index + 1),            .offset = offset,            .size = size,            .reserved_size = reserved_size,            .alignment = alignment,        };    }    pub inline fn isPresent(self: SectionContribution) bool {        return self.output_index_plus_one != 0;    }    pub inline fn outputIndex(self: SectionContribution) usize {        std.debug.assert(self.isPresent());        return @as(usize, self.output_index_plus_one) - 1;    }};pub inline fn contributionAt(contributions: []const SectionContribution, index: usize) ?*const SectionContribution {    if (index >= contributions.len) return null;    const contribution = &contributions[index];    if (!contribution.isPresent()) return null;    return contribution;}

Complete caller list for formats.elf.layout.section.contributionAt

12 direct callers.

Audit

Definitions9
Public names17
Members13
Version26.7.0
Revisiondaab053ee433