From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20395 invoked by alias); 26 Aug 2009 14:37:50 -0000 Received: (qmail 20262 invoked by uid 22791); 26 Aug 2009 14:37:47 -0000 X-SWARE-Spam-Status: No, hits=-1.2 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_31,J_CHICKENPOX_42,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.33.17) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 26 Aug 2009 14:37:32 +0000 Received: from zps77.corp.google.com (zps77.corp.google.com [172.25.146.77]) by smtp-out.google.com with ESMTP id n7QEbRtp025657 for ; Wed, 26 Aug 2009 15:37:28 +0100 Received: from pxi1 (pxi1.prod.google.com [10.243.27.1]) by zps77.corp.google.com with ESMTP id n7QEbCCt027384 for ; Wed, 26 Aug 2009 07:37:25 -0700 Received: by pxi1 with SMTP id 1so117175pxi.31 for ; Wed, 26 Aug 2009 07:37:24 -0700 (PDT) MIME-Version: 1.0 Received: by 10.140.163.18 with SMTP id l18mr3446552rve.263.1251297444158; Wed, 26 Aug 2009 07:37:24 -0700 (PDT) In-Reply-To: <20090826120349.GA10411@host0.dyn.jankratochvil.net> References: <8ac60eac0908201340k6b759eb5o9bb73c8f473d8785@mail.gmail.com> <200908211130.n7LBUCJc011108@d12av02.megacenter.de.ibm.com> <8ac60eac0908231548x135edf2doa04fa59a49455bcd@mail.gmail.com> <8ac60eac0908260020l4200cf84v2686a76b5858d13@mail.gmail.com> <20090826120349.GA10411@host0.dyn.jankratochvil.net> Date: Wed, 26 Aug 2009 14:38:00 -0000 Message-ID: <8ac60eac0908260737x4458c789o18c9d01bffa8c73c@mail.gmail.com> Subject: Re: [patch] Speed up find_pc_section From: Paul Pluzhnikov To: Jan Kratochvil Cc: Ulrich Weigand , gdb-patches ml , Tom Tromey Content-Type: multipart/mixed; boundary=000e0cd2e276aadd3604720c6314 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-08/txt/msg00442.txt.bz2 --000e0cd2e276aadd3604720c6314 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1685 On Wed, Aug 26, 2009 at 5:03 AM, Jan Kratochvil wrote: >> + =A0 =A0 =A0&& (bfd_get_file_flags (abfd) & BFD_IN_MEMORY) =3D=3D 0) >> + =A0 =A0/* This is an overlay section. =A0IN_MEMORY check is needed to = avoid >> + =A0 =A0 =A0 discarding sections from the "system supplied DSO" (aka vd= so) >> + =A0 =A0 =A0 on Linux. =A0*/ > > Interesting it exists, do you have a sample + kernel version of such VDSO? This showed up on F11/i686. $ uname -a Linux fc11i 2.6.29.6-217.2.3.fc11.i686.PAE #1 SMP Wed Jul 29 16:05:22 EDT 2009 i686 i686 i386 GNU/Linux When I extract vdso.so via attached dump-vdso.c (Fedora disallows reading of /proc/self/mem), I see this: [paul@fc11i tmp]$ readelf -l ./vdso32.so Elf file type is DYN (Shared object file) Entry point 0xffffe414 There are 4 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0xffffe000 0x00000000 0x00428 0x00428 R E 0x1000 DYNAMIC 0x000350 0xffffe350 0x00000350 0x00078 0x00078 R 0x4 NOTE 0x0001c4 0xffffe1c4 0x000001c4 0x00060 0x00060 R 0x4 GNU_EH_FRAME 0x000224 0xffffe224 0x00000224 0x00024 0x00024 R 0x4 >> + =A0map_size =3D filter_debuginfo_sections(map, alloc_size); >> + =A0map_size =3D filter_overlapping_sections(map, map_size); > > GNU spacing. Oops. Fix attached. Thanks, --=20 Paul Pluzhnikov 2009-08-26 Paul Pluzhnikov * objfiles.c (qsort_cmp): Remove asserts. (insert_section_p, filter_debuginfo_sections): New function. (filter_overlapping_sections): Likewise. (update_section_map): Adjust. --000e0cd2e276aadd3604720c6314 Content-Type: text/plain; charset=US-ASCII; name="gdb-find_pc_section-20090826.txt" Content-Disposition: attachment; filename="gdb-find_pc_section-20090826.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fyu5iyxa0 Content-length: 9301 SW5kZXg6IG9iamZpbGVzLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg ZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9vYmpmaWxlcy5jLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjkzCmRpZmYgLXAgLXUgLXIxLjkzIG9iamZpbGVzLmMK LS0tIG9iamZpbGVzLmMJMjEgQXVnIDIwMDkgMTc6NTc6MTcgLTAwMDAJMS45 MworKysgb2JqZmlsZXMuYwkyNiBBdWcgMjAwOSAwNzowNzowNCAtMDAwMApA QCAtNzkwLDE1ICs3OTAsOSBAQCBxc29ydF9jbXAgKGNvbnN0IHZvaWQgKmEs IGNvbnN0IHZvaWQgKmIpCiAgIGNvbnN0IENPUkVfQUREUiBzZWN0Ml9hZGRy ID0gb2JqX3NlY3Rpb25fYWRkciAoc2VjdDIpOwogCiAgIGlmIChzZWN0MV9h ZGRyIDwgc2VjdDJfYWRkcikKLSAgICB7Ci0gICAgICBnZGJfYXNzZXJ0IChv Ympfc2VjdGlvbl9lbmRhZGRyIChzZWN0MSkgPD0gc2VjdDJfYWRkcik7Ci0g ICAgICByZXR1cm4gLTE7Ci0gICAgfQorICAgIHJldHVybiAtMTsKICAgZWxz ZSBpZiAoc2VjdDFfYWRkciA+IHNlY3QyX2FkZHIpCi0gICAgewotICAgICAg Z2RiX2Fzc2VydCAoc2VjdDFfYWRkciA+PSBvYmpfc2VjdGlvbl9lbmRhZGRy IChzZWN0MikpOwotICAgICAgcmV0dXJuIDE7Ci0gICAgfQorICAgIHJldHVy biAxOwogCiAgIHJldHVybiAwOwogfQpAQCAtODIzLDEyICs4MTcsMTMzIEBA IHByZWZlcnJlZF9vYmpfc2VjdGlvbiAoc3RydWN0IG9ial9zZWN0aW8KICAg cmV0dXJuIGI7CiB9CiAKKy8qIFJldHVybiAxIGlmIFNFQ1RJT04gc2hvdWxk IGJlIGluc2VydGVkIGludG8gdGhlIHNlY3Rpb24gbWFwLgorICAgV2Ugd2Fu dCB0byBpbnNlcnQgb25seSBub24tb3ZlcmxheSBhbmQgbm9uLVRMUyBzZWN0 aW9uLiAgKi8KKworc3RhdGljIGludAoraW5zZXJ0X3NlY3Rpb25fcCAoY29u c3Qgc3RydWN0IGJmZCAqYWJmZCwKKwkJICBjb25zdCBzdHJ1Y3QgYmZkX3Nl Y3Rpb24gKnNlY3Rpb24pCit7CisgIGNvbnN0IGJmZF92bWEgbG1hID0gYmZk X3NlY3Rpb25fbG1hIChhYmZkLCBzZWN0aW9uKTsKKworICBpZiAobG1hICE9 IDAgJiYgbG1hICE9IGJmZF9zZWN0aW9uX3ZtYSAoYWJmZCwgc2VjdGlvbikK KyAgICAgICYmIChiZmRfZ2V0X2ZpbGVfZmxhZ3MgKGFiZmQpICYgQkZEX0lO X01FTU9SWSkgPT0gMCkKKyAgICAvKiBUaGlzIGlzIGFuIG92ZXJsYXkgc2Vj dGlvbi4gIElOX01FTU9SWSBjaGVjayBpcyBuZWVkZWQgdG8gYXZvaWQKKyAg ICAgICBkaXNjYXJkaW5nIHNlY3Rpb25zIGZyb20gdGhlICJzeXN0ZW0gc3Vw cGxpZWQgRFNPIiAoYWthIHZkc28pCisgICAgICAgb24gTGludXguICAqLwor ICAgIHJldHVybiAwOworICBpZiAoKGJmZF9nZXRfc2VjdGlvbl9mbGFncyAo YWJmZCwgc2VjdGlvbikgJiBTRUNfVEhSRUFEX0xPQ0FMKSAhPSAwKQorICAg IC8qIFRoaXMgaXMgYSBUTFMgc2VjdGlvbi4gICovCisgICAgcmV0dXJuIDA7 CisKKyAgcmV0dXJuIDE7Cit9CisKKy8qIEZpbHRlciBvdXQgb3ZlcmxhcHBp bmcgc2VjdGlvbnMgd2hlcmUgb25lIHNlY3Rpb24gY2FtZSBmcm9tIHRoZSBy ZWFsCisgICBvYmpmaWxlLCBhbmQgdGhlIG90aGVyIGZyb20gYSBzZXBhcmF0 ZSBkZWJ1Z2luZm8gZmlsZS4KKyAgIFJldHVybiB0aGUgc2l6ZSBvZiB0YWJs ZSBhZnRlciByZWR1bmRhbnQgc2VjdGlvbnMgaGF2ZSBiZWVuIGVsaW1pbmF0 ZWQuICAqLworCitzdGF0aWMgaW50CitmaWx0ZXJfZGVidWdpbmZvX3NlY3Rp b25zIChzdHJ1Y3Qgb2JqX3NlY3Rpb24gKiptYXAsIGludCBtYXBfc2l6ZSkK K3sKKyAgaW50IGksIGo7CisKKyAgZm9yIChpID0gMCwgaiA9IDA7IGkgPCBt YXBfc2l6ZSAtIDE7IGkrKykKKyAgICB7CisgICAgICBzdHJ1Y3Qgb2JqX3Nl Y3Rpb24gKmNvbnN0IHNlY3QxID0gbWFwW2ldOworICAgICAgc3RydWN0IG9i al9zZWN0aW9uICpjb25zdCBzZWN0MiA9IG1hcFtpICsgMV07CisgICAgICBj b25zdCBzdHJ1Y3Qgb2JqZmlsZSAqY29uc3Qgb2JqZmlsZTEgPSBzZWN0MS0+ b2JqZmlsZTsKKyAgICAgIGNvbnN0IHN0cnVjdCBvYmpmaWxlICpjb25zdCBv YmpmaWxlMiA9IHNlY3QyLT5vYmpmaWxlOworICAgICAgY29uc3QgQ09SRV9B RERSIHNlY3QxX2FkZHIgPSBvYmpfc2VjdGlvbl9hZGRyIChzZWN0MSk7Cisg ICAgICBjb25zdCBDT1JFX0FERFIgc2VjdDJfYWRkciA9IG9ial9zZWN0aW9u X2FkZHIgKHNlY3QyKTsKKworICAgICAgaWYgKHNlY3QxX2FkZHIgPT0gc2Vj dDJfYWRkcgorCSAgJiYgKG9iamZpbGUxLT5zZXBhcmF0ZV9kZWJ1Z19vYmpm aWxlID09IG9iamZpbGUyCisJICAgICAgfHwgb2JqZmlsZTItPnNlcGFyYXRl X2RlYnVnX29iamZpbGUgPT0gb2JqZmlsZTEpKQorCXsKKwkgIG1hcFtqKytd ID0gcHJlZmVycmVkX29ial9zZWN0aW9uIChzZWN0MSwgc2VjdDIpOworCSAg KytpOworCX0KKyAgICAgIGVsc2UKKwltYXBbaisrXSA9IHNlY3QxOworICAg IH0KKworICBpZiAoaSA8IG1hcF9zaXplKQorICAgIG1hcFtqKytdID0gbWFw W2ldOworCisgIC8qIFRoZSBtYXAgc2hvdWxkIG5vdCBoYXZlIHNocnVuayB0 byBsZXNzIHRoYW4gaGFsZiB0aGUgb3JpZ2luYWwgc2l6ZS4gICovCisgIGdk Yl9hc3NlcnQgKG1hcF9zaXplIC8gMiA8PSBqKTsKKworICByZXR1cm4gajsK K30KKworLyogRmlsdGVyIG91dCBvdmVybGFwcGluZyBzZWN0aW9ucywgaXNz dWluZyBhIHdhcm5pbmcgaWYgYW55IGFyZSBmb3VuZC4KKyAgIE92ZXJsYXBw aW5nIHNlY3Rpb25zIGNvdWxkIHJlYWxseSBiZSBvdmVybGF5IHNlY3Rpb25z IHdoaWNoIHdlIGRpZG4ndAorICAgY2xhc3NpZnkgYXMgc3VjaCBpbiBpbnNl cnRfc2VjdGlvbl9wLCBvciB3ZSBjb3VsZCBiZSBkZWFsaW5nIHdpdGggYQor ICAgY29ycnVwdCBiaW5hcnkuICAqLworCitzdGF0aWMgaW50CitmaWx0ZXJf b3ZlcmxhcHBpbmdfc2VjdGlvbnMgKHN0cnVjdCBvYmpfc2VjdGlvbiAqKm1h cCwgaW50IG1hcF9zaXplKQoreworICBpbnQgaSwgajsKKworICBmb3IgKGkg PSAwLCBqID0gMDsgaSA8IG1hcF9zaXplIC0gMTsgKQorICAgIHsKKyAgICAg IGludCBrOworCisgICAgICBtYXBbaisrXSA9IG1hcFtpXTsKKyAgICAgIGZv ciAoayA9IGkgKyAxOyBrIDwgbWFwX3NpemU7IGsrKykKKwl7CisJICBzdHJ1 Y3Qgb2JqX3NlY3Rpb24gKmNvbnN0IHNlY3QxID0gbWFwW2ldOworCSAgc3Ry dWN0IG9ial9zZWN0aW9uICpjb25zdCBzZWN0MiA9IG1hcFtrXTsKKwkgIGNv bnN0IENPUkVfQUREUiBzZWN0MV9hZGRyID0gb2JqX3NlY3Rpb25fYWRkciAo c2VjdDEpOworCSAgY29uc3QgQ09SRV9BRERSIHNlY3QyX2FkZHIgPSBvYmpf c2VjdGlvbl9hZGRyIChzZWN0Mik7CisJICBjb25zdCBDT1JFX0FERFIgc2Vj dDFfZW5kYWRkciA9IG9ial9zZWN0aW9uX2VuZGFkZHIgKHNlY3QxKTsKKwor CSAgZ2RiX2Fzc2VydCAoc2VjdDFfYWRkciA8PSBzZWN0Ml9hZGRyKTsKKwor CSAgaWYgKHNlY3QxX2VuZGFkZHIgPD0gc2VjdDJfYWRkcikKKwkgICAgYnJl YWs7CisJICBlbHNlCisJICAgIHsKKwkgICAgICAvKiBXZSBoYXZlIGFuIG92 ZXJsYXAuICBSZXBvcnQgaXQuICAqLworCisJICAgICAgc3RydWN0IG9iamZp bGUgKmNvbnN0IG9iamYxID0gc2VjdDEtPm9iamZpbGU7CisJICAgICAgc3Ry dWN0IG9iamZpbGUgKmNvbnN0IG9iamYyID0gc2VjdDItPm9iamZpbGU7CisK KwkgICAgICBjb25zdCBzdHJ1Y3QgYmZkICpjb25zdCBhYmZkMSA9IG9iamYx LT5vYmZkOworCSAgICAgIGNvbnN0IHN0cnVjdCBiZmQgKmNvbnN0IGFiZmQy ID0gb2JqZjItPm9iZmQ7CisKKwkgICAgICBjb25zdCBzdHJ1Y3QgYmZkX3Nl Y3Rpb24gKmNvbnN0IGJmZHMxID0gc2VjdDEtPnRoZV9iZmRfc2VjdGlvbjsK KwkgICAgICBjb25zdCBzdHJ1Y3QgYmZkX3NlY3Rpb24gKmNvbnN0IGJmZHMy ID0gc2VjdDItPnRoZV9iZmRfc2VjdGlvbjsKKworCSAgICAgIGNvbnN0IENP UkVfQUREUiBzZWN0Ml9lbmRhZGRyID0gb2JqX3NlY3Rpb25fZW5kYWRkciAo c2VjdDIpOworCisJICAgICAgc3RydWN0IGdkYmFyY2ggKmNvbnN0IGdkYmFy Y2ggPSBnZXRfb2JqZmlsZV9hcmNoIChvYmpmMSk7CisKKwkgICAgICB3YXJu aW5nIChfKCJVbmV4cGVjdGVkIG92ZXJsYXAgYmV0d2VlbiAiCisJCQkgInNl Y3Rpb24gYCVzJyBmcm9tIGAlcycgWyVzLCAlcykgYW5kICIKKwkJCSAic2Vj dGlvbiBgJXMnIGZyb20gYCVzJyBbJXMsICVzKSIpLAorCQkgICAgICAgYmZk X3NlY3Rpb25fbmFtZSAoYWJmZDEsIGJmZHMxKSwgb2JqZjEtPm5hbWUsCisJ CSAgICAgICBwYWRkcmVzcyAoZ2RiYXJjaCwgc2VjdDFfYWRkciksCisJCSAg ICAgICBwYWRkcmVzcyAoZ2RiYXJjaCwgc2VjdDFfZW5kYWRkciksCisJCSAg ICAgICBiZmRfc2VjdGlvbl9uYW1lIChhYmZkMiwgYmZkczIpLCBvYmpmMi0+ bmFtZSwKKwkJICAgICAgIHBhZGRyZXNzIChnZGJhcmNoLCBzZWN0Ml9hZGRy KSwKKwkJICAgICAgIHBhZGRyZXNzIChnZGJhcmNoLCBzZWN0Ml9lbmRhZGRy KSk7CisJICAgIH0KKwl9CisgICAgICBpID0gazsKKyAgICB9CisgIHJldHVy biBtYXBfc2l6ZTsKK30KKworCiAvKiBVcGRhdGUgUE1BUCwgUE1BUF9TSVpF IHdpdGggbm9uLVRMUyBzZWN0aW9ucyBmcm9tIGFsbCBvYmpmaWxlcy4gICov CiAKIHN0YXRpYyB2b2lkCiB1cGRhdGVfc2VjdGlvbl9tYXAgKHN0cnVjdCBv Ympfc2VjdGlvbiAqKipwbWFwLCBpbnQgKnBtYXBfc2l6ZSkKIHsKLSAgaW50 IG1hcF9zaXplLCBpLCBqOworICBpbnQgYWxsb2Nfc2l6ZSwgbWFwX3NpemUs IGk7CiAgIHN0cnVjdCBvYmpfc2VjdGlvbiAqcywgKiptYXA7CiAgIHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlOwogCkBAIC04MzcsNTUgKzk1MiwyNyBAQCB1 cGRhdGVfc2VjdGlvbl9tYXAgKHN0cnVjdCBvYmpfc2VjdGlvbiAqCiAgIG1h cCA9ICpwbWFwOwogICB4ZnJlZSAobWFwKTsKIAotI2RlZmluZSBpbnNlcnRf cChvYmpmLCBzZWMpIFwKLSAgKChiZmRfZ2V0X3NlY3Rpb25fZmxhZ3MgKChv YmpmKS0+b2JmZCwgKHNlYyktPnRoZV9iZmRfc2VjdGlvbikgXAotICAgICYg U0VDX1RIUkVBRF9MT0NBTCkgPT0gMCkKLQotICBtYXBfc2l6ZSA9IDA7Cisg IGFsbG9jX3NpemUgPSAwOwogICBBTExfT0JKU0VDVElPTlMgKG9iamZpbGUs IHMpCi0gICAgaWYgKGluc2VydF9wIChvYmpmaWxlLCBzKSkKLSAgICAgIG1h cF9zaXplICs9IDE7CisgICAgaWYgKGluc2VydF9zZWN0aW9uX3AgKG9iamZp bGUtPm9iZmQsIHMtPnRoZV9iZmRfc2VjdGlvbikpCisgICAgICBhbGxvY19z aXplICs9IDE7CiAKLSAgbWFwID0geG1hbGxvYyAobWFwX3NpemUgKiBzaXpl b2YgKCptYXApKTsKKyAgbWFwID0geG1hbGxvYyAoYWxsb2Nfc2l6ZSAqIHNp emVvZiAoKm1hcCkpOwogCiAgIGkgPSAwOwogICBBTExfT0JKU0VDVElPTlMg KG9iamZpbGUsIHMpCi0gICAgaWYgKGluc2VydF9wIChvYmpmaWxlLCBzKSkK KyAgICBpZiAoaW5zZXJ0X3NlY3Rpb25fcCAob2JqZmlsZS0+b2JmZCwgcy0+ dGhlX2JmZF9zZWN0aW9uKSkKICAgICAgIG1hcFtpKytdID0gczsKIAotI3Vu ZGVmIGluc2VydF9wCi0KLSAgcXNvcnQgKG1hcCwgbWFwX3NpemUsIHNpemVv ZiAoKm1hcCksIHFzb3J0X2NtcCk7Ci0KLSAgLyogV2l0aCBzZXBhcmF0ZSBk ZWJ1Z2luZm8gZmlsZXMsIHdlIG1heSBoYXZlIHVwIHRvIHR3byAoYWxtb3N0 KQotICAgICBpZGVudGljYWwgY29waWVzIG9mIHNvbWUgb2JqX3NlY3Rpb25z IGluIHRoZSBtYXAuCi0gICAgIEZpbHRlciBvdXQgZHVwbGljYXRlcy4gICov Ci0gIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgbWFwX3NpemU7ICsraSkKLSAg ICB7Ci0gICAgICBzdHJ1Y3Qgb2JqX3NlY3Rpb24gKnNlY3QxID0gbWFwW2ld OwotICAgICAgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0MiA9IChpICsgMSA8 IG1hcF9zaXplKSA/IG1hcFtpICsgMV0gOiBOVUxMOwotCi0gICAgICBpZiAo c2VjdDIgPT0gTlVMTAotCSAgfHwgb2JqX3NlY3Rpb25fYWRkciAoc2VjdDEp ICE9IG9ial9zZWN0aW9uX2FkZHIgKHNlY3QyKSkKLQltYXBbaisrXSA9IHNl Y3QxOwotICAgICAgZWxzZQotCXsKLQkgIG1hcFtqKytdID0gcHJlZmVycmVk X29ial9zZWN0aW9uIChzZWN0MSwgc2VjdDIpOwotCSAgKytpOwotCX0KLSAg ICB9Ci0KLSAgaWYgKGogPCBtYXBfc2l6ZSkKLSAgICB7Ci0gICAgICAvKiBT b21lIGR1cGxpY2F0ZXMgd2VyZSBlbGltaW5hdGVkLgotCSBUaGUgbmV3IHNp emUgc2hvdWxkbid0IGJlIGxlc3MgdGhhbiBoYWxmIG9mIHRoZSBvcmlnaW5h bC4gKi8KLSAgICAgIGdkYl9hc3NlcnQgKG1hcF9zaXplIC8gMiA8PSBqKTsK LSAgICAgIG1hcF9zaXplID0gajsKLQotICAgICAgbWFwID0geHJlYWxsb2Mg KG1hcCwgbWFwX3NpemUgKiBzaXplb2YgKCptYXApKTsgIC8qIFRyaW0gZXhj ZXNzIHNwYWNlLiAgKi8KLSAgICB9CisgIHFzb3J0IChtYXAsIGFsbG9jX3Np emUsIHNpemVvZiAoKm1hcCksIHFzb3J0X2NtcCk7CisgIG1hcF9zaXplID0g ZmlsdGVyX2RlYnVnaW5mb19zZWN0aW9ucyAobWFwLCBhbGxvY19zaXplKTsK KyAgbWFwX3NpemUgPSBmaWx0ZXJfb3ZlcmxhcHBpbmdfc2VjdGlvbnMgKG1h cCwgbWFwX3NpemUpOworCisgIGlmIChtYXBfc2l6ZSA8IGFsbG9jX3NpemUp CisgICAgLyogU29tZSBzZWN0aW9ucyB3ZXJlIGVsaW1pbmF0ZWQuICBUcmlt IGV4Y2VzcyBzcGFjZS4gICovCisgICAgbWFwID0geHJlYWxsb2MgKG1hcCwg bWFwX3NpemUgKiBzaXplb2YgKCptYXApKTsKICAgZWxzZQotICAgIGdkYl9h c3NlcnQgKGogPT0gbWFwX3NpemUpOworICAgIGdkYl9hc3NlcnQgKGFsbG9j X3NpemUgPT0gbWFwX3NpemUpOwogCiAgICpwbWFwID0gbWFwOwogICAqcG1h cF9zaXplID0gbWFwX3NpemU7Cg== --000e0cd2e276aadd3604720c6314 Content-Type: application/octet-stream; name="dump-vdso.c" Content-Disposition: attachment; filename="dump-vdso.c" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fyu602x51 Content-length: 1009 I2luY2x1ZGUgPGVsZi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUg PHN0ZGxpYi5oPgojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPGVycm5v Lmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KCnZvaWQgZHVtcF92ZHNvKHZvaWQg KnB0cikKewogIGludCBmZCA9IG9wZW4oInZkc28zMi5zbyIsIE9fV1JPTkxZ fE9fQ1JFQVQsIDA3NTUpOwogIGlmICgtMSA9PSBmZCkgewogICAgcGVycm9y KCJvcGVuMiIpOyBleGl0KDEpOwogIH0KICBwcmludGYoInZkc28gYXQgJXBc biIsIHB0cik7CiAgaWYgKHdyaXRlKGZkLCBwdHIsIDQwOTYpICE9IDQwOTYp IHsKICAgIHBlcnJvcigid3JpdGUiKTsgZXhpdCgxKTsKICB9Cn0KCmludCBt YWluKCkKewogIGludCBmZCA9IG9wZW4oIi9wcm9jL3NlbGYvYXV4diIsIE9f UkRPTkxZLCAwKTsKICBpZiAoLTEgPT0gZmQpIHsKICAgIHBlcnJvcigib3Bl biIpOyBleGl0KDEpOwogIH0KICBFbGYzMl9hdXh2X3QgYXV4djsKICB3aGls ZSAoMCA8IHJlYWQoZmQsICZhdXh2LCBzaXplb2YoYXV4dikpKSB7CiAgICBz d2l0Y2ggKGF1eHYuYV90eXBlKSB7CiAgICAgIGNhc2UgQVRfTlVMTDogYnJl YWs7CiAgICAgIGNhc2UgQVRfU1lTSU5GT19FSERSOgogICAgICAgIGR1bXBf dmRzbygodm9pZCopYXV4di5hX3VuLmFfdmFsKTsKICAgICAgICByZXR1cm4g MDsKICAgIH0KICB9CiAgcHJpbnRmKCJObyBBVF9TWVNJTkZPX0VIRFIgZm91 bmRcbiIpOwogIHJldHVybiAwOwp9Cg== --000e0cd2e276aadd3604720c6314--