[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(toppers-users 974) Re: GNU開発環境の構築について
- To: <users at toppers jp>
- From: "Takayuki WAKABAYASHI" <takayuki at ertl jp>
- Date: Thu, 26 Jun 2003 19:06:02 +0900
豊橋技術科学大学の若林です。
こちらの手元でも同じことをやってみましたが、落ちますね。
対策ですが、gcc-3.2.1/gcc/fixinc/gnu-regex.c:5723の
mempcpyの手前にあるアンダーバーを消してください。
これで環境が作れると思います。
--- 根拠 ---
エラーの詳細はこのような感じです。
---8<---
gcc -DIN_GCC -DHAVE_CONFIG_H -DIN_GCC -DCROSS_COMPILE -g
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H
-DGENERATOR_FILE -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -I. -I.. -I../../..
/gcc/fixinc -I../../../gcc/fixinc/.. -I../../../gcc/fixinc/../config -I../../../
gcc/fixinc/../../include -o fixincl.exe fixincl.o fixtests.o fixfixes.o server.
o procopen.o gnu-regex.o fixlib.o ../../libiberty/libiberty.a /usr/lib/libcygwin.a
gnu-regex.o(.text+0x8969): In function `regerror':
/home/takayuki/h8cross/gcc-3.2.1/obj/gcc/fixinc/../../../gcc/fixinc/gnu-regex.c:
5723: undefined reference to `___mempcpy'
collect2: ld returned 1 exit status
make[1]: *** [full-stamp] Error 1
make[1]: Leaving directory `/home/takayuki/h8cross/gcc-3.2.1/obj/gcc/fixinc'
make: *** [fixinc.sh] Error 2
---8<---
出力された内容がこの程度まであると、エラーの原因が
gcc-3.2.1/gcc/fixinc/gnu-regex.cの5723行目にあると分かります。
問題の場所を見ると、
*((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
という感じで、アンダーバーが2個付いた状態でmempcpy関数が使われています。
ここで、gcc-3.3の同じソースを見てみると、
*((char *) mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
という感じで、アンダーバーが消されています。
gccのどこがどう変更されたかと言う情報は、gcc/ChangeLogというファイルにあります。
これを開いてmempcpyを探すと、
---8<---
2003-04-15 Kaveh R. Ghazi <ghazi at caip rutgers edu>
PR target/10338
PR bootstrap/10198
PR bootstrap/10140
* fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
---8<---
とあります。
gcc-3.2.1のChangeLogの最終が2002-11-19なので、
gcc3.2.1からgcc-3.3までの間に見つかった不具合なのでしょう。
うまい具合に踏んでしまったようです。
gcc-3.3で修正されているように、同じように直してあげれば、
コンパイルは通ると思います。
--------
豊橋技術科学大学 情報工学系 組込みリアルタイムシステム研究室
若林 隆行 (takayuki at ertl jp)