From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 670 invoked by alias); 25 Oct 2018 22:05:01 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 656 invoked by uid 89); 25 Oct 2018 22:05:00 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,HTML_MESSAGE,HTML_OBFUSCATE_05_10,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=reducing, H*r:sk:gdb@sou, mutual, turns X-HELO: mail-yw1-f44.google.com Received: from mail-yw1-f44.google.com (HELO mail-yw1-f44.google.com) (209.85.161.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 25 Oct 2018 22:04:59 +0000 Received: by mail-yw1-f44.google.com with SMTP id c126-v6so1235530ywd.8 for ; Thu, 25 Oct 2018 15:04:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=xFGBFXL5GFn+vaJYazaFtdTR4SbdnZMaVpSSLIVXgHs=; b=qz9WL3mlZf3ueUhDKf6oxhTQ7hzJG8uMN8VJgcR/jpgBaNnkiPMZjQcSBxcYBh+pUD eUQZiEDkjv5YoMcOWRfCJkIuvu5NVp6Ex1wENSDoua1SeKmhN8iJ1ZnjkHfvF/5St4Mi j++ilpoavAi1vJigjHb3BoREE7janYyWRnPQroi+HMcSI8bZww4HVOT358g+JMspAYVA 2Y8b2RKSKPlhpuFPul4/Zxzz3jax0TnztW44PNTZxjeBo1/Wn5LbJEYGGhzZqDiDHyQt ye9pe96P8RQ4+2NHDdFzGvXeonbw0iRRnMWGFQ8h/dwv0RfwZNBB30o9oxvxSZSAMPUm RPmw== MIME-Version: 1.0 From: David Blaikie Date: Thu, 25 Oct 2018 22:05:00 -0000 Message-ID: Subject: Fission loc.dwo and DWARFv5 loclists support To: "gdb@sourceware.org" Cc: Jan Kratochvil , dje Content-Type: text/plain; charset="UTF-8" X-SW-Source: 2018-10/txt/msg00050.txt.bz2 Hi there, I have been experimenting with using DW_LLE_GNU_base_address_selection_entry + DW_LLE_GNU_offset_pair (this would allow the base_address to reuse an existing address (like the start of the section/function) in the address pool - reducing the size of object files (especially in optimized binaries that contain potentially many loc lists with many entries) - but it turns out GDB doesn't support the offset_pair, though it does appear to support the base address selection in debug_loc.dwo (yet what's that support for? The other forms don't use base addresses - so without offset_pair, base_address isn't used/useful?) Conversely, it looks like the DWARFv5 finalized support in loclists /only/ supports base_address+offset_pair, not any other form (start_end, start_length, default_location, plus the address pool referencing forms). And it looks like this mutual exclusion (DWARFv5 /only/ using base address relative, pre-standand Fission never using them) is built a bit further into the implementation ( https://github.com/bminor/binutils-gdb/blob/master/gdb/dwarf2loc.c#L332 ). Wondering if this is on anyone's radar/interest in fixing? It could be a substantial savings in .o file size to use the relative forms. (also, I'm curious - are the LLE_.*x (the DWARFv5 standard forms that reference the address pool) forms already or going to be supported? The code looks like it doesn't have any *x forms, but perhaps they're normalized elsewhere?) Thanks, - Dave