下載
軟體開發
帳戶
下載
軟體開發
登入
我忘記帳戶名和密碼了
新增帳戶
語言
手冊
語言
手冊
×
登入
登入名稱
密碼
×
我忘記帳戶名和密碼了
繁體中文翻譯狀態
類別:
軟體
人
PersonalForge
Magazine
Wiki
搜尋
OSDN
>
軟體搜索
>
軟體開發
>
Debuggers
>
pizzafactory-gnu-tools
>
Ticket List/Search
>
待辦事項 #11359
pizzafactory-gnu-tools
Fork
urjtag
gcc-fork
pf3gnuchains4x
release-debian-3x
pizza6+
pf3gnuchains3x
sourceware
描述
專案概要
開發人員儀表板
專案的網頁
Developers
Image Gallery
List of RSS Feeds
活動
使用統計
歷史
檔案下載
發布列表
Stats
原始碼
儲存庫列表
Git
urjtag
gcc-fork
pf3gnuchains4x
release-debian-3x
pizza6+
pf3gnuchains3x
sourceware
Subversion
查看儲存庫
待辦事項
待辦事項列表
里程碑列表
類型列表
元件列表
List of frequently used tickets/RSS
新增待辦事項
文檔
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
新聞
待辦事項 #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
Ticket History (0/0 Histories)
Attachment File List (
0
)
Attachment File List
No attachments
編輯
新增評語
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
登入
新增評語
預覽
提交
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