[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <94270f5c-1a28-f9d7-2b5a-eb874dc35398@mellanox.com>
Date: Tue, 21 Jun 2016 11:26:19 -0400
From: Chris Metcalf <cmetcalf@...lanox.com>
To: Peter Zijlstra <peterz@...radead.org>
CC: Sudip Mukherjee <sudipm.mukherjee@...il.com>,
Stephen Rothwell <sfr@...b.auug.org.au>,
<linux-next@...r.kernel.org>, Ingo Molnar <mingo@...nel.org>,
<linux-kernel@...r.kernel.org>, <linux-arch@...r.kernel.org>
Subject: Re: linux-next: Tree for Jun 21
On 6/21/2016 10:14 AM, Peter Zijlstra wrote:
> On Tue, Jun 21, 2016 at 04:04:08PM +0200, Peter Zijlstra wrote:
>>> I'm not sure who builds the toolchains, but tilepro is in upstream gcc/binutils/etc
>>> so should be easy enough to include. There's also a cross-toolchain for x64 I put
>>> up a while ago [1] that you could grab if you wanted to try it.
>> I usually build my own set -- and just did. But tilepro was not
>> included. Lemme go do so.
> binutils-2_26-branch builds for tilepro-linux
> gcc-6-branch does _not_ build for tilepro-linux
I figured I would take a stab at diagnosing this myself, and it looks like the
toolchain build assumes that the kernel headers have already been installed
and therefore we have <asm/unistd.h> available. This actually seems like
a reasonable prerequisite for building the toolchain. I'm guessing you
don't? Should you? Or perhaps the compiler shouldn't make that assumption?
This has been true since gcc 4.x when tilepro support was first added.
In any case if you replace the #include <asm/unistd.h> with
#define __NR_FAST_cmpxchg -1
#define __NR_FAST_atomic_update -2
#define __NR_FAST_cmpxchg64 -3
that should also probably fix it, though I haven't tested it. It probably
wouldn't be crazy to just put those #defines directly in tilepro's atomic.h,
since it's not like those fast system call numbers will ever change.
--
Chris Metcalf, Mellanox Technologies
http://www.mellanox.com
Powered by blists - more mailing lists