On Tue, 10 Mar 2009 20:44:27 +0100, "Vincent R." <[email protected]>
wrote:
> Hi,
>
> When trying to compile the following code with cegcc-4.4 I get undefined
> reference to `__floatdidf' :
>
> find__floatdidf.c:
> ----
>
> #include <windows.h>
>
> LONGLONG _evil_time_freq;
> LONGLONG _evil_time_count;
> long _evil_time_second;
>
> double
> evil_time_get()
> {
> LARGE_INTEGER count;
>
> QueryPerformanceCounter(&count);
>
> return (double)_evil_time_second + (double)(count.QuadPart -
> _evil_time_count)/
> (double)_evil_time_freq;
> }
>
> int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR
lpCmdLine,
> int nCmdShow)
> {
> double dTime = evil_time_get();
> printf("ret : %d\n", dTime);
>
> return 0;
> }
> ----
>
> $ arm-mingw32ce-g++ -v find__floatdidf.c
> Using built-in specs.
> Target: arm-mingw32ce
> Configured with: /home/Vincent/cegcc/cegcc/src/gcc-trunk/configure
> --with-gcc --with-gnu-ld --with-gnu-as --target=arm-mingw32ce
> --prefix=/opt/mingw32ce-4.4.0 --enable-threads=win32 --disable-nls
> --enable-languages=c,c++ --disable-win32-registry --disable-multilib
> --disable-interwork --without-newlib --enable-checking --with-headers
> Thread model: win32
> gcc version 4.4.0 20090310 (experimental) (GCC)
> COLLECT_GCC_OPTIONS='-v' '-shared-libgcc'
> /opt/mingw32ce-4.4.0/libexec/gcc/arm-mingw32ce/4.4.0/cc1plus.exe -quiet
-v
> find__floatdidf.c -quiet -dumpbase find__floatdidf.c -auxbase
> find__floatdidf -version -o /c/DOCUME~1/Vincent/LOCALS~1/Temp/ccsOiRvb.s
>
> ...
>
> GNU C++ (GCC) version 4.4.0 20090310 (experimental) (arm-mingw32ce)
> compiled by GNU C version 3.4.4 (cygming special, gdc 0.12, using
> dmd 0.125), GMP version 4.2.4, MPFR version 2.4.1.
> GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
> Compiler executable checksum: 6f254b178188838682258d701691e447
> COLLECT_GCC_OPTIONS='-v' '-shared-libgcc'
>
>
/opt/mingw32ce-4.4.0/lib/gcc/arm-mingw32ce/4.4.0/../../../../arm-mingw32ce/bin/as.exe
> -v -o /c/DOCUME~1/Vincent/LOCALS~1/Temp/ccIrneqx.o
> /c/DOCUME~1/Vincent/LOCALS~1/Temp/ccsOiRvb.s
> GNU assembler version 2.19.51 (arm-mingw32ce) using BFD version (GNU
> Binutils) 2.19.51.20090204
>
COMPILER_PATH=/opt/mingw32ce-4.4.0/libexec/gcc/arm-mingw32ce/4.4.0/:/opt/mingw32ce-4.4.0/libexec/gcc/arm-mingw32ce/4.4.0/:/opt/mingw32ce-4.4.0/libexec/gcc/arm-mingw32ce/:/opt/mingw32ce-4.4.0/lib/gcc/arm-mingw32ce/4.4.0/:/opt/mingw32ce-4.4.0/lib/gcc/arm-mingw32ce/:/opt/mingw32ce-4.4.0/lib/gcc/arm-mingw32ce/4.4.0/../../../../arm-mingw32ce/bin/
>
LIBRARY_PATH=/opt/mingw32ce-4.4.0/lib/gcc/arm-mingw32ce/4.4.0/:/opt/mingw32ce-4.4.0/lib/gcc/arm-mingw32ce/4.4.0/../../../../arm-mingw32ce/lib/
> COLLECT_GCC_OPTIONS='-v' '-shared-libgcc'
> /opt/mingw32ce-4.4.0/libexec/gcc/arm-mingw32ce/4.4.0/collect2.exe
> -Bdynamic
>
/opt/mingw32ce-4.4.0/lib/gcc/arm-mingw32ce/4.4.0/../../../../arm-mingw32ce/lib/crt3.o
> /opt/mingw32ce-4.4.0/lib/gcc/arm-mingw32ce/4.4.0/crtbegin.o
> -L/opt/mingw32ce-4.4.0/lib/gcc/arm-mingw32ce/4.4.0
>
-L/opt/mingw32ce-4.4.0/lib/gcc/arm-mingw32ce/4.4.0/../../../../arm-mingw32ce/lib
> /c/DOCUME~1/Vincent/LOCALS~1/Temp/ccIrneqx.o -lstdc++ -lmingw32 -lgcc_s
> -lgcc -lceoldname -lmingwex -lcoredll -lcoredll -lmingw32 -lgcc_s -lgcc
> -lceoldname -lmingwex -lcoredll
> /opt/mingw32ce-4.4.0/lib/gcc/arm-mingw32ce/4.4.0/crtend.o
>
/c/DOCUME~1/Vincent/LOCALS~1/Temp/ccIrneqx.o:find__floatdidf.c:(.text+0x50):
> undefined reference to `__floatdidf'
>
/c/DOCUME~1/Vincent/LOCALS~1/Temp/ccIrneqx.o:find__floatdidf.c:(.text+0x6c):
> undefined reference to `__floatdidf'
> collect2: ld returned 1 exit status
>
> Any idea ?
> Danny or Pedro can you reproduce it ?
When using nm with gcc-4.4:
$ arm-mingw32ce-nm libgcc.a | grep float
_floatdidf.o:
_floatdisf.o:
U __floatunsidf
U __floatunsidf
_floatdixf.o:
_floatditf.o:
_floatundisf.o:
00000000 T __floatundisf
U __floatunsidf
_floatundidf.o:
00000000 T __floatundidf
U __floatunsidf
_floatundixf.o:
_floatunditf.o:
0000000c T __floatsisf
0000000c T __floatunsisf
0000000c T __floatsidf
0000000c T __floatunsidf
with an old working version (4.1):
0000038c T __floatdidf
00000310 T __floatsidf
00000378 T __floatundidf
000002ec T __floatunsidf
00000200 T __floatdisf
000001d0 T __floatsisf
000001f0 T __floatundisf
000001c8 T __floatunsisf
_floatdidf.o:
_floatdisf.o:
U __floatsidf
U __floatsidf
_floatdixf.o:
_floatditf.o:
00000000 T __floatsisf
00000000 T __floatunsisf
00000000 T __floatsidf
00000000 T __floatunsidf
So in my case floatxxx are not defined.
Pedro if you could comment.
Thanks
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Cegcc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cegcc-devel