On 07/13/2016 09:10 AM, Stefan Nuxoll wrote: > ABI stability is entirely dependent on compiler version, AFAIK. > Within the same version of rustc there should be no issues with > dynamic linking, I suspect that may true in general, but I don't think it's promised, and I don't really trust it. We need to be able to patch bugs and security fixes, and it's really hard to tell what will change the ABI. For instance, all reachable symbols are exposed in the dynamic library, not just public ones. This is necessary for generics that are instantiated elsewhere to get to their internals. So you'd have to make sure that whatever you're patching doesn't change reachability. Inline tags can also affect symbols, and I'm sure there are other things that I'm not thinking of right now. I really think we should stay away from this until Rust gets a true stable ABI. > of course whenever we upgrade rustc we'd need a mass rebuild of every > rust package but we'd have to do the same thing with static linking. With unstable dynamic libraries, we'd have to rebuild everything all at once, and push them through bodhi together, with precise Requires tags to keep them all in sync. With static linking, we can relax a little. Only leaf packages have to be rebuilt, and only if the update actually requires propagating, which can be left to maintainer discretion. For instance, even a full rustc rebase doesn't necessarily need to rebuild all rust packages. And since there's no runtime dependency, the rebuilt packages can be pushed through bodhi independently. -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx