From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] grub compilation issue (x86_64 target)
Date: Wed, 21 Jul 2010 20:59:06 +0200 [thread overview]
Message-ID: <20100721205906.22d1e269@surf> (raw)
In-Reply-To: <AANLkTik8QvNu_1RxKW3gkNS5nTbrODJFd9shl6AaqPwA@mail.gmail.com>
Hello,
On Wed, 21 Jul 2010 08:11:24 -0700
vbr vbr <vvvg77@gmail.com> wrote:
> There seems to be a compilation issue in the grub area with
> buildroot's latest code (git) with x86_64 target. (or maybe it's just
> my setup) After googling a little bit, the type of error shown in the
> config.log seems to indicate a missing library.
> I attached the config log and my buildroot config.
Yes, this is due to the fact that Grub uses the x86_64
cross-compilation toolchain with the -m32 gcc switch, in order to
produce 32 bits binaries. Unfortunately, the toolchain that Buildroot
produces is a pure 64 bits toolchain, so it cannot support the -m32
switch.
I see four possible solutions to this :
*) Extend the Buildroot toolchain build system so that it can produce
a 32/64 bits multilib toolchain that supports -m32. As embedded on
x86_64 is very uncommon, I'm not sure we'll find someone who is
interested to work on this.
*) Extend Crosstool-NG so that it can produce such a 32/64 bits
toolchain and then use it as an external toolchain. I've started to
work on multilib support for Crosstool-NG, but it's far from being
ready at the moment.
*) Somehow make Buildroot generate two toolchains, a 32 bits one used
to compile Grub, and a 64 bits toolchain to compile all the rest.
Since would involve fairly large and complicated modifications,
which I'm not sure we're ready to do for such a untypical use-case.
*) Mark Grub as broken on x86_64 so that it cannot be compiled. I
think this is the solution we're going to choose. Grub can always
be compiled outside of Buildroot, and the build of bootloaders is
not the biggest added value of embedded build systems such as
Buildroot anyway.
Just out of curiosity, what is your use case for using Buildroot on a
x86_64 machine ? Is it just for experimenting/playing, or are they real
embedded products out there using x86_64 and that have footprint
requirements that make using Buildroot an interesting thing compared to
using full-blown distributions ?
Thanks,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2010-07-21 18:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-21 15:11 [Buildroot] grub compilation issue (x86_64 target) vbr vbr
2010-07-21 18:59 ` Thomas Petazzoni [this message]
2010-07-21 19:09 ` vbr vbr
2010-07-22 0:33 ` Paul Jones
2010-07-22 1:19 ` vbr vbr
2010-07-22 16:22 ` vbr vbr
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=20100721205906.22d1e269@surf \
--to=thomas.petazzoni@free-electrons.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox