[llvm] [Docs] Add binutils version updated to developer policy (PR #222984)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 16 03:35:59 PDT 2026
================
@@ -778,6 +778,31 @@ Here's a [sample
RFC](https://discourse.llvm.org/t/rfc-migrating-past-c-11/50943) and the
[corresponding change](https://reviews.llvm.org/D57264).
+(binutils-version)=
+### Updating default binutils version
+
+Some distributions do not rely on a complete LLVM toolchain. On targets where
+binutils provides the system linker or assembler, care must be taken in
+unconditionally using features that require a recent version of
+binutils. If possible, fallback mechanisms allow graceful degradation to older
+releases. When using newer features, validate availability against the requested
+binutils compatibility.
+
+To update the default value on the minimum bintutils version we use a similar
+process to {ref}`Updating Toolchain Requirements <toolchain>`:
+
+- It is a general goal to support binutils versions from the last 2 years at a
+ minimum. This time-based guideline is not strict: we may support much older
+ binutils versions.
----------------
nikic wrote:
I'm still opposed to this 2 year minimum. Even our own host toolchain requirements put this at 3 years, and that's just an internal dev requirement, as opposed to something user facing. I believe the user facing requirements should be more liberal, not less.
I understand that this is, nominally, just a "minimum", but I think we have enough experience to know that a documented minimum tends to become a target instead. We should also give a number that is at least somewhat realistic here -- there is no point in documenting a minimum of 2 years, if an actual RFC would, realistically, have to use an older target.
(To calibrate the time frame here a bit, binutils 2.36 is already more than 5 years old at this point.)
-----
I'd like this to also document another requirement, which is that the minimum version must not be raised past the newest version we condition on. For example, the minimum version currently can't be higher than 2.36, because we don't have any behavior conditioned on newer versions. As such, making a newer version than that "required" (in name only) would just be obnoxious.
https://github.com/llvm/llvm-project/pull/222984
More information about the llvm-commits
mailing list