Package: g++-4.3 Version: 4.3.0-5 Severity: important g++-4.3 fails to build texlive-bin on armel (but not on arm), with the following error:
g++ -D_REENTRANT -I../../../../libs/icu-xetex/i18n -I../common -I../../../../libs/icu-xetex/common -D_REENTRANT -DU_I18N_IMPLEMENTATION -g -O2 -c -o rematch.ao ../../../../libs/icu-xetex/i18n/rematch.cpp ../../../../libs/icu-xetex/i18n/rematch.cpp: In member function 'void icu_3_4::RegexMatcher::MatchAt(int32_t, UErrorCode&)': ../../../../libs/icu-xetex/i18n/rematch.cpp:2293: error: unrecognizable insn: (insn 4198 1384 1386 184 ../../../../libs/icu-xetex/i18n/rematch.cpp:1465 (set (reg:SI 12 ip) (plus:SI (reg:SI 3 r3 [953]) (mult:SI (reg/v:SI 14 lr [orig:234 opValue.2048 ] [234]) (const_int 32 [0x20])))) -1 (nil)) ../../../../libs/icu-xetex/i18n/rematch.cpp:2293: internal compiler error: in extract_insn, at recog.c:1990 Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.3/README.Bugs> for instructions. Reduced testcase attached. -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (500, 'unstable') Architecture: armel (armv5tejl) Kernel: Linux 2.6.25-1-versatile Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to fr_FR.UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages g++-4.3 depends on: ii gcc-4.3 4.3.0-5 The GNU C compiler ii gcc-4.3-base 4.3.0-5 The GNU Compiler Collection (base ii libc6 2.7-10 GNU C Library: Shared libraries ii libgcc1 1:4.3.0-5 GCC support library ii libgmp3c2 2:4.2.2+dfsg-3 Multiprecision arithmetic library ii libmpfr1ldbl 2.3.1.dfsg.1-2 multiple precision floating-point ii libstdc++6-4.3-dev 4.3.0-5 The GNU Standard C++ Library v3 (d g++-4.3 recommends no packages. -- no debconf information
extern "C" { typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); } typedef unsigned short int uint16_t; typedef unsigned int uint32_t; typedef int8_t UBool; typedef uint16_t UChar; typedef int32_t UChar32; typedef void *UClassID; typedef enum UErrorCode { } UErrorCode; namespace icu_3_4 { class UMemory { }; class UObject:public UMemory { }; class Replaceable:public UObject { }; class UnicodeString:public Replaceable { public: inline const UChar *getBuffer () const; }; class UVector; class UVector32; struct REStackFrame; struct Regex8BitSet; class RegexPattern:public UObject { public: UVector32 * fCompiledPat; UVector *fSets; Regex8BitSet *fSets8; }; class RegexMatcher:public UObject { virtual UBool find (); static UClassID getStaticClassID (); REStackFrame *resetStack (); const RegexPattern *fPattern; const UnicodeString *fInput; }; class UnicodeFunctor:public UObject { }; class UnicodeMatcher { }; class UnicodeFilter:public UnicodeFunctor, public UnicodeMatcher { }; } namespace icu_3_4 { class UnicodeSet:public UnicodeFilter { }; class UVector:public UObject { public: void *elementAt (int32_t index) const; }; class UVector32:public UObject { public: int32_t * getBuffer () const; int32_t *reserveBlock (int32_t size, UErrorCode & status); }; inline int32_t *UVector32::reserveBlock (int32_t size, UErrorCode & status) { } enum { URX_BACKTRACK = 1, }; struct REStackFrame { int32_t fInputIdx; int32_t fPatIdx; }; struct Regex8BitSet:public UMemory { inline Regex8BitSet (); inline UBool contains (UChar32 c); int8_t d[32]; }; inline Regex8BitSet::Regex8BitSet () { } inline UBool Regex8BitSet::contains (UChar32 c) { return ((d[c >> 3] & 1 << (c & 7)) != 0); } UBool RegexMatcher::find () { int32_t op; int32_t opType; int32_t opValue; int32_t *pat = fPattern->fCompiledPat->getBuffer (); UVector *sets = fPattern->fSets; const UChar *inputBuf = fInput->getBuffer (); REStackFrame *fp = resetStack (); { op = pat[fp->fPatIdx]; opType = ((uint32_t) (op) >> 24); opValue = ((op) & 0xffffff); switch (opType) { case URX_BACKTRACK: { UChar32 c; { (c) = (inputBuf)[(fp->fInputIdx)++]; Regex8BitSet *s8 = &fPattern->fSets8[opValue]; if (s8->contains (c)) UnicodeSet *s = (UnicodeSet *) sets->elementAt (opValue); } } } } } UClassID RegexMatcher::getStaticClassID () { } }