Download
Entwicklung
Konto
Download
Entwicklung
Anmelden
Vergessen Konto/Passwort
Konto erstellen
Sprache
Hilfe
Sprache
Hilfe
×
Anmelden
Anmeldename
Passwort
×
Vergessen Konto/Passwort
Übersetzungsstatus von Deutsch
Kategorie:
Software
Personen
PersonalForge
Magazine
Wiki
Suche
OSDN
>
Finden Software
>
Software Development
>
Debuggers
>
pizzafactory-gnu-tools
>
Ticket-Liste / Suche
>
Ticket #11359
pizzafactory-gnu-tools
Fork
urjtag
gcc-fork
pf3gnuchains4x
release-debian-3x
pizza6+
pf3gnuchains3x
sourceware
Beschreibung
Projekt Zusammenfassung
Entwickler-Dashboard
Web-Seite
Entwickler
Bildergalerie
RSS Feed-Liste
Aktivität
Statistiken
Historie
Downloads
Aller Releases-Liste
Statistiken
Quellcode
Quellcode-Repositorys-Liste
Git
urjtag
gcc-fork
pf3gnuchains4x
release-debian-3x
pizza6+
pf3gnuchains3x
sourceware
Subversion
Repository ansehen
Ticket
Ticket-Liste
Liste der Meilensteine
Typenliste
Komponentenliste
Liste der zuletzt benutzten Tickets/RSS
Neue Ticket abschicken
Dokumente
Wiki
Titelseite
Titel-Index
Kürzliche Änderungen
Doc Mgr
List Docs
Neuigkeiten
Ticket #11359
Ticket-Liste
Neue Ticket abschicken
RSS
hr5000-toppers-gcc でalignedに関する不具合
Eröffnet am:
2007-11-21 09:44
Letztes Update:
2007-11-21 09:44
beobachte
ON
OFF
Auswertung:
monamour
Verantwortlicher:
(Keine)
Typ:
Fehler
Status:
Offen
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
Keine
Details
Antworten
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-Verlauf (0/0 Historien)
Dateianhangliste (
0
)
Dateianhangliste
Keine Anhänge
Bearbeiten
Kommentar hinzufügen
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Anmelden
Kommentar hinzufügen
Vorschau
Abschicken
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