ダウンロード
Magazine
開発
アカウント
ダウンロード
Magazine
開発
ログイン
アカウント/パスワードを忘れた
アカウント作成
言語
ヘルプ
言語
ヘルプ
×
ログイン
ログイン名
パスワード
×
アカウント/パスワードを忘れた
日本語の翻訳状況
カテゴリ:
ソフトウェア
人物
PersonalForge
Magazine
Wiki
検索
OSDN
>
ソフトウェアを探す
>
ソフトウェア開発
>
デバッガ
>
pizzafactory-gnu-tools
>
チケット一覧/検索
>
チケット #11359
pizzafactory-gnu-tools
Fork
urjtag
gcc-fork
pf3gnuchains4x
release-debian-3x
pizza6+
pf3gnuchains3x
sourceware
概要
プロジェクト概要
開発ダッシュボード
Webページ
開発メンバー
画像ギャラリー
公開フィード一覧
活動
統計情報
活動履歴
ダウンロード
リリース一覧
統計
ソースコード
コードリポジトリリスト
Git
urjtag
gcc-fork
pf3gnuchains4x
release-debian-3x
pizza6+
pf3gnuchains3x
sourceware
Subversion
リポジトリ閲覧
チケット
チケット一覧
マイルストーン一覧
チケットの種類一覧
コンポーネント一覧
よく使われるチケット一覧のリスト/RSS
新規チケット登録
文書
Wiki
FrontPageの表示
ページ一覧
最近の更新
文書マネージャ
文書一覧
ニュース
チケット #11359
チケット一覧/検索
新規チケット登録
RSS
hr5000-toppers-gcc でalignedに関する不具合
登録:
2007-11-21 09:44
最終更新:
2007-11-21 09:44
モニタ
ON
OFF
報告者:
monamour
担当者:
(未割り当て)
チケットの種類:
バグ
状況:
オープン
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
なし
詳細
返信
HRPのプロセッサ「mips64」のスタックの整列について、
PizzaFactoryと(MIPSのサイトからダウンロードし
た)SDE
を比較してみました。
PizzaFactoryには、変数属性「aligned」に関係する不具
合がある
ようです。
*PizzaFactory
次のようなGCCを使用しました。
$ hr5000-toppers-gcc.exe -v
Reading specs from
c:/pizzafactory2/pizza/bin/../lib/gcc/hr5000-
toppers/3.4.3/sp
ecs
Configured with: ../src/configure --host=i686-pc-
mingw32 --build=i686-pc-linux-g
nu --target=hr5000-toppers --prefix=/pizza --disable-
tui --disable-shared --disa
ble-nls --enable-sjlj-exceptions --without-iconv
Thread model: single
gcc version 3.4.3 (TOPPERS special)
*SDE
次のようなGCCを使用しました。
$ sde-gcc.exe -v
Reading specs from
/usr/local/sde6.06/bin/../lib/gcc/sde/3.4.4/specs
Configured with: /cygdrive/c/releasetool.tmp/bank-
20070420-1231/B-i386-cygwin/to
olchain/mipssde-6.06.01/configure --target=sde --
prefix=/usr/local/sde6 --enable
-languages=c,c++ --without-newlib --disable-shared --
disable-nls --disable-tui -
-disable-multilib
Thread model: mipssde
gcc version 3.4.4 mipssde-6.06.01-20070420
*変数属性「aligned」を使用しないサンプル「sample2」
次のように作成したファイル「kernel_cfg.s」を確認してみました。
$ make kernel_cfg.s
タスクのスタックについて、コンフィギュレータは、次のようなファイ
ル
「kernel_cfg.c」を出力します。
static __STK_UNIT
__sstack_KERNEL_TASK[__TCOUNT_STK_UNIT(0x2000 +
DEFAULT_SSTKSZ)];
static __STK_UNIT
__sstack_USER_TASK[__TCOUNT_STK_UNIT(DEFAULT_SSTKSZ)];
PizzaFactoryでは、次のようなファイル
「kernel_cfg.s」を出力し
て、スタックが8バイト境界で整列しました。
.lcomm __sstack_KERNEL_TASK,10240
.lcomm __sstack_USER_TASK,2048
SDEでは、次のようなファイル「kernel_cfg.s」を出力して、ス
タックが8バ
イト境界で整列しました。
.section .bss
.align 3
.type __sstack_KERNEL_TASK, @object
.size __sstack_KERNEL_TASK, 10240
__sstack_KERNEL_TASK:
.space 10240
.align 3
.type __sstack_USER_TASK, @object
.size __sstack_USER_TASK, 2048
__sstack_USER_TASK:
.space 2048
*変数属性「aligned」を使用したサンプル「sample2」
タスクのスタックについて、次のようにファイル「kernel_cfg.c」を
変更しました。
static __STK_UNIT
__sstack_KERNEL_TASK[__TCOUNT_STK_UNIT(0x2000 +
DEFAULT_SSTKSZ)] __attribute__((aligned(16)));
static __STK_UNIT
__sstack_USER_TASK[__TCOUNT_STK_UNIT(DEFAULT_SSTKSZ)]
__attribute__((aligned(16)));
PizzaFactoryでは、次のようなファイル
「kernel_cfg.s」を出力し
て、スタックが8バイト境界で整列しました。
.lcomm __sstack_KERNEL_TASK,10240
.lcomm __sstack_USER_TASK,2048
SDEでは、次のようなファイル「kernel_cfg.s」を出力して、ス
タックが16
バイト境界で整列しました。
.section .bss
.align 4
.type __sstack_KERNEL_TASK, @object
.size __sstack_KERNEL_TASK, 10240
__sstack_KERNEL_TASK:
.space 10240
.align 4
.type __sstack_USER_TASK, @object
.size __sstack_USER_TASK, 2048
__sstack_USER_TASK:
.space 2048
チケットの履歴 (0 件中 0 件表示)
添付ファイルリスト (
0
)
添付ファイルリスト
添付ファイルはありません
編集
コメントの追加
ログインしていません。
ログインしていない状態では、コメントに記載者の記録が残りません。 »
ログインする
コメントの追加
プレビュー
適用
PizzaFactoryと(MIPSのサイトからダウンロードし
た)SDE
を比較してみました。
PizzaFactoryには、変数属性「aligned」に関係する不具
合がある
ようです。
*PizzaFactory
次のようなGCCを使用しました。
$ hr5000-toppers-gcc.exe -v
Reading specs from
c:/pizzafactory2/pizza/bin/../lib/gcc/hr5000-
toppers/3.4.3/sp
ecs
Configured with: ../src/configure --host=i686-pc-
mingw32 --build=i686-pc-linux-g
nu --target=hr5000-toppers --prefix=/pizza --disable-
tui --disable-shared --disa
ble-nls --enable-sjlj-exceptions --without-iconv
Thread model: single
gcc version 3.4.3 (TOPPERS special)
*SDE
次のようなGCCを使用しました。
$ sde-gcc.exe -v
Reading specs from
/usr/local/sde6.06/bin/../lib/gcc/sde/3.4.4/specs
Configured with: /cygdrive/c/releasetool.tmp/bank-
20070420-1231/B-i386-cygwin/to
olchain/mipssde-6.06.01/configure --target=sde --
prefix=/usr/local/sde6 --enable
-languages=c,c++ --without-newlib --disable-shared --
disable-nls --disable-tui -
-disable-multilib
Thread model: mipssde
gcc version 3.4.4 mipssde-6.06.01-20070420
*変数属性「aligned」を使用しないサンプル「sample2」
次のように作成したファイル「kernel_cfg.s」を確認してみました。
$ make kernel_cfg.s
タスクのスタックについて、コンフィギュレータは、次のようなファイ
ル
「kernel_cfg.c」を出力します。
static __STK_UNIT
__sstack_KERNEL_TASK[__TCOUNT_STK_UNIT(0x2000 +
DEFAULT_SSTKSZ)];
static __STK_UNIT
__sstack_USER_TASK[__TCOUNT_STK_UNIT(DEFAULT_SSTKSZ)];
PizzaFactoryでは、次のようなファイル
「kernel_cfg.s」を出力し
て、スタックが8バイト境界で整列しました。
.lcomm __sstack_KERNEL_TASK,10240
.lcomm __sstack_USER_TASK,2048
SDEでは、次のようなファイル「kernel_cfg.s」を出力して、ス
タックが8バ
イト境界で整列しました。
.section .bss
.align 3
.type __sstack_KERNEL_TASK, @object
.size __sstack_KERNEL_TASK, 10240
__sstack_KERNEL_TASK:
.space 10240
.align 3
.type __sstack_USER_TASK, @object
.size __sstack_USER_TASK, 2048
__sstack_USER_TASK:
.space 2048
*変数属性「aligned」を使用したサンプル「sample2」
タスクのスタックについて、次のようにファイル「kernel_cfg.c」を
変更しました。
static __STK_UNIT
__sstack_KERNEL_TASK[__TCOUNT_STK_UNIT(0x2000 +
DEFAULT_SSTKSZ)] __attribute__((aligned(16)));
static __STK_UNIT
__sstack_USER_TASK[__TCOUNT_STK_UNIT(DEFAULT_SSTKSZ)]
__attribute__((aligned(16)));
PizzaFactoryでは、次のようなファイル
「kernel_cfg.s」を出力し
て、スタックが8バイト境界で整列しました。
.lcomm __sstack_KERNEL_TASK,10240
.lcomm __sstack_USER_TASK,2048
SDEでは、次のようなファイル「kernel_cfg.s」を出力して、ス
タックが16
バイト境界で整列しました。
.section .bss
.align 4
.type __sstack_KERNEL_TASK, @object
.size __sstack_KERNEL_TASK, 10240
__sstack_KERNEL_TASK:
.space 10240
.align 4
.type __sstack_USER_TASK, @object
.size __sstack_USER_TASK, 2048
__sstack_USER_TASK:
.space 2048