[Ffmpeg-devel] Re: [PATCH] Fix compilation when using --disable-opts

Uoti Urpala uoti.urpala
Sat Mar 31 23:57:31 CEST 2007


On Sat, 2007-03-31 at 23:39 +0200, Alexis Ballier wrote:
> > The assumption contained in your question - that 7 registers are assumed
> > with PIC - is false. If there are less than 7 registers available then
> > that's because ebx is reserved, and CONFIG_EBX_AVAILABLE is already
> > tested.
> 
> #if defined(ARCH_X86_64) || (defined(ARCH_X86_32) &&
> defined(CONFIG_EBX_AVAILABLE) && defined(CONFIG_EBP_AVAILABLE))
> #  define CONFIG_7REGS 1
> 
> doesnt that mean that 7 registers are assumed on X86_64 ?

Yes 7 registers are assumed on AMD64. And there will be 7 registers
available because there are more registers than on 32-bit so it doesn't
matter even if one is reserved.

> > Your compilation problems might be caused by CONFIG_EBX_AVAILABLE not
> > being set correctly. How are you creating the nonstandard build which
> > uses -fPIC on x86-32? Is that hack done by the Gentoo package by
> > default? Is it done by setting configure flags, and if so, only --cflags
> > or something else?

> /tmp/cceptutk.s: Assembler messages:
> /tmp/cceptutk.s:31: Error: junk `(%rip)' after expression

This error has nothing whatsoever to do with the number of available
registers, and is not the one mentioned in the first link you gave in
your original post.

So there are 2 separate problems:

error: PIC register '%ebx' clobbered in 'asm'
This is the one first linked to in your original mail, and is related to
CONFIG_7REGS.

Error: junk `(%rip)' after expression
This has nothing to do with CONFIG_7REGS. Reimar's earlier post talked
about this problem.





More information about the ffmpeg-devel mailing list