Re: [PATCH kernel v3] powerpc/makefile: Do not redefine $(CPP) for preprocessor
From: Segher Boessenkool <hidden>
Date: 2021-05-17 19:16:03
Also in:
linux-kbuild, lkml
Hi! On Mon, May 17, 2021 at 01:23:11PM +1000, Alexey Kardashevskiy wrote:
On 5/14/21 18:46, Segher Boessenkool wrote:quoted
On Fri, May 14, 2021 at 11:42:32AM +0900, Masahiro Yamada wrote:quoted
In my best guess, the reason why powerpc adding the endian flag to CPP is this line in arch/powerpc/kernel/vdso64/vdso64.lds.S #ifdef __LITTLE_ENDIAN__ OUTPUT_FORMAT("elf64-powerpcle", "elf64-powerpcle", "elf64-powerpcle") #else OUTPUT_FORMAT("elf64-powerpc", "elf64-powerpc", "elf64-powerpc") #endifWhich is equivalent to #ifdef __LITTLE_ENDIAN__ OUTPUT_FORMAT("elf64-powerpcle") #else OUTPUT_FORMAT("elf64-powerpc") #endif so please change that at the same time if you touch this :-)"If you touch this" approach did not work well with this patch so sorry but no ;) and for a separate patch, I'll have to dig since when it is equal, do you know?
Since 1994, when the three-arg version was introduced (the one-arg version is from 1992).
quoted
quoted
__LITTLE_ENDIAN__ is defined by powerpc gcc and clang.This predefined macro is required by the newer ABIs, but all olderThat's good so I'll stick to it.
Great.
quoted
You can just write -mbig and -mlittle btw. Those aren't available on all targets, but neither are the long-winded -m{big,little}-endian option names. Pet peeve, I know :-)I am looking the same guarantees across modern enough gcc and clang and I am not sure all of the above is valid for clang 10.0.something (or whatever we say we support) ;)
-mbig/-mlittle is supported in GCC since times immemorial. Whether LLVM supports it as well just depends on how good their emulation is, I have no idea. Segher