Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Mar 2012 13:05:28 +0000
From:      David Chisnall <theraven@FreeBSD.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Kirk McKusick <mckusick@FreeBSD.org>
Subject:   Re: svn commit: r232351 - in head/sys: kern sys ufs/ffs ufs/ufs
Message-ID:  <0F23DDD1-1CAC-4E72-A3CB-56B81F0C0790@FreeBSD.org>
In-Reply-To: <20120302125334.GH75778@deviant.kiev.zoral.com.ua>
References:  <201203011845.q21IjQqt091350@svn.freebsd.org> <20120302125334.GH75778@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
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=20
> 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=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0F23DDD1-1CAC-4E72-A3CB-56B81F0C0790>