dwarves.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
@ 2022-08-22 23:28 Arnaldo Carvalho de Melo
       [not found] ` <CADo9pHhW9w+ciNbQr+7u4mezuQ1USyh0k2Wshy=wkdEcxRiDLA@mail.gmail.com>
  2022-08-24 16:24 ` Nathan Chancellor
  0 siblings, 2 replies; 16+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-08-22 23:28 UTC (permalink / raw)
  To: dwarves
  Cc: Linux Kernel Mailing List, Alibek Omarov, Kornilios Kourtis,
	Kui-Feng Lee, Yonghong Song, bpf, Jiri Olsa

Hi,
  
	The v1.24 release of pahole and its friends is out, with faster
BTF generation by parallelizing the encoding part in addition to the
previoulsy parallelized DWARF loading, support for 64-bit BTF enumeration
entries, signed BTF encoding of 'char', exclude/select DWARF loading
based on the language that generated the objects, etc.

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.24.tar.xz
   https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.bz2
   https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.sign

	Thanks a lot to all the contributors and distro packagers, you're on the
CC list, I appreciate a lot the work you put into these tools,

Best Regards,

BTF encoder:

- Add support to BTF_KIND_ENUM64 to represent enumeration entries with
  more than 32 bits.

- Support multithreaded encoding, in addition to DWARF multithreaded
  loading, speeding up the process.

  Selected just like DWARF multithreaded loading, using the 'pahole -j'
  option.

- Encode 'char' type as signed.

BTF Loader:

- Add support to BTF_KIND_ENUM64.

pahole:

- Introduce --lang and --lang_exclude to specify the language the
  DWARF compile units were originated from to use or filter.

  Use case is to exclude Rust compile units while aspects of the
  DWARF generated for it get sorted out in a way that the kernel
  BPF verifier don't refuse loading the BTF generated from them.

- Introduce --compile to generate compilable code in a similar fashion to:

   bpftool btf dump file vmlinux format c > vmlinux.h

  As with 'bpftool', this will notice type shadowing, i.e. multiple types
  with the same name and will disambiguate by adding a suffix.

- Don't segfault when processing bogus files.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
       [not found] ` <CADo9pHhW9w+ciNbQr+7u4mezuQ1USyh0k2Wshy=wkdEcxRiDLA@mail.gmail.com>
@ 2022-08-24 14:32   ` Arnaldo Carvalho de Melo
  2022-08-24 14:36     ` Luna Jernberg
  0 siblings, 1 reply; 16+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-08-24 14:32 UTC (permalink / raw)
  To: Luna Jernberg
  Cc: dwarves, Linux Kernel Mailing List, Alibek Omarov,
	Kornilios Kourtis, Kui-Feng Lee, Yonghong Song, bpf, Jiri Olsa

Em Wed, Aug 24, 2022 at 03:23:29PM +0200, Luna Jernberg escreveu:
> This package breaks on Arch Linux at the moment and if you are using Arch
> its recommended that you downgrade to 1.23

Breaks in what sense? Can you please provide details?

- Arnaldo
 
> On Tue, Aug 23, 2022 at 1:59 AM Arnaldo Carvalho de Melo <acme@kernel.org>
> wrote:
> 
> > Hi,
> >
> >         The v1.24 release of pahole and its friends is out, with faster
> > BTF generation by parallelizing the encoding part in addition to the
> > previoulsy parallelized DWARF loading, support for 64-bit BTF enumeration
> > entries, signed BTF encoding of 'char', exclude/select DWARF loading
> > based on the language that generated the objects, etc.
> >
> > 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.24.tar.xz
> >    https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.bz2
> >    https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.sign
> >
> >         Thanks a lot to all the contributors and distro packagers, you're
> > on the
> > CC list, I appreciate a lot the work you put into these tools,
> >
> > Best Regards,
> >
> > BTF encoder:
> >
> > - Add support to BTF_KIND_ENUM64 to represent enumeration entries with
> >   more than 32 bits.
> >
> > - Support multithreaded encoding, in addition to DWARF multithreaded
> >   loading, speeding up the process.
> >
> >   Selected just like DWARF multithreaded loading, using the 'pahole -j'
> >   option.
> >
> > - Encode 'char' type as signed.
> >
> > BTF Loader:
> >
> > - Add support to BTF_KIND_ENUM64.
> >
> > pahole:
> >
> > - Introduce --lang and --lang_exclude to specify the language the
> >   DWARF compile units were originated from to use or filter.
> >
> >   Use case is to exclude Rust compile units while aspects of the
> >   DWARF generated for it get sorted out in a way that the kernel
> >   BPF verifier don't refuse loading the BTF generated from them.
> >
> > - Introduce --compile to generate compilable code in a similar fashion to:
> >
> >    bpftool btf dump file vmlinux format c > vmlinux.h
> >
> >   As with 'bpftool', this will notice type shadowing, i.e. multiple types
> >   with the same name and will disambiguate by adding a suffix.
> >
> > - Don't segfault when processing bogus files.
> >

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
  2022-08-24 14:32   ` Arnaldo Carvalho de Melo
@ 2022-08-24 14:36     ` Luna Jernberg
  2022-08-24 14:37       ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 16+ messages in thread
From: Luna Jernberg @ 2022-08-24 14:36 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, droidbittin
  Cc: dwarves, Linux Kernel Mailing List, Alibek Omarov,
	Kornilios Kourtis, Kui-Feng Lee, Yonghong Song, bpf, Jiri Olsa

The Nvidia driver breaks

On 8/24/22, Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote:
> Em Wed, Aug 24, 2022 at 03:23:29PM +0200, Luna Jernberg escreveu:
>> This package breaks on Arch Linux at the moment and if you are using Arch
>> its recommended that you downgrade to 1.23
>
> Breaks in what sense? Can you please provide details?
>
> - Arnaldo
>
>> On Tue, Aug 23, 2022 at 1:59 AM Arnaldo Carvalho de Melo
>> <acme@kernel.org>
>> wrote:
>>
>> > Hi,
>> >
>> >         The v1.24 release of pahole and its friends is out, with faster
>> > BTF generation by parallelizing the encoding part in addition to the
>> > previoulsy parallelized DWARF loading, support for 64-bit BTF
>> > enumeration
>> > entries, signed BTF encoding of 'char', exclude/select DWARF loading
>> > based on the language that generated the objects, etc.
>> >
>> > 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.24.tar.xz
>> >    https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.bz2
>> >    https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.sign
>> >
>> >         Thanks a lot to all the contributors and distro packagers,
>> > you're
>> > on the
>> > CC list, I appreciate a lot the work you put into these tools,
>> >
>> > Best Regards,
>> >
>> > BTF encoder:
>> >
>> > - Add support to BTF_KIND_ENUM64 to represent enumeration entries with
>> >   more than 32 bits.
>> >
>> > - Support multithreaded encoding, in addition to DWARF multithreaded
>> >   loading, speeding up the process.
>> >
>> >   Selected just like DWARF multithreaded loading, using the 'pahole -j'
>> >   option.
>> >
>> > - Encode 'char' type as signed.
>> >
>> > BTF Loader:
>> >
>> > - Add support to BTF_KIND_ENUM64.
>> >
>> > pahole:
>> >
>> > - Introduce --lang and --lang_exclude to specify the language the
>> >   DWARF compile units were originated from to use or filter.
>> >
>> >   Use case is to exclude Rust compile units while aspects of the
>> >   DWARF generated for it get sorted out in a way that the kernel
>> >   BPF verifier don't refuse loading the BTF generated from them.
>> >
>> > - Introduce --compile to generate compilable code in a similar fashion
>> > to:
>> >
>> >    bpftool btf dump file vmlinux format c > vmlinux.h
>> >
>> >   As with 'bpftool', this will notice type shadowing, i.e. multiple
>> > types
>> >   with the same name and will disambiguate by adding a suffix.
>> >
>> > - Don't segfault when processing bogus files.
>> >
>
> --
>
> - Arnaldo
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
  2022-08-24 14:36     ` Luna Jernberg
@ 2022-08-24 14:37       ` Arnaldo Carvalho de Melo
  2022-08-24 14:38         ` Luna Jernberg
  0 siblings, 1 reply; 16+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-08-24 14:37 UTC (permalink / raw)
  To: Luna Jernberg
  Cc: Arnaldo Carvalho de Melo, dwarves, Linux Kernel Mailing List,
	Alibek Omarov, Kornilios Kourtis, Kui-Feng Lee, Yonghong Song,
	bpf, Jiri Olsa

Em Wed, Aug 24, 2022 at 04:36:18PM +0200, Luna Jernberg escreveu:
> The Nvidia driver breaks

How? What are the messages?

Here is a test on an Archlinux container:

[perfbuilder@758097c04011 dwarves-1.24]$ pahole --version
v1.24
[perfbuilder@758097c04011 dwarves-1.24]$ cat /etc/os-release
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
VERSION_ID=TEMPLATE_VERSION_ID
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux-logo
[perfbuilder@758097c04011 dwarves-1.24]$ pahole list_head
struct list_head {
	struct list_head *         next;                 /*     0     8 */
	struct list_head *         prev;                 /*     8     8 */

	/* size: 16, cachelines: 1, members: 2 */
	/* last cacheline: 16 bytes */
};
[perfbuilder@758097c04011 dwarves-1.24]$ pahole --sizes | sort -k2 -nr | head
rcu_state	300608	7
cmp_data	290904	1
dec_data	274520	1
cpu_entry_area	241664	0
kvm	190016	6
pglist_data	173440	6
ZSTD_DCtx_s	161480	6
saved_cmdlines_buffer	131104	1
debug_store_buffers	131072	0
hid_parser	110848	1
[perfbuilder@758097c04011 dwarves-1.24]$
 
