svn commit: r232351 - in head/sys: kern sys ufs/ffs ufs/ufs

David Chisnall theraven at FreeBSD.org
Fri Mar 2 13:05:36 UTC 2012


On 2 Mar 2012, at 12:53, Konstantin Belousov wrote:

> This part of the change breaks KBI. I suggest that for merge to stable/9 
> you would leave the bread and breadn as functions.

Can we not do this for the general case?  Provide them as inline extern functions in the header, and implement them elsewhere, so the compiler will inline them in recompiled code but not break code that isn't?

I'm not sure if we have a guide for how to maintain ABI compatibility, but this should probably be one of the standard things to do.  The recent long discussion about what people want from FreeBSD indicated that a lot of people downstream wanted a stable ABI with a 10-year window and ABIs churn on releases was keeping a lot of people on 7.x or earlier...

Of course, the non-inline implementations of the can be conditionally compiled with COMPAT_9, so that people who don't care about backwards compatibility don't have to have them in their kernels...

David


More information about the svn-src-head mailing list