(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 自体の問題のような気がします。
>
>
>
>