> On 8/24/22, Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote:
> > Em Wed, Aug 24, 2022 at 03:23:29PM +0200, Luna Jernberg escreveu:
> >> This package breaks on Arch Linux at the moment and if you are using Arch
> >> its recommended that you downgrade to 1.23
> >
> > Breaks in what sense? Can you please provide details?
> >
> > - Arnaldo
> >
> >> On Tue, Aug 23, 2022 at 1:59 AM Arnaldo Carvalho de Melo
> >> <acme@kernel.org>
> >> wrote:
> >>
> >> > Hi,
> >> >
> >> >         The v1.24 release of pahole and its friends is out, with faster
> >> > BTF generation by parallelizing the encoding part in addition to the
> >> > previoulsy parallelized DWARF loading, support for 64-bit BTF
> >> > enumeration
> >> > entries, signed BTF encoding of 'char', exclude/select DWARF loading
> >> > based on the language that generated the objects, etc.
> >> >
> >> > 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.24.tar.xz
> >> >    https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.bz2
> >> >    https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.sign
> >> >
> >> >         Thanks a lot to all the contributors and distro packagers,
> >> > you're
> >> > on the
> >> > CC list, I appreciate a lot the work you put into these tools,
> >> >
> >> > Best Regards,
> >> >
> >> > BTF encoder:
> >> >
> >> > - Add support to BTF_KIND_ENUM64 to represent enumeration entries with
> >> >   more than 32 bits.
> >> >
> >> > - Support multithreaded encoding, in addition to DWARF multithreaded
> >> >   loading, speeding up the process.
> >> >
> >> >   Selected just like DWARF multithreaded loading, using the 'pahole -j'
> >> >   option.
> >> >
> >> > - Encode 'char' type as signed.
> >> >
> >> > BTF Loader:
> >> >
> >> > - Add support to BTF_KIND_ENUM64.
> >> >
> >> > pahole:
> >> >
> >> > - Introduce --lang and --lang_exclude to specify the language the
> >> >   DWARF compile units were originated from to use or filter.
> >> >
> >> >   Use case is to exclude Rust compile units while aspects of the
> >> >   DWARF generated for it get sorted out in a way that the kernel
> >> >   BPF verifier don't refuse loading the BTF generated from them.
> >> >
> >> > - Introduce --compile to generate compilable code in a similar fashion
> >> > to:
> >> >
> >> >    bpftool btf dump file vmlinux format c > vmlinux.h
> >> >
> >> >   As with 'bpftool', this will notice type shadowing, i.e. multiple
> >> > types
> >> >   with the same name and will disambiguate by adding a suffix.
> >> >
> >> > - Don't segfault when processing bogus files.
> >> >
> >
> > --
> >
> > - Arnaldo
> >

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
  2022-08-24 14:37       ` Arnaldo Carvalho de Melo
@ 2022-08-24 14:38         ` Luna Jernberg
  2022-08-24 22:50           ` Martin Reboredo
  0 siblings, 1 reply; 16+ messages in thread
From: Luna Jernberg @ 2022-08-24 14:38 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, droidbittin
  Cc: dwarves, Linux Kernel Mailing List, Alibek Omarov,
	Kornilios Kourtis, Kui-Feng Lee, Yonghong Song, bpf, Jiri Olsa

https://forum.endeavouros.com/t/failed-to-start-load-kernel-modules-on-boot-after-system-update-nvidia/30584/17?u=sradjoker

On 8/24/22, Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote:
> Em Wed, Aug 24, 2022 at 04:36:18PM +0200, Luna Jernberg escreveu:
>> The Nvidia driver breaks
>
> How? What are the messages?
>
> Here is a test on an Archlinux container:
>
> [perfbuilder@758097c04011 dwarves-1.24]$ pahole --version
> v1.24
> [perfbuilder@758097c04011 dwarves-1.24]$ cat /etc/os-release
> NAME="Arch Linux"
> PRETTY_NAME="Arch Linux"
> ID=arch
> BUILD_ID=rolling
> VERSION_ID=TEMPLATE_VERSION_ID
> ANSI_COLOR="38;2;23;147;209"
> HOME_URL="https://archlinux.org/"
> DOCUMENTATION_URL="https://wiki.archlinux.org/"
> SUPPORT_URL="https://bbs.archlinux.org/"
> BUG_REPORT_URL="https://bugs.archlinux.org/"
> LOGO=archlinux-logo
> [perfbuilder@758097c04011 dwarves-1.24]$ pahole list_head
> struct list_head {
> 	struct list_head *         next;                 /*     0     8 */
> 	struct list_head *         prev;                 /*     8     8 */
>
> 	/* size: 16, cachelines: 1, members: 2 */
> 	/* last cacheline: 16 bytes */
> };
> [perfbuilder@758097c04011 dwarves-1.24]$ pahole --sizes | sort -k2 -nr |
> head
> rcu_state	300608	7
> cmp_data	290904	1
> dec_data	274520	1
> cpu_entry_area	241664	0
> kvm	190016	6
> pglist_data	173440	6
> ZSTD_DCtx_s	161480	6
> saved_cmdlines_buffer	131104	1
> debug_store_buffers	131072	0
> hid_parser	110848	1
> [perfbuilder@758097c04011 dwarves-1.24]$
>
>> On 8/24/22, Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote:
>> > Em Wed, Aug 24, 2022 at 03:23:29PM +0200, Luna Jernberg escreveu:
>> >> This package breaks on Arch Linux at the moment and if you are using
>> >> Arch
>> >> its recommended that you downgrade to 1.23
>> >
>> > Breaks in what sense? Can you please provide details?
>> >
>> > - Arnaldo
>> >
>> >> On Tue, Aug 23, 2022 at 1:59 AM Arnaldo Carvalho de Melo
>> >> <acme@kernel.org>
>> >> wrote:
>> >>
>> >> > Hi,
>> >> >
>> >> >         The v1.24 release of pahole and its friends is out, with
>> >> > faster
>> >> > BTF generation by parallelizing the encoding part in addition to the
>> >> > previoulsy parallelized DWARF loading, support for 64-bit BTF
>> >> > enumeration
>> >> > entries, signed BTF encoding of 'char', exclude/select DWARF loading
>> >> > based on the language that generated the objects, etc.
>> >> >
>> >> > 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.24.tar.xz
>> >> >    https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.bz2
>> >> >    https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.sign
>> >> >
>> >> >         Thanks a lot to all the contributors and distro packagers,
>> >> > you're
>> >> > on the
>> >> > CC list, I appreciate a lot the work you put into these tools,
>> >> >
>> >> > Best Regards,
>> >> >
>> >> > BTF encoder:
>> >> >
>> >> > - Add support to BTF_KIND_ENUM64 to represent enumeration entries
>> >> > with
>> >> >   more than 32 bits.
>> >> >
>> >> > - Support multithreaded encoding, in addition to DWARF multithreaded
>> >> >   loading, speeding up the process.
>> >> >
>> >> >   Selected just like DWARF multithreaded loading, using the 'pahole
>> >> > -j'
>> >> >   option.
>> >> >
>> >> > - Encode 'char' type as signed.
>> >> >
>> >> > BTF Loader:
>> >> >
>> >> > - Add support to BTF_KIND_ENUM64.
>> >> >
>> >> > pahole:
>> >> >
>> >> > - Introduce --lang and --lang_exclude to specify the language the
>> >> >   DWARF compile units were originated from to use or filter.
>> >> >
>> >> >   Use case is to exclude Rust compile units while aspects of the
>> >> >   DWARF generated for it get sorted out in a way that the kernel
>> >> >   BPF verifier don't refuse loading the BTF generated from them.
>> >> >
>> >> > - Introduce --compile to generate compilable code in a similar
>> >> > fashion
>> >> > to:
>> >> >
>> >> >    bpftool btf dump file vmlinux format c > vmlinux.h
>> >> >
>> >> >   As with 'bpftool', this will notice type shadowing, i.e. multiple
>> >> > types
>> >> >   with the same name and will disambiguate by adding a suffix.
>> >> >
>> >> > - Don't segfault when processing bogus files.
>> >> >
>> >
>> > --
>> >
>> > - Arnaldo
>> >
>
> --
>
> - Arnaldo
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
  2022-08-22 23:28 ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries) Arnaldo Carvalho de Melo
       [not found] ` <CADo9pHhW9w+ciNbQr+7u4mezuQ1USyh0k2Wshy=wkdEcxRiDLA@mail.gmail.com>
@ 2022-08-24 16:24 ` Nathan Chancellor
  2022-08-24 17:15   ` Arnaldo Carvalho de Melo
  1 sibling, 1 reply; 16+ messages in thread
From: Nathan Chancellor @ 2022-08-24 16:24 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: dwarves, Linux Kernel Mailing List, Alibek Omarov,
	Kornilios Kourtis, Kui-Feng Lee, Yonghong Song, bpf, Jiri Olsa

Hi Arnaldo,

On Mon, Aug 22, 2022 at 08:28:42PM -0300, Arnaldo Carvalho de Melo wrote:
> Hi,
>   
> 	The v1.24 release of pahole and its friends is out, with faster
> BTF generation by parallelizing the encoding part in addition to the
> previoulsy parallelized DWARF loading, support for 64-bit BTF enumeration
> entries, signed BTF encoding of 'char', exclude/select DWARF loading
> based on the language that generated the objects, etc.

<snip>

> - Introduce --lang and --lang_exclude to specify the language the
>   DWARF compile units were originated from to use or filter.

This appears to break building pahole with older versions of libdw (?).
I build container images with older versions of compilers for easy
matrix testing and my gcc-5 and gcc-6 images (based off Ubuntu Xenial
and Debian Stretch respectively) fail to build.

    $ podman run --rm -ti -v $TMP_FOLDER/dwarves-1.24.tar.xz:/tmp/dwarves-1.24.tar.xz:ro docker.io/ubuntu:xenial
    # apt update
    # apt install build-essential cmake libdw-dev libelf-dev xz-utils zlib1g-dev
    # cd $(mktemp -d)
    # tar -xJf /tmp/dwarves-1.24.tar.xz
    # mkdir build
    # cd build
    # cmake -DBUILD_SHARED_LIBS=OFF -D__LIB=lib ../dwarves-1.24
    # make -j$(nproc)
    ...
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c: In function 'lang__str2int':
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: error: 'DW_LANG_BLISS' undeclared (first use in this function)
      [DW_LANG_BLISS]   = "bliss",
       ^
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: note: each undeclared identifier is reported only once for each function it appears in
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: error: array index in initializer not of integer type
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: note: (near initialization for 'languages')
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2100:3: error: 'DW_LANG_C_plus_plus_03' undeclared (first use in this function)
      [DW_LANG_C_plus_plus_03] = "c++03",
       ^
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2100:3: error: array index in initializer not of integer type
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2100:3: note: (near initialization for 'languages')
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2105:3: error: 'DW_LANG_Dylan' undeclared (first use in this function)
      [DW_LANG_Dylan]   = "dylan",
       ^
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2105:3: error: array index in initializer not of integer type
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2105:3: note: (near initialization for 'languages')
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2114:3: error: 'DW_LANG_Julia' undeclared (first use in this function)
      [DW_LANG_Julia]   = "julia",
       ^
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2114:3: error: array index in initializer not of integer type
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2114:3: note: (near initialization for 'languages')
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2116:3: error: 'DW_LANG_Modula3' undeclared (first use in this function)
      [DW_LANG_Modula3]  = "modula3",
       ^
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2116:3: error: array index in initializer not of integer type
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2116:3: note: (near initialization for 'languages')
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2119:3: error: 'DW_LANG_OCaml' undeclared (first use in this function)
      [DW_LANG_OCaml]   = "ocaml",
       ^
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2119:3: error: array index in initializer not of integer type
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2119:3: note: (near initialization for 'languages')
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2120:3: error: 'DW_LANG_OpenCL' undeclared (first use in this function)
      [DW_LANG_OpenCL]  = "opencl",
       ^
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2120:3: error: array index in initializer not of integer type
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2120:3: note: (near initialization for 'languages')
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2122:3: error: 'DW_LANG_PLI' undeclared (first use in this function)
      [DW_LANG_PLI]   = "pli",
       ^
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2122:3: error: array index in initializer not of integer type
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2122:3: note: (near initialization for 'languages')
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2124:3: error: 'DW_LANG_RenderScript' undeclared (first use in this function)
      [DW_LANG_RenderScript]  = "renderscript",
       ^
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2124:3: error: array index in initializer not of integer type
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2124:3: note: (near initialization for 'languages')
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2125:3: error: 'DW_LANG_Rust' undeclared (first use in this function)
      [DW_LANG_Rust]   = "rust",
       ^
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2125:3: error: array index in initializer not of integer type
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2125:3: note: (near initialization for 'languages')
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2126:3: error: 'DW_LANG_Swift' undeclared (first use in this function)
      [DW_LANG_Swift]   = "swift",
       ^
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2126:3: error: array index in initializer not of integer type
    /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2126:3: note: (near initialization for 'languages')
    CMakeFiles/dwarves.dir/build.make:62: recipe for target 'CMakeFiles/dwarves.dir/dwarves.c.o' failed
    ...

If there is any additional information I can provide or patches I can
test, please let me know!

Cheers,
Nathan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
  2022-08-24 16:24 ` Nathan Chancellor
@ 2022-08-24 17:15   ` Arnaldo Carvalho de Melo
  2022-08-24 17:55     ` Arnaldo Carvalho de Melo
  2022-08-24 17:59     ` ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries) Luna Jernberg
  0 siblings, 2 replies; 16+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-08-24 17:15 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: dwarves, Linux Kernel Mailing List, Alibek Omarov,
	Kornilios Kourtis, Kui-Feng Lee, Yonghong Song, bpf, Jiri Olsa

Em Wed, Aug 24, 2022 at 09:24:49AM -0700, Nathan Chancellor escreveu:
> Hi Arnaldo,
> 
> On Mon, Aug 22, 2022 at 08:28:42PM -0300, Arnaldo Carvalho de Melo wrote:
> > Hi,
> >   
> > 	The v1.24 release of pahole and its friends is out, with faster
> > BTF generation by parallelizing the encoding part in addition to the
> > previoulsy parallelized DWARF loading, support for 64-bit BTF enumeration
> > entries, signed BTF encoding of 'char', exclude/select DWARF loading
> > based on the language that generated the objects, etc.
> 
> <snip>
> 
> > - Introduce --lang and --lang_exclude to specify the language the
> >   DWARF compile units were originated from to use or filter.
> 
> This appears to break building pahole with older versions of libdw (?).
> I build container images with older versions of compilers for easy
> matrix testing and my gcc-5 and gcc-6 images (based off Ubuntu Xenial
> and Debian Stretch respectively) fail to build.

