Hello Mark, thanks a billion for you answer! You gave me a very good starting point!
Kindly, Anastasios > On 19 Jun 2020, at 21:15, Mark Wielaard <m...@klomp.org> wrote: > > Hi, > > On Thu, 2020-06-11 at 15:25 +0100, Anastasios Andronidis via Elfutils- > devel wrote: >> Could someone please help me with this: >> https://stackoverflow.com/questions/62293512/inject-a-preinit-array-section-in-an-elf-file-with-libelf >> >> I'm trying to do some runtime manipulation of an elf file and I'm a >> little bit lost with how to use libelf :/ >> >> Basically I want to copy an elf file to a new one and edit >> .preinit_array section. This is similar to what objcopy --add-section >> would do, but I only care about the elf headers and using libelf to >> achieve this. > > elfutils libelf can certainly help with adding or updating section data > and if requested update the section headers. See for example > tests/addsections.c. But you are responsible for updating and keeping > the program headers in sync with the section data/offsets yourself > (this is why in a lot of test/examples you actually see elf_flagelf > (elf, ELF_C_SET, ELF_F_LAYOUT) (to tell libelf not to assume it can > adjust the section headers itself) when you have an ELF file with > program headers (because you don't want the data offsets to get out of > sync). > > Cheers, > > Mark