clang-12: i386: Unsupported relocation type: R_386_PLT32 (4)

4 views
Skip to first unread message

Naresh Kamboju

unread,
Feb 22, 2021, 11:08:21 AM2/22/21
to clang-built-linux, open list, x86-ml, lkft-...@lists.linaro.org, Nathan Chancellor, Nick Desaulniers, Nathan Chancellor
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 <naresh....@linaro.org>

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

Sedat Dilek

unread,
Feb 22, 2021, 11:14:23 AM2/22/21
to Naresh Kamboju, clang-built-linux, open list, x86-ml, lkft-...@lists.linaro.org, Nathan Chancellor, Nick Desaulniers, Nathan Chancellor
On Mon, Feb 22, 2021 at 5:08 PM Naresh Kamboju
<naresh....@linaro.org> 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
> --
> 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 clang-built-li...@googlegroups.com.
> 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.

Naresh Kamboju

unread,
Feb 22, 2021, 11:30:04 AM2/22/21
to sedat...@gmail.com, clang-built-linux, open list, x86-ml, lkft-...@lists.linaro.org, Nathan Chancellor, Nick Desaulniers, Nathan Chancellor, Greg Kroah-Hartman, Fangrui Song, Arnd Bergmann, linux-stable
On Mon, 22 Feb 2021 at 21:44, Sedat Dilek <sedat...@gmail.com> wrote:
>
> On Mon, Feb 22, 2021 at 5:08 PM Naresh Kamboju
> <naresh....@linaro.org> 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 ?
- Naresh

Sedat Dilek

unread,
Feb 22, 2021, 11:43:13 AM2/22/21
to Naresh Kamboju, clang-built-linux, open list, x86-ml, lkft-...@lists.linaro.org, Nathan Chancellor, Nick Desaulniers, Nathan Chancellor, Greg Kroah-Hartman, Fangrui Song, Arnd Bergmann, linux-stable
On Mon, Feb 22, 2021 at 5:30 PM Naresh Kamboju
<naresh....@linaro.org> wrote:
>
> On Mon, 22 Feb 2021 at 21:44, Sedat Dilek <sedat...@gmail.com> wrote:
> >
> > On Mon, Feb 22, 2021 at 5:08 PM Naresh Kamboju
> > <naresh....@linaro.org> 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
Reply all
Reply to author
Forward
0 new messages