Commit 2914ea9e33

Jakub Konka <kubkon@jakubkonka.com>
2021-09-06 11:17:20
macho: require atom padding for machine code only
1 parent 5e64d97
Changed files (1)
src
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;