github.com/riscv/riscv-go@v0.0.0-20200123204226-124ebd6fcc8e/misc/cgo/test/issue9400/asm_amd64x.s (about) 1 // Copyright 2014 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build amd64 amd64p32 6 // +build !gccgo 7 8 #include "textflag.h" 9 10 TEXT ·RewindAndSetgid(SB),NOSPLIT,$0-0 11 // Rewind stack pointer so anything that happens on the stack 12 // will clobber the test pattern created by the caller 13 ADDQ $(1024 * 8), SP 14 15 // Ask signaller to setgid 16 MOVL $1, ·Baton(SB) 17 18 // Wait for setgid completion 19 loop: 20 PAUSE 21 MOVL ·Baton(SB), AX 22 CMPL AX, $0 23 JNE loop 24 25 // Restore stack 26 SUBQ $(1024 * 8), SP 27 RET