Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

  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