Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp6441321pxb; Wed, 17 Feb 2021 04:51:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJzZ517Q4+bUZRFAHvXiGHtOPGt862SbKolPPmXJpdpSAT8/HrFi9hTniUDnvgIQMmhnHYyU X-Received: by 2002:a17:906:8541:: with SMTP id h1mr1684344ejy.517.1613566313932; Wed, 17 Feb 2021 04:51:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613566313; cv=none; d=google.com; s=arc-20160816; b=VTO6FTaN2AZzlX3TTjPglgrVLQcLshDp1VSsM3s2TJUlRMuYiTnyS/cp4Wak5rPzjG NWOSblmvZozN1UiU3w3+Lkd4Skq609GemtS4ExOAsuYrt1NcT6O2qT3h5l/OzEofLt9q Jy/EvKtm0xlB21tAtt52qTx1iWmaqY3HDZfBhA6ApLW5Cy6+tkithIUMuakAUX3j1O5a Lri2amnbXASuTuwTrbBypoMpGBwkn3Iqy38pTalhDi+aT3o9qNhpOEvGCgJkXV/w2WOk w5iKHub73OW1f+tZu8Plgw6NhfwVZpY+MhYi50LJksBUocbaRVQ/J3ETcYqkmxe318EY PAeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=9HA3uLNRNby5d+xcWvSIPfmKYyEHEL5ckiC19LUtJUU=; b=sQjNhXu5wvUN+o+jrMqjUYqNqmB3kRFmpFP2h5If+mKXY0Qs57LFJzTqeaXVk1qNBD bWvH9U3vTgWMVPrvpANVvBe3YpYBfrKylkIEj08NY387Wpjes43+CzscLtLjkVxBlglI uiB6XMp9xqrR3PeXN6WGtCq9ZGwFGnXja61O4cEgyU2RDNC5U7d1oKdYK51tfI13qDo0 uMPW+O3NJnOzo2eziLUS6kqrT+82o71bzQo+TOYAD1gpaoQlfzwfsWP+sVrrYgomDNzt zn7sptm6lhvlLhedlCUCM51FJP7GB/fPQ+DDETkYT1jUKQl7IMp4cuEhym0OtLpgA6aB 06vQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=GZKs5uCB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h6si1239358edf.15.2021.02.17.04.51.31; Wed, 17 Feb 2021 04:51:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=GZKs5uCB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232615AbhBQMte (ORCPT + 99 others); Wed, 17 Feb 2021 07:49:34 -0500 Received: from mail.kernel.org ([198.145.29.99]:54972 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232062AbhBQMtd (ORCPT ); Wed, 17 Feb 2021 07:49:33 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 039C664D7F; Wed, 17 Feb 2021 12:48:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1613566131; bh=5d2W/63Jxfiiw0sNrlo+Kx8fUzAfX4DZdK8EvI+meqg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=GZKs5uCBl58HCXDZQjCwW8JQ+Aihu1zdAmXS92GwOl4r0TMQ284t40eKf+OG5Eon/ usCO/UPZyd02QlYjBma4G/bMnMplKZFGjoFZjq1miMhWut3n8Z9FGIyFOBKcvqYaw+ 6Y2XL1fw1nx2phPuHGg2VsyfKrpd2wryt6rwxa95UjZmT4UTX7wKWg9vj2T0iU+utM osJ7ZArQLJXrS5bQt+cCZkEnZhSXl0/VpIkFNqfP2YTHRRDWqi/kdBP1vTNfZ9lPkO yYHKXvUkMjxBiiTTMBEpCCi1o+BTrBWlU/z8xS2f93Hn9QfPhk8i7fjqNxwVaFWc5V NUHqvkq5IHRdw== Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id CBC7E40CD9; Wed, 17 Feb 2021 09:48:48 -0300 (-03) Date: Wed, 17 Feb 2021 09:48:48 -0300 From: Arnaldo Carvalho de Melo To: Domenico Andreoli Cc: Sedat Dilek , dwarves@vger.kernel.org, Linux Kernel Mailing List , bpf@vger.kernel.org, Jiri Olsa , Jan Engelhardt , Matthias Schwarzott , Andrii Nakryiko , Yonghong Song , Mark Wieelard , Paul Moore , Ondrej Mosnacek , Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= , Tom Stellard , 705969@bugs.debian.org Subject: Re: ANNOUNCE: pahole v1.20 (gcc11 DWARF5's default, lots of ELF sections, BTF) Message-ID: References: <20210204220741.GA920417@kernel.org> <20210208123253.GI920417@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Url: http://acmel.wordpress.com Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Wed, Feb 17, 2021 at 01:08:23PM +0100, Domenico Andreoli escreveu: > On Mon, Feb 08, 2021 at 09:32:53AM -0300, Arnaldo Carvalho de Melo wrote: > > Em Mon, Feb 08, 2021 at 03:44:54AM +0100, Sedat Dilek escreveu: > > > On Thu, Feb 4, 2021 at 11:07 PM Arnaldo Carvalho de Melo > > > wrote: > > > > > > > > Hi, > > > > > > > > The v1.20 release of pahole and its friends is out, mostly > > > > addressing problems related to gcc 11 defaulting to DWARF5 for -g, > > > > available at the usual places: > > > > > > > > Main git repo: > > > > > > > > git://git.kernel.org/pub/scm/devel/pahole/pahole.git > > > > > > > > Mirror git repo: > > > > > > > > https://github.com/acmel/dwarves.git > > > > > > > > tarball + gpg signature: > > > > > > > > https://fedorapeople.org/~acme/dwarves/dwarves-1.20.tar.xz > > > > https://fedorapeople.org/~acme/dwarves/dwarves-1.20.tar.bz2 > > > > https://fedorapeople.org/~acme/dwarves/dwarves-1.20.tar.sign > > > > > > > > > > FYI: > > > Debian now ships dwarves package version 1.20-1 in unstable. > > > > > > Just a small nit to this release and its tagging: > > > > > > You did: > > > commit 0d415f68c468b77c5bf8e71965cd08c6efd25fc4 ("pahole: Prep 1.20") > > > > > > Is this new? > > > > > > The release before: > > > commit dd15aa4b0a6421295cbb7c3913429142fef8abe0 ("dwarves: Prep v1.19") > > > > Its minor but intentional, pahole is by far the most well known tool in > > dwarves, so using that name more frequently (the git repo is pahole.git > > , for instance) may help more quickly associate with the tool needed for > > BTF encoding, data analysis, etc. And since its not about only DWARF, > > perhaps transitioning to using 'pahole' more widely is interesting. > Any plan to switch also the release tarball name? > We are planning to rename the Debian package once the Bullseye is > released, currently it's dwarves-dfsg for legacy/unclear reasons. > Would it be a good idea to switch directly to pahole then? Yeah, I think it is, I'll check what are the bureaucratic steps to do that rename on Fedora and RHEL, but then, no need for all distros to do it at once if that is something that requires long term planning or whatever. - Arnaldo > Dom > > > > > - Arnaldo > > > > > - Sedat - > > > > > > > Best Regards, > > > > > > > > - Arnaldo > > > > > > > > v1.20: > > > > > > > > BTF encoder: > > > > > > > > - Improve ELF error reporting using elf_errmsg(elf_errno()). > > > > > > > > - Improve objcopy error handling. > > > > > > > > - Fix handling of 'restrict' qualifier, that was being treated as a 'const'. > > > > > > > > - Support SHN_XINDEX in st_shndx symbol indexes, to handle ELF objects with > > > > more than 65534 sections, for instance, which happens with kernels built > > > > with 'KCFLAGS="-ffunction-sections -fdata-sections", Other cases may > > > > include when using FG-ASLR, LTO. > > > > > > > > - Cope with functions without a name, as seen sometimes when building kernel > > > > images with some versions of clang, when a SEGFAULT was taking place. > > > > > > > > - Fix BTF variable generation for kernel modules, not skipping variables at > > > > offset zero. > > > > > > > > - Fix address size to match what is in the ELF file being processed, to fix using > > > > a 64-bit pahole binary to generate BTF for a 32-bit vmlinux image. > > > > > > > > - Use kernel module ftrace addresses when finding which functions to encode, > > > > which increases the number of functions encoded. > > > > > > > > libbpf: > > > > > > > > - Allow use of packaged version, for distros wanting to dynamically link with > > > > the system's libbpf package instead of using the libbpf git submodule shipped > > > > in pahole's source code. > > > > > > > > DWARF loader: > > > > > > > > - Support DW_AT_data_bit_offset > > > > > > > > This appeared in DWARF4 but is supported only in gcc's -gdwarf-5, > > > > support it in a way that makes the output be the same for both cases. > > > > > > > > $ gcc -gdwarf-5 -c examples/dwarf5/bf.c > > > > $ pahole bf.o > > > > struct pea { > > > > long int a:1; /* 0: 0 8 */ > > > > long int b:1; /* 0: 1 8 */ > > > > long int c:1; /* 0: 2 8 */ > > > > > > > > /* XXX 29 bits hole, try to pack */ > > > > /* Bitfield combined with next fields */ > > > > > > > > int after_bitfield; /* 4 4 */ > > > > > > > > /* size: 8, cachelines: 1, members: 4 */ > > > > /* sum members: 4 */ > > > > /* sum bitfield members: 3 bits, bit holes: 1, sum bit holes: 29 bits */ > > > > /* last cacheline: 8 bytes */ > > > > }; > > > > > > > > - DW_FORM_implicit_const in attr_numeric() and attr_offset() > > > > > > > > - Support DW_TAG_GNU_call_site, its the standardized rename of the previously supported > > > > DW_TAG_GNU_call_site. > > > > > > > > build: > > > > > > > > - Fix compilation on 32-bit architectures. > > > > > > > > Signed-off-by: Arnaldo Carvalho de Melo > > > > -- > > > > - Arnaldo > > -- > rsa4096: 3B10 0CA1 8674 ACBA B4FE FCD2 CE5B CF17 9960 DE13 > ed25519: FFB4 0CC3 7F2E 091D F7DA 356E CC79 2832 ED38 CB05 -- - Arnaldo