cmd/go: add '_go_' suffix to go files compiled by gccgo to avoid naming conflicts

Fixes #8828.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/154410043
This commit is contained in:
Chris Manghane 2014-10-15 13:13:37 -07:00
parent 9aefdc8028
commit 343d113610
4 changed files with 32 additions and 1 deletions

View File

@ -0,0 +1,16 @@
// compile
// Copyright 2014 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Issue 8828: compiling a file with -compiler=gccgo fails if a .c file
// has the same name as compiled directory.
package cgotest
import "./issue8828"
func p() {
issue8828.Bar()
}

View File

@ -0,0 +1,7 @@
// Copyright 2014 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
void foo()
{
}

View File

@ -0,0 +1,8 @@
package issue8828
//void foo();
import "C"
func Bar() {
C.foo()
}

View File

@ -1852,7 +1852,7 @@ func (gccgoToolchain) linker() string {
}
func (gccgoToolchain) gc(b *builder, p *Package, archive, obj string, importArgs []string, gofiles []string) (ofile string, output []byte, err error) {
out := p.Name + ".o"
out := "_go_.o"
ofile = obj + out
gcargs := []string{"-g"}
gcargs = append(gcargs, b.gccArchArgs()...)