Hi On Thu, 2020-08-20 at 08:51 -0700, Yonghong Song wrote: > > > Do you think we could skip these .debug_* sections somehow in elf > > > parsing in resolve_btfids? resolve_btfids does not need to read > > > these sections. This way, no need to change their alignment > > > either. > > > > The issue is that elfutils libelf will not allow writing out the > > section when it notices the sh_addralign field is setup wrongly. > > Maybe resolve_btfids can temporarily change sh_addralign to 4/8 > before elf manipulation (elf_write) to make libelf happy. > After all elf_write is done, change back to whatever the > original value (1). Does this work? Unfortunately no, because there is no elf_write, elf_update is how you write out the ELF image to disc. Since the code is using ELF_F_LAYOUT this will not change the actual layout of the ELF image if that is what you are worried about. And the workaround to set sh_addralign correctly before calling elf_update is precisely what the fix in elfutils libelf will do itself in the next release. Also binutils ld has been fixed to setup sh_addralign to 4/8 as appropriate now (in git). Cheers, Mark