vine-users ML アーカイブ



[vine-users:068450] gcc "unable to generate reloads ..." エラーとその対処について

  • From: Yasufumi Haga <yasufumi.haga@xxxxxxxxx>
  • Subject: [vine-users:068450] gcc "unable to generate reloads ..." エラーとその対処について
  • Date: Fri, 05 Nov 2004 19:20:31 +0900 (JST)
こんばんは、芳賀です。

gcc 2.95.3 を使用してコンパイルしている時に以下のエラーが発生したので
すが、

  edje_embryo.c: In function `_edje_embryo_fn_set_text_class':
  edje_embryo.c:1082: Unable to generate reloads for:

この対処方法としては、gcc のアップグレードが正解でしょうか?
アドバイスをいただければと思います。

使用したマシンは、

  * Vine Linux 2.6r4
  * kernel 2.4.27
  * gcc 2.95.3
  * autoconf 2.59
  * automake 1.9.3

です。このマシンを使用して http://www.enlightenment.org/pages/edje.html
にある edje ライブラリを昨日 enlightenment の CVS から取得してコンパイ
ルしたのですが、以下のエラーが発生しました。

gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../.. -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/
usr/local/include -I/usr/local/include -g -O2 -c edje_embryo.c -Wp,-MD,.deps/libedje_la-edje_embryo.TPlo  -fPIC -DPIC 
-o .libs/libedje_la-edje_embryo.lo
edje_embryo.c: In function `_edje_embryo_fn_set_text_class':
edje_embryo.c:1082: Unable to generate reloads for:
(insn 182 178 183 (parallel[ 
            (set (reg/v:SI 0 %eax)
                (fix:SI (fix:SF (subreg:SF (reg:SI 0 %eax) 0))))
            (clobber (mem:HI (plus:SI (reg:SI 6 %ebp)
                        (const_int -2 [0xfffffffe])) 0))
            (clobber (mem:HI (plus:SI (reg:SI 6 %ebp)
                        (const_int -4 [0xfffffffc])) 0))
            (clobber (mem:SI (plus:SI (reg:SI 6 %ebp)
                        (const_int -8 [0xfffffff8])) 0))
            (clobber (scratch:HI))
        ] ) 145 {fix_truncsfsi2+1} (insn_list 178 (nil))
    (expr_list:REG_DEAD (reg:SI 0 %eax)
        (expr_list:REG_UNUSED (scratch:HI)
            (nil))))

これに関する情報を google したところ、
  http://gcc.gnu.org/ml/gcc-bugs/2001-12/msg00860.html
という記事を見つけまし。そこでこれを参考に、全 Makefile 中に定義されて
いる "-O2" オプションをすべて削除し、make し直したところ、コンパイルは
正常終了しました。どうやら gcc の optimizer のバグのようです。

私の使い方、およびその環境では Vine Linux 2.6r4 は極めて安定しており、
Vine Linux 自体のアップグレードはまだ考えていないのですが、そのような
場合、このエラーへの対処としては、gcc のアップグレード(3.4.2 へ?)
が一般的でしょうか、それとも他にも方法はありますでしょうか?

よろしくお願いします。
---
Yasufumi Haga   yasufumi.haga@xxxxxxxxx
                http://homepage3.nifty.com/peterpan/
fingerprint:0EFA 299A BC32 7D68 1FEF  BA2B 804E 9B15 C4F0 F9F0

Attachment: pgpZMeTm9tc1h.pgp
Description: PGP signature