From: Francis Laniel <flaniel@linux.microsoft.com>
To: buildroot@buildroot.org, Arnout Vandecappelle <arnout@mind.be>
Cc: Samuel Martin <s.martin49@gmail.com>
Subject: Re: [Buildroot] [RFC PATCH v1 1/2] package/pahole: new host package
Date: Wed, 22 Dec 2021 18:32:12 +0100 [thread overview]
Message-ID: <2476071.F8Ik9J7oW7@machine> (raw)
In-Reply-To: <fd7b51bd-5e63-ea80-1ea5-18c539c3a9c8@mind.be>
Hi.
Thank you for your reviews, I comment some inline.
Le mardi 21 décembre 2021 22:44:56 CET, vous avez écrit :
> Hi Francis,
>
> Some relatively minor nitpicks.
>
> On 21/12/2021 15:54, Francis Laniel wrote:
> > pahole is a tool used to show data structure embedded in debugging
> > information formats like DWARF.
> > It is notably needed by the Linux kernel to generate BPF Type Format (BTF)
> > information used by Compile Once - Run Everywhere (CO-RE) BPF tools.
> >
> > Signed-off-by: Francis Laniel <flaniel@linux.microsoft.com>
> > ---
> >
> > DEVELOPERS | 3 +++
> > package/Config.in.host | 1 +
> > package/pahole/Config.in.host | 6 ++++++
> > package/pahole/pahole.hash | 2 ++
> > package/pahole/pahole.mk | 20 ++++++++++++++++++++
> > 5 files changed, 32 insertions(+)
> > create mode 100644 package/pahole/Config.in.host
> > create mode 100644 package/pahole/pahole.hash
> > create mode 100644 package/pahole/pahole.mk
> >
> > diff --git a/DEVELOPERS b/DEVELOPERS
> > index 64db6c51d0..70df957415 100644
> > --- a/DEVELOPERS
> > +++ b/DEVELOPERS
> > @@ -939,6 +939,9 @@ N: Floris Bos <bos@je-eigen-domein.nl>
> >
> > F: package/ipmitool/
> > F: package/odhcploc/
> >
> > +N: Francis Laniel <flaniel@linux.microsoft.com>
> > +F: package/pahole/
> > +
> >
> > N: Francisco Gonzalez <gzmorell@gmail.com>
> > F: package/ser2net/
> >
> > diff --git a/package/Config.in.host b/package/Config.in.host
> > index 6e5a5c5fc5..ae512c5643 100644
> > --- a/package/Config.in.host
> > +++ b/package/Config.in.host
> > @@ -60,6 +60,7 @@ menu "Host utilities"
> >
> > source "package/omap-u-boot-utils/Config.in.host"
> > source "package/openocd/Config.in.host"
> > source "package/opkg-utils/Config.in.host"
> >
> > + source "package/pahole/Config.in.host"
> >
> > source "package/parted/Config.in.host"
> > source "package/patchelf/Config.in.host"
> > source "package/pigz/Config.in.host"
> >
> > diff --git a/package/pahole/Config.in.host b/package/pahole/Config.in.host
> > new file mode 100644
> > index 0000000000..e427629632
> > --- /dev/null
> > +++ b/package/pahole/Config.in.host
> > @@ -0,0 +1,6 @@
> > +config BR2_PACKAGE_HOST_PAHOLE
> > + bool "host pahole"
> > + help
> > + Pahole and other DWARF utils.
> > +
> > + https://git.kernel.org/pub/scm/devel/pahole/pahole.git
> > diff --git a/package/pahole/pahole.hash b/package/pahole/pahole.hash
> > new file mode 100644
> > index 0000000000..2573fde8c9
> > --- /dev/null
> > +++ b/package/pahole/pahole.hash
> > @@ -0,0 +1,2 @@
> > +# Locally computed
> > +sha256 76b7eaf5747dbb7250a1a50185136d4639e0d70aa11c5d7c68139c0c8ca9be80
> > pahole-v1.22-br1.tar.gz
> You should also add COPYING to the hash file.
>
> > diff --git a/package/pahole/pahole.mk b/package/pahole/pahole.mk
> > new file mode 100644
> > index 0000000000..1f69f5391e
> > --- /dev/null
> > +++ b/package/pahole/pahole.mk
> > @@ -0,0 +1,20 @@
> > +########################################################################
> > +#
> > +# pahole
> > +#
> > +########################################################################
> > +
> > +PAHOLE_VERSION = v1.22
>
> There's a v1.23 now.
Thank you for it, I jumped to v1.23.
> > +PAHOLE_SITE = git://git.kernel.org/pub/scm/devel/pahole/pahole.git
>
> kernel.org also has a tarball download:
>
> PAHOLE_SITE =
> https://git.kernel.org/pub/scm/devel/pahole/pahole.git/snapshot
>
> (cfr. e.g. f2fs-tools).
>
> That also allows you to set VERSION without the v, which we prefer because
> that way it can be used in CPE info and in release-monitoring.
>
> > +PAHOLE_SITE_METHOD = git
> > +# pahole contains git submodule and relies on them to be built.
>
> Darn, so much for the tarball download :-(
>
> This is something we'd typically put in a comment or the commit message so
> later down the line people remember why we didn't choose a tarball
> download.
>
> However, we normally prefer to unbundle dependencies, and we already have
> libbpf (though not for the host at the moment). For host packages, the
> unbundling isn't terribly important, so if it's difficult, don't bother. But
> if it's easy to use an external bpf rather than the submodule, then please
> do that.
I tried to modify libbpf recipe to add host-libbpf and add it at dependencies
to host-pahole but sadly I was not successful.
Thus, I stick with getting pahole from its git repository with its submodules.
> > +# We need to add this option to fetch the submodules before creating the
> > +# archive.
>
> This comment is redundant, the first sentence was enough.
>
> > +PAHOLE_GIT_SUBMODULES = YES
> > +# Better to build it statically so we do not rely on the host having
> > +# corresponding libraries.
>
> This doesn't make a whole lot of sense to me... We're building it, so the
> libraries are there, otherwise it would fail to build, right? Again, not
> terribly important for a host package, but we prefer to do special stuff if
> not needed.
>
> > +HOST_PAHOLE_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF -D__LIB=lib
>
> Why is the __LIB=lib needed? What does it do? It's enough to mention this
> in the commit message.
This seems needed as directory for some build artifact, it is described in
pahole README to build it.
I added a comment in pahole.mk as well as in commit message.
> Regards,
Best regards.
> Arnout
>
> > +PAHOLE_LICENSE = GPL-2.0
> > +PAHOLE_LICENSE_FILES = COPYING
> > +
> > +$(eval $(host-cmake-package))
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2021-12-22 17:32 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-21 14:54 [Buildroot] [RFC PATCH v1 0/2] Enable BTF headers for Linux kernel Francis Laniel
2021-12-21 14:54 ` [Buildroot] [RFC PATCH v1 1/2] package/pahole: new host package Francis Laniel
2021-12-21 21:44 ` Arnout Vandecappelle
2021-12-22 17:32 ` Francis Laniel [this message]
2021-12-21 14:54 ` [Buildroot] [RFC PATCH v1 2/2] linux: Add host-pahole as linux dependencies if selected by user Francis Laniel
2021-12-21 21:58 ` Arnout Vandecappelle
2021-12-22 17:33 ` Francis Laniel
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=2476071.F8Ik9J7oW7@machine \
--to=flaniel@linux.microsoft.com \
--cc=arnout@mind.be \
--cc=buildroot@buildroot.org \
--cc=s.martin49@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox