mirror of
https://github.com/golang/go
synced 2024-11-05 15:26:15 -07:00
cmd/go: fix TestCgoConsistentResults when using clang instead of gcc
As Ian said at: https://github.com/golang/go/issues/19964#issuecomment-296347750 > the -fdebug-prefix-map option is being applied to the debug info but > not to the initial .file pseudo-op. > > My only current thought for how to fix this is that instead of > compiling $WORK/a/b/foo.c, we should change the command to (cd > $WORK/a/b && clang -g -c foo.c). We'll still want > -fdebug-prefix-map, I think, but that should fix the .file > pseudo-op. This CL does that. Fixes #19964 Change-Id: I442b1201cab9e0448fc520ab243ad364d59cd7c3 Reviewed-on: https://go-review.googlesource.com/41629 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
94dd0f0227
commit
8ae60dc1bb
@ -2977,7 +2977,10 @@ func (b *Builder) gfortran(p *load.Package, out string, flags []string, ffile st
|
||||
func (b *Builder) ccompile(p *load.Package, outfile string, flags []string, file string, compiler []string) error {
|
||||
file = mkAbs(p.Dir, file)
|
||||
desc := p.ImportPath
|
||||
output, err := b.runOut(p.Dir, desc, nil, compiler, flags, "-o", outfile, "-c", file)
|
||||
if !filepath.IsAbs(outfile) {
|
||||
outfile = filepath.Join(p.Dir, outfile)
|
||||
}
|
||||
output, err := b.runOut(filepath.Dir(file), desc, nil, compiler, flags, "-o", outfile, "-c", filepath.Base(file))
|
||||
if len(output) > 0 {
|
||||
// On FreeBSD 11, when we pass -g to clang 3.8 it
|
||||
// invokes its internal assembler with -dwarf-version=2.
|
||||
|
Loading…
Reference in New Issue
Block a user