On Tue, 10 Mar 2009 20:44:27 +0100, "Vincent R." <foru...@smartmobili.com> 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 Cegcc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cegcc-devel