[Ffmpeg-devel] Compiler error in latest CVS

Rich Felker dalias
Sat Mar 25 01:15:47 CET 2006


On Fri, Mar 24, 2006 at 02:55:00PM -0500, Robert Edele wrote:
> On Fri, 2006-03-24 at 14:10 -0500, Rich Felker wrote:
> > On Fri, Mar 24, 2006 at 02:00:18PM -0500, Robert Edele wrote:
> > > That looks like my code. If PIC support is very important to anyone
> > > (whatever that is), they're free to write a patch that avoids the use of
> > > ebx. Avoiding it is easy in vertical_compose, but it will likely be very
> > > hard to avoid using in inner_add_yblock because every register gets
> > > used, and I already had to make sacrifices to squeeze it in the existing
> > > registers. A loss of speed in add_yblock is also inevitable if ebx is
> > > not used (perhaps as little as a push and pop of ebx if you can use that
> > > with GCC inline assmebly).
> > 
> > Ability to use push/pop depends on none of the "m" arguments being
> > esp-relative. Not sure how this affects your case since i didn't RTFS.
> > 
> > Rich
> Stack variables are used and thus esp must be preserved or accounted
> for.

As long as there's a frame pointer, stack variables in "m" arguments
will be ebp-relative, not esp-relative. However with
-fomit-frame-pointer I'm not sure how the compiler will pass them. In
the absence of sufficient registers I think it will have to use
esp-relative addressing.

Rich





More information about the ffmpeg-devel mailing list