From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15411 invoked by alias); 12 Jul 2010 10:14:16 -0000 Received: (qmail 15400 invoked by uid 22791); 12 Jul 2010 10:14:15 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-ew0-f41.google.com (HELO mail-ew0-f41.google.com) (209.85.215.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 12 Jul 2010 10:14:09 +0000 Received: by ewy28 with SMTP id 28so894416ewy.0 for ; Mon, 12 Jul 2010 03:14:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.213.22.201 with SMTP id o9mr272163ebb.68.1278929646208; Mon, 12 Jul 2010 03:14:06 -0700 (PDT) Received: by 10.213.4.132 with HTTP; Mon, 12 Jul 2010 03:14:06 -0700 (PDT) Date: Mon, 12 Jul 2010 10:14:00 -0000 Message-ID: Subject: [PATCH] fix build failure for win64, revise some format strings From: Ozkan Sezer To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=0015174bed84414581048b2e03a3 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: 2010-07/txt/msg00202.txt.bz2 --0015174bed84414581048b2e03a3 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 2782 Hi: The current gdb cvs fails building for win64: cc1: warnings being treated as errors ../../gdb-cvs/gdb/target.c: In function 'debug_to_can_accel_watchpoint_condition': ../../gdb-cvs/gdb/target.c:3335: error: cast from pointer to integer of different size ../../gdb-cvs/gdb/target.c: In function 'debug_to_insert_watchpoint': ../../gdb-cvs/gdb/target.c:3424: error: cast from pointer to integer of different size ../../gdb-cvs/gdb/target.c: In function 'debug_to_remove_watchpoint': ../../gdb-cvs/gdb/target.c:3439: error: cast from pointer to integer of different size The warnings are due to the unsigned long casts in gdb/target.c with assumption of LP64 behavior which isn't true for wih64 (LLP64). There are even more unsigned long casts there which aren't causing warnings but still truncating the value. I thought that it would be best to solve this using inttypes.h macros. An initial patch is attached. Since gdb already uses gnulib for stdint, it can also use inttypes. In the patch, I also touched gdbserver/server.c in order to fix another format string issue with windows: ../../../gdb-cvs/gdb/gdbserver/server.c: In function 'handle_query': ../../../gdb-cvs/gdb/gdbserver/server.c:1542: warning: unknown conversion type character 'l' in format ../../../gdb-cvs/gdb/gdbserver/server.c:1542: warning: too many arguments for format ../../../gdb-cvs/gdb/gdbserver/server.c:1566: warning: unknown conversion type character 'l' in format ../../../gdb-cvs/gdb/gdbserver/server.c:1566: warning: too many arguments for format These warnings are due to the fact that M$ doesn't support %ll. Fixed by using %I64d with _WIN32 ifdefs. Patch was test by compiling gdb for x86_64-linux and for x86_64-w64-mingw32 where both targets already provide inttypes.h. * target.c: Include inttypes.h. (debug_to_insert_breakpoint): Remove unnecessary unsigned long casts from int type variables. For pointers, cast to uintptr_t instead of unsigned long and use the PRIuPTR macro from inttypes.h instead of %ld. (debug_to_remove_breakpoint): Likewise. (debug_to_can_use_hw_breakpoint): Likewise. (debug_to_region_ok_for_hw_watchpoint): Likewise. (debug_to_can_accel_watchpoint_condition): Likewise. (debug_to_stopped_by_watchpoint): Likewise. (debug_to_stopped_data_address): Likewise. (debug_to_watchpoint_addr_within_range): Likewise. (debug_to_insert_hw_breakpoint): Likewise. (debug_to_remove_hw_breakpoint): Likewise. (debug_to_insert_watchpoint): Likewise. (debug_to_remove_watchpoint): Likewise. gdbserver/server.c (handle_query): For windows, Use %I64d instead of %lld in the sprintf format string. Note: if this patch is OK'ed, someone with an experience with gnulib should import inttypes into gdb (I don't feel at home with gnulib.) Regards. -- Ozkan --0015174bed84414581048b2e03a3 Content-Type: application/octet-stream; name="gdb_pformat.diff" Content-Disposition: attachment; filename="gdb_pformat.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbj5qjp20 Content-length: 9394 SW5kZXg6IGdkYi90YXJnZXQuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3RhcmdldC5jLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjI1OQpkaWZmIC11IC1wIC1yMS4yNTkgdGFyZ2V0LmMK LS0tIGdkYi90YXJnZXQuYwk3IEp1bCAyMDEwIDE2OjE1OjE3IC0wMDAwCTEu MjU5CisrKyBnZGIvdGFyZ2V0LmMJMTIgSnVsIDIwMTAgMDc6MjA6MzcgLTAw MDAKQEAgLTIyLDYgKzIyLDcgQEAKICAgIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LiAgKi8KIAogI2luY2x1ZGUgImRlZnMuaCIKKyNpbmNsdWRlIDxpbnR0 eXBlcy5oPgogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSAiZ2RiX3N0 cmluZy5oIgogI2luY2x1ZGUgInRhcmdldC5oIgpAQCAtMzI3MCw5ICszMjcx LDggQEAgZGVidWdfdG9faW5zZXJ0X2JyZWFrcG9pbnQgKHN0cnVjdCBnZGJh cgogICByZXR2YWwgPSBkZWJ1Z190YXJnZXQudG9faW5zZXJ0X2JyZWFrcG9p bnQgKGdkYmFyY2gsIGJwX3RndCk7CiAKICAgZnByaW50Zl91bmZpbHRlcmVk IChnZGJfc3RkbG9nLAotCQkgICAgICAidGFyZ2V0X2luc2VydF9icmVha3Bv aW50ICgweCVseCwgeHh4KSA9ICVsZFxuIiwKLQkJICAgICAgKHVuc2lnbmVk IGxvbmcpIGJwX3RndC0+cGxhY2VkX2FkZHJlc3MsCi0JCSAgICAgICh1bnNp Z25lZCBsb25nKSByZXR2YWwpOworCQkgICAgICAidGFyZ2V0X2luc2VydF9i cmVha3BvaW50ICgweCUiIFBSSXVQVFIgIiwgeHh4KSA9ICVkXG4iLAorCQkg ICAgICAodWludHB0cl90KSBicF90Z3QtPnBsYWNlZF9hZGRyZXNzLCByZXR2 YWwpOwogICByZXR1cm4gcmV0dmFsOwogfQogCkBAIC0zMjg1LDkgKzMyODUs OCBAQCBkZWJ1Z190b19yZW1vdmVfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFy CiAgIHJldHZhbCA9IGRlYnVnX3RhcmdldC50b19yZW1vdmVfYnJlYWtwb2lu dCAoZ2RiYXJjaCwgYnBfdGd0KTsKIAogICBmcHJpbnRmX3VuZmlsdGVyZWQg KGdkYl9zdGRsb2csCi0JCSAgICAgICJ0YXJnZXRfcmVtb3ZlX2JyZWFrcG9p bnQgKDB4JWx4LCB4eHgpID0gJWxkXG4iLAotCQkgICAgICAodW5zaWduZWQg bG9uZykgYnBfdGd0LT5wbGFjZWRfYWRkcmVzcywKLQkJICAgICAgKHVuc2ln bmVkIGxvbmcpIHJldHZhbCk7CisJCSAgICAgICJ0YXJnZXRfcmVtb3ZlX2Jy ZWFrcG9pbnQgKDB4JSIgUFJJdVBUUiAiLCB4eHgpID0gJWRcbiIsCisJCSAg ICAgIChpbnRwdHJfdCkgYnBfdGd0LT5wbGFjZWRfYWRkcmVzcywgcmV0dmFs KTsKICAgcmV0dXJuIHJldHZhbDsKIH0KIApAQCAtMzI5OSwxMSArMzI5OCw4 IEBAIGRlYnVnX3RvX2Nhbl91c2VfaHdfYnJlYWtwb2ludCAoaW50IHR5cGUK ICAgcmV0dmFsID0gZGVidWdfdGFyZ2V0LnRvX2Nhbl91c2VfaHdfYnJlYWtw b2ludCAodHlwZSwgY250LCBmcm9tX3R0eSk7CiAKICAgZnByaW50Zl91bmZp bHRlcmVkIChnZGJfc3RkbG9nLAotCQkgICAgICAidGFyZ2V0X2Nhbl91c2Vf aHdfYnJlYWtwb2ludCAoJWxkLCAlbGQsICVsZCkgPSAlbGRcbiIsCi0JCSAg ICAgICh1bnNpZ25lZCBsb25nKSB0eXBlLAotCQkgICAgICAodW5zaWduZWQg bG9uZykgY250LAotCQkgICAgICAodW5zaWduZWQgbG9uZykgZnJvbV90dHks Ci0JCSAgICAgICh1bnNpZ25lZCBsb25nKSByZXR2YWwpOworCQkgICAgICAi dGFyZ2V0X2Nhbl91c2VfaHdfYnJlYWtwb2ludCAoJWQsICVkLCAlZCkgPSAl ZFxuIiwKKwkJICAgICAgdHlwZSwgY250LCBmcm9tX3R0eSwgcmV0dmFsKTsK ICAgcmV0dXJuIHJldHZhbDsKIH0KIApAQCAtMzMxNSwxMCArMzMxMSw5IEBA IGRlYnVnX3RvX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ08KICAg cmV0dmFsID0gZGVidWdfdGFyZ2V0LnRvX3JlZ2lvbl9va19mb3JfaHdfd2F0 Y2hwb2ludCAoYWRkciwgbGVuKTsKIAogICBmcHJpbnRmX3VuZmlsdGVyZWQg KGdkYl9zdGRsb2csCi0JCSAgICAgICJ0YXJnZXRfcmVnaW9uX29rX2Zvcl9o d193YXRjaHBvaW50ICglbGQsICVsZCkgPSAweCVseFxuIiwKLQkJICAgICAg KHVuc2lnbmVkIGxvbmcpIGFkZHIsCi0JCSAgICAgICh1bnNpZ25lZCBsb25n KSBsZW4sCi0JCSAgICAgICh1bnNpZ25lZCBsb25nKSByZXR2YWwpOworCQkg ICAgICAidGFyZ2V0X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoJSIg UFJJdVBUUiBcCisJCSAgICAgICIsICVkKSA9IDB4JSIgUFJJdVBUUiAiXG4i LAorCQkgICAgICAodWludHB0cl90KSBhZGRyLCBsZW4sICh1aW50cHRyX3Qp IHJldHZhbCk7CiAgIHJldHVybiByZXR2YWw7CiB9CiAKQEAgLTMzMzEsOSAr MzMyNiw5IEBAIGRlYnVnX3RvX2Nhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRp dGlvbiAKICAgcmV0dmFsID0gZGVidWdfdGFyZ2V0LnRvX2Nhbl9hY2NlbF93 YXRjaHBvaW50X2NvbmRpdGlvbiAoYWRkciwgbGVuLCBydywgY29uZCk7CiAK ICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLAotCQkgICAgICAi dGFyZ2V0X2Nhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoMHglbHgs ICVkLCAlZCwgMHglbHgpID0gJWxkXG4iLAotCQkgICAgICAodW5zaWduZWQg bG9uZykgYWRkciwgbGVuLCBydywgKHVuc2lnbmVkIGxvbmcpIGNvbmQsCi0J CSAgICAgICh1bnNpZ25lZCBsb25nKSByZXR2YWwpOworCQkgICAgICAidGFy Z2V0X2Nhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoMHglIiBQUkl1 UFRSIFwKKwkJICAgICAgIiwgJWQsICVkLCAweCUiIFBSSXVQVFIgIikgPSAl ZFxuIiwKKwkJICAgICAgYWRkciwgbGVuLCBydywgKGludHB0cl90KSBjb25k LCByZXR2YWwpOwogICByZXR1cm4gcmV0dmFsOwogfQogCkBAIC0zMzQ1LDgg KzMzNDAsNyBAQCBkZWJ1Z190b19zdG9wcGVkX2J5X3dhdGNocG9pbnQgKHZv aWQpCiAgIHJldHZhbCA9IGRlYnVnX3RhcmdldC50b19zdG9wcGVkX2J5X3dh dGNocG9pbnQgKCk7CiAKICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3Rk bG9nLAotCQkgICAgICAidGFyZ2V0X3N0b3BwZWRfYnlfd2F0Y2hwb2ludCAo KSA9ICVsZFxuIiwKLQkJICAgICAgKHVuc2lnbmVkIGxvbmcpIHJldHZhbCk7 CisJCSAgICAgICJ0YXJnZXRfc3RvcHBlZF9ieV93YXRjaHBvaW50ICgpID0g JWRcbiIsIHJldHZhbCk7CiAgIHJldHVybiByZXR2YWw7CiB9CiAKQEAgLTMz NTgsOSArMzM1Miw4IEBAIGRlYnVnX3RvX3N0b3BwZWRfZGF0YV9hZGRyZXNz IChzdHJ1Y3QgdGEKICAgcmV0dmFsID0gZGVidWdfdGFyZ2V0LnRvX3N0b3Bw ZWRfZGF0YV9hZGRyZXNzICh0YXJnZXQsIGFkZHIpOwogCiAgIGZwcmludGZf dW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywKLQkJICAgICAgInRhcmdldF9zdG9w cGVkX2RhdGFfYWRkcmVzcyAoWzB4JWx4XSkgPSAlbGRcbiIsCi0JCSAgICAg ICh1bnNpZ25lZCBsb25nKSphZGRyLAotCQkgICAgICAodW5zaWduZWQgbG9u ZylyZXR2YWwpOworCQkgICAgICAidGFyZ2V0X3N0b3BwZWRfZGF0YV9hZGRy ZXNzIChbMHglIiBQUkl1UFRSICJdKSA9ICVkXG4iLAorCQkgICAgICAodWlu dHB0cl90KSphZGRyLCByZXR2YWwpOwogICByZXR1cm4gcmV0dmFsOwogfQog CkBAIC0zMzc1LDkgKzMzNjgsOSBAQCBkZWJ1Z190b193YXRjaHBvaW50X2Fk ZHJfd2l0aGluX3JhbmdlIChzCiAJCQkJCQkJIHN0YXJ0LCBsZW5ndGgpOwog CiAgIGZwcmludGZfZmlsdGVyZWQgKGdkYl9zdGRsb2csCi0JCSAgICAidGFy Z2V0X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKDB4JWx4LCAweCVs eCwgJWQpID0gJWRcbiIsCi0JCSAgICAodW5zaWduZWQgbG9uZykgYWRkciwg KHVuc2lnbmVkIGxvbmcpIHN0YXJ0LCBsZW5ndGgsCi0JCSAgICByZXR2YWwp OworCQkgICAgInRhcmdldF93YXRjaHBvaW50X2FkZHJfd2l0aGluX3Jhbmdl ICgweCUiIFBSSXVQVFIgXAorCQkgICAgIiwgMHglIiBQUkl1UFRSICIsICVk KSA9ICVkXG4iLAorCQkgICAgKHVpbnRwdHJfdCkgYWRkciwgKHVpbnRwdHJf dCkgc3RhcnQsIGxlbmd0aCwgcmV0dmFsKTsKICAgcmV0dXJuIHJldHZhbDsK IH0KIApAQCAtMzM5MCw5ICszMzgzLDkgQEAgZGVidWdfdG9faW5zZXJ0X2h3 X2JyZWFrcG9pbnQgKHN0cnVjdCBnZAogICByZXR2YWwgPSBkZWJ1Z190YXJn ZXQudG9faW5zZXJ0X2h3X2JyZWFrcG9pbnQgKGdkYmFyY2gsIGJwX3RndCk7 CiAKICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLAotCQkgICAg ICAidGFyZ2V0X2luc2VydF9od19icmVha3BvaW50ICgweCVseCwgeHh4KSA9 ICVsZFxuIiwKLQkJICAgICAgKHVuc2lnbmVkIGxvbmcpIGJwX3RndC0+cGxh Y2VkX2FkZHJlc3MsCi0JCSAgICAgICh1bnNpZ25lZCBsb25nKSByZXR2YWwp OworCQkgICAgICAidGFyZ2V0X2luc2VydF9od19icmVha3BvaW50ICgweCUi IFBSSXVQVFIgXAorCQkgICAgICAiLCB4eHgpID0gJWRcbiIsCisJCSAgICAg IChpbnRwdHJfdCkgYnBfdGd0LT5wbGFjZWRfYWRkcmVzcywgcmV0dmFsKTsK ICAgcmV0dXJuIHJldHZhbDsKIH0KIApAQCAtMzQwNSw5ICszMzk4LDkgQEAg ZGVidWdfdG9fcmVtb3ZlX2h3X2JyZWFrcG9pbnQgKHN0cnVjdCBnZAogICBy ZXR2YWwgPSBkZWJ1Z190YXJnZXQudG9fcmVtb3ZlX2h3X2JyZWFrcG9pbnQg KGdkYmFyY2gsIGJwX3RndCk7CiAKICAgZnByaW50Zl91bmZpbHRlcmVkIChn ZGJfc3RkbG9nLAotCQkgICAgICAidGFyZ2V0X3JlbW92ZV9od19icmVha3Bv aW50ICgweCVseCwgeHh4KSA9ICVsZFxuIiwKLQkJICAgICAgKHVuc2lnbmVk IGxvbmcpIGJwX3RndC0+cGxhY2VkX2FkZHJlc3MsCi0JCSAgICAgICh1bnNp Z25lZCBsb25nKSByZXR2YWwpOworCQkgICAgICAidGFyZ2V0X3JlbW92ZV9o d19icmVha3BvaW50ICgweCUiIFBSSXVQVFIgXAorCQkgICAgICAiLCB4eHgp ID0gJWRcbiIsCisJCSAgICAgIChpbnRwdHJfdCkgYnBfdGd0LT5wbGFjZWRf YWRkcmVzcywgcmV0dmFsKTsKICAgcmV0dXJuIHJldHZhbDsKIH0KIApAQCAt MzQyMCw5ICszNDEzLDEwIEBAIGRlYnVnX3RvX2luc2VydF93YXRjaHBvaW50 IChDT1JFX0FERFIgYWQKICAgcmV0dmFsID0gZGVidWdfdGFyZ2V0LnRvX2lu c2VydF93YXRjaHBvaW50IChhZGRyLCBsZW4sIHR5cGUsIGNvbmQpOwogCiAg IGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywKLQkJICAgICAgInRh cmdldF9pbnNlcnRfd2F0Y2hwb2ludCAoMHglbHgsICVkLCAlZCwgMHglbGQp ID0gJWxkXG4iLAotCQkgICAgICAodW5zaWduZWQgbG9uZykgYWRkciwgbGVu LCB0eXBlLCAodW5zaWduZWQgbG9uZykgY29uZCwKLQkJICAgICAgKHVuc2ln bmVkIGxvbmcpIHJldHZhbCk7CisJCSAgICAgICJ0YXJnZXRfaW5zZXJ0X3dh dGNocG9pbnQgKDB4JSIgUFJJdVBUUiBcCisJCSAgICAgICIsICVkLCAlZCwg MHglIiBQUkl1UFRSICIpID0gJWRcbiIsCisJCSAgICAgICh1aW50cHRyX3Qp IGFkZHIsIGxlbiwgdHlwZSwgKHVpbnRwdHJfdCkgY29uZCwKKwkJICAgICAg cmV0dmFsKTsKICAgcmV0dXJuIHJldHZhbDsKIH0KIApAQCAtMzQzNSw5ICsz NDI5LDkgQEAgZGVidWdfdG9fcmVtb3ZlX3dhdGNocG9pbnQgKENPUkVfQURE UiBhZAogICByZXR2YWwgPSBkZWJ1Z190YXJnZXQudG9fcmVtb3ZlX3dhdGNo cG9pbnQgKGFkZHIsIGxlbiwgdHlwZSwgY29uZCk7CiAKICAgZnByaW50Zl91 bmZpbHRlcmVkIChnZGJfc3RkbG9nLAotCQkgICAgICAidGFyZ2V0X3JlbW92 ZV93YXRjaHBvaW50ICgweCVseCwgJWQsICVkLCAweCVsZCkgPSAlbGRcbiIs Ci0JCSAgICAgICh1bnNpZ25lZCBsb25nKSBhZGRyLCBsZW4sIHR5cGUsICh1 bnNpZ25lZCBsb25nKSBjb25kLAotCQkgICAgICAodW5zaWduZWQgbG9uZykg cmV0dmFsKTsKKwkJICAgICAgInRhcmdldF9yZW1vdmVfd2F0Y2hwb2ludCAo MHglIiBQUkl1UFRSICIsICVkLCAlZCwgMHglIiBQUkl1UFRSIFwKKwkJICAg ICAgIikgPSAlZFxuIiwKKwkJICAgICAgKHVpbnRwdHJfdCkgYWRkciwgbGVu LCB0eXBlLCAodWludHB0cl90KSBjb25kLCByZXR2YWwpOwogICByZXR1cm4g cmV0dmFsOwogfQogCkluZGV4OiBnZGIvZ2Ric2VydmVyL3NlcnZlci5jCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9n ZGIvZ2Ric2VydmVyL3NlcnZlci5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAx LjEyNQpkaWZmIC11IC1wIC1yMS4xMjUgc2VydmVyLmMKLS0tIGdkYi9nZGJz ZXJ2ZXIvc2VydmVyLmMJNyBKdWwgMjAxMCAxNjoxNDowNCAtMDAwMAkxLjEy NQorKysgZ2RiL2dkYnNlcnZlci9zZXJ2ZXIuYwkxMiBKdWwgMjAxMCAwOTo1 MDoxMyAtMDAwMApAQCAtMTUzOSw3ICsxNTM5LDExIEBAIGhhbmRsZV9xdWVy eSAoY2hhciAqb3duX2J1ZiwgaW50IHBhY2tldF8KIAogICAgICAgaWYgKGVy ciA9PSAwKQogCXsKKyNpZmRlZiBfV0lOMzIKKwkgIHNwcmludGYgKG93bl9i dWYsICIlSTY0ZCIsIGFkZHJlc3MpOworI2Vsc2UKIAkgIHNwcmludGYgKG93 bl9idWYsICIlbGx4IiwgYWRkcmVzcyk7CisjZW5kaWYKIAkgIHJldHVybjsK IAl9CiAgICAgICBlbHNlIGlmIChlcnIgPiAwKQpAQCAtMTU2Myw3ICsxNTY3 LDExIEBAIGhhbmRsZV9xdWVyeSAoY2hhciAqb3duX2J1ZiwgaW50IHBhY2tl dF8KICAgICAgIG4gPSAoKnRoZV90YXJnZXQtPmdldF90aWJfYWRkcmVzcykg KHB0aWQsICZ0bGIpOwogICAgICAgaWYgKG4gPT0gMSkKIAl7CisjaWZkZWYg X1dJTjMyCisJICBzcHJpbnRmIChvd25fYnVmLCAiJUk2NGQiLCB0bGIpOwor I2Vsc2UKIAkgIHNwcmludGYgKG93bl9idWYsICIlbGx4IiwgdGxiKTsKKyNl bmRpZgogCSAgcmV0dXJuOwogCX0KICAgICAgIGVsc2UgaWYgKG4gPT0gMCkK --0015174bed84414581048b2e03a3--