[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(toppers-users 2539) Re: コンフィギュレータのアライメント
- To: users at toppers jp
- From: Masaki Muranaka <monamour at monaka org>
- Date: Fri, 15 Sep 2006 17:20:16 +0900
こんにちは.
うーん.議論が噛み合っていませんねぇ.
SIGBUSが飛ばないことと,ユーザが指定した通りにアラインが
取れることは必ずしも等価ではありませんよ.
既に少し触れましたが,128ビット境界のアラインを要求する
ABIがあるtripletで,__int128_t の配列の先頭アドレスが
128ビット境界にならない,というgccの実装があります.
SIGBUSは飛びませんが,厳密にはABI違反です.
しかし,これを処理系の中で回避する方法はたぶんありません.
…っていうような辛く切ない話は,カーネル実装でもしないと
直面しませんから,噛み合なくても仕方ないかもしれませんが….;-(
On 2006/09/15, at 15:26, komori at rasteme co jp wrote:
完全にread onlyのものです。
処理系がターゲットCPUに対して、通常のtype指定で
バスエラーが発生しないとしたら
バッファーをstructなりunionでとっておき、
そのstructなりunionの先頭にアライメントを指定しよ
うとするtypeを
定義しておけば、バッファーのアライメントは処理系に依存しないで
指定したtypeに合うことが保証されると思います。
従って。少なくともバスエラーが発生する可能性は有りません。
本MLの趣旨に合わないスレッドな上に,さらに余談ですが,
稀に構造体メンバを入れ替える(非標準な)オプションを持つ
処理系があると聞いています.
保守的な立場を取るのであれば,structは怖くて使えません.
--
from もなか