From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15444 invoked by alias); 16 Jan 2015 08:00:28 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 15423 invoked by uid 89); 16 Jan 2015 08:00:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.5 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Fri, 16 Jan 2015 08:00:16 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t0G80FKe009008 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Fri, 16 Jan 2015 03:00:15 -0500 Received: from bordewijk.wildebeest.org (ovpn-116-139.ams2.redhat.com [10.36.116.139]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t0G80D6Q002414 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 16 Jan 2015 03:00:14 -0500 Received: by bordewijk.wildebeest.org (Postfix, from userid 1000) id 1109A80AF00F; Fri, 16 Jan 2015 09:00:12 +0100 (CET) Message-ID: <1421395212.26117.32.camel@bordewijk.wildebeest.org> Subject: Re: [PATCH] GCC5/DWARFv5 Handle DW_TAG_atomic_type for C11 _Atomic type qualifier. From: Mark Wielaard To: gdb-patches@sourceware.org Date: Fri, 16 Jan 2015 08:00:00 -0000 In-Reply-To: <1418164215-27434-1-git-send-email-mjw@redhat.com> References: <1418164215-27434-1-git-send-email-mjw@redhat.com> Content-Type: multipart/mixed; boundary="=-GAKDIFPs4bV72HTjMLXe" Mime-Version: 1.0 X-SW-Source: 2015-01/txt/msg00449.txt.bz2 --=-GAKDIFPs4bV72HTjMLXe Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-length: 1149 On Tue, 2014-12-09 at 23:30 +0100, Mark Wielaard wrote: > This is a cleanup version of the prototype we discussed 6 months ago. > https://sourceware.org/ml/gdb-patches/2014-06/msg00795.html > GCC now has support for DW_TAG_atomic_type when using the experimental > -gdwarf-5 flag. I fixed up the issues Tom pointed out back in June. > And I changed the testcase to use the DWARF assembler. >=20 > gdb/ChangeLog >=20 > * c-typeprint.c (cp_type_print_method_args): Handle '_Atomic'. > (c_type_print_modifier): Likewise. > * dwarf2read.c (read_tag_atomic_type): New function. > (read_type_die_1): Handle DW_TAG_atomic_type. > * gdbtypes.c (make_atomic_type): New function. > (recursive_dump_type): Handle TYPE_ATOMIC. > * gdbtypes.h (enum type_flag_values): Renumber. > (enum type_instance_flag_value): Add TYPE_INSTANCE_FLAG_ATOMIC. > (TYPE_ATOMIC): New macro. > (make_atomic_type): Declare. >=20 > gdb/testsuite/ChangeLog >=20 > * gdb.dwarf2/atomic.c: New file. > * gdb.dwarf2/atomic-type.exp: Likewise. >=20 > include/ChangeLog >=20 > * dwarf2.def: Add DW_TAG_atomic_type. >=20 > OK to commit? Ping. Rebased version of patch attached. --=-GAKDIFPs4bV72HTjMLXe Content-Type: text/x-patch; name="0001-GCC5-DWARFv5-Handle-DW_TAG_atomic_type-for-C11-_Atom.patch"; charset="UTF-8" Content-Description: Content-Disposition: inline; filename*0=0001-GCC5-DWARFv5-Handle-DW_TAG_atomic_type-for-C11-_Atom.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-length: 18337 RnJvbSAxNmVmNTE1MDQyY2RiNTZkYTlmOGRlMDdjNGQyYWI3N2Y1MzY4MWJl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogTWFyayBXaWVsYWFy ZCA8bWp3QHJlZGhhdC5jb20+DQpEYXRlOiBUdWUsIDkgRGVjIDIwMTQgMjM6 MTI6NTUgKzAxMDANClN1YmplY3Q6IFtQQVRDSF0gR0NDNS9EV0FSRnY1IEhh bmRsZSBEV19UQUdfYXRvbWljX3R5cGUgZm9yIEMxMSBfQXRvbWljIHR5cGUN CiBxdWFsaWZpZXIuDQoNCmdkYi9DaGFuZ2VMb2cNCg0KCSogYy10eXBlcHJp bnQuYyAoY3BfdHlwZV9wcmludF9tZXRob2RfYXJncyk6IEhhbmRsZSAnX0F0 b21pYycuDQoJKGNfdHlwZV9wcmludF9tb2RpZmllcik6IExpa2V3aXNlLg0K CSogZHdhcmYycmVhZC5jIChyZWFkX3RhZ19hdG9taWNfdHlwZSk6IE5ldyBm dW5jdGlvbi4NCgkocmVhZF90eXBlX2RpZV8xKTogSGFuZGxlIERXX1RBR19h dG9taWNfdHlwZS4NCgkqIGdkYnR5cGVzLmMgKG1ha2VfYXRvbWljX3R5cGUp OiBOZXcgZnVuY3Rpb24uDQoJKHJlY3Vyc2l2ZV9kdW1wX3R5cGUpOiBIYW5k bGUgVFlQRV9BVE9NSUMuDQoJKiBnZGJ0eXBlcy5oIChlbnVtIHR5cGVfZmxh Z192YWx1ZXMpOiBSZW51bWJlci4NCgkoZW51bSB0eXBlX2luc3RhbmNlX2Zs YWdfdmFsdWUpOiBBZGQgVFlQRV9JTlNUQU5DRV9GTEFHX0FUT01JQy4NCgko VFlQRV9BVE9NSUMpOiBOZXcgbWFjcm8uDQoJKG1ha2VfYXRvbWljX3R5cGUp OiBEZWNsYXJlLg0KDQpnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZw0KDQoJKiBn ZGIuZHdhcmYyL2F0b21pYy5jOiBOZXcgZmlsZS4NCgkqIGdkYi5kd2FyZjIv YXRvbWljLXR5cGUuZXhwOiBMaWtld2lzZS4NCg0KaW5jbHVkZS9DaGFuZ2VM b2cNCg0KCSogZHdhcmYyLmRlZjogQWRkIERXX1RBR19hdG9taWNfdHlwZS4N Ci0tLQ0KIGdkYi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAxMyArKysrKw0KIGdkYi9jLXR5cGVwcmludC5jICAgICAgICAgICAg ICAgICAgICAgICAgfCAxMSArKysrDQogZ2RiL2R3YXJmMnJlYWQuYyAgICAg ICAgICAgICAgICAgICAgICAgICB8IDIxICsrKysrKysrDQogZ2RiL2dkYnR5 cGVzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE1ICsrKysrKw0K IGdkYi9nZGJ0eXBlcy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAz NSArKysrKysrKy0tLS0tDQogZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cgICAg ICAgICAgICAgICAgICB8ICA1ICsrDQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2F0b21pYy10eXBlLmV4cCB8IDkwICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrDQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2F0b21p Yy5jICAgICAgICB8IDM0ICsrKysrKysrKysrKw0KIGluY2x1ZGUvQ2hhbmdl TG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKw0KIGluY2x1ZGUv ZHdhcmYyLmRlZiAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArDQogMTAg ZmlsZXMgY2hhbmdlZCwgMjE3IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9u cygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5k d2FyZjIvYXRvbWljLXR5cGUuZXhwDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdk Yi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9hdG9taWMuYw0KDQpkaWZmIC0tZ2l0 IGEvZ2RiL0NoYW5nZUxvZyBiL2dkYi9DaGFuZ2VMb2cNCmluZGV4IDVjNDU3 ODAuLjczMDExNzQgMTAwNjQ0DQotLS0gYS9nZGIvQ2hhbmdlTG9nDQorKysg Yi9nZGIvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDE2IEBADQorMjAxNS0wMS0x NiAgTWFyayBXaWVsYWFyZCAgPG1qd0ByZWRoYXQuY29tPg0KKw0KKwkqIGMt dHlwZXByaW50LmMgKGNwX3R5cGVfcHJpbnRfbWV0aG9kX2FyZ3MpOiBIYW5k bGUgJ19BdG9taWMnLg0KKwkoY190eXBlX3ByaW50X21vZGlmaWVyKTogTGlr ZXdpc2UuDQorCSogZHdhcmYycmVhZC5jIChyZWFkX3RhZ19hdG9taWNfdHlw ZSk6IE5ldyBmdW5jdGlvbi4NCisJKHJlYWRfdHlwZV9kaWVfMSk6IEhhbmRs ZSBEV19UQUdfYXRvbWljX3R5cGUuDQorCSogZ2RidHlwZXMuYyAobWFrZV9h dG9taWNfdHlwZSk6IE5ldyBmdW5jdGlvbi4NCisJKHJlY3Vyc2l2ZV9kdW1w X3R5cGUpOiBIYW5kbGUgVFlQRV9BVE9NSUMuDQorCSogZ2RidHlwZXMuaCAo ZW51bSB0eXBlX2ZsYWdfdmFsdWVzKTogUmVudW1iZXIuDQorCShlbnVtIHR5 cGVfaW5zdGFuY2VfZmxhZ192YWx1ZSk6IEFkZCBUWVBFX0lOU1RBTkNFX0ZM QUdfQVRPTUlDLg0KKwkoVFlQRV9BVE9NSUMpOiBOZXcgbWFjcm8uDQorCSht YWtlX2F0b21pY190eXBlKTogRGVjbGFyZS4NCisNCiAyMDE1LTAxLTE1ICBK b2VsIEJyb2JlY2tlciAgPGJyb2JlY2tlckBhZGFjb3JlLmNvbT4NCiANCiAJ R0RCIDcuOC4yIHJlbGVhc2VkLg0KZGlmZiAtLWdpdCBhL2dkYi9jLXR5cGVw cmludC5jIGIvZ2RiL2MtdHlwZXByaW50LmMNCmluZGV4IGM5NDUzNGUuLmJi ZTQ4MjcgMTAwNjQ0DQotLS0gYS9nZGIvYy10eXBlcHJpbnQuYw0KKysrIGIv Z2RiL2MtdHlwZXByaW50LmMNCkBAIC0yNzAsNiArMjcwLDkgQEAgY3BfdHlw ZV9wcmludF9tZXRob2RfYXJncyAoc3RydWN0IHR5cGUgKm10eXBlLCBjb25z dCBjaGFyICpwcmVmaXgsDQogDQogICAgICAgaWYgKFRZUEVfUkVTVFJJQ1Qg KGRvbWFpbikpDQogCWZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIiByZXN0 cmljdCIpOw0KKw0KKyAgICAgIGlmIChUWVBFX0FUT01JQyAoZG9tYWluKSkN CisJZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiIF9BdG9taWMiKTsNCiAg ICAgfQ0KIH0NCiANCkBAIC00MzEsNiArNDM0LDE0IEBAIGNfdHlwZV9wcmlu dF9tb2RpZmllciAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxl ICpzdHJlYW0sDQogICAgICAgZGlkX3ByaW50X21vZGlmaWVyID0gMTsNCiAg ICAgfQ0KIA0KKyAgaWYgKFRZUEVfQVRPTUlDICh0eXBlKSkNCisgICAgew0K KyAgICAgIGlmIChkaWRfcHJpbnRfbW9kaWZpZXIgfHwgbmVlZF9wcmVfc3Bh Y2UpDQorCWZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIiAiKTsNCisgICAg ICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICJfQXRvbWljIik7DQorICAg ICAgZGlkX3ByaW50X21vZGlmaWVyID0gMTsNCisgICAgfQ0KKw0KICAgYWRk cmVzc19zcGFjZV9pZCA9IGFkZHJlc3Nfc3BhY2VfaW50X3RvX25hbWUgKGdl dF90eXBlX2FyY2ggKHR5cGUpLA0KIAkJCQkJCVRZUEVfSU5TVEFOQ0VfRkxB R1MgKHR5cGUpKTsNCiAgIGlmIChhZGRyZXNzX3NwYWNlX2lkKQ0KZGlmZiAt LWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jDQpp bmRleCA5NmIyNTM3Li44MGE1YzJlIDEwMDY0NA0KLS0tIGEvZ2RiL2R3YXJm MnJlYWQuYw0KKysrIGIvZ2RiL2R3YXJmMnJlYWQuYw0KQEAgLTE0MjI5LDYg KzE0MjI5LDI0IEBAIHJlYWRfdGFnX3Jlc3RyaWN0X3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkNCiAgIHJldHVy biBzZXRfZGllX3R5cGUgKGRpZSwgY3ZfdHlwZSwgY3UpOw0KIH0NCiANCisv KiBIYW5kbGUgRFdfVEFHX2F0b21pY190eXBlLiAgKi8NCisNCitzdGF0aWMg c3RydWN0IHR5cGUgKg0KK3JlYWRfdGFnX2F0b21pY190eXBlIChzdHJ1Y3Qg ZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpDQorew0KKyAg c3RydWN0IHR5cGUgKmJhc2VfdHlwZSwgKmN2X3R5cGU7DQorDQorICBiYXNl X3R5cGUgPSBkaWVfdHlwZSAoZGllLCBjdSk7DQorDQorICAvKiBUaGUgZGll X3R5cGUgY2FsbCBhYm92ZSBtYXkgaGF2ZSBhbHJlYWR5IHNldCB0aGUgdHlw ZSBmb3IgdGhpcyBESUUuICAqLw0KKyAgY3ZfdHlwZSA9IGdldF9kaWVfdHlw ZSAoZGllLCBjdSk7DQorICBpZiAoY3ZfdHlwZSkNCisgICAgcmV0dXJuIGN2 X3R5cGU7DQorDQorICBjdl90eXBlID0gbWFrZV9hdG9taWNfdHlwZSAoYmFz ZV90eXBlKTsNCisgIHJldHVybiBzZXRfZGllX3R5cGUgKGRpZSwgY3ZfdHlw ZSwgY3UpOw0KK30NCisNCiAvKiBFeHRyYWN0IGFsbCBpbmZvcm1hdGlvbiBm cm9tIGEgRFdfVEFHX3N0cmluZ190eXBlIERJRSBhbmQgYWRkIHRvDQogICAg dGhlIHVzZXIgZGVmaW5lZCB0eXBlIHZlY3Rvci4gIEl0IGlzbid0IHJlYWxs eSBhIHVzZXIgZGVmaW5lZCB0eXBlLA0KICAgIGJ1dCBpdCBiZWhhdmVzIGxp a2Ugb25lLCB3aXRoIG90aGVyIERJRSdzIHVzaW5nIGFuIEFUX3VzZXJfZGVm X3R5cGUNCkBAIC0xODY5NSw2ICsxODcxMyw5IEBAIHJlYWRfdHlwZV9kaWVf MSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1 KQ0KICAgICBjYXNlIERXX1RBR19tb2R1bGU6DQogICAgICAgdGhpc190eXBl ID0gcmVhZF9tb2R1bGVfdHlwZSAoZGllLCBjdSk7DQogICAgICAgYnJlYWs7 DQorICAgIGNhc2UgRFdfVEFHX2F0b21pY190eXBlOg0KKyAgICAgIHRoaXNf dHlwZSA9IHJlYWRfdGFnX2F0b21pY190eXBlIChkaWUsIGN1KTsNCisgICAg ICBicmVhazsNCiAgICAgZGVmYXVsdDoNCiAgICAgICBjb21wbGFpbnQgKCZz eW1maWxlX2NvbXBsYWludHMsDQogCQkgXygidW5leHBlY3RlZCB0YWcgaW4g cmVhZF90eXBlX2RpZTogJyVzJyIpLA0KZGlmZiAtLWdpdCBhL2dkYi9nZGJ0 eXBlcy5jIGIvZ2RiL2dkYnR5cGVzLmMNCmluZGV4IDZkM2MwODQuLjMzOWQ2 ODYgMTAwNjQ0DQotLS0gYS9nZGIvZ2RidHlwZXMuYw0KKysrIGIvZ2RiL2dk YnR5cGVzLmMNCkBAIC03MTYsNiArNzE2LDE3IEBAIG1ha2VfdW5xdWFsaWZp ZWRfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUpDQogCQkJICAgICAgTlVMTCk7 DQogfQ0KIA0KKy8qIE1ha2UgYSAnX0F0b21pYyctcXVhbGlmaWVkIHZlcnNp b24gb2YgVFlQRS4gICovDQorDQorc3RydWN0IHR5cGUgKg0KK21ha2VfYXRv bWljX3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlKQ0KK3sNCisgIHJldHVybiBt YWtlX3F1YWxpZmllZF90eXBlICh0eXBlLA0KKwkJCSAgICAgIChUWVBFX0lO U1RBTkNFX0ZMQUdTICh0eXBlKQ0KKwkJCSAgICAgICB8IFRZUEVfSU5TVEFO Q0VfRkxBR19BVE9NSUMpLA0KKwkJCSAgICAgIE5VTEwpOw0KK30NCisNCiAv KiBSZXBsYWNlIHRoZSBjb250ZW50cyBvZiBudHlwZSB3aXRoIHRoZSB0eXBl ICp0eXBlLiAgVGhpcyBjaGFuZ2VzIHRoZQ0KICAgIGNvbnRlbnRzLCByYXRo ZXIgdGhhbiB0aGUgcG9pbnRlciBmb3IgVFlQRV9NQUlOX1RZUEUgKG50eXBl KTsgdGh1cw0KICAgIHRoZSBjaGFuZ2VzIGFyZSBwcm9wb2dhdGVkIHRvIGFs bCB0eXBlcyBpbiB0aGUgVFlQRV9DSEFJTi4NCkBAIC0zODcyLDYgKzM4ODMs MTAgQEAgcmVjdXJzaXZlX2R1bXBfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUs IGludCBzcGFjZXMpDQogICAgIHsNCiAgICAgICBwdXRzX2ZpbHRlcmVkICgi IFRZUEVfRkxBR19SRVNUUklDVCIpOw0KICAgICB9DQorICBpZiAoVFlQRV9B VE9NSUMgKHR5cGUpKQ0KKyAgICB7DQorICAgICAgcHV0c19maWx0ZXJlZCAo IiBUWVBFX0ZMQUdfQVRPTUlDIik7DQorICAgIH0NCiAgIHB1dHNfZmlsdGVy ZWQgKCJcbiIpOw0KIA0KICAgcHJpbnRmaV9maWx0ZXJlZCAoc3BhY2VzLCAi ZmxhZ3MiKTsNCmRpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuaCBiL2dkYi9n ZGJ0eXBlcy5oDQppbmRleCA3YzA2YTRmLi4zZTAxYzVlIDEwMDY0NA0KLS0t IGEvZ2RiL2dkYnR5cGVzLmgNCisrKyBiL2dkYi9nZGJ0eXBlcy5oDQpAQCAt MTkzLDE4ICsxOTMsMTggQEAgZW51bSB0eXBlX2NvZGUNCiANCiBlbnVtIHR5 cGVfZmxhZ192YWx1ZQ0KIHsNCi0gIFRZUEVfRkxBR19VTlNJR05FRCA9ICgx IDw8IDgpLA0KLSAgVFlQRV9GTEFHX05PU0lHTiA9ICgxIDw8IDkpLA0KLSAg VFlQRV9GTEFHX1NUVUIgPSAoMSA8PCAxMCksDQotICBUWVBFX0ZMQUdfVEFS R0VUX1NUVUIgPSAoMSA8PCAxMSksDQotICBUWVBFX0ZMQUdfU1RBVElDID0g KDEgPDwgMTIpLA0KLSAgVFlQRV9GTEFHX1BST1RPVFlQRUQgPSAoMSA8PCAx MyksDQotICBUWVBFX0ZMQUdfSU5DT01QTEVURSA9ICgxIDw8IDE0KSwNCi0g IFRZUEVfRkxBR19WQVJBUkdTID0gKDEgPDwgMTUpLA0KLSAgVFlQRV9GTEFH X1ZFQ1RPUiA9ICgxIDw8IDE2KSwNCi0gIFRZUEVfRkxBR19GSVhFRF9JTlNU QU5DRSA9ICgxIDw8IDE3KSwNCi0gIFRZUEVfRkxBR19TVFVCX1NVUFBPUlRF RCA9ICgxIDw8IDE4KSwNCi0gIFRZUEVfRkxBR19HTlVfSUZVTkMgPSAoMSA8 PCAxOSksDQorICBUWVBFX0ZMQUdfVU5TSUdORUQgPSAoMSA8PCA5KSwNCisg IFRZUEVfRkxBR19OT1NJR04gPSAoMSA8PCAxMCksDQorICBUWVBFX0ZMQUdf U1RVQiA9ICgxIDw8IDExKSwNCisgIFRZUEVfRkxBR19UQVJHRVRfU1RVQiA9 ICgxIDw8IDEyKSwNCisgIFRZUEVfRkxBR19TVEFUSUMgPSAoMSA8PCAxMyks DQorICBUWVBFX0ZMQUdfUFJPVE9UWVBFRCA9ICgxIDw8IDE0KSwNCisgIFRZ UEVfRkxBR19JTkNPTVBMRVRFID0gKDEgPDwgMTUpLA0KKyAgVFlQRV9GTEFH X1ZBUkFSR1MgPSAoMSA8PCAxNiksDQorICBUWVBFX0ZMQUdfVkVDVE9SID0g KDEgPDwgMTcpLA0KKyAgVFlQRV9GTEFHX0ZJWEVEX0lOU1RBTkNFID0gKDEg PDwgMTgpLA0KKyAgVFlQRV9GTEFHX1NUVUJfU1VQUE9SVEVEID0gKDEgPDwg MTkpLA0KKyAgVFlQRV9GTEFHX0dOVV9JRlVOQyA9ICgxIDw8IDIwKSwNCiAN CiAgIC8qICogVXNlZCBmb3IgZXJyb3ItY2hlY2tpbmcuICAqLw0KICAgVFlQ RV9GTEFHX01JTiA9IFRZUEVfRkxBR19VTlNJR05FRA0KQEAgLTIyMyw3ICsy MjMsOCBAQCBlbnVtIHR5cGVfaW5zdGFuY2VfZmxhZ192YWx1ZQ0KICAgVFlQ RV9JTlNUQU5DRV9GTEFHX0FERFJFU1NfQ0xBU1NfMSA9ICgxIDw8IDQpLA0K ICAgVFlQRV9JTlNUQU5DRV9GTEFHX0FERFJFU1NfQ0xBU1NfMiA9ICgxIDw8 IDUpLA0KICAgVFlQRV9JTlNUQU5DRV9GTEFHX05PVFRFWFQgPSAoMSA8PCA2 KSwNCi0gIFRZUEVfSU5TVEFOQ0VfRkxBR19SRVNUUklDVCA9ICgxIDw8IDcp DQorICBUWVBFX0lOU1RBTkNFX0ZMQUdfUkVTVFJJQ1QgPSAoMSA8PCA3KSwN CisgIFRZUEVfSU5TVEFOQ0VfRkxBR19BVE9NSUMgPSAoMSA8PCA4KQ0KIH07 DQogDQogLyogKiBVbnNpZ25lZCBpbnRlZ2VyIHR5cGUuICBJZiB0aGlzIGlz IG5vdCBzZXQgZm9yIGEgVFlQRV9DT0RFX0lOVCwNCkBAIC0zNTUsNiArMzU2 LDEyIEBAIGVudW0gdHlwZV9pbnN0YW5jZV9mbGFnX3ZhbHVlDQogI2RlZmlu ZSBUWVBFX1JFU1RSSUNUKHQpIFwNCiAgIChUWVBFX0lOU1RBTkNFX0ZMQUdT ICh0KSAmIFRZUEVfSU5TVEFOQ0VfRkxBR19SRVNUUklDVCkNCiANCisvKiAq IEF0b21pYyB0eXBlLiAgSWYgdGhpcyBpcyBzZXQsIHRoZSBjb3JyZXNwb25k aW5nIHR5cGUgaGFzIGFuDQorICAgX0F0b21pYyBtb2RpZmllci4gICovDQor DQorI2RlZmluZSBUWVBFX0FUT01JQyh0KSBcDQorICAoVFlQRV9JTlNUQU5D RV9GTEFHUyAodCkgJiBUWVBFX0lOU1RBTkNFX0ZMQUdfQVRPTUlDKQ0KKw0K IC8qICogSW5zdHJ1Y3Rpb24tc3BhY2UgZGVsaW1pdGVkIHR5cGUuICBUaGlz IGlzIGZvciBIYXJ2YXJkIGFyY2hpdGVjdHVyZXMNCiAgICB3aGljaCBoYXZl IHNlcGFyYXRlIGluc3RydWN0aW9uIGFuZCBkYXRhIGFkZHJlc3Mgc3BhY2Vz IChhbmQgcGVyaGFwcw0KICAgIG90aGVycykuDQpAQCAtMTYzNCw2ICsxNjQx LDggQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICptYWtlX3Jlc3RyaWN0X3R5cGUg KHN0cnVjdCB0eXBlICopOw0KIA0KIGV4dGVybiBzdHJ1Y3QgdHlwZSAqbWFr ZV91bnF1YWxpZmllZF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsNCiANCitleHRl cm4gc3RydWN0IHR5cGUgKm1ha2VfYXRvbWljX3R5cGUgKHN0cnVjdCB0eXBl ICopOw0KKw0KIGV4dGVybiB2b2lkIHJlcGxhY2VfdHlwZSAoc3RydWN0IHR5 cGUgKiwgc3RydWN0IHR5cGUgKik7DQogDQogZXh0ZXJuIGludCBhZGRyZXNz X3NwYWNlX25hbWVfdG9faW50IChzdHJ1Y3QgZ2RiYXJjaCAqLCBjaGFyICop Ow0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nIGIvZ2Ri L3Rlc3RzdWl0ZS9DaGFuZ2VMb2cNCmluZGV4IGE3MWVlOTguLmRjOTIwNjkg MTAwNjQ0DQotLS0gYS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZw0KKysrIGIv Z2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEsOCBAQA0KKzIw MTUtMDEtMTYgIE1hcmsgV2llbGFhcmQgIDxtandAcmVkaGF0LmNvbT4NCisN CisJKiBnZGIuZHdhcmYyL2F0b21pYy5jOiBOZXcgZmlsZS4NCisJKiBnZGIu ZHdhcmYyL2F0b21pYy10eXBlLmV4cDogTGlrZXdpc2UuDQorDQogMjAxNS0w MS0xNSAgSm9lbCBCcm9iZWNrZXIgIDxicm9iZWNrZXJAYWRhY29yZS5jb20+ DQogDQogCSogZ2RiLmFkYS92YXJfYXJyX2F0dHJzOiBOZXcgdGVzdGNhc2Uu DQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2F0b21p Yy10eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9hdG9taWMt dHlwZS5leHANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAw Li5kN2MzYmJlDQotLS0gL2Rldi9udWxsDQorKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvYXRvbWljLXR5cGUuZXhwDQpAQCAtMCwwICsxLDkwIEBA DQorIyBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4NCisNCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQorIyBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQ0KKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IN CisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQorIw0K KyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsDQorIyBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0K KyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQ0KKyMgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCisjDQorIyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQ0KKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQorbG9hZF9s aWIgZHdhcmYuZXhwDQorDQorIyBUaGlzIHRlc3QgY2FuIG9ubHkgYmUgcnVu IG9uIHRhcmdldHMgd2hpY2ggc3VwcG9ydCBEV0FSRi0yIGFuZCB1c2UgZ2Fz Lg0KK2lmIHshW2R3YXJmMl9zdXBwb3J0XX0gew0KKyAgICByZXR1cm4gMA0K K30NCisNCitzdGFuZGFyZF90ZXN0ZmlsZSBhdG9taWMuYyBhdG9taWMtdHlw ZS1kdy5TDQorDQorIyBNYWtlIHNvbWUgRFdBUkYgZm9yIHRoZSB0ZXN0Lg0K Kw0KK3NldCBhc21fZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHNyY2Zp bGUyXQ0KKyNzZXQgcHRyX3NpemUgW2dldF9zaXplb2YgInZvaWQgKiIgOTZd DQorRHdhcmY6OmFzc2VtYmxlICRhc21fZmlsZSB7DQorICAgIGN1IHt9IHsN CisJRFdfVEFHX2NvbXBpbGVfdW5pdCB7DQorICAgICAgICAgICAgICAgIHtE V19BVF9sYW5ndWFnZSBARFdfTEFOR19DMTF9DQorICAgICAgICAgICAgICAg IHtEV19BVF9uYW1lICAgICBhdG9taWMtdHlwZS1kdy5jfQ0KKyAgICAgICAg ICAgICAgICB7RFdfQVRfY29tcF9kaXIgL3RtcH0NCisgICAgICAgIH0gew0K KwkgICAgZGVjbGFyZV9sYWJlbHMgaV9sIGNfbCBjX2NfbCBhY19jX2wgcGFj X2NfbCB2cGFjX2NfbCBhdnBhY19jX2wNCisNCisgICAgICAgICAgICBpX2w6 IERXX1RBR19iYXNlX3R5cGUgew0KKyAgICAgICAgICAgICAgICB7RFdfQVRf Ynl0ZV9zaXplIDQgRFdfRk9STV9zZGF0YX0NCisgICAgICAgICAgICAgICAg e0RXX0FUX2VuY29kaW5nICBARFdfQVRFX3NpZ25lZH0NCisgICAgICAgICAg ICAgICAge0RXX0FUX25hbWUgICAgICBpbnR9DQorICAgICAgICAgICAgfQ0K Kw0KKyAgICAgICAgICAgIGNfbDogRFdfVEFHX2Jhc2VfdHlwZSB7DQorICAg ICAgICAgICAgICAgIHtEV19BVF9ieXRlX3NpemUgMiBEV19GT1JNX3NkYXRh fQ0KKyAgICAgICAgICAgICAgICB7RFdfQVRfZW5jb2RpbmcgIEBEV19BVEVf dW5zaWduZWR9DQorICAgICAgICAgICAgICAgIHtEV19BVF9uYW1lICAgICAg Y2hhcn0NCisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgY19jX2w6 IERXX1RBR19jb25zdF90eXBlIHsNCisgICAgICAgICAgICAgICAge0RXX0FU X3R5cGUgOiRjX2x9DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAg IGFjX2NfbDogRFdfVEFHX2F0b21pY190eXBlIHsNCisgICAgICAgICAgICAg ICAge0RXX0FUX3R5cGUgOiRjX2NfbH0NCisgICAgICAgICAgICB9DQorDQor ICAgICAgICAgICAgcGFjX2NfbDogRFdfVEFHX3BvaW50ZXJfdHlwZSB7DQor ICAgICAgICAgICAgICAgIHtEV19BVF9ieXRlX3NpemUgOCBEV19GT1JNX3Nk YXRhfQ0KKyAgICAgICAgICAgICAgICB7RFdfQVRfdHlwZSA6JGFjX2NfbH0N CisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgdnBhY19jX2w6IERX X1RBR192b2xhdGlsZV90eXBlIHsNCisgICAgICAgICAgICAgICAge0RXX0FU X3R5cGUgOiRwYWNfY19sfQ0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAg ICAgICBhdnBhY19jX2w6IERXX1RBR19hdG9taWNfdHlwZSB7DQorICAgICAg ICAgICAgICAgIHtEV19BVF90eXBlIDokdnBhY19jX2x9DQorICAgICAgICAg ICAgfQ0KKw0KKyAgICAgICAgICAgIERXX1RBR19zdWJwcm9ncmFtIHsNCisg ICAgICAgICAgICAgICAge25hbWUgZn0NCisgICAgICAgICAgICAgICAge2xv d19wYyBmIGFkZHJ9DQorICAgICAgICAgICAgICAgIHtoaWdoX3BjIGZfZW5k X2xibCBhZGRyfQ0KKyAgICAgICAgICAgICAgICB7dHlwZSA6JGlfbH0NCisg ICAgICAgICAgICB9IHsNCisgICAgICAgICAgICAgICAgRFdfVEFHX2Zvcm1h bF9wYXJhbWV0ZXIgew0KKyAgICAgICAgICAgICAgICAgICAge3R5cGUgOiRh dnBhY19jX2x9DQorICAgICAgICAgICAgICAgICAgICB7bmFtZSB4fQ0KKyAg ICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfQ0KKwl9DQorICAgIH0N Cit9DQorDQoraWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxl fS5leHAgJHt0ZXN0ZmlsZX0gXA0KKwkgIFtsaXN0ICRzcmNmaWxlICRhc21f ZmlsZV0ge25vZGVidWd9XSB9IHsNCisgICAgcmV0dXJuIC0xDQorfQ0KKw0K K2dkYl90ZXN0ICJwdHlwZSBmIiAiaW50IFxcKGNvbnN0IF9BdG9taWMgY2hh ciBcXFwqIHZvbGF0aWxlIF9BdG9taWNcXCkiDQpkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2F0b21pYy5jIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL2F0b21pYy5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggMDAwMDAwMC4uNmViYjljYQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2F0b21pYy5jDQpAQCAtMCwwICsx LDM0IEBADQorLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhl IEdOVSBkZWJ1Z2dlci4NCisNCisgICBDb3B5cmlnaHQgMjAwNC0yMDE0IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KKw0KKyAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5DQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkN CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcg0KKyAgIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uDQorDQorICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsDQorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCisgICBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlDQorICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4NCisNCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KKyAgIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8NCisNCisvKiBEdW1teSBtYWlu IGZ1bmN0aW9uLiAgKi8NCisNCitpbnQNCittYWluKCkNCit7DQorICBhc20g KCJtYWluX2xhYmVsOiAuZ2xvYmwgbWFpbl9sYWJlbCIpOw0KKyAgcmV0dXJu IDA7DQorfQ0KKw0KKy8qIGR1bW15IGYgZnVuY3Rpb24sIERXQVJGIHdpbGwg ZGVzY3JpYmUgYXJndW1lbnRzIGFuZCB0eXBlIGRpZmZlcmVudGx5LiAgKi8N CitpbnQNCitmIChjaGFyICp4KQ0KK3sNCisgIGFzbSAoIi5nbG9iYWwgZl9l bmRfbGJsXG5mX2VuZF9sYmw6Iik7DQorICByZXR1cm4gMDsNCit9DQorDQpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9DaGFuZ2VMb2cgYi9pbmNsdWRlL0NoYW5n ZUxvZw0KaW5kZXggMzFmMWUxOC4uNTk5NjVlMiAxMDA2NDQNCi0tLSBhL2lu Y2x1ZGUvQ2hhbmdlTG9nDQorKysgYi9pbmNsdWRlL0NoYW5nZUxvZw0KQEAg LTEsMyArMSw3IEBADQorMjAxNS0wMS0xNiAgTWFyayBXaWVsYWFyZCAgPG1q d0ByZWRoYXQuY29tPg0KKw0KKwkqIGR3YXJmMi5kZWY6IEFkZCBEV19UQUdf YXRvbWljX3R5cGUuDQorDQogMjAxNS0wMS0xNCAgSmFuLUJlbmVkaWN0IEds YXcgIDxqYmdsYXdAbHVnLW93bC5kZT4NCiANCiAJKiBsaWJpYmVydHkuaDog TWVyZ2UgZnJvbSBHQ0MuDQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kd2FyZjIu ZGVmIGIvaW5jbHVkZS9kd2FyZjIuZGVmDQppbmRleCA1ZGEzYWUwLi5jNzU5 ZTY5IDEwMDY0NA0KLS0tIGEvaW5jbHVkZS9kd2FyZjIuZGVmDQorKysgYi9p bmNsdWRlL2R3YXJmMi5kZWYNCkBAIC0xMzEsNiArMTMxLDggQEAgRFdfVEFH IChEV19UQUdfc2hhcmVkX3R5cGUsIDB4NDApDQogRFdfVEFHIChEV19UQUdf dHlwZV91bml0LCAweDQxKQ0KIERXX1RBRyAoRFdfVEFHX3J2YWx1ZV9yZWZl cmVuY2VfdHlwZSwgMHg0MikNCiBEV19UQUcgKERXX1RBR190ZW1wbGF0ZV9h bGlhcywgMHg0MykNCisvKiBEV0FSRiA1LiAgKi8NCitEV19UQUcgKERXX1RB R19hdG9taWNfdHlwZSwgMHg0NykNCiANCiBEV19UQUdfRFVQIChEV19UQUdf bG9fdXNlciwgMHg0MDgwKQ0KIERXX1RBR19EVVAgKERXX1RBR19oaV91c2Vy LCAweGZmZmYpDQotLSANCjEuOC4zLjENCg0K --=-GAKDIFPs4bV72HTjMLXe--