Bug 68395 - gcc3-3.1-5 internal compiler error compiling ffmpeg CVS 20020709 version
Summary: gcc3-3.1-5 internal compiler error compiling ffmpeg CVS 20020709 version
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc3
Version: 7.3
Hardware: athlon
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-07-09 21:27 UTC by Dominik Mierzejewski
Modified: 2008-05-01 15:38 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2002-07-10 15:05:50 UTC
Embargoed:


Attachments (Terms of Use)
h263.i and h263.i, tar'd and bzip2'd (57.23 KB, application/octet-stream)
2002-07-10 10:59 UTC, Dominik Mierzejewski
no flags Details
h263.i and h263.s, tar'd and bzip2'd (57.23 KB, application/octet-stream)
2002-07-10 11:00 UTC, Dominik Mierzejewski
no flags Details

Description Dominik Mierzejewski 2002-07-09 21:27:52 UTC
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.

Comment 1 Dominik Mierzejewski 2002-07-09 22:20:10 UTC
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.

Comment 2 Dominik Mierzejewski 2002-07-10 00:34:43 UTC
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.


Comment 3 Jakub Jelinek 2002-07-10 10:31:16 UTC
Can you attach preprocessed h263.c which triggers this bug (see -save-temps
gcc option)? Thanks.

Comment 4 Dominik Mierzejewski 2002-07-10 10:59:57 UTC
Created attachment 64570 [details]
h263.i and h263.i, tar'd and bzip2'd

Comment 5 Dominik Mierzejewski 2002-07-10 11:00:34 UTC
Created attachment 64571 [details]
h263.i and h263.s, tar'd and bzip2'd

Comment 7 Jakub Jelinek 2002-08-16 08:27:03 UTC
Fixed in gcc-3.1-8 and later.


Note You need to log in before you can comment on or make changes to this bug.