From 292ad592913e3143a7b4db8ddb0513aea3020e2b Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Wed, 4 Nov 2015 15:54:41 -0500 Subject: [PATCH] cmd/compile: do not emit args_stackmap for func _ Fixes #11699. Change-Id: I01bf506d76260bcdf828bbde52791e328aa441a5 Reviewed-on: https://go-review.googlesource.com/16921 Reviewed-by: Ian Lance Taylor --- src/cmd/compile/internal/gc/pgen.go | 3 +++ test/fixedbugs/issue11699.go | 12 ++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 test/fixedbugs/issue11699.go diff --git a/src/cmd/compile/internal/gc/pgen.go b/src/cmd/compile/internal/gc/pgen.go index a40738375d..ea9b3687e1 100644 --- a/src/cmd/compile/internal/gc/pgen.go +++ b/src/cmd/compile/internal/gc/pgen.go @@ -129,6 +129,9 @@ func gcsymdup(s *Sym) { } func emitptrargsmap() { + if Curfn.Func.Nname.Sym.Name == "_" { + return + } sym := Lookup(fmt.Sprintf("%s.args_stackmap", Curfn.Func.Nname.Sym.Name)) nptr := int(Curfn.Type.Argwid / int64(Widthptr)) diff --git a/test/fixedbugs/issue11699.go b/test/fixedbugs/issue11699.go new file mode 100644 index 0000000000..965c87fa8d --- /dev/null +++ b/test/fixedbugs/issue11699.go @@ -0,0 +1,12 @@ +// compile + +// Copyright 2015 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 11699; used to fail with duplicate _.args_stackmap symbols. + +package p + +func _() +func _() -- 2.48.1