From aa78a7d10c6c2ef877b34d119a6db934c201ddfd Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Fri, 7 Mar 2025 17:29:10 +0000 Subject: [PATCH] xen: Update toolchain requirements to GCC 5.1/Binutils 2.25 or Clang/LLVM 11 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Acked-by: Julien Grall Acked-by: Roger Pau Monné --- README | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/README b/README index 9d9c6fc324..be90be3910 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 -- 2.39.5