[Ffmpeg-devel] Compiler error in latest CVS

Rich Felker dalias
Fri Mar 24 19:27:41 CET 2006


On Fri, Mar 24, 2006 at 12:10:00PM -0500, Isaac Richards wrote:
> On Friday 24 March 2006 11:11, Guillaume POIRIER wrote:
> > Hi,
> >
> > On 3/24/06, Kevin Kuphal <kuphal at dls.net> wrote:
> > > After the latest snow optimizations, I get this compiler error:
> > >
> > > i386/snowdsp_mmx.c: In function ?ff_snow_vertical_compose97i_sse2?:
> > > i386/snowdsp_mmx.c:490: error: PIC register ?%ebx? clobbered in ?asm?
> > > i386/snowdsp_mmx.c: In function ?ff_snow_vertical_compose97i_mmx?:
> > > i386/snowdsp_mmx.c:597: error: PIC register ?%ebx? clobbered in ?asm?
> > > make[2]: *** [snowdsp_mmx.o] Error 1
> > > make[2]: Leaving directory `/root/mythtv-svn/mythtv/libs/libavcodec'
> > > make[1]: *** [sub-libavcodec] Error 2
> > > make[1]: Leaving directory `/root/mythtv-svn/mythtv/libs'
> > > make: *** [sub-libs] Error 2
> > >
> > > gcc 4.0.1 on FC4.  It doesn't error on my gcc 3.2.2 system on RH9
> >
> > Looks like libavcodec can't be compiled as dynamic library with these
> > optimizations. Do you have a way to have MythTV user static version of
> > lavc?
> 
> It's not the optimizations.  As the error message says, the code's clobbering 
> ebx - everything else in libavcodec plays nice and doesn't.

Clobbering ebx is completely valid, but gcc does not allow it when
compiling with -fPIC. Disable PIC and it will work fine. Better yet,
send a bug report to the gcc developers telling them they should just
reload ebx with the GOT address after asm if it happened to get
clobbered.

Rich





More information about the ffmpeg-devel mailing list