victory! I have a working crosscompiler!

Zack Weinberg zack@codesourcery.com
Mon Dec 10 11:31:00 GMT 2001


On Mon, Dec 10, 2001 at 02:11:47PM -0500, Adam Megacz wrote:
> 
> Bo Thorsen <bo@sonofthor.dk> writes:
> > Not true. If you have a C compiler, you have a C library.
> 
> But I've never seen a file called "libc.so" on a windows machine.
> 
> And (for example), getpwent() is part of libc, yet (AFAIK) is pretty
> much meaningless on a Win32 system.

As I understand it, libc.so is roughly analogous to the core DLLs:
kernel32, etc.  Look in gcc/config/i386/mingw32.h and cygwin.h for
some lists.

The interfaces defined by the C standard will be provided by some
library - that's what Bo means.  Some of the interfaces defined by
POSIX are present too, more with cygwin.  Very unix-specific routines
like getpwent naturally won't show up.

It's a historical accident that libc.so contains all the stuff it
does.  In fact, you can make a good design case for splitting it up by
standard and interface level.  (Some systems have a libsys.a that
contains nothing but the primitive system calls, for use by programs
that don't want the C runtime.  Unfortunately it doesn't work with
dynamic linking.)

zw



More information about the Gcc mailing list