Re: go -buildmode=shared for packages
Hi Michael, thanks for the reply!
On Mon Jul 28, 2025 at 4:30 AM CEST, Michael Hudson-Doyle wrote:
I think the main reason is that there is simply no concept of ABI
compatibility in Go. Even your hypothetical "minimal security fix" is
quite likely to break ABI in the Go sense, in my (old) experience.
Yeah, that makes sense, and I'm sadly aware of it. Still, this would not
exclude others benefits of shared objects, like disk space savings,
right?
Also, it should be possible to make changes to the non exported stuff of
a go file without risks of breaking ABI, right? In other words, if
I change the implementation of a function without touching at all
structs, things would still work right?
Having to effectively transition all go packages to a new compiler
version doesn't seem a *huge* issue to me, as we have similar issues
today, just hidden behind static linking.
Speaking as the person who implemented most of -buildmode=shared,
I really should have worked on that end of things first :(
It's never too late! And thank you for that work, really :)
Reply to: