Hi,
this seems to be a famous one, possibly a GCC bug according to some fora. I can't build vdr-xine-0.8.2 and the related xine-lib on openSUSE 11.0 with
gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036] (SUSE Linux)
- apparently an asm optimization thing:
gcc -DHAVE_CONFIG_H -I. -I../../../../include -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -I../../../../lib -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DXINE_MPEG_ENCODER -D_ISOC9X_SOURCE -DCONFIG_DECODERS -I../../../../src/libffmpeg/libavutil -I../../../../src/libffmpeg -I../../../../src/libffmpeg -fomit-frame-pointer -fno-strict-aliasing -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wformat=2 -Wno-format-zero-length -Wmissing-format-attribute -Werror-implicit-function-declaration -Wstrict-aliasing=2 -mtune=pentiumpro -O3 -pipe -fomit-frame-pointer -falign-functions=4 -falign-loops=4 -falign-jumps=4 -fexpensive-optimizations -fschedule-insns2 -ffast-math -finline-functions -Wall -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -g -O2 -DNDEBUG -Os -MT dsputil_mmx.lo -MD -MP -MF .deps/dsputil_mmx.Tpo -c dsputil_mmx.c -fPIC -DPIC -o .libs/dsputil_mmx.o dsputil_mmx.c: In function ‘gmc_mmx’: dsputil_mmx.c:2486: warning: suggest parentheses around arithmetic in operand of | dsputil_mmx.c:2486: warning: suggest parentheses around arithmetic in operand of | dsputil_mmx.c:2487: warning: suggest parentheses around arithmetic in operand of | dsputil_mmx.c:2487: warning: suggest parentheses around arithmetic in operand of | dsputil_mmx.c:2487: warning: suggest parentheses around arithmetic in operand of | dsputil_mmx.c: At top level: dsputil_mmx.c:2692: warning: no previous prototype for ‘ff_put_cavs_qpel8_mc00_mmx2’ dsputil_mmx.c:2695: warning: no previous prototype for ‘ff_avg_cavs_qpel8_mc00_mmx2’ dsputil_mmx.c:2698: warning: no previous prototype for ‘ff_put_cavs_qpel16_mc00_mmx2’ dsputil_mmx.c:2701: warning: no previous prototype for ‘ff_avg_cavs_qpel16_mc00_mmx2’ h264dsp_mmx.c: In function ‘h264_h_loop_filter_luma_mmx2’: dsputil_mmx.c:636: error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’ dsputil_mmx.c:636: error: ‘asm’ operand has impossible constraints dsputil_mmx.c:636: error: ‘asm’ operand has impossible constraints dsputil_mmx.c:636: error: ‘asm’ operand has impossible constraints dsputil_mmx.c:636: error: ‘asm’ operand has impossible constraints h264dsp_mmx.c:393: error: ‘asm’ operand has impossible constraints dsputil_mmx.c:636: error: ‘asm’ operand has impossible constraints dsputil_mmx.c:636: error: ‘asm’ operand has impossible constraints
Is that a known problem, and does somebody have a patch curing this?