zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 2914ea9e3388da2bf0240b9bd6b0474f9686322c (tree)
parent 5e64d9745ba54d4dd61f8f98be4a3b7e6f2d8205
Author: Jakub Konka <kubkon@jakubkonka.com>
Date:   Mon,  6 Sep 2021 11:17:20 +0200

macho: require atom padding for machine code only

Diffstat:
Msrc/link/MachO.zig | 17+----------------
1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/src/link/MachO.zig b/src/link/MachO.zig @@ -1632,22 +1632,7 @@ pub fn allocateAtom(self: *MachO, atom: *TextBlock, match: MatchingSection) !u64 const sect = &seg.sections.items[match.sect]; const sym = &self.locals.items[atom.local_sym_index]; - // Padding is not required for pointer-type sections and any synthetic sections such as - // stubs or stub_helper. - // TODO audit this. - const needs_padding = switch (commands.sectionType(sect.*)) { - macho.S_SYMBOL_STUBS, - macho.S_NON_LAZY_SYMBOL_POINTERS, - macho.S_LAZY_SYMBOL_POINTERS, - macho.S_LITERAL_POINTERS, - macho.S_THREAD_LOCAL_VARIABLES, - => false, - else => blk: { - if (match.seg == self.text_segment_cmd_index.? and - match.sect == self.stub_helper_section_index.?) break :blk false; - break :blk true; - }, - }; + const needs_padding = match.seg == self.text_segment_cmd_index.? and match.sect == self.text_section_index.?; var atom_placement: ?*TextBlock = null;