Server : LiteSpeed System : Linux in-mum-web1333.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64 User : u141265441 ( 141265441) PHP Version : 8.4.3 Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail Directory : /proc/self/root/opt/golang/1.22.0/src/cmd/go/testdata/script/ |
# 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 '^.*undefined symbol 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.