You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
garble/testdata/scripts/asm.txt

65 lines
1.1 KiB
Plaintext

# TODO: support arm64, at least
[!386] [!amd64] skip 'the assembly is only written for 386 and amd64'
env GOGARBLE=test/main
garble build
exec ./main
cmp stderr main.stderr
! binsubstr main$exe 'privateAdd' 'PublicAdd'
[short] stop # no need to verify this with -short
garble -tiny build
exec ./main
cmp stderr main.stderr
! binsubstr main$exe 'privateAdd' 'PublicAdd'
go build
exec ./main
cmp stderr main.stderr
binsubstr main$exe 'privateAdd' 'PublicAdd'
-- go.mod --
module test/main
go 1.17
-- main.go --
package main
import (
"test/main/imported"
)
func privateAdd(x, y int32) int32
func main() {
println(privateAdd(1, 2))
println(imported.PublicAdd(3, 4))
}
-- main_x86.s --
//go:build 386 || amd64
TEXT ·privateAdd(SB),$0-16
MOVL x+0(FP), BX
MOVL y+4(FP), BP
ADDL BP, BX
MOVL BX, ret+8(FP)
RET
-- imported/imported.go --
package imported
func PublicAdd(x, y int32) int32
-- imported/imported_x86.s --
//go:build 386 || amd64
TEXT ·PublicAdd(SB),$0-16
MOVL x+0(FP), BX
MOVL y+4(FP), BP
ADDL BP, BX
MOVL BX, ret+8(FP)
RET
-- main.stderr --
3
7