cmd/go: correct gccgo buildid file on ARM

Bring in https://golang.org/cl/135297 from the gc repository to fix a
    GCC bug report.
    
    Original CL description:
    
        The GNU assembler for ARM treats @ as a comment character, so section
        types must be written using % instead.
    
        Fixes https://gcc.gnu.org/PR87260.
    
    Reviewed-on: https://go-review.googlesource.com/135360

From-SVN: r264330
This commit is contained in:
Ian Lance Taylor 2018-09-14 19:42:01 +00:00
parent 01b0acb761
commit e47515aa89
2 changed files with 7 additions and 3 deletions

View File

@ -1,4 +1,4 @@
3fd61802286c81e5fb672f682d9e661181184d1f 92a14213215fd93df7240fa9d376a1213b1d5a74
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.

View File

@ -337,8 +337,12 @@ func (b *Builder) gccgoBuildIDELFFile(a *Action) (string, error) {
} }
fmt.Fprintf(&buf, "\n") fmt.Fprintf(&buf, "\n")
if cfg.Goos != "solaris" { if cfg.Goos != "solaris" {
fmt.Fprintf(&buf, "\t"+`.section .note.GNU-stack,"",@progbits`+"\n") secType := "@progbits"
fmt.Fprintf(&buf, "\t"+`.section .note.GNU-split-stack,"",@progbits`+"\n") 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 { if cfg.BuildN || cfg.BuildX {