[linux-m32r-ja:00265] xtermのビルドでinternal compiler error?
Kazuhiro Inaoka
inaoka.kazuhiro @ renesas.com
2007年 3月 30日 (金) 18:43:06 JST
申し訳ありません、結論書いていません。
builddで
http://www.linux-m32r.org/pipermail/build-status/Week-of-Mon-20070326/063624.html
gcc -I. -I. -DHAVE_CONFIG_H -I/usr/include/freetype2 -DNARROWPROTO=1
-DFUNCPROTO=15 -DOSMAJORVERSION=2 -DOSMINORVERSION=6 -D_GNU_SOURCE -g
-O2 -c ./fontutils.c ./fontutils.c:914:13: warning: null character(s)
ignored ./fontutils.c: In function 'xtermLoadFont': ./fontutils.c:910:
internal compiler error: Segmentation fault Please submit a full bug
report, with preprocessed source if appropriate. See
<URL:http://gcc.gnu.org/bugs.html> for instructions. For Debian
GNU/Linux specific bug reporting instructions, see
<URL:file:///usr/share/doc/gcc-4.1/README.Bugs>. make[1]: ***
[fontutils.o] Error 1
でしたが、ビルドしなおすと問題なくビルドが完遂しました。
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
cpp version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
問題の箇所は、
903: /*
904: * Normal/bold fonts should be the same width. Also, the min/max
905: * values should be the same.
906: */
907: if (!is_fixed_font(fnts[fNorm])
908: || !is_fixed_font(fnts[fBold])
909: || fnts[fNorm]->max_bounds.width != fnts[fBold]->max_bounds.width) {
910: TRACE(("Proportional font! normal %d/%d, bold %d/%d\n",
911: fnts[fNorm]->min_bounds.width,
912: fnts[fNorm]->max_bounds.width,
913: fnts[fBold]->min_bounds.width,
914: fnts[fBold]->max_bounds.width));
915: proportional = True;
916: }
ですが、少々TRACE()が怪しいです。関数コールならまだしも、
trace.hで
extern void Trace ( char *, ... )
#define TRACE(p) Trace p
のように使う場合があるようです。マクロの引数が複数行にまたがる場合は
今もOKだったかな。。。(昔のGNUツールはOKだったような。。。)
ちなみに、
同様のケースで下記のように記述まちがいをするとInternal compiler errotを
だしていたこともあった。
#define DBG(x) {x}
DBG(printk("%08x^n",*p); <== )が足りない。
linux-m32r-ja メーリングリストの案内