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

Trent Piepho xyzzy
Thu May 10 00:32:11 CEST 2007

On Wed, 9 May 2007, Rich Felker wrote:
> > On Wed, May 09, 2007 at 03:57:01PM +0100, M??ns Rullg??rd wrote:
> > Rich Felker wrote:
> > > 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.
> >
> > On x86_64 it does, at least in the general case.  A 32-bit immediate operand
> > might need 64 bits after relocation.  Theoretically, the compiler could have
> > a flag telling it to make all relocatable values 64-bit, but gcc doesn't to
> > my knowledge have such an option.
> This is a bug in the assembler..

How do you solve this?  The x86-64 ISA only allows for 32-bit displacements
in addresses and (in general) 32-bit immediate operands.

I do not understand how you can do a 64-bit relocation on a 32-bit field.

More information about the ffmpeg-devel mailing list