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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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,
Michal





[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux