(toppers-users 2216) Re: SH4用のコンパイル結果について
Giichirou Senba
senba @ algosystem.co.jp
2005年 11月 21日 (月) 10:21:40 JST
いつもお世話になっています。
仙波@アルゴシステムです。
酒匂様ご指摘ありがとうございます。
現状、TOPPERSのデフォルトのMakefileをみると、
#
# スタートアップモジュールに関する定義
#
ifdef USE_CXX
START_OBJS = start.o $(shell $(CC) $(COPTS) -print-file-name=crti.o |
sed -e 's/\\/\//g')
$(shell $(CC) $(COPTS) -print-file-name=crtbegin.o | sed -e 's/\\/\//g')
END_OBJS = $(shell $(CC) $(COPTS) -print-file-name=crtend.o | sed -e
's/\\/\//g')
$(shell $(CC) $(COPTS) -print-file-name=crtn.o | sed -e 's/\\/\//g')
else
START_OBJS = start.o ←現状はこちらのみリンクしています。
END_OBJS =
endif
となっており、crt1.oはリンクしていませんでした。
これは特別なスタートアップを使っていてしかも、start.oの中で
--fpscr_valuesの初期化をしていないと思ってよろしいでしょうか?
また、解決するためには、単純にcrt1.oをリンクすればよろしいでしょうか?
以上よろしくお願いします。
************************************************
株式会社アルゴシステム
ソフト開発部 仙波 儀一郎
E-mail: senba @ algosystem.co.jp
URL: http://www.algosystem.co.jp
Address: 〒587-0021
大阪府堺市美原町小平尾656
Tel:072-362-5049 Fax:072-362-0926
*************************************************
----- Original Message -----
From: "nob_sakawa" <nob @ sakawa.ota.tokyo.jp>
To: <users @ toppers.jp>
Sent: Friday, November 18, 2005 6:01 PM
Subject: (toppers-users 2215) Re: SH4用のコンパイル結果について
> 酒匂です。
> shのgccをメンテしている小島さんから、回答がありました。
> 3.4.3に限ったことではなさそうですね。
>
> 以下、小島さんからの回答です。
>> 小島です。
>> はたと思いついたのですが、ひょっとして ___fpscr_values がうまく
>> 初期化されていないのではないでしょうか? sh-linux だと違 うので
>> すっかり忘れていたのですが newlib ということは sh- elf ターゲット
>> で gcc を作っているのだとすると ___fpscr_values は libgcc.a の
>> 中で .common で定義されていてスタートアップの時に値を設 定しないと
>> FPU のモードがうまく初期化されない気がします。 sh-elf だ と普通は
>> crt1.o 中で設定するはずですが特別なスタートアップを使っている とか
>> リンク時に間違って sh3 用の crt1.o で link していたりするとそう
>> なってしまいそうな気がします。 gcc -v でリンク時にどんな crt1.o
>> をリンクしているか見てもらってその crt1.o の中でからちゃ んと
>> ___set_fpscr が呼ばれているか check してもらうのがいいか もしれ
>> ません。
>> ___fpscr_values を壊している可能性もありますが簡単なプログラム
>> でそうなるというなら crt1.o 自体の問題のような気がします。
>
>
>
>