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

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

 




> 2023年2月28日 19:21,Nathan Chancellor <nathan@xxxxxxxxxx> 写道:
> 
> On Tue, Feb 28, 2023 at 11:19:17AM +0000, 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>
> 
> Thanks for filing that bug and debugging this. I came across a post from
> the (now former) MIPS code owner and I am not sure anyone else has
> stepped up, the vast majority of commits to llvm/lib/Targets/Mips have
> been either NFC commits or treewide refactorings, so it will be
> interesting to see if we can get that fixed.

Yunqiang Su <syq@xxxxxxxxxx>[1] said he will take a look on that issue.

> 
> https://discourse.llvm.org/t/mips-backend-code-owner/60737
> https://github.com/llvm/llvm-project/commit/7daed359111f6d151fef447f520f85ef1dabedf6
> 
> For now:
> 
> Acked-by: Nathan Chancellor <nathan@xxxxxxxxxx>
> 
> If a v3 is necessary for some reason, a link to that issue in the source
> itself would be useful, as we can easily grep for 'llvm/llvm-project' to
> audit issues; I am not sure it is worth sending a v3 just for that alone
> though.

Will do a v3, it also helps me document the actual issue.

Thanks

[1]: https://reviews.llvm.org/p/wzssyqa/

- Jiaxun

> 






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

  Powered by Linux