[MPlayer-dev-eng] [PATCH] -fPIC support for libswscale
Michael Niedermayer
michaelni at gmx.at
Sat Aug 12 18:43:47 CEST 2006
Hi
On Sat, Aug 12, 2006 at 11:20:53AM -0400, Jason Tackaberry wrote:
[...]
> > > - : "%"REG_a, "%"REG_b, "%"REG_c, "%"REG_d, "%"REG_S, "%"REG_D
> > > + : "%"REG_a, "%"REG_BP, "%"REG_c, "%"REG_d, "%"REG_S, "%"REG_D
> >
> > ive a bad feeling about this change, i wont accpet this unless it is tested
> > on 2.95,3.4,4.something (test here means the specific piece above must be
> > executed and produce a binary identical picture)
> > the problem is gcc uses ebp to access "m" if -fomit-frame-pointer isnt used
> > (so yes the test MUST NOT use that of course)
>
> Yeah, you're right, without -fomit-frame-pointer it doesn't like the
> fact that REG_BP gets clobbered. I could push/pop it, but then I might
> as well push/pop ebx. The problem is when I do this (whether it's with
> ebx or ebp) I get a segfault when dereferencing the register that has
> the location to mmx2FilterPos, and I'm not quite sure why.
"m" are accessed via esp (the stack pointer) if -fomit-frame-pointer
is used, push/pop put and remove stuff from the stack, to do that they
increase and decrease esp ...
>
> Will you accept a patch that builds with -fno-PIC or -fPIC
> -fomit-frame-pointer but not -fPIC (without -fomit-frame-pointer)? The
> problem is with -fPIC and not -fomit-frame-pointer we have too few free
> registers and would require far more mutilation of libswscale than
> anyone would be willing to accept.
ok
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is
More information about the MPlayer-dev-eng
mailing list