Re: [PATCH v3] MIPS: Workaround clang inline compat branch issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 28/2/23 20:34, Jiaxun Yang wrote:
Clang is unable to handle the situation that a chunk of inline
assembly ends with a compat branch instruction and then compiler
generates another control transfer instruction immediately after
this compat branch. The later instruction will end up in forbidden
slot and cause exception.

Workaround by add a option to control the use of compact branch.
Currently it's selected by CC_IS_CLANG and hopefully we can change
it to a version check in future if clang manages to fix it.

Fix boot on boston board.

Link: https://github.com/llvm/llvm-project/issues/61045
Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
Acked-by: Nathan Chancellor <nathan@xxxxxxxxxx>
---
v2: Add Link tag to LLVM bug
v3: Docuement issue link in Kconfig as well
---
  arch/mips/Kconfig           | 4 ++++
  arch/mips/include/asm/asm.h | 2 +-
  2 files changed, 5 insertions(+), 1 deletion(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx>




[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux