From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1278 invoked by alias); 10 Jan 2012 21:33:14 -0000 Received: (qmail 1257 invoked by uid 22791); 10 Jan 2012 21:33:11 -0000 X-SWARE-Spam-Status: No, hits=-3.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_LOW,TW_BJ,TW_TM,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-vx0-f169.google.com (HELO mail-vx0-f169.google.com) (209.85.220.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 10 Jan 2012 21:32:58 +0000 Received: by vcge1 with SMTP id e1so39660vcg.0 for ; Tue, 10 Jan 2012 13:32:57 -0800 (PST) Received: by 10.52.99.74 with SMTP id eo10mr10367118vdb.12.1326231177130; Tue, 10 Jan 2012 13:32:57 -0800 (PST) MIME-Version: 1.0 Received: by 10.52.99.74 with SMTP id eo10mr10367112vdb.12.1326231177016; Tue, 10 Jan 2012 13:32:57 -0800 (PST) Received: by 10.220.229.1 with HTTP; Tue, 10 Jan 2012 13:32:56 -0800 (PST) In-Reply-To: <20120110035113.GA31383@adacore.com> References: <20120110014616.957501E25C7@ruffy2.mtv.corp.google.com> <20120110035113.GA31383@adacore.com> Date: Tue, 10 Jan 2012 21:46:00 -0000 Message-ID: Subject: Re: [patch] dwarf2read.c: Don't read pc/line-number mapping for type units From: Doug Evans To: Joel Brobecker Cc: gdb-patches@sourceware.org X-System-Of-Record: true Content-Type: multipart/mixed; boundary=20cf307d047a3233be04b63342d6 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/msg00322.txt.bz2 --20cf307d047a3233be04b63342d6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1451 On Mon, Jan 9, 2012 at 7:51 PM, Joel Brobecker wrot= e: >> Type units don't need the pc/line-number mapping, >> and this can save a lot of space. > > Types in general have a sloc, and we sometimes use them. For instance, > trying the following: > > =A0 =A0 =A0 =A0(gdb) ptype ambiguous_type > =A0 =A0 =A0 =A0Multiple matches for ambiguous_type > =A0 =A0 =A0 =A0[0] cancel > =A0 =A0 =A0 =A0[1] pck.ambiguous_type at pck.adb:8 > =A0 =A0 =A0 =A0[2] bar.ambiguous_type at bar.adb:9 > =A0 =A0 =A0 =A0> > > Is your patch going to affect the above? Appended is what I committed to trunk. I think it's fine. >> Joel: I'd also like to check this into the 7.4 branch. >> IMO it's safe enough. > > No problem on my end if the concerns above are unfounded. > Although I know I do not know this file as well as you do. It's rarely how much I know, it's how much I remember. 1/2 :-) The memory space reduction is substantial so I'd like to get this in 7.4. [the reduction only kicks in for .debug_types, btw] 2012-01-10 Doug Evans * dwarf2read.c (dwarf_decode_lines): Remove arg "abfd". New arg "want_line_info". All callers updated. (dwarf_decode_lines_1): New function. (handle_DW_AT_stmt_list): Add function comment. New arg "want_line_info". All callers updated. (read_file_scope,read_type_unit_scope): Move comment from handle_DW_AT_stmt_list to here. --20cf307d047a3233be04b63342d6 Content-Type: text/plain; charset=US-ASCII; name="gdb-120110-type-unit-line-info-2.patch.txt" Content-Disposition: attachment; filename="gdb-120110-type-unit-line-info-2.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gx9fsc0l0 Content-length: 10818 MjAxMi0wMS0xMCAgRG91ZyBFdmFucyAgPGRqZUBnb29nbGUuY29tPgoKCSog ZHdhcmYycmVhZC5jIChkd2FyZl9kZWNvZGVfbGluZXMpOiBSZW1vdmUgYXJn ICJhYmZkIi4gIE5ldyBhcmcKCSJ3YW50X2xpbmVfaW5mbyIuICBBbGwgY2Fs bGVycyB1cGRhdGVkLgoJKGR3YXJmX2RlY29kZV9saW5lc18xKTogTmV3IGZ1 bmN0aW9uLgoJKGhhbmRsZV9EV19BVF9zdG10X2xpc3QpOiBBZGQgZnVuY3Rp b24gY29tbWVudC4KCU5ldyBhcmcgIndhbnRfbGluZV9pbmZvIi4gIEFsbCBj YWxsZXJzIHVwZGF0ZWQuCgkocmVhZF9maWxlX3Njb3BlLHJlYWRfdHlwZV91 bml0X3Njb3BlKTogTW92ZSBjb21tZW50IGZyb20KCWhhbmRsZV9EV19BVF9z dG10X2xpc3QgdG8gaGVyZS4KCkluZGV4OiBkd2FyZjJyZWFkLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9k d2FyZjJyZWFkLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNjA1CmRpZmYg LXUgLXAgLXIxLjYwNSBkd2FyZjJyZWFkLmMKLS0tIGR3YXJmMnJlYWQuYwk5 IEphbiAyMDEyIDE3OjQwOjA1IC0wMDAwCTEuNjA1CisrKyBkd2FyZjJyZWFk LmMJMTAgSmFuIDIwMTIgMjE6MDk6MzkgLTAwMDAKQEAgLTk4Niw4ICs5ODYs OSBAQCBzdGF0aWMgc3RydWN0IGxpbmVfaGVhZGVyICooZHdhcmZfZGVjb2Rl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGludCBv ZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJmZCAqYWJm ZCwgc3RydWN0IGR3YXJmMl9jdSAqY3UpKTsKIAotc3RhdGljIHZvaWQgZHdh cmZfZGVjb2RlX2xpbmVzIChzdHJ1Y3QgbGluZV9oZWFkZXIgKiwgY29uc3Qg Y2hhciAqLCBiZmQgKiwKLQkJCQlzdHJ1Y3QgZHdhcmYyX2N1ICosIHN0cnVj dCBwYXJ0aWFsX3N5bXRhYiAqKTsKK3N0YXRpYyB2b2lkIGR3YXJmX2RlY29k ZV9saW5lcyAoc3RydWN0IGxpbmVfaGVhZGVyICosIGNvbnN0IGNoYXIgKiwK KwkJCQlzdHJ1Y3QgZHdhcmYyX2N1ICosIHN0cnVjdCBwYXJ0aWFsX3N5bXRh YiAqLAorCQkJCWludCk7CiAKIHN0YXRpYyB2b2lkIGR3YXJmMl9zdGFydF9z dWJmaWxlIChjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsK IApAQCAtMzEwMiw3ICszMTAzLDcgQEAgZHdhcmYyX2J1aWxkX2luY2x1ZGVf cHN5bXRhYnMgKHN0cnVjdCBkdwogICAgIHJldHVybjsgIC8qIE5vIGxpbmV0 YWJsZSwgc28gbm8gaW5jbHVkZXMuICAqLwogCiAgIC8qIE5PVEU6IHBzdC0+ ZGlybmFtZSBpcyBEV19BVF9jb21wX2RpciAoaWYgcHJlc2VudCkuICAqLwot ICBkd2FyZl9kZWNvZGVfbGluZXMgKGxoLCBwc3QtPmRpcm5hbWUsIGFiZmQs IGN1LCBwc3QpOworICBkd2FyZl9kZWNvZGVfbGluZXMgKGxoLCBwc3QtPmRp cm5hbWUsIGN1LCBwc3QsIDEpOwogCiAgIGZyZWVfbGluZV9oZWFkZXIgKGxo KTsKIH0KQEAgLTU1MjEsMTkgKzU1MjIsMTkgQEAgZmluZF9maWxlX2FuZF9k aXJlY3RvcnkgKHN0cnVjdCBkaWVfaW5mbwogICAgICpuYW1lID0gIjx1bmtu b3duPiI7CiB9CiAKLS8qIEhhbmRsZSBEV19BVF9zdG10X2xpc3QgZm9yIGEg Y29tcGlsYXRpb24gdW5pdC4gICovCisvKiBIYW5kbGUgRFdfQVRfc3RtdF9s aXN0IGZvciBhIGNvbXBpbGF0aW9uIHVuaXQgb3IgdHlwZSB1bml0LgorICAg RElFIGlzIHRoZSBEV19UQUdfY29tcGlsZV91bml0IG9yIERXX1RBR190eXBl X3VuaXQgZGllIGZvciBDVS4KKyAgIENPTVBfRElSIGlzIHRoZSBjb21waWxh dGlvbiBkaXJlY3RvcnkuCisgICBXQU5UX0xJTkVfSU5GTyBpcyBub24temVy byBpZiB0aGUgcGMvbGluZS1udW1iZXIgbWFwcGluZyBpcyBuZWVkZWQuICAq LwogCiBzdGF0aWMgdm9pZAogaGFuZGxlX0RXX0FUX3N0bXRfbGlzdCAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LAotCQkJ Y29uc3QgY2hhciAqY29tcF9kaXIpCisJCQljb25zdCBjaGFyICpjb21wX2Rp ciwgaW50IHdhbnRfbGluZV9pbmZvKQogewogICBzdHJ1Y3QgYXR0cmlidXRl ICphdHRyOwogICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9IGN1LT5vYmpm aWxlOwogICBiZmQgKmFiZmQgPSBvYmpmaWxlLT5vYmZkOwogCi0gIC8qIERl Y29kZSBsaW5lIG51bWJlciBpbmZvcm1hdGlvbiBpZiBwcmVzZW50LiAgV2Ug ZG8gdGhpcyBiZWZvcmUKLSAgICAgcHJvY2Vzc2luZyBjaGlsZCBESUVzLCBz byB0aGF0IHRoZSBsaW5lIGhlYWRlciB0YWJsZSBpcyBhdmFpbGFibGUKLSAg ICAgZm9yIERXX0FUX2RlY2xfZmlsZS4gICovCiAgIGF0dHIgPSBkd2FyZjJf YXR0ciAoZGllLCBEV19BVF9zdG10X2xpc3QsIGN1KTsKICAgaWYgKGF0dHIp CiAgICAgewpAQCAtNTU0NSw3ICs1NTQ2LDcgQEAgaGFuZGxlX0RXX0FUX3N0 bXRfbGlzdCAoc3RydWN0IGRpZV9pbmZvIAogICAgICAgICB7CiAgICAgICAg ICAgY3UtPmxpbmVfaGVhZGVyID0gbGluZV9oZWFkZXI7CiAgICAgICAgICAg bWFrZV9jbGVhbnVwIChmcmVlX2N1X2xpbmVfaGVhZGVyLCBjdSk7Ci0gICAg ICAgICAgZHdhcmZfZGVjb2RlX2xpbmVzIChsaW5lX2hlYWRlciwgY29tcF9k aXIsIGFiZmQsIGN1LCBOVUxMKTsKKwkgIGR3YXJmX2RlY29kZV9saW5lcyAo bGluZV9oZWFkZXIsIGNvbXBfZGlyLCBjdSwgTlVMTCwgd2FudF9saW5lX2lu Zm8pOwogICAgICAgICB9CiAgICAgfQogfQpAQCAtNTYwNCw3ICs1NjA1LDEw IEBAIHJlYWRfZmlsZV9zY29wZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHMK ICAgcmVjb3JkX2RlYnVnZm9ybWF0ICgiRFdBUkYgMiIpOwogICByZWNvcmRf cHJvZHVjZXIgKGN1LT5wcm9kdWNlcik7CiAKLSAgaGFuZGxlX0RXX0FUX3N0 bXRfbGlzdCAoZGllLCBjdSwgY29tcF9kaXIpOworICAvKiBEZWNvZGUgbGlu ZSBudW1iZXIgaW5mb3JtYXRpb24gaWYgcHJlc2VudC4gIFdlIGRvIHRoaXMg YmVmb3JlCisgICAgIHByb2Nlc3NpbmcgY2hpbGQgRElFcywgc28gdGhhdCB0 aGUgbGluZSBoZWFkZXIgdGFibGUgaXMgYXZhaWxhYmxlCisgICAgIGZvciBE V19BVF9kZWNsX2ZpbGUuICAqLworICBoYW5kbGVfRFdfQVRfc3RtdF9saXN0 IChkaWUsIGN1LCBjb21wX2RpciwgMSk7CiAKICAgLyogUHJvY2VzcyBhbGwg ZGllcyBpbiBjb21waWxhdGlvbiB1bml0LiAgKi8KICAgaWYgKGRpZS0+Y2hp bGQgIT0gTlVMTCkKQEAgLTU3MDcsNyArNTcxMSwxMSBAQCByZWFkX3R5cGVf dW5pdF9zY29wZSAoc3RydWN0IGRpZV9pbmZvICpkCiAgIHJlY29yZF9kZWJ1 Z2Zvcm1hdCAoIkRXQVJGIDIiKTsKICAgcmVjb3JkX3Byb2R1Y2VyIChjdS0+ cHJvZHVjZXIpOwogCi0gIGhhbmRsZV9EV19BVF9zdG10X2xpc3QgKGRpZSwg Y3UsIGNvbXBfZGlyKTsKKyAgLyogRGVjb2RlIGxpbmUgbnVtYmVyIGluZm9y bWF0aW9uIGlmIHByZXNlbnQuICBXZSBkbyB0aGlzIGJlZm9yZQorICAgICBw cm9jZXNzaW5nIGNoaWxkIERJRXMsIHNvIHRoYXQgdGhlIGxpbmUgaGVhZGVy IHRhYmxlIGlzIGF2YWlsYWJsZQorICAgICBmb3IgRFdfQVRfZGVjbF9maWxl LgorICAgICBXZSBkb24ndCBuZWVkIHRoZSBwYy9saW5lLW51bWJlciBtYXBw aW5nIGZvciB0eXBlIHVuaXRzLiAgKi8KKyAgaGFuZGxlX0RXX0FUX3N0bXRf bGlzdCAoZGllLCBjdSwgY29tcF9kaXIsIDApOwogCiAgIC8qIFByb2Nlc3Mg dGhlIGRpZXMgaW4gdGhlIHR5cGUgdW5pdC4gICovCiAgIGlmIChkaWUtPmNo aWxkID09IE5VTEwpCkBAIC0xMTA0NiwzMSArMTEwNTQsMTIgQEAgbm9vcF9y ZWNvcmRfbGluZSAoc3RydWN0IHN1YmZpbGUgKnN1YmZpbAogICByZXR1cm47 CiB9CiAKLS8qIERlY29kZSB0aGUgTGluZSBOdW1iZXIgUHJvZ3JhbSAoTE5Q KSBmb3IgdGhlIGdpdmVuIGxpbmVfaGVhZGVyCi0gICBzdHJ1Y3R1cmUgYW5k IENVLiAgVGhlIGFjdHVhbCBpbmZvcm1hdGlvbiBleHRyYWN0ZWQgYW5kIHRo ZSB0eXBlCi0gICBvZiBzdHJ1Y3R1cmVzIGNyZWF0ZWQgZnJvbSB0aGUgTE5Q IGRlcGVuZHMgb24gdGhlIHZhbHVlIG9mIFBTVC4KLQotICAgMS4gSWYgUFNU IGlzIE5VTEwsIHRoZW4gdGhpcyBwcm9jZWR1cmUgdXNlcyB0aGUgZGF0YSBm cm9tIHRoZSBwcm9ncmFtCi0gICAgICB0byBjcmVhdGUgYWxsIG5lY2Vzc2Fy eSBzeW1ib2wgdGFibGVzLCBhbmQgdGhlaXIgbGluZXRhYmxlcy4KLQotICAg Mi4gSWYgUFNUIGlzIG5vdCBOVUxMLCB0aGlzIHByb2NlZHVyZSByZWFkcyB0 aGUgcHJvZ3JhbSB0byBkZXRlcm1pbmUKLSAgICAgIHRoZSBsaXN0IG9mIGZp bGVzIGluY2x1ZGVkIGJ5IHRoZSB1bml0IHJlcHJlc2VudGVkIGJ5IFBTVCwg YW5kCi0gICAgICBidWlsZHMgYWxsIHRoZSBhc3NvY2lhdGVkIHBhcnRpYWwg c3ltYm9sIHRhYmxlcy4KLQotICAgQ09NUF9ESVIgaXMgdGhlIGNvbXBpbGF0 aW9uIGRpcmVjdG9yeSAoRFdfQVRfY29tcF9kaXIpIG9yIE5VTEwgaWYgdW5r bm93bi4KLSAgIEl0IGlzIHVzZWQgZm9yIHJlbGF0aXZlIHBhdGhzIGluIHRo ZSBsaW5lIHRhYmxlLgotICAgTk9URTogV2hlbiBwcm9jZXNzaW5nIHBhcnRp YWwgc3ltdGFicyAocHN0ICE9IE5VTEwpLAotICAgY29tcF9kaXIgPT0gcHN0 LT5kaXJuYW1lLgotCi0gICBOT1RFOiBJdCBpcyBpbXBvcnRhbnQgdGhhdCBw c3ltdGFicyBoYXZlIHRoZSBzYW1lIGZpbGUgbmFtZSAodmlhIHN0cmNtcCkK LSAgIGFzIHRoZSBjb3JyZXNwb25kaW5nIHN5bXRhYi4gIFNpbmNlIENPTVBf RElSIGlzIG5vdCB1c2VkIGluIHRoZSBuYW1lIG9mIHRoZQotICAgc3ltdGFi IHdlIGRvbid0IHVzZSBpdCBpbiB0aGUgbmFtZSBvZiB0aGUgcHN5bXRhYnMg d2UgY3JlYXRlLgotICAgRS5nLiBleHBhbmRfbGluZV9zYWwgcmVxdWlyZXMg dGhpcyB3aGVuIGZpbmRpbmcgcHN5bXRhYnMgdG8gZXhwYW5kLgotICAgQSBn b29kIHRlc3RjYXNlIGZvciB0aGlzIGlzIG1iLWlubGluZS5leHAuICAqLwor LyogU3Vicm91dGluZSBvZiBkd2FyZl9kZWNvZGVfbGluZXMgdG8gc2ltcGxp ZnkgaXQuCisgICBQcm9jZXNzIHRoZSBsaW5lIG51bWJlciBpbmZvcm1hdGlv biBpbiBMSC4gICovCiAKIHN0YXRpYyB2b2lkCi1kd2FyZl9kZWNvZGVfbGlu ZXMgKHN0cnVjdCBsaW5lX2hlYWRlciAqbGgsIGNvbnN0IGNoYXIgKmNvbXBf ZGlyLCBiZmQgKmFiZmQsCi0JCSAgICBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwg c3RydWN0IHBhcnRpYWxfc3ltdGFiICpwc3QpCitkd2FyZl9kZWNvZGVfbGlu ZXNfMSAoc3RydWN0IGxpbmVfaGVhZGVyICpsaCwgY29uc3QgY2hhciAqY29t cF9kaXIsCisJCSAgICAgIHN0cnVjdCBkd2FyZjJfY3UgKmN1LCBzdHJ1Y3Qg cGFydGlhbF9zeW10YWIgKnBzdCkKIHsKICAgZ2RiX2J5dGUgKmxpbmVfcHRy LCAqZXh0ZW5kZWRfZW5kOwogICBnZGJfYnl0ZSAqbGluZV9lbmQ7CkBAIC0x MTA3OCw5ICsxMTA2NywxMCBAQCBkd2FyZl9kZWNvZGVfbGluZXMgKHN0cnVj dCBsaW5lX2hlYWRlciAqCiAgIHVuc2lnbmVkIGNoYXIgb3BfY29kZSwgZXh0 ZW5kZWRfb3AsIGFkal9vcGNvZGU7CiAgIENPUkVfQUREUiBiYXNlYWRkcjsK ICAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUgPSBjdS0+b2JqZmlsZTsKKyAg YmZkICphYmZkID0gb2JqZmlsZS0+b2JmZDsKICAgc3RydWN0IGdkYmFyY2gg KmdkYmFyY2ggPSBnZXRfb2JqZmlsZV9hcmNoIChvYmpmaWxlKTsKICAgY29u c3QgaW50IGRlY29kZV9mb3JfcHN0X3AgPSAocHN0ICE9IE5VTEwpOwotICBz dHJ1Y3Qgc3ViZmlsZSAqbGFzdF9zdWJmaWxlID0gTlVMTCwgKmZpcnN0X3N1 YmZpbGUgPSBjdXJyZW50X3N1YmZpbGU7CisgIHN0cnVjdCBzdWJmaWxlICps YXN0X3N1YmZpbGUgPSBOVUxMOwogICB2b2lkICgqcF9yZWNvcmRfbGluZSkg KHN0cnVjdCBzdWJmaWxlICpzdWJmaWxlLCBpbnQgbGluZSwgQ09SRV9BRERS IHBjKQogICAgID0gcmVjb3JkX2xpbmU7CiAKQEAgLTExMzU4LDYgKzExMzQ4 LDQxIEBAIGR3YXJmX2RlY29kZV9saW5lcyAoc3RydWN0IGxpbmVfaGVhZGVy ICoKIAkgICAgfQogICAgICAgICB9CiAgICAgfQorfQorCisvKiBEZWNvZGUg dGhlIExpbmUgTnVtYmVyIFByb2dyYW0gKExOUCkgZm9yIHRoZSBnaXZlbiBs aW5lX2hlYWRlcgorICAgc3RydWN0dXJlIGFuZCBDVS4gIFRoZSBhY3R1YWwg aW5mb3JtYXRpb24gZXh0cmFjdGVkIGFuZCB0aGUgdHlwZQorICAgb2Ygc3Ry dWN0dXJlcyBjcmVhdGVkIGZyb20gdGhlIExOUCBkZXBlbmRzIG9uIHRoZSB2 YWx1ZSBvZiBQU1QuCisKKyAgIDEuIElmIFBTVCBpcyBOVUxMLCB0aGVuIHRo aXMgcHJvY2VkdXJlIHVzZXMgdGhlIGRhdGEgZnJvbSB0aGUgcHJvZ3JhbQor ICAgICAgdG8gY3JlYXRlIGFsbCBuZWNlc3Nhcnkgc3ltYm9sIHRhYmxlcywg YW5kIHRoZWlyIGxpbmV0YWJsZXMuCisKKyAgIDIuIElmIFBTVCBpcyBub3Qg TlVMTCwgdGhpcyBwcm9jZWR1cmUgcmVhZHMgdGhlIHByb2dyYW0gdG8gZGV0 ZXJtaW5lCisgICAgICB0aGUgbGlzdCBvZiBmaWxlcyBpbmNsdWRlZCBieSB0 aGUgdW5pdCByZXByZXNlbnRlZCBieSBQU1QsIGFuZAorICAgICAgYnVpbGRz IGFsbCB0aGUgYXNzb2NpYXRlZCBwYXJ0aWFsIHN5bWJvbCB0YWJsZXMuCisK KyAgIENPTVBfRElSIGlzIHRoZSBjb21waWxhdGlvbiBkaXJlY3RvcnkgKERX X0FUX2NvbXBfZGlyKSBvciBOVUxMIGlmIHVua25vd24uCisgICBJdCBpcyB1 c2VkIGZvciByZWxhdGl2ZSBwYXRocyBpbiB0aGUgbGluZSB0YWJsZS4KKyAg IE5PVEU6IFdoZW4gcHJvY2Vzc2luZyBwYXJ0aWFsIHN5bXRhYnMgKHBzdCAh PSBOVUxMKSwKKyAgIGNvbXBfZGlyID09IHBzdC0+ZGlybmFtZS4KKworICAg Tk9URTogSXQgaXMgaW1wb3J0YW50IHRoYXQgcHN5bXRhYnMgaGF2ZSB0aGUg c2FtZSBmaWxlIG5hbWUgKHZpYSBzdHJjbXApCisgICBhcyB0aGUgY29ycmVz cG9uZGluZyBzeW10YWIuICBTaW5jZSBDT01QX0RJUiBpcyBub3QgdXNlZCBp biB0aGUgbmFtZSBvZiB0aGUKKyAgIHN5bXRhYiB3ZSBkb24ndCB1c2UgaXQg aW4gdGhlIG5hbWUgb2YgdGhlIHBzeW10YWJzIHdlIGNyZWF0ZS4KKyAgIEUu Zy4gZXhwYW5kX2xpbmVfc2FsIHJlcXVpcmVzIHRoaXMgd2hlbiBmaW5kaW5n IHBzeW10YWJzIHRvIGV4cGFuZC4KKyAgIEEgZ29vZCB0ZXN0Y2FzZSBmb3Ig dGhpcyBpcyBtYi1pbmxpbmUuZXhwLiAgKi8KKworc3RhdGljIHZvaWQKK2R3 YXJmX2RlY29kZV9saW5lcyAoc3RydWN0IGxpbmVfaGVhZGVyICpsaCwgY29u c3QgY2hhciAqY29tcF9kaXIsCisJCSAgICBzdHJ1Y3QgZHdhcmYyX2N1ICpj dSwgc3RydWN0IHBhcnRpYWxfc3ltdGFiICpwc3QsCisJCSAgICBpbnQgd2Fu dF9saW5lX2luZm8pCit7CisgIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlID0g Y3UtPm9iamZpbGU7CisgIGNvbnN0IGludCBkZWNvZGVfZm9yX3BzdF9wID0g KHBzdCAhPSBOVUxMKTsKKyAgc3RydWN0IHN1YmZpbGUgKmZpcnN0X3N1YmZp bGUgPSBjdXJyZW50X3N1YmZpbGU7CisKKyAgaWYgKHdhbnRfbGluZV9pbmZv KQorICAgIGR3YXJmX2RlY29kZV9saW5lc18xIChsaCwgY29tcF9kaXIsIGN1 LCBwc3QpOwogCiAgIGlmIChkZWNvZGVfZm9yX3BzdF9wKQogICAgIHsKQEAg LTExMzc5LDEzICsxMTQwNCwxMiBAQCBkd2FyZl9kZWNvZGVfbGluZXMgKHN0 cnVjdCBsaW5lX2hlYWRlciAqCiAgICAgICAvKiBNYWtlIHN1cmUgYSBzeW10 YWIgaXMgY3JlYXRlZCBmb3IgZXZlcnkgZmlsZSwgZXZlbiBmaWxlcwogCSB3 aGljaCBjb250YWluIG9ubHkgdmFyaWFibGVzIChpLmUuIG5vIGNvZGUgd2l0 aCBhc3NvY2lhdGVkCiAJIGxpbmUgbnVtYmVycykuICAqLwotCiAgICAgICBp bnQgaTsKLSAgICAgIHN0cnVjdCBmaWxlX2VudHJ5ICpmZTsKIAogICAgICAg Zm9yIChpID0gMDsgaSA8IGxoLT5udW1fZmlsZV9uYW1lczsgaSsrKQogCXsK IAkgIGNoYXIgKmRpciA9IE5VTEw7CisJICBzdHJ1Y3QgZmlsZV9lbnRyeSAq ZmU7CiAKIAkgIGZlID0gJmxoLT5maWxlX25hbWVzW2ldOwogCSAgaWYgKGZl LT5kaXJfaW5kZXgpCg== --20cf307d047a3233be04b63342d6--