Re: [PATCH] arm64: support __int128 with clang

From: Will Deacon
Date: Tue Apr 24 2018 - 09:36:58 EST


On Sun, Apr 15, 2018 at 06:20:11PM +0200, Jason A. Donenfeld wrote:
> Would you review/merge this when you have a chance?

No real objection from me, but does the arm64 kernel actually build with
clang?

Will

> On Sat, Dec 23, 2017 at 1:43 AM, Jason A. Donenfeld <Jason@xxxxxxxxx> wrote:
> > Commit fb8722735f50 ("arm64: support __int128 on gcc 5+") added support
> > for arm64 __int128 with gcc with a version-conditional, but neglected to
> > enable this for clang, which in fact appears to support aarch64 __int128.
> > This commit therefore enables it if the compiler is clang, using the
> > same type of makefile conditional used elsewhere in the tree.
> >
> > Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx>
> > ---
> > arch/arm64/Makefile | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
> > index b481b4a7c011..16c2e8b58546 100644
> > --- a/arch/arm64/Makefile
> > +++ b/arch/arm64/Makefile
> > @@ -57,7 +57,11 @@ KBUILD_AFLAGS += $(lseinstr) $(brokengasinst)
> > KBUILD_CFLAGS += $(call cc-option,-mabi=lp64)
> > KBUILD_AFLAGS += $(call cc-option,-mabi=lp64)
> >
> > +ifeq ($(cc-name),clang)
> > +KBUILD_CFLAGS += -DCONFIG_ARCH_SUPPORTS_INT128
> > +else
> > KBUILD_CFLAGS += $(call cc-ifversion, -ge, 0500, -DCONFIG_ARCH_SUPPORTS_INT128)
> > +endif
> >
> > ifeq ($(CONFIG_CPU_BIG_ENDIAN), y)
> > KBUILD_CPPFLAGS += -mbig-endian
> > --
> > 2.15.1
> >