]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: correct gccgo buildid file on ARM
authorIan Lance Taylor <iant@golang.org>
Thu, 13 Sep 2018 22:02:27 +0000 (15:02 -0700)
committerIan Lance Taylor <iant@golang.org>
Fri, 14 Sep 2018 16:46:11 +0000 (16:46 +0000)
The GNU assembler for ARM treats @ as a comment character, so section
types must be written using % instead.

Fixes https://gcc.gnu.org/PR87260.

Change-Id: I5461e4bf5b20793db321f540c7f25a9e6e12b6f4
Reviewed-on: https://go-review.googlesource.com/135297
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
src/cmd/go/internal/work/buildid.go

index f6b79711f9d8ffc2701c56446c2ef9c725972c0a..8b97e8b75b88535b2d51fe8e77e6b0cd01016307 100644 (file)
@@ -348,8 +348,12 @@ func (b *Builder) gccgoBuildIDELFFile(a *Action) (string, error) {
        }
        fmt.Fprintf(&buf, "\n")
        if cfg.Goos != "solaris" {
-               fmt.Fprintf(&buf, "\t"+`.section .note.GNU-stack,"",@progbits`+"\n")
-               fmt.Fprintf(&buf, "\t"+`.section .note.GNU-split-stack,"",@progbits`+"\n")
+               secType := "@progbits"
+               if cfg.Goarch == "arm" {
+                       secType = "%progbits"
+               }
+               fmt.Fprintf(&buf, "\t"+`.section .note.GNU-stack,"",%s`+"\n", secType)
+               fmt.Fprintf(&buf, "\t"+`.section .note.GNU-split-stack,"",%s`+"\n", secType)
        }
 
        if cfg.BuildN || cfg.BuildX {