[Ffmpeg-devel] [BUG] Compilation failure when using --disable-opts
Michael Niedermayer
michaelni
Wed Mar 14 19:04:53 CET 2007
Hi
On Wed, Mar 14, 2007 at 04:34:26PM +0100, Panagiotis Issaris wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi
>
> Michael Niedermayer schreef:
> > On Wed, Mar 14, 2007 at 01:56:09PM +0100, Panagiotis Issaris wrote:
> >> Michael Niedermayer schreef:
> >>> On Thu, Mar 08, 2007 at 09:46:33PM +0100, Panagiotis Issaris wrote:
> >>>> Michael Niedermayer schreef:
> >>>>> On Thu, Mar 08, 2007 at 07:46:55PM +0100, Panagiotis Issaris wrote:
> >>>>>> Michael Niedermayer schreef:
> >>>>>>> On Thu, Mar 08, 2007 at 06:16:46PM +0100, Guillaume Poirier wrote:
> >>>>>>>> Panagiotis Issaris wrote:
> >>>>>>>>> When configuring FFmpeg revision 8295 (most recent SVN) to disable
> >>>>>>>>> optimizations (for easier debugging), the cabac.c file fails to compile:
> >>>>>>>>> "can't find a register in class ???GENERAL_REGS??? while reloading ???asm???"
> >>>>>>>>>
> >>>>>>>>> I've tried using several versions of GCC. Any tips on how to fix this?
> >>>>>>>> [...]
> >>>>>>> what would be correct is:
> >>>>>>> #if defined(ARCH_X86) && defined(CONFIG_EBP) && defined(CONFIG_EBX)
> >>>>>> What would CONFIG_EBP mean? Looking at the naming of the other CONFIG_*
> >>>>>> options, I'd say it means the "EBP" and "EBX" "features" would be
> >>>>>> enabled :) although it is quite unlikely EBP and EBX have other meanings
> >>>>>> than the obvious (register names).
> >>>>> yes CONFIG_EBP means that the EBP register is available
> >>>>> with gcc this is the case if and only if -fomit-frame-pointer is used
> >>>> This indeed fails to compile if -fomit-frame-pointer isn't used _if_
> >>>> optimization is turned on:
> >>>>
> >>>> int main() { asm volatile ("" ::: "ebp"); }
> >>>>
> >>>> With -O0 or without -Ox flag (which is what is used when --enable-opts
> >>>> is passed to configure) the testapp compiles fine in either case.
> >>>>
> >>>> So, with the flags used for the compilation of cabac.c, the testapp
> >>>> compiles fine.
> >>> compiles yes, works no
> >>>
> >>> try
> >>> int main() {
> >>> volatile int i=0;
> >>> asm volatile (
> >>> "xorl %%ebp, %%ebp"
> >>> ::: "%ebp");
> >>> return i;
> >>> }
> >>>
> >>> this will crash with -O0 and without -fomit-frame-pointer
> >> Hmm. Yes, but this would mean I'd have to add a testcase which checks if
> >> the above code crashes...
> >
> > doesnt a simple check_exec or whatever it was in configure work
> You are right, it already existed.
>
> The attached patch defines CONFIG_EBP in config.h if EBP is available.
>
> configure | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
looks ok but iam not configure maintainer
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I have never wished to cater to the crowd; for what I know they do not
approve, and what they approve I do not know. -- Epicurus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070314/b5708037/attachment.pgp>
More information about the ffmpeg-devel
mailing list