From mboxrd@z Thu Jan 1 00:00:00 1970 From: salvador To: Dirk Fieldhouse , cygwin@sourceware.cygnus.com Subject: RE: -mno-cygwin: STATUS_STACK_OVERFLOW before main Date: Thu, 03 Feb 2000 09:18:00 -0000 Message-id: <3899B9CB.9A28D661@inti.gov.ar> X-SW-Source: 2000-02/msg00026.html fieldhouse@logica.com (Dirk Fieldhouse) wrote: On Tue, 01 Feb 2000 12:47:52 -0300, salvador wrote: > I have an application that compiles fine using Mingw32. When I > try to compile it using Cygwin B20.1 (adding -mno-cygwin and > -lmingw32 -lcrtdll) I get an executable, but it dies before > reaching main with an STATUS_STACK_OVERFLOW error. > > I tried with --stack XXXX without luck (same crash in same > place). >... Check your include and link paths. Your supposed mingw32 app is obviously not one. A cygwin installation can easily get confused about a mingw32 target because some #define or library reference may be accidentally resolved against the cygwin include/library files which may follow the mingw32 ones in the search paths. This is almost certainly the problem here. Is your program C++ or C - I have seen this with C++ in the past ? C++ There is some confusion (for me at least) about which files are usable in both targets - those for the Windows OS (.h and lib*.a) ought to be OK. I guess the appropriate resolution of this is for the -mno-cygwin specs to select a different set of paths and use -nostdinc (and the ld equivalent) or similar to avoid picking up cygwin stuff from well-known locations like /usr/include - or to be sure that you don't put cygwin stuff in any of these places. I tried renaming all the lib and include directories from Cygwin (just left lib/gcc...) and adding the -I and -L settings to pick the Mingw32 stuff from separated directories without luck. I used -H to be sure I was picking the right headers. Perhaps I still doing some thing wrong. Now I'll explain what I want to do so perhaps somebody can give me an idea: I'm currently maintinaing a port of Turbo Vision to gcc. I have the DOS and Linux targets working very well (they have all the needed GNU tools). Now a user contributed a Win32 part, it compiles with Mingw32 (you just need the Mumit Khan big file installed with gcc/binutils/run-time). It also compiles with MSVC, but I don't have much interest in this detail ;-). Now I want to integrate the Win32 target to the configuration process, it uses common GNU tools (rm, cp, mv, install, uname, sh, etc.) and Perl. None of this goodies are in the Mingw32 distribution so I taked a look to Cygwin, it only lacks Perl (which is a huge drawback from my point of view, download the huge ActivePerl separatle isn't quite nice). So I tried to compile with Cygwin and quickly found it is POSIX and lacks a lot of things used by the Mingw32 target, I can add a Cygwin version, after all the code compiles for Linux, but I don't have the time. Then looking in the directories and specs files I found the -mno-cygwin trick. So I tried it, but even when all compiles and links fine the exe dies. So currently I have a setup that works, but is quite messy, the user needs: 1) Mingw32 (Khan's package) for the compiler, libc, binutils, etc. 2) rm, cp, mv, sh, install, uname and cygwin1.dll from Cygwin. I need at least uname from Cygwin and not djgpp (DOS) because I use uname to determine the OS. 3) Perl from djgpp. It work very well, but it looks messy to me. Any ideas. Greetings, SET -- Salvador Eduardo Tropea (SET). (Electronics Engineer) Visit my home page: http://welcome.to/SetSoft or http://www.geocities.com/SiliconValley/Vista/6552/ Alternative e-mail: set-soft@usa.net set@computer.org set@ieee.org set-soft@bigfoot.com Address: Curapaligue 2124, Caseros, 3 de Febrero Buenos Aires, (1678), ARGENTINA Phone: +(5411) 4759 0013 -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe@sourceware.cygnus.com