blob: 5d2d87644d9d00ded203b80f91191876e4ef020d [file] [log] [blame]
# Test case for issue 47993, in which the linker crashes
# on a bad input instead of issuing an error and exiting.
# This test requires external linking, so use cgo as a proxy
[!cgo] skip
! go build -ldflags='-linkmode=external' .
! stderr 'panic'
[!gccgo] stderr '^.*unreachable sym in relocation.*'
[gccgo] stderr '^.*undefined reference to.*'
-- go.mod --
module issue47993
go 1.16
-- main.go --
package main
type M struct {
b bool
}
// Note the body-less func def here. This is what causes the problems.
func (m *M) run(fp func())
func doit(m *M) {
InAsm()
m.run(func() {
})
}
func main() {
m := &M{true}
doit(m)
}
func InAsm()
-- main.s --
// Add an assembly function so as to leave open the possibility
// that body-less functions in Go might be defined in assembly.
// Currently we just need an empty file here.