diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2024-07-20 06:29:24 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2024-07-22 12:06:02 +0200 |
| commit | 5d9fd5bcdeb9f7a1af50b0eaffd22b61f3e440a6 (patch) | |
| tree | ecf56a71194de36091ce7c6c109bd0a99142852d /src | |
| parent | 617f89f0823d766f2276651fc1bf467f54a22d35 (diff) | |
| download | zig-5d9fd5bcdeb9f7a1af50b0eaffd22b61f3e440a6.tar.gz zig-5d9fd5bcdeb9f7a1af50b0eaffd22b61f3e440a6.zip | |
macho: remove stale code
Diffstat (limited to 'src')
| -rw-r--r-- | src/link/MachO.zig | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig index da6d0e1b5d..29b2e5eb40 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -1285,53 +1285,6 @@ fn markLive(self: *MachO) void { if (self.getInternalObject()) |obj| obj.markLive(self); } -fn resolveSyntheticSymbols(self: *MachO) !void { - const internal = self.getInternalObject() orelse return; - - if (!self.base.isDynLib()) { - self.mh_execute_header_index = try internal.addSymbol("__mh_execute_header", self); - const sym = self.getSymbol(self.mh_execute_header_index.?); - sym.flags.@"export" = true; - sym.flags.dyn_ref = true; - sym.visibility = .global; - } else { - self.mh_dylib_header_index = try internal.addSymbol("__mh_dylib_header", self); - } - - self.dso_handle_index = try internal.addSymbol("___dso_handle", self); - self.dyld_private_index = try internal.addSymbol("dyld_private", self); - - { - const gpa = self.base.comp.gpa; - var boundary_symbols = std.AutoHashMap(Symbol.Index, void).init(gpa); - defer boundary_symbols.deinit(); - - for (self.objects.items) |index| { - const object = self.getFile(index).?.object; - for (object.symbols.items, 0..) |sym_index, i| { - const nlist = object.symtab.items(.nlist)[i]; - const name = self.getSymbol(sym_index).getName(self); - if (!nlist.undf() or !nlist.ext()) continue; - if (mem.startsWith(u8, name, "segment$start$") or - mem.startsWith(u8, name, "segment$stop$") or - mem.startsWith(u8, name, "section$start$") or - mem.startsWith(u8, name, "section$stop$")) - { - _ = try boundary_symbols.put(sym_index, {}); - } - } - } - - try self.boundary_symbols.ensureTotalCapacityPrecise(gpa, boundary_symbols.count()); - - var it = boundary_symbols.iterator(); - while (it.next()) |entry| { - _ = try internal.addSymbol(self.getSymbol(entry.key_ptr.*).getName(self), self); - self.boundary_symbols.appendAssumeCapacity(entry.key_ptr.*); - } - } -} - fn convertTentativeDefsAndResolveSpecialSymbols(self: *MachO) !void { for (self.objects.items) |index| { try self.getFile(index).?.object.convertTentativeDefinitions(self); @@ -1342,40 +1295,6 @@ fn convertTentativeDefsAndResolveSpecialSymbols(self: *MachO) !void { } } -fn createObjcSections(self: *MachO) !void { - const gpa = self.base.comp.gpa; - var objc_msgsend_syms = std.AutoArrayHashMap(Symbol.Index, void).init(gpa); - defer objc_msgsend_syms.deinit(); - - for (self.objects.items) |index| { - const object = self.getFile(index).?.object; - - for (object.symbols.items, 0..) |sym_index, i| { - const nlist_idx = @as(Symbol.Index, @intCast(i)); - const nlist = object.symtab.items(.nlist)[nlist_idx]; - if (!nlist.ext()) continue; - if (!nlist.undf()) continue; - - const sym = self.getSymbol(sym_index); - if (sym.getFile(self) != null) continue; - if (mem.startsWith(u8, sym.getName(self), "_objc_msgSend$")) { - _ = try objc_msgsend_syms.put(sym_index, {}); - } - } - } - - for (objc_msgsend_syms.keys()) |sym_index| { - const internal = self.getInternalObject().?; - const sym = self.getSymbol(sym_index); - _ = try internal.addSymbol(sym.getName(self), self); - sym.visibility = .hidden; - const name = eatPrefix(sym.getName(self), "_objc_msgSend$").?; - const selrefs_index = try internal.addObjcMsgsendSections(name, self); - try sym.addExtra(.{ .objc_selrefs = selrefs_index }, self); - sym.flags.objc_stubs = true; - } -} - pub fn dedupLiterals(self: *MachO) !void { const tracy = trace(@src()); defer tracy.end(); |
