1
0
mirror of https://github.com/golang/go synced 2024-10-04 21:11:22 -06:00

cmd/link: external linking can fail on Solaris 11.2+

Workaround external linking issues encountered on Solaris 11.2+ due to
the go.o object file being created with a NULL STT_FILE symtab entry by
using a placeholder name.

Fixes #14957

Change-Id: I89c501b4c548469f3c878151947d35588057982b
Reviewed-on: https://go-review.googlesource.com/21636
Reviewed-by: David Crawshaw <crawshaw@golang.org>
This commit is contained in:
Shawn Walker-Salas 2016-04-07 15:26:57 -07:00 committed by Brad Fitzpatrick
parent 3fafe2e888
commit e79fef8e55

View File

@ -198,7 +198,9 @@ func Asmelfsym() {
// Some linkers will add a FILE sym if one is not present.
// Avoid having the working directory inserted into the symbol table.
putelfsyment(0, 0, 0, STB_LOCAL<<4|STT_FILE, SHN_ABS, 0)
// It is added with a name to avoid problems with external linking
// encountered on some versions of Solaris. See issue #14957.
putelfsyment(putelfstr("go.go"), 0, 0, STB_LOCAL<<4|STT_FILE, SHN_ABS, 0)
numelfsym++
elfbind = STB_LOCAL