From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 107956 invoked by alias); 7 Nov 2019 23:24:51 -0000 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 Received: (qmail 107922 invoked by uid 89); 7 Nov 2019 23:24:49 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-17.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=tracing, UD:selftest.h, selftesth, selftest.h X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 07 Nov 2019 23:24:47 +0000 Received: from mail-vk1-f199.google.com (mail-vk1-f199.google.com [209.85.221.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 699AB859FB for ; Thu, 7 Nov 2019 23:24:46 +0000 (UTC) Received: by mail-vk1-f199.google.com with SMTP id f73so1869759vka.4 for ; Thu, 07 Nov 2019 15:24:46 -0800 (PST) MIME-Version: 1.0 References: <20190820202809.25367-1-amerey@redhat.com> <87pnj6dl3k.fsf@tromey.com> <87sgn71ji6.fsf@tromey.com> <87lfsye5l5.fsf@redhat.com> <87bltrelab.fsf@redhat.com> <20191104162616.GA13319@redhat.com> In-Reply-To: From: Aaron Merey Date: Thu, 07 Nov 2019 23:24:00 -0000 Message-ID: Subject: Re: [RFC PATCH] Support debuginfo and source file fetching via debuginfo server To: Tom Tromey Cc: Simon Marchi , Christian Biesinger via gdb-patches , Christian Biesinger , Frank Eigler Content-Type: multipart/mixed; boundary="00000000000080a4220596c9f8e3" X-SW-Source: 2019-11/txt/msg00215.txt.bz2 --00000000000080a4220596c9f8e3 Content-Type: text/plain; charset="UTF-8" Content-length: 453 Here's a patch that adds debuginfod queries for dwz files when they otherwise cannot be found. It's very similar to the normal debuginfo lookup code. With this libdebuginfod now hooks into three functions in gdb: dwarf2_get_dwz_file, open_source_file and elf_symfile_read. Does anyone know of any code paths that gdb might take when searching for dwz, source files, or separate DWARF debuginfo that bypass all of the current libdebuginfod calls? Aaron --00000000000080a4220596c9f8e3 Content-Type: text/x-patch; charset="US-ASCII"; name="dwz_lookups.patch" Content-Disposition: attachment; filename="dwz_lookups.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k2pc71sl0 Content-length: 2469 LS0tCiBnZGIvZHdhcmYycmVhZC5jIHwgMzUgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9k d2FyZjJyZWFkLmMKaW5kZXggMGE3YTAzMzQyMC4uZDBjYzVmMzI3YiAxMDA2 NDQKLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYworKysgYi9nZGIvZHdhcmYycmVh ZC5jCkBAIC03Nyw2ICs3Nyw5IEBACiAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9z ZWxmdGVzdC5oIgogI2luY2x1ZGUgInJ1c3QtbGFuZy5oIgogI2luY2x1ZGUg ImdkYnN1cHBvcnQvcGF0aHN0dWZmLmgiCisjaWYgSEFWRV9MSUJERUJVR0lO Rk9ECisjaW5jbHVkZSAiZWxmdXRpbHMvZGVidWdpbmZvZC5oIgorI2VuZGlm CiAKIC8qIFdoZW4gPT0gMSwgcHJpbnQgYmFzaWMgaGlnaCBsZXZlbCB0cmFj aW5nIG1lc3NhZ2VzLgogICAgV2hlbiA+IDEsIGJlIG1vcmUgdmVyYm9zZS4K QEAgLTI3MTQsNiArMjcxNywzOCBAQCBkd2FyZjJfZ2V0X2R3el9maWxlIChz dHJ1Y3QgZHdhcmYyX3Blcl9vYmpmaWxlICpkd2FyZjJfcGVyX29iamZpbGUp CiAgIGlmIChkd3pfYmZkID09IE5VTEwpCiAgICAgZHd6X2JmZCA9IGJ1aWxk X2lkX3RvX2RlYnVnX2JmZCAoYnVpbGRpZF9sZW4sIGJ1aWxkaWQpOwogCisj aWYgSEFWRV9MSUJERUJVR0lORk9ECisgIGlmIChkd3pfYmZkID09IE5VTEwp CisgICAgeworICAgICAgLyogUXVlcnkgZGVidWdpbmZvZCBzZXJ2ZXJzIGZv ciB0aGUgZHd6IGZpbGUuICAqLworICAgICAgY2hhciAqYWx0X2ZpbGVuYW1l OworCisgICAgICAvKiBBbGxvdyBkZWJ1Z2luZm9kIHRvIGFib3J0IHRoZSBk b3dubG9hZCBpZiBTSUdJTlQgaXMgcmFpc2VkLiAgKi8KKyAgICAgIGRlYnVn aW5mb2Rfc2V0X3Byb2dyZXNzZm4oCisgICAgICAgIFtdIChsb25nIGEsIGxv bmcgYikgeyByZXR1cm4gMSA/IGNoZWNrX3F1aXRfZmxhZyAoKSA6IDA7IH0K KyAgICAgICk7CisKKyAgICAgIC8qIFF1ZXJ5IGRlYnVnaW5mb2Qgc2VydmVy cyBmb3Igc3ltZmlsZS4gICovCisgICAgICBzY29wZWRfZmQgZmQgKGRlYnVn aW5mb2RfZmluZF9kZWJ1Z2luZm8gKGJ1aWxkaWQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkaWRfbGVu LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmYWx0X2ZpbGVuYW1lKSk7CisKKyAgICAgIGlmIChmZC5nZXQgKCkg Pj0gMCkKKyAgICAgICAgeworICAgICAgICAgIC8qIEZpbGUgc3VjY2Vzc2Z1 bGx5IHJldHJpZXZlZCBmcm9tIHNlcnZlci4gICovCisgICAgICAgICAgZHd6 X2JmZCA9IGdkYl9iZmRfb3BlbiAoYWx0X2ZpbGVuYW1lLCBnbnV0YXJnZXQs IC0xKTsKKworICAgICAgICAgIGlmKGR3el9iZmQgIT0gTlVMTCkKKyAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgaWYgKCFidWlsZF9pZF92ZXJpZnkg KGR3el9iZmQuZ2V0ICgpLCBidWlsZGlkX2xlbiwgYnVpbGRpZCkpCisgICAg ICAgICAgICAgICAgZHd6X2JmZC5yZXNldCAobnVsbHB0cik7CisgICAgICAg ICAgICB9CisKKyAgICAgICAgICB4ZnJlZSAoYWx0X2ZpbGVuYW1lKTsKKyAg ICAgICAgfQorICAgIH0KKyNlbmRpZiAvKiBIQVZFX0xJQkRFQlVHSU5GT0Qg Ki8KKwogICBpZiAoZHd6X2JmZCA9PSBOVUxMKQogICAgIGVycm9yIChfKCJj b3VsZCBub3QgZmluZCAnLmdudV9kZWJ1Z2FsdGxpbmsnIGZpbGUgZm9yICVz IiksCiAJICAgb2JqZmlsZV9uYW1lIChkd2FyZjJfcGVyX29iamZpbGUtPm9i amZpbGUpKTsKLS0gCjIuMjEuMAo= --00000000000080a4220596c9f8e3--