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

阿部 司 abe @ jo.tomakomai-ct.ac.jp
2014年 12月 9日 (火) 08:41:50 JST


SCREENホールディングス 塩見様、高田先生、皆様

苫小牧高専の阿部です。

> 開発環境がGCCの簡易パッケージを使用しておりますので、target/apsh4_gccの
> target_sil.hになりますが、確実にSIL_ENDIAN_LITTLEになっています。
>
> エンディアン関係の問題とのサジェスチョンを頂いたので、TINETを含て全ソー
> スのエンディアン関係の記述を調べてみました。その結果、tinet/net/net.hに
> 以下のような記述がありました。
>
> ーーここからーー
> /*
>  *  バイトオーダ変換の定義
>  */
>
> #ifdef TARGET_KERNEL_ASP
>
> #if defined(SIL_ENDIAN_BIG)
>
> #undef  SIL_ENDIAN_BIG
> #define SIL_ENDIAN_LITTLE	0
> #define SIL_ENDIAN_BIG		1
> #define SIL_ENDIAN		SIL_ENDIAN_BIG
>
> #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) */
>
> #endif	/* of #ifdef TARGET_KERNEL_ASP */
> ーーここまでーー
>
> この記述だと、SIL_ENDIAN_LITTLEとSIL_ENDIAN_BIGが両方定義されることにな
> るので問題だと思い、#elif defined(SIL_ENDIAN_LITTLE)側のSIL_ENDIAN_BIG
> の定義をコメントアウトしてmake dependしたところ正常に終了しました。但
> し、その後のmakeでエラーになりました。ソースを追いかけていないので不明
> ですが、無理やり変更した影響ではと考えています。
>
> とりあえず、速報でした。もう少し、ソースを追いかけてみます。
>
> 以上、よろしくお願いいたします。
>

バイトオーダーの問題でしたか。
昔からのトラブルで、ご迷惑をおかけして申し訳ありません。
こちらでも調べてみます。

-- 
.\" 苫小牧工業高等専門学校 情報工学科 教授 阿部 司
.\" 〒059-1275 北海道苫小牧市字錦岡443番地
.\" E-mail: abe @ jo.tomakomai-ct.ac.jp  TEL/FAX: 0144-67-8937