All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
To: Masahiro Yamada <masahiroy@kernel.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	linux-sh@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>,
	Brendan Higgins <brendanhiggins@google.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Russell King <rmk+kernel@armlinux.org.uk>,
	"Steven Rostedt (VMware)" <rostedt@goodmis.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] sh: boot: avoid unneeded rebuilds under arch/sh/boot/compressed/
Date: Sun, 17 Jan 2021 14:34:40 +0100	[thread overview]
Message-ID: <acc34727-c956-3943-c623-1acd462c2a2d@physik.fu-berlin.de> (raw)
In-Reply-To: <20210117111632.2392635-2-masahiroy@kernel.org>

Hi Masahiro!

On 1/17/21 12:16 PM, Masahiro Yamada wrote:
> Even if none of source code is updated, the following are every time
> rebuilt:
> 
>   CC      arch/sh/boot/compressed/cache.o
>   SHIPPED arch/sh/boot/compressed/ashiftrt.S
>   AS      arch/sh/boot/compressed/ashiftrt.o
>   SHIPPED arch/sh/boot/compressed/ashldi3.c
>   CC      arch/sh/boot/compressed/ashldi3.o
>   SHIPPED arch/sh/boot/compressed/ashrsi3.S
>   AS      arch/sh/boot/compressed/ashrsi3.o
>   SHIPPED arch/sh/boot/compressed/ashlsi3.S
>   AS      arch/sh/boot/compressed/ashlsi3.o
>   SHIPPED arch/sh/boot/compressed/lshrsi3.S
>   AS      arch/sh/boot/compressed/lshrsi3.o
>   LD      arch/sh/boot/compressed/vmlinux
>   OBJCOPY arch/sh/boot/zImage
> 
> Add build artifacts to 'targets' as needed.
> 
> I turned the library files to check-in files. It is simpler than
> copying from arch/sh/lib/ at build-time.
> 
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
> 
>  arch/sh/boot/compressed/.gitignore |  5 -----
>  arch/sh/boot/compressed/Makefile   | 32 ++++++++++++------------------
>  arch/sh/boot/compressed/ashiftrt.S |  2 ++
>  arch/sh/boot/compressed/ashldi3.c  |  2 ++
>  arch/sh/boot/compressed/ashlsi3.S  |  2 ++
>  arch/sh/boot/compressed/ashrsi3.S  |  2 ++
>  arch/sh/boot/compressed/lshrsi3.S  |  2 ++
>  7 files changed, 23 insertions(+), 24 deletions(-)
>  create mode 100644 arch/sh/boot/compressed/ashiftrt.S
>  create mode 100644 arch/sh/boot/compressed/ashldi3.c
>  create mode 100644 arch/sh/boot/compressed/ashlsi3.S
>  create mode 100644 arch/sh/boot/compressed/ashrsi3.S
>  create mode 100644 arch/sh/boot/compressed/lshrsi3.S
> 
> diff --git a/arch/sh/boot/compressed/.gitignore b/arch/sh/boot/compressed/.gitignore
> index 37aa53057369..cd16663bc7c8 100644
> --- a/arch/sh/boot/compressed/.gitignore
> +++ b/arch/sh/boot/compressed/.gitignore
> @@ -1,7 +1,2 @@
>  # SPDX-License-Identifier: GPL-2.0-only
> -ashiftrt.S
> -ashldi3.c
> -ashlsi3.S
> -ashrsi3.S
> -lshrsi3.S
>  vmlinux.bin.*
> diff --git a/arch/sh/boot/compressed/Makefile b/arch/sh/boot/compressed/Makefile
> index 589d2d8a573d..cf3174df7859 100644
> --- a/arch/sh/boot/compressed/Makefile
> +++ b/arch/sh/boot/compressed/Makefile
> @@ -5,12 +5,18 @@
>  # create a compressed vmlinux image from the original vmlinux
>  #
>  
> -targets		:= vmlinux vmlinux.bin vmlinux.bin.gz \
> -		   vmlinux.bin.bz2 vmlinux.bin.lzma \
> -		   vmlinux.bin.xz vmlinux.bin.lzo \
> -		   head_32.o misc.o piggy.o
> +OBJECTS := head_32.o misc.o cache.o piggy.o \
> +           ashiftrt.o ashldi3.o ashrsi3.o ashlsi3.o lshrsi3.o
> +
> +# These were previously generated files. When you are building the kernel
> +# with O=, make sure to remove the stale files in the output tree. Otherwise,
> +# the build system wrongly compiles the stale ones.
> +ifdef building_out_of_srctree
> +$(shell rm -f $(addprefix $(obj)/, ashiftrt.S ashldi3.c ashrsi3.S ashlsi3.S lshrsi3.S))
> +endif
>  
> -OBJECTS = $(obj)/head_32.o $(obj)/misc.o $(obj)/cache.o
> +targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 \
> +           vmlinux.bin.lzma vmlinux.bin.xz vmlinux.bin.lzo $(OBJECTS)
>  
>  GCOV_PROFILE := n
>  
> @@ -33,21 +39,9 @@ ccflags-remove-$(CONFIG_MCOUNT) += -pg
>  LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(IMAGE_OFFSET) -e startup \
>  		   -T $(obj)/../../kernel/vmlinux.lds
>  
> -#
> -# Pull in the necessary libgcc bits from the in-kernel implementation.
> -#
> -lib1funcs-y	:= ashiftrt.S ashldi3.c ashrsi3.S ashlsi3.S lshrsi3.S
> -lib1funcs-obj   := \
> -	$(addsuffix .o, $(basename $(addprefix $(obj)/, $(lib1funcs-y))))
> -
> -lib1funcs-dir		:= $(srctree)/arch/$(SRCARCH)/lib
> -
> -KBUILD_CFLAGS += -I$(lib1funcs-dir) -DDISABLE_BRANCH_PROFILING
> -
> -$(addprefix $(obj)/,$(lib1funcs-y)): $(obj)/%: $(lib1funcs-dir)/% FORCE
> -	$(call cmd,shipped)
> +KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
>  
> -$(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o $(lib1funcs-obj) FORCE
> +$(obj)/vmlinux: $(addprefix $(obj)/, $(OBJECTS)) FORCE
>  	$(call if_changed,ld)
>  
>  $(obj)/vmlinux.bin: vmlinux FORCE
> diff --git a/arch/sh/boot/compressed/ashiftrt.S b/arch/sh/boot/compressed/ashiftrt.S
> new file mode 100644
> index 000000000000..0f3b291a3f4b
> --- /dev/null
> +++ b/arch/sh/boot/compressed/ashiftrt.S
> @@ -0,0 +1,2 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#include "../../lib/ashiftrt.S"
> diff --git a/arch/sh/boot/compressed/ashldi3.c b/arch/sh/boot/compressed/ashldi3.c
> new file mode 100644
> index 000000000000..7cebd646df83
> --- /dev/null
> +++ b/arch/sh/boot/compressed/ashldi3.c
> @@ -0,0 +1,2 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +#include "../../lib/ashldi3.c"
> diff --git a/arch/sh/boot/compressed/ashlsi3.S b/arch/sh/boot/compressed/ashlsi3.S
> new file mode 100644
> index 000000000000..e354262b275f
> --- /dev/null
> +++ b/arch/sh/boot/compressed/ashlsi3.S
> @@ -0,0 +1,2 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#include "../../lib/ashlsi3.S"
> diff --git a/arch/sh/boot/compressed/ashrsi3.S b/arch/sh/boot/compressed/ashrsi3.S
> new file mode 100644
> index 000000000000..e564be9a4dcd
> --- /dev/null
> +++ b/arch/sh/boot/compressed/ashrsi3.S
> @@ -0,0 +1,2 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#include "../../lib/ashrsi3.S"
> diff --git a/arch/sh/boot/compressed/lshrsi3.S b/arch/sh/boot/compressed/lshrsi3.S
> new file mode 100644
> index 000000000000..5a8281b7e516
> --- /dev/null
> +++ b/arch/sh/boot/compressed/lshrsi3.S
> @@ -0,0 +1,2 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#include "../../lib/lshrsi3.S"

This patch doesn't apply for me while the first one applies without problems:

glaubitz@epyc:..glaubitz/linux-git> git am ../sh-patches-2021/\[PATCH\ 1_2\]\ sh\:\ boot\:\ add\ intermediate\ vmlinux.bin\*\ to\ targets\ instead\ of\ extra-y.eml
Applying: sh: boot: add intermediate vmlinux.bin* to targets instead of extra-y
glaubitz@epyc:..glaubitz/linux-git> git am ../sh-patches-2021/\[PATCH\ 2_2\]\ sh\:\ boot\:\ avoid\ unneeded\ rebuilds\ under\ arch_sh_boot_compressed_.eml
Applying: sh: boot: avoid unneeded rebuilds under arch/sh/boot/compressed/
error: arch/sh/boot/compressed/ashiftrt.S: already exists in working directory
error: arch/sh/boot/compressed/ashldi3.c: already exists in working directory
error: arch/sh/boot/compressed/ashlsi3.S: already exists in working directory
error: arch/sh/boot/compressed/ashrsi3.S: already exists in working directory
error: arch/sh/boot/compressed/lshrsi3.S: already exists in working directory
Patch failed at 0001 sh: boot: avoid unneeded rebuilds under arch/sh/boot/compressed/
hint: Use 'git am --show-current-patch=diff' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
glaubitz@epyc:..glaubitz/linux-git>

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


  reply	other threads:[~2021-01-17 13:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-17 11:16 [PATCH 1/2] sh: boot: add intermediate vmlinux.bin* to targets instead of extra-y Masahiro Yamada
2021-01-17 11:16 ` [PATCH 2/2] sh: boot: avoid unneeded rebuilds under arch/sh/boot/compressed/ Masahiro Yamada
2021-01-17 13:34   ` John Paul Adrian Glaubitz [this message]
2021-01-17 16:21     ` Masahiro Yamada
2021-01-18 17:09       ` John Paul Adrian Glaubitz
2021-01-18 17:27   ` John Paul Adrian Glaubitz
2021-01-18 17:27 ` [PATCH 1/2] sh: boot: add intermediate vmlinux.bin* to targets instead of extra-y John Paul Adrian Glaubitz

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=acc34727-c956-3943-c623-1acd462c2a2d@physik.fu-berlin.de \
    --to=glaubitz@physik.fu-berlin.de \
    --cc=arnd@arndb.de \
    --cc=brendanhiggins@google.com \
    --cc=dalias@libc.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=rostedt@goodmis.org \
    --cc=ysato@users.sourceforge.jp \
    /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.