Message ID | 20211109185015.615517-1-masahiroy@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | powerpc: clean vdso32 and vdso64 directories | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/github-powerpc_selftests | success | Successfully ran 8 jobs. |
snowpatch_ozlabs/github-powerpc_ppctests | success | Successfully ran 8 jobs. |
snowpatch_ozlabs/github-powerpc_kernel_qemu | success | Successfully ran 24 jobs. |
snowpatch_ozlabs/github-powerpc_sparse | success | Successfully ran 4 jobs. |
snowpatch_ozlabs/github-powerpc_clang | success | Successfully ran 7 jobs. |
Hi Masahiro, Le 09/11/2021 à 19:50, Masahiro Yamada a écrit : > Since commit bce74491c300 ("powerpc/vdso: fix unnecessary rebuilds of > vgettimeofday.o"), "make ARCH=powerpc clean" does not clean up the > arch/powerpc/kernel/{vdso32,vdso64} directories. > > Use the subdir- trick to let "make clean" descend into them. > > Fixes: bce74491c300 ("powerpc/vdso: fix unnecessary rebuilds of vgettimeofday.o") > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > arch/powerpc/kernel/Makefile | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile > index 0e3640e14eb1..5fa68c2ef1f8 100644 > --- a/arch/powerpc/kernel/Makefile > +++ b/arch/powerpc/kernel/Makefile > @@ -196,3 +196,6 @@ clean-files := vmlinux.lds > # Force dependency (incbin is bad) > $(obj)/vdso32_wrapper.o : $(obj)/vdso32/vdso32.so.dbg > $(obj)/vdso64_wrapper.o : $(obj)/vdso64/vdso64.so.dbg > + > +# for cleaning > +subdir- += vdso32 vdso64 > This patch make me think about one thing I would have liked to do, but I don't know Makefiles well enough to be able to do it. You could probably help me with it. vdso32 and vdso64 contain a lot of redundant sources. I would like to merge them into a new single directory, let say 'vdso', and use the files in that directory to build both vdso32.so and vdso64.so. I have a feeling that x86 is doing it that way, but I've not been able to figure out how to build two objects using the same C/S files. Thanks Christophe
On Wed, 10 Nov 2021 03:50:15 +0900, Masahiro Yamada wrote: > Since commit bce74491c300 ("powerpc/vdso: fix unnecessary rebuilds of > vgettimeofday.o"), "make ARCH=powerpc clean" does not clean up the > arch/powerpc/kernel/{vdso32,vdso64} directories. > > Use the subdir- trick to let "make clean" descend into them. > > > [...] Applied to powerpc/fixes. [1/1] powerpc: clean vdso32 and vdso64 directories https://git.kernel.org/powerpc/c/964c33cd0be621b291b5d253d8731eb2680082cb cheers
On Wed, Nov 17, 2021 at 12:38 AM Christophe Leroy <christophe.leroy@csgroup.eu> wrote: > > Hi Masahiro, > > Le 09/11/2021 à 19:50, Masahiro Yamada a écrit : > > Since commit bce74491c300 ("powerpc/vdso: fix unnecessary rebuilds of > > vgettimeofday.o"), "make ARCH=powerpc clean" does not clean up the > > arch/powerpc/kernel/{vdso32,vdso64} directories. > > > > Use the subdir- trick to let "make clean" descend into them. > > > > Fixes: bce74491c300 ("powerpc/vdso: fix unnecessary rebuilds of vgettimeofday.o") > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > --- > > > > arch/powerpc/kernel/Makefile | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile > > index 0e3640e14eb1..5fa68c2ef1f8 100644 > > --- a/arch/powerpc/kernel/Makefile > > +++ b/arch/powerpc/kernel/Makefile > > @@ -196,3 +196,6 @@ clean-files := vmlinux.lds > > # Force dependency (incbin is bad) > > $(obj)/vdso32_wrapper.o : $(obj)/vdso32/vdso32.so.dbg > > $(obj)/vdso64_wrapper.o : $(obj)/vdso64/vdso64.so.dbg > > + > > +# for cleaning > > +subdir- += vdso32 vdso64 > > > > This patch make me think about one thing I would have liked to do, but I > don't know Makefiles well enough to be able to do it. You could probably > help me with it. > > vdso32 and vdso64 contain a lot of redundant sources. I would like to > merge them into a new single directory, let say 'vdso', and use the > files in that directory to build both vdso32.so and vdso64.so. I have a > feeling that x86 is doing it that way, but I've not been able to figure > out how to build two objects using the same C/S files. > > Thanks > Christophe Changing the code as follows might work. $(obj-vdso32): %-32.o: %.S FORCE $(call if_changed_dep,vdso32as)
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index 0e3640e14eb1..5fa68c2ef1f8 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile @@ -196,3 +196,6 @@ clean-files := vmlinux.lds # Force dependency (incbin is bad) $(obj)/vdso32_wrapper.o : $(obj)/vdso32/vdso32.so.dbg $(obj)/vdso64_wrapper.o : $(obj)/vdso64/vdso64.so.dbg + +# for cleaning +subdir- += vdso32 vdso64
Since commit bce74491c300 ("powerpc/vdso: fix unnecessary rebuilds of vgettimeofday.o"), "make ARCH=powerpc clean" does not clean up the arch/powerpc/kernel/{vdso32,vdso64} directories. Use the subdir- trick to let "make clean" descend into them. Fixes: bce74491c300 ("powerpc/vdso: fix unnecessary rebuilds of vgettimeofday.o") Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- arch/powerpc/kernel/Makefile | 3 +++ 1 file changed, 3 insertions(+)