Re: [PATCH] kbuild: move -pipe to global KBUILD_CFLAGS
From: Masahiro Yamada
Date: Fri Feb 21 2020 - 21:09:48 EST
On Sat, Feb 22, 2020 at 9:40 AM Alex Xu (Hello71) <alex_y_xu@xxxxxxxx> wrote:
>
> -pipe reduces unnecessary disk wear for systems where /tmp is not a
> tmpfs, slightly increases compilation speed, and avoids leaving behind
> files when gcc crashes.
>
> According to the gcc manual, "this fails to work on some systems where
> the assembler is unable to read from a pipe; but the GNU assembler has
> no trouble". We already require GNU ld on all platforms, so this is not
> an additional dependency. LLVM as also supports pipes.
>
> -pipe has always been used for most architectures, this change
> standardizes it globally. Most notably, arm, arm64, riscv, and x86 are
> affected.
>
> Signed-off-by: Alex Xu (Hello71) <alex_y_xu@xxxxxxxx>
<snip>
> diff --git a/arch/arc/Makefile b/arch/arc/Makefile
> index 20e9ab6cc521..b6a2f553771c 100644
> --- a/arch/arc/Makefile
> +++ b/arch/arc/Makefile
> @@ -9,7 +9,7 @@ ifeq ($(CROSS_COMPILE),)
> CROSS_COMPILE := $(call cc-cross-prefix, arc-linux- arceb-linux-)
> endif
>
> -cflags-y += -fno-common -pipe -fno-builtin -mmedium-calls -D__linux__
> +cflags-y += -fno-common -fno-builtin -mmedium-calls -D__linux__
> cflags-$(CONFIG_ISA_ARCOMPACT) += -mA7
> cflags-$(CONFIG_ISA_ARCV2) += -mcpu=hs38
>
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index db857d07114f..7711467e0797 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -21,7 +21,6 @@ KBUILD_LDS_MODULE += $(srctree)/arch/arm/kernel/module.lds
> endif
>
> GZFLAGS :=-9
> -#KBUILD_CFLAGS +=-pipe
This was commented out by a very old commit,
which is available in the historical git tree.
https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/commit/?id=ce20ed858a20f6f04de475cae79e40d3697f4776
But, I could not parse the reason from the commit message.
Russell, do you remember why?
If arch maintainers are fine with this change,
I can pick up it.
Thanks.
--
Best Regards
Masahiro Yamada