From: Logan Gunthorpe Sent: November 8, 2018 at 8:00:33 PM GMT > To: Nadav Amit <namit@xxxxxxxxxx>, hpa@xxxxxxxxx <hpa@xxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx> > Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>, X86 ML <x86@xxxxxxxxxx>, Sam Ravnborg <sam@xxxxxxxxxxxx>, Michal Marek <michal.lkml@xxxxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Linux Kbuild mailing list <linux-kbuild@xxxxxxxxxxxxxxx>, Stephen Bates <sbates@xxxxxxxxxxxx> > Subject: Re: [PATCH v9 02/10] Makefile: Prepare for using macros for inline asm > > > > > On 2018-11-08 12:54 p.m., Nadav Amit wrote: >> I don’t think the assembly stage needs to be done locally. gcc can still be >> used to deploy the assembler. I am not too familiar with distcc, so I don’t >> know whether the preprocessing supports multiple source-files, and whether >> it has some strange-behavior when it comes to .S/.s files. > > The problem is that it's the assembly stage that needs the extra > macros.s and without that file being transferred somehow, that stage > must be done locally. I understand, but the idea is to have two stages, for instance: gcc ... -S -o .tmp_[unit].S [unit].c and then gcc ... -D__ASSEMBLY__ arch/x86/kernel/macros.S .tmp_[unit].S (Yes, I realize the .tmp_[unit].S was already preprocessed, but this way you can combine both inputs) Unfortunately, as I write this email (and run tests) I realize distcc is too dumb to handle two input files: "(dcc_scan_args) do we have two inputs? i give up " Just great. So I guess macros.s would need to be concatenated with .tmp_[unit].s as a separate (local) interim stage.