From: earnie_boyd AT yahoo DOT com (Earnie Boyd) Subject: Re: libc and building cygwin32.dll 2 Jun 1998 13:35:14 -0700 Message-ID: <19980602115243.23180.rocketmail.cygnus.gnu-win32@send1d.yahoomail.com> Reply-To: earnie_boyd AT yahoo DOT com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii To: Benoit Papillault , gnu-win32 AT cygnus DOT com Hi Benoit, I've managed to get (by hand, can't configure or make) pieces of glibc-2.0.1 compiled using Mingw32. I have a Mingw32-sup package you can download from ftp://ftp.franken.de/pub/win32/develop/gnuwin32/mingw32/porters/Boyd_Earnie/ The package name is mingw32-sup.1.0.tar.gz and is ~4M. In the package I have UNIX specific function stubs and working calls, include files that I've modified or copied from cygwin(b18), the parts of glibc-2.0.1 I included in a library I called libMlibc.a, documentation and help about porting UNIX code, source differences, and executables. As for the routines you've named, they already exist in the crtdll.dll. As a matter of fact I often suggest to others that any malloc routines defined by the package be removed and use mmalloc library if your using cygwinb19.dll or use the malloc routines in the crtdll.dll if your using Mingw32. The biggest headaches will be the lack of fork, fcntl and ioctl on win32. I've stubbed fcntl and ioctl, you'll have to modify any forking being done as there is not any good method to emulate it. I and others have tried to no avail. The UNIX fork gets called once but returns twice; once to the parent with the value of the child's process id and once to the child with a value of zero. There is no way to do that with win32. If the code is simply fork, child does exec[vpe] and parent waits on child to finish; then, simply modify the code to do a spawn[vpe] with _P_WAIT as the first argument, all other arguments are the same as the exec[vpe]. You have to change from exec[vpe] to spawn[vpe] as the exec set of functions overlay the parent process where spawn creates a child process. I could go on and on; but, I'll let you download the package. Feel free to email me directly with any questions. - \\||// ---o0O0--Earnie--0O0o---- --earnie_boyd AT yahoo DOT com-- ------ooo0O--O0ooo------- Please, research your question via the Searchable Mail Archives first. http://www.cygnus.com/ml/gnu-win32 (Searchable Mail Archives) Check out these great gnu-win32 related sites: ftp://ftp.cygnus.com/pub/gnu-win32/latest/ (ftp site) http://www.cygnus.com/pubs/gnupro/ (Comercial Page) http://www.cygnus.com/misc/gnu-win32/ (Project Page) http://dvpraktikum.informatik.uni-koeln.de:3232/ (Cygwin32 Porting Project) http://www.lexa.ru/sos (Sergey Okhapkin) ftp://www.lexa.ru/pub/domestic/sos/ (Sergey's ftp site) http://www.fu.is.saga-u.ac.jp/~colin/gcc.html (Colin Peters - Mingw32) http://www.xraylith.wisc.edu/~khan/software/gnu-win32/ (Mumit Khan) ftp://ftp.hksys.com/pub/mirrors/EGCS-Win32/ (Jeremy Bettis - mirror) http://gnu-win32.paranoia.ru (Chuck Bogorad's ports) http://www.downloadwizard.com/ak/gnu-win32/bash.html (GNU-Win32 Bash Configuration) http://rcw.home.ml.org/ (Rob Warner - software ports) http://www.parallax.co.uk/~andyp/index_text.html (Andy Piper - ports) http://www.tiac.net/users/cgf (Christopher Faylor - package ports) http://minimike.franken.de/docs/develop/gnuwin32/GNUWin32.txt (Package Porting Notes) ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin32/ (German mirror) http://www.dol.ru/users/valtul (Valery Tulnikov - software ports) ftp://ftp.cs.nyu.edu/pub/local/fox/cygwin32 (David fox - RPM packages) http://www.itribe.net/virtunix/winhelp-man-pages/ (HTML Man Pages) Help for Win32 Beginners: http://www.relisoft.com http://www.program.com/resources/win32.html DISCLAIMER: These links or links from these pages to other sites do not constitute an endorsement of any entities, advertisers, products or services therein. I am not responsible for and do not control or monitor the content of these sites or the accuracy of information found therein. -------------------- IMPORTANT UPGRADE NOTICE ------------------------ You should get the following to update your cygwinb19 package: Sergey Okhapkin's coolview package which contains an updated cygwinb19.dll. (Yes, even if you've already downloaded the b19.1 update from the Cygnus Site). Mumit Khan's compilation of EGCS for the cygwinb19.dll; especially if you're using the C++ compiler. The current version of the compiler that comes with the tools has lots of problems that have been fixed with the EGCS version. This is a drop-in replacement for the GCC toolset. URL's are listed above. ----------------------------------------------------------------------- _________________________________________________________ DO YOU YAHOO!? Get your free @yahoo.com address at http://mail.yahoo.com - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".