Bug 68395 - gcc3-3.1-5 internal compiler error compiling ffmpeg CVS 20020709 version
gcc3-3.1-5 internal compiler error compiling ffmpeg CVS 20020709 version
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: gcc3 (Show other bugs)
7.3
athlon Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2002-07-09 17:27 EDT by Dominik Mierzejewski
Modified: 2008-05-01 11:38 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2002-07-10 11:05:50 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Dominik Mierzejewski 2002-07-09 17:27:52 EDT
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 18:20:10 EDT
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-09 20:34:43 EDT
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 06:31:16 EDT
Can you attach preprocessed h263.c which triggers this bug (see -save-temps
gcc option)? Thanks.
Comment 4 Dominik Mierzejewski 2002-07-10 06:59:57 EDT
Created attachment 64570 [details]
h263.i and h263.i, tar'd and bzip2'd
Comment 5 Dominik Mierzejewski 2002-07-10 07:00:34 EDT
Created attachment 64571 [details]
h263.i and h263.s, tar'd and bzip2'd
Comment 7 Jakub Jelinek 2002-08-16 04:27:03 EDT
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.