btf: support both elf and raw BTF in loadKernelSpec #1177
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We use the cilium ebpf library in some old centos 4.18 kernel and the btf file generated by phaloe tools for CO-RE,the error occurs as like "apply CO-RE relocations: bad magic number '[159 235 1 0]' in record at byte 0x0", since the btf file we used is raw format when the cilium ebpf library only support parse elf format btf file。
Support both elf and raw BTF parse will make the cilium library be available in old centos 4.18 kernel(centos 8.0 or centos 8.1 kernel).
What's more, I see the libbpf added the same feature: libbpf/libbpf@0420f75
The similar commit in cilium library: 48bf2ba