While building i386 configs on stable-rc 5.10, stable-rc 5.11 branch
and mainline
with clang-12 these following warnings and errors were noticed.
make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/1/tmp ARCH=i386
CROSS_COMPILE=i686-linux-gnu- 'HOSTCC=sccache clang' 'CC=sccache
clang'
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2586:9: warning: shift
count >= width of type [-Wshift-count-overflow]
return hweight64(VDBOX_MASK(&i915->gt));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/const_hweight.h:29:49: note: expanded from
macro 'hweight64'
#define hweight64(w) (__builtin_constant_p(w) ? __const_hweight64(w) :
__arch_hweight64(w))
^~~~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/const_hweight.h:21:76: note: expanded from
macro '__const_hweight64'
#define __const_hweight64(w) (__const_hweight32(w) +
__const_hweight32((w) >> 32))
^ ~~
include/asm-generic/bitops/const_hweight.h:20:49: note: expanded from
macro '__const_hweight32'
#define __const_hweight32(w) (__const_hweight16(w) +
__const_hweight16((w) >> 16))
^
include/asm-generic/bitops/const_hweight.h:19:48: note: expanded from
macro '__const_hweight16'
#define __const_hweight16(w) (__const_hweight8(w) +
__const_hweight8((w) >> 8 ))
^
include/asm-generic/bitops/const_hweight.h:10:9: note: expanded from
macro '__const_hweight8'
((!!((w) & (1ULL << 0))) + \
^
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2586:9: warning: shift
count >= width of type [-Wshift-count-overflow]
return hweight64(VDBOX_MASK(&i915->gt));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<trim>
32 warnings generated.
Unsupported relocation type: R_386_PLT32 (4)
make[3]: *** [arch/x86/boot/compressed/Makefile:116:
arch/x86/boot/compressed/vmlinux.relocs] Error 1
make[3]: *** Deleting file 'arch/x86/boot/compressed/vmlinux.relocs'
make[3]: Target 'arch/x86/boot/compressed/vmlinux' not remade because of errors.
Reported-by: Naresh Kamboju <[email protected]>
Steps 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 i386 --toolchain clang-12
--kconfig defconfig --kconfig-add
https://builds.tuxbuild.com/1opxSKxZuRowPsiOsSJ0IoUOXOt/config
--
Linaro LKFT
https://lkft.linaro.org
On Mon, Feb 22, 2021 at 5:08 PM Naresh Kamboju
<[email protected]> wrote:
>
> While building i386 configs on stable-rc 5.10, stable-rc 5.11 branch
> and mainline
> with clang-12 these following warnings and errors were noticed.
>
Hi Naresh,
Please see commit bb73d07148c405c293e576b40af37737faf23a6a
("x86/build: Treat R_386_PLT32 relocation as R_386_PC32").
Recently accepted into Linus Git tree.
[1] says:
Further info for the more interested:
https://github.com/ClangBuiltLinux/linux/issues/1210
https://sourceware.org/bugzilla/show_bug.cgi?id=27169
https://github.com/llvm/llvm-project/commit/a084c0388e2a59b9556f2de0083333232da3f1d6
Hope that helps.
- Sedat -
[1] https://git.kernel.org/linus/bb73d07148c405c293e576b40af37737faf23a6a
> make --silent --keep-going --jobs=8
> O=/home/tuxbuild/.cache/tuxmake/builds/1/tmp ARCH=i386
> CROSS_COMPILE=i686-linux-gnu- 'HOSTCC=sccache clang' 'CC=sccache
> clang'
>
> drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2586:9: warning: shift
> count >= width of type [-Wshift-count-overflow]
>
> return hweight64(VDBOX_MASK(&i915->gt));
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/asm-generic/bitops/const_hweight.h:29:49: note: expanded from
> macro 'hweight64'
> #define hweight64(w) (__builtin_constant_p(w) ? __const_hweight64(w) :
> __arch_hweight64(w))
> ^~~~~~~~~~~~~~~~~~~~
> include/asm-generic/bitops/const_hweight.h:21:76: note: expanded from
> macro '__const_hweight64'
> #define __const_hweight64(w) (__const_hweight32(w) +
> __const_hweight32((w) >> 32))
> ^ ~~
> include/asm-generic/bitops/const_hweight.h:20:49: note: expanded from
> macro '__const_hweight32'
> #define __const_hweight32(w) (__const_hweight16(w) +
> __const_hweight16((w) >> 16))
> ^
> include/asm-generic/bitops/const_hweight.h:19:48: note: expanded from
> macro '__const_hweight16'
> #define __const_hweight16(w) (__const_hweight8(w) +
> __const_hweight8((w) >> 8 ))
> ^
> include/asm-generic/bitops/const_hweight.h:10:9: note: expanded from
> macro '__const_hweight8'
> ((!!((w) & (1ULL << 0))) + \
> ^
> drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2586:9: warning: shift
> count >= width of type [-Wshift-count-overflow]
> return hweight64(VDBOX_MASK(&i915->gt));
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> <trim>
>
> 32 warnings generated.
> Unsupported relocation type: R_386_PLT32 (4)
> make[3]: *** [arch/x86/boot/compressed/Makefile:116:
> arch/x86/boot/compressed/vmlinux.relocs] Error 1
> make[3]: *** Deleting file 'arch/x86/boot/compressed/vmlinux.relocs'
> make[3]: Target 'arch/x86/boot/compressed/vmlinux' not remade because of errors.
>
> Reported-by: Naresh Kamboju <[email protected]>
>
> Steps 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 i386 --toolchain clang-12
> --kconfig defconfig --kconfig-add
> https://builds.tuxbuild.com/1opxSKxZuRowPsiOsSJ0IoUOXOt/config
>
> --
> Linaro LKFT
> https://lkft.linaro.org
>
> --
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/CA%2BG9fYtNOZ-G_RTq_Uedy-7wkFog2q%2BOWNbWd--eL%2Bi2-OQ7NA%40mail.gmail.com.
On Mon, 22 Feb 2021 at 21:44, Sedat Dilek <[email protected]> wrote:
>
> On Mon, Feb 22, 2021 at 5:08 PM Naresh Kamboju
> <[email protected]> wrote:
> >
> > While building i386 configs on stable-rc 5.10, stable-rc 5.11 branch
> > and mainline
> > with clang-12 these following warnings and errors were noticed.
> >
>
> Hi Naresh,
>
> Please see commit bb73d07148c405c293e576b40af37737faf23a6a
> ("x86/build: Treat R_386_PLT32 relocation as R_386_PC32").
> Recently accepted into Linus Git tree.
Can this be backported / cherry-picked into stable-rc 5.10 and stable-rc 5.11 ?
>
> [1] says:
>
> Further info for the more interested:
>
> https://github.com/ClangBuiltLinux/linux/issues/1210
> https://sourceware.org/bugzilla/show_bug.cgi?id=27169
> https://github.com/llvm/llvm-project/commit/a084c0388e2a59b9556f2de0083333232da3f1d6
>
> Hope that helps.
>
> - Sedat -
>
> [1] https://git.kernel.org/linus/bb73d07148c405c293e576b40af37737faf23a6a
>
> > make --silent --keep-going --jobs=8
> > O=/home/tuxbuild/.cache/tuxmake/builds/1/tmp ARCH=i386
> > CROSS_COMPILE=i686-linux-gnu- 'HOSTCC=sccache clang' 'CC=sccache
> > clang'
> >
> > drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2586:9: warning: shift
> > count >= width of type [-Wshift-count-overflow]
> >
> > return hweight64(VDBOX_MASK(&i915->gt));
> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > include/asm-generic/bitops/const_hweight.h:29:49: note: expanded from
> > macro 'hweight64'
> > #define hweight64(w) (__builtin_constant_p(w) ? __const_hweight64(w) :
> > __arch_hweight64(w))
> > ^~~~~~~~~~~~~~~~~~~~
> > include/asm-generic/bitops/const_hweight.h:21:76: note: expanded from
> > macro '__const_hweight64'
> > #define __const_hweight64(w) (__const_hweight32(w) +
> > __const_hweight32((w) >> 32))
> > ^ ~~
> > include/asm-generic/bitops/const_hweight.h:20:49: note: expanded from
> > macro '__const_hweight32'
> > #define __const_hweight32(w) (__const_hweight16(w) +
> > __const_hweight16((w) >> 16))
> > ^
> > include/asm-generic/bitops/const_hweight.h:19:48: note: expanded from
> > macro '__const_hweight16'
> > #define __const_hweight16(w) (__const_hweight8(w) +
> > __const_hweight8((w) >> 8 ))
> > ^
> > include/asm-generic/bitops/const_hweight.h:10:9: note: expanded from
> > macro '__const_hweight8'
> > ((!!((w) & (1ULL << 0))) + \
> > ^
> > drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2586:9: warning: shift
> > count >= width of type [-Wshift-count-overflow]
> > return hweight64(VDBOX_MASK(&i915->gt));
> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > <trim>
> >
> > 32 warnings generated.
> > Unsupported relocation type: R_386_PLT32 (4)
> > make[3]: *** [arch/x86/boot/compressed/Makefile:116:
> > arch/x86/boot/compressed/vmlinux.relocs] Error 1
> > make[3]: *** Deleting file 'arch/x86/boot/compressed/vmlinux.relocs'
> > make[3]: Target 'arch/x86/boot/compressed/vmlinux' not remade because of errors.
> >
> > Reported-by: Naresh Kamboju <[email protected]>
> >
> > Steps 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 i386 --toolchain clang-12
> > --kconfig defconfig --kconfig-add
> > https://builds.tuxbuild.com/1opxSKxZuRowPsiOsSJ0IoUOXOt/config
> >
> > --
> > Linaro LKFT
> > https://lkft.linaro.org
- Naresh
On Mon, Feb 22, 2021 at 5:30 PM Naresh Kamboju
<[email protected]> wrote:
>
> On Mon, 22 Feb 2021 at 21:44, Sedat Dilek <[email protected]> wrote:
> >
> > On Mon, Feb 22, 2021 at 5:08 PM Naresh Kamboju
> > <[email protected]> wrote:
> > >
> > > While building i386 configs on stable-rc 5.10, stable-rc 5.11 branch
> > > and mainline
> > > with clang-12 these following warnings and errors were noticed.
> > >
> >
> > Hi Naresh,
> >
> > Please see commit bb73d07148c405c293e576b40af37737faf23a6a
> > ("x86/build: Treat R_386_PLT32 relocation as R_386_PC32").
> > Recently accepted into Linus Git tree.
>
> Can this be backported / cherry-picked into stable-rc 5.10 and stable-rc 5.11 ?
>
I have this one in my custom patchset (even though I only build x86-64).
Makes sense to have it in Linux v5.10.y LTS and Linux v5.11.y and
maybe other linux-stable releases.
The usual way to get a fix into linux-stable is to contact Greg and
Sasha - the Linux-stable maintainers and ask for inclusion.
See "STABLE BRANCH" in MAINTAINERS.
But we have also LLVM/Clang maintainers (see [2]).
Cannot say if you address LLVM/Clang maintainers first... and they
help or what is the recommended/ideal way.
- Sedat -
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/MAINTAINERS/?h=v5.11#n16828
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/MAINTAINERS/?h=v5.11#n4306
> >
> > [1] says:
> >
> > Further info for the more interested:
> >
> > https://github.com/ClangBuiltLinux/linux/issues/1210
> > https://sourceware.org/bugzilla/show_bug.cgi?id=27169
> > https://github.com/llvm/llvm-project/commit/a084c0388e2a59b9556f2de0083333232da3f1d6
> >
> > Hope that helps.
> >
> > - Sedat -
> >
> > [1] https://git.kernel.org/linus/bb73d07148c405c293e576b40af37737faf23a6a
> >
> > > make --silent --keep-going --jobs=8
> > > O=/home/tuxbuild/.cache/tuxmake/builds/1/tmp ARCH=i386
> > > CROSS_COMPILE=i686-linux-gnu- 'HOSTCC=sccache clang' 'CC=sccache
> > > clang'
> > >
> > > drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2586:9: warning: shift
> > > count >= width of type [-Wshift-count-overflow]
> > >
> > > return hweight64(VDBOX_MASK(&i915->gt));
> > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > include/asm-generic/bitops/const_hweight.h:29:49: note: expanded from
> > > macro 'hweight64'
> > > #define hweight64(w) (__builtin_constant_p(w) ? __const_hweight64(w) :
> > > __arch_hweight64(w))
> > > ^~~~~~~~~~~~~~~~~~~~
> > > include/asm-generic/bitops/const_hweight.h:21:76: note: expanded from
> > > macro '__const_hweight64'
> > > #define __const_hweight64(w) (__const_hweight32(w) +
> > > __const_hweight32((w) >> 32))
> > > ^ ~~
> > > include/asm-generic/bitops/const_hweight.h:20:49: note: expanded from
> > > macro '__const_hweight32'
> > > #define __const_hweight32(w) (__const_hweight16(w) +
> > > __const_hweight16((w) >> 16))
> > > ^
> > > include/asm-generic/bitops/const_hweight.h:19:48: note: expanded from
> > > macro '__const_hweight16'
> > > #define __const_hweight16(w) (__const_hweight8(w) +
> > > __const_hweight8((w) >> 8 ))
> > > ^
> > > include/asm-generic/bitops/const_hweight.h:10:9: note: expanded from
> > > macro '__const_hweight8'
> > > ((!!((w) & (1ULL << 0))) + \
> > > ^
> > > drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2586:9: warning: shift
> > > count >= width of type [-Wshift-count-overflow]
> > > return hweight64(VDBOX_MASK(&i915->gt));
> > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > <trim>
> > >
> > > 32 warnings generated.
> > > Unsupported relocation type: R_386_PLT32 (4)
> > > make[3]: *** [arch/x86/boot/compressed/Makefile:116:
> > > arch/x86/boot/compressed/vmlinux.relocs] Error 1
> > > make[3]: *** Deleting file 'arch/x86/boot/compressed/vmlinux.relocs'
> > > make[3]: Target 'arch/x86/boot/compressed/vmlinux' not remade because of errors.
> > >
> > > Reported-by: Naresh Kamboju <[email protected]>
> > >
> > > Steps 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 i386 --toolchain clang-12
> > > --kconfig defconfig --kconfig-add
> > > https://builds.tuxbuild.com/1opxSKxZuRowPsiOsSJ0IoUOXOt/config
> > >
> > > --
> > > Linaro LKFT
> > > https://lkft.linaro.org
>
> - Naresh