I do it for perf, should have done it for pahole :-\

So I'll have to come up with a patch that checks if those are defined
and if not, define it :-\ Ooops, its an enumeration :-\ I'll have to
check how to fix this, thanks for the report!

Will rebuild it with the containers I have to see if there are other
cases.

- Arnaldo
 
>     $ podman run --rm -ti -v $TMP_FOLDER/dwarves-1.24.tar.xz:/tmp/dwarves-1.24.tar.xz:ro docker.io/ubuntu:xenial
>     # apt update
>     # apt install build-essential cmake libdw-dev libelf-dev xz-utils zlib1g-dev
>     # cd $(mktemp -d)
>     # tar -xJf /tmp/dwarves-1.24.tar.xz
>     # mkdir build
>     # cd build
>     # cmake -DBUILD_SHARED_LIBS=OFF -D__LIB=lib ../dwarves-1.24
>     # make -j$(nproc)
>     ...
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c: In function 'lang__str2int':
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: error: 'DW_LANG_BLISS' undeclared (first use in this function)
>       [DW_LANG_BLISS]   = "bliss",
>        ^
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: note: each undeclared identifier is reported only once for each function it appears in
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: error: array index in initializer not of integer type
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: note: (near initialization for 'languages')
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2100:3: error: 'DW_LANG_C_plus_plus_03' undeclared (first use in this function)
>       [DW_LANG_C_plus_plus_03] = "c++03",
>        ^
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2100:3: error: array index in initializer not of integer type
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2100:3: note: (near initialization for 'languages')
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2105:3: error: 'DW_LANG_Dylan' undeclared (first use in this function)
>       [DW_LANG_Dylan]   = "dylan",
>        ^
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2105:3: error: array index in initializer not of integer type
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2105:3: note: (near initialization for 'languages')
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2114:3: error: 'DW_LANG_Julia' undeclared (first use in this function)
>       [DW_LANG_Julia]   = "julia",
>        ^
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2114:3: error: array index in initializer not of integer type
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2114:3: note: (near initialization for 'languages')
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2116:3: error: 'DW_LANG_Modula3' undeclared (first use in this function)
>       [DW_LANG_Modula3]  = "modula3",
>        ^
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2116:3: error: array index in initializer not of integer type
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2116:3: note: (near initialization for 'languages')
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2119:3: error: 'DW_LANG_OCaml' undeclared (first use in this function)
>       [DW_LANG_OCaml]   = "ocaml",
>        ^
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2119:3: error: array index in initializer not of integer type
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2119:3: note: (near initialization for 'languages')
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2120:3: error: 'DW_LANG_OpenCL' undeclared (first use in this function)
>       [DW_LANG_OpenCL]  = "opencl",
>        ^
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2120:3: error: array index in initializer not of integer type
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2120:3: note: (near initialization for 'languages')
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2122:3: error: 'DW_LANG_PLI' undeclared (first use in this function)
>       [DW_LANG_PLI]   = "pli",
>        ^
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2122:3: error: array index in initializer not of integer type
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2122:3: note: (near initialization for 'languages')
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2124:3: error: 'DW_LANG_RenderScript' undeclared (first use in this function)
>       [DW_LANG_RenderScript]  = "renderscript",
>        ^
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2124:3: error: array index in initializer not of integer type
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2124:3: note: (near initialization for 'languages')
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2125:3: error: 'DW_LANG_Rust' undeclared (first use in this function)
>       [DW_LANG_Rust]   = "rust",
>        ^
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2125:3: error: array index in initializer not of integer type
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2125:3: note: (near initialization for 'languages')
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2126:3: error: 'DW_LANG_Swift' undeclared (first use in this function)
>       [DW_LANG_Swift]   = "swift",
>        ^
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2126:3: error: array index in initializer not of integer type
>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2126:3: note: (near initialization for 'languages')
>     CMakeFiles/dwarves.dir/build.make:62: recipe for target 'CMakeFiles/dwarves.dir/dwarves.c.o' failed
>     ...
> 
> If there is any additional information I can provide or patches I can
> test, please let me know!
> 
> Cheers,
> Nathan

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
  2022-08-24 17:15   ` Arnaldo Carvalho de Melo
@ 2022-08-24 17:55     ` Arnaldo Carvalho de Melo
  2022-08-25 13:19       ` [PATCH] core: Conditionally define language encodings entries) Arnaldo Carvalho de Melo
  2022-08-24 17:59     ` ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries) Luna Jernberg
  1 sibling, 1 reply; 16+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-08-24 17:55 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: dwarves, Linux Kernel Mailing List, Alibek Omarov,
	Kornilios Kourtis, Kui-Feng Lee, Yonghong Song, bpf, Jiri Olsa

Em Wed, Aug 24, 2022 at 02:15:36PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Wed, Aug 24, 2022 at 09:24:49AM -0700, Nathan Chancellor escreveu:
> > Hi Arnaldo,
> > 
> > On Mon, Aug 22, 2022 at 08:28:42PM -0300, Arnaldo Carvalho de Melo wrote:
> > > Hi,
> > >   
> > > 	The v1.24 release of pahole and its friends is out, with faster
> > > BTF generation by parallelizing the encoding part in addition to the
> > > previoulsy parallelized DWARF loading, support for 64-bit BTF enumeration
> > > entries, signed BTF encoding of 'char', exclude/select DWARF loading
> > > based on the language that generated the objects, etc.
> > 
> > <snip>
> > 
> > > - Introduce --lang and --lang_exclude to specify the language the
> > >   DWARF compile units were originated from to use or filter.
> > 
> > This appears to break building pahole with older versions of libdw (?).
> > I build container images with older versions of compilers for easy
> > matrix testing and my gcc-5 and gcc-6 images (based off Ubuntu Xenial
> > and Debian Stretch respectively) fail to build.
> 
> I do it for perf, should have done it for pahole :-\
> 
> So I'll have to come up with a patch that checks if those are defined
> and if not, define it :-\ Ooops, its an enumeration :-\ I'll have to
> check how to fix this, thanks for the report!
> 
> Will rebuild it with the containers I have to see if there are other
> cases.

Yeah, recent enough distros are all building ok, I'll try and add some
fallback for old distros.

[perfbuilder@five ~]$ export BUILD_TARBALL=http://192.168.86.14/pahole/dwarves-1.24.tar.xz
[perfbuilder@five ~]$ export BUILD_CMD=buildcmd.sh
[perfbuilder@five ~]$ time dm
   1     3.86 almalinux:8                   : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) , clang version 12.0.1 (Red Hat 12.0.1-4.module_el8.5.0+1025+93159d6c)
   2     3.97 almalinux:9                   : Ok   gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) , clang version 13.0.1 (Red Hat 13.0.1-1.el9)
   3     1.06 alpine:3.9                    : FAIL gcc version 8.3.0 (Alpine 8.3.0)
   4     0.96 alpine:3.10                   : FAIL gcc version 8.3.0 (Alpine 8.3.0)
   5     0.86 alpine:3.11                   : FAIL gcc version 9.3.0 (Alpine 9.3.0)
   6     4.77 alpine:3.12                   : Ok   gcc (Alpine 9.3.0) 9.3.0 , Alpine clang version 10.0.0 (https://gitlab.alpinelinux.org/alpine/aports.git 7445adce501f8473efdb93b17b5eaf2f1445ed4c)
   7     5.47 alpine:3.13                   : Ok   gcc (Alpine 10.2.1_pre1) 10.2.1 20201203 , Alpine clang version 10.0.1
   8     5.57 alpine:3.14                   : Ok   gcc (Alpine 10.3.1_git20210424) 10.3.1 20210424 , Alpine clang version 11.1.0
   9     5.37 alpine:3.15                   : Ok   gcc (Alpine 10.3.1_git20211027) 10.3.1 20211027 , Alpine clang version 12.0.1
  10     5.67 alpine:3.16                   : Ok   gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219 , Alpine clang version 13.0.1
  11     5.67 alpine:edge                   : Ok   gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219 , Alpine clang version 14.0.6
  12     2.96 alt:p8                        : FAIL gcc version 5.3.1 20151207 (ALT p8 5.3.1-alt3.M80P.1) (GCC)
    /git/dwarves-1.24/dwarves.c: In function 'lang__str2int':
    /git/dwarves-1.24/dwarves.c:2093:3: error: 'DW_LANG_BLISS' undeclared (first use in this function)
      [DW_LANG_BLISS]   = "bliss",
       ^
    /git/dwarves-1.24/dwarves.c:2093:3: note: each undeclared identifier is reported only once for each function it appears in
    /git/dwarves-1.24/dwarves.c:2093:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2093:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2100:3: error: 'DW_LANG_C_plus_plus_03' undeclared (first use in this function)
      [DW_LANG_C_plus_plus_03] = "c++03",
       ^
    /git/dwarves-1.24/dwarves.c:2100:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2100:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2105:3: error: 'DW_LANG_Dylan' undeclared (first use in this function)
      [DW_LANG_Dylan]   = "dylan",
       ^
    /git/dwarves-1.24/dwarves.c:2105:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2105:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2114:3: error: 'DW_LANG_Julia' undeclared (first use in this function)
      [DW_LANG_Julia]   = "julia",
       ^
    /git/dwarves-1.24/dwarves.c:2114:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2114:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2116:3: error: 'DW_LANG_Modula3' undeclared (first use in this function)
      [DW_LANG_Modula3]  = "modula3",
       ^
    /git/dwarves-1.24/dwarves.c:2116:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2116:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2119:3: error: 'DW_LANG_OCaml' undeclared (first use in this function)
      [DW_LANG_OCaml]   = "ocaml",
       ^
    /git/dwarves-1.24/dwarves.c:2119:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2119:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2120:3: error: 'DW_LANG_OpenCL' undeclared (first use in this function)
      [DW_LANG_OpenCL]  = "opencl",
       ^
    /git/dwarves-1.24/dwarves.c:2120:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2120:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2124:3: error: 'DW_LANG_RenderScript' undeclared (first use in this function)
      [DW_LANG_RenderScript]  = "renderscript",
       ^
    /git/dwarves-1.24/dwarves.c:2124:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2124:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2125:3: error: 'DW_LANG_Rust' undeclared (first use in this function)
      [DW_LANG_Rust]   = "rust",
       ^
    /git/dwarves-1.24/dwarves.c:2125:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2125:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2126:3: error: 'DW_LANG_Swift' undeclared (first use in this function)
      [DW_LANG_Swift]   = "swift",
       ^
    /git/dwarves-1.24/dwarves.c:2126:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2126:3: note: (near initialization for 'languages')
    make[2]: *** [CMakeFiles/dwarves.dir/dwarves.c.o] Error 1
  13     4.07 alt:p9                        : Ok   x86_64-alt-linux-gcc (GCC) 8.4.1 20200305 (ALT p9 8.4.1-alt0.p9.1) , clang version 10.0.0
  14     4.17 alt:p10                       : Ok   x86_64-alt-linux-gcc (GCC) 10.3.1 20210703 (ALT Sisyphus 10.3.1-alt2) , clang version 11.0.1
  15     4.17 alt:sisyphus                  : Ok   x86_64-alt-linux-gcc (GCC) 12.1.1 20220518 (ALT Sisyphus 12.1.1-alt1) , ALT Linux Team clang version 13.0.1
  16     3.57 amazonlinux:2                 : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-15) , clang version 11.1.0 (Amazon Linux 2 11.1.0-1.amzn2.0.2)
  17     4.27 amazonlinux:devel             : Ok   gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) , clang version 12.0.1 (Fedora 12.0.1-1.amzn2022)
  18     4.87 archlinux:base                : Ok   gcc (GCC) 12.1.1 20220730 , clang version 14.0.6
  19     3.77 centos:8                      : Ok   gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1) , clang version 11.0.1 (Red Hat 11.0.1-1.module_el8.4.0+966+2995ef20)
  20     4.07 centos:stream                 : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-15) , clang version 14.0.0 (Red Hat 14.0.0-1.module_el8.7.0+1142+5343df54)
  21     4.87 clearlinux:latest             : Ok   gcc (Clear Linux OS for Intel Architecture) 12.1.1 20220811 releases/gcc-12.1.0-341-g28a7b5df3b
  22     3.36 debian:9                      : FAIL gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
    /git/dwarves-1.24/dwarves.c: In function 'lang__str2int':
    /git/dwarves-1.24/dwarves.c:2093:3: error: 'DW_LANG_BLISS' undeclared (first use in this function)
      [DW_LANG_BLISS]   = "bliss",
       ^~~~~~~~~~~~~
    /git/dwarves-1.24/dwarves.c:2093:3: note: each undeclared identifier is reported only once for each function it appears in
    /git/dwarves-1.24/dwarves.c:2093:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2093:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2100:3: error: 'DW_LANG_C_plus_plus_03' undeclared (first use in this function)
      [DW_LANG_C_plus_plus_03] = "c++03",
       ^~~~~~~~~~~~~~~~~~~~~~
    /git/dwarves-1.24/dwarves.c:2100:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2100:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2105:3: error: 'DW_LANG_Dylan' undeclared (first use in this function)
      [DW_LANG_Dylan]   = "dylan",
       ^~~~~~~~~~~~~
    /git/dwarves-1.24/dwarves.c:2105:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2105:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2114:3: error: 'DW_LANG_Julia' undeclared (first use in this function)
      [DW_LANG_Julia]   = "julia",
       ^~~~~~~~~~~~~
    /git/dwarves-1.24/dwarves.c:2114:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2114:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2116:3: error: 'DW_LANG_Modula3' undeclared (first use in this function)
      [DW_LANG_Modula3]  = "modula3",
       ^~~~~~~~~~~~~~~
    /git/dwarves-1.24/dwarves.c:2116:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2116:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2119:3: error: 'DW_LANG_OCaml' undeclared (first use in this function)
      [DW_LANG_OCaml]   = "ocaml",
       ^~~~~~~~~~~~~
    /git/dwarves-1.24/dwarves.c:2119:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2119:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2120:3: error: 'DW_LANG_OpenCL' undeclared (first use in this function)
      [DW_LANG_OpenCL]  = "opencl",
       ^~~~~~~~~~~~~~
    /git/dwarves-1.24/dwarves.c:2120:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2120:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2124:3: error: 'DW_LANG_RenderScript' undeclared (first use in this function)
      [DW_LANG_RenderScript]  = "renderscript",
       ^~~~~~~~~~~~~~~~~~~~
    /git/dwarves-1.24/dwarves.c:2124:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2124:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2125:3: error: 'DW_LANG_Rust' undeclared (first use in this function)
      [DW_LANG_Rust]   = "rust",
       ^~~~~~~~~~~~
    /git/dwarves-1.24/dwarves.c:2125:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2125:3: note: (near initialization for 'languages')
    /git/dwarves-1.24/dwarves.c:2126:3: error: 'DW_LANG_Swift' undeclared (first use in this function)
      [DW_LANG_Swift]   = "swift",
       ^~~~~~~~~~~~~
    /git/dwarves-1.24/dwarves.c:2126:3: error: array index in initializer not of integer type
    /git/dwarves-1.24/dwarves.c:2126:3: note: (near initialization for 'languages')
    CMakeFiles/dwarves.dir/build.make:62: recipe for target 'CMakeFiles/dwarves.dir/dwarves.c.o' failed
    make[2]: *** [CMakeFiles/dwarves.dir/dwarves.c.o] Error 1
  23     4.08 debian:10                     : Ok   gcc (Debian 8.3.0-6) 8.3.0 , Debian clang version 11.0.1-2~deb10u1
  24     3.97 debian:11                     : Ok   gcc (Debian 10.2.1-6) 10.2.1 20210110 , Debian clang version 11.0.1-2
  25     4.77 debian:experimental           : Ok   gcc (Debian 12.1.0-7) 12.1.0 , Debian clang version 14.0.6-2
  26     3.06 fedora:22                     : FAIL gcc version 5.3.1 20160406 (Red Hat 5.3.1-6) (GCC)
    /git/dwarves-1.24/dwarves.c: In function 'lang__str2int':
    /git/dwarves-1.24/dwarves.c:2093:3: error: 'DW_LANG_BLISS' undeclared (first use in this function)
      [DW_LANG_BLISS]   = "bliss",
       ^
    /git/dwarves-1.24/dwarves.c:2093:3: note: each undeclared identifier is reported only once for each function it appears in
  27     3.06 fedora:24                     : FAIL gcc version 6.3.1 20161221 (Red Hat 6.3.1-1) (GCC)
    /git/dwarves-1.24/dwarves.c: In function 'lang__str2int':
    /git/dwarves-1.24/dwarves.c:2093:3: error: 'DW_LANG_BLISS' undeclared (first use in this function)
      [DW_LANG_BLISS]   = "bliss",
       ^~~~~~~~~~~~~
    /git/dwarves-1.24/dwarves.c:2093:3: note: each undeclared identifier is reported only once for each function it appears in
  28     3.17 fedora:25                     : FAIL gcc version 6.4.1 20170727 (Red Hat 6.4.1-1) (GCC)
    /git/dwarves-1.24/dwarves.c: In function 'lang__str2int':
    /git/dwarves-1.24/dwarves.c:2093:3: error: 'DW_LANG_BLISS' undeclared (first use in this function)
      [DW_LANG_BLISS]   = "bliss",
       ^~~~~~~~~~~~~
  29     3.87 fedora:26                     : Ok   gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
  30     3.57 fedora:27                     : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
  31     3.87 fedora:28                     : Ok   gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2)
  32     3.97 fedora:29                     : Ok   gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2)
  33     3.77 fedora:30                     : Ok   gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)
  34     3.97 fedora:31                     : Ok   gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) , clang version 9.0.1 (Fedora 9.0.1-4.fc31)
  35     4.07 fedora:32                     : Ok   gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 10.0.1 (Fedora 10.0.1-3.fc32)
  36     3.97 fedora:33                     : Ok   gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 11.0.0 (Fedora 11.0.0-3.fc33)
  37     4.17 fedora:34                     : Ok   gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) , clang version 12.0.1 (Fedora 12.0.1-1.fc34)
  38     3.97 fedora:35                     : Ok   gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) , clang version 13.0.0 (Fedora 13.0.0-3.fc35)
  39     4.27 fedora:36                     : Ok   gcc (GCC) 12.1.1 20220507 (Red Hat 12.1.1-1) , clang version 14.0.0 (Fedora 14.0.0-1.fc36)
  40     4.57 fedora:37                     : Ok   gcc (GCC) 12.1.1 20220628 (Red Hat 12.1.1-3) , clang version 14.0.5 (Fedora 14.0.5-6.fc37)
  41     4.67 fedora:38                     : Ok   gcc (GCC) 12.1.1 20220810 (Red Hat 12.1.1-4) , clang version 14.0.5 (Fedora 14.0.5-6.fc38)
  42     4.56 fedora:rawhide                : Ok   gcc (GCC) 12.1.1 20220810 (Red Hat 12.1.1-4) , clang version 14.0.5 (Fedora 14.0.5-6.fc38)
  43     4.17 gentoo-stage3:latest          : Ok   gcc (Gentoo 11.2.0 p1) 11.2.0 , clang version 13.0.0
  44     4.47 manjaro:base                  : Ok   gcc (GCC) 11.1.0 , clang version 13.0.0
  45     3.26 opensuse:15.0                 : FAIL gcc version 7.4.1 20190905 [gcc-7-branch revision 275407] (SUSE Linux)
    /git/dwarves-1.24/dwarves.c: In function 'lang__str2int':
    /git/dwarves-1.24/dwarves.c:2093:3: error: 'DW_LANG_BLISS' undeclared (first use in this function); did you mean 'DW_LANG_PLI'?
      [DW_LANG_BLISS]   = "bliss",
       ^~~~~~~~~~~~~
       DW_LANG_PLI
    /git/dwarves-1.24/dwarves.c:2093:3: note: each undeclared identifier is reported only once for each function it appears in
  46     3.17 opensuse:15.1                 : FAIL gcc version 7.5.0 (SUSE Linux)
    /git/dwarves-1.24/dwarves.c: In function 'lang__str2int':
    /git/dwarves-1.24/dwarves.c:2093:3: error: 'DW_LANG_BLISS' undeclared (first use in this function); did you mean 'DW_LANG_PLI'?
      [DW_LANG_BLISS]   = "bliss",
       ^~~~~~~~~~~~~
       DW_LANG_PLI
    /git/dwarves-1.24/dwarves.c:2093:3: note: each undeclared identifier is reported only once for each function it appears in
  47     3.16 opensuse:15.2                 : FAIL gcc version 7.5.0 (SUSE Linux)
    /git/dwarves-1.24/dwarves.c: In function 'lang__str2int':
    /git/dwarves-1.24/dwarves.c:2093:3: error: 'DW_LANG_BLISS' undeclared (first use in this function); did you mean 'DW_LANG_PLI'?
      [DW_LANG_BLISS]   = "bliss",
       ^~~~~~~~~~~~~
       DW_LANG_PLI
    /git/dwarves-1.24/dwarves.c:2093:3: note: each undeclared identifier is reported only once for each function it appears in
  48     3.77 opensuse:15.3                 : Ok   gcc (SUSE Linux) 7.5.0 , clang version 11.0.1
  49     3.96 opensuse:15.4                 : Ok   gcc (SUSE Linux) 7.5.0 , clang version 13.0.1
  50     4.57 opensuse:tumbleweed           : Ok   gcc (SUSE Linux) 12.1.1 20220629 [revision 7811663964aa7e31c3939b859bbfa2e16919639f] , clang version 14.0.6
  51     3.87 oraclelinux:8                 : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4.0.1) , clang version 12.0.1 (Red Hat 12.0.1-4.0.1.module+el8.5.0+20428+2b4ecd47)
  52     3.97 oraclelinux:9                 : Ok   gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9.4.0.2) , clang version 13.0.1 (Red Hat 13.0.1-1.0.1.el9)
  53     3.97 rockylinux:8                  : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10) , clang version 13.0.1 (Red Hat 13.0.1-2.module+el8.6.0+987+d36ea6a1)
  54     4.17 rockylinux:9                  : Ok   gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) , clang version 13.0.1 (Red Hat 13.0.1-1.el9)
  55     3.06 ubuntu:16.04                  : FAIL gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)
    /git/dwarves-1.24/dwarves.c: In function 'lang__str2int':
    /git/dwarves-1.24/dwarves.c:2093:3: error: 'DW_LANG_BLISS' undeclared (first use in this function)
      [DW_LANG_BLISS]   = "bliss",
       ^
    /git/dwarves-1.24/dwarves.c:2093:3: note: each undeclared identifier is reported only once for each function it appears in
  56     3.77 ubuntu:18.04                  : Ok   gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
  57     4.27 ubuntu:20.04                  : Ok   gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
  58     4.17 ubuntu:21.04                  : Ok   gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0 , Ubuntu clang version 12.0.0-3ubuntu1~21.04.2
  59     4.07 ubuntu:21.10                  : Ok   gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0 , Ubuntu clang version 13.0.0-2
  60     4.17 ubuntu:22.04                  : Ok   gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0 , Ubuntu clang version 14.0.0-1ubuntu1
  61     4.37 ubuntu:22.10                  : Ok   gcc (Ubuntu 11.3.0-5ubuntu1) 11.3.0 , Ubuntu clang version 14.0.6-2


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
  2022-08-24 17:15   ` Arnaldo Carvalho de Melo
  2022-08-24 17:55     ` Arnaldo Carvalho de Melo
@ 2022-08-24 17:59     ` Luna Jernberg
  1 sibling, 0 replies; 16+ messages in thread
From: Luna Jernberg @ 2022-08-24 17:59 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, droidbittin
  Cc: Nathan Chancellor, dwarves, Linux Kernel Mailing List,
	Alibek Omarov, Kornilios Kourtis, Kui-Feng Lee, Yonghong Song,
	bpf, Jiri Olsa

Great :)

On 8/24/22, Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Em Wed, Aug 24, 2022 at 09:24:49AM -0700, Nathan Chancellor escreveu:
>> Hi Arnaldo,
>>
>> On Mon, Aug 22, 2022 at 08:28:42PM -0300, Arnaldo Carvalho de Melo wrote:
>> > Hi,
>> >
>> > 	The v1.24 release of pahole and its friends is out, with faster
>> > BTF generation by parallelizing the encoding part in addition to the
>> > previoulsy parallelized DWARF loading, support for 64-bit BTF
>> > enumeration
>> > entries, signed BTF encoding of 'char', exclude/select DWARF loading
>> > based on the language that generated the objects, etc.
>>
>> <snip>
>>
>> > - Introduce --lang and --lang_exclude to specify the language the
>> >   DWARF compile units were originated from to use or filter.
>>
>> This appears to break building pahole with older versions of libdw (?).
>> I build container images with older versions of compilers for easy
>> matrix testing and my gcc-5 and gcc-6 images (based off Ubuntu Xenial
>> and Debian Stretch respectively) fail to build.
>
> I do it for perf, should have done it for pahole :-\
>
> So I'll have to come up with a patch that checks if those are defined
> and if not, define it :-\ Ooops, its an enumeration :-\ I'll have to
> check how to fix this, thanks for the report!
>
> Will rebuild it with the containers I have to see if there are other
> cases.
>
> - Arnaldo
>
>>     $ podman run --rm -ti -v
>> $TMP_FOLDER/dwarves-1.24.tar.xz:/tmp/dwarves-1.24.tar.xz:ro
>> docker.io/ubuntu:xenial
>>     # apt update
>>     # apt install build-essential cmake libdw-dev libelf-dev xz-utils
>> zlib1g-dev
>>     # cd $(mktemp -d)
>>     # tar -xJf /tmp/dwarves-1.24.tar.xz
>>     # mkdir build
>>     # cd build
>>     # cmake -DBUILD_SHARED_LIBS=OFF -D__LIB=lib ../dwarves-1.24
>>     # make -j$(nproc)
>>     ...
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c: In function
>> 'lang__str2int':
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: error:
>> 'DW_LANG_BLISS' undeclared (first use in this function)
>>       [DW_LANG_BLISS]   = "bliss",
>>        ^
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: note: each
>> undeclared identifier is reported only once for each function it appears
>> in
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: error: array index
>> in initializer not of integer type
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2093:3: note: (near
>> initialization for 'languages')
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2100:3: error:
>> 'DW_LANG_C_plus_plus_03' undeclared (first use in this function)
>>       [DW_LANG_C_plus_plus_03] = "c++03",
>>        ^
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2100:3: error: array index
>> in initializer not of integer type
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2100:3: note: (near
>> initialization for 'languages')
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2105:3: error:
>> 'DW_LANG_Dylan' undeclared (first use in this function)
>>       [DW_LANG_Dylan]   = "dylan",
>>        ^
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2105:3: error: array index
>> in initializer not of integer type
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2105:3: note: (near
>> initialization for 'languages')
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2114:3: error:
>> 'DW_LANG_Julia' undeclared (first use in this function)
>>       [DW_LANG_Julia]   = "julia",
>>        ^
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2114:3: error: array index
>> in initializer not of integer type
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2114:3: note: (near
>> initialization for 'languages')
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2116:3: error:
>> 'DW_LANG_Modula3' undeclared (first use in this function)
>>       [DW_LANG_Modula3]  = "modula3",
>>        ^
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2116:3: error: array index
>> in initializer not of integer type
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2116:3: note: (near
>> initialization for 'languages')
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2119:3: error:
>> 'DW_LANG_OCaml' undeclared (first use in this function)
>>       [DW_LANG_OCaml]   = "ocaml",
>>        ^
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2119:3: error: array index
>> in initializer not of integer type
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2119:3: note: (near
>> initialization for 'languages')
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2120:3: error:
>> 'DW_LANG_OpenCL' undeclared (first use in this function)
>>       [DW_LANG_OpenCL]  = "opencl",
>>        ^
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2120:3: error: array index
>> in initializer not of integer type
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2120:3: note: (near
>> initialization for 'languages')
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2122:3: error:
>> 'DW_LANG_PLI' undeclared (first use in this function)
>>       [DW_LANG_PLI]   = "pli",
>>        ^
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2122:3: error: array index
>> in initializer not of integer type
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2122:3: note: (near
>> initialization for 'languages')
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2124:3: error:
>> 'DW_LANG_RenderScript' undeclared (first use in this function)
>>       [DW_LANG_RenderScript]  = "renderscript",
>>        ^
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2124:3: error: array index
>> in initializer not of integer type
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2124:3: note: (near
>> initialization for 'languages')
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2125:3: error:
>> 'DW_LANG_Rust' undeclared (first use in this function)
>>       [DW_LANG_Rust]   = "rust",
>>        ^
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2125:3: error: array index
>> in initializer not of integer type
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2125:3: note: (near
>> initialization for 'languages')
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2126:3: error:
>> 'DW_LANG_Swift' undeclared (first use in this function)
>>       [DW_LANG_Swift]   = "swift",
>>        ^
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2126:3: error: array index
>> in initializer not of integer type
>>     /tmp/tmp.pQ2GsHbGAx/dwarves-1.24/dwarves.c:2126:3: note: (near
>> initialization for 'languages')
>>     CMakeFiles/dwarves.dir/build.make:62: recipe for target
>> 'CMakeFiles/dwarves.dir/dwarves.c.o' failed
>>     ...
>>
>> If there is any additional information I can provide or patches I can
>> test, please let me know!
>>
>> Cheers,
>> Nathan
>
> --
>
> - Arnaldo
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
  2022-08-24 14:38         ` Luna Jernberg
@ 2022-08-24 22:50           ` Martin Reboredo
  2022-08-28  7:38             ` Jiri Olsa
  0 siblings, 1 reply; 16+ messages in thread
From: Martin Reboredo @ 2022-08-24 22:50 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Luna Jernberg
  Cc: dwarves, Linux Kernel Mailing List, Alibek Omarov,
	Kornilios Kourtis, Kui-Feng Lee, Yonghong Song, bpf, Jiri Olsa

On 8/24/22 11:38, Luna Jernberg wrote:
> https://forum.endeavouros.com/t/failed-to-start-load-kernel-modules-on-boot-after-system-update-nvidia/30584/17?u=sradjoker
> 
> On 8/24/22, Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote:
>> Em Wed, Aug 24, 2022 at 04:36:18PM +0200, Luna Jernberg escreveu:
>>> The Nvidia driver breaks
>>
>> How? What are the messages?
>>
>> Here is a test on an Archlinux container:
>>
>> [perfbuilder@758097c04011 dwarves-1.24]$ pahole --version
>> v1.24
>> [perfbuilder@758097c04011 dwarves-1.24]$ cat /etc/os-release
>> NAME="Arch Linux"
>> PRETTY_NAME="Arch Linux"
>> ID=arch
>> BUILD_ID=rolling
>> VERSION_ID=TEMPLATE_VERSION_ID
>> ANSI_COLOR="38;2;23;147;209"
>> HOME_URL="https://archlinux.org/"
>> DOCUMENTATION_URL="https://wiki.archlinux.org/"
>> SUPPORT_URL="https://bbs.archlinux.org/"
>> BUG_REPORT_URL="https://bugs.archlinux.org/"
>> LOGO=archlinux-logo
>> [perfbuilder@758097c04011 dwarves-1.24]$ pahole list_head
>> struct list_head {
>> 	struct list_head *         next;                 /*     0     8 */
>> 	struct list_head *         prev;                 /*     8     8 */
>>
>> 	/* size: 16, cachelines: 1, members: 2 */
>> 	/* last cacheline: 16 bytes */
>> };
>> [perfbuilder@758097c04011 dwarves-1.24]$ pahole --sizes | sort -k2 -nr |
>> head
>> rcu_state	300608	7
>> cmp_data	290904	1
>> dec_data	274520	1
>> cpu_entry_area	241664	0
>> kvm	190016	6
>> pglist_data	173440	6
>> ZSTD_DCtx_s	161480	6
>> saved_cmdlines_buffer	131104	1
>> debug_store_buffers	131072	0
>> hid_parser	110848	1
>> [perfbuilder@758097c04011 dwarves-1.24]$
>>
>>> On 8/24/22, Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote:
>>>> Em Wed, Aug 24, 2022 at 03:23:29PM +0200, Luna Jernberg escreveu:
>>>>> This package breaks on Arch Linux at the moment and if you are using
>>>>> Arch
>>>>> its recommended that you downgrade to 1.23
>>>>
>>>> Breaks in what sense? Can you please provide details?
>>>>
>>>> - Arnaldo
>>>>
>>>>> On Tue, Aug 23, 2022 at 1:59 AM Arnaldo Carvalho de Melo
>>>>> <acme@kernel.org>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>>         The v1.24 release of pahole and its friends is out, with
>>>>>> faster
>>>>>> BTF generation by parallelizing the encoding part in addition to the
>>>>>> previoulsy parallelized DWARF loading, support for 64-bit BTF
>>>>>> enumeration
>>>>>> entries, signed BTF encoding of 'char', exclude/select DWARF loading
>>>>>> based on the language that generated the objects, etc.
>>>>>>
>>>>>> 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.24.tar.xz
>>>>>>    https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.bz2
>>>>>>    https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.sign
>>>>>>
>>>>>>         Thanks a lot to all the contributors and distro packagers,
>>>>>> you're
>>>>>> on the
>>>>>> CC list, I appreciate a lot the work you put into these tools,
>>>>>>
>>>>>> Best Regards,
>>>>>>
>>>>>> BTF encoder:
>>>>>>
>>>>>> - Add support to BTF_KIND_ENUM64 to represent enumeration entries
>>>>>> with
>>>>>>   more than 32 bits.
>>>>>>
>>>>>> - Support multithreaded encoding, in addition to DWARF multithreaded
>>>>>>   loading, speeding up the process.
>>>>>>
>>>>>>   Selected just like DWARF multithreaded loading, using the 'pahole
>>>>>> -j'
>>>>>>   option.
>>>>>>
>>>>>> - Encode 'char' type as signed.
>>>>>>
>>>>>> BTF Loader:
>>>>>>
>>>>>> - Add support to BTF_KIND_ENUM64.
>>>>>>
>>>>>> pahole:
>>>>>>
>>>>>> - Introduce --lang and --lang_exclude to specify the language the
>>>>>>   DWARF compile units were originated from to use or filter.
>>>>>>
>>>>>>   Use case is to exclude Rust compile units while aspects of the
>>>>>>   DWARF generated for it get sorted out in a way that the kernel
>>>>>>   BPF verifier don't refuse loading the BTF generated from them.
>>>>>>
>>>>>> - Introduce --compile to generate compilable code in a similar
>>>>>> fashion
>>>>>> to:
>>>>>>
>>>>>>    bpftool btf dump file vmlinux format c > vmlinux.h
>>>>>>
>>>>>>   As with 'bpftool', this will notice type shadowing, i.e. multiple
>>>>>> types
>>>>>>   with the same name and will disambiguate by adding a suffix.
>>>>>>
>>>>>> - Don't segfault when processing bogus files.
>>>>>>
>>>>
>>>> --
>>>>
>>>> - Arnaldo
>>>>
>>
>> --
>>
>> - Arnaldo
>>

Can you try a build of the kernel or the by passing the
--skip_encoding_btf_enum64 to scripts/pahole-flags.sh?

Here's a patch for either in tree scripts/pahole-flags.sh or
/usr/lib/modules/5.19.3-arch1-1/build/scripts/pahole-flags.sh

diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh
index 0d99ef17e4a528..1f1f1d397c399a 100755
--- a/scripts/pahole-flags.sh
+++ b/scripts/pahole-flags.sh
@@ -19,5 +19,9 @@ fi
 if [ "${pahole_ver}" -ge "122" ]; then
 	extra_paholeopt="${extra_paholeopt} -j"
 fi
+if [ "${pahole_ver}" -ge "124" ]; then
+	# see PAHOLE_HAS_LANG_EXCLUDE
+	extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_enum64"
+fi

 echo ${extra_paholeopt}

- Martin Rodriguez Reboredo

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH] core: Conditionally define language encodings entries)
  2022-08-24 17:55     ` Arnaldo Carvalho de Melo
@ 2022-08-25 13:19       ` Arnaldo Carvalho de Melo
  2022-08-25 14:58         ` Martin Rodriguez Reboredo
  2022-08-25 16:12         ` Nathan Chancellor
  0 siblings, 2 replies; 16+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-08-25 13:19 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: dwarves, Linux Kernel Mailing List, Alibek Omarov,
	Kornilios Kourtis, Kui-Feng Lee, Yonghong Song, Luna Jernberg,
	bpf, Jiri Olsa

