
# 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'
stderr '^.*unreachable sym in relocation.*'

-- 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.

