RE: [PATCH v2 00/10] Rework READ_ONCE() to improve codegen

David Laight
2020-01-24T10:11:08Z

From: Arvind Sankar
> Sent: 23 January 2020 19:01
...
> > > Oh - and I need to find a newer compiler :-(
> >
> > What distro are you using? Does it have a package for a newer
> > compiler? I'm honestly curious about what policies if any the kernel
> > has for supporting developer's toolchains from their distributions.

Like many developers I get lazy with upgrades of some systems.
So my main Linux 'desktop' system is running Ubuntu 13.04 userspace
with a very recent kernel.
So it has gcc 4.7.3 as default and a gcc 4.8.1 installed (probably not mature
enough to be safe!).
(I've 2 other i7 systems running Ubuntu 18.04.0x with the distro kernels.)
...
> I think the issue is not just kernel devs. Users may need to compile a
> custom kernel or at least build a module.

If they are just building a module they'll be using the kernel headers
that go with the distro kernel - and the module sources will need to
match. So the distro's gcc should match.

Much more interesting is the gcc compiler we use to generate the
'binary blob' for our 'out of tree' drivers.
These get compiled (without any of the kernel headers) on the
same system as we build the userspace programs on.
To get libc and (especially) libc++ compatibility this has to be
a very old system - as old as the oldest system any of our
customers are likely to use.
In practise this (now) means something running a 2.6.32 era
kernel (or slightly earlier).
So is a debian gcc 4.3.2-1.1 compiler.
I think we've finally persuaded all our customers to upgrade from 2.6.18.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)