From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/10175 Path: news.gmane.org!not-for-mail From: Lei Zhang via cfe-commits Newsgroups: gmane.comp.compilers.clang.scm,gmane.linux.lib.musl.general,gmane.comp.compilers.llvm.cvs Subject: Re: [gentoo-musl] Re: Add support for musl-libc on Linux Date: Tue, 21 Jun 2016 21:36:06 +0800 Message-ID: References: <20160612190745.GA21691@britannica.bec.de> <20160613132155.GA31934@nyan> Reply-To: Lei Zhang NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=94eb2c11e7ca4d8bc30535c9e7c3 X-Trace: ger.gmane.org 1466516181 5890 80.91.229.3 (21 Jun 2016 13:36:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 21 Jun 2016 13:36:21 +0000 (UTC) Cc: gentoo-musl-cnFmAm88PdgLnqt3yJz4RQ@public.gmane.org, musl-ZwoEplunGu1jrUoiu81ncdBPR1lH4CV8@public.gmane.org, llvm-commits , cfe-commits cfe To: =?UTF-8?Q?Rafael_Esp=C3=ADndola?= Original-X-From: cfe-commits-bounces-NBbBogny7ofFcdTEL8lfRQ@public.gmane.org Tue Jun 21 15:36:13 2016 Return-path: Envelope-to: gcccs-cfe-commits-Uylq5CNFT+jYtjvyW6yDsg@public.gmane.org Original-Received: from lists.llvm.org ([54.67.122.174]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bFLqe-0005OC-88 for gcccs-cfe-commits-Uylq5CNFT+jYtjvyW6yDsg@public.gmane.org; Tue, 21 Jun 2016 15:36:12 +0200 Original-Received: from ip-172-31-13-177.us-west-1.compute.internal (localhost [127.0.0.1]) by lists.llvm.org (Postfix) with ESMTP id 4210D81EBB; Tue, 21 Jun 2016 06:32:35 -0700 (PDT) Original-Received: from mail-ob0-f194.google.com (mail-ob0-f194.google.com [209.85.214.194]) by lists.llvm.org (Postfix) with ESMTP id 5B88081716; Tue, 21 Jun 2016 06:32:33 -0700 (PDT) Original-Received: by mail-ob0-f194.google.com with SMTP id s7so2772832obo.1; Tue, 21 Jun 2016 06:36:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=MYkaGoCaLbiwr4kRWlpZeKrqhOtEtwl/HWZXVIdijEs=; b=0CL7NzT1eTaPFF4/BIFz/0Zb+EMFMS/06Ajz0XwjPh+29+4OP08I6SkDTtBnQ/XckN A4fzbCoj49cb5n69sTmMJAk0/IiWcH3SOjU5vKw4usTcxdUUjYy12Q8Tj2kKAn1Pku/w pcaqj1HVrd0TkTbkwGKJKajvMj8VMUd4nCq2ZwTwasNIJVvATJSVcv1QaAUK3/zJobi7 bE5jT8kJljbtO9W10am9rhawDvfGEp0wphJHamCNNI9IbkqsWeWBC6t6DYucnj6BEmDy JM/QFvIG+DIpQzzdNWnfte529uuolIvFIcMpst5qcwHG7kbyzGqrye6Bp+3qjvZI/a1F mChA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=MYkaGoCaLbiwr4kRWlpZeKrqhOtEtwl/HWZXVIdijEs=; b=kPUpIbGSxyrPBizq33vfjpFu2+xfG+j4CjmYaBPro3bWTd5YotLV/v1mJUTLQ538mv jPVJFd9cRs2XQ8pa270XAVCzzHQ1zS2BOvipRgAEzCqtr7zG2dL8ke3te04F8OKnxxg5 Y9p0HUppxwi+zV2TvpZew/6VBK3mSDuqaKICddt8a2MxnL3Sz0RxbXLoPuLyijRJ+nD/ wKRqudafWyLj6O1vIc/Vf8fKhMoTHqZlwEIF227hb3hjnSRnVgBzZIdRHTUTK6ghWXR/ HvZPpCOvUeYAejTSF8UrlWYzOKBlaDqsNdnNN2bpp9V5ZLaGQy0NqQb1+1aur121kwd7 dxgA== X-Gm-Message-State: ALyK8tI1ePRTr0mnn9jUWH8JFC9o2Tvtc4TK64Wc3TT9QeCyPIkZvXj4GpBHzakq4a75IYy1ZnpnrgL3YBfZjA== X-Received: by 10.157.12.72 with SMTP id 66mr15414039otr.192.1466516168860; Tue, 21 Jun 2016 06:36:08 -0700 (PDT) Original-Received: by 10.202.63.212 with HTTP; Tue, 21 Jun 2016 06:36:06 -0700 (PDT) In-Reply-To: X-BeenThere: cfe-commits-NBbBogny7ofFcdTEL8lfRQ@public.gmane.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Commit List For LLVM's C Front End List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: cfe-commits-bounces-NBbBogny7ofFcdTEL8lfRQ@public.gmane.org Original-Sender: "cfe-commits" Xref: news.gmane.org gmane.comp.compilers.clang.scm:155950 gmane.linux.lib.musl.general:10175 gmane.comp.compilers.llvm.cvs:337466 Archived-At: --94eb2c11e7ca4d8bc30535c9e7c3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 2016-06-20 19:05 GMT+08:00 Lei Zhang : > 2016-06-18 8:52 GMT+08:00 Rafael Esp=C3=ADndola : >> There are probably a few more places that need to be patched. >> >> In particular, take a look at lib/Target/ARM. There are things like >> computeTargetABI and isTargetHardFloat that probably need to be >> updated (and tested). > > Any hints how to test the new changes? I guess merely checking clang's > output like the previous test cases won't suffice this time. Here're the refined patches. Please let me know if the test cases aren't complete. Thanks, Lei --94eb2c11e7ca4d8bc30535c9e7c3 Content-Type: application/octet-stream; name="clang-musl-arm-v2.patch" Content-Disposition: attachment; filename="clang-musl-arm-v2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ipphtuj70 SW5kZXg6IGxpYi9CYXNpYy9UYXJnZXRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaWIvQmFzaWMvVGFy Z2V0cy5jcHAJKHJldmlzaW9uIDI3MzI1OCkKKysrIGxpYi9CYXNpYy9UYXJnZXRzLmNwcAkod29y a2luZyBjb3B5KQpAQCAtNDg3Niw2ICs0ODc2LDggQEAKICAgICAgIGNhc2UgbGx2bTo6VHJpcGxl OjpBbmRyb2lkOgogICAgICAgY2FzZSBsbHZtOjpUcmlwbGU6OkdOVUVBQkk6CiAgICAgICBjYXNl IGxsdm06OlRyaXBsZTo6R05VRUFCSUhGOgorICAgICAgY2FzZSBsbHZtOjpUcmlwbGU6Ok11c2xF QUJJOgorICAgICAgY2FzZSBsbHZtOjpUcmlwbGU6Ok11c2xFQUJJSEY6CiAgICAgICAgIHNldEFC SSgiYWFwY3MtbGludXgiKTsKICAgICAgICAgYnJlYWs7CiAgICAgICBjYXNlIGxsdm06OlRyaXBs ZTo6RUFCSUhGOgpJbmRleDogbGliL0NvZGVHZW4vVGFyZ2V0SW5mby5jcHAKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gbGliL0NvZGVHZW4vVGFyZ2V0SW5mby5jcHAJKHJldmlzaW9uIDI3MzI1OCkKKysrIGxpYi9D b2RlR2VuL1RhcmdldEluZm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTYyLDYgKzQ5NjIsOCBA QAogICAgIGNhc2UgbGx2bTo6VHJpcGxlOjpFQUJJSEY6CiAgICAgY2FzZSBsbHZtOjpUcmlwbGU6 OkdOVUVBQkk6CiAgICAgY2FzZSBsbHZtOjpUcmlwbGU6OkdOVUVBQklIRjoKKyAgICBjYXNlIGxs dm06OlRyaXBsZTo6TXVzbEVBQkk6CisgICAgY2FzZSBsbHZtOjpUcmlwbGU6Ok11c2xFQUJJSEY6 CiAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBkZWZhdWx0OgogICAgICAgcmV0dXJuIGZhbHNlOwpA QCAtNDk3Miw2ICs0OTc0LDcgQEAKICAgICBzd2l0Y2ggKGdldFRhcmdldCgpLmdldFRyaXBsZSgp LmdldEVudmlyb25tZW50KCkpIHsKICAgICBjYXNlIGxsdm06OlRyaXBsZTo6RUFCSUhGOgogICAg IGNhc2UgbGx2bTo6VHJpcGxlOjpHTlVFQUJJSEY6CisgICAgY2FzZSBsbHZtOjpUcmlwbGU6Ok11 c2xFQUJJSEY6CiAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBkZWZhdWx0OgogICAgICAgcmV0dXJu IGZhbHNlOwpAQCAtNzkyMiw2ICs3OTI1LDcgQEAKICAgICBlbHNlIGlmIChDb2RlR2VuT3B0cy5G bG9hdEFCSSA9PSAiaGFyZCIgfHwKICAgICAgICAgICAgICAoQ29kZUdlbk9wdHMuRmxvYXRBQkkg IT0gInNvZnQiICYmCiAgICAgICAgICAgICAgIChUcmlwbGUuZ2V0RW52aXJvbm1lbnQoKSA9PSBs bHZtOjpUcmlwbGU6OkdOVUVBQklIRiB8fAorICAgICAgICAgICAgICAgVHJpcGxlLmdldEVudmly b25tZW50KCkgPT0gbGx2bTo6VHJpcGxlOjpNdXNsRUFCSUhGIHx8CiAgICAgICAgICAgICAgICBU cmlwbGUuZ2V0RW52aXJvbm1lbnQoKSA9PSBsbHZtOjpUcmlwbGU6OkVBQklIRikpKQogICAgICAg S2luZCA9IEFSTUFCSUluZm86OkFBUENTX1ZGUDsKIApJbmRleDogbGliL0RyaXZlci9Ub29sQ2hh aW5zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBsaWIvRHJpdmVyL1Rvb2xDaGFpbnMuY3BwCShyZXZpc2lv biAyNzMyNTgpCisrKyBsaWIvRHJpdmVyL1Rvb2xDaGFpbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBA IC00MTYxLDkgKzQxNjEsMjQgQEAKIAogICBpZiAoVHJpcGxlLmlzQW5kcm9pZCgpKQogICAgIHJl dHVybiBUcmlwbGUuaXNBcmNoNjRCaXQoKSA/ICIvc3lzdGVtL2Jpbi9saW5rZXI2NCIgOiAiL3N5 c3RlbS9iaW4vbGlua2VyIjsKLSAgZWxzZSBpZiAoVHJpcGxlLmdldEVudmlyb25tZW50KCkgPT0g bGx2bTo6VHJpcGxlOjpNdXNsKQotICAgIHJldHVybiAiL2xpYi9sZC1tdXNsLSIgKyBUcmlwbGUu Z2V0QXJjaE5hbWUoKS5zdHIoKSArICIuc28uMSI7CisgIGVsc2UgaWYgKFRyaXBsZS5pc011c2wo KSkgeworICAgIHN0ZDo6c3RyaW5nIEFyY2hOYW1lOworICAgIHN3aXRjaCAoQXJjaCkgeworICAg IGNhc2UgbGx2bTo6VHJpcGxlOjp0aHVtYjoKKyAgICAgIEFyY2hOYW1lID0gImFybSI7CisgICAg ICBicmVhazsKKyAgICBjYXNlIGxsdm06OlRyaXBsZTo6dGh1bWJlYjoKKyAgICAgIEFyY2hOYW1l ID0gImFybWViIjsKKyAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICBBcmNoTmFtZSA9 IFRyaXBsZS5nZXRBcmNoTmFtZSgpLnN0cigpOworICAgIH0KKyAgICBpZiAoVHJpcGxlLmdldEVu dmlyb25tZW50KCkgPT0gbGx2bTo6VHJpcGxlOjpNdXNsRUFCSUhGKQorICAgICAgQXJjaE5hbWUg Kz0gImhmIjsKIAorICAgIHJldHVybiAiL2xpYi9sZC1tdXNsLSIgKyBBcmNoTmFtZSArICIuc28u MSI7CisgIH0KKwogICBzdGQ6OnN0cmluZyBMaWJEaXI7CiAgIHN0ZDo6c3RyaW5nIExvYWRlcjsK IApJbmRleDogbGliL0RyaXZlci9Ub29scy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGliL0RyaXZlci9U b29scy5jcHAJKHJldmlzaW9uIDI3MzI1OCkKKysrIGxpYi9Ecml2ZXIvVG9vbHMuY3BwCSh3b3Jr aW5nIGNvcHkpCkBAIC04MDMsMTAgKzgwMywxMiBAQAogICAgIGRlZmF1bHQ6CiAgICAgICBzd2l0 Y2ggKFRyaXBsZS5nZXRFbnZpcm9ubWVudCgpKSB7CiAgICAgICBjYXNlIGxsdm06OlRyaXBsZTo6 R05VRUFCSUhGOgorICAgICAgY2FzZSBsbHZtOjpUcmlwbGU6Ok11c2xFQUJJSEY6CiAgICAgICBj YXNlIGxsdm06OlRyaXBsZTo6RUFCSUhGOgogICAgICAgICBBQkkgPSBGbG9hdEFCSTo6SGFyZDsK ICAgICAgICAgYnJlYWs7CiAgICAgICBjYXNlIGxsdm06OlRyaXBsZTo6R05VRUFCSToKKyAgICAg IGNhc2UgbGx2bTo6VHJpcGxlOjpNdXNsRUFCSToKICAgICAgIGNhc2UgbGx2bTo6VHJpcGxlOjpF QUJJOgogICAgICAgICAvLyBFQUJJIGlzIGFsd2F5cyBBQVBDUywgYW5kIGlmIGl0IHdhcyBub3Qg bWFya2VkICdoYXJkJywgaXQncyBzb2Z0ZnAKICAgICAgICAgQUJJID0gRmxvYXRBQkk6OlNvZnRG UDsKQEAgLTEwNTIsNiArMTA1NCw4IEBACiAgICAgY2FzZSBsbHZtOjpUcmlwbGU6OkFuZHJvaWQ6 CiAgICAgY2FzZSBsbHZtOjpUcmlwbGU6OkdOVUVBQkk6CiAgICAgY2FzZSBsbHZtOjpUcmlwbGU6 OkdOVUVBQklIRjoKKyAgICBjYXNlIGxsdm06OlRyaXBsZTo6TXVzbEVBQkk6CisgICAgY2FzZSBs bHZtOjpUcmlwbGU6Ok11c2xFQUJJSEY6CiAgICAgICBBQklOYW1lID0gImFhcGNzLWxpbnV4IjsK ICAgICAgIGJyZWFrOwogICAgIGNhc2UgbGx2bTo6VHJpcGxlOjpFQUJJSEY6CkluZGV4OiB0ZXN0 L0NvZGVHZW4vYXJtLWVhYmkuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0ZXN0L0NvZGVHZW4vYXJtLWVhYmku YwkocmV2aXNpb24gMjczMjU4KQorKysgdGVzdC9Db2RlR2VuL2FybS1lYWJpLmMJKHdvcmtpbmcg Y29weSkKQEAgLTcsNiArNywxNCBAQAogLy8gUlVOOiAlY2xhbmcgLXRhcmdldCBhcm0tbm9uZS1n bnVlYWJpIC1TIC1tZWFiaSA1IC1vIC0gJXMgfCBGaWxlQ2hlY2sgLWNoZWNrLXByZWZpeD1DSEVD Sy1FQUJJICVzCiAvLyBSVU46ICVjbGFuZyAtdGFyZ2V0IGFybS1ub25lLWdudWVhYmloZiAtUyAt byAtICVzIHwgRmlsZUNoZWNrIC1jaGVjay1wcmVmaXg9Q0hFQ0stR05VRUFCSSAlcwogLy8gUlVO OiAlY2xhbmcgLXRhcmdldCBhcm0tbm9uZS1nbnVlYWJpaGYgLVMgLW1lYWJpIDUgLW8gLSAlcyB8 IEZpbGVDaGVjayAtY2hlY2stcHJlZml4PUNIRUNLLUVBQkkgJXMKKy8vIFJVTjogJWNsYW5nIC10 YXJnZXQgYXJtLW5vbmUtbXVzbGVhYmkgLVMgLW8gLSAlcyBcCisvLyBSVU46ICAgfCBGaWxlQ2hl Y2sgLWNoZWNrLXByZWZpeD1DSEVDSy1HTlVFQUJJICVzCisvLyBSVU46ICVjbGFuZyAtdGFyZ2V0 IGFybS1ub25lLW11c2xlYWJpIC1TIC1vIC0gJXMgLW1lYWJpIDUgXAorLy8gUlVOOiAgIHwgRmls ZUNoZWNrIC1jaGVjay1wcmVmaXg9Q0hFQ0stRUFCSSAlcworLy8gUlVOOiAlY2xhbmcgLXRhcmdl dCBhcm0tbm9uZS1tdXNsZWFiaWhmIC1TIC1vIC0gJXMgXAorLy8gUlVOOiAgIHwgRmlsZUNoZWNr IC1jaGVjay1wcmVmaXg9Q0hFQ0stR05VRUFCSSAlcworLy8gUlVOOiAlY2xhbmcgLXRhcmdldCBh cm0tbm9uZS1tdXNsZWFiaWhmIC1TIC1vIC0gJXMgLW1lYWJpIDUgXAorLy8gUlVOOiAgIHwgRmls ZUNoZWNrIC1jaGVjay1wcmVmaXg9Q0hFQ0stRUFCSSAlcwogCiBzdHJ1Y3QgbXlfcyB7CiAgIHVu c2lnbmVkIGxvbmcgYVsxOF07CkluZGV4OiB0ZXN0L0RyaXZlci9hcm0tYWJpLmMKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gdGVzdC9Ecml2ZXIvYXJtLWFiaS5jCShyZXZpc2lvbiAyNzMyNTgpCisrKyB0ZXN0L0Ry aXZlci9hcm0tYWJpLmMJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIC8vIFJVTjog JWNsYW5nIC10YXJnZXQgYXJtLS1uZXRic2QtZWFiaWhmICVzIC0jIyMgLW8gJXQubyAyPiYxIFwK IC8vIFJVTjogICB8IEZpbGVDaGVjayAtY2hlY2stcHJlZml4PUNIRUNLLUFBUENTICVzCiAKLS8v IE90aGVyd2lzZSwgQUJJIGlzIGNlbGVjdGVkIGJhc2VkIG9uIGVudmlyb25tZW50CisvLyBPdGhl cndpc2UsIEFCSSBpcyBzZWxlY3RlZCBiYXNlZCBvbiBlbnZpcm9ubWVudAogLy8gUlVOOiAlY2xh bmcgLXRhcmdldCBhcm0tLS1hbmRyb2lkICVzIC0jIyMgLW8gJXQubyAyPiYxIFwKIC8vIFJVTjog ICB8IEZpbGVDaGVjayAtY2hlY2stcHJlZml4PUNIRUNLLUFBUENTLUxJTlVYICVzCiAvLyBSVU46 ICVjbGFuZyAtdGFyZ2V0IGFybS0tLWdudWVhYmkgJXMgLSMjIyAtbyAldC5vIDI+JjEgXApAQCAt MzUsNiArMzUsMTAgQEAKIC8vIFJVTjogICB8IEZpbGVDaGVjayAtY2hlY2stcHJlZml4PUNIRUNL LUFBUENTLUxJTlVYICVzCiAvLyBSVU46ICVjbGFuZyAtdGFyZ2V0IGFybS0tLWdudWVhYmloZiAl cyAtIyMjIC1vICV0Lm8gMj4mMSBcCiAvLyBSVU46ICAgfCBGaWxlQ2hlY2sgLWNoZWNrLXByZWZp eD1DSEVDSy1BQVBDUy1MSU5VWCAlcworLy8gUlVOOiAlY2xhbmcgLXRhcmdldCBhcm0tLS1tdXNs ZWFiaSAlcyAtIyMjIC1vICV0Lm8gMj4mMSBcCisvLyBSVU46ICAgfCBGaWxlQ2hlY2sgLWNoZWNr LXByZWZpeD1DSEVDSy1BQVBDUy1MSU5VWCAlcworLy8gUlVOOiAlY2xhbmcgLXRhcmdldCBhcm0t LS1tdXNsZWFiaWhmICVzIC0jIyMgLW8gJXQubyAyPiYxIFwKKy8vIFJVTjogICB8IEZpbGVDaGVj ayAtY2hlY2stcHJlZml4PUNIRUNLLUFBUENTLUxJTlVYICVzCiAvLyBSVU46ICVjbGFuZyAtdGFy Z2V0IGFybS0tLWVhYmkgJXMgLSMjIyAtbyAldC5vIDI+JjEgXAogLy8gUlVOOiAgIHwgRmlsZUNo ZWNrIC1jaGVjay1wcmVmaXg9Q0hFQ0stQUFQQ1MgJXMKIC8vIFJVTjogJWNsYW5nIC10YXJnZXQg YXJtLS0tZWFiaWhmICVzIC0jIyMgLW8gJXQubyAyPiYxIFwKSW5kZXg6IHRlc3QvRHJpdmVyL2xp bnV4LWxkLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdC9Ecml2ZXIvbGludXgtbGQuYwkocmV2aXNpb24g MjczMjU4KQorKysgdGVzdC9Ecml2ZXIvbGludXgtbGQuYwkod29ya2luZyBjb3B5KQpAQCAtMTYw NiwxMSArMTYwNiw0NyBAQAogLy8gUlVOOiAlY2xhbmcgJXMgLSMjIyAtbyAldC5vIDI+JjEgXAog Ly8gUlVOOiAgICAgLS10YXJnZXQ9cG93ZXJwYzY0LXBjLWxpbnV4LW11c2wgXAogLy8gUlVOOiAg IHwgRmlsZUNoZWNrIC0tY2hlY2stcHJlZml4PUNIRUNLLU1VU0wtUFBDNjQgJXMKLS8vIENIRUNL LU1VU0wtWDg2OiAgICAgICItZHluYW1pYy1saW5rZXIiICIvbGliL2xkLW11c2wtaTM4Ni5zby4x IgotLy8gQ0hFQ0stTVVTTC1YODZfNjQ6ICAgIi1keW5hbWljLWxpbmtlciIgIi9saWIvbGQtbXVz bC14ODZfNjQuc28uMSIKLS8vIENIRUNLLU1VU0wtTUlQUzogICAgICItZHluYW1pYy1saW5rZXIi ICIvbGliL2xkLW11c2wtbWlwcy5zby4xIgotLy8gQ0hFQ0stTVVTTC1NSVBTRUw6ICAgIi1keW5h bWljLWxpbmtlciIgIi9saWIvbGQtbXVzbC1taXBzZWwuc28uMSIKLS8vIENIRUNLLU1VU0wtTUlQ UzY0OiAgICItZHluYW1pYy1saW5rZXIiICIvbGliL2xkLW11c2wtbWlwczY0LnNvLjEiCi0vLyBD SEVDSy1NVVNMLU1JUFM2NEVMOiAiLWR5bmFtaWMtbGlua2VyIiAiL2xpYi9sZC1tdXNsLW1pcHM2 NGVsLnNvLjEiCi0vLyBDSEVDSy1NVVNMLVBQQzogICAgICAiLWR5bmFtaWMtbGlua2VyIiAiL2xp Yi9sZC1tdXNsLXBvd2VycGMuc28uMSIKLS8vIENIRUNLLU1VU0wtUFBDNjQ6ICAgICItZHluYW1p Yy1saW5rZXIiICIvbGliL2xkLW11c2wtcG93ZXJwYzY0LnNvLjEiCisvLyBSVU46ICVjbGFuZyAl cyAtIyMjIC1vICV0Lm8gMj4mMSBcCisvLyBSVU46ICAgICAtLXRhcmdldD10aHVtYi1wYy1saW51 eC1tdXNsZWFiaSBcCisvLyBSVU46ICAgfCBGaWxlQ2hlY2sgLS1jaGVjay1wcmVmaXg9Q0hFQ0st TVVTTC1BUk0gJXMKKy8vIFJVTjogJWNsYW5nICVzIC0jIyMgLW8gJXQubyAyPiYxIFwKKy8vIFJV TjogICAgIC0tdGFyZ2V0PXRodW1iLXBjLWxpbnV4LW11c2xlYWJpaGYgXAorLy8gUlVOOiAgIHwg RmlsZUNoZWNrIC0tY2hlY2stcHJlZml4PUNIRUNLLU1VU0wtQVJNSEYgJXMKKy8vIFJVTjogJWNs YW5nICVzIC0jIyMgLW8gJXQubyAyPiYxIFwKKy8vIFJVTjogICAgIC0tdGFyZ2V0PXRodW1iZWIt cGMtbGludXgtbXVzbGVhYmkgXAorLy8gUlVOOiAgIHwgRmlsZUNoZWNrIC0tY2hlY2stcHJlZml4 PUNIRUNLLU1VU0wtQVJNRUIgJXMKKy8vIFJVTjogJWNsYW5nICVzIC0jIyMgLW8gJXQubyAyPiYx IFwKKy8vIFJVTjogICAgIC0tdGFyZ2V0PXRodW1iZWItcGMtbGludXgtbXVzbGVhYmloZiBcCisv LyBSVU46ICAgfCBGaWxlQ2hlY2sgLS1jaGVjay1wcmVmaXg9Q0hFQ0stTVVTTC1BUk1FQkhGICVz CisvLyBSVU46ICVjbGFuZyAlcyAtIyMjIC1vICV0Lm8gMj4mMSBcCisvLyBSVU46ICAgICAtLXRh cmdldD1hcm0tcGMtbGludXgtbXVzbGVhYmkgXAorLy8gUlVOOiAgIHwgRmlsZUNoZWNrIC0tY2hl Y2stcHJlZml4PUNIRUNLLU1VU0wtQVJNICVzCisvLyBSVU46ICVjbGFuZyAlcyAtIyMjIC1vICV0 Lm8gMj4mMSBcCisvLyBSVU46ICAgICAtLXRhcmdldD1hcm0tcGMtbGludXgtbXVzbGVhYmloZiBc CisvLyBSVU46ICAgfCBGaWxlQ2hlY2sgLS1jaGVjay1wcmVmaXg9Q0hFQ0stTVVTTC1BUk1IRiAl cworLy8gUlVOOiAlY2xhbmcgJXMgLSMjIyAtbyAldC5vIDI+JjEgXAorLy8gUlVOOiAgICAgLS10 YXJnZXQ9YXJtZWItcGMtbGludXgtbXVzbGVhYmkgXAorLy8gUlVOOiAgIHwgRmlsZUNoZWNrIC0t Y2hlY2stcHJlZml4PUNIRUNLLU1VU0wtQVJNRUIgJXMKKy8vIFJVTjogJWNsYW5nICVzIC0jIyMg LW8gJXQubyAyPiYxIFwKKy8vIFJVTjogICAgIC0tdGFyZ2V0PWFybWViLXBjLWxpbnV4LW11c2xl YWJpaGYgXAorLy8gUlVOOiAgIHwgRmlsZUNoZWNrIC0tY2hlY2stcHJlZml4PUNIRUNLLU1VU0wt QVJNRUJIRiAlcworLy8gUlVOOiAlY2xhbmcgJXMgLSMjIyAtbyAldC5vIDI+JjEgXAorLy8gUlVO OiAgICAgLS10YXJnZXQ9YWFyY2g2NC1wYy1saW51eC1tdXNsZWFiaSBcCisvLyBSVU46ICAgfCBG aWxlQ2hlY2sgLS1jaGVjay1wcmVmaXg9Q0hFQ0stTVVTTC1BQVJDSDY0ICVzCisvLyBSVU46ICVj bGFuZyAlcyAtIyMjIC1vICV0Lm8gMj4mMSBcCisvLyBSVU46ICAgICAtLXRhcmdldD1hYXJjaDY0 X2JlLXBjLWxpbnV4LW11c2xlYWJpIFwKKy8vIFJVTjogICB8IEZpbGVDaGVjayAtLWNoZWNrLXBy ZWZpeD1DSEVDSy1NVVNMLUFBUkNINjRfQkUgJXMKKy8vIENIRUNLLU1VU0wtWDg2OiAgICAgICAg Ii1keW5hbWljLWxpbmtlciIgIi9saWIvbGQtbXVzbC1pMzg2LnNvLjEiCisvLyBDSEVDSy1NVVNM LVg4Nl82NDogICAgICItZHluYW1pYy1saW5rZXIiICIvbGliL2xkLW11c2wteDg2XzY0LnNvLjEi CisvLyBDSEVDSy1NVVNMLU1JUFM6ICAgICAgICItZHluYW1pYy1saW5rZXIiICIvbGliL2xkLW11 c2wtbWlwcy5zby4xIgorLy8gQ0hFQ0stTVVTTC1NSVBTRUw6ICAgICAiLWR5bmFtaWMtbGlua2Vy IiAiL2xpYi9sZC1tdXNsLW1pcHNlbC5zby4xIgorLy8gQ0hFQ0stTVVTTC1NSVBTNjQ6ICAgICAi LWR5bmFtaWMtbGlua2VyIiAiL2xpYi9sZC1tdXNsLW1pcHM2NC5zby4xIgorLy8gQ0hFQ0stTVVT TC1NSVBTNjRFTDogICAiLWR5bmFtaWMtbGlua2VyIiAiL2xpYi9sZC1tdXNsLW1pcHM2NGVsLnNv LjEiCisvLyBDSEVDSy1NVVNMLVBQQzogICAgICAgICItZHluYW1pYy1saW5rZXIiICIvbGliL2xk LW11c2wtcG93ZXJwYy5zby4xIgorLy8gQ0hFQ0stTVVTTC1QUEM2NDogICAgICAiLWR5bmFtaWMt bGlua2VyIiAiL2xpYi9sZC1tdXNsLXBvd2VycGM2NC5zby4xIgorLy8gQ0hFQ0stTVVTTC1BUk06 ICAgICAgICAiLWR5bmFtaWMtbGlua2VyIiAiL2xpYi9sZC1tdXNsLWFybS5zby4xIgorLy8gQ0hF Q0stTVVTTC1BUk1IRjogICAgICAiLWR5bmFtaWMtbGlua2VyIiAiL2xpYi9sZC1tdXNsLWFybWhm LnNvLjEiCisvLyBDSEVDSy1NVVNMLUFSTUVCOiAgICAgICItZHluYW1pYy1saW5rZXIiICIvbGli L2xkLW11c2wtYXJtZWIuc28uMSIKKy8vIENIRUNLLU1VU0wtQVJNRUJIRjogICAgIi1keW5hbWlj LWxpbmtlciIgIi9saWIvbGQtbXVzbC1hcm1lYmhmLnNvLjEiCisvLyBDSEVDSy1NVVNMLUFBUkNI NjQ6ICAgICItZHluYW1pYy1saW5rZXIiICIvbGliL2xkLW11c2wtYWFyY2g2NC5zby4xIgorLy8g Q0hFQ0stTVVTTC1BQVJDSDY0X0JFOiAiLWR5bmFtaWMtbGlua2VyIiAiL2xpYi9sZC1tdXNsLWFh cmNoNjRfYmUuc28uMSIK --94eb2c11e7ca4d8bc30535c9e7c3 Content-Type: application/octet-stream; name="llvm-musl-arm-v2.patch" Content-Disposition: attachment; filename="llvm-musl-arm-v2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ipphtzcw1 SW5kZXg6IGluY2x1ZGUvbGx2bS9BRFQvVHJpcGxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaW5jbHVkZS9s bHZtL0FEVC9UcmlwbGUuaAkocmV2aXNpb24gMjczMjU4KQorKysgaW5jbHVkZS9sbHZtL0FEVC9U cmlwbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTgwLDYgKzE4MCw4IEBACiAgICAgRUFCSUhGLAog ICAgIEFuZHJvaWQsCiAgICAgTXVzbCwKKyAgICBNdXNsRUFCSSwKKyAgICBNdXNsRUFCSUhGLAog CiAgICAgTVNWQywKICAgICBJdGFuaXVtLApAQCAtNTY1LDYgKzU2NywxMyBAQAogICAvLy8gVGVz dHMgd2hldGhlciB0aGUgdGFyZ2V0IGlzIEFuZHJvaWQKICAgYm9vbCBpc0FuZHJvaWQoKSBjb25z dCB7IHJldHVybiBnZXRFbnZpcm9ubWVudCgpID09IFRyaXBsZTo6QW5kcm9pZDsgfQogCisgIC8v LyBUZXN0cyB3aGV0aGVyIHRoZSBlbnZpcm9ubWVudCBpcyBtdXNsLWxpYmMKKyAgYm9vbCBpc011 c2woKSBjb25zdCB7CisgICAgcmV0dXJuIGdldEVudmlyb25tZW50KCkgPT0gVHJpcGxlOjpNdXNs IHx8CisgICAgICAgICAgIGdldEVudmlyb25tZW50KCkgPT0gVHJpcGxlOjpNdXNsRUFCSSB8fAor ICAgICAgICAgICBnZXRFbnZpcm9ubWVudCgpID09IFRyaXBsZTo6TXVzbEVBQklIRjsKKyAgfQor CiAgIC8vLyBUZXN0cyB3aGV0aGVyIHRoZSB0YXJnZXQgaXMgTlZQVFggKDMyLSBvciA2NC1iaXQp LgogICBib29sIGlzTlZQVFgoKSBjb25zdCB7CiAgICAgcmV0dXJuIGdldEFyY2goKSA9PSBUcmlw bGU6Om52cHR4IHx8IGdldEFyY2goKSA9PSBUcmlwbGU6Om52cHR4NjQ7CkluZGV4OiBsaWIvU3Vw cG9ydC9UcmlwbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpYi9TdXBwb3J0L1RyaXBsZS5jcHAJKHJl dmlzaW9uIDI3MzI1OCkKKysrIGxpYi9TdXBwb3J0L1RyaXBsZS5jcHAJKHdvcmtpbmcgY29weSkK QEAgLTIwNiw2ICsyMDYsOCBAQAogICBjYXNlIEVBQklIRjogcmV0dXJuICJlYWJpaGYiOwogICBj YXNlIEFuZHJvaWQ6IHJldHVybiAiYW5kcm9pZCI7CiAgIGNhc2UgTXVzbDogcmV0dXJuICJtdXNs IjsKKyAgY2FzZSBNdXNsRUFCSTogcmV0dXJuICJtdXNsZWFiaSI7CisgIGNhc2UgTXVzbEVBQklI RjogcmV0dXJuICJtdXNsZWFiaWhmIjsKICAgY2FzZSBNU1ZDOiByZXR1cm4gIm1zdmMiOwogICBj YXNlIEl0YW5pdW06IHJldHVybiAiaXRhbml1bSI7CiAgIGNhc2UgQ3lnbnVzOiByZXR1cm4gImN5 Z251cyI7CkBAIC00NjUsNiArNDY3LDggQEAKICAgICAuU3RhcnRzV2l0aCgiY29kZTE2IiwgVHJp cGxlOjpDT0RFMTYpCiAgICAgLlN0YXJ0c1dpdGgoImdudSIsIFRyaXBsZTo6R05VKQogICAgIC5T dGFydHNXaXRoKCJhbmRyb2lkIiwgVHJpcGxlOjpBbmRyb2lkKQorICAgIC5TdGFydHNXaXRoKCJt dXNsZWFiaWhmIiwgVHJpcGxlOjpNdXNsRUFCSUhGKQorICAgIC5TdGFydHNXaXRoKCJtdXNsZWFi aSIsIFRyaXBsZTo6TXVzbEVBQkkpCiAgICAgLlN0YXJ0c1dpdGgoIm11c2wiLCBUcmlwbGU6Ok11 c2wpCiAgICAgLlN0YXJ0c1dpdGgoIm1zdmMiLCBUcmlwbGU6Ok1TVkMpCiAgICAgLlN0YXJ0c1dp dGgoIml0YW5pdW0iLCBUcmlwbGU6Okl0YW5pdW0pCkBAIC0xNDU0LDYgKzE0NTgsNyBAQAogICAg IHN3aXRjaCAoZ2V0RW52aXJvbm1lbnQoKSkgewogICAgIGNhc2UgbGx2bTo6VHJpcGxlOjpFQUJJ SEY6CiAgICAgY2FzZSBsbHZtOjpUcmlwbGU6OkdOVUVBQklIRjoKKyAgICBjYXNlIGxsdm06OlRy aXBsZTo6TXVzbEVBQklIRjoKICAgICAgIHJldHVybiAiYXJtMTE3Nmp6Zi1zIjsKICAgICBkZWZh dWx0OgogICAgICAgcmV0dXJuICJhcm03dGRtaSI7CkluZGV4OiBsaWIvVGFyZ2V0L0FSTS9BUk1B c21QcmludGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaWIvVGFyZ2V0L0FSTS9BUk1Bc21QcmludGVy LmNwcAkocmV2aXNpb24gMjczMjU4KQorKysgbGliL1RhcmdldC9BUk0vQVJNQXNtUHJpbnRlci5j cHAJKHdvcmtpbmcgY29weSkKQEAgLTU2Miw3ICs1NjIsOCBAQAogICBBUk1UYXJnZXRTdHJlYW1l ciAmQVRTID0gc3RhdGljX2Nhc3Q8QVJNVGFyZ2V0U3RyZWFtZXIgJj4oVFMpOwogCiAgIGlmIChP cHRpbWl6YXRpb25Hb2FscyA+IDAgJiYKLSAgICAgIChTdWJ0YXJnZXQtPmlzVGFyZ2V0QUVBQkko KSB8fCBTdWJ0YXJnZXQtPmlzVGFyZ2V0R05VQUVBQkkoKSkpCisgICAgICAoU3VidGFyZ2V0LT5p c1RhcmdldEFFQUJJKCkgfHwgU3VidGFyZ2V0LT5pc1RhcmdldEdOVUFFQUJJKCkgfHwKKyAgICAg ICBTdWJ0YXJnZXQtPmlzVGFyZ2V0TXVzbEFFQUJJKCkpKQogICAgIEFUUy5lbWl0QXR0cmlidXRl KEFSTUJ1aWxkQXR0cnM6OkFCSV9vcHRpbWl6YXRpb25fZ29hbHMsIE9wdGltaXphdGlvbkdvYWxz KTsKICAgT3B0aW1pemF0aW9uR29hbHMgPSAtMTsKIApJbmRleDogbGliL1RhcmdldC9BUk0vQVJN SVNlbExvd2VyaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaWIvVGFyZ2V0L0FSTS9BUk1JU2VsTG93 ZXJpbmcuY3BwCShyZXZpc2lvbiAyNzMyNTgpCisrKyBsaWIvVGFyZ2V0L0FSTS9BUk1JU2VsTG93 ZXJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTUsNyArMjU1LDcgQEAKICAgLy8gUlRMSUIK ICAgaWYgKFN1YnRhcmdldC0+aXNBQVBDU19BQkkoKSAmJgogICAgICAgKFN1YnRhcmdldC0+aXNU YXJnZXRBRUFCSSgpIHx8IFN1YnRhcmdldC0+aXNUYXJnZXRHTlVBRUFCSSgpIHx8Ci0gICAgICAg U3VidGFyZ2V0LT5pc1RhcmdldEFuZHJvaWQoKSkpIHsKKyAgICAgICBTdWJ0YXJnZXQtPmlzVGFy Z2V0TXVzbEFFQUJJKCkgfHwgU3VidGFyZ2V0LT5pc1RhcmdldEFuZHJvaWQoKSkpIHsKICAgICBz dGF0aWMgY29uc3Qgc3RydWN0IHsKICAgICAgIGNvbnN0IFJUTElCOjpMaWJjYWxsIE9wOwogICAg ICAgY29uc3QgY2hhciAqIGNvbnN0IE5hbWU7CkBAIC03OTEsNyArNzkxLDcgQEAKICAgc2V0T3Bl cmF0aW9uQWN0aW9uKElTRDo6VVJFTSwgIE1WVDo6aTMyLCBFeHBhbmQpOwogICAvLyBSZWdpc3Rl ciBiYXNlZCBEaXZSZW0gZm9yIEFFQUJJIChSVEFCSSA0LjIpCiAgIGlmIChTdWJ0YXJnZXQtPmlz VGFyZ2V0QUVBQkkoKSB8fCBTdWJ0YXJnZXQtPmlzVGFyZ2V0QW5kcm9pZCgpIHx8Ci0gICAgICBT dWJ0YXJnZXQtPmlzVGFyZ2V0R05VQUVBQkkoKSkgeworICAgICAgU3VidGFyZ2V0LT5pc1Rhcmdl dEdOVUFFQUJJKCkgfHwgU3VidGFyZ2V0LT5pc1RhcmdldE11c2xBRUFCSSgpKSB7CiAgICAgc2V0 T3BlcmF0aW9uQWN0aW9uKElTRDo6U1JFTSwgTVZUOjppNjQsIEN1c3RvbSk7CiAgICAgc2V0T3Bl cmF0aW9uQWN0aW9uKElTRDo6VVJFTSwgTVZUOjppNjQsIEN1c3RvbSk7CiAKQEAgLTExOTE0LDcg KzExOTE0LDcgQEAKIAogU0RWYWx1ZSBBUk1UYXJnZXRMb3dlcmluZzo6TG93ZXJEaXZSZW0oU0RW YWx1ZSBPcCwgU2VsZWN0aW9uREFHICZEQUcpIGNvbnN0IHsKICAgYXNzZXJ0KChTdWJ0YXJnZXQt PmlzVGFyZ2V0QUVBQkkoKSB8fCBTdWJ0YXJnZXQtPmlzVGFyZ2V0QW5kcm9pZCgpIHx8Ci0gICAg ICAgICAgU3VidGFyZ2V0LT5pc1RhcmdldEdOVUFFQUJJKCkpICYmCisgICAgICAgICAgU3VidGFy Z2V0LT5pc1RhcmdldEdOVUFFQUJJKCkgfHwgU3VidGFyZ2V0LT5pc1RhcmdldE11c2xBRUFCSSgp KSAmJgogICAgICAgICAgIlJlZ2lzdGVyLWJhc2VkIERpdlJlbSBsb3dlcmluZyBvbmx5Iik7CiAg IHVuc2lnbmVkIE9wY29kZSA9IE9wLT5nZXRPcGNvZGUoKTsKICAgYXNzZXJ0KChPcGNvZGUgPT0g SVNEOjpTRElWUkVNIHx8IE9wY29kZSA9PSBJU0Q6OlVESVZSRU0pICYmCkluZGV4OiBsaWIvVGFy Z2V0L0FSTS9BUk1TdWJ0YXJnZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaWIvVGFyZ2V0L0FSTS9BUk1T dWJ0YXJnZXQuaAkocmV2aXNpb24gMjczMjU4KQorKysgbGliL1RhcmdldC9BUk0vQVJNU3VidGFy Z2V0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyMiw2ICs0MjIsMTEgQEAKICAgICAgICAgICAgIFRh cmdldFRyaXBsZS5nZXRFbnZpcm9ubWVudCgpID09IFRyaXBsZTo6R05VRUFCSUhGKSAmJgogICAg ICAgICAgICAhaXNUYXJnZXREYXJ3aW4oKSAmJiAhaXNUYXJnZXRXaW5kb3dzKCk7CiAgIH0KKyAg Ym9vbCBpc1RhcmdldE11c2xBRUFCSSgpIGNvbnN0IHsKKyAgICByZXR1cm4gKFRhcmdldFRyaXBs ZS5nZXRFbnZpcm9ubWVudCgpID09IFRyaXBsZTo6TXVzbEVBQkkgfHwKKyAgICAgICAgICAgIFRh cmdldFRyaXBsZS5nZXRFbnZpcm9ubWVudCgpID09IFRyaXBsZTo6TXVzbEVBQklIRikgJiYKKyAg ICAgICAgICAgIWlzVGFyZ2V0RGFyd2luKCkgJiYgIWlzVGFyZ2V0V2luZG93cygpOworICB9CiAK ICAgLy8gQVJNIFRhcmdldHMgdGhhdCBzdXBwb3J0IEVIQUJJIGV4Y2VwdGlvbiBoYW5kbGluZyBz dGFuZGFyZAogICAvLyBEYXJ3aW4gdXNlcyBTakxqLiBPdGhlciB0YXJnZXRzIG1pZ2h0IG5lZWQg bW9yZSBjaGVja3MuCkBAIC00MjgsOCArNDMzLDEwIEBACiAgIGJvb2wgaXNUYXJnZXRFSEFCSUNv bXBhdGlibGUoKSBjb25zdCB7CiAgICAgcmV0dXJuIChUYXJnZXRUcmlwbGUuZ2V0RW52aXJvbm1l bnQoKSA9PSBUcmlwbGU6OkVBQkkgfHwKICAgICAgICAgICAgIFRhcmdldFRyaXBsZS5nZXRFbnZp cm9ubWVudCgpID09IFRyaXBsZTo6R05VRUFCSSB8fAorICAgICAgICAgICAgVGFyZ2V0VHJpcGxl LmdldEVudmlyb25tZW50KCkgPT0gVHJpcGxlOjpNdXNsRUFCSSB8fAogICAgICAgICAgICAgVGFy Z2V0VHJpcGxlLmdldEVudmlyb25tZW50KCkgPT0gVHJpcGxlOjpFQUJJSEYgfHwKICAgICAgICAg ICAgIFRhcmdldFRyaXBsZS5nZXRFbnZpcm9ubWVudCgpID09IFRyaXBsZTo6R05VRUFCSUhGIHx8 CisgICAgICAgICAgICBUYXJnZXRUcmlwbGUuZ2V0RW52aXJvbm1lbnQoKSA9PSBUcmlwbGU6Ok11 c2xFQUJJSEYgfHwKICAgICAgICAgICAgIGlzVGFyZ2V0QW5kcm9pZCgpKSAmJgogICAgICAgICAg ICAhaXNUYXJnZXREYXJ3aW4oKSAmJiAhaXNUYXJnZXRXaW5kb3dzKCk7CiAgIH0KQEAgLTQzNyw2 ICs0NDQsNyBAQAogICBib29sIGlzVGFyZ2V0SGFyZEZsb2F0KCkgY29uc3QgewogICAgIC8vIEZJ WE1FOiB0aGlzIGlzIGludmFsaWQgZm9yIFdpbmRvd3NDRQogICAgIHJldHVybiBUYXJnZXRUcmlw bGUuZ2V0RW52aXJvbm1lbnQoKSA9PSBUcmlwbGU6OkdOVUVBQklIRiB8fAorICAgICAgICAgICBU YXJnZXRUcmlwbGUuZ2V0RW52aXJvbm1lbnQoKSA9PSBUcmlwbGU6Ok11c2xFQUJJSEYgfHwKICAg ICAgICAgICAgVGFyZ2V0VHJpcGxlLmdldEVudmlyb25tZW50KCkgPT0gVHJpcGxlOjpFQUJJSEYg fHwKICAgICAgICAgICAgaXNUYXJnZXRXaW5kb3dzKCkgfHwgaXNBQVBDUzE2X0FCSSgpOwogICB9 CkluZGV4OiBsaWIvVGFyZ2V0L0FSTS9BUk1UYXJnZXRNYWNoaW5lLmNwcAo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBsaWIvVGFyZ2V0L0FSTS9BUk1UYXJnZXRNYWNoaW5lLmNwcAkocmV2aXNpb24gMjczMjU4KQor KysgbGliL1RhcmdldC9BUk0vQVJNVGFyZ2V0TWFjaGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg LTEwMCw2ICsxMDAsOCBAQAogICAgIGNhc2UgbGx2bTo6VHJpcGxlOjpBbmRyb2lkOgogICAgIGNh c2UgbGx2bTo6VHJpcGxlOjpHTlVFQUJJOgogICAgIGNhc2UgbGx2bTo6VHJpcGxlOjpHTlVFQUJJ SEY6CisgICAgY2FzZSBsbHZtOjpUcmlwbGU6Ok11c2xFQUJJOgorICAgIGNhc2UgbGx2bTo6VHJp cGxlOjpNdXNsRUFCSUhGOgogICAgIGNhc2UgbGx2bTo6VHJpcGxlOjpFQUJJSEY6CiAgICAgY2Fz ZSBsbHZtOjpUcmlwbGU6OkVBQkk6CiAgICAgICBUYXJnZXRBQkkgPSBBUk1CYXNlVGFyZ2V0TWFj aGluZTo6QVJNX0FCSV9BQVBDUzsKQEAgLTIwOCw3ICsyMTAsOCBAQAogICAvLyBEZWZhdWx0IHRv IHRyaXBsZS1hcHByb3ByaWF0ZSBFQUJJCiAgIGlmIChPcHRpb25zLkVBQklWZXJzaW9uID09IEVB Qkk6OkRlZmF1bHQgfHwKICAgICAgIE9wdGlvbnMuRUFCSVZlcnNpb24gPT0gRUFCSTo6VW5rbm93 bikgewotICAgIGlmIChTdWJ0YXJnZXQuaXNUYXJnZXRHTlVBRUFCSSgpKQorICAgIC8vIG11c2wg aXMgY29tcGF0aWJsZSB3aXRoIGdsaWJjIHdpdGggcmVnYXJkIHRvIEVBQkkgdmVyc2lvbgorICAg IGlmIChTdWJ0YXJnZXQuaXNUYXJnZXRHTlVBRUFCSSgpIHx8IFN1YnRhcmdldC5pc1RhcmdldE11 c2xBRUFCSSgpKQogICAgICAgdGhpcy0+T3B0aW9ucy5FQUJJVmVyc2lvbiA9IEVBQkk6OkdOVTsK ICAgICBlbHNlCiAgICAgICB0aGlzLT5PcHRpb25zLkVBQklWZXJzaW9uID0gRUFCSTo6RUFCSTU7 CkluZGV4OiB1bml0dGVzdHMvQURUL1RyaXBsZVRlc3QuY3BwCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHVuaXR0 ZXN0cy9BRFQvVHJpcGxlVGVzdC5jcHAJKHJldmlzaW9uIDI3MzI1OCkKKysrIHVuaXR0ZXN0cy9B RFQvVHJpcGxlVGVzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw2ICsxNDEsMTIgQEAKICAg RVhQRUNUX0VRKFRyaXBsZTo6VW5rbm93bk9TLCBULmdldE9TKCkpOwogICBFWFBFQ1RfRVEoVHJp cGxlOjpFQUJJLCBULmdldEVudmlyb25tZW50KCkpOwogCisgIFQgPSBUcmlwbGUoImFybS1ub25l LWxpbnV4LW11c2xlYWJpIik7CisgIEVYUEVDVF9FUShUcmlwbGU6OmFybSwgVC5nZXRBcmNoKCkp OworICBFWFBFQ1RfRVEoVHJpcGxlOjpVbmtub3duVmVuZG9yLCBULmdldFZlbmRvcigpKTsKKyAg RVhQRUNUX0VRKFRyaXBsZTo6TGludXgsIFQuZ2V0T1MoKSk7CisgIEVYUEVDVF9FUShUcmlwbGU6 Ok11c2xFQUJJLCBULmdldEVudmlyb25tZW50KCkpOworCiAgIFQgPSBUcmlwbGUoImFybXY2aGwt bm9uZS1saW51eC1nbnVlYWJpIik7CiAgIEVYUEVDVF9FUShUcmlwbGU6OmFybSwgVC5nZXRBcmNo KCkpOwogICBFWFBFQ1RfRVEoVHJpcGxlOjpMaW51eCwgVC5nZXRPUygpKTsK --94eb2c11e7ca4d8bc30535c9e7c3 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KY2ZlLWNvbW1p dHMgbWFpbGluZyBsaXN0CmNmZS1jb21taXRzQGxpc3RzLmxsdm0ub3JnCmh0dHA6Ly9saXN0cy5s bHZtLm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vY2ZlLWNvbW1pdHMK --94eb2c11e7ca4d8bc30535c9e7c3--