From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5074 invoked by alias); 13 Nov 2007 10:01:21 -0000 Received: (qmail 5063 invoked by uid 22791); 13 Nov 2007 10:01:18 -0000 X-Spam-Check-By: sourceware.org Received: from wa-out-1112.google.com (HELO wa-out-1112.google.com) (209.85.146.178) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 13 Nov 2007 10:01:13 +0000 Received: by wa-out-1112.google.com with SMTP id l35so2090982waf for ; Tue, 13 Nov 2007 02:01:11 -0800 (PST) Received: by 10.114.77.1 with SMTP id z1mr297348waa.1194948071624; Tue, 13 Nov 2007 02:01:11 -0800 (PST) Received: by 10.114.95.9 with HTTP; Tue, 13 Nov 2007 02:01:11 -0800 (PST) Message-ID: Date: Tue, 13 Nov 2007 10:01:00 -0000 From: "Rob Quill" To: gdb-patches@sourceware.org Subject: Remove deprecated_set_value_type MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_16615_9753913.1194948071615" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-11/txt/msg00239.txt.bz2 ------=_Part_16615_9753913.1194948071615 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 202 Hi, This patch removes the deprecated_set_value_type() function from value.c, value.h and all other places which use it. I also plan to try and remove the other deprecated functions from value.c Rob ------=_Part_16615_9753913.1194948071615 Content-Type: text/x-patch; name=remove_deprecated_set_value_type.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_f8y97w0s Content-Disposition: attachment; filename=remove_deprecated_set_value_type.patch Content-length: 31387 ZGlmZiAtdXJOIC4vY2xlYW4vc3JjL2dkYi9hZGEtbGFuZy5jIC4vZGVwcmVj YXRlZC1yZW1vdmVkL3NyYy9nZGIvYWRhLWxhbmcuYwotLS0gLi9jbGVhbi9z cmMvZ2RiL2FkYS1sYW5nLmMJMjAwNy0xMS0wMiAxOTozNDoxMS4wMDAwMDAw MDAgKzAwMDAKKysrIC4vZGVwcmVjYXRlZC1yZW1vdmVkL3NyYy9nZGIvYWRh LWxhbmcuYwkyMDA3LTExLTEyIDE4OjM0OjE3LjAwMDAwMDAwMCArMDAwMApA QCAtMTY3MCw3ICsxNjcwLDcgQEAKICAgc3RydWN0IHZhbHVlICptYXJrID0g dmFsdWVfbWFyayAoKTsKICAgc3RydWN0IHZhbHVlICpkdW1teSA9IHZhbHVl X2Zyb21fbG9uZ2VzdCAoYnVpbHRpbl90eXBlX2xvbmcsIDApOwogICBzdHJ1 Y3QgdHlwZSAqcmVzdWx0OwotICBkZXByZWNhdGVkX3NldF92YWx1ZV90eXBl IChkdW1teSwgdHlwZSk7CisgIGR1bW15LT50eXBlID0gdHlwZTsKICAgcmVz dWx0ID0gYWRhX3R5cGVfb2ZfYXJyYXkgKGR1bW15LCAwKTsKICAgdmFsdWVf ZnJlZV90b19tYXJrIChtYXJrKTsKICAgcmV0dXJuIHJlc3VsdDsKQEAgLTIx NjcsNyArMjE2Nyw3IEBACiAgICAgICB2YWwgPSB2YWx1ZV9jb3B5ICh0b3Zh bCk7CiAgICAgICBtZW1jcHkgKHZhbHVlX2NvbnRlbnRzX3JhdyAodmFsKSwg dmFsdWVfY29udGVudHMgKGZyb212YWwpLAogICAgICAgICAgICAgICBUWVBF X0xFTkdUSCAodHlwZSkpOwotICAgICAgZGVwcmVjYXRlZF9zZXRfdmFsdWVf dHlwZSAodmFsLCB0eXBlKTsKKyAgICAgIHZhbC0+dHlwZSA9IHR5cGU7CiAK ICAgICAgIHJldHVybiB2YWw7CiAgICAgfQpAQCAtNzM4Niw3ICs3Mzg2LDcg QEAKICAgICAgICAgICB8fCBUWVBFX0xFTkdUSCAoVFlQRV9UQVJHRVRfVFlQ RSAodHlwZTIpKQogICAgICAgICAgICE9IFRZUEVfTEVOR1RIIChUWVBFX1RB UkdFVF9UWVBFICh0eXBlMikpKQogICAgICAgICBlcnJvciAoXygiSW5jb21w YXRpYmxlIHR5cGVzIGluIGFzc2lnbm1lbnQiKSk7Ci0gICAgICBkZXByZWNh dGVkX3NldF92YWx1ZV90eXBlICh2YWwsIHR5cGUpOworICAgICAgdmFsLT50 eXBlID0gdHlwZTsKICAgICB9CiAgIHJldHVybiB2YWw7CiB9CmRpZmYgLXVy TiAuL2NsZWFuL3NyYy9nZGIvYy12YWxwcmludC5jIC4vZGVwcmVjYXRlZC1y ZW1vdmVkL3NyYy9nZGIvYy12YWxwcmludC5jCi0tLSAuL2NsZWFuL3NyYy9n ZGIvYy12YWxwcmludC5jCTIwMDctMTAtMjUgMTg6NTc6MzQuMDAwMDAwMDAw ICswMTAwCisrKyAuL2RlcHJlY2F0ZWQtcmVtb3ZlZC9zcmMvZ2RiL2MtdmFs cHJpbnQuYwkyMDA3LTExLTEyIDIzOjQ0OjQwLjAwMDAwMDAwMCArMDAwMApA QCAtNTY1LDcgKzU2NSw3IEBACiAJICAgICAgICovCiAJICAgICAgc3RydWN0 IHZhbHVlICp0ZW1wYXJnOwogCSAgICAgIHRlbXBhcmc9dmFsdWVfY29weSh2 YWwpOwotCSAgICAgIGRlcHJlY2F0ZWRfc2V0X3ZhbHVlX3R5cGUgKHRlbXBh cmcsIGxvb2t1cF9wb2ludGVyX3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUodHlw ZSkpKTsKKwkgICAgICB0ZW1wYXJnLT50eXBlID0gbG9va3VwX3BvaW50ZXJf dHlwZSAoVFlQRV9UQVJHRVRfVFlQRSh0eXBlKSk7CiAJICAgICAgdmFsPXRl bXBhcmc7CiAJICAgIH0KIAkgIC8qIFBvaW50ZXIgdG8gY2xhc3MsIGNoZWNr IHJlYWwgdHlwZSBvZiBvYmplY3QgKi8KZGlmZiAtdXJOIC4vY2xlYW4vc3Jj L2dkYi9ldmFsLmMgLi9kZXByZWNhdGVkLXJlbW92ZWQvc3JjL2dkYi9ldmFs LmMKLS0tIC4vY2xlYW4vc3JjL2dkYi9ldmFsLmMJMjAwNy0xMS0xMSAxNzow ODo0Mi4wMDAwMDAwMDAgKzAwMDAKKysrIC4vZGVwcmVjYXRlZC1yZW1vdmVk L3NyYy9nZGIvZXZhbC5jCTIwMDctMTEtMTIgMjM6NDY6MDguMDAwMDAwMDAw ICswMDAwCkBAIC0xMDA3LDggKzEwMDcsOCBAQAogCWlmIChnbnVfcnVudGlt ZSAmJiAobWV0aG9kICE9IE5VTEwpKQogCSAgewogCSAgICAvKiBGdW5jdGlv biBvYmpjX21zZ19sb29rdXAgcmV0dXJucyBhIHBvaW50ZXIuICAqLwotCSAg ICBkZXByZWNhdGVkX3NldF92YWx1ZV90eXBlIChhcmd2ZWNbMF0sCi0JCQkJ ICAgICAgIGxvb2t1cF9mdW5jdGlvbl90eXBlIChsb29rdXBfcG9pbnRlcl90 eXBlICh2YWx1ZV90eXBlIChhcmd2ZWNbMF0pKSkpOworCSAgICBhcmd2ZWNb MF0tPnR5cGUgPQorCQkJCSAgICAgICBsb29rdXBfZnVuY3Rpb25fdHlwZSAo bG9va3VwX3BvaW50ZXJfdHlwZSAodmFsdWVfdHlwZSAoYXJndmVjWzBdKSkp OwogCSAgICBhcmd2ZWNbMF0gPSBjYWxsX2Z1bmN0aW9uX2J5X2hhbmQgKGFy Z3ZlY1swXSwgbmFyZ3MgKyAyLCBhcmd2ZWMgKyAxKTsKIAkgIH0KIApAQCAt MTY5MSw3ICsxNjkxLDcgQEAKIAkgICB0eXBlLCB0aGlzIHdpbGwgZW5zdXJl IHRoYXQgdmFsdWVfc3Vic2NyaXB0KCkKIAkgICByZXR1cm5zIHRoZSBjb3Jy ZWN0IHR5cGUgdmFsdWUgKi8KIAotCWRlcHJlY2F0ZWRfc2V0X3ZhbHVlX3R5 cGUgKGFyZzEsIHRtcF90eXBlKTsKKwlhcmcxLT50eXBlID0gdG1wX3R5cGU7 CiAJcmV0dXJuIHZhbHVlX2luZCAodmFsdWVfYWRkICh2YWx1ZV9jb2VyY2Vf YXJyYXkgKGFyZzEpLCBhcmcyKSk7CiAgICAgICB9CiAKZGlmZiAtdXJOIC4v Y2xlYW4vc3JjL2dkYi9nbnUtdjItYWJpLmMgLi9kZXByZWNhdGVkLXJlbW92 ZWQvc3JjL2dkYi9nbnUtdjItYWJpLmMKLS0tIC4vY2xlYW4vc3JjL2dkYi9n bnUtdjItYWJpLmMJMjAwNy0wOS0wNSAwMTowNzowNy4wMDAwMDAwMDAgKzAx MDAKKysrIC4vZGVwcmVjYXRlZC1yZW1vdmVkL3NyYy9nZGIvZ251LXYyLWFi aS5jCTIwMDctMTEtMTMgMDk6Mzk6NTcuMDAwMDAwMDAwICswMDAwCkBAIC0x NzMsNyArMTczLDcgQEAKICAgZWxzZQogICAgIGVycm9yIChfKCJJJ20gY29u ZnVzZWQ6ICB2aXJ0dWFsIGZ1bmN0aW9uIHRhYmxlIGhhcyBiYWQgdHlwZSIp KTsKICAgLyogUmVpbnN0YW50aWF0ZSB0aGUgZnVuY3Rpb24gcG9pbnRlciB3 aXRoIHRoZSBjb3JyZWN0IHR5cGUuICAqLwotICBkZXByZWNhdGVkX3NldF92 YWx1ZV90eXBlICh2Zm4sIGxvb2t1cF9wb2ludGVyX3R5cGUgKFRZUEVfRk5f RklFTERfVFlQRSAoZiwgaikpKTsKKyAgdmZuLT50eXBlID0gbG9va3VwX3Bv aW50ZXJfdHlwZSAoVFlQRV9GTl9GSUVMRF9UWVBFIChmLCBqKSk7CiAKICAg KmFyZzFwID0gYXJnMTsKICAgcmV0dXJuIHZmbjsKZGlmZiAtdXJOIC4vY2xl YW4vc3JjL2dkYi9nbnUtdjItYWJpLmN+IC4vZGVwcmVjYXRlZC1yZW1vdmVk L3NyYy9nZGIvZ251LXYyLWFiaS5jfgotLS0gLi9jbGVhbi9zcmMvZ2RiL2du dS12Mi1hYmkuY34JMjAwNy0wOS0wNSAwMTowNzowNy4wMDAwMDAwMDAgKzAx MDAKKysrIC4vZGVwcmVjYXRlZC1yZW1vdmVkL3NyYy9nZGIvZ251LXYyLWFi aS5jfgkyMDA3LTExLTEzIDA5OjM5OjU3LjAwMDAwMDAwMCArMDAwMApAQCAt MTczLDcgKzE3Myw3IEBACiAgIGVsc2UKICAgICBlcnJvciAoXygiSSdtIGNv bmZ1c2VkOiAgdmlydHVhbCBmdW5jdGlvbiB0YWJsZSBoYXMgYmFkIHR5cGUi KSk7CiAgIC8qIFJlaW5zdGFudGlhdGUgdGhlIGZ1bmN0aW9uIHBvaW50ZXIg d2l0aCB0aGUgY29ycmVjdCB0eXBlLiAgKi8KLSAgZGVwcmVjYXRlZF9zZXRf dmFsdWVfdHlwZSAodmZuLCBsb29rdXBfcG9pbnRlcl90eXBlIChUWVBFX0ZO X0ZJRUxEX1RZUEUgKGYsIGopKSk7CisgIHZmbi0+dHlwZSA9IGxvb2t1cF9w b2ludGVyX3R5cGUgKFRZUEVfRk5fRklFTERfVFlQRSAoZiwgaikpOwogCiAg ICphcmcxcCA9IGFyZzE7CiAgIHJldHVybiB2Zm47CmRpZmYgLXVyTiAuL2Ns ZWFuL3NyYy9nZGIvanYtbGFuZy5jIC4vZGVwcmVjYXRlZC1yZW1vdmVkL3Ny Yy9nZGIvanYtbGFuZy5jCi0tLSAuL2NsZWFuL3NyYy9nZGIvanYtbGFuZy5j CTIwMDctMTEtMDIgMTk6MzQ6MTEuMDAwMDAwMDAwICswMDAwCisrKyAuL2Rl cHJlY2F0ZWQtcmVtb3ZlZC9zcmMvZ2RiL2p2LWxhbmcuYwkyMDA3LTExLTEy IDIzOjQ3OjQxLjAwMDAwMDAwMCArMDAwMApAQCAtMzE5LDcgKzMxOSw3IEBA CiAgICAgICB0ZW1wID0gY2xhczsKICAgICAgIC8qIFNldCBhcnJheSBlbGVt ZW50IHR5cGUuICovCiAgICAgICB0ZW1wID0gdmFsdWVfc3RydWN0X2VsdCAo JnRlbXAsIE5VTEwsICJtZXRob2RzIiwgTlVMTCwgInN0cnVjdHVyZSIpOwot ICAgICAgZGVwcmVjYXRlZF9zZXRfdmFsdWVfdHlwZSAodGVtcCwgbG9va3Vw X3BvaW50ZXJfdHlwZSAodmFsdWVfdHlwZSAoY2xhcykpKTsKKyAgICAgIHRl bXAtPnR5cGUgPSBsb29rdXBfcG9pbnRlcl90eXBlICh2YWx1ZV90eXBlIChj bGFzKSk7CiAgICAgICBUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSA9IHR5cGVf ZnJvbV9jbGFzcyAodGVtcCk7CiAgICAgfQogCkBAIC04OTAsNyArODkwLDcg QEAKIAkgIC8qIEdldCBDTEFTU19FTEVNRU5UX1RZUEUgb2YgdGhlIGFycmF5 IHR5cGUuICovCiAJICB0ZW1wID0gdmFsdWVfc3RydWN0X2VsdCAoJnRlbXAs IE5VTEwsICJtZXRob2RzIiwKIAkJCQkgICBOVUxMLCAic3RydWN0dXJlIik7 Ci0JICBkZXByZWNhdGVkX3NldF92YWx1ZV90eXBlICh0ZW1wLCB2YWx1ZV90 eXBlIChjbGFzKSk7CisJICB0ZW1wLT50eXBlID0gdmFsdWVfdHlwZSAoY2xh cyk7CiAJICBlbF90eXBlID0gdHlwZV9mcm9tX2NsYXNzICh0ZW1wKTsKIAkg IGlmIChUWVBFX0NPREUgKGVsX3R5cGUpID09IFRZUEVfQ09ERV9TVFJVQ1Qp CiAJICAgIGVsX3R5cGUgPSBsb29rdXBfcG9pbnRlcl90eXBlIChlbF90eXBl KTsKZGlmZiAtdXJOIC4vY2xlYW4vc3JjL2dkYi9vYmpjLWxhbmcuYyAuL2Rl cHJlY2F0ZWQtcmVtb3ZlZC9zcmMvZ2RiL29iamMtbGFuZy5jCi0tLSAuL2Ns ZWFuL3NyYy9nZGIvb2JqYy1sYW5nLmMJMjAwNy0xMS0wMiAxOTozNDoxMS4w MDAwMDAwMDAgKzAwMDAKKysrIC4vZGVwcmVjYXRlZC1yZW1vdmVkL3NyYy9n ZGIvb2JqYy1sYW5nLmMJMjAwNy0xMS0xMiAyMzo0ODoxNi4wMDAwMDAwMDAg KzAwMDAKQEAgLTIwMiw3ICsyMDIsNyBAQAogICBlbHNlCiAgICAgZXJyb3Ig KF8oIk5TU3RyaW5nOiBpbnRlcm5hbCBlcnJvciAtLSBubyB3YXkgdG8gY3Jl YXRlIG5ldyBOU1N0cmluZyIpKTsKIAotICBkZXByZWNhdGVkX3NldF92YWx1 ZV90eXBlIChuc3N0cmluZ1ZhbHVlLCB0eXBlKTsKKyAgbnNzdHJpbmdWYWx1 ZS0+dHlwZSA9IHR5cGU7CiAgIHJldHVybiBuc3N0cmluZ1ZhbHVlOwogfQog CmRpZmYgLXVyTiAuL2NsZWFuL3NyYy9nZGIvcHJpbnRjbWQuYyAuL2RlcHJl Y2F0ZWQtcmVtb3ZlZC9zcmMvZ2RiL3ByaW50Y21kLmMKLS0tIC4vY2xlYW4v c3JjL2dkYi9wcmludGNtZC5jCTIwMDctMTEtMDUgMTE6MzI6MzEuMDAwMDAw MDAwICswMDAwCisrKyAuL2RlcHJlY2F0ZWQtcmVtb3ZlZC9zcmMvZ2RiL3By aW50Y21kLmMJMjAwNy0xMS0xMiAxODozOTozMC4wMDAwMDAwMDAgKzAwMDAK QEAgLTIwNDAsOSArMjA0MCw5IEBACiAJICB7CiAJICAgIHN0cnVjdCB0eXBl ICp0eXBlID0gdmFsdWVfdHlwZSAodmFsX2FyZ3NbbmFyZ3NdKTsKIAkgICAg aWYgKFRZUEVfTEVOR1RIICh0eXBlKSA9PSBzaXplb2YgKGZsb2F0KSkKLQkg ICAgICBkZXByZWNhdGVkX3NldF92YWx1ZV90eXBlICh2YWxfYXJnc1tuYXJn c10sIGJ1aWx0aW5fdHlwZV9mbG9hdCk7CisJICAgICAgdmFsX2FyZ3NbbmFy Z3NdLT50eXBlID0gYnVpbHRpbl90eXBlX2Zsb2F0OwogCSAgICBpZiAoVFlQ RV9MRU5HVEggKHR5cGUpID09IHNpemVvZiAoZG91YmxlKSkKLQkgICAgICBk ZXByZWNhdGVkX3NldF92YWx1ZV90eXBlICh2YWxfYXJnc1tuYXJnc10sIGJ1 aWx0aW5fdHlwZV9kb3VibGUpOworCSAgICAgIHZhbF9hcmdzW25hcmdzXS0+ dHlwZSA9IGJ1aWx0aW5fdHlwZV9kb3VibGU7CiAJICB9CiAJbmFyZ3MrKzsK IAlzID0gczE7CmRpZmYgLXVyTiAuL2NsZWFuL3NyYy9nZGIvdHJhY2Vwb2lu dC5jIC4vZGVwcmVjYXRlZC1yZW1vdmVkL3NyYy9nZGIvdHJhY2Vwb2ludC5j Ci0tLSAuL2NsZWFuL3NyYy9nZGIvdHJhY2Vwb2ludC5jCTIwMDctMTAtMjcg MDE6MzQ6NDguMDAwMDAwMDAwICswMTAwCisrKyAuL2RlcHJlY2F0ZWQtcmVt b3ZlZC9zcmMvZ2RiL3RyYWNlcG9pbnQuYwkyMDA3LTExLTEzIDAwOjE2OjM0 LjAwMDAwMDAwMCArMDAwMApAQCAtMjk2LDcgKzI5Niw5IEBACiAgICAgICBm dW5jX3N0cmluZyA9IGNyZWF0ZV9hcnJheV90eXBlIChmdW5jX3N0cmluZywK IAkJCQkgICAgICAgYnVpbHRpbl90eXBlX2NoYXIsIGZ1bmNfcmFuZ2UpOwog ICAgICAgZnVuY192YWwgPSBhbGxvY2F0ZV92YWx1ZSAoZnVuY19zdHJpbmcp OwotICAgICAgZGVwcmVjYXRlZF9zZXRfdmFsdWVfdHlwZSAoZnVuY192YWws IGZ1bmNfc3RyaW5nKTsKKworICAgICAgZnVuY192YWwtPnR5cGUgPSBmdW5j X3N0cmluZzsKKwogICAgICAgbWVtY3B5ICh2YWx1ZV9jb250ZW50c19yYXcg KGZ1bmNfdmFsKSwKIAkgICAgICBERVBSRUNBVEVEX1NZTUJPTF9OQU1FICh0 cmFjZWZyYW1lX2Z1biksCiAJICAgICAgbGVuKTsKQEAgLTMxOCw3ICszMjAs NyBAQAogICAgICAgZmlsZV9zdHJpbmcgPSBjcmVhdGVfYXJyYXlfdHlwZSAo ZmlsZV9zdHJpbmcsCiAJCQkJICAgICAgIGJ1aWx0aW5fdHlwZV9jaGFyLCBm aWxlX3JhbmdlKTsKICAgICAgIGZpbGVfdmFsID0gYWxsb2NhdGVfdmFsdWUg KGZpbGVfc3RyaW5nKTsKLSAgICAgIGRlcHJlY2F0ZWRfc2V0X3ZhbHVlX3R5 cGUgKGZpbGVfdmFsLCBmaWxlX3N0cmluZyk7CisgICAgICBmaWxlX3ZhbC0+ dHlwZSA9IGZpbGVfc3RyaW5nOwogICAgICAgbWVtY3B5ICh2YWx1ZV9jb250 ZW50c19yYXcgKGZpbGVfdmFsKSwKIAkgICAgICB0cmFjZWZyYW1lX3NhbC5z eW10YWItPmZpbGVuYW1lLAogCSAgICAgIGxlbik7CmRpZmYgLXVyTiAuL2Ns ZWFuL3NyYy9nZGIvdmFsb3BzLmMgLi9kZXByZWNhdGVkLXJlbW92ZWQvc3Jj L2dkYi92YWxvcHMuYwotLS0gLi9jbGVhbi9zcmMvZ2RiL3ZhbG9wcy5jCTIw MDctMTEtMDIgMTk6MzU6MTkuMDAwMDAwMDAwICswMDAwCisrKyAuL2RlcHJl Y2F0ZWQtcmVtb3ZlZC9zcmMvZ2RiL3ZhbG9wcy5jCTIwMDctMTEtMTMgMDA6 MTk6MjUuMDAwMDAwMDAwICswMDAwCkBAIC0yMjQsNyArMjI0LDcgQEAKIAkg IGlmICh2KQogCSAgICB7CiAJICAgICAgdiA9IHZhbHVlX2FkZHIgKHYpOwot CSAgICAgIGRlcHJlY2F0ZWRfc2V0X3ZhbHVlX3R5cGUgKHYsIHR5cGUpOwor CSAgICAgIHYtPnR5cGUgPSB0eXBlOwogCSAgICAgIHJldHVybiB2OwogCSAg ICB9CiAJfQpAQCAtMjUwLDcgKzI1MCw3IEBACiAKICAgLyogTm8gc3VwZXJj bGFzcyBmb3VuZCwganVzdCBjaGFuZ2UgdGhlIHBvaW50ZXIgdHlwZS4gICov CiAgIGFyZzIgPSB2YWx1ZV9jb3B5IChhcmcyKTsKLSAgZGVwcmVjYXRlZF9z ZXRfdmFsdWVfdHlwZSAoYXJnMiwgdHlwZSk7CisgIGFyZzItPnR5cGUgPSB0 eXBlOwogICBhcmcyID0gdmFsdWVfY2hhbmdlX2VuY2xvc2luZ190eXBlIChh cmcyLCB0eXBlKTsKICAgc2V0X3ZhbHVlX3BvaW50ZWRfdG9fb2Zmc2V0IChh cmcyLCAwKTsJLyogcGFpOiBjaGtfdmFsICovCiAgIHJldHVybiBhcmcyOwpA QCAtMzA3LDEwICszMDcsOSBAQAogCQkJCQkgIFRZUEVfVEFSR0VUX1RZUEUg KHJhbmdlX3R5cGUpLAogCQkJCQkgIGxvd19ib3VuZCwKIAkJCQkJICBuZXdf bGVuZ3RoICsgbG93X2JvdW5kIC0gMSk7Ci0JICBkZXByZWNhdGVkX3NldF92 YWx1ZV90eXBlIChhcmcyLCAKLQkJCQkgICAgIGNyZWF0ZV9hcnJheV90eXBl ICgoc3RydWN0IHR5cGUgKikgTlVMTCwKLQkJCQkJCQllbGVtZW50X3R5cGUs IAotCQkJCQkJCXJhbmdlX3R5cGUpKTsKKwkgIGFyZzItPnR5cGUgPSBjcmVh dGVfYXJyYXlfdHlwZSAoKHN0cnVjdCB0eXBlICopIE5VTEwsCisJCQkJCSAg ZWxlbWVudF90eXBlLCAKKwkJCQkJICByYW5nZV90eXBlKTsKIAkgIHJldHVy biBhcmcyOwogCX0KICAgICB9CkBAIC0zNTEsNyArMzUwLDcgQEAKIAkJCQkJ ICAgICBhcmcyLCAwLCB0eXBlMiwgMSk7CiAgICAgICBpZiAodikKIAl7Ci0J ICBkZXByZWNhdGVkX3NldF92YWx1ZV90eXBlICh2LCB0eXBlKTsKKwkgIHYt PnR5cGUgPSB0eXBlOwogCSAgcmV0dXJuIHY7CiAJfQogICAgIH0KQEAgLTQy Myw3ICs0MjIsNyBAQAogCXJldHVybiB2YWx1ZV9jYXN0X3BvaW50ZXJzICh0 eXBlLCBhcmcyKTsKIAogICAgICAgYXJnMiA9IHZhbHVlX2NvcHkgKGFyZzIp OwotICAgICAgZGVwcmVjYXRlZF9zZXRfdmFsdWVfdHlwZSAoYXJnMiwgdHlw ZSk7CisgICAgICBhcmcyLT50eXBlID0gdHlwZTsKICAgICAgIGFyZzIgPSB2 YWx1ZV9jaGFuZ2VfZW5jbG9zaW5nX3R5cGUgKGFyZzIsIHR5cGUpOwogICAg ICAgc2V0X3ZhbHVlX3BvaW50ZWRfdG9fb2Zmc2V0IChhcmcyLCAwKTsJLyog cGFpOiBjaGtfdmFsICovCiAgICAgICByZXR1cm4gYXJnMjsKQEAgLTczOSw3 ICs3MzgsNyBAQAogICB2YWwgPSB2YWx1ZV9jb3B5ICh0b3ZhbCk7CiAgIG1l bWNweSAodmFsdWVfY29udGVudHNfcmF3ICh2YWwpLCB2YWx1ZV9jb250ZW50 cyAoZnJvbXZhbCksCiAJICBUWVBFX0xFTkdUSCAodHlwZSkpOwotICBkZXBy ZWNhdGVkX3NldF92YWx1ZV90eXBlICh2YWwsIHR5cGUpOworICB2YWwtPnR5 cGUgPSB0eXBlOwogICB2YWwgPSB2YWx1ZV9jaGFuZ2VfZW5jbG9zaW5nX3R5 cGUgKHZhbCwgCiAJCQkJICAgICB2YWx1ZV9lbmNsb3NpbmdfdHlwZSAoZnJv bXZhbCkpOwogICBzZXRfdmFsdWVfZW1iZWRkZWRfb2Zmc2V0ICh2YWwsIHZh bHVlX2VtYmVkZGVkX29mZnNldCAoZnJvbXZhbCkpOwpAQCAtODY3LDggKzg2 Niw3IEBACiAgICAgICAgICBrZWVwIHRoZSBzYW1lIGxvY2F0aW9uIGluZm9y bWF0aW9uLCB3aGljaCBpcyBlZmZpY2llbnQsIGFuZAogICAgICAgICAgYWxs b3dzICYoJlgpIHRvIGdldCB0aGUgbG9jYXRpb24gY29udGFpbmluZyB0aGUg cmVmZXJlbmNlLiAgKi8KICAgICAgIGFyZzIgPSB2YWx1ZV9jb3B5IChhcmcx KTsKLSAgICAgIGRlcHJlY2F0ZWRfc2V0X3ZhbHVlX3R5cGUgKGFyZzIsIAot CQkJCSBsb29rdXBfcG9pbnRlcl90eXBlIChUWVBFX1RBUkdFVF9UWVBFICh0 eXBlKSkpOworICAgICAgYXJnMi0+dHlwZSA9IGxvb2t1cF9wb2ludGVyX3R5 cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpKTsKICAgICAgIHJldHVybiBh cmcyOwogICAgIH0KICAgaWYgKFRZUEVfQ09ERSAodHlwZSkgPT0gVFlQRV9D T0RFX0ZVTkMpCkBAIC05MDUsNyArOTAzLDcgQEAKICAgICByZXR1cm4gYXJn MTsKIAogICBhcmcyID0gdmFsdWVfYWRkciAoYXJnMSk7Ci0gIGRlcHJlY2F0 ZWRfc2V0X3ZhbHVlX3R5cGUgKGFyZzIsIGxvb2t1cF9yZWZlcmVuY2VfdHlw ZSAodHlwZSkpOworICBhcmcyLT50eXBlID0gbG9va3VwX3JlZmVyZW5jZV90 eXBlICh0eXBlKTsKICAgcmV0dXJuIGFyZzI7CiB9CiAKQEAgLTk1MCw3ICs5 NDgsNyBAQAogCQkJICAgICAgIC0gdmFsdWVfcG9pbnRlZF90b19vZmZzZXQg KGFyZzEpKSk7CiAKICAgICAgIC8qIFJlLWFkanVzdCB0eXBlLiAgKi8KLSAg ICAgIGRlcHJlY2F0ZWRfc2V0X3ZhbHVlX3R5cGUgKGFyZzIsIFRZUEVfVEFS R0VUX1RZUEUgKGJhc2VfdHlwZSkpOworICAgICAgYXJnMi0+dHlwZSA9IFRZ UEVfVEFSR0VUX1RZUEUgKGJhc2VfdHlwZSk7CiAgICAgICAvKiBBZGQgZW1i ZWRkaW5nIGluZm8uICAqLwogICAgICAgYXJnMiA9IHZhbHVlX2NoYW5nZV9l bmNsb3NpbmdfdHlwZSAoYXJnMiwgZW5jX3R5cGUpOwogICAgICAgc2V0X3Zh bHVlX2VtYmVkZGVkX29mZnNldCAoYXJnMiwgdmFsdWVfcG9pbnRlZF90b19v ZmZzZXQgKGFyZzEpKTsKQEAgLTI1OTYsNyArMjU5NCw3IEBACiAgICAgIHZh bHVlX3J0dGlfdHlwZSB1c2VkIGZvciBpdHMgY29tcHV0YXRpb24uICAqLwog ICBuZXdfdmFsID0gdmFsdWVfYXRfbGF6eSAocmVhbF90eXBlLCBWQUxVRV9B RERSRVNTIChhcmdwKSAtIHRvcCArCiAJCQkgICAodXNpbmdfZW5jID8gMCA6 IHZhbHVlX2VtYmVkZGVkX29mZnNldCAoYXJncCkpKTsKLSAgZGVwcmVjYXRl ZF9zZXRfdmFsdWVfdHlwZSAobmV3X3ZhbCwgdmFsdWVfdHlwZSAoYXJncCkp OworICBuZXdfdmFsLT50eXBlID0gdmFsdWVfdHlwZSAoYXJncCk7CiAgIHNl dF92YWx1ZV9lbWJlZGRlZF9vZmZzZXQgKG5ld192YWwsICh1c2luZ19lbmMK IAkJCQkgICAgICAgPyB0b3AgKyB2YWx1ZV9lbWJlZGRlZF9vZmZzZXQgKGFy Z3ApCiAJCQkJICAgICAgIDogdG9wKSk7CmRpZmYgLXVyTiAuL2NsZWFuL3Ny Yy9nZGIvdmFsdWUuYyAuL2RlcHJlY2F0ZWQtcmVtb3ZlZC9zcmMvZ2RiL3Zh bHVlLmMKLS0tIC4vY2xlYW4vc3JjL2dkYi92YWx1ZS5jCTIwMDctMTAtMjUg MTk6MDE6NTguMDAwMDAwMDAwICswMTAwCisrKyAuL2RlcHJlY2F0ZWQtcmVt b3ZlZC9zcmMvZ2RiL3ZhbHVlLmMJMjAwNy0xMS0xMyAwMDoxNzoxNC4wMDAw MDAwMDAgKzAwMDAKQEAgLTQwLDE0MiArNDAsNiBAQAogCiB2b2lkIF9pbml0 aWFsaXplX3ZhbHVlcyAodm9pZCk7CiAKLXN0cnVjdCB2YWx1ZQotewotICAv KiBUeXBlIG9mIHZhbHVlOyBlaXRoZXIgbm90IGFuIGx2YWwsIG9yIG9uZSBv ZiB0aGUgdmFyaW91cwotICAgICBkaWZmZXJlbnQgcG9zc2libGUga2luZHMg b2YgbHZhbC4gICovCi0gIGVudW0gbHZhbF90eXBlIGx2YWw7Ci0KLSAgLyog SXMgaXQgbW9kaWZpYWJsZT8gIE9ubHkgcmVsZXZhbnQgaWYgbHZhbCAhPSBu b3RfbHZhbC4gICovCi0gIGludCBtb2RpZmlhYmxlOwotCi0gIC8qIExvY2F0 aW9uIG9mIHZhbHVlIChpZiBsdmFsKS4gICovCi0gIHVuaW9uCi0gIHsKLSAg ICAvKiBJZiBsdmFsID09IGx2YWxfbWVtb3J5LCB0aGlzIGlzIHRoZSBhZGRy ZXNzIGluIHRoZSBpbmZlcmlvci4KLSAgICAgICBJZiBsdmFsID09IGx2YWxf cmVnaXN0ZXIsIHRoaXMgaXMgdGhlIGJ5dGUgb2Zmc2V0IGludG8gdGhlCi0g ICAgICAgcmVnaXN0ZXJzIHN0cnVjdHVyZS4gICovCi0gICAgQ09SRV9BRERS IGFkZHJlc3M7Ci0KLSAgICAvKiBQb2ludGVyIHRvIGludGVybmFsIHZhcmlh YmxlLiAgKi8KLSAgICBzdHJ1Y3QgaW50ZXJuYWx2YXIgKmludGVybmFsdmFy OwotICB9IGxvY2F0aW9uOwotCi0gIC8qIERlc2NyaWJlcyBvZmZzZXQgb2Yg YSB2YWx1ZSB3aXRoaW4gbHZhbCBvZiBhIHN0cnVjdHVyZSBpbiBieXRlcy4K LSAgICAgSWYgbHZhbCA9PSBsdmFsX21lbW9yeSwgdGhpcyBpcyBhbiBvZmZz ZXQgdG8gdGhlIGFkZHJlc3MuICBJZgotICAgICBsdmFsID09IGx2YWxfcmVn aXN0ZXIsIHRoaXMgaXMgYSBmdXJ0aGVyIG9mZnNldCBmcm9tCi0gICAgIGxv Y2F0aW9uLmFkZHJlc3Mgd2l0aGluIHRoZSByZWdpc3RlcnMgc3RydWN0dXJl LiAgTm90ZSBhbHNvIHRoZQotICAgICBtZW1iZXIgZW1iZWRkZWRfb2Zmc2V0 IGJlbG93LiAgKi8KLSAgaW50IG9mZnNldDsKLQotICAvKiBPbmx5IHVzZWQg Zm9yIGJpdGZpZWxkczsgbnVtYmVyIG9mIGJpdHMgY29udGFpbmVkIGluIHRo ZW0uICAqLwotICBpbnQgYml0c2l6ZTsKLQotICAvKiBPbmx5IHVzZWQgZm9y IGJpdGZpZWxkczsgcG9zaXRpb24gb2Ygc3RhcnQgb2YgZmllbGQuICBGb3IK LSAgICAgQklUU19CSUdfRU5ESUFOPTAgdGFyZ2V0cywgaXQgaXMgdGhlIHBv c2l0aW9uIG9mIHRoZSBMU0IuICBGb3IKLSAgICAgQklUU19CSUdfRU5ESUFO PTEgdGFyZ2V0cywgaXQgaXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBNU0IuICov Ci0gIGludCBiaXRwb3M7Ci0KLSAgLyogRnJhbWUgcmVnaXN0ZXIgdmFsdWUg aXMgcmVsYXRpdmUgdG8uICBUaGlzIHdpbGwgYmUgZGVzY3JpYmVkIGluCi0g ICAgIHRoZSBsdmFsIGVudW0gYWJvdmUgYXMgImx2YWxfcmVnaXN0ZXIiLiAg Ki8KLSAgc3RydWN0IGZyYW1lX2lkIGZyYW1lX2lkOwotCi0gIC8qIFR5cGUg b2YgdGhlIHZhbHVlLiAgKi8KLSAgc3RydWN0IHR5cGUgKnR5cGU7Ci0KLSAg LyogSWYgYSB2YWx1ZSByZXByZXNlbnRzIGEgQysrIG9iamVjdCwgdGhlbiB0 aGUgYHR5cGUnIGZpZWxkIGdpdmVzCi0gICAgIHRoZSBvYmplY3QncyBjb21w aWxlLXRpbWUgdHlwZS4gIElmIHRoZSBvYmplY3QgYWN0dWFsbHkgYmVsb25n cwotICAgICB0byBzb21lIGNsYXNzIGRlcml2ZWQgZnJvbSBgdHlwZScsIHBl cmhhcHMgd2l0aCBvdGhlciBiYXNlCi0gICAgIGNsYXNzZXMgYW5kIGFkZGl0 aW9uYWwgbWVtYmVycywgdGhlbiBgdHlwZScgaXMganVzdCBhIHN1Ym9iamVj dAotICAgICBvZiB0aGUgcmVhbCB0aGluZywgYW5kIHRoZSBmdWxsIG9iamVj dCBpcyBwcm9iYWJseSBsYXJnZXIgdGhhbgotICAgICBgdHlwZScgd291bGQg c3VnZ2VzdC4KLQotICAgICBJZiBgdHlwZScgaXMgYSBkeW5hbWljIGNsYXNz IChpLmUuIG9uZSB3aXRoIGEgdnRhYmxlKSwgdGhlbiBHREIKLSAgICAgY2Fu IGFjdHVhbGx5IGRldGVybWluZSB0aGUgb2JqZWN0J3MgcnVuLXRpbWUgdHlw ZSBieSBsb29raW5nIGF0Ci0gICAgIHRoZSBydW4tdGltZSB0eXBlIGluZm9y bWF0aW9uIGluIHRoZSB2dGFibGUuICBXaGVuIHRoaXMKLSAgICAgaW5mb3Jt YXRpb24gaXMgYXZhaWxhYmxlLCB3ZSBtYXkgZWxlY3QgdG8gcmVhZCBpbiB0 aGUgZW50aXJlCi0gICAgIG9iamVjdCwgZm9yIHNldmVyYWwgcmVhc29uczoK LQotICAgICAtIFdoZW4gcHJpbnRpbmcgdGhlIHZhbHVlLCB0aGUgdXNlciB3 b3VsZCBwcm9iYWJseSByYXRoZXIgc2VlIHRoZQotICAgICBmdWxsIG9iamVj dCwgbm90IGp1c3QgdGhlIGxpbWl0ZWQgcG9ydGlvbiBhcHBhcmVudCBmcm9t IHRoZQotICAgICBjb21waWxlLXRpbWUgdHlwZS4KLQotICAgICAtIElmIGB0 eXBlJyBoYXMgdmlydHVhbCBiYXNlIGNsYXNzZXMsIHRoZW4gZXZlbiBwcmlu dGluZyBgdHlwZScKLSAgICAgYWxvbmUgbWF5IHJlcXVpcmUgcmVhY2hpbmcg b3V0c2lkZSB0aGUgYHR5cGUnIHBvcnRpb24gb2YgdGhlCi0gICAgIG9iamVj dCB0byB3aGVyZXZlciB0aGUgdmlydHVhbCBiYXNlIGNsYXNzIGhhcyBiZWVu IHN0b3JlZC4KLQotICAgICBXaGVuIHdlIHN0b3JlIHRoZSBlbnRpcmUgb2Jq ZWN0LCBgZW5jbG9zaW5nX3R5cGUnIGlzIHRoZSBydW4tdGltZQotICAgICB0 eXBlIC0tIHRoZSBjb21wbGV0ZSBvYmplY3QgLS0gYW5kIGBlbWJlZGRlZF9v ZmZzZXQnIGlzIHRoZQotICAgICBvZmZzZXQgb2YgYHR5cGUnIHdpdGhpbiB0 aGF0IGxhcmdlciB0eXBlLCBpbiBieXRlcy4gIFRoZQotICAgICB2YWx1ZV9j b250ZW50cygpIG1hY3JvIHRha2VzIGBlbWJlZGRlZF9vZmZzZXQnIGludG8g YWNjb3VudCwgc28KLSAgICAgbW9zdCBHREIgY29kZSBjb250aW51ZXMgdG8g c2VlIHRoZSBgdHlwZScgcG9ydGlvbiBvZiB0aGUgdmFsdWUsCi0gICAgIGp1 c3QgYXMgdGhlIGluZmVyaW9yIHdvdWxkLgotCi0gICAgIElmIGB0eXBlJyBp cyBhIHBvaW50ZXIgdG8gYW4gb2JqZWN0LCB0aGVuIGBlbmNsb3NpbmdfdHlw ZScgaXMgYQotICAgICBwb2ludGVyIHRvIHRoZSBvYmplY3QncyBydW4tdGlt ZSB0eXBlLCBhbmQgYHBvaW50ZWRfdG9fb2Zmc2V0JyBpcwotICAgICB0aGUg b2Zmc2V0IGluIGJ5dGVzIGZyb20gdGhlIGZ1bGwgb2JqZWN0IHRvIHRoZSBw b2ludGVkLXRvIG9iamVjdAotICAgICAtLSB0aGF0IGlzLCB0aGUgdmFsdWUg YGVtYmVkZGVkX29mZnNldCcgd291bGQgaGF2ZSBpZiB3ZSBmb2xsb3dlZAot ICAgICB0aGUgcG9pbnRlciBhbmQgZmV0Y2hlZCB0aGUgY29tcGxldGUgb2Jq ZWN0LiAgKEkgZG9uJ3QgcmVhbGx5IHNlZQotICAgICB0aGUgcG9pbnQuICBX aHkgbm90IGp1c3QgZGV0ZXJtaW5lIHRoZSBydW4tdGltZSB0eXBlIHdoZW4g eW91Ci0gICAgIGluZGlyZWN0LCBhbmQgYXZvaWQgdGhlIHNwZWNpYWwgY2Fz ZT8gIFRoZSBjb250ZW50cyBkb24ndCBtYXR0ZXIKLSAgICAgdW50aWwgeW91 IGluZGlyZWN0IGFueXdheS4pCi0KLSAgICAgSWYgd2UncmUgbm90IGRvaW5n IGFueXRoaW5nIGZhbmN5LCBgZW5jbG9zaW5nX3R5cGUnIGlzIGVxdWFsIHRv Ci0gICAgIGB0eXBlJywgYW5kIGBlbWJlZGRlZF9vZmZzZXQnIGlzIHplcm8s IHNvIGV2ZXJ5dGhpbmcgd29ya3MKLSAgICAgbm9ybWFsbHkuICAqLwotICBz dHJ1Y3QgdHlwZSAqZW5jbG9zaW5nX3R5cGU7Ci0gIGludCBlbWJlZGRlZF9v ZmZzZXQ7Ci0gIGludCBwb2ludGVkX3RvX29mZnNldDsKLQotICAvKiBWYWx1 ZXMgYXJlIHN0b3JlZCBpbiBhIGNoYWluLCBzbyB0aGF0IHRoZXkgY2FuIGJl IGRlbGV0ZWQgZWFzaWx5Ci0gICAgIG92ZXIgY2FsbHMgdG8gdGhlIGluZmVy aW9yLiAgVmFsdWVzIGFzc2lnbmVkIHRvIGludGVybmFsCi0gICAgIHZhcmlh YmxlcyBvciBwdXQgaW50byB0aGUgdmFsdWUgaGlzdG9yeSBhcmUgdGFrZW4g b2ZmIHRoaXMKLSAgICAgbGlzdC4gICovCi0gIHN0cnVjdCB2YWx1ZSAqbmV4 dDsKLQotICAvKiBSZWdpc3RlciBudW1iZXIgaWYgdGhlIHZhbHVlIGlzIGZy b20gYSByZWdpc3Rlci4gICovCi0gIHNob3J0IHJlZ251bTsKLQotICAvKiBJ ZiB6ZXJvLCBjb250ZW50cyBvZiB0aGlzIHZhbHVlIGFyZSBpbiB0aGUgY29u dGVudHMgZmllbGQuICBJZgotICAgICBub256ZXJvLCBjb250ZW50cyBhcmUg aW4gaW5mZXJpb3IgbWVtb3J5IGF0IGFkZHJlc3MgaW4gdGhlCi0gICAgIGxv Y2F0aW9uLmFkZHJlc3MgZmllbGQgcGx1cyB0aGUgb2Zmc2V0IGZpZWxkIChh bmQgdGhlIGx2YWwgZmllbGQKLSAgICAgc2hvdWxkIGJlIGx2YWxfbWVtb3J5 KS4KLQotICAgICBXQVJOSU5HOiBUaGlzIGZpZWxkIGlzIHVzZWQgYnkgdGhl IGNvZGUgd2hpY2ggaGFuZGxlcyB3YXRjaHBvaW50cwotICAgICAoc2VlIGJy ZWFrcG9pbnQuYykgdG8gZGVjaWRlIHdoZXRoZXIgYSBwYXJ0aWN1bGFyIHZh bHVlIGNhbiBiZQotICAgICB3YXRjaGVkIGJ5IGhhcmR3YXJlIHdhdGNocG9p bnRzLiAgSWYgdGhlIGxhenkgZmxhZyBpcyBzZXQgZm9yCi0gICAgIHNvbWUg bWVtYmVyIG9mIGEgdmFsdWUgY2hhaW4sIGl0IGlzIGFzc3VtZWQgdGhhdCB0 aGlzIG1lbWJlciBvZgotICAgICB0aGUgY2hhaW4gZG9lc24ndCBuZWVkIHRv IGJlIHdhdGNoZWQgYXMgcGFydCBvZiB3YXRjaGluZyB0aGUKLSAgICAgdmFs dWUgaXRzZWxmLiAgVGhpcyBpcyBob3cgR0RCIGF2b2lkcyB3YXRjaGluZyB0 aGUgZW50aXJlIHN0cnVjdAotICAgICBvciBhcnJheSB3aGVuIHRoZSB1c2Vy IHdhbnRzIHRvIHdhdGNoIGEgc2luZ2xlIHN0cnVjdCBtZW1iZXIgb3IKLSAg ICAgYXJyYXkgZWxlbWVudC4gIElmIHlvdSBldmVyIGNoYW5nZSB0aGUgd2F5 IGxhenkgZmxhZyBpcyBzZXQgYW5kCi0gICAgIHJlc2V0LCBiZSBzdXJlIHRv IGNvbnNpZGVyIHRoaXMgdXNlIGFzIHdlbGwhICAqLwotICBjaGFyIGxhenk7 Ci0KLSAgLyogSWYgbm9uemVybywgdGhpcyBpcyB0aGUgdmFsdWUgb2YgYSB2 YXJpYWJsZSB3aGljaCBkb2VzIG5vdAotICAgICBhY3R1YWxseSBleGlzdCBp biB0aGUgcHJvZ3JhbS4gICovCi0gIGNoYXIgb3B0aW1pemVkX291dDsKLQot ICAvKiBJZiB2YWx1ZSBpcyBhIHZhcmlhYmxlLCBpcyBpdCBpbml0aWFsaXpl ZCBvciBub3QuICAqLwotICBpbnQgaW5pdGlhbGl6ZWQ7Ci0KLSAgLyogQWN0 dWFsIGNvbnRlbnRzIG9mIHRoZSB2YWx1ZS4gIEZvciB1c2Ugb2YgdGhpcyB2 YWx1ZTsgc2V0dGluZyBpdAotICAgICB1c2VzIHRoZSBzdHVmZiBhYm92ZS4g IE5vdCB2YWxpZCBpZiBsYXp5IGlzIG5vbnplcm8uICBUYXJnZXQKLSAgICAg Ynl0ZS1vcmRlci4gIFdlIGZvcmNlIGl0IHRvIGJlIGFsaWduZWQgcHJvcGVy bHkgZm9yIGFueSBwb3NzaWJsZQotICAgICB2YWx1ZS4gIE5vdGUgdGhhdCBh IHZhbHVlIHRoZXJlZm9yZSBleHRlbmRzIGJleW9uZCB3aGF0IGlzCi0gICAg IGRlY2xhcmVkIGhlcmUuICAqLwotICB1bmlvbgotICB7Ci0gICAgZ2RiX2J5 dGUgY29udGVudHNbMV07Ci0gICAgRE9VQkxFU1QgZm9yY2VfZG91Ymxlc3Rf YWxpZ247Ci0gICAgTE9OR0VTVCBmb3JjZV9sb25nZXN0X2FsaWduOwotICAg IENPUkVfQUREUiBmb3JjZV9jb3JlX2FkZHJfYWxpZ247Ci0gICAgdm9pZCAq Zm9yY2VfcG9pbnRlcl9hbGlnbjsKLSAgfSBhbGlnbmVyOwotICAvKiBEbyBu b3QgYWRkIGFueSBuZXcgbWVtYmVycyBoZXJlIC0tIGNvbnRlbnRzIGFib3Zl IHdpbGwgdHJhc2gKLSAgICAgdGhlbS4gICovCi19OwotCiAvKiBQcm90b3R5 cGVzIGZvciBsb2NhbCBmdW5jdGlvbnMuICovCiAKIHN0YXRpYyB2b2lkIHNo b3dfdmFsdWVzIChjaGFyICosIGludCk7CkBAIC0yNjksMTEgKzEzMyw2IEBA CiB7CiAgIHJldHVybiB2YWx1ZS0+dHlwZTsKIH0KLXZvaWQKLWRlcHJlY2F0 ZWRfc2V0X3ZhbHVlX3R5cGUgKHN0cnVjdCB2YWx1ZSAqdmFsdWUsIHN0cnVj dCB0eXBlICp0eXBlKQotewotICB2YWx1ZS0+dHlwZSA9IHR5cGU7Ci19CiAK IGludAogdmFsdWVfb2Zmc2V0IChzdHJ1Y3QgdmFsdWUgKnZhbHVlKQpkaWZm IC11ck4gLi9jbGVhbi9zcmMvZ2RiL3ZhbHVlLmggLi9kZXByZWNhdGVkLXJl bW92ZWQvc3JjL2dkYi92YWx1ZS5oCi0tLSAuL2NsZWFuL3NyYy9nZGIvdmFs dWUuaAkyMDA3LTExLTAyIDE5OjM1OjE5LjAwMDAwMDAwMCArMDAwMAorKysg Li9kZXByZWNhdGVkLXJlbW92ZWQvc3JjL2dkYi92YWx1ZS5oCTIwMDctMTEt MTMgMDA6MTg6MzguMDAwMDAwMDAwICswMDAwCkBAIC0yNSw2ICsyNSwxNDIg QEAKICNpbmNsdWRlICJkb3VibGVzdC5oIgogI2luY2x1ZGUgImZyYW1lLmgi CQkvKiBGb3Igc3RydWN0IGZyYW1lX2lkLiAgKi8KIAorc3RydWN0IHZhbHVl Cit7CisgIC8qIFR5cGUgb2YgdmFsdWU7IGVpdGhlciBub3QgYW4gbHZhbCwg b3Igb25lIG9mIHRoZSB2YXJpb3VzCisgICAgIGRpZmZlcmVudCBwb3NzaWJs ZSBraW5kcyBvZiBsdmFsLiAgKi8KKyAgZW51bSBsdmFsX3R5cGUgbHZhbDsK KworICAvKiBJcyBpdCBtb2RpZmlhYmxlPyAgT25seSByZWxldmFudCBpZiBs dmFsICE9IG5vdF9sdmFsLiAgKi8KKyAgaW50IG1vZGlmaWFibGU7CisKKyAg LyogTG9jYXRpb24gb2YgdmFsdWUgKGlmIGx2YWwpLiAgKi8KKyAgdW5pb24K KyAgeworICAgIC8qIElmIGx2YWwgPT0gbHZhbF9tZW1vcnksIHRoaXMgaXMg dGhlIGFkZHJlc3MgaW4gdGhlIGluZmVyaW9yLgorICAgICAgIElmIGx2YWwg PT0gbHZhbF9yZWdpc3RlciwgdGhpcyBpcyB0aGUgYnl0ZSBvZmZzZXQgaW50 byB0aGUKKyAgICAgICByZWdpc3RlcnMgc3RydWN0dXJlLiAgKi8KKyAgICBD T1JFX0FERFIgYWRkcmVzczsKKworICAgIC8qIFBvaW50ZXIgdG8gaW50ZXJu YWwgdmFyaWFibGUuICAqLworICAgIHN0cnVjdCBpbnRlcm5hbHZhciAqaW50 ZXJuYWx2YXI7CisgIH0gbG9jYXRpb247CisKKyAgLyogRGVzY3JpYmVzIG9m ZnNldCBvZiBhIHZhbHVlIHdpdGhpbiBsdmFsIG9mIGEgc3RydWN0dXJlIGlu IGJ5dGVzLgorICAgICBJZiBsdmFsID09IGx2YWxfbWVtb3J5LCB0aGlzIGlz IGFuIG9mZnNldCB0byB0aGUgYWRkcmVzcy4gIElmCisgICAgIGx2YWwgPT0g bHZhbF9yZWdpc3RlciwgdGhpcyBpcyBhIGZ1cnRoZXIgb2Zmc2V0IGZyb20K KyAgICAgbG9jYXRpb24uYWRkcmVzcyB3aXRoaW4gdGhlIHJlZ2lzdGVycyBz dHJ1Y3R1cmUuICBOb3RlIGFsc28gdGhlCisgICAgIG1lbWJlciBlbWJlZGRl ZF9vZmZzZXQgYmVsb3cuICAqLworICBpbnQgb2Zmc2V0OworCisgIC8qIE9u bHkgdXNlZCBmb3IgYml0ZmllbGRzOyBudW1iZXIgb2YgYml0cyBjb250YWlu ZWQgaW4gdGhlbS4gICovCisgIGludCBiaXRzaXplOworCisgIC8qIE9ubHkg dXNlZCBmb3IgYml0ZmllbGRzOyBwb3NpdGlvbiBvZiBzdGFydCBvZiBmaWVs ZC4gIEZvcgorICAgICBCSVRTX0JJR19FTkRJQU49MCB0YXJnZXRzLCBpdCBp cyB0aGUgcG9zaXRpb24gb2YgdGhlIExTQi4gIEZvcgorICAgICBCSVRTX0JJ R19FTkRJQU49MSB0YXJnZXRzLCBpdCBpcyB0aGUgcG9zaXRpb24gb2YgdGhl IE1TQi4gKi8KKyAgaW50IGJpdHBvczsKKworICAvKiBGcmFtZSByZWdpc3Rl ciB2YWx1ZSBpcyByZWxhdGl2ZSB0by4gIFRoaXMgd2lsbCBiZSBkZXNjcmli ZWQgaW4KKyAgICAgdGhlIGx2YWwgZW51bSBhYm92ZSBhcyAibHZhbF9yZWdp c3RlciIuICAqLworICBzdHJ1Y3QgZnJhbWVfaWQgZnJhbWVfaWQ7CisKKyAg LyogVHlwZSBvZiB0aGUgdmFsdWUuICAqLworICBzdHJ1Y3QgdHlwZSAqdHlw ZTsKKworICAvKiBJZiBhIHZhbHVlIHJlcHJlc2VudHMgYSBDKysgb2JqZWN0 LCB0aGVuIHRoZSBgdHlwZScgZmllbGQgZ2l2ZXMKKyAgICAgdGhlIG9iamVj dCdzIGNvbXBpbGUtdGltZSB0eXBlLiAgSWYgdGhlIG9iamVjdCBhY3R1YWxs eSBiZWxvbmdzCisgICAgIHRvIHNvbWUgY2xhc3MgZGVyaXZlZCBmcm9tIGB0 eXBlJywgcGVyaGFwcyB3aXRoIG90aGVyIGJhc2UKKyAgICAgY2xhc3NlcyBh bmQgYWRkaXRpb25hbCBtZW1iZXJzLCB0aGVuIGB0eXBlJyBpcyBqdXN0IGEg c3Vib2JqZWN0CisgICAgIG9mIHRoZSByZWFsIHRoaW5nLCBhbmQgdGhlIGZ1 bGwgb2JqZWN0IGlzIHByb2JhYmx5IGxhcmdlciB0aGFuCisgICAgIGB0eXBl JyB3b3VsZCBzdWdnZXN0LgorCisgICAgIElmIGB0eXBlJyBpcyBhIGR5bmFt aWMgY2xhc3MgKGkuZS4gb25lIHdpdGggYSB2dGFibGUpLCB0aGVuIEdEQgor ICAgICBjYW4gYWN0dWFsbHkgZGV0ZXJtaW5lIHRoZSBvYmplY3QncyBydW4t dGltZSB0eXBlIGJ5IGxvb2tpbmcgYXQKKyAgICAgdGhlIHJ1bi10aW1lIHR5 cGUgaW5mb3JtYXRpb24gaW4gdGhlIHZ0YWJsZS4gIFdoZW4gdGhpcworICAg ICBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUsIHdlIG1heSBlbGVjdCB0byBy ZWFkIGluIHRoZSBlbnRpcmUKKyAgICAgb2JqZWN0LCBmb3Igc2V2ZXJhbCBy ZWFzb25zOgorCisgICAgIC0gV2hlbiBwcmludGluZyB0aGUgdmFsdWUsIHRo ZSB1c2VyIHdvdWxkIHByb2JhYmx5IHJhdGhlciBzZWUgdGhlCisgICAgIGZ1 bGwgb2JqZWN0LCBub3QganVzdCB0aGUgbGltaXRlZCBwb3J0aW9uIGFwcGFy ZW50IGZyb20gdGhlCisgICAgIGNvbXBpbGUtdGltZSB0eXBlLgorCisgICAg IC0gSWYgYHR5cGUnIGhhcyB2aXJ0dWFsIGJhc2UgY2xhc3NlcywgdGhlbiBl dmVuIHByaW50aW5nIGB0eXBlJworICAgICBhbG9uZSBtYXkgcmVxdWlyZSBy ZWFjaGluZyBvdXRzaWRlIHRoZSBgdHlwZScgcG9ydGlvbiBvZiB0aGUKKyAg ICAgb2JqZWN0IHRvIHdoZXJldmVyIHRoZSB2aXJ0dWFsIGJhc2UgY2xhc3Mg aGFzIGJlZW4gc3RvcmVkLgorCisgICAgIFdoZW4gd2Ugc3RvcmUgdGhlIGVu dGlyZSBvYmplY3QsIGBlbmNsb3NpbmdfdHlwZScgaXMgdGhlIHJ1bi10aW1l CisgICAgIHR5cGUgLS0gdGhlIGNvbXBsZXRlIG9iamVjdCAtLSBhbmQgYGVt YmVkZGVkX29mZnNldCcgaXMgdGhlCisgICAgIG9mZnNldCBvZiBgdHlwZScg d2l0aGluIHRoYXQgbGFyZ2VyIHR5cGUsIGluIGJ5dGVzLiAgVGhlCisgICAg IHZhbHVlX2NvbnRlbnRzKCkgbWFjcm8gdGFrZXMgYGVtYmVkZGVkX29mZnNl dCcgaW50byBhY2NvdW50LCBzbworICAgICBtb3N0IEdEQiBjb2RlIGNvbnRp bnVlcyB0byBzZWUgdGhlIGB0eXBlJyBwb3J0aW9uIG9mIHRoZSB2YWx1ZSwK KyAgICAganVzdCBhcyB0aGUgaW5mZXJpb3Igd291bGQuCisKKyAgICAgSWYg YHR5cGUnIGlzIGEgcG9pbnRlciB0byBhbiBvYmplY3QsIHRoZW4gYGVuY2xv c2luZ190eXBlJyBpcyBhCisgICAgIHBvaW50ZXIgdG8gdGhlIG9iamVjdCdz IHJ1bi10aW1lIHR5cGUsIGFuZCBgcG9pbnRlZF90b19vZmZzZXQnIGlzCisg ICAgIHRoZSBvZmZzZXQgaW4gYnl0ZXMgZnJvbSB0aGUgZnVsbCBvYmplY3Qg dG8gdGhlIHBvaW50ZWQtdG8gb2JqZWN0CisgICAgIC0tIHRoYXQgaXMsIHRo ZSB2YWx1ZSBgZW1iZWRkZWRfb2Zmc2V0JyB3b3VsZCBoYXZlIGlmIHdlIGZv bGxvd2VkCisgICAgIHRoZSBwb2ludGVyIGFuZCBmZXRjaGVkIHRoZSBjb21w bGV0ZSBvYmplY3QuICAoSSBkb24ndCByZWFsbHkgc2VlCisgICAgIHRoZSBw b2ludC4gIFdoeSBub3QganVzdCBkZXRlcm1pbmUgdGhlIHJ1bi10aW1lIHR5 cGUgd2hlbiB5b3UKKyAgICAgaW5kaXJlY3QsIGFuZCBhdm9pZCB0aGUgc3Bl Y2lhbCBjYXNlPyAgVGhlIGNvbnRlbnRzIGRvbid0IG1hdHRlcgorICAgICB1 bnRpbCB5b3UgaW5kaXJlY3QgYW55d2F5LikKKworICAgICBJZiB3ZSdyZSBu b3QgZG9pbmcgYW55dGhpbmcgZmFuY3ksIGBlbmNsb3NpbmdfdHlwZScgaXMg ZXF1YWwgdG8KKyAgICAgYHR5cGUnLCBhbmQgYGVtYmVkZGVkX29mZnNldCcg aXMgemVybywgc28gZXZlcnl0aGluZyB3b3JrcworICAgICBub3JtYWxseS4g ICovCisgIHN0cnVjdCB0eXBlICplbmNsb3NpbmdfdHlwZTsKKyAgaW50IGVt YmVkZGVkX29mZnNldDsKKyAgaW50IHBvaW50ZWRfdG9fb2Zmc2V0OworCisg IC8qIFZhbHVlcyBhcmUgc3RvcmVkIGluIGEgY2hhaW4sIHNvIHRoYXQgdGhl eSBjYW4gYmUgZGVsZXRlZCBlYXNpbHkKKyAgICAgb3ZlciBjYWxscyB0byB0 aGUgaW5mZXJpb3IuICBWYWx1ZXMgYXNzaWduZWQgdG8gaW50ZXJuYWwKKyAg ICAgdmFyaWFibGVzIG9yIHB1dCBpbnRvIHRoZSB2YWx1ZSBoaXN0b3J5IGFy ZSB0YWtlbiBvZmYgdGhpcworICAgICBsaXN0LiAgKi8KKyAgc3RydWN0IHZh bHVlICpuZXh0OworCisgIC8qIFJlZ2lzdGVyIG51bWJlciBpZiB0aGUgdmFs dWUgaXMgZnJvbSBhIHJlZ2lzdGVyLiAgKi8KKyAgc2hvcnQgcmVnbnVtOwor CisgIC8qIElmIHplcm8sIGNvbnRlbnRzIG9mIHRoaXMgdmFsdWUgYXJlIGlu IHRoZSBjb250ZW50cyBmaWVsZC4gIElmCisgICAgIG5vbnplcm8sIGNvbnRl bnRzIGFyZSBpbiBpbmZlcmlvciBtZW1vcnkgYXQgYWRkcmVzcyBpbiB0aGUK KyAgICAgbG9jYXRpb24uYWRkcmVzcyBmaWVsZCBwbHVzIHRoZSBvZmZzZXQg ZmllbGQgKGFuZCB0aGUgbHZhbCBmaWVsZAorICAgICBzaG91bGQgYmUgbHZh bF9tZW1vcnkpLgorCisgICAgIFdBUk5JTkc6IFRoaXMgZmllbGQgaXMgdXNl ZCBieSB0aGUgY29kZSB3aGljaCBoYW5kbGVzIHdhdGNocG9pbnRzCisgICAg IChzZWUgYnJlYWtwb2ludC5jKSB0byBkZWNpZGUgd2hldGhlciBhIHBhcnRp Y3VsYXIgdmFsdWUgY2FuIGJlCisgICAgIHdhdGNoZWQgYnkgaGFyZHdhcmUg d2F0Y2hwb2ludHMuICBJZiB0aGUgbGF6eSBmbGFnIGlzIHNldCBmb3IKKyAg ICAgc29tZSBtZW1iZXIgb2YgYSB2YWx1ZSBjaGFpbiwgaXQgaXMgYXNzdW1l ZCB0aGF0IHRoaXMgbWVtYmVyIG9mCisgICAgIHRoZSBjaGFpbiBkb2Vzbid0 IG5lZWQgdG8gYmUgd2F0Y2hlZCBhcyBwYXJ0IG9mIHdhdGNoaW5nIHRoZQor ICAgICB2YWx1ZSBpdHNlbGYuICBUaGlzIGlzIGhvdyBHREIgYXZvaWRzIHdh dGNoaW5nIHRoZSBlbnRpcmUgc3RydWN0CisgICAgIG9yIGFycmF5IHdoZW4g dGhlIHVzZXIgd2FudHMgdG8gd2F0Y2ggYSBzaW5nbGUgc3RydWN0IG1lbWJl ciBvcgorICAgICBhcnJheSBlbGVtZW50LiAgSWYgeW91IGV2ZXIgY2hhbmdl IHRoZSB3YXkgbGF6eSBmbGFnIGlzIHNldCBhbmQKKyAgICAgcmVzZXQsIGJl IHN1cmUgdG8gY29uc2lkZXIgdGhpcyB1c2UgYXMgd2VsbCEgICovCisgIGNo YXIgbGF6eTsKKworICAvKiBJZiBub256ZXJvLCB0aGlzIGlzIHRoZSB2YWx1 ZSBvZiBhIHZhcmlhYmxlIHdoaWNoIGRvZXMgbm90CisgICAgIGFjdHVhbGx5 IGV4aXN0IGluIHRoZSBwcm9ncmFtLiAgKi8KKyAgY2hhciBvcHRpbWl6ZWRf b3V0OworCisgIC8qIElmIHZhbHVlIGlzIGEgdmFyaWFibGUsIGlzIGl0IGlu aXRpYWxpemVkIG9yIG5vdC4gICovCisgIGludCBpbml0aWFsaXplZDsKKwor ICAvKiBBY3R1YWwgY29udGVudHMgb2YgdGhlIHZhbHVlLiAgRm9yIHVzZSBv ZiB0aGlzIHZhbHVlOyBzZXR0aW5nIGl0CisgICAgIHVzZXMgdGhlIHN0dWZm IGFib3ZlLiAgTm90IHZhbGlkIGlmIGxhenkgaXMgbm9uemVyby4gIFRhcmdl dAorICAgICBieXRlLW9yZGVyLiAgV2UgZm9yY2UgaXQgdG8gYmUgYWxpZ25l ZCBwcm9wZXJseSBmb3IgYW55IHBvc3NpYmxlCisgICAgIHZhbHVlLiAgTm90 ZSB0aGF0IGEgdmFsdWUgdGhlcmVmb3JlIGV4dGVuZHMgYmV5b25kIHdoYXQg aXMKKyAgICAgZGVjbGFyZWQgaGVyZS4gICovCisgIHVuaW9uCisgIHsKKyAg ICBnZGJfYnl0ZSBjb250ZW50c1sxXTsKKyAgICBET1VCTEVTVCBmb3JjZV9k b3VibGVzdF9hbGlnbjsKKyAgICBMT05HRVNUIGZvcmNlX2xvbmdlc3RfYWxp Z247CisgICAgQ09SRV9BRERSIGZvcmNlX2NvcmVfYWRkcl9hbGlnbjsKKyAg ICB2b2lkICpmb3JjZV9wb2ludGVyX2FsaWduOworICB9IGFsaWduZXI7Cisg IC8qIERvIG5vdCBhZGQgYW55IG5ldyBtZW1iZXJzIGhlcmUgLS0gY29udGVu dHMgYWJvdmUgd2lsbCB0cmFzaAorICAgICB0aGVtLiAgKi8KK307CisKIHN0 cnVjdCBibG9jazsKIHN0cnVjdCBleHByZXNzaW9uOwogc3RydWN0IHJlZ2Nh Y2hlOwpAQCAtMzIsMTMgKzE2OCw2IEBACiBzdHJ1Y3QgdHlwZTsKIHN0cnVj dCB1aV9maWxlOwogCi0vKiBUaGUgc3RydWN0dXJlIHdoaWNoIGRlZmluZXMg dGhlIHR5cGUgb2YgYSB2YWx1ZS4gIEl0IHNob3VsZCBuZXZlcgotICAgYmUg cG9zc2libGUgZm9yIGEgcHJvZ3JhbSBsdmFsIHZhbHVlIHRvIHN1cnZpdmUg b3ZlciBhIGNhbGwgdG8gdGhlCi0gICBpbmZlcmlvciAoaS5lLiB0byBiZSBw dXQgaW50byB0aGUgaGlzdG9yeSBsaXN0IG9yIGFuIGludGVybmFsCi0gICB2 YXJpYWJsZSkuICAqLwotCi1zdHJ1Y3QgdmFsdWU7Ci0KIC8qIFZhbHVlcyBh cmUgc3RvcmVkIGluIGEgY2hhaW4sIHNvIHRoYXQgdGhleSBjYW4gYmUgZGVs ZXRlZCBlYXNpbHkKICAgIG92ZXIgY2FsbHMgdG8gdGhlIGluZmVyaW9yLiAg VmFsdWVzIGFzc2lnbmVkIHRvIGludGVybmFsIHZhcmlhYmxlcwogICAgb3Ig cHV0IGludG8gdGhlIHZhbHVlIGhpc3RvcnkgYXJlIHRha2VuIG9mZiB0aGlz IGxpc3QuICAqLwpAQCAtNDksMTMgKzE3OCw2IEBACiAKIGV4dGVybiBzdHJ1 Y3QgdHlwZSAqdmFsdWVfdHlwZSAoc3RydWN0IHZhbHVlICopOwogCi0vKiBU aGlzIGlzIGJlaW5nIHVzZWQgdG8gY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGV4 aXN0aW5nIHZhbHVlLCB0aGF0Ci0gICBjb2RlIHNob3VsZCBpbnN0ZWFkIGJl IGNyZWF0aW5nIGEgbmV3IHZhbHVlIHdpdGggdGhlIGNoYW5nZWQgdHlwZQot ICAgKGJ1dCBwb3NzaWJseSBzaGFyZWQgY29udGVudCkuICAqLwotCi1leHRl cm4gdm9pZCBkZXByZWNhdGVkX3NldF92YWx1ZV90eXBlIChzdHJ1Y3QgdmFs dWUgKnZhbHVlLAotCQkJCSAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSk7Ci0K IC8qIE9ubHkgdXNlZCBmb3IgYml0ZmllbGRzOyBudW1iZXIgb2YgYml0cyBj b250YWluZWQgaW4gdGhlbS4gICovCiAKIGV4dGVybiBpbnQgdmFsdWVfYml0 c2l6ZSAoc3RydWN0IHZhbHVlICopOwo= ------=_Part_16615_9753913.1194948071615--