[Uclinux-h8-devel] Re: float/doubleでコンパイルエラー

Back to archive index

Yoichi Koyanagi yk****@tinyw*****
2004年 9月 3日 (金) 16:20:18 JST


小柳です.こんにちは.

> > gcc-3.3 の h8300-elf で,float/double を含むユーザプログラムを
> > コンパイルしようとしたところ,エラーとなってしまいました.
(省略)

On Wed, 01 Sep 2004 23:08:30 +0900
Yoshinori Sato <ysato****@users*****> wrote:

> 遅くなりました、ごめんなさい。
> 
> 直して見たパッチを置きました。
> libgcc.aが正しく作られている事は確認しましたが、出来たバイナリを動かして
> いないので、printfの動作などは確認できていません。
> gcc的にはこの修正でいいはずですが…
> 
> とりあえずuClibcの方も追いかけてみます。

gcc.diff-testing (2004-09-01 22:59) を gcc-3.3.2 にあてて環境を構築した
ところ,簡単な doubleの演算を printfするコードは,エラーなくコンパイルで
き,かつ正しく動作するようになったのですが,hwclock をコンパイルすると
まだエラーとなってしまいました.

=====================================================
/usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3.2/h8300h/int32/libgcc.a(extfloatlib.o)(.text+0x0): In function `__fixsfsi':
/share/src/eCos/gcc-3.3.2/gcc/config/h8300/extfloatlib.c:51: multiple definition of `___fixsfsi'
/usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3.2/h8300h/int32/libgcc.a(_sf_to_si.o)(.text+0x0):/share/src/eCos/build/gcc-3.3.2/gcc/fp-bit.c:1369: first defined here
/usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3.2/../../../../h8300-elf/bin/ld.real: Warning: size of symbol `___fixsfsi' changed from 168 in /usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3.2/h8300h/int32/libgcc.a(_sf_to_si.o) to 68 in /usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3.2/h8300h/int32/libgcc.a(_sf_to_si.o)
=====================================================

h8300-elf-nm でみてみると,__fixsfsi が _sf_to_si.o と extfloatlib.o 両方で
定義されているようです.
uClibc は再コンパイルしませんでしたが,関係あるでしょうか.

いつも対応していただき,大変感謝しております.
お忙しいところお手数をおかけしてすみませんが,よろしくお願いいたします.




Uclinux-h8-devel メーリングリストの案内
Back to archive index