riscv: prevent compressed instructions in alternatives
Instructions are opportunistically compressed by the RISC-V assembler when possible, but in alternatives-blocks both the old and new content need to be the same size, so having the toolchain do somewhat random optimizations will cause strange side-effects like "attempt to move .org backwards" compile-time errors. Already a simple "and" used in alternatives assembly will cause these mismatched code sizes. So prevent compressed instructions to be generated in alternatives- code and use option-push and -pop to only limit this to the relevant code blocks Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Reviewed-by: NChristoph Hellwig <hch@lst.de> Reviewed-by: NPhilipp Tomsich <philipp.tomsich@vrull.eu> Link: https://lore.kernel.org/r/20220511192921.2223629-7-heiko@sntech.deSigned-off-by: NPalmer Dabbelt <palmer@rivosinc.com>
Showing
想要评论请 注册 或 登录