From: Paul Brook <paul@codesourcery.com>
To: Alexander Graf <agraf@suse.de>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
qemu-devel@nongnu.org, "Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [Bug 929638] Re: qemu 1.0 unable to compile on the pandaboard ES
Date: Thu, 9 Feb 2012 23:55:26 +0000 [thread overview]
Message-ID: <201202092355.27165.paul@codesourcery.com> (raw)
In-Reply-To: <8617E9F5-7049-45FD-BD35-1C121EAB91FC@suse.de>
> > I'd rather not. If at all possible we should avoid runtime tests. Even
> > for "native" systems they generally give the wrong answer as the machine
> > you're building on often isn't the one you will be running on. If we
> > know arm hosts are broken then that's what we should test for in
> > configure (with a comment saying why).
> >
> > IMO consistency between builds for the same target environment is more
> > important than opportunistically probing in a native builds.
>
> I agree for CPU features, sure. Anything that would be influenced by your
> build system vs execution environment. But in this case we're probing for
> a feature of a library we're linking against, so runtime checks really
> aren't all that bad, since you usually want to build against the same libc
> that you're executing against later on.
Maybe, but I don't consider "assume it's broken when cross compiling" to be an
acceptable answer. If we can't get the same answer in a cross environment
then I don't want to be doing it at all.
Using a native build environment is often infeasible. The Debian/Ubuntu and
Maemo folks do crazy things to make it happen, but often as not you're cross
building the whole system from scratch.
Even in a desktop context, all my production builds are done with a cross
compiler[1]. Having that cross build behave differently from a native build
using the exact same libraries and config is liable to cause the absolute
worst kind of bugs - the sort that only shows up in something you're about
to/already have shipped to the customer.
Paul
[1] The build cluster runs modern 64-bit linux, but the end result needs to
work on older 32-bit linux and windows. There's no way I'm setting up a
cluster of RHEL4 and windows XP machines to do native builds, but I can easily
maintain a cross toolchain to win32 or RHEL4 i686 sysroot indefinitely.
next prev parent reply other threads:[~2012-02-09 23:55 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-09 16:37 [Qemu-devel] [Bug 929638] [NEW] qemu 1.0 unable to compile on the pandaboard ES Marietto
2012-02-09 16:55 ` [Qemu-devel] [Bug 929638] " Marietto
2012-02-09 17:07 ` Peter Maydell
2012-02-09 18:23 ` Andreas Färber
2012-02-09 19:11 ` Peter Maydell
2012-02-09 19:12 ` Alexander Graf
2012-02-09 19:15 ` Peter Maydell
2012-02-09 19:17 ` Alexander Graf
2012-02-09 19:18 ` Paul Brook
2012-02-09 19:21 ` Alexander Graf
2012-02-09 23:55 ` Paul Brook [this message]
2012-02-09 22:39 ` Andreas Färber
2012-02-09 18:55 ` Marietto
2012-07-10 14:59 ` Peter Maydell
2012-08-03 17:17 ` Samuel Bronson
2012-09-06 6:23 ` Marietto
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=201202092355.27165.paul@codesourcery.com \
--to=paul@codesourcery.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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.