]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: fix EDEADLOCK redefinition error in uapi/asm/errno.h
authorTony Ambardar <tony.ambardar@gmail.com>
Thu, 17 Sep 2020 13:54:37 +0000 (06:54 -0700)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 17 Apr 2021 00:40:51 +0000 (10:40 +1000)
commite9096e69b1cb2e407dccdbab4320b7f45131bf9c
treeb153a7cbe819c69f151f296263e9052bcb71020a
parent148a6e3c7a5bc283aa7ba9f6703c65e2d97ebc2d
powerpc: fix EDEADLOCK redefinition error in uapi/asm/errno.h

A few archs like powerpc have different errno.h values for macros
EDEADLOCK and EDEADLK. In code including both libc and linux versions of
errno.h, this can result in multiple definitions of EDEADLOCK in the
include chain. Definitions to the same value (e.g. seen with mips) do
not raise warnings, but on powerpc there are redefinitions changing the
value, which raise warnings and errors (if using "-Werror").

Guard against these redefinitions to avoid build errors like the following,
first seen cross-compiling libbpf v5.8.9 for powerpc using GCC 8.4.0 with
musl 1.1.24:

  In file included from ../../arch/powerpc/include/uapi/asm/errno.h:5,
                   from ../../include/linux/err.h:8,
                   from libbpf.c:29:
  ../../include/uapi/asm-generic/errno.h:40: error: "EDEADLOCK" redefined [-Werror]
   #define EDEADLOCK EDEADLK

  In file included from toolchain-powerpc_8540_gcc-8.4.0_musl/include/errno.h:10,
                   from libbpf.c:26:
  toolchain-powerpc_8540_gcc-8.4.0_musl/include/bits/errno.h:58: note: this is the location of the previous definition
   #define EDEADLOCK       58

  cc1: all warnings being treated as errors

Cc: Stable <stable@vger.kernel.org>
Reported-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Tony Ambardar <Tony.Ambardar@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200917135437.1238787-1-Tony.Ambardar@gmail.com
arch/powerpc/include/uapi/asm/errno.h