Debugging ld.so in gdb
Florian Weimer
fweimer@redhat.com
Fri Feb 4 17:04:16 GMT 2022
* Jacob Kroon:
> I couldn't see that address anywhere in the output of "show files".
>
> But I did "full" recording, and found a place where just stepping a
> single instruction broke gdb interpreting the backtrace, if that is of
> any help. This is what I do:
>
> 1. goto instruction 225037
> 2. print backtrace (looks sane)
> 3. do "disas"
> 4. step one instruction with "stepi"
> 5. print backtrace (looks garbled)
> 6. do "disas"
Interesting. Can you figure out where *rpo points right before things
go wrong? If the debuginfo doesn't work, this should do it:
print (void *)$rax - 8
Maybe also look at map->l_name at this point, and further up the stack,
in dl_sort_maps, at maps and nmaps. It looks like we run off the end of
the array and write garbage to other areas of the process. 8-(
This must be caused by something unusual in the object dependencies.
Thanks,
Florian
More information about the Gdb
mailing list