RE: [PATCH bpf-next v3] docs/bpf: add llvm_reloc.rst to explain llvm bpf relocations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux