From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
"Anthony PERARD" <anthony.perard@vates.tech>,
"Michal Orzel" <michal.orzel@amd.com>,
"Jan Beulich" <jbeulich@suse.com>,
"Julien Grall" <julien@xen.org>,
"Roger Pau Monné" <roger.pau@citrix.com>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>,
"Bertrand Marquis" <bertrand.marquis@arm.com>,
"Oleksii Kurochko" <oleksii.kurochko@gmail.com>,
"Shawn Anastasio" <sanastasio@raptorengineering.com>
Subject: Re: [PATCH] xen: Update minimum toolchain requirements
Date: Fri, 07 Mar 2025 19:22:35 +0100 [thread overview]
Message-ID: <2aaa6042ec9f6220e6229878a13a714b@bugseng.com> (raw)
In-Reply-To: <20250307175435.3089686-1-andrew.cooper3@citrix.com>
On 2025-03-07 18:54, Andrew Cooper wrote:
> GCC 4.1.2 is from 2007, and Binutils 2.16 is a similar vintage. Clang
> 3.5 is
> from 2014. Supporting toolchains this old is a massive development and
> testing burden.
>
> Set a minimum baseline of GCC 5.1 across the board, along with Binutils
> 2.25
> which is the same age. These were chosen *3 years ago* as Linux's
> minimum
> requirements because even back then, they were ubiquitous in distros.
> Choose
> Clang/LLVM 11 as a baseline for similar reasons; the Linux commit
> making this
> change two years ago cites a laudry list of code generation bugs.
>
> This will allow us to retire a lot of compatiblity logic, and start
> using new
> features previously unavailable because of no viable compatibility
> option.
>
> Merge the ARM 32bit and 64bit sections now they're the same.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Anthony PERARD <anthony.perard@vates.tech>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Julien Grall <julien@xen.org>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
>
> PPC doesn't have a minimum set stated yet, but CI tests GCC 10 from
> Debian 11.
>
> This will require dropping some containers from CI. CentOS 7 notably.
>
> In terms of specific new features, I'm interested in:
>
> * __has_include() to remove the asm-generic makefile tangle
> * asm goto (), to remove .fixup and code generation for error
> handling.
>
> and these too, but will require MISRA adjustments:
>
> * _Generic() to make properly const-preserving wrappers
Perhaps stating something that is already well-known, but this
effectively means moving from MISRA C:2012 Amendment 2 as a target to,
at least, MISRA C:2012 Amendment 3, as that version contains rules in
series 23 for _Generic.
> * Updating our -std to gnu11, which drops further compatibility logic
>
> When the arguments die down, I'll add a hunk to CHANGELOG.md as this is
> very
> significant.
> ---
> README | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/README b/README
> index 9d9c6fc324c6..be90be3910d4 100644
> --- a/README
> +++ b/README
> @@ -38,16 +38,13 @@ provided by your OS distributor:
> * GNU Make v3.80 or later
> * C compiler and linker:
> - For x86:
> - - GCC 4.1.2_20070115 or later
> - - GNU Binutils 2.16.91.0.5 or later
> + - GCC 5.1 or later
> + - GNU Binutils 2.25 or later
> or
> - - Clang/LLVM 3.5 or later
> - - For ARM 32-bit:
> - - GCC 4.9 or later
> - - GNU Binutils 2.24 or later
> - - For ARM 64-bit:
> + - Clang/LLVM 11 or later
> + - For ARM:
> - GCC 5.1 or later
> - - GNU Binutils 2.24 or later
> + - GNU Binutils 2.25 or later
> - For RISC-V 64-bit:
> - GCC 12.2 or later
> - GNU Binutils 2.39 or later
>
> base-commit: ac29d63a0fa6a3ed98ecf86f95995811c301308f
--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253
next prev parent reply other threads:[~2025-03-07 18:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-07 17:54 [PATCH] xen: Update minimum toolchain requirements Andrew Cooper
2025-03-07 18:11 ` Julien Grall
2025-03-07 18:22 ` Nicola Vetrini [this message]
2025-03-07 18:30 ` Andrew Cooper
2025-03-07 20:08 ` Nicola Vetrini
2025-03-10 8:18 ` Jan Beulich
2025-03-14 0:03 ` Andrew Cooper
2025-03-14 10:35 ` Roger Pau Monné
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=2aaa6042ec9f6220e6229878a13a714b@bugseng.com \
--to=nicola.vetrini@bugseng.com \
--cc=Volodymyr_Babchuk@epam.com \
--cc=andrew.cooper3@citrix.com \
--cc=anthony.perard@vates.tech \
--cc=bertrand.marquis@arm.com \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=michal.orzel@amd.com \
--cc=oleksii.kurochko@gmail.com \
--cc=roger.pau@citrix.com \
--cc=sanastasio@raptorengineering.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.