Hi. This follows on from my change to improve the error handling around llvm-objcopy in libbtf.c. Note on recipients: Please let me know if I should adjust To or CC. Note on style: I've generally placed declarations as allowed by C99, closest to point of use. Let me know if you'd prefer otherwise. 1. Improve ELF error reporting 2. Add .BTF section using libelf This shows the minimal amount of code needed to drive libelf. However, it leaves layout up to libelf, which is almost certainly not wanted. As an unexpcted side-effect, vmlinux is larger than before. It seems llvm-objcopy likes to trim down .strtab. 3. Manually lay out updated ELF sections This does full layout of new and updated ELF sections. If the update ELF sections were not the last ones in the file by offset, then it can leave gaps between sections. 4. Align .BTF section to 8 bytes This was my original aim. Regards. Giuliano Procida (4): btf_encoder: Improve ELF error reporting btf_encoder: Add .BTF section using libelf btf_encoder: Manually lay out updated ELF sections btf_encoder: Align .BTF section to 8 bytes libbtf.c | 222 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 175 insertions(+), 47 deletions(-) -- 2.30.0.280.ga3ce27912f-goog