From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) by sourceware.org (Postfix) with ESMTPS id F11603858023 for ; Thu, 27 May 2021 13:56:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F11603858023 Received: by mail-lj1-x231.google.com with SMTP id v5so891894ljg.12 for ; Thu, 27 May 2021 06:56:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=/NNrE7OC51h6AA6lvGqhN3fQje9cGyxa1bGdxKL13sA=; b=YMwCUElgw3Yj7hvhlcBplx/K5lqodCFzNuwgs3Y+OglWLN+L6N/hgaKYieow4BoUd0 icP1T7NjAR76/6Yd2ePcJonj01OXlBnOKQ6QPl5GS06871JSfKzaZ7Q4aQDcrnlAagtf LrdOVmrXHdCsBdzsZANMhOidK08PzXvqjb+0dHagMr3oi1RZQDGfHeJrlQvufZNsDd9b 5khMSEFnFRvAuGrZ7AXnyPZKYYQJZGrJ0Cy8cZmyoMXl3kY4rYvIHhGiLxlZi0DmPnoe ObfNsjnYEmMF1+9gf0I23ataID2AtP/S8S+M88HW/AIZNlen+RRA76LKRWymHC7M4Li8 p4bQ== X-Gm-Message-State: AOAM5326Na1TIt+0lVMetA3fqH8cAyRvlKgO51UPbTojXtOGJG3M9TYx ega81HpaRbZmML6+opnKaUnr7661iBd+iyvSI8Bd1QxDT0g= X-Google-Smtp-Source: ABdhPJwyxeZYJOyDtnT79D4CXVjkq+vo5lsiJ1j4Xqx9Pb2LgUTAP/sDXMSulga9bJZ4U4cm4+L9n/2WYxFytCgMzRE= X-Received: by 2002:a05:651c:1049:: with SMTP id x9mr2663220ljm.467.1622123816239; Thu, 27 May 2021 06:56:56 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Fergus Dall Date: Thu, 27 May 2021 23:56:45 +1000 Message-ID: Subject: [PATCH v2 2/2] rtld: Add tests for new --no-default-paths option To: libc-alpha@sourceware.org Cc: chromeos-toolchain@google.com, clumptini , Mike Frysinger Content-Type: multipart/mixed; boundary="000000000000d9bb3c05c35021b9" X-Spam-Status: No, score=-19.0 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH, PYZOR_CHECK, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, USER_IN_DEF_DKIM_WL, USER_IN_DEF_SPF_WL autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2021 13:57:00 -0000 --000000000000d9bb3c05c35021b9 Content-Type: text/plain; charset="UTF-8" --000000000000d9bb3c05c35021b9 Content-Type: application/x-patch; name="v2-0002-rtld-Add-tests-for-new-no-default-paths-option.patch" Content-Disposition: attachment; filename="v2-0002-rtld-Add-tests-for-new-no-default-paths-option.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kp6ylsj00 RnJvbSBjMzI0ZTc5ODY0YzljM2Y3YmFmZDFkMjM5NmNhMzU2NDc2NzBhMzQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGZXJndXMgRGFsbCA8c2lkZXJlYWxAZ29vZ2xlLmNvbT4KRGF0 ZTogVGh1LCAyNyBNYXkgMjAyMSAyMzoyMDowMiArMTAwMApTdWJqZWN0OiBbUEFUQ0ggdjIgMi8y XSBydGxkOiBBZGQgdGVzdHMgZm9yIG5ldyAtLW5vLWRlZmF1bHQtcGF0aHMgb3B0aW9uClRvOiBs aWJjLWFscGhhQHNvdXJjZXdhcmUub3JnCkNjOiBjaHJvbWVvcy10b29sY2hhaW5AZ29vZ2xlLmNv bSwKICAgIGNsdW1wdGluaUBnb29nbGUuY29tLAogICAgdmFwaWVyQGdvb2dsZS5jb20KCi0tLQog ZWxmL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgIHwgMTUgKysrKy0KIGVsZi90c3Qtbm8t ZGVmYXVsdC1wYXRocy1kbGluZm8uYyB8IDk0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogZWxmL3RzdC1uby1kZWZhdWx0LXBhdGhzLWRsb3Blbi5jIHwgOTYgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogZWxmL3RzdC1uby1kZWZhdWx0LXBhdGhzLWhlbHBlci5jIHwgNzEg KysrKysrKysrKysrKysrKysrKysrKysKIHN1cHBvcnQvTWFrZWZpbGUgICAgICAgICAgICAgICAg ICB8ICAxICsKIHN1cHBvcnQvc3VwcG9ydC5oICAgICAgICAgICAgICAgICB8ICA0ICsrCiBzdXBw b3J0L3N1cHBvcnRfcGF0aHMuYyAgICAgICAgICAgfCAgNiArKwogNyBmaWxlcyBjaGFuZ2VkLCAy ODQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBlbGYv dHN0LW5vLWRlZmF1bHQtcGF0aHMtZGxpbmZvLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBlbGYvdHN0 LW5vLWRlZmF1bHQtcGF0aHMtZGxvcGVuLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBlbGYvdHN0LW5v LWRlZmF1bHQtcGF0aHMtaGVscGVyLmMKCmRpZmYgLS1naXQgYS9lbGYvTWFrZWZpbGUgYi9lbGYv TWFrZWZpbGUKaW5kZXggODM0ZWM4NThhOC4uZjgzZmJkN2E0YSAxMDA2NDQKLS0tIGEvZWxmL01h a2VmaWxlCisrKyBiL2VsZi9NYWtlZmlsZQpAQCAtMjIzLDcgKzIyMyw3IEBAIHRlc3RzICs9IHJl c3Rlc3QxIHByZWxvYWR0ZXN0IGxvYWRmYWlsIG11bHRpbG9hZCBvcmlndGVzdCByZXNvbHZmYWls IFwKIAkgdHN0LXNpbmdsZV90aHJlYWRlZCB0c3Qtc2luZ2xlX3RocmVhZGVkLXB0aHJlYWQgXAog CSB0c3QtdGxzLWllIHRzdC10bHMtaWUtZGxtb3BlbiBhcmd2MHRlc3QgXAogCSB0c3QtZ2xpYmMt aHdjYXBzIHRzdC1nbGliYy1od2NhcHMtcHJlcGVuZCB0c3QtZ2xpYmMtaHdjYXBzLW1hc2sgXAot CSB0c3QtdGxzMjAgdHN0LXRsczIxIHRzdC1kbG1vcGVuLWRsZXJyb3IKKwkgdHN0LXRsczIwIHRz dC10bHMyMSB0c3QtZGxtb3Blbi1kbGVycm9yIHRzdC1uby1kZWZhdWx0LXBhdGhzLWhlbHBlcgog IwkgcmVsZGVwOQogdGVzdHMtaW50ZXJuYWwgKz0gbG9hZHRlc3QgdW5sb2FkIHVubG9hZDIgY2ly Y2xlbG9hZDEgXAogCSBuZWVkZWR0ZXN0IG5lZWRlZHRlc3QyIG5lZWRlZHRlc3QzIG5lZWRlZHRl c3Q0IFwKQEAgLTIzMSw3ICsyMzEsOCBAQCB0ZXN0cy1pbnRlcm5hbCArPSBsb2FkdGVzdCB1bmxv YWQgdW5sb2FkMiBjaXJjbGVsb2FkMSBcCiAJIHRzdC1wdHJndWFyZDEgdHN0LXN0YWNrZ3VhcmQx IHRzdC1saWJjX2RsdnN5bSBcCiAJIHRzdC1jcmVhdGVfZm9ybWF0MSB0c3QtdGxzLXN1cnBsdXMg dHN0LWRsLWh3Y2Fwc19zcGxpdAogdGVzdHMtY29udGFpbmVyICs9IHRzdC1wbGRkIHRzdC1kbG9w ZW4tdGxzbW9kaWQtY29udGFpbmVyIFwKLSAgdHN0LWRsb3Blbi1zZWxmLWNvbnRhaW5lciB0c3Qt cHJlbG9hZC1wdGhyZWFkLWxpYmMKKyAgdHN0LWRsb3Blbi1zZWxmLWNvbnRhaW5lciB0c3QtcHJl bG9hZC1wdGhyZWFkLWxpYmMgXAorICB0c3Qtbm8tZGVmYXVsdC1wYXRocy1kbG9wZW4gdHN0LW5v LWRlZmF1bHQtcGF0aHMtZGxpbmZvCiB0ZXN0LXNyY3MgPSB0c3QtcGF0aG9wdAogc2VsaW51eC1l bmFibGVkIDo9ICQoc2hlbGwgY2F0IC9zZWxpbnV4L2VuZm9yY2UgMj4gL2Rldi9udWxsKQogaWZu ZXEgKCQoc2VsaW51eC1lbmFibGVkKSwxKQpAQCAtNDQwLDcgKzQ0MSw4IEBAIGlmZXEgKHllcywk KGJ1aWxkLXNoYXJlZCkpCiBpZmVxICgkKHJ1bi1idWlsdC10ZXN0cykseWVzKQogdGVzdHMtc3Bl Y2lhbCArPSAkKG9ianBmeCl0c3QtcGF0aG9wdC5vdXQgJChvYmpwZngpdHN0LXJ0bGQtbG9hZC1z ZWxmLm91dCBcCiAJCSAkKG9ianBmeCl0c3QtcnRsZC1wcmVsb2FkLm91dCAkKG9ianBmeClhcmd2 MHRlc3Qub3V0IFwKLQkJICQob2JqcGZ4KXRzdC1ydGxkLWhlbHAub3V0CisJCSAkKG9ianBmeCl0 c3QtcnRsZC1oZWxwLm91dCBcCisJCSAkKG9ianBmeCl0c3Qtbm8tZGVmYXVsdC1wYXRocy1oZWxw ZXIub3V0CiBlbmRpZgogdGVzdHMtc3BlY2lhbCArPSAkKG9ianBmeCljaGVjay10ZXh0cmVsLm91 dCAkKG9ianBmeCljaGVjay1leGVjc3RhY2sub3V0IFwKIAkJICQob2JqcGZ4KWNoZWNrLXd4LXNl Z21lbnQub3V0IFwKQEAgLTEzODksNiArMTM5MSwxMyBAQCAkKG9ianBmeCl0c3QtZGxvcGVuLXNl bGYtcGllOiAkKGxpYmRsKQogJChvYmpwZngpdHN0LWRsb3Blbi1zZWxmLWNvbnRhaW5lcjogJChs aWJkbCkKIExERkxBR1MtdHN0LWRsb3Blbi1zZWxmLWNvbnRhaW5lciArPSAtV2wsLXJwYXRoLFwk JE9SSUdJTgogCiskKG9ianBmeCl0c3Qtbm8tZGVmYXVsdC1wYXRocy1kbG9wZW4ub3V0OiAkKG9i anBmeCl0c3Qtbm8tZGVmYXVsdC1wYXRocy1oZWxwZXIKKyQob2JqcGZ4KXRzdC1uby1kZWZhdWx0 LXBhdGhzLWRsaW5mby5vdXQ6ICQob2JqcGZ4KXRzdC1uby1kZWZhdWx0LXBhdGhzLWhlbHBlcgor JChvYmpwZngpdHN0LW5vLWRlZmF1bHQtcGF0aHMtaGVscGVyLm91dDoKKwl0b3VjaCAkQAorCSQo ZXZhbHVhdGUtdGVzdCkKKyQob2JqcGZ4KXRzdC1uby1kZWZhdWx0LXBhdGhzLWhlbHBlcjogJChs aWJkbCkgJChvYmpwZngpdHN0LW5vLWRlZmF1bHQtcGF0aHMtaGVscGVyLm8KKwogQ0ZMQUdTLWlm dW5jbWFpbjFwaWMuYyArPSAkKHBpYy1jY2ZsYWcpCiBDRkxBR1MtaWZ1bmNtYWluMXBpY3N0YXRp Yy5jICs9ICQocGljLWNjZmxhZykKIENGTEFHUy1pZnVuY21haW4xc3RhdGljcGljLmMgKz0gJChw aWMtY2NmbGFnKQpkaWZmIC0tZ2l0IGEvZWxmL3RzdC1uby1kZWZhdWx0LXBhdGhzLWRsaW5mby5j IGIvZWxmL3RzdC1uby1kZWZhdWx0LXBhdGhzLWRsaW5mby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAuLmRiMDc1YWI4ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9lbGYvdHN0 LW5vLWRlZmF1bHQtcGF0aHMtZGxpbmZvLmMKQEAgLTAsMCArMSw5NCBAQAorLyogVGVzdCB0aGF0 IGRsaW5mbyByZXNwZWN0cyAtLW5vLWRlZmF1bHQtcGF0aHMKKyAgIENvcHlyaWdodCAoQykgMjAy MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IHRoZSBHTlUgQyBMaWJyYXJ5LgorCisgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgIG1vZGlmeSBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgdmVy c2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCisKKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgIExlc3Nl ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK KyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKKyAg IDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisjaW5jbHVkZSA8c3RyaW5n Lmg+CisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyNpbmNsdWRlIDxzdXBwb3J0L3N1cHBvcnQuaD4K KyNpbmNsdWRlIDxzdXBwb3J0L3N1YnByb2Nlc3MuaD4KKyNpbmNsdWRlIDxzdXBwb3J0L3h1bmlz dGQuaD4KKworY29uc3QgY2hhciBsaWJzX2RpcltdID0gIi90bXAvdHN0LW5vLWRlZmF1bHQtcGF0 aHMtZGxpbmZvIjsKK2NvbnN0IGNoYXIgZWxmX2RpcltdID0gIi9lbGYiOworY29uc3QgY2hhciBt YXJrZXJfbGliW10gPSAiL2xpYm1hcmtlcm1vZDEuc28iOworY29uc3QgY2hhciBsaWJjW10gPSAi L2xpYmMuc28uNiI7Citjb25zdCBjaGFyIGxpYmRsW10gPSAiL2xpYmRsLnNvLjIiOworY29uc3Qg Y2hhciBoZWxwZXJfcHJvZ3JhbVtdID0gIi90c3Qtbm8tZGVmYXVsdC1wYXRocy1oZWxwZXIiOwor CisvLyBMaW5rIHN5c3RlbSBsaWIgaW50byBsaWJzX2RpciBzbyB0aGUgY2hpbGQgcHJvY2VzcyBj YW4gYWNjZXNzIGl0CitzdGF0aWMgdm9pZAorbGlua19zeXN0ZW1fbGliX3RvX2RpciAoY29uc3Qg Y2hhciAqc3lzdGVtX2xpYikKK3sKKyAgY2hhciBsaWJfc3JjWzQwOTZdOworICBzdHJjcHkobGli X3NyYywgc3VwcG9ydF9zbGliZGlyX3ByZWZpeCk7CisgIHN0cmNhdChsaWJfc3JjLCBzeXN0ZW1f bGliKTsKKworICBjaGFyIGxpYl9kZXN0WzQwOTZdOworICBzdHJjcHkobGliX2Rlc3QsIGxpYnNf ZGlyKTsKKyAgc3RyY2F0KGxpYl9kZXN0LCBzeXN0ZW1fbGliKTsKKworICB1bmxpbmsobGliX2Rl c3QpOworICB4c3ltbGluayhsaWJfc3JjLCBsaWJfZGVzdCk7Cit9CisKKy8vIExpbmsgbGlibWFy a2VyIGludG8gbGlic19kaXIgYWxzbworc3RhdGljIHZvaWQKK2xpbmtfbGlibWFya2VyICh2b2lk KQoreworICBjaGFyIG1hcmtlcl9zcmNbNDA5Nl07CisgIHN0cmNweShtYXJrZXJfc3JjLCBzdXBw b3J0X29iamRpcl9yb290KTsKKyAgc3RyY2F0KG1hcmtlcl9zcmMsIGVsZl9kaXIpOworICBzdHJj YXQobWFya2VyX3NyYywgbWFya2VyX2xpYik7CisKKyAgY2hhciBtYXJrZXJfZGVzdFs0MDk2XTsK KyAgc3RyY3B5KG1hcmtlcl9kZXN0LCBsaWJzX2Rpcik7CisgIHN0cmNhdChtYXJrZXJfZGVzdCwg bWFya2VyX2xpYik7CisKKyAgdW5saW5rKG1hcmtlcl9kZXN0KTsKKyAgeHN5bWxpbmsobWFya2Vy X3NyYywgbWFya2VyX2Rlc3QpOworfQorCitzdGF0aWMgaW50Citkb190ZXN0ICh2b2lkKQorewor ICB4bWtkaXJwKGxpYnNfZGlyLCAwNzU1KTsKKworICBsaW5rX3N5c3RlbV9saWJfdG9fZGlyKGxp YmMpOworICBsaW5rX3N5c3RlbV9saWJfdG9fZGlyKGxpYmRsKTsKKyAgbGlua19saWJtYXJrZXIo KTsKKworICBjaGFyIGhlbHBlcl9wYXRoWzQwOTZdOworICBzdHJjcHkoaGVscGVyX3BhdGgsIHN1 cHBvcnRfb2JqZGlyX3Jvb3QpOworICBzdHJjYXQoaGVscGVyX3BhdGgsIGVsZl9kaXIpOworICBz dHJjYXQoaGVscGVyX3BhdGgsIGhlbHBlcl9wcm9ncmFtKTsKKworICBjaGFyICpjb25zdCBhcmd2 W10gPSB7CisgICAgc3RyZHVwKHN1cHBvcnRfY29udGFpbmVyX2VsZl9sZHNvX3BhdGgpLAorICAg IHN0cmR1cCgiLS1uby1kZWZhdWx0LXBhdGhzIiksCisgICAgc3RyZHVwKCItLWxpYnJhcnktcGF0 aCIpLAorICAgIHN0cmR1cChsaWJzX2RpciksCisgICAgaGVscGVyX3BhdGgsCisgICAgc3RyZHVw KCJkbGluZm8iKSwKKyAgICBOVUxMCisgIH07CisKKyAgaW50IHJldCA9IHN1cHBvcnRfc3VicHJv Z3JhbV93YWl0KGFyZ3ZbMF0sIGFyZ3YpOworCisgIHJldHVybiBXRVhJVFNUQVRVUyhyZXQpOwor fQorCisjaW5jbHVkZSA8c3VwcG9ydC90ZXN0LWRyaXZlci5jPgpkaWZmIC0tZ2l0IGEvZWxmL3Rz dC1uby1kZWZhdWx0LXBhdGhzLWRsb3Blbi5jIGIvZWxmL3RzdC1uby1kZWZhdWx0LXBhdGhzLWRs b3Blbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmFjZjJhNDhjMDcK LS0tIC9kZXYvbnVsbAorKysgYi9lbGYvdHN0LW5vLWRlZmF1bHQtcGF0aHMtZGxvcGVuLmMKQEAg LTAsMCArMSw5NiBAQAorLyogVGVzdCB0aGF0IC0tbm8tZGVmYXVsdC1wYXRocyBkb2Vzbid0IHNl YXJjaCBzeXN0ZW0gZGlycworICAgQ29weXJpZ2h0IChDKSAyMDIxIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnku CisKKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgorICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGlj ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhlIEdO VSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgTGljZW5zZSBhbG9uZyB3 aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3QsIHNlZQorICAgPGh0dHBzOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4gICovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMv d2FpdC5oPgorI2luY2x1ZGUgPHN1cHBvcnQvc3VwcG9ydC5oPgorI2luY2x1ZGUgPHN1cHBvcnQv c3VicHJvY2Vzcy5oPgorI2luY2x1ZGUgPHN1cHBvcnQveHVuaXN0ZC5oPgorCitjb25zdCBjaGFy IGxpYnNfZGlyW10gPSAiL3RtcC90c3Qtbm8tZGVmYXVsdC1wYXRocy1kbG9wZW4iOworY29uc3Qg Y2hhciBlbGZfZGlyW10gPSAiL2VsZiI7Citjb25zdCBjaGFyIG1hcmtlcl9saWJbXSA9ICIvbGli bWFya2VybW9kMS5zbyI7Citjb25zdCBjaGFyIGxpYmNbXSA9ICIvbGliYy5zby42IjsKK2NvbnN0 IGNoYXIgbGliZGxbXSA9ICIvbGliZGwuc28uMiI7Citjb25zdCBjaGFyIGhlbHBlcl9wcm9ncmFt W10gPSAiL3RzdC1uby1kZWZhdWx0LXBhdGhzLWhlbHBlciI7CisKKy8vIExpbmsgc3lzdGVtIGxp YiBpbnRvIGxpYnNfZGlyIHNvIHRoZSBjaGlsZCBwcm9jZXNzIGNhbiBhY2Nlc3MgaXQKK3N0YXRp YyB2b2lkCitsaW5rX3N5c3RlbV9saWJfdG9fZGlyIChjb25zdCBjaGFyICpzeXN0ZW1fbGliKQor eworICBjaGFyIGxpYl9zcmNbNDA5Nl07CisgIHN0cmNweShsaWJfc3JjLCBzdXBwb3J0X3NsaWJk aXJfcHJlZml4KTsKKyAgc3RyY2F0KGxpYl9zcmMsIHN5c3RlbV9saWIpOworCisgIGNoYXIgbGli X2Rlc3RbNDA5Nl07CisgIHN0cmNweShsaWJfZGVzdCwgbGlic19kaXIpOworICBzdHJjYXQobGli X2Rlc3QsIHN5c3RlbV9saWIpOworCisgIHVubGluayhsaWJfZGVzdCk7CisgIHhzeW1saW5rKGxp Yl9zcmMsIGxpYl9kZXN0KTsKK30KKworLy8gTGluayBsaWJtYXJrZXIgaW50byB0aGUgc3lzdGVt IGxpYnMgZGlyZWN0b3J5LCB3aGVyZSB0aGUgY2hpbGQgc2hvdWxkICpub3QqCisvLyBiZSBhYmxl IHRvIGZpbmQgaXQuCitzdGF0aWMgdm9pZAorbGlua19saWJtYXJrZXIgKHZvaWQpCit7CisgIGNo YXIgbWFya2VyX3NyY1s0MDk2XTsKKyAgc3RyY3B5KG1hcmtlcl9zcmMsIHN1cHBvcnRfb2JqZGly X3Jvb3QpOworICBzdHJjYXQobWFya2VyX3NyYywgZWxmX2Rpcik7CisgIHN0cmNhdChtYXJrZXJf c3JjLCBtYXJrZXJfbGliKTsKKworICBjaGFyIG1hcmtlcl9kZXN0WzQwOTZdOworICBzdHJjcHko bWFya2VyX2Rlc3QsIHN1cHBvcnRfaW5zdGFsbF9wcmVmaXgpOworICBzdHJjYXQobWFya2VyX2Rl c3QsIHN1cHBvcnRfc2xpYmRpcl9wcmVmaXgpOworICBzdHJjYXQobWFya2VyX2Rlc3QsIG1hcmtl cl9saWIpOworCisgIHVubGluayhtYXJrZXJfZGVzdCk7CisgIHhzeW1saW5rKG1hcmtlcl9zcmMs IG1hcmtlcl9kZXN0KTsKK30KKworc3RhdGljIGludAorZG9fdGVzdCAodm9pZCkKK3sKKyAgeG1r ZGlycChsaWJzX2RpciwgMDc1NSk7CisKKyAgbGlua19zeXN0ZW1fbGliX3RvX2RpcihsaWJjKTsK KyAgbGlua19zeXN0ZW1fbGliX3RvX2RpcihsaWJkbCk7CisgIGxpbmtfbGlibWFya2VyKCk7CisK KyAgY2hhciBoZWxwZXJfcGF0aFs0MDk2XTsKKyAgc3RyY3B5KGhlbHBlcl9wYXRoLCBzdXBwb3J0 X29iamRpcl9yb290KTsKKyAgc3RyY2F0KGhlbHBlcl9wYXRoLCBlbGZfZGlyKTsKKyAgc3RyY2F0 KGhlbHBlcl9wYXRoLCBoZWxwZXJfcHJvZ3JhbSk7CisKKyAgY2hhciAqY29uc3QgYXJndltdID0g eworICAgIHN0cmR1cChzdXBwb3J0X2NvbnRhaW5lcl9lbGZfbGRzb19wYXRoKSwKKyAgICBzdHJk dXAoIi0tbm8tZGVmYXVsdC1wYXRocyIpLAorICAgIHN0cmR1cCgiLS1saWJyYXJ5LXBhdGgiKSwK KyAgICBzdHJkdXAobGlic19kaXIpLAorICAgIGhlbHBlcl9wYXRoLAorICAgIHN0cmR1cCgiZGxv cGVuIiksCisgICAgTlVMTAorICB9OworCisgIGludCByZXQgPSBzdXBwb3J0X3N1YnByb2dyYW1f d2FpdChhcmd2WzBdLCBhcmd2KTsKKworICByZXR1cm4gV0VYSVRTVEFUVVMocmV0KTsKK30KKwor I2luY2x1ZGUgPHN1cHBvcnQvdGVzdC1kcml2ZXIuYz4KZGlmZiAtLWdpdCBhL2VsZi90c3Qtbm8t ZGVmYXVsdC1wYXRocy1oZWxwZXIuYyBiL2VsZi90c3Qtbm8tZGVmYXVsdC1wYXRocy1oZWxwZXIu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5mMWQzOTBmZGZmCi0tLSAv ZGV2L251bGwKKysrIGIvZWxmL3RzdC1uby1kZWZhdWx0LXBhdGhzLWhlbHBlci5jCkBAIC0wLDAg KzEsNzEgQEAKKy8qIEhlbHBlciBmb3IgLS1uby1kZWZhdWx0LXBhdGhzIHRlc3RzCisgICBDb3B5 cmlnaHQgKEMpIDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBUaGlzIGZp bGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4KKworICAgVGhlIEdOVSBDIExpYnJhcnkg aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICBtb2Rp ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisg ICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIKKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg R05VCisgICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor CisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljCisgICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIEdOVSBDIExpYnJhcnk7IGlm IG5vdCwgc2VlCisgICA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworI2lu Y2x1ZGUgPGFycmF5X2xlbmd0aC5oPgorI2luY2x1ZGUgPGRsZmNuLmg+CisjaW5jbHVkZSA8c3Ry aW5nLmg+CisjaW5jbHVkZSA8c3VwcG9ydC9jaGVjay5oPgorI2luY2x1ZGUgPHN1cHBvcnQvc3Vw cG9ydC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisKK2NvbnN0IGNoYXIgbWFya2VyX2xpYltdID0g ImxpYm1hcmtlcm1vZDEuc28iOworY29uc3QgY2hhciB1c2FnZVtdID0gIkNhbGwgdGhpcyBhcyBc ImhlbHBlciBkbG9wZW5cIiBvciBcImhlbHBlciBkbGluZm9cIlxuIjsKKworaW50IG1haW4oaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgeworICBpZiAoYXJnYyA8IDIpIHsKKyAgICBGQUlMX0VYSVQx KHVzYWdlKTsKKyAgfQorCisgIGludCBtb2RlOworICBpZiAoc3RyY21wKGFyZ3ZbMV0sICJkbG9w ZW4iKSA9PSAwKSB7CisgICAgbW9kZSA9IDA7CisgIH0gZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0s ICJkbGluZm8iKSA9PSAwKSB7CisgICAgbW9kZSA9IDE7CisgIH0gZWxzZSB7CisgICAgRkFJTF9F WElUMSh1c2FnZSk7CisgIH0KKworICB2b2lkICpoYW5kbGUgPSBkbG9wZW4oImxpYm1hcmtlcm1v ZDEuc28iLCBSVExEX0xBWlkpOworICBpZiAoaGFuZGxlID09IE5VTEwpIHsKKyAgICBpZiAobW9k ZSkgeworICAgICAgRkFJTF9FWElUMSgiRmFpbGVkIHRvIGxvYWQgbGlibWFya2VybW9kMS5zb1xu Iik7CisgICAgfQorICAgIHJldHVybiAwOworICB9IGVsc2UgaWYgKGhhbmRsZSAmJiBtb2RlID09 IDApIHsKKyAgICBGQUlMX0VYSVQxKCJMb2FkZWQgbGlibWFya2VybW9kMS5zbyBzdWNjZXNzZnVs bHkhXG4iKTsKKyAgfQorCisgIERsX3NlcmluZm8gKmJ1ZmZlciA9IHhtYWxsb2Moc2l6ZW9mKCpi dWZmZXIpKTsKKyAgaWYgKGRsaW5mbyhoYW5kbGUsIFJUTERfRElfU0VSSU5GT1NJWkUsIGJ1ZmZl cikpIHsKKyAgICBGQUlMX0VYSVQxKCJkbGluZm8gZmFpbGVkOiAlc1xuIiwgZGxlcnJvcigpKTsK KyAgfQorCisgIGJ1ZmZlciA9IHhyZWFsbG9jKGJ1ZmZlciwgYnVmZmVyLT5kbHNfc2l6ZSk7Cisg IGlmIChkbGluZm8oaGFuZGxlLCBSVExEX0RJX1NFUklORk8sIGJ1ZmZlcikpIHsKKyAgICBGQUlM X0VYSVQxKCJkbGluZm8gZmFpbGVkOiAlc1xuIiwgZGxlcnJvcigpKTsKKyAgfQorCisgIC8vIENo ZWNraW5nIGlmIHR3byBwYXRocyBhcmUgZXF1YWwgaXMgdHJpY2t5LCBzbyBqdXN0IGNoZWNrIHRo YXQgdGhlcmUncworICAvLyBleGFjdGx5IG9uZSBhbmQgdGhhdCBpdCBzdGFydHMgd2l0aCAvdG1w LCB3aGljaCBzaG91bGQgYmUgc3VmZmljaWVudCB0bworICAvLyBwcm92ZSB0aGF0IHRoZSBzeXN0 ZW0gcGF0aHMgaGF2ZSBiZWVuIGV4Y2x1ZGVkLgorICBURVNUX1ZFUklGWV9FWElUKGJ1ZmZlci0+ ZGxzX2NudCA9PSAxKTsKKyAgY29uc3QgY2hhciAqbmFtZSA9IGJ1ZmZlci0+ZGxzX3NlcnBhdGhb MF0uZGxzX25hbWU7CisgIFRFU1RfVkVSSUZZX0VYSVQoc3Ryc3RyKG5hbWUsICIvdG1wIikgPT0g bmFtZSk7CisKKyAgcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9zdXBwb3J0L01ha2VmaWxlIGIv c3VwcG9ydC9NYWtlZmlsZQppbmRleCBkYTZkYzU4ZDM3Li5kODM5OWQzMzk5IDEwMDY0NAotLS0g YS9zdXBwb3J0L01ha2VmaWxlCisrKyBiL3N1cHBvcnQvTWFrZWZpbGUKQEAgLTIwMSw2ICsyMDEs NyBAQCBDRkxBR1Mtc3VwcG9ydF9wYXRocy5jID0gXAogCQktRFNSQ0RJUl9QQVRIPVwiYGNkIC4u IDsgcHdkYFwiIFwKIAkJLURPQkpESVJfUEFUSD1cImBjZCAkKG9ianBmeCkvLi47IHB3ZGBcIiBc CiAJCS1ET0JKRElSX0VMRl9MRFNPX1BBVEg9XCJgY2QgJChvYmpwZngpLy4uOyBwd2RgL2VsZi8k KHJ0bGQtaW5zdGFsbGVkLW5hbWUpXCIgXAorCQktRENPTlRBSU5FUl9FTEZfTERTT19QQVRIPVwi JChydGxkZGlyKS8kKHJ0bGQtaW5zdGFsbGVkLW5hbWUpXCIgXAogCQktRElOU1RESVJfUEFUSD1c IiQocHJlZml4KVwiIFwKIAkJLURMSUJESVJfUEFUSD1cIiQobGliZGlyKVwiIFwKIAkJLURCSU5E SVJfUEFUSD1cIiQoYmluZGlyKVwiIFwKZGlmZiAtLWdpdCBhL3N1cHBvcnQvc3VwcG9ydC5oIGIv c3VwcG9ydC9zdXBwb3J0LmgKaW5kZXggZGIyNjRlM2RiNy4uYzA2MTMwYWViYyAxMDA2NDQKLS0t IGEvc3VwcG9ydC9zdXBwb3J0LmgKKysrIGIvc3VwcG9ydC9zdXBwb3J0LmgKQEAgLTEwNyw2ICsx MDcsMTAgQEAgZXh0ZXJuIGNvbnN0IGNoYXIgc3VwcG9ydF9vYmpkaXJfcm9vdFtdOwogICAgZS5n LiBPQkpESVJfUEFUSC9lbGYvbGQtbGludXgteDg2LTY0LnNvLjIgICovCiBleHRlcm4gY29uc3Qg Y2hhciBzdXBwb3J0X29iamRpcl9lbGZfbGRzb1tdOwogCisvKiBDb3JyZXNwb25kcyB0byB0aGUg cGF0aCB0byB0aGUgcnVudGltZSBsaW5rZXIgZm9yIGNvbnRhaW5lcmlzZWQgdGVzdHMsCisgICBl LmcuIC9saWI2NC9sZC1saW51eC14ODYtNjQuc28uMiAgKi8KK2V4dGVybiBjb25zdCBjaGFyIHN1 cHBvcnRfY29udGFpbmVyX2VsZl9sZHNvX3BhdGhbXTsKKwogLyogQ29ycmVzcG9uZHMgdG8gdGhl IC0tcHJlZml4PSBwYXNzZWQgdG8gY29uZmlndXJlLiAgKi8KIGV4dGVybiBjb25zdCBjaGFyIHN1 cHBvcnRfaW5zdGFsbF9wcmVmaXhbXTsKIC8qIENvcnJlc3BvbmRzIHRvIHRoZSBpbnN0YWxsJ3Mg bGliLyBvciBsaWI2NC8gZGlyZWN0b3J5LiAgKi8KZGlmZiAtLWdpdCBhL3N1cHBvcnQvc3VwcG9y dF9wYXRocy5jIGIvc3VwcG9ydC9zdXBwb3J0X3BhdGhzLmMKaW5kZXggZDE4ZTcxZTM4Yi4uNGEx NGQ0ZTc4ZSAxMDA2NDQKLS0tIGEvc3VwcG9ydC9zdXBwb3J0X3BhdGhzLmMKKysrIGIvc3VwcG9y dC9zdXBwb3J0X3BhdGhzLmMKQEAgLTQ0LDYgKzQ0LDEyIEBAIGNvbnN0IGNoYXIgc3VwcG9ydF9v YmpkaXJfZWxmX2xkc29bXSA9IE9CSkRJUl9FTEZfTERTT19QQVRIOwogIyBlcnJvciBwbGVhc2Ug LURPQkpESVJfRUxGX0xEU09fUEFUSD1zb21ldGhpbmcgaW4gdGhlIE1ha2VmaWxlCiAjZW5kaWYK IAorI2lmZGVmIENPTlRBSU5FUl9FTEZfTERTT19QQVRICitjb25zdCBjaGFyIHN1cHBvcnRfY29u dGFpbmVyX2VsZl9sZHNvX3BhdGhbXSA9IENPTlRBSU5FUl9FTEZfTERTT19QQVRIOworI2Vsc2UK KyMgZXJyb3IgcGxlYXNlIC1EQ09OVEFJTkVSX0VMRl9MRFNPX1BBVEg9c29tZXRoaW5nIGluIHRo ZSBNYWtlZmlsZQorI2VuZGlmCisKICNpZmRlZiBJTlNURElSX1BBVEgKIC8qIENvcnJlc3BvbmRz IHRvIHRoZSAtLXByZWZpeD0gcGFzc2VkIHRvIGNvbmZpZ3VyZS4gICovCiBjb25zdCBjaGFyIHN1 cHBvcnRfaW5zdGFsbF9wcmVmaXhbXSA9IElOU1RESVJfUEFUSDsKLS0gCjIuMzEuMS44MTguZzQ2 YWFkNmNiOWUtZ29vZwoK --000000000000d9bb3c05c35021b9--