]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: fix ARM gold linker check
authorElias Naur <elias.naur@gmail.com>
Wed, 25 May 2016 11:24:36 +0000 (13:24 +0200)
committerElias Naur <elias.naur@gmail.com>
Wed, 25 May 2016 11:50:49 +0000 (11:50 +0000)
CL 23400 introduced a check to make sure the gold linker is used
on ARM host links. The check itself works, but the error checking
logic was reversed; fix it.

I manually verified that the check now correctly rejects host links
on my RPi2 running an ancient rasbian without the gold linker
installed.

Updates #15696

Change-Id: I927832620f0a60e91a71fdedf8cbd2550247b666
Reviewed-on: https://go-review.googlesource.com/23421
Run-TryBot: Elias Naur <elias.naur@gmail.com>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/cmd/link/internal/ld/lib.go

index 3860287e6760333bbc1bb1367b5a0e492a3a1b29..da00de8547c748f653525fda3d94d38fe9ca70b3 100644 (file)
@@ -1142,7 +1142,7 @@ func hostlink() {
                        // back to ld.bfd. So we parse the version information
                        // and provide a useful error if gold is missing.
                        cmd := exec.Command(extld, "-fuse-ld=gold", "-Wl,--version")
-                       if out, err := cmd.CombinedOutput(); err != nil {
+                       if out, err := cmd.CombinedOutput(); err == nil {
                                if !bytes.Contains(out, []byte("GNU gold")) {
                                        log.Fatalf("ARM external linker must be gold (issue #15696), but is not: %s", out)
                                }