Re: [PATCH v3 3/4] LoongArch: Set AS_HAS_THIN_ADD_SUB as y if AS_IS_LLVM

From: Xi Ruoyao
Date: Mon Sep 09 2024 - 02:14:12 EST


On Mon, 2024-09-09 at 09:04 +0800, Huacai Chen wrote:
> On Sun, Sep 8, 2024 at 10:43 PM Xi Ruoyao <xry111@xxxxxxxxxxx> wrote:
> >
> > On Wed, 2024-08-07 at 16:59 +0800, Tiezhu Yang wrote:
> > > When building kernel with "make CC=clang defconfig", LLVM Assembler
> > > is used due to LLVM_IAS=0 is not specified, then AS_HAS_THIN_ADD_SUB
> > > is not set, thus objtool can not be built after enable it for Clang.
> > >
> > > config AS_HAS_THIN_ADD_SUB is to check whether -mthin-add-sub option is
> > > available to know R_LARCH_{32,64}_PCREL are supported for GNU Assembler,
> > > there is no this option for LLVM Assembler. The minimal version of Clang
> > > is 18 for building LoongArch kernel, and Clang >= 17 already supports
> > > R_LARCH_{32,64}_PCREL, that is to say, there is no need to depend on
> > > AS_HAS_THIN_ADD_SUB for Clang, so just set AS_HAS_THIN_ADD_SUB as y if
> > > AS_IS_LLVM.
> > >
> > > Fixes: 120dd4118e58 ("LoongArch: Only allow OBJTOOL & ORC unwinder if toolchain supports -mthin-add-sub")
> > > Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
> >
> > This is what I wanted in
> > https://lore.kernel.org/all/20240604150741.30252-1-xry111@xxxxxxxxxxx/.
> Then which one is better?  AS_IS_LLVM or CC_IS_CLANG?

AS_IS_LLVM should be better because when "make LLVM=1 LLVM_IAS=0" we
still need to check against gas from binutils.

--
Xi Ruoyao <xry111@xxxxxxxxxxx>
School of Aerospace Science and Technology, Xidian University