Em Wed, Aug 24, 2022 at 02:55:03PM -0300, Arnaldo Carvalho de Melo escreveu:
> Yeah, recent enough distros are all building ok, I'll try and add some
> fallback for old distros.
> 

Ok, now it builds everywhere:

[perfbuilder@five ~]$ export BUILD_TARBALL=http://192.168.86.14/pahole/dwarves-1.25.tar.xz
[perfbuilder@five ~]$ export BUILD_CMD=buildcmd.sh
[perfbuilder@five ~]$ dm -X
     1	     4.07 almalinux:8                   : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) , clang version 12.0.1 (Red Hat 12.0.1-4.module_el8.5.0+1025+93159d6c)
     2	     4.07 almalinux:9                   : Ok   gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) , clang version 13.0.1 (Red Hat 13.0.1-1.el9)
     3	     4.87 alpine:3.12                   : Ok   gcc (Alpine 9.3.0) 9.3.0 , Alpine clang version 10.0.0 (https://gitlab.alpinelinux.org/alpine/aports.git 7445adce501f8473efdb93b17b5eaf2f1445ed4c)
     4	     5.47 alpine:3.13                   : Ok   gcc (Alpine 10.2.1_pre1) 10.2.1 20201203 , Alpine clang version 10.0.1 
     5	     5.47 alpine:3.14                   : Ok   gcc (Alpine 10.3.1_git20210424) 10.3.1 20210424 , Alpine clang version 11.1.0
     6	     5.27 alpine:3.15                   : Ok   gcc (Alpine 10.3.1_git20211027) 10.3.1 20211027 , Alpine clang version 12.0.1
     7	     5.87 alpine:3.16                   : Ok   gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219 , Alpine clang version 13.0.1
     8	     5.68 alpine:edge                   : Ok   gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219 , Alpine clang version 14.0.6
     9	     3.27 alt:p8                        : Ok   x86_64-alt-linux-gcc (GCC) 5.3.1 20151207 (ALT p8 5.3.1-alt3.M80P.1) 
    10	     3.77 alt:p9                        : Ok   x86_64-alt-linux-gcc (GCC) 8.4.1 20200305 (ALT p9 8.4.1-alt0.p9.1) , clang version 10.0.0 
    11	     4.17 alt:p10                       : Ok   x86_64-alt-linux-gcc (GCC) 10.3.1 20210703 (ALT Sisyphus 10.3.1-alt2) , clang version 11.0.1
    12	     4.48 alt:sisyphus                  : Ok   x86_64-alt-linux-gcc (GCC) 12.1.1 20220518 (ALT Sisyphus 12.1.1-alt1) , ALT Linux Team clang version 13.0.1
    13	     3.77 amazonlinux:2                 : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-15) , clang version 11.1.0 (Amazon Linux 2 11.1.0-1.amzn2.0.2)
    14	     4.07 amazonlinux:devel             : Ok   gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) , clang version 12.0.1 (Fedora 12.0.1-1.amzn2022)
    15	     5.38 archlinux:base                : Ok   gcc (GCC) 12.1.1 20220730 , clang version 14.0.6
    16	     3.97 centos:8                      : Ok   gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1) , clang version 11.0.1 (Red Hat 11.0.1-1.module_el8.4.0+966+2995ef20)
    17	     4.17 centos:stream                 : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-15) , clang version 14.0.0 (Red Hat 14.0.0-1.module_el8.7.0+1142+5343df54)
    18	     4.67 clearlinux:latest             : Ok   gcc (Clear Linux OS for Intel Architecture) 12.1.1 20220811 releases/gcc-12.1.0-341-g28a7b5df3b 
    19	     4.07 debian:9                      : Ok   gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 
    20	     4.27 debian:10                     : Ok   gcc (Debian 8.3.0-6) 8.3.0 , Debian clang version 11.0.1-2~deb10u1
    21	     4.07 debian:11                     : Ok   gcc (Debian 10.2.1-6) 10.2.1 20210110 , Debian clang version 11.0.1-2
    22	     4.57 debian:experimental           : Ok   gcc (Debian 12.1.0-7) 12.1.0 , Debian clang version 14.0.6-2
    23	     3.57 fedora:22                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6) 
    24	     4.07 fedora:24                     : Ok   gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1) 
    25	     3.87 fedora:25                     : Ok   gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1) 
    26	     4.07 fedora:26                     : Ok   gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2) 
    27	     3.67 fedora:27                     : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6) 
    28	     3.98 fedora:28                     : Ok   gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2) 
    29	     3.87 fedora:29                     : Ok   gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2) 
    30	     4.77 fedora:30                     : Ok   gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) 
    31	     4.07 fedora:31                     : Ok   gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) , clang version 9.0.1 (Fedora 9.0.1-4.fc31)
    32	     4.07 fedora:32                     : Ok   gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 10.0.1 (Fedora 10.0.1-3.fc32)
    33	     3.97 fedora:33                     : Ok   gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 11.0.0 (Fedora 11.0.0-3.fc33)
    34	     4.37 fedora:34                     : Ok   gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) , clang version 12.0.1 (Fedora 12.0.1-1.fc34)
    35	     4.07 fedora:35                     : Ok   gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) , clang version 13.0.0 (Fedora 13.0.0-3.fc35)
    36	     4.37 fedora:36                     : Ok   gcc (GCC) 12.1.1 20220507 (Red Hat 12.1.1-1) , clang version 14.0.0 (Fedora 14.0.0-1.fc36)
    37	     4.77 fedora:37                     : Ok   gcc (GCC) 12.1.1 20220628 (Red Hat 12.1.1-3) , clang version 14.0.5 (Fedora 14.0.5-6.fc37)
    38	     7.77 fedora:38                     : Ok   gcc (GCC) 12.1.1 20220810 (Red Hat 12.1.1-4) , clang version 14.0.5 (Fedora 14.0.5-6.fc38)
    39	     4.97 fedora:rawhide                : Ok   gcc (GCC) 12.1.1 20220810 (Red Hat 12.1.1-4) , clang version 14.0.5 (Fedora 14.0.5-6.fc38)
    40	     4.37 gentoo-stage3:latest          : Ok   gcc (Gentoo 11.2.0 p1) 11.2.0 , clang version 13.0.0
    41	     4.77 manjaro:base                  : Ok   gcc (GCC) 11.1.0 , clang version 13.0.0
    42	     3.87 opensuse:15.0                 : Ok   gcc (SUSE Linux) 7.4.1 20190905 [gcc-7-branch revision 275407] 
    43	     3.57 opensuse:15.1                 : Ok   gcc (SUSE Linux) 7.5.0 
    44	     3.87 opensuse:15.2                 : Ok   gcc (SUSE Linux) 7.5.0 , clang version 9.0.1 
    45	     5.31 opensuse:15.3                 : Ok   gcc (SUSE Linux) 7.5.0 , clang version 11.0.1
    46	     3.77 opensuse:15.4                 : Ok   gcc (SUSE Linux) 7.5.0 , clang version 13.0.1
    47	     4.68 opensuse:tumbleweed           : Ok   gcc (SUSE Linux) 12.1.1 20220629 [revision 7811663964aa7e31c3939b859bbfa2e16919639f] , clang version 14.0.6
    48	     4.27 oraclelinux:8                 : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4.0.1) , clang version 12.0.1 (Red Hat 12.0.1-4.0.1.module+el8.5.0+20428+2b4ecd47)
    49	     3.96 oraclelinux:9                 : Ok   gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9.4.0.2) , clang version 13.0.1 (Red Hat 13.0.1-1.0.1.el9)
    50	     3.87 rockylinux:8                  : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10) , clang version 13.0.1 (Red Hat 13.0.1-2.module+el8.6.0+987+d36ea6a1)
    51	     4.07 rockylinux:9                  : Ok   gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) , clang version 13.0.1 (Red Hat 13.0.1-1.el9)
    52	     3.47 ubuntu:16.04                  : Ok   gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609 
    53	     3.57 ubuntu:18.04                  : Ok   gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 
    54	     4.28 ubuntu:20.04                  : Ok   gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 
    55	     4.17 ubuntu:21.04                  : Ok   gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0 , Ubuntu clang version 12.0.0-3ubuntu1~21.04.2
    56	     3.97 ubuntu:21.10                  : Ok   gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0 , Ubuntu clang version 13.0.0-2
    57	     4.27 ubuntu:22.04                  : Ok   gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0 , Ubuntu clang version 14.0.0-1ubuntu1
    58	     4.37 ubuntu:22.10                  : Ok   gcc (Ubuntu 11.3.0-5ubuntu1) 11.3.0 , Ubuntu clang version 14.0.6-2
[perfbuilder@five ~]$

With this patch:

From c3eac0a3591a36f6590691a21434241d67a3fa89 Mon Sep 17 00:00:00 2001
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Thu, 25 Aug 2022 10:01:49 -0300
Subject: [PATCH 1/1] core: Conditionally define language encodings

It it defined in an enumeration on dwarf.h, so doing it here as defines
doesn't clash with it and makes this file to build with older distros.

Reported-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 dwarves.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 112 insertions(+)

diff --git a/dwarves.c b/dwarves.c
index db1dcf5904bc98fe..394a8155325484fc 100644
--- a/dwarves.c
+++ b/dwarves.c
@@ -2085,6 +2085,118 @@ int cus__load_file(struct cus *cus, struct conf_load *conf,
 
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
 
+#ifndef DW_LANG_C89
+#define DW_LANG_C89		0x0001
+#endif
+#ifndef DW_LANG_C
+#define DW_LANG_C		0x0002
+#endif
+#ifndef DW_LANG_Ada83
+#define DW_LANG_Ada83		0x0003
+#endif
+#ifndef DW_LANG_C_plus_plus
+#define DW_LANG_C_plus_plus	0x0004
+#endif
+#ifndef DW_LANG_Cobol74
+#define DW_LANG_Cobol74		0x0005
+#endif
+#ifndef DW_LANG_Cobol85
+#define DW_LANG_Cobol85		0x0006
+#endif
+#ifndef DW_LANG_Fortran77
+#define DW_LANG_Fortran77	0x0007
+#endif
+#ifndef DW_LANG_Fortran90
+#define DW_LANG_Fortran90	0x0008
+#endif
+#ifndef DW_LANG_Pascal83
+#define DW_LANG_Pascal83	0x0009
+#endif
+#ifndef DW_LANG_Modula2
+#define DW_LANG_Modula2		0x000a
+#endif
+#ifndef DW_LANG_Java
+#define DW_LANG_Java		0x000b
+#endif
+#ifndef DW_LANG_C99
+#define DW_LANG_C99		0x000c
+#endif
+#ifndef DW_LANG_Ada95
+#define DW_LANG_Ada95		0x000d
+#endif
+#ifndef DW_LANG_Fortran95
+#define DW_LANG_Fortran95	0x000e
+#endif
+#ifndef DW_LANG_PLI
+#define DW_LANG_PLI		0x000f
+#endif
+#ifndef DW_LANG_ObjC
+#define DW_LANG_ObjC		0x0010
+#endif
+#ifndef DW_LANG_ObjC_plus_plus
+#define DW_LANG_ObjC_plus_plus	0x0011
+#endif
+#ifndef DW_LANG_UPC
+#define DW_LANG_UPC		0x0012
+#endif
+#ifndef DW_LANG_D
+#define DW_LANG_D		0x0013
+#endif
+#ifndef DW_LANG_Python
+#define DW_LANG_Python		0x0014
+#endif
+#ifndef DW_LANG_OpenCL
+#define DW_LANG_OpenCL		0x0015
+#endif
+#ifndef DW_LANG_Go
+#define DW_LANG_Go		0x0016
+#endif
+#ifndef DW_LANG_Modula3
+#define DW_LANG_Modula3		0x0017
+#endif
+#ifndef DW_LANG_Haskell
+#define DW_LANG_Haskell		0x0018
+#endif
+#ifndef DW_LANG_C_plus_plus_03
+#define DW_LANG_C_plus_plus_03	0x0019
+#endif
+#ifndef DW_LANG_C_plus_plus_11
+#define DW_LANG_C_plus_plus_11	0x001a
+#endif
+#ifndef DW_LANG_OCaml
+#define DW_LANG_OCaml		0x001b
+#endif
+#ifndef DW_LANG_Rust
+#define DW_LANG_Rust		0x001c
+#endif
+#ifndef DW_LANG_C11
+#define DW_LANG_C11		0x001d
+#endif
+#ifndef DW_LANG_Swift
+#define DW_LANG_Swift		0x001e
+#endif
+#ifndef DW_LANG_Julia
+#define DW_LANG_Julia		0x001f
+#endif
+#ifndef DW_LANG_Dylan
+#define DW_LANG_Dylan		0x0020
+#endif
+#ifndef DW_LANG_C_plus_plus_14
+#define DW_LANG_C_plus_plus_14	0x0021
+#endif
+#ifndef DW_LANG_Fortran03
+#define DW_LANG_Fortran03	0x0022
+#endif
+#ifndef DW_LANG_Fortran08
+#define DW_LANG_Fortran08	0x0023
+#endif
+#ifndef DW_LANG_RenderScript
+#define DW_LANG_RenderScript	0x0024
+#endif
+#ifndef DW_LANG_BLISS
+#define DW_LANG_BLISS		0x0025
+#endif
+
 int lang__str2int(const char *lang)
 {
 	static const char *languages[] = {
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH] core: Conditionally define language encodings entries)
  2022-08-25 13:19       ` [PATCH] core: Conditionally define language encodings entries) Arnaldo Carvalho de Melo
@ 2022-08-25 14:58         ` Martin Rodriguez Reboredo
  2022-08-25 16:12         ` Nathan Chancellor
  1 sibling, 0 replies; 16+ messages in thread
From: Martin Rodriguez Reboredo @ 2022-08-25 14:58 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Nathan Chancellor
  Cc: dwarves, Linux Kernel Mailing List, Alibek Omarov,
	Kornilios Kourtis, Kui-Feng Lee, Yonghong Song, Luna Jernberg,
	bpf, Jiri Olsa

On 8/25/22 10:19, Arnaldo Carvalho de Melo wrote:
> Em Wed, Aug 24, 2022 at 02:55:03PM -0300, Arnaldo Carvalho de Melo escreveu:
>> Yeah, recent enough distros are all building ok, I'll try and add some
>> fallback for old distros.
>>
> 
> Ok, now it builds everywhere:
> 
> [...]
> 
> With this patch:
> 
> [...]

Builds on Arch Linux on master.

Acked-by: Martin Rodriguez Reboredo

- Martin Rodriguez Reboredo

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] core: Conditionally define language encodings entries)
  2022-08-25 13:19       ` [PATCH] core: Conditionally define language encodings entries) Arnaldo Carvalho de Melo
  2022-08-25 14:58         ` Martin Rodriguez Reboredo
@ 2022-08-25 16:12         ` Nathan Chancellor
  1 sibling, 0 replies; 16+ messages in thread
From: Nathan Chancellor @ 2022-08-25 16:12 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: dwarves, Linux Kernel Mailing List, Alibek Omarov,
	Kornilios Kourtis, Kui-Feng Lee, Yonghong Song, Luna Jernberg,
	bpf, Jiri Olsa

On Thu, Aug 25, 2022 at 10:19:08AM -0300, Arnaldo Carvalho de Melo wrote:
> Em Wed, Aug 24, 2022 at 02:55:03PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Yeah, recent enough distros are all building ok, I'll try and add some
> > fallback for old distros.
> > 
> 
> Ok, now it builds everywhere:
> 
> [perfbuilder@five ~]$ export BUILD_TARBALL=http://192.168.86.14/pahole/dwarves-1.25.tar.xz
> [perfbuilder@five ~]$ export BUILD_CMD=buildcmd.sh
> [perfbuilder@five ~]$ dm -X
>      1	     4.07 almalinux:8                   : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) , clang version 12.0.1 (Red Hat 12.0.1-4.module_el8.5.0+1025+93159d6c)
>      2	     4.07 almalinux:9                   : Ok   gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) , clang version 13.0.1 (Red Hat 13.0.1-1.el9)
>      3	     4.87 alpine:3.12                   : Ok   gcc (Alpine 9.3.0) 9.3.0 , Alpine clang version 10.0.0 (https://gitlab.alpinelinux.org/alpine/aports.git 7445adce501f8473efdb93b17b5eaf2f1445ed4c)
>      4	     5.47 alpine:3.13                   : Ok   gcc (Alpine 10.2.1_pre1) 10.2.1 20201203 , Alpine clang version 10.0.1 
>      5	     5.47 alpine:3.14                   : Ok   gcc (Alpine 10.3.1_git20210424) 10.3.1 20210424 , Alpine clang version 11.1.0
>      6	     5.27 alpine:3.15                   : Ok   gcc (Alpine 10.3.1_git20211027) 10.3.1 20211027 , Alpine clang version 12.0.1
>      7	     5.87 alpine:3.16                   : Ok   gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219 , Alpine clang version 13.0.1
>      8	     5.68 alpine:edge                   : Ok   gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219 , Alpine clang version 14.0.6
>      9	     3.27 alt:p8                        : Ok   x86_64-alt-linux-gcc (GCC) 5.3.1 20151207 (ALT p8 5.3.1-alt3.M80P.1) 
>     10	     3.77 alt:p9                        : Ok   x86_64-alt-linux-gcc (GCC) 8.4.1 20200305 (ALT p9 8.4.1-alt0.p9.1) , clang version 10.0.0 
>     11	     4.17 alt:p10                       : Ok   x86_64-alt-linux-gcc (GCC) 10.3.1 20210703 (ALT Sisyphus 10.3.1-alt2) , clang version 11.0.1
>     12	     4.48 alt:sisyphus                  : Ok   x86_64-alt-linux-gcc (GCC) 12.1.1 20220518 (ALT Sisyphus 12.1.1-alt1) , ALT Linux Team clang version 13.0.1
>     13	     3.77 amazonlinux:2                 : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-15) , clang version 11.1.0 (Amazon Linux 2 11.1.0-1.amzn2.0.2)
>     14	     4.07 amazonlinux:devel             : Ok   gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) , clang version 12.0.1 (Fedora 12.0.1-1.amzn2022)
>     15	     5.38 archlinux:base                : Ok   gcc (GCC) 12.1.1 20220730 , clang version 14.0.6
>     16	     3.97 centos:8                      : Ok   gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1) , clang version 11.0.1 (Red Hat 11.0.1-1.module_el8.4.0+966+2995ef20)
>     17	     4.17 centos:stream                 : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-15) , clang version 14.0.0 (Red Hat 14.0.0-1.module_el8.7.0+1142+5343df54)
>     18	     4.67 clearlinux:latest             : Ok   gcc (Clear Linux OS for Intel Architecture) 12.1.1 20220811 releases/gcc-12.1.0-341-g28a7b5df3b 
>     19	     4.07 debian:9                      : Ok   gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 
>     20	     4.27 debian:10                     : Ok   gcc (Debian 8.3.0-6) 8.3.0 , Debian clang version 11.0.1-2~deb10u1
>     21	     4.07 debian:11                     : Ok   gcc (Debian 10.2.1-6) 10.2.1 20210110 , Debian clang version 11.0.1-2
>     22	     4.57 debian:experimental           : Ok   gcc (Debian 12.1.0-7) 12.1.0 , Debian clang version 14.0.6-2
>     23	     3.57 fedora:22                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6) 
>     24	     4.07 fedora:24                     : Ok   gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1) 
>     25	     3.87 fedora:25                     : Ok   gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1) 
>     26	     4.07 fedora:26                     : Ok   gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2) 
>     27	     3.67 fedora:27                     : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6) 
>     28	     3.98 fedora:28                     : Ok   gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2) 
>     29	     3.87 fedora:29                     : Ok   gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2) 
>     30	     4.77 fedora:30                     : Ok   gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) 
>     31	     4.07 fedora:31                     : Ok   gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) , clang version 9.0.1 (Fedora 9.0.1-4.fc31)
>     32	     4.07 fedora:32                     : Ok   gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 10.0.1 (Fedora 10.0.1-3.fc32)
>     33	     3.97 fedora:33                     : Ok   gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 11.0.0 (Fedora 11.0.0-3.fc33)
>     34	     4.37 fedora:34                     : Ok   gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) , clang version 12.0.1 (Fedora 12.0.1-1.fc34)
>     35	     4.07 fedora:35                     : Ok   gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) , clang version 13.0.0 (Fedora 13.0.0-3.fc35)
>     36	     4.37 fedora:36                     : Ok   gcc (GCC) 12.1.1 20220507 (Red Hat 12.1.1-1) , clang version 14.0.0 (Fedora 14.0.0-1.fc36)
>     37	     4.77 fedora:37                     : Ok   gcc (GCC) 12.1.1 20220628 (Red Hat 12.1.1-3) , clang version 14.0.5 (Fedora 14.0.5-6.fc37)
>     38	     7.77 fedora:38                     : Ok   gcc (GCC) 12.1.1 20220810 (Red Hat 12.1.1-4) , clang version 14.0.5 (Fedora 14.0.5-6.fc38)
>     39	     4.97 fedora:rawhide                : Ok   gcc (GCC) 12.1.1 20220810 (Red Hat 12.1.1-4) , clang version 14.0.5 (Fedora 14.0.5-6.fc38)
>     40	     4.37 gentoo-stage3:latest          : Ok   gcc (Gentoo 11.2.0 p1) 11.2.0 , clang version 13.0.0
>     41	     4.77 manjaro:base                  : Ok   gcc (GCC) 11.1.0 , clang version 13.0.0
>     42	     3.87 opensuse:15.0                 : Ok   gcc (SUSE Linux) 7.4.1 20190905 [gcc-7-branch revision 275407] 
>     43	     3.57 opensuse:15.1                 : Ok   gcc (SUSE Linux) 7.5.0 
>     44	     3.87 opensuse:15.2                 : Ok   gcc (SUSE Linux) 7.5.0 , clang version 9.0.1 
>     45	     5.31 opensuse:15.3                 : Ok   gcc (SUSE Linux) 7.5.0 , clang version 11.0.1
>     46	     3.77 opensuse:15.4                 : Ok   gcc (SUSE Linux) 7.5.0 , clang version 13.0.1
>     47	     4.68 opensuse:tumbleweed           : Ok   gcc (SUSE Linux) 12.1.1 20220629 [revision 7811663964aa7e31c3939b859bbfa2e16919639f] , clang version 14.0.6
>     48	     4.27 oraclelinux:8                 : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4.0.1) , clang version 12.0.1 (Red Hat 12.0.1-4.0.1.module+el8.5.0+20428+2b4ecd47)
>     49	     3.96 oraclelinux:9                 : Ok   gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9.4.0.2) , clang version 13.0.1 (Red Hat 13.0.1-1.0.1.el9)
>     50	     3.87 rockylinux:8                  : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10) , clang version 13.0.1 (Red Hat 13.0.1-2.module+el8.6.0+987+d36ea6a1)
>     51	     4.07 rockylinux:9                  : Ok   gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) , clang version 13.0.1 (Red Hat 13.0.1-1.el9)
>     52	     3.47 ubuntu:16.04                  : Ok   gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609 
>     53	     3.57 ubuntu:18.04                  : Ok   gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 
>     54	     4.28 ubuntu:20.04                  : Ok   gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 
>     55	     4.17 ubuntu:21.04                  : Ok   gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0 , Ubuntu clang version 12.0.0-3ubuntu1~21.04.2
>     56	     3.97 ubuntu:21.10                  : Ok   gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0 , Ubuntu clang version 13.0.0-2
>     57	     4.27 ubuntu:22.04                  : Ok   gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0 , Ubuntu clang version 14.0.0-1ubuntu1
>     58	     4.37 ubuntu:22.10                  : Ok   gcc (Ubuntu 11.3.0-5ubuntu1) 11.3.0 , Ubuntu clang version 14.0.6-2
> [perfbuilder@five ~]$
> 
> With this patch:
> 
> From c3eac0a3591a36f6590691a21434241d67a3fa89 Mon Sep 17 00:00:00 2001
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
> Date: Thu, 25 Aug 2022 10:01:49 -0300
> Subject: [PATCH 1/1] core: Conditionally define language encodings
> 
> It it defined in an enumeration on dwarf.h, so doing it here as defines
> doesn't clash with it and makes this file to build with older distros.
> 
> Reported-by: Nathan Chancellor <nathan@kernel.org>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

