64ビットホストでクロスコンパイラのビルドエラー

2195 views
Skip to first unread message

kozos

unread,
Mar 3, 2011, 5:23:40 AM3/3/11
to KOZOS友の会
坂井です。

Ubuntu 10.10、gcc-4.4.5の環境でクロスコンパイラ(gcc-3.4.6)をビルド
しようとしたときに、make install が以下のエラーで止まってしまうという
報告を受けています。

./libgcc2.c: In function `__muldi3':
./libgcc2.c:537: error: unrecognizable insn:
(insn 244 243 245 0 ./libgcc2.c:528 (set:HI (reg:HI 3 r3)
(const_int 4294967222 [0xffffffb6])) -1 (nil)
(nil))
./libgcc2.c:537: internal compiler error: in extract_insn, at recog.c:
2083
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [libgcc/./_muldi3.o] エラー 1
make[2]: ディレクトリ `/home/atu/etc/gcc-3.4.6/gcc' から出ます
make[1]: *** [stmp-multilib] エラー 2
make[1]: ディレクトリ `/home/atu/etc/gcc-3.4.6/gcc' から出ます
make: *** [all-gcc] エラー 2

調べてみたところ、gccの既出の問題で、64ビットホストでH8用の
クロスコンパイラをビルドすると上記エラーになるようです。
元ネタは以下です。
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29377

また以下でパッチ配布されています。
http://gcc.gnu.org/ml/gcc-patches/2006-10/msg00337.html

gcc-4.x.xではすでに修正されているため、gcc-3.4.6で発生する
問題のようです。

ちょっとまずい問題ですのでサポートページで情報公開したいと
思っているのですが、上記現象について、なにか情報をお持ちの
かたはいるでしょうか?

TY

unread,
Mar 3, 2011, 2:10:20 PM3/3/11
to kozos_t...@googlegroups.com
さかいさん、こんにちは、

そういえばそんなことがあったなぁと思って、自分の環境を調べてみました。

母艦は、(Fedora 13 x86_64)

gcc (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

で、gcc-3.4.6のh8300-elfのコンパイルした時に(Ubuntu 10.10と同じ)、

../../gcc-3.4.6/gcc/libgcc2.c: In function `__muldi3':
../../gcc-3.4.6/gcc/libgcc2.c:537: error: unrecognizable insn:
(insn 244 243 245 0 ../../gcc-3.4.6/gcc/libgcc2.c:528 (set:HI (reg:HI 3 r3)


(const_int 4294967222 [0xffffffb6])) -1 (nil)
(nil))

../../gcc-3.4.6/gcc/libgcc2.c:537: internal compiler error: in


extract_insn, at recog.c:2083
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [libgcc/./_muldi3.o] エラー 1

make[2]: ディレクトリ `/home/tadashi/UNARC/gcc-3.4.6_H8/gcc' から出ます


make[1]: *** [stmp-multilib] エラー 2

make[1]: ディレクトリ `/home/tadashi/UNARC/gcc-3.4.6_H8/gcc' から出ます


make: *** [all-gcc] エラー 2

となっていますね、、(全く同じ現象)


コンパイルしたのは昨年の夏だったので、何をしたかもう忘れてしまったのですが、
自分の手に負えなくて諦めた記憶があります。4系は下の環境でコンパイルが
通って実稼働しています。 ご参考まで、、

binutils-2.20
gcc-4.4.3
newlib-1.18.0

3.4.6のパッチは余裕があったら試してみます。

やまちゅう

2011年3月3日19:23 kozos <hsa...@saturn.dti.ne.jp>:

TY

unread,
Mar 3, 2011, 2:26:44 PM3/3/11
to kozos_t...@googlegroups.com
↓で配布のパッチでコンパイルは通りますね、、内容は未確認。

やまちゅう


2011年3月4日4:10 TY <yama...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages