2021-02-22 17:40:35

by Naresh Kamboju

[permalink] [raw]
Subject: gfp.h:20:32: error: redefinition of typedef 'gfp_t' is a C11 feature

arm davinci_all_defconfig config with clang 10, 11 and 12 failing
on Linux next tag 20210222 due to below listed errors / warnings.

- arm (davinci_all_defconfig) with clang-10
- arm (davinci_all_defconfig) with clang-11
- arm (davinci_all_defconfig) with clang-12

make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/1/tmp ARCH=arm
CROSS_COMPILE=arm-linux-gnueabihf- 'HOSTCC=sccache clang' 'CC=sccache
clang' davinci_all_defconfig

make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/1/tmp ARCH=arm
CROSS_COMPILE=arm-linux-gnueabihf- 'HOSTCC=sccache clang' 'CC=sccache
clang'


include/linux/gfp.h:20:32: error: redefinition of typedef 'gfp_t' is a
C11 feature [-Werror,-Wtypedef-redefinition]
typedef unsigned int __bitwise gfp_t; // repeated here for kernel-doc
^
include/linux/types.h:148:32: note: previous definition is here
typedef unsigned int __bitwise gfp_t;
^
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
1 error generated.
make[5]: *** [scripts/Makefile.build:287:
drivers/gpu/drm/tilcdc/tilcdc_plane.o] Error 1

Reported-by: Naresh Kamboju <[email protected]>

Step to reproduce:
---------------------------
# TuxMake is a command line tool and Python library that provides
# portable and repeatable Linux kernel builds across a variety of
# architectures, toolchains, kernel configurations, and make targets.
#
# TuxMake supports the concept of runtimes.
# See https://docs.tuxmake.org/runtimes/, for that to work it requires
# that you install podman or docker on your system.
#
# To install tuxmake on your system globally:
# sudo pip3 install -U tuxmake
#
# See https://docs.tuxmake.org/ for complete documentation.

tuxmake --runtime podman --target-arch arm --toolchain clang-10
--kconfig davinci_all_defconfig

build log,
https://builds.tuxbuild.com/1opbM56yvX4uyeXV8JBwFNz9WEQ/

--
Linaro LKFT
https://lkft.linaro.org


2021-02-22 17:41:29

by Nick Desaulniers

[permalink] [raw]
Subject: Re: gfp.h:20:32: error: redefinition of typedef 'gfp_t' is a C11 feature

On Mon, Feb 22, 2021 at 9:36 AM Naresh Kamboju
<[email protected]> wrote:
>
> arm davinci_all_defconfig config with clang 10, 11 and 12 failing
> on Linux next tag 20210222 due to below listed errors / warnings.
>
> - arm (davinci_all_defconfig) with clang-10
> - arm (davinci_all_defconfig) with clang-11
> - arm (davinci_all_defconfig) with clang-12
>
> make --silent --keep-going --jobs=8
> O=/home/tuxbuild/.cache/tuxmake/builds/1/tmp ARCH=arm
> CROSS_COMPILE=arm-linux-gnueabihf- 'HOSTCC=sccache clang' 'CC=sccache
> clang' davinci_all_defconfig
>
> make --silent --keep-going --jobs=8
> O=/home/tuxbuild/.cache/tuxmake/builds/1/tmp ARCH=arm
> CROSS_COMPILE=arm-linux-gnueabihf- 'HOSTCC=sccache clang' 'CC=sccache
> clang'
>
>
> include/linux/gfp.h:20:32: error: redefinition of typedef 'gfp_t' is a
> C11 feature [-Werror,-Wtypedef-redefinition]
> typedef unsigned int __bitwise gfp_t; // repeated here for kernel-doc
> ^

Thanks for the report, sounds like this has already been fixed:
https://lore.kernel.org/linux-mm/CAKwvOdmbx+rLv+z-POUq+DPedhrWFEFVHhWW9j5vWpzH0J53Kg@mail.gmail.com/T/#m7d7d6f2905b1be082f31628011d51056a7e94abc

> include/linux/types.h:148:32: note: previous definition is here
> typedef unsigned int __bitwise gfp_t;
> ^
> 1 warning generated.
> 1 warning generated.
> 1 warning generated.
> 1 warning generated.
> 1 error generated.
> make[5]: *** [scripts/Makefile.build:287:
> drivers/gpu/drm/tilcdc/tilcdc_plane.o] Error 1
>
> Reported-by: Naresh Kamboju <[email protected]>
>
> Step to reproduce:
> ---------------------------
> # TuxMake is a command line tool and Python library that provides
> # portable and repeatable Linux kernel builds across a variety of
> # architectures, toolchains, kernel configurations, and make targets.
> #
> # TuxMake supports the concept of runtimes.
> # See https://docs.tuxmake.org/runtimes/, for that to work it requires
> # that you install podman or docker on your system.
> #
> # To install tuxmake on your system globally:
> # sudo pip3 install -U tuxmake
> #
> # See https://docs.tuxmake.org/ for complete documentation.
>
> tuxmake --runtime podman --target-arch arm --toolchain clang-10
> --kconfig davinci_all_defconfig
>
> build log,
> https://builds.tuxbuild.com/1opbM56yvX4uyeXV8JBwFNz9WEQ/
>
> --
> Linaro LKFT
> https://lkft.linaro.org



--
Thanks,
~Nick Desaulniers