From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 548733858C53 for ; Thu, 24 Aug 2023 06:21:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 548733858C53 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 3D67720E35; Thu, 24 Aug 2023 06:21:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1692858097; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=VNGwOBmTS/GgZweUfaRgNlOvLGqc8cMaXHtW20+BhAI=; b=cAfWv+yHjvnE20vtTY1ytJbL0q0xOygLE0ek0DZpNpMqZfYAcTjdL4lWxnWRWzFHCJvDg2 TuCqC2i0Gke6JSLGJscZu8v/4Nro2FTOx67KknT+zEzFTgzrFX8YJtnF1ObMFbN1sHVn6f a9f66mzYHMv7q2SkmFTNrywCLy0mW0s= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1692858097; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=VNGwOBmTS/GgZweUfaRgNlOvLGqc8cMaXHtW20+BhAI=; b=ADXNO1yTCp3dhrBcUQ9hRC1r2dfSvW2gWZvnKiz9rHgESz3vySVv7DXpdF0cdKOYsnXCix VjHWxc66trWVlACA== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 25715138FB; Thu, 24 Aug 2023 06:21:37 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id a9v/B/H25mSXBwAAMHmgww (envelope-from ); Thu, 24 Aug 2023 06:21:37 +0000 Content-Type: multipart/mixed; boundary="------------7mOJ0w85Wzz50xjY0QKI0ssm" Message-ID: <7ec600eb-c472-d85e-f186-1c4dddbd8cdf@suse.de> Date: Thu, 24 Aug 2023 08:21:50 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] [gdb/build] Return const reference in thread_info_to_thread_handle Content-Language: en-US To: Pedro Alves , gdb-patches@sourceware.org References: <20230821105356.869-1-tdevries@suse.de> <20230821105356.869-2-tdevries@suse.de> <4917ef2f-f50a-efc0-59a8-30e86d5ac53b@palves.net> <947d8961-598d-5680-185c-f583d69124c8@suse.de> <6e0dd204-8e42-677e-2f5f-cc40c3d780b3@palves.net> From: Tom de Vries In-Reply-To: <6e0dd204-8e42-677e-2f5f-cc40c3d780b3@palves.net> X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------7mOJ0w85Wzz50xjY0QKI0ssm Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 8/23/23 17:43, Pedro Alves wrote: > On 22/08/23 18:34, Tom de Vries wrote: > >> I've given the gdb::array_view a try, and that works fine, and greatly simplifies the patch, so thanks for that suggestion. > > Great! > >> The first patch is no longer necessary, but we could consider committing it nevertheless, since the work is done and may be needed in the future. > > I agree. > >> >> -gdb::byte_vector >> +gdb::array_view >> remote_target::thread_info_to_thread_handle (struct thread_info *tp) >> { >> remote_thread_info *priv = get_remote_thread_info (tp); >> diff --git a/gdb/target-debug.h b/gdb/target-debug.h >> index acb01d47e7c..31c25e9aefd 100644 >> --- a/gdb/target-debug.h >> +++ b/gdb/target-debug.h >> @@ -236,4 +236,18 @@ target_debug_print_gdb_byte_vector_r (gdb::byte_vector &vector) >> { >> target_debug_print_const_gdb_byte_vector_r (vector); >> } >> + >> +static void >> +target_debug_print_gdb_array_view_const_gdb_byte (gdb::array_view &vector) > > array_views should be passed by value normally (because they're small). Did you run into something > that forced this to be a reference? Or was it just copied from the vector case? If it > works, we should just drop the &. > Done. > Also, one of the points of array_view is that you can pass a vector as array_view > argument, like you can pass std::string as string_view argument -- would it work to make > target_debug_print_const_gdb_byte_vector_r call this new > target_debug_print_gdb_array_view_const_gdb_byte instead of duplicating that code? > Done, updated version attached. Thanks, - Tom --------------7mOJ0w85Wzz50xjY0QKI0ssm Content-Type: text/x-patch; charset=UTF-8; name="0001-gdb-build-Return-gdb-array_view-in-thread_info_to_th.patch" Content-Disposition: attachment; filename*0="0001-gdb-build-Return-gdb-array_view-in-thread_info_to_th.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBkZmM5NzQ1NWY3ZWIyOGJkZjA3MWI2MzIyOWU2OGRmMjBkOTVkNzEwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb20gZGUgVnJpZXMgPHRkZXZyaWVzQHN1c2UuZGU+ CkRhdGU6IFR1ZSwgMjIgQXVnIDIwMjMgMTc6MTU6NDggKzAyMDAKU3ViamVjdDogW1BBVENI XSBbZ2RiL2J1aWxkXSBSZXR1cm4gZ2RiOjphcnJheV92aWV3IGluCiB0aHJlYWRfaW5mb190 b190aHJlYWRfaGFuZGxlCgpJbiByZW1vdGVfdGFyZ2V0Ojp0aHJlYWRfaW5mb190b190aHJl YWRfaGFuZGxlIHdlIHJldHVybiBhIGNvcHk6Ci4uLgpnZGI6OmJ5dGVfdmVjdG9yCnJlbW90 ZV90YXJnZXQ6OnRocmVhZF9pbmZvX3RvX3RocmVhZF9oYW5kbGUgKHN0cnVjdCB0aHJlYWRf aW5mbyAqdHApCnsKICByZW1vdGVfdGhyZWFkX2luZm8gKnByaXYgPSBnZXRfcmVtb3RlX3Ro cmVhZF9pbmZvICh0cCk7CiAgcmV0dXJuIHByaXYtPnRocmVhZF9oYW5kbGU7Cn0KLi4uCgpG aXggdGhpcyBieSByZXR1cm5pbmcgYSBnZGI6OmFycmF5X3ZpZXcgaW5zdGVhZDoKLi4uCmdk Yjo6YXJyYXlfdmlldzxjb25zdCBnZGJfYnl0ZT4KcmVtb3RlX3RhcmdldDo6dGhyZWFkX2lu Zm9fdG9fdGhyZWFkX2hhbmRsZSAoc3RydWN0IHRocmVhZF9pbmZvICp0cCkKLi4uCgpUZXN0 ZWQgb24geDg2XzY0LWxpbnV4LgoKVGhpcyBmaXhlcyB0aGUgYnVpbGQgd2hlbiBidWlsZGlu ZyB3aXRoIC1zdGQ9YysrMjAuCi0tLQogZ2RiL2xpbnV4LXRocmVhZC1kYi5jICAgICB8IDEz ICsrKysrKystLS0tLS0KIGdkYi9weXRob24vcHktaW5mdGhyZWFkLmMgfCAgNCArKy0tCiBn ZGIvcmVtb3RlLmMgICAgICAgICAgICAgIHwgIDYgKysrLS0tCiBnZGIvdGFyZ2V0LWRlYnVn LmggICAgICAgIHwgIDggKysrKysrKy0KIGdkYi90YXJnZXQtZGVsZWdhdGVzLmMgICAgfCAx NiArKysrKysrKy0tLS0tLS0tCiBnZGIvdGFyZ2V0LmMgICAgICAgICAgICAgIHwgIDIgKy0K IGdkYi90YXJnZXQuaCAgICAgICAgICAgICAgfCAxMCArKysrKysrLS0tCiA3IGZpbGVzIGNo YW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2dkYi9saW51eC10aHJlYWQtZGIuYyBiL2dkYi9saW51eC10aHJlYWQtZGIuYwppbmRleCA3 ZDlmZDU3ZGEwYy4uMTZjMjUwYzEwNGQgMTAwNjQ0Ci0tLSBhL2dkYi9saW51eC10aHJlYWQt ZGIuYworKysgYi9nZGIvbGludXgtdGhyZWFkLWRiLmMKQEAgLTEwNyw3ICsxMDcsNyBAQCBj bGFzcyB0aHJlYWRfZGJfdGFyZ2V0IGZpbmFsIDogcHVibGljIHRhcmdldF9vcHMKICAgdGhy ZWFkX2luZm8gKnRocmVhZF9oYW5kbGVfdG9fdGhyZWFkX2luZm8gKGNvbnN0IGdkYl9ieXRl ICp0aHJlYWRfaGFuZGxlLAogCQkJCQkgICAgIGludCBoYW5kbGVfbGVuLAogCQkJCQkgICAg IGluZmVyaW9yICppbmYpIG92ZXJyaWRlOwotICBnZGI6OmJ5dGVfdmVjdG9yIHRocmVhZF9p bmZvX3RvX3RocmVhZF9oYW5kbGUgKHN0cnVjdCB0aHJlYWRfaW5mbyAqKSBvdmVycmlkZTsK KyAgZ2RiOjphcnJheV92aWV3PGNvbnN0IGdkYl9ieXRlPiB0aHJlYWRfaW5mb190b190aHJl YWRfaGFuZGxlIChzdHJ1Y3QgdGhyZWFkX2luZm8gKikgb3ZlcnJpZGU7CiB9OwogCiBzdGF0 aWMgc3RkOjpzdHJpbmcgbGlidGhyZWFkX2RiX3NlYXJjaF9wYXRoID0gTElCVEhSRUFEX0RC X1NFQVJDSF9QQVRIOwpAQCAtMzEyLDYgKzMxMiw3IEBAIHN0cnVjdCB0aHJlYWRfZGJfdGhy ZWFkX2luZm8gOiBwdWJsaWMgcHJpdmF0ZV90aHJlYWRfaW5mbwogICAvKiBDYWNoZWQgdGhy ZWFkIHN0YXRlLiAgKi8KICAgdGRfdGhyaGFuZGxlX3QgdGgge307CiAgIHRocmVhZF90IHRp ZCB7fTsKKyAgZ2RiOjpvcHRpb25hbDxnZGI6OmJ5dGVfdmVjdG9yPiB0aHJlYWRfaGFuZGxl OwogfTsKIAogc3RhdGljIHRocmVhZF9kYl90aHJlYWRfaW5mbyAqCkBAIC0xNzI0LDIwICsx NzI1LDIwIEBAIHRocmVhZF9kYl90YXJnZXQ6OnRocmVhZF9oYW5kbGVfdG9fdGhyZWFkX2lu Zm8gKGNvbnN0IGdkYl9ieXRlICp0aHJlYWRfaGFuZGxlLAogCiAvKiBSZXR1cm4gdGhlIHRo cmVhZCBoYW5kbGUgYXNzb2NpYXRlZCB0aGUgdGhyZWFkX2luZm8gcG9pbnRlciBUUC4gICov CiAKLWdkYjo6Ynl0ZV92ZWN0b3IKK2dkYjo6YXJyYXlfdmlldzxjb25zdCBnZGJfYnl0ZT4K IHRocmVhZF9kYl90YXJnZXQ6OnRocmVhZF9pbmZvX3RvX3RocmVhZF9oYW5kbGUgKHN0cnVj dCB0aHJlYWRfaW5mbyAqdHApCiB7CiAgIHRocmVhZF9kYl90aHJlYWRfaW5mbyAqcHJpdiA9 IGdldF90aHJlYWRfZGJfdGhyZWFkX2luZm8gKHRwKTsKIAogICBpZiAocHJpdiA9PSBOVUxM KQotICAgIHJldHVybiBnZGI6OmJ5dGVfdmVjdG9yICgpOworICAgIHJldHVybiB7fTsKIAog ICBpbnQgaGFuZGxlX3NpemUgPSBzaXplb2YgKHByaXYtPnRpZCk7Ci0gIGdkYjo6Ynl0ZV92 ZWN0b3IgcnYgKGhhbmRsZV9zaXplKTsKKyAgcHJpdi0+dGhyZWFkX2hhbmRsZS5lbXBsYWNl IChoYW5kbGVfc2l6ZSk7CiAKLSAgbWVtY3B5IChydi5kYXRhICgpLCAmcHJpdi0+dGlkLCBo YW5kbGVfc2l6ZSk7CisgIG1lbWNweSAocHJpdi0+dGhyZWFkX2hhbmRsZS0+ZGF0YSAoKSwg JnByaXYtPnRpZCwgaGFuZGxlX3NpemUpOwogCi0gIHJldHVybiBydjsKKyAgcmV0dXJuICpw cml2LT50aHJlYWRfaGFuZGxlOwogfQogCiAvKiBHZXQgdGhlIGFkZHJlc3Mgb2YgdGhlIHRo cmVhZCBsb2NhbCB2YXJpYWJsZSBpbiBsb2FkIG1vZHVsZSBMTSB3aGljaApkaWZmIC0tZ2l0 IGEvZ2RiL3B5dGhvbi9weS1pbmZ0aHJlYWQuYyBiL2dkYi9weXRob24vcHktaW5mdGhyZWFk LmMKaW5kZXggMWJkMjVkMDEzMjAuLjAwZDcxNzFkZTY0IDEwMDY0NAotLS0gYS9nZGIvcHl0 aG9uL3B5LWluZnRocmVhZC5jCisrKyBiL2dkYi9weXRob24vcHktaW5mdGhyZWFkLmMKQEAg LTI5MSw4ICsyOTEsOCBAQCB0aHB5X3RocmVhZF9oYW5kbGUgKFB5T2JqZWN0ICpzZWxmLCBQ eU9iamVjdCAqYXJncykKICAgdGhyZWFkX29iamVjdCAqdGhyZWFkX29iaiA9ICh0aHJlYWRf b2JqZWN0ICopIHNlbGY7CiAgIFRIUFlfUkVRVUlSRV9WQUxJRCAodGhyZWFkX29iaik7CiAK LSAgZ2RiOjpieXRlX3ZlY3RvciBodjsKLSAgCisgIGdkYjo6YXJyYXlfdmlldzxjb25zdCBn ZGJfYnl0ZT4gaHY7CisKICAgdHJ5CiAgICAgewogICAgICAgaHYgPSB0YXJnZXRfdGhyZWFk X2luZm9fdG9fdGhyZWFkX2hhbmRsZSAodGhyZWFkX29iai0+dGhyZWFkKTsKZGlmZiAtLWdp dCBhL2dkYi9yZW1vdGUuYyBiL2dkYi9yZW1vdGUuYwppbmRleCA3YWJlMDg0MzliNS4uNWFm NDBiZDcwNGMgMTAwNjQ0Ci0tLSBhL2dkYi9yZW1vdGUuYworKysgYi9nZGIvcmVtb3RlLmMK QEAgLTc4NCw4ICs3ODQsOCBAQCBjbGFzcyByZW1vdGVfdGFyZ2V0IDogcHVibGljIHByb2Nl c3Nfc3RyYXR1bV90YXJnZXQKIAkJCQkJICAgICBpbnQgaGFuZGxlX2xlbiwKIAkJCQkJICAg ICBpbmZlcmlvciAqaW5mKSBvdmVycmlkZTsKIAotICBnZGI6OmJ5dGVfdmVjdG9yIHRocmVh ZF9pbmZvX3RvX3RocmVhZF9oYW5kbGUgKHN0cnVjdCB0aHJlYWRfaW5mbyAqdHApCi0JCQkJ CQkgb3ZlcnJpZGU7CisgIGdkYjo6YXJyYXlfdmlldzxjb25zdCBnZGJfYnl0ZT4gdGhyZWFk X2luZm9fdG9fdGhyZWFkX2hhbmRsZSAoc3RydWN0IHRocmVhZF9pbmZvICp0cCkKKyAgICBv dmVycmlkZTsKIAogICB2b2lkIHN0b3AgKHB0aWRfdCkgb3ZlcnJpZGU7CiAKQEAgLTE0NTUw LDcgKzE0NTUwLDcgQEAgcmVtb3RlX3RhcmdldDo6dGhyZWFkX2hhbmRsZV90b190aHJlYWRf aW5mbyAoY29uc3QgZ2RiX2J5dGUgKnRocmVhZF9oYW5kbGUsCiAgIHJldHVybiBOVUxMOwog fQogCi1nZGI6OmJ5dGVfdmVjdG9yCitnZGI6OmFycmF5X3ZpZXc8Y29uc3QgZ2RiX2J5dGU+ CiByZW1vdGVfdGFyZ2V0Ojp0aHJlYWRfaW5mb190b190aHJlYWRfaGFuZGxlIChzdHJ1Y3Qg dGhyZWFkX2luZm8gKnRwKQogewogICByZW1vdGVfdGhyZWFkX2luZm8gKnByaXYgPSBnZXRf cmVtb3RlX3RocmVhZF9pbmZvICh0cCk7CmRpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LWRlYnVn LmggYi9nZGIvdGFyZ2V0LWRlYnVnLmgKaW5kZXggYWNiMDFkNDdlN2MuLjA4MjU1MGRmMzI1 IDEwMDY0NAotLS0gYS9nZGIvdGFyZ2V0LWRlYnVnLmgKKysrIGIvZ2RiL3RhcmdldC1kZWJ1 Zy5oCkBAIC0yMTksNyArMjE5LDcgQEAgdGFyZ2V0X2RlYnVnX3ByaW50X3NpemVfdCAoc2l6 ZV90IHNpemUpCiB9CiAKIHN0YXRpYyB2b2lkCi10YXJnZXRfZGVidWdfcHJpbnRfY29uc3Rf Z2RiX2J5dGVfdmVjdG9yX3IgKGNvbnN0IGdkYjo6Ynl0ZV92ZWN0b3IgJnZlY3RvcikKK3Rh cmdldF9kZWJ1Z19wcmludF9nZGJfYXJyYXlfdmlld19jb25zdF9nZGJfYnl0ZSAoZ2RiOjph cnJheV92aWV3PGNvbnN0IGdkYl9ieXRlPiB2ZWN0b3IpCiB7CiAgIGdkYl9wdXRzICgieyIs IGdkYl9zdGRsb2cpOwogCkBAIC0yMzEsNiArMjMxLDEyIEBAIHRhcmdldF9kZWJ1Z19wcmlu dF9jb25zdF9nZGJfYnl0ZV92ZWN0b3JfciAoY29uc3QgZ2RiOjpieXRlX3ZlY3RvciAmdmVj dG9yKQogICBnZGJfcHV0cyAoIiB9IiwgZ2RiX3N0ZGxvZyk7CiB9CiAKK3N0YXRpYyB2b2lk Cit0YXJnZXRfZGVidWdfcHJpbnRfY29uc3RfZ2RiX2J5dGVfdmVjdG9yX3IgKGNvbnN0IGdk Yjo6Ynl0ZV92ZWN0b3IgJnZlY3RvcikKK3sKKyAgdGFyZ2V0X2RlYnVnX3ByaW50X2dkYl9h cnJheV92aWV3X2NvbnN0X2dkYl9ieXRlICh2ZWN0b3IpOworfQorCiBzdGF0aWMgdm9pZAog dGFyZ2V0X2RlYnVnX3ByaW50X2dkYl9ieXRlX3ZlY3Rvcl9yIChnZGI6OmJ5dGVfdmVjdG9y ICZ2ZWN0b3IpCiB7CmRpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jIGIvZ2Ri L3RhcmdldC1kZWxlZ2F0ZXMuYwppbmRleCAwNmYyMmQ1N2MyNy4uNzE1ZTUwYjhmYjggMTAw NjQ0Ci0tLSBhL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMKKysrIGIvZ2RiL3RhcmdldC1kZWxl Z2F0ZXMuYwpAQCAtODksNyArODksNyBAQCBzdHJ1Y3QgZHVtbXlfdGFyZ2V0IDogcHVibGlj IHRhcmdldF9vcHMKICAgY29uc3QgY2hhciAqZXh0cmFfdGhyZWFkX2luZm8gKHRocmVhZF9p bmZvICphcmcwKSBvdmVycmlkZTsKICAgY29uc3QgY2hhciAqdGhyZWFkX25hbWUgKHRocmVh ZF9pbmZvICphcmcwKSBvdmVycmlkZTsKICAgdGhyZWFkX2luZm8gKnRocmVhZF9oYW5kbGVf dG9fdGhyZWFkX2luZm8gKGNvbnN0IGdkYl9ieXRlICphcmcwLCBpbnQgYXJnMSwgaW5mZXJp b3IgKmFyZzIpIG92ZXJyaWRlOwotICBnZGI6OmJ5dGVfdmVjdG9yIHRocmVhZF9pbmZvX3Rv X3RocmVhZF9oYW5kbGUgKHN0cnVjdCB0aHJlYWRfaW5mbyAqYXJnMCkgb3ZlcnJpZGU7Cisg IGdkYjo6YXJyYXlfdmlldzxjb25zdF9nZGJfYnl0ZT4gdGhyZWFkX2luZm9fdG9fdGhyZWFk X2hhbmRsZSAoc3RydWN0IHRocmVhZF9pbmZvICphcmcwKSBvdmVycmlkZTsKICAgdm9pZCBz dG9wIChwdGlkX3QgYXJnMCkgb3ZlcnJpZGU7CiAgIHZvaWQgaW50ZXJydXB0ICgpIG92ZXJy aWRlOwogICB2b2lkIHBhc3NfY3RybGMgKCkgb3ZlcnJpZGU7CkBAIC0yNjMsNyArMjYzLDcg QEAgc3RydWN0IGRlYnVnX3RhcmdldCA6IHB1YmxpYyB0YXJnZXRfb3BzCiAgIGNvbnN0IGNo YXIgKmV4dHJhX3RocmVhZF9pbmZvICh0aHJlYWRfaW5mbyAqYXJnMCkgb3ZlcnJpZGU7CiAg IGNvbnN0IGNoYXIgKnRocmVhZF9uYW1lICh0aHJlYWRfaW5mbyAqYXJnMCkgb3ZlcnJpZGU7 CiAgIHRocmVhZF9pbmZvICp0aHJlYWRfaGFuZGxlX3RvX3RocmVhZF9pbmZvIChjb25zdCBn ZGJfYnl0ZSAqYXJnMCwgaW50IGFyZzEsIGluZmVyaW9yICphcmcyKSBvdmVycmlkZTsKLSAg Z2RiOjpieXRlX3ZlY3RvciB0aHJlYWRfaW5mb190b190aHJlYWRfaGFuZGxlIChzdHJ1Y3Qg dGhyZWFkX2luZm8gKmFyZzApIG92ZXJyaWRlOworICBnZGI6OmFycmF5X3ZpZXc8Y29uc3Rf Z2RiX2J5dGU+IHRocmVhZF9pbmZvX3RvX3RocmVhZF9oYW5kbGUgKHN0cnVjdCB0aHJlYWRf aW5mbyAqYXJnMCkgb3ZlcnJpZGU7CiAgIHZvaWQgc3RvcCAocHRpZF90IGFyZzApIG92ZXJy aWRlOwogICB2b2lkIGludGVycnVwdCAoKSBvdmVycmlkZTsKICAgdm9pZCBwYXNzX2N0cmxj ICgpIG92ZXJyaWRlOwpAQCAtMTg3MSwyOCArMTg3MSwyOCBAQCBkZWJ1Z190YXJnZXQ6OnRo cmVhZF9oYW5kbGVfdG9fdGhyZWFkX2luZm8gKGNvbnN0IGdkYl9ieXRlICphcmcwLCBpbnQg YXJnMSwgaW5mZQogICByZXR1cm4gcmVzdWx0OwogfQogCi1nZGI6OmJ5dGVfdmVjdG9yCitn ZGI6OmFycmF5X3ZpZXc8Y29uc3RfZ2RiX2J5dGU+CiB0YXJnZXRfb3BzOjp0aHJlYWRfaW5m b190b190aHJlYWRfaGFuZGxlIChzdHJ1Y3QgdGhyZWFkX2luZm8gKmFyZzApCiB7CiAgIHJl dHVybiB0aGlzLT5iZW5lYXRoICgpLT50aHJlYWRfaW5mb190b190aHJlYWRfaGFuZGxlIChh cmcwKTsKIH0KIAotZ2RiOjpieXRlX3ZlY3RvcgorZ2RiOjphcnJheV92aWV3PGNvbnN0X2dk Yl9ieXRlPgogZHVtbXlfdGFyZ2V0Ojp0aHJlYWRfaW5mb190b190aHJlYWRfaGFuZGxlIChz dHJ1Y3QgdGhyZWFkX2luZm8gKmFyZzApCiB7Ci0gIHJldHVybiBnZGI6OmJ5dGVfdmVjdG9y ICgpOworICByZXR1cm4gZ2RiOjphcnJheV92aWV3PGNvbnN0IGdkYl9ieXRlPiAoKTsKIH0K IAotZ2RiOjpieXRlX3ZlY3RvcgorZ2RiOjphcnJheV92aWV3PGNvbnN0X2dkYl9ieXRlPgog ZGVidWdfdGFyZ2V0Ojp0aHJlYWRfaW5mb190b190aHJlYWRfaGFuZGxlIChzdHJ1Y3QgdGhy ZWFkX2luZm8gKmFyZzApCiB7CiAgIGdkYl9wcmludGYgKGdkYl9zdGRsb2csICItPiAlcy0+ dGhyZWFkX2luZm9fdG9fdGhyZWFkX2hhbmRsZSAoLi4uKVxuIiwgdGhpcy0+YmVuZWF0aCAo KS0+c2hvcnRuYW1lICgpKTsKLSAgZ2RiOjpieXRlX3ZlY3RvciByZXN1bHQKKyAgZ2RiOjph cnJheV92aWV3PGNvbnN0X2dkYl9ieXRlPiByZXN1bHQKICAgICA9IHRoaXMtPmJlbmVhdGgg KCktPnRocmVhZF9pbmZvX3RvX3RocmVhZF9oYW5kbGUgKGFyZzApOwogICBnZGJfcHJpbnRm IChnZGJfc3RkbG9nLCAiPC0gJXMtPnRocmVhZF9pbmZvX3RvX3RocmVhZF9oYW5kbGUgKCIs IHRoaXMtPmJlbmVhdGggKCktPnNob3J0bmFtZSAoKSk7CiAgIHRhcmdldF9kZWJ1Z19wcmlu dF9zdHJ1Y3RfdGhyZWFkX2luZm9fcCAoYXJnMCk7CiAgIGdkYl9wdXRzICgiKSA9ICIsIGdk Yl9zdGRsb2cpOwotICB0YXJnZXRfZGVidWdfcHJpbnRfZ2RiX2J5dGVfdmVjdG9yIChyZXN1 bHQpOworICB0YXJnZXRfZGVidWdfcHJpbnRfZ2RiX2FycmF5X3ZpZXdfY29uc3RfZ2RiX2J5 dGUgKHJlc3VsdCk7CiAgIGdkYl9wdXRzICgiXG4iLCBnZGJfc3RkbG9nKTsKICAgcmV0dXJu IHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL2dkYi90YXJnZXQuYyBiL2dkYi90YXJnZXQuYwpp bmRleCAxNmY0M2QwNzJjZC4uOGIxZDQ4ZDkxZDkgMTAwNjQ0Ci0tLSBhL2dkYi90YXJnZXQu YworKysgYi9nZGIvdGFyZ2V0LmMKQEAgLTI2NDAsNyArMjY0MCw3IEBAIHRhcmdldF90aHJl YWRfaGFuZGxlX3RvX3RocmVhZF9pbmZvIChjb25zdCBnZGJfYnl0ZSAqdGhyZWFkX2hhbmRs ZSwKIAogLyogU2VlIHRhcmdldC5oLiAgKi8KIAotZ2RiOjpieXRlX3ZlY3RvcgorZ2RiOjph cnJheV92aWV3PGNvbnN0IGdkYl9ieXRlPgogdGFyZ2V0X3RocmVhZF9pbmZvX3RvX3RocmVh ZF9oYW5kbGUgKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGlwKQogewogICB0YXJnZXRfb3BzICp0 YXJnZXQgPSBjdXJyZW50X2luZmVyaW9yICgpLT50b3BfdGFyZ2V0ICgpOwpkaWZmIC0tZ2l0 IGEvZ2RiL3RhcmdldC5oIGIvZ2RiL3RhcmdldC5oCmluZGV4IDZhZTQwMGUyY2MyLi4wY2Vh OTU1Y2JkNyAxMDA2NDQKLS0tIGEvZ2RiL3RhcmdldC5oCisrKyBiL2dkYi90YXJnZXQuaApA QCAtMzksNiArMzksMTAgQEAgc3RydWN0IGV4cHJlc3Npb247CiBzdHJ1Y3QgZGNhY2hlX3N0 cnVjdDsKIHN0cnVjdCBpbmZlcmlvcjsKIAorLyogRGVmaW5lIGNvbnN0IGdkYl9ieXRlIHVz aW5nIG9uZSBpZGVudGlmaWVyLCB0byBtYWtlIGl0IGVhc3kgZm9yCisgICBtYWtlLXRhcmdl dC1kZWxlZ2F0ZXMucHkgdG8gcGFyc2UuICAqLwordHlwZWRlZiBjb25zdCBnZGJfYnl0ZSBj b25zdF9nZGJfYnl0ZTsKKwogI2luY2x1ZGUgImluZnJ1bi5oIiAvKiBGb3IgZW51bSBleGVj X2RpcmVjdGlvbl9raW5kLiAgKi8KICNpbmNsdWRlICJicmVha3BvaW50LmgiIC8qIEZvciBl bnVtIGJwdHlwZS4gICovCiAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9zY29wZWRfcmVzdG9yZS5o IgpAQCAtNjc5LDggKzY4Myw4IEBAIHN0cnVjdCB0YXJnZXRfb3BzCiAJCQkJCQkgICAgICAg aW5mZXJpb3IgKmluZikKICAgICAgIFRBUkdFVF9ERUZBVUxUX1JFVFVSTiAoTlVMTCk7CiAg ICAgLyogU2VlIHRhcmdldF90aHJlYWRfaW5mb190b190aHJlYWRfaGFuZGxlLiAgKi8KLSAg ICB2aXJ0dWFsIGdkYjo6Ynl0ZV92ZWN0b3IgdGhyZWFkX2luZm9fdG9fdGhyZWFkX2hhbmRs ZSAoc3RydWN0IHRocmVhZF9pbmZvICopCi0gICAgICBUQVJHRVRfREVGQVVMVF9SRVRVUk4g KGdkYjo6Ynl0ZV92ZWN0b3IgKCkpOworICAgIHZpcnR1YWwgZ2RiOjphcnJheV92aWV3PGNv bnN0X2dkYl9ieXRlPiB0aHJlYWRfaW5mb190b190aHJlYWRfaGFuZGxlIChzdHJ1Y3QgdGhy ZWFkX2luZm8gKikKKyAgICAgIFRBUkdFVF9ERUZBVUxUX1JFVFVSTiAoZ2RiOjphcnJheV92 aWV3PGNvbnN0IGdkYl9ieXRlPiAoKSk7CiAgICAgdmlydHVhbCB2b2lkIHN0b3AgKHB0aWRf dCkKICAgICAgIFRBUkdFVF9ERUZBVUxUX0lHTk9SRSAoKTsKICAgICB2aXJ0dWFsIHZvaWQg aW50ZXJydXB0ICgpCkBAIC0xOTI0LDcgKzE5MjgsNyBAQCBleHRlcm4gc3RydWN0IHRocmVh ZF9pbmZvICp0YXJnZXRfdGhyZWFkX2hhbmRsZV90b190aHJlYWRfaW5mbwogLyogR2l2ZW4g YSB0aHJlYWQsIHJldHVybiB0aGUgdGhyZWFkIGhhbmRsZSwgYSB0YXJnZXQtc3BlY2lmaWMg c2VxdWVuY2Ugb2YKICAgIGJ5dGVzIHdoaWNoIHNlcnZlcyBhcyBhIHRocmVhZCBpZGVudGlm aWVyIHdpdGhpbiB0aGUgcHJvZ3JhbSBiZWluZwogICAgZGVidWdnZWQuICAqLwotZXh0ZXJu IGdkYjo6Ynl0ZV92ZWN0b3IgdGFyZ2V0X3RocmVhZF9pbmZvX3RvX3RocmVhZF9oYW5kbGUK K2V4dGVybiBnZGI6OmFycmF5X3ZpZXc8Y29uc3QgZ2RiX2J5dGU+IHRhcmdldF90aHJlYWRf aW5mb190b190aHJlYWRfaGFuZGxlCiAgIChzdHJ1Y3QgdGhyZWFkX2luZm8gKik7CiAKIC8q IEF0dGVtcHRzIHRvIGZpbmQgdGhlIHBhdGhuYW1lIG9mIHRoZSBleGVjdXRhYmxlIGZpbGUK CmJhc2UtY29tbWl0OiAyMWY4YzljMTg3NGYxNDRiYmUzODc4NzRmNTg2ZTYxZDQ3NDJlNmVi Ci0tIAoyLjM1LjMKCg== --------------7mOJ0w85Wzz50xjY0QKI0ssm--