Message ID | 20240925150059.3955569-32-ardb+git@google.com (mailing list archive) |
---|---|
State | RFC, archived |
Headers | show |
Series | x86: Rely on toolchain for relocatable code | expand |
On Wed, Sep 25, 2024, at 15:01, Ard Biesheuvel wrote: > From: Ard Biesheuvel <ardb@kernel.org> > > Bump the minimum GCC version to 8.1 to gain unconditional support for > referring to the per-task stack cookie using a symbol rather than > relying on the fixed offset of 40 bytes from %GS, which requires > elaborate hacks to support. > > Signed-off-by: Ard Biesheuvel <ardb@kernel.org> > --- > Documentation/admin-guide/README.rst | 2 +- > Documentation/process/changes.rst | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) Acked-by: Arnd Bergmann <arnd@arndb.de> As we discussed during plumbers, I think this is reasonable, both the gcc-8.1 version and the timing after the 6.12-LTS kernel. We obviously need to go through all the other version checks to see what else can be cleaned up. I would suggest we also raise the binutils version to 2.30+, which is what RHEL8 shipped alongside gcc-8. I have not found other distros that use older binutils in combination with gcc-8 or higher, Debian 10 uses binutils-2.31. I don't think we want to combine the additional cleanup with your series, but if we can agree on the version, we can do that in parallel. FWIW, here are links to the last few times we discussed this, and there are already has a few other things that would benefit from more modern compilers: https://lore.kernel.org/lkml/dca5b082-90d1-40ab-954f-8b3b6f51138c@app.fastmail.com/ https://lore.kernel.org/lkml/CAFULd4biN8FPRtU54Q0QywfBFvvWV-s1M3kWF9YOmozyAX9+ZQ@mail.gmail.com/ https://lore.kernel.org/lkml/CAK8P3a1Vt17Yry_gTQ0dwr7_tEoFhuec+mQzzKzFvZGD5Hrnow@mail.gmail.com/ Arnd
On Wed, Sep 25, 2024 at 5:10 PM Ard Biesheuvel <ardb+git@google.com> wrote: > > Documentation/admin-guide/README.rst | 2 +- > Documentation/process/changes.rst | 2 +- This should update scripts/min-tool-version.sh too. With that: Acked-by: Miguel Ojeda <ojeda@kernel.org> As Arnd says, the cleanups can be done afterwards. Cheers, Miguel
On Wed, Sep 25, 2024 at 05:01:02PM +0200, Ard Biesheuvel wrote: > From: Ard Biesheuvel <ardb@kernel.org> > > Bump the minimum GCC version to 8.1 to gain unconditional support for > referring to the per-task stack cookie using a symbol rather than > relying on the fixed offset of 40 bytes from %GS, which requires > elaborate hacks to support. > > Signed-off-by: Ard Biesheuvel <ardb@kernel.org> > --- > Documentation/admin-guide/README.rst | 2 +- > Documentation/process/changes.rst | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) I'd like this for arm64 and others too (for unconditional support for -fpatchable-function-entry), so FWIW: Acked-by: Mark Rutland <mark.rutland@arm.com> I think you'll want to update scripts/min-tool-version.sh too; judging by the diff in the cover letter that's not handled elsehere in the series. Mark. > > diff --git a/Documentation/admin-guide/README.rst b/Documentation/admin-guide/README.rst > index f2bebff6a733..3dda41923ed6 100644 > --- a/Documentation/admin-guide/README.rst > +++ b/Documentation/admin-guide/README.rst > @@ -259,7 +259,7 @@ Configuring the kernel > Compiling the kernel > -------------------- > > - - Make sure you have at least gcc 5.1 available. > + - Make sure you have at least gcc 8.1 available. > For more information, refer to :ref:`Documentation/process/changes.rst <changes>`. > > - Do a ``make`` to create a compressed kernel image. It is also possible to do > diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst > index 00f1ed7c59c3..59b7d3d8a577 100644 > --- a/Documentation/process/changes.rst > +++ b/Documentation/process/changes.rst > @@ -29,7 +29,7 @@ you probably needn't concern yourself with pcmciautils. > ====================== =============== ======================================== > Program Minimal version Command to check the version > ====================== =============== ======================================== > -GNU C 5.1 gcc --version > +GNU C 8.1 gcc --version > Clang/LLVM (optional) 13.0.1 clang --version > Rust (optional) 1.78.0 rustc --version > bindgen (optional) 0.65.1 bindgen --version > -- > 2.46.0.792.g87dc391469-goog > >
diff --git a/Documentation/admin-guide/README.rst b/Documentation/admin-guide/README.rst index f2bebff6a733..3dda41923ed6 100644 --- a/Documentation/admin-guide/README.rst +++ b/Documentation/admin-guide/README.rst @@ -259,7 +259,7 @@ Configuring the kernel Compiling the kernel -------------------- - - Make sure you have at least gcc 5.1 available. + - Make sure you have at least gcc 8.1 available. For more information, refer to :ref:`Documentation/process/changes.rst <changes>`. - Do a ``make`` to create a compressed kernel image. It is also possible to do diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst index 00f1ed7c59c3..59b7d3d8a577 100644 --- a/Documentation/process/changes.rst +++ b/Documentation/process/changes.rst @@ -29,7 +29,7 @@ you probably needn't concern yourself with pcmciautils. ====================== =============== ======================================== Program Minimal version Command to check the version ====================== =============== ======================================== -GNU C 5.1 gcc --version +GNU C 8.1 gcc --version Clang/LLVM (optional) 13.0.1 clang --version Rust (optional) 1.78.0 rustc --version bindgen (optional) 0.65.1 bindgen --version