2020-05-26 15:35:12

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] compiler/gcc: Raise minimum GCC version for kernel builds to 4.8

On Mon, May 11, 2020 at 09:41:37PM +0100, Will Deacon wrote:
> It is very rare to see versions of GCC prior to 4.8 being used to build
> the mainline kernel. These old compilers are also known to have codegen
> issues which can lead to silent miscompilation:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145
>
> Raise the minimum GCC version to 4.8 for building the kernel and remove
> some tautological Kconfig dependencies as a consequence.

My hexagon compiler is v4.6.1, and I have been unable to find a more
recent version. Does anyone happen to have a pointer to a hexagon toolchain
with gcc 4.8 or later ?

Thanks,
Guenter


2020-05-26 15:43:06

by Nick Desaulniers

[permalink] [raw]
Subject: Re: [PATCH] compiler/gcc: Raise minimum GCC version for kernel builds to 4.8

On Tue, May 26, 2020 at 8:30 AM Guenter Roeck <[email protected]> wrote:
>
> On Mon, May 11, 2020 at 09:41:37PM +0100, Will Deacon wrote:
> > It is very rare to see versions of GCC prior to 4.8 being used to build
> > the mainline kernel. These old compilers are also known to have codegen
> > issues which can lead to silent miscompilation:
> >
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145
> >
> > Raise the minimum GCC version to 4.8 for building the kernel and remove
> > some tautological Kconfig dependencies as a consequence.
>
> My hexagon compiler is v4.6.1, and I have been unable to find a more
> recent version. Does anyone happen to have a pointer to a hexagon toolchain
> with gcc 4.8 or later ?

IIUC, hexagon moved to LLVM, though that target still has issues
building the kernel.
https://github.com/ClangBuiltLinux/linux/issues?q=is%3Aopen+is%3Aissue+label%3A%22%5BARCH%5D+hexagon%22
--
Thanks,
~Nick Desaulniers

2020-05-26 16:06:54

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] compiler/gcc: Raise minimum GCC version for kernel builds to 4.8

Hi Nick,

On 5/26/20 8:40 AM, Nick Desaulniers wrote:
> On Tue, May 26, 2020 at 8:30 AM Guenter Roeck <[email protected]> wrote:
>>
>> On Mon, May 11, 2020 at 09:41:37PM +0100, Will Deacon wrote:
>>> It is very rare to see versions of GCC prior to 4.8 being used to build
>>> the mainline kernel. These old compilers are also known to have codegen
>>> issues which can lead to silent miscompilation:
>>>
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145
>>>
>>> Raise the minimum GCC version to 4.8 for building the kernel and remove
>>> some tautological Kconfig dependencies as a consequence.
>>
>> My hexagon compiler is v4.6.1, and I have been unable to find a more
>> recent version. Does anyone happen to have a pointer to a hexagon toolchain
>> with gcc 4.8 or later ?
>
> IIUC, hexagon moved to LLVM, though that target still has issues
> building the kernel.
> https://github.com/ClangBuiltLinux/linux/issues?q=is%3Aopen+is%3Aissue+label%3A%22%5BARCH%5D+hexagon%22
>

That won't help me for my build tests. It is bad enough having to maintain
one compiler. I don't want to add another one to the mix, and I'll happily
leave llvm build tests for ClangBuiltLinux. Guess I'll have to stop hexagon
test builds starting with 5.8.

Guenter

2020-05-26 16:13:00

by Nick Desaulniers

[permalink] [raw]
Subject: Re: [PATCH] compiler/gcc: Raise minimum GCC version for kernel builds to 4.8

On Tue, May 26, 2020 at 9:03 AM Guenter Roeck <[email protected]> wrote:
>
> Hi Nick,
>
> On 5/26/20 8:40 AM, Nick Desaulniers wrote:
> > On Tue, May 26, 2020 at 8:30 AM Guenter Roeck <[email protected]> wrote:
> >>
> >> On Mon, May 11, 2020 at 09:41:37PM +0100, Will Deacon wrote:
> >>> It is very rare to see versions of GCC prior to 4.8 being used to build
> >>> the mainline kernel. These old compilers are also known to have codegen
> >>> issues which can lead to silent miscompilation:
> >>>
> >>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145
> >>>
> >>> Raise the minimum GCC version to 4.8 for building the kernel and remove
> >>> some tautological Kconfig dependencies as a consequence.
> >>
> >> My hexagon compiler is v4.6.1, and I have been unable to find a more
> >> recent version. Does anyone happen to have a pointer to a hexagon toolchain
> >> with gcc 4.8 or later ?
> >
> > IIUC, hexagon moved to LLVM, though that target still has issues
> > building the kernel.
> > https://github.com/ClangBuiltLinux/linux/issues?q=is%3Aopen+is%3Aissue+label%3A%22%5BARCH%5D+hexagon%22
> >
>
> That won't help me for my build tests. It is bad enough having to maintain
> one compiler. I don't want to add another one to the mix, and I'll happily
> leave llvm build tests for ClangBuiltLinux. Guess I'll have to stop hexagon

:( We could use the additional test coverage.

> test builds starting with 5.8.
>
> Guenter



--
Thanks,
~Nick Desaulniers

2020-05-27 04:08:00

by Brian Cain

[permalink] [raw]
Subject: RE: [PATCH] compiler/gcc: Raise minimum GCC version for kernel builds to 4.8

> -----Original Message-----
> From: [email protected] <linux-hexagon-
> [email protected]> On Behalf Of Nick Desaulniers
...
> On Tue, May 26, 2020 at 8:30 AM Guenter Roeck <[email protected]> wrote:
> >
> > On Mon, May 11, 2020 at 09:41:37PM +0100, Will Deacon wrote:
> > > It is very rare to see versions of GCC prior to 4.8 being used to
> > > build the mainline kernel. These old compilers are also known to
> > > have codegen issues which can lead to silent miscompilation:
> > >
> > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145
> > >
> > > Raise the minimum GCC version to 4.8 for building the kernel and
> > > remove some tautological Kconfig dependencies as a consequence.
> >
> > My hexagon compiler is v4.6.1, and I have been unable to find a more
> > recent version. Does anyone happen to have a pointer to a hexagon
> > toolchain with gcc 4.8 or later ?
>
> IIUC, hexagon moved to LLVM, though that target still has issues building the
> kernel.
> https://github.com/ClangBuiltLinux/linux/issues?q=is%3Aopen+is%3Aissue+lab
> el%3A%22%5BARCH%5D+hexagon%22

Indeed, we did move to llvm. The build works with the clang_rt-builtins lib. But that issue indicates that it's an unnecessary wart to require that. From what I understand, other arches contribute these builtins content to the kernel build, so we'll do the same.

I'll prioritize this update.

-Brian