There are other ways that distros can work around when upstream "breaks"Well the distro can just append _v2, _v3 to the name of the functionA runtime check is still done, with per-module vermagic which distrosFrom my point of view, it is. We need to allow changing ABI for some
can change when they bump the ABI version. Is it really necessary to
have more than that (i.e., per-symbol versioning)?
modules while maintaining it for others.
In fact I think that there should be version not only for every exported
symbol (in the EXPORT_SYMBOL() sense), but also for every public type
(in the sense of eg. structure defined in the public header file).
or type if it has to break compat for some reason. Would that be enough?
the ABI, sometimes they can rename functions, and others they can
"preload" structures with padding in anticipation for when/if fields get
added to them. But that's all up to the distros, no need for us to
worry about that at all :)