Updated rodata scanner to skip pins without relocs in shared libs
Shared libs need a reloc for a code pointer to live in rodata. I found in ffmpeg that many spurious pins were occuring because constant (particularly with relatively small values) data looked like code poitners (because the code's load point is address 0 in a shared library). To avoid these spuriosu pins, I extended the code pin algorithm to check isDLL() (which includes shared objects) and for a reloc before attempting to pin in the rodata. A perf. optimization verifies that it _might_ result in a pin before checking for a reloc, as checking for a reloc can be slow, while checking for a possible pin location is fast.
parent
53db4a96
No related branches found
No related tags found
Checking pipeline status
Loading
Please register or sign in to comment