All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masahiro Yamada <masahiroy@kernel.org>
To: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Linux-sh list <linux-sh@vger.kernel.org>,
	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 Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/2] sh: boot: avoid unneeded rebuilds under arch/sh/boot/compressed/
Date: Mon, 18 Jan 2021 01:21:13 +0900	[thread overview]
Message-ID: <CAK7LNAQL3RUtnw99smJCRc_rOm3PgMZhjc85WT3WwNGCcgK6nw@mail.gmail.com> (raw)
In-Reply-To: <acc34727-c956-3943-c623-1acd462c2a2d@physik.fu-berlin.de>

On Sun, Jan 17, 2021 at 10:35 PM John Paul Adrian Glaubitz
<glaubitz@physik.fu-berlin.de> wrote:
>
> 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

Adrian, these 5 files are currently generated files.

That is why git-am failed.

They are not cleaned up by 'make ARCH=sh clean'
(this is a bug too).


Please remove them manually, then try git am again.







> 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
>


--
Best Regards
Masahiro Yamada

  reply	other threads:[~2021-01-17 16:23 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
2021-01-17 16:21     ` Masahiro Yamada [this message]
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=CAK7LNAQL3RUtnw99smJCRc_rOm3PgMZhjc85WT3WwNGCcgK6nw@mail.gmail.com \
    --to=masahiroy@kernel.org \
    --cc=arnd@arndb.de \
    --cc=brendanhiggins@google.com \
    --cc=dalias@libc.org \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.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.