ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: ksummit <ksummit-discuss@lists.linuxfoundation.org>,
	gregkh <gregkh@linuxfoundation.org>,
	Lukasz Majewski <lukma@denx.de>,
	Jonas Jensen <jonas.jensen@gmail.com>,
	Alexander Sverdlin <alexander.sverdlin@gmail.com>
Subject: Re: [Ksummit-discuss] [MAINTAINERS SUMMIT] Deprecation / Removal of old hardware support
Date: Wed, 12 Sep 2018 12:23:06 +0200	[thread overview]
Message-ID: <CAK8P3a1YfSLzQmK_879KgWT7w-0+=X-iC4ue6YxPF-tjPSk=0w@mail.gmail.com> (raw)
In-Reply-To: <CAMuHMdXRtMjE3dXDmagVQrPC-UDy6Po0BckWH=CBj-WOsdL38Q@mail.gmail.com>

On Wed, Sep 12, 2018 at 8:41 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Tue, Sep 11, 2018 at 11:50 PM Thomas Gleixner <tglx@linutronix.de> wrote:
> > On Wed, 12 Sep 2018, Laurent Pinchart wrote:
> > > On Tuesday, 11 September 2018 22:33:08 EEST Greg KH wrote:
> > But that does not mean, that we have to support ancient compilers
> > forever. If that stuff needs to be treated as first class citizens then
> > someone who has vested interest in this needs to fix that. That's none of
> > our business, really.
>
> The issue here is that gcc dropped armv4 (not v4t AFAIK) support.

Let me clarify here: we are talking to the gcc developers all the time,
and we can still change the plans here if we decide that we want it
to be dropped later.

There is currently no plan to deprecate ARMv4T support in gcc.

ARMv2/3/4 have been marked "deprecated" since gcc-6 two years
ago. This is the official way for gcc to figure out whether anyone still
needs it. If someone steps up and says they need to keep it for future
releases (and ideally ensure that it keeps getting tested properly),
ARMv4 can stay.

gcc-8 (released this spring) still contains (deprecated) support for
ARMv2 and up. gcc-9 (the development branch) has removed
support for ARMv2 and ARMv3, but not ARMv4. As a result, the
ARM610 and ARM710 processors cannot be supported any more
with gcc-9. This may be a problem for the RiscOS folks, but Linux
has dropped support for both of these years ago.

We do see one regression with the removal of ARMv3 support:
The arch/arm/mach-rpc/ target (using the SA110 CPU) will not
be buildable with gcc-9 (or clang, for that matter), but require a
gcc-8 at most (some other versions were broken in the past as
well, but 6/7/8 should all work). If the next compiler deprecation
waves are similar to the current one (dropping support for 12
year old compilers, while still allowing 7 year old one, i.e. gcc-4.6
from 2011 instead of gcc-4.1 from 2006), that puts the final end
of life of mach-rpc between 2026 and 2031, which I feel is an
acceptable trade-off (apparently keeping it working did cause
significant work in gcc), especially considering this is hardware
introduced in 1994!

Regarding ARMv4 (i.e. FA526 and StrongARM) vs ARMv4T
(all ARM7 and the early ARM9 we support), the kernel build isn't
actually different at all, as long as we turn off
CONFIG_ARM_THUMB. The main difference in the code produced
by gcc is the 'bx' instruction for branches, and the linker will turn
those into ARMv4-compatible branches with the '-Wl,--fix-v4bx'
option. This means that even after gcc removes the deprecated
ARMv4 target, and we stop supporting older compilers that still
had it, we can keep building new kernels for fa526 as long as
gcc supports ARMv4T and the linker supports --fix-v4bx.
Alternatively we can ask the compiler folks to un-deprecate
ARMv4.

      Arnd

  reply	other threads:[~2018-09-12 10:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-10 14:04 Peter Huewe
2018-09-10 15:31 ` Linus Walleij
2018-09-10 21:40   ` Arnd Bergmann
2018-09-10 22:02     ` Guenter Roeck
2018-09-11  8:49       ` Geert Uytterhoeven
2018-09-11 17:27         ` Guenter Roeck
2018-09-11 17:58           ` Geert Uytterhoeven
2018-09-11 18:27             ` Guenter Roeck
2018-09-11 18:37               ` Daniel Vetter
2018-09-11  8:37     ` Linus Walleij
2018-09-11  9:37       ` Lukasz Majewski
2018-09-11 19:33         ` Greg KH
2018-09-11 21:39           ` Laurent Pinchart
2018-09-11 21:50             ` Thomas Gleixner
2018-09-12  6:40               ` Geert Uytterhoeven
2018-09-12 10:23                 ` Arnd Bergmann [this message]
2018-09-12  6:26             ` Greg KH
2018-09-12  6:49               ` Peter Huewe
2018-09-12  7:07                 ` Greg KH
2018-09-11 10:52       ` Mark Brown
2018-09-11 11:22         ` Linus Walleij
     [not found]           ` <TY2PR0101MB2526376DEFC241B754A19A6AE21C0@TY2PR0101MB2526.apcprd01.prod.exchangelabs.com>
2018-09-27 15:25             ` SZ Lin (林上智)
2018-09-28 10:45               ` Thomas Gleixner
2018-09-11 11:53       ` Arnd Bergmann
2018-09-11 21:28         ` Alexander Sverdlin
2018-09-11 21:16       ` Alexander Sverdlin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAK8P3a1YfSLzQmK_879KgWT7w-0+=X-iC4ue6YxPF-tjPSk=0w@mail.gmail.com' \
    --to=arnd@arndb.de \
    --cc=alexander.sverdlin@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jonas.jensen@gmail.com \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    --cc=lukma@denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox