I’ve recently been doing some hacking (for food). I need to modify some object files (
.o) generated by GCC before they’re passed to linker. (Using elfutils)
I thought I was doing everything right, but
ld (GNU linker) insisted on crashing with segmentation fault. Finally,
eu-elflint told me what was wrong – I was unaware of the ELF requirement that LOCAL symbols must come before GLOBAL symbols in a symtab (symbol table), and that
sh_info is the boundary between LOCAL and GLOBAL symbols.
Many thanks to authors of elfutils, especially for their eu-elflint!
No related posts.