[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] xen: Update minimum toolchain requirements
- To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- From: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
- Date: Fri, 07 Mar 2025 19:22:35 +0100
- Arc-authentication-results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
- Arc-message-signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; c=relaxed/relaxed; t=1741371756; h=DKIM-Signature:MIME-Version:Date:From:To:Cc:Subject:In-Reply-To: References:Message-ID:X-Sender:Organization:Content-Type: Content-Transfer-Encoding; bh=b2GpiO+14vGTaI+sXl5OewE+EwoYOP+PjCS9mx46WmM=; b=RN7BktBLsC4h2gpqKYc8IFAPypzWsdseFk0Lb+tY2KnL+tkgRNKZpiutUtJ2xhKxtfx9 svya63hi9x3/Ekk+xphCvf0RIFEgAkPiTZHQ7kdCNtoLqW4S7rh8SfCuZ+5fbEgnkG22/ S0U8fgfG14osSwHk7ixVPjHmBa8QBaIkrRkdHvO4wPA7GXbZPx4Dcd8SbOS85uHNcybaV HSS6cmIZGFqNqNecTrZEBzzdlN4wVGv8eBfM7k9+Q4wVnosPCdG1gcKicgKuQ2SQbuEZe 642uY1EV8Gwh7HuA/EEJ2thjXmUIT9KrGNCb01be8P0OkX+6nthyb+cZKyWQRhkGlzd3P VUtuixY+Eg79hP3f1lOwYhoMOTfqqzyD1RHnNtgG0j00S10WF21QUtQ2NNrMx+Whk6tE6 vyKjU4mm+d1WUKf/LmZh4RvBgrPxs2cpTmcXrDXxJ4ICIKVhfRCHrk3eURCCNljCcQLLe //m4Jb/pB6DGrUcW2eIqVp6dyQ8NvZpKdoOkyqOqTIJADyZzSWjJ9ZQ3dQptbyQ2PaaeU L3TAFPOPt5O3z060y1dGCMvAbYY6XnYvpNM7ebOCtzDAmQkbP1+HyxPDVJdH2VvUXBsRh aPNHzhaKYb6kIpzTfCWbov0W96jIuB6X2o6fvF+kMhfpwUxu7umpLylWzGYkkCY=
- Arc-seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1741371756; b=UN0U9/VsPmFBbaXcHoqfkajsooPKYZdiatLuuOoEMiZHz77SowIz4zMDucZkZwYmSCCY tRU1BwHFyxsUeiY9Md8VWjHyWz7eI3JcdM55JE9aY0uvgZmv2uHvK7YaOmvznmfwymCP6 XIiCevRUjdJ5yGPiSS/YresV9VUjqOVxoqUB55ieizd3XfCdTeet79nrcNGUqglNrkYqy Vz8yDsIfKlsYQZLdDH4cgtMIRbVL9Js8JAFCE/fNjlXSb41bHmZFLVVA+6JZduNPlSfhu lmYtl0oNmpyVLSjkkLQfRrILzNLHRYsH8Oq5SHYKlV4NGWSQXvKO8zVVkeLtKvqq9qmvP zEpC34f+nLhm5yVLjMQtp7vz2LmmXzPT8+jLTgvebMsD1X7XgrZlWKAThcQACeAifG+p0 CD1h1FvBqE7CzRbs5wYXRp+ttP+njUFQJuaaiU3W5HNJGVeaSJD8etKdpfyYhmzs1hT4s wqZDvvF3jbbwvBggSATS04OU5sJAZlRm+5hiqm4WSJ+ffzrpqriysw/cwpttVVsS4Y1by CibX0I/xq8yKvIJyMVrMjbhjDNnOfE/C3ZPAFeNalfXag/i2pgEIvzfa/ShuKElkV4Hza FZx+Lf9wUfR15ez3jx5ocdWuQ4pEnuqe0fV9IR0dO/OMqQWODqLoxUGHtgo9B14=
- Authentication-results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
- Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>, Shawn Anastasio <sanastasio@xxxxxxxxxxxxxxxxxxxxx>
- Delivery-date: Fri, 07 Mar 2025 18:22:47 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
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@xxxxxxxxxx>
---
CC: Anthony PERARD <anthony.perard@xxxxxxxxxx>
CC: Michal Orzel <michal.orzel@xxxxxxx>
CC: Jan Beulich <jbeulich@xxxxxxxx>
CC: Julien Grall <julien@xxxxxxx>
CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
CC: Bertrand Marquis <bertrand.marquis@xxxxxxx>
CC: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
CC: Shawn Anastasio <sanastasio@xxxxxxxxxxxxxxxxxxxxx>
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
|