blob: 8377717aa70766a241979fc01b5d6eff6842926b [file] [log] [blame]
# Test that the -randlayout flag randomizes function order and
# generates a working binary.
[short] skip
# Build with random layout using one seed, then run ...
go build -o prog123.exe -ldflags=-randlayout=123
exec ./prog123.exe
# ... now build with a different seed and run.
go build -x -o prog456.exe -ldflags=-randlayout=456
exec ./prog456.exe
# Capture symbols (sorted by address)
go tool nm prog123.exe
cp stdout syms123.txt
# Capture symbols (sorted by address)
go tool nm prog456.exe
cp stdout syms456.txt
# Output should be different.
! cmp syms123.txt syms456.txt
-- go.mod --
module main
go 1.20
-- mymain.go --
package main
func main() {
println("Hi mom!")
}