[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen: Update minimum toolchain requirements
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 isfrom 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 thischange 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 logicWhen the arguments die down, I'll add a hunk to CHANGELOG.md as this is verysignificant. --- 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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |