From: Logan Gunthorpe Sent: November 8, 2018 at 8:00:33 PM GMT > To: Nadav Amit <[email protected]>, [email protected] <[email protected]>, Ingo > Molnar <[email protected]> > Cc: LKML <[email protected]>, X86 ML <[email protected]>, Sam > Ravnborg <[email protected]>, Michal Marek <[email protected]>, Thomas > Gleixner <[email protected]>, Linux Kbuild mailing list > <[email protected]>, Stephen Bates <[email protected]> > 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.

