From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2001:67c:2178:6::1c]) by sourceware.org (Postfix) with ESMTPS id 6EC5D3858412 for ; Mon, 24 Oct 2022 18:16:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6EC5D3858412 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=suse.cz 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-out1.suse.de (Postfix) with ESMTPS id 4335421A45; Mon, 24 Oct 2022 18:16:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1666635370; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=NmpeXxNgsJjpQfAPO8eo3ot4DfRYiOZfJTp80/znh4Y=; b=wqyNSw9c7xDzLYpEvS7F0bdOVMSuw9/cSW9fbFQIw4jHRQxp1BJ4Kmkb6UI4jm9UjnLlan z3DrfWOpk39r8B/4alLWWIMHDQyGZpj8s+eF0qn384ry3v5xFBP40VLOa7aoYDfS4EpY5o /eIvg0SS0EvkFI7SFwcYth3RdWtmsX8= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1666635370; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=NmpeXxNgsJjpQfAPO8eo3ot4DfRYiOZfJTp80/znh4Y=; b=kauiuS0Epn3+445yG2cGYGSWrtF5PNgwXI+WPRrHF8tjVT9ebBzG1cqSf/sAlqboyECVqS LEx8MHeQbktXwUCA== 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 23F4D13357; Mon, 24 Oct 2022 18:16:10 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id D4x+B2rWVmPXGQAAMHmgww (envelope-from ); Mon, 24 Oct 2022 18:16:10 +0000 Content-Type: multipart/mixed; boundary="------------44dZjyvtukPbOae2eNi9RRCA" Message-ID: <6c1ce1f1-2e45-20bb-e98d-6d35692addfb@suse.cz> Date: Mon, 24 Oct 2022 20:16:09 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Subject: Re: [PATCH][RFC] readelf: partial support of ZSTD compression To: "Dmitry V. Levin" Cc: elfutils-devel@sourceware.org, Mark Wielaard , Fangrui Song References: <542eb279-d15d-6f17-02c0-c53fd0f33055@suse.cz> <20221024114137.GA19251@altlinux.org> <0375dd0c-2410-d1ca-8ce7-41293e8e2fa2@suse.cz> <20221024164806.GA21412@altlinux.org> Content-Language: en-US From: =?UTF-8?Q?Martin_Li=c5=a1ka?= In-Reply-To: <20221024164806.GA21412@altlinux.org> X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_SOFTFAIL,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. --------------44dZjyvtukPbOae2eNi9RRCA Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 10/24/22 18:48, Dmitry V. Levin wrote: > On Mon, Oct 24, 2022 at 02:17:17PM +0200, Martin Liška wrote: >> On 10/24/22 13:41, Dmitry V. Levin wrote: >>> On Mon, Oct 24, 2022 at 01:09:59PM +0200, Martin Liška wrote: >>> [...] >>>> One TODO I see is that: >>>> +libelf_so_LDLIBS = $(libelf_so_DEPS) -lz -lzstd >>>> >>>> should be conditional based on HAVE_ZSTD. But I don't know how to do that? >>> >>> I suppose you're talking about libzstd_LIBS. >> >> Hm, can't see it after autoreconf -fi and ./configure. > > That's because you do > PKG_CHECK_MODULES(ZSTD, [libzstd], ...) > and this defines ZSTD_CFLAGS and ZSTD_LIBS instead of libzstd_CFLAGS > and libzstd_LIBS because PKG_CHECK_MODULES() uses its first argument > as the prefix for these variables. > > Thank you. Apparently, I collided with the existing: eu_ZIPLIB(zstd,ZSTD,zstd,ZSTD_decompress,[ZSTD (zst)]) Anyway, I'm sending V2 that works fine --with-zstd and --without-zstd as expected. Ready for master? Thanks, Martin --------------44dZjyvtukPbOae2eNi9RRCA Content-Type: text/x-patch; charset=UTF-8; name="0001-readelf-partial-support-of-ZSTD-compression.patch" Content-Disposition: attachment; filename="0001-readelf-partial-support-of-ZSTD-compression.patch" Content-Transfer-Encoding: base64 RnJvbSA0YWVhNDEyNzgzYjliMGRjYWYwZjg4Nzk0N2JmMmU4ZWU2YzUzNjhiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aW4gTGlza2EgPG1saXNrYUBzdXNlLmN6PgpE YXRlOiBNb24sIDI0IE9jdCAyMDIyIDExOjUzOjEzICswMjAwClN1YmplY3Q6IFtQQVRDSF0g cmVhZGVsZjogcGFydGlhbCBzdXBwb3J0IG9mIFpTVEQgY29tcHJlc3Npb24KClN1cHBvcnQg ZGVjb21wcmVzc2lvbiBvZiBaU1REIHNlY3Rpb25zIGFuZCBhZGQgc3VwcG9ydApmb3IgaXQg d2hlbiAtU1d6IGlzIHVzZWQ6CgouLi4KWzMwXSAuZGVidWdfYWJicmV2ICAgICAgICBQUk9H QklUUyAgICAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMWY5ZCAwMDAwMDE2OCAgMCBDICAgICAg MCAgIDAgIDEKICAgICBbRUxGIFpTVEQgKDIpIDAwMDAwMmZjICAxXQouLi4KCkNoYW5nZUxv ZzoKCgkqIGNvbmZpZ3VyZS5hYzogQWRkIHpzdGRfTElCUy4KCmxpYmVsZi9DaGFuZ2VMb2c6 CgoJKiBNYWtlZmlsZS5hbTogVXNlIHpzdGRfTElCUy4KCSogZWxmLmggKEVMRkNPTVBSRVNT X1pTVEQpOiBBZGQgbmV3IHZhbHVlLgoJKiBlbGZfY29tcHJlc3MuYyAoX19saWJlbGZfZGVj b21wcmVzcyk6IERpc3BhdGNoIGJhc2VkCglvbiB0aGUgY29tcHJlc3Npb24gYWxnb3JpdGht LgoJKF9fbGliZWxmX2RlY29tcHJlc3NfemxpYik6IE5ldy4KCShfX2xpYmVsZl9kZWNvbXBy ZXNzX3pzdGQpOiBOZXcuCgkoX19saWJlbGZfZGVjb21wcmVzc19lbGYpOiBQYXNzIHR5cGUg b2YgY29tcHJlc3Npb24gdG8KCV9fbGliZWxmX2RlY29tcHJlc3MuCgkqIGVsZl9jb21wcmVz c19nbnUuYyAoZWxmX2NvbXByZXNzX2dudSk6IFVzZSBFTEZDT01QUkVTU19aTElCCglhcyAu eiogc2VjdGlvbnMgY2FuIGJlIG9ubHkgY29tcHJlc3NlZCB3aXRoIFpMSUIuCgkqIGxpYmVs ZlAuaCAoX19saWJlbGZfZGVjb21wcmVzcyk6IENoYW5nZSBzaWduYXR1cmUuCgpzcmMvQ2hh bmdlTG9nOgoKCSogcmVhZGVsZi5jIChlbGZfY2hfdHlwZV9uYW1lKTogVXNlIHN3aXRjaCBh bmQgc3VwcG9ydCBaU1RELgotLS0KIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgfCAgOCAr KystLS0KIGxpYmVsZi9NYWtlZmlsZS5hbSAgICAgICAgfCAgMiArLQogbGliZWxmL2VsZi5o ICAgICAgICAgICAgICB8ICAzICsrKwogbGliZWxmL2VsZl9jb21wcmVzcy5jICAgICB8IDU2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogbGliZWxmL2VsZl9j b21wcmVzc19nbnUuYyB8ICAyICstCiBsaWJlbGYvbGliZWxmUC5oICAgICAgICAgIHwgIDIg Ky0KIHNyYy9yZWFkZWxmLmMgICAgICAgICAgICAgfCAxOCArKysrKysrKy0tLS0tCiA3IGZp bGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCAwM2I2N2E5ZC4uODAz ODc2ZTIgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAg LTQxMCw2ICs0MTAsMTEgQEAgZG5sIFRlc3QgZm9yIGJ6bGliIGFuZCB4ei9sem1hL3pzdGQs IGdpdmVzIEJaTElCL0xaTUFMSUIvWlNURCAuYW0KIGRubCBjb25kaXRpb25hbCBhbmQgY29u ZmlnLmggVVNFX0JaTElCL1VTRV9MWk1BTElCL1VTRV9aU1REICNkZWZpbmUuCiBzYXZlX0xJ QlM9IiRMSUJTIgogTElCUz0KK2V1X1pJUExJQih6c3RkLFpTVEQsenN0ZCxaU1REX2RlY29t cHJlc3MsW1pTVEQgKHpzdCldKQorQVNfSUYoW3Rlc3QgIngkd2l0aF96c3RkIiA9IHh5ZXNd LCBbTElCWlNURD0ibGlienN0ZCJdLCBbTElCTFpTVEQ9IiJdKQorQUNfU1VCU1QoW0xJQlpT VERdKQorenN0ZF9MSUJTPSIkTElCUyIKK0FDX1NVQlNUKFt6c3RkX0xJQlNdKQogZXVfWklQ TElCKGJ6bGliLEJaTElCLGJ6MixCWjJfYnpkb3BlbixiemlwMikKICMgV2UgbmVlZCB0aGlz IHNpbmNlIGJ6aXAyIGRvZXNuJ3QgaGF2ZSBhIHBrZ2NvbmZpZyBmaWxlLgogQloyX0xJQj0i JExJQlMiCkBAIC00MTcsOSArNDIyLDYgQEAgQUNfU1VCU1QoW0JaMl9MSUJdKQogZXVfWklQ TElCKGx6bWEsTFpNQSxsem1hLGx6bWFfYXV0b19kZWNvZGVyLFtMWk1BICh4eildKQogQVNf SUYoW3Rlc3QgIngkd2l0aF9sem1hIiA9IHh5ZXNdLCBbTElCTFpNQT0ibGlibHptYSJdLCBb TElCTFpNQT0iIl0pCiBBQ19TVUJTVChbTElCTFpNQV0pCi1ldV9aSVBMSUIoenN0ZCxaU1RE LHpzdGQsWlNURF9kZWNvbXByZXNzLFtaU1REICh6c3QpXSkKLUFTX0lGKFt0ZXN0ICJ4JHdp dGhfenN0ZCIgPSB4eWVzXSwgW0xJQlpTVEQ9ImxpYnpzdGQiXSwgW0xJQkxaU1REPSIiXSkK LUFDX1NVQlNUKFtMSUJaU1REXSkKIHppcF9MSUJTPSIkTElCUyIKIExJQlM9IiRzYXZlX0xJ QlMiCiBBQ19TVUJTVChbemlwX0xJQlNdKQpkaWZmIC0tZ2l0IGEvbGliZWxmL01ha2VmaWxl LmFtIGIvbGliZWxmL01ha2VmaWxlLmFtCmluZGV4IDU2MGVkNDVmLi4yNGMyNWNmOCAxMDA2 NDQKLS0tIGEvbGliZWxmL01ha2VmaWxlLmFtCisrKyBiL2xpYmVsZi9NYWtlZmlsZS5hbQpA QCAtMTA2LDcgKzEwNiw3IEBAIGxpYmVsZl9waWNfYV9TT1VSQ0VTID0KIGFtX2xpYmVsZl9w aWNfYV9PQkpFQ1RTID0gJChsaWJlbGZfYV9TT1VSQ0VTOi5jPS5vcykKIAogbGliZWxmX3Nv X0RFUFMgPSAuLi9saWIvbGliZXUuYQotbGliZWxmX3NvX0xETElCUyA9ICQobGliZWxmX3Nv X0RFUFMpIC1segorbGliZWxmX3NvX0xETElCUyA9ICQobGliZWxmX3NvX0RFUFMpIC1seiAk KHpzdGRfTElCUykKIGlmIFVTRV9MT0NLUwogbGliZWxmX3NvX0xETElCUyArPSAtbHB0aHJl YWQKIGVuZGlmCmRpZmYgLS1naXQgYS9saWJlbGYvZWxmLmggYi9saWJlbGYvZWxmLmgKaW5k ZXggMDJhMWIzZjUuLmYwZjBlYzdkIDEwMDY0NAotLS0gYS9saWJlbGYvZWxmLmgKKysrIGIv bGliZWxmL2VsZi5oCkBAIC01MDYsNiArNTA2LDkgQEAgdHlwZWRlZiBzdHJ1Y3QKIAogLyog TGVnYWwgdmFsdWVzIGZvciBjaF90eXBlIChjb21wcmVzc2lvbiBhbGdvcml0aG0pLiAgKi8K ICNkZWZpbmUgRUxGQ09NUFJFU1NfWkxJQgkxCSAgIC8qIFpMSUIvREVGTEFURSBhbGdvcml0 aG0uICAqLworI2RlZmluZSBFTEZDT01QUkVTU19aU1RECTIJICAgLyogQ29tcHJlc3NlZCB3 aXRoIHpzdGQgICovCisJCQkJCSAgIC8qIChzZWUgaHR0cDovL3d3dy56c3RhbmRhcmQub3Jn KS4gKi8KKwogI2RlZmluZSBFTEZDT01QUkVTU19MT09TCTB4NjAwMDAwMDAgLyogU3RhcnQg b2YgT1Mtc3BlY2lmaWMuICAqLwogI2RlZmluZSBFTEZDT01QUkVTU19ISU9TCTB4NmZmZmZm ZmYgLyogRW5kIG9mIE9TLXNwZWNpZmljLiAgKi8KICNkZWZpbmUgRUxGQ09NUFJFU1NfTE9Q Uk9DCTB4NzAwMDAwMDAgLyogU3RhcnQgb2YgcHJvY2Vzc29yLXNwZWNpZmljLiAgKi8KZGlm ZiAtLWdpdCBhL2xpYmVsZi9lbGZfY29tcHJlc3MuYyBiL2xpYmVsZi9lbGZfY29tcHJlc3Mu YwppbmRleCBkN2Y1M2FmMi4uNjJiNDFiMjAgMTAwNjQ0Ci0tLSBhL2xpYmVsZi9lbGZfY29t cHJlc3MuYworKysgYi9saWJlbGYvZWxmX2NvbXByZXNzLmMKQEAgLTM5LDYgKzM5LDEwIEBA CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8emxpYi5oPgogCisjaWZkZWYgVVNF X1pTVEQKKyNpbmNsdWRlIDx6c3RkLmg+CisjZW5kaWYKKwogLyogQ2xlYW51cCBhbmQgcmV0 dXJuIHJlc3VsdC4gIERvbid0IGxlYWsgbWVtb3J5LiAgKi8KIHN0YXRpYyB2b2lkICoKIGRv X2RlZmxhdGVfY2xlYW51cCAodm9pZCAqcmVzdWx0LCB6X3N0cmVhbSAqeiwgdm9pZCAqb3V0 X2J1ZiwKQEAgLTIwNyw3ICsyMTEsNyBAQCBfX2xpYmVsZl9jb21wcmVzcyAoRWxmX1NjbiAq c2NuLCBzaXplX3QgaHNpemUsIGludCBlaV9kYXRhLAogCiB2b2lkICoKIGludGVybmFsX2Z1 bmN0aW9uCi1fX2xpYmVsZl9kZWNvbXByZXNzICh2b2lkICpidWZfaW4sIHNpemVfdCBzaXpl X2luLCBzaXplX3Qgc2l6ZV9vdXQpCitfX2xpYmVsZl9kZWNvbXByZXNzX3psaWIgKHZvaWQg KmJ1Zl9pbiwgc2l6ZV90IHNpemVfaW4sIHNpemVfdCBzaXplX291dCkKIHsKICAgLyogQ2F0 Y2ggaGlnaGx5IHVubGlrZWx5IGNvbXByZXNzaW9uIHJhdGlvcyBzbyB3ZSBkb24ndCBhbGxv Y2F0ZQogICAgICBzb21lIGdpYW50IGFtb3VudCBvZiBtZW1vcnkgZm9yIG5vdGhpbmcuIFRo ZSBtYXggY29tcHJlc3Npb24KQEAgLTI2MCw2ICsyNjQsNTAgQEAgX19saWJlbGZfZGVjb21w cmVzcyAodm9pZCAqYnVmX2luLCBzaXplX3Qgc2l6ZV9pbiwgc2l6ZV90IHNpemVfb3V0KQog ICByZXR1cm4gYnVmX291dDsKIH0KIAorI2lmZGVmIFVTRV9aU1RECit2b2lkICoKK2ludGVy bmFsX2Z1bmN0aW9uCitfX2xpYmVsZl9kZWNvbXByZXNzX3pzdGQgKHZvaWQgKmJ1Zl9pbiwg c2l6ZV90IHNpemVfaW4sIHNpemVfdCBzaXplX291dCkKK3sKKyAgLyogTWFsbG9jIG1pZ2h0 IHJldHVybiBOVUxMIHdoZW4gcmVxdWVzdGlvbiB6ZXJvIHNpemUuICBUaGlzIGlzIGhpZ2hs eQorICAgICB1bmxpa2VseSwgaXQgd291bGQgb25seSBoYXBwZW4gd2hlbiB0aGUgY29tcHJl c3Npb24gd2FzIGZvcmNlZC4KKyAgICAgQnV0IHdlIGRvIG5lZWQgYSBub24tTlVMTCBidWZm ZXIgdG8gcmV0dXJuIGFuZCBzZXQgYXMgcmVzdWx0LgorICAgICBKdXN0IG1ha2Ugc3VyZSB0 byBhbHdheXMgYWxsb2NhdGUgYXQgbGVhc3QgMSBieXRlLiAgKi8KKyAgdm9pZCAqYnVmX291 dCA9IG1hbGxvYyAoc2l6ZV9vdXQgPzogMSk7CisgIGlmICh1bmxpa2VseSAoYnVmX291dCA9 PSBOVUxMKSkKKyAgICB7CisgICAgICBfX2xpYmVsZl9zZXRlcnJubyAoRUxGX0VfTk9NRU0p OworICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgIHNpemVfdCByZXQgPSBaU1REX2Rl Y29tcHJlc3MgKGJ1Zl9vdXQsIHNpemVfb3V0LCBidWZfaW4sIHNpemVfaW4pOworICBpZiAo WlNURF9pc0Vycm9yIChyZXQpKQorICAgIHsKKyAgICAgIGZyZWUgKGJ1Zl9vdXQpOworICAg ICAgX19saWJlbGZfc2V0ZXJybm8gKEVMRl9FX0RFQ09NUFJFU1NfRVJST1IpOworICAgICAg cmV0dXJuIE5VTEw7CisgICAgfQorICBlbHNlCisgICAgcmV0dXJuIGJ1Zl9vdXQ7Cit9Cisj ZW5kaWYKKwordm9pZCAqCitpbnRlcm5hbF9mdW5jdGlvbgorX19saWJlbGZfZGVjb21wcmVz cyAoaW50IGNodHlwZSwgdm9pZCAqYnVmX2luLCBzaXplX3Qgc2l6ZV9pbiwgc2l6ZV90IHNp emVfb3V0KQoreworICBpZiAoY2h0eXBlID09IEVMRkNPTVBSRVNTX1pMSUIpCisgICAgcmV0 dXJuIF9fbGliZWxmX2RlY29tcHJlc3NfemxpYiAoYnVmX2luLCBzaXplX2luLCBzaXplX291 dCk7CisgIGVsc2UKKyAgICB7CisjaWZkZWYgVVNFX1pTVEQKKyAgICByZXR1cm4gX19saWJl bGZfZGVjb21wcmVzc196c3RkIChidWZfaW4sIHNpemVfaW4sIHNpemVfb3V0KTsKKyNlbHNl CisgICAgcmV0dXJuIDA7CisjZW5kaWYKKyAgICB9Cit9CisKIHZvaWQgKgogaW50ZXJuYWxf ZnVuY3Rpb24KIF9fbGliZWxmX2RlY29tcHJlc3NfZWxmIChFbGZfU2NuICpzY24sIHNpemVf dCAqc2l6ZV9vdXQsIHNpemVfdCAqYWRkcmFsaWduKQpAQCAtMjY4LDcgKzMxNiw3IEBAIF9f bGliZWxmX2RlY29tcHJlc3NfZWxmIChFbGZfU2NuICpzY24sIHNpemVfdCAqc2l6ZV9vdXQs IHNpemVfdCAqYWRkcmFsaWduKQogICBpZiAoZ2VsZl9nZXRjaGRyIChzY24sICZjaGRyKSA9 PSBOVUxMKQogICAgIHJldHVybiBOVUxMOwogCi0gIGlmIChjaGRyLmNoX3R5cGUgIT0gRUxG Q09NUFJFU1NfWkxJQikKKyAgaWYgKGNoZHIuY2hfdHlwZSAhPSBFTEZDT01QUkVTU19aTElC ICYmIGNoZHIuY2hfdHlwZSAhPSBFTEZDT01QUkVTU19aU1REKQogICAgIHsKICAgICAgIF9f bGliZWxmX3NldGVycm5vIChFTEZfRV9VTktOT1dOX0NPTVBSRVNTSU9OX1RZUEUpOwogICAg ICAgcmV0dXJuIE5VTEw7CkBAIC0yOTUsNyArMzQzLDkgQEAgX19saWJlbGZfZGVjb21wcmVz c19lbGYgKEVsZl9TY24gKnNjbiwgc2l6ZV90ICpzaXplX291dCwgc2l6ZV90ICphZGRyYWxp Z24pCiAJCSAgPyBzaXplb2YgKEVsZjMyX0NoZHIpIDogc2l6ZW9mIChFbGY2NF9DaGRyKSk7 CiAgIHNpemVfdCBzaXplX2luID0gZGF0YS0+ZF9zaXplIC0gaHNpemU7CiAgIHZvaWQgKmJ1 Zl9pbiA9IGRhdGEtPmRfYnVmICsgaHNpemU7Ci0gIHZvaWQgKmJ1Zl9vdXQgPSBfX2xpYmVs Zl9kZWNvbXByZXNzIChidWZfaW4sIHNpemVfaW4sIGNoZHIuY2hfc2l6ZSk7CisgIHZvaWQg KmJ1Zl9vdXQKKyAgICA9IF9fbGliZWxmX2RlY29tcHJlc3MgKGNoZHIuY2hfdHlwZSwgYnVm X2luLCBzaXplX2luLCBjaGRyLmNoX3NpemUpOworCiAgICpzaXplX291dCA9IGNoZHIuY2hf c2l6ZTsKICAgKmFkZHJhbGlnbiA9IGNoZHIuY2hfYWRkcmFsaWduOwogICByZXR1cm4gYnVm X291dDsKZGlmZiAtLWdpdCBhL2xpYmVsZi9lbGZfY29tcHJlc3NfZ251LmMgYi9saWJlbGYv ZWxmX2NvbXByZXNzX2dudS5jCmluZGV4IDNkMjk3N2U3Li5iZTllOTkwZSAxMDA2NDQKLS0t IGEvbGliZWxmL2VsZl9jb21wcmVzc19nbnUuYworKysgYi9saWJlbGYvZWxmX2NvbXByZXNz X2dudS5jCkBAIC0xNzgsNyArMTc4LDcgQEAgZWxmX2NvbXByZXNzX2dudSAoRWxmX1NjbiAq c2NuLCBpbnQgaW5mbGF0ZSwgdW5zaWduZWQgaW50IGZsYWdzKQogICAgICAgc2l6ZV90IHNp emUgPSBnc2l6ZTsKICAgICAgIHNpemVfdCBzaXplX2luID0gZGF0YS0+ZF9zaXplIC0gaHNp emU7CiAgICAgICB2b2lkICpidWZfaW4gPSBkYXRhLT5kX2J1ZiArIGhzaXplOwotICAgICAg dm9pZCAqYnVmX291dCA9IF9fbGliZWxmX2RlY29tcHJlc3MgKGJ1Zl9pbiwgc2l6ZV9pbiwg c2l6ZSk7CisgICAgICB2b2lkICpidWZfb3V0ID0gX19saWJlbGZfZGVjb21wcmVzcyAoRUxG Q09NUFJFU1NfWkxJQiwgYnVmX2luLCBzaXplX2luLCBzaXplKTsKICAgICAgIGlmIChidWZf b3V0ID09IE5VTEwpCiAJcmV0dXJuIC0xOwogCmRpZmYgLS1naXQgYS9saWJlbGYvbGliZWxm UC5oIGIvbGliZWxmL2xpYmVsZlAuaAppbmRleCBkODhhNjEzYy4uYWI4MjM1N2MgMTAwNjQ0 Ci0tLSBhL2xpYmVsZi9saWJlbGZQLmgKKysrIGIvbGliZWxmL2xpYmVsZlAuaApAQCAtNTc3 LDcgKzU3Nyw3IEBAIGV4dGVybiB2b2lkICogX19saWJlbGZfY29tcHJlc3MgKEVsZl9TY24g KnNjbiwgc2l6ZV90IGhzaXplLCBpbnQgZWlfZGF0YSwKIAkJCQkgc2l6ZV90ICpzaXplLCBi b29sIGZvcmNlKQogICAgICBpbnRlcm5hbF9mdW5jdGlvbjsKIAotZXh0ZXJuIHZvaWQgKiBf X2xpYmVsZl9kZWNvbXByZXNzICh2b2lkICpidWZfaW4sIHNpemVfdCBzaXplX2luLAorZXh0 ZXJuIHZvaWQgKiBfX2xpYmVsZl9kZWNvbXByZXNzIChpbnQgY2h0eXBlLCB2b2lkICpidWZf aW4sIHNpemVfdCBzaXplX2luLAogCQkJCSAgIHNpemVfdCBzaXplX291dCkgaW50ZXJuYWxf ZnVuY3Rpb247CiBleHRlcm4gdm9pZCAqIF9fbGliZWxmX2RlY29tcHJlc3NfZWxmIChFbGZf U2NuICpzY24sCiAJCQkJICAgICAgIHNpemVfdCAqc2l6ZV9vdXQsIHNpemVfdCAqYWRkcmFs aWduKQpkaWZmIC0tZ2l0IGEvc3JjL3JlYWRlbGYuYyBiL3NyYy9yZWFkZWxmLmMKaW5kZXgg YTIwNmU2MGUuLjFhZjIwZTM1IDEwMDY0NAotLS0gYS9zcmMvcmVhZGVsZi5jCisrKyBiL3Ny Yy9yZWFkZWxmLmMKQEAgLTEyMjksMTMgKzEyMjksMTcgQEAgZ2V0X3Zpc2liaWxpdHlfdHlw ZSAoaW50IHZhbHVlKQogc3RhdGljIGNvbnN0IGNoYXIgKgogZWxmX2NoX3R5cGVfbmFtZSAo dW5zaWduZWQgaW50IGNvZGUpCiB7Ci0gIGlmIChjb2RlID09IDApCi0gICAgcmV0dXJuICJO T05FIjsKLQotICBpZiAoY29kZSA9PSBFTEZDT01QUkVTU19aTElCKQotICAgIHJldHVybiAi WkxJQiI7Ci0KLSAgcmV0dXJuICJVTktOT1dOIjsKKyAgc3dpdGNoIChjb2RlKQorICAgIHsK KyAgICBjYXNlIDA6CisgICAgICByZXR1cm4gIk5PTkUiOworICAgIGNhc2UgRUxGQ09NUFJF U1NfWkxJQjoKKyAgICAgIHJldHVybiAiWkxJQiI7CisgICAgY2FzZSBFTEZDT01QUkVTU19a U1REOgorICAgICAgcmV0dXJuICJaU1REIjsKKyAgICBkZWZhdWx0OgorICAgICAgcmV0dXJu ICJVTktOT1dOIjsKKyAgICB9CiB9CiAKIC8qIFByaW50IHRoZSBzZWN0aW9uIGhlYWRlcnMu ICAqLwotLSAKMi4zOC4wCgo= --------------44dZjyvtukPbOae2eNi9RRCA--