From f013fb96ac36f91033a52195689406969040630c Mon Sep 17 00:00:00 2001 From: Tao Qingyun Date: Tue, 13 Jul 2021 22:42:27 +0800 Subject: [PATCH] cmd/link: make bss section offset at end of its segment Fixes #47168 --- src/cmd/link/internal/ld/elf.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cmd/link/internal/ld/elf.go b/src/cmd/link/internal/ld/elf.go index 81011638bc..e03473a21a 100644 --- a/src/cmd/link/internal/ld/elf.go +++ b/src/cmd/link/internal/ld/elf.go @@ -1107,8 +1107,10 @@ func elfshbits(linkmode LinkMode, sect *sym.Section) *ElfShdr { } sh.Addralign = uint64(sect.Align) sh.Size = sect.Length - if sect.Name != ".tbss" { + if sh.Type != uint32(elf.SHT_NOBITS) { sh.Off = sect.Seg.Fileoff + sect.Vaddr - sect.Seg.Vaddr + } else { + sh.Off = sect.Seg.Fileoff + sect.Seg.Filelen } return sh