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)
committerAlexandre Ghiti <alexghiti@rivosinc.com>
Tue, 1 Apr 2025 07:09:21 +0000 (07:09 +0000)
commit6ee928185aeb0ff085c73ae2ee163d436eba8352
tree5de5aad4f8df3191dbed6e0ee1b11b5fbb56d97c
parent8a2f20ac8e14c1dd29d3214016a27e244f266b39
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/
Tested-by: Klara Modin <klarasmodin@gmail.com>
Link: https://lore.kernel.org/r/20250331-fix_runtime_const_norvc-v1-1-89bc62687ab8@rivosinc.com
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
arch/riscv/include/asm/runtime-const.h