go: cmd/link: does not support multiple TOCs in internal linking mode

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

master

root@localhost:~/go# git rev-parse HEAD
eca45997dfd6cd14a59fbdea2385f6648a0dc786
root@localhost:~/go#

Does this issue reproduce with the latest release?

yes

What operating system and processor architecture are you using (go env)?

ppc64le

What did you do?

export PATH=/usr/local/go/bin/:$PATH export GOROOT_BOOTSTRAP=go env GOROOT

root@localhost:~/go/bin# go version go version go1.8.3 linux/ppc64le

cloned the latest code here:

root@localhost:~/go/src# pwd /root/go/src

run make.bash root@localhost:~/go/src# ./make.bash

Use the build go binary:

root@localhost:~/go/bin# pwd
/root/go/bin
root@localhost:~/go/bin# ./go version
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0xc88320 pc=0x112c8]

runtime stack:
invalid spdelta runtime/cgo(.text).sigfillset 0x112c0 0x112c8 0x0 -1
runtime.throw(0x44825a, 0x2a)
	/root/go/src/runtime/panic.go:606 +0x68
runtime.sigpanic()
	/root/go/src/runtime/signal_unix.go:360 +0x264
invalid spdelta runtime/cgo(.text).sigfillset 0x112c0 0x112c8 0x0 -1

goroutine 1 [running]:
runtime.systemstack_switch()
	/root/go/src/runtime/asm_ppc64x.s:209 +0x10 fp=0xc420036758 sp=0xc420036738 pc=0x64e40
runtime.main()
	/root/go/src/runtime/proc.go:128 +0x60 fp=0xc4200367c0 sp=0xc420036758 pc=0x3cf80
runtime.goexit()
	/root/go/src/runtime/asm_ppc64x.s:1353 +0x4 fp=0xc4200367c0 sp=0xc4200367c0 pc=0x67464
root@localhost:~/go/bin#

If possible, provide a recipe for reproducing the error. A complete runnable program is good. A link on play.golang.org is best.

What did you expect to see?

Instead, I should see a golang version

What did you see instead?

I see a SIGSEGV

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 31 (22 by maintainers)

Commits related to this issue

Most upvoted comments

I’m not familiar with the ABI to tell. I would guess as long as we actually understand the ABI, it won’t take much work. Maybe keep track the multiple TOCs, and group them together (?) according to the ABI?