Re: [PATCH V12 01/20] uapi: simplify __ARCH_FLOCK{,64}_PAD a little

From: Florian Fainelli
Date: Thu Jul 14 2022 - 23:13:22 EST




On 4/5/2022 12:12 AM, guoren@xxxxxxxxxx wrote:
From: Christoph Hellwig <hch@xxxxxx>

Don't bother to define the symbols empty, just don't use them.
That makes the intent a little more clear.

Remove the unused HAVE_ARCH_STRUCT_FLOCK64 define and merge the
32-bit mips struct flock into the generic one.

Add a new __ARCH_FLOCK_EXTRA_SYSID macro following the style of
__ARCH_FLOCK_PAD to avoid having a separate definition just for
one architecture.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Guo Ren <guoren@xxxxxxxxxx>
Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx>
Tested-by: Heiko Stuebner <heiko@xxxxxxxxx>

Being late to this, but this breaks the perf build for me using a MIPS toolchain with the following:

CC /home/fainelli/work/buildroot/output/bmips/build/linux-custom/tools/perf/trace/beauty/fcntl.o
In file included from ../../../../host/mipsel-buildroot-linux-gnu/sysroot/usr/include/asm/fcntl.h:77,
from ../include/uapi/linux/fcntl.h:5,
from trace/beauty/fcntl.c:10:
../include/uapi/asm-generic/fcntl.h:188:8: error: redefinition of 'struct flock'
struct flock {
^~~~~
In file included from ../include/uapi/linux/fcntl.h:5,
from trace/beauty/fcntl.c:10:
../../../../host/mipsel-buildroot-linux-gnu/sysroot/usr/include/asm/fcntl.h:63:8: note: originally defined here
struct flock {
^~~~~
make[6]: *** [/home/fainelli/work/buildroot/output/bmips/build/linux-custom/tools/build/Makefile.build:97: /home/fainelli/work/buildroot/output/bmips/build/linux-custom/tools/perf/trace/beauty/fcntl.o] Error 1

the kernel headers are set to 4.1.31 which is arguably old but toolchains using newer kernel headers do not fare much better either unfortunately as I tried a toolchain with kernel headers 4.9.x.

I will start doing more regular MIPS builds of the perf tools since that seems to escape our testing.

Thanks!
--
Florian