From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30335 invoked by alias); 17 Feb 2011 14:21:56 -0000 Received: (qmail 30273 invoked by uid 22791); 17 Feb 2011 14:21:46 -0000 X-SWARE-Spam-Status: No, hits=-1.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,TW_BJ,TW_XF X-Spam-Check-By: sourceware.org Received: from mail-qy0-f176.google.com (HELO mail-qy0-f176.google.com) (209.85.216.176) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 17 Feb 2011 14:21:38 +0000 Received: by qyk10 with SMTP id 10so2538448qyk.0 for ; Thu, 17 Feb 2011 06:21:36 -0800 (PST) MIME-Version: 1.0 Received: by 10.229.192.149 with SMTP id dq21mr2381063qcb.57.1297952496060; Thu, 17 Feb 2011 06:21:36 -0800 (PST) Received: by 10.229.214.131 with HTTP; Thu, 17 Feb 2011 06:21:35 -0800 (PST) Date: Thu, 17 Feb 2011 14:21:00 -0000 Message-ID: Subject: [RFC patch]: Adjust the use of 'long' type in dwarf2.h header From: Kai Tietz To: GCC Patches , Binutils , gdb Cc: Jakub Jelinek , Joel Brobecker Content-Type: multipart/mixed; boundary=0016363b83c0769279049c7b1dae X-IsSubscribed: yes Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2011-02/txt/msg00210.txt.bz2 --0016363b83c0769279049c7b1dae Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1917 Hello, This patch addresses issues I've seen in binutils about cross-compilers and dwarf2 display via objdump -W on hosts, which have sizeof (long) < target's sizeof(void *). Additionally same issue of course can be seen on LLP64 targets, too. Those issues are caused by the fact that the dwarf2.h header in include/ is using unconditionally the type 'unsigned long' for vma-scalars. This patch address additionally the binutils' dwarf.(c|h) files and make them host bitness independent for gcc base toolchains supporting the 'long long' type. I've tested the attached patches for gdb, binutils, and gcc on i686-w64-mingw32, and x86_64-w64-mingw32 cross-toolchains hosted on cygwin. And I didn't found until now regressions. Later this day I want to do a regression test for linux64, too. binutils, gdb, gcc ChangeLog include/ 2011-02-17 Kai Tietz * dwarf2.h (dw2_vma_t): New type. (dw2_svma_t): New type. (DW2_VMA_FMT): New macro specifying to be used width-sepecifier for printing new types. ChangeLog binutils/ 2011-02-17 Kai Tietz * dwarf.c (read_leb128): Use dw2_vma_t instead of long type. (process_extended_line_op): Use for adr new type and print dw2 values via DW2_VMA_FMT. (fetch_indirect_string): Adjust offset's type. (decode_location_expression): Adjust argument types and uvalue type. (read_and_display_attr_value): Likewise. (read_and_display_attr): Likewise. (decode_location_expression): Adjust printf format. (process_debug_info): Likewise. (display_debug_lines_raw): Likewise. (display_debug_lines_decoded): Likewise. (display_debug_pubnames): Likewise. (display_debug_loc): Likewise. (display_debug_aranges): Likewise. * dwarf.h: Add include of dwarf2.h header and use of dw2_vma_t instead of long types. (read_leb128): Adjust return type. Regards, Kai PS: On gdb there is at the moment in gdb/common part the include-path to intl for libintl.h missing --0016363b83c0769279049c7b1dae Content-Type: text/plain; charset=US-ASCII; name="b_dw2_inc.txt" Content-Disposition: attachment; filename="b_dw2_inc.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gk9r9zix0 Content-length: 31310 SW5kZXg6IHNyYy9iaW51dGlscy9kd2FyZi5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIHNyYy5vcmlnL2JpbnV0aWxzL2R3YXJmLmMJMjAxMS0wMi0x NyAxMTowMDozNC4wMDAwMDAwMDAgKzAxMDAKKysrIHNyYy9iaW51dGlscy9k d2FyZi5jCTIwMTEtMDItMTcgMTQ6MzA6MTEuMjkxNTUwMzAwICswMTAwCkBA IC0xMjMsMTAgKzEyMywxMCBAQCBwcmludF9kd2FyZl92bWEgKGR3YXJmX3Zt YSB2YWwsIHVuc2lnbmVkCiAgIGZwdXRzIChidWZmICsgKGJ5dGVfc2l6ZSA9 PSA0ID8gOCA6IDApLCBzdGRvdXQpOwogfQogCi11bnNpZ25lZCBsb25nIGlu dAorZHcyX3ZtYV90CiByZWFkX2xlYjEyOCAodW5zaWduZWQgY2hhciAqZGF0 YSwgdW5zaWduZWQgaW50ICpsZW5ndGhfcmV0dXJuLCBpbnQgc2lnbikKIHsK LSAgdW5zaWduZWQgbG9uZyBpbnQgcmVzdWx0ID0gMDsKKyAgZHcyX3ZtYV90 IHJlc3VsdCA9IDA7CiAgIHVuc2lnbmVkIGludCBudW1fcmVhZCA9IDA7CiAg IHVuc2lnbmVkIGludCBzaGlmdCA9IDA7CiAgIHVuc2lnbmVkIGNoYXIgYnl0 ZTsKQEAgLTEzNiw3ICsxMzYsNyBAQCByZWFkX2xlYjEyOCAodW5zaWduZWQg Y2hhciAqZGF0YSwgdW5zaWduCiAgICAgICBieXRlID0gKmRhdGErKzsKICAg ICAgIG51bV9yZWFkKys7CiAKLSAgICAgIHJlc3VsdCB8PSAoKHVuc2lnbmVk IGxvbmcgaW50KSAoYnl0ZSAmIDB4N2YpKSA8PCBzaGlmdDsKKyAgICAgIHJl c3VsdCB8PSAoKGR3Ml92bWFfdCkgKGJ5dGUgJiAweDdmKSkgPDwgc2hpZnQ7 CiAKICAgICAgIHNoaWZ0ICs9IDc7CiAKQEAgLTE5Myw3ICsxOTMsNyBAQCBw cm9jZXNzX2V4dGVuZGVkX2xpbmVfb3AgKHVuc2lnbmVkIGNoYXIgCiAgIHVu c2lnbmVkIGludCBieXRlc19yZWFkOwogICB1bnNpZ25lZCBpbnQgbGVuOwog ICB1bnNpZ25lZCBjaGFyICpuYW1lOwotICB1bnNpZ25lZCBsb25nIGFkcjsK KyAgZHcyX3ZtYV90IGFkcjsKIAogICBsZW4gPSByZWFkX2xlYjEyOCAoZGF0 YSwgJiBieXRlc19yZWFkLCAwKTsKICAgZGF0YSArPSBieXRlc19yZWFkOwpA QCAtMjE4LDcgKzIxOCw3IEBAIHByb2Nlc3NfZXh0ZW5kZWRfbGluZV9vcCAo dW5zaWduZWQgY2hhciAKIAogICAgIGNhc2UgRFdfTE5FX3NldF9hZGRyZXNz OgogICAgICAgYWRyID0gYnl0ZV9nZXQgKGRhdGEsIGxlbiAtIGJ5dGVzX3Jl YWQgLSAxKTsKLSAgICAgIHByaW50ZiAoXygic2V0IEFkZHJlc3MgdG8gMHgl bHhcbiIpLCBhZHIpOworICAgICAgcHJpbnRmIChfKCJzZXQgQWRkcmVzcyB0 byAweCUiIERXMl9WTUFfRk1UICJ4XG4iKSwgYWRyKTsKICAgICAgIHN0YXRl X21hY2hpbmVfcmVncy5hZGRyZXNzID0gYWRyOwogICAgICAgc3RhdGVfbWFj aGluZV9yZWdzLm9wX2luZGV4ID0gMDsKICAgICAgIGJyZWFrOwpAQCAtMjMw LDE2ICsyMzAsMTcgQEAgcHJvY2Vzc19leHRlbmRlZF9saW5lX29wICh1bnNp Z25lZCBjaGFyIAogICAgICAgcHJpbnRmICgiICAgJWRcdCIsICsrc3RhdGVf bWFjaGluZV9yZWdzLmxhc3RfZmlsZV9lbnRyeSk7CiAgICAgICBuYW1lID0g ZGF0YTsKICAgICAgIGRhdGEgKz0gc3RybGVuICgoY2hhciAqKSBkYXRhKSAr IDE7Ci0gICAgICBwcmludGYgKCIlbHVcdCIsIHJlYWRfbGViMTI4IChkYXRh LCAmIGJ5dGVzX3JlYWQsIDApKTsKKyAgICAgIHByaW50ZiAoIiUiIERXMl9W TUFfRk1UICJ1XHQiLCByZWFkX2xlYjEyOCAoZGF0YSwgJiBieXRlc19yZWFk LCAwKSk7CiAgICAgICBkYXRhICs9IGJ5dGVzX3JlYWQ7Ci0gICAgICBwcmlu dGYgKCIlbHVcdCIsIHJlYWRfbGViMTI4IChkYXRhLCAmIGJ5dGVzX3JlYWQs IDApKTsKKyAgICAgIHByaW50ZiAoIiUiIERXMl9WTUFfRk1UICJ1XHQiLAor CSAgICAgIHJlYWRfbGViMTI4IChkYXRhLCAmIGJ5dGVzX3JlYWQsIDApKTsK ICAgICAgIGRhdGEgKz0gYnl0ZXNfcmVhZDsKLSAgICAgIHByaW50ZiAoIiVs dVx0IiwgcmVhZF9sZWIxMjggKGRhdGEsICYgYnl0ZXNfcmVhZCwgMCkpOwor ICAgICAgcHJpbnRmICgiJSIgRFcyX1ZNQV9GTVQgInVcdCIsIHJlYWRfbGVi MTI4IChkYXRhLCAmIGJ5dGVzX3JlYWQsIDApKTsKICAgICAgIHByaW50ZiAo IiVzXG5cbiIsIG5hbWUpOwogICAgICAgYnJlYWs7CiAKICAgICBjYXNlIERX X0xORV9zZXRfZGlzY3JpbWluYXRvcjoKLSAgICAgIHByaW50ZiAoXygic2V0 IERpc2NyaW1pbmF0b3IgdG8gJWx1XG4iKSwKKyAgICAgIHByaW50ZiAoXygi c2V0IERpc2NyaW1pbmF0b3IgdG8gJSIgRFcyX1ZNQV9GTVQgInVcbiIpLAog ICAgICAgICAgICAgICByZWFkX2xlYjEyOCAoZGF0YSwgJiBieXRlc19yZWFk LCAwKSk7CiAgICAgICBicmVhazsKIApAQCAtMjkxLDcgKzI5Miw3IEBAIHBy b2Nlc3NfZXh0ZW5kZWRfbGluZV9vcCAodW5zaWduZWQgY2hhciAKIH0KIAog c3RhdGljIGNvbnN0IGNoYXIgKgotZmV0Y2hfaW5kaXJlY3Rfc3RyaW5nICh1 bnNpZ25lZCBsb25nIG9mZnNldCkKK2ZldGNoX2luZGlyZWN0X3N0cmluZyAo ZHcyX3ZtYV90IG9mZnNldCkKIHsKICAgc3RydWN0IGR3YXJmX3NlY3Rpb24g KnNlY3Rpb24gPSAmZGVidWdfZGlzcGxheXMgW3N0cl0uc2VjdGlvbjsKIApA QCAtMzAyLDcgKzMwMyw3IEBAIGZldGNoX2luZGlyZWN0X3N0cmluZyAodW5z aWduZWQgbG9uZyBvZmYKICAgb2Zmc2V0IC09IHNlY3Rpb24tPmFkZHJlc3M7 CiAgIGlmIChvZmZzZXQgPiBzZWN0aW9uLT5zaXplKQogICAgIHsKLSAgICAg IHdhcm4gKF8oIkRXX0ZPUk1fc3RycCBvZmZzZXQgdG9vIGJpZzogJWx4XG4i KSwgb2Zmc2V0KTsKKyAgICAgIHdhcm4gKF8oIkRXX0ZPUk1fc3RycCBvZmZz ZXQgdG9vIGJpZzogJWx4XG4iKSwgKGxvbmcpIG9mZnNldCk7CiAgICAgICBy ZXR1cm4gXygiPG9mZnNldCBpcyB0b28gYmlnPiIpOwogICAgIH0KIApAQCAt NjA1LDEzICs2MDYsMTMgQEAgZGVjb2RlX2xvY2F0aW9uX2V4cHJlc3Npb24g KHVuc2lnbmVkIGNoYQogCQkJICAgIHVuc2lnbmVkIGludCBwb2ludGVyX3Np emUsCiAJCQkgICAgdW5zaWduZWQgaW50IG9mZnNldF9zaXplLAogCQkJICAg IGludCBkd2FyZl92ZXJzaW9uLAotCQkJICAgIHVuc2lnbmVkIGxvbmcgbGVu Z3RoLAotCQkJICAgIHVuc2lnbmVkIGxvbmcgY3Vfb2Zmc2V0LAorCQkJICAg IGR3Ml92bWFfdCBsZW5ndGgsCisJCQkgICAgZHcyX3ZtYV90IGN1X29mZnNl dCwKIAkJCSAgICBzdHJ1Y3QgZHdhcmZfc2VjdGlvbiAqIHNlY3Rpb24pCiB7 CiAgIHVuc2lnbmVkIG9wOwogICB1bnNpZ25lZCBpbnQgYnl0ZXNfcmVhZDsK LSAgdW5zaWduZWQgbG9uZyB1dmFsdWU7CisgIGR3Ml92bWFfdCB1dmFsdWU7 CiAgIHVuc2lnbmVkIGNoYXIgKmVuZCA9IGRhdGEgKyBsZW5ndGg7CiAgIGlu dCBuZWVkX2ZyYW1lX2Jhc2UgPSAwOwogCkBAIC02NjIsMTEgKzY2MywxMyBA QCBkZWNvZGVfbG9jYXRpb25fZXhwcmVzc2lvbiAodW5zaWduZWQgY2hhCiAJ ICBkYXRhICs9IDg7CiAJICBicmVhazsKIAljYXNlIERXX09QX2NvbnN0dToK LQkgIHByaW50ZiAoIkRXX09QX2NvbnN0dTogJWx1IiwgcmVhZF9sZWIxMjgg KGRhdGEsICZieXRlc19yZWFkLCAwKSk7CisJICBwcmludGYgKCJEV19PUF9j b25zdHU6ICUiIERXMl9WTUFfRk1UICJ1IiwKKwkJICByZWFkX2xlYjEyOCAo ZGF0YSwgJmJ5dGVzX3JlYWQsIDApKTsKIAkgIGRhdGEgKz0gYnl0ZXNfcmVh ZDsKIAkgIGJyZWFrOwogCWNhc2UgRFdfT1BfY29uc3RzOgotCSAgcHJpbnRm ICgiRFdfT1BfY29uc3RzOiAlbGQiLCByZWFkX2xlYjEyOCAoZGF0YSwgJmJ5 dGVzX3JlYWQsIDEpKTsKKwkgIHByaW50ZiAoIkRXX09QX2NvbnN0czogJSIg RFcyX1ZNQV9GTVQgImQiLAorCQkgIHJlYWRfbGViMTI4IChkYXRhLCAmYnl0 ZXNfcmVhZCwgMSkpOwogCSAgZGF0YSArPSBieXRlc19yZWFkOwogCSAgYnJl YWs7CiAJY2FzZSBEV19PUF9kdXA6CkBAIC03MjEsNyArNzI0LDcgQEAgZGVj b2RlX2xvY2F0aW9uX2V4cHJlc3Npb24gKHVuc2lnbmVkIGNoYQogCSAgcHJp bnRmICgiRFdfT1BfcGx1cyIpOwogCSAgYnJlYWs7CiAJY2FzZSBEV19PUF9w bHVzX3Vjb25zdDoKLQkgIHByaW50ZiAoIkRXX09QX3BsdXNfdWNvbnN0OiAl bHUiLAorCSAgcHJpbnRmICgiRFdfT1BfcGx1c191Y29uc3Q6ICUiIERXMl9W TUFfRk1UICJ1IiwKIAkJICByZWFkX2xlYjEyOCAoZGF0YSwgJmJ5dGVzX3Jl YWQsIDApKTsKIAkgIGRhdGEgKz0gYnl0ZXNfcmVhZDsKIAkgIGJyZWFrOwpA QCAtODY3LDcgKzg3MCw4IEBAIGRlY29kZV9sb2NhdGlvbl9leHByZXNzaW9u ICh1bnNpZ25lZCBjaGEKIAljYXNlIERXX09QX2JyZWcyOToKIAljYXNlIERX X09QX2JyZWczMDoKIAljYXNlIERXX09QX2JyZWczMToKLQkgIHByaW50ZiAo IkRXX09QX2JyZWclZCAoJXMpOiAlbGQiLCBvcCAtIERXX09QX2JyZWcwLAor CSAgcHJpbnRmICgiRFdfT1BfYnJlZyVkICglcyk6ICUiIERXMl9WTUFfRk1U ICJkIiwKKwkJICBvcCAtIERXX09QX2JyZWcwLAogCQkgIHJlZ25hbWUgKG9w IC0gRFdfT1BfYnJlZzAsIDEpLAogCQkgIHJlYWRfbGViMTI4IChkYXRhLCAm Ynl0ZXNfcmVhZCwgMSkpOwogCSAgZGF0YSArPSBieXRlc19yZWFkOwpAQCAt ODc2LDIyICs4ODAsMjYgQEAgZGVjb2RlX2xvY2F0aW9uX2V4cHJlc3Npb24g KHVuc2lnbmVkIGNoYQogCWNhc2UgRFdfT1BfcmVneDoKIAkgIHV2YWx1ZSA9 IHJlYWRfbGViMTI4IChkYXRhLCAmYnl0ZXNfcmVhZCwgMCk7CiAJICBkYXRh ICs9IGJ5dGVzX3JlYWQ7Ci0JICBwcmludGYgKCJEV19PUF9yZWd4OiAlbHUg KCVzKSIsIHV2YWx1ZSwgcmVnbmFtZSAodXZhbHVlLCAxKSk7CisJICBwcmlu dGYgKCJEV19PUF9yZWd4OiAlIiBEVzJfVk1BX0ZNVCAidSAoJXMpIiwKKwkJ ICB1dmFsdWUsIHJlZ25hbWUgKHV2YWx1ZSwgMSkpOwogCSAgYnJlYWs7CiAJ Y2FzZSBEV19PUF9mYnJlZzoKIAkgIG5lZWRfZnJhbWVfYmFzZSA9IDE7Ci0J ICBwcmludGYgKCJEV19PUF9mYnJlZzogJWxkIiwgcmVhZF9sZWIxMjggKGRh dGEsICZieXRlc19yZWFkLCAxKSk7CisJICBwcmludGYgKCJEV19PUF9mYnJl ZzogJSIgRFcyX1ZNQV9GTVQgImQiLAorCQkgIHJlYWRfbGViMTI4IChkYXRh LCAmYnl0ZXNfcmVhZCwgMSkpOwogCSAgZGF0YSArPSBieXRlc19yZWFkOwog CSAgYnJlYWs7CiAJY2FzZSBEV19PUF9icmVneDoKIAkgIHV2YWx1ZSA9IHJl YWRfbGViMTI4IChkYXRhLCAmYnl0ZXNfcmVhZCwgMCk7CiAJICBkYXRhICs9 IGJ5dGVzX3JlYWQ7Ci0JICBwcmludGYgKCJEV19PUF9icmVneDogJWx1ICgl cykgJWxkIiwgdXZhbHVlLCByZWduYW1lICh1dmFsdWUsIDEpLAorCSAgcHJp bnRmICgiRFdfT1BfYnJlZ3g6ICUiIERXMl9WTUFfRk1UICJ1ICglcykgJSIg RFcyX1ZNQV9GTVQgImQiLAorCQkgIHV2YWx1ZSwgcmVnbmFtZSAodXZhbHVl LCAxKSwKIAkJICByZWFkX2xlYjEyOCAoZGF0YSwgJmJ5dGVzX3JlYWQsIDEp KTsKIAkgIGRhdGEgKz0gYnl0ZXNfcmVhZDsKIAkgIGJyZWFrOwogCWNhc2Ug RFdfT1BfcGllY2U6Ci0JICBwcmludGYgKCJEV19PUF9waWVjZTogJWx1Iiwg cmVhZF9sZWIxMjggKGRhdGEsICZieXRlc19yZWFkLCAwKSk7CisJICBwcmlu dGYgKCJEV19PUF9waWVjZTogJSIgRFcyX1ZNQV9GTVQgInUiLAorCQkgIHJl YWRfbGViMTI4IChkYXRhLCAmYnl0ZXNfcmVhZCwgMCkpOwogCSAgZGF0YSAr PSBieXRlc19yZWFkOwogCSAgYnJlYWs7CiAJY2FzZSBEV19PUF9kZXJlZl9z aXplOgpAQCAtOTExLDEzICs5MTksMTUgQEAgZGVjb2RlX2xvY2F0aW9uX2V4 cHJlc3Npb24gKHVuc2lnbmVkIGNoYQogCWNhc2UgRFdfT1BfY2FsbDI6CiAJ ICAvKiBYWFg6IFN0cmljdGx5IHNwZWFraW5nIGZvciA2NC1iaXQgRFdBUkYz IGZpbGVzCiAJICAgICB0aGlzIG91Z2h0IHRvIGJlIGFuIDgtYnl0ZSB3aWRl IGNvbXB1dGF0aW9uLiAgKi8KLQkgIHByaW50ZiAoIkRXX09QX2NhbGwyOiA8 MHglbHg+IiwgKGxvbmcpIGJ5dGVfZ2V0IChkYXRhLCAyKSArIGN1X29mZnNl dCk7CisJICBwcmludGYgKCJEV19PUF9jYWxsMjogPDB4JSIgRFcyX1ZNQV9G TVQgIng+IiwKKwkJICAoZHcyX3N2bWFfdCkgYnl0ZV9nZXQgKGRhdGEsIDIp ICsgY3Vfb2Zmc2V0KTsKIAkgIGRhdGEgKz0gMjsKIAkgIGJyZWFrOwogCWNh c2UgRFdfT1BfY2FsbDQ6CiAJICAvKiBYWFg6IFN0cmljdGx5IHNwZWFraW5n IGZvciA2NC1iaXQgRFdBUkYzIGZpbGVzCiAJICAgICB0aGlzIG91Z2h0IHRv IGJlIGFuIDgtYnl0ZSB3aWRlIGNvbXB1dGF0aW9uLiAgKi8KLQkgIHByaW50 ZiAoIkRXX09QX2NhbGw0OiA8MHglbHg+IiwgKGxvbmcpIGJ5dGVfZ2V0IChk YXRhLCA0KSArIGN1X29mZnNldCk7CisJICBwcmludGYgKCJEV19PUF9jYWxs NDogPDB4JSIgRFcyX1ZNQV9GTVQgIng+IiwKKwkJICAoZHcyX3N2bWFfdCkg Ynl0ZV9nZXQgKGRhdGEsIDQpICsgY3Vfb2Zmc2V0KTsKIAkgIGRhdGEgKz0g NDsKIAkgIGJyZWFrOwogCWNhc2UgRFdfT1BfY2FsbF9yZWY6CkBAIC05NTAs OSArOTYwLDExIEBAIGRlY29kZV9sb2NhdGlvbl9leHByZXNzaW9uICh1bnNp Z25lZCBjaGEKIAkgIGJyZWFrOwogCWNhc2UgRFdfT1BfYml0X3BpZWNlOgog CSAgcHJpbnRmICgiRFdfT1BfYml0X3BpZWNlOiAiKTsKLQkgIHByaW50ZiAo InNpemU6ICVsdSAiLCByZWFkX2xlYjEyOCAoZGF0YSwgJmJ5dGVzX3JlYWQs IDApKTsKKwkgIHByaW50ZiAoInNpemU6ICUiIERXMl9WTUFfRk1UICJ1ICIs CisJCSAgcmVhZF9sZWIxMjggKGRhdGEsICZieXRlc19yZWFkLCAwKSk7CiAJ ICBkYXRhICs9IGJ5dGVzX3JlYWQ7Ci0JICBwcmludGYgKCJvZmZzZXQ6ICVs dSAiLCByZWFkX2xlYjEyOCAoZGF0YSwgJmJ5dGVzX3JlYWQsIDApKTsKKwkg IHByaW50ZiAoIm9mZnNldDogJSIgRFcyX1ZNQV9GTVQgInUgIiwKKwkJICBy ZWFkX2xlYjEyOCAoZGF0YSwgJmJ5dGVzX3JlYWQsIDApKTsKIAkgIGRhdGEg Kz0gYnl0ZXNfcmVhZDsKIAkgIGJyZWFrOwogCkBAIC0xMDAxLDE2ICsxMDEz LDIwIEBAIGRlY29kZV9sb2NhdGlvbl9leHByZXNzaW9uICh1bnNpZ25lZCBj aGEKIAkgICAgfQogCSAgaWYgKGR3YXJmX3ZlcnNpb24gPT0gMikKIAkgICAg ewotCSAgICAgIHByaW50ZiAoIkRXX09QX0dOVV9pbXBsaWNpdF9wb2ludGVy OiA8MHglbHg+ICVsZCIsCi0JCSAgICAgIChsb25nKSBieXRlX2dldCAoZGF0 YSwgcG9pbnRlcl9zaXplKSwKLQkJICAgICAgcmVhZF9sZWIxMjggKGRhdGEg KyBwb2ludGVyX3NpemUsICZieXRlc19yZWFkLCAxKSk7CisJICAgICAgcHJp bnRmICgiRFdfT1BfR05VX2ltcGxpY2l0X3BvaW50ZXI6ICIKKwkJICAgICAg IjwweCUiIERXMl9WTUFfRk1UICJ4PiAlIiBEVzJfVk1BX0ZNVCAiZCIsCisJ CSAgICAgIChkdzJfdm1hX3QpIGJ5dGVfZ2V0IChkYXRhLCBwb2ludGVyX3Np emUpLAorCQkgICAgICAoZHcyX3N2bWFfdCkgcmVhZF9sZWIxMjggKGRhdGEg KyBwb2ludGVyX3NpemUsCisJCQkJCQkmYnl0ZXNfcmVhZCwgMSkpOwogCSAg ICAgIGRhdGEgKz0gcG9pbnRlcl9zaXplICsgYnl0ZXNfcmVhZDsKIAkgICAg fQogCSAgZWxzZQogCSAgICB7Ci0JICAgICAgcHJpbnRmICgiRFdfT1BfR05V X2ltcGxpY2l0X3BvaW50ZXI6IDwweCVseD4gJWxkIiwKLQkJICAgICAgKGxv bmcpIGJ5dGVfZ2V0IChkYXRhLCBvZmZzZXRfc2l6ZSksCi0JCSAgICAgIHJl YWRfbGViMTI4IChkYXRhICsgb2Zmc2V0X3NpemUsICZieXRlc19yZWFkLCAx KSk7CisJICAgICAgcHJpbnRmICgiRFdfT1BfR05VX2ltcGxpY2l0X3BvaW50 ZXI6ICIKKwkJICAgICAgIjwweCUiIERXMl9WTUFfRk1UICJ4PiAlIiBEVzJf Vk1BX0ZNVCAiZCIsCisJCSAgICAgIChkdzJfdm1hX3QpIGJ5dGVfZ2V0IChk YXRhLCBvZmZzZXRfc2l6ZSksCisJCSAgICAgIChkdzJfc3ZtYV90KSByZWFk X2xlYjEyOCAoZGF0YSArIG9mZnNldF9zaXplLAorCQkJCQkJJmJ5dGVzX3Jl YWQsIDEpKTsKIAkgICAgICBkYXRhICs9IG9mZnNldF9zaXplICsgYnl0ZXNf cmVhZDsKIAkgICAgfQogCSAgYnJlYWs7CkBAIC0xMDcyLDE1ICsxMDg4LDE1 IEBAIHN0YXRpYyB1bnNpZ25lZCBjaGFyICoKIHJlYWRfYW5kX2Rpc3BsYXlf YXR0cl92YWx1ZSAodW5zaWduZWQgbG9uZyBhdHRyaWJ1dGUsCiAJCQkgICAg IHVuc2lnbmVkIGxvbmcgZm9ybSwKIAkJCSAgICAgdW5zaWduZWQgY2hhciAq IGRhdGEsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgY3Vfb2Zmc2V0LAotCQkJ ICAgICB1bnNpZ25lZCBsb25nIHBvaW50ZXJfc2l6ZSwKLQkJCSAgICAgdW5z aWduZWQgbG9uZyBvZmZzZXRfc2l6ZSwKKwkJCSAgICAgZHcyX3ZtYV90IGN1 X29mZnNldCwKKwkJCSAgICAgZHcyX3ZtYV90IHBvaW50ZXJfc2l6ZSwKKwkJ CSAgICAgZHcyX3ZtYV90IG9mZnNldF9zaXplLAogCQkJICAgICBpbnQgZHdh cmZfdmVyc2lvbiwKIAkJCSAgICAgZGVidWdfaW5mbyAqIGRlYnVnX2luZm9f cCwKIAkJCSAgICAgaW50IGRvX2xvYywKIAkJCSAgICAgc3RydWN0IGR3YXJm X3NlY3Rpb24gKiBzZWN0aW9uKQogewotICB1bnNpZ25lZCBsb25nIHV2YWx1 ZSA9IDA7CisgIGR3Ml92bWFfdCB1dmFsdWUgPSAwOwogICB1bnNpZ25lZCBj aGFyICpibG9ja19zdGFydCA9IE5VTEw7CiAgIHVuc2lnbmVkIGNoYXIgKiBv cmlnX2RhdGEgPSBkYXRhOwogICB1bnNpZ25lZCBpbnQgYnl0ZXNfcmVhZDsK QEAgLTExNjcsNyArMTE4Myw3IEBAIHJlYWRfYW5kX2Rpc3BsYXlfYXR0cl92 YWx1ZSAodW5zaWduZWQgbG8KICAgICB7CiAgICAgY2FzZSBEV19GT1JNX3Jl Zl9hZGRyOgogICAgICAgaWYgKCFkb19sb2MpCi0JcHJpbnRmICgiIDwweCVs eD4iLCB1dmFsdWUpOworCXByaW50ZiAoIiA8MHglIiBEVzJfVk1BX0ZNVCAi eD4iLCB1dmFsdWUpOwogICAgICAgYnJlYWs7CiAKICAgICBjYXNlIERXX0ZP Uk1fcmVmMToKQEAgLTExNzUsMTQgKzExOTEsMTQgQEAgcmVhZF9hbmRfZGlz cGxheV9hdHRyX3ZhbHVlICh1bnNpZ25lZCBsbwogICAgIGNhc2UgRFdfRk9S TV9yZWY0OgogICAgIGNhc2UgRFdfRk9STV9yZWZfdWRhdGE6CiAgICAgICBp ZiAoIWRvX2xvYykKLQlwcmludGYgKCIgPDB4JWx4PiIsIHV2YWx1ZSArIGN1 X29mZnNldCk7CisJcHJpbnRmICgiIDwweCUiIERXMl9WTUFfRk1UICJ4PiIs IHV2YWx1ZSArIGN1X29mZnNldCk7CiAgICAgICBicmVhazsKIAogICAgIGNh c2UgRFdfRk9STV9kYXRhNDoKICAgICBjYXNlIERXX0ZPUk1fYWRkcjoKICAg ICBjYXNlIERXX0ZPUk1fc2VjX29mZnNldDoKICAgICAgIGlmICghZG9fbG9j KQotCXByaW50ZiAoIiAweCVseCIsIHV2YWx1ZSk7CisJcHJpbnRmICgiIDB4 JSIgRFcyX1ZNQV9GTVQgIngiLCB1dmFsdWUpOwogICAgICAgYnJlYWs7CiAK ICAgICBjYXNlIERXX0ZPUk1fZmxhZ19wcmVzZW50OgpAQCAtMTE5Miw3ICsx MjA4LDcgQEAgcmVhZF9hbmRfZGlzcGxheV9hdHRyX3ZhbHVlICh1bnNpZ25l ZCBsbwogICAgIGNhc2UgRFdfRk9STV9zZGF0YToKICAgICBjYXNlIERXX0ZP Uk1fdWRhdGE6CiAgICAgICBpZiAoIWRvX2xvYykKLQlwcmludGYgKCIgJWxk IiwgdXZhbHVlKTsKKwlwcmludGYgKCIgJSIgRFcyX1ZNQV9GTVQgImQiLCB1 dmFsdWUpOwogICAgICAgYnJlYWs7CiAKICAgICBjYXNlIERXX0ZPUk1fcmVm ODoKQEAgLTEyMDAsNyArMTIxNiw3IEBAIHJlYWRfYW5kX2Rpc3BsYXlfYXR0 cl92YWx1ZSAodW5zaWduZWQgbG8KICAgICAgIGlmICghZG9fbG9jKQogCXsK IAkgIHV2YWx1ZSA9IGJ5dGVfZ2V0IChkYXRhLCA0KTsKLQkgIHByaW50ZiAo IiAweCVseCIsIHV2YWx1ZSk7CisJICBwcmludGYgKCIgMHglIiBEVzJfVk1B X0ZNVCAieCIsIHV2YWx1ZSk7CiAJICBwcmludGYgKCIgMHglbHgiLCAodW5z aWduZWQgbG9uZykgYnl0ZV9nZXQgKGRhdGEgKyA0LCA0KSk7CiAJfQogICAg ICAgaWYgKChkb19sb2MgfHwgZG9fZGVidWdfbG9jIHx8IGRvX2RlYnVnX3Jh bmdlcykKQEAgLTEyMDksNyArMTIyNSw3IEBAIHJlYWRfYW5kX2Rpc3BsYXlf YXR0cl92YWx1ZSAodW5zaWduZWQgbG8KIAkgIGlmIChzaXplb2YgKHV2YWx1 ZSkgPT0gOCkKIAkgICAgdXZhbHVlID0gYnl0ZV9nZXQgKGRhdGEsIDgpOwog CSAgZWxzZQotCSAgICBlcnJvciAoXygiRFdfRk9STV9kYXRhOCBpcyB1bnN1 cHBvcnRlZCB3aGVuIHNpemVvZiAodW5zaWduZWQgbG9uZykgIT0gOFxuIikp OworCSAgICBlcnJvciAoXygiRFdfRk9STV9kYXRhOCBpcyB1bnN1cHBvcnRl ZCB3aGVuIHNpemVvZiAoZHcyX3ZtYV90KSAhPSA4XG4iKSk7CiAJfQogICAg ICAgZGF0YSArPSA4OwogICAgICAgYnJlYWs7CkBAIC0xMjU5LDcgKzEyNzUs NyBAQCByZWFkX2FuZF9kaXNwbGF5X2F0dHJfdmFsdWUgKHVuc2lnbmVkIGxv CiAKICAgICBjYXNlIERXX0ZPUk1fc3RycDoKICAgICAgIGlmICghZG9fbG9j KQotCXByaW50ZiAoXygiIChpbmRpcmVjdCBzdHJpbmcsIG9mZnNldDogMHgl bHgpOiAlcyIpLAorCXByaW50ZiAoXygiIChpbmRpcmVjdCBzdHJpbmcsIG9m ZnNldDogMHglIiBEVzJfVk1BX0ZNVCAieCk6ICVzIiksCiAJCXV2YWx1ZSwg ZmV0Y2hfaW5kaXJlY3Rfc3RyaW5nICh1dmFsdWUpKTsKICAgICAgIGJyZWFr OwogCkBAIC0xMzEzLDcgKzEzMjksNyBAQCByZWFkX2FuZF9kaXNwbGF5X2F0 dHJfdmFsdWUgKHVuc2lnbmVkIGxvCiAJICAgICAgaWYgKGxtYXggPT0gMCB8 fCBudW0gPj0gbG1heCkKIAkJewogCQkgIGxtYXggKz0gMTAyNDsKLQkJICBk ZWJ1Z19pbmZvX3AtPmxvY19vZmZzZXRzID0gKGxvbmcgdW5zaWduZWQgaW50 ICopCisJCSAgZGVidWdfaW5mb19wLT5sb2Nfb2Zmc2V0cyA9IChkdzJfdm1h X3QgKikKICAgICAgICAgICAgICAgICAgICAgICB4Y3JlYWxsb2MgKGRlYnVn X2luZm9fcC0+bG9jX29mZnNldHMsCiAJCQkJIGxtYXgsIHNpemVvZiAoKmRl YnVnX2luZm9fcC0+bG9jX29mZnNldHMpKTsKIAkJICBkZWJ1Z19pbmZvX3At PmhhdmVfZnJhbWVfYmFzZSA9IChpbnQgKikKQEAgLTEzNDQsNyArMTM2MCw3 IEBAIHJlYWRfYW5kX2Rpc3BsYXlfYXR0cl92YWx1ZSAodW5zaWduZWQgbG8K IAkgICAgICBpZiAobG1heCA9PSAwIHx8IG51bSA+PSBsbWF4KQogCQl7CiAJ CSAgbG1heCArPSAxMDI0OwotCQkgIGRlYnVnX2luZm9fcC0+cmFuZ2VfbGlz dHMgPSAobG9uZyB1bnNpZ25lZCBpbnQgKikKKwkJICBkZWJ1Z19pbmZvX3At PnJhbmdlX2xpc3RzID0gKGR3Ml92bWFfdCAqKQogICAgICAgICAgICAgICAg ICAgICAgIHhjcmVhbGxvYyAoZGVidWdfaW5mb19wLT5yYW5nZV9saXN0cywK IAkJCQkgbG1heCwgc2l6ZW9mICgqZGVidWdfaW5mb19wLT5yYW5nZV9saXN0 cykpOwogCQkgIGRlYnVnX2luZm9fcC0+bWF4X3JhbmdlX2xpc3RzID0gbG1h eDsKQEAgLTEzODMsNyArMTM5OSw4IEBAIHJlYWRfYW5kX2Rpc3BsYXlfYXR0 cl92YWx1ZSAodW5zaWduZWQgbG8KIAkgIHByaW50ZiAoXygiKGRlY2xhcmVk IGFzIGlubGluZSBhbmQgaW5saW5lZCkiKSk7CiAJICBicmVhazsKIAlkZWZh dWx0OgotCSAgcHJpbnRmIChfKCIgIChVbmtub3duIGlubGluZSBhdHRyaWJ1 dGUgdmFsdWU6ICVseCkiKSwgdXZhbHVlKTsKKwkgIHByaW50ZiAoXygiICAo VW5rbm93biBpbmxpbmUgYXR0cmlidXRlIHZhbHVlOiAlIiBEVzJfVk1BX0ZN VCAieCkiKSwKKwkgIAkgIHV2YWx1ZSk7CiAJICBicmVhazsKIAl9CiAgICAg ICBicmVhazsKQEAgLTE0MjEsOSArMTQzOCw5IEBAIHJlYWRfYW5kX2Rpc3Bs YXlfYXR0cl92YWx1ZSAodW5zaWduZWQgbG8KIAljYXNlIERXX0xBTkdfVXBj OgkJcHJpbnRmICgiKFVuaWZpZWQgUGFyYWxsZWwgQykiKTsgYnJlYWs7CiAJ ZGVmYXVsdDoKIAkgIGlmICh1dmFsdWUgPj0gRFdfTEFOR19sb191c2VyICYm IHV2YWx1ZSA8PSBEV19MQU5HX2hpX3VzZXIpCi0JICAgIHByaW50ZiAoIihp bXBsZW1lbnRhdGlvbiBkZWZpbmVkOiAlbHgpIiwgdXZhbHVlKTsKKwkgICAg cHJpbnRmICgiKGltcGxlbWVudGF0aW9uIGRlZmluZWQ6ICUiIERXMl9WTUFf Rk1UICJ4KSIsIHV2YWx1ZSk7CiAJICBlbHNlCi0JICAgIHByaW50ZiAoIihV bmtub3duOiAlbHgpIiwgdXZhbHVlKTsKKwkgICAgcHJpbnRmICgiKFVua25v d246ICUiIERXMl9WTUFfRk1UICJ4KSIsIHV2YWx1ZSk7CiAJICBicmVhazsK IAl9CiAgICAgICBicmVhazsKQEAgLTE1ODQsNyArMTYwMSw3IEBAIHJlYWRf YW5kX2Rpc3BsYXlfYXR0cl92YWx1ZSAodW5zaWduZWQgbG8KIAkgIHV2YWx1 ZSArPSBjdV9vZmZzZXQ7CiAKIAlpZiAodXZhbHVlID49IHNlY3Rpb24tPnNp emUpCi0JICB3YXJuIChfKCJPZmZzZXQgJWx4IHVzZWQgYXMgdmFsdWUgZm9y IERXX0FUX2ltcG9ydCBhdHRyaWJ1dGUgb2YgRElFIGF0IG9mZnNldCAlbHgg aXMgdG9vIGJpZy5cbiIpLAorCSAgd2FybiAoXygiT2Zmc2V0ICUiIERXMl9W TUFfRk1UICJ4IHVzZWQgYXMgdmFsdWUgZm9yIERXX0FUX2ltcG9ydCBhdHRy aWJ1dGUgb2YgRElFIGF0IG9mZnNldCAlbHggaXMgdG9vIGJpZy5cbiIpLAog CQl1dmFsdWUsICh1bnNpZ25lZCBsb25nKSAob3JpZ19kYXRhIC0gc2VjdGlv bi0+c3RhcnQpKTsKIAllbHNlCiAJICB7CkBAIC0xNzg2LDkgKzE4MDMsOSBA QCBzdGF0aWMgdW5zaWduZWQgY2hhciAqCiByZWFkX2FuZF9kaXNwbGF5X2F0 dHIgKHVuc2lnbmVkIGxvbmcgYXR0cmlidXRlLAogCQkgICAgICAgdW5zaWdu ZWQgbG9uZyBmb3JtLAogCQkgICAgICAgdW5zaWduZWQgY2hhciAqIGRhdGEs Ci0JCSAgICAgICB1bnNpZ25lZCBsb25nIGN1X29mZnNldCwKLQkJICAgICAg IHVuc2lnbmVkIGxvbmcgcG9pbnRlcl9zaXplLAotCQkgICAgICAgdW5zaWdu ZWQgbG9uZyBvZmZzZXRfc2l6ZSwKKwkJICAgICAgIGR3Ml92bWFfdCBjdV9v ZmZzZXQsCisJCSAgICAgICBkdzJfdm1hX3QgcG9pbnRlcl9zaXplLAorCQkg ICAgICAgZHcyX3ZtYV90IG9mZnNldF9zaXplLAogCQkgICAgICAgaW50IGR3 YXJmX3ZlcnNpb24sCiAJCSAgICAgICBkZWJ1Z19pbmZvICogZGVidWdfaW5m b19wLAogCQkgICAgICAgaW50IGRvX2xvYywKQEAgLTE5MDAsNyArMTkxNyw3 IEBAIHByb2Nlc3NfZGVidWdfaW5mbyAoc3RydWN0IGR3YXJmX3NlY3Rpb24K ICAgICAgIHVuc2lnbmVkIGNoYXIgKmhkcnB0cjsKICAgICAgIHVuc2lnbmVk IGNoYXIgKnRhZ3M7CiAgICAgICBpbnQgbGV2ZWw7Ci0gICAgICB1bnNpZ25l ZCBsb25nIGN1X29mZnNldDsKKyAgICAgIGR3Ml92bWFfdCBjdV9vZmZzZXQ7 CiAgICAgICBpbnQgb2Zmc2V0X3NpemU7CiAgICAgICBpbnQgaW5pdGlhbF9s ZW5ndGhfc2l6ZTsKICAgICAgIHVuc2lnbmVkIGNoYXIgc2lnbmF0dXJlWzhd ID0geyAwIH07CkBAIC0xOTcwLDExICsxOTg3LDEzIEBAIHByb2Nlc3NfZGVi dWdfaW5mbyAoc3RydWN0IGR3YXJmX3NlY3Rpb24KIAogICAgICAgaWYgKCFk b19sb2MpCiAJewotCSAgcHJpbnRmIChfKCIgIENvbXBpbGF0aW9uIFVuaXQg QCBvZmZzZXQgMHglbHg6XG4iKSwgY3Vfb2Zmc2V0KTsKLQkgIHByaW50ZiAo XygiICAgTGVuZ3RoOiAgICAgICAgMHglbHggKCVzKVxuIiksIGNvbXB1bml0 LmN1X2xlbmd0aCwKKwkgIHByaW50ZiAoXygiICBDb21waWxhdGlvbiBVbml0 IEAgb2Zmc2V0IDB4JSIgRFcyX1ZNQV9GTVQgIng6XG4iKSwgY3Vfb2Zmc2V0 KTsKKwkgIHByaW50ZiAoXygiICAgTGVuZ3RoOiAgICAgICAgMHglIiBEVzJf Vk1BX0ZNVCAieCAoJXMpXG4iKSwKKwkJICBjb21wdW5pdC5jdV9sZW5ndGgs CiAJCSAgaW5pdGlhbF9sZW5ndGhfc2l6ZSA9PSA4ID8gIjY0LWJpdCIgOiAi MzItYml0Iik7CiAJICBwcmludGYgKF8oIiAgIFZlcnNpb246ICAgICAgICVk XG4iKSwgY29tcHVuaXQuY3VfdmVyc2lvbik7Ci0JICBwcmludGYgKF8oIiAg IEFiYnJldiBPZmZzZXQ6ICVsZFxuIiksIGNvbXB1bml0LmN1X2FiYnJldl9v ZmZzZXQpOworCSAgcHJpbnRmIChfKCIgICBBYmJyZXYgT2Zmc2V0OiAlIiBE VzJfVk1BX0ZNVCAiZFxuIiksCisJCSAgY29tcHVuaXQuY3VfYWJicmV2X29m ZnNldCk7CiAJICBwcmludGYgKF8oIiAgIFBvaW50ZXIgU2l6ZTogICVkXG4i KSwgY29tcHVuaXQuY3VfcG9pbnRlcl9zaXplKTsKIAkgIGlmIChkb190eXBl cykKIAkgICAgewpAQCAtMTk5MCw3ICsyMDA5LDkgQEAgcHJvY2Vzc19kZWJ1 Z19pbmZvIChzdHJ1Y3QgZHdhcmZfc2VjdGlvbgogICAgICAgaWYgKGN1X29m ZnNldCArIGNvbXB1bml0LmN1X2xlbmd0aCArIGluaXRpYWxfbGVuZ3RoX3Np emUKIAkgID4gc2VjdGlvbi0+c2l6ZSkKIAl7Ci0JICB3YXJuIChfKCJEZWJ1 ZyBpbmZvIGlzIGNvcnJ1cHRlZCwgbGVuZ3RoIG9mIENVIGF0ICVseCBleHRl bmRzIGJleW9uZCBlbmQgb2Ygc2VjdGlvbiAobGVuZ3RoID0gJWx4KVxuIiks CisJICB3YXJuIChfKCJEZWJ1ZyBpbmZvIGlzIGNvcnJ1cHRlZCwgbGVuZ3Ro IG9mIENVIGF0ICUiCisJICAJICBEVzJfVk1BX0ZNVCAieCBleHRlbmRzIGJl eW9uZCBlbmQgb2Ygc2VjdGlvbiAobGVuZ3RoID0gJSIKKwkgIAkgIERXMl9W TUFfRk1UICJ4KVxuIiksCiAJCWN1X29mZnNldCwgY29tcHVuaXQuY3VfbGVu Z3RoKTsKIAkgIGJyZWFrOwogCX0KQEAgLTIwMDEsNyArMjAyMiw4IEBAIHBy b2Nlc3NfZGVidWdfaW5mbyAoc3RydWN0IGR3YXJmX3NlY3Rpb24KIAkgICYm IGNvbXB1bml0LmN1X3ZlcnNpb24gIT0gMwogCSAgJiYgY29tcHVuaXQuY3Vf dmVyc2lvbiAhPSA0KQogCXsKLQkgIHdhcm4gKF8oIkNVIGF0IG9mZnNldCAl bHggY29udGFpbnMgY29ycnVwdCBvciB1bnN1cHBvcnRlZCB2ZXJzaW9uIG51 bWJlcjogJWQuXG4iKSwKKwkgIHdhcm4gKF8oIkNVIGF0IG9mZnNldCAlIiBE VzJfVk1BX0ZNVCAieCBjb250YWlucyBjb3JydXB0IG9yICIKKwkJICAidW5z dXBwb3J0ZWQgdmVyc2lvbiBudW1iZXI6ICVkLlxuIiksCiAJCWN1X29mZnNl dCwgY29tcHVuaXQuY3VfdmVyc2lvbik7CiAJICBjb250aW51ZTsKIAl9CkBA IC0yMjY4LDcgKzIyOTAsNyBAQCBkaXNwbGF5X2RlYnVnX2xpbmVzX3JhdyAo c3RydWN0IGR3YXJmX3NlCiAgICAgICBsaW5mby5saV9saW5lX2Jhc2UgPj49 IDI0OwogCiAgICAgICBwcmludGYgKF8oIiAgT2Zmc2V0OiAgICAgICAgICAg ICAgICAgICAgICAweCVseFxuIiksIGhkcm9mZik7Ci0gICAgICBwcmludGYg KF8oIiAgTGVuZ3RoOiAgICAgICAgICAgICAgICAgICAgICAlbGRcbiIpLCBs aW5mby5saV9sZW5ndGgpOworICAgICAgcHJpbnRmIChfKCIgIExlbmd0aDog ICAgICAgICAgICAgICAgICAgICAgJWxkXG4iKSwgKGxvbmcpIGxpbmZvLmxp X2xlbmd0aCk7CiAgICAgICBwcmludGYgKF8oIiAgRFdBUkYgVmVyc2lvbjog ICAgICAgICAgICAgICAlZFxuIiksIGxpbmZvLmxpX3ZlcnNpb24pOwogICAg ICAgcHJpbnRmIChfKCIgIFByb2xvZ3VlIExlbmd0aDogICAgICAgICAgICAg JWRcbiIpLCBsaW5mby5saV9wcm9sb2d1ZV9sZW5ndGgpOwogICAgICAgcHJp bnRmIChfKCIgIE1pbmltdW0gSW5zdHJ1Y3Rpb24gTGVuZ3RoOiAgJWRcbiIp LCBsaW5mby5saV9taW5faW5zbl9sZW5ndGgpOwpAQCAtMjMyOSwxMSArMjM1 MSwxNCBAQCBkaXNwbGF5X2RlYnVnX2xpbmVzX3JhdyAoc3RydWN0IGR3YXJm X3NlCiAKIAkgICAgICBkYXRhICs9IHN0cmxlbiAoKGNoYXIgKikgZGF0YSkg KyAxOwogCi0JICAgICAgcHJpbnRmICgiJWx1XHQiLCByZWFkX2xlYjEyOCAo ZGF0YSwgJiBieXRlc19yZWFkLCAwKSk7CisJICAgICAgcHJpbnRmICgiJSIg RFcyX1ZNQV9GTVQgInVcdCIsCisJCSAgICAgIHJlYWRfbGViMTI4IChkYXRh LCAmIGJ5dGVzX3JlYWQsIDApKTsKIAkgICAgICBkYXRhICs9IGJ5dGVzX3Jl YWQ7Ci0JICAgICAgcHJpbnRmICgiJWx1XHQiLCByZWFkX2xlYjEyOCAoZGF0 YSwgJiBieXRlc19yZWFkLCAwKSk7CisJICAgICAgcHJpbnRmICgiJSIgRFcy X1ZNQV9GTVQgInVcdCIsCisJCSAgICAgIHJlYWRfbGViMTI4IChkYXRhLCAm IGJ5dGVzX3JlYWQsIDApKTsKIAkgICAgICBkYXRhICs9IGJ5dGVzX3JlYWQ7 Ci0JICAgICAgcHJpbnRmICgiJWx1XHQiLCByZWFkX2xlYjEyOCAoZGF0YSwg JiBieXRlc19yZWFkLCAwKSk7CisJICAgICAgcHJpbnRmICgiJSIgRFcyX1ZN QV9GTVQgInVcdCIsCisJCSAgICAgIHJlYWRfbGViMTI4IChkYXRhLCAmIGJ5 dGVzX3JlYWQsIDApKTsKIAkgICAgICBkYXRhICs9IGJ5dGVzX3JlYWQ7CiAJ ICAgICAgcHJpbnRmICgiJXNcbiIsIG5hbWUpOwogCSAgICB9CkBAIC0yNTA1 LDcgKzI1MzAsOCBAQCBkaXNwbGF5X2RlYnVnX2xpbmVzX3JhdyAoc3RydWN0 IGR3YXJmX3NlCiAKIAkgICAgICBmb3IgKGkgPSBzdGFuZGFyZF9vcGNvZGVz W29wX2NvZGUgLSAxXTsgaSA+IDAgOyAtLWkpCiAJCXsKLQkJICBwcmludGYg KCIweCVseCVzIiwgcmVhZF9sZWIxMjggKGRhdGEsICZieXRlc19yZWFkLCAw KSwKKwkJICBwcmludGYgKCIweCUiIERXMl9WTUFfRk1UICJ4JXMiLAorCQkJ ICByZWFkX2xlYjEyOCAoZGF0YSwgJmJ5dGVzX3JlYWQsIDApLAogCQkJICBp ID09IDEgPyAiIiA6ICIsICIpOwogCQkgIGRhdGEgKz0gYnl0ZXNfcmVhZDsK IAkJfQpAQCAtMjkxOCw3ICsyOTQ0LDggQEAgZGlzcGxheV9kZWJ1Z19saW5l c19kZWNvZGVkIChzdHJ1Y3QgZHdhcgogCiAgICAgICAgICAgICAgIGZvciAo aSA9IHN0YW5kYXJkX29wY29kZXNbb3BfY29kZSAtIDFdOyBpID4gMCA7IC0t aSkKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICBwcmlu dGYgKCIweCVseCVzIiwgcmVhZF9sZWIxMjggKGRhdGEsICZieXRlc19yZWFk LCAwKSwKKyAgICAgICAgICAgICAgICAgIHByaW50ZiAoIjB4JSIgRFcyX1ZN QV9GTVQgInglcyIsCisJCQkgIHJlYWRfbGViMTI4IChkYXRhLCAmYnl0ZXNf cmVhZCwgMCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPT0gMSA/ ICIiIDogIiwgIik7CiAgICAgICAgICAgICAgICAgICBkYXRhICs9IGJ5dGVz X3JlYWQ7CiAgICAgICAgICAgICAgICAgfQpAQCAtMzA3Niw3ICszMTAzLDcg QEAgZGlzcGxheV9kZWJ1Z19wdWJuYW1lcyAoc3RydWN0IGR3YXJmX3NlYwog CSAgJiYgbnVtX2RlYnVnX2luZm9fZW50cmllcyA+IDAKIAkgICYmIGZpbmRf ZGVidWdfaW5mb19mb3Jfb2Zmc2V0IChuYW1lcy5wbl9vZmZzZXQpID09IE5V TEwpCiAJd2FybiAoXygiLmRlYnVnX2luZm8gb2Zmc2V0IG9mIDB4JWx4IGlu ICVzIHNlY3Rpb24gZG9lcyBub3QgcG9pbnQgdG8gYSBDVSBoZWFkZXIuXG4i KSwKLQkgICAgICBuYW1lcy5wbl9vZmZzZXQsIHNlY3Rpb24tPm5hbWUpOwor CSAgICAgICh1bnNpZ25lZCBsb25nKSBuYW1lcy5wbl9vZmZzZXQsIHNlY3Rp b24tPm5hbWUpOwogCiAgICAgICBuYW1lcy5wbl9zaXplID0gYnl0ZV9nZXQg KGRhdGEsIG9mZnNldF9zaXplKTsKICAgICAgIGRhdGEgKz0gb2Zmc2V0X3Np emU7CkBAIC0zMDk3LDEzICszMTI0LDEzIEBAIGRpc3BsYXlfZGVidWdfcHVi bmFtZXMgKHN0cnVjdCBkd2FyZl9zZWMKIAl9CiAKICAgICAgIHByaW50ZiAo XygiICBMZW5ndGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxk XG4iKSwKLQkgICAgICBuYW1lcy5wbl9sZW5ndGgpOworCSAgICAgIChsb25n KSBuYW1lcy5wbl9sZW5ndGgpOwogICAgICAgcHJpbnRmIChfKCIgIFZlcnNp b246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlZFxuIiksCiAJICAg ICAgbmFtZXMucG5fdmVyc2lvbik7CiAgICAgICBwcmludGYgKF8oIiAgT2Zm c2V0IGludG8gLmRlYnVnX2luZm8gc2VjdGlvbjogICAgIDB4JWx4XG4iKSwK LQkgICAgICBuYW1lcy5wbl9vZmZzZXQpOworCSAgICAgICh1bnNpZ25lZCBs b25nKSBuYW1lcy5wbl9vZmZzZXQpOwogICAgICAgcHJpbnRmIChfKCIgIFNp emUgb2YgYXJlYSBpbiAuZGVidWdfaW5mbyBzZWN0aW9uOiAlbGRcbiIpLAot CSAgICAgIG5hbWVzLnBuX3NpemUpOworCSAgICAgIChsb25nKSBuYW1lcy5w bl9zaXplKTsKIAogICAgICAgcHJpbnRmIChfKCJcbiAgICBPZmZzZXRcdE5h bWVcbiIpKTsKIApAQCAtMzMyMyw3ICszMzUwLDcgQEAgZGlzcGxheV9kZWJ1 Z19sb2MgKHN0cnVjdCBkd2FyZl9zZWN0aW9uIAogICAvKiBEV0FSRiBzZWN0 aW9ucyB1bmRlciBNYWNoLU8gaGF2ZSBub24temVybyBhZGRyZXNzZXMuICAq LwogICBpZiAoZGVidWdfaW5mb3JtYXRpb24gW2ZpcnN0XS5udW1fbG9jX29m ZnNldHMgPiAwCiAgICAgICAmJiBkZWJ1Z19pbmZvcm1hdGlvbiBbZmlyc3Rd LmxvY19vZmZzZXRzIFswXSAhPSBzZWN0aW9uLT5hZGRyZXNzKQotICAgIHdh cm4gKF8oIkxvY2F0aW9uIGxpc3RzIGluICVzIHNlY3Rpb24gc3RhcnQgYXQg MHglbHhcbiIpLAorICAgIHdhcm4gKF8oIkxvY2F0aW9uIGxpc3RzIGluICVz IHNlY3Rpb24gc3RhcnQgYXQgMHglIiBEVzJfVk1BX0ZNVCAieFxuIiksCiAJ ICBzZWN0aW9uLT5uYW1lLCBkZWJ1Z19pbmZvcm1hdGlvbiBbZmlyc3RdLmxv Y19vZmZzZXRzIFswXSk7CiAKICAgcHJpbnRmIChfKCJDb250ZW50cyBvZiB0 aGUgJXMgc2VjdGlvbjpcblxuIiksIHNlY3Rpb24tPm5hbWUpOwpAQCAtMzU5 Niw3ICszNjIzLDcgQEAgZGlzcGxheV9kZWJ1Z19hcmFuZ2VzIChzdHJ1Y3Qg ZHdhcmZfc2VjdAogCSAgJiYgbnVtX2RlYnVnX2luZm9fZW50cmllcyA+IDAK IAkgICYmIGZpbmRfZGVidWdfaW5mb19mb3Jfb2Zmc2V0IChhcmFuZ2UuYXJf aW5mb19vZmZzZXQpID09IE5VTEwpCiAJd2FybiAoXygiLmRlYnVnX2luZm8g b2Zmc2V0IG9mIDB4JWx4IGluICVzIHNlY3Rpb24gZG9lcyBub3QgcG9pbnQg dG8gYSBDVSBoZWFkZXIuXG4iKSwKLQkgICAgICBhcmFuZ2UuYXJfaW5mb19v ZmZzZXQsIHNlY3Rpb24tPm5hbWUpOworCSAgICAgICh1bnNpZ25lZCBsb25n KSBhcmFuZ2UuYXJfaW5mb19vZmZzZXQsIHNlY3Rpb24tPm5hbWUpOwogCiAg ICAgICBhcmFuZ2UuYXJfcG9pbnRlcl9zaXplID0gYnl0ZV9nZXQgKGhkcnB0 ciwgMSk7CiAgICAgICBoZHJwdHIgKz0gMTsKQEAgLTM2MTAsOSArMzYzNywx MSBAQCBkaXNwbGF5X2RlYnVnX2FyYW5nZXMgKHN0cnVjdCBkd2FyZl9zZWN0 CiAJICBicmVhazsKIAl9CiAKLSAgICAgIHByaW50ZiAoXygiICBMZW5ndGg6 ICAgICAgICAgICAgICAgICAgICVsZFxuIiksIGFyYW5nZS5hcl9sZW5ndGgp OworICAgICAgcHJpbnRmIChfKCIgIExlbmd0aDogICAgICAgICAgICAgICAg ICAgJWxkXG4iKSwKKwkgICAgICAobG9uZykgYXJhbmdlLmFyX2xlbmd0aCk7 CiAgICAgICBwcmludGYgKF8oIiAgVmVyc2lvbjogICAgICAgICAgICAgICAg ICAlZFxuIiksIGFyYW5nZS5hcl92ZXJzaW9uKTsKLSAgICAgIHByaW50ZiAo XygiICBPZmZzZXQgaW50byAuZGVidWdfaW5mbzogIDB4JWx4XG4iKSwgYXJh bmdlLmFyX2luZm9fb2Zmc2V0KTsKKyAgICAgIHByaW50ZiAoXygiICBPZmZz ZXQgaW50byAuZGVidWdfaW5mbzogIDB4JWx4XG4iKSwKKwkgICAgICAodW5z aWduZWQgbG9uZykgYXJhbmdlLmFyX2luZm9fb2Zmc2V0KTsKICAgICAgIHBy aW50ZiAoXygiICBQb2ludGVyIFNpemU6ICAgICAgICAgICAgICVkXG4iKSwg YXJhbmdlLmFyX3BvaW50ZXJfc2l6ZSk7CiAgICAgICBwcmludGYgKF8oIiAg U2VnbWVudCBTaXplOiAgICAgICAgICAgICAlZFxuIiksIGFyYW5nZS5hcl9z ZWdtZW50X3NpemUpOwogCkluZGV4OiBzcmMvYmludXRpbHMvZHdhcmYuaAo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzcmMub3JpZy9iaW51dGlscy9k d2FyZi5oCTIwMTEtMDItMTcgMTE6MDA6MzQuMDAwMDAwMDAwICswMTAwCisr KyBzcmMvYmludXRpbHMvZHdhcmYuaAkyMDExLTAyLTE3IDExOjE4OjM3Ljk3 MjAzNDQwMCArMDEwMApAQCAtMTksNiArMTksOCBAQAogICAgRm91bmRhdGlv biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJv c3RvbiwKICAgIE1BIDAyMTEwLTEzMDEsIFVTQS4gICovCiAKKyNpbmNsdWRl ICJkd2FyZjIuaCIKKwogdHlwZWRlZiB1bnNpZ25lZCBIT1NUX1dJREVTVF9J TlQgZHdhcmZfdm1hOwogdHlwZWRlZiB1bnNpZ25lZCBIT1NUX1dJREVTVF9J TlQgZHdhcmZfc2l6ZV90eXBlOwogCkBAIC03OSwxNSArODEsMTUgQEAgdHlw ZWRlZiBzdHJ1Y3QKICAgdW5zaWduZWQgaW50ICAgcG9pbnRlcl9zaXplOwog ICB1bnNpZ25lZCBpbnQgICBvZmZzZXRfc2l6ZTsKICAgaW50ICAgICAgICAg ICAgZHdhcmZfdmVyc2lvbjsKLSAgdW5zaWduZWQgbG9uZyAgY3Vfb2Zmc2V0 OwotICB1bnNpZ25lZCBsb25nCSBiYXNlX2FkZHJlc3M7CisgIGR3Ml92bWFf dAkgY3Vfb2Zmc2V0OworICBkdzJfdm1hX3QJIGJhc2VfYWRkcmVzczsKICAg LyogVGhpcyBpcyBhbiBhcnJheSBvZiBvZmZzZXRzIHRvIHRoZSBsb2NhdGlv biBsaXN0IHRhYmxlLiAgKi8KLSAgdW5zaWduZWQgbG9uZyAqbG9jX29mZnNl dHM7CisgIGR3Ml92bWFfdAkqbG9jX29mZnNldHM7CiAgIGludAkJKmhhdmVf ZnJhbWVfYmFzZTsKICAgdW5zaWduZWQgaW50ICAgbnVtX2xvY19vZmZzZXRz OwogICB1bnNpZ25lZCBpbnQgICBtYXhfbG9jX29mZnNldHM7CiAgIC8qIExp c3Qgb2YgLmRlYnVnX3JhbmdlcyBvZmZzZXRzIHNlZW4gaW4gdGhpcyAuZGVi dWdfaW5mby4gICovCi0gIHVuc2lnbmVkIGxvbmcgKnJhbmdlX2xpc3RzOwor ICBkdzJfdm1hX3QJKnJhbmdlX2xpc3RzOwogICB1bnNpZ25lZCBpbnQgICBu dW1fcmFuZ2VfbGlzdHM7CiAgIHVuc2lnbmVkIGludCAgIG1heF9yYW5nZV9s aXN0czsKIH0KQEAgLTEzMSw1ICsxMzMsNSBAQCB2b2lkICpjbWFsbG9jIChz aXplX3QsIHNpemVfdCk7CiB2b2lkICp4Y21hbGxvYyAoc2l6ZV90LCBzaXpl X3QpOwogdm9pZCAqeGNyZWFsbG9jICh2b2lkICosIHNpemVfdCwgc2l6ZV90 KTsKIAotdW5zaWduZWQgbG9uZyBpbnQgcmVhZF9sZWIxMjggKHVuc2lnbmVk IGNoYXIgKmRhdGEsCi0JCQkgICAgICAgdW5zaWduZWQgaW50ICpsZW5ndGhf cmV0dXJuLCBpbnQgc2lnbik7CitkdzJfdm1hX3QgcmVhZF9sZWIxMjggKHVu c2lnbmVkIGNoYXIgKmRhdGEsCisJCSAgICAgICB1bnNpZ25lZCBpbnQgKmxl bmd0aF9yZXR1cm4sIGludCBzaWduKTsKSW5kZXg6IHNyYy9pbmNsdWRlL2R3 YXJmMi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNyYy5vcmlnL2lu Y2x1ZGUvZHdhcmYyLmgJMjAxMS0wMi0xNyAxMTowMDozNC4wMDAwMDAwMDAg KzAxMDAKKysrIHNyYy9pbmNsdWRlL2R3YXJmMi5oCTIwMTEtMDItMTcgMTI6 MjI6MTYuODM5NDA4ODAwICswMTAwCkBAIC00Nyw2ICs0NywzNSBAQAogI2lm bmRlZiBfRUxGX0RXQVJGMl9ICiAjZGVmaW5lIF9FTEZfRFdBUkYyX0gKIAor I2lmIF9fU1REQ19WRVJTSU9OX18gPj0gMTk5OTAxTCB8fCAoZGVmaW5lZChf X0dOVUNfXykgJiYgX19HTlVDX18gPj0gMikKKy8qIFdlIG5lZWQgaGVyZSB3 aWRlc3QgaW50ZWdlciB0eXBlIHNvIHRoYXQgZXZlbiBmb3IgY3Jvc3Mgc2Nl bmFyaW9zCisgICBhIHdpZGUgZW5vdWdoIGludGVnZXIgc2NhbGFyIHZhbHVl IGlzIHVzZWQgdG8gaG9sZCBhZGRyZXNzIHZtYS4KKyAgIEFkZGl0aW9uYWxs eSBpdCBpcyBuZWNlc3NhcnkgaGVyZSB0byB1c2UgZm9yIG5vbi1MUDY0IHRh cmdldHMgdGhlCisgICBwcm9wZXIgaW50ZWdlciBzY2FsYXIgdmFsdWUgdG8g aG9sZCBhbiBhZGRyZXNzLiAgKi8KKyNpZmRlZiBfX0dOVUNfXworX19leHRl bnNpb25fXworI2VuZGlmCit0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBk dzJfdm1hX3Q7CisjaWZkZWYgX19HTlVDX18KK19fZXh0ZW5zaW9uX18KKyNl bmRpZgordHlwZWRlZiBzaWduZWQgbG9uZyBsb25nIGR3Ml9zdm1hX3Q7CisK KyNpZm5kZWYgX19NSU5HVzMyX18KKyNkZWZpbmUgRFcyX1ZNQV9GTVQJImxs IgorI2Vsc2UKKyNkZWZpbmUgRFcyX1ZNQV9GTVQJIkk2NCIKKyNlbmRpZgor CisjZWxzZQorCit0eXBlZGVmIHVuc2lnbmVkIGxvbmcgZHcyX3ZtYV90Owor dHlwZWRlZiBzaWduZWQgbG9uZyBkdzJfc3ZtYV90OworCisjZGVmaW5lIERX Ml9WTUFfRk1UCSJsIgorCisjZW5kaWYKKwogLyogU3RydWN0dXJlIGZvdW5k IGluIHRoZSAuZGVidWdfbGluZSBzZWN0aW9uLiAgKi8KIHR5cGVkZWYgc3Ry dWN0CiB7CkBAIC02Myw3ICs5Miw3IEBAIERXQVJGMl9FeHRlcm5hbF9MaW5l SW5mbzsKIAogdHlwZWRlZiBzdHJ1Y3QKIHsKLSAgdW5zaWduZWQgbG9uZyAg bGlfbGVuZ3RoOworICBkdzJfdm1hX3QJIGxpX2xlbmd0aDsKICAgdW5zaWdu ZWQgc2hvcnQgbGlfdmVyc2lvbjsKICAgdW5zaWduZWQgaW50ICAgbGlfcHJv bG9ndWVfbGVuZ3RoOwogICB1bnNpZ25lZCBjaGFyICBsaV9taW5faW5zbl9s ZW5ndGg7CkBAIC04NywxMCArMTE2LDEwIEBAIERXQVJGMl9FeHRlcm5hbF9Q dWJOYW1lczsKIAogdHlwZWRlZiBzdHJ1Y3QKIHsKLSAgdW5zaWduZWQgbG9u ZyAgcG5fbGVuZ3RoOworICBkdzJfdm1hX3QJIHBuX2xlbmd0aDsKICAgdW5z aWduZWQgc2hvcnQgcG5fdmVyc2lvbjsKLSAgdW5zaWduZWQgbG9uZyAgcG5f b2Zmc2V0OwotICB1bnNpZ25lZCBsb25nICBwbl9zaXplOworICBkdzJfdm1h X3QJIHBuX29mZnNldDsKKyAgZHcyX3ZtYV90CSBwbl9zaXplOwogfQogRFdB UkYyX0ludGVybmFsX1B1Yk5hbWVzOwogCkBAIC0xMDYsOSArMTM1LDkgQEAg RFdBUkYyX0V4dGVybmFsX0NvbXBVbml0OwogCiB0eXBlZGVmIHN0cnVjdAog ewotICB1bnNpZ25lZCBsb25nICBjdV9sZW5ndGg7CisgIGR3Ml92bWFfdAkg Y3VfbGVuZ3RoOwogICB1bnNpZ25lZCBzaG9ydCBjdV92ZXJzaW9uOwotICB1 bnNpZ25lZCBsb25nICBjdV9hYmJyZXZfb2Zmc2V0OworICBkdzJfdm1hX3QJ IGN1X2FiYnJldl9vZmZzZXQ7CiAgIHVuc2lnbmVkIGNoYXIgIGN1X3BvaW50 ZXJfc2l6ZTsKIH0KIERXQVJGMl9JbnRlcm5hbF9Db21wVW5pdDsKQEAgLTEy NSw5ICsxNTQsOSBAQCBEV0FSRjJfRXh0ZXJuYWxfQVJhbmdlOwogCiB0eXBl ZGVmIHN0cnVjdAogewotICB1bnNpZ25lZCBsb25nICBhcl9sZW5ndGg7Cisg IGR3Ml92bWFfdAkgYXJfbGVuZ3RoOwogICB1bnNpZ25lZCBzaG9ydCBhcl92 ZXJzaW9uOwotICB1bnNpZ25lZCBsb25nICBhcl9pbmZvX29mZnNldDsKKyAg ZHcyX3ZtYV90CSBhcl9pbmZvX29mZnNldDsKICAgdW5zaWduZWQgY2hhciAg YXJfcG9pbnRlcl9zaXplOwogICB1bnNpZ25lZCBjaGFyICBhcl9zZWdtZW50 X3NpemU7CiB9Cg== --0016363b83c0769279049c7b1dae Content-Type: text/plain; charset=US-ASCII; name="d_dw2.txt" Content-Disposition: attachment; filename="d_dw2.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gk9rarrr1 Content-length: 2912 SW5kZXg6IHNyYy9pbmNsdWRlL2R3YXJmMi5oCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIHNyYy5vcmlnL2luY2x1ZGUvZHdhcmYyLmgJMjAxMS0wMi0x NyAxMjoyNjo0MC4wMDAwMDAwMDAgKzAxMDAKKysrIHNyYy9pbmNsdWRlL2R3 YXJmMi5oCTIwMTEtMDItMTcgMTI6MjU6MDYuMTgzMTU4ODAwICswMTAwCkBA IC00Nyw2ICs0NywzNSBAQAogI2lmbmRlZiBfRUxGX0RXQVJGMl9ICiAjZGVm aW5lIF9FTEZfRFdBUkYyX0gKIAorI2lmIF9fU1REQ19WRVJTSU9OX18gPj0g MTk5OTAxTCB8fCAoZGVmaW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18gPj0g MikKKy8qIFdlIG5lZWQgaGVyZSB3aWRlc3QgaW50ZWdlciB0eXBlIHNvIHRo YXQgZXZlbiBmb3IgY3Jvc3Mgc2NlbmFyaW9zCisgICBhIHdpZGUgZW5vdWdo IGludGVnZXIgc2NhbGFyIHZhbHVlIGlzIHVzZWQgdG8gaG9sZCBhZGRyZXNz IHZtYS4KKyAgIEFkZGl0aW9uYWxseSBpdCBpcyBuZWNlc3NhcnkgaGVyZSB0 byB1c2UgZm9yIG5vbi1MUDY0IHRhcmdldHMgdGhlCisgICBwcm9wZXIgaW50 ZWdlciBzY2FsYXIgdmFsdWUgdG8gaG9sZCBhbiBhZGRyZXNzLiAgKi8KKyNp ZmRlZiBfX0dOVUNfXworX19leHRlbnNpb25fXworI2VuZGlmCit0eXBlZGVm IHVuc2lnbmVkIGxvbmcgbG9uZyBkdzJfdm1hX3Q7CisjaWZkZWYgX19HTlVD X18KK19fZXh0ZW5zaW9uX18KKyNlbmRpZgordHlwZWRlZiBzaWduZWQgbG9u ZyBsb25nIGR3Ml9zdm1hX3Q7CisKKyNpZm5kZWYgX19NSU5HVzMyX18KKyNk ZWZpbmUgRFcyX1ZNQV9GTVQJImxsIgorI2Vsc2UKKyNkZWZpbmUgRFcyX1ZN QV9GTVQJIkk2NCIKKyNlbmRpZgorCisjZWxzZQorCit0eXBlZGVmIHVuc2ln bmVkIGxvbmcgZHcyX3ZtYV90OwordHlwZWRlZiBzaWduZWQgbG9uZyBkdzJf c3ZtYV90OworCisjZGVmaW5lIERXMl9WTUFfRk1UCSJsIgorCisjZW5kaWYK KwogLyogU3RydWN0dXJlIGZvdW5kIGluIHRoZSAuZGVidWdfbGluZSBzZWN0 aW9uLiAgKi8KIHR5cGVkZWYgc3RydWN0CiB7CkBAIC02Myw3ICs5Miw3IEBA IERXQVJGMl9FeHRlcm5hbF9MaW5lSW5mbzsKIAogdHlwZWRlZiBzdHJ1Y3QK IHsKLSAgdW5zaWduZWQgbG9uZyAgbGlfbGVuZ3RoOworICBkdzJfdm1hX3QJ IGxpX2xlbmd0aDsKICAgdW5zaWduZWQgc2hvcnQgbGlfdmVyc2lvbjsKICAg dW5zaWduZWQgaW50ICAgbGlfcHJvbG9ndWVfbGVuZ3RoOwogICB1bnNpZ25l ZCBjaGFyICBsaV9taW5faW5zbl9sZW5ndGg7CkBAIC04NywxMCArMTE2LDEw IEBAIERXQVJGMl9FeHRlcm5hbF9QdWJOYW1lczsKIAogdHlwZWRlZiBzdHJ1 Y3QKIHsKLSAgdW5zaWduZWQgbG9uZyAgcG5fbGVuZ3RoOworICBkdzJfdm1h X3QJIHBuX2xlbmd0aDsKICAgdW5zaWduZWQgc2hvcnQgcG5fdmVyc2lvbjsK LSAgdW5zaWduZWQgbG9uZyAgcG5fb2Zmc2V0OwotICB1bnNpZ25lZCBsb25n ICBwbl9zaXplOworICBkdzJfdm1hX3QJIHBuX29mZnNldDsKKyAgZHcyX3Zt YV90CSBwbl9zaXplOwogfQogRFdBUkYyX0ludGVybmFsX1B1Yk5hbWVzOwog CkBAIC0xMDYsOSArMTM1LDkgQEAgRFdBUkYyX0V4dGVybmFsX0NvbXBVbml0 OwogCiB0eXBlZGVmIHN0cnVjdAogewotICB1bnNpZ25lZCBsb25nICBjdV9s ZW5ndGg7CisgIGR3Ml92bWFfdAkgY3VfbGVuZ3RoOwogICB1bnNpZ25lZCBz aG9ydCBjdV92ZXJzaW9uOwotICB1bnNpZ25lZCBsb25nICBjdV9hYmJyZXZf b2Zmc2V0OworICBkdzJfdm1hX3QJIGN1X2FiYnJldl9vZmZzZXQ7CiAgIHVu c2lnbmVkIGNoYXIgIGN1X3BvaW50ZXJfc2l6ZTsKIH0KIERXQVJGMl9JbnRl cm5hbF9Db21wVW5pdDsKQEAgLTEyNSw5ICsxNTQsOSBAQCBEV0FSRjJfRXh0 ZXJuYWxfQVJhbmdlOwogCiB0eXBlZGVmIHN0cnVjdAogewotICB1bnNpZ25l ZCBsb25nICBhcl9sZW5ndGg7CisgIGR3Ml92bWFfdAkgYXJfbGVuZ3RoOwog ICB1bnNpZ25lZCBzaG9ydCBhcl92ZXJzaW9uOwotICB1bnNpZ25lZCBsb25n ICBhcl9pbmZvX29mZnNldDsKKyAgZHcyX3ZtYV90CSBhcl9pbmZvX29mZnNl dDsKICAgdW5zaWduZWQgY2hhciAgYXJfcG9pbnRlcl9zaXplOwogICB1bnNp Z25lZCBjaGFyICBhcl9zZWdtZW50X3NpemU7CiB9Cg== --0016363b83c0769279049c7b1dae Content-Type: text/plain; charset=US-ASCII; name="g_dwarf2.txt" Content-Disposition: attachment; filename="g_dwarf2.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gk9rbmm52 Content-length: 3852 SW5kZXg6IGdjYy9pbmNsdWRlL2R3YXJmMi5oCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIGdjYy5vcmlnL2luY2x1ZGUvZHdhcmYyLmgJMjAxMS0wMS0x MyAxMTo1OToyMS4wMDAwMDAwMDAgKzAxMDAKKysrIGdjYy9pbmNsdWRlL2R3 YXJmMi5oCTIwMTEtMDItMTcgMTQ6MDA6MTYuMTc1ODE4OTAwICswMTAwCkBA IC00Nyw2ICs0NywzNSBAQAogI2lmbmRlZiBfRUxGX0RXQVJGMl9ICiAjZGVm aW5lIF9FTEZfRFdBUkYyX0gKIAorI2lmIF9fU1REQ19WRVJTSU9OX18gPj0g MTk5OTAxTCB8fCAoZGVmaW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18gPj0g MikKKy8qIFdlIG5lZWQgaGVyZSB3aWRlc3QgaW50ZWdlciB0eXBlIHNvIHRo YXQgZXZlbiBmb3IgY3Jvc3Mgc2NlbmFyaW9zCisgICBhIHdpZGUgZW5vdWdo IGludGVnZXIgc2NhbGFyIHZhbHVlIGlzIHVzZWQgdG8gaG9sZCBhZGRyZXNz IHZtYS4KKyAgIEFkZGl0aW9uYWxseSBpdCBpcyBuZWNlc3NhcnkgaGVyZSB0 byB1c2UgZm9yIG5vbi1MUDY0IHRhcmdldHMgdGhlCisgICBwcm9wZXIgaW50 ZWdlciBzY2FsYXIgdmFsdWUgdG8gaG9sZCBhbiBhZGRyZXNzLiAgKi8KKyNp ZmRlZiBfX0dOVUNfXworX19leHRlbnNpb25fXworI2VuZGlmCit0eXBlZGVm IHVuc2lnbmVkIGxvbmcgbG9uZyBkdzJfdm1hX3Q7CisjaWZkZWYgX19HTlVD X18KK19fZXh0ZW5zaW9uX18KKyNlbmRpZgordHlwZWRlZiBzaWduZWQgbG9u ZyBsb25nIGR3Ml9zdm1hX3Q7CisKKyNpZm5kZWYgX19NSU5HVzMyX18KKyNk ZWZpbmUgRFcyX1ZNQV9GTVQJImxsIgorI2Vsc2UKKyNkZWZpbmUgRFcyX1ZN QV9GTVQJIkk2NCIKKyNlbmRpZgorCisjZWxzZQorCit0eXBlZGVmIHVuc2ln bmVkIGxvbmcgZHcyX3ZtYV90OwordHlwZWRlZiBzaWduZWQgbG9uZyBkdzJf c3ZtYV90OworCisjZGVmaW5lIERXMl9WTUFfRk1UCSJsIgorCisjZW5kaWYK KwogLyogU3RydWN0dXJlIGZvdW5kIGluIHRoZSAuZGVidWdfbGluZSBzZWN0 aW9uLiAgKi8KIHR5cGVkZWYgc3RydWN0CiB7CkBAIC02Myw3ICs5Miw3IEBA IERXQVJGMl9FeHRlcm5hbF9MaW5lSW5mbzsKIAogdHlwZWRlZiBzdHJ1Y3QK IHsKLSAgdW5zaWduZWQgbG9uZyAgbGlfbGVuZ3RoOworICBkdzJfdm1hX3QJ IGxpX2xlbmd0aDsKICAgdW5zaWduZWQgc2hvcnQgbGlfdmVyc2lvbjsKICAg dW5zaWduZWQgaW50ICAgbGlfcHJvbG9ndWVfbGVuZ3RoOwogICB1bnNpZ25l ZCBjaGFyICBsaV9taW5faW5zbl9sZW5ndGg7CkBAIC04NywxMCArMTE2LDEw IEBAIERXQVJGMl9FeHRlcm5hbF9QdWJOYW1lczsKIAogdHlwZWRlZiBzdHJ1 Y3QKIHsKLSAgdW5zaWduZWQgbG9uZyAgcG5fbGVuZ3RoOworICBkdzJfdm1h X3QJIHBuX2xlbmd0aDsKICAgdW5zaWduZWQgc2hvcnQgcG5fdmVyc2lvbjsK LSAgdW5zaWduZWQgbG9uZyAgcG5fb2Zmc2V0OwotICB1bnNpZ25lZCBsb25n ICBwbl9zaXplOworICBkdzJfdm1hX3QJIHBuX29mZnNldDsKKyAgZHcyX3Zt YV90CSBwbl9zaXplOwogfQogRFdBUkYyX0ludGVybmFsX1B1Yk5hbWVzOwog CkBAIC0xMDYsOSArMTM1LDkgQEAgRFdBUkYyX0V4dGVybmFsX0NvbXBVbml0 OwogCiB0eXBlZGVmIHN0cnVjdAogewotICB1bnNpZ25lZCBsb25nICBjdV9s ZW5ndGg7CisgIGR3Ml92bWFfdAkgY3VfbGVuZ3RoOwogICB1bnNpZ25lZCBz aG9ydCBjdV92ZXJzaW9uOwotICB1bnNpZ25lZCBsb25nICBjdV9hYmJyZXZf b2Zmc2V0OworICBkdzJfdm1hX3QJIGN1X2FiYnJldl9vZmZzZXQ7CiAgIHVu c2lnbmVkIGNoYXIgIGN1X3BvaW50ZXJfc2l6ZTsKIH0KIERXQVJGMl9JbnRl cm5hbF9Db21wVW5pdDsKQEAgLTEyNSw5ICsxNTQsOSBAQCBEV0FSRjJfRXh0 ZXJuYWxfQVJhbmdlOwogCiB0eXBlZGVmIHN0cnVjdAogewotICB1bnNpZ25l ZCBsb25nICBhcl9sZW5ndGg7CisgIGR3Ml92bWFfdAkgYXJfbGVuZ3RoOwog ICB1bnNpZ25lZCBzaG9ydCBhcl92ZXJzaW9uOwotICB1bnNpZ25lZCBsb25n ICBhcl9pbmZvX29mZnNldDsKKyAgZHcyX3ZtYV90CSBhcl9pbmZvX29mZnNl dDsKICAgdW5zaWduZWQgY2hhciAgYXJfcG9pbnRlcl9zaXplOwogICB1bnNp Z25lZCBjaGFyICBhcl9zZWdtZW50X3NpemU7CiB9CkBAIC03NTQsNyArNzgz LDE1IEBAIGVudW0gZHdhcmZfY2FsbGluZ19jb252ZW50aW9uCiAgICAgRFdf Q0NfaGlfdXNlciA9IDB4ZmYsCiAKICAgICBEV19DQ19HTlVfcmVuZXNhc19z aCA9IDB4NDAsCi0gICAgRFdfQ0NfR05VX2JvcmxhbmRfZmFzdGNhbGxfaTM4 NiA9IDB4NDEKKyAgICBEV19DQ19HTlVfYm9ybGFuZF9mYXN0Y2FsbF9pMzg2 ID0gMHg0MSwKKworICAgIC8qIFRoaXMgRFdfQ0NfIHZhbHVlIGlzIG5vdCBj dXJyZW50bHkgZ2VuZXJhdGVkIGJ5IGFueSB0b29sY2hhaW4uICBJdCBpcwor ICAgICAgIHVzZWQgaW50ZXJuYWxseSB0byBHREIgdG8gaW5kaWNhdGUgT3Bl bkNMIEMgZnVuY3Rpb25zIHRoYXQgaGF2ZSBiZWVuCisgICAgICAgY29tcGls ZWQgd2l0aCB0aGUgSUJNIFhMIEMgZm9yIE9wZW5DTCBjb21waWxlciBhbmQg dXNlIGEgbm9uLXBsYXRmb3JtCisgICAgICAgY2FsbGluZyBjb252ZW50aW9u IGZvciBwYXNzaW5nIE9wZW5DTCBDIHZlY3RvciB0eXBlcy4gIFRoaXMgdmFs dWUgbWF5CisgICAgICAgYmUgY2hhbmdlZCBmcmVlbHkgYXMgbG9uZyBhcyBp dCBkb2VzIG5vdCBjb25mbGljdCB3aXRoIGFueSBvdGhlciBEV19DQ18KKyAg ICAgICB2YWx1ZSBkZWZpbmVkIGhlcmUuICAqLworICAgIERXX0NDX0dEQl9J Qk1fT3BlbkNMID0gMHhmZgogICB9OwogCiAvKiBJbmxpbmUgYXR0cmlidXRl LiAgKi8K --0016363b83c0769279049c7b1dae--