| ... | @@ -114,8 +114,6 @@ compatibility_version: ?std.SemanticVersion, | ... | @@ -114,8 +114,6 @@ compatibility_version: ?std.SemanticVersion, |
| 114 | entry_name: ?[]const u8, | 114 | entry_name: ?[]const u8, |
| 115 | platform: Platform, | 115 | platform: Platform, |
| 116 | sdk_version: ?std.SemanticVersion, | 116 | sdk_version: ?std.SemanticVersion, |
| 117 | /// Rpath table | | |
| 118 | rpath_table: std.StringArrayHashMapUnmanaged(void) = .{}, | | |
| 119 | /// When set to true, the linker will hoist all dylibs including system dependent dylibs. | 117 | /// When set to true, the linker will hoist all dylibs including system dependent dylibs. |
| 120 | no_implicit_dylibs: bool = false, | 118 | no_implicit_dylibs: bool = false, |
| 121 | | 119 | |
| ... | @@ -210,12 +208,6 @@ pub fn createEmpty( | ... | @@ -210,12 +208,6 @@ pub fn createEmpty( |
| 210 | .mode = link.File.determineMode(false, output_mode, link_mode), | 208 | .mode = link.File.determineMode(false, output_mode, link_mode), |
| 211 | }); | 209 | }); |
| 212 | | 210 | |
| 213 | // Filter rpaths | | |
| 214 | try self.rpath_table.ensureUnusedCapacity(gpa, self.base.rpath_list.len); | | |
| 215 | for (options.rpath_list) |rpath| { | | |
| 216 | _ = self.rpath_table.putAssumeCapacity(rpath, {}); | | |
| 217 | } | | |
| 218 | | | |
| 219 | // Append null file | 211 | // Append null file |
| 220 | try self.files.append(gpa, .null); | 212 | try self.files.append(gpa, .null); |
| 221 | // Atom at index 0 is reserved as null atom | 213 | // Atom at index 0 is reserved as null atom |
| ... | @@ -333,7 +325,6 @@ pub fn deinit(self: *MachO) void { | ... | @@ -333,7 +325,6 @@ pub fn deinit(self: *MachO) void { |
| 333 | } | 325 | } |
| 334 | self.thunks.deinit(gpa); | 326 | self.thunks.deinit(gpa); |
| 335 | self.unwind_records.deinit(gpa); | 327 | self.unwind_records.deinit(gpa); |
| 336 | self.rpath_table.deinit(gpa); | | |
| 337 | } | 328 | } |
| 338 | | 329 | |
| 339 | pub fn flush(self: *MachO, arena: Allocator, prog_node: *std.Progress.Node) link.File.FlushError!void { | 330 | pub fn flush(self: *MachO, arena: Allocator, prog_node: *std.Progress.Node) link.File.FlushError!void { |
| ... | @@ -701,7 +692,7 @@ fn dumpArgv(self: *MachO, comp: *Compilation) !void { | ... | @@ -701,7 +692,7 @@ fn dumpArgv(self: *MachO, comp: *Compilation) !void { |
| 701 | try argv.append(syslibroot); | 692 | try argv.append(syslibroot); |
| 702 | } | 693 | } |
| 703 | | 694 | |
| 704 | for (self.rpath_table.keys()) |rpath| { | 695 | for (self.base.rpath_list) |rpath| { |
| 705 | try argv.append("-rpath"); | 696 | try argv.append("-rpath"); |
| 706 | try argv.append(rpath); | 697 | try argv.append(rpath); |
| 707 | } | 698 | } |
| ... | @@ -2812,8 +2803,8 @@ fn writeLoadCommands(self: *MachO) !struct { usize, usize, usize } { | ... | @@ -2812,8 +2803,8 @@ fn writeLoadCommands(self: *MachO) !struct { usize, usize, usize } { |
| 2812 | ncmds += 1; | 2803 | ncmds += 1; |
| 2813 | } | 2804 | } |
| 2814 | | 2805 | |
| 2815 | try load_commands.writeRpathLCs(self.rpath_table.keys(), writer); | 2806 | try load_commands.writeRpathLCs(self.base.rpath_list, writer); |
| 2816 | ncmds += self.rpath_table.keys().len; | 2807 | ncmds += self.base.rpath_list.len; |
| 2817 | | 2808 | |
| 2818 | try writer.writeStruct(macho.source_version_command{ .version = 0 }); | 2809 | try writer.writeStruct(macho.source_version_command{ .version = 0 }); |
| 2819 | ncmds += 1; | 2810 | ncmds += 1; |