lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNAQL3RUtnw99smJCRc_rOm3PgMZhjc85WT3WwNGCcgK6nw@mail.gmail.com>
Date:   Mon, 18 Jan 2021 01:21:13 +0900
From:   Masahiro Yamada <masahiroy@...nel.org>
To:     John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>
Cc:     Yoshinori Sato <ysato@...rs.sourceforge.jp>,
        Rich Felker <dalias@...c.org>,
        Linux-sh list <linux-sh@...r.kernel.org>,
        Arnd Bergmann <arnd@...db.de>,
        Brendan Higgins <brendanhiggins@...gle.com>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Russell King <rmk+kernel@...linux.org.uk>,
        "Steven Rostedt (VMware)" <rostedt@...dmis.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/2] sh: boot: avoid unneeded rebuilds under arch/sh/boot/compressed/

On Sun, Jan 17, 2021 at 10:35 PM John Paul Adrian Glaubitz
<glaubitz@...sik.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@...nel.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@...c:..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@...c:..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@...c:..glaubitz/linux-git>
>
> Adrian
>
> --
>  .''`.  John Paul Adrian Glaubitz
> : :' :  Debian Developer - glaubitz@...ian.org
> `. `'   Freie Universitaet Berlin - glaubitz@...sik.fu-berlin.de
>   `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
>


--
Best Regards
Masahiro Yamada

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