In a discussion that followed from the idea to provide a stabilized ABI environment as a Flatpak runtime extension, a question has arisen: is there a guarantee that two dylib artifacts created:
- from the same source revision;
- by the same release of the compiler (possibly built into different binaries from the source with the same configuration options);
- for the same target;
- with the same compiler flags;
- on different machines or at different times;
have exactly the same ABI? For example, what goes into the magic hashes that the compiler embeds into sonames and dynamic symbols?
If such a guarantee can be provided, the problem of lack of ABI stability might be possible to solve elegantly in Flatpak and similar app containerization platforms, with no need for the Rust language developers to commit to any ABI stability above the minimum described above.