(toppers-users 4320) Re: TOPPERS/ASP1.8+TINET1.5.3でビルドできません

Hiroaki TAKADA hiro @ ertl.jp
2014年 12月 10日 (水) 21:43:27 JST


塩見様,皆様

> 今回のkernel/kernel_def.csvの変更は、SIL_ENDIAN_BIGとSIL_ENDIAN_LITTLEの
> 扱いをTOPPERS/JSPと同等にしたものと考えてよいでしょうか?

JSP の扱いでも,ASP の扱いでも対応できるように修正しました。ちょっと
トリッキーな方法を使っています。生成された cfg1_out.c の中の
TOPPERS_cfg_SIL_ENDIAN_BIG と TOPPERS_cfg_SIL_ENDIAN_LITTLE の定義を
見てもらえれば,何をやっているかわかると思います。

> となっており、#defineのSIL_ENDIAN_LITTLEとSIL_ENDIAN_BIGの0/1が逆ではと
> 思い0/1を入れ替えてビルドしたところ、MAGICのエラーは無くなりました。
> この対応で正しかったでしょうか?

この定義は,逆っぽいですね。阿部先生,ご確認ください。

高田広章
名古屋大学

On 2014/12/10 18:05, Makoto Shiomi wrote:
> 高田先生、阿部先生、MLの皆様
> 
> いつもお世話になっております。
> SCREENホールディングスの塩見です。
> 
> お忙しい中、対応して頂き有難うございます。
> 
> (2014/12/09 16:49), Hiroaki TAKADA wrote:
>> 阿部先生,塩見様,皆様
>>
>> JSP と ASPで,ENDIALマクロの構成を変更したのが原因のようです。
>>
>> SIL_ENDIAN_BIG と SIL_ENDIAN_LITTLE の2つのマクロがありますが,
>> JSP では,「該当する方を 1 に,該当しない方を 0 に定義する」と
>> していたのを,ASP では,「該当する方のみを定義する」と変更して
>> います。TINET では,ASP においても,JSP と同様のマクロに定義し
>> なおしているわけですが,それが,ASP の方に悪さをしているという
>> ことです。
>>
>> 塩見様へ。
>>
>> とりあえず,ASP側を修正して回避する方法をお知らせします。
>>
>> kernel/kernel_def.csv の最初の2行を,以下の2行に入れ換えてみて
>> ください。
> 
> 早速、アドバイス頂いた対応について実施してみたところ、無事にビルドを完了
> することが出来ました。まだ、ターゲットでの動作確認は出来ていませんが、こ
> れよりは、私のソースの問題になってきますので、動作するまで頑張ってみたい
> と思います。お忙しいところの対応、本当にありがとうございました。
> 
> 高田先生、一つだけ確認させて下さい。
> 今回のkernel/kernel_def.csvの変更は、SIL_ENDIAN_BIGとSIL_ENDIAN_LITTLEの
> 扱いをTOPPERS/JSPと同等にしたものと考えてよいでしょうか?
> 
> kernel/kernel_def.csvの修正を行ってビルドを行ったのですが、修正前と同じ
> MAGICのエラーが発生してしまいました。tinet/net/net.hの記述が
> 
> ーーここからーー
> #elif defined(SIL_ENDIAN_LITTLE)
> 
> #undef  SIL_ENDIAN_LITTLE
> #define SIL_ENDIAN_LITTLE	0
> #define SIL_ENDIAN_BIG		1
> #define SIL_ENDIAN		SIL_ENDIAN_LITTLE
> 
> #endif	/* of #if defined(SIL_ENDIAN_BIG) */
> ーーここまでーー
> 
> となっており、#defineのSIL_ENDIAN_LITTLEとSIL_ENDIAN_BIGの0/1が逆ではと
> 思い0/1を入れ替えてビルドしたところ、MAGICのエラーは無くなりました。
> この対応で正しかったでしょうか?
> 
> 以上、よろしくお願いいたします。
>