whatcanGOwrong
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
var g int = 0
|
||||
|
||||
func compromised(n int64)
|
||||
|
||||
//go:nosplit
|
||||
func skipped() {
|
||||
g++
|
||||
}
|
||||
|
||||
func main() {
|
||||
compromised(1)
|
||||
fmt.Printf("%d\n", g)
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·compromised(SB),NOSPLIT,$0-8
|
||||
CMPQ n+0(FP), $0
|
||||
JNZ notzero
|
||||
RET
|
||||
notzero:
|
||||
MOVQ $0, AX
|
||||
MOVQ $1, AX
|
||||
CALL main·skipped(SB)
|
||||
RET
|
||||
|
||||
Reference in New Issue
Block a user