From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 102213 invoked by alias); 24 May 2018 13:26:13 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 102194 invoked by uid 89); 24 May 2018 13:26:13 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.4 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-Spam-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: gnu.wildebeest.org Received: from wildebeest.demon.nl (HELO gnu.wildebeest.org) (212.238.236.112) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 24 May 2018 13:26:10 +0000 Received: from tarox.wildebeest.org (tarox.wildebeest.org [172.31.17.39]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id B0533302BB0C for ; Thu, 24 May 2018 15:26:07 +0200 (CEST) Received: by tarox.wildebeest.org (Postfix, from userid 1000) id 6C6F34001139; Thu, 24 May 2018 15:26:07 +0200 (CEST) Message-ID: <1527168367.2911.19.camel@klomp.org> Subject: Re: [PATCH] libdw: Handle GNU DebugFission split ranges. From: Mark Wielaard To: elfutils-devel@sourceware.org Date: Thu, 24 May 2018 13:26:00 -0000 In-Reply-To: <20180519140351.24361-1-mark@klomp.org> References: <20180519140351.24361-1-mark@klomp.org> Content-Type: multipart/mixed; boundary="=-o/bXLoR1SPmcUzJRJWqB" X-Mailer: Evolution 3.22.6 (3.22.6-14.el7) Mime-Version: 1.0 X-Spam-Flag: NO X-IsSubscribed: yes X-SW-Source: 2018-q2/txt/msg00079.txt.bz2 --=-o/bXLoR1SPmcUzJRJWqB Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-length: 1112 On Sat, 2018-05-19 at 16:03 +0200, Mark Wielaard wrote: > GNU DebugFission split dwarf handles DW_FORM_sec_offset specially for > attributes that point to ranges. The .debug_ranges section is not in > the .dwo file, but in the main/skeleton object file. The sec_offset is > not relocated (in the ELF file), but is an offset against the skeleton > DIE DW_AT_GNU_ranges_base attribute. dwarf_formudata is changed so it > still looks like a normal offset ptr into the .debug_ranges section. > dwarf_ranges is adapted to look for the .debug_ranges in the main object > file. dwarf_highpc and dwarf_lowpc now handle the highpc and lowpc > attributes being inherited for the split unit DIE from the skeleton. >=20 > A new testcase is added to iterate over all ranges in a split GNU > DebugFission file. After double checking the test results after incorporating the full DWARF5 rnglists support into readelf and libdw I found an embarrassing bug. We didn't initialize the CU ranges_base causing some bad test results. We also didn't handle bad DWARF correctly in one case. I am pushing the following fixes for this.= --=-o/bXLoR1SPmcUzJRJWqB Content-Description: Content-Disposition: inline; filename*0=0001-libdw-Initialize-ranges_base-add-invalid-DWARF-test-.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-libdw-Initialize-ranges_base-add-invalid-DWARF-test-.patch"; charset="UTF-8" Content-length: 5267 RnJvbSBjMmQxNGNjNDkyYWE3ZmQyODc0MGQ1Nzg5ZmVkZTY0Y2U4MWEwNjNi IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFdpZWxhYXJk IDxtYXJrQGtsb21wLm9yZz4KRGF0ZTogVGh1LCAyNCBNYXkgMjAxOCAxNToy MDoyNSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGxpYmR3OiBJbml0aWFsaXpl IHJhbmdlc19iYXNlLCBhZGQgaW52YWxpZCBEV0FSRiB0ZXN0IGFuZCBmaXgK IGV4cGVjdGVkIG91dHB1dC4KCldlIG5ldmVyIGluaXRpYWxpemVkIHRoZSBD VSByYW5nZXNfYmFzZSwgd2hpY2ggbWVhbnQgd2UgZGlkbid0IGFjdHVhbGx5 CmNhbGN1bGF0ZSBpdCBjb3JyZWN0bHkuIFRoaXMgY2F1c2VkIGJhZCByYW5n ZXMgb24gc29tZSBESUVzLiBUaGUgZXhwZWN0ZWQKb3V0cHV0IGluIHRoZSB0 ZXN0Y2FzZSB3YXMgd3JvbmcuIFdlIGFsc28gY3Jhc2hlZCBvbiBpbnZhbGlk IGR3YXJmLgoKU2lnbmVkLW9mZi1ieTogTWFyayBXaWVsYWFyZCA8bWFya0Br bG9tcC5vcmc+Ci0tLQogbGliZHcvQ2hhbmdlTG9nICAgICAgICAgICAgICAg fCA1ICsrKysrCiBsaWJkdy9kd2FyZl9yYW5nZXMuYyAgICAgICAgICB8IDYg KysrKysrCiBsaWJkdy9saWJkd19maW5kY3UuYyAgICAgICAgICB8IDEgKwog dGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgfCA3ICsrKysrKy0KIHRl c3RzL2dldC11bml0cy1pbnZhbGlkLmMgICAgIHwgNyArKysrKysrCiB0ZXN0 cy9ydW4tYWxsLWR3YXJmLXJhbmdlcy5zaCB8IDcgKysrKy0tLQogNiBmaWxl cyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2xpYmR3L0NoYW5nZUxvZyBiL2xpYmR3L0NoYW5nZUxv ZwppbmRleCA0ZGIwZjVjLi5jMzAyNjI4IDEwMDY0NAotLS0gYS9saWJkdy9D aGFuZ2VMb2cKKysrIGIvbGliZHcvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOCBA QAorMjAxOC0wNS0yNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3Jn PgorCisJKiBkd2FyZl9yYW5nZXMuYyAoZHdhcmZfcmFuZ2VzKTogQ2hlY2sg Zm9yIE5VTEwgY3UuCisJKiBsaWJkd19maW5kY3UuYyAoX19saWJkd19pbnRl cm5fbmV4dF91bml0KTogSW5pdGlhbGl6ZSByYW5nZXNfYmFzZS4KKwogMjAx OC0wNS0xOCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgogCiAJ KiBkd2FyZl9mb3JtdWRhdGEuYyAoX19saWJkd19mb3JtcHRyKTogSGFuZGxl IHRoZSBzcGVjaWFsIGNhc2UKZGlmZiAtLWdpdCBhL2xpYmR3L2R3YXJmX3Jh bmdlcy5jIGIvbGliZHcvZHdhcmZfcmFuZ2VzLmMKaW5kZXggYjA0NTBjZi4u NTJhNjFlZSAxMDA2NDQKLS0tIGEvbGliZHcvZHdhcmZfcmFuZ2VzLmMKKysr IGIvbGliZHcvZHdhcmZfcmFuZ2VzLmMKQEAgLTEyMyw2ICsxMjMsMTIgQEAg ZHdhcmZfcmFuZ2VzIChEd2FyZl9EaWUgKmRpZSwgcHRyZGlmZl90IG9mZnNl dCwgRHdhcmZfQWRkciAqYmFzZXAsCiAgIC8qIFdlIGhhdmUgdG8gbG9vayBm b3IgYSBub25jb250aWd1b3VzIHJhbmdlLiAgKi8KICAgc2l6ZV90IHNlY2lk eCA9IElEWF9kZWJ1Z19yYW5nZXM7CiAgIER3YXJmX0NVICpjdSA9IGRpZS0+ Y3U7CisgIGlmIChjdSA9PSBOVUxMKQorICAgIHsKKyAgICAgIF9fbGliZHdf c2V0ZXJybm8gKERXQVJGX0VfSU5WQUxJRF9EV0FSRik7CisgICAgICByZXR1 cm4gLTE7CisgICAgfQorCiAgIGNvbnN0IEVsZl9EYXRhICpkID0gY3UtPmRi Zy0+c2VjdGlvbmRhdGFbc2VjaWR4XTsKICAgaWYgKGQgPT0gTlVMTCAmJiBj dS0+dW5pdF90eXBlID09IERXX1VUX3NwbGl0X2NvbXBpbGUpCiAgICAgewpk aWZmIC0tZ2l0IGEvbGliZHcvbGliZHdfZmluZGN1LmMgYi9saWJkdy9saWJk d19maW5kY3UuYwppbmRleCBkMjJkZGFlLi44M2MyZWIxIDEwMDY0NAotLS0g YS9saWJkdy9saWJkd19maW5kY3UuYworKysgYi9saWJkdy9saWJkd19maW5k Y3UuYwpAQCAtMTIxLDYgKzEyMSw3IEBAIF9fbGliZHdfaW50ZXJuX25leHRf dW5pdCAoRHdhcmYgKmRiZywgYm9vbCBkZWJ1Z190eXBlcykKICAgbmV3cC0+ YmFzZV9hZGRyZXNzID0gKER3YXJmX0FkZHIpIC0xOwogICBuZXdwLT5hZGRy X2Jhc2UgPSAoRHdhcmZfT2ZmKSAtMTsKICAgbmV3cC0+c3RyX29mZl9iYXNl ID0gKER3YXJmX09mZikgLTE7CisgIG5ld3AtPnJhbmdlc19iYXNlID0gKER3 YXJmX09mZikgLTE7CiAKICAgbmV3cC0+c3RhcnRwID0gZGF0YS0+ZF9idWYg KyBuZXdwLT5zdGFydDsKICAgbmV3cC0+ZW5kcCA9IGRhdGEtPmRfYnVmICsg bmV3cC0+ZW5kOwpkaWZmIC0tZ2l0IGEvdGVzdHMvQ2hhbmdlTG9nIGIvdGVz dHMvQ2hhbmdlTG9nCmluZGV4IGEwMjFhMDEuLjg2YmNmOWQgMTAwNjQ0Ci0t LSBhL3Rlc3RzL0NoYW5nZUxvZworKysgYi90ZXN0cy9DaGFuZ2VMb2cKQEAg LTEsNiArMSwxMSBAQAorMjAxOC0wNS0yNCAgTWFyayBXaWVsYWFyZCAgPG1h cmtAa2xvbXAub3JnPgorCisJKiBnZXQtdW5pdHMtaW52YWxpZC5jIChtYWlu KTogQWRkIGNoZWNrIGZvciBpbnZhbGlkIGR3YXJmX3Jhbmdlcy4KKwkqIHJ1 bi1hbGwtZHdhcmYtcmFuZ2VzLnNoOiBDb3JyZWN0IGV4cGVjdGVkIG91dHB1 dC4KKwogMjAxOC0wNS0xOCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAu b3JnPgogCi0JKiB0ZXN0cy9NYWtlZmlsZXMuYW0gKGNoZWNrX1BST0dSQU1T KTogQWRkIGFsbC1kd2FyZi1yYW5nZXMuCisJKiBNYWtlZmlsZXMuYW0gKGNo ZWNrX1BST0dSQU1TKTogQWRkIGFsbC1kd2FyZi1yYW5nZXMuCiAJKFRFU1RT KTogQWRkIHJ1bi1hbGwtZHdhcmYtcmFuZ2VzLnNoLgogCShFWFRSQV9ESVNU KTogQWRkIHJ1bi1hbGwtZHdhcmYtcmFuZ2VzLnNoLAogCXRlc3RmaWxlc3Bs aXRyYW5nZXM0LmRlYnVnLmJ6MiwgdGVzdGZpbGUtcmFuZ2VzLWhlbGxvLmR3 by5iejIKZGlmZiAtLWdpdCBhL3Rlc3RzL2dldC11bml0cy1pbnZhbGlkLmMg Yi90ZXN0cy9nZXQtdW5pdHMtaW52YWxpZC5jCmluZGV4IDllYzE2ZWUuLjU4 YjMyYzAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2dldC11bml0cy1pbnZhbGlkLmMK KysrIGIvdGVzdHMvZ2V0LXVuaXRzLWludmFsaWQuYwpAQCAtNzksNiArNzks MTMgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJCSAgZHdh cmZfZGllbmFtZSAoJnJlc3VsdCkpOwogCQkgIHJldHVybiAtMTsKIAkJfQor CSAgICAgIER3YXJmX0FkZHIgYmFzZSwgc3RhcnQsIGVuZDsKKwkgICAgICBp ZiAoZHdhcmZfcmFuZ2VzICgmc3ViZGllLCAwLCAmYmFzZSwgJnN0YXJ0LCAm ZW5kKSAhPSAtMSkKKwkJeworCQkgIHByaW50ZiAoIlNob3VsZCBOT1QgaGF2 ZSBhIHJhbmdlczogJXNcbiIsCisJCQkgIGR3YXJmX2RpZW5hbWUgKCZyZXN1 bHQpKTsKKwkJICByZXR1cm4gLTE7CisJCX0KIAkgICAgfQogCSAgZWxzZSBp ZiAodW5pdF90eXBlID09IERXX1VUX3R5cGUpCiAJICAgIHByaW50ZiAoInN1 YmRpZTogJXNcbiIsIGR3YXJmX2RpZW5hbWUgKCZzdWJkaWUpKTsKZGlmZiAt LWdpdCBhL3Rlc3RzL3J1bi1hbGwtZHdhcmYtcmFuZ2VzLnNoIGIvdGVzdHMv cnVuLWFsbC1kd2FyZi1yYW5nZXMuc2gKaW5kZXggMGJkNjQxYi4uYmE1NTI4 ZCAxMDA3NTUKLS0tIGEvdGVzdHMvcnVuLWFsbC1kd2FyZi1yYW5nZXMuc2gK KysrIGIvdGVzdHMvcnVuLWFsbC1kd2FyZi1yYW5nZXMuc2gKQEAgLTM3LDEx ICszNywxMiBAQCBkaWU6IHdvcmxkLmMgKDExKQogIDQwMDUwMC4uNDAwNTY3 CiAKIGRpZTogaGFwcHkgKDFkKQotIDgwMDllMC4uODAwOWZmCi0gODAwOGUw Li44MDA4ZjcKKyA0MDA1MWMuLjQwMDUyNgorIDQwMDUzMC4uNDAwNTM0Cisg NDAwNTM1Li40MDA1M2YKIAogZGllOiBzYWQgKDFkKQotIDQwMDUzMC4uNDAw NTM0CisgNDAwNTFjLi40MDA1MjYKICA0MDA1MzUuLjQwMDUzZgogCiBFT0YK LS0gCjEuOC4zLjEKCg== --=-o/bXLoR1SPmcUzJRJWqB--