From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11113 invoked by alias); 23 Aug 2012 14:58:24 -0000 Received: (qmail 11100 invoked by uid 22791); 23 Aug 2012 14:58:22 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_LOW,TW_DM X-Spam-Check-By: sourceware.org Received: from service87.mimecast.com (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 23 Aug 2012 14:58:08 +0000 Received: from cam-owa2.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Thu, 23 Aug 2012 15:58:07 +0100 Received: from e103070-lin.arm.com ([10.1.255.212]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 23 Aug 2012 15:59:58 +0100 Date: Thu, 23 Aug 2012 14:59:00 -0000 From: Matthew Gretton-Dann To: binutils@sourceware.org Subject: [RFA/ARM 07/21] Add support for new options to DMB/DSB Message-ID: <20120823145805.GJ4624@e103070-lin.arm.com> Mail-Followup-To: binutils@sourceware.org References: MIME-Version: 1.0 In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) X-MC-Unique: 112082315580700201 Content-Type: multipart/mixed; boundary="nhYGnrYv1PEJ5gA2" Content-Disposition: inline Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2012-08/txt/msg00403.txt.bz2 --nhYGnrYv1PEJ5gA2 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-length: 939 ARMv8 adds new options to DMB/DSB in A32/T32. We do a bit of re-engineering in opcodes/arm-dis.c to common up the decode of the options to DMB/DSB. gas/ChangeLog: 2012-08-23 Matthew Gretton-Dann * config/tc-arm.c (asm_barrier_opt): Add arch field. (mark_feature_used): New function. (parse_barrier): Check specified option is valid for the specified architecture. (UL_BARRIER): New macro. (barrier_opt_names): Update for new barrier options. gas/testsuite/ChangeLog: 2012-08-23 Matthew Gretton-Dann * gas/arm/armv8-a-barrier.s: New testcase. * gas/arm/armv8-a-barrier-arm.d: Likewise. * gas/arm/armv8-a-barrier-thumb.d: Likewise. opcodes/ChangeLog: 2012-08-23 Matthew Gretton-Dann * arm-dis.c (data_barrier_option): New function. (print_insn_arm): Use data_barrier_option. (print_insn_thumb32): Use data_barrier_option.= --nhYGnrYv1PEJ5gA2 Content-Type: text/x-patch; charset=WINDOWS-1252; name=0007-Add-support-for-new-options-to-DMB-DSB.txt Content-Description: 0007-Add-support-for-new-options-to-DMB-DSB.txt Content-Disposition: attachment; filename="0007-Add-support-for-new-options-to-DMB-DSB.txt" Content-Transfer-Encoding: base64 Content-length: 12530 ZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtYXJtLmMgYi9nYXMvY29uZmln L3RjLWFybS5jDQppbmRleCA4ZjJmODhiLi5kMzgzOGFiIDEwMDY0NA0KLS0t IGEvZ2FzL2NvbmZpZy90Yy1hcm0uYw0KKysrIGIvZ2FzL2NvbmZpZy90Yy1h cm0uYw0KQEAgLTQ2MSw4ICs0NjEsOSBAQCBzdHJ1Y3QgYXNtX3Bzcg0KIA0K IHN0cnVjdCBhc21fYmFycmllcl9vcHQNCiB7DQotICBjb25zdCBjaGFyICog ICB0ZW1wbGF0ZV9uYW1lOw0KLSAgdW5zaWduZWQgbG9uZyAgdmFsdWU7DQor ICBjb25zdCBjaGFyICogICAgdGVtcGxhdGVfbmFtZTsNCisgIHVuc2lnbmVk IGxvbmcgICB2YWx1ZTsNCisgIGNvbnN0IGFybV9mZWF0dXJlX3NldCBhcmNo Ow0KIH07DQogDQogLyogVGhlIGJpdCB0aGF0IGRpc3Rpbmd1aXNoZXMgQ1BT UiBhbmQgU1BTUi4gICovDQpAQCAtNTc2Niw2ICs1NzY3LDI1IEBAIHBhcnNl X2NvbmQgKGNoYXIgKipzdHIpDQogICByZXR1cm4gYy0+dmFsdWU7DQogfQ0K IA0KKy8qIElmIHRoZSBnaXZlbiBmZWF0dXJlIGF2YWlsYWJsZSBpbiB0aGUg c2VsZWN0ZWQgQ1BVLCBtYXJrIGl0IGFzIHVzZWQuDQorICAgUmV0dXJucyBU UlVFIGlmZiBmZWF0dXJlIGlzIGF2YWlsYWJsZS4gICovDQorc3RhdGljIGJm ZF9ib29sZWFuDQorbWFya19mZWF0dXJlX3VzZWQgKGNvbnN0IGFybV9mZWF0 dXJlX3NldCAqZmVhdHVyZSkNCit7DQorICAvKiBFbnN1cmUgdGhlIG9wdGlv biBpcyB2YWxpZCBvbiB0aGUgY3VycmVudCBhcmNoaXRlY3R1cmUuICAqLw0K KyAgaWYgKCFBUk1fQ1BVX0hBU19GRUFUVVJFIChjcHVfdmFyaWFudCwgKmZl YXR1cmUpKQ0KKyAgICByZXR1cm4gRkFMU0U7DQorDQorICAvKiBBZGQgdGhl IGFwcHJvcHJpYXRlIGFyY2hpdGVjdHVyZSBmZWF0dXJlIGZvciB0aGUgYmFy cmllciBvcHRpb24gdXNlZC4NCisgICAgICovDQorICBpZiAodGh1bWJfbW9k ZSkNCisgICAgQVJNX01FUkdFX0ZFQVRVUkVfU0VUUyAodGh1bWJfYXJjaF91 c2VkLCB0aHVtYl9hcmNoX3VzZWQsICpmZWF0dXJlKTsNCisgIGVsc2UNCisg ICAgQVJNX01FUkdFX0ZFQVRVUkVfU0VUUyAoYXJtX2FyY2hfdXNlZCwgYXJt X2FyY2hfdXNlZCwgKmZlYXR1cmUpOw0KKw0KKyAgcmV0dXJuIFRSVUU7DQor fQ0KKw0KIC8qIFBhcnNlIGFuIG9wdGlvbiBmb3IgYSBiYXJyaWVyIGluc3Ry dWN0aW9uLiAgUmV0dXJucyB0aGUgZW5jb2RpbmcgZm9yIHRoZQ0KICAgIG9w dGlvbiwgb3IgRkFJTC4gICovDQogc3RhdGljIGludA0KQEAgLTU3ODMsNiAr NTgwMyw5IEBAIHBhcnNlX2JhcnJpZXIgKGNoYXIgKipzdHIpDQogICBpZiAo IW8pDQogICAgIHJldHVybiBGQUlMOw0KIA0KKyAgaWYgKCFtYXJrX2ZlYXR1 cmVfdXNlZCAoJm8tPmFyY2gpKQ0KKyAgICByZXR1cm4gRkFJTDsNCisNCiAg ICpzdHIgPSBxOw0KICAgcmV0dXJuIG8tPnZhbHVlOw0KIH0NCkBAIC0xNzE3 MCwyMiArMTcxOTMsMzIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhc21fY29u ZCBjb25kc1tdID0NCiAgIHsiYWwiLCAweGV9DQogfTsNCiANCisjZGVmaW5l IFVMX0JBUlJJRVIoTCxVLENPREUsRkVBVCkgXA0KKyAgeyBMLCBDT0RFLCBB Uk1fRkVBVFVSRSAoRkVBVCwgMCkgfSwgXA0KKyAgeyBVLCBDT0RFLCBBUk1f RkVBVFVSRSAoRkVBVCwgMCkgfQ0KKw0KIHN0YXRpYyBzdHJ1Y3QgYXNtX2Jh cnJpZXJfb3B0IGJhcnJpZXJfb3B0X25hbWVzW10gPQ0KIHsNCi0gIHsgInN5 IiwgICAgMHhmIH0sIHsgIlNZIiwgICAgMHhmIH0sDQotICB7ICJ1biIsICAg IDB4NyB9LCB7ICJVTiIsICAgIDB4NyB9LA0KLSAgeyAic3QiLCAgICAweGUg fSwgeyAiU1QiLCAgICAweGUgfSwNCi0gIHsgInVuc3QiLCAgMHg2IH0sIHsg IlVOU1QiLCAgMHg2IH0sDQotICB7ICJpc2giLCAgIDB4YiB9LCB7ICJJU0gi LCAgIDB4YiB9LA0KLSAgeyAic2giLCAgICAweGIgfSwgeyAiU0giLCAgICAw eGIgfSwNCi0gIHsgImlzaHN0IiwgMHhhIH0sIHsgIklTSFNUIiwgMHhhIH0s DQotICB7ICJzaHN0IiwgIDB4YSB9LCB7ICJTSFNUIiwgIDB4YSB9LA0KLSAg eyAibnNoIiwgICAweDcgfSwgeyAiTlNIIiwgICAweDcgfSwNCi0gIHsgIm5z aHN0IiwgMHg2IH0sIHsgIk5TSFNUIiwgMHg2IH0sDQotICB7ICJvc2giLCAg IDB4MyB9LCB7ICJPU0giLCAgIDB4MyB9LA0KLSAgeyAib3Noc3QiLCAweDIg fSwgeyAiT1NIU1QiLCAweDIgfQ0KKyAgVUxfQkFSUklFUiAoInN5IiwJIlNZ IiwJIDB4ZiwgQVJNX0VYVF9CQVJSSUVSKSwNCisgIFVMX0JBUlJJRVIgKCJz dCIsCSJTVCIsCSAweGUsIEFSTV9FWFRfQkFSUklFUiksDQorICBVTF9CQVJS SUVSICgibGQiLAkiTEQiLAkgMHhkLCBBUk1fRVhUX1Y4KSwNCisgIFVMX0JB UlJJRVIgKCJpc2giLAkiSVNIIiwJIDB4YiwgQVJNX0VYVF9CQVJSSUVSKSwN CisgIFVMX0JBUlJJRVIgKCJzaCIsCSJTSCIsCSAweGIsIEFSTV9FWFRfQkFS UklFUiksDQorICBVTF9CQVJSSUVSICgiaXNoc3QiLAkiSVNIU1QiLCAweGEs IEFSTV9FWFRfQkFSUklFUiksDQorICBVTF9CQVJSSUVSICgic2hzdCIsCSJT SFNUIiwJIDB4YSwgQVJNX0VYVF9CQVJSSUVSKSwNCisgIFVMX0JBUlJJRVIg KCJpc2hsZCIsCSJJU0hMRCIsIDB4OSwgQVJNX0VYVF9WOCksDQorICBVTF9C QVJSSUVSICgidW4iLAkiVU4iLAkgMHg3LCBBUk1fRVhUX0JBUlJJRVIpLA0K KyAgVUxfQkFSUklFUiAoIm5zaCIsCSJOU0giLAkgMHg3LCBBUk1fRVhUX0JB UlJJRVIpLA0KKyAgVUxfQkFSUklFUiAoInVuc3QiLAkiVU5TVCIsCSAweDYs IEFSTV9FWFRfQkFSUklFUiksDQorICBVTF9CQVJSSUVSICgibnNoc3QiLAki TlNIU1QiLCAweDYsIEFSTV9FWFRfQkFSUklFUiksDQorICBVTF9CQVJSSUVS ICgibnNobGQiLAkiTlNITEQiLCAweDUsIEFSTV9FWFRfVjgpLA0KKyAgVUxf QkFSUklFUiAoIm9zaCIsCSJPU0giLAkgMHgzLCBBUk1fRVhUX0JBUlJJRVIp LA0KKyAgVUxfQkFSUklFUiAoIm9zaHN0IiwJIk9TSFNUIiwgMHgyLCBBUk1f RVhUX0JBUlJJRVIpLA0KKyAgVUxfQkFSUklFUiAoIm9zaGxkIiwJIk9TSExE IiwgMHgxLCBBUk1fRVhUX1Y4KQ0KIH07DQogDQorI3VuZGVmIFVMX0JBUlJJ RVINCisNCiAvKiBUYWJsZSBvZiBBUk0tZm9ybWF0IGluc3RydWN0aW9ucy4J Ki8NCiANCiAvKiBNYWNyb3MgZm9yIGdsdWluZyB0b2dldGhlciBvcGVyYW5k IHN0cmluZ3MuICBOLkIuIEluIGFsbCBjYXNlcw0KZGlmZiAtLWdpdCBhL2dh cy90ZXN0c3VpdGUvZ2FzL2FybS9hcm12OC1hLWJhcnJpZXItYXJtLmQgYi9n YXMvdGVzdHN1aXRlL2dhcy9hcm0vYXJtdjgtYS1iYXJyaWVyLWFybS5kDQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uMWEyNDVmYQ0K LS0tIC9kZXYvbnVsbA0KKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvYXJtL2Fy bXY4LWEtYmFycmllci1hcm0uZA0KQEAgLTAsMCArMSwyNCBAQA0KKyNuYW1l OiBWYWxpZCB2OC1BIGJhcnJpZXIgKEFSTSkNCisjYXM6IC1tYXJjaD1hcm12 OC1hDQorI3NvdXJjZTogYXJtdjgtYS1iYXJyaWVyLnMNCisjb2JqZHVtcDog LWRyIC0tcHJlZml4LWFkZHJlc3NlcyAtLXNob3ctcmF3LWluc24NCisNCisu KjogK2ZpbGUgZm9ybWF0IC4qYXJtLioNCisNCitEaXNhc3NlbWJseSBvZiBz ZWN0aW9uIC50ZXh0Og0KKzBbMC05YS1mXSsgPFtePl0rPiBmNTdmZjA0ZCAJ ZHNiCWxkDQorMFswLTlhLWZdKyA8W14+XSs+IGY1N2ZmMDQ5IAlkc2IJaXNo bGQNCiswWzAtOWEtZl0rIDxbXj5dKz4gZjU3ZmYwNDUgCWRzYgluc2hsZA0K KzBbMC05YS1mXSsgPFtePl0rPiBmNTdmZjA0MSAJZHNiCW9zaGxkDQorMFsw LTlhLWZdKyA8W14+XSs+IGY1N2ZmMDVkIAlkbWIJbGQNCiswWzAtOWEtZl0r IDxbXj5dKz4gZjU3ZmYwNTkgCWRtYglpc2hsZA0KKzBbMC05YS1mXSsgPFte Pl0rPiBmNTdmZjA1NSAJZG1iCW5zaGxkDQorMFswLTlhLWZdKyA8W14+XSs+ IGY1N2ZmMDUxIAlkbWIJb3NobGQNCiswWzAtOWEtZl0rIDxbXj5dKz4gZjU3 ZmYwNGQgCWRzYglsZA0KKzBbMC05YS1mXSsgPFtePl0rPiBmNTdmZjA0OSAJ ZHNiCWlzaGxkDQorMFswLTlhLWZdKyA8W14+XSs+IGY1N2ZmMDQ1IAlkc2IJ bnNobGQNCiswWzAtOWEtZl0rIDxbXj5dKz4gZjU3ZmYwNDEgCWRzYglvc2hs ZA0KKzBbMC05YS1mXSsgPFtePl0rPiBmNTdmZjA1ZCAJZG1iCWxkDQorMFsw LTlhLWZdKyA8W14+XSs+IGY1N2ZmMDU5IAlkbWIJaXNobGQNCiswWzAtOWEt Zl0rIDxbXj5dKz4gZjU3ZmYwNTUgCWRtYgluc2hsZA0KKzBbMC05YS1mXSsg PFtePl0rPiBmNTdmZjA1MSAJZG1iCW9zaGxkDQpkaWZmIC0tZ2l0IGEvZ2Fz L3Rlc3RzdWl0ZS9nYXMvYXJtL2FybXY4LWEtYmFycmllci10aHVtYi5kIGIv Z2FzL3Rlc3RzdWl0ZS9nYXMvYXJtL2FybXY4LWEtYmFycmllci10aHVtYi5k DQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uNDJkYWUx NQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvYXJt L2FybXY4LWEtYmFycmllci10aHVtYi5kDQpAQCAtMCwwICsxLDI0IEBADQor I25hbWU6IFZhbGlkIHY4LUEgYmFycmllciAoVGh1bWIpDQorI2FzOiAtbWFy Y2g9YXJtdjgtYSAtbXRodW1iDQorI3NvdXJjZTogYXJtdjgtYS1iYXJyaWVy LnMNCisjb2JqZHVtcDogLWRyIC0tcHJlZml4LWFkZHJlc3NlcyAtLXNob3ct cmF3LWluc24NCisNCisuKjogK2ZpbGUgZm9ybWF0IC4qYXJtLioNCisNCitE aXNhc3NlbWJseSBvZiBzZWN0aW9uIC50ZXh0Og0KKzBbMC05YS1mXSsgPFte Pl0rPiBmM2JmIDhmNGQgCWRzYglsZA0KKzBbMC05YS1mXSsgPFtePl0rPiBm M2JmIDhmNDkgCWRzYglpc2hsZA0KKzBbMC05YS1mXSsgPFtePl0rPiBmM2Jm IDhmNDUgCWRzYgluc2hsZA0KKzBbMC05YS1mXSsgPFtePl0rPiBmM2JmIDhm NDEgCWRzYglvc2hsZA0KKzBbMC05YS1mXSsgPFtePl0rPiBmM2JmIDhmNWQg CWRtYglsZA0KKzBbMC05YS1mXSsgPFtePl0rPiBmM2JmIDhmNTkgCWRtYglp c2hsZA0KKzBbMC05YS1mXSsgPFtePl0rPiBmM2JmIDhmNTUgCWRtYgluc2hs ZA0KKzBbMC05YS1mXSsgPFtePl0rPiBmM2JmIDhmNTEgCWRtYglvc2hsZA0K KzBbMC05YS1mXSsgPFtePl0rPiBmM2JmIDhmNGQgCWRzYglsZA0KKzBbMC05 YS1mXSsgPFtePl0rPiBmM2JmIDhmNDkgCWRzYglpc2hsZA0KKzBbMC05YS1m XSsgPFtePl0rPiBmM2JmIDhmNDUgCWRzYgluc2hsZA0KKzBbMC05YS1mXSsg PFtePl0rPiBmM2JmIDhmNDEgCWRzYglvc2hsZA0KKzBbMC05YS1mXSsgPFte Pl0rPiBmM2JmIDhmNWQgCWRtYglsZA0KKzBbMC05YS1mXSsgPFtePl0rPiBm M2JmIDhmNTkgCWRtYglpc2hsZA0KKzBbMC05YS1mXSsgPFtePl0rPiBmM2Jm IDhmNTUgCWRtYgluc2hsZA0KKzBbMC05YS1mXSsgPFtePl0rPiBmM2JmIDhm NTEgCWRtYglvc2hsZA0KZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2Fz L2FybS9hcm12OC1hLWJhcnJpZXIucyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2Fy bS9hcm12OC1hLWJhcnJpZXIucw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmlu ZGV4IDAwMDAwMDAuLmY3YjcxYzANCi0tLSAvZGV2L251bGwNCisrKyBiL2dh cy90ZXN0c3VpdGUvZ2FzL2FybS9hcm12OC1hLWJhcnJpZXIucw0KQEAgLTAs MCArMSwxOCBAQA0KKwkuc3ludGF4IHVuaWZpZWQNCisJLnRleHQNCisJZHNi IGxkDQorCWRzYiBpc2hsZA0KKwlkc2IgbnNobGQNCisJZHNiIG9zaGxkDQor CWRtYiBsZA0KKwlkbWIgaXNobGQNCisJZG1iIG5zaGxkDQorCWRtYiBvc2hs ZA0KKwlkc2IgTEQNCisJZHNiIElTSExEDQorCWRzYiBOU0hMRA0KKwlkc2Ig T1NITEQNCisJZG1iIExEDQorCWRtYiBJU0hMRA0KKwlkbWIgTlNITEQNCisJ ZG1iIE9TSExEDQpkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9hcm0tZGlzLmMgYi9v cGNvZGVzL2FybS1kaXMuYw0KaW5kZXggNTMyYTZjOC4uY2NiYjZiMyAxMDA2 NDQNCi0tLSBhL29wY29kZXMvYXJtLWRpcy5jDQorKysgYi9vcGNvZGVzL2Fy bS1kaXMuYw0KQEAgLTg2Myw2ICs4NjMsOCBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IG9wY29kZTMyIGFybV9vcGNvZGVzW10gPQ0KICAgLyogVjcgaW5zdHJ1 Y3Rpb25zLiAgKi8NCiAgIHtBUk1fRVhUX1Y3LCAweGY0NTBmMDAwLCAweGZk NzBmMDAwLCAicGxpXHQlUCJ9LA0KICAge0FSTV9FWFRfVjcsIDB4MDMyMGYw ZjAsIDB4MGZmZmZmZjAsICJkYmclY1x0IyUwLTNkIn0sDQorICB7QVJNX0VY VF9WOCwgMHhmNTdmZjA1MSwgMHhmZmZmZmZmMywgImRtYlx0JVUifSwNCisg IHtBUk1fRVhUX1Y4LCAweGY1N2ZmMDQxLCAweGZmZmZmZmYzLCAiZHNiXHQl VSJ9LA0KICAge0FSTV9FWFRfVjcsIDB4ZjU3ZmYwNTAsIDB4ZmZmZmZmZjAs ICJkbWJcdCVVIn0sDQogICB7QVJNX0VYVF9WNywgMHhmNTdmZjA0MCwgMHhm ZmZmZmZmMCwgImRzYlx0JVUifSwNCiAgIHtBUk1fRVhUX1Y3LCAweGY1N2Zm MDYwLCAweGZmZmZmZmYwLCAiaXNiXHQlVSJ9LA0KQEAgLTE0MTQsNiArMTQx Niw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3Bjb2RlMzIgdGh1bWIzMl9v cGNvZGVzW10gPQ0KICAgLyogVjcgaW5zdHJ1Y3Rpb25zLiAgKi8NCiAgIHtB Uk1fRVhUX1Y3LCAweGY5MTBmMDAwLCAweGZmNzBmMDAwLCAicGxpJWNcdCVh In0sDQogICB7QVJNX0VYVF9WNywgMHhmM2FmODBmMCwgMHhmZmZmZmZmMCwg ImRiZyVjXHQjJTAtM2QifSwNCisgIHtBUk1fRVhUX1Y4LCAweGYzYmY4ZjUx LCAweGZmZmZmZmYzLCAiZG1iJWNcdCVVIn0sDQorICB7QVJNX0VYVF9WOCwg MHhmM2JmOGY0MSwgMHhmZmZmZmZmMywgImRzYiVjXHQlVSJ9LA0KICAge0FS TV9FWFRfVjcsIDB4ZjNiZjhmNTAsIDB4ZmZmZmZmZjAsICJkbWIlY1x0JVUi fSwNCiAgIHtBUk1fRVhUX1Y3LCAweGYzYmY4ZjQwLCAweGZmZmZmZmYwLCAi ZHNiJWNcdCVVIn0sDQogICB7QVJNX0VYVF9WNywgMHhmM2JmOGY2MCwgMHhm ZmZmZmZmMCwgImlzYiVjXHQlVSJ9LA0KQEAgLTI5ODUsNiArMjk4OSwyOCBA QCBiYW5rZWRfcmVnbmFtZSAodW5zaWduZWQgcmVnKQ0KICAgICB9DQogfQ0K IA0KKy8qIFJldHVybiB0aGUgbmFtZSBvZiB0aGUgRE1CL0RTQiBvcHRpb24u ICAqLw0KK3N0YXRpYyBjb25zdCBjaGFyICoNCitkYXRhX2JhcnJpZXJfb3B0 aW9uICh1bnNpZ25lZCBvcHRpb24pDQorew0KKyAgc3dpdGNoIChvcHRpb24g JiAweGYpDQorICAgIHsNCisgICAgY2FzZSAweGY6IHJldHVybiAic3kiOw0K KyAgICBjYXNlIDB4ZTogcmV0dXJuICJzdCI7DQorICAgIGNhc2UgMHhkOiBy ZXR1cm4gImxkIjsNCisgICAgY2FzZSAweGI6IHJldHVybiAiaXNoIjsNCisg ICAgY2FzZSAweGE6IHJldHVybiAiaXNoc3QiOw0KKyAgICBjYXNlIDB4OTog cmV0dXJuICJpc2hsZCI7DQorICAgIGNhc2UgMHg3OiByZXR1cm4gInVuIjsN CisgICAgY2FzZSAweDY6IHJldHVybiAidW5zdCI7DQorICAgIGNhc2UgMHg1 OiByZXR1cm4gIm5zaGxkIjsNCisgICAgY2FzZSAweDM6IHJldHVybiAib3No IjsNCisgICAgY2FzZSAweDI6IHJldHVybiAib3Noc3QiOw0KKyAgICBjYXNl IDB4MTogcmV0dXJuICJvc2hsZCI7DQorICAgIGRlZmF1bHQ6ICByZXR1cm4g TlVMTDsNCisgICAgfQ0KK30NCisNCiAvKiBQcmludCBvbmUgQVJNIGluc3Ry dWN0aW9uIGZyb20gUEMgb24gSU5GTy0+U1RSRUFNLiAgKi8NCiANCiBzdGF0 aWMgdm9pZA0KQEAgLTMzMzUsMjAgKzMzNjEsMTEgQEAgcHJpbnRfaW5zbl9h cm0gKGJmZF92bWEgcGMsIHN0cnVjdCBkaXNhc3NlbWJsZV9pbmZvICppbmZv LCBsb25nIGdpdmVuKQ0KIAkJCX0gDQogCQkgICAgICBlbHNlIA0KIAkJCXsN Ci0JCQkgIHN3aXRjaCAoZ2l2ZW4gJiAweGYpDQotCQkJICAgIHsNCi0JCQkg ICAgY2FzZSAweGY6IGZ1bmMgKHN0cmVhbSwgInN5Iik7IGJyZWFrOw0KLQkJ CSAgICBjYXNlIDB4NzogZnVuYyAoc3RyZWFtLCAidW4iKTsgYnJlYWs7DQot CQkJICAgIGNhc2UgMHhlOiBmdW5jIChzdHJlYW0sICJzdCIpOyBicmVhazsN Ci0JCQkgICAgY2FzZSAweDY6IGZ1bmMgKHN0cmVhbSwgInVuc3QiKTsgYnJl YWs7DQotCQkJICAgIGNhc2UgMHhiOiBmdW5jIChzdHJlYW0sICJpc2giKTsg YnJlYWs7DQotCQkJICAgIGNhc2UgMHhhOiBmdW5jIChzdHJlYW0sICJpc2hz dCIpOyBicmVhazsNCi0JCQkgICAgY2FzZSAweDM6IGZ1bmMgKHN0cmVhbSwg Im9zaCIpOyBicmVhazsNCi0JCQkgICAgY2FzZSAweDI6IGZ1bmMgKHN0cmVh bSwgIm9zaHN0Iik7IGJyZWFrOw0KLQkJCSAgICBkZWZhdWx0Og0KKwkJCSAg Y29uc3QgY2hhciAqIG9wdCA9IGRhdGFfYmFycmllcl9vcHRpb24gKGdpdmVu ICYgMHhmKTsNCisJCQkgIGlmIChvcHQgIT0gTlVMTCkNCisJCQkgICAgZnVu YyAoc3RyZWFtLCAiJXMiLCBvcHQpOw0KKwkJCSAgZWxzZQ0KIAkJCSAgICAg IGZ1bmMgKHN0cmVhbSwgIiMlZCIsIChpbnQpIGdpdmVuICYgMHhmKTsNCi0J CQkgICAgICBicmVhazsNCi0JCQkgICAgfQ0KIAkJCX0NCiAJCSAgICAgIGJy ZWFrOw0KIA0KQEAgLTQyMjIsMjAgKzQyMzksMTEgQEAgcHJpbnRfaW5zbl90 aHVtYjMyIChiZmRfdm1hIHBjLCBzdHJ1Y3QgZGlzYXNzZW1ibGVfaW5mbyAq aW5mbywgbG9uZyBnaXZlbikNCiAJCSAgfQ0KIAkJZWxzZSANCiAJCSAgew0K LQkJICAgIHN3aXRjaCAoZ2l2ZW4gJiAweGYpDQotCQkgICAgICB7DQotCQkJ Y2FzZSAweGY6IGZ1bmMgKHN0cmVhbSwgInN5Iik7IGJyZWFrOw0KLQkJCWNh c2UgMHg3OiBmdW5jIChzdHJlYW0sICJ1biIpOyBicmVhazsNCi0JCQljYXNl IDB4ZTogZnVuYyAoc3RyZWFtLCAic3QiKTsgYnJlYWs7DQotCQkJY2FzZSAw eDY6IGZ1bmMgKHN0cmVhbSwgInVuc3QiKTsgYnJlYWs7DQotCQkJY2FzZSAw eGI6IGZ1bmMgKHN0cmVhbSwgImlzaCIpOyBicmVhazsNCi0JCQljYXNlIDB4 YTogZnVuYyAoc3RyZWFtLCAiaXNoc3QiKTsgYnJlYWs7DQotCQkJY2FzZSAw eDM6IGZ1bmMgKHN0cmVhbSwgIm9zaCIpOyBicmVhazsNCi0JCQljYXNlIDB4 MjogZnVuYyAoc3RyZWFtLCAib3Noc3QiKTsgYnJlYWs7DQotCQkJZGVmYXVs dDoNCi0JCQkgIGZ1bmMgKHN0cmVhbSwgIiMlZCIsIChpbnQpIGdpdmVuICYg MHhmKTsNCi0JCQkgIGJyZWFrOw0KLQkJICAgICAgfQ0KKwkJICAgIGNvbnN0 IGNoYXIgKiBvcHQgPSBkYXRhX2JhcnJpZXJfb3B0aW9uIChnaXZlbiAmIDB4 Zik7DQorCQkgICAgaWYgKG9wdCAhPSBOVUxMKQ0KKwkJICAgICAgZnVuYyAo c3RyZWFtLCAiJXMiLCBvcHQpOw0KKwkJICAgIGVsc2UNCisJCSAgICAgIGZ1 bmMgKHN0cmVhbSwgIiMlZCIsIChpbnQpIGdpdmVuICYgMHhmKTsNCiAJCSAg IH0NCiAJCWJyZWFrOw0KIA0K --nhYGnrYv1PEJ5gA2--