UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 38592

12.1 EDK - mb-gcc でビットフィールドを使用したストラクチャが正しくパックされない

説明

「packed」属性を使用したビットフィールドで変数をパックしようとすると、変数が期待サイズと一致しません。

ソリューション


char 型の変数のビットフィールドが正しくパックされないという、GNU GCC の既知の問題があります。これはオンラインの GCC 資料に記載されています。 http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html

メモ : GCC の 4.1、4.2 および 4.3 シリーズでは char 型のビットフィールドの「packed」属性が無視されます。これは GCC 4.4 で修正されていますが、この変更のためにストラクチャ レイアウトに違いができる可能性があります。詳細は、-Wpacked-bitfield-compat の資料を参照してください。

また、これは enum 型にも同じ問題が起きる可能性があります。enum は ANSI/ISO C で特定サイズに定義されていません。つまり、char、short、または int 型に置き換えることができます。


この問題を回避するには、char または enum ではなく、int または short 型を使用してください。
AR# 38592
作成日 10/13/2010
最終更新日 10/14/2010
ステータス アクティブ
タイプ 一般
ツール
  • EDK - 12.1
  • EDK - 12.2
  • EDK - 12.3