...

Text file src/cmd/cgo/internal/test/issue9400/asm_arm.s

Documentation: cmd/cgo/internal/test/issue9400

     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//go:build gc
     6
     7#include "textflag.h"
     8
     9TEXT cas<>(SB),NOSPLIT,$0
    10	MOVW	$0xffff0fc0, R15 // R15 is PC
    11
    12TEXT ·RewindAndSetgid(SB),NOSPLIT|NOFRAME,$0-0
    13	// Save link register
    14	MOVW	R14, R4
    15
    16	// Rewind stack pointer so anything that happens on the stack
    17	// will clobber the test pattern created by the caller
    18	ADD	$(1024 * 8), R13
    19
    20	// Ask signaller to setgid
    21	MOVW	$·Baton(SB), R2
    22storeloop:
    23	MOVW	0(R2), R0
    24	MOVW	$1, R1
    25	BL	cas<>(SB)
    26	BCC	storeloop
    27
    28	// Wait for setgid completion
    29loop:
    30	MOVW	$0, R0
    31	MOVW	$0, R1
    32	BL	cas<>(SB)
    33	BCC	loop
    34
    35	// Restore stack
    36	SUB	$(1024 * 8), R13
    37
    38	MOVW	R4, R14
    39	RET

View as plain text