[Letux-kernel] v5.9-rc1 compile issue

David Shah dave at ds0.me
Mon Aug 17 23:24:11 CEST 2020


I'm pretty sure these are supposed to come from include/linux/types.h (via the
files this includes) in this context.

Running gcc -H on the problematic header (on upstream 5.9) gets the following
include graph:

. ./include/linux/bits.h
.. ./include/linux/const.h
... ./include/vdso/const.h
.... ./include/uapi/linux/const.h
.. ./include/vdso/bits.h
.. ./arch/arm/include/generated/uapi/asm/bitsperlong.h
... ./include/asm-generic/bitsperlong.h
.... ./include/uapi/asm-generic/bitsperlong.h
.. ./include/linux/build_bug.h
... ./include/linux/compiler.h
.... ./include/linux/compiler_types.h
.... ./arch/arm/include/generated/asm/rwonce.h
..... ./include/asm-generic/rwonce.h
...... ./include/linux/kasan-checks.h
....... ./include/linux/types.h
........ ./include/uapi/linux/types.h
......... ./arch/arm/include/uapi/asm/types.h
.......... ./include/asm-generic/int-ll64.h
........... ./include/uapi/asm-generic/int-ll64.h
............ ./arch/arm/include/generated/uapi/asm/bitsperlong.h
......... ./include/uapi/linux/posix_types.h
.......... ./include/linux/stddef.h
........... ./include/uapi/linux/stddef.h
.......... ./arch/arm/include/uapi/asm/posix_types.h
........... ./include/uapi/asm-generic/posix_types.h
............ ./arch/arm/include/generated/uapi/asm/bitsperlong.h
...... ./include/linux/kcsan-checks.h
. ./include/uapi/linux/param.h
.. ./arch/arm/include/generated/uapi/asm/param.h
... ./include/asm-generic/param.h
.... ./include/uapi/asm-generic/param.h
. ./include/linux/spinlock_types.h
.. ./arch/arm/include/asm/spinlock_types.h
.. ./include/linux/lockdep_types.h
.. ./include/linux/rwlock_types.h

The path here to ./include/linux/types.h does indeed look a bit convoluted (but
the build works, as expected). Hopefully this helps find the discrepancy with
Letux.

On Mon, 2020-08-17 at 22:35 +0200, H. Nikolaus Schaller wrote:
>   CC      fs/exec.o - due to target missing
>   CC      fs/pipe.o - due to target missing
>   CC      fs/namei.o - due to target missing
>   CC      fs/fcntl.o - due to target missing
>   CC      fs/ioctl.o - due to target missing
>   CC      fs/readdir.o - due to target missing
>   CC      fs/select.o - due to target missing
>   CC      fs/dcache.o - due to target missing
>   CC      fs/dcache.o - due to target missing
> In file included from ./include/linux/spinlock_types.h:13:0,
>                  from ./include/linux/ratelimit_types.h:7,
>                  from ./include/linux/ratelimit.h:5,
>                  from fs/dcache.c:18:
> ./arch/arm/include/asm/spinlock_types.h:13:3: error: unknown type name 'u32'
>    u32 slock;
>    ^
> ./arch/arm/include/asm/spinlock_types.h:19:4: error: unknown type name 'u16'
>     u16 owner;
>     ^
> ./arch/arm/include/asm/spinlock_types.h:20:4: error: unknown type name 'u16'
>     u16 next;
>     ^
> ./arch/arm/include/asm/spinlock_types.h:29:2: error: unknown type name 'u32'
>   u32 lock;
>   ^
> make[3]: *** [fs/dcache.o] Error 1
> make[2]: *** [fs] Error 2
> make[1]: *** [__build_one_by_one] Error 2
> make: *** [__sub-make] Error 2
> 
> But:
> 
> iMac:master hns$ git diff v5.9-rc1 fs/dcache.c
> ./include/linux/spinlock_types.h ./include/linux/ratelimit_types.h
> ./include/linux/ratelimit.h ./arch/arm/include/asm/spinlock_types.h
> iMac:master hns$
> 
> So none of the reported files has been changed by us...
> 
> And git diff v5.8 v5.9-rc1 fs/dcache.c ./include/linux/spinlock_types.h
> ./include/linux/ratelimit_types.h ./include/linux/ratelimit.h
> ./arch/arm/include/asm/spinlock_types.h
> only shows code moved a little around.
> 
> It fails on ARM only. Neither MIPS nor ARM64.
> 
> Any ideas how to find the (now missing) #include?
> From which header file should u16 and u32 come from?
> 
> BR and thanks,
> Nikolaus
> 
> _______________________________________________
> Kernel mailing list
> Kernel at pyra-handheld.com
> http://pyra-handheld.com/cgi-bin/mailman/listinfo/kernel



More information about the Letux-kernel mailing list