[Please ignore this email if it is already reported ]
Following build warnings/ errors noticed while building linux mainline
master branch
with clang-10 for x86_64 architecture.
But clang-11, clang-12 and clang-13 build pass.
<instantiation>:2:2: error: unknown use of instruction mnemonic
without a size suffix
lsl %rax, %rax
^
<instantiation>:1:1: note: while in macro instantiation
LOAD_CPU_AND_NODE_SEG_LIMIT %rax
^
<instantiation>:2:2: note: while in macro instantiation
GET_PERCPU_BASE %rax
^
/builds/linux/arch/x86/entry/entry_64.S:887:2: note: while in macro
instantiation
SAVE_AND_SET_GSBASE scratch_reg=%rax save_reg=%rbx
^
make[3]: *** [/builds/linux/scripts/Makefile.build:379:
arch/x86/entry/entry_64.o] Error 1
arch/x86/entry/entry_64_compat.o: warning: objtool: .entry.text+0x215:
can't find jump dest instruction at .entry.text+0x21a
make[3]: Target '__build' not remade because of errors.
make[2]: *** [/builds/linux/scripts/Makefile.build:540: arch/x86/entry] Error 2
make[2]: Target '__build' not remade because of errors.
make[1]: *** [/builds/linux/Makefile:1868: arch/x86] Error 2
Build config:
https://builds.tuxbuild.com/1yNlOcqNwVJJje4WbGjSV4ZeBh6/config
Reported-by: Linux Kernel Functional Testing <[email protected]>
meta data:
-----------
git_describe: v5.15-rc2
git_ref:
git_repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git_sha: e4e737bb5c170df6135a127739a9e6148ee3da82
git_short_log: e4e737bb5c17 (\"Linux 5.15-rc2\")
kconfig: [
defconfig
],
target_arch: x86_64
toolchain: clang-10
steps to reproduce:
tuxmake --runtime podman --target-arch x86_64 --toolchain clang-10
--kconfig defconfig
https://builds.tuxbuild.com/1yNlOcqNwVJJje4WbGjSV4ZeBh6/tuxmake_reproducer.sh
--
Linaro LKFT
https://lkft.linaro.org
Hi Naresh,
On Mon, Sep 20, 2021 at 08:55:46AM +0530, Naresh Kamboju wrote:
> [Please ignore this email if it is already reported ]
>
> Following build warnings/ errors noticed while building linux mainline
> master branch
> with clang-10 for x86_64 architecture.
> But clang-11, clang-12 and clang-13 build pass.
>
> <instantiation>:2:2: error: unknown use of instruction mnemonic
> without a size suffix
> lsl %rax, %rax
> ^
> <instantiation>:1:1: note: while in macro instantiation
> LOAD_CPU_AND_NODE_SEG_LIMIT %rax
> ^
> <instantiation>:2:2: note: while in macro instantiation
> GET_PERCPU_BASE %rax
> ^
> /builds/linux/arch/x86/entry/entry_64.S:887:2: note: while in macro
> instantiation
> SAVE_AND_SET_GSBASE scratch_reg=%rax save_reg=%rbx
> ^
> make[3]: *** [/builds/linux/scripts/Makefile.build:379:
> arch/x86/entry/entry_64.o] Error 1
> arch/x86/entry/entry_64_compat.o: warning: objtool: .entry.text+0x215:
> can't find jump dest instruction at .entry.text+0x21a
> make[3]: Target '__build' not remade because of errors.
> make[2]: *** [/builds/linux/scripts/Makefile.build:540: arch/x86/entry] Error 2
> make[2]: Target '__build' not remade because of errors.
> make[1]: *** [/builds/linux/Makefile:1868: arch/x86] Error 2
Thanks for the report. This is another case where the implicit switch to
the integrated assembler exposed a previously fixed issue in LLVM:
https://github.com/ClangBuiltLinux/linux/issues/1079
This cannot be fixed in the LLVM 10 branch as it is no longer updated so
if you want to keep testing with clang-10 for x86_64 on mainline, please
add 'LLVM_IAS=0' to your make command like we did in our own CI.
As a quick aside, would you mind updating my email address in your
system for reports to [email protected]? It will ensure it gets sent to
the correct inbox so that I do not miss things, as I do not use my
personal address for kernel development anymore.
Cheers,
Nathan
Hi Nathan,
On Mon, 20 Sept 2021 at 09:13, Nathan Chancellor <[email protected]> wrote:
>
> Hi Naresh,
>
> On Mon, Sep 20, 2021 at 08:55:46AM +0530, Naresh Kamboju wrote:
> > [Please ignore this email if it is already reported ]
> >
> > Following build warnings/ errors noticed while building linux mainline
> > master branch
> > with clang-10 for x86_64 architecture.
> > But clang-11, clang-12 and clang-13 build pass.
> >
> > <instantiation>:2:2: error: unknown use of instruction mnemonic
> > without a size suffix
> > lsl %rax, %rax
> > ^
> > <instantiation>:1:1: note: while in macro instantiation
> > LOAD_CPU_AND_NODE_SEG_LIMIT %rax
> > ^
> > <instantiation>:2:2: note: while in macro instantiation
> > GET_PERCPU_BASE %rax
> > ^
> > /builds/linux/arch/x86/entry/entry_64.S:887:2: note: while in macro
> > instantiation
> > SAVE_AND_SET_GSBASE scratch_reg=%rax save_reg=%rbx
> > ^
> > make[3]: *** [/builds/linux/scripts/Makefile.build:379:
> Thanks for the report. This is another case where the implicit switch to
> the integrated assembler exposed a previously fixed issue in LLVM:
>
> https://github.com/ClangBuiltLinux/linux/issues/1079
>
> This cannot be fixed in the LLVM 10 branch as it is no longer updated so
> if you want to keep testing with clang-10 for x86_64 on mainline, please
> add 'LLVM_IAS=0' to your make command like we did in our own CI.
We will update our gitlab pipeline CI configs with 'LLVM_IAS=0'.
>
> As a quick aside, would you mind updating my email address in your
> system for reports to [email protected]? It will ensure it gets sent to
> the correct inbox so that I do not miss things, as I do not use my
> personal address for kernel development anymore.
Noted.
- Naresh