From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30821 invoked by alias); 16 Jan 2009 14:00:35 -0000 Received: (qmail 30810 invoked by uid 22791); 16 Jan 2009 14:00:34 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from rv-out-0708.google.com (HELO rv-out-0708.google.com) (209.85.198.247) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 16 Jan 2009 14:00:02 +0000 Received: by rv-out-0708.google.com with SMTP id b17so1576956rvf.48 for ; Fri, 16 Jan 2009 06:00:00 -0800 (PST) Received: by 10.141.50.11 with SMTP id c11mr1247546rvk.28.1232114398843; Fri, 16 Jan 2009 05:59:58 -0800 (PST) Received: by 10.140.142.6 with HTTP; Fri, 16 Jan 2009 05:59:58 -0800 (PST) Message-ID: <44b628440901160559l58acb31at95dd8db9294980ec@mail.gmail.com> Date: Fri, 16 Jan 2009 14:00:00 -0000 From: "Aleksei Makhaloff" To: gdb-patches@sourceware.org Subject: Add linux-sparc gdbserver support MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_294971_20740327.1232114398841" 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: 2009-01/txt/msg00379.txt.bz2 ------=_Part_294971_20740327.1232114398841 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 140 Hello. This patch provide linux-sparc gdbserver support. It was tested on Elbrus-90 (http://www.mcst.ru/hardware.shtml /russian language/). ------=_Part_294971_20740327.1232114398841 Content-Type: application/octet-stream; name=gdb-6.8_add_sparc_linux_gdbserver.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fq0wu09p0 Content-Disposition: attachment; filename=gdb-6.8_add_sparc_linux_gdbserver.patch Content-length: 29972 ZGlmZiAtdXJOIGdkYi02Ljhfb3JpZy9nZGIvZ2Ric2VydmVyL0NoYW5nZUxv ZyBnZGItNi44X25ldy9nZGIvZ2Ric2VydmVyL0NoYW5nZUxvZwotLS0gZ2Ri LTYuOF9vcmlnL2dkYi9nZGJzZXJ2ZXIvQ2hhbmdlTG9nCTIwMDgtMDItMjAg MDA6MzY6NTQuMDAwMDAwMDAwICswMzAwCisrKyBnZGItNi44X25ldy9nZGIv Z2Ric2VydmVyL0NoYW5nZUxvZwkyMDA5LTAxLTE2IDE2OjQxOjM4LjAwMDAw MDAwMCArMDMwMApAQCAtMSwzICsxLDEwIEBACisyMDA4LTA0LTA4ICBBbGVr c2VpIE1ha2hhbG9mZiAgPG1ha2hhbG9mZkBnbWFpbC5jb20+CisKKwkqIGNv bmZpZ3VyZS5zcnY6IEFkZCB0YXJnZXQgInNwYXJjLSotbGludXgiLgorCSog bGludXgtc3BhcmMtbG93LmM6CisJKiBsaW51eC1zcGFyYy1sb3cuaDogTmV3 IGZpbGVzLgorCSogcmVnY2FjaGUuYyAocmVnY2FjaGVfdmFsaWQpOiBOZXcu CisKIDIwMDgtMDItMTkgIFBlZHJvIEFsdmVzICA8cGVkcm9AY29kZXNvdXJj ZXJ5LmNvbT4KIAogCSogc2VydmVyLmMgKGhhbmRsZV92X3JlcXVlc3RzKTog V2hlbiBoYW5kbGluZyB0aGUgdlJ1biBhbmQgdkF0dGFjaApkaWZmIC11ck4g Z2RiLTYuOF9vcmlnL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLnNydiBnZGIt Ni44X25ldy9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5zcnYKLS0tIGdkYi02 Ljhfb3JpZy9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5zcnYJMjAwOC0wMi0x MiAwMTowMDozMS4wMDAwMDAwMDAgKzAzMDAKKysrIGdkYi02LjhfbmV3L2dk Yi9nZGJzZXJ2ZXIvY29uZmlndXJlLnNydgkyMDA4LTA0LTA4IDA5OjQyOjQw LjAwMDAwMDAwMCArMDQwMApAQCAtMTU3LDYgKzE1Nyw5IEBACiAJCQlzcnZf bGludXhfcmVnc2V0cz15ZXMKIAkJCXNydl9saW51eF90aHJlYWRfZGI9eWVz CiAJCQk7OworICBzcGFyYy0qLWxpbnV4KikJc3J2X3JlZ29iaj1yZWctc3Bh cmMubworCQkJc3J2X3RndG9iaj0ibGludXgtbG93Lm8gbGludXgtc3BhcmMt bG93Lm8iCisJCQk7OwogICBzcHUqLSotKikJCXNydl9yZWdvYmo9cmVnLXNw dS5vCiAJCQlzcnZfdGd0b2JqPSJzcHUtbG93Lm8iCiAJCQk7Owrk18/J3s7Z xSDGwcrM2SBnZGItNi44X29yaWcvZ2RiL2dkYnNlcnZlci9nZGJyZXBsYXkg ySBnZGItNi44X25ldy9nZGIvZ2Ric2VydmVyL2dkYnJlcGxheSDSwdrMyd7B wNTT0Qrk18/J3s7ZxSDGwcrM2SBnZGItNi44X29yaWcvZ2RiL2dkYnNlcnZl ci9nZGJzZXJ2ZXIgySBnZGItNi44X25ldy9nZGIvZ2Ric2VydmVyL2dkYnNl cnZlciDSwdrMyd7BwNTT0QpkaWZmIC11ck4gZ2RiLTYuOF9vcmlnL2dkYi9n ZGJzZXJ2ZXIvaG9zdGlvLmMgZ2RiLTYuOF9uZXcvZ2RiL2dkYnNlcnZlci9o b3N0aW8uYwotLS0gZ2RiLTYuOF9vcmlnL2dkYi9nZGJzZXJ2ZXIvaG9zdGlv LmMJMjAwOC0wMi0wMSAwMzowODoyNS4wMDAwMDAwMDAgKzAzMDAKKysrIGdk Yi02LjhfbmV3L2dkYi9nZGJzZXJ2ZXIvaG9zdGlvLmMJMjAwOC0wNC0wOCAx MDowNDoxOS4wMDAwMDAwMDAgKzA0MDAKQEAgLTI0LDcgKzI0LDExIEBACiAj aW5jbHVkZSAiZ2RiL2ZpbGVpby5oIgogCiAjaW5jbHVkZSA8ZmNudGwuaD4K LSNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpZiBkZWZpbmVkKF9fc3BhcmNfXykK KyMgaW5jbHVkZSA8bGludXgvbGltaXRzLmg+CisjZWxzZQorIyBpbmNsdWRl IDxsaW1pdHMuaD4KKyNlbmRpZgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCiBl eHRlcm4gaW50IHJlbW90ZV9kZWJ1ZzsKZGlmZiAtdXJOIGdkYi02Ljhfb3Jp Zy9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jIGdkYi02LjhfbmV3L2dkYi9n ZGJzZXJ2ZXIvbGludXgtbG93LmMKLS0tIGdkYi02Ljhfb3JpZy9nZGIvZ2Ri c2VydmVyL2xpbnV4LWxvdy5jCTIwMDgtMDItMDEgMDM6MDg6MjUuMDAwMDAw MDAwICswMzAwCisrKyBnZGItNi44X25ldy9nZGIvZ2Ric2VydmVyL2xpbnV4 LWxvdy5jCTIwMDgtMDQtMDggMTA6MzI6MDAuMDAwMDAwMDAwICswNDAwCkBA IC04NCw2ICs4NCwxMyBAQAogI2VuZGlmCiAjZW5kaWYKIAorI2lmIGRlZmlu ZWQoX19zcGFyY19fKQorI2RlZmluZSBQVFJBQ0VfQ09OVF9BRERSCTEKKyNl bHNlCisjZGVmaW5lIFBUUkFDRV9DT05UX0FERFIJMAorI2VuZGlmCisKKwog LyogYGBhbGxfdGhyZWFkcycnIGlzIGtleWVkIGJ5IHRoZSBMV1AgSUQsIHdo aWNoIHdlIHVzZSBhcyB0aGUgR0RCIHByb3RvY29sCiAgICByZXByZXNlbnRh dGlvbiBvZiB0aGUgdGhyZWFkIElELgogCkBAIC0xMjksMTEgKzEzNiw2IEBA CiBzdGF0aWMgaW50IHVzZV9yZWdzZXRzX3AgPSAxOwogI2VuZGlmCiAKLSNk ZWZpbmUgcGlkX29mKHByb2MpICgocHJvYyktPmhlYWQuaWQpCi0KLS8qIEZJ WE1FOiBEZWxldGUgZXZlbnR1YWxseS4gICovCi0jZGVmaW5lIGluZmVyaW9y X3BpZCAocGlkX29mIChnZXRfdGhyZWFkX3Byb2Nlc3MgKGN1cnJlbnRfaW5m ZXJpb3IpKSkKLQogc3RhdGljIHZvaWQKIGhhbmRsZV9leHRlbmRlZF93YWl0 IChzdHJ1Y3QgcHJvY2Vzc19pbmZvICpldmVudF9jaGlsZCwgaW50IHdzdGF0 KQogewpAQCAtMTc5LDcgKzE4MSw3IEBACiAJICBpZiAoc3RvcHBpbmdfdGhy ZWFkcykKIAkgICAgbmV3X3Byb2Nlc3MtPnN0b3BwZWQgPSAxOwogCSAgZWxz ZQotCSAgICBwdHJhY2UgKFBUUkFDRV9DT05ULCBuZXdfcGlkLCAwLCAwKTsK KwkgICAgcHRyYWNlIChQVFJBQ0VfQ09OVCwgbmV3X3BpZCwgUFRSQUNFX0NP TlRfQUREUiwgMCk7CiAJfQogICAgICAgZWxzZQogCXsKQEAgLTE5Myw3ICsx OTUsNyBAQAogCSAgZWxzZQogCSAgICAvKiBQYXNzIHRoZSBzaWduYWwgb24u ICBUaGlzIGlzIHdoYXQgR0RCIGRvZXMgLSBleGNlcHQKIAkgICAgICAgc2hv dWxkbid0IHdlIHJlYWxseSByZXBvcnQgaXQgaW5zdGVhZD8gICovCi0JICAg IHB0cmFjZSAoUFRSQUNFX0NPTlQsIG5ld19waWQsIDAsIFdTVE9QU0lHIChz dGF0dXMpKTsKKwkgICAgcHRyYWNlIChQVFJBQ0VfQ09OVCwgbmV3X3BpZCwg UFRSQUNFX0NPTlRfQUREUiwgV1NUT1BTSUcgKHN0YXR1cykpOwogCX0KIAog ICAgICAgLyogQWx3YXlzIHJlc3VtZSB0aGUgY3VycmVudCB0aHJlYWQuICBJ ZiB3ZSBhcmUgc3RvcHBpbmcKQEAgLTExNjksNyArMTE3MSw3IEBACiAgIGVy cm5vID0gMDsKICAgcHJvY2Vzcy0+c3RvcHBlZCA9IDA7CiAgIHByb2Nlc3Mt PnN0ZXBwaW5nID0gc3RlcDsKLSAgcHRyYWNlIChzdGVwID8gUFRSQUNFX1NJ TkdMRVNURVAgOiBQVFJBQ0VfQ09OVCwgcHJvY2Vzcy0+bHdwaWQsIDAsIHNp Z25hbCk7CisgIHB0cmFjZSAoc3RlcCA/IFBUUkFDRV9TSU5HTEVTVEVQIDog UFRSQUNFX0NPTlQsIHByb2Nlc3MtPmx3cGlkLCBQVFJBQ0VfQ09OVF9BRERS LCBzaWduYWwpOwogCiAgIGN1cnJlbnRfaW5mZXJpb3IgPSBzYXZlZF9pbmZl cmlvcjsKICAgaWYgKGVycm5vKQpAQCAtMTU5OCw2ICsxNjAwLDExIEBACiB2 b2lkCiBsaW51eF9mZXRjaF9yZWdpc3RlcnMgKGludCByZWdubykKIHsKKyNp ZiBkZWZpbmVkKF9fc3BhcmNfXykKKwlleHRlcm4gdm9pZCBzcGFyY19mZXRj aF9yZWdpc3RlcnMgKGludCByZWdubyk7CisJc3BhcmNfZmV0Y2hfcmVnaXN0 ZXJzKHJlZ25vKTsKKwlyZXR1cm47CisjZW5kaWYKICNpZmRlZiBIQVZFX0xJ TlVYX1JFR1NFVFMKICAgaWYgKHVzZV9yZWdzZXRzX3ApCiAgICAgewpAQCAt MTYxMyw2ICsxNjIwLDExIEBACiB2b2lkCiBsaW51eF9zdG9yZV9yZWdpc3Rl cnMgKGludCByZWdubykKIHsKKyNpZiBkZWZpbmVkKF9fc3BhcmNfXykKKwll eHRlcm4gdm9pZCBzcGFyY19zdG9yZV9yZWdpc3RlcnMgKGludCByZWdubyk7 CisJc3BhcmNfc3RvcmVfcmVnaXN0ZXJzKHJlZ25vKTsKKwlyZXR1cm47Cisj ZW5kaWYKICNpZmRlZiBIQVZFX0xJTlVYX1JFR1NFVFMKICAgaWYgKHVzZV9y ZWdzZXRzX3ApCiAgICAgewpAQCAtMTgzNyw3ICsxODQ5LDcgQEAKICAgICAg IHJldHVybjsKICAgICB9CiAKLSAgcmV0ID0gcHRyYWNlIChQVFJBQ0VfQ09O VCwgY2hpbGRfcGlkLCAwLCAwKTsKKyAgcmV0ID0gcHRyYWNlIChQVFJBQ0Vf Q09OVCwgY2hpbGRfcGlkLCBQVFJBQ0VfQ09OVF9BRERSLCAwKTsKICAgaWYg KHJldCAhPSAwKQogICAgIHdhcm5pbmcgKCJsaW51eF90ZXN0X2Zvcl90cmFj ZWZvcms6IGZhaWxlZCB0byByZXN1bWUgY2hpbGQiKTsKIApkaWZmIC11ck4g Z2RiLTYuOF9vcmlnL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmggZ2RiLTYu OF9uZXcvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuaAotLS0gZ2RiLTYuOF9v cmlnL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmgJMjAwOC0wMS0wMiAwMTo1 MzoxNC4wMDAwMDAwMDAgKzAzMDAKKysrIGdkYi02LjhfbmV3L2dkYi9nZGJz ZXJ2ZXIvbGludXgtbG93LmgJMjAwOC0wNC0wOCAxMDowNjo1NC4wMDAwMDAw MDAgKzA0MDAKQEAgLTIwLDYgKzIwLDExIEBACiAjaW5jbHVkZSA8dGhyZWFk X2RiLmg+CiAjZW5kaWYKIAorI2RlZmluZSBwaWRfb2YocHJvYykgKChwcm9j KS0+aGVhZC5pZCkKKworLyogRklYTUU6IERlbGV0ZSBldmVudHVhbGx5LiAg Ki8KKyNkZWZpbmUgaW5mZXJpb3JfcGlkIChwaWRfb2YgKGdldF90aHJlYWRf cHJvY2VzcyAoY3VycmVudF9pbmZlcmlvcikpKQorCiAjaWZkZWYgSEFWRV9M SU5VWF9SRUdTRVRTCiB0eXBlZGVmIHZvaWQgKCpyZWdzZXRfZmlsbF9mdW5j KSAodm9pZCAqKTsKIHR5cGVkZWYgdm9pZCAoKnJlZ3NldF9zdG9yZV9mdW5j KSAoY29uc3Qgdm9pZCAqKTsKZGlmZiAtdXJOIGdkYi02Ljhfb3JpZy9nZGIv Z2Ric2VydmVyL2xpbnV4LXNwYXJjLWxvdy5jIGdkYi02LjhfbmV3L2dkYi9n ZGJzZXJ2ZXIvbGludXgtc3BhcmMtbG93LmMKLS0tIGdkYi02Ljhfb3JpZy9n ZGIvZ2Ric2VydmVyL2xpbnV4LXNwYXJjLWxvdy5jCTE5NzAtMDEtMDEgMDM6 MDA6MDAuMDAwMDAwMDAwICswMzAwCisrKyBnZGItNi44X25ldy9nZGIvZ2Ri c2VydmVyL2xpbnV4LXNwYXJjLWxvdy5jCTIwMDgtMDQtMDggMTE6NTc6MjYu MDAwMDAwMDAwICswNDAwCkBAIC0wLDAgKzEsMzgzIEBACisvKiBHTlUvTGlu dXgvU1BBUkMgc3BlY2lmaWMgbG93IGxldmVsIGludGVyZmFjZSwgZm9yIHRo ZSByZW1vdGUgc2VydmVyIGZvciBHREIuCisKKyAgIENvcHlyaWdodCAyMDA4 IEFsZWtzZWkgTWFraGFsb2ZmIChtYWtoYWxvZmZAZ21haWwuY29tKQorCisg ICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisKKyAgIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MiBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisK KyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMg cHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQor ICAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUg MzMwLAorICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuICAqLworCisj aW5jbHVkZSAic2VydmVyLmgiCisjaW5jbHVkZSAibGludXgtbG93LmgiCisj aW5jbHVkZSAibGludXgtc3BhcmMtbG93LmgiCisjaW5jbHVkZSA8c3lzL3B0 cmFjZS5oPgorCitzdGF0aWMgQ09SRV9BRERSCitzcGFyY19nZXRfcGMgKCkK K3sKKwl1bnNpZ25lZCBsb25nIHBjOworCWNvbGxlY3RfcmVnaXN0ZXJfYnlf bmFtZSAoInBjIiwgJnBjKTsKKwlyZXR1cm4gcGM7Cit9CisKK3N0YXRpYyB2 b2lkCitzcGFyY19zZXRfcGMgKENPUkVfQUREUiBwYykKK3sKKwl1bnNpZ25l ZCBsb25nIG5ld3BjID0gcGM7CisJc3VwcGx5X3JlZ2lzdGVyX2J5X25hbWUg KCJwYyIsICZuZXdwYyk7Cit9CisKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBs b25nIHNwYXJjX2JyZWFrcG9pbnQgPSAweDkxZDAyMDAxOworI2RlZmluZSBz cGFyY19icmVha3BvaW50X2xlbiA0CisKK3N0YXRpYyBpbnQKK3NwYXJjX2Jy ZWFrcG9pbnRfYXQgKENPUkVfQUREUiB3aGVyZSkKK3sKKwl1bnNpZ25lZCBs b25nIGluc247CisKKwkoKnRoZV90YXJnZXQtPnJlYWRfbWVtb3J5KSAod2hl cmUsIChjaGFyICopICZpbnNuLCBzcGFyY19icmVha3BvaW50X2xlbik7CisJ aWYgKGluc24gPT0gc3BhcmNfYnJlYWtwb2ludCkKKwkJcmV0dXJuIDE7CisK KwlyZXR1cm4gMDsKK30KKworc3RydWN0IGxpbnV4X3RhcmdldF9vcHMgdGhl X2xvd190YXJnZXQgPSB7CisJLTEsCisJTlVMTCwKKwlOVUxMLAorCU5VTEws CisJc3BhcmNfZ2V0X3BjLAorCXNwYXJjX3NldF9wYywKKwkoY29uc3QgdW5z aWduZWQgY2hhciAqKSZzcGFyY19icmVha3BvaW50LAorCXNwYXJjX2JyZWFr cG9pbnRfbGVuLAorCU5VTEwsCisJMCwKKwlzcGFyY19icmVha3BvaW50X2F0 LAorCU5VTEwsCisJTlVMTCwKKwlOVUxMLAorCU5VTEwsCisJMCwKKwlOVUxM Cit9OworCisKK2ludAorc3BhcmNfZ3JlZ3NldF9zdXBwbGllc19wIChpbnQg cmVnbnVtKQoreworCS8qIEludGVnZXIgcmVnaXN0ZXJzLiAgKi8KKwlpZiAo KHJlZ251bSA+PSBTUEFSQ19HMV9SRUdOVU0gJiYgcmVnbnVtIDw9IFNQQVJD X0c3X1JFR05VTSkKKwkJCXx8IChyZWdudW0gPj0gU1BBUkNfTzBfUkVHTlVN ICYmIHJlZ251bSA8PSBTUEFSQ19PN19SRUdOVU0pCisJCQl8fCAocmVnbnVt ID49IFNQQVJDX0wwX1JFR05VTSAmJiByZWdudW0gPD0gU1BBUkNfTDdfUkVH TlVNKQorCQkJfHwgKHJlZ251bSA+PSBTUEFSQ19JMF9SRUdOVU0gJiYgcmVn bnVtIDw9IFNQQVJDX0k3X1JFR05VTSkpCisJCXJldHVybiAxOworCisJLyog Q29udHJvbCByZWdpc3RlcnMuICAqLworCWlmIChyZWdudW0gPT0gU1BBUkMz Ml9QQ19SRUdOVU0KKwkJCXx8IHJlZ251bSA9PSBTUEFSQzMyX05QQ19SRUdO VU0KKwkJCXx8IHJlZ251bSA9PSBTUEFSQzMyX1BTUl9SRUdOVU0KKwkJCXx8 IHJlZ251bSA9PSBTUEFSQzMyX1lfUkVHTlVNKQorCQlyZXR1cm4gMTsKKwor CXJldHVybiAwOworfQorCisvKiBEZXRlcm1pbmUgd2hldGhlciBgZnByZWdz ZXRfdCcgY29udGFpbnMgcmVnaXN0ZXIgUkVHTlVNLiAgKi8KKworCWludAor c3BhcmNfZnByZWdzZXRfc3VwcGxpZXNfcCAoaW50IHJlZ251bSkKK3sKKwkv KiBGbG9hdGluZy1wb2ludCByZWdpc3RlcnMuICAqLworCWlmIChyZWdudW0g Pj0gU1BBUkNfRjBfUkVHTlVNICYmIHJlZ251bSA8PSBTUEFSQ19GMzFfUkVH TlVNKQorCQlyZXR1cm4gMTsKKworCS8qIENvbnRyb2wgcmVnaXN0ZXJzLiAg Ki8KKwlpZiAocmVnbnVtID09IFNQQVJDMzJfRlNSX1JFR05VTSkKKwkJcmV0 dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworLyogSGVscGVyIGZ1bmN0aW9u cyBmb3IgZGVhbGluZyB3aXRoIHJlZ2lzdGVyIHdpbmRvd3MuICAqLworCit2 b2lkCitzcGFyY19zdXBwbHlfcndpbmRvdyAobG9uZyBzcCwgaW50IHJlZ251 bSkKK3sKKwljaGFyIGJ1Zls0XTsKKwlpbnQgaTsKKworCWZvciAoaSA9IFNQ QVJDX0wwX1JFR05VTTsgaSA8PSBTUEFSQ19JN19SRUdOVU07IGkrKykKKwl7 CisJCWlmIChyZWdudW0gPT0gaSB8fCByZWdudW0gPT0gLTEpCisJCXsKKwkJ CSgqdGhlX3RhcmdldC0+cmVhZF9tZW1vcnkpIChzcCArICgoaSAtIFNQQVJD X0wwX1JFR05VTSkgKiA0KSwKKwkJCQkJYnVmLCA0KTsKKyNpZiAwCisJCQkv KiBIYW5kbGUgU3RhY2tHaG9zdC4gICovCisJCQlpZiAoaSA9PSBTUEFSQ19J N19SRUdOVU0pCisJCQl7CisJCQkJVUxPTkdFU1Qgd2Nvb2tpZSA9IHNwYXJj X2ZldGNoX3djb29raWUgKCk7CisJCQkJVUxPTkdFU1QgaTcgPSBleHRyYWN0 X3Vuc2lnbmVkX2ludGVnZXIgKGJ1ZiArIG9mZnNldCwgNCk7CisKKwkJCQlz dG9yZV91bnNpZ25lZF9pbnRlZ2VyIChidWYgKyBvZmZzZXQsIDQsIGk3IF4g d2Nvb2tpZSk7CisJCQl9CisjZW5kaWYJCQkJICAgICAgCisJCQlzdXBwbHlf cmVnaXN0ZXIoaSwgYnVmKTsKKworCQl9CisJfQorfQorCit2b2lkCitzcGFy Y19jb2xsZWN0X3J3aW5kb3cgKGxvbmcgc3AsIGludCByZWdudW0pCit7CisJ Y2hhciBidWZbNF07CisJaW50IGk7CisKKwlmb3IgKGkgPSBTUEFSQ19MMF9S RUdOVU07IGkgPD0gU1BBUkNfSTdfUkVHTlVNOyBpKyspCisJeworCQlpZiAo cmVnbnVtID09IC0xIHx8IHJlZ251bSA9PSBTUEFSQ19TUF9SRUdOVU0gfHwg cmVnbnVtID09IGkpCisJCXsKKwkJCWNvbGxlY3RfcmVnaXN0ZXIgKGksIGJ1 Zik7CisjaWYgMAorCQkJLyogSGFuZGxlIFN0YWNrR2hvc3QuICAqLworCQkJ aWYgKGkgPT0gU1BBUkNfSTdfUkVHTlVNKQorCQkJeworCQkJCVVMT05HRVNU IHdjb29raWUgPSBzcGFyY19mZXRjaF93Y29va2llICgpOworCQkJCVVMT05H RVNUIGk3ID0gZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyIChidWYgKyBvZmZz ZXQsIDQpOworCisJCQkJc3RvcmVfdW5zaWduZWRfaW50ZWdlciAoYnVmICsg b2Zmc2V0LCA0LCBpNyBeIHdjb29raWUpOworCQkJfQorI2VuZGlmCisJCQko KnRoZV90YXJnZXQtPndyaXRlX21lbW9yeSkgKHNwICsgKChpIC0gU1BBUkNf TDBfUkVHTlVNKSAqIDQpLAorCQkJCQlidWYsIDQpOworCQl9CisJfQorfQor CisvKiBIZWxwZXIgZnVuY3Rpb25zIGZvciBkZWFsaW5nIHdpdGggcmVnaXN0 ZXIgc2V0cy4gICovCisKK3ZvaWQKK3NwYXJjX3N1cHBseV9ncmVnc2V0IChp bnQgcmVnbnVtLCBjb25zdCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlp bnQgaSA9IDA7CisKKwlpZiAocmVnbnVtID09IFNQQVJDMzJfUFNSX1JFR05V TSB8fCByZWdudW0gPT0gLTEpCisJCXN1cHBseV9yZWdpc3RlcihTUEFSQzMy X1BTUl9SRUdOVU0sICZyZWdzLT5wc3IpOworCisJaWYgKHJlZ251bSA9PSBT UEFSQzMyX1BDX1JFR05VTSB8fCByZWdudW0gPT0gLTEpCisJCXN1cHBseV9y ZWdpc3RlcihTUEFSQzMyX1BDX1JFR05VTSwgJnJlZ3MtPnBjKTsKKworCWlm IChyZWdudW0gPT0gU1BBUkMzMl9OUENfUkVHTlVNIHx8IHJlZ251bSA9PSAt MSkKKwkJc3VwcGx5X3JlZ2lzdGVyKFNQQVJDMzJfTlBDX1JFR05VTSwgJnJl Z3MtPm5wYyk7CisKKwlpZiAocmVnbnVtID09IFNQQVJDMzJfWV9SRUdOVU0g fHwgcmVnbnVtID09IC0xKQorCQlzdXBwbHlfcmVnaXN0ZXIoU1BBUkMzMl9Z X1JFR05VTSwgJnJlZ3MtPnkpOworCisJaWYgKHJlZ251bSA9PSBTUEFSQ19H MF9SRUdOVU0gfHwgcmVnbnVtID09IC0xKQorCQlzdXBwbHlfcmVnaXN0ZXIo U1BBUkNfRzBfUkVHTlVNLCAmaSk7CisKKwlpZiAoKHJlZ251bSA+PSBTUEFS Q19HMV9SRUdOVU0gJiYgcmVnbnVtIDw9IFNQQVJDX083X1JFR05VTSkgfHwg cmVnbnVtID09IC0xKQorCXsKKwkJZm9yIChpID0gU1BBUkNfRzFfUkVHTlVN OyBpIDw9IFNQQVJDX083X1JFR05VTTsgaSsrKQorCQl7CisJCQlpZiAocmVn bnVtID09IGkgfHwgcmVnbnVtID09IC0xKQorCQkJCXN1cHBseV9yZWdpc3Rl cihpLCAmcmVncy0+dV9yZWdzW2kgLSBTUEFSQ19HMV9SRUdOVU1dKTsKKwkJ fQorCX0KKworCWlmICgocmVnbnVtID49IFNQQVJDX0wwX1JFR05VTSAmJiBy ZWdudW0gPD0gU1BBUkNfSTdfUkVHTlVNKSB8fCByZWdudW0gPT0gLTEpCisJ eworCQkvKiBOb3QgYWxsIG9mIHRoZSByZWdpc3RlciBzZXQgdmFyaWFudHMg aW5jbHVkZSBMb2NhbHMgYW5kCisJCSAgIElucHV0cy4gIEZvciB0aG9zZSB0 aGF0IGRvbid0LCB3ZSByZWFkIHRoZW0gb2ZmIHRoZSBzdGFjay4gICovCisJ CWxvbmcgc3A7CisKKwkJaWYgKHJlZ2NhY2hlX3ZhbGlkKCkpCisJCQljb2xs ZWN0X3JlZ2lzdGVyKFNQQVJDX1NQX1JFR05VTSwgJnNwKTsKKwkJZWxzZQor CQkJc3AgPSByZWdzLT51X3JlZ3NbU1BBUkNfU1BfUkVHTlVNIC0gU1BBUkNf RzFfUkVHTlVNXTsKKwkJc3BhcmNfc3VwcGx5X3J3aW5kb3cgKHNwLCByZWdu dW0pOworCX0KK30KKwordm9pZAorc3BhcmNfY29sbGVjdF9ncmVnc2V0IChp bnQgcmVnbnVtLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlpbnQgaTsK KworCWlmIChyZWdudW0gPT0gU1BBUkMzMl9QU1JfUkVHTlVNIHx8IHJlZ251 bSA9PSAtMSkKKwkJY29sbGVjdF9yZWdpc3RlciAoU1BBUkMzMl9QU1JfUkVH TlVNLCAmcmVncy0+cHNyKTsKKworCWlmIChyZWdudW0gPT0gU1BBUkMzMl9Q Q19SRUdOVU0gfHwgcmVnbnVtID09IC0xKQorCQljb2xsZWN0X3JlZ2lzdGVy IChTUEFSQzMyX1BDX1JFR05VTSwgJnJlZ3MtPnBjKTsKKworCWlmIChyZWdu dW0gPT0gU1BBUkMzMl9OUENfUkVHTlVNIHx8IHJlZ251bSA9PSAtMSkKKwkJ Y29sbGVjdF9yZWdpc3RlciAoU1BBUkMzMl9OUENfUkVHTlVNLCAmcmVncy0+ bnBjKTsKKworCWlmIChyZWdudW0gPT0gU1BBUkMzMl9ZX1JFR05VTSB8fCBy ZWdudW0gPT0gLTEpCisJCWNvbGxlY3RfcmVnaXN0ZXIgKFNQQVJDMzJfWV9S RUdOVU0sICZyZWdzLT55KTsKKworCWlmICgocmVnbnVtID49IFNQQVJDX0cx X1JFR05VTSAmJiByZWdudW0gPD0gU1BBUkNfTzdfUkVHTlVNKSB8fCByZWdu dW0gPT0gLTEpCisJeworCQkvKiAlZzAgaXMgYWx3YXlzIHplcm8uICAqLwor CQlmb3IgKGkgPSBTUEFSQ19HMV9SRUdOVU07IGkgPD0gU1BBUkNfTzdfUkVH TlVNOyBpKyspCisJCXsKKwkJCWlmIChyZWdudW0gPT0gaSB8fCByZWdudW0g PT0gLTEpCisJCQkJY29sbGVjdF9yZWdpc3RlciAoaSwgJnJlZ3MtPnVfcmVn c1tpIC0gU1BBUkNfRzFfUkVHTlVNXSk7CisJCX0KKwl9CisjaWYgMAorCWlm ICgocmVnbnVtID49IFNQQVJDX0wwX1JFR05VTSAmJiByZWdudW0gPD0gU1BB UkNfSTdfUkVHTlVNKSB8fCByZWdudW0gPT0gLTEpCisJeworCQkvKiBOb3Qg YWxsIG9mIHRoZSByZWdpc3RlciBzZXQgdmFyaWFudHMgaW5jbHVkZSBMb2Nh bHMgYW5kCisJCSAgIElucHV0cy4gIEZvciB0aG9zZSB0aGF0IGRvbid0LCB3 ZSByZWFkIHRoZW0gb2ZmIHRoZSBzdGFjay4gICovCisJCWlmIChncmVnc2V0 LT5yX2wwX29mZnNldCAhPSAtMSkKKwkJeworCQkJaW50IG9mZnNldCA9IGdy ZWdzZXQtPnJfbDBfb2Zmc2V0OworCisJCQlmb3IgKGkgPSBTUEFSQ19MMF9S RUdOVU07IGkgPD0gU1BBUkNfSTdfUkVHTlVNOyBpKyspCisJCQl7CisJCQkJ aWYgKHJlZ251bSA9PSBpIHx8IHJlZ251bSA9PSAtMSkKKwkJCQkJcmVnY2Fj aGVfcmF3X2NvbGxlY3QgKHJlZ2NhY2hlLCBpLCByZWdzICsgb2Zmc2V0KTsK KwkJCQlvZmZzZXQgKz0gNDsKKwkJCX0KKwkJfQorCX0KKyNlbmRpZgorfQor Cit2b2lkCitzcGFyY19zdXBwbHlfZnByZWdzZXQgKGludCByZWdudW0sIGNv bnN0IHN0cnVjdCBmcHMgKmZwcmVncykKK3sKKwlpbnQgaTsKKworCWZvciAo aSA9IDA7IGkgPCAzMjsgaSsrKQorCXsKKwkJaWYgKHJlZ251bSA9PSAoU1BB UkNfRjBfUkVHTlVNICsgaSkgfHwgcmVnbnVtID09IC0xKQorCQkJc3VwcGx5 X3JlZ2lzdGVyIChTUEFSQ19GMF9SRUdOVU0gKyBpLCAmZnByZWdzLT5yZWdz W2ldKTsKKwl9CisKKwlpZiAocmVnbnVtID09IFNQQVJDMzJfRlNSX1JFR05V TSB8fCByZWdudW0gPT0gLTEpCisJCXN1cHBseV9yZWdpc3RlciAoU1BBUkMz Ml9GU1JfUkVHTlVNLCAmZnByZWdzLT5mc3IpOworfQorCit2b2lkCitzcGFy Y19jb2xsZWN0X2ZwcmVnc2V0IChpbnQgcmVnbnVtLCBzdHJ1Y3QgZnBzICpm cHJlZ3MpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMzI7IGkr KykKKwl7CisJCWlmIChyZWdudW0gPT0gKFNQQVJDX0YwX1JFR05VTSArIGkp IHx8IHJlZ251bSA9PSAtMSkKKwkJCWNvbGxlY3RfcmVnaXN0ZXIgKFNQQVJD X0YwX1JFR05VTSArIGksICZmcHJlZ3MtPnJlZ3NbaV0pOworCX0KKworCWlm IChyZWdudW0gPT0gU1BBUkMzMl9GU1JfUkVHTlVNIHx8IHJlZ251bSA9PSAt MSkKKwkJY29sbGVjdF9yZWdpc3RlciAoU1BBUkMzMl9GU1JfUkVHTlVNLCAm ZnByZWdzLT5mc3IpOworfQorCit2b2lkCitzcGFyY19mZXRjaF9yZWdpc3Rl cnMgKGludCByZWdudW0pCit7CisJaWYgKHJlZ251bSA9PSBTUEFSQ19HMF9S RUdOVU0pCisJeworCQlsb25nIGcwID0gMDsKKwkJc3VwcGx5X3JlZ2lzdGVy KFNQQVJDX0cwX1JFR05VTSwgJmcwKTsKKwkJcmV0dXJuOworCX0KKworCWlm IChyZWdudW0gPT0gLTEgfHwgc3BhcmNfZ3JlZ3NldF9zdXBwbGllc19wIChy ZWdudW0pKQorCXsKKwkJc3RydWN0IHB0X3JlZ3MgcmVnczsKKworCQlpZiAo cHRyYWNlIChQVFJBQ0VfR0VUUkVHUywgaW5mZXJpb3JfcGlkLCAoUFRSQUNF X1RZUEVfQVJHMykgJnJlZ3MsIDApID09IC0xKQorCQkJcGVycm9yX3dpdGhf bmFtZSAoIkNvdWxkbid0IGdldCByZWdpc3RlcnMiKTsKKworCQlzcGFyY19z dXBwbHlfZ3JlZ3NldCAoLTEsICZyZWdzKTsKKwkJaWYgKHJlZ251bSAhPSAt MSkKKwkJCXJldHVybjsKKwl9CisKKwlpZiAocmVnbnVtID09IC0xIHx8IHNw YXJjX2ZwcmVnc2V0X3N1cHBsaWVzX3AgKHJlZ251bSkpCisJeworCQlzdHJ1 Y3QgZnBzIGZwcmVnczsKKworCQlpZiAocHRyYWNlIChQVFJBQ0VfR0VURlBS RUdTLCBpbmZlcmlvcl9waWQsIChQVFJBQ0VfVFlQRV9BUkczKSAmZnByZWdz LCAwKSA9PSAtMSkKKwkJCXBlcnJvcl93aXRoX25hbWUgKCJDb3VsZG4ndCBn ZXQgZmxvYXRpbmcgcG9pbnQgc3RhdHVzIik7CisKKwkJc3BhcmNfc3VwcGx5 X2ZwcmVnc2V0ICgtMSwgJmZwcmVncyk7CisJfQorfQorCit2b2lkCitzcGFy Y19zdG9yZV9yZWdpc3RlcnMgKGludCByZWdudW0pCit7CisJLyogTk9URTog Y2FnbmV5LzIwMDItMTItMDI6IFNlZSBjb21tZW50IGluIGZldGNoX2luZmVy aW9yX3JlZ2lzdGVycworCSAgIGFib3V0IHRocmVhZGVkIGFzc3VtcHRpb25z LiAgKi8KKwlpZiAocmVnbnVtID09IC0xIHx8IHNwYXJjX2dyZWdzZXRfc3Vw cGxpZXNfcCAocmVnbnVtKSkKKwl7CisJCXN0cnVjdCBwdF9yZWdzIHJlZ3M7 CisKKwkJaWYgKHB0cmFjZSAoUFRSQUNFX0dFVFJFR1MsIGluZmVyaW9yX3Bp ZCwgKFBUUkFDRV9UWVBFX0FSRzMpICZyZWdzLCAwKSA9PSAtMSkKKwkJCXBl cnJvcl93aXRoX25hbWUgKCJDb3VsZG4ndCBnZXQgcmVnaXN0ZXJzIik7CisK KwkJc3BhcmNfY29sbGVjdF9ncmVnc2V0IChyZWdudW0sICZyZWdzKTsKKwor CQlpZiAocHRyYWNlIChQVFJBQ0VfU0VUUkVHUywgaW5mZXJpb3JfcGlkLCAo UFRSQUNFX1RZUEVfQVJHMykgJnJlZ3MsIDApID09IC0xKQorCQkJcGVycm9y X3dpdGhfbmFtZSAoIkNvdWxkbid0IHdyaXRlIHJlZ2lzdGVycyIpOworCisJ CS8qIERlYWwgd2l0aCB0aGUgc3RhY2sgcmVncy4gICovCisJCWlmIChyZWdu dW0gPT0gLTEgfHwgcmVnbnVtID09IFNQQVJDX1NQX1JFR05VTQorCQkJCXx8 IChyZWdudW0gPj0gU1BBUkNfTDBfUkVHTlVNICYmIHJlZ251bSA8PSBTUEFS Q19JN19SRUdOVU0pKQorCQl7CisJCQlsb25nIHNwOworCisJCQlpZiAocmVn Y2FjaGVfdmFsaWQoKSkKKwkJCQljb2xsZWN0X3JlZ2lzdGVyIChTUEFSQ19T UF9SRUdOVU0sICZzcCk7CisJCQllbHNlCisJCQkJc3AgPSByZWdzLnVfcmVn c1tTUEFSQ19TUF9SRUdOVU0gLSBTUEFSQ19HMV9SRUdOVU1dOyAKKwkJCXNw YXJjX2NvbGxlY3RfcndpbmRvdyAoc3AsIHJlZ251bSk7CisJCX0KKworCQlp ZiAocmVnbnVtICE9IC0xKQorCQkJcmV0dXJuOworCX0KKworCWlmIChyZWdu dW0gPT0gLTEgfHwgc3BhcmNfZnByZWdzZXRfc3VwcGxpZXNfcCAocmVnbnVt KSkKKwl7CisJCXN0cnVjdCBmcHMgZnByZWdzLCBzYXZlZF9mcHJlZ3M7CisK KwkJaWYgKHB0cmFjZSAoUFRSQUNFX0dFVEZQUkVHUywgaW5mZXJpb3JfcGlk LCAoUFRSQUNFX1RZUEVfQVJHMykgJmZwcmVncywgMCkgPT0gLTEpCisJCQlw ZXJyb3Jfd2l0aF9uYW1lICgiQ291bGRuJ3QgZ2V0IGZsb2F0aW5nLXBvaW50 IHJlZ2lzdGVycyIpOworCisJCW1lbWNweSAoJnNhdmVkX2ZwcmVncywgJmZw cmVncywgc2l6ZW9mIChmcHJlZ3MpKTsKKwkJc3BhcmNfY29sbGVjdF9mcHJl Z3NldCAocmVnbnVtLCAmZnByZWdzKTsKKworCQkvKiBXcml0aW5nIHRoZSBm bG9hdGluZy1wb2ludCByZWdpc3RlcnMgd2lsbCBmYWlsIG9uIE5ldEJTRCB3 aXRoCisJCSAgIEVJTlZBTCBpZiB0aGUgaW5mZXJpb3IgcHJvY2VzcyBkb2Vz bid0IGhhdmUgYW4gRlBVIHN0YXRlCisJCSAgIChpLmUuIGlmIGl0IGRpZG4n dCB1c2UgdGhlIEZQVSB5ZXQpLiAgVGhlcmVmb3JlIHdlIGRvbid0IHRyeQor CQkgICB0byB3cml0ZSB0aGUgcmVnaXN0ZXJzIGlmIG5vdGhpbmcgY2hhbmdl ZC4gICovCisJCWlmIChtZW1jbXAgKCZzYXZlZF9mcHJlZ3MsICZmcHJlZ3Ms IHNpemVvZiAoZnByZWdzKSkgIT0gMCkKKwkJeworCQkJaWYgKHB0cmFjZSAo UFRSQUNFX1NFVEZQUkVHUywgaW5mZXJpb3JfcGlkLAorCQkJCQkJKFBUUkFD RV9UWVBFX0FSRzMpICZmcHJlZ3MsIDApID09IC0xKQorCQkJCXBlcnJvcl93 aXRoX25hbWUgKCJDb3VsZG4ndCB3cml0ZSBmbG9hdGluZy1wb2ludCByZWdp c3RlcnMiKTsKKwkJfQorCisJCWlmIChyZWdudW0gIT0gLTEpCisJCQlyZXR1 cm47CisJfQorfQpkaWZmIC11ck4gZ2RiLTYuOF9vcmlnL2dkYi9nZGJzZXJ2 ZXIvbGludXgtc3BhcmMtbG93LmggZ2RiLTYuOF9uZXcvZ2RiL2dkYnNlcnZl ci9saW51eC1zcGFyYy1sb3cuaAotLS0gZ2RiLTYuOF9vcmlnL2dkYi9nZGJz ZXJ2ZXIvbGludXgtc3BhcmMtbG93LmgJMTk3MC0wMS0wMSAwMzowMDowMC4w MDAwMDAwMDAgKzAzMDAKKysrIGdkYi02LjhfbmV3L2dkYi9nZGJzZXJ2ZXIv bGludXgtc3BhcmMtbG93LmgJMjAwOC0wOC0xMyAwMzo1MzozNi4wMDAwMDAw MDAgKzA0MDAKQEAgLTAsMCArMSwxMDcgQEAKKy8qIEdOVS9MaW51eC9TUEFS QyBzcGVjaWZpYyBsb3cgbGV2ZWwgaGVhZGVyLCBmb3IgdGhlIHJlbW90ZSBz ZXJ2ZXIgZm9yIEdEQi4KKworICAgQ29weXJpZ2h0IDIwMDggQWxla3NlaSBN YWtoYWxvZmYgKG1ha2hhbG9mZkBnbWFpbC5jb20pCisKKyAgIFRoaXMgZmls ZSBpcyBwYXJ0IG9mIEdEQi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBM aWNlbnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBp ZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgICBGb3VuZGF0 aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgICBC b3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4gICovCisKKyNpZm5kZWYgTElO VVhfU1BBUkNfTE9XX0gKKyNkZWZpbmUgTElOVVhfU1BBUkNfTE9XX0ggMQor CisvKiBSZWdpc3RlciBudW1iZXJzIG9mIHZhcmlvdXMgaW1wb3J0YW50IHJl Z2lzdGVycy4gICovCisKK2VudW0gc3BhcmNfcmVnbnVtCit7CisgIFNQQVJD X0cwX1JFR05VTSwJCS8qICVnMCAqLworICBTUEFSQ19HMV9SRUdOVU0sCisg IFNQQVJDX0cyX1JFR05VTSwKKyAgU1BBUkNfRzNfUkVHTlVNLAorICBTUEFS Q19HNF9SRUdOVU0sCisgIFNQQVJDX0c1X1JFR05VTSwKKyAgU1BBUkNfRzZf UkVHTlVNLAorICBTUEFSQ19HN19SRUdOVU0sCQkvKiAlZzcgKi8KKyAgU1BB UkNfTzBfUkVHTlVNLAkJLyogJW8wICovCisgIFNQQVJDX08xX1JFR05VTSwK KyAgU1BBUkNfTzJfUkVHTlVNLAorICBTUEFSQ19PM19SRUdOVU0sCisgIFNQ QVJDX080X1JFR05VTSwKKyAgU1BBUkNfTzVfUkVHTlVNLAorICBTUEFSQ19T UF9SRUdOVU0sCQkvKiAlc3AgKCVvNikgKi8KKyAgU1BBUkNfTzdfUkVHTlVN LAkJLyogJW83ICovCisgIFNQQVJDX0wwX1JFR05VTSwJCS8qICVsMCAqLwor ICBTUEFSQ19MMV9SRUdOVU0sCisgIFNQQVJDX0wyX1JFR05VTSwKKyAgU1BB UkNfTDNfUkVHTlVNLAorICBTUEFSQ19MNF9SRUdOVU0sCisgIFNQQVJDX0w1 X1JFR05VTSwKKyAgU1BBUkNfTDZfUkVHTlVNLAorICBTUEFSQ19MN19SRUdO VU0sCQkvKiAlbDcgKi8KKyAgU1BBUkNfSTBfUkVHTlVNLAkJLyogJWkwICov CisgIFNQQVJDX0kxX1JFR05VTSwKKyAgU1BBUkNfSTJfUkVHTlVNLAorICBT UEFSQ19JM19SRUdOVU0sCisgIFNQQVJDX0k0X1JFR05VTSwKKyAgU1BBUkNf STVfUkVHTlVNLAorICBTUEFSQ19GUF9SRUdOVU0sCQkvKiAlZnAgKCVpNikg Ki8KKyAgU1BBUkNfSTdfUkVHTlVNLAkJLyogJWk3ICovCisgIFNQQVJDX0Yw X1JFR05VTSwJCS8qICVmMCAqLworICBTUEFSQ19GMV9SRUdOVU0sCisgIFNQ QVJDX0YzMV9SRUdOVU0JCS8qICVmMzEgKi8KKyAgPSBTUEFSQ19GMF9SRUdO VU0gKyAzMQorfTsKKworZW51bSBzcGFyYzMyX3JlZ251bQoreworICBTUEFS QzMyX1lfUkVHTlVNCQkvKiAleSAqLworICA9IFNQQVJDX0YzMV9SRUdOVU0g KyAxLAorICBTUEFSQzMyX1BTUl9SRUdOVU0sCQkvKiAlcHNyICovCisgIFNQ QVJDMzJfV0lNX1JFR05VTSwJCS8qICV3aW0gKi8KKyAgU1BBUkMzMl9UQlJf UkVHTlVNLAkJLyogJXRiciAqLworICBTUEFSQzMyX1BDX1JFR05VTSwJCS8q ICVwYyAqLworICBTUEFSQzMyX05QQ19SRUdOVU0sCQkvKiAlbnBjICovCisg IFNQQVJDMzJfRlNSX1JFR05VTSwJCS8qICVmc3IgKi8KKyAgU1BBUkMzMl9D U1JfUkVHTlVNLAkJLyogJWNzciAqLworCisgIC8qIFBzZXVkbyByZWdpc3Rl cnMuICAqLworICBTUEFSQzMyX0QwX1JFR05VTSwJCS8qICVkMCAqLworICBT UEFSQzMyX0QzMF9SRUdOVU0JCS8qICVkMzAgKi8KKyAgPSBTUEFSQzMyX0Qw X1JFR05VTSArIDE1Cit9OworCisjZGVmaW5lIFBUUkFDRV9UWVBFX0FSRzMg bG9uZworCitzdHJ1Y3QgcHRfcmVncyB7CisJdW5zaWduZWQgbG9uZyBwc3I7 CisJdW5zaWduZWQgbG9uZyBwYzsKKwl1bnNpZ25lZCBsb25nIG5wYzsKKwl1 bnNpZ25lZCBsb25nIHk7CisJdW5zaWduZWQgbG9uZyB1X3JlZ3NbMTZdOwor fTsKKworc3RydWN0IGZwcyB7CisJdW5zaWduZWQgbG9uZyByZWdzWzMyXTsK Kwl1bnNpZ25lZCBsb25nIGZzcjsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOwor CXVuc2lnbmVkIGxvbmcgZXh0cmE7CisJdW5zaWduZWQgbG9uZyBmcHFkOwor CXN0cnVjdCBmcSAvKnsKKwkJdW5zaWduZWQgbG9uZyAqaW5zbmFkZHI7CisJ CXVuc2lnbmVkIGxvbmcgaW5zbjsKKwl9Ki8gZnBxWzE2XTsKK307CisKKyNl bmRpZiAvKiBsaW51eC1zcGFyYy1sb3cuaCAqLwpkaWZmIC11ck4gZ2RiLTYu OF9vcmlnL2dkYi9nZGJzZXJ2ZXIvTWFrZWZpbGUuaW4gZ2RiLTYuOF9uZXcv Z2RiL2dkYnNlcnZlci9NYWtlZmlsZS5pbgotLS0gZ2RiLTYuOF9vcmlnL2dk Yi9nZGJzZXJ2ZXIvTWFrZWZpbGUuaW4JMjAwOC0wMi0xMiAwMTowMDozMS4w MDAwMDAwMDAgKzAzMDAKKysrIGdkYi02LjhfbmV3L2dkYi9nZGJzZXJ2ZXIv TWFrZWZpbGUuaW4JMjAwOC0wNC0wOCAwOTo0ODoxNC4wMDAwMDAwMDAgKzA0 MDAKQEAgLTEyNyw3ICsxMjcsNyBAQAogCSQoc3JjZGlyKS9saW51eC1tMzJy LWxvdy5jIFwKIAkkKHNyY2RpcikvbGludXgtbTY4ay1sb3cuYyAkKHNyY2Rp cikvbGludXgtbWlwcy1sb3cuYyBcCiAJJChzcmNkaXIpL2xpbnV4LXBwYy1s b3cuYyAkKHNyY2RpcikvbGludXgtcHBjNjQtbG93LmMgXAotCSQoc3JjZGly KS9saW51eC1zMzkwLWxvdy5jIFwKKwkkKHNyY2RpcikvbGludXgtczM5MC1s b3cuYyAkKHNyY2RpcikvbGludXgtc3BhcmMtbG93LmMgXAogCSQoc3JjZGly KS9saW51eC1zaC1sb3cuYyAkKHNyY2RpcikvbGludXgteDg2LTY0LWxvdy5j IFwKIAkkKHNyY2RpcikvbGludXgteHRlbnNhLWxvdy5jIFwKIAkkKHNyY2Rp cikvd2luMzItYXJtLWxvdy5jICQoc3JjZGlyKS93aW4zMi1pMzg2LWxvdy5j IFwKQEAgLTIyMSw3ICsyMjEsNyBAQAogCXJtIC1mIHJlZy1wcGMuYyByZWct c2guYyByZWctc3B1LmMgcmVnLXg4Ni02NC5jIHJlZy1pMzg2LWxpbnV4LmMK IAlybSAtZiByZWctY3Jpcy5jIHJlZy1jcmlzdjMyLmMgcmVnLXg4Ni02NC1s aW51eC5jIHJlZy14dGVuc2EuYwogCXJtIC1mIGFybS13aXRoLWl3bW14dC5j IG1pcHMtbGludXguYyBtaXBzNjQtbGludXguYwotCXJtIC1mIHBvd2VycGMt MzIuYyBwb3dlcnBjLTY0LmMgcG93ZXJwYy1lNTAwLmMKKwlybSAtZiBwb3dl cnBjLTMyLmMgcG93ZXJwYy02NC5jIHBvd2VycGMtZTUwMC5jIHJlZy1zcGFy Yy5jCiAJcm0gLWYgeG1sLWJ1aWx0aW4uYyBzdGFtcC14bWwgdGFyZ2V0Lnht bAogCiBtYWludGFpbmVyLWNsZWFuIHJlYWxjbGVhbiBkaXN0Y2xlYW46IGNs ZWFuCkBAIC0zMTUsNiArMzE1LDExIEBACiBsaW51eC1wcGM2NC1sb3cubzog bGludXgtcHBjNjQtbG93LmMgJChsaW51eF9sb3dfaCkgJChzZXJ2ZXJfaCkK IGxpbnV4LXMzOTAtbG93Lm86IGxpbnV4LXMzOTAtbG93LmMgJChsaW51eF9s b3dfaCkgJChzZXJ2ZXJfaCkKIGxpbnV4LXNoLWxvdy5vOiBsaW51eC1zaC1s b3cuYyAkKGxpbnV4X2xvd19oKSAkKHNlcnZlcl9oKQorCitsaW51eF9zcGFy Y19sb3dfaCA9ICQoc3JjZGlyKS9saW51eC1zcGFyYy1sb3cuaAorCitsaW51 eC1zcGFyYy1sb3cubzogbGludXgtc3BhcmMtbG93LmMgJChsaW51eF9zcGFy Y19sb3dfaCkgJChsaW51eF9sb3dfaCkgXAorCSQoc2VydmVyX2gpCiBsaW51 eC14ODYtNjQtbG93Lm86IGxpbnV4LXg4Ni02NC1sb3cuYyAkKGxpbnV4X2xv d19oKSAkKHNlcnZlcl9oKSBcCiAJJChnZGJfcHJvY19zZXJ2aWNlX2gpCiBs aW51eC14dGVuc2EtbG93Lm86IGxpbnV4LXh0ZW5zYS1sb3cuYyB4dGVuc2Et eHRyZWdzLmMgJChsaW51eF9sb3dfaCkgJChzZXJ2ZXJfaCkKQEAgLTM4NSw2 ICszOTAsOSBAQAogcmVnLXNoLm8gOiByZWctc2guYyAkKHJlZ2RlZl9oKQog cmVnLXNoLmMgOiAkKHNyY2RpcikvLi4vcmVnZm9ybWF0cy9yZWctc2guZGF0 ICQocmVnZGF0X3NoKQogCSQoU0hFTEwpICQocmVnZGF0X3NoKSAkKHNyY2Rp cikvLi4vcmVnZm9ybWF0cy9yZWctc2guZGF0IHJlZy1zaC5jCityZWctc3Bh cmMubyA6IHJlZy1zcGFyYy5jICQocmVnZGVmX2gpCityZWctc3BhcmMuYyA6 ICQoc3JjZGlyKS8uLi9yZWdmb3JtYXRzL3JlZy1zcGFyYy5kYXQgJChyZWdk YXRfc2gpCisJJChTSEVMTCkgJChyZWdkYXRfc2gpICQoc3JjZGlyKS8uLi9y ZWdmb3JtYXRzL3JlZy1zcGFyYy5kYXQgcmVnLXNwYXJjLmMKIHJlZy1zcHUu byA6IHJlZy1zcHUuYyAkKHJlZ2RlZl9oKQogcmVnLXNwdS5jIDogJChzcmNk aXIpLy4uL3JlZ2Zvcm1hdHMvcmVnLXNwdS5kYXQgJChyZWdkYXRfc2gpCiAJ JChTSEVMTCkgJChyZWdkYXRfc2gpICQoc3JjZGlyKS8uLi9yZWdmb3JtYXRz L3JlZy1zcHUuZGF0IHJlZy1zcHUuYwpkaWZmIC11ck4gZ2RiLTYuOF9vcmln L2dkYi9nZGJzZXJ2ZXIvcmVnY2FjaGUuYyBnZGItNi44X25ldy9nZGIvZ2Ri c2VydmVyL3JlZ2NhY2hlLmMKLS0tIGdkYi02Ljhfb3JpZy9nZGIvZ2Ric2Vy dmVyL3JlZ2NhY2hlLmMJMjAwOC0wMS0wMiAwMTo1MzoxNC4wMDAwMDAwMDAg KzAzMDAKKysrIGdkYi02LjhfbmV3L2dkYi9nZGJzZXJ2ZXIvcmVnY2FjaGUu YwkyMDA4LTA0LTA4IDExOjM5OjI3LjAwMDAwMDAwMCArMDQwMApAQCAtNTMs NyArNTMsNyBAQAogICAvKiBGSVhNRSAtIGZldGNoIHJlZ2lzdGVycyBmb3Ig SU5GICovCiAgIGlmIChmZXRjaCAmJiByZWdjYWNoZS0+cmVnaXN0ZXJzX3Zh bGlkID09IDApCiAgICAgewotICAgICAgZmV0Y2hfaW5mZXJpb3JfcmVnaXN0 ZXJzICgwKTsKKyAgICAgIGZldGNoX2luZmVyaW9yX3JlZ2lzdGVycyAoLTEp OwogICAgICAgcmVnY2FjaGUtPnJlZ2lzdGVyc192YWxpZCA9IDE7CiAgICAg fQogCkBAIC04Niw2ICs4NiwxNCBAQAogICBmb3JfZWFjaF9pbmZlcmlvciAo JmFsbF90aHJlYWRzLCByZWdjYWNoZV9pbnZhbGlkYXRlX29uZSk7CiB9CiAK K2ludCByZWdjYWNoZV92YWxpZCh2b2lkKQoreworICBzdHJ1Y3QgaW5mZXJp b3JfcmVnY2FjaGVfZGF0YSAqcmVnY2FjaGU7CisKKyAgcmVnY2FjaGUgPSAo c3RydWN0IGluZmVyaW9yX3JlZ2NhY2hlX2RhdGEgKikgaW5mZXJpb3JfcmVn Y2FjaGVfZGF0YSAoY3VycmVudF9pbmZlcmlvcik7CisgIHJldHVybiByZWdj YWNoZS0+cmVnaXN0ZXJzX3ZhbGlkOworfQorCiBpbnQKIHJlZ2lzdGVyc19s ZW5ndGggKHZvaWQpCiB7CmRpZmYgLXVyTiBnZGItNi44X29yaWcvZ2RiL2dk YnNlcnZlci9yZWdjYWNoZS5oIGdkYi02LjhfbmV3L2dkYi9nZGJzZXJ2ZXIv cmVnY2FjaGUuaAotLS0gZ2RiLTYuOF9vcmlnL2dkYi9nZGJzZXJ2ZXIvcmVn Y2FjaGUuaAkyMDA4LTAxLTAyIDAxOjUzOjE0LjAwMDAwMDAwMCArMDMwMAor KysgZ2RiLTYuOF9uZXcvZ2RiL2dkYnNlcnZlci9yZWdjYWNoZS5oCTIwMDgt MDQtMDggMTA6MDY6MTguMDAwMDAwMDAwICswNDAwCkBAIC0zNCw2ICszNCwx MCBAQAogdm9pZCByZWdjYWNoZV9pbnZhbGlkYXRlX29uZSAoc3RydWN0IGlu ZmVyaW9yX2xpc3RfZW50cnkgKik7CiB2b2lkIHJlZ2NhY2hlX2ludmFsaWRh dGUgKHZvaWQpOwogCisvKiBWYWxpZCBzdGF0ZSBvZiB0aGUgcmVnaXN0ZXIg Y2FjaGUgKi8KKworaW50IHJlZ2NhY2hlX3ZhbGlkKHZvaWQpOworCiAvKiBD b252ZXJ0IGFsbCByZWdpc3RlcnMgdG8gYSBzdHJpbmcgaW4gdGhlIGN1cnJl bnRseSBzcGVjaWZpZWQgcmVtb3RlCiAgICBmb3JtYXQuICAqLwogCmRpZmYg LXVyTiBnZGItNi44X29yaWcvZ2RiL3JlZ2Zvcm1hdHMvcmVnLXNwYXJjLmRh dCBnZGItNi44X25ldy9nZGIvcmVnZm9ybWF0cy9yZWctc3BhcmMuZGF0Ci0t LSBnZGItNi44X29yaWcvZ2RiL3JlZ2Zvcm1hdHMvcmVnLXNwYXJjLmRhdAkx OTcwLTAxLTAxIDAzOjAwOjAwLjAwMDAwMDAwMCArMDMwMAorKysgZ2RiLTYu OF9uZXcvZ2RiL3JlZ2Zvcm1hdHMvcmVnLXNwYXJjLmRhdAkyMDA4LTA0LTA4 IDAxOjMyOjU0LjAwMDAwMDAwMCArMDQwMApAQCAtMCwwICsxLDc0IEBACitu YW1lOnNwYXJjCitleHBlZGl0ZTpwYworMzI6ZzAKKzMyOmcxCiszMjpnMgor MzI6ZzMKKzMyOmc0CiszMjpnNQorMzI6ZzYKKzMyOmc3CiszMjpvMAorMzI6 bzEKKzMyOm8yCiszMjpvMworMzI6bzQKKzMyOm81CiszMjpzcAorMzI6bzcK KzMyOmwwCiszMjpsMQorMzI6bDIKKzMyOmwzCiszMjpsNAorMzI6bDUKKzMy Omw2CiszMjpsNworMzI6aTAKKzMyOmkxCiszMjppMgorMzI6aTMKKzMyOmk0 CiszMjppNQorMzI6ZnAKKzMyOmk3CiszMjpmMAorMzI6ZjEKKzMyOmYyCisz MjpmMworMzI6ZjQKKzMyOmY1CiszMjpmNgorMzI6ZjcKKzMyOmY4CiszMjpm OQorMzI6ZjEwCiszMjpmMTEKKzMyOmYxMgorMzI6ZjEzCiszMjpmMTQKKzMy OmYxNQorMzI6ZjE2CiszMjpmMTcKKzMyOmYxOAorMzI6ZjE5CiszMjpmMjAK KzMyOmYyMQorMzI6ZjIyCiszMjpmMjMKKzMyOmYyNAorMzI6ZjI1CiszMjpm MjYKKzMyOmYyNworMzI6ZjI4CiszMjpmMjkKKzMyOmYzMAorMzI6ZjMxCisz Mjp5CiszMjpwc3IKKzMyOndpbQorMzI6dGJwCiszMjpwYworMzI6bnBjCisz Mjpmc3IKKzMyOmNzcgo= ------=_Part_294971_20740327.1232114398841 Content-Type: application/octet-stream; name=ChangeLog Content-Transfer-Encoding: base64 X-Attachment-Id: f_fq0wub4e1 Content-Disposition: attachment; filename=ChangeLog Content-length: 265 MjAwOC0wNC0wOCAgQWxla3NlaSBNYWtoYWxvZmYgIDxtYWtoYWxvZmZAZ21h aWwuY29tPgoKCSogY29uZmlndXJlLnNydjogQWRkIHRhcmdldCAic3BhcmMt Ki1saW51eCIuCgkqIGxpbnV4LXNwYXJjLWxvdy5jOgoJKiBsaW51eC1zcGFy Yy1sb3cuaDogTmV3IGZpbGVzLgoJKiByZWdjYWNoZS5jIChyZWdjYWNoZV92 YWxpZCk6IE5ldy4KCg== ------=_Part_294971_20740327.1232114398841--