Skip to content

Commit

Permalink
misc/cgo/test: add mips64x test case for issue9400
Browse files Browse the repository at this point in the history
Change-Id: If2b4abb6ff322c20e35de025298c8e5ab53edd42
Reviewed-on: https://go-review.googlesource.com/19808
Reviewed-by: Minux Ma <[email protected]>
  • Loading branch information
cherrymui authored and minux committed May 4, 2016
1 parent dcd6138 commit 094e5a9
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions misc/cgo/test/issue9400/asm_mips64x.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright 2016 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 mips64 mips64le
// +build !gccgo

#include "textflag.h"

#define SYNC WORD $0xf

TEXT ·RewindAndSetgid(SB),NOSPLIT|NOFRAME,$0-0
// Rewind stack pointer so anything that happens on the stack
// will clobber the test pattern created by the caller
ADDV $(1024*8), R29

// Ask signaller to setgid
MOVW $1, R1
SYNC
MOVW R1, ·Baton(SB)
SYNC

// Wait for setgid completion
loop:
SYNC
MOVW ·Baton(SB), R1
OR R2, R2, R2 // hint that we're in a spin loop
BNE R1, loop
SYNC

// Restore stack
ADDV $(-1024*8), R29
RET

0 comments on commit 094e5a9

Please sign in to comment.