You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With go 1.0.3 in linux-amd64, if I build my program with cgo (linking with sqlite), it
keeps strings pointing to the $GOROOT.
This is important in the nix package manager [1], because packages are 'grepped' for
references to other paths, to infer the runtime dependencies.
Having GOROOT=/nix/store/wzkcdbnqhgvirmxxv9lyarvfqcpm8gl3-go-1.0.3/share/go,
specifically, for my program "storebrowse" [2] that links with sqlite, I get:
[viric@bergamota:~/storebrowse]$ strings storebrowse | grep go-1.0
/nix/store/wzkcdbnqhgvirmxxv9lyarvfqcpm8gl3-go-1.0.3/share/go
/nix/store/wzkcdbnqhgvirmxxv9lyarvfqcpm8gl3-go-1.0.3/share/go/pkg/linux_amd64/runtime/cgo.a(gcc_util.o)(.data.rel.local)
/nix/store/wzkcdbnqhgvirmxxv9lyarvfqcpm8gl3-go-1.0.3/share/go/pkg/linux_amd64/runtime/cgo.a(gcc_util.o)(.rodata.str1.8)
/nix/store/wzkcdbnqhgvirmxxv9lyarvfqcpm8gl3-go-1.0.3/share/go/pkg/linux_amd64/runtime/cgo.a(gcc_linux_amd64.)(.data.rel)
/nix/store/wzkcdbnqhgvirmxxv9lyarvfqcpm8gl3-go-1.0.3/share/go/pkg/linux_amd64/runtime/cgo.a(gcc_linux_amd64.)(.rodata.str1.8)
wzkcdbnqhgvirmxxv9lyarvfqcpm8gl3-go-1.0.3
Are the files there referred used for anything? binutils strip -s didn't help.
[1] http://nixos.org/nix
[2] http://viric.name/cgi-bin/storebrowse
The text was updated successfully, but these errors were encountered:
Those are symbol names. The full path was being used to disambiguate
different object files. The running binary will never look for those files.
The names are much shorter at tip and omit the full paths. This will be
part of Go 1.1.
by viriketo:
The text was updated successfully, but these errors were encountered: