README: mention binutils requirement, bump LLVM requirement for ELF note macros

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.
This commit is contained in:
Yu Watanabe
2026-07-10 16:35:19 +09:00
parent a74b3e1778
commit 3853a40f39
+3 -2
View File
@@ -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: