From 05b15e8bdb0f402fa2acea113ecbbe171f4d02bf Mon Sep 17 00:00:00 2001 From: Vadym Prodan Date: Sat, 10 Jan 2026 01:23:54 +0100 Subject: [PATCH] link/MachO: Add correct section flags (S_COALESCED, S_ATTR_NO_TOC, S_ATTR_STRIP_STATIC_SYMS, S_ATTR_LIVE_SUPPORT) to __eh_frame section to match platform conventions --- src/link/MachO.zig | 4 +++- src/link/MachO/relocatable.zig | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/link/MachO.zig b/src/link/MachO.zig index 4c7278da614a3be501524ec399d9422cb664b97c..2c420fcde4ab736f6587be6ca6559dc6a6117e98 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -1707,7 +1707,9 @@ fn initSyntheticSections(self: *MachO) !void { } else false; if (needs_eh_frame) { assert(needs_unwind_info); - self.eh_frame_sect_index = try self.addSection("__TEXT", "__eh_frame", .{}); + self.eh_frame_sect_index = try self.addSection("__TEXT", "__eh_frame", .{ + .flags = macho.S_COALESCED | macho.S_ATTR_NO_TOC | macho.S_ATTR_STRIP_STATIC_SYMS | macho.S_ATTR_LIVE_SUPPORT, + }); } if (self.getInternalObject()) |obj| { diff --git a/src/link/MachO/relocatable.zig b/src/link/MachO/relocatable.zig index 5e96a4d88e54ffdd5dc81826e710eb9c26d9256d..954cdfd5d525c7b59a9746647d7435b636a558aa 100644 --- a/src/link/MachO/relocatable.zig +++ b/src/link/MachO/relocatable.zig @@ -289,7 +289,9 @@ fn initOutputSections(macho_file: *MachO) !void { } else false; if (needs_eh_frame) { assert(needs_unwind_info); - macho_file.eh_frame_sect_index = try macho_file.addSection("__TEXT", "__eh_frame", .{}); + macho_file.eh_frame_sect_index = try macho_file.addSection("__TEXT", "__eh_frame", .{ + .flags = std.macho.S_COALESCED | std.macho.S_ATTR_NO_TOC | std.macho.S_ATTR_STRIP_STATIC_SYMS | std.macho.S_ATTR_LIVE_SUPPORT, + }); } } -- 2.54.0