On Mon, Apr 14, 2008 at 04:30:24PM +0200, Lucas Nussbaum wrote:
> On 14/04/08 at 11:58 +0200, Diego Biurrun wrote:
> > On Mon, Apr 14, 2008 at 12:48:56PM +0200, Lucas Nussbaum wrote:
> > > 
> > > During a rebuild of all packages in sid, your package failed to build on 
> > > i386.
> > > 
> > > This rebuild was done with gcc 4.3 instead of gcc 4.2, because gcc 4.3 is 
> > > now
> > > the default on most architectures (even if it's not the case on i386 yet).
> > > Feel free to downgrade this bug to 'important' if your package is only 
> > > built
> > > on i386, and this bug is specific to gcc 4.3 (i.e the package builds fine 
> > > with
> > > gcc 4.2).
> > > 
> > > Relevant part:
> > > > cc -g -O2 -I./libavcodec -I./libavformat -Wdisabled-optimization 
> > > > -Wno-pointer-sign -Wdeclaration-after-statement -I. -I. -I./libavutil 
> > > > -g -O2 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
> > > > -D_LARGEFILE64_SOURCE -DHAVE_CONFIG_H -I/usr/include/directfb 
> > > > -I/usr/include/  -I/usr/include/SDL  -D_REENTRANT   
> > > > -I/usr/include/freetype2 -I/usr/include -I/usr/include/gtk-2.0 
> > > > -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo 
> > > > -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 
> > > > -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 
> > > > -I/usr/include/libpng12   -I../libswscale -I../libavcodec  
> > > > -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 
> > > > -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdisabled-optimization 
> > > > -Wno-pointer-sign -Wdeclaration-after-statement -I. -I.. -I../libavutil 
> > > > -g -O2 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
> > > > -D_LARGEFILE64_SOURCE -DHAVE_CONFIG_H -I/usr/include/directfb 
> > > > -I/usr/include/  -I/usr/include/SDL  -D_REENTRANT   
> > > > -I/usr/include/freetype2 -I/usr/include -I/usr/include/gtk-2.0 
> > > > -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo 
> > > > -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 
> > > > -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 
> > > > -I/usr/include/libpng12    -c -o h264.o h264.c
> > > > h264.c: In function 'decode_cabac_residual':
> > > > h264.c:5350: warning: passing argument 4 of 
> > > > 'decode_significance_8x8_x86' discards qualifiers from pointer target 
> > > > type
> > > > cabac.h: In function 'get_cabac_noinline':
> > > > cabac.h:525: error: can't find a register in class 'GENERAL_REGS' while 
> > > > reloading 'asm'
> > > > cabac.h:525: error: 'asm' operand has impossible constraints
> > > > make[2]: *** [h264.o] Error 1
> > 
> > That is a bug in gcc, not MPlayer.  gcc should not run out of registers.
> 
> This might be caused by the default value of CFLAGS now set by
> dpkg-buildpackage. Maybe this code doesn't build with -O2 ?

No, certainly not. From the MPlayer developers side, only the build
flags chosen by MPlayer's configure are acceptable and anything else
is unsupported and very likely to fail.
In particular, -fomit-frame-pointer is mandatory. While there is
alternative code that works without, it is (for H.264 about 10%) slower
and thus not really acceptable.
Also, -O2 compared to the default of -O4 (equivalent to -O3) has very
different inlining behaviour and might cause significant performance
differences as well.

Greetings,
Reimar Döffinger


Reply via email to