// Kernel: the operand forms the GOROOT campaign surfaced — numeric // PC-relative jumps, symbol-immediate materialisation (the toolchain rewrites // MOVQ $sym(SB) into a RIP-relative LEA) and the negated constant-expression // ADJSP the cgo ABI macros write. Bytes are pinned against go tool asm by // TestDifferentialKernels. #include "textflag.h" DATA sd<>(SB)/4, $7 GLOBL sd<>(SB), RODATA, $4 // func Jumps(flag int64) int64 TEXT ·Jumps(SB), NOSPLIT, $0-16 MOVQ flag+0(FP), AX TESTQ AX, AX JEQ 2(PC) MOVQ $1, AX JMP 3(PC) MOVQ $2, AX MOVQ AX, ret+0(FP) RET // func SymImm() int64 TEXT ·SymImm(SB), NOSPLIT, $0-16 MOVQ $sd<>(SB), AX MOVQ $·SymImm(SB), CX MOVQ AX, ret+0(FP) RET // func Frame() TEXT ·Frame(SB), NOSPLIT, $0 PUSHFQ CLD ADJSP $(64 - 8) ADJSP $-(64 - 8) POPFQ RET // func Tls() int64 TEXT ·Tls(SB), NOSPLIT, $0-8 MOVQ TLS, BX MOVQ 0(BX)(TLS*1), AX MOVQ AX, ret+0(FP) RET // func Aligned() int64 TEXT ·Aligned(SB), NOSPLIT, $0-8 MOVQ $1, AX PCALIGN $16 MOVQ $2, AX PCALIGN $32 MOVQ AX, ret+0(FP) RET