Re: ARCH=hexagon unsupported?

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

 



On Fri, Apr 23, 2021 at 11:35 AM Brian Cain <bcain@xxxxxxxxxxxxxx> wrote:
>
> > -----Original Message-----
> > From: Arnd Bergmann <arnd@xxxxxxxxxx>
> > Sent: Friday, April 23, 2021 4:37 AM
> > To: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> > Cc: open list:QUALCOMM HEXAGON... <linux-hexagon@xxxxxxxxxxxxxxx>;
> > clang-built-linux <clang-built-linux@xxxxxxxxxxxxxxxx>; Brian Cain
> > <bcain@xxxxxxxxxxxxxx>; linux-arch <linux-arch@xxxxxxxxxxxxxxx>; Guenter
> > Roeck <linux@xxxxxxxxxxxx>
> > Subject: Re: ARCH=hexagon unsupported?
> >
> > On Fri, Apr 23, 2021 at 12:12 AM 'Nick Desaulniers' via Clang Built Linux
> > <clang-built-linux@xxxxxxxxxxxxxxxx> wrote:
> > >
> > > Arnd,
> > > No one can build ARCH=hexagon and
> > > https://github.com/ClangBuiltLinux/linux/issues/759 has been open for
> > > 2 years.
> > >
> > > Trying to build
> > > $ ARCH=hexagon CROSS_COMPILE=hexagon-linux-gnu make LLVM=1
> > LLVM_IAS=1
> > > -j71
> > >
> > > shows numerous issues, the latest of which commit 8320514c91bea
> > > ("hexagon: switch to ->regset_get()") has a very obvious typo which
> > > misspells the `struct` keyword and has been in the tree for almost 1
> > > year.
> >
> > Thank you for looking into it.
> >
> > > Why is arch/hexagon/ in the tree if no one can build it?
> >
> > Removing it sounds reasonable to me, it's been broken for too long, and we
> > did the same thing for unicore32 that was in the same situation where the
> > gcc port was too old to build the kernel and the clang port never quite work
> > in mainline.
> >
> > Guenter also brought up the issue a year ago, and nothing happened.
> > I see Brian still occasionally sends an Ack to a patch that gets merged through
> > another tree, but he has not send any patches or pull requests himself after
> > taking over maintainership from Richard Kuo in 2019, and the four hexagon
> > pull requests after 2014 only contained build fixes from developers that don't
> > have access to the hardware (Randy Dunlap, Viresh Kumar, Mike Frysinger
> > and me).
>
> Nick, Arnd,
>
> I can appreciate your frustration, I can see that I have let the community down here.  I would like to keep hexagon in-tree and I am committed to making the changes necessary to do so.

I'm very happy to hear that.

> I have a patch under internal review to address the cited build issues and libgcc/compiler-rt content.

We'd be first in line to help build test such a patch. Please consider
cc'ing myself and clang-built-linux@xxxxxxxxxxxxxxxx when such a patch
is available externally.  Further, we have the CI ready and waiting to
add new architectures, even if it's just build testing. That would
have caught regressions like 8320514c91bea; we were down to 1 build
failure with https://github.com/ClangBuiltLinux/linux/issues/759 last
I looked which was preventing us from adding Hexagon to any CI, but we
must now dig ourselves out of a slightly deeper hole now.

Is this patch something you suspect will take quite some time to work
through internal review?

> In addition, my team has been focusing on developing QEMU system mode support that would mitigate some of the need for having hardware access.  We have landed support for userspace hexagon-linux in upstream QEMU.

That's also great to hear. QEMU is a critical part of our CI for boot
testing; if there's more info on timelines or what's involved with
booting a hexagon kernel in QEMU, we'd be very happy to know how or
when that's available.

> My team and I want to make hexagon's open source footprint larger, not smaller.  I realize that not being a good steward of the hexagon kernel has not helped, and we will do what we can to fix it.

A worthwhile and appreciated sentiment. I believe you.

Hexagon could be an interesting case for LLVM support in general for
the Linux kernel; a case where each target or driver need not
necessarily have a GCC backend to be acceptable.  But barring anyone
from being able to actually build it (let alone run it), it's not
that; it's less than that. It's dead code that bit rots further and
burdens maintainers who are maintaining something that's already
broken. I'm not sure who derives any benefit.

I think it's in everyone's best interest to see Linux support more
targets than fewer, and 2020 has been a hard year, but I'm curious how
long something has to be broken before folks say "enough." Please
let's support this properly or recognize the situation for what it is.
-- 
Thanks,
~Nick Desaulniers



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux