[Linux-kernel-mentees] [PATCH RFC 0/2] use interpreters to invoke scripts
Ujjwal Kumar
ujjwalkumar0501 at gmail.com
Fri Oct 2 21:36:19 UTC 2020
On 02/10/20 4:08 pm, Ujjwal Kumar wrote:
> This patch series aims at removing the dependency on execute
> bit of the scripts in the kbuild system.
>
> If not working with fresh clone of linux-next, clean the srctree:
> make distclean
> make tools/clean
>
> To test the dependency on execute bits, I tried building the
> kernel after removing x-bits for all files in the repository.
> Removing execute bits:
> for i in $(find -executable -type f); do chmod -x $i; done
>
> Any attempts to configure (or build) the kernel fail because of
> 'Permission denied' on scripts with the following error:
> $ make allmodconfig
> sh: ./scripts/gcc-version.sh: Permission denied
> init/Kconfig:34: syntax error
> init/Kconfig:33: invalid statement
> init/Kconfig:34: invalid statement
> sh: ./scripts/ld-version.sh: Permission denied
> init/Kconfig:39: syntax error
> init/Kconfig:38: invalid statement
> sh: ./scripts/clang-version.sh: Permission denied
> init/Kconfig:49: syntax error
> init/Kconfig:48: invalid statement
> make[1]: *** [scripts/kconfig/Makefile:71: allmodconfig] Error 1
> make: *** [Makefile:606: allmodconfig] Error 2
>
> Changes:
> 1. Adds specific interpreters (in Kconfig) to invoke
> scripts.
>
> After this patch I could successfully do a kernel build
> without any errors.
>
> 2. Again adds specific interpreters to other parts of
> kbuild system.
>
> I could successfully perform the following make targets after
> applying the second patch:
> make headerdep
> make kselftest-merge
I could further test the changes as follows-
scripts/Makefile.package:
make rpm-pkg
make perf-tar-src-pkg
arch/ia64/Makefile:
make ARCH=ia64 defconfig
arch/arm64/kernel/vdso/Makefile:
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make prepare
>
> Following changes in the patch 2/2 are not yet tested:
> arch/*
> scripts/*
>
> Ujjwal Kumar (2):
> kconfig: use interpreters to invoke scripts
> kbuild: use interpreters to invoke scripts
>
> Makefile | 4 ++--
> arch/arm64/kernel/vdso/Makefile | 2 +-
> arch/arm64/kernel/vdso32/Makefile | 2 +-
> arch/ia64/Makefile | 4 ++--
> arch/nds32/kernel/vdso/Makefile | 2 +-
> init/Kconfig | 16 ++++++++--------
> scripts/Makefile.build | 2 +-
> scripts/Makefile.package | 4 ++--
> 8 files changed, 18 insertions(+), 18 deletions(-)
>
Ujjwal Kumar
More information about the Linux-kernel-mentees
mailing list