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
If you try to build a package into a shared library on ppc64le and that package defines a type that embeds a type from another package that's in another shared library, you get errors like:
/usr/lib/gcc-cross/powerpc64le-linux-gnu/5/../../../../powerpc64le-linux-gnu/bin/ld: /tmp/go-link-803871634/go.o: In function `local.github.com/godbus/dbus.(*unixTransport).CloseRead':
go.go:(.text+0x32690): call to `net.(*UnixConn).CloseRead' lacks nop, can't restore toc; recompile with -fPIC
/usr/lib/gcc-cross/powerpc64le-linux-gnu/5/../../../../powerpc64le-linux-gnu/bin/ld: go.go:(.text+0x32690): unresolvable R_PPC64_REL24 against `net.(*UnixConn).CloseRead'
This is because the tail call in the generated method is not PIC according to the platform rules. The fix is easy -- do not generate tail calls in dynlink code on ppc64le -- so I'm going to add this issue to the Go 1.7 milestone for a decision. (I can keep it Ubuntu-specific if the decision is not to accept it for 1.7).
The text was updated successfully, but these errors were encountered:
If you try to build a package into a shared library on ppc64le and that package defines a type that embeds a type from another package that's in another shared library, you get errors like:
This is because the tail call in the generated method is not PIC according to the platform rules. The fix is easy -- do not generate tail calls in dynlink code on ppc64le -- so I'm going to add this issue to the Go 1.7 milestone for a decision. (I can keep it Ubuntu-specific if the decision is not to accept it for 1.7).
The text was updated successfully, but these errors were encountered: