(toppers-users 394) Re: question about v850-elf-chk
Takayuki WAKABAYASHI
takayuki @ ertl.ics.tut.ac.jp
2002年 5月 28日 (火) 08:34:26 JST
豊橋技術科学大学の若林です。
T.Fukushima [fukuy @ mue.biglobe.ne.jp]さんは書きました:
> v850でのコンパイル時で困っていることがあります。
> JSP-1.2/JSP-1.3でも同様の症状が発生しています。
> 設定上の問題でしょうか?
こちらの手元で再現しませんでした。
エラーを出力しているのは、カーネルの構成が正しいのかどうかを
判定するためのプログラムです。大きすぎる優先度や、設定できない
属性を与えた場合、このプログラムが警告を出してくれます。
チェッカーはロードモジュールの中身を変更しないので、
コンフィギュレーション設定に自信があれば、出力された
jspをそのまま使っていただいても大丈夫です。
チェッカーを外すには、Makefile:224-225にある行を削除してください。
#$(JSPDIR)/cfg/$(TARGET_PREFIX)chk で始まる行とその次
問題の原因ですが、使用しているbfdライブラリがV850用ではないのが
原因だと思います。送っていただいたログを見た限りですと、
構成チェッカの起動時に出るファイルフォーマット名が"elf32-little"
となっていますが、こちらでは "elf32-v850"となります。
チェッカーは、gccが関数名からシンボルを作る際 "_"をつけるか
どうかをbfdライブラリから取得しています。V850は"_"が付くので、
本来は"__kernel_tmax_tskid"となるはずなのですが、頂いたログでは
頭の"_"が一個しかありません。そのため、シンボルが見つからないと
言うエラーが出たのだと思います。
対処方ですが、V850用のbinutilsを作成する際、作ったbfdライブラリを
残しておいてください。詳しくはdoc/gnu_install.txtの「(5) BINUTILS
のインストール」の章にあります。
#このときホストのbfdライブラリとバージョンがあっていないと
#生成したchkがSegmentation Faultで落ちる場合があります。
##ヘッダの検索順序を調整することで対処できます
参考までに、こちらの現在の開発環境を載せておきます。
・VineLinux 2.5 (kernel-2.4.18)
#gcc 2.95.3, binutils 2.11
・binutils [v850-nec-elf] 2.11.2
・v850-nec-elf-gcc 3.0 (gcc-core-3.0)
以上 参考になれば幸いです。
--------
わかばやし たかゆき (mailto:takayuki @ ertl.ics.tut.ac.jp)