$ gcc/xgcc -v Using built-in specs. Target: i686-pc-cygwin Configured with: /cygdrive/C/makecygwin/gcc-4_3-trunk/configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/4.3 --verbose --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --with-tune=athlon-xp --with-cpu=athlon-xp --with-arch=athlon-xp --enable-stage1-checking=assert,gc,misc,rtl,rtlflag,runtime,tree Thread model: single (NOTE: this should be posix (by default), even for WinXP) gcc version 4.3.0 20070528 (experimental)
# gcc/xgcc -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: /root/downloads/gcc-4_3-trunk/configure --verbose --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --with-tune=athlon-xp --prefix=/usr --enable-objc-gc --enable-concept-checks --disable-multilib --with-gxx-include-dir=/usr/include/c++/4.3 --enable-libstdcxx-debug --enable-static --enable-shared --enable-initfini-array --enable-__cxa_atexit --enable-threads=posix --enable-version-specific-runtime-libs --enable-libssp --enable-libmudflap --enable-libgomp --disable-werror --enable-nls --with-included-gettext --enable-decimal-float --with-long-double-128 --enable-debug --enable-java-gc=boehm --with-x --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --enable-java-awt=gtk,xlib --enable-gtk-cairo --enable-qt-peer --enable-xmlj --enable-gconf-peer --enable-tool-wrappers --enable-portable-native-sync --enable-examples --enable-libgcj-multifile --with-stabs --enable-hash-synchronization --enable-gc-debug --enable-interpreter --with-system-zlib --enable-libada --with-tls --with-cpu=athlon-xp --with-arch=athlon-xp --enable-haifa --enable-stage1-checking=assert,gc,misc,rtl,rtlflag,runtime,tree Thread model: posix gcc version 4.3.0 20070529 (experimental) Here is i686-pc-cygwin: # ls -lrtA /cygdrive/c/gcc-4_3-trunk-build/libdecnumber total 485 -rw-r--r-- 1 HP_Administrator None 4153 May 29 00:19 config.cache -rwxr-xr-x 1 HP_Administrator None 43709 May 29 00:19 config.status -rw-r--r-- 1 HP_Administrator None 5446 May 29 00:19 Makefile -rw-r--r-- 1 HP_Administrator None 2386 May 29 00:19 config.h -rw-r--r-- 1 HP_Administrator None 10 May 29 00:19 stamp-h1 -rw-r--r-- 1 HP_Administrator None 872 May 29 00:19 gstdint.h -rw-r--r-- 1 HP_Administrator None 32251 May 29 00:19 config.log -rw-r--r-- 1 HP_Administrator None 86065 May 29 00:19 decNumber.o -rw-r--r-- 1 HP_Administrator None 18675 May 29 00:19 decContext.o -rw-r--r-- 1 HP_Administrator None 20262 May 29 00:19 decUtility.o -rw-r--r-- 1 HP_Administrator None 20508 May 29 00:19 decimal32.o -rw-r--r-- 1 HP_Administrator None 20640 May 29 00:19 decimal64.o -rw-r--r-- 1 HP_Administrator None 20657 May 29 00:19 decimal128.o -rw-r--r-- 1 HP_Administrator None 188416 May 29 00:19 libdecnumber.a Here is i686-pc-linux-gnu: # ls -lrtA /opt/gcc-4_3-build/libdecnumber/ total 606 -rw-r--r-- 1 root root 4087 May 29 13:53 config.cache -rw-r--r-- 1 root root 10 May 29 13:53 stamp-h1 -rw-r--r-- 1 root root 872 May 29 13:53 gstdint.h -rwxr-xr-x 1 root root 45795 May 29 13:53 config.status -rw-r--r-- 1 root root 2386 May 29 13:53 config.h -rw-r--r-- 1 root root 5390 May 29 13:53 Makefile -rw-r--r-- 1 root root 31474 May 29 13:53 config.log -rw-r--r-- 1 root root 74764 May 29 13:53 decNumber.o -rw-r--r-- 1 root root 6628 May 29 13:53 decContext.o -rw-r--r-- 1 root root 12408 May 29 13:53 decimal32.o -rw-r--r-- 1 root root 11668 May 29 13:53 decUtility.o -rw-r--r-- 1 root root 12592 May 29 13:53 decimal64.o -rw-r--r-- 1 root root 12776 May 29 13:53 decimal128.o -rw-r--r-- 1 root root 257208 May 29 13:53 libdecnumber.a -rw-r--r-- 1 root root 5012 May 29 13:53 host-ieee64.o -rw-r--r-- 1 root root 5004 May 29 13:53 host-ieee32.o -rw-r--r-- 1 root root 5148 May 29 13:53 host-ieee128.o -rw-r--r-- 1 root root 108744 May 29 13:53 bid2dpd_dpd2bid.o Here are some hand-edited diffs. Obviously these files will have some differences since the directories are not the same, I have edited these out and left only what seems to be suspicious differences. Here is an example of the "type" of stuff I hand edited out: -ac_cv_env_CC_value=' /cygdrive/c/gcc-4_3-trunk-build/./prev-gcc/xgcc -B/cygdrive/c/gcc-4_3-trunk-build/./prev-gcc/ -B/usr/i686-pc-cygwin/bin/' +ac_cv_env_CC_value=' /opt/gcc-4_3-build/./prev-gcc/xgcc -B/opt/gcc-4_3-build/./prev-gcc/ -B/usr/i686-pc-linux-gnu/bin/' -ac_cv_env_build_alias_value=i686-pc-cygwin +ac_cv_env_build_alias_value=i686-pc-linux-gnu I edited out that "sort-of-thing" out, but left the rest. Type this in Linux (with WinXP drive mounted on /mnt/windows/) (few can do this): # diff -u /mnt/windows/gcc-4_3-trunk-build/libdecnumber/config.cache /opt/gcc-4_3-build/libdecnumber/config.cache --- /mnt/windows/gcc-4_3-trunk-build/libdecnumber/config.cache 2007-05-29 00:19:28.000000000 -0700 +++ /opt/gcc-4_3-build/libdecnumber/config.cache 2007-05-29 13:53:20.000000000 -0700 @@ -15,22 +15,22 @@ (Note these numbers won't be correct with the editing) -ac_cv_env_CFLAGS_value='-g -O2' +ac_cv_env_CFLAGS_value='-O2 -g -fomit-frame-pointer' # diff -u /mnt/windows/gcc-4_3-trunk-build/libdecnumber/config.status /opt/gcc-4_3-build/libdecnumber/config.status --- /mnt/windows/gcc-4_3-trunk-build/libdecnumber/config.status 2007-05-29 00:19:29.000000000 -0700 +++ /opt/gcc-4_3-build/libdecnumber/config.status 2007-05-29 13:53:21.000000000 -0700 @@ -475,36 +475,36 @@ -s,@CFLAGS@,-g -O2,;t t +s,@CFLAGS@,-O2 -g -fomit-frame-pointer,;t t @@ -513,11 +513,11 @@ -s,@enable_decimal_float@,dpd,;t t +s,@enable_decimal_float@,bid,;t t # diff -u /mnt/windows/gcc-4_3-trunk-build/libdecnumber/config.h /opt/gcc-4_3-build/libdecnumber/config.h (Prints NOTHING) # diff -u /mnt/windows/gcc-4_3-trunk-build/libdecnumber/Makefile /opt/gcc-4_3-build/libdecnumber/Makefile --- /mnt/windows/gcc-4_3-trunk-build/libdecnumber/Makefile 2007-05-29 00:19:30.000000000 -0700 +++ /opt/gcc-4_3-build/libdecnumber/Makefile 2007-05-29 13:53:21.000000000 -0700 @@ -22,20 +22,20 @@ -CFLAGS = -g -O2 +CFLAGS = -O2 -g -fomit-frame-pointer -enable_decimal_float= dpd +enable_decimal_float= bid # diff -u /mnt/windows/gcc-4_3-trunk-build/libdecnumber/config.log /opt/gcc-4_3-build/libdecnumber/config.log --- /mnt/windows/gcc-4_3-trunk-build/libdecnumber/config.log 2007-05-29 00:19:32.000000000 -0700 +++ /opt/gcc-4_3-build/libdecnumber/config.log 2007-05-29 13:53:22.000000000 -0700 @@ -4,42 +4,36 @@ -/usr/bin/arch -k = i686 +/usr/bin/arch -k = unknown -xgcc (GCC) 4.3.0 20070528 (experimental) +xgcc (GCC) 4.3.0 20070529 (experimental) -ac_cv_env_CFLAGS_value='-g -O2' +ac_cv_env_CFLAGS_value='-O2 -g -fomit-frame-pointer' -enable_decimal_float='dpd' -host_alias='i686-pc-cygwin' +enable_decimal_float='bid' +host_alias='i686-pc-linux-gnu' Total list of errors found (not neccesarily all to do with libdecnumber): 1): The thread model defaults to "single" but should default to "posix" for WinXP. 2): Entire directory contents are different since decimal float is wrong. 3): ac_cv_env_CFLAGS_value order different and missing "-fomit-frame-pointer" 4): Cygwin uses dpd and Linux uses bid. libdecnumber/configure says "x86's use BID format instead of DPD" 5): On Debian GNU/Linux "/usr/bin/arch -k = unknown" -but- "/bin/arch -k = i686" I ran "make -i check" on Cygwin for GCC 4.3.0 and during the "C" tests it says this: Running /cygdrive/C/makecygwin/gcc-4_3-trunk/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp ... Running /cygdrive/C/makecygwin/gcc-4_3-trunk/gcc/testsuite/gcc.dg/dfp/dfp.exp ... Running /cygdrive/C/makecygwin/gcc-4_3-trunk/gcc/testsuite/gcc.dg/dg.exp ... The testsuite is nowhere near finished running (since it takes many, many times longer for GCC to compile under Cygwin than it does under Linux) BUT Cygwin seems to have passed all the dfp tests using the wrong dfp ... Leads one to ponder ... -- Summary: libdecnumber is configured wrong for i686-pc-cygwin see comparison with i686-pc-linux-gnu Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rob1weld at aol dot com GCC build triplet: i686-pc-cygwin GCC host triplet: i686-pc-cygwin GCC target triplet: i686-pc-cygwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32149