On Sun, Oct 4, 2020 at 12:19 AM Ujjwal Kumar <ujjwalkumar0501@xxxxxxxxx> 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 PATCH 2/2: > make headerdep > make kselftest-merge > make rpm-pkg > make perf-tar-src-pkg > make ARCH=ia64 defconfig > ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make prepare > > Following changes in PATCH 2/2 are not yet tested: > arch/arm64/kernel/vdso32/Makefile > arch/nds32/kernel/vdso/Makefile > scripts/Makefile.build > > 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(-) > > -- > 2.26.2 > Andrew Morton suggested and applied the doc patch (commit e9aae7af4601688386 in linux-next), but did not pick up this series. It is difficult to predict which patch he would pick up, and which he would not. I can apply this series together with Lukas' base patch. I pointed out possible mistakes in 2/2. I can locally fix them up if you agree. BTW, Kees Cook suggested dropping the x bit from all scripts, but I did not agree with that part. In the doc change, Lukas mentioned "further clean-up patches", but I hope it does not mean dropping the x bits. -- Best Regards Masahiro Yamada