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