From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13903 invoked by alias); 19 Jun 2009 00:48:06 -0000 Received: (qmail 13882 invoked by uid 22791); 19 Jun 2009 00:48:03 -0000 X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_37,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.45.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 19 Jun 2009 00:47:53 +0000 Received: from spaceape7.eur.corp.google.com (spaceape7.eur.corp.google.com [172.28.16.141]) by smtp-out.google.com with ESMTP id n5J0lnGX013601 for ; Thu, 18 Jun 2009 17:47:50 -0700 Received: from yw-out-1718.google.com (ywq4.prod.google.com [10.192.17.4]) by spaceape7.eur.corp.google.com with ESMTP id n5J0lkqm001951 for ; Thu, 18 Jun 2009 17:47:47 -0700 Received: by yw-out-1718.google.com with SMTP id 4so659565ywq.72 for ; Thu, 18 Jun 2009 17:47:46 -0700 (PDT) MIME-Version: 1.0 Received: by 10.90.69.7 with SMTP id r7mr1623502aga.47.1245372466298; Thu, 18 Jun 2009 17:47:46 -0700 (PDT) In-Reply-To: References: <20090523232414.BED2B846C2@localhost> <200906042221.22713.pedro@codesourcery.com> <200906051949.45647.pedro@codesourcery.com> Date: Fri, 19 Jun 2009 00:48:00 -0000 Message-ID: Subject: Re: [RFA] Fix too many "no debugging symbols found" warnings. From: Doug Evans To: tromey@redhat.com, Pedro Alves , Eli Zaretskii Cc: gdb-patches Content-Type: multipart/mixed; boundary=0016363b92227780dc046ca8dfa8 X-System-Of-Record: true 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: 2009-06/txt/msg00495.txt.bz2 --0016363b92227780dc046ca8dfa8 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 3422 How about this? Up front questions: What's the reason for passing from_tty=0 to symbol_file_add_main from captured_main? What do folks think about having gdb print an extra line when starting up? i.e. adding: Reading symbols from /home/dje/src/hello.x64...done. Or, when no debugging symbols are found: Reading symbols from /home/dje/src/hello.x64...(no debugging symbols found) ...done. [gdb would previously print "(not debugging symbols found)"] This patch passes !batch for from_tty to symbol_file_add_main from captured_main. This is done so that the code in symbol_file_add_with_addrs_or_offsets doesn't have to test (flags & SYMFILE_MAINLINE): this is to handle the example of running make and getting lots of "no debugging symbols found" warnings [the high order bit being: if from_tty == 0, does it matter whether or not the file is the main executable when printing "no debugging symbols found"?] This partially reverts my patch of 2008-07-10 that added the option "set print symbol-loading". In its place I changed symbol-loading to symbol-loading-warnings and made it only apply when from_tty == 0. And I set the default to "off". If from_tty == 1, the request is from the user directly (more or less), and the user more likely wants to know if no debugging symbols are found. Plus if from_tty == 1, the user is already getting the text "Reading ..." so why test the "set print ..." option? Also note that if the main executable has debug info, the user will (currently) never see "no debugging symbols found" warnings for shared libs - thus any change in gdb's behaviour due to what we choose for the default value of this option only affects the case of debugging executables without debugging info. This patch removes the bogusness of whether one sees "no debugging symbols found" for shared libs depends on whether the main executable is stripped and on the order the shared libs are loaded: the patch tests the objfile being loaded rather than calling have_partial_symbols/have_full_symbols. This patch also includes the name of the file without debugging symbols in the "no debugging symbols found" message. Thoughts (especially about my first two questions) ? 2009-06-18 Doug Evans * objfiles.h (objfile_has_partial_symbols): Declare. (objfile_has_full_symbols): Declare. * objfiles.c (objfile_has_partial_symbols): New function. (have_partial_symbols): Use it. (objfile_has_full_symbols): New function. (have_full_symbols): Use it. * main.c (captured_main): Pass !batch for from_tty when calling symbol_file_add_main. * solib.c (solib_read_symbols): Back out patch of 2008-07-10. * symfile.c (print_symbol_loading_warnings): Renamed from print_symbol_loading, initialize to 0 instead of 1. (symbol_file_add_with_addrs_or_offsets): Back out patch of 2008-07-10. Print "no debugging symbols found" only if from_tty || info_verbose || print_symbol_loading_warnings, and include the file name if not already printed. (reread_symbols): Test file being loaded for whether it has symbols, not all files. (__initialize_symfile): Update name of `set print symbol-loading-warnings'. * NEWS: Update name of `set print symbol-loading-warnings'. * doc/gdb.texinfo: Update name of `set print symbol-loading-warnings'. --0016363b92227780dc046ca8dfa8 Content-Type: text/plain; charset=US-ASCII; name="gdb-090618-symfile-6.patch.txt" Content-Disposition: attachment; filename="gdb-090618-symfile-6.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fw46g8fu0 Content-length: 15783 MjAwOS0wNi0xOCAgRG91ZyBFdmFucyAgPGRqZUBnb29nbGUuY29tPgoKCSog b2JqZmlsZXMuaCAob2JqZmlsZV9oYXNfcGFydGlhbF9zeW1ib2xzKTogRGVj bGFyZS4KCShvYmpmaWxlX2hhc19mdWxsX3N5bWJvbHMpOiBEZWNsYXJlLgoJ KiBvYmpmaWxlcy5jIChvYmpmaWxlX2hhc19wYXJ0aWFsX3N5bWJvbHMpOiBO ZXcgZnVuY3Rpb24uCgkoaGF2ZV9wYXJ0aWFsX3N5bWJvbHMpOiBVc2UgaXQu Cgkob2JqZmlsZV9oYXNfZnVsbF9zeW1ib2xzKTogTmV3IGZ1bmN0aW9uLgoJ KGhhdmVfZnVsbF9zeW1ib2xzKTogVXNlIGl0LgoJKiBtYWluLmMgKGNhcHR1 cmVkX21haW4pOiBQYXNzICFiYXRjaCBmb3IgZnJvbV90dHkgd2hlbiBjYWxs aW5nCglzeW1ib2xfZmlsZV9hZGRfbWFpbi4KCSogc29saWIuYyAoc29saWJf cmVhZF9zeW1ib2xzKTogQmFjayBvdXQgcGF0Y2ggb2YgMjAwOC0wNy0xMC4K CSogc3ltZmlsZS5jIChwcmludF9zeW1ib2xfbG9hZGluZ193YXJuaW5ncyk6 IFJlbmFtZWQgZnJvbQoJcHJpbnRfc3ltYm9sX2xvYWRpbmcsIGluaXRpYWxp emUgdG8gMCBpbnN0ZWFkIG9mIDEuCgkoc3ltYm9sX2ZpbGVfYWRkX3dpdGhf YWRkcnNfb3Jfb2Zmc2V0cyk6IEJhY2sgb3V0IHBhdGNoIG9mIDIwMDgtMDct MTAuCglQcmludCAibm8gZGVidWdnaW5nIHN5bWJvbHMgZm91bmQiIG9ubHkg aWYKCWZyb21fdHR5IHx8IGluZm9fdmVyYm9zZSB8fCBwcmludF9zeW1ib2xf bG9hZGluZ193YXJuaW5ncywKCWFuZCBpbmNsdWRlIHRoZSBmaWxlIG5hbWUg aWYgbm90IGFscmVhZHkgcHJpbnRlZC4KCShyZXJlYWRfc3ltYm9scyk6IFRl c3QgZmlsZSBiZWluZyBsb2FkZWQgZm9yIHdoZXRoZXIgaXQgaGFzIHN5bWJv bHMsCglub3QgYWxsIGZpbGVzLgoJKF9faW5pdGlhbGl6ZV9zeW1maWxlKTog VXBkYXRlIG5hbWUgb2YKCWBzZXQgcHJpbnQgc3ltYm9sLWxvYWRpbmctd2Fy bmluZ3MnLgoJKiBORVdTOiBgc2V0IHByaW50IHN5bWJvbC1sb2FkaW5nJyBy ZW5hbWVkIHRvCglgc2V0IHByaW50IHN5bWJvbC1sb2FkaW5nLXdhcm5pbmdz Jy4KCgkqIGRvYy9nZGIudGV4aW5mbzogYHNldCBwcmludCBzeW1ib2wtbG9h ZGluZycgcmVuYW1lZCB0bwoJYHNldCBwcmludCBzeW1ib2wtbG9hZGluZy13 YXJuaW5ncycuCgpJbmRleDogTkVXUwo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL05FV1MsdgpyZXRyaWV2aW5n IHJldmlzaW9uIDEuMzEzCmRpZmYgLXUgLXAgLXIxLjMxMyBORVdTCi0tLSBO RVdTCTExIEp1biAyMDA5IDExOjU3OjQ2IC0wMDAwCTEuMzEzCisrKyBORVdT CTE4IEp1biAyMDA5IDIzOjU5OjIzIC0wMDAwCkBAIC0xOTMsOSArMTkzLDEw IEBAIHNldCBzaCBjYWxsaW5nLWNvbnZlbnRpb24KIHNob3cgc2ggY2FsbGlu Zy1jb252ZW50aW9uCiAgIENvbnRyb2wgdGhlIGNhbGxpbmcgY29udmVudGlv biB1c2VkIHdoZW4gY2FsbGluZyBTSCB0YXJnZXQgZnVuY3Rpb25zLgogCi1z ZXQgcHJpbnQgc3ltYm9sLWxvYWRpbmcKLXNob3cgcHJpbnQgc3ltYm9sLWxv YWRpbmcKLSAgQ29udHJvbCBwcmludGluZyBvZiBzeW1ib2wgbG9hZGluZyBt ZXNzYWdlcy4KK3NldCBwcmludCBzeW1ib2wtbG9hZGluZy13YXJuaW5ncwor c2hvdyBwcmludCBzeW1ib2wtbG9hZGluZy13YXJuaW5ncworICBDb250cm9s IHByaW50aW5nIG9mIHdhcm5pbmdzIHdoZW4gYXV0by1sb2FkaW5nIGZpbGVz IHdpdGhvdXQKKyAgZGVidWdnaW5nIHN5bWJvbHMuCiAKIHNldCBkZWJ1ZyB0 aW1lc3RhbXAKIHNob3cgZGVidWcgdGltZXN0YW1wCkluZGV4OiBtYWluLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3Jj L2dkYi9tYWluLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNzYKZGlmZiAt dSAtcCAtcjEuNzYgbWFpbi5jCi0tLSBtYWluLmMJMjcgQXByIDIwMDkgMTA6 MjQ6MDggLTAwMDAJMS43NgorKysgbWFpbi5jCTE4IEp1biAyMDA5IDIzOjU5 OjIzIC0wMDAwCkBAIC04MDEsMTQgKzgwMSwxNCBAQCBFeGNlc3MgY29tbWFu ZCBsaW5lIGFyZ3VtZW50cyBpZ25vcmVkLiAoCiAgICAgICAgICBvcGVuIGl0 LCBiZXR0ZXIgb25seSBwcmludCBvbmUgZXJyb3IgbWVzc2FnZS4KICAgICAg ICAgIGNhdGNoX2NvbW1hbmRfZXJyb3JzIHJldHVybnMgbm9uLXplcm8gb24g c3VjY2VzcyEgKi8KICAgICAgIGlmIChjYXRjaF9jb21tYW5kX2Vycm9ycyAo ZXhlY19maWxlX2F0dGFjaCwgZXhlY2FyZywgIWJhdGNoLCBSRVRVUk5fTUFT S19BTEwpKQotCWNhdGNoX2NvbW1hbmRfZXJyb3JzIChzeW1ib2xfZmlsZV9h ZGRfbWFpbiwgc3ltYXJnLCAwLCBSRVRVUk5fTUFTS19BTEwpOworCWNhdGNo X2NvbW1hbmRfZXJyb3JzIChzeW1ib2xfZmlsZV9hZGRfbWFpbiwgc3ltYXJn LCAhYmF0Y2gsIFJFVFVSTl9NQVNLX0FMTCk7CiAgICAgfQogICBlbHNlCiAg ICAgewogICAgICAgaWYgKGV4ZWNhcmcgIT0gTlVMTCkKIAljYXRjaF9jb21t YW5kX2Vycm9ycyAoZXhlY19maWxlX2F0dGFjaCwgZXhlY2FyZywgIWJhdGNo LCBSRVRVUk5fTUFTS19BTEwpOwogICAgICAgaWYgKHN5bWFyZyAhPSBOVUxM KQotCWNhdGNoX2NvbW1hbmRfZXJyb3JzIChzeW1ib2xfZmlsZV9hZGRfbWFp biwgc3ltYXJnLCAwLCBSRVRVUk5fTUFTS19BTEwpOworCWNhdGNoX2NvbW1h bmRfZXJyb3JzIChzeW1ib2xfZmlsZV9hZGRfbWFpbiwgc3ltYXJnLCAhYmF0 Y2gsIFJFVFVSTl9NQVNLX0FMTCk7CiAgICAgfQogCiAgIGlmIChjb3JlYXJn ICYmIHBpZGFyZykKSW5kZXg6IG9iamZpbGVzLmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9vYmpmaWxlcy5j LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjgzCmRpZmYgLXUgLXAgLXIxLjgz IG9iamZpbGVzLmMKLS0tIG9iamZpbGVzLmMJMTQgTWF5IDIwMDkgMjM6MzM6 MDggLTAwMDAJMS44MworKysgb2JqZmlsZXMuYwkxOCBKdW4gMjAwOSAyMzo1 OToyNCAtMDAwMApAQCAtNjc3LDYgKzY3NywyMiBAQCBvYmpmaWxlX3JlbG9j YXRlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsCiAgIGJyZWFrcG9pbnRfcmVf c2V0X29iamZpbGUgKG9iamZpbGUpOwogfQogDAorLyogUmV0dXJuIG5vbi16 ZXJvIGlmIE9CSkZJTEUgaGFzIHBhcnRpYWwgc3ltYm9scy4gICovCisKK2lu dAorb2JqZmlsZV9oYXNfcGFydGlhbF9zeW1ib2xzIChzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsZSkKK3sKKyAgcmV0dXJuIG9iamZpbGUtPnBzeW10YWJzICE9 IE5VTEw7Cit9CisKKy8qIFJldHVybiBub24temVybyBpZiBPQkpGSUxFIGhh cyBmdWxsIHN5bWJvbHMuICAqLworCitpbnQKK29iamZpbGVfaGFzX2Z1bGxf c3ltYm9scyAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCit7CisgIHJldHVy biBvYmpmaWxlLT5zeW10YWJzICE9IE5VTEw7Cit9CisKIC8qIE1hbnkgcGxh Y2VzIGluIGdkYiB3YW50IHRvIHRlc3QganVzdCB0byBzZWUgaWYgd2UgaGF2 ZSBhbnkgcGFydGlhbAogICAgc3ltYm9scyBhdmFpbGFibGUuICBUaGlzIGZ1 bmN0aW9uIHJldHVybnMgemVybyBpZiBub25lIGFyZSBjdXJyZW50bHkKICAg IGF2YWlsYWJsZSwgbm9uemVybyBvdGhlcndpc2UuICovCkBAIC02ODgsMTAg KzcwNCw4IEBAIGhhdmVfcGFydGlhbF9zeW1ib2xzICh2b2lkKQogCiAgIEFM TF9PQkpGSUxFUyAob2ZwKQogICB7Ci0gICAgaWYgKG9mcC0+cHN5bXRhYnMg IT0gTlVMTCkKLSAgICAgIHsKLQlyZXR1cm4gMTsKLSAgICAgIH0KKyAgICBp ZiAob2JqZmlsZV9oYXNfcGFydGlhbF9zeW1ib2xzIChvZnApKQorICAgICAg cmV0dXJuIDE7CiAgIH0KICAgcmV0dXJuIDA7CiB9CkBAIC03MDcsMTAgKzcy MSw4IEBAIGhhdmVfZnVsbF9zeW1ib2xzICh2b2lkKQogCiAgIEFMTF9PQkpG SUxFUyAob2ZwKQogICB7Ci0gICAgaWYgKG9mcC0+c3ltdGFicyAhPSBOVUxM KQotICAgICAgewotCXJldHVybiAxOwotICAgICAgfQorICAgIGlmIChvYmpm aWxlX2hhc19mdWxsX3N5bWJvbHMgKG9mcCkpCisgICAgICByZXR1cm4gMTsK ICAgfQogICByZXR1cm4gMDsKIH0KSW5kZXg6IG9iamZpbGVzLmgKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9v YmpmaWxlcy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjU5CmRpZmYgLXUg LXAgLXIxLjU5IG9iamZpbGVzLmgKLS0tIG9iamZpbGVzLmgJMTUgSmFuIDIw MDkgMTY6MzU6MjIgLTAwMDAJMS41OQorKysgb2JqZmlsZXMuaAkxOCBKdW4g MjAwOSAyMzo1OToyNCAtMDAwMApAQCAtNDc4LDYgKzQ3OCwxMCBAQCBleHRl cm4gdm9pZCBmcmVlX2FsbF9vYmpmaWxlcyAodm9pZCk7CiAKIGV4dGVybiB2 b2lkIG9iamZpbGVfcmVsb2NhdGUgKHN0cnVjdCBvYmpmaWxlICosIHN0cnVj dCBzZWN0aW9uX29mZnNldHMgKik7CiAKK2V4dGVybiBpbnQgb2JqZmlsZV9o YXNfcGFydGlhbF9zeW1ib2xzIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSk7 CisKK2V4dGVybiBpbnQgb2JqZmlsZV9oYXNfZnVsbF9zeW1ib2xzIChzdHJ1 Y3Qgb2JqZmlsZSAqb2JqZmlsZSk7CisKIGV4dGVybiBpbnQgaGF2ZV9wYXJ0 aWFsX3N5bWJvbHMgKHZvaWQpOwogCiBleHRlcm4gaW50IGhhdmVfZnVsbF9z eW1ib2xzICh2b2lkKTsKSW5kZXg6IHNvbGliLmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9zb2xpYi5jLHYK cmV0cmlldmluZyByZXZpc2lvbiAxLjEyMApkaWZmIC11IC1wIC1yMS4xMjAg c29saWIuYwotLS0gc29saWIuYwkxNiBKdW4gMjAwOSAxODo0OToyNSAtMDAw MAkxLjEyMAorKysgc29saWIuYwkxOCBKdW4gMjAwOSAyMzo1OToyNCAtMDAw MApAQCAtNTAyLDcgKzUwMiw3IEBAIHNvbGliX3JlYWRfc3ltYm9scyAoc3Ry dWN0IHNvX2xpc3QgKnNvLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIkVycm9yIHdoaWxlIHJlYWRpbmcgc2hhcmVkIGxpYnJhcnkgc3ltYm9s czpcbiIpOwogICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9Ci0gICAg ICBpZiAoZnJvbV90dHkgJiYgcHJpbnRfc3ltYm9sX2xvYWRpbmcpCisgICAg ICBpZiAoZnJvbV90dHkpCiAgICAgICAgIHByaW50Zl91bmZpbHRlcmVkIChf KCJMb2FkZWQgc3ltYm9scyBmb3IgJXNcbiIpLCBzby0+c29fbmFtZSk7CiAg ICAgICBzby0+c3ltYm9sc19sb2FkZWQgPSAxOwogICAgICAgcmV0dXJuIDE7 CkluZGV4OiBzeW1maWxlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg ZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9zeW1maWxlLmMsdgpyZXRyaWV2aW5n IHJldmlzaW9uIDEuMjMyCmRpZmYgLXUgLXAgLXIxLjIzMiBzeW1maWxlLmMK LS0tIHN5bWZpbGUuYwkxNyBKdW4gMjAwOSAxODozNDozNCAtMDAwMAkxLjIz MgorKysgc3ltZmlsZS5jCTE4IEp1biAyMDA5IDIzOjU5OjI0IC0wMDAwCkBA IC0xNjksMTIgKzE2OSwxMCBAQCBEeW5hbWljIHN5bWJvbCB0YWJsZSByZWxv YWRpbmcgbXVsdGlwbGUgCiAJCSAgICB2YWx1ZSk7CiB9CiAKLS8qIElmIG5v bi16ZXJvLCBnZGIgd2lsbCBub3RpZnkgdGhlIHVzZXIgd2hlbiBpdCBpcyBs b2FkaW5nIHN5bWJvbHMKLSAgIGZyb20gYSBmaWxlLiAgVGhpcyBpcyBhbG1v c3QgYWx3YXlzIHdoYXQgdXNlcnMgd2lsbCB3YW50IHRvIGhhdmUgaGFwcGVu OwotICAgYnV0IGZvciBwcm9ncmFtcyB3aXRoIGxvdHMgb2YgZHluYW1pY2Fs bHkgbGlua2VkIGxpYnJhcmllcywgdGhlIG91dHB1dAotICAgY2FuIGJlIG1v cmUgbm9pc2UgdGhhbiBzaWduYWwuICAqLworLyogSWYgbm9uLXplcm8sIGdk YiB3aWxsIHdhcm4gdGhlIHVzZXIgd2hlbiBpdCBpcyBhdXRvLWxvYWRpbmcg c3ltYm9scworICAgZnJvbSBmaWxlcyB0aGF0IGRvbid0IGhhdmUgc3ltYm9s cy4gICovCiAKLWludCBwcmludF9zeW1ib2xfbG9hZGluZyA9IDE7CitzdGF0 aWMgaW50IHByaW50X3N5bWJvbF9sb2FkaW5nX3dhcm5pbmdzID0gMDsKIAog LyogSWYgbm9uLXplcm8sIHNoYXJlZCBsaWJyYXJ5IHN5bWJvbHMgd2lsbCBi ZSBhZGRlZCBhdXRvbWF0aWNhbGx5CiAgICB3aGVuIHRoZSBpbmZlcmlvciBp cyBjcmVhdGVkLCBuZXcgbGlicmFyaWVzIGFyZSBsb2FkZWQsIG9yIHdoZW4K QEAgLTk4NywxMiArOTg2LDkgQEAgc3ltYm9sX2ZpbGVfYWRkX3dpdGhfYWRk cnNfb3Jfb2Zmc2V0cyAoYgogCWRlcHJlY2F0ZWRfcHJlX2FkZF9zeW1ib2xf aG9vayAobmFtZSk7CiAgICAgICBlbHNlCiAJewotICAgICAgICAgIGlmIChw cmludF9zeW1ib2xfbG9hZGluZykKLQkgICAgewotCSAgICAgIHByaW50Zl91 bmZpbHRlcmVkIChfKCJSZWFkaW5nIHN5bWJvbHMgZnJvbSAlcy4uLiIpLCBu YW1lKTsKLQkgICAgICB3cmFwX2hlcmUgKCIiKTsKLQkgICAgICBnZGJfZmx1 c2ggKGdkYl9zdGRvdXQpOwotCSAgICB9CisJICBwcmludGZfdW5maWx0ZXJl ZCAoXygiUmVhZGluZyBzeW1ib2xzIGZyb20gJXMuLi4iKSwgbmFtZSk7CisJ ICB3cmFwX2hlcmUgKCIiKTsKKwkgIGdkYl9mbHVzaCAoZ2RiX3N0ZG91dCk7 CiAJfQogICAgIH0KICAgc3ltc19mcm9tX29iamZpbGUgKG9iamZpbGUsIGFk ZHJzLCBvZmZzZXRzLCBudW1fb2Zmc2V0cywKQEAgLTEwMDUsNyArMTAwMSw3 IEBAIHN5bWJvbF9maWxlX2FkZF93aXRoX2FkZHJzX29yX29mZnNldHMgKGIK IAogICBpZiAoKGZsYWdzICYgT0JKRl9SRUFETk9XKSB8fCByZWFkbm93X3N5 bWJvbF9maWxlcykKICAgICB7Ci0gICAgICBpZiAoKGZyb21fdHR5IHx8IGlu Zm9fdmVyYm9zZSkgJiYgcHJpbnRfc3ltYm9sX2xvYWRpbmcpCisgICAgICBp ZiAoZnJvbV90dHkgfHwgaW5mb192ZXJib3NlKQogCXsKIAkgIHByaW50Zl91 bmZpbHRlcmVkIChfKCJleHBhbmRpbmcgdG8gZnVsbCBzeW1ib2xzLi4uIikp OwogCSAgd3JhcF9oZXJlICgiIik7CkBAIC0xMDQ3LDE1ICsxMDQzLDIxIEBA IHN5bWJvbF9maWxlX2FkZF93aXRoX2FkZHJzX29yX29mZnNldHMgKGIKICAg ICAgIHhmcmVlIChkZWJ1Z2ZpbGUpOwogICAgIH0KIAotICBpZiAoIWhhdmVf cGFydGlhbF9zeW1ib2xzICgpICYmICFoYXZlX2Z1bGxfc3ltYm9scyAoKQot ICAgICAgJiYgcHJpbnRfc3ltYm9sX2xvYWRpbmcpCisgIC8qIFdhcm4gaWYg dGhlcmUgYXJlIG5vIGRlYnVnZ2luZyBzeW1ib2xzIGluIE9CSkZJTEUuCisg ICAgIEFsd2F5cyB3YXJuIGlmIHRoZSByZXF1ZXN0IGlzIGZyb20gdGhlIGNv bW1hbmQgbGluZSwgb3IgdmVyYm9zZSBpcyBvbi4KKyAgICAgT3RoZXJ3aXNl LCBvbmx5IHdhcm4gaWYgdGhlIHVzZXIgZXhwbGljaXRseSByZXF1ZXN0cyBp dDogd2hlbgorICAgICBkZWJ1Z2dpbmcgYXBwbGljYXRpb25zIHRoYXQgdXNl ZCBtYW55IHNoYXJlZCBsaWJyYXJpZXMgKGUuZy4gMTAwcyksCisgICAgIHRo aXMgaXMgbW9yZSBub2lzZSB0aGFuIHNpZ25hbC4gICovCisKKyAgaWYgKChm cm9tX3R0eSB8fCBpbmZvX3ZlcmJvc2UgfHwgcHJpbnRfc3ltYm9sX2xvYWRp bmdfd2FybmluZ3MpCisgICAgICAmJiAhb2JqZmlsZV9oYXNfcGFydGlhbF9z eW1ib2xzIChvYmpmaWxlKQorICAgICAgJiYgIW9iamZpbGVfaGFzX2Z1bGxf c3ltYm9scyAob2JqZmlsZSkpCiAgICAgewogICAgICAgd3JhcF9oZXJlICgi Iik7Ci0gICAgICBwcmludGZfdW5maWx0ZXJlZCAoXygiKG5vIGRlYnVnZ2lu ZyBzeW1ib2xzIGZvdW5kKSIpKTsKICAgICAgIGlmIChmcm9tX3R0eSB8fCBp bmZvX3ZlcmJvc2UpCi0gICAgICAgIHByaW50Zl91bmZpbHRlcmVkICgiLi4u Iik7CisgICAgICAgIHByaW50Zl91bmZpbHRlcmVkICgiKG5vIGRlYnVnZ2lu ZyBzeW1ib2xzIGZvdW5kKSAuLi4iKTsKICAgICAgIGVsc2UKLSAgICAgICAg cHJpbnRmX3VuZmlsdGVyZWQgKCJcbiIpOworICAgICAgICBwcmludGZfdW5m aWx0ZXJlZCAoIihubyBkZWJ1Z2dpbmcgc3ltYm9scyBmb3VuZCBpbiAlcylc biIsIG5hbWUpOwogICAgICAgd3JhcF9oZXJlICgiIik7CiAgICAgfQogCkBA IC0xMDY0LDEwICsxMDY2LDcgQEAgc3ltYm9sX2ZpbGVfYWRkX3dpdGhfYWRk cnNfb3Jfb2Zmc2V0cyAoYgogICAgICAgaWYgKGRlcHJlY2F0ZWRfcG9zdF9h ZGRfc3ltYm9sX2hvb2spCiAJZGVwcmVjYXRlZF9wb3N0X2FkZF9zeW1ib2xf aG9vayAoKTsKICAgICAgIGVsc2UKLQl7Ci0JICBpZiAocHJpbnRfc3ltYm9s X2xvYWRpbmcpCi0JICAgIHByaW50Zl91bmZpbHRlcmVkIChfKCJkb25lLlxu IikpOwotCX0KKwlwcmludGZfdW5maWx0ZXJlZCAoXygiZG9uZS5cbiIpKTsK ICAgICB9CiAKICAgLyogV2UgcHJpbnQgc29tZSBtZXNzYWdlcyByZWdhcmRs ZXNzIG9mIHdoZXRoZXIgJ2Zyb21fdHR5IHx8CkBAIC0yNDE0LDcgKzI0MTMs OCBAQCByZXJlYWRfc3ltYm9scyAodm9pZCkKIAkgICAgICAgICB6ZXJvIGlz IE9LIHNpbmNlIGRieHJlYWQuYyBhbHNvIGRvZXMgd2hhdCBpdCBuZWVkcyB0 byBkbyBpZgogCSAgICAgICAgIG9iamZpbGUtPmdsb2JhbF9wc3ltYm9scy5z aXplIGlzIDAuICAqLwogCSAgICAgICgqb2JqZmlsZS0+c2YtPnN5bV9yZWFk KSAob2JqZmlsZSwgMCk7Ci0JICAgICAgaWYgKCFoYXZlX3BhcnRpYWxfc3lt Ym9scyAoKSAmJiAhaGF2ZV9mdWxsX3N5bWJvbHMgKCkpCisJICAgICAgaWYg KCFvYmpmaWxlX2hhc19wYXJ0aWFsX3N5bWJvbHMgKG9iamZpbGUpCisJCSAg JiYgIW9iamZpbGVfaGFzX2Z1bGxfc3ltYm9scyAob2JqZmlsZSkpCiAJCXsK IAkJICB3cmFwX2hlcmUgKCIiKTsKIAkJICBwcmludGZfdW5maWx0ZXJlZCAo XygiKG5vIGRlYnVnZ2luZyBzeW1ib2xzIGZvdW5kKVxuIikpOwpAQCAtNDE2 NywxMCArNDE2NywxMCBAQCB0aGUgZ2xvYmFsIGRlYnVnLWZpbGUgZGlyZWN0 b3J5IHByZXBlbmRlCiAJCQkJICAgICBzaG93X2RlYnVnX2ZpbGVfZGlyZWN0 b3J5LAogCQkJCSAgICAgJnNldGxpc3QsICZzaG93bGlzdCk7CiAKLSAgYWRk X3NldHNob3dfYm9vbGVhbl9jbWQgKCJzeW1ib2wtbG9hZGluZyIsIG5vX2Ns YXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJnByaW50X3N5bWJv bF9sb2FkaW5nLCBfKCJcCi1TZXQgcHJpbnRpbmcgb2Ygc3ltYm9sIGxvYWRp bmcgbWVzc2FnZXMuIiksIF8oIlwKLVNob3cgcHJpbnRpbmcgb2Ygc3ltYm9s IGxvYWRpbmcgbWVzc2FnZXMuIiksIE5VTEwsCisgIGFkZF9zZXRzaG93X2Jv b2xlYW5fY21kICgic3ltYm9sLWxvYWRpbmctd2FybmluZ3MiLCBub19jbGFz cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZwcmludF9zeW1ib2xf bG9hZGluZ193YXJuaW5ncywgXygiXAorU2V0IHByaW50aW5nIG9mIHdhcm5p bmdzIHdoZW4gYXV0by1sb2FkaW5nIGZpbGVzIHdpdGhvdXQgc3ltYm9scy4i KSwgXygiXAorU2hvdyBwcmludGluZyBvZiB3YXJuaW5ncyB3aGVuIGF1dG8t bG9hZGluZyBmaWxlcyB3aXRob3V0IHN5bWJvbHMuIiksIE5VTEwsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgTlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZzZXRwcmludGxpc3QsICZzaG93cHJpbnRsaXN0KTsKSW5kZXg6IGRvYy9n ZGIudGV4aW5mbwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAv Y3ZzL3NyYy9zcmMvZ2RiL2RvYy9nZGIudGV4aW5mbyx2CnJldHJpZXZpbmcg cmV2aXNpb24gMS42MDAKZGlmZiAtdSAtcCAtcjEuNjAwIGdkYi50ZXhpbmZv Ci0tLSBkb2MvZ2RiLnRleGluZm8JMTUgSnVuIDIwMDkgMTI6MTE6MzYgLTAw MDAJMS42MDAKKysrIGRvYy9nZGIudGV4aW5mbwkxOCBKdW4gMjAwOSAyMzo1 OToyNCAtMDAwMApAQCAtMTI0ODAsMjEgKzEyNDgwLDIxIEBAIGlzIHByaW50 ZWQgYXMgZm9sbG93czoKIEBpdGVtIHNob3cgb3BhcXVlLXR5cGUtcmVzb2x1 dGlvbgogU2hvdyB3aGV0aGVyIG9wYXF1ZSB0eXBlcyBhcmUgcmVzb2x2ZWQg b3Igbm90LgogCi1Aa2luZGV4IHNldCBwcmludCBzeW1ib2wtbG9hZGluZwot QGNpbmRleCBwcmludCBtZXNzYWdlcyB3aGVuIHN5bWJvbHMgYXJlIGxvYWRl ZAotQGl0ZW0gc2V0IHByaW50IHN5bWJvbC1sb2FkaW5nCi1AaXRlbXggc2V0 IHByaW50IHN5bWJvbC1sb2FkaW5nIG9uCi1AaXRlbXggc2V0IHByaW50IHN5 bWJvbC1sb2FkaW5nIG9mZgotVGhlIEBjb2Rle3NldCBwcmludCBzeW1ib2wt bG9hZGluZ30gY29tbWFuZCBhbGxvd3MgeW91IHRvIGVuYWJsZSBvcgotZGlz YWJsZSBwcmludGluZyBvZiBtZXNzYWdlcyB3aGVuIEB2YWx1ZXtHREJOfSBs b2FkcyBzeW1ib2xzLgotQnkgZGVmYXVsdCwgdGhlc2UgbWVzc2FnZXMgd2ls bCBiZSBwcmludGVkLCBhbmQgbm9ybWFsbHkgdGhpcyBpcyB3aGF0Ci15b3Ug d2FudC4gIERpc2FibGluZyB0aGVzZSBtZXNzYWdlcyBpcyB1c2VmdWwgd2hl biBkZWJ1Z2dpbmcgYXBwbGljYXRpb25zCi13aXRoIGxvdHMgb2Ygc2hhcmVk IGxpYnJhcmllcyB3aGVyZSB0aGUgcXVhbnRpdHkgb2Ygb3V0cHV0IGNhbiBi ZSBtb3JlCi1hbm5veWluZyB0aGFuIHVzZWZ1bC4KK0BraW5kZXggc2V0IHBy aW50IHN5bWJvbC1sb2FkaW5nLXdhcm5pbmdzCitAY2luZGV4IHByaW50IHdh cm5pbmdzIHdoZW4gYXV0by1sb2FkaW5nIGZpbGVzIHdpdGhvdXQgc3ltYm9s cworQGl0ZW0gc2V0IHByaW50IHN5bWJvbC1sb2FkaW5nLXdhcm5pbmdzCitA aXRlbXggc2V0IHByaW50IHN5bWJvbC1sb2FkaW5nLXdhcm5pbmdzIG9uCitA aXRlbXggc2V0IHByaW50IHN5bWJvbC1sb2FkaW5nLXdhcm5pbmdzIG9mZgor VGhlIEBjb2Rle3NldCBwcmludCBzeW1ib2wtbG9hZGluZy13YXJuaW5nc30g Y29tbWFuZCBhbGxvd3MgeW91IHRvIGVuYWJsZSBvcgorZGlzYWJsZSBwcmlu dGluZyBvZiB3YXJuaW5nIG1lc3NhZ2VzIHdoZW4gQHZhbHVle0dEQk59IGlt cGxpY2l0bHkgbG9hZHMgc3ltYm9scworZm9yIGZpbGVzLiAgQnkgZGVmYXVs dCwgdGhlc2UgbWVzc2FnZXMgYXJlIGRpc2FibGVkLgorV2hlbiBkZWJ1Z2dp bmcgYXBwbGljYXRpb25zIHdpdGggbG90cyBvZiBzaGFyZWQgbGlicmFyaWVz IHRoZSBxdWFudGl0eQorb2Ygb3V0cHV0IGNhbiBiZSBtb3JlIGFubm95aW5n IHRoYW4gdXNlZnVsLgogCi1Aa2luZGV4IHNob3cgcHJpbnQgc3ltYm9sLWxv YWRpbmcKK0BraW5kZXggc2hvdyBwcmludCBzeW1ib2wtbG9hZGluZy13YXJu aW5ncwogQGl0ZW0gc2hvdyBwcmludCBzeW1ib2wtbG9hZGluZwotU2hvdyB3 aGV0aGVyIG1lc3NhZ2VzIHdpbGwgYmUgcHJpbnRlZCB3aGVuIEB2YWx1ZXtH REJOfSBsb2FkcyBzeW1ib2xzLgorU2hvdyB3aGV0aGVyIHdhcm5pbmdzIHdp bGwgYmUgcHJpbnRlZCB3aGVuIEB2YWx1ZXtHREJOfSBpbXBsaWNpdGx5IGxv YWRzCitzeW1ib2xzIGZvciBmaWxlcy4KIAogQGtpbmRleCBtYWludCBwcmlu dCBzeW1ib2xzCiBAY2luZGV4IHN5bWJvbCBkdW1wCg== --0016363b92227780dc046ca8dfa8--