delorie.com/archives/browse.cgi | search |
Corinna Vinschen <corinna AT vinschen DOT de> writes: > > I have a problem in building strace.exe: gcc dies in linker stage. > I'm using gcc-2.95 with dev-ss tarball and it runs under winsup-990801. > > The output is very less informative (to me): > > gcc -o strace.exe -mno-cygwin -g -O2 -Wall -Wwrite-strings -Wall > -Wwrite-s > trings -I./../mingw/include -I./../include strace.cc > mingw_getopt.o -B../m > ingw/ -lnetapi32 -ladvapi32 > strace.cc: In function `int error(int, const char *, ...)': > strace.cc:41: warning: `noreturn' function `error(int, const char *, > ...)' does > return > /usr/lib/gcc-lib/i586-cygwin32/2.95/libgcc.a(_eh.o)(.text+0x389): > undefined refe > rence to `_impure_ptr' > collect2: ld returned 1 exit status Yikes. I guess the new libgcc exception handling code includes one of the Cygwin runtime headers, and you get a reference. This means that -mno-cygwin is really hosed unless you get my mingw-extra package and use the libgcc.a that's there. You can also try -fno-exceptions -fno-rtti when building strace.exe and see if that fixes it for now. > I'm under the impression that I already saw this `_impure_ptr' error > once but I can't remember anymore. > I think, it's no coincidence that strace is a mingw file, maybe? Regards, Mumit
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |