Skip to content
Snippets Groups Projects
Jason Hiser's avatar
Jason Hiser authored
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.
6e68317a
History
Name Last commit Last update
..