From owner-svn-src-head@FreeBSD.ORG Fri Mar 2 13:05:35 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DD3C2106566C; Fri, 2 Mar 2012 13:05:35 +0000 (UTC) (envelope-from theraven@FreeBSD.org) Received: from theravensnest.org (theravensnest.org [109.169.23.128]) by mx1.freebsd.org (Postfix) with ESMTP id 7117D8FC12; Fri, 2 Mar 2012 13:05:35 +0000 (UTC) Received: from [192.168.0.2] (cpc1-cwma8-2-0-cust257.7-3.cable.virginmedia.com [82.20.153.2]) (authenticated bits=0) by theravensnest.org (8.14.4/8.14.4) with ESMTP id q22D5Xra091035 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Fri, 2 Mar 2012 13:05:34 GMT (envelope-from theraven@FreeBSD.org) Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=us-ascii From: David Chisnall In-Reply-To: <20120302125334.GH75778@deviant.kiev.zoral.com.ua> Date: Fri, 2 Mar 2012 13:05:28 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <0F23DDD1-1CAC-4E72-A3CB-56B81F0C0790@FreeBSD.org> References: <201203011845.q21IjQqt091350@svn.freebsd.org> <20120302125334.GH75778@deviant.kiev.zoral.com.ua> To: Konstantin Belousov X-Mailer: Apple Mail (2.1257) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Kirk McKusick Subject: Re: svn commit: r232351 - in head/sys: kern sys ufs/ffs ufs/ufs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Mar 2012 13:05:36 -0000 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=