From: Michael Ellerman <mpe@ellerman.id.au>
To: Dmitry Vyukov <dvyukov@google.com>, Arnd Bergmann <arnd@arndb.de>
Cc: Nick Kossifidis <mick@ics.forth.gr>,
Christoph Hellwig <hch@lst.de>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
linux-arch <linux-arch@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linuxppc-dev <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH, RFC] byteorder: sanity check toolchain vs kernel endianess
Date: Mon, 13 May 2019 21:33:39 +1000 [thread overview]
Message-ID: <87woiutwq4.fsf@concordia.ellerman.id.au> (raw)
In-Reply-To: <CACT4Y+ad5z6z0Dweh5hGwYcUUebPEtqsznmX9enPvYB20J16aA@mail.gmail.com>
Dmitry Vyukov <dvyukov@google.com> writes:
> From: Arnd Bergmann <arnd@arndb.de>
> Date: Sat, May 11, 2019 at 2:51 AM
> To: Dmitry Vyukov
> Cc: Nick Kossifidis, Christoph Hellwig, Linus Torvalds, Andrew Morton,
> linux-arch, Linux Kernel Mailing List, linuxppc-dev
>
>> On Fri, May 10, 2019 at 6:53 AM Dmitry Vyukov <dvyukov@google.com> wrote:
>> > >
>> > > I think it's good to have a sanity check in-place for consistency.
>> >
>> >
>> > Hi,
>> >
>> > This broke our cross-builds from x86. I am using:
>> >
>> > $ powerpc64le-linux-gnu-gcc --version
>> > powerpc64le-linux-gnu-gcc (Debian 7.2.0-7) 7.2.0
>> >
>> > and it says that it's little-endian somehow:
>> >
>> > $ powerpc64le-linux-gnu-gcc -dM -E - < /dev/null | grep BYTE_ORDER
>> > #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
>> >
>> > Is it broke compiler? Or I always hold it wrong? Is there some
>> > additional flag I need to add?
>>
>> It looks like a bug in the kernel Makefiles to me. powerpc32 is always
>> big-endian,
>> powerpc64 used to be big-endian but is now usually little-endian. There are
>> often three separate toolchains that default to the respective user
>> space targets
>> (ppc32be, ppc64be, ppc64le), but generally you should be able to build
>> any of the
>> three kernel configurations with any of those compilers, and have the Makefile
>> pass the correct -m32/-m64/-mbig-endian/-mlittle-endian command line options
>> depending on the kernel configuration. It seems that this is not happening
>> here. I have not checked why, but if this is the problem, it should be
>> easy enough
>> to figure out.
>
>
> Thanks! This clears a lot.
> This may be a bug in our magic as we try to build kernel files outside
> of make with own flags (required to extract parts of kernel
> interfaces).
> So don't spend time looking for the Makefile bugs yet.
OK :)
We did have some bugs in the past (~1-2 y/ago) but AFAIK they are all
fixed now. These days I build most of my kernels with a bi-endian 64-bit
toolchain, and switching endian without running `make clean` also works.
cheers
next prev parent reply other threads:[~2019-05-13 11:33 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-12 14:35 [PATCH, RFC] byteorder: sanity check toolchain vs kernel endianess Christoph Hellwig
2019-04-12 14:35 ` Christoph Hellwig
2019-04-12 14:53 ` Arnd Bergmann
2019-04-12 14:53 ` Arnd Bergmann
2019-04-12 14:55 ` Christoph Hellwig
2019-04-12 14:55 ` Christoph Hellwig
2019-04-12 15:22 ` Arnd Bergmann
2019-04-12 15:22 ` Arnd Bergmann
2019-04-12 16:05 ` Nick Kossifidis
2019-04-12 16:05 ` Nick Kossifidis
2019-05-10 10:53 ` Dmitry Vyukov
2019-05-10 10:53 ` Dmitry Vyukov
2019-05-11 0:51 ` Arnd Bergmann
2019-05-11 0:51 ` Arnd Bergmann
2019-05-13 7:39 ` Dmitry Vyukov
2019-05-13 7:39 ` Dmitry Vyukov
2019-05-13 11:33 ` Michael Ellerman [this message]
2019-05-13 11:33 ` Michael Ellerman
2019-05-13 11:50 ` Dmitry Vyukov
2019-05-13 11:50 ` Dmitry Vyukov
2019-05-13 12:04 ` Christoph Hellwig
2019-05-13 12:04 ` Christoph Hellwig
2019-05-15 6:53 ` Arnd Bergmann
2019-05-15 6:53 ` Arnd Bergmann
2019-05-30 1:46 ` Maciej Rozycki
2019-05-30 1:46 ` Maciej Rozycki
2019-05-30 6:41 ` Christoph Hellwig
2019-05-30 6:41 ` Christoph Hellwig
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=87woiutwq4.fsf@concordia.ellerman.id.au \
--to=mpe@ellerman.id.au \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=dvyukov@google.com \
--cc=hch@lst.de \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mick@ics.forth.gr \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox