tiny.tldr.formats.elf.layout.section
Defined in formats.elf.layout.
API (8)
Actions
Public operations.
OutputSection.fileLoadSizeOutputSection.logicalSizeSectionContribution.initSectionContribution.isPresentSectionContribution.outputIndexcontributionAt
Types and contracts
Public types and contracts.
Source
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.
lib.tldr.src.formats.elf.address.cache.syntheticBoundaryRangeForSection[function] — private source atlib/tldr/src/formats/elf/address/cache.zig:172in nearest public ownerlib.tldr.src.formats.elf.address.cachetiny.tldr.formats.elf.addressing.contribution_module.symbol[function] atlib/tldr/src/formats/elf/address/contribution.zig:15tiny.tldr.formats.elf.addressing.symbol.address[function] atlib/tldr/src/formats/elf/address/symbol.zig:25lib.tldr.src.formats.elf.address.symbol.sectionAddress[function] — private source atlib/tldr/src/formats/elf/address/symbol.zig:187in nearest public ownertiny.tldr.formats.elf.addressing.symbollib.tldr.src.formats.elf.ehframe.header.reservation.countEntries[function] — private source atlib/tldr/src/formats/elf/ehframe/header/reservation.zig:48in nearest public ownertiny.tldr.formats.elf.ehframe.header.reservationlib.tldr.src.formats.elf.ehframe.header.writer.collectEntries[function] — private source atlib/tldr/src/formats/elf/ehframe/header/writer.zig:80in nearest public ownertiny.tldr.formats.elf.ehframe.header.writerlib.tldr.src.formats.elf.ehframe.header.writer.startAddress[function] — private source atlib/tldr/src/formats/elf/ehframe/header/writer.zig:208in nearest public ownertiny.tldr.formats.elf.ehframe.header.writerlib.tldr.src.formats.elf.image.zero.contributionGaps[function] — private source atlib/tldr/src/formats/elf/image/zero.zig:48in nearest public ownertiny.tldr.formats.elf.image.zerolib.tldr.src.formats.elf.link.addContributionRecords[function] — private source atlib/tldr/src/formats/elf/link.zig:648in nearest public ownerlib.tldr.src.formats.elf.linklib.tldr.src.formats.elf.payload.copyObjectAllocSectionsBatched[function] — private source atlib/tldr/src/formats/elf/payload.zig:386in nearest public ownertiny.tldr.formats.elf.payloadlib.tldr.src.formats.elf.payload.copySection[function] — private source atlib/tldr/src/formats/elf/payload.zig:342in nearest public ownertiny.tldr.formats.elf.payloadlib.tldr.src.formats.elf.relocation.application.buildJobs[function] — private source atlib/tldr/src/formats/elf/relocation/application.zig:80in nearest public ownertiny.tldr.formats.elf.relocation.application
Audit
| Definitions | 9 |
|---|---|
| Public names | 17 |
| Members | 13 |
| Version | 26.7.0 |
| Revision | daab053ee433 |