RE: [PATCH v2 00/10] crypto: Kconfig - simplify menus and help text

From: Elliott, Robert (Servers)
Date: Wed Aug 17 2022 - 22:13:37 EST



> -----Original Message-----
> From: Nayna <nayna@xxxxxxxxxxxxxxxxxx>
> Sent: Wednesday, August 17, 2022 7:42 PM
> To: Elliott, Robert (Servers) <elliott@xxxxxxx>;
> herbert@xxxxxxxxxxxxxxxxxxx; davem@xxxxxxxxxxxxx; ebiggers@xxxxxxxxxx;
> linux-crypto@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH v2 00/10] crypto: Kconfig - simplify menus and help
> text
>
>
> On 8/17/22 19:20, Robert Elliott wrote:
> > Improve the "make menuconfig" experience under the
> > Cryptographic API page.
> >
> > The first of two patch series. This series extracts all the
> > architecture-specific entries from
> > crypto/Kconfig
> > into
> > arch/*/crypto/Kconfig
> >
> > A subsequent series will work on the entry titles and help text.
> >
> > Tested by running commands like these for arm, arm64, mips, powerpc,
> > sparc, s390, and x86:
> > make ARCH=arm O=build-arm allmodconfig
> > cd build-arm
> > make ARCH=arm menuconfig
> > make ARCH=arm CROSS_COMPILE=arm-linux-gnu- -j 55
> >
> > Notes:
> > 1. powerpc doesn't build for reasons unrelated to this series.
>
> Did it build without this patchset ? Can you please share more details
> on the error or reasons?

I haven't tried without the patchset, but will try that out, and will
also try defconfig rather than allmodconfig.

I'm using Fedora 36 on x86 with kernel 5.19-rc7.

After building init/main.o, the "check-local-export" script is complaining.
(I'll email you the full log file)

powerpc64-linux-gnu-gcc -Wp,-MMD,init/.main.o.d -nostdinc
-I../arch/powerpc/include -I./arch/powerpc/include/generated
-I../include -I./include
-I../arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi
-I../include/uapi -I./include/generated/uapi
-include ../include/linux/compiler-version.h
-include ../include/linux/kconfig.h
-include ../include/linux/compiler_types.h
-D__KERNEL__ -I ../arch/powerpc
-DHAVE_AS_ATHIGH=1
-fmacro-prefix-map=../= -Wall -Wundef
[...lots of options...]
-I ../init -I ./init -ffunction-sections -fdata-sections
-DKBUILD_MODFILE='"init/main"' -DKBUILD_BASENAME='"main"'
-DKBUILD_MODNAME='"main"' -D__KBUILD_MODNAME=kmod_main
-c -o init/main.o ../init/main.c

../scripts/check-local-export init/main.o
if powerpc64-linux-gnu-nm --synthetic init/main.o 2>/dev/null | grep -q __ksymtab; then
powerpc64-linux-gnu-gcc -E -Wall -Wundef
[...lots of options...]
-DKBUILD_MODFILE='"init/main"'
-DKBUILD_BASENAME='"main"'
-DKBUILD_MODNAME='"main"'
-D__KBUILD_MODNAME=kmod_main
../init/main.c |
scripts/genksyms/genksyms -r /dev/null >> init/.main.o.cmd; fi
if [ init/main.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "init/main.o"; fi;
Cannot find symbol for section 92: .text.free_initmem.
init/main.o: failed
make[1]: *** [../scripts/Makefile.build:249: init/main.o] Error 1
make[1]: *** Deleting file 'init/main.o'
make: *** [../Makefile:1843: init] Error 2


Most architectures have that function in init.c.
powerpc and riscv (which I haven't tried) have that in files
with different names:

source/arch/arm/mm/init.c:void free_initmem(void)
source/arch/arm64/mm/init.c:void free_initmem(void)
source/arch/csky/mm/init.c:void free_initmem(void)
source/arch/ia64/mm/init.c:free_initmem (void)
source/arch/loongarch/mm/init.c:void __ref free_initmem(void)
source/arch/m68k/mm/init.c:void free_initmem(void)
source/arch/mips/mm/init.c:void __ref free_initmem(void)
source/arch/parisc/mm/init.c:void free_initmem(void)
source/arch/powerpc/mm/mem.c:void free_initmem(void)
source/arch/riscv/kernel/setup.c:void free_initmem(void)
source/arch/s390/mm/init.c:void free_initmem(void)
source/arch/sparc/mm/init_64.c:void free_initmem(void)
source/arch/um/kernel/mem.c:void free_initmem(void)
source/arch/x86/mm/init.c:void __ref free_initmem(void)
source/include/linux/mm.h:extern void free_initmem(void);
source/init/main.c:void __weak free_initmem(void)

> Thanks & Regards,
>
>    - Nayna