diff options
| author | Ian Lance Taylor <iant@golang.org> | 2015-04-28 17:58:17 -0700 |
|---|---|---|
| committer | Ian Lance Taylor <iant@golang.org> | 2015-04-29 16:57:13 +0000 |
| commit | e2b6cebcd697345495bafddba000ff82fc96c0db (patch) | |
| tree | 40a227e32c91e3b7cead00401c8950e4c7ac0cca | |
| parent | 282db6273e1194f62af9cebfdd165dea3c63b1a3 (diff) | |
| download | go-e2b6cebcd697345495bafddba000ff82fc96c0db.tar.xz | |
misc/cgo/test/issue9400: fix to build with gccgo
This doesn't test much with gccgo, but at least it builds now, and the
test does, unsurprisingly, pass. A proper test would require adding
assembly files in GCC syntax for all platforms that gccgo supports,
which would be infeasible.
Also added copyright headers to the asm files.
Change-Id: Icea5af29d7d521a0681506ddb617a79705b76d33
Reviewed-on: https://go-review.googlesource.com/9417
Reviewed-by: Minux Ma <minux@golang.org>
| -rw-r--r-- | misc/cgo/test/issue9400/asm_386.s | 6 | ||||
| -rw-r--r-- | misc/cgo/test/issue9400/asm_amd64x.s | 5 | ||||
| -rw-r--r-- | misc/cgo/test/issue9400/asm_arm.s | 6 | ||||
| -rw-r--r-- | misc/cgo/test/issue9400/asm_arm64.s | 6 | ||||
| -rw-r--r-- | misc/cgo/test/issue9400/asm_ppc64x.s | 5 | ||||
| -rw-r--r-- | misc/cgo/test/issue9400/gccgo.go | 24 |
6 files changed, 52 insertions, 0 deletions
diff --git a/misc/cgo/test/issue9400/asm_386.s b/misc/cgo/test/issue9400/asm_386.s index b277fa1c1b..e37a54f2af 100644 --- a/misc/cgo/test/issue9400/asm_386.s +++ b/misc/cgo/test/issue9400/asm_386.s @@ -1,3 +1,9 @@ +// 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. + +// +build !gccgo + #include "textflag.h" TEXT ·RewindAndSetgid(SB),NOSPLIT,$0-0 diff --git a/misc/cgo/test/issue9400/asm_amd64x.s b/misc/cgo/test/issue9400/asm_amd64x.s index 2c97e1375d..f09e95d4cf 100644 --- a/misc/cgo/test/issue9400/asm_amd64x.s +++ b/misc/cgo/test/issue9400/asm_amd64x.s @@ -1,4 +1,9 @@ +// 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. + // +build amd64 amd64p32 +// +build !gccgo #include "textflag.h" diff --git a/misc/cgo/test/issue9400/asm_arm.s b/misc/cgo/test/issue9400/asm_arm.s index d9d2abc2d4..5c5983d4c2 100644 --- a/misc/cgo/test/issue9400/asm_arm.s +++ b/misc/cgo/test/issue9400/asm_arm.s @@ -1,3 +1,9 @@ +// 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. + +// +build !gccgo + #include "textflag.h" TEXT cas<>(SB),NOSPLIT,$0 diff --git a/misc/cgo/test/issue9400/asm_arm64.s b/misc/cgo/test/issue9400/asm_arm64.s index 0c024e8333..cba525f4c0 100644 --- a/misc/cgo/test/issue9400/asm_arm64.s +++ b/misc/cgo/test/issue9400/asm_arm64.s @@ -1,3 +1,9 @@ +// 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. + +// +build !gccgo + #include "textflag.h" TEXT ·RewindAndSetgid(SB),NOSPLIT,$-8-0 diff --git a/misc/cgo/test/issue9400/asm_ppc64x.s b/misc/cgo/test/issue9400/asm_ppc64x.s index 0aaa10cdd0..7dfe37e7c6 100644 --- a/misc/cgo/test/issue9400/asm_ppc64x.s +++ b/misc/cgo/test/issue9400/asm_ppc64x.s @@ -1,4 +1,9 @@ +// 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. + // +build ppc64 ppc64le +// +build !gccgo #include "textflag.h" diff --git a/misc/cgo/test/issue9400/gccgo.go b/misc/cgo/test/issue9400/gccgo.go new file mode 100644 index 0000000000..6b9d5fa3a7 --- /dev/null +++ b/misc/cgo/test/issue9400/gccgo.go @@ -0,0 +1,24 @@ +// 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. + +// +build gccgo + +package issue9400 + +import ( + "runtime" + "sync/atomic" +) + +// The test for the gc compiler resets the stack pointer so that the +// stack gets modified. We don't have a way to do that for gccgo +// without writing more assembly code, which we haven't bothered to +// do. So this is not much of a test. + +func RewindAndSetgid() { + atomic.StoreInt32(&Baton, 1) + for atomic.LoadInt32(&Baton) != 0 { + runtime.Gosched() + } +} |
