(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)