From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KZkk5-0001pq-I2 for qemu-devel@nongnu.org; Sun, 31 Aug 2008 07:05:13 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KZkk3-0001oo-EV for qemu-devel@nongnu.org; Sun, 31 Aug 2008 07:05:12 -0400 Received: from [199.232.76.173] (port=55246 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KZkk3-0001ol-7C for qemu-devel@nongnu.org; Sun, 31 Aug 2008 07:05:11 -0400 Received: from wf-out-1314.google.com ([209.85.200.175]:35100) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KZkL2-0007GK-9g for qemu-devel@nongnu.org; Sun, 31 Aug 2008 06:39:21 -0400 Received: by wf-out-1314.google.com with SMTP id 27so1436733wfd.4 for ; Sun, 31 Aug 2008 03:39:19 -0700 (PDT) Message-ID: Date: Sun, 31 Aug 2008 13:39:18 +0300 From: "Blue Swirl" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_28373_23391539.1220179158646" Subject: [Qemu-devel] [PATCH, RFC] gcc -Wundef, TCG bug Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel , Fabrice Bellard , Paul Brook ------=_Part_28373_23391539.1220179158646 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline The first patch enables gcc flag -Wundef, the second one fixes most warnings caused by this. Nothing spectacular. Now the third patch is more interesting. It looks like there is a real bug in TCG, exposed by the new warnings. The following code in tcg-opc.h depends on TARGET_LONG_BITS being defined, which is not the case: /* QEMU specific */ #if TARGET_LONG_BITS > TCG_TARGET_REG_BITS DEF2(debug_insn_start, 0, 0, 2, 0) #else DEF2(debug_insn_start, 0, 0, 1, 0) #endif Moreover, adding an #include "cpu.h" to get TARGET_LONG_BITS defined, breaks dyngen targets because the prototypes in cpu.h conflict with the generated code. I propose to enable the gcc flag, even though it causes these warnings with TCG code, just to remind us about the problem. The second patch should be safe to apply. The third one should be applied only after the tcg-opc.h change is judged safe and dyngen targets have been converted to TCG. ------=_Part_28373_23391539.1220179158646 Content-Type: plain/text; name=wundef.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkjixpgg Content-Disposition: attachment; filename=wundef.diff SW5kZXg6IHFlbXUvTWFrZWZpbGUudGFyZ2V0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9NYWtl ZmlsZS50YXJnZXQJMjAwOC0wOC0zMSAwNzo1NjoxNS4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUv TWFrZWZpbGUudGFyZ2V0CTIwMDgtMDgtMzEgMDg6MDI6MzkuMDAwMDAwMDAwICswMDAwCkBAIC03 Myw3ICs3Myw3IEBACiBQUk9HUz0kKFFFTVVfUFJPRykKIAogIyBXZSByZXF1aXJlIC1PMiB0byBh dm9pZCB0aGUgc3RhY2sgc2V0dXAgcHJvbG9ndWUgaW4gRVhJVF9UQgotT1BfQ0ZMQUdTIDo9IC1X YWxsIC1XcmVkdW5kYW50LWRlY2xzIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVdtaXNzaW5nLXByb3Rv dHlwZXMgLU8yIC1nIC1mbm8tc3RyaWN0LWFsaWFzaW5nCitPUF9DRkxBR1MgOj0gLVdhbGwgLVdy ZWR1bmRhbnQtZGVjbHMgLVdzdHJpY3QtcHJvdG90eXBlcyAtV21pc3NpbmctcHJvdG90eXBlcyAt V3VuZGVmIC1PMiAtZyAtZm5vLXN0cmljdC1hbGlhc2luZwogCiAjIGNjLW9wdGlvbgogIyBVc2Fn ZTogT1BfQ0ZMQUdTKz0kKGNhbGwgY2Mtb3B0aW9uLCAtZmFsaWduLWZ1bmN0aW9ucz0wLCAtbWFs aWduLWZ1bmN0aW9ucz0wKQpJbmRleDogcWVtdS9jb25maWd1cmUKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVt dS5vcmlnL2NvbmZpZ3VyZQkyMDA4LTA4LTMxIDA3OjU2OjA1LjAwMDAwMDAwMCArMDAwMAorKysg cWVtdS9jb25maWd1cmUJMjAwOC0wOC0zMSAwODowMjo0NC4wMDAwMDAwMDAgKzAwMDAKQEAgLTM1 NSw3ICszNTUsNyBAQAogZG9uZQogCiAjIGRlZmF1bHQgZmxhZ3MgZm9yIGFsbCBob3N0cwotQ0ZM QUdTPSIkQ0ZMQUdTIC1XYWxsIC1XcmVkdW5kYW50LWRlY2xzIC1Xc3RyaWN0LXByb3RvdHlwZXMg LVdtaXNzaW5nLXByb3RvdHlwZXMgLU8yIC1nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIgorQ0ZMQUdT PSIkQ0ZMQUdTIC1XYWxsIC1XcmVkdW5kYW50LWRlY2xzIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVdt aXNzaW5nLXByb3RvdHlwZXMgLVd1bmRlZiAtTzIgLWcgLWZuby1zdHJpY3QtYWxpYXNpbmciCiBM REZMQUdTPSIkTERGTEFHUyAtZyIKIGlmIHRlc3QgIiR3ZXJyb3IiID0gInllcyIgOyB0aGVuCiBD RkxBR1M9IiRDRkxBR1MgLVdlcnJvciIK ------=_Part_28373_23391539.1220179158646 Content-Type: plain/text; name=fix_wundef.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkjj1kzk Content-Disposition: attachment; filename=fix_wundef.diff SW5kZXg6IHFlbXUvZXhlYy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9leGVjLmMJMjAwOC0w OC0zMSAxMDozNDo1Ny4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvZXhlYy5jCTIwMDgtMDgtMzEg MTA6MzU6MTEuMDAwMDAwMDAwICswMDAwCkBAIC0yMjU5LDcgKzIyNTksNyBAQAogI2VuZGlmCiAj aWZkZWYgVEFSR0VUX1NQQVJDCiAgICAgZG9fdW5hc3NpZ25lZF9hY2Nlc3MoYWRkciwgMCwgMCwg MCk7Ci0jZWxpZiBUQVJHRVRfQ1JJUworI2VsaWYgZGVmaW5lZChUQVJHRVRfQ1JJUykKICAgICBk b191bmFzc2lnbmVkX2FjY2VzcyhhZGRyLCAwLCAwLCAwKTsKICNlbmRpZgogICAgIHJldHVybiAw OwpAQCAtMjI3Miw3ICsyMjcyLDcgQEAKICNlbmRpZgogI2lmZGVmIFRBUkdFVF9TUEFSQwogICAg IGRvX3VuYXNzaWduZWRfYWNjZXNzKGFkZHIsIDEsIDAsIDApOwotI2VsaWYgVEFSR0VUX0NSSVMK KyNlbGlmIGRlZmluZWQoVEFSR0VUX0NSSVMpCiAgICAgZG9fdW5hc3NpZ25lZF9hY2Nlc3MoYWRk ciwgMSwgMCwgMCk7CiAjZW5kaWYKIH0KSW5kZXg6IHFlbXUvaHcvcGMuYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBxZW11Lm9yaWcvaHcvcGMuYwkyMDA4LTA4LTMxIDEwOjM0OjU3LjAwMDAwMDAwMCArMDAwMAor KysgcWVtdS9ody9wYy5jCTIwMDgtMDgtMzEgMTA6MzU6MTEuMDAwMDAwMDAwICswMDAwCkBAIC04 MCw3ICs4MCw3IEBACiAgICAgLyogTm90ZTogd2hlbiB1c2luZyBrcWVtdSwgaXQgaXMgbW9yZSBs b2dpY2FsIHRvIHJldHVybiB0aGUgaG9zdCBUU0MKICAgICAgICBiZWNhdXNlIGtxZW11IGRvZXMg bm90IHRyYXAgdGhlIFJEVFNDIGluc3RydWN0aW9uIGZvcgogICAgICAgIHBlcmZvcm1hbmNlIHJl YXNvbnMgKi8KLSNpZiBVU0VfS1FFTVUKKyNpZmRlZiBVU0VfS1FFTVUKICAgICBpZiAoZW52LT5r cWVtdV9lbmFibGVkKSB7CiAgICAgICAgIHJldHVybiBjcHVfZ2V0X3JlYWxfdGlja3MoKTsKICAg ICB9IGVsc2UKSW5kZXg6IHFlbXUvaHcvcnRsODEzOS5jCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3Jp Zy9ody9ydGw4MTM5LmMJMjAwOC0wOC0zMSAxMDozNDo1Ny4wMDAwMDAwMDAgKzAwMDAKKysrIHFl bXUvaHcvcnRsODEzOS5jCTIwMDgtMDgtMzEgMTA6MzU6MTEuMDAwMDAwMDAwICswMDAwCkBAIC0z MzU2LDcgKzMzNTYsNyBAQAogICAgIHJldHVybiBuZXh0X3RpbWU7CiB9CiAKLSNpZiBSVEw4MTM5 X09OQk9BUkRfVElNRVIKKyNpZmRlZiBSVEw4MTM5X09OQk9BUkRfVElNRVIKIHN0YXRpYyB2b2lk IHJ0bDgxMzlfdGltZXIodm9pZCAqb3BhcXVlKQogewogICAgIFJUTDgxMzlTdGF0ZSAqcyA9IG9w YXF1ZTsKQEAgLTM0NTYsNyArMzQ1Niw3IEBACiAKICAgICByZWdpc3Rlcl9zYXZldm0oInJ0bDgx MzkiLCAtMSwgMywgcnRsODEzOV9zYXZlLCBydGw4MTM5X2xvYWQsIHMpOwogCi0jaWYgUlRMODEz OV9PTkJPQVJEX1RJTUVSCisjaWZkZWYgUlRMODEzOV9PTkJPQVJEX1RJTUVSCiAgICAgcy0+dGlt ZXIgPSBxZW11X25ld190aW1lcih2bV9jbG9jaywgcnRsODEzOV90aW1lciwgcyk7CiAKICAgICBx ZW11X21vZF90aW1lcihzLT50aW1lciwKSW5kZXg6IHFlbXUvaHcvdXNiLW5ldC5jCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIHFlbXUub3JpZy9ody91c2ItbmV0LmMJMjAwOC0wOC0zMSAxMDozNDo1Ny4wMDAwMDAw MDAgKzAwMDAKKysrIHFlbXUvaHcvdXNiLW5ldC5jCTIwMDgtMDgtMzEgMTA6MzU6MTEuMDAwMDAw MDAwICswMDAwCkBAIC0xMDY5LDcgKzEwNjksNyBAQAogICAgIGNhc2UgQ2xhc3NJbnRlcmZhY2VP dXRSZXF1ZXN0IHwgVVNCX0NEQ19TRU5EX0VOQ0FQU1VMQVRFRF9DT01NQU5EOgogICAgICAgICBp ZiAoIXMtPnJuZGlzIHx8IHZhbHVlIHx8IGluZGV4ICE9IDApCiAgICAgICAgICAgICBnb3RvIGZh aWw7Ci0jaWYgVFJBRkZJQ19ERUJVRworI2lmZGVmIFRSQUZGSUNfREVCVUcKICAgICAgICAgewog ICAgICAgICAgICAgdW5zaWduZWQgaW50IGk7CiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwg IlNFTkRfRU5DQVBTVUxBVEVEX0NPTU1BTkQ6Iik7CkBAIC0xMDkyLDcgKzEwOTIsNyBAQAogICAg ICAgICAgICAgZGF0YVswXSA9IDA7CiAgICAgICAgICAgICByZXQgPSAxOwogICAgICAgICB9Ci0j aWYgVFJBRkZJQ19ERUJVRworI2lmZGVmIFRSQUZGSUNfREVCVUcKICAgICAgICAgewogICAgICAg ICAgICAgdW5zaWduZWQgaW50IGk7CiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkdFVF9F TkNBUFNVTEFURURfUkVTUE9OU0U6Iik7CkBAIC0xMjE5LDcgKzEyMTksNyBAQAogICAgIGlmICgh cy0+cm5kaXNfcmVzcC50cWhfZmlyc3QpCiAgICAgICAgIHJldCA9IFVTQl9SRVRfTkFLOwogCi0j aWYgREVCVUcKKyNpZmRlZiBUUkFGRklDX0RFQlVHCiAgICAgZnByaW50ZihzdGRlcnIsICJ1c2Ju ZXQ6IGludGVycnVwdCBwb2xsIGxlbiAldSByZXR1cm4gJWQiLCBwLT5sZW4sIHJldCk7CiAgICAg ewogICAgICAgICBpbnQgaTsKQEAgLTEyNjAsNyArMTI2MCw3IEBACiAgICAgICAgIHMtPmluX3B0 ciA9IHMtPmluX2xlbiA9IDA7CiAgICAgfQogCi0jaWYgVFJBRkZJQ19ERUJVRworI2lmZGVmIFRS QUZGSUNfREVCVUcKICAgICBmcHJpbnRmKHN0ZGVyciwgInVzYm5ldDogZGF0YSBpbiBsZW4gJXUg cmV0dXJuICVkIiwgcC0+bGVuLCByZXQpOwogICAgIHsKICAgICAgICAgaW50IGk7CkBAIC0xMjg1 LDcgKzEyODUsNyBAQAogICAgICAgICAgICAgKHN0cnVjdCBybmRpc19wYWNrZXRfbXNnX3R5cGUg Kikgcy0+b3V0X2J1ZjsKICAgICB1aW50MzJfdCBsZW47CiAKLSNpZiBUUkFGRklDX0RFQlVHCisj aWZkZWYgVFJBRkZJQ19ERUJVRwogICAgIGZwcmludGYoc3RkZXJyLCAidXNibmV0OiBkYXRhIG91 dCBsZW4gJXVcbiIsIHAtPmxlbik7CiAgICAgewogICAgICAgICBpbnQgaTsKSW5kZXg6IHFlbXUv aHcvdXNiLW9oY2kuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvdXNiLW9oY2kuYwkyMDA4 LTA4LTMxIDEwOjM0OjU3LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody91c2Itb2hjaS5jCTIw MDgtMDgtMzEgMTA6MzU6MTEuMDAwMDAwMDAwICswMDAwCkBAIC0xNTk4LDcgKzE1OTgsNyBAQAog ICAgIGludCBpOwogCiAgICAgaWYgKHVzYl9mcmFtZV90aW1lID09IDApIHsKLSNpZiBPSENJX1RJ TUVfV0FSUAorI2lmZGVmIE9IQ0lfVElNRV9XQVJQCiAgICAgICAgIHVzYl9mcmFtZV90aW1lID0g dGlja3NfcGVyX3NlYzsKICAgICAgICAgdXNiX2JpdF90aW1lID0gbXVsZGl2NjQoMSwgdGlja3Nf cGVyX3NlYywgVVNCX0haLzEwMDApOwogI2Vsc2UKSW5kZXg6IHFlbXUvc2xpcnAvaXBfaWNtcC5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9zbGlycC9pcF9pY21wLmMJMjAwOC0wOC0zMSAxMDoz NDo1Ny4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvc2xpcnAvaXBfaWNtcC5jCTIwMDgtMDgtMzEg MTA6MzU6MTIuMDAwMDAwMDAwICswMDAwCkBAIC0yMjgsNyArMjI4LDcgQEAKICAgLyogY2hlY2sg bXNyYyAqLwogICBpZighbXNyYykgZ290byBlbmRfZXJyb3I7CiAgIGlwID0gbXRvZChtc3JjLCBz dHJ1Y3QgaXAgKik7Ci0jaWYgREVCVUcKKyNpZmRlZiBERUJVRwogICB7IGNoYXIgYnVmYVsyMF0s IGJ1ZmJbMjBdOwogICAgIHN0cmNweShidWZhLCBpbmV0X250b2EoaXAtPmlwX3NyYykpOwogICAg IHN0cmNweShidWZiLCBpbmV0X250b2EoaXAtPmlwX2RzdCkpOwpAQCAtMjg1LDcgKzI4NSw3IEBA CiAgIEhUT05TKGljcC0+aWNtcF9pcC5pcF9pZCk7CiAgIEhUT05TKGljcC0+aWNtcF9pcC5pcF9v ZmYpOwogCi0jaWYgREVCVUcKKyNpZmRlZiBERUJVRwogICBpZihtZXNzYWdlKSB7ICAgICAgICAg ICAvKiBERUJVRyA6IGFwcGVuZCBtZXNzYWdlIHRvIElDTVAgcGFja2V0ICovCiAgICAgaW50IG1l c3NhZ2VfbGVuOwogICAgIGNoYXIgKmNwbnQ7CkluZGV4OiBxZW11L3NsaXJwL3NsaXJwLmgKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gcWVtdS5vcmlnL3NsaXJwL3NsaXJwLmgJMjAwOC0wOC0zMSAxMDozNDo1Ny4w MDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvc2xpcnAvc2xpcnAuaAkyMDA4LTA4LTMxIDEwOjM1OjEy LjAwMDAwMDAwMCArMDAwMApAQCAtMTAzLDcgKzEwMyw3IEBACiAjIGluY2x1ZGUgPHN5cy90aW1l Lmg+CiAjIGluY2x1ZGUgPHRpbWUuaD4KICNlbHNlCi0jIGlmIEhBVkVfU1lTX1RJTUVfSAorIyBp ZmRlZiBIQVZFX1NZU19USU1FX0gKICMgIGluY2x1ZGUgPHN5cy90aW1lLmg+CiAjIGVsc2UKICMg IGluY2x1ZGUgPHRpbWUuaD4KSW5kZXg6IHFlbXUvdGFyZ2V0LWkzODYvb3BfaGVscGVyLmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gcWVtdS5vcmlnL3RhcmdldC1pMzg2L29wX2hlbHBlci5jCTIwMDgtMDgtMzEg MTA6MzQ6NTcuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L3RhcmdldC1pMzg2L29wX2hlbHBlci5j CTIwMDgtMDgtMzEgMTA6MzU6MTIuMDAwMDAwMDAwICswMDAwCkBAIC0xMjE3LDcgKzEyMTcsNyBA QAogICAgICAgICB9CiAgICAgfQogICAgIGlmIChlbnYtPmNyWzBdICYgQ1IwX1BFX01BU0spIHsK LSNpZiBUQVJHRVRfWDg2XzY0CisjaWZkZWYgVEFSR0VUX1g4Nl82NAogICAgICAgICBpZiAoZW52 LT5oZmxhZ3MgJiBIRl9MTUFfTUFTSykgewogICAgICAgICAgICAgZG9faW50ZXJydXB0NjQoaW50 bm8sIGlzX2ludCwgZXJyb3JfY29kZSwgbmV4dF9laXAsIGlzX2h3KTsKICAgICAgICAgfSBlbHNl CkluZGV4OiBxZW11L3ZuYy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy92bmMuYwkyMDA4LTA4 LTMxIDEwOjM0OjU3LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS92bmMuYwkyMDA4LTA4LTMxIDEw OjM1OjEyLjAwMDAwMDAwMCArMDAwMApAQCAtMzUsMTQgKzM1LDE0IEBACiAjaW5jbHVkZSAia2V5 bWFwcy5jIgogI2luY2x1ZGUgImQzZGVzLmgiCiAKLSNpZiBDT05GSUdfVk5DX1RMUworI2lmZGVm IENPTkZJR19WTkNfVExTCiAjaW5jbHVkZSA8Z251dGxzL2dudXRscy5oPgogI2luY2x1ZGUgPGdu dXRscy94NTA5Lmg+CiAjZW5kaWYgLyogQ09ORklHX1ZOQ19UTFMgKi8KIAogLy8gI2RlZmluZSBf Vk5DX0RFQlVHIDEKIAotI2lmIF9WTkNfREVCVUcKKyNpZmRlZiBfVk5DX0RFQlVHCiAjZGVmaW5l IFZOQ19ERUJVRyhmbXQsIC4uLikgZG8geyBmcHJpbnRmKHN0ZGVyciwgZm10LCAjIyBfX1ZBX0FS R1NfXyk7IH0gd2hpbGUgKDApCiAKICNpZiBDT05GSUdfVk5DX1RMUyAmJiBfVk5DX0RFQlVHID49 IDIKQEAgLTkzLDcgKzkzLDcgQEAKICAgICBWTkNfQVVUSF9WRU5DUllQVCA9IDE5CiB9OwogCi0j aWYgQ09ORklHX1ZOQ19UTFMKKyNpZmRlZiBDT05GSUdfVk5DX1RMUwogZW51bSB7CiAgICAgVk5D X1dJUkVNT0RFX0NMRUFSLAogICAgIFZOQ19XSVJFTU9ERV9UTFMsCkBAIC0xNDMsNyArMTQzLDcg QEAKICAgICBjaGFyICpkaXNwbGF5OwogICAgIGNoYXIgKnBhc3N3b3JkOwogICAgIGludCBhdXRo OwotI2lmIENPTkZJR19WTkNfVExTCisjaWZkZWYgQ09ORklHX1ZOQ19UTFMKICAgICBpbnQgc3Vi YXV0aDsKICAgICBpbnQgeDUwOXZlcmlmeTsKIApAQCAtMTU0LDcgKzE1NCw3IEBACiAjZW5kaWYK ICAgICBjaGFyIGNoYWxsZW5nZVtWTkNfQVVUSF9DSEFMTEVOR0VfU0laRV07CiAKLSNpZiBDT05G SUdfVk5DX1RMUworI2lmZGVmIENPTkZJR19WTkNfVExTCiAgICAgaW50IHdpcmVtb2RlOwogICAg IGdudXRsc19zZXNzaW9uX3QgdGxzX3Nlc3Npb247CiAjZW5kaWYKQEAgLTY2NCw3ICs2NjQsNyBA QAogCWJ1ZmZlcl9yZXNldCgmdnMtPmlucHV0KTsKIAlidWZmZXJfcmVzZXQoJnZzLT5vdXRwdXQp OwogCXZzLT5uZWVkX3VwZGF0ZSA9IDA7Ci0jaWYgQ09ORklHX1ZOQ19UTFMKKyNpZmRlZiBDT05G SUdfVk5DX1RMUwogCWlmICh2cy0+dGxzX3Nlc3Npb24pIHsKIAkgICAgZ251dGxzX2RlaW5pdCh2 cy0+dGxzX3Nlc3Npb24pOwogCSAgICB2cy0+dGxzX3Nlc3Npb24gPSBOVUxMOwpAQCAtNjg2LDcg KzY4Niw3IEBACiAgICAgbG9uZyByZXQ7CiAgICAgVm5jU3RhdGUgKnZzID0gb3BhcXVlOwogCi0j aWYgQ09ORklHX1ZOQ19UTFMKKyNpZmRlZiBDT05GSUdfVk5DX1RMUwogICAgIGlmICh2cy0+dGxz X3Nlc3Npb24pIHsKIAlyZXQgPSBnbnV0bHNfd3JpdGUodnMtPnRsc19zZXNzaW9uLCB2cy0+b3V0 cHV0LmJ1ZmZlciwgdnMtPm91dHB1dC5vZmZzZXQpOwogCWlmIChyZXQgPCAwKSB7CkBAIC03MjQs NyArNzI0LDcgQEAKIAogICAgIGJ1ZmZlcl9yZXNlcnZlKCZ2cy0+aW5wdXQsIDQwOTYpOwogCi0j aWYgQ09ORklHX1ZOQ19UTFMKKyNpZmRlZiBDT05GSUdfVk5DX1RMUwogICAgIGlmICh2cy0+dGxz X3Nlc3Npb24pIHsKIAlyZXQgPSBnbnV0bHNfcmVhZCh2cy0+dGxzX3Nlc3Npb24sIGJ1ZmZlcl9l bmQoJnZzLT5pbnB1dCksIDQwOTYpOwogCWlmIChyZXQgPCAwKSB7CkBAIC04MzEsNyArODMxLDcg QEAKIAkgICAgKGRhdGFbb2Zmc2V0ICsgMl0gPDwgOCkgfCBkYXRhW29mZnNldCArIDNdKTsKIH0K IAotI2lmIENPTkZJR19WTkNfVExTCisjaWZkZWYgQ09ORklHX1ZOQ19UTFMKIHN0YXRpYyBzc2l6 ZV90IHZuY190bHNfcHVzaChnbnV0bHNfdHJhbnNwb3J0X3B0cl90IHRyYW5zcG9ydCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICpkYXRhLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVfdCBsZW4pIHsKQEAgLTE0NDEsNyArMTQ0MSw3IEBACiB9CiAKIAot I2lmIENPTkZJR19WTkNfVExTCisjaWZkZWYgQ09ORklHX1ZOQ19UTFMKICNkZWZpbmUgREhfQklU UyAxMDI0CiBzdGF0aWMgZ251dGxzX2RoX3BhcmFtc190IGRoX3BhcmFtczsKIApAQCAtMTg3OSw3 ICsxODc5LDcgQEAKICAgICAgICAgICAgVk5DX0RFQlVHKCJTdGFydCBWTkMgYXV0aFxuIik7CiAg ICAgICAgICAgIHJldHVybiBzdGFydF9hdXRoX3ZuYyh2cyk7CiAKLSNpZiBDT05GSUdfVk5DX1RM UworI2lmZGVmIENPTkZJR19WTkNfVExTCiAgICAgICAgY2FzZSBWTkNfQVVUSF9WRU5DUllQVDoK ICAgICAgICAgICAgVk5DX0RFQlVHKCJBY2NlcHQgVmVOQ3J5cHQgYXV0aFxuIik7OwogICAgICAg ICAgICByZXR1cm4gc3RhcnRfYXV0aF92ZW5jcnlwdCh2cyk7CkBAIC0yMDMyLDcgKzIwMzIsNyBA QAogICAgIHZuY19kcHlfcmVzaXplKHZzLT5kcywgNjQwLCA0MDApOwogfQogCi0jaWYgQ09ORklH X1ZOQ19UTFMKKyNpZmRlZiBDT05GSUdfVk5DX1RMUwogc3RhdGljIGludCB2bmNfc2V0X3g1MDlf Y3JlZGVudGlhbChWbmNTdGF0ZSAqdnMsCiAJCQkJICAgY29uc3QgY2hhciAqY2VydGRpciwKIAkJ CQkgICBjb25zdCBjaGFyICpmaWxlbmFtZSwKQEAgLTIxMDksNyArMjEwOSw3IEBACiAJYnVmZmVy X3Jlc2V0KCZ2cy0+aW5wdXQpOwogCWJ1ZmZlcl9yZXNldCgmdnMtPm91dHB1dCk7CiAJdnMtPm5l ZWRfdXBkYXRlID0gMDsKLSNpZiBDT05GSUdfVk5DX1RMUworI2lmZGVmIENPTkZJR19WTkNfVExT CiAJaWYgKHZzLT50bHNfc2Vzc2lvbikgewogCSAgICBnbnV0bHNfZGVpbml0KHZzLT50bHNfc2Vz c2lvbik7CiAJICAgIHZzLT50bHNfc2Vzc2lvbiA9IE5VTEw7CkBAIC0yMTE4LDcgKzIxMTgsNyBA QAogI2VuZGlmIC8qIENPTkZJR19WTkNfVExTICovCiAgICAgfQogICAgIHZzLT5hdXRoID0gVk5D X0FVVEhfSU5WQUxJRDsKLSNpZiBDT05GSUdfVk5DX1RMUworI2lmZGVmIENPTkZJR19WTkNfVExT CiAgICAgdnMtPnN1YmF1dGggPSBWTkNfQVVUSF9JTlZBTElEOwogICAgIHZzLT54NTA5dmVyaWZ5 ID0gMDsKICNlbmRpZgpAQCAtMjE1NCw3ICsyMTU0LDcgQEAKICAgICBjb25zdCBjaGFyICpvcHRp b25zOwogICAgIGludCBwYXNzd29yZCA9IDA7CiAgICAgaW50IHJldmVyc2UgPSAwOwotI2lmIENP TkZJR19WTkNfVExTCisjaWZkZWYgQ09ORklHX1ZOQ19UTFMKICAgICBpbnQgdGxzID0gMCwgeDUw OSA9IDA7CiAjZW5kaWYKIApAQCAtMjE3Miw3ICsyMTcyLDcgQEAKIAkgICAgcGFzc3dvcmQgPSAx OyAvKiBSZXF1aXJlIHBhc3N3b3JkIGF1dGggKi8KIAl9IGVsc2UgaWYgKHN0cm5jbXAob3B0aW9u cywgInJldmVyc2UiLCA3KSA9PSAwKSB7CiAJICAgIHJldmVyc2UgPSAxOwotI2lmIENPTkZJR19W TkNfVExTCisjaWZkZWYgQ09ORklHX1ZOQ19UTFMKIAl9IGVsc2UgaWYgKHN0cm5jbXAob3B0aW9u cywgInRscyIsIDMpID09IDApIHsKIAkgICAgdGxzID0gMTsgLyogUmVxdWlyZSBUTFMgKi8KIAl9 IGVsc2UgaWYgKHN0cm5jbXAob3B0aW9ucywgIng1MDkiLCA0KSA9PSAwKSB7CkBAIC0yMjEwLDcg KzIyMTAsNyBAQAogICAgIH0KIAogICAgIGlmIChwYXNzd29yZCkgewotI2lmIENPTkZJR19WTkNf VExTCisjaWZkZWYgQ09ORklHX1ZOQ19UTFMKIAlpZiAodGxzKSB7CiAJICAgIHZzLT5hdXRoID0g Vk5DX0FVVEhfVkVOQ1JZUFQ7CiAJICAgIGlmICh4NTA5KSB7CkBAIC0yMjI0LDEyICsyMjI0LDEy IEBACiAjZW5kaWYKIAkgICAgVk5DX0RFQlVHKCJJbml0aWFsaXppbmcgVk5DIHNlcnZlciB3aXRo IHBhc3N3b3JkIGF1dGhcbiIpOwogCSAgICB2cy0+YXV0aCA9IFZOQ19BVVRIX1ZOQzsKLSNpZiBD T05GSUdfVk5DX1RMUworI2lmZGVmIENPTkZJR19WTkNfVExTCiAJICAgIHZzLT5zdWJhdXRoID0g Vk5DX0FVVEhfSU5WQUxJRDsKIAl9CiAjZW5kaWYKICAgICB9IGVsc2UgewotI2lmIENPTkZJR19W TkNfVExTCisjaWZkZWYgQ09ORklHX1ZOQ19UTFMKIAlpZiAodGxzKSB7CiAJICAgIHZzLT5hdXRo ID0gVk5DX0FVVEhfVkVOQ1JZUFQ7CiAJICAgIGlmICh4NTA5KSB7CkBAIC0yMjQzLDcgKzIyNDMs NyBAQAogI2VuZGlmCiAJICAgIFZOQ19ERUJVRygiSW5pdGlhbGl6aW5nIFZOQyBzZXJ2ZXIgd2l0 aCBubyBhdXRoXG4iKTsKIAkgICAgdnMtPmF1dGggPSBWTkNfQVVUSF9OT05FOwotI2lmIENPTkZJ R19WTkNfVExTCisjaWZkZWYgQ09ORklHX1ZOQ19UTFMKIAkgICAgdnMtPnN1YmF1dGggPSBWTkNf QVVUSF9JTlZBTElEOwogCX0KICNlbmRpZgpJbmRleDogcWVtdS9lbGYuaAo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBxZW11Lm9yaWcvZWxmLmgJMjAwOC0wOC0zMSAxMDozNDo1Ny4wMDAwMDAwMDAgKzAwMDAKKysr IHFlbXUvZWxmLmgJMjAwOC0wOC0zMSAxMDozNToxMi4wMDAwMDAwMDAgKzAwMDAKQEAgLTExMjMs NiArMTEyMyw3IEBACiAgIEVsZjY0X1dvcmQgbl90eXBlOwkvKiBDb250ZW50IHR5cGUgKi8KIH0g RWxmNjRfTmhkcjsKIAorI2lmZGVmIEVMRl9DTEFTUwogI2lmIEVMRl9DTEFTUyA9PSBFTEZDTEFT UzMyCiAKICNkZWZpbmUgZWxmaGRyCQllbGYzMl9oZHIKQEAgLTExNjUsNSArMTE2Niw3IEBACiAj IGVuZGlmCiAjZW5kaWYKIAorI2VuZGlmIC8qIEVMRl9DTEFTUyAqLworCiAKICNlbmRpZiAvKiBf UUVNVV9FTEZfSCAqLwpJbmRleDogcWVtdS9ody9vbWFwMS5jCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUu b3JpZy9ody9vbWFwMS5jCTIwMDgtMDgtMzEgMTA6MzQ6NTcuMDAwMDAwMDAwICswMDAwCisrKyBx ZW11L2h3L29tYXAxLmMJMjAwOC0wOC0zMSAxMDozNToxMi4wMDAwMDAwMDAgKzAwMDAKQEAgLTM0 NzgsNyArMzQ3OCw3IEBACiAKICAgICBzd2l0Y2ggKG9mZnNldCkgewogICAgIGNhc2UgMHgwMDoJ LyogU0VDT05EU19SRUcgKi8KLSNpZiBBTE1ERUJVRworI2lmZGVmIEFMTURFQlVHCiAgICAgICAg IHByaW50ZigiUlRDIFNFQ19SRUcgPC0tICUwMnhcbiIsIHZhbHVlKTsKICNlbmRpZgogICAgICAg ICBzLT50aSAtPSBzLT5jdXJyZW50X3RtLnRtX3NlYzsKQEAgLTM0ODYsNyArMzQ4Niw3IEBACiAg ICAgICAgIHJldHVybjsKIAogICAgIGNhc2UgMHgwNDoJLyogTUlOVVRFU19SRUcgKi8KLSNpZiBB TE1ERUJVRworI2lmZGVmIEFMTURFQlVHCiAgICAgICAgIHByaW50ZigiUlRDIE1JTl9SRUcgPC0t ICUwMnhcbiIsIHZhbHVlKTsKICNlbmRpZgogICAgICAgICBzLT50aSAtPSBzLT5jdXJyZW50X3Rt LnRtX21pbiAqIDYwOwpAQCAtMzQ5NCw3ICszNDk0LDcgQEAKICAgICAgICAgcmV0dXJuOwogCiAg ICAgY2FzZSAweDA4OgkvKiBIT1VSU19SRUcgKi8KLSNpZiBBTE1ERUJVRworI2lmZGVmIEFMTURF QlVHCiAgICAgICAgIHByaW50ZigiUlRDIEhSU19SRUcgPC0tICUwMnhcbiIsIHZhbHVlKTsKICNl bmRpZgogICAgICAgICBzLT50aSAtPSBzLT5jdXJyZW50X3RtLnRtX2hvdXIgKiAzNjAwOwpAQCAt MzUwNiw3ICszNTA2LDcgQEAKICAgICAgICAgcmV0dXJuOwogCiAgICAgY2FzZSAweDBjOgkvKiBE QVlTX1JFRyAqLwotI2lmIEFMTURFQlVHCisjaWZkZWYgQUxNREVCVUcKICAgICAgICAgcHJpbnRm KCJSVEMgREFZX1JFRyA8LS0gJTAyeFxuIiwgdmFsdWUpOwogI2VuZGlmCiAgICAgICAgIHMtPnRp IC09IHMtPmN1cnJlbnRfdG0udG1fbWRheSAqIDg2NDAwOwpAQCAtMzUxNCw3ICszNTE0LDcgQEAK ICAgICAgICAgcmV0dXJuOwogCiAgICAgY2FzZSAweDEwOgkvKiBNT05USFNfUkVHICovCi0jaWYg QUxNREVCVUcKKyNpZmRlZiBBTE1ERUJVRwogICAgICAgICBwcmludGYoIlJUQyBNVEhfUkVHIDwt LSAlMDJ4XG4iLCB2YWx1ZSk7CiAjZW5kaWYKICAgICAgICAgbWVtY3B5KCZuZXdfdG0sICZzLT5j dXJyZW50X3RtLCBzaXplb2YobmV3X3RtKSk7CkBAIC0zNTMzLDcgKzM1MzMsNyBAQAogICAgICAg ICByZXR1cm47CiAKICAgICBjYXNlIDB4MTQ6CS8qIFlFQVJTX1JFRyAqLwotI2lmIEFMTURFQlVH CisjaWZkZWYgQUxNREVCVUcKICAgICAgICAgcHJpbnRmKCJSVEMgWVJTX1JFRyA8LS0gJTAyeFxu IiwgdmFsdWUpOwogI2VuZGlmCiAgICAgICAgIG1lbWNweSgmbmV3X3RtLCAmcy0+Y3VycmVudF90 bSwgc2l6ZW9mKG5ld190bSkpOwpAQCAtMzU1NSw3ICszNTU1LDcgQEAKICAgICAgICAgcmV0dXJu OwkvKiBJZ25vcmVkICovCiAKICAgICBjYXNlIDB4MjA6CS8qIEFMQVJNX1NFQ09ORFNfUkVHICov Ci0jaWYgQUxNREVCVUcKKyNpZmRlZiBBTE1ERUJVRwogICAgICAgICBwcmludGYoIkFMTSBTRUNf UkVHIDwtLSAlMDJ4XG4iLCB2YWx1ZSk7CiAjZW5kaWYKICAgICAgICAgcy0+YWxhcm1fdG0udG1f c2VjID0gb21hcF9ydGNfYmluKHZhbHVlKTsKQEAgLTM1NjMsNyArMzU2Myw3IEBACiAgICAgICAg IHJldHVybjsKIAogICAgIGNhc2UgMHgyNDoJLyogQUxBUk1fTUlOVVRFU19SRUcgKi8KLSNpZiBB TE1ERUJVRworI2lmZGVmIEFMTURFQlVHCiAgICAgICAgIHByaW50ZigiQUxNIE1JTl9SRUcgPC0t ICUwMnhcbiIsIHZhbHVlKTsKICNlbmRpZgogICAgICAgICBzLT5hbGFybV90bS50bV9taW4gPSBv bWFwX3J0Y19iaW4odmFsdWUpOwpAQCAtMzU3MSw3ICszNTcxLDcgQEAKICAgICAgICAgcmV0dXJu OwogCiAgICAgY2FzZSAweDI4OgkvKiBBTEFSTV9IT1VSU19SRUcgKi8KLSNpZiBBTE1ERUJVRwor I2lmZGVmIEFMTURFQlVHCiAgICAgICAgIHByaW50ZigiQUxNIEhSU19SRUcgPC0tICUwMnhcbiIs IHZhbHVlKTsKICNlbmRpZgogICAgICAgICBpZiAocy0+cG1fYW0pCkBAIC0zNTg0LDcgKzM1ODQs NyBAQAogICAgICAgICByZXR1cm47CiAKICAgICBjYXNlIDB4MmM6CS8qIEFMQVJNX0RBWVNfUkVH ICovCi0jaWYgQUxNREVCVUcKKyNpZmRlZiBBTE1ERUJVRwogICAgICAgICBwcmludGYoIkFMTSBE QVlfUkVHIDwtLSAlMDJ4XG4iLCB2YWx1ZSk7CiAjZW5kaWYKICAgICAgICAgcy0+YWxhcm1fdG0u dG1fbWRheSA9IG9tYXBfcnRjX2Jpbih2YWx1ZSk7CkBAIC0zNTkyLDcgKzM1OTIsNyBAQAogICAg ICAgICByZXR1cm47CiAKICAgICBjYXNlIDB4MzA6CS8qIEFMQVJNX01PTlRIU19SRUcgKi8KLSNp ZiBBTE1ERUJVRworI2lmZGVmIEFMTURFQlVHCiAgICAgICAgIHByaW50ZigiQUxNIE1PTl9SRUcg PC0tICUwMnhcbiIsIHZhbHVlKTsKICNlbmRpZgogICAgICAgICBzLT5hbGFybV90bS50bV9tb24g PSBvbWFwX3J0Y19iaW4odmFsdWUpOwpAQCAtMzYwMCw3ICszNjAwLDcgQEAKICAgICAgICAgcmV0 dXJuOwogCiAgICAgY2FzZSAweDM0OgkvKiBBTEFSTV9ZRUFSU19SRUcgKi8KLSNpZiBBTE1ERUJV RworI2lmZGVmIEFMTURFQlVHCiAgICAgICAgIHByaW50ZigiQUxNIFlSU19SRUcgPC0tICUwMnhc biIsIHZhbHVlKTsKICNlbmRpZgogICAgICAgICBzLT5hbGFybV90bS50bV95ZWFyID0gb21hcF9y dGNfYmluKHZhbHVlKTsKQEAgLTM2MDgsNyArMzYwOCw3IEBACiAgICAgICAgIHJldHVybjsKIAog ICAgIGNhc2UgMHg0MDoJLyogUlRDX0NUUkxfUkVHICovCi0jaWYgQUxNREVCVUcKKyNpZmRlZiBB TE1ERUJVRwogICAgICAgICBwcmludGYoIlJUQyBDT05UUk9MIDwtLSAlMDJ4XG4iLCB2YWx1ZSk7 CiAjZW5kaWYKICAgICAgICAgcy0+cG1fYW0gPSAodmFsdWUgPj4gMykgJiAxOwpAQCAtMzYyMCw3 ICszNjIwLDcgQEAKICAgICAgICAgcmV0dXJuOwogCiAgICAgY2FzZSAweDQ0OgkvKiBSVENfU1RB VFVTX1JFRyAqLwotI2lmIEFMTURFQlVHCisjaWZkZWYgQUxNREVCVUcKICAgICAgICAgcHJpbnRm KCJSVEMgU1RBVFVTTCA8LS0gJTAyeFxuIiwgdmFsdWUpOwogI2VuZGlmCiAgICAgICAgIHMtPnN0 YXR1cyAmPSB+KCh2YWx1ZSAmIDB4YzApIF4gMHg4MCk7CkBAIC0zNjI4LDE0ICszNjI4LDE0IEBA CiAgICAgICAgIHJldHVybjsKIAogICAgIGNhc2UgMHg0ODoJLyogUlRDX0lOVEVSUlVQVFNfUkVH ICovCi0jaWYgQUxNREVCVUcKKyNpZmRlZiBBTE1ERUJVRwogICAgICAgICBwcmludGYoIlJUQyBJ TlRSUyA8LS0gJTAyeFxuIiwgdmFsdWUpOwogI2VuZGlmCiAgICAgICAgIHMtPmludGVycnVwdHMg PSB2YWx1ZTsKICAgICAgICAgcmV0dXJuOwogCiAgICAgY2FzZSAweDRjOgkvKiBSVENfQ09NUF9M U0JfUkVHICovCi0jaWYgQUxNREVCVUcKKyNpZmRlZiBBTE1ERUJVRwogICAgICAgICBwcmludGYo IlJUQyBDT01QTFNCIDwtLSAlMDJ4XG4iLCB2YWx1ZSk7CiAjZW5kaWYKICAgICAgICAgcy0+Y29t cF9yZWcgJj0gMHhmZjAwOwpAQCAtMzY0Myw3ICszNjQzLDcgQEAKICAgICAgICAgcmV0dXJuOwog CiAgICAgY2FzZSAweDUwOgkvKiBSVENfQ09NUF9NU0JfUkVHICovCi0jaWYgQUxNREVCVUcKKyNp ZmRlZiBBTE1ERUJVRwogICAgICAgICBwcmludGYoIlJUQyBDT01QTVNCIDwtLSAlMDJ4XG4iLCB2 YWx1ZSk7CiAjZW5kaWYKICAgICAgICAgcy0+Y29tcF9yZWcgJj0gMHgwMGZmOwpJbmRleDogcWVt dS9taXBzLWRpcy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9taXBzLWRpcy5jCTIwMDgtMDgt MzEgMTA6MzQ6NTcuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L21pcHMtZGlzLmMJMjAwOC0wOC0z MSAxMDozNToxMi4wMDAwMDAwMDAgKzAwMDAKQEAgLTMzMDIsNyArMzMwMiw3IEBACiAjZW5kaWYK IAogICAvKiBTZXQgSVNBLCBhcmNoaXRlY3R1cmUsIGFuZCBjcDAgcmVnaXN0ZXIgbmFtZXMgYXMg YmVzdCB3ZSBjYW4uICAqLwotI2lmICEgU1lNVEFCX0FWQUlMQUJMRSAmJiAwCisjaWYgIWRlZmlu ZWQoU1lNVEFCX0FWQUlMQUJMRSkgJiYgMAogICAvKiBUaGlzIGlzIHJ1bm5pbmcgb3V0IG9uIGEg dGFyZ2V0IG1hY2hpbmUsIG5vdCBpbiBhIGhvc3QgdG9vbC4KICAgICAgRklYTUU6IFdoZXJlIGRv ZXMgbWlwc190YXJnZXRfaW5mbyBjb21lIGZyb20/ICAqLwogICB0YXJnZXRfcHJvY2Vzc29yID0g bWlwc190YXJnZXRfaW5mby5wcm9jZXNzb3I7CkluZGV4OiBxZW11L2xpbnV4LXVzZXIvbWFpbi5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9saW51eC11c2VyL21haW4uYwkyMDA4LTA4LTMxIDEw OjM0OjU3LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9saW51eC11c2VyL21haW4uYwkyMDA4LTA4 LTMxIDEwOjM1OjEyLjAwMDAwMDAwMCArMDAwMApAQCAtMjgyLDcgKzI4Miw3IEBACiAgICAgcFsx XSA9IHRzd2FwMzIoZTIpOwogfQogCi0jaWYgVEFSR0VUX1g4Nl82NAorI2lmZGVmIFRBUkdFVF9Y ODZfNjQKIHVpbnQ2NF90IGlkdF90YWJsZVs1MTJdOwogCiBzdGF0aWMgdm9pZCBzZXRfZ2F0ZTY0 KHZvaWQgKnB0ciwgdW5zaWduZWQgaW50IHR5cGUsIHVuc2lnbmVkIGludCBkcGwsCkluZGV4OiBx ZW11L2xpbnV4LXVzZXIvYXJtL253ZnBlL2ZwYTExLmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmln L2xpbnV4LXVzZXIvYXJtL253ZnBlL2ZwYTExLmMJMjAwOC0wOC0zMSAxMDozNDo1Ny4wMDAwMDAw MDAgKzAwMDAKKysrIHFlbXUvbGludXgtdXNlci9hcm0vbndmcGUvZnBhMTEuYwkyMDA4LTA4LTMx IDEwOjM1OjEyLjAwMDAwMDAwMCArMDAwMApAQCAtNTQsNyArNTQsNyBAQAogICBmcGExMS0+ZnBz ciA9IEZQX0VNVUxBVE9SIHwgQklUX0FDOwogCiAgIC8qIEZQQ1I6IHNldCBTQiwgQUIgYW5kIERB IGJpdHMsIGNsZWFyIGFsbCBvdGhlcnMgKi8KLSNpZiBNQUlOVEFJTl9GUENSCisjaWZkZWYgTUFJ TlRBSU5fRlBDUgogICBmcGExMS0+ZnBjciA9IE1BU0tfUkVTRVQ7CiAjZW5kaWYKIH0KQEAgLTY0 LDcgKzY0LDcgQEAKICAgICBpbnQgcm91bmRpbmdfbW9kZTsKICAgIEZQQTExICpmcGExMSA9IEdF VF9GUEExMSgpOwogCi0jaWYgTUFJTlRBSU5fRlBDUgorI2lmZGVmIE1BSU5UQUlOX0ZQQ1IKICAg IGZwYTExLT5mcGNyICY9IH5NQVNLX1JPVU5ESU5HX01PREU7CiAjZW5kaWYKICAgIHN3aXRjaCAo b3Bjb2RlICYgTUFTS19ST1VORElOR19NT0RFKQpAQCAtNzIsMjggKzcyLDI4IEBACiAgICAgICBk ZWZhdWx0OgogICAgICAgY2FzZSBST1VORF9UT19ORUFSRVNUOgogICAgICAgICAgcm91bmRpbmdf bW9kZSA9IGZsb2F0X3JvdW5kX25lYXJlc3RfZXZlbjsKLSNpZiBNQUlOVEFJTl9GUENSCisjaWZk ZWYgTUFJTlRBSU5fRlBDUgogICAgICAgICAgZnBhMTEtPmZwY3IgfD0gUk9VTkRfVE9fTkVBUkVT VDsKICNlbmRpZgogICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgUk9VTkRfVE9fUExVU19JTkZJ TklUWToKICAgICAgICAgIHJvdW5kaW5nX21vZGUgPSBmbG9hdF9yb3VuZF91cDsKLSNpZiBNQUlO VEFJTl9GUENSCisjaWZkZWYgTUFJTlRBSU5fRlBDUgogICAgICAgICAgZnBhMTEtPmZwY3IgfD0g Uk9VTkRfVE9fUExVU19JTkZJTklUWTsKICNlbmRpZgogICAgICAgYnJlYWs7CiAKICAgICAgIGNh c2UgUk9VTkRfVE9fTUlOVVNfSU5GSU5JVFk6CiAgICAgICAgICByb3VuZGluZ19tb2RlID0gZmxv YXRfcm91bmRfZG93bjsKLSNpZiBNQUlOVEFJTl9GUENSCisjaWZkZWYgTUFJTlRBSU5fRlBDUgog ICAgICAgICAgZnBhMTEtPmZwY3IgfD0gUk9VTkRfVE9fTUlOVVNfSU5GSU5JVFk7CiAjZW5kaWYK ICAgICAgIGJyZWFrOwogCiAgICAgICBjYXNlIFJPVU5EX1RPX1pFUk86CiAgICAgICAgICByb3Vu ZGluZ19tb2RlID0gZmxvYXRfcm91bmRfdG9femVybzsKLSNpZiBNQUlOVEFJTl9GUENSCisjaWZk ZWYgTUFJTlRBSU5fRlBDUgogICAgICAgICAgZnBhMTEtPmZwY3IgfD0gUk9VTkRfVE9fWkVSTzsK ICNlbmRpZgogICAgICAgYnJlYWs7CkBAIC0xMDUsMjggKzEwNSwyOCBAQAogewogICAgIGludCBy b3VuZGluZ19wcmVjaXNpb247CiAgICBGUEExMSAqZnBhMTEgPSBHRVRfRlBBMTEoKTsKLSNpZiBN QUlOVEFJTl9GUENSCisjaWZkZWYgTUFJTlRBSU5fRlBDUgogICAgZnBhMTEtPmZwY3IgJj0gfk1B U0tfUk9VTkRJTkdfUFJFQ0lTSU9OOwogI2VuZGlmCiAgICBzd2l0Y2ggKG9wY29kZSAmIE1BU0tf Uk9VTkRJTkdfUFJFQ0lTSU9OKQogICAgewogICAgICAgY2FzZSBST1VORF9TSU5HTEU6CiAgICAg ICAgICByb3VuZGluZ19wcmVjaXNpb24gPSAzMjsKLSNpZiBNQUlOVEFJTl9GUENSCisjaWZkZWYg TUFJTlRBSU5fRlBDUgogICAgICAgICAgZnBhMTEtPmZwY3IgfD0gUk9VTkRfU0lOR0xFOwogI2Vu ZGlmCiAgICAgICBicmVhazsKIAogICAgICAgY2FzZSBST1VORF9ET1VCTEU6CiAgICAgICAgICBy b3VuZGluZ19wcmVjaXNpb24gPSA2NDsKLSNpZiBNQUlOVEFJTl9GUENSCisjaWZkZWYgTUFJTlRB SU5fRlBDUgogICAgICAgICAgZnBhMTEtPmZwY3IgfD0gUk9VTkRfRE9VQkxFOwogI2VuZGlmCiAg ICAgICBicmVhazsKIAogICAgICAgY2FzZSBST1VORF9FWFRFTkRFRDoKICAgICAgICAgIHJvdW5k aW5nX3ByZWNpc2lvbiA9IDgwOwotI2lmIE1BSU5UQUlOX0ZQQ1IKKyNpZmRlZiBNQUlOVEFJTl9G UENSCiAgICAgICAgICBmcGExMS0+ZnBjciB8PSBST1VORF9FWFRFTkRFRDsKICNlbmRpZgogICAg ICAgYnJlYWs7Cg== ------=_Part_28373_23391539.1220179158646 Content-Type: plain/text; name=fix_wundef_tcg.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkjj1qbb Content-Disposition: attachment; filename=fix_wundef_tcg.diff SW5kZXg6IHFlbXUvdGNnL3RjZy1keW5nZW4uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvdGNn L3RjZy1keW5nZW4uYwkyMDA4LTA4LTMxIDEwOjM0OjUzLjAwMDAwMDAwMCArMDAwMAorKysgcWVt dS90Y2cvdGNnLWR5bmdlbi5jCTIwMDgtMDgtMzEgMTA6MzU6MTUuMDAwMDAwMDAwICswMDAwCkBA IC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAib3NkZXAuaCIK IAorI2luY2x1ZGUgImNwdS5oIiAvLyBGb3IgVEFSR0VUX0xPTkdfQklUUwogI2luY2x1ZGUgInRj Zy5oIgogCiBpbnQgX19vcF9wYXJhbTEsIF9fb3BfcGFyYW0yLCBfX29wX3BhcmFtMzsKSW5kZXg6 IHFlbXUvdGNnL3RjZy1ydW50aW1lLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL3RjZy90Y2ct cnVudGltZS5jCTIwMDgtMDgtMzEgMTA6MzQ6NTMuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L3Rj Zy90Y2ctcnVudGltZS5jCTIwMDgtMDgtMzEgMTA6MzU6MTUuMDAwMDAwMDAwICswMDAwCkBAIC0y OSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJvc2RlcC5oIgor I2luY2x1ZGUgImNwdS5oIiAvLyBGb3IgVEFSR0VUX0xPTkdfQklUUwogI2luY2x1ZGUgInRjZy5o IgogCiBpbnQ2NF90IHRjZ19oZWxwZXJfc2hsX2k2NChpbnQ2NF90IGFyZzEsIGludDY0X3QgYXJn MikK ------=_Part_28373_23391539.1220179158646--