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
merge done from the gofrontend repository.

View File

@ -337,8 +337,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 {