cr icon indicating copy to clipboard operation
cr copied to clipboard

Bug: Elf relocation

Open septag opened this issue 5 years ago • 2 comments

On linux (elf), when we define a new .section add assign some variables to it, the .state section data gets mangled. I couldn't solve it yet, because I don't have enough knowledge on elf format and how the code accesses section data pointers. But I suspect that there must a bug within cr_elf_validate_sections where we fetch the pointer to section's data. For example, if we define a new variable:

__attribute__((section(".test"))) int test;

the .state data seems to be overwritten with zeros by 4 bytes I may do more investigations and keep you posted

septag avatar Mar 07 '19 19:03 septag

This can be some alignment issue. The new section may have caused .state to misalign or something similar. It would be nice to add this case in our tests, testing that it is broken and then another time we can fix for real and make sure we cover this case.

Unfortunately I'll not have much time to help on this for some time, in the meantime, if you get it fixed it will be awesome!

fungos avatar Mar 09 '19 20:03 fungos

Ok, I'll try to fix the issue but my knowledge from ELF is lacking and the vague api documentation doesn't help either.

septag avatar Mar 17 '19 08:03 septag