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.
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: