Re: [PATCH v2 3/3] microblaze: uapi header and system call table file generation

From: Firoz Khan
Date: Thu Oct 04 2018 - 06:35:45 EST


Hi Michal,

On Wed, 3 Oct 2018 at 16:56, Michal Simek <michal.simek@xxxxxxxxxx> wrote:
>
> On 3.10.2018 07:08, Firoz Khan wrote:
> > Hi Michal,
> >
> > On Tue, 2 Oct 2018 at 19:37, Michal Simek <michal.simek@xxxxxxxxxx> wrote:
> >>
> >> On 1.10.2018 14:43, Firoz Khan wrote:
> >>> 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
> >>> arch/microblaze/Makefile and the generated files against the
> >>> removed files will be identical.
> >>>
> >>> The generated uapi header file will be included in
> >>> uapi/asm/unistd.h and generated system call table support
> >>> file will be included by kernel/syscall_table.S file.
> >>>
> >>> Signed-off-by: Firoz Khan <firoz.khan@xxxxxxxxxx>
> >>> ---
> >>> arch/microblaze/Makefile | 3 +
> >>> arch/microblaze/include/asm/Kbuild | 1 +
> >>> arch/microblaze/include/uapi/asm/Kbuild | 1 +
> >>> arch/microblaze/include/uapi/asm/unistd.h | 411 +-----------------------------
> >>> arch/microblaze/kernel/syscall_table.S | 406 +----------------------------
> >>> 5 files changed, 10 insertions(+), 812 deletions(-)
> >>>
> >>> diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile
> >>> index 4f3ab57..cda5e03 100644
> >>> --- a/arch/microblaze/Makefile
> >>> +++ b/arch/microblaze/Makefile
> >>> @@ -81,6 +81,9 @@ all: linux.bin
> >>> archclean:
> >>> $(Q)$(MAKE) $(clean)=$(boot)
> >>>
> >>> +archheaders:
> >>> + $(Q)$(MAKE) $(build)=arch/microblaze/kernel/syscalls all
> >>> +
> >>> linux.bin linux.bin.gz linux.bin.ub: vmlinux
> >>> $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
> >>>
> >>> diff --git a/arch/microblaze/include/asm/Kbuild b/arch/microblaze/include/asm/Kbuild
> >>> index 569ba9e..d64f5e7 100644
> >>> --- a/arch/microblaze/include/asm/Kbuild
> >>> +++ b/arch/microblaze/include/asm/Kbuild
> >>> @@ -31,3 +31,4 @@ generic-y += trace_clock.h
> >>> generic-y += vga.h
> >>> generic-y += word-at-a-time.h
> >>> generic-y += xor.h
> >>> +generic-y += syscall_table.h
> >>> \ No newline at end of file
> >>
> >> Still the problem with "No newline at end of file"
> >>
> >>> diff --git a/arch/microblaze/include/uapi/asm/Kbuild b/arch/microblaze/include/uapi/asm/Kbuild
> >>> index 2c6a6bf..3a40659 100644
> >>> --- a/arch/microblaze/include/uapi/asm/Kbuild
> >>> +++ b/arch/microblaze/include/uapi/asm/Kbuild
> >>> @@ -28,3 +28,4 @@ generic-y += termbits.h
> >>> generic-y += termios.h
> >>> generic-y += types.h
> >>> generic-y += ucontext.h
> >>> +generic-y += unistd_32.h
> >>> \ No newline at end of file
> >>
> >> and here too.
> >
> > Thanks for your comment. checkpatch script didn't warn this one:(
> > Hopefully, I can fix this one in the next version.
> >
> > I would appreciate if you can perform the boot test on the actual
> > platform and share the result with me.
>
> I see one issue there.
> Run
> make mrproper
> make ARCH=microblaze headers_install INSTALL_HDR_PATH=/tmp/1/
>
> And then
>
> make mrproper
> make archheaders V=1
> make ARCH=microblaze headers_install INSTALL_HDR_PATH=/tmp/2/
>
> And compare output.
> What I see is that in the first part asm/unistd_32.h pointing to
> asm-generic/unistd_32.h
>
> But when archheaders is run before there is expected content.
>
> That means there is incorrect/missing dependency in Makefiles.
>
>
> Time to time I am able to see compilation warnings
> but I didn't find exact steps to replicate this but it also looks like
> on missing dependency somewhere.
>
> [linux](next)$ make mmu_defconfig
> #
> # configuration written to .config
> #
> [linux](next)$ make -j8 simpleImage.system
> WRAP arch/microblaze/include/generated/asm/barrier.h
> WRAP arch/microblaze/include/generated/asm/bitops.h
> WRAP arch/microblaze/include/generated/asm/bug.h
> WRAP arch/microblaze/include/generated/asm/bugs.h
> WRAP arch/microblaze/include/generated/asm/device.h
> WRAP arch/microblaze/include/generated/asm/compat.h
> WRAP arch/microblaze/include/generated/asm/div64.h
> WRAP arch/microblaze/include/generated/asm/dma-mapping.h
> WRAP arch/microblaze/include/generated/asm/emergency-restart.h
> WRAP arch/microblaze/include/generated/asm/exec.h
> WRAP arch/microblaze/include/generated/asm/extable.h
> WRAP arch/microblaze/include/generated/asm/fb.h
> WRAP arch/microblaze/include/generated/asm/hardirq.h
> WRAP arch/microblaze/include/generated/asm/irq_regs.h
> WRAP arch/microblaze/include/generated/asm/kdebug.h
> WRAP arch/microblaze/include/generated/asm/kmap_types.h
> WRAP arch/microblaze/include/generated/asm/irq_work.h
> WRAP arch/microblaze/include/generated/asm/kprobes.h
> WRAP arch/microblaze/include/generated/asm/linkage.h
> WRAP arch/microblaze/include/generated/asm/local.h
> WRAP arch/microblaze/include/generated/asm/local64.h
> WRAP arch/microblaze/include/generated/asm/mcs_spinlock.h
> WRAP arch/microblaze/include/generated/asm/mm-arch-hooks.h
> WRAP arch/microblaze/include/generated/asm/parport.h
> WRAP arch/microblaze/include/generated/asm/percpu.h
> WRAP arch/microblaze/include/generated/asm/preempt.h
> WRAP arch/microblaze/include/generated/asm/topology.h
> WRAP arch/microblaze/include/generated/asm/syscalls.h
> WRAP arch/microblaze/include/generated/asm/trace_clock.h
> WRAP arch/microblaze/include/generated/asm/vga.h
> WRAP arch/microblaze/include/generated/asm/serial.h
> WRAP arch/microblaze/include/generated/asm/word-at-a-time.h
> WRAP arch/microblaze/include/generated/asm/xor.h
> HOSTCC scripts/bin2c
> HOSTCC scripts/kallsyms
> HOSTCC scripts/dtc/dtc.o
> HOSTCC scripts/mod/mk_elfconfig
> HOSTCC scripts/sortextable
> CC scripts/mod/empty.o
> HOSTCC scripts/dtc/flattree.o
> UPD include/config/kernel.release
> HOSTCC scripts/dtc/fstree.o
> HOSTCC scripts/dtc/data.o
> HOSTCC scripts/dtc/livetree.o
> CC scripts/mod/devicetable-offsets.s
> HOSTCC scripts/dtc/treesource.o
> HOSTCC scripts/dtc/srcpos.o
> MKELF scripts/mod/elfconfig.h
> UPD scripts/mod/devicetable-offsets.h
> HOSTCC scripts/dtc/checks.o
> HOSTCC scripts/dtc/util.o
> HOSTCC scripts/mod/sumversion.o
> LEX scripts/dtc/dtc-lexer.lex.c
> YACC scripts/dtc/dtc-parser.tab.h
> YACC scripts/dtc/dtc-parser.tab.c
> UPD include/generated/utsrelease.h
> HOSTCC scripts/dtc/dtc-lexer.lex.o
> CC kernel/bounds.s
> UPD include/generated/timeconst.h
> HOSTCC scripts/dtc/dtc-parser.tab.o
> HOSTCC scripts/mod/file2alias.o
> HOSTCC scripts/mod/modpost.o
> UPD include/generated/bounds.h
> CC arch/microblaze/kernel/asm-offsets.s
> In file included from ./arch/microblaze/include/uapi/asm/unistd.h:14:0,
> from ./arch/microblaze/include/asm/unistd.h:12,
> from ./include/uapi/linux/unistd.h:8,
> from ./arch/microblaze/include/asm/seccomp.h:5,
> from ./include/linux/seccomp.h:14,
> from ./include/linux/sched.h:21,
> from arch/microblaze/kernel/asm-offsets.c:13:
> ./arch/microblaze/include/generated/uapi/asm/unistd_32.h:1:35: fatal
> error: asm-generic/unistd_32.h: No such file or directory
> #include <asm-generic/unistd_32.h>
> ^
> compilation terminated.
> make[1]: *** [arch/microblaze/kernel/asm-offsets.s] Error 1
> make: *** [prepare0] Error 2
> make: *** Waiting for unfinished jobs....
> HOSTLD scripts/dtc/dtc
> HOSTLD scripts/mod/modpost
>
>
>
> When build is fine system is booting fine (v4.19-rc6 + your patches).

Thanks for your support. I'll work on the same which shared above.
I'll update you asap with the fix.

- Firoz

>
> Thanks,
> Michal
>
>