[PATCH] elf.h: Add BPF relocation types.
Yonghong Song
yhs@fb.com
Tue Jun 19 20:38:00 GMT 2018
On 6/19/18 1:34 PM, Mark Wielaard wrote:
> On Tue, 2018-06-19 at 22:06 +0200, Florian Weimer wrote:
>> On 06/16/2018 11:45 PM, Mark Wielaard wrote:
>>> The BPF ELF format has new relocation types R_BPF_64_64 and R_BPF_64_32.
>>> The existing R_BPF_MAP_FD was an extension that never got implemented.
>>> Remove it, because its constant conflicts with the official R_BPF_64_64.
>>
>> Is there an ABI manual against which we could review this change?
>>
>> The last change said that this was added to the Generic ABI
>>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.sco.com_developers_gabi_latest_contents.html&d=DwIFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=DA8e1B5r073vIqRrFz7MRA&m=vat1LaeLAQ_XbOs1SRdavOCV310jx4Ctku_6Jcq72HY&s=r5vE3J-yD5ebnpdq_d0AkFfNFzewdpXShVKSvBULDzc&e=>, but there is
>> no evidence of that.
>
> Only the EM values are, since they are generic.
> It just takes a while before they make it to the public website.
> rth has an email from the maintainer though with the assigned value.
>
> The relocation constants don't have a separate ABI manual
> (because BPF isn't really a full blown architecture/abi).
> Those are kept in sync between the projects handling BPF elf files
> (which is this patch, which is a prerequisite for getting the same
> constants into elfutils, because we see the glibc elf.h as the
> master copy that holds all GNU/Linux ELF constants.)
The LLVM source code for the definition is here:
https://github.com/llvm-mirror/llvm/blob/master/include/llvm/BinaryFormat/ELFRelocs/BPF.def
Yes, BPF related documentation has been lacking. For example,
the support in binutils is not there yet. But we are starting
to work on it.
Thanks!
Yonghong
>
> Thanks,
>
> Mark
>
More information about the Libc-alpha
mailing list