From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 2/2] Makefile: add check of binaries architecture
Date: Sun, 12 Mar 2017 21:42:51 +0100 [thread overview]
Message-ID: <20170312204251.GH3739@free.fr> (raw)
In-Reply-To: <aa76136f-f6cb-0746-319c-c71f0812cc26@mind.be>
Arnout, All,
On 2017-03-12 21:27 +0100, Arnout Vandecappelle spake thusly:
> On 12-03-17 18:49, Thomas Petazzoni wrote:
>
> [snip]
> > +READELF_ARCH_NAME = $(call qstrip,$(BR2_READELF_ARCH_NAME))
> > +
> > +ifneq ($(READELF_ARCH_NAME),)
>
> We set it for all arches, so this is never empty. Except when we forget to set
> it, but in that case we probably want this thing to be executed so we notice.
>
> > +define CHECK_BIN_ARCH
> > + support/scripts/check-bin-arch $(TARGET_DIR) \
> > + $(TARGET_CROSS) "$(READELF_ARCH_NAME)"
> > +endef
> > +TARGET_FINALIZE_HOOKS += CHECK_BIN_ARCH
> > +endif
>
> It would be nice to do it immediately after package install, so it becomes a
> package error rather than some post-build error that is more difficult to
> localise. Of course, with Yann's suggestion it would still report which package
> was the culprit, but I don't think it would show up in the autobuild results
> under the right package.
>
> To avoid too much overhead rechecking files all the time, it could be done as
> part of step_pkg_size_end which iterates over the files installed in target for
> that particular package. It would make the code a little more complicated,
> though, and perhaps also slower.
Or it could be a step after the step_pkg_size_end, which would basically
do:
sed -r -e "/^${pkg},(.+)$/!d; s//\1/;" "${BUILD_DIR}/packages-file-list.txt
to get the list of file installed by the current package.
Of course, that would only really and cleanly work from a clean build.
> > + farchname=$(${TARGET_CROSS}readelf -h ${f} | \
Please be sure to run it under the C locale, to be sure we can find what
we are looking for.
> > + grep '^ Machine:' | \
> > + sed 's/^ Machine: *\(.*\)/\1/')
>
> Why not the simpler sed -n '/^ Machine: *\(.*\)/s//\1/p' instead of the extra
> grep?
Or a bit easier to read (at least for me):
readelf [..] |sed -r -e '/^ Machine: +(.+)/!d; s//\1/;'
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2017-03-12 20:42 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-12 17:49 [Buildroot] [PATCH v2 1/2] arch: add BR2_READELF_ARCH_NAME hidden config option Thomas Petazzoni
2017-03-12 17:49 ` [Buildroot] [PATCH v2 2/2] Makefile: add check of binaries architecture Thomas Petazzoni
2017-03-12 18:05 ` Yann E. MORIN
2017-03-12 18:21 ` Yann E. MORIN
2017-03-12 19:43 ` Arnout Vandecappelle
2017-03-12 20:11 ` Yann E. MORIN
2017-03-13 17:06 ` Arnout Vandecappelle
2017-03-13 18:05 ` Yann E. MORIN
2017-03-12 20:27 ` Arnout Vandecappelle
2017-03-12 20:42 ` Yann E. MORIN [this message]
2017-03-12 20:58 ` Wolfgang Grandegger
2017-03-12 21:34 ` Arnout Vandecappelle
2017-03-12 21:57 ` Thomas Petazzoni
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=20170312204251.GH3739@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/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.