All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Nadav Amit <namit@vmware.com>
Cc: Ingo Molnar <mingo@redhat.com>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Michal Marek <michal.lkml@markovi.net>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, "H. Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org, linux-kbuild@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] Makefile: Fix distcc compilation with x86 macros
Date: Tue, 13 Nov 2018 12:30:00 +0100	[thread overview]
Message-ID: <20181113113000.GB4788@gmail.com> (raw)
In-Reply-To: <20181112150215.508-2-namit@vmware.com>


* Nadav Amit <namit@vmware.com> wrote:

> Introducing the use of asm macros in c-code broke distcc, since it only
> sends the preprocessed source file. The solution is to break the
> compilation into two separate phases of compilation and assembly, and
> between the two concatanate the assembly macros and the compiled (yet

s/concatenate

> not assembled) source file. Since this is less efficient, this
> compilation mode is only used when make is called with the "DISTCC=y"
> parameter.
> 
> Note that the assembly stage should also be distributed, if distcc is
> configured using "CFLAGS=-DENABLE_REMOTE_ASSEMBLE".

It's a bit sad that we regressed distcc performance ...

> +# If distcc is used, then when an assembly macro files is needed, the
> +# compilation stage and the assembly stage need to be separated. Providing
> +# "DISTCC=y" option enables the separate compilation and assembly.

Let's fix the various typos:

  > +# If distcc is used, and when assembly macro files are needed, the
  > +# compilation stage and the assembly stage needs to be separated. 
  > +# Providing the "DISTCC=y" option enables separate compilation and 
  > +# assembly.



> +cmd_cc_o_c_direct = $(CC) $(c_flags) -c -o $(1) $<
> +
> +ifeq ($(DISTCC),y)
> +a_flags_no_debug = $(filter-out $(AFLAGS_DEBUG_INFO), $(a_flags))
> +c_flags_no_macros = $(filter-out $(ASM_MACRO_FLAGS), $(c_flags))
> +
> +cmd_cc_o_c_two_steps =							\
> +	$(CC) $(c_flags_no_macros) $(DISABLE_LTO) -fverbose-asm -S	\
> +		-o $(@D)/.$(@F:.o=.s) $< ;				\
> +	cat $(ASM_MACRO_FILE) $(@D)/.$(@F:.o=.s) >			\
> +		$(@D)/.tmp_$(@F:.o=.s);					\
> +	$(CC) $(a_flags_no_debug) -c -o $(1) $(@D)/.tmp_$(@F:.o=.s) ; 	\
> +	rm -f $(@D)/.$(@F:.o=.s) $(@D)/.tmp_$(@F:.o=.s)			\
> +
> +cmd_cc_o_c_helper =    							\
> +	$(if $(findstring $(ASM_MACRO_FLAGS),$(c_flags)),		\
> +		$(call cmd_cc_o_c_two_steps, $(1)),			\
> +		$(call cmd_cc_o_c_direct, $(1)))

There are various stray <space>+<tab> whitespace noise errors in the 
chunks above.

Thanks,

	Ingo

  reply	other threads:[~2018-11-13 11:30 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-12 15:02 [PATCH 0/2] x86: Asm macros fixes Nadav Amit
2018-11-12 15:02 ` Nadav Amit
2018-11-12 15:02 ` [PATCH 1/2] Makefile: Fix distcc compilation with x86 macros Nadav Amit
2018-11-12 15:02   ` Nadav Amit
2018-11-13 11:30   ` Ingo Molnar [this message]
2018-11-13 17:55     ` Nadav Amit
2018-11-13 18:34       ` Nadav Amit
2018-11-14  7:29         ` Logan Gunthorpe
2018-11-14 17:46           ` Nadav Amit
2018-11-15  1:19             ` Logan Gunthorpe
2018-11-15  1:57               ` Nadav Amit
2018-11-15  2:00                 ` Logan Gunthorpe
2018-11-28 23:09                 ` Logan Gunthorpe
2018-11-29  0:38                   ` Nadav Amit
2018-11-29  0:49                     ` Logan Gunthorpe
2018-11-29  1:31                       ` Nadav Amit
2018-11-29 16:43                         ` Logan Gunthorpe
2018-12-01  6:29                           ` Nadav Amit
2018-11-12 15:02 ` [PATCH 2/2] x86: set a dependency on macros.S Nadav Amit
2018-11-12 15:02   ` Nadav Amit
2018-11-13 11:30   ` Ingo Molnar

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=20181113113000.GB4788@gmail.com \
    --to=mingo@kernel.org \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=mingo@redhat.com \
    --cc=namit@vmware.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=yamada.masahiro@socionext.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.