]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
README: mention binutils requirement, bump LLVM requirement for ELF note macros
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 4 Jul 2026 20:56:20 +0000 (05:56 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 10 Jul 2026 07:35:19 +0000 (16:35 +0900)
The new SD_ELF_NOTE_DLOPEN_ANCHORED() macro utilizes the 'o' assembler
flag (SHF_LINK_ORDER), which requires binutils >= 2.35 or LLVM >= 18.
If an LLVM version older than 18 is encountered, the macro automatically
falls back to the non-anchored variant.

This non-anchored fallback relies on the 'R' (SHF_GNU_RETAIN) flag,
which requires binutils >= 2.36 or LLVM >= 13.

Since the codebase now unconditionally adopts SD_ELF_NOTE_DLOPEN_ANCHORED()
tree-wide, the effective minimum toolchain requirements become:
- binutils >= 2.35 (to support the 'o' flag)
- LLVM/Clang >= 13 (to support the 'R' flag fallback for versions < 18)

Update the minimal toolchain versions in the README to reflect these
requirements for building systemd.

README

diff --git a/README b/README
index da71c73be7f670fb792f139e592f8f9daf289368..d0206aa17001af880008124d2a3311960a6524f8 100644 (file)
--- a/README
+++ b/README
@@ -256,9 +256,10 @@ REQUIREMENTS:
         ninja
         gcc >= 8.4
             >= 13.1.0 is required to build BPF program by using GCC
+        binutils >= 2.35
         awk, sed, grep, and similar tools
-        clang >= 10.0, llvm >= 10.0 (optional, required to build BPF programs
-                from source code in C)
+        clang,llvm >= 10 (optional, required to build BPF programs)
+                   >= 13 (optional, required to build the entire project)
 
         During runtime, you need the following additional
         dependencies: