From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by sourceware.org (Postfix) with ESMTPS id D6A253858D32 for ; Thu, 30 Nov 2023 12:55:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D6A253858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D6A253858D32 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=195.135.223.131 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701348924; cv=none; b=GNJ6Y2HVR7UAYDbv2cKdGoNJ39BhBZT5jIkefwS61ZE+OIipt/roB2o+kYPqeopshM1CafoEgnbyKzYqX94NUkIqs3rJCcuMzFkhZW8tMdIGuFvclMsiOlIF+EWhF43iGozghBatG3kFb5afd+/TCR4INQEeiOMc2Hpu+RWbSHA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701348924; c=relaxed/simple; bh=i4Bmszx2sijBifdP5VCSvYQXgIJT0WXTVh5NrDE18AI=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:MIME-Version: Subject:To:From; b=CWSbzazeFsMeGJ2QsekTeeN97xNWtNf/H92cBdqO3z0GX08HfWe6Yo3sjooGq/edBigVRwG4Clwu1IslIlxdDUOUkpzV6uUpqpd2+1hiQHzKENGRjIkGbJaCc2cxyN0+/TM1vIJWT1GoO/iZMW+7T25r0WXUgBz4M7Gno0P+kjU= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id B78371F8BF; Thu, 30 Nov 2023 12:55:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1701348921; 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=QFhZpx6R7riJs0CTLauxYhVbW4ABBnJaHzLZEFFQPBk=; b=i1NkQBA6nUo6tdYnSDH2gCaOR6QtemmtJQqmkcj5UV//q3b2mCRHbm/+tz/Y8/hdKK1XL1 XRX5Hln5nujWUJDVUSOr8f3ykvG1Xhri13wusCfhld+EV5LxKpCxLAQvwosAlSmFPoorTW UwNCS+yraKTB1LULomrTzcErY1TEvB4= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1701348921; 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=QFhZpx6R7riJs0CTLauxYhVbW4ABBnJaHzLZEFFQPBk=; b=oQxuWM4WpozrDAKcEJUKfmaIfq2XQaoO9yi3dg3I1ob37aw6sboTCrr8Mj8M2368ILT9CX VVYLyh2w8aihFMDA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 9DE101342E; Thu, 30 Nov 2023 12:55:21 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id H1gBJTmGaGVSOAAAD6G6ig (envelope-from ); Thu, 30 Nov 2023 12:55:21 +0000 Content-Type: multipart/mixed; boundary="------------BZA4Yaif04Cy6Y07EBsfd1lf" Message-ID: Date: Thu, 30 Nov 2023 13:55:19 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 01/13] [gdb/symtab] Factor out m_die_range_map usage Content-Language: en-US To: Tom Tromey , Tom de Vries via Gdb-patches References: <20231002125051.29911-1-tdevries@suse.de> <20231002125051.29911-2-tdevries@suse.de> <8734y5oyy7.fsf@tromey.com> From: Tom de Vries In-Reply-To: <8734y5oyy7.fsf@tromey.com> Authentication-Results: smtp-out2.suse.de; none X-Spam-Level: X-Spam-Score: -2.99 X-Spamd-Result: default: False [-2.99 / 50.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; XM_UA_NO_VERSION(0.01)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; BAYES_HAM(-3.00)[100.00%]; MIME_GOOD(-0.10)[multipart/mixed,text/plain,text/x-patch]; HAS_ATTACHMENT(0.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999]; MIME_BASE64_TEXT_BOGUS(1.00)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; TO_DN_ALL(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; MIME_BASE64_TEXT(0.10)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[sourceware.org:email,suse.de:email]; FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Spam-Status: No, score=-12.4 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,T_SCC_BODY_TEXT_LINE 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. --------------BZA4Yaif04Cy6Y07EBsfd1lf Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 10/20/23 21:50, Tom Tromey wrote: >>>>>> "Tom" == Tom de Vries via Gdb-patches writes: > > Tom> Factor out usage of cooked_indexer::m_die_range_map into new class parent_map > Tom> with member functions find_parent and set_parent. > > Tom> + /* Find the parent of DIE LOOKUP. */ > Tom> + const cooked_index_entry *find_parent (CORE_ADDR lookup) const > Tom> + { > > I sort of regret doing this stuff using CORE_ADDR. I think the API > would be better if 'form_addr' was handled privately in the wrapper > class. This updated patch moves form_addr into the wrapper class, but doesn't make it private because there's still one remaining reference from outside the class. WDYT? Thanks, - Tom --------------BZA4Yaif04Cy6Y07EBsfd1lf Content-Type: text/x-patch; charset=UTF-8; name="0001-gdb-symtab-Factor-out-m_die_range_map-usage.patch" Content-Disposition: attachment; filename="0001-gdb-symtab-Factor-out-m_die_range_map-usage.patch" Content-Transfer-Encoding: base64 RnJvbSA5NDZlYWQzZjFmNGQ2YTQ2YzQ4MWE2ZGZlMTU3OGZhNDlhZmNmMWE4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb20gZGUgVnJpZXMgPHRkZXZyaWVzQHN1c2UuZGU+ CkRhdGU6IFR1ZSwgMjIgQXVnIDIwMjMgMTM6MTc6NDcgKzAyMDAKU3ViamVjdDogW1BBVENI XSBbZ2RiL3N5bXRhYl0gRmFjdG9yIG91dCBtX2RpZV9yYW5nZV9tYXAgdXNhZ2UKCkZhY3Rv ciBvdXQgdXNhZ2Ugb2YgY29va2VkX2luZGV4ZXI6Om1fZGllX3JhbmdlX21hcCBpbnRvIG5l dyBjbGFzcyBwYXJlbnRfbWFwCndpdGggbWVtYmVyIGZ1bmN0aW9ucyBmaW5kX3BhcmVudCBh bmQgc2V0X3BhcmVudC4KClRlc3RlZCBvbiB4ODZfNjQtbGludXguCi0tLQogZ2RiL2R3YXJm Mi9jb29rZWQtaW5kZXguaCB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogZ2RiL2R3YXJmMi9yZWFkLmMgICAgICAgICB8IDYwICsrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCsp LCAyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nZGIvZHdhcmYyL2Nvb2tlZC1pbmRl eC5oIGIvZ2RiL2R3YXJmMi9jb29rZWQtaW5kZXguaAppbmRleCA1Njc1ZWE2OGJiOC4uNDdi YzQ4ZWE0NTkgMTAwNjQ0Ci0tLSBhL2dkYi9kd2FyZjIvY29va2VkLWluZGV4LmgKKysrIGIv Z2RiL2R3YXJmMi9jb29rZWQtaW5kZXguaApAQCAtMjM5LDYgKzIzOSw1NyBAQCBzdHJ1Y3Qg Y29va2VkX2luZGV4X2VudHJ5IDogcHVibGljIGFsbG9jYXRlX29uX29ic3RhY2sKIAkJICAg IGJvb2wgZm9yX25hbWUpIGNvbnN0OwogfTsKIAorY2xhc3MgcGFyZW50X21hcAoreworcHVi bGljOgorCisgIC8qIEEgRElFIGFkZHJlc3MgYXMgZm9ybWVkIGJ5IGZvcm1fYWRkciwgZGVm aW5pbmcgYSB0dXBsZQorICAgICA8T0ZGU0VULCBJU19EV1o+LiAgKi8KKyAgdHlwZWRlZiBD T1JFX0FERFIgZGllX2FkZHI7CisKKyAgLyogRmluZCB0aGUgcGFyZW50IG9mIERJRSBMT09L VVAuICAqLworICBjb25zdCBjb29rZWRfaW5kZXhfZW50cnkgKmZpbmRfcGFyZW50IChkaWVf YWRkciBsb29rdXApIGNvbnN0CisgIHsKKyAgICBjb25zdCB2b2lkICpvYmogPSBtX3BhcmVu dF9tYXAuZmluZCAobG9va3VwKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgY29v a2VkX2luZGV4X2VudHJ5ICo+IChvYmopOworICB9CisKKyAgLyogRmluZCB0aGUgcGFyZW50 IG9mIERJRSA8T0ZGU0VULCBJU19EV1o+LiAgKi8KKyAgY29uc3QgY29va2VkX2luZGV4X2Vu dHJ5ICpmaW5kX3BhcmVudCAoc2VjdF9vZmZzZXQgb2Zmc2V0LCBib29sIGlzX2R3eikgY29u c3QKKyAgeworICAgIHJldHVybiBmaW5kX3BhcmVudCAoZm9ybV9hZGRyIChvZmZzZXQsIGlz X2R3eikpOworICB9CisKKyAgLyogU2V0IHRoZSBwYXJlbnQgb2YgRElFUyBpbiByYW5nZSBb U1RBUlQsIEVORF0gdG8gUEFSRU5UX0VOVFJZLiAgKi8KKyAgdm9pZCBzZXRfcGFyZW50IChk aWVfYWRkciBzdGFydCwgZGllX2FkZHIgZW5kLAorCQkgICBjb25zdCBjb29rZWRfaW5kZXhf ZW50cnkgKnBhcmVudF9lbnRyeSkKKyAgeworICAgIG1fcGFyZW50X21hcC5zZXRfZW1wdHkg KHN0YXJ0LCBlbmQsICh2b2lkICopcGFyZW50X2VudHJ5KTsKKyAgfQorCisgIC8qIFNldCB0 aGUgcGFyZW50IG9mIERJRVMgaW4gcmFuZ2UgPFtTVEFSVCwgRU5EXSwgSVNfRFdaPiB0byBQ QVJFTlRfRU5UUlkuICAqLworICB2b2lkIHNldF9wYXJlbnQgKHNlY3Rfb2Zmc2V0IHN0YXJ0 LCBzZWN0X29mZnNldCBlbmQsIGJvb2wgaXNfZHd6LAorCQkgICBjb25zdCBjb29rZWRfaW5k ZXhfZW50cnkgKnBhcmVudF9lbnRyeSkKKyAgeworICAgIHNldF9wYXJlbnQgKGZvcm1fYWRk ciAoc3RhcnQsIGlzX2R3eiksIGZvcm1fYWRkciAoZW5kLCBpc19kd3opLAorCQlwYXJlbnRf ZW50cnkpOworICB9CisKKyAgLyogQSBoZWxwZXIgZnVuY3Rpb24gdG8gdHVybiBhIHR1cGxl IDxPRkZTRVQsIElTX0RXWj4gaW50byBhIGRpZV9hZGRyLiAgKi8KKyAgc3RhdGljIGRpZV9h ZGRyIGZvcm1fYWRkciAoc2VjdF9vZmZzZXQgb2Zmc2V0LCBib29sIGlzX2R3eikKKyAgewor ICAgIENPUkVfQUREUiB2YWx1ZSA9IHRvX3VuZGVybHlpbmcgKG9mZnNldCk7CisgICAgaWYg KGlzX2R3eikKKyAgICAgIHZhbHVlIHw9ICgoQ09SRV9BRERSKSAxKSA8PCAoOCAqIHNpemVv ZiAoQ09SRV9BRERSKSAtIDEpOworICAgIHJldHVybiB2YWx1ZTsKKyAgfQorCitwcml2YXRl OgorCisgIC8qIEFuIGFkZHJtYXAgdGhhdCBtYXBzIGZyb20gc2VjdGlvbiBvZmZzZXRzIHRv IGNvb2tlZF9pbmRleF9lbnRyeSAqLiAgKi8KKyAgYWRkcm1hcF9tdXRhYmxlIG1fcGFyZW50 X21hcDsKK307CisKIGNsYXNzIGNvb2tlZF9pbmRleDsKIAogLyogQW4gaW5kZXggb2YgaW50 ZXJlc3RpbmcgRElFcy4gIFRoaXMgaXMgImNvb2tlZCIsIGluIGNvbnRyYXN0IHRvIGEKZGlm ZiAtLWdpdCBhL2dkYi9kd2FyZjIvcmVhZC5jIGIvZ2RiL2R3YXJmMi9yZWFkLmMKaW5kZXgg OTMxMTY2NmE4MzIuLjkyNmZlYWI4YTdhIDEwMDY0NAotLS0gYS9nZGIvZHdhcmYyL3JlYWQu YworKysgYi9nZGIvZHdhcmYyL3JlYWQuYwpAQCAtNDU1MiwxNiArNDU1Miw2IEBAIGNsYXNz IGNvb2tlZF9pbmRleGVyCiAKIHByaXZhdGU6CiAKLSAgLyogQSBoZWxwZXIgZnVuY3Rpb24g dG8gdHVybiBhIHNlY3Rpb24gb2Zmc2V0IGludG8gYW4gYWRkcmVzcyB0aGF0Ci0gICAgIGNh biBiZSB1c2VkIGluIGFuIGFkZHJtYXAuICAqLwotICBDT1JFX0FERFIgZm9ybV9hZGRyIChz ZWN0X29mZnNldCBvZmZzZXQsIGJvb2wgaXNfZHd6KQotICB7Ci0gICAgQ09SRV9BRERSIHZh bHVlID0gdG9fdW5kZXJseWluZyAob2Zmc2V0KTsKLSAgICBpZiAoaXNfZHd6KQotICAgICAg dmFsdWUgfD0gKChDT1JFX0FERFIpIDEpIDw8ICg4ICogc2l6ZW9mIChDT1JFX0FERFIpIC0g MSk7Ci0gICAgcmV0dXJuIHZhbHVlOwotICB9Ci0KICAgLyogQSBoZWxwZXIgZnVuY3Rpb24g dG8gc2NhbiB0aGUgUEMgYm91bmRzIG9mIFJFQURFUiBhbmQgcmVjb3JkIHRoZW0KICAgICAg aW4gdGhlIHN0b3JhZ2UncyBhZGRybWFwLiAgKi8KICAgdm9pZCBjaGVja19ib3VuZHMgKGN1 dHVfcmVhZGVyICpyZWFkZXIpOwpAQCAtNDU5OSw3ICs0NTg5LDcgQEAgY2xhc3MgY29va2Vk X2luZGV4ZXIKIAkJCQkgICBjb29rZWRfaW5kZXhfZmxhZyAqZmxhZ3MsCiAJCQkJICAgc2Vj dF9vZmZzZXQgKnNpYmxpbmdfb2Zmc2V0LAogCQkJCSAgIGNvbnN0IGNvb2tlZF9pbmRleF9l bnRyeSAqKnBhcmVudF9lbnRyeSwKLQkJCQkgICBDT1JFX0FERFIgKm1heWJlX2RlZmVyLAor CQkJCSAgIHBhcmVudF9tYXA6OmRpZV9hZGRyICptYXliZV9kZWZlciwKIAkJCQkgICBib29s IGZvcl9zcGVjaWZpY2F0aW9uKTsKIAogICAvKiBIYW5kbGUgRFdfVEFHX2ltcG9ydGVkX3Vu aXQsIGJ5IHNjYW5uaW5nIHRoZSBESUUgdG8gZmluZApAQCAtNDYyOSwxNCArNDYxOSwzNCBA QCBjbGFzcyBjb29rZWRfaW5kZXhlcgogICAvKiBBbiBhZGRybWFwIHRoYXQgbWFwcyBmcm9t IHNlY3Rpb24gb2Zmc2V0cyAoc2VlIHRoZSBmb3JtX2FkZHIKICAgICAgbWV0aG9kKSB0byBu ZXdseS1jcmVhdGVkIGVudHJpZXMuICBTZWUgbV9kZWZlcnJlZF9lbnRyaWVzIHRvCiAgICAg IHVuZGVyc3RhbmQgdGhpcy4gICovCi0gIGFkZHJtYXBfbXV0YWJsZSBtX2RpZV9yYW5nZV9t YXA7CisgIHBhcmVudF9tYXAgbV9kaWVfcmFuZ2VfbWFwOworCisgIC8qIEZpbmQgdGhlIHBh cmVudCBvZiBESUUgPE9GRlNFVCwgSVNfRFdaPi4gICovCisgIGNvbnN0IGNvb2tlZF9pbmRl eF9lbnRyeSAqZmluZF9wYXJlbnQgKHNlY3Rfb2Zmc2V0IG9mZnNldCwgYm9vbCBpc19kd3op IGNvbnN0CisgIHsKKyAgICByZXR1cm4gbV9kaWVfcmFuZ2VfbWFwLmZpbmRfcGFyZW50IChv ZmZzZXQsIGlzX2R3eik7CisgIH0KKworICAvKiBGaW5kIHRoZSBwYXJlbnQgb2YgRElFIExP T0tVUC4gICovCisgIGNvbnN0IGNvb2tlZF9pbmRleF9lbnRyeSAqZmluZF9wYXJlbnQgKHBh cmVudF9tYXA6OmRpZV9hZGRyIGxvb2t1cCkgY29uc3QKKyAgeworICAgIHJldHVybiBtX2Rp ZV9yYW5nZV9tYXAuZmluZF9wYXJlbnQgKGxvb2t1cCk7CisgIH0KKworICAvKiBTZXQgdGhl IHBhcmVudCBvZiBESUVTIGluIHJhbmdlIDxbU1RBUlQsIEVORF0sIElTX0RXWj4gdG8KKyAg ICAgUEFSRU5UX0VOVFJZLiAgKi8KKyAgdm9pZCBzZXRfcGFyZW50IChzZWN0X29mZnNldCBz dGFydCwgc2VjdF9vZmZzZXQgZW5kLCBib29sIGlzX2R3eiwKKwkJICAgY29uc3QgY29va2Vk X2luZGV4X2VudHJ5ICpwYXJlbnRfZW50cnkpCisgIHsKKyAgICBtX2RpZV9yYW5nZV9tYXAu c2V0X3BhcmVudCAoc3RhcnQsIGVuZCwgaXNfZHd6LCBwYXJlbnRfZW50cnkpOworICB9CiAK ICAgLyogQSBzaW5nbGUgZGVmZXJyZWQgZW50cnkuICAqLwogICBzdHJ1Y3QgZGVmZXJyZWRf ZW50cnkKICAgewogICAgIHNlY3Rfb2Zmc2V0IGRpZV9vZmZzZXQ7CiAgICAgY29uc3QgY2hh ciAqbmFtZTsKLSAgICBDT1JFX0FERFIgc3BlY19vZmZzZXQ7CisgICAgcGFyZW50X21hcDo6 ZGllX2FkZHIgc3BlY19vZmZzZXQ7CiAgICAgZHdhcmZfdGFnIHRhZzsKICAgICBjb29rZWRf aW5kZXhfZmxhZyBmbGFnczsKICAgfTsKQEAgLTE2MDA5LDcgKzE2MDE5LDcgQEAgY29va2Vk X2luZGV4ZXI6OnNjYW5fYXR0cmlidXRlcyAoZHdhcmYyX3Blcl9jdV9kYXRhICpzY2Fubmlu Z19wZXJfY3UsCiAJCQkJIGNvb2tlZF9pbmRleF9mbGFnICpmbGFncywKIAkJCQkgc2VjdF9v ZmZzZXQgKnNpYmxpbmdfb2Zmc2V0LAogCQkJCSBjb25zdCBjb29rZWRfaW5kZXhfZW50cnkg KipwYXJlbnRfZW50cnksCi0JCQkJIENPUkVfQUREUiAqbWF5YmVfZGVmZXIsCisJCQkJIHBh cmVudF9tYXA6OmRpZV9hZGRyICptYXliZV9kZWZlciwKIAkJCQkgYm9vbCBmb3Jfc3BlY2lm aWNhdGlvbikKIHsKICAgYm9vbCBvcmlnaW5faXNfZHd6ID0gZmFsc2U7CkBAIC0xNjE4Miwx MyArMTYxOTIsOSBAQCBjb29rZWRfaW5kZXhlcjo6c2Nhbl9hdHRyaWJ1dGVzIChkd2FyZjJf cGVyX2N1X2RhdGEgKnNjYW5uaW5nX3Blcl9jdSwKIAkgIGlmIChuZXdfcmVhZGVyLT5jdSA9 PSByZWFkZXItPmN1CiAJICAgICAgJiYgbmV3X2luZm9fcHRyID4gd2F0ZXJtYXJrX3B0cgog CSAgICAgICYmICpwYXJlbnRfZW50cnkgPT0gbnVsbHB0cikKLQkgICAgKm1heWJlX2RlZmVy ID0gZm9ybV9hZGRyIChvcmlnaW5fb2Zmc2V0LCBvcmlnaW5faXNfZHd6KTsKKwkgICAgKm1h eWJlX2RlZmVyID0gcGFyZW50X21hcDo6Zm9ybV9hZGRyIChvcmlnaW5fb2Zmc2V0LCBvcmln aW5faXNfZHd6KTsKIAkgIGVsc2UgaWYgKCpwYXJlbnRfZW50cnkgPT0gbnVsbHB0cikKLQkg ICAgewotCSAgICAgIENPUkVfQUREUiBsb29rdXAgPSBmb3JtX2FkZHIgKG9yaWdpbl9vZmZz ZXQsIG9yaWdpbl9pc19kd3opOwotCSAgICAgIHZvaWQgKm9iaiA9IG1fZGllX3JhbmdlX21h cC5maW5kIChsb29rdXApOwotCSAgICAgICpwYXJlbnRfZW50cnkgPSBzdGF0aWNfY2FzdCA8 Y29va2VkX2luZGV4X2VudHJ5ICo+IChvYmopOwotCSAgICB9CisJICAgICpwYXJlbnRfZW50 cnkgPSBmaW5kX3BhcmVudCAob3JpZ2luX29mZnNldCwgb3JpZ2luX2lzX2R3eik7CiAKIAkg IHVuc2lnbmVkIGludCBieXRlc19yZWFkOwogCSAgY29uc3QgYWJicmV2X2luZm8gKm5ld19h YmJyZXYgPSBwZWVrX2RpZV9hYmJyZXYgKCpuZXdfcmVhZGVyLApAQCAtMTYzMDUsMTEgKzE2 MzExLDEwIEBAIGNvb2tlZF9pbmRleGVyOjpyZWN1cnNlIChjdXR1X3JlYWRlciAqcmVhZGVy LAogICAgIHsKICAgICAgIC8qIEJvdGggc3RhcnQgYW5kIGVuZCBhcmUgaW5jbHVzaXZlLCBz byB1c2UgYm90aCAiKyAxIiBhbmQgIi0gMSIgdG8KIAkgbGltaXQgdGhlIHJhbmdlIHRvIHRo ZSBjaGlsZHJlbiBvZiBwYXJlbnRfZW50cnkuICAqLwotICAgICAgQ09SRV9BRERSIHN0YXJ0 ID0gZm9ybV9hZGRyIChwYXJlbnRfZW50cnktPmRpZV9vZmZzZXQgKyAxLAotCQkJCSAgIHJl YWRlci0+Y3UtPnBlcl9jdS0+aXNfZHd6KTsKLSAgICAgIENPUkVfQUREUiBlbmQgPSBmb3Jt X2FkZHIgKHNlY3Rfb2Zmc2V0IChpbmZvX3B0ciAtIDEgLSByZWFkZXItPmJ1ZmZlciksCi0J CQkJIHJlYWRlci0+Y3UtPnBlcl9jdS0+aXNfZHd6KTsKLSAgICAgIG1fZGllX3JhbmdlX21h cC5zZXRfZW1wdHkgKHN0YXJ0LCBlbmQsICh2b2lkICopIHBhcmVudF9lbnRyeSk7CisgICAg ICBzZXRfcGFyZW50IChwYXJlbnRfZW50cnktPmRpZV9vZmZzZXQgKyAxLAorCQkgIHNlY3Rf b2Zmc2V0IChpbmZvX3B0ciAtIDEgLSByZWFkZXItPmJ1ZmZlciksCisJCSAgcmVhZGVyLT5j dS0+cGVyX2N1LT5pc19kd3osCisJCSAgcGFyZW50X2VudHJ5KTsKICAgICB9CiAKICAgcmV0 dXJuIGluZm9fcHRyOwpAQCAtMTYzNTEsNyArMTYzNTYsNyBAQCBjb29rZWRfaW5kZXhlcjo6 aW5kZXhfZGllcyAoY3V0dV9yZWFkZXIgKnJlYWRlciwKIAogICAgICAgY29uc3QgY2hhciAq bmFtZSA9IG51bGxwdHI7CiAgICAgICBjb25zdCBjaGFyICpsaW5rYWdlX25hbWUgPSBudWxs cHRyOwotICAgICAgQ09SRV9BRERSIGRlZmVyID0gMDsKKyAgICAgIHBhcmVudF9tYXA6OmRp ZV9hZGRyIGRlZmVyID0gMDsKICAgICAgIGNvb2tlZF9pbmRleF9mbGFnIGZsYWdzID0gSVNf U1RBVElDOwogICAgICAgc2VjdF9vZmZzZXQgc2libGluZyB7fTsKICAgICAgIGNvbnN0IGNv b2tlZF9pbmRleF9lbnRyeSAqdGhpc19wYXJlbnRfZW50cnkgPSBwYXJlbnRfZW50cnk7CkBA IC0xNjQ4Miw4ICsxNjQ4Nyw3IEBAIGNvb2tlZF9pbmRleGVyOjptYWtlX2luZGV4IChjdXR1 X3JlYWRlciAqcmVhZGVyKQogCiAgIGZvciAoY29uc3QgYXV0byAmZW50cnkgOiBtX2RlZmVy cmVkX2VudHJpZXMpCiAgICAgewotICAgICAgdm9pZCAqb2JqID0gbV9kaWVfcmFuZ2VfbWFw LmZpbmQgKGVudHJ5LnNwZWNfb2Zmc2V0KTsKLSAgICAgIGNvb2tlZF9pbmRleF9lbnRyeSAq cGFyZW50ID0gc3RhdGljX2Nhc3Q8Y29va2VkX2luZGV4X2VudHJ5ICo+IChvYmopOworICAg ICAgY29uc3QgY29va2VkX2luZGV4X2VudHJ5ICpwYXJlbnQgPSBmaW5kX3BhcmVudCAoZW50 cnkuc3BlY19vZmZzZXQpOwogICAgICAgbV9pbmRleF9zdG9yYWdlLT5hZGQgKGVudHJ5LmRp ZV9vZmZzZXQsIGVudHJ5LnRhZywgZW50cnkuZmxhZ3MsCiAJCQkgICAgZW50cnkubmFtZSwg cGFyZW50LCBtX3Blcl9jdSk7CiAgICAgfQoKYmFzZS1jb21taXQ6IDUzMzAyYzJkMzNjMjY5 MDljYzg0NDY4MTlmNjY3NzA3NmJhNDhjYTkKLS0gCjIuMzUuMwoK --------------BZA4Yaif04Cy6Y07EBsfd1lf--