This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: libc and building cygwin32.dll

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
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.

-        \\||//

Please, research your question via the Searchable Mail Archives first.          (Searchable Mail Archives)

Check out these great gnu-win32 related sites:                  (ftp site)                    (Comercial Page)                   (Project Page) 
                                            (Cygwin32 Porting Project)                               (Sergey Okhapkin)                (Sergey's ftp site) (Colin Peters - Mingw32)    (Mumit Khan)   (Jeremy Bettis - mirror)                   (Chuck Bogorad's ports)
                                        (GNU-Win32 Bash Configuration)                  (Rob Warner - software ports)  (Andy Piper - ports)     (Christopher Faylor - package ports)
                                               (Package Porting Notes) 
                                                       (German mirror)      (Valery Tulnikov - software ports) (David fox - RPM packages)     (HTML Man Pages)

Help for Win32 Beginners:

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
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.

Get your free address at

For help on using this list (especially unsubscribing), send a message to
"" with one line of text: "help".

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]