zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit b48baeeebbec2f5d06f8ffc5305d2994d8389a72 (tree)
parent aa0fbbcb3917ac988757263e064540e1be3402eb
Author: Jakub Konka <kubkon@jakubkonka.com>
Date:   Sat, 11 Nov 2023 07:47:17 +0100

elf: fix typo in initial section offsets

Diffstat:
Msrc/link/Elf.zig | 5++++-
Msrc/link/Elf/Object.zig | 2+-
Msrc/link/Elf/ZigObject.zig | 4++--
3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/link/Elf.zig b/src/link/Elf.zig @@ -4531,7 +4531,10 @@ fn allocateAllocSectionsObject(self: *Elf) !void { for (self.shdrs.items) |*shdr| { if (shdr.sh_type == elf.SHT_NULL) continue; if (shdr.sh_flags & elf.SHF_ALLOC == 0) continue; - if (shdr.sh_type == elf.SHT_NOBITS) continue; + if (shdr.sh_type == elf.SHT_NOBITS) { + shdr.sh_offset = 0; + continue; + } const needed_size = shdr.sh_size; if (needed_size > self.allocatedSize(shdr.sh_offset)) { shdr.sh_size = 0; diff --git a/src/link/Elf/Object.zig b/src/link/Elf/Object.zig @@ -251,7 +251,7 @@ fn initOutputSection(self: Object, elf_file: *Elf, shdr: ElfShdr) error{OutOfMem .type = @"type", .flags = flags, .name = name, - .offset = std.math.maxInt(u32), + .offset = std.math.maxInt(u64), }); return out_shndx; } diff --git a/src/link/Elf/ZigObject.zig b/src/link/Elf/ZigObject.zig @@ -749,14 +749,14 @@ fn getDeclShdrIndex( .type = elf.SHT_NOBITS, .flags = elf.SHF_ALLOC | elf.SHF_WRITE | elf.SHF_TLS, .name = ".tbss", - .offset = std.math.maxInt(u32), + .offset = std.math.maxInt(u64), }); break :blk elf_file.sectionByName(".tdata") orelse try elf_file.addSection(.{ .type = elf.SHT_PROGBITS, .flags = elf.SHF_ALLOC | elf.SHF_WRITE | elf.SHF_TLS, .name = ".tdata", - .offset = std.math.maxInt(u32), + .offset = std.math.maxInt(u64), }); } if (variable.is_const) break :blk elf_file.zig_data_rel_ro_section_index.?;