On Thu, Aug 14, 2025 at 3:39 AM Tal Zussman <tz2294@xxxxxxxxxxxx> wrote: > > make clean does not check the kernel config when removing files. As > such, additions to clean-files under CONFIG_ARM or CONFIG_ARM64 are not > evaluated. For example, when building on arm64, this means that > lib/crypto/arm64/sha{256,512}-core.S are left over after make clean. > > Set clean-files unconditionally to ensure that make clean removes these > files. > > Fixes: e96cb9507f2d ("lib/crypto: sha256: Consolidate into single module") > Fixes: 24c91b62ac50 ("lib/crypto: arm/sha512: Migrate optimized SHA-512 code to library") > Fixes: 60e3f1e9b7a5 ("lib/crypto: arm64/sha512: Migrate optimized SHA-512 code to library") > Signed-off-by: Tal Zussman <tz2294@xxxxxxxxxxxx> > --- > An alternative approach is to rename the generated files to *.s and > remove the clean-files lines, as make clean removes *.s files > automatically. However, this would require explicitly defining the > corresponding *.o rules. > --- > lib/crypto/Makefile | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/lib/crypto/Makefile b/lib/crypto/Makefile > index e4151be2ebd4..44f6a1fdc808 100644 > --- a/lib/crypto/Makefile > +++ b/lib/crypto/Makefile > @@ -100,7 +100,6 @@ ifeq ($(CONFIG_ARM),y) > libsha256-y += arm/sha256-ce.o arm/sha256-core.o > $(obj)/arm/sha256-core.S: $(src)/arm/sha256-armv4.pl > $(call cmd,perlasm) > -clean-files += arm/sha256-core.S > AFLAGS_arm/sha256-core.o += $(aflags-thumb2-y) > endif > > @@ -108,7 +107,6 @@ ifeq ($(CONFIG_ARM64),y) > libsha256-y += arm64/sha256-core.o > $(obj)/arm64/sha256-core.S: $(src)/arm64/sha2-armv8.pl > $(call cmd,perlasm_with_args) > -clean-files += arm64/sha256-core.S > libsha256-$(CONFIG_KERNEL_MODE_NEON) += arm64/sha256-ce.o > endif > > @@ -132,7 +130,6 @@ ifeq ($(CONFIG_ARM),y) > libsha512-y += arm/sha512-core.o > $(obj)/arm/sha512-core.S: $(src)/arm/sha512-armv4.pl > $(call cmd,perlasm) > -clean-files += arm/sha512-core.S > AFLAGS_arm/sha512-core.o += $(aflags-thumb2-y) > endif > > @@ -140,7 +137,6 @@ ifeq ($(CONFIG_ARM64),y) > libsha512-y += arm64/sha512-core.o > $(obj)/arm64/sha512-core.S: $(src)/arm64/sha2-armv8.pl > $(call cmd,perlasm_with_args) > -clean-files += arm64/sha512-core.S > libsha512-$(CONFIG_KERNEL_MODE_NEON) += arm64/sha512-ce-core.o > endif > > @@ -167,3 +163,7 @@ obj-$(CONFIG_PPC) += powerpc/ > obj-$(CONFIG_RISCV) += riscv/ > obj-$(CONFIG_S390) += s390/ > obj-$(CONFIG_X86) += x86/ > + > +# clean-files must be defined unconditionally > +clean-files += arm/sha256-core.S arm/sha256-core.S > +clean-files += arm64/sha512-core.S arm64/sha512-core.S Sorry this is broken, needs the following fix on top. I'll fix in v2. diff --git a/lib/crypto/Makefile b/lib/crypto/Makefile index 44f6a1fdc808..539d5d59a50e 100644 --- a/lib/crypto/Makefile +++ b/lib/crypto/Makefile @@ -165,5 +165,5 @@ obj-$(CONFIG_S390) += s390/ obj-$(CONFIG_X86) += x86/ # clean-files must be defined unconditionally -clean-files += arm/sha256-core.S arm/sha256-core.S -clean-files += arm64/sha512-core.S arm64/sha512-core.S +clean-files += arm/sha256-core.S arm/sha512-core.S +clean-files += arm64/sha256-core.S arm64/sha512-core.S