From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 89236 invoked by alias); 12 May 2015 15:07:02 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 88757 invoked by uid 89); 12 May 2015 15:07:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.3 required=5.0 tests=AWL,BAYES_50,FREEMAIL_FROM,KAM_ASCII_DIVIDERS,KAM_STOCKGEN,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-oi0-f46.google.com Received: from mail-oi0-f46.google.com (HELO mail-oi0-f46.google.com) (209.85.218.46) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 12 May 2015 15:07:00 +0000 Received: by oica37 with SMTP id a37so8304123oic.0 for ; Tue, 12 May 2015 08:06:57 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.202.211.129 with SMTP id k123mr11580039oig.43.1431443217700; Tue, 12 May 2015 08:06:57 -0700 (PDT) Received: by 10.60.147.170 with HTTP; Tue, 12 May 2015 08:06:57 -0700 (PDT) Date: Tue, 12 May 2015 15:16:00 -0000 Message-ID: Subject: [PATCH, alpha]: Switch alpha to TARGET_SUPPORTS_WIDE_INT From: Uros Bizjak To: "gcc-patches@gcc.gnu.org" Cc: Richard Henderson Content-Type: multipart/mixed; boundary=001a113df41481fad30515e3d837 X-SW-Source: 2015-05/txt/msg01102.txt.bz2 --001a113df41481fad30515e3d837 Content-Type: text/plain; charset=UTF-8 Content-length: 1371 Hello! The patch also further removes dead HWI < 64 code in a couple of places. 2015-05-12 Uros Bizjak * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define. * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT. (alpha_extract_integer): Ditto. (alpha_legitimate_constant_p): Ditto. (alpha_split_tmode_pair): Ditto. (alpha_preferred_reload_class): Add CONST_WIDE_INT. (alpha_expand_mov): Ditto. (print_operand): Remove handling of 'H' modifier. : Remove CONST_DOUBLE handling. (summarize_insn): Handle CONST_WIDE_INT. * config/alpha/alpha.md (*andsi_internal): Remove H constraint. (anddi3): Ditto. (movti): Handle CONST_WIDE_INT. * config/alpha/constraints.md ('H'): Remove constraint definition. ('G'): Do not match MODE_FLOAT class. * config/alpha/predicates.md (const0_operand): Also match const_wide_int. (non_add_const_operand): Ditto. (non_zero_const_operand): Ditto. (some_operand): Ditto. (input_operand): Ditto. Handle CONST_WIDE_INT. (and_operand): Do not match const_double. * config/alpha/sync.md (fetchop_constr): Remove H constraint. Bootstrapped and regression tested on alphaev68-linux-gnu, bootstrapped on alpha-linux-gnu, regression test on alpha-linux-gnu still in the progress. OK for mainline? Uros. --001a113df41481fad30515e3d837 Content-Type: text/plain; charset=US-ASCII; name="a.diff.txt" Content-Disposition: attachment; filename="a.diff.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i9lgbmse0 Content-length: 13766 SW5kZXg6IGNvbmZpZy9hbHBoYS9hbHBoYS5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIGNvbmZpZy9hbHBoYS9hbHBoYS5jCShyZXZpc2lvbiAyMjI5 OTkpCisrKyBjb25maWcvYWxwaGEvYWxwaGEuYwkod29ya2luZyBjb3B5KQpA QCAtMTQxMiw2ICsxNDEyLDcgQEAgYWxwaGFfcnR4X2Nvc3RzIChydHggeCwg aW50IGNvZGUsIGludCBvdXRlcl9jb2RlLAogICAgICAgLyogRkFMTFRIUlUg Ki8KIAogICAgIGNhc2UgQ09OU1RfRE9VQkxFOgorICAgIGNhc2UgQ09OU1Rf V0lERV9JTlQ6CiAgICAgICBpZiAoeCA9PSBDT05TVDBfUlRYIChtb2RlKSkK IAkqdG90YWwgPSAwOwogICAgICAgZWxzZSBpZiAoKG91dGVyX2NvZGUgPT0g UExVUyAmJiBhZGRfb3BlcmFuZCAoeCwgVk9JRG1vZGUpKQpAQCAtMTY0Nyw2 ICsxNjQ4LDcgQEAgYWxwaGFfcHJlZmVycmVkX3JlbG9hZF9jbGFzcyhydHgg eCwgZW51bSByZWdfY2xhc3MKIAogICAvKiBUaGVzZSBzb3J0cyBvZiBjb25z dGFudHMgd2UgY2FuIGVhc2lseSBkcm9wIHRvIG1lbW9yeS4gICovCiAgIGlm IChDT05TVF9JTlRfUCAoeCkKKyAgICAgIHx8IEdFVF9DT0RFICh4KSA9PSBD T05TVF9XSURFX0lOVAogICAgICAgfHwgR0VUX0NPREUgKHgpID09IENPTlNU X0RPVUJMRQogICAgICAgfHwgR0VUX0NPREUgKHgpID09IENPTlNUX1ZFQ1RP UikKICAgICB7CkBAIC0yMTA0LDggKzIxMDYsOCBAQCBhbHBoYV9lbWl0X3Nl dF9sb25nX2NvbnN0IChydHggdGFyZ2V0LCBIT1NUX1dJREVfSQogICByZXR1 cm4gdGFyZ2V0OwogfQogCi0vKiBHaXZlbiBhbiBpbnRlZ3JhbCBDT05TVF9J TlQsIENPTlNUX0RPVUJMRSwgb3IgQ09OU1RfVkVDVE9SLCByZXR1cm4gCi0g ICB0aGUgbG93IDY0IGJpdHMuICAqLworLyogR2l2ZW4gYW4gaW50ZWdyYWwg Q09OU1RfSU5ULCBDT05TVF9XSURFX0lOVCwgQ09OU1RfRE9VQkxFLAorICAg b3IgQ09OU1RfVkVDVE9SLCByZXR1cm4gdGhlIGxvdyA2NCBiaXRzLiAgKi8K IAogc3RhdGljIHZvaWQKIGFscGhhX2V4dHJhY3RfaW50ZWdlciAocnR4IHgs IEhPU1RfV0lERV9JTlQgKnAwLCBIT1NUX1dJREVfSU5UICpwMSkKQEAgLTIx MTUsMTggKzIxMTcsMTUgQEAgYWxwaGFfZXh0cmFjdF9pbnRlZ2VyIChydHgg eCwgSE9TVF9XSURFX0lOVCAqcDAsIEgKICAgaWYgKEdFVF9DT0RFICh4KSA9 PSBDT05TVF9WRUNUT1IpCiAgICAgeCA9IHNpbXBsaWZ5X3N1YnJlZyAoRElt b2RlLCB4LCBHRVRfTU9ERSAoeCksIDApOwogCi0KICAgaWYgKENPTlNUX0lO VF9QICh4KSkKLSAgICB7Ci0gICAgICBpMCA9IElOVFZBTCAoeCk7Ci0gICAg ICBpMSA9IC0oaTAgPCAwKTsKLSAgICB9CisgICAgaTAgPSBJTlRWQUwgKHgp OworICBlbHNlIGlmIChDT05TVF9XSURFX0lOVF9QICh4KSkKKyAgICBpMCA9 IENPTlNUX1dJREVfSU5UX0VMVCAoeCwgMCk7CiAgIGVsc2UKLSAgICB7Ci0g ICAgICBpMCA9IENPTlNUX0RPVUJMRV9MT1cgKHgpOwotICAgICAgaTEgPSAt KGkwIDwgMCk7Ci0gICAgfQorICAgIGkwID0gQ09OU1RfRE9VQkxFX0xPVyAo eCk7CiAKKyAgaTEgPSAtKGkwIDwgMCk7CisgICAgICAKICAgKnAwID0gaTA7 CiAgICpwMSA9IGkxOwogfQpAQCAtMjE2MywxMyArMjE2MiwxNiBAQCBhbHBo YV9sZWdpdGltYXRlX2NvbnN0YW50X3AgKG1hY2hpbmVfbW9kZSBtb2RlLCBy dAogICAgICAgLyogVExTIHN5bWJvbHMgYXJlIG5ldmVyIHZhbGlkLiAgKi8K ICAgICAgIHJldHVybiBTWU1CT0xfUkVGX1RMU19NT0RFTCAoeCkgPT0gMDsK IAotICAgIGNhc2UgQ09OU1RfRE9VQkxFOgorICAgIGNhc2UgQ09OU1RfV0lE RV9JTlQ6CiAgICAgICBpZiAoeCA9PSBDT05TVDBfUlRYIChtb2RlKSkKIAly ZXR1cm4gdHJ1ZTsKLSAgICAgIGlmIChGTE9BVF9NT0RFX1AgKG1vZGUpKQot CXJldHVybiBmYWxzZTsKICAgICAgIGdvdG8gZG9faW50ZWdlcjsKIAorICAg IGNhc2UgQ09OU1RfRE9VQkxFOgorICAgICAgaWYgKHggPT0gQ09OU1QwX1JU WCAobW9kZSkpCisJcmV0dXJuIHRydWU7CisgICAgICByZXR1cm4gZmFsc2U7 CisKICAgICBjYXNlIENPTlNUX1ZFQ1RPUjoKICAgICAgIGlmICh4ID09IENP TlNUMF9SVFggKG1vZGUpKQogCXJldHVybiB0cnVlOwpAQCAtMjI0OSw2ICsy MjUxLDcgQEAgYWxwaGFfZXhwYW5kX21vdiAobWFjaGluZV9tb2RlIG1vZGUs IHJ0eCAqb3BlcmFuZHMKIAogICAvKiBTcGxpdCBsYXJnZSBpbnRlZ2Vycy4g ICovCiAgIGlmIChDT05TVF9JTlRfUCAob3BlcmFuZHNbMV0pCisgICAgICB8 fCBHRVRfQ09ERSAob3BlcmFuZHNbMV0pID09IENPTlNUX1dJREVfSU5UCiAg ICAgICB8fCBHRVRfQ09ERSAob3BlcmFuZHNbMV0pID09IENPTlNUX0RPVUJM RQogICAgICAgfHwgR0VUX0NPREUgKG9wZXJhbmRzWzFdKSA9PSBDT05TVF9W RUNUT1IpCiAgICAgewpAQCAtMzI5MSw2ICszMjk0LDcgQEAgYWxwaGFfc3Bs aXRfdG1vZGVfcGFpciAocnR4IG9wZXJhbmRzWzRdLCBtYWNoaW5lX20KICAg ICAgIGJyZWFrOwogCiAgICAgY2FzZSBDT05TVF9JTlQ6CisgICAgY2FzZSBD T05TVF9XSURFX0lOVDoKICAgICBjYXNlIENPTlNUX0RPVUJMRToKICAgICAg IGdjY19hc3NlcnQgKG9wZXJhbmRzWzFdID09IENPTlNUMF9SVFggKG1vZGUp KTsKICAgICAgIG9wZXJhbmRzWzJdID0gb3BlcmFuZHNbM10gPSBjb25zdDBf cnR4OwpAQCAtNTE1MSwxMyArNTE1NSw2IEBAIHByaW50X29wZXJhbmQgKEZJ TEUgKmZpbGUsIHJ0eCB4LCBpbnQgY29kZSkKICAgICAgIGZwcmludGYgKGZp bGUsICIlZCIsIGFscGhhX3RoaXNfZ3BkaXNwX3NlcXVlbmNlX251bWJlcik7 CiAgICAgICBicmVhazsKIAotICAgIGNhc2UgJ0gnOgotICAgICAgaWYgKEdF VF9DT0RFICh4KSA9PSBISUdIKQotCW91dHB1dF9hZGRyX2NvbnN0IChmaWxl LCBYRVhQICh4LCAwKSk7Ci0gICAgICBlbHNlCi0Jb3V0cHV0X29wZXJhbmRf bG9zc2FnZSAoImludmFsaWQgJSVIIHZhbHVlIik7Ci0gICAgICBicmVhazsK LQogICAgIGNhc2UgJ0onOgogICAgICAgewogCWNvbnN0IGNoYXIgKmxpdHVz ZTsKQEAgLTUyNTQsMjggKzUyNTEsOCBAQCBwcmludF9vcGVyYW5kIChGSUxF ICpmaWxlLCBydHggeCwgaW50IGNvZGUpCiAKICAgICBjYXNlICdtJzoKICAg ICAgIC8qIFdyaXRlIG1hc2sgZm9yIFpBUCBpbnNuLiAgKi8KLSAgICAgIGlm IChHRVRfQ09ERSAoeCkgPT0gQ09OU1RfRE9VQkxFKQorICAgICAgaWYgKENP TlNUX0lOVF9QICh4KSkKIAl7Ci0JICBIT1NUX1dJREVfSU5UIG1hc2sgPSAw OwotCSAgSE9TVF9XSURFX0lOVCB2YWx1ZTsKLQotCSAgdmFsdWUgPSBDT05T VF9ET1VCTEVfTE9XICh4KTsKLQkgIGZvciAoaSA9IDA7IGkgPCBIT1NUX0JJ VFNfUEVSX1dJREVfSU5UIC8gSE9TVF9CSVRTX1BFUl9DSEFSOwotCSAgICAg ICBpKyssIHZhbHVlID4+PSA4KQotCSAgICBpZiAodmFsdWUgJiAweGZmKQot CSAgICAgIG1hc2sgfD0gKDEgPDwgaSk7Ci0KLQkgIHZhbHVlID0gQ09OU1Rf RE9VQkxFX0hJR0ggKHgpOwotCSAgZm9yIChpID0gMDsgaSA8IEhPU1RfQklU U19QRVJfV0lERV9JTlQgLyBIT1NUX0JJVFNfUEVSX0NIQVI7Ci0JICAgICAg IGkrKywgdmFsdWUgPj49IDgpCi0JICAgIGlmICh2YWx1ZSAmIDB4ZmYpCi0J ICAgICAgbWFzayB8PSAoMSA8PCAoaSArIHNpemVvZiAoaW50KSkpOwotCi0J ICBmcHJpbnRmIChmaWxlLCBIT1NUX1dJREVfSU5UX1BSSU5UX0RFQywgbWFz ayAmIDB4ZmYpOwotCX0KLQotICAgICAgZWxzZSBpZiAoQ09OU1RfSU5UX1Ag KHgpKQotCXsKIAkgIEhPU1RfV0lERV9JTlQgbWFzayA9IDAsIHZhbHVlID0g SU5UVkFMICh4KTsKIAogCSAgZm9yIChpID0gMDsgaSA8IDg7IGkrKywgdmFs dWUgPj49IDgpCkBAIC04NjAyLDggKzg1NzksOCBAQCBzdW1tYXJpemVfaW5z biAocnR4IHgsIHN0cnVjdCBzaGFkb3dfc3VtbWFyeSAqc3VtLAogICAgICAg c3VtbWFyaXplX2luc24gKFhFWFAgKHgsIDApLCBzdW0sIDApOwogICAgICAg YnJlYWs7CiAKLSAgICBjYXNlIENPTlNUX0lOVDogICBjYXNlIENPTlNUX0RP VUJMRToKLSAgICBjYXNlIFNZTUJPTF9SRUY6ICBjYXNlIExBQkVMX1JFRjog ICAgIGNhc2UgQ09OU1Q6CisgICAgY2FzZSBDT05TVF9JTlQ6ICAgY2FzZSBD T05TVF9XSURFX0lOVDogIGNhc2UgQ09OU1RfRE9VQkxFOgorICAgIGNhc2Ug U1lNQk9MX1JFRjogIGNhc2UgTEFCRUxfUkVGOiAgICAgICBjYXNlIENPTlNU OgogICAgIGNhc2UgU0NSQVRDSDogICAgIGNhc2UgQVNNX0lOUFVUOgogICAg ICAgYnJlYWs7CiAKSW5kZXg6IGNvbmZpZy9hbHBoYS9hbHBoYS5oCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIGNvbmZpZy9hbHBoYS9hbHBoYS5oCShy ZXZpc2lvbiAyMjI5OTkpCisrKyBjb25maWcvYWxwaGEvYWxwaGEuaAkod29y a2luZyBjb3B5KQpAQCAtMTA2NiwzICsxMDY2LDUgQEAgZXh0ZXJuIGxvbmcg YWxwaGFfYXV0b19vZmZzZXQ7CiAKIC8qIFRoZSBzeXN0ZW0gaGVhZGVycyB1 bmRlciBBbHBoYSBzeXN0ZW1zIGFyZSBnZW5lcmFsbHkgQysrLWF3YXJlLiAg Ki8KICNkZWZpbmUgTk9fSU1QTElDSVRfRVhURVJOX0MKKworI2RlZmluZSBU QVJHRVRfU1VQUE9SVFNfV0lERV9JTlQgMQpJbmRleDogY29uZmlnL2FscGhh L2FscGhhLm1kCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNvbmZpZy9h bHBoYS9hbHBoYS5tZAkocmV2aXNpb24gMjIyOTk5KQorKysgY29uZmlnL2Fs cGhhL2FscGhhLm1kCSh3b3JraW5nIGNvcHkpCkBAIC05MjIsNyArOTIyLDcg QEAKIChkZWZpbmVfaW5zbiAiKmFuZHNpX2ludGVybmFsIgogICBbKHNldCAo bWF0Y2hfb3BlcmFuZDpTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXIscixy IikKIAkoYW5kOlNJIChtYXRjaF9vcGVyYW5kOlNJIDEgInJlZ19vcl8wX29w ZXJhbmQiICIlckosckosckoiKQotCQkobWF0Y2hfb3BlcmFuZDpTSSAyICJh bmRfb3BlcmFuZCIgInJJLE4sTUgiKSkpXQorCQkobWF0Y2hfb3BlcmFuZDpT SSAyICJhbmRfb3BlcmFuZCIgInJJLE4sTSIpKSldCiAgICIiCiAgICJACiAg ICBhbmQgJXIxLCUyLCUwCkBAIC05MzMsNyArOTMzLDcgQEAKIChkZWZpbmVf aW5zbiAiYW5kZGkzIgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpESSAwICJy ZWdpc3Rlcl9vcGVyYW5kIiAiPXIscixyIikKIAkoYW5kOkRJIChtYXRjaF9v cGVyYW5kOkRJIDEgInJlZ19vcl8wX29wZXJhbmQiICIlckosckosckoiKQot CQkobWF0Y2hfb3BlcmFuZDpESSAyICJhbmRfb3BlcmFuZCIgInJJLE4sTUgi KSkpXQorCQkobWF0Y2hfb3BlcmFuZDpESSAyICJhbmRfb3BlcmFuZCIgInJJ LE4sTSIpKSldCiAgICIiCiAgICJACiAgICBhbmQgJXIxLCUyLCUwCkBAIC00 MTU0LDYgKzQxNTQsNyBAQAogICAgICAzMi1iaXQgY29uc3RhbnRzIGluIFRJ bW9kZSBhbmQgcmVseSBvbiB0aGUgc3BsaXR0ZXIsIGJ1dAogICAgICB0aGlz IGRvZXNuJ3Qgc2VlbSB0byBiZSB3b3J0aCB0aGUgcGFpbi4gICovCiAgIGVs c2UgaWYgKENPTlNUX0lOVF9QIChvcGVyYW5kc1sxXSkKKwkgICB8fCBHRVRf Q09ERSAob3BlcmFuZHNbMV0pID09IENPTlNUX1dJREVfSU5UCiAJICAgfHwg R0VUX0NPREUgKG9wZXJhbmRzWzFdKSA9PSBDT05TVF9ET1VCTEUpCiAgICAg ewogICAgICAgcnR4IGluWzJdLCBvdXRbMl0sIHRhcmdldDsKSW5kZXg6IGNv bmZpZy9hbHBoYS9jb25zdHJhaW50cy5tZAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBjb25maWcvYWxwaGEvY29uc3RyYWludHMubWQJKHJldmlzaW9u IDIyMjk5OSkKKysrIGNvbmZpZy9hbHBoYS9jb25zdHJhaW50cy5tZAkod29y a2luZyBjb3B5KQpAQCAtMTgsNyArMTgsNyBAQAogOzsgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgogCiA7OzsgVW51c2VkIGxldHRlcnM6Ci07 OzsgICAgQUJDREVGICAgICAgICAgICAgICAgViAgWVoKKzs7OyAgICBBQkNE RUYgSCAgICAgICAgICAgICBWICBZWgogOzs7ICAgICAgIGRlIGdoaWprbCAg IHBxICB0dSB3eHl6CiAKIDs7IEludGVnZXIgcmVnaXN0ZXIgY29uc3RyYWlu dHMuCkBAIC04NCwxNyArODQsMTEgQEAKICAgKGFuZCAobWF0Y2hfY29kZSAi Y29uc3RfaW50IikKICAgICAgICAobWF0Y2hfdGVzdCAiaXZhbCA9PSAxIHx8 IGl2YWwgPT0gMiB8fCBpdmFsID09IDMiKSkpCiAKLShkZWZpbmVfY29uc3Ry YWludCAiSCIKLSAgIkEgdmFsaWQgb3BlcmFuZCBvZiBhIFpBUCBpbnNuLCB3 aGVuIGJ1aWxkaW5nIHdpdGggMzItYml0IEhPU1RfV0lERV9JTlQiCi0gIChh bmQgKG1hdGNoX2NvZGUgImNvbnN0X2RvdWJsZSIpCi0gICAgICAgKG1hdGNo X3Rlc3QgIm1vZGUgPT0gVk9JRG1vZGUgJiYgemFwX21hc2sgKGh2YWwpICYm IHphcF9tYXNrIChsdmFsKSIpKSkKLQogOzsgRmxvYXRpbmctcG9pbnQgY29u c3RhbnQgY29uc3RyYWludHMuCiAoZGVmaW5lX2NvbnN0cmFpbnQgIkciCiAg ICJUaGUgZmxvYXRpbmcgcG9pbnQgemVybyBjb25zdGFudCIKICAgKGFuZCAo bWF0Y2hfY29kZSAiY29uc3RfZG91YmxlIikKLSAgICAgICAobWF0Y2hfdGVz dCAiR0VUX01PREVfQ0xBU1MgKG1vZGUpID09IE1PREVfRkxPQVQKLQkJICAg ICYmIG9wID09IENPTlNUMF9SVFggKG1vZGUpIikpKQorICAgICAgIChtYXRj aF90ZXN0ICJvcCA9PSBDT05TVDBfUlRYIChtb2RlKSIpKSkKIAogOzsgIkV4 dHJhIiBjb25zdHJhaW50cy4KIChkZWZpbmVfY29uc3RyYWludCAiUSIKSW5k ZXg6IGNvbmZpZy9hbHBoYS9wcmVkaWNhdGVzLm1kCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGNvbmZpZy9hbHBoYS9wcmVkaWNhdGVzLm1kCShyZXZp c2lvbiAyMjI5OTkpCisrKyBjb25maWcvYWxwaGEvcHJlZGljYXRlcy5tZAko d29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQAogCiA7OyBSZXR1cm4g MSBpZiBPUCBpcyB0aGUgemVybyBjb25zdGFudCBmb3IgTU9ERS4KIChkZWZp bmVfcHJlZGljYXRlICJjb25zdDBfb3BlcmFuZCIKLSAgKGFuZCAobWF0Y2hf Y29kZSAiY29uc3RfaW50LGNvbnN0X2RvdWJsZSxjb25zdF92ZWN0b3IiKQor ICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQsY29uc3Rfd2lkZV9pbnQs Y29uc3RfZG91YmxlLGNvbnN0X3ZlY3RvciIpCiAgICAgICAgKG1hdGNoX3Rl c3QgIm9wID09IENPTlNUMF9SVFggKG1vZGUpIikpKQogCiA7OyBSZXR1cm5z IHRydWUgaWYgT1AgaXMgZWl0aGVyIHRoZSBjb25zdGFudCB6ZXJvIG9yIGEg cmVnaXN0ZXIuCkBAIC02NiwxMiArNjYsMTIgQEAKIDs7IFJldHVybiAxIGlm IHRoZSBvcGVyYW5kIGlzIGEgbm9uLXN5bWJvbGljIGNvbnN0YW50IG9wZXJh bmQgdGhhdAogOzsgZG9lcyBub3Qgc2F0aXNmeSBhZGRfb3BlcmFuZC4KIChk ZWZpbmVfcHJlZGljYXRlICJub25fYWRkX2NvbnN0X29wZXJhbmQiCi0gIChh bmQgKG1hdGNoX2NvZGUgImNvbnN0X2ludCxjb25zdF9kb3VibGUsY29uc3Rf dmVjdG9yIikKKyAgKGFuZCAobWF0Y2hfY29kZSAiY29uc3RfaW50LGNvbnN0 X3dpZGVfaW50LGNvbnN0X2RvdWJsZSxjb25zdF92ZWN0b3IiKQogICAgICAg IChub3QgKG1hdGNoX29wZXJhbmQgMCAiYWRkX29wZXJhbmQiKSkpKQogCiA7 OyBSZXR1cm4gMSBpZiB0aGUgb3BlcmFuZCBpcyBhIG5vbi1zeW1ib2xpYywg bm9uemVybyBjb25zdGFudCBvcGVyYW5kLgogKGRlZmluZV9wcmVkaWNhdGUg Im5vbl96ZXJvX2NvbnN0X29wZXJhbmQiCi0gIChhbmQgKG1hdGNoX2NvZGUg ImNvbnN0X2ludCxjb25zdF9kb3VibGUsY29uc3RfdmVjdG9yIikKKyAgKGFu ZCAobWF0Y2hfY29kZSAiY29uc3RfaW50LGNvbnN0X3dpZGVfaW50LGNvbnN0 X2RvdWJsZSxjb25zdF92ZWN0b3IiKQogICAgICAgIChtYXRjaF90ZXN0ICJv cCAhPSBDT05TVDBfUlRYIChtb2RlKSIpKSkKIAogOzsgUmV0dXJuIDEgaWYg T1AgaXMgdGhlIGNvbnN0YW50IDQgb3IgOC4KQEAgLTg1LDExICs4NSw3IEBA CiAgICAgKG1hdGNoX3Rlc3QgIih1bnNpZ25lZCBIT1NUX1dJREVfSU5UKSBJ TlRWQUwgKG9wKSA8IDB4MTAwCiAJCSB8fCAodW5zaWduZWQgSE9TVF9XSURF X0lOVCkgfiBJTlRWQUwgKG9wKSA8IDB4MTAwCiAJCSB8fCB6YXBfbWFzayAo SU5UVkFMIChvcCkpIikKLSAgICAoaWZfdGhlbl9lbHNlIChtYXRjaF9jb2Rl ICJjb25zdF9kb3VibGUiKQotICAgICAgKG1hdGNoX3Rlc3QgIkdFVF9NT0RF IChvcCkgPT0gVk9JRG1vZGUKLQkJICAgJiYgemFwX21hc2sgKENPTlNUX0RP VUJMRV9MT1cgKG9wKSkKLQkJICAgJiYgemFwX21hc2sgKENPTlNUX0RPVUJM RV9ISUdIIChvcCkpIikKLSAgICAgIChtYXRjaF9vcGVyYW5kIDAgInJlZ2lz dGVyX29wZXJhbmQiKSkpKQorICAgIChtYXRjaF9vcGVyYW5kIDAgInJlZ2lz dGVyX29wZXJhbmQiKSkpCiAKIDs7IFJldHVybiAxIGlmIE9QIGlzIGEgdmFs aWQgZmlyc3Qgb3BlcmFuZCB0byBhbiBJT1Igb3IgWE9SIGluc24uCiAoZGVm aW5lX3ByZWRpY2F0ZSAib3Jfb3BlcmFuZCIKQEAgLTE1NSw3ICsxNTEsNyBA QAogOzsgUmV0dXJuIDEgaWYgT1AgaXMgc29tZXRoaW5nIHRoYXQgY2FuIGJl IHJlbG9hZGVkIGludG8gYSByZWdpc3RlcjsKIDs7IGlmIGl0IGlzIGEgTUVN LCBpdCBuZWVkIG5vdCBiZSB2YWxpZC4KIChkZWZpbmVfcHJlZGljYXRlICJz b21lX29wZXJhbmQiCi0gIChpb3IgKG1hdGNoX2NvZGUgInJlZyxtZW0sY29u c3RfaW50LGNvbnN0X2RvdWJsZSxjb25zdF92ZWN0b3IsCisgIChpb3IgKG1h dGNoX2NvZGUgInJlZyxtZW0sY29uc3RfaW50LGNvbnN0X3dpZGVfaW50LGNv bnN0X2RvdWJsZSxjb25zdF92ZWN0b3IsCiAJCSAgICBsYWJlbF9yZWYsc3lt Ym9sX3JlZixjb25zdCxoaWdoIikKICAgICAgICAoYW5kIChtYXRjaF9jb2Rl ICJzdWJyZWciKQogCSAgICAobWF0Y2hfdGVzdCAic29tZV9vcGVyYW5kIChT VUJSRUdfUkVHIChvcCksIFZPSURtb2RlKSIpKSkpCkBAIC0xNjksNyArMTY1 LDcgQEAKIDs7IFJldHVybiAxIGlmIE9QIGlzIGEgdmFsaWQgb3BlcmFuZCBm b3IgdGhlIHNvdXJjZSBvZiBhIG1vdmUgaW5zbi4KIChkZWZpbmVfcHJlZGlj YXRlICJpbnB1dF9vcGVyYW5kIgogICAobWF0Y2hfY29kZSAibGFiZWxfcmVm LHN5bWJvbF9yZWYsY29uc3QsaGlnaCxyZWcsc3VicmVnLG1lbSwKLQkgICAg ICAgY29uc3RfZG91YmxlLGNvbnN0X3ZlY3Rvcixjb25zdF9pbnQiKQorCSAg ICAgICBjb25zdF9kb3VibGUsY29uc3RfdmVjdG9yLGNvbnN0X2ludCxjb25z dF93aWRlX2ludCIpCiB7CiAgIHN3aXRjaCAoR0VUX0NPREUgKG9wKSkKICAg ICB7CkBAIC0yMDUsNiArMjAxLDcgQEAKICAgICAgIHJldHVybiAoKFRBUkdF VF9CV1ggfHwgKG1vZGUgIT0gSEltb2RlICYmIG1vZGUgIT0gUUltb2RlKSkK IAkgICAgICAmJiBnZW5lcmFsX29wZXJhbmQgKG9wLCBtb2RlKSk7CiAKKyAg ICBjYXNlIENPTlNUX1dJREVfSU5UOgogICAgIGNhc2UgQ09OU1RfRE9VQkxF OgogICAgICAgcmV0dXJuIG9wID09IENPTlNUMF9SVFggKG1vZGUpOwogCklu ZGV4OiBjb25maWcvYWxwaGEvc3luYy5tZAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBjb25maWcvYWxwaGEvc3luYy5tZAkocmV2aXNpb24gMjIyOTk5 KQorKysgY29uZmlnL2FscGhhL3N5bmMubWQJKHdvcmtpbmcgY29weSkKQEAg LTI0LDcgKzI0LDcgQEAKICAgWyhwbHVzICJhZGRfb3BlcmFuZCIpIChtaW51 cyAicmVnX29yXzhiaXRfb3BlcmFuZCIpCiAgICAoaW9yICJvcl9vcGVyYW5k IikgKHhvciAib3Jfb3BlcmFuZCIpIChhbmQgImFuZF9vcGVyYW5kIildKQog KGRlZmluZV9jb2RlX2F0dHIgZmV0Y2hvcF9jb25zdHIKLSAgWyhwbHVzICJy S0wiKSAobWludXMgInJJIikgKGlvciAicklOIikgKHhvciAicklOIikgKGFu ZCAicmlOSE0iKV0pCisgIFsocGx1cyAicktMIikgKG1pbnVzICJySSIpIChp b3IgInJJTiIpICh4b3IgInJJTiIpIChhbmQgInJpTk0iKV0pCiAKIAogKGRl ZmluZV9leHBhbmQgIm1lbW9yeV9iYXJyaWVyIgo= --001a113df41481fad30515e3d837--