[FFmpeg-devel] Why 'You can only build one library type at once on MinGW'?

Rich Felker dalias
Wed May 9 16:07:48 CEST 2007


On Wed, May 09, 2007 at 10:50:56AM +0200, Michel Bardiaux wrote:
> >> while under Linux they're different (shared objects
> >> needs to be compiled with -fPIC and access global data through %ebx?),
> 
> No, PIC is usually not required. PIC just guarantees the dso can be 
> relocated to any address. Without that its not possible to run when 
> there are conflicts of address ranges.

Nope, this is not true. Rather, without PIC, relocations remain inline
in the code rather than isolated to GOT/PLT tables. This means that
the dynamic linker must modify large amounts of code at startup
(runtime), resulting in unsharable pages and bad initial performance.
However it in no way precludes relocation.

Rich




More information about the ffmpeg-devel mailing list