GCC internal error (unrecognizable insn ...) building qt4-x11 for Thumb-2 on armel

Bug #490391 reported by Dave Martin on 2009-11-30
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gcc-4.4 (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: gcc-4.4

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu lucid (development branch)
Release: 10.04
Codename: lucid

$ uname -r
2.6.31-105-imx51

Architecture: armel
gcc-4.4 4.4.2-3ubuntu1 (lucid)
qt4-x11 source 4.6.0~rc1-1ubuntu1(lucid)

See dpkg-status in the attached tarball for complete version info of installed packages.

To reproduce the bug, unpack the attached tarball, and from the unpacked directory run
$ . bug.sh

I get the following output:

++ g++ -c -g -O2 -O2 -fPIC -Wall -W -o qfsfileengine_unix.o qfsfileengine_unix.cpp
In file included from ../../../include/QtCore/qstring.h:2,
                 from ../../../include/QtCore/../../src/corelib/io/qdir.h:46,
                 from ../../../include/QtCore/qdir.h:2,
                 from ../../corelib/io/qabstractfileengine.h:46,
                 from ../../corelib/io/qfsfileengine_unix.cpp:44:
../../../include/QtCore/../../src/corelib/tools/qstring.h:91: note: the mangling of 'va_list' has changed in GCC 4.4
../../corelib/io/qfsfileengine_unix.cpp: In member function 'uchar* QFSFileEnginePrivate::map(qint64, qint64, QFile::MemoryMapFlags)':
../../corelib/io/qfsfileengine_unix.cpp:1309: error: unrecognizable insn:
(insn 636 635 218 23 ../../corelib/io/qfsfileengine_unix.cpp:1286 (set (reg:SI 9 r9 [+4 ])
        (and:SI (not:SI (ashiftrt:SI (reg:SI 14 lr [213])
                    (const_int 31 [0x1f])))
            (reg:SI 11 fp [ offset+4 ]))) -1 (nil))
../../corelib/io/qfsfileengine_unix.cpp:1309: internal compiler error: in extract_insn, at recog.c:2048
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions.

++ g++ -c -g -O2 -pthread -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -fPIC -o .obj/release-shared/qfsfileengine_unix.o qfsfileengine_unix-2.cpp
In file included from ../../include/QtCore/qstring.h:2,
                 from ../../include/QtCore/../../src/corelib/io/qdir.h:46,
                 from ../../include/QtCore/qdir.h:2,
                 from io/qabstractfileengine.h:46,
                 from io/qfsfileengine_unix.cpp:44:
../../include/QtCore/../../src/corelib/tools/qstring.h:91: note: the mangling of 'va_list' has changed in GCC 4.4
io/qfsfileengine_unix.cpp: In member function 'uchar* QFSFileEnginePrivate::map(qint64, qint64, QFile::MemoryMapFlags)':
io/qfsfileengine_unix.cpp:1309: error: unrecognizable insn:
(insn 693 692 240 27 io/qfsfileengine_unix.cpp:1286 (set (reg:SI 9 r9 [+4 ])
        (and:SI (not:SI (ashiftrt:SI (reg:SI 14 lr [218])
                    (const_int 31 [0x1f])))
            (reg:SI 11 fp [ offset+4 ]))) -1 (nil))
io/qfsfileengine_unix.cpp:1309: internal compiler error: in extract_insn, at recog.c:2048
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions.

I suspect that these are two instances of the same bug, rather than being instances of different bugs.

Both compiler invocations succeed if g++ is run with the -O2 options removed.

Dave Martin (dave-martin-arm) wrote :
Dave Martin (dave-martin-arm) wrote :

This might be a duplicate of https://bugs.launchpad.net/bugs/490466

Dave Martin (dave-martin-arm) wrote :

Patch posted upstream which should hopefully fix this:

http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00118.html

Matthias Klose (doko) wrote :

fixed in gcc-4.4 4.4.2-1ubuntu2

Changed in gcc-4.4 (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments