From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020607 Description of problem: When I'm compiling 20020709 version of mplayer (and the same version of ffmpeg) with gcc3-3.1-5 (from J. Jelinek's ftp directory), I get an internal compiler error (without a segfault). Version-Release number of selected component (if applicable): gcc3-3.1-5 How reproducible: Always Steps to Reproduce: 1. download mplayer's source CVS version 20020709 2. download ffmpeg's source, same version 3. copy ffmpeg's libavcodec directory into mplayer's source tree 4. ./configure --prefix=/usr --datadir=/usr/share/mplayer --confdir=/etc/mplayer --language=en --enable-runtime-cpudetection --enable-dga --enable-fbdev --enable-i18n --enable-largefiles --enable-mga --enable-tdfxfb --enable-vm --enable-x11 --enable-xmga --enable-xv --disable-alsa --disable-arts --disable-aa --disable-divx4linux --disable-xvid --disable-ggi --disable-gif --disable-gl --enable-gui --disable-jpeg --disable-lirc --disable-mad --enable-sdl --enable-vidix --enable-vorbis --with-win32libdir=/usr/local/lib/win32 --with-xanimlibdir=/usr/X11R6/lib/xanim 5. make Actual Results: When the build process reaches libavcodec compilation, gcc3 dies with internal compiler error message: [...] /usr/bin/make -C libavcodec make[1]: Entering directory `/usr/local/share/builder/pkg/BUILD/MPlayer-20020709/libavcodec' gcc3 -O4 -march=i486 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -DHAVE_AV_CONFIG_H -I.. -c -o common.o common.c gcc3 -O4 -march=i486 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -DHAVE_AV_CONFIG_H -I.. -c -o utils.o utils.c gcc3 -O4 -march=i486 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -DHAVE_AV_CONFIG_H -I.. -c -o mem.o mem.c gcc3 -O4 -march=i486 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -DHAVE_AV_CONFIG_H -I.. -c -o allcodecs.o allcodecs.c gcc3 -O4 -march=i486 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -DHAVE_AV_CONFIG_H -I.. -c -o mpegvideo.o mpegvideo.c gcc3 -O4 -march=i486 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -DHAVE_AV_CONFIG_H -I.. -c -o h263.o h263.c h263.c: In function `mpeg4_decode_picture_header': h263.c:3755: unable to generate reloads for: (insn:QI 1628 1625 1629 (parallel[ (set (reg:CCZ 17 flags) (compare:CCZ (lshiftrt:SI (reg/v:SI 3 ebx [318]) (const_int -13 [0xfffffff3])) (const_int 0 [0x0]))) (set (reg/v:SI 1 edx [315]) (lshiftrt:SI (reg/v:SI 3 ebx [318]) (const_int -13 [0xfffffff3]))) ] ) 456 {*lshrsi3_cmp} (insn_list 1433 (nil)) (expr_list:REG_DEAD (reg/v:SI 3 ebx [318]) (nil))) h263.c:3755: Internal compiler error in find_reloads, at reload.c:3571 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions. make[1]: *** [h263.o] Error 1 make[1]: Leaving directory `/usr/local/share/builder/pkg/BUILD/MPlayer-20020709/libavcodec' make: *** [libavcodec/libavcodec.a] Error 2 Expected Results: It should've compiled without errors, just like 20020705 version I tried before. Additional info: I'm running kernel 2.4.19-rc1.
I tracked the problem down to a single file, which is included from h263.c: libavcodec/common.h Revision 1.44 compiles, 1.45 doesn't, 1.46 does it again (because the problem code is not compiled if gcc major version is 3), while in rev. 1.47 this code gets compiled again and produces the error. So, in short, the changes between revisions 1.44 and 1.47 of this file trigger this error. HTH.
Sorry for misinformation. Only Revision 1.45 of common.h triggers this bug. 1.47 compiles fine. To be exact: $ cvs update -D "2002-07-09 15:00:00" in the ffmpeg directory retrieves the exact version that causes problems. Sorry again.
Can you attach preprocessed h263.c which triggers this bug (see -save-temps gcc option)? Thanks.
Created attachment 64570 [details] h263.i and h263.i, tar'd and bzip2'd
Created attachment 64571 [details] h263.i and h263.s, tar'd and bzip2'd
http://gcc.gnu.org/ml/gcc-patches/2002-07/msg00445.html
Fixed in gcc-3.1-8 and later.