[FFmpeg-devel] Memory leak using bitstream filters with shared libs
Sun Mar 9 04:57:29 CET 2008
On Sun, 2008-03-09 at 03:42 +0000, M?ns Rullg?rd wrote:
> I can't see a reason why both bits of code can't use similar
> indirection to pick up the real address of the function.
They can - if you compile both with -fPIC.
> whereas the relevant instruction from ffmpeg.c is
> movq $0x4038a0,0x48(%rsp)
> The address 0x4038a0 is a PLT entry with a jump instruction:
> jmpq *0x20e9a2(%rip)
> Why can't the movq instruction reference the GOT instead of using the
> PLT entry? I realise this would prohibit lazy binding of this symbol,
> but surely there's a way to handle that.
Note that the mov is writing a direct value, not reading from any memory
address. I assume you compiled it without -fPIC. If you compile with
-fPIC then it will use indirection through GOT.
More information about the ffmpeg-devel