Building libicu from
http://packages.ubuntu.com/hardy/libicu38
using
configure --build=i686-pc-linux-gnu --host=arm-3d-linux-gnueabi
make
Configured and built without issue for a while then blew up;
arm-3d-linux-gnueabi-g++ -D_REENTRANT \
-I../common -I/tmp/icu/icu-3.8/icu/source/i18n \
-I/tmp/icu/icu-3.8/icu/source/common \
-DU_I18N_IMPLEMENTATION -g -O2 -fvisibility=hidden \
-c -DPIC -fPIC -o rematch.o \
/tmp/icu/icu-3.8/icu/source/i18n/rematch.cpp
/tmp/icu/icu-3.8/icu/source/i18n/rematch.cpp: In member function
void icu_3_8::RegexMatcher::MatchAt(int32_t, UErrorCode&):
/tmp/icu/icu-3.8/icu/source/i18n/rematch.cpp:2290:
error: unrecognizable insn:
(insn 4205 1393 1395 183 /tmp/icu/icu-3.8/icu/source/i18n/rematch.cpp:1462
(set (reg:SI 8 r8)
(plus:SI (reg:SI 3 r3 [971])
(mult:SI (reg/v:SI 14 lr [orig:254 opValue.2027 ] [254])
(const_int 32 [0x20])))) -1 (nil))
/tmp/icu/icu-3.8/icu/source/i18n/rematch.cpp:2290:
internal compiler error: in extract_insn, at recog.c:1990
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[1]: *** [rematch.o] Error 1
make[1]: Leaving directory `/tmp/icu/icu-3.8/icu/work/i18n'
make: *** [all-recursive] Error 2
Workaround:
Avoid using "-O2" on the compile line for the rematch.cpp source.
This can be done in the pre-configured source by patching;
icu-3.8/icu/source/i18n/Makefile.in
after the entry
"all-local: $(ALL_TARGETS)"
add
rematch.o: $(srcdir)/rematch.cpp
$(CXX) $(CPPFLAGS) $(DEFS) -c -o $@ $<
--
Summary: internal compiler error building libicu package
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: john dot spelis at 3dlabs dot com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: arm-3d-linux-gnueabi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36920