Message ID | 1546442319-20461-3-git-send-email-firoz.khan@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | m68k: Unify the system call scripts | expand |
Hi Firoz, Thank you for the patch! Yet something to improve: [auto build test ERROR on m68k/for-next] [also build test ERROR on next-20190102] [cannot apply to v4.20] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Firoz-Khan/m68k-remove-nargs-from-__SYSCALL/20190103-001423 base: https://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git for-next config: m68k-multi_defconfig (attached as .config) compiler: m68k-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=m68k All errors (new ones prefixed by >>): >> make[2]: *** No rule to make target 'scripts/syscalltbl.sh', needed by 'arch/m68k/include/generated/asm/syscall_table.h'. >> make[2]: *** No rule to make target 'scripts/syscallhdr.sh', needed by 'arch/m68k/include/generated/uapi/asm/unistd_32.h'. make[2]: Target 'all' not remade because of errors. make[1]: *** [archheaders] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [sub-make] Error 2 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Hi Firoz, Thanks for your patch! On Wed, Jan 2, 2019 at 4:19 PM Firoz Khan <firoz.khan@linaro.org> wrote: > Subject: m68k: generate uapi header and syscall table header files > > Unified system call table generation script must be run to > generate unistd_32.h and syscall_table.h files. This patch > will have changes which will invokes the script. > > This patch will generate unistd_32.h and syscall_table.h > files by the syscall table generation script invoked by > m68k/Makefile and the generated files against the removed > files must be identical. > > The generated uapi header file will be included in uapi/- > asm/unistd.h and generated system call table header file > will be included by kernel/syscalltable.S file. This doesn't really describe what this patch is doing. This patch switches m68k over to use the common scripts for system call header file generation. > Signed-off-by: Firoz Khan <firoz.khan@linaro.org> > --- > arch/m68k/kernel/syscalls/Makefile | 11 ++++++++-- > arch/m68k/kernel/syscalls/syscallhdr.sh | 36 --------------------------------- > arch/m68k/kernel/syscalls/syscalltbl.sh | 32 ----------------------------- > 3 files changed, 9 insertions(+), 70 deletions(-) > delete mode 100644 arch/m68k/kernel/syscalls/syscallhdr.sh > delete mode 100644 arch/m68k/kernel/syscalls/syscalltbl.sh > > diff --git a/arch/m68k/kernel/syscalls/Makefile b/arch/m68k/kernel/syscalls/Makefile > index 659faef..75c7421 100644 > --- a/arch/m68k/kernel/syscalls/Makefile > +++ b/arch/m68k/kernel/syscalls/Makefile > @@ -6,8 +6,9 @@ _dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') \ > $(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)') > > syscall := $(srctree)/$(src)/syscall.tbl > -syshdr := $(srctree)/$(src)/syscallhdr.sh > -systbl := $(srctree)/$(src)/syscalltbl.sh > +syshdr := $(srctree)/scripts/syscallhdr.sh > +sysnr := $(srctree)/scripts/syscallnr.sh What's the purpose of adding sysnr? > +systbl := $(srctree)/scripts/syscalltbl.sh > > quiet_cmd_syshdr = SYSHDR $@ > cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \ > @@ -15,6 +16,12 @@ quiet_cmd_syshdr = SYSHDR $@ > '$(syshdr_pfx_$(basetarget))' \ > '$(syshdr_offset_$(basetarget))' > > +quiet_cmd_sysnr = SYSNR $@ > + cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \ > + '$(sysnr_abis_$(basetarget))' \ > + '$(sysnr_pfx_$(basetarget))' \ > + '$(sysnr_offset_$(basetarget))' > + What's the purpose of adding this build rule, which is unused? The patch works fine though. I assume the common build rules will be moved to a common place later? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Hi Geert, Thanks for your feedback! On Thu, 3 Jan 2019 at 17:13, Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > The generated uapi header file will be included in uapi/- > > asm/unistd.h and generated system call table header file > > will be included by kernel/syscalltable.S file. > > This doesn't really describe what this patch is doing. > This patch switches m68k over to use the common scripts for > system call header file generation. Sure. I'll compose new commit message. > > syscall := $(srctree)/$(src)/syscall.tbl > > -syshdr := $(srctree)/$(src)/syscallhdr.sh > > -systbl := $(srctree)/$(src)/syscalltbl.sh > > +syshdr := $(srctree)/scripts/syscallhdr.sh > > +sysnr := $(srctree)/scripts/syscallnr.sh > > What's the purpose of adding sysnr? Yes. This is not really required here. I planned to change the implementation in some other way, but didn't looks perfect and this was left here unnoticed. > > > > +quiet_cmd_sysnr = SYSNR $@ > > + cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \ > > + '$(sysnr_abis_$(basetarget))' \ > > + '$(sysnr_pfx_$(basetarget))' \ > > + '$(sysnr_offset_$(basetarget))' > > + > > What's the purpose of adding this build rule, which is unused? Sure. Firoz
diff --git a/arch/m68k/kernel/syscalls/Makefile b/arch/m68k/kernel/syscalls/Makefile index 659faef..75c7421 100644 --- a/arch/m68k/kernel/syscalls/Makefile +++ b/arch/m68k/kernel/syscalls/Makefile @@ -6,8 +6,9 @@ _dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') \ $(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)') syscall := $(srctree)/$(src)/syscall.tbl -syshdr := $(srctree)/$(src)/syscallhdr.sh -systbl := $(srctree)/$(src)/syscalltbl.sh +syshdr := $(srctree)/scripts/syscallhdr.sh +sysnr := $(srctree)/scripts/syscallnr.sh +systbl := $(srctree)/scripts/syscalltbl.sh quiet_cmd_syshdr = SYSHDR $@ cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \ @@ -15,6 +16,12 @@ quiet_cmd_syshdr = SYSHDR $@ '$(syshdr_pfx_$(basetarget))' \ '$(syshdr_offset_$(basetarget))' +quiet_cmd_sysnr = SYSNR $@ + cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \ + '$(sysnr_abis_$(basetarget))' \ + '$(sysnr_pfx_$(basetarget))' \ + '$(sysnr_offset_$(basetarget))' + quiet_cmd_systbl = SYSTBL $@ cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \ '$(systbl_abis_$(basetarget))' \ diff --git a/arch/m68k/kernel/syscalls/syscallhdr.sh b/arch/m68k/kernel/syscalls/syscallhdr.sh deleted file mode 100644 index 6f357d6..0000000 --- a/arch/m68k/kernel/syscalls/syscallhdr.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 - -in="$1" -out="$2" -my_abis=`echo "($3)" | tr ',' '|'` -prefix="$4" -offset="$5" - -fileguard=_UAPI_ASM_M68K_`basename "$out" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ - -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'` -grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | ( - printf "#ifndef %s\n" "${fileguard}" - printf "#define %s\n" "${fileguard}" - printf "\n" - - nxt=0 - while read nr abi name entry ; do - if [ -z "$offset" ]; then - printf "#define __NR_%s%s\t%s\n" \ - "${prefix}" "${name}" "${nr}" - else - printf "#define __NR_%s%s\t(%s + %s)\n" \ - "${prefix}" "${name}" "${offset}" "${nr}" - fi - nxt=$((nr+1)) - done - - printf "\n" - printf "#ifdef __KERNEL__\n" - printf "#define __NR_syscalls\t%s\n" "${nxt}" - printf "#endif\n" - printf "\n" - printf "#endif /* %s */\n" "${fileguard}" -) > "$out" diff --git a/arch/m68k/kernel/syscalls/syscalltbl.sh b/arch/m68k/kernel/syscalls/syscalltbl.sh deleted file mode 100644 index 904b8e6..0000000 --- a/arch/m68k/kernel/syscalls/syscalltbl.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 - -in="$1" -out="$2" -my_abis=`echo "($3)" | tr ',' '|'` -my_abi="$4" -offset="$5" - -emit() { - t_nxt="$1" - t_nr="$2" - t_entry="$3" - - while [ $t_nxt -lt $t_nr ]; do - printf "__SYSCALL(%s,sys_ni_syscall)\n" "${t_nxt}" - t_nxt=$((t_nxt+1)) - done - printf "__SYSCALL(%s,%s)\n" "${t_nxt}" "${t_entry}" -} - -grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | ( - nxt=0 - if [ -z "$offset" ]; then - offset=0 - fi - - while read nr abi name entry ; do - emit $((nxt+offset)) $((nr+offset)) $entry - nxt=$((nr+1)) - done -) > "$out"
Unified system call table generation script must be run to generate unistd_32.h and syscall_table.h files. This patch will have changes which will invokes the script. This patch will generate unistd_32.h and syscall_table.h files by the syscall table generation script invoked by m68k/Makefile and the generated files against the removed files must be identical. The generated uapi header file will be included in uapi/- asm/unistd.h and generated system call table header file will be included by kernel/syscalltable.S file. Signed-off-by: Firoz Khan <firoz.khan@linaro.org> --- arch/m68k/kernel/syscalls/Makefile | 11 ++++++++-- arch/m68k/kernel/syscalls/syscallhdr.sh | 36 --------------------------------- arch/m68k/kernel/syscalls/syscalltbl.sh | 32 ----------------------------- 3 files changed, 9 insertions(+), 70 deletions(-) delete mode 100644 arch/m68k/kernel/syscalls/syscallhdr.sh delete mode 100644 arch/m68k/kernel/syscalls/syscalltbl.sh -- 1.9.1