Re: [PATCH v6 1/9] Makefile: Prepare for using macros for inline asm

From: Nadav Amit
Date: Tue Jul 24 2018 - 14:04:14 EST


at 4:14 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:

>
> * Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote:
>
>> 2018-06-23 2:22 GMT+09:00 Nadav Amit <namit@xxxxxxxxxx>:
>>> Using macros for inline assembly improves both readability and
>>> compilation decisions that are distorted by big assembly blocks that use
>>> alternative sections. Compile macros.S and use it to assemble all C
>>> files. Currently, only x86 will use it.
>>>
>>> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx>
>>> Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
>>> Cc: Michal Marek <michal.lkml@xxxxxxxxxxx>
>>> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>>> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
>>> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
>>> Cc: x86@xxxxxxxxxx
>>> Cc: linux-kbuild@xxxxxxxxxxxxxxx
>>> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
>>> Signed-off-by: Nadav Amit <namit@xxxxxxxxxx>
>>> ---
>>
>>
>>
>> Acked-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
>>
>>
>>
>>
>>> Makefile | 9 +++++++--
>>> arch/x86/Makefile | 11 +++++++++--
>>> arch/x86/kernel/macros.S | 7 +++++++
>>> scripts/Kbuild.include | 4 +++-
>>> scripts/mod/Makefile | 2 ++
>>> 5 files changed, 28 insertions(+), 5 deletions(-)
>>> create mode 100644 arch/x86/kernel/macros.S
>
> So this patch appears to break the xtensa cross-build on my system, with an older
> version of crosstools:
>
> MODPOST vmlinux.o
> /home/mingo/crosstool-korg/bin//gcc-4.9.0-nolibc/xtensa-linux/bin/xtensa-linux-ld:./arch/xtensa/kernel/vmlinux.lds:430:
> syntax error
> /home/mingo/tip/Makefile:1010: recipe for target 'vmlinux' failed
> make[1]: *** [vmlinux] Error 1
> make[1]: Leaving directory '/dev/shm/tip/build'
> Makefile:146: recipe for target 'sub-makeâ failed

This one is due to a missing -DLINKER_SCRIPT in the Makefile of xtensa. Iâll
send the patch to fix it after I deal with the boot failure (for which I
wait for your config file).

Thanks,
Nadav