diff options
| author | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2024-09-04 18:30:35 +0700 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2024-09-04 18:23:49 +0000 |
| commit | 4fd73e5d4ca8c87efa127ee7a3290b1d0fdae313 (patch) | |
| tree | 454d18c4074ce87ae00638fb9e61f7058eb13cf8 /src/cmd/link/internal/ld | |
| parent | ad8b5f7fe91bdb0afc9dad72a0ba3ac46ce0167c (diff) | |
| download | go-4fd73e5d4ca8c87efa127ee7a3290b1d0fdae313.tar.xz | |
cmd: do not use notsha256
CL 402595 used notsha256 to prevent the compiler from depending on
cgo-based implementations of sha1 and sha256.
However, since CL 454836, cmd is built with CGO_ENABLED=0, which
will disable boringcrypto. Thus all usages of notsha256 is not necessary
anymore.
Updates #51940
Updates #64751
Change-Id: I503090f7a2efb5723e8a79523b143dc7cdb4edd0
Reviewed-on: https://go-review.googlesource.com/c/go/+/610596
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/cmd/link/internal/ld')
| -rw-r--r-- | src/cmd/link/internal/ld/elf.go | 8 | ||||
| -rw-r--r-- | src/cmd/link/internal/ld/lib.go | 10 | ||||
| -rw-r--r-- | src/cmd/link/internal/ld/macho_update_uuid.go | 4 |
3 files changed, 11 insertions, 11 deletions
diff --git a/src/cmd/link/internal/ld/elf.go b/src/cmd/link/internal/ld/elf.go index 3a1bcbfd63..f6f957a333 100644 --- a/src/cmd/link/internal/ld/elf.go +++ b/src/cmd/link/internal/ld/elf.go @@ -5,7 +5,7 @@ package ld import ( - "cmd/internal/notsha256" + "cmd/internal/hash" "cmd/internal/objabi" "cmd/internal/sys" "cmd/link/internal/loader" @@ -812,7 +812,7 @@ func addbuildinfo(val string) { Exitf("-B gobuildid requires a Go build ID supplied via -buildid") } - hashedBuildID := notsha256.Sum256([]byte(buildID)) + hashedBuildID := hash.Sum32([]byte(buildID)) buildinfo = hashedBuildID[:20] return @@ -1677,11 +1677,11 @@ func (ctxt *Link) doelf() { sb.SetType(sym.SRODATA) ldr.SetAttrSpecial(s, true) sb.SetReachable(true) - sb.SetSize(notsha256.Size) + sb.SetSize(hash.Size32) slices.SortFunc(ctxt.Library, func(a, b *sym.Library) int { return strings.Compare(a.Pkg, b.Pkg) }) - h := notsha256.New() + h := hash.New32() for _, l := range ctxt.Library { h.Write(l.Fingerprint[:]) } diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index 39361aa815..61bca49176 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -51,7 +51,7 @@ import ( "cmd/internal/bio" "cmd/internal/goobj" - "cmd/internal/notsha256" + "cmd/internal/hash" "cmd/internal/objabi" "cmd/internal/sys" "cmd/link/internal/loadelf" @@ -1012,12 +1012,12 @@ func typeSymbolMangle(name string) string { return name } if isType { - hash := notsha256.Sum256([]byte(name[5:])) + hb := hash.Sum32([]byte(name[5:])) prefix := "type:" if name[5] == '.' { prefix = "type:." } - return prefix + base64.StdEncoding.EncodeToString(hash[:6]) + return prefix + base64.StdEncoding.EncodeToString(hb[:6]) } // instantiated symbol, replace type name in [] i := strings.IndexByte(name, '[') @@ -1025,8 +1025,8 @@ func typeSymbolMangle(name string) string { if j == -1 || j <= i { j = len(name) } - hash := notsha256.Sum256([]byte(name[i+1 : j])) - return name[:i+1] + base64.StdEncoding.EncodeToString(hash[:6]) + name[j:] + hb := hash.Sum32([]byte(name[i+1 : j])) + return name[:i+1] + base64.StdEncoding.EncodeToString(hb[:6]) + name[j:] } /* diff --git a/src/cmd/link/internal/ld/macho_update_uuid.go b/src/cmd/link/internal/ld/macho_update_uuid.go index de27e655d5..26978fc424 100644 --- a/src/cmd/link/internal/ld/macho_update_uuid.go +++ b/src/cmd/link/internal/ld/macho_update_uuid.go @@ -18,7 +18,7 @@ package ld // final executable generated by the external linker. import ( - "cmd/internal/notsha256" + "cmd/internal/hash" "debug/macho" "io" "os" @@ -32,7 +32,7 @@ func uuidFromGoBuildId(buildID string) []byte { if buildID == "" { return make([]byte, 16) } - hashedBuildID := notsha256.Sum256([]byte(buildID)) + hashedBuildID := hash.Sum32([]byte(buildID)) rv := hashedBuildID[:16] // RFC 4122 conformance (see RFC 4122 Sections 4.2.2, 4.1.3). We |
