[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b1469725-d462-9a6d-3329-f77c9eb6b43f@redhat.com>
Date: Wed, 27 Jan 2021 07:38:56 -0500
From: Joe Lawrence <joe.lawrence@...hat.com>
To: Jiri Olsa <jolsa@...nel.org>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andriin@...com>
Cc: dwarves@...r.kernel.org, netdev@...r.kernel.org,
bpf@...r.kernel.org, Yonghong Song <yhs@...com>,
Hao Luo <haoluo@...gle.com>, Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>,
John Fastabend <john.fastabend@...il.com>,
KP Singh <kpsingh@...omium.org>, Mark Wielaard <mjw@...hat.com>
Subject: Re: [PATCHv4 0/2] libbpf: Add support to use optional extended
section index table
On 1/24/21 5:15 PM, Jiri Olsa wrote:
> hi,
> kpatch guys hit an issue with pahole over their vmlinux, which
> contains many (over 100000) sections, pahole crashes.
>
> With so many sections, ELF is using extended section index table,
> which is used to hold values for some of the indexes and extra
> code is needed to retrieve them.
>
> This patchset adds the support for pahole to properly read string
> table index and symbol's section index, which are used in btf_encoder.
>
> This patchset also adds support for libbpf to properly parse .BTF
> section on such object.
>
> This patchset is based on previously posted fix [1].
>
> v4 changes:
> - use size_t instead of Elf32_Word [Andrii]
> - move elf_symtab__for_each_symbol_index and elf_sym__get
> elf_symtab.h [Andrii]
> - added ack for patch 1 [Andrii]
> - changed elf_sym__get to be simpler [Andrii]
> - changed elf_symtab__for_each_symbol_index to skip bad symbols
> - use zalloc for struct elf_symtab allocation to get zero
> initialized members
>
> v3 changes:
> - directly bail out for !str in elf_section_by_name [Andrii]
> - use symbol index in collect_function [Andrii]
> - use symbol index in collect_percpu_var
> - change elf_symtab__for_each_symbol_index, move elf_sym__get
> to for's condition part
> - libbpf patch got merged
>
> v2 changes:
> - many variables renames [Andrii]
> - use elf_getshdrstrndx() unconditionally [Andrii]
> - add elf_symtab__for_each_symbol_index macro [Andrii]
> - add more comments [Andrii]
> - verify that extended symtab section type is SHT_SYMTAB_SHNDX [Andrii]
> - fix Joe's crash in dwarves build, wrong sym.st_shndx assignment
>
> thanks,
> jirka
>
>
> [1] https://lore.kernel.org/bpf/20210113102509.1338601-1-jolsa@kernel.org/
> ---
> Jiri Olsa (2):
> elf_symtab: Add support for SHN_XINDEX index to elf_section_by_name
> bpf_encoder: Translate SHN_XINDEX in symbol's st_shndx values
>
> btf_encoder.c | 33 +++++++++++++++++----------------
> dutil.c | 8 +++++++-
> elf_symtab.c | 41 +++++++++++++++++++++++++++++++++++++++--
> elf_symtab.h | 29 +++++++++++++++++++++++++++++
> 4 files changed, 92 insertions(+), 19 deletions(-)
>
For v4 patchset:
Tested-by: Joe Lawrence <joe.lawrence@...hat.com>
Thanks Jiri!
-- Joe
Powered by blists - more mailing lists