[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170430052957.GJ19687@gate.crashing.org>
Date: Sun, 30 Apr 2017 00:29:57 -0500
From: Segher Boessenkool <segher@...nel.crashing.org>
To: Andre Przywara <andre.przywara@....com>
Cc: Tony Breeds <tony@...eyournoodle.com>,
Guenter Roeck <linux@...ck-us.net>,
LKML <linux-kernel@...r.kernel.org>,
LAKML <linux-arm-kernel@...ts.infradead.org>,
Arnd Bergmann <arnd@...db.de>
Subject: Re: Updating kernel.org cross compilers?
Hi,
On Wed, Apr 26, 2017 at 03:14:16PM +0100, Andre Przywara wrote:
> It seems that many people (even outside the Linux kernel community) use
> the cross compilers provided at kernel.org/pub/tools/crosstool.
> The latest compiler I find there is 4.9.0, which celebrated its third
> birthday at the weekend, also has been superseded by 4.9.4 meanwhile.
>
> So I took Segher's buildall scripts from [1] and threw binutils 2.28 and
> GCC 6.3.0 at them.
Happy to see people are still using these!
> After removing --enable-sjlj-exceptions from build-gcc
This was needed to build some targets. It does prevent aarch64 from
building without patch.
> and adding --disable-multilib (for building x86-64 on a x86-64
> box without 32-bit libs)
Why is this needed? What error are you seeing.
> I was able to build (bare-metal) toolchains for
> all architectures except arc, m68k, tilegx and tilepro.
arc needs a more recent GCC; the other probably as well. GCC 7 should
be out very soon, you probably want to wait for that :-)
> $ ./buildall --toolchain
> $ PATH=$PATH:/opt/cross/bin
> $ ./buildall --kernel
You should have the target dir in your PATH before doing anything else.
Is this not documented? Hrm I guess not, let me fix that.
> And what is a good build setup, so that the binaries run on as many
> systems as possible?
Run contrib/download_prerequisites in the gcc source dir: this will
make GMP, MPFR, MPC statically linked, and use a version of each that
is known to work (and work correctly).
> [1] http://git.infradead.org/users/segher/buildall.git/
I'll push some changes that make aarch64 work out-of-the-box in a
minute. It does some other things as well (e.g., make ia64 work again
after *that* change); more changes are still needed to make sh4 work
without patches.
Segher
Powered by blists - more mailing lists