From 70ef564e795dea06d37e5233fcf3182b231c31f0 Mon Sep 17 00:00:00 2001 From: Michael Hudson-Doyle Date: Mon, 21 Mar 2016 19:27:35 +1300 Subject: [PATCH] cmd/link: delete unreachable hash collision check MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This expression in readsym: dup != nil && len(dup.P) > 0 && strings.HasPrefix(s.Name, "gclocals·") can never be true: if dup != nil, then s.Name is ".dup" (and this is not new: the same broken logic is present in 1.4, at least). Delete the whole block. Change-Id: I33b14d9a82b292116d6fd79d22b38e3842501317 Reviewed-on: https://go-review.googlesource.com/20970 Run-TryBot: Michael Hudson-Doyle TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- src/cmd/link/internal/ld/objfile.go | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/cmd/link/internal/ld/objfile.go b/src/cmd/link/internal/ld/objfile.go index 130347e7fd..6bf3d73a41 100644 --- a/src/cmd/link/internal/ld/objfile.go +++ b/src/cmd/link/internal/ld/objfile.go @@ -255,14 +255,6 @@ overwrite: } } - if len(s.P) > 0 && dup != nil && len(dup.P) > 0 && strings.HasPrefix(s.Name, "gclocals·") { - // content-addressed garbage collection liveness bitmap symbol. - // double check for hash collisions. - if !bytes.Equal(s.P, dup.P) { - log.Fatalf("dupok hash collision for %s in %s and %s", s.Name, s.File, pn) - } - } - if s.Type == obj.STEXT { s.Args = rdint32(f) s.Locals = rdint32(f) -- 2.48.1