implement support for R_X86_64_GLOB_DAT relocations
ivg opened this issue · 1 comments
Binaries on Manjaro do not employ R_X86_64_JUMP_SLOT relocations but are calling external functions via R_X86_64_GLOB_DAT which we in general support through the relocatable plugin, but either it is not triggered in (I think it doesn't enter the play for non-relocatable files, which is probably wrong) or is not detecting them correctly.
Additionally, obdump
symbols provider (and the future r2
provider) could handle them too. While objdump
itself is confused with these relocations, we can still get them using the -DRz
option, which will output them as
9f78: R_X86_64_GLOB_DAT malloc@GLIBC_2.2.5
Originally posted by @Enkelmann in #1131 (comment)
@gitoleg, I want you (after you will finish your current tasks) and after #1119 is merged to look into your relocatable symbolizer and see if (1) it handles R_X86_64_GLOB_DAT
relocations at all (I remember it was originally designed for direct jump relocations, but it could be the case that it will handle these also) and (2) if we can enable it for all binaries. Don't bother with the objdump symbolizer, I would probably look into it during #1119 or implement it later.