riscv: Add norvc after .option arch in runtime const
authorCharlie Jenkins <charlie@rivosinc.com>
Mon, 31 Mar 2025 18:45:24 +0000 (11:45 -0700)
committerPalmer Dabbelt <palmer@rivosinc.com>
Mon, 31 Mar 2025 18:53:02 +0000 (11:53 -0700)
commit95c18b7ccdd1b2e6704651b66565339ada318ba2
treefeb04cff2e1e768cc639d428bca0b8c3b0c10e0e
parentf633de4aa4537c190a9842c3e84e77780621c615
riscv: Add norvc after .option arch in runtime const

.option arch clobbers .option norvc. Prevent gas from emitting
compressed instructions in the runtime const alternative blocks by
setting .option norvc after .option arch. This issue starts appearing on
gcc 15, which adds zca to the march.

Reported by: Klara Modin <klarasmodin@gmail.com>
Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
Fixes: a44fb5722199 ("riscv: Add runtime constant support")
Closes: https://lore.kernel.org/all/cc8f3525-20b7-445b-877b-2add28a160a2@gmail.com/
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250331-fix_runtime_const_norvc-v1-1-89bc62687ab8@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/include/asm/runtime-const.h