[MEncoder-users] mcdeint=2 segfault

R.L. Horn lists at eastcheap.org
Sun Apr 12 09:14:59 CEST 2009


On Sun, 12 Apr 2009, vmrsss wrote:

> On 10 Apr 2009, at 20:56, Christian Ebert wrote:
>> 'd love to try it, but:
>> 
>> cc -Wundef -Wdisabled-optimization -Wno-pointer-sign 
>> -Wdeclaration-after-statement -std=gnu99  -mdynamic-no-pic -falign-loops=16 
>> -shared-libgcc -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
>> -D_LARGEFILE64_SOURCE -I. -I/usr/local/include -I/sw/include 
>> -I/usr/X11/include -I/usr/local/include -I/sw/include/freetype2 
>> -I/sw/include -I/sw/include -I/usr/local/include 
>> -I/usr/local/include/libdvdread   -c -o liba52/imdct.o liba52/imdct.c
>> In file included from liba52/imdct.c:725:
>> liba52/imdct_3dnow.h: In function 'fft_asmb_3dnow':
>> liba52/imdct_3dnow.h:257: error: can't find a register in class 
>> 'GENERAL_REGS' while reloading 'asm'
>> make: *** [liba52/imdct.o] Error 1
>
> I had the same problem. This is because the CFLAGS set in configure for 
> Darwin have changed recently: adding back "-O4 -fomit-frame-pointer" worked 
> for me.

Looking at this a little harder, it does appear that you definitely need 
an -O option (which one, apart from -O0, doesn't seem to matter). 
Without it, I couldn't get imdct.c to compile with any version of gcc I 
have on hand.  I believe they all tend to imply -fomit-frame-pointer, but 
that alone isn't sufficient (or, evidently, even necessary):

   $(CC) -I. -O -c -o liba52/imdct.o liba52/imdct.c    works

   $(CC) -I. -O -fno-omit-frame-pointer -c -o liba52/imdct.o liba52/imdct.c
                                                       works

   $(CC) -I. -c -o liba52/imdct.o liba52/imdct.c       doesn't work

   $(CC) -I. -fomit-frame-pointer -c -o liba52/imdct.o liba52/imdct.c
                                                       doesn't work


More information about the MEncoder-users mailing list