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

Back to archive index

Yoichi Koyanagi yk****@tinyw*****
2004年 8月 23日 (月) 16:28:04 JST


小柳です.こんにちは.

gcc-3.3 の h8300-elf で,float/double を含むユーザプログラムを
コンパイルしようとしたところ,エラーとなってしまいました.
binutils: 2.14
gcc     : 3.3 + ecos-h8 リリースファイルの gcc.diff (2004-04-20の方)
elf2flt : cvs + elf2flt.patch
uClibc  : uClinux dist 20040408 + uClinux-dist-20040408.diff

ソースは,printf("hello\n") だけのもので,これだけだと正常に
コンパイルできてaki3069でちゃんと動くのですが,ここに
float f = 1.23; printf("hello %f\n", f); を加えただけで
以下のようなエラーとなりました.
何か gcc の構築に失敗しているでしょうか.
よろしくお願いいたします.

====================================
h8300-elf-gcc -I/share/src/uClinux/uClinux-dist-20040408-h8/lib/uClibc/include -mh -mint32 -fno-builtin -nostartfiles /share/src/uClinux/uClinux-dist-20040408-h8/lib/uClibc/lib/crt0.o -o hello hello.c -L/share/src/uClinux/uClinux-dist-20040408-h8/lib/uClibc/lib -Wl,-elf2flt -lc
/usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3/h8300h/int32/libgcc.a(floatlib.o)(.text+0x45c): In function `__floatsidf':
/share/src/eCos/gcc-3.3/gcc/floatlib.c:362: multiple definition of `___floatsidf'
/usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3/h8300h/int32/libgcc.a(_si_to_df.o)(.text+0x0):/share/src/eCos/build/gcc-3.3/gcc/dp-bit.c:1295: first defined here/usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3/../../../../h8300-elf/bin/ld.real: Warning: size of symbol `___floatsidf' changed from 316 in /usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3/h8300h/int32/libgcc.a(_si_to_df.o) to 184 in /usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3/h8300h/int32/libgcc.a(_si_to_df.o)
/usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3/h8300h/int32/libgcc.a(floatlib.o)(.text+0x72a): In function `__negdf2':
/share/src/eCos/gcc-3.3/gcc/floatlib.c:459: multiple definition of `___negdf2'
/usr/local/h8300-elf/lib/gcc-lib/h8300-elf/3.3/h8300h/int32/libgcc.a(_negate_df.o)(.text+0x0):/share/src/eCos/build/gcc-3.3/gcc/dp-bit.c:1433: first defined here
...(以下省略)
====================================



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