From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Shevchenko Subject: Re: [PATCH v6 00/14] linux: generalize sections, ranges and linker tables Date: Mon, 09 Jan 2017 18:27:08 +0200 Message-ID: <1483979228.26691.40.camel@linux.intel.com> References: <20161222023811.21246-1-mcgrof@kernel.org> <20170109145833.11502-1-mcgrof@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170109145833.11502-1-mcgrof@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: "Luis R. Rodriguez" , hpa@zytor.com, acme@redhat.com, tglx@linutronix.de, mingo@redhat.com, jpoimboe@redhat.com, bp@alien8.de, npiggin@gmail.com, 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, dalias@libc.org, linux@arm.linux.org.uk Cc: gnomes@lxorguk.ukuu.org.uk, linux-ia64@vger.kernel.org, jkosina@suse.cz, benh@kernel.crashing.org, ming.lei@canonical.com, linux@rasmusvillemoes.dk, platform-driver-x86@vger.kernel.org, James.Bottomley@HansenPartnership.com, paul.gortmaker@windriver.com, paulus@samba.org, sparclinux@vger.kernel.org, wangnan0@huawei.com, mchehab@osg.samsung.com, linux-arch@vger.kernel.org, markus.heiser@darmarit.de, xen-devel@lists.xensource.com, msalter@redhat.com, linux-sh@vger.kernel.org, mpe@ellerman.id.au, joro@8bytes.org, x86@kernel.org, fontana@sharpeleven.org, dsahern@gmail.com, linux-arm-kernel@lists.infradead.org, catalin.marinas@arm.com, dvhart@infradead.org, dwmw2@infradead.org, linux@roeck-us.net, linux-xtensa@linux-xtensa.org, pali.rohar@gmail.com, keescook@chromium.org, arnd@arndb.de, jani.nikula@intel.com, will.deacon@arm.com, rusty@rustcorp.com.au, rostedt@goodmis.org, ak@ List-Id: linux-arch.vger.kernel.org T24gTW9uLCAyMDE3LTAxLTA5IGF0IDA2OjU4IC0wODAwLCBMdWlzIFIuIFJvZHJpZ3VleiB3cm90 ZToKPiBUaGlzIHY2IGFkZHJlc3NlcyBBbmR5IFNoZXZjaGVua28ncyBmZWVkYmFjayBmcm9tIHRo ZSB2NSBzZXJpZXMgWzBdIHRvCj4gdXNlCj4gbG93ZXJjYXNlIG9uIGEgZmV3IG9mIHRoZSB0YWJs ZXMuaCBtYWNyb3MuIE5vIG90aGVyIGNoYW5nZXMgaGF2ZSBiZWVuCj4gZG9uZSB0bwo+IHRoaXMg c2VyaWVzLiBBcyBJIGhhZCBtZW50aW9uZWQgb24gdGhlIGxhc3QgY292ZXItbGV0dGVyIHRoZSB2 NSBzZXJpZXMKPiBoYWQKPiBnb25lIHRocm91Z2ggYSBsb3Qgb2YgdGVzdGluZyBib3RoIGNvbXBp bGUgYW5kIHJ1biB0aW1lLCB3aXRoIHRoZQo+IGxpbmt0YWJsZQo+IHRlc3QgZHJpdmVyIGZvcmNl ZC1lbmFibGVkIGFzIGEgZGVidWcgbWVhc3VyZSB0byB0cnkgdG8gY2FwdHVyZSBlcnJvcnMKPiBh cwo+IG1hbnkgYXJjaGl0ZWN0dXJlcyBhcyBwb3NzaWJsZToKPiAKPiDCoMKgwqDCoGFscGhhwqDC oMKgwqDCoMKgYXJjwqDCoMKgwqDCoMKgwqDCoGFyY3YywqDCoMKgwqDCoMKgwqBhcm3CoMKgwqDC oMKgwqDCoGFybTY0wqDCoMKgwqDCoMKgwqBibGFja2ZpbsKgwqAKPiDCoMKgYzZ4wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKgwqDCoMKgY3Jpc8KgwqDCoMKgwqDCoMKgY3Jp c3YzMsKgwqDCoMKgZnJ2wqDCoMKgwqDCoMKgwqDCoMKgaDgzMDDCoMKgwqDCoMKgaGV4YWdvbsKg wqDCoMKgwqBpMzg2wqDCoMKgwqDCoMKgCj4gwqDCoGlhNjTCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoAo+IMKgwqDCoMKgbTMycsKgwqDCoMKgwqDCoMKgbTY4a8KgwqDCoMKgwqDCoMKg bTY4a19ub21tdcKgwqBtZXRhZ8KgwqDCoMKgwqBtaWNyb2JsYXplwqDCoG1pcHNfMjLCoMKgwqAK PiDCoMKgbWlwc18yNMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gwqDCoMKgwqBtaXBzXzI1 wqDCoMKgwqBtbjEwMzAwwqDCoMKgwqBuaW9zMsKgwqDCoMKgwqDCoMKgb3BlbnJpc2PCoMKgcGFy aXNjwqDCoMKgwqDCoMKgcGFyaXNjNjTCoMKgCj4gwqDCoHBvd2VycGPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoAo+IMKgwqDCoMKgczM5MMKgwqDCoMKgwqDCoMKgc2NvcmXCoMKgwqDCoMKgwqBz aMKgwqDCoMKgwqDCoMKgwqDCoMKgc3BhcmMzMsKgwqDCoHNwYXJjNjTCoMKgwqDCoMKgdGlsZcKg wqDCoMKgwqDCoAo+IMKgwqB1bcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ IMKgwqDCoMKgdW5pY29yZTMywqDCoHg4Nl82NMKgwqDCoMKgwqB4dGVuc2HCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiAK PiBUaGUgb25seSBhcmNoaXRlY3R1cmUgdGhhdCB3YXMgbm90IHRlc3RlZCB3YXMgYXZyMzIgYW5k IHRoYXQgaXMKPiBiZWNhdXNlCj4gbGludXgtbmV4dCBmYWlscyB0byBjb21waWxlIG9uIGl0LiBJ J2QgbGlrZSB0byBncmVhdGx5IHRoYW5rIEd1ZW50ZXIKPiBSb2VjayBmb3IKPiBoaXMgaGVscCB3 aXRoIHRlc3RpbmcuCgpXZSBoYXZlIGEgcmVhbCBib2FyZCBoZXJlLiBJIHdvdWxkIHRyeSB0byBj aGVjayBpZiB5b3UgcHJvdmlkZSBhIGdpdCB1cmwKdG8geW91ciBzdHVmZi4KCkkgY2FuIGNvbmZp cm0gdGhhdCBicmVha2FnZSBoYXBwZW5lZCBsaWtlIGluIGxhc3QgY291cGxlIG9mIG1vbnRoLgp2 NC4xMC1yYzMgY2FuJ3QgYmUgY29tcGlsZWQgZWl0aGVyLgoKPiAKPiBUaGUgZGVidWcgcGF0Y2gg d2hpY2ggZm9yY2UgZW5hYmxlcyB0aGUgdGVzdCBkcml2ZXIgaXMgbm90IHN1Ym1pdHRlZAo+IGZv cgo+IHVwc3RyZWFtIGluY2x1c2lvbiBidXQgaXMga2VwdCBhcyBwYXJ0IG9mIHRoZSBwdWJsaWMg dHJlZSBmb3IgdGhvc2UKPiBjdXJpb3VzLAo+IGl0cyB0aGUgbGFzdCBwYXRjaCBbMV0uIFRoaXMg dHJlZSBpcyBiYXNlZCBvbiBsaW51eC1uZXh0IHRhZyBuZXh0LQo+IDIwMTcwMTA5Lgo+IAo+IFsw XSBodHRwczovL2xrbWwua2VybmVsLm9yZy9yLzIwMTYxMjIyMDIzODExLjIxMjQ2LTEtbWNncm9m QGtlcm5lbC5vcmcKPiBbMV0gaHR0cHM6Ly9naXQua2VybmVsLm9yZy9jZ2l0L2xpbnV4L2tlcm5l bC9naXQvbWNncm9mL2xpbnV4LQo+IG5leHQuZ2l0L2xvZy8/aD0yMDE3MDEwOS1saW5rZXItdGFi bGVzLXY2CgpTZXJpZXMgaXMgZmluZSB0byBtZQoKRldJVzoKUmV2aWV3ZWQtYnk6IEFuZHkgU2hl dmNoZW5rbyA8YW5kcml5LnNoZXZjaGVua29AbGludXguaW50ZWwuY29tPgoKPiAKPiBMdWlzIFIu IFJvZHJpZ3VleiAoMTQpOgo+IMKgIGdlbmVyaWMtc2VjdGlvbnM6IGFkZCBzZWN0aW9uIGNvcmUg aGVscGVycwo+IMKgIHh0ZW5zYTogc2tpcCBhZGRpbmcgbGl0ZXJhbCB3aGVuIFNPUlQoKSBpcyB1 c2VkCj4gwqAgcmFuZ2VzLmg6IGFkZCBoZWxwZXJzIHRvIGJ1aWxkIGFuZCBpZGVudGlmeSBMaW51 eCBzZWN0aW9uIHJhbmdlcwo+IMKgIHRhYmxlcy5oOiBhZGQgbGlua2VyIHRhYmxlIHN1cHBvcnQK PiDCoCBrYnVpbGQ6IGVuYWJsZSBvcHRpb24gdG8gZm9yY2UgY29tcGlsZSBmb3JjZS1vYmoteSBh bmQgZm9yY2UtbGliLXkKPiDCoCBmaXJtd2FyZS9NYWtlZmlsZTogZm9yY2UgcmVjb21waWxhdGlv biBpZiBtYWtlZmlsZSBjaGFuZ2VzCj4gwqAgZmlybXdhcmU6IHBvcnQgYnVpbHQtaW4gc2VjdGlv biB0byBsaW5rZXIgdGFibGUKPiDCoCBqdW1wX2xhYmVsOiBtb3ZlIGd1YXJkICNlbmRpZiBkb3du IHdoZXJlIGl0IGJlbG9uZ3MKPiDCoCBqdW1wX2xhYmVsOiBwb3J0IF9fanVtcF90YWJsZSB0byBs aW5rZXIgdGFibGVzCj4gwqAgZHluYW1pY19kZWJ1ZzogcG9ydCB0byB1c2UgbGlua2VyIHRhYmxl cwo+IMKgIGtwcm9iZXM6IG1vdmUga3Byb2JlIGRlY2xhcmF0aW9ucyB0byBhc20tZ2VuZXJpYy9r cHJvYmVzLmgKPiDCoCBrcHJvYmVzOiBwb3J0IC5rcHJvYmVzLnRleHQgdG8gc2VjdGlvbiByYW5n ZQo+IMKgIGtwcm9iZXM6IHBvcnQgYmxhY2tsaXN0IGtwcm9iZXMgdG8gbGlua2VyIHRhYmxlCj4g wqAgbGliOiBhZGQgbGlua2VyIHRhYmxlcyB0ZXN0IGRyaXZlcgo+IAo+IMKgRG9jdW1lbnRhdGlv bi9pbmRleC5yc3TCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAx ICsKPiDCoERvY3VtZW50YXRpb24va2J1aWxkL21ha2VmaWxlcy50eHTCoMKgwqDCoMKgwqDCoMKg fMKgwqAzNiArKwo+IMKgRG9jdW1lbnRhdGlvbi9zZWN0aW9ucy9iYWNrZ3JvdW5kLnJzdMKgwqDC oMKgwqB8IDEwNSArKysrCj4gwqBEb2N1bWVudGF0aW9uL3NlY3Rpb25zL2NvbmYucHnCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgNCArCj4gwqBEb2N1bWVudGF0aW9uL3NlY3Rpb25zL2lu ZGV4LnJzdMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAxOSArCj4gwqBEb2N1bWVudGF0aW9uL3Nl Y3Rpb25zL2xpbmtlci10YWJsZXMucnN0wqDCoHwgMjI3ICsrKysrKysrKwo+IMKgRG9jdW1lbnRh dGlvbi9zZWN0aW9ucy9yYW5nZXMucnN0wqDCoMKgwqDCoMKgwqDCoMKgfMKgwqA3NCArKysKPiDC oERvY3VtZW50YXRpb24vc2VjdGlvbnMvc2VjdGlvbi1jb3JlLnJzdMKgwqDCoHwgMTUzICsrKysr Kwo+IMKgTUFJTlRBSU5FUlPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMzIgKysKPiDCoGFyY2gvYWxwaGEvaW5jbHVkZS9h c20vS2J1aWxkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgNCArCj4gwqBhcmNoL2Fy Yy9pbmNsdWRlL2FzbS9LYnVpbGTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKg MyArCj4gwqBhcmNoL2FyYy9pbmNsdWRlL2FzbS9rcHJvYmVzLmjCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqB8wqDCoMKgNiArLQo+IMKgYXJjaC9hcmMva2VybmVsL3ZtbGludXgubGRzLlPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAxIC0KPiDCoGFyY2gvYXJtL2luY2x1ZGUvYXNtL0ti dWlsZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAzICsKPiDCoGFyY2gvYXJt L2luY2x1ZGUvYXNtL2p1bXBfbGFiZWwuaMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA2ICstCj4g wqBhcmNoL2FybS9pbmNsdWRlL2FzbS9rcHJvYmVzLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8 wqDCoMKgNCArCj4gwqBhcmNoL2FybS9rZXJuZWwvZW50cnktYXJtdi5TwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHzCoMKgwqAzICstCj4gwqBhcmNoL2FybS9rZXJuZWwvdm1saW51eC14aXAu bGRzLlPCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgMSAtCj4gwqBhcmNoL2FybS9rZXJuZWwvdm1s aW51eC5sZHMuU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDEgLQo+IMKgYXJjaC9h cm0vcHJvYmVzL2RlY29kZS5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKg wqDCoDEgKwo+IMKgYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9LYnVpbGTCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHzCoMKgwqAzICsKPiDCoGFyY2gvYXJtNjQvaW5jbHVkZS9hc20vanVtcF9sYWJl bC5owqDCoMKgwqDCoMKgwqB8wqDCoMKgNiArLQo+IMKgYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9r cHJvYmVzLmjCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA0ICsKPiDCoGFyY2gvYXJtNjQva2Vy bmVsL2FybXY4X2RlcHJlY2F0ZWQuY8KgwqDCoMKgwqDCoHzCoMKgwqAxICsKPiDCoGFyY2gvYXJt NjQva2VybmVsL2luc24uY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKg wqAxICsKPiDCoGFyY2gvYXJtNjQva2VybmVsL3Byb2Jlcy9kZWNvZGUtaW5zbi5owqDCoMKgwqB8 wqDCoMKgMiArCj4gwqBhcmNoL2FybTY0L2tlcm5lbC9wcm9iZXMva3Byb2Jlcy5jwqDCoMKgwqDC oMKgwqDCoHzCoMKgwqA0ICstCj4gwqBhcmNoL2FybTY0L2tlcm5lbC92bWxpbnV4Lmxkcy5TwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAxIC0KPiDCoGFyY2gvYXZyMzIvaW5jbHVkZS9hc20v S2J1aWxkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgMyArCj4gwqBhcmNoL2F2cjMy L2luY2x1ZGUvYXNtL2twcm9iZXMuaMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDcgKy0KPiDC oGFyY2gvYXZyMzIva2VybmVsL2VudHJ5LWF2cjMyYi5TwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDC oDEzICstCj4gwqBhcmNoL2F2cjMyL2tlcm5lbC92bWxpbnV4Lmxkcy5TwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHzCoMKgwqAxIC0KPiDCoGFyY2gvYmxhY2tmaW4vaW5jbHVkZS9hc20vS2J1aWxkwqDC oMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgNCArCj4gwqBhcmNoL2JsYWNrZmluL2tlcm5lbC92bWxp bnV4Lmxkcy5TwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAxIC0KPiDCoGFyY2gvYzZ4L2luY2x1ZGUv YXNtL0tidWlsZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAzICsKPiDCoGFy Y2gvYzZ4L2luY2x1ZGUvYXNtL3RhYmxlcy5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDC oDI2ICsKPiDCoGFyY2gvYzZ4L2tlcm5lbC92bWxpbnV4Lmxkcy5TwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB8wqDCoMKgMSAtCj4gwqBhcmNoL2NyaXMvaW5jbHVkZS9hc20vS2J1aWxkwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA0ICsKPiDCoGFyY2gvZnJ2L2luY2x1ZGUvYXNt L0tidWlsZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA0ICsKPiDCoGFyY2gv aDgzMDAvaW5jbHVkZS9hc20vS2J1aWxkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKg NCArCj4gwqBhcmNoL2hleGFnb24vaW5jbHVkZS9hc20vS2J1aWxkwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHzCoMKgwqA0ICsKPiDCoGFyY2gvaGV4YWdvbi9rZXJuZWwvdm1saW51eC5sZHMuU8KgwqDC oMKgwqDCoMKgwqDCoHzCoMKgwqAxIC0KPiDCoGFyY2gvaWE2NC9pbmNsdWRlL2FzbS9LYnVpbGTC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDMgKwo+IMKgYXJjaC9pYTY0L2luY2x1 ZGUvYXNtL2twcm9iZXMuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEyICstCj4gwqBhcmNo L2lhNjQva2VybmVsL2pwcm9iZXMuU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKg wqDCoDMgKy0KPiDCoGFyY2gvaWE2NC9rZXJuZWwvdm1saW51eC5sZHMuU8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHzCoMKgwqAxIC0KPiDCoGFyY2gvaWE2NC9saWIvZmx1c2guU8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA2ICstCj4gwqBhcmNoL20zMnIv aW5jbHVkZS9hc20vS2J1aWxkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA0ICsK PiDCoGFyY2gvbTY4ay9pbmNsdWRlL2FzbS9LYnVpbGTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgfMKgwqDCoDQgKwo+IMKgYXJjaC9tZXRhZy9pbmNsdWRlL2FzbS9LYnVpbGTCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA0ICsKPiDCoGFyY2gvbWV0YWcva2VybmVsL3ZtbGludXgu bGRzLlPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDEgLQo+IMKgYXJjaC9taWNyb2JsYXpl L2luY2x1ZGUvYXNtL0tidWlsZMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgNCArCj4gwqBhcmNoL21p Y3JvYmxhemUva2VybmVsL3ZtbGludXgubGRzLlPCoMKgwqDCoMKgwqB8wqDCoMKgMSAtCj4gwqBh cmNoL21pcHMvaW5jbHVkZS9hc20vS2J1aWxkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzC oMKgwqAzICsKPiDCoGFyY2gvbWlwcy9pbmNsdWRlL2FzbS9qdW1wX2xhYmVsLmjCoMKgwqDCoMKg wqDCoMKgfMKgwqDCoDYgKy0KPiDCoGFyY2gvbWlwcy9pbmNsdWRlL2FzbS9rcHJvYmVzLmjCoMKg wqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDYgKy0KPiDCoGFyY2gvbWlwcy9rZXJuZWwvdm1saW51 eC5sZHMuU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAxIC0KPiDCoGFyY2gvbW4xMDMw MC9pbmNsdWRlL2FzbS9LYnVpbGTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDMgKwo+IMKg YXJjaC9tbjEwMzAwL2luY2x1ZGUvYXNtL2twcm9iZXMuaMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKg NyArLQo+IMKgYXJjaC9tbjEwMzAwL2tlcm5lbC92bWxpbnV4Lmxkcy5TwqDCoMKgwqDCoMKgwqDC oMKgfMKgwqDCoDEgLQo+IMKgYXJjaC9uaW9zMi9pbmNsdWRlL2FzbS9LYnVpbGTCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA0ICsKPiDCoGFyY2gvbmlvczIva2VybmVsL3ZtbGludXgu bGRzLlPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDEgLQo+IMKgYXJjaC9vcGVucmlzYy9p bmNsdWRlL2FzbS9LYnVpbGTCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA0ICsKPiDCoGFyY2gv b3BlbnJpc2Mva2VybmVsL3ZtbGludXgubGRzLlPCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDEgLQo+ IMKgYXJjaC9wYXJpc2MvaW5jbHVkZS9hc20vS2J1aWxkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg fMKgwqDCoDQgKwo+IMKgYXJjaC9wYXJpc2Mva2VybmVsL3ZtbGludXgubGRzLlPCoMKgwqDCoMKg wqDCoMKgwqDCoHzCoMKgwqAxIC0KPiDCoGFyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9LYnVpbGTC oMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDMgKwo+IMKgYXJjaC9wb3dlcnBjL2luY2x1ZGUv YXNtL2p1bXBfbGFiZWwuaMKgwqDCoMKgwqB8wqDCoMKgOCArLQo+IMKgYXJjaC9wb3dlcnBjL2lu Y2x1ZGUvYXNtL2twcm9iZXMuaMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgMyArCj4gwqBhcmNoL3Bv d2VycGMvaW5jbHVkZS9hc20vcHBjX2FzbS5owqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAzICstCj4g wqBhcmNoL3Bvd2VycGMva2VybmVsL3ZtbGludXgubGRzLlPCoMKgwqDCoMKgwqDCoMKgwqB8wqDC oMKgMyArLQo+IMKgYXJjaC9zMzkwL2luY2x1ZGUvYXNtL0tidWlsZMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqB8wqDCoMKgMyArCj4gwqBhcmNoL3MzOTAvaW5jbHVkZS9hc20vanVtcF9sYWJl bC5owqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA2ICstCj4gwqBhcmNoL3MzOTAvaW5jbHVkZS9hc20v a3Byb2Jlcy5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA3ICstCj4gwqBhcmNoL3MzOTAv a2VybmVsL2VudHJ5LlPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKg NSArLQo+IMKgYXJjaC9zMzkwL2tlcm5lbC9rcHJvYmVzLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHzCoMKgwqA2ICstCj4gwqBhcmNoL3MzOTAva2VybmVsL21jb3VudC5TwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAzICstCj4gwqBhcmNoL3MzOTAva2Vy bmVsL3ZtbGludXgubGRzLlPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgMSAtCj4gwqBh cmNoL3Njb3JlL2luY2x1ZGUvYXNtL0tidWlsZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKg wqDCoDQgKwo+IMKgYXJjaC9zY29yZS9rZXJuZWwvdm1saW51eC5sZHMuU8KgwqDCoMKgwqDCoMKg wqDCoMKgwqB8wqDCoMKgMSAtCj4gwqBhcmNoL3NoL2luY2x1ZGUvYXNtL0tidWlsZMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDMgKwo+IMKgYXJjaC9zaC9pbmNsdWRlL2Fz bS9rcHJvYmVzLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA1ICstCj4gwqBhcmNo L3NoL2tlcm5lbC92bWxpbnV4Lmxkcy5TwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKg wqAxIC0KPiDCoGFyY2gvc3BhcmMvaW5jbHVkZS9hc20vS2J1aWxkwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB8wqDCoMKgMyArCj4gwqBhcmNoL3NwYXJjL2luY2x1ZGUvYXNtL2p1bXBfbGFiZWwu aMKgwqDCoMKgwqDCoMKgfMKgwqDCoDYgKy0KPiDCoGFyY2gvc3BhcmMvaW5jbHVkZS9hc20va3By b2Jlcy5owqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEwICstCj4gwqBhcmNoL3NwYXJjL2tlcm5l bC92bWxpbnV4Lmxkcy5TwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAxIC0KPiDCoGFyY2gv c3BhcmMvbW0vdWx0cmEuU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHzCoMKgwqAzICstCj4gwqBhcmNoL3RpbGUvaW5jbHVkZS9hc20vS2J1aWxkwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAzICsKPiDCoGFyY2gvdGlsZS9pbmNsdWRlL2FzbS9qdW1w X2xhYmVsLmjCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDUgKy0KPiDCoGFyY2gvdGlsZS9pbmNsdWRl L2FzbS9rcHJvYmVzLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDYgKy0KPiDCoGFyY2gv dGlsZS9rZXJuZWwvdm1saW51eC5sZHMuU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAx IC0KPiDCoGFyY2gvdW0vaW5jbHVkZS9hc20vS2J1aWxkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB8wqDCoMKgNCArCj4gwqBhcmNoL3VuaWNvcmUzMi9pbmNsdWRlL2FzbS9LYnVpbGTC oMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgMyArCj4gwqBhcmNoL3VuaWNvcmUzMi9pbmNsdWRlL2Fz bS9zZWN0aW9uLWNvcmUuaCB8wqDCoDE5ICsKPiDCoGFyY2gveDg2L2luY2x1ZGUvYXNtL0tidWls ZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAzICsKPiDCoGFyY2gveDg2L2lu Y2x1ZGUvYXNtL2FzbS5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgNCAr LQo+IMKgYXJjaC94ODYvaW5jbHVkZS9hc20vanVtcF9sYWJlbC5owqDCoMKgwqDCoMKgwqDCoMKg fMKgwqAxMCArLQo+IMKgYXJjaC94ODYvaW5jbHVkZS9hc20va3Byb2Jlcy5owqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgfMKgwqDCoDkgKy0KPiDCoGFyY2gveDg2L2tlcm5lbC9jcHUvbWljcm9jb2Rl L2NvcmUuY8KgwqDCoMKgwqDCoHzCoMKgwqA4ICstCj4gwqBhcmNoL3g4Ni9rZXJuZWwva3Byb2Jl cy9jb3JlLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDExICstCj4gwqBhcmNoL3g4Ni9r ZXJuZWwvdm1saW51eC5sZHMuU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDEgLQo+ IMKgYXJjaC94ODYvdG9vbHMvcmVsb2NzLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHzCoMKgwqA0ICsKPiDCoGFyY2gveHRlbnNhL2luY2x1ZGUvYXNtL0tidWlsZMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA0ICsKPiDCoGFyY2gveHRlbnNhL2tlcm5lbC9NYWtl ZmlsZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA4ICstCj4gwqBkcml2ZXJz L2Jhc2UvZmlybXdhcmVfY2xhc3MuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAxMiAr LQo+IMKgZmlybXdhcmUvTWFrZWZpbGXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA2ICstCj4gwqBpbmNsdWRlL2FzbS1nZW5lcmljL2twcm9i ZXMuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAyNiArCj4gwqBpbmNsdWRlL2FzbS1n ZW5lcmljL3Jhbmdlcy5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgOTMgKysrKwo+ IMKgaW5jbHVkZS9hc20tZ2VuZXJpYy9zZWN0aW9uLWNvcmUuaMKgwqDCoMKgwqDCoMKgwqB8IDM0 OCArKysrKysrKysrKysrCj4gwqBpbmNsdWRlL2FzbS1nZW5lcmljL3NlY3Rpb25zLmjCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgNCArLQo+IMKgaW5jbHVkZS9hc20tZ2VuZXJpYy90YWJs ZXMuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDQ4ICsrCj4gwqBpbmNsdWRlL2Fz bS1nZW5lcmljL3ZtbGludXgubGRzLmjCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDQ3ICstCj4gwqBp bmNsdWRlL2xpbnV4L2NvbXBpbGVyLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB8wqDCoMKgOCAtCj4gwqBpbmNsdWRlL2xpbnV4L2R5bmFtaWNfZGVidWcuaMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgfMKgwqDCoDUgKy0KPiDCoGluY2x1ZGUvbGludXgvaW5pdC5owqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDg5ICsrKy0KPiDCoGlu Y2x1ZGUvbGludXgvanVtcF9sYWJlbC5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8 wqDCoMKgOCArLQo+IMKgaW5jbHVkZS9saW51eC9rcHJvYmVzLmjCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMjQgKy0KPiDCoGluY2x1ZGUvbGludXgvcmFuZ2VzLmjC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfCAxODMgKysrKysrKwo+IMKg aW5jbHVkZS9saW51eC9zZWN0aW9ucy5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgfMKgwqA4NyArKysrCj4gwqBpbmNsdWRlL2xpbnV4L3RhYmxlcy5owqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHwgNjgzCj4gKysrKysrKysrKysrKysrKysrKysrKysr Kwo+IMKgaW5pdC9LY29uZmlnwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAyMiArCj4gwqBrZXJuZWwvanVtcF9sYWJlbC5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMTcgKy0KPiDC oGtlcm5lbC9rcHJvYmVzLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgfMKgwqAxNyArLQo+IMKgbGliL0tjb25maWcuZGVidWfCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqA2ICsKPiDCoGxpYi9N YWtlZmlsZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHzCoMKgwqAxICsKPiDCoGxpYi9keW5hbWljX2RlYnVnLmPCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAxMyArLQo+IMKgbGliL3Rlc3Rf bGlua3RhYmxlcy9NYWtlZmlsZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEzICsK PiDCoGxpYi90ZXN0X2xpbmt0YWJsZXMvdGVzdC1saW5rdGFibGVzLTAwLmPCoMKgfMKgwqAyNyAr Cj4gwqBsaWIvdGVzdF9saW5rdGFibGVzL3Rlc3QtbGlua3RhYmxlcy0wMS5jwqDCoHzCoMKgMjcg Kwo+IMKgbGliL3Rlc3RfbGlua3RhYmxlcy90ZXN0LWxpbmt0YWJsZXMtMDIuY8KgwqB8wqDCoDI3 ICsKPiDCoGxpYi90ZXN0X2xpbmt0YWJsZXMvdGVzdC1saW5rdGFibGVzLTAzLmPCoMKgfMKgwqAy NyArCj4gwqBsaWIvdGVzdF9saW5rdGFibGVzL3Rlc3QtbGlua3RhYmxlcy0wNC5jwqDCoHzCoMKg MjcgKwo+IMKgbGliL3Rlc3RfbGlua3RhYmxlcy90ZXN0LWxpbmt0YWJsZXMuY8KgwqDCoMKgwqB8 IDgwMQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+IMKgbGliL3Rlc3RfbGlua3Rh Ymxlcy90ZXN0LWxpbmt0YWJsZXMuaMKgwqDCoMKgwqB8wqDCoDQ4ICsrCj4gwqBzY3JpcHRzL01h a2VmaWxlLmJ1aWxkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKg wqA3ICstCj4gwqBzY3JpcHRzL01ha2VmaWxlLmNsZWFuwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAyICsKPiDCoHNjcmlwdHMvTWFrZWZpbGUubGliwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDExICsKPiDCoHNjcmlw dHMvbW9kL21vZHBvc3QuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHzCoMKgwqAyICstCj4gwqBzY3JpcHRzL21vZHVsZS1jb21tb24ubGRzwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAyICsKPiDCoHNjcmlwdHMvcmVjb3JkbWNvdW50LmPC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDIgKy0KPiDCoHNj cmlwdHMvcmVjb3JkbWNvdW50LnBswqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqB8wqDCoMKgMiArLQo+IMKgdG9vbHMvb2JqdG9vbC9zcGVjaWFsLmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAyICstCj4gwqAxNDMgZmlsZXMgY2hhbmdlZCwg MzYzMiBpbnNlcnRpb25zKCspLCAyMDAgZGVsZXRpb25zKC0pCj4gwqBjcmVhdGUgbW9kZSAxMDA2 NDQgRG9jdW1lbnRhdGlvbi9zZWN0aW9ucy9iYWNrZ3JvdW5kLnJzdAo+IMKgY3JlYXRlIG1vZGUg MTAwNjQ0IERvY3VtZW50YXRpb24vc2VjdGlvbnMvY29uZi5weQo+IMKgY3JlYXRlIG1vZGUgMTAw NjQ0IERvY3VtZW50YXRpb24vc2VjdGlvbnMvaW5kZXgucnN0Cj4gwqBjcmVhdGUgbW9kZSAxMDA2 NDQgRG9jdW1lbnRhdGlvbi9zZWN0aW9ucy9saW5rZXItdGFibGVzLnJzdAo+IMKgY3JlYXRlIG1v ZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vc2VjdGlvbnMvcmFuZ2VzLnJzdAo+IMKgY3JlYXRlIG1v ZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vc2VjdGlvbnMvc2VjdGlvbi1jb3JlLnJzdAo+IMKgY3Jl YXRlIG1vZGUgMTAwNjQ0IGFyY2gvYzZ4L2luY2x1ZGUvYXNtL3RhYmxlcy5oCj4gwqBjcmVhdGUg bW9kZSAxMDA2NDQgYXJjaC91bmljb3JlMzIvaW5jbHVkZS9hc20vc2VjdGlvbi1jb3JlLmgKPiDC oGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2FzbS1nZW5lcmljL2twcm9iZXMuaAo+IMKgY3Jl YXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvYXNtLWdlbmVyaWMvcmFuZ2VzLmgKPiDCoGNyZWF0ZSBt b2RlIDEwMDY0NCBpbmNsdWRlL2FzbS1nZW5lcmljL3NlY3Rpb24tY29yZS5oCj4gwqBjcmVhdGUg bW9kZSAxMDA2NDQgaW5jbHVkZS9hc20tZ2VuZXJpYy90YWJsZXMuaAo+IMKgY3JlYXRlIG1vZGUg MTAwNjQ0IGluY2x1ZGUvbGludXgvcmFuZ2VzLmgKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNs dWRlL2xpbnV4L3NlY3Rpb25zLmgKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xpbnV4 L3RhYmxlcy5oCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Rlc3RfbGlua3RhYmxlcy9NYWtl ZmlsZQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi90ZXN0X2xpbmt0YWJsZXMvdGVzdC1saW5r dGFibGVzLTAwLmMKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvdGVzdF9saW5rdGFibGVzL3Rl c3QtbGlua3RhYmxlcy0wMS5jCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Rlc3RfbGlua3Rh Ymxlcy90ZXN0LWxpbmt0YWJsZXMtMDIuYwo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi90ZXN0 X2xpbmt0YWJsZXMvdGVzdC1saW5rdGFibGVzLTAzLmMKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBs aWIvdGVzdF9saW5rdGFibGVzL3Rlc3QtbGlua3RhYmxlcy0wNC5jCj4gwqBjcmVhdGUgbW9kZSAx MDA2NDQgbGliL3Rlc3RfbGlua3RhYmxlcy90ZXN0LWxpbmt0YWJsZXMuYwo+IMKgY3JlYXRlIG1v ZGUgMTAwNjQ0IGxpYi90ZXN0X2xpbmt0YWJsZXMvdGVzdC1saW5rdGFibGVzLmgKPiAKCi0tIApB bmR5IFNoZXZjaGVua28gPGFuZHJpeS5zaGV2Y2hlbmtvQGxpbnV4LmludGVsLmNvbT4KSW50ZWwg RmlubGFuZCBPeQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com ([192.55.52.93]:53591 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756726AbdAIQ12 (ORCPT ); Mon, 9 Jan 2017 11:27:28 -0500 Message-ID: <1483979228.26691.40.camel@linux.intel.com> Subject: Re: [PATCH v6 00/14] linux: generalize sections, ranges and linker tables From: Andy Shevchenko Date: Mon, 09 Jan 2017 18:27:08 +0200 In-Reply-To: <20170109145833.11502-1-mcgrof@kernel.org> References: <20161222023811.21246-1-mcgrof@kernel.org> <20170109145833.11502-1-mcgrof@kernel.org> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: "Luis R. Rodriguez" , hpa@zytor.com, acme@redhat.com, tglx@linutronix.de, mingo@redhat.com, jpoimboe@redhat.com, bp@alien8.de, npiggin@gmail.com, 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, dalias@libc.org, linux@arm.linux.org.uk Cc: x86@kernel.org, luto@amacapital.net, keescook@chromium.org, linux@roeck-us.net, 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, pebolle@tiscali.nl, fontana@sharpeleven.org, david.vrabel@citrix.com, konrad.wilk@oracle.com, mcb30@ipxe.org, jgross@suse.com, andrew.cooper3@citrix.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, jani.nikula@intel.com, mchehab@osg.samsung.com, markus.heiser@darmarit.de, jolsa@kernel.org, msalter@redhat.com, chris@zankel.net, jcmvbkbc@gmail.com, linux-xtensa@linux-xtensa.org, adrian.hunter@intel.com, dsahern@gmail.com, namhyung@kernel.org, wangnan0@huawei.com, dmitry.torokhov@gmail.com, joro@8bytes.org, paulus@samba.org, mpe@ellerman.id.au, James.Bottomley@HansenPartnership.com Message-ID: <20170109162708.jDp-dfKoB1dsRfhLF-DVnQDEsephnkwx5YIFesitGXw@z> On Mon, 2017-01-09 at 06:58 -0800, Luis R. Rodriguez wrote: > This v6 addresses Andy Shevchenko's feedback from the v5 series [0] to > use > lowercase on a few of the tables.h macros. No other changes have been > done to > this series. As I had mentioned on the last cover-letter the v5 series > had > gone through a lot of testing both compile and run time, with the > linktable > test driver forced-enabled as a debug measure to try to capture errors > as > many architectures as possible: > >     alpha      arc        arcv2       arm       arm64       blackfin   >   c6x                                                                  >                                      >     cris       crisv32    frv         h8300     hexagon     i386       >   ia64                                                                 >                                      >     m32r       m68k       m68k_nommu  metag     microblaze  mips_22    >   mips_24                                                              >                                      >     mips_25    mn10300    nios2       openrisc  parisc      parisc64   >   powerpc                                                              >                                      >     s390       score      sh          sparc32   sparc64     tile       >   um                                                                   >                                      >     unicore32  x86_64     xtensa                                       >                                                                        >                                      > > The only architecture that was not tested was avr32 and that is > because > linux-next fails to compile on it. I'd like to greatly thank Guenter > Roeck for > his help with testing. We have a real board here. I would try to check if you provide a git url to your stuff. I can confirm that breakage happened like in last couple of month. v4.10-rc3 can't be compiled either. > > The debug patch which force enables the test driver is not submitted > for > upstream inclusion but is kept as part of the public tree for those > curious, > its the last patch [1]. This tree is based on linux-next tag next- > 20170109. > > [0] https://lkml.kernel.org/r/20161222023811.21246-1-mcgrof@kernel.org > [1] https://git.kernel.org/cgit/linux/kernel/git/mcgrof/linux- > next.git/log/?h=20170109-linker-tables-v6 Series is fine to me FWIW: Reviewed-by: Andy Shevchenko > > Luis R. Rodriguez (14): >   generic-sections: add section core helpers >   xtensa: skip adding literal when SORT() is used >   ranges.h: add helpers to build and identify Linux section ranges >   tables.h: add linker table support >   kbuild: enable option to force compile force-obj-y and force-lib-y >   firmware/Makefile: force recompilation if makefile changes >   firmware: port built-in section to linker table >   jump_label: move guard #endif down where it belongs >   jump_label: port __jump_table to linker tables >   dynamic_debug: port to use linker tables >   kprobes: move kprobe declarations to asm-generic/kprobes.h >   kprobes: port .kprobes.text to section range >   kprobes: port blacklist kprobes to linker table >   lib: add linker tables test driver > >  Documentation/index.rst                   |   1 + >  Documentation/kbuild/makefiles.txt        |  36 ++ >  Documentation/sections/background.rst     | 105 ++++ >  Documentation/sections/conf.py            |   4 + >  Documentation/sections/index.rst          |  19 + >  Documentation/sections/linker-tables.rst  | 227 +++++++++ >  Documentation/sections/ranges.rst         |  74 +++ >  Documentation/sections/section-core.rst   | 153 ++++++ >  MAINTAINERS                               |  32 ++ >  arch/alpha/include/asm/Kbuild             |   4 + >  arch/arc/include/asm/Kbuild               |   3 + >  arch/arc/include/asm/kprobes.h            |   6 +- >  arch/arc/kernel/vmlinux.lds.S             |   1 - >  arch/arm/include/asm/Kbuild               |   3 + >  arch/arm/include/asm/jump_label.h         |   6 +- >  arch/arm/include/asm/kprobes.h            |   4 + >  arch/arm/kernel/entry-armv.S              |   3 +- >  arch/arm/kernel/vmlinux-xip.lds.S         |   1 - >  arch/arm/kernel/vmlinux.lds.S             |   1 - >  arch/arm/probes/decode.h                  |   1 + >  arch/arm64/include/asm/Kbuild             |   3 + >  arch/arm64/include/asm/jump_label.h       |   6 +- >  arch/arm64/include/asm/kprobes.h          |   4 + >  arch/arm64/kernel/armv8_deprecated.c      |   1 + >  arch/arm64/kernel/insn.c                  |   1 + >  arch/arm64/kernel/probes/decode-insn.h    |   2 + >  arch/arm64/kernel/probes/kprobes.c        |   4 +- >  arch/arm64/kernel/vmlinux.lds.S           |   1 - >  arch/avr32/include/asm/Kbuild             |   3 + >  arch/avr32/include/asm/kprobes.h          |   7 +- >  arch/avr32/kernel/entry-avr32b.S          |  13 +- >  arch/avr32/kernel/vmlinux.lds.S           |   1 - >  arch/blackfin/include/asm/Kbuild          |   4 + >  arch/blackfin/kernel/vmlinux.lds.S        |   1 - >  arch/c6x/include/asm/Kbuild               |   3 + >  arch/c6x/include/asm/tables.h             |  26 + >  arch/c6x/kernel/vmlinux.lds.S             |   1 - >  arch/cris/include/asm/Kbuild              |   4 + >  arch/frv/include/asm/Kbuild               |   4 + >  arch/h8300/include/asm/Kbuild             |   4 + >  arch/hexagon/include/asm/Kbuild           |   4 + >  arch/hexagon/kernel/vmlinux.lds.S         |   1 - >  arch/ia64/include/asm/Kbuild              |   3 + >  arch/ia64/include/asm/kprobes.h           |  12 +- >  arch/ia64/kernel/jprobes.S                |   3 +- >  arch/ia64/kernel/vmlinux.lds.S            |   1 - >  arch/ia64/lib/flush.S                     |   6 +- >  arch/m32r/include/asm/Kbuild              |   4 + >  arch/m68k/include/asm/Kbuild              |   4 + >  arch/metag/include/asm/Kbuild             |   4 + >  arch/metag/kernel/vmlinux.lds.S           |   1 - >  arch/microblaze/include/asm/Kbuild        |   4 + >  arch/microblaze/kernel/vmlinux.lds.S      |   1 - >  arch/mips/include/asm/Kbuild              |   3 + >  arch/mips/include/asm/jump_label.h        |   6 +- >  arch/mips/include/asm/kprobes.h           |   6 +- >  arch/mips/kernel/vmlinux.lds.S            |   1 - >  arch/mn10300/include/asm/Kbuild           |   3 + >  arch/mn10300/include/asm/kprobes.h        |   7 +- >  arch/mn10300/kernel/vmlinux.lds.S         |   1 - >  arch/nios2/include/asm/Kbuild             |   4 + >  arch/nios2/kernel/vmlinux.lds.S           |   1 - >  arch/openrisc/include/asm/Kbuild          |   4 + >  arch/openrisc/kernel/vmlinux.lds.S        |   1 - >  arch/parisc/include/asm/Kbuild            |   4 + >  arch/parisc/kernel/vmlinux.lds.S          |   1 - >  arch/powerpc/include/asm/Kbuild           |   3 + >  arch/powerpc/include/asm/jump_label.h     |   8 +- >  arch/powerpc/include/asm/kprobes.h        |   3 + >  arch/powerpc/include/asm/ppc_asm.h        |   3 +- >  arch/powerpc/kernel/vmlinux.lds.S         |   3 +- >  arch/s390/include/asm/Kbuild              |   3 + >  arch/s390/include/asm/jump_label.h        |   6 +- >  arch/s390/include/asm/kprobes.h           |   7 +- >  arch/s390/kernel/entry.S                  |   5 +- >  arch/s390/kernel/kprobes.c                |   6 +- >  arch/s390/kernel/mcount.S                 |   3 +- >  arch/s390/kernel/vmlinux.lds.S            |   1 - >  arch/score/include/asm/Kbuild             |   4 + >  arch/score/kernel/vmlinux.lds.S           |   1 - >  arch/sh/include/asm/Kbuild                |   3 + >  arch/sh/include/asm/kprobes.h             |   5 +- >  arch/sh/kernel/vmlinux.lds.S              |   1 - >  arch/sparc/include/asm/Kbuild             |   3 + >  arch/sparc/include/asm/jump_label.h       |   6 +- >  arch/sparc/include/asm/kprobes.h          |  10 +- >  arch/sparc/kernel/vmlinux.lds.S           |   1 - >  arch/sparc/mm/ultra.S                     |   3 +- >  arch/tile/include/asm/Kbuild              |   3 + >  arch/tile/include/asm/jump_label.h        |   5 +- >  arch/tile/include/asm/kprobes.h           |   6 +- >  arch/tile/kernel/vmlinux.lds.S            |   1 - >  arch/um/include/asm/Kbuild                |   4 + >  arch/unicore32/include/asm/Kbuild         |   3 + >  arch/unicore32/include/asm/section-core.h |  19 + >  arch/x86/include/asm/Kbuild               |   3 + >  arch/x86/include/asm/asm.h                |   4 +- >  arch/x86/include/asm/jump_label.h         |  10 +- >  arch/x86/include/asm/kprobes.h            |   9 +- >  arch/x86/kernel/cpu/microcode/core.c      |   8 +- >  arch/x86/kernel/kprobes/core.c            |  11 +- >  arch/x86/kernel/vmlinux.lds.S             |   1 - >  arch/x86/tools/relocs.c                   |   4 + >  arch/xtensa/include/asm/Kbuild            |   4 + >  arch/xtensa/kernel/Makefile               |   8 +- >  drivers/base/firmware_class.c             |  12 +- >  firmware/Makefile                         |   6 +- >  include/asm-generic/kprobes.h             |  26 + >  include/asm-generic/ranges.h              |  93 ++++ >  include/asm-generic/section-core.h        | 348 +++++++++++++ >  include/asm-generic/sections.h            |   4 +- >  include/asm-generic/tables.h              |  48 ++ >  include/asm-generic/vmlinux.lds.h         |  47 +- >  include/linux/compiler.h                  |   8 - >  include/linux/dynamic_debug.h             |   5 +- >  include/linux/init.h                      |  89 +++- >  include/linux/jump_label.h                |   8 +- >  include/linux/kprobes.h                   |  24 +- >  include/linux/ranges.h                    | 183 +++++++ >  include/linux/sections.h                  |  87 ++++ >  include/linux/tables.h                    | 683 > +++++++++++++++++++++++++ >  init/Kconfig                              |  22 + >  kernel/jump_label.c                       |  17 +- >  kernel/kprobes.c                          |  17 +- >  lib/Kconfig.debug                         |   6 + >  lib/Makefile                              |   1 + >  lib/dynamic_debug.c                       |  13 +- >  lib/test_linktables/Makefile              |  13 + >  lib/test_linktables/test-linktables-00.c  |  27 + >  lib/test_linktables/test-linktables-01.c  |  27 + >  lib/test_linktables/test-linktables-02.c  |  27 + >  lib/test_linktables/test-linktables-03.c  |  27 + >  lib/test_linktables/test-linktables-04.c  |  27 + >  lib/test_linktables/test-linktables.c     | 801 > ++++++++++++++++++++++++++++++ >  lib/test_linktables/test-linktables.h     |  48 ++ >  scripts/Makefile.build                    |   7 +- >  scripts/Makefile.clean                    |   2 + >  scripts/Makefile.lib                      |  11 + >  scripts/mod/modpost.c                     |   2 +- >  scripts/module-common.lds                 |   2 + >  scripts/recordmcount.c                    |   2 +- >  scripts/recordmcount.pl                   |   2 +- >  tools/objtool/special.c                   |   2 +- >  143 files changed, 3632 insertions(+), 200 deletions(-) >  create mode 100644 Documentation/sections/background.rst >  create mode 100644 Documentation/sections/conf.py >  create mode 100644 Documentation/sections/index.rst >  create mode 100644 Documentation/sections/linker-tables.rst >  create mode 100644 Documentation/sections/ranges.rst >  create mode 100644 Documentation/sections/section-core.rst >  create mode 100644 arch/c6x/include/asm/tables.h >  create mode 100644 arch/unicore32/include/asm/section-core.h >  create mode 100644 include/asm-generic/kprobes.h >  create mode 100644 include/asm-generic/ranges.h >  create mode 100644 include/asm-generic/section-core.h >  create mode 100644 include/asm-generic/tables.h >  create mode 100644 include/linux/ranges.h >  create mode 100644 include/linux/sections.h >  create mode 100644 include/linux/tables.h >  create mode 100644 lib/test_linktables/Makefile >  create mode 100644 lib/test_linktables/test-linktables-00.c >  create mode 100644 lib/test_linktables/test-linktables-01.c >  create mode 100644 lib/test_linktables/test-linktables-02.c >  create mode 100644 lib/test_linktables/test-linktables-03.c >  create mode 100644 lib/test_linktables/test-linktables-04.c >  create mode 100644 lib/test_linktables/test-linktables.c >  create mode 100644 lib/test_linktables/test-linktables.h > -- Andy Shevchenko Intel Finland Oy