From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15372 invoked by alias); 13 Jan 2012 00:48:33 -0000 Received: (qmail 15361 invoked by uid 22791); 13 Jan 2012 00:48:30 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_LOW,TW_BJ,TW_CP,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-ww0-f43.google.com (HELO mail-ww0-f43.google.com) (74.125.82.43) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 13 Jan 2012 00:48:15 +0000 Received: by wgbdt11 with SMTP id dt11so2441050wgb.12 for ; Thu, 12 Jan 2012 16:48:14 -0800 (PST) Received: by 10.216.138.38 with SMTP id z38mr1234276wei.14.1326415694532; Thu, 12 Jan 2012 16:48:14 -0800 (PST) Received: by 10.216.138.38 with SMTP id z38mr1234265wei.14.1326415694352; Thu, 12 Jan 2012 16:48:14 -0800 (PST) MIME-Version: 1.0 Received: by 10.223.144.142 with HTTP; Thu, 12 Jan 2012 16:47:43 -0800 (PST) In-Reply-To: <20120113002700.GA15378@host2.jankratochvil.net> References: <20120112030648.14DBE190AFD@elbrus2.mtv.corp.google.com> <20120112212959.GA24491@host2.jankratochvil.net> <20120112234239.GA6964@host2.jankratochvil.net> <20120113002700.GA15378@host2.jankratochvil.net> From: Paul Pluzhnikov Date: Fri, 13 Jan 2012 03:39:00 -0000 Message-ID: Subject: Re: [patch] Fix for PR gdb/9538 (loading of separate debuginfo and symlinks). To: Jan Kratochvil Cc: Doug Evans , gdb-patches@sourceware.org X-System-Of-Record: true Content-Type: multipart/mixed; boundary=0016e6dd8e4b49516f04b65e38fd 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: 2012-01/txt/msg00458.txt.bz2 --0016e6dd8e4b49516f04b65e38fd Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 975 On Thu, Jan 12, 2012 at 4:27 PM, Jan Kratochvil wrote: > On Fri, 13 Jan 2012 01:20:37 +0100, Paul Pluzhnikov wrote: >> Could you commit it? > > Feel free to commit it along. =A0The patch looks fine to me but maybe kee= p it > here for a day or two. Ok, thanks. >> Updated patch attached. (I also noticed incorrect use of make_cleanup; >> now fixed.) > > It would be easy to remove the last "goto" there now when cleanups are in= use. Done. Combined patch attached. --=20 Paul Pluzhnikov 2012-01-11 Paul Pluzhnikov Jan Kratochvil PR gdb/9538 * symfile.c (find_separate_debug_file): New function. (terminate_after_last_dir_separator): Likewise. (find_separate_debug_file_by_debuglink): Also try realpath. * configure.ac (AC_CHECK_FUNCS): Add lstat. * configure: Regenerate. * config.in: Regenerate. testsuite/ChangeLog: PR gdb/9538 * gdb.base/sepdebug.exp: New test. --0016e6dd8e4b49516f04b65e38fd Content-Type: text/plain; charset=US-ASCII; name="gdb-symlink-pr9538-20120112c.txt" Content-Disposition: attachment; filename="gdb-symlink-pr9538-20120112c.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gxchk5pu0 Content-length: 13823 SW5kZXg6IGNvbmZpZ3VyZS5hYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2NvbmZpZ3VyZS5hYyx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS4xNTIKZGlmZiAtdSAtcCAtcjEuMTUyIGNvbmZp Z3VyZS5hYwotLS0gY29uZmlndXJlLmFjCTQgSmFuIDIwMTIgMDg6MTc6MDAg LTAwMDAJMS4xNTIKKysrIGNvbmZpZ3VyZS5hYwkxMyBKYW4gMjAxMiAwMDoz OTowMSAtMDAwMApAQCAtMTA1OSw3ICsxMDU5LDcgQEAgQUNfQ0hFQ0tfRlVO Q1MoW2Nhbm9uaWNhbGl6ZV9maWxlX25hbWUgcgogCQlnZXRnaWQgcGlwZSBw b2xsIHByZWFkNjQgcmVzaXplX3Rlcm0gc2JyayBzZXRwZ2lkIHNldHBncnAg c2V0c2lkIFwKIAkJc2lnYWN0aW9uIHNpZ3Byb2NtYXNrIHNpZ3NldG1hc2sg c29ja2V0cGFpciBzeXNjYWxsIFwKIAkJdHRyYWNlIHdib3JkZXIgd3Jlc2l6 ZSBzZXRsb2NhbGUgaWNvbnZsaXN0IGxpYmljb252bGlzdCBidG93YyBcCi0J CXNldHJsaW1pdCBnZXRybGltaXQgcG9zaXhfbWFkdmlzZSB3YWl0cGlkXSkK KwkJc2V0cmxpbWl0IGdldHJsaW1pdCBwb3NpeF9tYWR2aXNlIHdhaXRwaWQg bHN0YXRdKQogQU1fTEFOR0lORk9fQ09ERVNFVAogCiAjIENoZWNrIHRoZSBy ZXR1cm4gYW5kIGFyZ3VtZW50IHR5cGVzIG9mIHB0cmFjZS4gIE5vIGNhbm5l ZCB0ZXN0IGZvcgpJbmRleDogc3ltZmlsZS5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvc3ltZmlsZS5jLHYK cmV0cmlldmluZyByZXZpc2lvbiAxLjMyNQpkaWZmIC11IC1wIC1yMS4zMjUg c3ltZmlsZS5jCi0tLSBzeW1maWxlLmMJMTIgSmFuIDIwMTIgMDA6MDA6MDEg LTAwMDAJMS4zMjUKKysrIHN5bWZpbGUuYwkxMyBKYW4gMjAxMiAwMDozOTow MSAtMDAwMApAQCAtMTQ0MSw2MyArMTQ0MSw0OCBAQCBzaG93X2RlYnVnX2Zp bGVfZGlyZWN0b3J5IChzdHJ1Y3QgdWlfZmlsCiAjZGVmaW5lIERFQlVHX1NV QkRJUkVDVE9SWSAiLmRlYnVnIgogI2VuZGlmCiAKLWNoYXIgKgotZmluZF9z ZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2RlYnVnbGluayAoc3RydWN0IG9iamZp bGUgKm9iamZpbGUpCisvKiBGaW5kIGEgc2VwYXJhdGUgZGVidWdpbmZvIGZp bGUgZm9yIE9CSkZJTEUsIHVzaW5nIERJUiBhcyB0aGUgZGlyZWN0b3J5Cisg ICB3aGVyZSB0aGUgb3JpZ2luYWwgZmlsZSByZXNpZGVzIChtYXkgbm90IGJl IHRoZSBzYW1lIGFzCisgICBkaXJuYW1lKG9iamZpbGUtPm5hbWUpIGR1ZSB0 byBzeW1saW5rcyksIGFuZCBERUJVR0xJTksgYXMgdGhlIGZpbGUgd2UgYXJl CisgICBsb29raW5nIGZvci4gIFJldHVybnMgdGhlIG5hbWUgb2YgdGhlIGRl YnVnaW5mbywgb2YgTlVMTC4gICovCisKK3N0YXRpYyBjaGFyICoKK2ZpbmRf c2VwYXJhdGVfZGVidWdfZmlsZSAoY29uc3QgY2hhciAqZGlyLAorCQkJICBj b25zdCBjaGFyICpjYW5vbl9kaXIsCisJCQkgIGNvbnN0IGNoYXIgKmRlYnVn bGluaywKKwkJCSAgdW5zaWduZWQgbG9uZyBjcmMzMiwgc3RydWN0IG9iamZp bGUgKm9iamZpbGUpCiB7Ci0gIGNoYXIgKmJhc2VuYW1lLCAqZGVidWdkaXI7 Ci0gIGNoYXIgKmRpciA9IE5VTEw7Ci0gIGNoYXIgKmRlYnVnZmlsZSA9IE5V TEw7Ci0gIGNoYXIgKmNhbm9uX25hbWUgPSBOVUxMOwotICB1bnNpZ25lZCBs b25nIGNyYzMyOworICBjaGFyICpkZWJ1Z2RpcjsKKyAgY2hhciAqZGVidWdm aWxlOwogICBpbnQgaTsKIAotICBiYXNlbmFtZSA9IGdldF9kZWJ1Z19saW5r X2luZm8gKG9iamZpbGUsICZjcmMzMik7Ci0KLSAgaWYgKGJhc2VuYW1lID09 IE5VTEwpCi0gICAgLyogVGhlcmUncyBubyBzZXBhcmF0ZSBkZWJ1ZyBpbmZv LCBoZW5jZSB0aGVyZSdzIG5vIHdheSB3ZSBjb3VsZAotICAgICAgIGxvYWQg aXQgPT4gbm8gd2FybmluZy4gICovCi0gICAgZ290byBjbGVhbnVwX3JldHVy bl9kZWJ1Z2ZpbGU7Ci0KLSAgZGlyID0geHN0cmR1cCAob2JqZmlsZS0+bmFt ZSk7Ci0KLSAgLyogU3RyaXAgb2ZmIHRoZSBmaW5hbCBmaWxlbmFtZSBwYXJ0 LCBsZWF2aW5nIHRoZSBkaXJlY3RvcnkgbmFtZSwKLSAgICAgZm9sbG93ZWQg YnkgYSBzbGFzaC4gIFRoZSBkaXJlY3RvcnkgY2FuIGJlIHJlbGF0aXZlIG9y IGFic29sdXRlLiAgKi8KLSAgZm9yIChpID0gc3RybGVuKGRpcikgLSAxOyBp ID49IDA7IGktLSkKLSAgICB7Ci0gICAgICBpZiAoSVNfRElSX1NFUEFSQVRP UiAoZGlyW2ldKSkKLQlicmVhazsKLSAgICB9Ci0gIC8qIElmIEkgaXMgLTEg dGhlbiBubyBkaXJlY3RvcnkgaXMgcHJlc2VudCB0aGVyZSBhbmQgRElSIHdp bGwgYmUgIiIuICAqLwotICBkaXJbaSsxXSA9ICdcMCc7Ci0KLSAgLyogU2V0 IEkgdG8gbWF4IChzdHJsZW4gKGNhbm9uX25hbWUpLCBzdHJsZW4gKGRpcikp LiAgKi8KLSAgY2Fub25fbmFtZSA9IGxyZWFscGF0aCAoZGlyKTsKKyAgLyog U2V0IEkgdG8gbWF4IChzdHJsZW4gKGNhbm9uX2RpciksIHN0cmxlbiAoZGly KSkuICAqLwogICBpID0gc3RybGVuIChkaXIpOwotICBpZiAoY2Fub25fbmFt ZSAmJiBzdHJsZW4gKGNhbm9uX25hbWUpID4gaSkKLSAgICBpID0gc3RybGVu IChjYW5vbl9uYW1lKTsKKyAgaWYgKGNhbm9uX2RpciAhPSBOVUxMICYmIHN0 cmxlbiAoY2Fub25fZGlyKSA+IGkpCisgICAgaSA9IHN0cmxlbiAoY2Fub25f ZGlyKTsKIAogICBkZWJ1Z2ZpbGUgPSB4bWFsbG9jIChzdHJsZW4gKGRlYnVn X2ZpbGVfZGlyZWN0b3J5KSArIDEKIAkJICAgICAgICsgaQogCQkgICAgICAg KyBzdHJsZW4gKERFQlVHX1NVQkRJUkVDVE9SWSkKIAkJICAgICAgICsgc3Ry bGVuICgiLyIpCi0JCSAgICAgICArIHN0cmxlbiAoYmFzZW5hbWUpCisJCSAg ICAgICArIHN0cmxlbiAoZGVidWdsaW5rKQogCQkgICAgICAgKyAxKTsKIAog ICAvKiBGaXJzdCB0cnkgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IGFzIHRoZSBv cmlnaW5hbCBmaWxlLiAgKi8KICAgc3RyY3B5IChkZWJ1Z2ZpbGUsIGRpcik7 Ci0gIHN0cmNhdCAoZGVidWdmaWxlLCBiYXNlbmFtZSk7CisgIHN0cmNhdCAo ZGVidWdmaWxlLCBkZWJ1Z2xpbmspOwogCiAgIGlmIChzZXBhcmF0ZV9kZWJ1 Z19maWxlX2V4aXN0cyAoZGVidWdmaWxlLCBjcmMzMiwgb2JqZmlsZSkpCi0g ICAgZ290byBjbGVhbnVwX3JldHVybl9kZWJ1Z2ZpbGU7CisgICAgcmV0dXJu IGRlYnVnZmlsZTsKIAogICAvKiBUaGVuIHRyeSBpbiB0aGUgc3ViZGlyZWN0 b3J5IG5hbWVkIERFQlVHX1NVQkRJUkVDVE9SWS4gICovCiAgIHN0cmNweSAo ZGVidWdmaWxlLCBkaXIpOwogICBzdHJjYXQgKGRlYnVnZmlsZSwgREVCVUdf U1VCRElSRUNUT1JZKTsKICAgc3RyY2F0IChkZWJ1Z2ZpbGUsICIvIik7Ci0g IHN0cmNhdCAoZGVidWdmaWxlLCBiYXNlbmFtZSk7CisgIHN0cmNhdCAoZGVi dWdmaWxlLCBkZWJ1Z2xpbmspOwogCiAgIGlmIChzZXBhcmF0ZV9kZWJ1Z19m aWxlX2V4aXN0cyAoZGVidWdmaWxlLCBjcmMzMiwgb2JqZmlsZSkpCi0gICAg Z290byBjbGVhbnVwX3JldHVybl9kZWJ1Z2ZpbGU7CisgICAgcmV0dXJuIGRl YnVnZmlsZTsKIAogICAvKiBUaGVuIHRyeSBpbiB0aGUgZ2xvYmFsIGRlYnVn ZmlsZSBkaXJlY3Rvcmllcy4KIApAQCAtMTUyMCwyNiArMTUwNSwyNiBAQCBm aW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfZGVidWdsaW5rIChzCiAgICAg ICBkZWJ1Z2ZpbGVbZGVidWdkaXJfZW5kIC0gZGVidWdkaXJdID0gMDsKICAg ICAgIHN0cmNhdCAoZGVidWdmaWxlLCAiLyIpOwogICAgICAgc3RyY2F0IChk ZWJ1Z2ZpbGUsIGRpcik7Ci0gICAgICBzdHJjYXQgKGRlYnVnZmlsZSwgYmFz ZW5hbWUpOworICAgICAgc3RyY2F0IChkZWJ1Z2ZpbGUsIGRlYnVnbGluayk7 CiAKICAgICAgIGlmIChzZXBhcmF0ZV9kZWJ1Z19maWxlX2V4aXN0cyAoZGVi dWdmaWxlLCBjcmMzMiwgb2JqZmlsZSkpCi0JZ290byBjbGVhbnVwX3JldHVy bl9kZWJ1Z2ZpbGU7CisJcmV0dXJuIGRlYnVnZmlsZTsKIAogICAgICAgLyog SWYgdGhlIGZpbGUgaXMgaW4gdGhlIHN5c3Jvb3QsIHRyeSB1c2luZyBpdHMg YmFzZSBwYXRoIGluIHRoZQogCSBnbG9iYWwgZGVidWdmaWxlIGRpcmVjdG9y eS4gICovCi0gICAgICBpZiAoY2Fub25fbmFtZQotCSAgJiYgZmlsZW5hbWVf bmNtcCAoY2Fub25fbmFtZSwgZ2RiX3N5c3Jvb3QsCisgICAgICBpZiAoY2Fu b25fZGlyICE9IE5VTEwKKwkgICYmIGZpbGVuYW1lX25jbXAgKGNhbm9uX2Rp ciwgZ2RiX3N5c3Jvb3QsCiAJCQkgICAgc3RybGVuIChnZGJfc3lzcm9vdCkp ID09IDAKLQkgICYmIElTX0RJUl9TRVBBUkFUT1IgKGNhbm9uX25hbWVbc3Ry bGVuIChnZGJfc3lzcm9vdCldKSkKKwkgICYmIElTX0RJUl9TRVBBUkFUT1Ig KGNhbm9uX2RpcltzdHJsZW4gKGdkYl9zeXNyb290KV0pKQogCXsKIAkgIG1l bWNweSAoZGVidWdmaWxlLCBkZWJ1Z2RpciwgZGVidWdkaXJfZW5kIC0gZGVi dWdkaXIpOwogCSAgZGVidWdmaWxlW2RlYnVnZGlyX2VuZCAtIGRlYnVnZGly XSA9IDA7Ci0JICBzdHJjYXQgKGRlYnVnZmlsZSwgY2Fub25fbmFtZSArIHN0 cmxlbiAoZ2RiX3N5c3Jvb3QpKTsKKwkgIHN0cmNhdCAoZGVidWdmaWxlLCBj YW5vbl9kaXIgKyBzdHJsZW4gKGdkYl9zeXNyb290KSk7CiAJICBzdHJjYXQg KGRlYnVnZmlsZSwgIi8iKTsKLQkgIHN0cmNhdCAoZGVidWdmaWxlLCBiYXNl bmFtZSk7CisJICBzdHJjYXQgKGRlYnVnZmlsZSwgZGVidWdsaW5rKTsKIAog CSAgaWYgKHNlcGFyYXRlX2RlYnVnX2ZpbGVfZXhpc3RzIChkZWJ1Z2ZpbGUs IGNyYzMyLCBvYmpmaWxlKSkKLQkgICAgZ290byBjbGVhbnVwX3JldHVybl9k ZWJ1Z2ZpbGU7CisJICAgIHJldHVybiBkZWJ1Z2ZpbGU7CiAJfQogCiAgICAg ICBkZWJ1Z2RpciA9IGRlYnVnZGlyX2VuZDsKQEAgLTE1NDcsMTIgKzE1MzIs OTAgQEAgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2RlYnVnbGluayAo cwogICB3aGlsZSAoKmRlYnVnZGlyICE9IDApOwogCiAgIHhmcmVlIChkZWJ1 Z2ZpbGUpOwotICBkZWJ1Z2ZpbGUgPSBOVUxMOworICByZXR1cm4gTlVMTDsK K30KKworLyogTW9kaWZ5IFBBVEggdG8gY29udGFpbiBvbmx5ICJkaXJlY3Rv cnkvIiBwYXJ0IG9mIFBBVEguCisgICBJZiB0aGVyZSB3ZXJlIG5vLCBkaXJl Y3Rvcnkgc2VwYXJhdG9ycyBpbiBQQVRILCBQQVRIIHdpbGwgYmUgZW1wdHkK KyAgIHN0cmluZyBvbiByZXR1cm4uICAqLworCitzdGF0aWMgdm9pZAordGVy bWluYXRlX2FmdGVyX2xhc3RfZGlyX3NlcGFyYXRvciAoY2hhciAqcGF0aCkK K3sKKyAgaW50IGk7CisKKyAgLyogU3RyaXAgb2ZmIHRoZSBmaW5hbCBmaWxl bmFtZSBwYXJ0LCBsZWF2aW5nIHRoZSBkaXJlY3RvcnkgbmFtZSwKKyAgICAg Zm9sbG93ZWQgYnkgYSBzbGFzaC4gIFRoZSBkaXJlY3RvcnkgY2FuIGJlIHJl bGF0aXZlIG9yIGFic29sdXRlLiAgKi8KKyAgZm9yIChpID0gc3RybGVuKHBh dGgpIC0gMTsgaSA+PSAwOyBpLS0pCisgICAgaWYgKElTX0RJUl9TRVBBUkFU T1IgKHBhdGhbaV0pKQorICAgICAgYnJlYWs7CisKKyAgLyogSWYgSSBpcyAt MSB0aGVuIG5vIGRpcmVjdG9yeSBpcyBwcmVzZW50IHRoZXJlIGFuZCBESVIg d2lsbCBiZSAiIi4gICovCisgIHBhdGhbaSArIDFdID0gJ1wwJzsKK30KKwor LyogRmluZCBzZXBhcmF0ZSBkZWJ1Z2luZm8gZm9yIE9CSkZJTEUgKHVzaW5n IC5nbnVfZGVidWdsaW5rIHNlY3Rpb24pLgorICAgUmV0dXJucyBwYXRobmFt ZSwgb3IgTlVMTC4gICovCisKK2NoYXIgKgorZmluZF9zZXBhcmF0ZV9kZWJ1 Z19maWxlX2J5X2RlYnVnbGluayAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUp Cit7CisgIGNoYXIgKmRlYnVnbGluazsKKyAgY2hhciAqZGlyLCAqY2Fub25f ZGlyOworICBjaGFyICpkZWJ1Z2ZpbGU7CisgIHVuc2lnbmVkIGxvbmcgY3Jj MzI7CisgIHN0cnVjdCBjbGVhbnVwICpjbGVhbnVwczsKKworICBkZWJ1Z2xp bmsgPSBnZXRfZGVidWdfbGlua19pbmZvIChvYmpmaWxlLCAmY3JjMzIpOwor CisgIGlmIChkZWJ1Z2xpbmsgPT0gTlVMTCkKKyAgICB7CisgICAgICAvKiBU aGVyZSdzIG5vIHNlcGFyYXRlIGRlYnVnIGluZm8sIGhlbmNlIHRoZXJlJ3Mg bm8gd2F5IHdlIGNvdWxkCisJIGxvYWQgaXQgPT4gbm8gd2FybmluZy4gICov CisgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgZGlyID0geHN0cmR1 cCAob2JqZmlsZS0+bmFtZSk7CisgIGNsZWFudXBzID0gbWFrZV9jbGVhbnVw ICh4ZnJlZSwgZGlyKTsKKyAgdGVybWluYXRlX2FmdGVyX2xhc3RfZGlyX3Nl cGFyYXRvciAoZGlyKTsKKyAgY2Fub25fZGlyID0gbHJlYWxwYXRoIChkaXIp OworCisgIGRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZSAo ZGlyLCBjYW5vbl9kaXIsIGRlYnVnbGluaywKKwkJCQkJY3JjMzIsIG9iamZp bGUpOworICB4ZnJlZSAoY2Fub25fZGlyKTsKKworICBpZiAoZGVidWdmaWxl ID09IE5VTEwpCisgICAgeworI2lmZGVmIEhBVkVfTFNUQVQKKyAgICAgIC8q IEZvciBQUiBnZGIvOTUzOCwgdHJ5IGFnYWluIHdpdGggcmVhbHBhdGggKGlm IGRpZmZlcmVudCBmcm9tIHRoZQorCSBvcmlnaW5hbCkuICAqLworCisgICAg ICBzdHJ1Y3Qgc3RhdCBzdF9idWY7CisKKyAgICAgIGlmIChsc3RhdCAob2Jq ZmlsZS0+bmFtZSwgJnN0X2J1ZikgPT0gMCAmJiBTX0lTTE5LKHN0X2J1Zi5z dF9tb2RlKSkKKwl7CisJICBjaGFyICpzeW1saW5rX2RpcjsKKworCSAgc3lt bGlua19kaXIgPSBscmVhbHBhdGggKG9iamZpbGUtPm5hbWUpOworCSAgaWYg KHN5bWxpbmtfZGlyICE9IE5VTEwpCisJICAgIHsKKwkgICAgICBtYWtlX2Ns ZWFudXAgKHhmcmVlLCBzeW1saW5rX2Rpcik7CisJICAgICAgdGVybWluYXRl X2FmdGVyX2xhc3RfZGlyX3NlcGFyYXRvciAoc3ltbGlua19kaXIpOworCSAg ICAgIGlmIChzdHJjbXAgKGRpciwgc3ltbGlua19kaXIpICE9IDApCisJCXsK KwkJICAvKiBEaWZmZXJlbnQgZGlyZWN0b3J5LCBzbyB0cnkgdXNpbmcgaXQu ICAqLworCQkgIGRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmls ZSAoc3ltbGlua19kaXIsCisJCQkJCQkJc3ltbGlua19kaXIsCisJCQkJCQkJ ZGVidWdsaW5rLAorCQkJCQkJCWNyYzMyLAorCQkJCQkJCW9iamZpbGUpOwor CQl9CisJICAgIH0KKwl9CisjZW5kaWYgIC8qIEhBVkVfTFNUQVQgICovCisg ICAgfQogCi1jbGVhbnVwX3JldHVybl9kZWJ1Z2ZpbGU6Ci0gIHhmcmVlIChj YW5vbl9uYW1lKTsKLSAgeGZyZWUgKGJhc2VuYW1lKTsKLSAgeGZyZWUgKGRp cik7CisgIGRvX2NsZWFudXBzIChjbGVhbnVwcyk7CiAgIHJldHVybiBkZWJ1 Z2ZpbGU7CiB9CiAKSW5kZXg6IHRlc3RzdWl0ZS9nZGIuYmFzZS9zZXBkZWJ1 Zy5leHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9z cmMvc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2VwZGVidWcuZXhwLHYK cmV0cmlldmluZyByZXZpc2lvbiAxLjMzCmRpZmYgLXUgLXAgLXIxLjMzIHNl cGRlYnVnLmV4cAotLS0gdGVzdHN1aXRlL2dkYi5iYXNlL3NlcGRlYnVnLmV4 cAk0IEphbiAyMDEyIDA4OjE3OjQ2IC0wMDAwCTEuMzMKKysrIHRlc3RzdWl0 ZS9nZGIuYmFzZS9zZXBkZWJ1Zy5leHAJMTMgSmFuIDIwMTIgMDA6Mzk6MDEg LTAwMDAKQEAgLTQ1LDcgKzQ1LDcgQEAgaWYgIHsgW2dkYl9jb21waWxlICIk e3NyY2Rpcn0vJHtzdWJkaXJ9LwogCiAjIE5vdGU6IHRoZSBwcm9jZWR1cmUg Z2RiX2dudV9zdHJpcF9kZWJ1ZyB3aWxsIHByb2R1Y2UgYW4gZXhlY3V0YWJs ZSBjYWxsZWQKICMgJHtiaW5maWxlfSwgd2hpY2ggaXMganVzdCBsaWtlIHRo ZSBleGVjdXRhYmxlICgkYmluZmlsZSkgYnV0IHdpdGhvdXQKLSMgdGhlIGRl YnVnaW5mby4gSW5zdGVhZCAkYmluZmlsZSBoYXMgYSAuZ251ZGVidWdsaW5r IHNlY3Rpb24gd2hpY2ggY29udGFpbnMKKyMgdGhlIGRlYnVnaW5mby4gSW5z dGVhZCAkYmluZmlsZSBoYXMgYSAuZ251X2RlYnVnbGluayBzZWN0aW9uIHdo aWNoIGNvbnRhaW5zCiAjIHRoZSBuYW1lIG9mIGEgZGVidWdpbmZvIG9ubHkg ZmlsZS4gVGhpcyBmaWxlIHdpbGwgYmUgc3RvcmVkIGluIHRoZQogIyBnZGIu YmFzZS8gc3ViZGlyZWN0b3J5LgogCkBAIC01NSwxMCArNTUsMjcgQEAgaWYg W2dkYl9nbnVfc3RyaXBfZGVidWcgJGJpbmZpbGVdIHsKICAgICByZXR1cm4g LTEKIH0KIAotZ2RiX2V4aXQKLWdkYl9zdGFydAotZ2RiX3JlaW5pdGlhbGl6 ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCi1nZGJfbG9hZCAke2JpbmZpbGV9Cisj CisjIFBSIGdkYi85NTM4LiAgVmVyaWZ5IHRoYXQgc3ltbGlua2VkIGV4ZWN1 dGFibGUgc3RpbGwgZmluZHMgdGhlIHNlcGFyYXRlCisjIGRlYnVnaW5mby4K KyMKK3NldCBvbGRfc3ViZGlyICR7c3ViZGlyfQorc2V0IHN1YmRpciAke3N1 YmRpcn0vcHI5NTM4CisKKyMgQ2xlYW51cCBhbnkgc3RhbGUgc3RhdGUuCity ZW1vdGVfZXhlYyBidWlsZCAicm0gLXJmICR7c3ViZGlyfSIKKworcmVtb3Rl X2V4ZWMgYnVpbGQgIm1rZGlyICR7c3ViZGlyfSIKK3JlbW90ZV9leGVjIGJ1 aWxkICJsbiAtcyAke2JpbmZpbGV9ICR7c3ViZGlyfSIKK2NsZWFuX3Jlc3Rh cnQgJHt0ZXN0ZmlsZX0ke0VYRUVYVH0KK2lmIHsgJGdkYl9maWxlX2NtZF9k ZWJ1Z19pbmZvICE9ICJkZWJ1ZyIgfSB0aGVuIHsKKyAgICBmYWlsICJObyBk ZWJ1ZyBpbmZvcm1hdGlvbiBmb3VuZC4iCit9CisKKyMgUmVzdG9yZSBzdWJk aXIKK3NldCBzdWJkaXIgJHtvbGRfc3ViZGlyfQorCitjbGVhbl9yZXN0YXJ0 ICR7dGVzdGZpbGV9JHtFWEVFWFR9CiBpZiB7ICRnZGJfZmlsZV9jbWRfZGVi dWdfaW5mbyAhPSAiZGVidWciIH0gdGhlbiB7CiAgICAgZmFpbCAiTm8gZGVi dWcgaW5mb3JtYXRpb24gZm91bmQuIgogfQpJbmRleDogY29uZmlnLmluCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9n ZGIvY29uZmlnLmluLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEzMApkaWZm IC11IC1wIC1yMS4xMzAgY29uZmlnLmluCi0tLSBjb25maWcuaW4JMTIgSmFu IDIwMTIgMjM6Mzg6NDcgLTAwMDAJMS4xMzAKKysrIGNvbmZpZy5pbgkxMyBK YW4gMjAxMiAwMDozOTowMCAtMDAwMApAQCAtMjYwLDYgKzI2MCw5IEBACiAv KiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgbG9u ZyBsb25nIGludCcuICovCiAjdW5kZWYgSEFWRV9MT05HX0xPTkdfSU5UCiAK Ky8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbHN0YXQnIGZ1bmN0 aW9uLiAqLworI3VuZGVmIEhBVkVfTFNUQVQKKwogLyogRGVmaW5lIGlmIDxz eXMvcHJvY2ZzLmg+IGhhcyBsd3BpZF90LiAqLwogI3VuZGVmIEhBVkVfTFdQ SURfVAogCkluZGV4OiBjb25maWd1cmUKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9jb25maWd1cmUsdgpyZXRy aWV2aW5nIHJldmlzaW9uIDEuMzM3CmRpZmYgLXUgLXAgLXIxLjMzNyBjb25m aWd1cmUKLS0tIGNvbmZpZ3VyZQkxMiBKYW4gMjAxMiAyMzozODo0NyAtMDAw MAkxLjMzNworKysgY29uZmlndXJlCTEzIEphbiAyMDEyIDAwOjM5OjAxIC0w MDAwCkBAIC0xMjkxOCw3ICsxMjkxOCw3IEBAIGZvciBhY19mdW5jIGluIGNh bm9uaWNhbGl6ZV9maWxlX25hbWUgcmUKIAkJZ2V0Z2lkIHBpcGUgcG9sbCBw cmVhZDY0IHJlc2l6ZV90ZXJtIHNicmsgc2V0cGdpZCBzZXRwZ3JwIHNldHNp ZCBcCiAJCXNpZ2FjdGlvbiBzaWdwcm9jbWFzayBzaWdzZXRtYXNrIHNvY2tl dHBhaXIgc3lzY2FsbCBcCiAJCXR0cmFjZSB3Ym9yZGVyIHdyZXNpemUgc2V0 bG9jYWxlIGljb252bGlzdCBsaWJpY29udmxpc3QgYnRvd2MgXAotCQlzZXRy bGltaXQgZ2V0cmxpbWl0IHBvc2l4X21hZHZpc2Ugd2FpdHBpZAorCQlzZXRy bGltaXQgZ2V0cmxpbWl0IHBvc2l4X21hZHZpc2Ugd2FpdHBpZCBsc3RhdAog ZG8gOgogICBhc19hY192YXI9YCRhc19lY2hvICJhY19jdl9mdW5jXyRhY19m dW5jIiB8ICRhc190cl9zaGAKIGFjX2ZuX2NfY2hlY2tfZnVuYyAiJExJTkVO TyIgIiRhY19mdW5jIiAiJGFzX2FjX3ZhciIK --0016e6dd8e4b49516f04b65e38fd--