mirror of
https://github.com/golang/go
synced 2024-09-24 17:10:13 -06:00
cmd/ld: don't include padding length in size of the note section
Recently NetBSD starts to enforce this, and refuses to execute the program if n is larger than the sum of entry sizes. Before: $ readelf -n ../bin/go.old Notes at offset 0x00000bd0 with length 0x00000019: Owner Data size Description NetBSD 0x00000004 NT_VERSION (version) readelf: Warning: corrupt note found at offset 18 into core notes readelf: Warning: type: 0, namesize: 00000000, descsize: 00000000 $ readelf -n ../bin/go Notes at offset 0x00000bd0 with length 0x00000018: Owner Data size Description NetBSD 0x00000004 NT_VERSION (version) LGTM=iant R=iant CC=golang-codereviews https://golang.org/cl/70710043
This commit is contained in:
parent
22705d0995
commit
37e195cf72
@ -355,7 +355,7 @@ elfnote(ElfShdr *sh, uint64 startva, uint64 resoff, int sz)
|
||||
sh->addralign = 4;
|
||||
sh->addr = startva + resoff - n;
|
||||
sh->off = resoff - n;
|
||||
sh->size = n;
|
||||
sh->size = n - resoff % 4;
|
||||
|
||||
return n;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user