From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by sourceware.org (Postfix) with ESMTPS id 61AD73858D1E for ; Wed, 10 Aug 2022 11:11:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 61AD73858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=pass 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 8AACA37443; Wed, 10 Aug 2022 11:11:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1660129866; 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=WbihGtNmbWqj1QIkJBgMAMr2RnVL+kWX0d7Mxs+T2vw=; b=odIKjXK/rgkt376UGdZuqJ+wjxydyfgEXCa78fveKwYqQOm0aA/K1Wm91kOLOyd+ieDZzR z5gVy2Y8AGaUjhiVvXPqjDRzrYq9SfOrIFJap4LOP5pK/MILHun8cih686nUdawlrPP2Kk AaYnhWckIT8xFdDhehBH7tbNK3rJLQg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1660129866; 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=WbihGtNmbWqj1QIkJBgMAMr2RnVL+kWX0d7Mxs+T2vw=; b=0x+uLFPqxK+zPe0mqyQhctfr7YSx0t399HncNiF3rMOxSeKYH7VTLNIqlqu79gkkZmgmov 10HoAEjX+wh8lmBQ== 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 7231F13A7E; Wed, 10 Aug 2022 11:11:06 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id B4vMGkqS82LAUAAAMHmgww (envelope-from ); Wed, 10 Aug 2022 11:11:06 +0000 Content-Type: multipart/mixed; boundary="------------hI4Yoq0FgsemzsqwulwVul43" Message-ID: Date: Wed, 10 Aug 2022 13:11:06 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.1.0 Subject: Re: [PATCH 1/3] Factor out jobserver_active_p. Content-Language: en-US To: Richard Biener Cc: GCC Patches References: <7b34d4a1-4f34-cffb-8b5f-eb3424ca1049@suse.cz> <82e413fb-d592-3885-9d93-28c717921523@suse.cz> From: =?UTF-8?Q?Martin_Li=c5=a1ka?= In-Reply-To: X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, NICE_REPLY_A, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Aug 2022 11:11:09 -0000 This is a multi-part message in MIME format. --------------hI4Yoq0FgsemzsqwulwVul43 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 8/10/22 12:47, Richard Biener wrote: > Yeah, fair enough. I'm going to install the v3 where I renamed jobserver.h and moved the ctor implementation to opts-common.cc. Cheers, Martin --------------hI4Yoq0FgsemzsqwulwVul43 Content-Type: text/x-patch; charset=UTF-8; name="0001-Factor-out-jobserver_active_p.patch" Content-Disposition: attachment; filename="0001-Factor-out-jobserver_active_p.patch" Content-Transfer-Encoding: base64 RnJvbSA2ZjNhYmNiM2ZhMjZmNmVkNzE5NDUwZjZiYzcwYjJiMzcxNzk5NzNhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aW4gTGlza2EgPG1saXNrYUBzdXNlLmN6PgpE YXRlOiBUdWUsIDkgQXVnIDIwMjIgMTM6NTk6MzIgKzAyMDAKU3ViamVjdDogW1BBVENIIDEv M10gRmFjdG9yIG91dCBqb2JzZXJ2ZXJfYWN0aXZlX3AuCgpnY2MvQ2hhbmdlTG9nOgoKCSog Z2NjLmNjIChkcml2ZXI6OmRldGVjdF9qb2JzZXJ2ZXIpOiBSZW1vdmUgYW5kIG1vdmUgdG8K CWpvYnNlcnZlci5oLgoJKiBsdG8td3JhcHBlci5jYyAoam9ic2VydmVyX2FjdGl2ZV9wKTog TGlrZXdpc2UuCgkocnVuX2djYyk6IExpa2V3aXNlLgoJKiBvcHRzLWpvYnNlcnZlci5oOiBO ZXcgZmlsZS4KCSogb3B0cy1jb21tb24uY2MgKGpvYnNlcnZlcl9pbmZvOjpqb2JzZXJ2ZXJf aW5mbyk6IE5ldyBmdW5jdGlvbi4KLS0tCiBnY2MvZ2NjLmNjICAgICAgICAgICB8IDM3ICsr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGdjYy9sdG8td3JhcHBlci5j YyAgIHwgNDQgKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IGdjYy9vcHRzLWNvbW1vbi5jYyAgIHwgNDEgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIGdjYy9vcHRzLWpvYnNlcnZlci5oIHwgNDQgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgOTkg aW5zZXJ0aW9ucygrKSwgNjcgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Nj L29wdHMtam9ic2VydmVyLmgKCmRpZmYgLS1naXQgYS9nY2MvZ2NjLmNjIGIvZ2NjL2djYy5j YwppbmRleCA1Y2JiMzg1NjBiMi4uY2FjMTFjMWExMTcgMTAwNjQ0Ci0tLSBhL2djYy9nY2Mu Y2MKKysrIGIvZ2NjL2djYy5jYwpAQCAtMjcsNiArMjcsNyBAQCBDQyByZWNvZ25pemVzIGhv dyB0byBjb21waWxlIGVhY2ggaW5wdXQgZmlsZSBieSBzdWZmaXhlcyBpbiB0aGUgZmlsZSBu YW1lcy4KIE9uY2UgaXQga25vd3Mgd2hpY2gga2luZCBvZiBjb21waWxhdGlvbiB0byBwZXJm b3JtLCB0aGUgcHJvY2VkdXJlIGZvcgogY29tcGlsYXRpb24gaXMgc3BlY2lmaWVkIGJ5IGEg c3RyaW5nIGNhbGxlZCBhICJzcGVjIi4gICovCiAKKyNkZWZpbmUgSU5DTFVERV9TVFJJTkcK ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJzeXN0ZW0uaCIKICNpbmNsdWRlICJj b3JldHlwZXMuaCIKQEAgLTQzLDYgKzQ0LDcgQEAgY29tcGlsYXRpb24gaXMgc3BlY2lmaWVk IGJ5IGEgc3RyaW5nIGNhbGxlZCBhICJzcGVjIi4gICovCiAjaW5jbHVkZSAib3B0cy5oIgog I2luY2x1ZGUgImZpbGVuYW1lcy5oIgogI2luY2x1ZGUgInNwZWxsY2hlY2suaCIKKyNpbmNs dWRlICJvcHRzLWpvYnNlcnZlci5oIgogCiAMCiAKQEAgLTkxNzgsMzggKzkxODAsOSBAQCBk cml2ZXI6OmZpbmFsX2FjdGlvbnMgKCkgY29uc3QKIHZvaWQKIGRyaXZlcjo6ZGV0ZWN0X2pv YnNlcnZlciAoKSBjb25zdAogewotICAvKiBEZXRlY3Qgam9ic2VydmVyIGFuZCBkcm9wIGl0 IGlmIGl0J3Mgbm90IHdvcmtpbmcuICAqLwotICBjb25zdCBjaGFyICptYWtlZmxhZ3MgPSBl bnYuZ2V0ICgiTUFLRUZMQUdTIik7Ci0gIGlmIChtYWtlZmxhZ3MgIT0gTlVMTCkKLSAgICB7 Ci0gICAgICBjb25zdCBjaGFyICpuZWVkbGUgPSAiLS1qb2JzZXJ2ZXItYXV0aD0iOwotICAg ICAgY29uc3QgY2hhciAqbiA9IHN0cnN0ciAobWFrZWZsYWdzLCBuZWVkbGUpOwotICAgICAg aWYgKG4gIT0gTlVMTCkKLQl7Ci0JICBpbnQgcmZkID0gLTE7Ci0JICBpbnQgd2ZkID0gLTE7 Ci0KLQkgIGJvb2wgam9ic2VydmVyCi0JICAgID0gKHNzY2FuZiAobiArIHN0cmxlbiAobmVl ZGxlKSwgIiVkLCVkIiwgJnJmZCwgJndmZCkgPT0gMgotCSAgICAgICAmJiByZmQgPiAwCi0J ICAgICAgICYmIHdmZCA+IDAKLQkgICAgICAgJiYgaXNfdmFsaWRfZmQgKHJmZCkKLQkgICAg ICAgJiYgaXNfdmFsaWRfZmQgKHdmZCkpOwotCi0JICAvKiBEcm9wIHRoZSBqb2JzZXJ2ZXIg aWYgaXQncyBub3Qgd29ya2luZyBub3cuICAqLwotCSAgaWYgKCFqb2JzZXJ2ZXIpCi0JICAg IHsKLQkgICAgICB1bnNpZ25lZCBvZmZzZXQgPSBuIC0gbWFrZWZsYWdzOwotCSAgICAgIGNo YXIgKmR1cCA9IHhzdHJkdXAgKG1ha2VmbGFncyk7Ci0JICAgICAgZHVwW29mZnNldF0gPSAn XDAnOwotCi0JICAgICAgY29uc3QgY2hhciAqc3BhY2UgPSBzdHJjaHIgKG1ha2VmbGFncyAr IG9mZnNldCwgJyAnKTsKLQkgICAgICBpZiAoc3BhY2UgIT0gTlVMTCkKLQkJc3RyY3B5IChk dXAgKyBvZmZzZXQsIHNwYWNlKTsKLQkgICAgICB4cHV0ZW52IChjb25jYXQgKCJNQUtFRkxB R1M9IiwgZHVwLCBOVUxMKSk7Ci0JICAgIH0KLQl9Ci0gICAgfQorICBqb2JzZXJ2ZXJfaW5m byBqaW5mbzsKKyAgaWYgKCFqaW5mby5pc19hY3RpdmUgJiYgIWppbmZvLnNraXBwZWRfbWFr ZWZsYWdzLmVtcHR5ICgpKQorICAgIHhwdXRlbnYgKGppbmZvLnNraXBwZWRfbWFrZWZsYWdz LmNfc3RyICgpKTsKIH0KIAogLyogRGV0ZXJtaW5lIHdoYXQgdGhlIGV4aXQgY29kZSBvZiB0 aGUgZHJpdmVyIHNob3VsZCBiZS4gICovCmRpZmYgLS1naXQgYS9nY2MvbHRvLXdyYXBwZXIu Y2MgYi9nY2MvbHRvLXdyYXBwZXIuY2MKaW5kZXggNzk1YWI3NDU1NWMuLjFlOGViYTE2ZGZi IDEwMDY0NAotLS0gYS9nY2MvbHRvLXdyYXBwZXIuY2MKKysrIGIvZ2NjL2x0by13cmFwcGVy LmNjCkBAIC0zNyw2ICszNyw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09Q WUlORzMuICBJZiBub3Qgc2VlCiAgICAuL2NjQ0p1WEd2Lmx0by5sdHJhbnMubwogKi8KIAor I2RlZmluZSBJTkNMVURFX1NUUklORwogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg InN5c3RlbS5oIgogI2luY2x1ZGUgImNvcmV0eXBlcy5oIgpAQCAtNDksNiArNTAsOCBAQCBh bG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQogI2lu Y2x1ZGUgImx0by1zZWN0aW9uLW5hbWVzLmgiCiAjaW5jbHVkZSAiY29sbGVjdC11dGlscy5o IgogI2luY2x1ZGUgIm9wdHMtZGlhZ25vc3RpYy5oIgorI2luY2x1ZGUgIm9wdC1zdWdnZXN0 aW9ucy5oIgorI2luY2x1ZGUgIm9wdHMtam9ic2VydmVyLmgiCiAKIC8qIEVudmlyb25tZW50 IHZhcmlhYmxlLCB1c2VkIGZvciBwYXNzaW5nIHRoZSBuYW1lcyBvZiBvZmZsb2FkIHRhcmdl dHMgZnJvbSBHQ0MKICAgIGRyaXZlciB0byBsdG8td3JhcHBlci4gICovCkBAIC0xMzM2LDM1 ICsxMzM5LDYgQEAgaW5pdF9udW1fdGhyZWFkcyAodm9pZCkKICNlbmRpZgogfQogCi0vKiBU ZXN0IGFuZCByZXR1cm4gcmVhc29uIHdoeSBhIGpvYnNlcnZlciBjYW5ub3QgYmUgZGV0ZWN0 ZWQuICAqLwotCi1zdGF0aWMgY29uc3QgY2hhciAqCi1qb2JzZXJ2ZXJfYWN0aXZlX3AgKHZv aWQpCi17Ci0gICNkZWZpbmUgSlNfUFJFRklYICJqb2JzZXJ2ZXIgaXMgbm90IGF2YWlsYWJs ZTogIgotICAjZGVmaW5lIEpTX05FRURMRSAiLS1qb2JzZXJ2ZXItYXV0aD0iCi0KLSAgY29u c3QgY2hhciAqbWFrZWZsYWdzID0gZ2V0ZW52ICgiTUFLRUZMQUdTIik7Ci0gIGlmIChtYWtl ZmxhZ3MgPT0gTlVMTCkKLSAgICByZXR1cm4gSlNfUFJFRklYICIlPE1BS0VGTEFHUyU+IGVu dmlyb25tZW50IHZhcmlhYmxlIGlzIHVuc2V0IjsKLQotICBjb25zdCBjaGFyICpuID0gc3Ry c3RyIChtYWtlZmxhZ3MsIEpTX05FRURMRSk7Ci0gIGlmIChuID09IE5VTEwpCi0gICAgcmV0 dXJuIEpTX1BSRUZJWCAiJTwiIEpTX05FRURMRSAiJT4gaXMgbm90IHByZXNlbnQgaW4gJTxN QUtFRkxBR1MlPiI7Ci0KLSAgaW50IHJmZCA9IC0xOwotICBpbnQgd2ZkID0gLTE7Ci0KLSAg aWYgKHNzY2FuZiAobiArIHN0cmxlbiAoSlNfTkVFRExFKSwgIiVkLCVkIiwgJnJmZCwgJndm ZCkgPT0gMgotICAgICAgJiYgcmZkID4gMAotICAgICAgJiYgd2ZkID4gMAotICAgICAgJiYg aXNfdmFsaWRfZmQgKHJmZCkKLSAgICAgICYmIGlzX3ZhbGlkX2ZkICh3ZmQpKQotICAgIHJl dHVybiBOVUxMOwotICBlbHNlCi0gICAgcmV0dXJuIEpTX1BSRUZJWCAiY2Fubm90IGFjY2Vz cyAlPCIgSlNfTkVFRExFICIlPiBmaWxlIGRlc2NyaXB0b3JzIjsKLX0KLQogLyogUHJpbnQg bGluayB0byAtZmx0byBkb2N1bWVudGF0aW9uIHdpdGggYSBoaW50IG1lc3NhZ2UuICAqLwog CiB2b2lkCkBAIC0xNDIyLDcgKzEzOTYsNiBAQCBydW5fZ2NjICh1bnNpZ25lZCBhcmdjLCBj aGFyICphcmd2W10pCiAgIGJvb2wgam9ic2VydmVyX3JlcXVlc3RlZCA9IGZhbHNlOwogICBp bnQgYXV0b19wYXJhbGxlbCA9IDA7CiAgIGJvb2wgbm9fcGFydGl0aW9uID0gZmFsc2U7Ci0g IGNvbnN0IGNoYXIgKmpvYnNlcnZlcl9lcnJvciA9IE5VTEw7CiAgIGJvb2wgZmRlY29kZWRf b3B0aW9uc19maXJzdCA9IHRydWU7CiAgIHZlYzxjbF9kZWNvZGVkX29wdGlvbj4gZmRlY29k ZWRfb3B0aW9uczsKICAgZmRlY29kZWRfb3B0aW9ucy5jcmVhdGUgKDE2KTsKQEAgLTE2NTMs MTQgKzE2MjYsMTQgQEAgcnVuX2djYyAodW5zaWduZWQgYXJnYywgY2hhciAqYXJndltdKQog ICAgIH0KICAgZWxzZQogICAgIHsKLSAgICAgIGpvYnNlcnZlcl9lcnJvciA9IGpvYnNlcnZl cl9hY3RpdmVfcCAoKTsKLSAgICAgIGlmIChqb2JzZXJ2ZXIgJiYgam9ic2VydmVyX2Vycm9y ICE9IE5VTEwpCisgICAgICBqb2JzZXJ2ZXJfaW5mbyBqaW5mbzsKKyAgICAgIGlmIChqb2Jz ZXJ2ZXIgJiYgIWppbmZvLmlzX2FjdGl2ZSkKIAl7CiAJICAvKiBGYWxsIGJhY2sgdG8gYXV0 byBwYXJhbGxlbGlzbS4gICovCiAJICBqb2JzZXJ2ZXIgPSAwOwogCSAgYXV0b19wYXJhbGxl bCA9IDE7CiAJfQotICAgICAgZWxzZSBpZiAoIWpvYnNlcnZlciAmJiBqb2JzZXJ2ZXJfZXJy b3IgPT0gTlVMTCkKKyAgICAgIGVsc2UgaWYgKCFqb2JzZXJ2ZXIgJiYgamluZm8uaXNfYWN0 aXZlKQogCXsKIAkgIHBhcmFsbGVsID0gMTsKIAkgIGpvYnNlcnZlciA9IDE7CkBAIC0xOTcx LDkgKzE5NDQsMTAgQEAgY29udDoKIAogICAgICAgaWYgKG5yID4gMSkKIAl7Ci0JICBpZiAo am9ic2VydmVyX3JlcXVlc3RlZCAmJiBqb2JzZXJ2ZXJfZXJyb3IgIT0gTlVMTCkKKwkgIGpv YnNlcnZlcl9pbmZvIGppbmZvOworCSAgaWYgKGpvYnNlcnZlcl9yZXF1ZXN0ZWQgJiYgIWpp bmZvLmlzX2FjdGl2ZSkKIAkgICAgewotCSAgICAgIHdhcm5pbmcgKDAsIGpvYnNlcnZlcl9l cnJvcik7CisJICAgICAgd2FybmluZyAoMCwgamluZm8uZXJyb3JfbXNnLmNfc3RyICgpKTsK IAkgICAgICBwcmludF9sdG9fZG9jc19saW5rICgpOwogCSAgICB9CiAJICBlbHNlIGlmIChw YXJhbGxlbCA9PSAwKQpkaWZmIC0tZ2l0IGEvZ2NjL29wdHMtY29tbW9uLmNjIGIvZ2NjL29w dHMtY29tbW9uLmNjCmluZGV4IDgwOTdjMDU4YzcyLi40ZDRmNDI0ZGYxMyAxMDA2NDQKLS0t IGEvZ2NjL29wdHMtY29tbW9uLmNjCisrKyBiL2djYy9vcHRzLWNvbW1vbi5jYwpAQCAtMTcs NiArMTcsNyBAQCBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQogYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBD T1BZSU5HMy4gIElmIG5vdCBzZWUKIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4g ICovCiAKKyNkZWZpbmUgSU5DTFVERV9TVFJJTkcKICNpbmNsdWRlICJjb25maWcuaCIKICNp bmNsdWRlICJzeXN0ZW0uaCIKICNpbmNsdWRlICJpbnRsLmgiCkBAIC0yNSw2ICsyNiw3IEBA IGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCiAj aW5jbHVkZSAib3B0aW9ucy5oIgogI2luY2x1ZGUgImRpYWdub3N0aWMuaCIKICNpbmNsdWRl ICJzcGVsbGNoZWNrLmgiCisjaW5jbHVkZSAib3B0cy1qb2JzZXJ2ZXIuaCIKIAogc3RhdGlj IHZvaWQgcHJ1bmVfb3B0aW9ucyAoc3RydWN0IGNsX2RlY29kZWRfb3B0aW9uICoqLCB1bnNp Z25lZCBpbnQgKik7CiAKQEAgLTIwMDUsMyArMjAwNyw0MiBAQCB2b2lkIHByZXBlbmRfeGFz c2VtYmxlcl90b19jb2xsZWN0X2FzX29wdGlvbnMgKGNvbnN0IGNoYXIgKmNvbGxlY3RfYXNf b3B0aW9ucywKICAgICAgIG9ic3RhY2tfMWdyb3cgKG8sICdcJycpOwogICAgIH0KIH0KKwor am9ic2VydmVyX2luZm86OmpvYnNlcnZlcl9pbmZvICgpCit7CisgIC8qIERldGVjdCBqb2Jz ZXJ2ZXIgYW5kIGRyb3AgaXQgaWYgaXQncyBub3Qgd29ya2luZy4gICovCisgIHN0cmluZyBq c19uZWVkbGUgPSAiLS1qb2JzZXJ2ZXItYXV0aD0iOworCisgIGNvbnN0IGNoYXIgKmVudnZh bCA9IGdldGVudiAoIk1BS0VGTEFHUyIpOworICBpZiAoZW52dmFsICE9IE5VTEwpCisgICAg eworICAgICAgc3RyaW5nIG1ha2VmbGFncyA9IGVudnZhbDsKKyAgICAgIHNpemVfdCBuID0g bWFrZWZsYWdzLnJmaW5kIChqc19uZWVkbGUpOworICAgICAgaWYgKG4gIT0gc3RyaW5nOjpu cG9zKQorCXsKKwkgIGlmIChzc2NhbmYgKG1ha2VmbGFncy5jX3N0ciAoKSArIG4gKyBqc19u ZWVkbGUuc2l6ZSAoKSwKKwkJICAgICAgIiVkLCVkIiwgJnJmZCwgJndmZCkgPT0gMgorCSAg ICAgICYmIHJmZCA+IDAKKwkgICAgICAmJiB3ZmQgPiAwCisJICAgICAgJiYgaXNfdmFsaWRf ZmQgKHJmZCkKKwkgICAgICAmJiBpc192YWxpZF9mZCAod2ZkKSkKKwkgICAgaXNfYWN0aXZl ID0gdHJ1ZTsKKwkgIGVsc2UKKwkgICAgeworCSAgICAgIHN0cmluZyBkdXAgPSBtYWtlZmxh Z3Muc3Vic3RyICgwLCBuKTsKKwkgICAgICBzaXplX3QgcG9zID0gbWFrZWZsYWdzLmZpbmQg KCcgJywgbik7CisJICAgICAgaWYgKHBvcyAhPSBzdHJpbmc6Om5wb3MpCisJCWR1cCArPSBt YWtlZmxhZ3Muc3Vic3RyIChwb3MpOworCSAgICAgIHNraXBwZWRfbWFrZWZsYWdzID0gIk1B S0VGTEFHUz0iICsgZHVwOworCSAgICAgIGVycm9yX21zZworCQk9ICJjYW5ub3QgYWNjZXNz ICU8IiArIGpzX25lZWRsZSArICIlPiBmaWxlIGRlc2NyaXB0b3JzIjsKKwkgICAgfQorCX0K KyAgICAgIGVycm9yX21zZyA9ICIlPCIgKyBqc19uZWVkbGUgKyAiJT4gaXMgbm90IHByZXNl bnQgaW4gJTxNQUtFRkxBR1MlPiI7CisgICAgfQorICBlbHNlCisgICAgZXJyb3JfbXNnID0g IiU8TUFLRUZMQUdTJT4gZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgdW5zZXQiOworCisgIGlm ICghZXJyb3JfbXNnLmVtcHR5ICgpKQorICAgIGVycm9yX21zZyA9ICJqb2JzZXJ2ZXIgaXMg bm90IGF2YWlsYWJsZTogIiArIGVycm9yX21zZzsKK30KZGlmZiAtLWdpdCBhL2djYy9vcHRz LWpvYnNlcnZlci5oIGIvZ2NjL29wdHMtam9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLjY4Y2UxODhiODRhCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL29wdHMtam9ic2VydmVyLmgKQEAgLTAsMCArMSw0NCBAQAorLyogR05VIG1ha2UncyBq b2JzZXJ2ZXIgcmVsYXRlZCBmdW5jdGlvbmFsaXR5LgorICAgQ29weXJpZ2h0IChDKSAyMDIy IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCitUaGlzIGZpbGUgaXMgcGFydCBv ZiBHQ0MuCisKK0dDQyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCit0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIKK3ZlcnNpb24uCisKK0dDQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkKK1dBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yCitGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKK2ZvciBtb3JlIGRldGFpbHMuCisKK1lvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCithbG9uZyB3aXRo IEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgorCitTZWUgZGJnY250LmRlZiBmb3IgdXNhZ2UgaW5mb3Jt YXRpb24uICAqLworCisjaWZuZGVmIEdDQ19KT0JTRVJWRVJfSAorI2RlZmluZSBHQ0NfSk9C U0VSVkVSX0gKKwordXNpbmcgbmFtZXNwYWNlIHN0ZDsKKworc3RydWN0IGpvYnNlcnZlcl9p bmZvCit7CisgIC8qIERlZmF1bHQgY29uc3RydWN0b3IuICAqLworICBqb2JzZXJ2ZXJfaW5m byAoKTsKKworICAvKiBFcnJvciBtZXNzYWdlIGlmIHRoZXJlIGlzIGEgcHJvYmxlbS4gICov CisgIHN0cmluZyBlcnJvcl9tc2cgPSAiIjsKKyAgLyogU2tpcHBlZCBNQUtFRkxBR1Mgd2hl cmUgLS1qb2JzZXJ2ZXItYXV0aCBpcyBza2lwcGVkLiAgKi8KKyAgc3RyaW5nIHNraXBwZWRf bWFrZWZsYWdzID0gIiI7CisgIC8qIEZpbGUgZGVzY3JpcHRvciBmb3IgcmVhZGluZyB1c2Vk IGZvciBqb2JzZXJ2ZXIgY29tbXVuaWNhdGlvbi4gICovCisgIGludCByZmQgPSAtMTsKKyAg LyogRmlsZSBkZXNjcmlwdG9yIGZvciB3cml0aW5nIHVzZWQgZm9yIGpvYnNlcnZlciBjb21t dW5pY2F0aW9uLiAgKi8KKyAgaW50IHdmZCA9IC0xOworICAvKiBSZXR1cm4gdHJ1ZSBpZiBq b2JzZXJ2ZXIgaXMgYWN0aXZlLiAgKi8KKyAgYm9vbCBpc19hY3RpdmUgPSBmYWxzZTsKK307 CisKKyNlbmRpZiAvKiBHQ0NfSk9CU0VSVkVSX0ggKi8KLS0gCjIuMzcuMQoK --------------hI4Yoq0FgsemzsqwulwVul43--