From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Luis R. Rodriguez" Subject: Re: [RFC v3 07/13] tables.h: add linker table support Date: Fri, 12 Aug 2016 17:28:05 +0200 Message-ID: <20160812152805.GD3296@wotan.suse.de> References: <1469222687-1600-1-git-send-email-mcgrof@kernel.org> <1469222687-1600-8-git-send-email-mcgrof@kernel.org> <20160729100630.GA27271@nazgul.tnic> <20160808150539.GG3296@wotan.suse.de> <20160809035508.GC11445@nazgul.tnic> <20160812035129.GA3296@wotan.suse.de> <20160812052303.GB12013@nazgul.tnic> <20160812065011.GB3296@wotan.suse.de> <20160812072507.GC12013@nazgul.tnic> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20160812072507.GC12013@nazgul.tnic> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Borislav Petkov Cc: gnomes@lxorguk.ukuu.org.uk, linux-ia64@vger.kernel.org, jkosina@suse.cz, benh@kernel.crashing.org, ming.lei@canonical.com, heiko.carstens@de.ibm.com, platform-driver-x86@vger.kernel.org, paul.gortmaker@windriver.com, hpa@zytor.com, masami.hiramatsu.pt@hitachi.com, linux-arch@vger.kernel.org, sparclinux@vger.kernel.org, xen-devel@lists.xensource.com, linux@arm.linux.org.uk, linux-sh@vger.kernel.org, will.deacon@arm.com, korea.drzix@gmail.com, x86@kernel.org, anil.s.keshavamurthy@intel.com, fontana@sharpeleven.org, torvalds@linux-foundation.org, mingo@redhat.com, linux-arm-kernel@lists.infradead.org, catalin.marinas@arm.com, dvhart@infradead.org, david.vrabel@citrix.com, pali.rohar@gmail.com, keescook@chromium.org, arnd@arndb.de, realmz6@gmail.com, linux@rasmusvillemoes.dk, rusty@rustcorp.com.au, rostedt@goodmis.org, christopher.denicolo@suse.com, jbaron@akamai.com, ananth@ List-Id: linux-arch.vger.kernel.org T24gRnJpLCBBdWcgMTIsIDIwMTYgYXQgMDk6MjU6MDdBTSArMDIwMCwgQm9yaXNsYXYgUGV0a292 IHdyb3RlOgo+IE9uIEZyaSwgQXVnIDEyLCAyMDE2IGF0IDA4OjUwOjExQU0gKzAyMDAsIEx1aXMg Ui4gUm9kcmlndWV6IHdyb3RlOgo+ID4gT24gRnJpLCBBdWcgMTIsIDIwMTYgYXQgMDc6MjM6MDNB TSArMDIwMCwgQm9yaXNsYXYgUGV0a292IHdyb3RlOgo+ID4gPiBPbiBGcmksIEF1ZyAxMiwgMjAx NiBhdCAwNTo1MToyOUFNICswMjAwLCBMdWlzIFIuIFJvZHJpZ3VleiB3cm90ZToKPiA+ID4gPiBP SyBJJ3ZlIGFkZGVkIENPTkZJR19CVUlMRF9BVk9JRF9CSVRST1QuCj4gPiA+IAo+ID4gPiBXaGF0 IGRvZXMgdGhhdCBkbz8KPiA+IAo+ID4gCj4gPiBFbmFibGluZyBpdCBhbGxvd3MgdGhlIGZvcmNl ZCBjb21waWxhdGlvbiBjaG9zZW4gYnkgbWFpbnRhaW5lcnMuCj4gPiBPdGhlcndpc2UgZm9yY2Vk IGNvbXBpbGF0aW9ucyB3aXRoIHRoZSBuZXcgc3BlY2lhbCB0YXJnZXRzIGFyZQo+ID4gaWdub3Jl ZC4KPiAKPiBOaWNlLgo+IAo+ID4gSSd2ZSBnb25lIHdpdGggdGFibGUtb2JqLXkgYW5kIHRhYmxl LWxpYi15IGFzIHdlIGhhdmUKPiA+IHRvIHN1cHBvcnQgYm90aCBsaWIteSBhbmQgb2JqLXkgcmVz cGVjdGl2ZSB0YXJnZXRzLgo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvbGliL0tjb25maWcuZGVidWcg Yi9saWIvS2NvbmZpZy5kZWJ1Zwo+ID4gaW5kZXggMzNlMjk2NmRkNzQxLi43ODkzZTNiOGRhODIg MTAwNjQ0Cj4gPiAtLS0gYS9saWIvS2NvbmZpZy5kZWJ1Zwo+ID4gKysrIGIvbGliL0tjb25maWcu ZGVidWcKPiA+IEBAIC0xODk1LDYgKzE4OTUsMzAgQEAgY29uZmlnIFBST1ZJREVfT0hDSTEzOTRf RE1BX0lOSVQKPiA+ICAKPiA+ICAJICBTZWUgRG9jdW1lbnRhdGlvbi9kZWJ1Z2dpbmctdmlhLW9o Y2kxMzk0LnR4dCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KPiA+ICAKPiA+ICtjb25maWcgQlVJTERf QVZPSURfQklUUk9UCj4gPiArCWJvb2wgIkFsd2F5cyBmb3JjZSBidWlsZGluZyBzcGVjaWFsbHkg YW5ub3RhdGVkIgo+IAo+IAkJCQkJICAgLi4uYW5ub3RhdGVkIHRhcmdldHMiCj4gCj4gPiArCWRl ZmF1bHQgeQo+ID4gKwloZWxwCj4gPiArCSAgSWYgZW5hYmxlZCB0aGVuIHRoZSB0aGUgc3BlY2lh bCB0YWJsZS0qIE1ha2VmaWxlIHRhcmdldHMgd2lsbCBhbHdheXMKPiA+ICsJICBiZSBmb3JjZWQg dG8gYmUgY29tcGlsZWQgZXZlbiBpZiB0aGVpciByZXNwZWN0aXZlIENPTkZJR18gb3B0aW9uIGhh cwo+ID4gKwkgIGJlZW4gZGlzYWJsZWQsIGJ1dCBpdHMgb2JqZWN0cyB3aWxsIG9ubHkgYmUgbGlu a2VkIGluIGlmIHRoZSBzYW1lCj4gPiArCSAgcmVzcGVjdGl2ZSBDT05GSUdfIG9wdGlvbiBoYXMg YmVlbiBlbmFibGVkLiBUaGlzIGhlbHBzIGF2b2lkIGNvZGUKPiA+ICsJICBiaXQgcm90IGlzc3Vl cywgdXNlIGZvciB0aGVzZSB0YXJnZXRzIHNob3VsZCBiZSBjYXJlZnVsbHkgY29uc2lkcmVkCj4g PiArCSAgYnkgbWFpbnRhaW5lcnMuIFlvdSBjYW4gc2FmZWx5IGVuYWJsZSB0aGlzIG9wdGlvbiBh dCB0aGUgZXhwZW5zZSBvZgo+ID4gKwkgIGluY3JlYXNpbmcgY29tcGlsZSB0aW1lIHNsaWdodGx5 LiBFbmFibGluZyB0aGlzIG9wdGlvbiBoZWxwcyBhdm9pZAo+IAo+IHMvc2xpZ2h0bHkvLwo+IAo+ IDotKQo+IAo+ID4gKwkgIGNvZGUgYml0IHJvdCBieSB0YWtpbmcgYWR2YW50YWdlIG9mIHRoZSBm YWNpbGl0aWVzIHByb3ZpZGVkIGFuZAo+ID4gKwkgIGVuYWJsZWQgYnkgdXNpbmcgbGlua2VyIHRh YmxlcyBkb2N1bWVudGVkIHVuZGVyOgo+ID4gKwo+ID4gKwkgIGluY2x1ZGUvbGludXgvdGFibGVz LmgKPiA+ICsKPiA+ICsJICBUaGUgc3BlY2lhbCB0YXJnZXRzIHN1cHBvcnRlZCBhcmU6Cj4gPiAr Cj4gPiArCSAgICBvIHRhYmxlLW9iai15Cj4gPiArCSAgICBvIHRhYmxlLWxpYi15Cj4gPiArCj4g PiArCSAgU2F5IFkgdW5sZXNzIHlvdSBhcmUgYSBncnVtcHkgbWFpbnRhaW5lciBhbmQgZG9uJ3Qg dHJ1c3Qgb3RoZXIKPiA+ICsJICBtYWludGFpbmVyJ3MganVkZ2VtZW50cyBvbiB3aGF0IGNvZGUg c2hvdWxkIGFsd2F5cyBnZXQgY29tcGlsZWQuCj4gCj4gLi4uIG9yIHlvdSdyZSBydW5uaW5nIGEg dGlueS1jb25maWcgc2V0dXAKCkV2ZW4gc28sIHlvdSBkb24ndCBsaW5rIHRoZSBjb21waWxlZCBl eHRyYSBjb2RlIHNvIHRoZSBvbmx5IHBlbmFsdHkKaGVyZSBpcyB3aGVuIGNvbXBpbGluZywgbm90 aGluZyBtb3JlLiBBbmQgaWYgeW91IGFyZSBjb21waWxpbmcgdHlwaWNhbGx5CnRoZSBjb3N0IGhl cmUgaXMganVzdCBhIGZldyBzZWNvbmRzLgoKPiAuLi4gb3IgeW91J3JlIGFuIGVtYmVkZGVkLCBy ZXNvdXJjZS1jb25zdHJhaW5lZCBwZXJzb24KCkZvciB0aGUgY29tcGlsYXRpb24gb2YgdGgga2Vy bmVsID8KCj4gLi4uIG9yIHlvdSBzaW1wbHkgZG9uJ3Qgd2FudCB0byBoYXZlIHN0dWZmIHdoaWNo IGlzIGZvcmNpYmx5IGVuYWJsZWQgb24geW91IGV2ZW4KPiBpZiB5b3UncmUgbmV2ZXIgZ29pbmcg dG8gbmVlZCBpdAo+IC4uLgoKV2hpY2ggc2VlbXMgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIHJlYXNv biBJIG5vdGVkID8KCj4gSSBnb3QgYSBtaWxsaW9uIG8ndGhvc2UgOi0pCgpJIGNhbiByZW1vdmUg dGhlIGdydW1weSBtYWludGFpbmVyIGRlc2NyaXB0aW9uIDopCgogTHVpcwoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de ([195.135.220.15]:35179 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752194AbcHLPno (ORCPT ); Fri, 12 Aug 2016 11:43:44 -0400 Date: Fri, 12 Aug 2016 17:28:05 +0200 From: "Luis R. Rodriguez" Subject: Re: [RFC v3 07/13] tables.h: add linker table support Message-ID: <20160812152805.GD3296@wotan.suse.de> References: <1469222687-1600-1-git-send-email-mcgrof@kernel.org> <1469222687-1600-8-git-send-email-mcgrof@kernel.org> <20160729100630.GA27271@nazgul.tnic> <20160808150539.GG3296@wotan.suse.de> <20160809035508.GC11445@nazgul.tnic> <20160812035129.GA3296@wotan.suse.de> <20160812052303.GB12013@nazgul.tnic> <20160812065011.GB3296@wotan.suse.de> <20160812072507.GC12013@nazgul.tnic> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160812072507.GC12013@nazgul.tnic> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Borislav Petkov Cc: "Luis R. Rodriguez" , hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com, linux@arm.linux.org.uk, mhiramat@kernel.org, masami.hiramatsu.pt@hitachi.com, jbaron@akamai.com, heiko.carstens@de.ibm.com, ananth@linux.vnet.ibm.com, anil.s.keshavamurthy@intel.com, davem@davemloft.net, realmz6@gmail.com, x86@kernel.org, luto@amacapital.net, keescook@chromium.org, torvalds@linux-foundation.org, gregkh@linuxfoundation.org, rusty@rustcorp.com.au, gnomes@lxorguk.ukuu.org.uk, alan@linux.intel.com, dwmw2@infradead.org, arnd@arndb.de, ming.lei@canonical.com, linux-arch@vger.kernel.org, benh@kernel.crashing.org, ananth@in.ibm.com, pebolle@tiscali.nl, fontana@sharpeleven.org, ciaran.farrell@suse.com, christopher.denicolo@suse.com, david.vrabel@citrix.com, konrad.wilk@oracle.com, mcb30@ipxe.org, jgross@suse.com, andrew.cooper3@citrix.com, andriy.shevchenko@linux.intel.com, paul.gortmaker@windriver.com, xen-devel@lists.xensource.com, ak@linux.intel.com, pali.rohar@gmail.com, dvhart@infradead.org, platform-driver-x86@vger.kernel.org, mmarek@suse.com, linux@rasmusvillemoes.dk, jkosina@suse.cz, korea.drzix@gmail.com, linux-kbuild@vger.kernel.org, tony.luck@intel.com, akpm@linux-foundation.org, linux-ia64@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, catalin.marinas@arm.com, will.deacon@arm.com, rostedt@goodmis.org, jpoimboe@redhat.com Message-ID: <20160812152805.d6w8hWnRBoF49UlVv-gnfrfpWS-1toBzcZrx0D69Ugo@z> On Fri, Aug 12, 2016 at 09:25:07AM +0200, Borislav Petkov wrote: > On Fri, Aug 12, 2016 at 08:50:11AM +0200, Luis R. Rodriguez wrote: > > On Fri, Aug 12, 2016 at 07:23:03AM +0200, Borislav Petkov wrote: > > > On Fri, Aug 12, 2016 at 05:51:29AM +0200, Luis R. Rodriguez wrote: > > > > OK I've added CONFIG_BUILD_AVOID_BITROT. > > > > > > What does that do? > > > > > > Enabling it allows the forced compilation chosen by maintainers. > > Otherwise forced compilations with the new special targets are > > ignored. > > Nice. > > > I've gone with table-obj-y and table-lib-y as we have > > to support both lib-y and obj-y respective targets. > > > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > > index 33e2966dd741..7893e3b8da82 100644 > > --- a/lib/Kconfig.debug > > +++ b/lib/Kconfig.debug > > @@ -1895,6 +1895,30 @@ config PROVIDE_OHCI1394_DMA_INIT > > > > See Documentation/debugging-via-ohci1394.txt for more information. > > > > +config BUILD_AVOID_BITROT > > + bool "Always force building specially annotated" > > ...annotated targets" > > > + default y > > + help > > + If enabled then the the special table-* Makefile targets will always > > + be forced to be compiled even if their respective CONFIG_ option has > > + been disabled, but its objects will only be linked in if the same > > + respective CONFIG_ option has been enabled. This helps avoid code > > + bit rot issues, use for these targets should be carefully considred > > + by maintainers. You can safely enable this option at the expense of > > + increasing compile time slightly. Enabling this option helps avoid > > s/slightly// > > :-) > > > + code bit rot by taking advantage of the facilities provided and > > + enabled by using linker tables documented under: > > + > > + include/linux/tables.h > > + > > + The special targets supported are: > > + > > + o table-obj-y > > + o table-lib-y > > + > > + Say Y unless you are a grumpy maintainer and don't trust other > > + maintainer's judgements on what code should always get compiled. > > ... or you're running a tiny-config setup Even so, you don't link the compiled extra code so the only penalty here is when compiling, nothing more. And if you are compiling typically the cost here is just a few seconds. > ... or you're an embedded, resource-constrained person For the compilation of th kernel ? > ... or you simply don't want to have stuff which is forcibly enabled on you even > if you're never going to need it > ... Which seems to be the same as the reason I noted ? > I got a million o'those :-) I can remove the grumpy maintainer description :) Luis