
On Thu, Apr 24, 2008 at 09:00:43AM +0100, Daniel James wrote:
I think this would be a very good thing, but I'm not sure how practical it would be. There are already at least two changes in the release branch which break ABI compatability (I might be wrong, I only had a quick look at the changesets):
Isn't it possible to revise every change and to partly revert/find alternatives?
Is this really a problem? It affects only a private header file in detail/ no user should use. The changelog isn't very verbose but "Disable sync use for arm and hppa." could be justified if the previous code was just buggy or unsupported (no need to keep the some compilation bug for a new version as in the old one).
We do so much in headers that this would require a lot of discipline and prevent a lot of fixes. It'd be nice to be able to test for ABI compatibility, perhaps by running the tests with one version, and the libraries with another. Would that be effective? We'd also need more frequent releases so that those fixes could be pushed out sooner but we need that anyway.
Debian (www.debian.org) contains the packages icheck: C interface ABI/API checker abicheck: binary compatibility checking tool Comparing the symbols in the libraries is probably more effective than applying a few tests. Jens