From: Paul Walmsley <pjw@kernel.org>
To: Nathan Chancellor <nathan@kernel.org>
Cc: Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Alexandre Ghiti <alex@ghiti.fr>,
Nick Desaulniers <nick.desaulniers+lkml@gmail.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
Andrew Jones <ajones@ventanamicro.com>,
Ben Dooks <ben.dooks@codethink.co.uk>,
linux-riscv@lists.infradead.org, llvm@lists.linux.dev,
patches@lists.linux.dev
Subject: Re: [PATCH fixes] riscv: Fix CONFIG_AS_HAS_INSN for new .insn usage
Date: Fri, 7 Nov 2025 17:37:08 -0700 (MST) [thread overview]
Message-ID: <6668adce-cab2-7f92-5403-723ef8c5ab04@kernel.org> (raw)
In-Reply-To: <20251107-riscv-fix-new-insn-usage-v1-1-9a186c5928a0@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 2710 bytes --]
Hi Nathan,
On Fri, 7 Nov 2025, Nathan Chancellor wrote:
> After commit 44aa25c000b4 ("riscv: asm: use .insn for making custom
> instructions"), builds using LLVM older that 19 or binutils older than
> 2.38 fail with:
>
> arch/riscv/include/asm/vdso/processor.h: Assembler messages:
> arch/riscv/include/asm/vdso/processor.h:27: Error: unrecognized opcode `0x100000f'
> arch/riscv/include/asm/vdso/processor.h:27: Error: unrecognized opcode `0x100000f'
> arch/riscv/include/asm/vdso/processor.h:27: Error: unrecognized opcode `0x100000f'
> arch/riscv/include/asm/vdso/processor.h:27: Error: unrecognized opcode `0x100000f'
> make[4]: *** [scripts/Makefile.build:287: arch/riscv/kernel/vdso/vgettimeofday.o] Error 1
>
> In file included from <built-in>:4:
> In file included from lib/vdso/gettimeofday.c:6:
> In file included from include/vdso/datapage.h:21:
> In file included from include/vdso/processor.h:10:
> arch/riscv/include/asm/vdso/processor.h:23:2: error: expected instruction format
> 23 | ALT_RISCV_PAUSE();
> | ^
> arch/riscv/include/asm/errata_list.h:47:3: note: expanded from macro 'ALT_RISCV_PAUSE'
> 47 | RISCV_PAUSE, /* Original RISC‑V pause insn */ \
> | ^
> arch/riscv/include/asm/insn-def.h:259:21: note: expanded from macro 'RISCV_PAUSE'
> 259 | #define RISCV_PAUSE ASM_INSN_I("0x100000f")
> | ^
> arch/riscv/include/asm/asm.h:16:26: note: expanded from macro 'ASM_INSN_I'
> 16 | #define ASM_INSN_I(__x) ".insn " __x
> | ^
> <inline asm>:5:7: note: instantiated into assembly here
> 5 | .insn 0x100000f
> | ^
>
> binutils gained support for '.insn <value>' in 2.38 [1] and LLVM gained
> support in 19 [2]. Adjust the test for CONFIG_AS_HAS_INSN to ensure that
> all versions of .insn are supported before being used.
>
> Fixes: 44aa25c000b4 ("riscv: asm: use .insn for making custom instructions")
> Link: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=a262b82fdbf4cda3b0648b1adc32245ca3f78b7a [1]
> Link: https://github.com/llvm/llvm-project/commit/2a086dce691e3cc34a2fc27f4fb255bb2cbbfac9 [2]
> Suggested-by: Andrew Jones <ajones@ventanamicro.com>
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
> arch/riscv/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Thanks for the fast fix, and sorry for the trouble.
Clearly we're not doing sufficiently broad build testing here, either
before branch submission, or on -next. We'll fix this ASAP on the branch
submission case, and work on improving -next autobuilds.
Queued for v6.18-rc.
- Paul
next prev parent reply other threads:[~2025-11-08 0:37 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-07 21:56 [PATCH fixes] riscv: Fix CONFIG_AS_HAS_INSN for new .insn usage Nathan Chancellor
2025-11-07 22:35 ` Andrew Jones
2025-11-08 0:37 ` Paul Walmsley [this message]
2025-11-08 0:51 ` patchwork-bot+linux-riscv
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6668adce-cab2-7f92-5403-723ef8c5ab04@kernel.org \
--to=pjw@kernel.org \
--cc=ajones@ventanamicro.com \
--cc=alex@ghiti.fr \
--cc=ben.dooks@codethink.co.uk \
--cc=justinstitt@google.com \
--cc=linux-riscv@lists.infradead.org \
--cc=llvm@lists.linux.dev \
--cc=morbo@google.com \
--cc=nathan@kernel.org \
--cc=nick.desaulniers+lkml@gmail.com \
--cc=palmer@dabbelt.com \
--cc=patches@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox