]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/cgo: include seed string with -frandom-seed for lto
authorMorten Linderud <morten@linderud.pw>
Thu, 16 Feb 2023 14:37:50 +0000 (14:37 +0000)
committerGopher Robot <gobot@golang.org>
Fri, 17 Feb 2023 20:39:34 +0000 (20:39 +0000)
commit37e893b1bd7bb57b169224486e1f3f5eef264340
treec4daeb193191c065d4521a50b06d60fdd8cdbb27
parent990501e725cebcd7c1d6e01013db312198d2babc
cmd/cgo: include seed string with -frandom-seed for lto

cgo is built with -flto the symbols in runtime/cgo is going to include random numbers which would make builds unreproducible.

Settings -frandom-seeds ensures this is consistent across builds, and to ensure we always use a reproducible seed across builds we use the actionID as the seed string.

runtime/cgo built with "-frandom-seed=OFEc9OKoUMJwh3-5yFCH" would output the following:

    $ strings --all --bytes=8 $WORK/b055/_pkg_.a | grep "gnu.lto_.profile"
    .gnu.lto_.profile.8403a797
    .gnu.lto_.profile.8403a797
    .gnu.lto_.profile.8403a797
    .gnu.lto_.profile.8403a797
    .gnu.lto_.profile.8403a797
    .gnu.lto_.profile.8403a797
    .gnu.lto_.profile.8403a797
    .gnu.lto_.profile.8403a797
    .gnu.lto_.profile.8403a797
    .gnu.lto_.profile.8403a797
    .gnu.lto_.profile.8403a797
    .gnu.lto_.profile.8403a797

Change-Id: I3c2d261a94f23c8227a922da9a7f81660905fd71
GitHub-Last-Rev: cec5162316d33d8f652948706ce0a5f8c6794a6e
GitHub-Pull-Request: golang/go#58561
Reviewed-on: https://go-review.googlesource.com/c/go/+/468835
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
src/cmd/go/internal/work/exec.go