It seems that gcc-4 has problems finding libgcc_s when compiling with -static. 
This works fine with gcc-3. Example:

$ cat pointer.c
#include <stdio.h>
int main(){
 printf("%d",(int)sizeof(long));
 return(0);
}

$ gcc-3 -v
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /managed/gcc-build/final-v3-bootstrap/gcc-3.4.4-999/configure 
--verbose --program-suffix=-3 --prefix=/usr --exec-prefix=/usr 
--sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib 
--mandir=/usr/share/man --infodir=/usr/share/info 
--enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls 
--without-included-gettext --enable-version-specific-runtime-libs --without-x 
--enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter 
--disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm 
--disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization 
--enable-libstdcxx-debug
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)

$ gcc-3 -static pointer.c

$ ./a.exe
4

$ gcc-4 -v
Using built-in specs.
Target: i686-pc-cygwin
Configured with: 
/gnu/gcc/releases/packaging/4.3.4-3/gcc4-4.3.4-3/src/gcc-4.3.4/configure 
--srcdir=/gnu/gcc/releases/packaging/4.3.4-3/gcc4-4.3.4-3/src/gcc-4.3.4 
--prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin 
--libexecdir=/usr/lib --datadir=/usr/share --localstatedir=/var 
--sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man 
--datadir=/usr/share --infodir=/usr/share/info --mandir=/usr/share/man -v 
--with-gmp=/usr --with-mpfr=/usr --enable-bootstrap 
--enable-version-specific-runtime-libs --with-slibdir=/usr/bin 
--libexecdir=/usr/lib --enable-static --enable-shared --enable-shared-libgcc 
--disable-__cxa_atexit --with-gnu-ld --with-gnu-as --with-dwarf2 
--disable-sjlj-exceptions 
--enable-languages=ada,c,c++,fortran,java,objc,obj-c++ --disable-symvers 
--enable-libjava --program-suffix=-4 --enable-libgomp --enable-libssp 
--enable-libada --enable-threads=posix --with-arch=i686 --with-tune=generic 
--enable-libgcj-sublibs
 CC=gcc-4 CXX=g++-4 CC_FOR_TARGET=gcc-4 CXX_FOR_TARGET=g++-4 
GNATMAKE_FOR_TARGET=gnatmake GNATBIND_FOR_TARGET=gnatbind 
AS=/opt/gcc-tools/bin/as.exe AS_FOR_TARGET=/opt/gcc-tools/bin/as.exe 
LD=/opt/gcc-tools/bin/ld.exe LD_FOR_TARGET=/opt/gcc-tools/bin/ld.exe 
--with-ecj-jar=/usr/share/java/ecj.jar
Thread model: posix
gcc version 4.3.4 20090804 (release) 1 (GCC) 

$ gcc-4 -static pointer.c
/usr/lib/gcc/i686-pc-cygwin/4.3.4/../../../../i686-pc-cygwin/bin/ld: cannot 
find -lgcc_s
/usr/lib/gcc/i686-pc-cygwin/4.3.4/../../../../i686-pc-cygwin/bin/ld: cannot 
find -lgcc_s
collect2: ld returned 1 exit status


      

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to