[Ffmpeg-devel] Compiler error in latest CVS
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: *** [snowdsp_mmx.o] Error 1
> > > make: Leaving directory `/root/mythtv-svn/mythtv/libs/libavcodec'
> > > make: *** [sub-libavcodec] Error 2
> > > make: 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
More information about the ffmpeg-devel