All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>
To: dwarves@vger.kernel.org
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	bpf@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
	Jan Engelhardt <jengelh@inai.de>,
	Domenico Andreoli <cavok@debian.org>,
	Matthias Schwarzott <zzam@gentoo.org>,
	David Seifert <soap@gentoo.org>,
	Pavel Borzenkov <pavel.borzenkov@gmail.com>,
	Andrii Nakryiko <andriin@fb.com>, Alexei Starovoitov <ast@fb.com>,
	Yonghong Song <yhs@fb.com>,
	Gareth Lloyd <gareth.lloyd@uk.ibm.com>,
	Martin Cermak <mcermak@redhat.com>,
	William Cohen <wcohen@redhat.com>,
	Clark Williams <williams@redhat.com>
Subject: ANNOUNCE: pahole v1.16 (Fixes + BTF_KIND_FUNC)
Date: Mon, 16 Dec 2019 12:07:20 -0300	[thread overview]
Message-ID: <20191216150720.GA18669@kernel.org> (raw)
In-Reply-To: <20190626211613.GE3902@kernel.org>

Hi,

	The v1.16 release of pahole and its friends is out, 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.16.tar.xz
   https://fedorapeople.org/~acme/dwarves/dwarves-1.16.tar.bz2
   https://fedorapeople.org/~acme/dwarves/dwarves-1.16.tar.sign

Best Regards,

- Arnaldo

v1.16 changes:

BTF encoder:

  Andrii Nakryiko <andriin@fb.com>:

  - Preserve and encode exported functions as BTF_KIND_FUNC.

    Add encoding of DWARF's DW_TAG_subprogram_type into BTF's BTF_KIND_FUNC
    (plus corresponding BTF_KIND_FUNC_PROTO). Only exported functions are converted
    for now. This allows to capture all the exported kernel functions, same subset
    that's exposed through /proc/kallsyms.

BTF loader:

  Arnaldo Carvalho de Melo <acme@redhat.com>

  - Add support for BTF_KIND_FUNC

    Some changes to the fprintf routines were needed, as BTF has as the
    function type just a BTF_KIND_FUNC_PROTO, while DWARF has as the type for a
    function its return value type. With a function->btf flag this was overcome and
    all the other goodies in pfunct are present.

Pretty printer:

  Arnaldo Carvalho de Melo:

  - Account inline type __aligned__ member types for spacing:

              union {
                      refcount_t         rcu_users;            /*  2568     4 */
                      struct callback_head rcu __attribute__((__aligned__(8))); /*  2568    16 */
      -       } __attribute__((__aligned__(8)));                                               /*  2568    16 */
      +       } __attribute__((__aligned__(8)));               /*  2568    16 */
              struct pipe_inode_info *   splice_pipe;          /*  2584     8 */

  - Fix alignment of class members that are structs/enums/unions

    E.g. look at that 'completion' member in this struct:

       struct cpu_stop_done {
              atomic_t                   nr_todo;              /*     0     4 */
              int                        ret;                  /*     4     4 */
      -       struct completion  completion;                   /*     8    32 */
      +       struct completion          completion;           /*     8    32 */

              /* size: 40, cachelines: 1, members: 3 */
              /* last cacheline: 40 bytes */

  - Fixup handling classes with no members, solving a NULL deref.

  Gareth Lloyd <gareth.lloyd@uk.ibm.com>:

  - Avoid infinite loop trying to determine type with static data member of its own type.

RPM spec file.

Jiri Olsa <jolsa@redhat.com>

    Add dwarves dependency on libdwarves1.

pfunct:

  Arnaldo Carvalho de Melo <acme@redhat.com>

  - type->type == 0 is void, fix --compile for that

    We were using the fall back for that, i.e. 'return 0;' was being emitted
    for a function returning void, noticed with using BTF as the format.

pdwtags:

    - Print DW_TAG_subroutine_type as well

      So that we can see at least via pdwtags those tags, be it from DWARF of BTF.

core:

  Arnaldo Carvalho de Melo <acme@redhat.com>

    Fix ptr_table__add_with_id() handling of pt->nr_entries, covering how
    BTF variables IDs are encoded.


pglobal:

  Arnaldo Carvalho de Melo <acme@redhat.com>:

  - Allow passing the format path specifier, to use with BTF

    I.e. now we can, just like with pahole, use:

      pglobal -F btf --variable foo.o

    To get the global variables.

Tree wide:

  Arnaldo Carvalho de Melo <acme@redhat.com>:

  - Fixup issues pointed out by various coverity reports.

      parent reply	other threads:[~2019-12-16 15:07 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-26 21:16 ANNOUNCE: pahole v1.14 (Bug fixes) Arnaldo Carvalho de Melo
     [not found] ` <20190627014906.GA6181@mit.edu>
2019-06-27 11:03   ` Arnaldo Carvalho de Melo
2019-12-16 15:07 ` Arnaldo Carvalho de Melo [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191216150720.GA18669@kernel.org \
    --to=arnaldo.melo@gmail.com \
    --cc=andriin@fb.com \
    --cc=ast@fb.com \
    --cc=bpf@vger.kernel.org \
    --cc=cavok@debian.org \
    --cc=dwarves@vger.kernel.org \
    --cc=gareth.lloyd@uk.ibm.com \
    --cc=jengelh@inai.de \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcermak@redhat.com \
    --cc=pavel.borzenkov@gmail.com \
    --cc=soap@gentoo.org \
    --cc=wcohen@redhat.com \
    --cc=williams@redhat.com \
    --cc=yhs@fb.com \
    --cc=zzam@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.