diff --git a/src/link/Elf2.zig b/src/link/Elf2.zig index 479c96d7c824736e29da8d857e1e8159d07ecc06..2012033bd3bf853522cc9ac14865519ab4b9bcb1 100644 --- a/src/link/Elf2.zig +++ b/src/link/Elf2.zig @@ -11906,7 +11906,12 @@ fn flushResized(elf: *Elf, ni: MappedFile.Node.Index) std.mem.Allocator.Error!vo const tls_vaddr = elf.targetLoad(&ph.vaddr); const tls_offset = elf.targetLoad(&ph.offset); - elf.targetStore(&ph.memsz, @intCast(tls_filesz + tbss_size)); + const tls_memsz = std.mem.alignForward( + u64, + tls_filesz + tbss_size, + elf.targetLoad(&ph.@"align"), + ); + elf.targetStore(&ph.memsz, @intCast(tls_memsz)); elf.updateNobitsAddress( elf.shndx.tbss,