From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19372 invoked by alias); 31 Mar 2011 21:39:03 -0000 Received: (qmail 19359 invoked by uid 22791); 31 Mar 2011 21:39:01 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_WC X-Spam-Check-By: sourceware.org Received: from mail-yw0-f47.google.com (HELO mail-yw0-f47.google.com) (209.85.213.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 31 Mar 2011 21:38:54 +0000 Received: by ywg8 with SMTP id 8so1568715ywg.20 for ; Thu, 31 Mar 2011 14:38:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.150.251.38 with SMTP id y38mr3202427ybh.105.1301607533583; Thu, 31 Mar 2011 14:38:53 -0700 (PDT) Received: by 10.100.92.2 with HTTP; Thu, 31 Mar 2011 14:38:53 -0700 (PDT) Date: Thu, 31 Mar 2011 22:16:00 -0000 Message-ID: Subject: [patch][cprop.c] Random cleanups to un-gcse cprop.c From: Steven Bosscher To: GCC Patches , Jeff Law , Richard Guenther Content-Type: multipart/mixed; boundary=000e0cd719daad1f03049fce1e8e 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 X-SW-Source: 2011-03/txt/msg02296.txt.bz2 --000e0cd719daad1f03049fce1e8e Content-Type: text/plain; charset=ISO-8859-1 Content-length: 234 Hi, This is a boring one. An almost-perfect %s/gcse/cprop/g except for flag_gcse, and a few other random cleanups. Hardly noteworthy. This goes in after the cprop_cleanup_2.diff patch as obvious unless someone objects. Ciao! Steven --000e0cd719daad1f03049fce1e8e Content-Type: text/plain; charset=US-ASCII; name="cprop_cleanup_3.diff.txt" Content-Disposition: attachment; filename="cprop_cleanup_3.diff.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gly7ho691 Content-length: 13494 CSogY3Byb3AuYzogcy9nY3NlL2Nwcm9wLyBldmVyeXdoZXJlIGV4Y2VwdCBm b3IgZmxhZ19nY3NlLgoJKGdjc2Vfb2JzdGFjayk6IFJlbmFtZWQgdG8gY3By b3Bfb2JzdGFjay4KCShHTkVXLCBHTkVXVkVDLCBHTkVXVkFSKTogUmVtb3Zl LgoJKGdtYWxsb2MpOiBSZW1vdmUuCgkoYWxsb2NfaGFzaF90YWJsZSk6IFVz ZSBYTkVXVkFSIGluc3RlYWQgb2YgR05FV1ZBUi4KCShHT0JORVcsIEdPQk5F V1ZBUik6IEFkanVzdCBmb3IgZ2NzZV9vYnN0YWNrIHJlbmFtaW5nLgoJKGdj c2VfYWxsb2MpOiBMaWtld2lzZSwgYW5kIHJlbmFtZSB0byBjcHJvcF9hbGxv Yy4KCShhbGxvY19nY3NlX21lbiwgZnJlZV9nY3NlX21lbSk6IFJlbW92ZS4K CShnY3NlX2NvbnN0YW50X3ApOiBSZW5hbWUgdG8gY3Byb3BfY29uc3RhbnRf cCwgYW5kIGFkanVzdCBhbGwgY2FsbGVycy4KCShjb21wdXRlX2hhc2hfdGFi bGVfd29yayk6IEFsbG9jYXRlIGFuZCBmcmVlIHJlZ19zZXRfYml0bWFwIGhl cmUuCgkob25lX2Nwcm9wX3Bhc3MpOiBMaWtld2lzZS4gQWRqdXN0IGZvciBn Y3NlX29ic3RhY2sgcmVuYW1pbmcuCgoqKiogY3Byb3AuYy52MwkyMDExLTAz LTMxIDIzOjE2OjI3LjAwMDAwMDAwMCArMDIwMAotLS0gY3Byb3AuYwkyMDEx LTAzLTMxIDIzOjI2OjA2LjAwMDAwMDAwMCArMDIwMAoqKioqKioqKioqKioq KiogYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIAoq KiogNTEsNTcgKioqKgogIAogIAwKICAvKiBBbiBvYnN0YWNrIGZvciBvdXIg d29ya2luZyB2YXJpYWJsZXMuICAqLwohIHN0YXRpYyBzdHJ1Y3Qgb2JzdGFj ayBnY3NlX29ic3RhY2s7CiAgCiAgc3RydWN0IHJlZ191c2Uge3J0eCByZWdf cnR4OyB9OwogIAotLS0gNTEsNTcgLS0tLQogIAogIAwKICAvKiBBbiBvYnN0 YWNrIGZvciBvdXIgd29ya2luZyB2YXJpYWJsZXMuICAqLwohIHN0YXRpYyBz dHJ1Y3Qgb2JzdGFjayBjcHJvcF9vYnN0YWNrOwogIAogIHN0cnVjdCByZWdf dXNlIHtydHggcmVnX3J0eDsgfTsKICAKKioqKioqKioqKioqKioqIHN0YXRp YyBpbnQgZ2xvYmFsX2NvbnN0X3Byb3BfY291bnQ7CioqKiAxMzgsMTg2ICoq KioKICBzdGF0aWMgaW50IGdsb2JhbF9jb3B5X3Byb3BfY291bnQ7CiAgDAog IAohICNkZWZpbmUgR05FVyhUKQkJCSgoVCAqKSBnbWFsbG9jIChzaXplb2Yg KFQpKSkKISAKISAjZGVmaW5lIEdORVdWRUMoVCwgTikJCSgoVCAqKSBnbWFs bG9jIChzaXplb2YgKFQpICogKE4pKSkKISAKISAjZGVmaW5lIEdORVdWQVIo VCwgUykJCSgoVCAqKSBnbWFsbG9jICgoUykpKQohIAohICNkZWZpbmUgR09C TkVXKFQpCQkoKFQgKikgZ2NzZV9hbGxvYyAoc2l6ZW9mIChUKSkpCiEgI2Rl ZmluZSBHT0JORVdWQVIoVCwgUykJCSgoVCAqKSBnY3NlX2FsbG9jICgoUykp KQohIAwKISAvKiBDb3ZlciBmdW5jdGlvbiB0byB4bWFsbG9jIHRvIHJlY29y ZCBieXRlcyBhbGxvY2F0ZWQuICAqLwohIAohIHN0YXRpYyB2b2lkICoKISBn bWFsbG9jIChzaXplX3Qgc2l6ZSkKISB7CiEgICBieXRlc191c2VkICs9IHNp emU7CiEgICByZXR1cm4geG1hbGxvYyAoc2l6ZSk7CiEgfQogIAogIC8qIENv dmVyIGZ1bmN0aW9uIHRvIG9ic3RhY2tfYWxsb2MuICAqLwogIAogIHN0YXRp YyB2b2lkICoKISBnY3NlX2FsbG9jICh1bnNpZ25lZCBsb25nIHNpemUpCiAg ewogICAgYnl0ZXNfdXNlZCArPSBzaXplOwohICAgcmV0dXJuIG9ic3RhY2tf YWxsb2MgKCZnY3NlX29ic3RhY2ssIHNpemUpOwohIH0KISAKISAvKiBBbGxv Y2F0ZSBtZW1vcnkgZm9yIHRoZSByZWcvbWVtb3J5IHNldCB0cmFja2luZyB0 YWJsZXMuCiEgICAgVGhpcyBpcyBjYWxsZWQgYXQgdGhlIHN0YXJ0IG9mIGVh Y2ggcGFzcy4gICovCiEgCiEgc3RhdGljIHZvaWQKISBhbGxvY19nY3NlX21l bSAodm9pZCkKISB7CiEgICAvKiBBbGxvY2F0ZSB2YXJzIHRvIHRyYWNrIHNl dHMgb2YgcmVncy4gICovCiEgICByZWdfc2V0X2JpdG1hcCA9IEFMTE9DX1JF R19TRVQgKE5VTEwpOwohIH0KISAKISAvKiBGcmVlIG1lbW9yeSBhbGxvY2F0 ZWQgYnkgYWxsb2NfZ2NzZV9tZW0uICAqLwohIAohIHN0YXRpYyB2b2lkCiEg ZnJlZV9nY3NlX21lbSAodm9pZCkKISB7CiEgICBGUkVFX1JFR19TRVQgKHJl Z19zZXRfYml0bWFwKTsKICB9CiAgDAogIC8qIFJldHVybiBub256ZXJvIGlm IHJlZ2lzdGVyIFggaXMgdW5jaGFuZ2VkIGZyb20gSU5TTiB0byB0aGUgZW5k Ci0tLSAxMzgsMTUzIC0tLS0KICBzdGF0aWMgaW50IGdsb2JhbF9jb3B5X3By b3BfY291bnQ7CiAgDAogIAohICNkZWZpbmUgR09CTkVXKFQpCQkoKFQgKikg Y3Byb3BfYWxsb2MgKHNpemVvZiAoVCkpKQohICNkZWZpbmUgR09CTkVXVkFS KFQsIFMpCQkoKFQgKikgY3Byb3BfYWxsb2MgKChTKSkpCiAgCiAgLyogQ292 ZXIgZnVuY3Rpb24gdG8gb2JzdGFja19hbGxvYy4gICovCiAgCiAgc3RhdGlj IHZvaWQgKgohIGNwcm9wX2FsbG9jICh1bnNpZ25lZCBsb25nIHNpemUpCiAg ewogICAgYnl0ZXNfdXNlZCArPSBzaXplOwohICAgcmV0dXJuIG9ic3RhY2tf YWxsb2MgKCZjcHJvcF9vYnN0YWNrLCBzaXplKTsKICB9CiAgDAogIC8qIFJl dHVybiBub256ZXJvIGlmIHJlZ2lzdGVyIFggaXMgdW5jaGFuZ2VkIGZyb20g SU5TTiB0byB0aGUgZW5kCioqKioqKioqKioqKioqKiBpbnNlcnRfc2V0X2lu X3RhYmxlIChydHggeCwgcnR4IGluc24sIHN0CioqKiAyOTIsMjk4ICoqKioK ICAgICBpcyBzaGFyYWJsZS4gICovCiAgCiAgc3RhdGljIGJvb2wKISBnY3Nl X2NvbnN0YW50X3AgKGNvbnN0X3J0eCB4KQogIHsKICAgIHJldHVybiBDT05T VEFOVF9QICh4KSAmJiAoR0VUX0NPREUgKHgpICE9IENPTlNUIHx8IHNoYXJl ZF9jb25zdF9wICh4KSk7CiAgfQotLS0gMjU5LDI2NSAtLS0tCiAgICAgaXMg c2hhcmFibGUuICAqLwogIAogIHN0YXRpYyBib29sCiEgY3Byb3BfY29uc3Rh bnRfcCAoY29uc3RfcnR4IHgpCiAgewogICAgcmV0dXJuIENPTlNUQU5UX1Ag KHgpICYmIChHRVRfQ09ERSAoeCkgIT0gQ09OU1QgfHwgc2hhcmVkX2NvbnN0 X3AgKHgpKTsKICB9CioqKioqKioqKioqKioqKiBoYXNoX3NjYW5fc2V0IChy dHggcGF0LCBydHggaW5zbiwgc3RydWN0CioqKiAzMjgsMzM0ICoqKioKICAg ICAgICBpZiAobm90ZSAhPSAwCiAgCSAgJiYgUkVHX05PVEVfS0lORCAobm90 ZSkgPT0gUkVHX0VRVUFMCiAgCSAgJiYgIVJFR19QIChzcmMpCiEgCSAgJiYg Z2NzZV9jb25zdGFudF9wIChYRVhQIChub3RlLCAwKSkpCiAgCXNyYyA9IFhF WFAgKG5vdGUsIDApLCBwYXQgPSBnZW5fcnR4X1NFVCAoVk9JRG1vZGUsIGRl c3QsIHNyYyk7CiAgCiAgICAgICAgLyogUmVjb3JkIHNldHMgZm9yIGNvbnN0 YW50L2NvcHkgcHJvcGFnYXRpb24uICAqLwotLS0gMjk1LDMwMSAtLS0tCiAg ICAgICAgaWYgKG5vdGUgIT0gMAogIAkgICYmIFJFR19OT1RFX0tJTkQgKG5v dGUpID09IFJFR19FUVVBTAogIAkgICYmICFSRUdfUCAoc3JjKQohIAkgICYm IGNwcm9wX2NvbnN0YW50X3AgKFhFWFAgKG5vdGUsIDApKSkKICAJc3JjID0g WEVYUCAobm90ZSwgMCksIHBhdCA9IGdlbl9ydHhfU0VUIChWT0lEbW9kZSwg ZGVzdCwgc3JjKTsKICAKICAgICAgICAvKiBSZWNvcmQgc2V0cyBmb3IgY29u c3RhbnQvY29weSBwcm9wYWdhdGlvbi4gICovCioqKioqKioqKioqKioqKiBo YXNoX3NjYW5fc2V0IChydHggcGF0LCBydHggaW5zbiwgc3RydWN0CioqKiAz MzYsMzQyICoqKioKICAJICAgJiYgc3JjICE9IGRlc3QKICAJICAgJiYgISBI QVJEX1JFR0lTVEVSX1AgKHNyYykKICAJICAgJiYgcmVnX2F2YWlsYWJsZV9w IChzcmMsIGluc24pKQohIAkgIHx8IGdjc2VfY29uc3RhbnRfcCAoc3JjKSkK ICAJaW5zZXJ0X3NldF9pbl90YWJsZSAocGF0LCBpbnNuLCB0YWJsZSk7CiAg ICAgIH0KICB9Ci0tLSAzMDMsMzA5IC0tLS0KICAJICAgJiYgc3JjICE9IGRl c3QKICAJICAgJiYgISBIQVJEX1JFR0lTVEVSX1AgKHNyYykKICAJICAgJiYg cmVnX2F2YWlsYWJsZV9wIChzcmMsIGluc24pKQohIAkgIHx8IGNwcm9wX2Nv bnN0YW50X3AgKHNyYykpCiAgCWluc2VydF9zZXRfaW5fdGFibGUgKHBhdCwg aW5zbiwgdGFibGUpOwogICAgICB9CiAgfQoqKioqKioqKioqKioqKiogY29t cHV0ZV9oYXNoX3RhYmxlX3dvcmsgKHN0cnVjdCBoYXNoX3RhYgoqKiogNDM4 LDQ0MyAqKioqCi0tLSA0MDUsNDEzIC0tLS0KICB7CiAgICBiYXNpY19ibG9j ayBiYjsKICAKKyAgIC8qIEFsbG9jYXRlIHZhcnMgdG8gdHJhY2sgc2V0cyBv ZiByZWdzLiAgKi8KKyAgIHJlZ19zZXRfYml0bWFwID0gQUxMT0NfUkVHX1NF VCAoTlVMTCk7CisgCiAgICBGT1JfRUFDSF9CQiAoYmIpCiAgICAgIHsKICAg ICAgICBydHggaW5zbjsKKioqKioqKioqKioqKioqIGNvbXB1dGVfaGFzaF90 YWJsZV93b3JrIChzdHJ1Y3QgaGFzaF90YWIKKioqIDQ2Nyw0NzIgKioqKgot LS0gNDM3LDQ0NCAtLS0tCiAgICAgICAgaWYgKGltcGxpY2l0X3NldHNbYmIt PmluZGV4XSAhPSBOVUxMX1JUWCkKICAJaGFzaF9zY2FuX3NldCAoaW1wbGlj aXRfc2V0c1tiYi0+aW5kZXhdLCBCQl9IRUFEIChiYiksIHRhYmxlKTsKICAg ICAgfQorIAorICAgRlJFRV9SRUdfU0VUIChyZWdfc2V0X2JpdG1hcCk7CiAg fQogIAogIC8qIEFsbG9jYXRlIHNwYWNlIGZvciB0aGUgc2V0L2V4cHIgaGFz aCBUQUJMRS4KKioqKioqKioqKioqKioqIGFsbG9jX2hhc2hfdGFibGUgKHN0 cnVjdCBoYXNoX3RhYmxlX2QgKnQKKioqIDQ4OCw0OTQgKioqKgogICAgICAg Pz8/IExhdGVyIHRha2Ugc29tZSBtZWFzdXJlbWVudHMuICAqLwogICAgdGFi bGUtPnNpemUgfD0gMTsKICAgIG4gPSB0YWJsZS0+c2l6ZSAqIHNpemVvZiAo c3RydWN0IGV4cHIgKik7CiEgICB0YWJsZS0+dGFibGUgPSBHTkVXVkFSIChz dHJ1Y3QgZXhwciAqLCBuKTsKICB9CiAgCiAgLyogRnJlZSB0aGluZ3MgYWxs b2NhdGVkIGJ5IGFsbG9jX2hhc2hfdGFibGUuICAqLwotLS0gNDYwLDQ2NiAt LS0tCiAgICAgICA/Pz8gTGF0ZXIgdGFrZSBzb21lIG1lYXN1cmVtZW50cy4g ICovCiAgICB0YWJsZS0+c2l6ZSB8PSAxOwogICAgbiA9IHRhYmxlLT5zaXpl ICogc2l6ZW9mIChzdHJ1Y3QgZXhwciAqKTsKISAgIHRhYmxlLT50YWJsZSA9 IFhORVdWQVIgKHN0cnVjdCBleHByICosIG4pOwogIH0KICAKICAvKiBGcmVl IHRoaW5ncyBhbGxvY2F0ZWQgYnkgYWxsb2NfaGFzaF90YWJsZS4gICovCioq KioqKioqKioqKioqKiBmaW5kX2F2YWlsX3NldCAoaW50IHJlZ25vLCBydHgg aW5zbikKKioqIDkzMSw5MzcgKioqKgogICAgICAgICAgIElmIHRoZSBzb3Vy Y2Ugb3BlcmFuZCBjaGFuZ2VkLCB3ZSBtYXkgc3RpbGwgdXNlIGl0IGZvciB0 aGUgbmV4dAogICAgICAgICAgIGl0ZXJhdGlvbiBvZiB0aGlzIGxvb3AsIGJ1 dCB3ZSBtYXkgbm90IHVzZSBpdCBmb3Igc3Vic3RpdHV0aW9ucy4gICovCiAg CiEgICAgICAgaWYgKGdjc2VfY29uc3RhbnRfcCAoc3JjKSB8fCByZWdfbm90 X3NldF9wIChzcmMsIGluc24pKQogIAlzZXQxID0gc2V0OwogIAogICAgICAg IC8qIElmIHRoZSBzb3VyY2Ugb2YgdGhlIHNldCBpcyBhbnl0aGluZyBleGNl cHQgYSByZWdpc3RlciwgdGhlbgotLS0gOTAzLDkwOSAtLS0tCiAgICAgICAg ICAgSWYgdGhlIHNvdXJjZSBvcGVyYW5kIGNoYW5nZWQsIHdlIG1heSBzdGls bCB1c2UgaXQgZm9yIHRoZSBuZXh0CiAgICAgICAgICAgaXRlcmF0aW9uIG9m IHRoaXMgbG9vcCwgYnV0IHdlIG1heSBub3QgdXNlIGl0IGZvciBzdWJzdGl0 dXRpb25zLiAgKi8KICAKISAgICAgICBpZiAoY3Byb3BfY29uc3RhbnRfcCAo c3JjKSB8fCByZWdfbm90X3NldF9wIChzcmMsIGluc24pKQogIAlzZXQxID0g c2V0OwogIAogICAgICAgIC8qIElmIHRoZSBzb3VyY2Ugb2YgdGhlIHNldCBp cyBhbnl0aGluZyBleGNlcHQgYSByZWdpc3RlciwgdGhlbgoqKioqKioqKioq KioqKiogY3Byb3BfaW5zbiAocnR4IGluc24pCioqKiAxMTQ1LDExNTEgKioq KgogICAgICAgIHNyYyA9IFNFVF9TUkMgKHBhdCk7CiAgCiAgICAgICAgLyog Q29uc3RhbnQgcHJvcGFnYXRpb24uICAqLwohICAgICAgIGlmIChnY3NlX2Nv bnN0YW50X3AgKHNyYykpCiAgCXsKICAgICAgICAgICAgaWYgKGNvbnN0cHJv cF9yZWdpc3RlciAoaW5zbiwgcmVnX3VzZWQtPnJlZ19ydHgsIHNyYykpCiAg CSAgICB7Ci0tLSAxMTE3LDExMjMgLS0tLQogICAgICAgIHNyYyA9IFNFVF9T UkMgKHBhdCk7CiAgCiAgICAgICAgLyogQ29uc3RhbnQgcHJvcGFnYXRpb24u ICAqLwohICAgICAgIGlmIChjcHJvcF9jb25zdGFudF9wIChzcmMpKQogIAl7 CiAgICAgICAgICAgIGlmIChjb25zdHByb3BfcmVnaXN0ZXIgKGluc24sIHJl Z191c2VkLT5yZWdfcnR4LCBzcmMpKQogIAkgICAgewoqKioqKioqKioqKioq KiogZG9fbG9jYWxfY3Byb3AgKHJ0eCB4LCBydHggaW5zbikKKioqIDEyNjEs MTI2NyAqKioqCiAgCSAgcnR4IHRoaXNfcnR4ID0gbC0+bG9jOwogIAkgIHJ0 eCBub3RlOwogIAohIAkgIGlmIChnY3NlX2NvbnN0YW50X3AgKHRoaXNfcnR4 KSkKICAJICAgIG5ld2Nuc3QgPSB0aGlzX3J0eDsKICAJICBpZiAoUkVHX1Ag KHRoaXNfcnR4KSAmJiBSRUdOTyAodGhpc19ydHgpID49IEZJUlNUX1BTRVVE T19SRUdJU1RFUgogIAkgICAgICAvKiBEb24ndCBjb3B5IHByb3BhZ2F0ZSBp ZiBpdCBoYXMgYXR0YWNoZWQgUkVHX0VRVUlWIG5vdGUuCi0tLSAxMjMzLDEy MzkgLS0tLQogIAkgIHJ0eCB0aGlzX3J0eCA9IGwtPmxvYzsKICAJICBydHgg bm90ZTsKICAKISAJICBpZiAoY3Byb3BfY29uc3RhbnRfcCAodGhpc19ydHgp KQogIAkgICAgbmV3Y25zdCA9IHRoaXNfcnR4OwogIAkgIGlmIChSRUdfUCAo dGhpc19ydHgpICYmIFJFR05PICh0aGlzX3J0eCkgPj0gRklSU1RfUFNFVURP X1JFR0lTVEVSCiAgCSAgICAgIC8qIERvbid0IGNvcHkgcHJvcGFnYXRlIGlm IGl0IGhhcyBhdHRhY2hlZCBSRUdfRVFVSVYgbm90ZS4KKioqKioqKioqKioq KioqIGltcGxpY2l0X3NldF9jb25kX3AgKGNvbnN0X3J0eCBjb25kKQoqKiog MTQwMCwxNDA2ICoqKioKICAJcmV0dXJuIDA7CiAgICAgIH0KICAKISAgIHJl dHVybiBnY3NlX2NvbnN0YW50X3AgKGNzdCk7CiAgfQogIAogIC8qIEZpbmQg dGhlIGltcGxpY2l0IHNldHMgb2YgYSBmdW5jdGlvbi4gIEFuICJpbXBsaWNp dCBzZXQiIGlzIGEgY29uc3RyYWludAotLS0gMTM3MiwxMzc4IC0tLS0KICAJ cmV0dXJuIDA7CiAgICAgIH0KICAKISAgIHJldHVybiBjcHJvcF9jb25zdGFu dF9wIChjc3QpOwogIH0KICAKICAvKiBGaW5kIHRoZSBpbXBsaWNpdCBzZXRz IG9mIGEgZnVuY3Rpb24uICBBbiAiaW1wbGljaXQgc2V0IiBpcyBhIGNvbnN0 cmFpbnQKKioqKioqKioqKioqKioqIGZpbmRfYnlwYXNzX3NldCAoaW50IHJl Z25vLCBpbnQgYmIpCioqKiAxNDk3LDE1MDMgKioqKgogICAgICAgIGdjY19h c3NlcnQgKEdFVF9DT0RFIChzZXQtPmV4cHIpID09IFNFVCk7CiAgCiAgICAg ICAgc3JjID0gU0VUX1NSQyAoc2V0LT5leHByKTsKISAgICAgICBpZiAoZ2Nz ZV9jb25zdGFudF9wIChzcmMpKQogIAlyZXN1bHQgPSBzZXQ7CiAgCiAgICAg ICAgaWYgKCEgUkVHX1AgKHNyYykpCi0tLSAxNDY5LDE0NzUgLS0tLQogICAg ICAgIGdjY19hc3NlcnQgKEdFVF9DT0RFIChzZXQtPmV4cHIpID09IFNFVCk7 CiAgCiAgICAgICAgc3JjID0gU0VUX1NSQyAoc2V0LT5leHByKTsKISAgICAg ICBpZiAoY3Byb3BfY29uc3RhbnRfcCAoc3JjKSkKICAJcmVzdWx0ID0gc2V0 OwogIAogICAgICAgIGlmICghIFJFR19QIChzcmMpKQoqKioqKioqKioqKioq Kiogb25lX2Nwcm9wX3Bhc3MgKHZvaWQpCioqKiAxODA4LDE4MTUgKioqKgog ICAgZ2xvYmFsX2NvcHlfcHJvcF9jb3VudCA9IGxvY2FsX2NvcHlfcHJvcF9j b3VudCA9IDA7CiAgCiAgICBieXRlc191c2VkID0gMDsKISAgIGdjY19vYnN0 YWNrX2luaXQgKCZnY3NlX29ic3RhY2spOwohICAgYWxsb2NfZ2NzZV9tZW0g KCk7CiAgCiAgICAvKiBEbyBhIGxvY2FsIGNvbnN0L2NvcHkgcHJvcGFnYXRp b24gcGFzcyBmaXJzdC4gIFRoZSBnbG9iYWwgcGFzcwogICAgICAgb25seSBo YW5kbGVzIGdsb2JhbCBvcHBvcnR1bml0aWVzLgotLS0gMTc4MCwxNzg2IC0t LS0KICAgIGdsb2JhbF9jb3B5X3Byb3BfY291bnQgPSBsb2NhbF9jb3B5X3By b3BfY291bnQgPSAwOwogIAogICAgYnl0ZXNfdXNlZCA9IDA7CiEgICBnY2Nf b2JzdGFja19pbml0ICgmY3Byb3Bfb2JzdGFjayk7CiAgCiAgICAvKiBEbyBh IGxvY2FsIGNvbnN0L2NvcHkgcHJvcGFnYXRpb24gcGFzcyBmaXJzdC4gIFRo ZSBnbG9iYWwgcGFzcwogICAgICAgb25seSBoYW5kbGVzIGdsb2JhbCBvcHBv cnR1bml0aWVzLgoqKioqKioqKioqKioqKiogb25lX2Nwcm9wX3Bhc3MgKHZv aWQpCioqKiAxODI0LDE4MzAgKioqKgogICAgICAgRklYTUU6IFRoZSBnbG9i YWwgYW5hbHlzaXMgd291bGQgbm90IGdldCBpbnRvIGluZmluaXRlIGxvb3Bz IGlmIGl0CiAgCSAgICB3b3VsZCB1c2UgdGhlIERGIHNvbHZlciAodmlhIGRm X3NpbXBsZV9kYXRhZmxvdykgaW5zdGVhZCBvZgogIAkgICAgdGhlIHNvbHZl ciBpbXBsZW1lbnRlZCBpbiB0aGlzIGZpbGUuICAqLwohICAgaWYgKGxvY2Fs X2Nwcm9wX3Bhc3MgKCkpCiAgICAgIHsKICAgICAgICBkZWxldGVfdW5yZWFj aGFibGVfYmxvY2tzICgpOwogICAgICAgIGRmX2FuYWx5emUgKCk7Ci0tLSAx Nzk1LDE4MDIgLS0tLQogICAgICAgRklYTUU6IFRoZSBnbG9iYWwgYW5hbHlz aXMgd291bGQgbm90IGdldCBpbnRvIGluZmluaXRlIGxvb3BzIGlmIGl0CiAg CSAgICB3b3VsZCB1c2UgdGhlIERGIHNvbHZlciAodmlhIGRmX3NpbXBsZV9k YXRhZmxvdykgaW5zdGVhZCBvZgogIAkgICAgdGhlIHNvbHZlciBpbXBsZW1l bnRlZCBpbiB0aGlzIGZpbGUuICAqLwohICAgY2hhbmdlZCB8PSBsb2NhbF9j cHJvcF9wYXNzICgpOwohICAgaWYgKGNoYW5nZWQpCiAgICAgIHsKICAgICAg ICBkZWxldGVfdW5yZWFjaGFibGVfYmxvY2tzICgpOwogICAgICAgIGRmX2Fu YWx5emUgKCk7CioqKioqKioqKioqKioqKiBvbmVfY3Byb3BfcGFzcyAodm9p ZCkKKioqIDE4NTEsMTg1NiAqKioqCi0tLSAxODIzLDE4MzEgLS0tLQogICAg ICAgIGFsbG9jX2Nwcm9wX21lbSAobGFzdF9iYXNpY19ibG9jaywgc2V0X2hh c2hfdGFibGUubl9lbGVtcyk7CiAgICAgICAgY29tcHV0ZV9jcHJvcF9kYXRh ICgpOwogIAorICAgICAgIC8qIEFsbG9jYXRlIHZhcnMgdG8gdHJhY2sgc2V0 cyBvZiByZWdzLiAgKi8KKyAgICAgICByZWdfc2V0X2JpdG1hcCA9IEFMTE9D X1JFR19TRVQgKE5VTEwpOworIAogICAgICAgIEZPUl9CQl9CRVRXRUVOIChi YiwgRU5UUllfQkxPQ0tfUFRSLT5uZXh0X2JiLT5uZXh0X2JiLCBFWElUX0JM T0NLX1BUUiwgbmV4dF9iYikKICAJewogIAkgIC8qIFJlc2V0IHRhYmxlcyB1 c2VkIHRvIGtlZXAgdHJhY2sgb2Ygd2hhdCdzIHN0aWxsIHZhbGlkIFtzaW5j ZQoqKioqKioqKioqKioqKiogb25lX2Nwcm9wX3Bhc3MgKHZvaWQpCioqKiAx ODcyLDE4ODMgKioqKgogIAl9CiAgCiAgICAgICAgY2hhbmdlZCB8PSBieXBh c3NfY29uZGl0aW9uYWxfanVtcHMgKCk7CiAgICAgICAgZnJlZV9jcHJvcF9t ZW0gKCk7CiAgICAgIH0KICAKICAgIGZyZWVfaGFzaF90YWJsZSAoJnNldF9o YXNoX3RhYmxlKTsKISAgIGZyZWVfZ2NzZV9tZW0gKCk7CiEgICBvYnN0YWNr X2ZyZWUgKCZnY3NlX29ic3RhY2ssIE5VTEwpOwogIAogICAgaWYgKGR1bXBf ZmlsZSkKICAgICAgewotLS0gMTg0NywxODU5IC0tLS0KICAJfQogIAogICAg ICAgIGNoYW5nZWQgfD0gYnlwYXNzX2NvbmRpdGlvbmFsX2p1bXBzICgpOwor IAorICAgICAgIEZSRUVfUkVHX1NFVCAocmVnX3NldF9iaXRtYXApOwogICAg ICAgIGZyZWVfY3Byb3BfbWVtICgpOwogICAgICB9CiAgCiAgICBmcmVlX2hh c2hfdGFibGUgKCZzZXRfaGFzaF90YWJsZSk7CiEgICBvYnN0YWNrX2ZyZWUg KCZjcHJvcF9vYnN0YWNrLCBOVUxMKTsKICAKICAgIGlmIChkdW1wX2ZpbGUp CiAgICAgIHsK --000e0cd719daad1f03049fce1e8e--