Yonghong Song wrote: > LLVM upstream commit https://reviews.llvm.org/D102712 > made some changes to bpf relocations to make them > llvm linker lld friendly. The scope of > existing relocations R_BPF_64_{64,32} is narrowed > and new relocations R_BPF_64_{ABS32,ABS64,NODYLD32} > are introduced. > > Let us add some documentation about llvm bpf > relocations so people can understand how to resolve > them properly in their respective tools. > > Cc: John Fastabend <john.fastabend@xxxxxxxxx> > Cc: Lorenz Bauer <lmb@xxxxxxxxxxxxxx> > Signed-off-by: Yonghong Song <yhs@xxxxxx> > --- [...] > __ https://reviews.llvm.org/D100362 > + > +Clang relocation changes > +======================== > + > +Clang 13 patch `clang reloc patch`_ made some changes on relocations such > +that existing relocation types are broken into more types and > +each new type corresponds to only one way to resolve relocation. > +See `kernel llvm reloc`_ for more explanation and some examples. > +Using clang 13 to compile old libbpf which has static linker support, > +there will be a compilation failure:: > + > + libbpf: ELF relo #0 in section #6 has unexpected type 2 in .../bpf_tcp_nogpl.o > + > +Here, ``type 2`` refers to new relocation type ``R_BPF_64_ABS64``. > +To fix this issue, user newer libbpf. > + > +.. Links > +.. _clang reloc patch: https://reviews.llvm.org/D102712 > +.. _kernel llvm reloc: /Documentation/bpf/llvm_reloc.rst > -- > 2.30.2 > LGTM. Acked-by: John Fastabend <john.fastabend@xxxxxxxxx>