From: Ilya Leoshkevich <iii@linux.ibm.com>
To: Arnaldo Carvalho de Melo <acme@redhat.com>,
Andrii Nakryiko <andrii@kernel.org>
Cc: dwarves@vger.kernel.org, bpf@vger.kernel.org,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Yonghong Song <yhs@fb.com>, Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Ilya Leoshkevich <iii@linux.ibm.com>
Subject: [PATCH dwarves] btf: Add --btf_gen_all flag
Date: Fri, 12 Mar 2021 01:08:08 +0100 [thread overview]
Message-ID: <20210312000808.175262-1-iii@linux.ibm.com> (raw)
By default, pahole makes use only of BTF features introduced with
kernel v5.2. Features that are added later need to be turned on with
explicit feature flags, such as --btf_gen_floats. According to [1],
this will hinder the people who generate BTF for kernels externally
(e.g. for old kernels to support BPF CO-RE).
Introduce --btf_gen_all that allows using all BTF features supported
by pahole.
[1] https://lore.kernel.org/dwarves/CAEf4Bzbyugfb2RkBkRuxNGKwSk40Tbq4zAvhQT8W=fVMYWuaxA@mail.gmail.com/
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
man-pages/pahole.1 | 4 ++++
pahole.c | 8 ++++++++
2 files changed, 12 insertions(+)
diff --git a/man-pages/pahole.1 b/man-pages/pahole.1
index e292b2c..cbbefbf 100644
--- a/man-pages/pahole.1
+++ b/man-pages/pahole.1
@@ -204,6 +204,10 @@ to "/sys/kernel/btf/vmlinux".
Allow producing BTF_KIND_FLOAT entries in systems where the vmlinux DWARF
information has float types.
+.TP
+.B \-\-btf_gen_all
+Allow using all the BTF features supported by pahole.
+
.TP
.B \-l, \-\-show_first_biggest_size_base_type_member
Show first biggest size base_type member.
diff --git a/pahole.c b/pahole.c
index c8d38f5..df6aa83 100644
--- a/pahole.c
+++ b/pahole.c
@@ -826,6 +826,7 @@ ARGP_PROGRAM_VERSION_HOOK_DEF = dwarves_print_version;
#define ARGP_numeric_version 320
#define ARGP_btf_base 321
#define ARGP_btf_gen_floats 322
+#define ARGP_btf_gen_all 323
static const struct argp_option pahole__options[] = {
{
@@ -1125,6 +1126,11 @@ static const struct argp_option pahole__options[] = {
.key = ARGP_btf_gen_floats,
.doc = "Allow producing BTF_KIND_FLOAT entries."
},
+ {
+ .name = "btf_gen_all",
+ .key = ARGP_btf_gen_all,
+ .doc = "Allow using all the BTF features supported by pahole."
+ },
{
.name = "structs",
.key = ARGP_just_structs,
@@ -1262,6 +1268,8 @@ static error_t pahole__options_parser(int key, char *arg,
print_numeric_version = true; break;
case ARGP_btf_gen_floats:
btf_gen_floats = true; break;
+ case ARGP_btf_gen_all:
+ btf_gen_floats = true; break;
default:
return ARGP_ERR_UNKNOWN;
}
--
2.29.2
next reply other threads:[~2021-03-12 0:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-12 0:08 Ilya Leoshkevich [this message]
2021-03-12 13:39 ` [PATCH dwarves] btf: Add --btf_gen_all flag Arnaldo Carvalho de Melo
2021-03-23 13:36 ` [PATCH PING " Ilya Leoshkevich
2021-03-23 18:07 ` Arnaldo Carvalho de Melo
2021-03-23 18:22 ` Arnaldo Carvalho de Melo
2021-03-23 20:54 ` Ilya Leoshkevich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210312000808.175262-1-iii@linux.ibm.com \
--to=iii@linux.ibm.com \
--cc=acme@redhat.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=dwarves@vger.kernel.org \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.