On Wed, 2007-12-26 at 13:11 +0000, Neil Williams wrote: > > So could I ask, from an upstream perspective, what kind of changes in > the underlying lib might *not* cause such a port and therefore end up > with libfoo1 still being buildable against libbar3 yet *still* require > a > SONAME bump to accommodate the transition?
bar.h: typedef unsigned int bar; foo.h: typedef struct { bar a_bar; } exported_foo_type; Then this patch to bar.h: @@ -0,1 +0,1 @@ -typedef unsigned int bar; +typedef size_t bar; is enough to cause an ABI break in libfoo, without needing 'porting' work (though it may well cause print formatting failures on 64 environments and other side effects). -Rob -- GPG key available at: <http://www.robertcollins.net/keys.txt>.
signature.asc
Description: This is a digitally signed message part