Thank you for the quick fix, it passed all of my build tests as well:

https://github.com/nathanchance/env/actions/runs/2927921590

Tested-by: Nathan Chancellor <nathan@kernel.org>

> ---
>  dwarves.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 112 insertions(+)
> 
> diff --git a/dwarves.c b/dwarves.c
> index db1dcf5904bc98fe..394a8155325484fc 100644
> --- a/dwarves.c
> +++ b/dwarves.c
> @@ -2085,6 +2085,118 @@ int cus__load_file(struct cus *cus, struct conf_load *conf,
>  
>  #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
>  
> +#ifndef DW_LANG_C89
> +#define DW_LANG_C89		0x0001
> +#endif
> +#ifndef DW_LANG_C
> +#define DW_LANG_C		0x0002
> +#endif
> +#ifndef DW_LANG_Ada83
> +#define DW_LANG_Ada83		0x0003
> +#endif
> +#ifndef DW_LANG_C_plus_plus
> +#define DW_LANG_C_plus_plus	0x0004
> +#endif
> +#ifndef DW_LANG_Cobol74
> +#define DW_LANG_Cobol74		0x0005
> +#endif
> +#ifndef DW_LANG_Cobol85
> +#define DW_LANG_Cobol85		0x0006
> +#endif
> +#ifndef DW_LANG_Fortran77
> +#define DW_LANG_Fortran77	0x0007
> +#endif
> +#ifndef DW_LANG_Fortran90
> +#define DW_LANG_Fortran90	0x0008
> +#endif
> +#ifndef DW_LANG_Pascal83
> +#define DW_LANG_Pascal83	0x0009
> +#endif
> +#ifndef DW_LANG_Modula2
> +#define DW_LANG_Modula2		0x000a
> +#endif
> +#ifndef DW_LANG_Java
> +#define DW_LANG_Java		0x000b
> +#endif
> +#ifndef DW_LANG_C99
> +#define DW_LANG_C99		0x000c
> +#endif
> +#ifndef DW_LANG_Ada95
> +#define DW_LANG_Ada95		0x000d
> +#endif
> +#ifndef DW_LANG_Fortran95
> +#define DW_LANG_Fortran95	0x000e
> +#endif
> +#ifndef DW_LANG_PLI
> +#define DW_LANG_PLI		0x000f
> +#endif
> +#ifndef DW_LANG_ObjC
> +#define DW_LANG_ObjC		0x0010
> +#endif
> +#ifndef DW_LANG_ObjC_plus_plus
> +#define DW_LANG_ObjC_plus_plus	0x0011
> +#endif
> +#ifndef DW_LANG_UPC
> +#define DW_LANG_UPC		0x0012
> +#endif
> +#ifndef DW_LANG_D
> +#define DW_LANG_D		0x0013
> +#endif
> +#ifndef DW_LANG_Python
> +#define DW_LANG_Python		0x0014
> +#endif
> +#ifndef DW_LANG_OpenCL
> +#define DW_LANG_OpenCL		0x0015
> +#endif
> +#ifndef DW_LANG_Go
> +#define DW_LANG_Go		0x0016
> +#endif
> +#ifndef DW_LANG_Modula3
> +#define DW_LANG_Modula3		0x0017
> +#endif
> +#ifndef DW_LANG_Haskell
> +#define DW_LANG_Haskell		0x0018
> +#endif
> +#ifndef DW_LANG_C_plus_plus_03
> +#define DW_LANG_C_plus_plus_03	0x0019
> +#endif
> +#ifndef DW_LANG_C_plus_plus_11
> +#define DW_LANG_C_plus_plus_11	0x001a
> +#endif
> +#ifndef DW_LANG_OCaml
> +#define DW_LANG_OCaml		0x001b
> +#endif
> +#ifndef DW_LANG_Rust
> +#define DW_LANG_Rust		0x001c
> +#endif
> +#ifndef DW_LANG_C11
> +#define DW_LANG_C11		0x001d
> +#endif
> +#ifndef DW_LANG_Swift
> +#define DW_LANG_Swift		0x001e
> +#endif
> +#ifndef DW_LANG_Julia
> +#define DW_LANG_Julia		0x001f
> +#endif
> +#ifndef DW_LANG_Dylan
> +#define DW_LANG_Dylan		0x0020
> +#endif
> +#ifndef DW_LANG_C_plus_plus_14
> +#define DW_LANG_C_plus_plus_14	0x0021
> +#endif
> +#ifndef DW_LANG_Fortran03
> +#define DW_LANG_Fortran03	0x0022
> +#endif
> +#ifndef DW_LANG_Fortran08
> +#define DW_LANG_Fortran08	0x0023
> +#endif
> +#ifndef DW_LANG_RenderScript
> +#define DW_LANG_RenderScript	0x0024
> +#endif
> +#ifndef DW_LANG_BLISS
> +#define DW_LANG_BLISS		0x0025
> +#endif
> +
>  int lang__str2int(const char *lang)
>  {
>  	static const char *languages[] = {
> -- 
> 2.37.2
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
  2022-08-24 22:50           ` Martin Reboredo
@ 2022-08-28  7:38             ` Jiri Olsa
  2022-08-28 14:29               ` Martin Rodriguez Reboredo
  0 siblings, 1 reply; 16+ messages in thread
From: Jiri Olsa @ 2022-08-28  7:38 UTC (permalink / raw)
  To: Martin Reboredo
  Cc: Arnaldo Carvalho de Melo, Luna Jernberg, dwarves,
	Linux Kernel Mailing List, Alibek Omarov, Kornilios Kourtis,
	Kui-Feng Lee, Yonghong Song, bpf

On Wed, Aug 24, 2022 at 07:50:39PM -0300, Martin Reboredo wrote:
> On 8/24/22 11:38, Luna Jernberg wrote:
> > https://forum.endeavouros.com/t/failed-to-start-load-kernel-modules-on-boot-after-system-update-nvidia/30584/17?u=sradjoker
> > 
> > On 8/24/22, Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote:
> >> Em Wed, Aug 24, 2022 at 04:36:18PM +0200, Luna Jernberg escreveu:

SNIP

> 
> Can you try a build of the kernel or the by passing the
> --skip_encoding_btf_enum64 to scripts/pahole-flags.sh?

Martin,
could you please send formal patch this?

thanks,
jirka

> 
> Here's a patch for either in tree scripts/pahole-flags.sh or
> /usr/lib/modules/5.19.3-arch1-1/build/scripts/pahole-flags.sh
> 
> diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh
> index 0d99ef17e4a528..1f1f1d397c399a 100755
> --- a/scripts/pahole-flags.sh
> +++ b/scripts/pahole-flags.sh
> @@ -19,5 +19,9 @@ fi
>  if [ "${pahole_ver}" -ge "122" ]; then
>  	extra_paholeopt="${extra_paholeopt} -j"
>  fi
> +if [ "${pahole_ver}" -ge "124" ]; then
> +	# see PAHOLE_HAS_LANG_EXCLUDE
> +	extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_enum64"
> +fi
> 
>  echo ${extra_paholeopt}
> 
> - Martin Rodriguez Reboredo

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
  2022-08-28  7:38             ` Jiri Olsa
@ 2022-08-28 14:29               ` Martin Rodriguez Reboredo
  2022-08-28 17:01                 ` Jiri Olsa
  0 siblings, 1 reply; 16+ messages in thread
From: Martin Rodriguez Reboredo @ 2022-08-28 14:29 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Arnaldo Carvalho de Melo, Luna Jernberg, dwarves,
	Linux Kernel Mailing List, Alibek Omarov, Kornilios Kourtis,
	Kui-Feng Lee, Yonghong Song, bpf

On 8/28/22 04:38, Jiri Olsa wrote:
> On Wed, Aug 24, 2022 at 07:50:39PM -0300, Martin Reboredo wrote:
>> On 8/24/22 11:38, Luna Jernberg wrote:
>>> https://forum.endeavouros.com/t/failed-to-start-load-kernel-modules-on-boot-after-system-update-nvidia/30584/17?u=sradjoker
>>>
>>> On 8/24/22, Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote:
>>>> Em Wed, Aug 24, 2022 at 04:36:18PM +0200, Luna Jernberg escreveu:
> 
> SNIP
> 
>>
>> Can you try a build of the kernel or the by passing the
>> --skip_encoding_btf_enum64 to scripts/pahole-flags.sh?
> 
> Martin,
> could you please send formal patch this?
> 
> thanks,
> jirka

Sure, sure! Though it might take a bit of time due to being my first
contribution submitted by me (I've already contributed through the Rust
patches though), I'll add Kconfig entries for this, one for the
availability to skip the enum64 encoding and another for toggle the
flag. Stay tuned.

- Martin Rodriguez Reboredo

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)
  2022-08-28 14:29               ` Martin Rodriguez Reboredo
@ 2022-08-28 17:01                 ` Jiri Olsa
  0 siblings, 0 replies; 16+ messages in thread
From: Jiri Olsa @ 2022-08-28 17:01 UTC (permalink / raw)
  To: Martin Rodriguez Reboredo
  Cc: Jiri Olsa, Arnaldo Carvalho de Melo, Luna Jernberg, dwarves,
	Linux Kernel Mailing List, Alibek Omarov, Kornilios Kourtis,
	Kui-Feng Lee, Yonghong Song, bpf

On Sun, Aug 28, 2022 at 11:29:35AM -0300, Martin Rodriguez Reboredo wrote:
> On 8/28/22 04:38, Jiri Olsa wrote:
> > On Wed, Aug 24, 2022 at 07:50:39PM -0300, Martin Reboredo wrote:
> >> On 8/24/22 11:38, Luna Jernberg wrote:
> >>> https://forum.endeavouros.com/t/failed-to-start-load-kernel-modules-on-boot-after-system-update-nvidia/30584/17?u=sradjoker
> >>>
> >>> On 8/24/22, Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote:
> >>>> Em Wed, Aug 24, 2022 at 04:36:18PM +0200, Luna Jernberg escreveu:
> > 
> > SNIP
> > 
> >>
> >> Can you try a build of the kernel or the by passing the
> >> --skip_encoding_btf_enum64 to scripts/pahole-flags.sh?
> > 
> > Martin,
> > could you please send formal patch this?
> > 
> > thanks,
> > jirka
> 
> Sure, sure! Though it might take a bit of time due to being my first
> contribution submitted by me (I've already contributed through the Rust
> patches though), I'll add Kconfig entries for this, one for the
> availability to skip the enum64 encoding and another for toggle the
> flag. Stay tuned.

hm, but we actually need that just for 5.15 or whatever stable version
is using latest pahole but does not have support for enum64

please check Documentation/process/stable-kernel-rules.rst

jirka

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-08-28 17:01 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-22 23:28 ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries) Arnaldo Carvalho de Melo
     [not found] ` <CADo9pHhW9w+ciNbQr+7u4mezuQ1USyh0k2Wshy=wkdEcxRiDLA@mail.gmail.com>
2022-08-24 14:32   ` Arnaldo Carvalho de Melo
2022-08-24 14:36     ` Luna Jernberg
2022-08-24 14:37       ` Arnaldo Carvalho de Melo
2022-08-24 14:38         ` Luna Jernberg
2022-08-24 22:50           ` Martin Reboredo
2022-08-28  7:38             ` Jiri Olsa
2022-08-28 14:29               ` Martin Rodriguez Reboredo
2022-08-28 17:01                 ` Jiri Olsa
2022-08-24 16:24 ` Nathan Chancellor
2022-08-24 17:15   ` Arnaldo Carvalho de Melo
2022-08-24 17:55     ` Arnaldo Carvalho de Melo
2022-08-25 13:19       ` [PATCH] core: Conditionally define language encodings entries) Arnaldo Carvalho de Melo
2022-08-25 14:58         ` Martin Rodriguez Reboredo
2022-08-25 16:12         ` Nathan Chancellor
2022-08-24 17:59     ` ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries) Luna Jernberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).