re PR go/85429 (Several gotools tests FAIL with Solaris as)
PR go/85429 cmd/go: add Solaris assembler syntax for gccgo buildid file The Solaris assembler uses a different syntax for section directives. This is https://golang.org/cl/109140 ported over to gccgo. Reviewed-on: https://go-review.googlesource.com/109141 From-SVN: r259719
This commit is contained in:
parent
4c8906c942
commit
2885a4939a
@ -1,4 +1,4 @@
|
||||
7b37b9c3f9338a1387ee1e2301de89c3d2d87d2b
|
||||
32861fd0acb0f3232f66be4791388b27e71c9990
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
@ -309,7 +309,11 @@ func (b *Builder) gccgoBuildIDELFFile(a *Action) (string, error) {
|
||||
sfile := a.Objdir + "_buildid.s"
|
||||
|
||||
var buf bytes.Buffer
|
||||
fmt.Fprintf(&buf, "\t"+`.section .go.buildid,"e"`+"\n")
|
||||
if cfg.Goos != "solaris" {
|
||||
fmt.Fprintf(&buf, "\t"+`.section .go.buildid,"e"`+"\n")
|
||||
} else {
|
||||
fmt.Fprintf(&buf, "\t"+`.section ".go.buildid",#exclude`+"\n")
|
||||
}
|
||||
fmt.Fprintf(&buf, "\t.byte ")
|
||||
for i := 0; i < len(a.buildID); i++ {
|
||||
if i > 0 {
|
||||
@ -322,8 +326,10 @@ func (b *Builder) gccgoBuildIDELFFile(a *Action) (string, error) {
|
||||
fmt.Fprintf(&buf, "%#02x", a.buildID[i])
|
||||
}
|
||||
fmt.Fprintf(&buf, "\n")
|
||||
fmt.Fprintf(&buf, "\t"+`.section .note.GNU-stack,"",@progbits`+"\n")
|
||||
fmt.Fprintf(&buf, "\t"+`.section .note.GNU-split-stack,"",@progbits`+"\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")
|
||||
}
|
||||
|
||||
if cfg.BuildN || cfg.BuildX {
|
||||
for _, line := range bytes.Split(buf.Bytes(), []byte("\n")) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user