diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2024-07-28 10:30:26 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-28 10:30:26 +0200 |
| commit | 1fba9e1280efb935e935f09a196ae35d5391ed48 (patch) | |
| tree | ae2d71856c6d2093c575a9995ae271ab2e3c5390 /src | |
| parent | a84951465b409495095a9598db0cae745f34fa7b (diff) | |
| parent | 58defeeaa633d67ad4361b032f5d4a5c626af219 (diff) | |
| download | zig-1fba9e1280efb935e935f09a196ae35d5391ed48.tar.gz zig-1fba9e1280efb935e935f09a196ae35d5391ed48.zip | |
Merge pull request #20834 from ziglang/macho-boundary-typo-fix
macho: fix typo in boundary symbols handling
Diffstat (limited to 'src')
| -rw-r--r-- | src/link/MachO.zig | 12 | ||||
| -rw-r--r-- | src/link/MachO/InternalObject.zig | 4 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig index b70e09b84b..71c67e57ad 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -1658,7 +1658,7 @@ fn initSyntheticSections(self: *MachO) !void { .maxprot = prot, }); } - } else if (eatPrefix(name, "segment$stop$")) |segname| { + } else if (eatPrefix(name, "segment$end$")) |segname| { if (self.getSegmentByName(segname) == null) { // TODO check segname is valid const prot = getSegmentProt(segname); _ = try self.segments.append(gpa, .{ @@ -1675,7 +1675,7 @@ fn initSyntheticSections(self: *MachO) !void { if (self.getSectionByName(segname, sectname) == null) { _ = try self.addSection(segname, sectname, .{}); } - } else if (eatPrefix(name, "section$stop$")) |actual_name| { + } else if (eatPrefix(name, "section$end$")) |actual_name| { const sep = mem.indexOfScalar(u8, actual_name, '$').?; // TODO error rather than a panic const segname = actual_name[0..sep]; // TODO check segname is valid const sectname = actual_name[sep + 1 ..]; // TODO check sectname is valid @@ -2267,8 +2267,8 @@ fn allocateSyntheticSymbols(self: *MachO) void { const seg = self.segments.items[seg_id]; sym.value = seg.vmaddr; } - } else if (mem.startsWith(u8, name, "segment$stop$")) { - const segname = name["segment$stop$".len..]; + } else if (mem.startsWith(u8, name, "segment$end$")) { + const segname = name["segment$end$".len..]; if (self.getSegmentByName(segname)) |seg_id| { const seg = self.segments.items[seg_id]; sym.value = seg.vmaddr + seg.vmsize; @@ -2283,8 +2283,8 @@ fn allocateSyntheticSymbols(self: *MachO) void { sym.value = sect.addr; sym.out_n_sect = sect_id; } - } else if (mem.startsWith(u8, name, "section$stop$")) { - const actual_name = name["section$stop$".len..]; + } else if (mem.startsWith(u8, name, "section$end$")) { + const actual_name = name["section$end$".len..]; const sep = mem.indexOfScalar(u8, actual_name, '$').?; // TODO error rather than a panic const segname = actual_name[0..sep]; const sectname = actual_name[sep + 1 ..]; diff --git a/src/link/MachO/InternalObject.zig b/src/link/MachO/InternalObject.zig index 926e4a4a9f..9720251f97 100644 --- a/src/link/MachO/InternalObject.zig +++ b/src/link/MachO/InternalObject.zig @@ -177,9 +177,9 @@ pub fn resolveBoundarySymbols(self: *InternalObject, macho_file: *MachO) !void { if (ref.getFile(macho_file) != null) continue; const name = sym.getName(macho_file); if (mem.startsWith(u8, name, "segment$start$") or - mem.startsWith(u8, name, "segment$stop$") or + mem.startsWith(u8, name, "segment$end$") or mem.startsWith(u8, name, "section$start$") or - mem.startsWith(u8, name, "section$stop$")) + mem.startsWith(u8, name, "section$end$")) { const gop = try boundary_symbols.getOrPut(name); if (!gop.found_existing) { |
