This is the mail archive of the mailing list for the libc-ports project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

OpenSolaris Port


I've been working on porting GNU libc to OpenSolaris for the past few
months. I've put a web page detailing my work [0] (the actual diff is
in glibc-2.7-kopensolaris-gnu.diff.gz). NPTL has also been ported; the
mutex/rwlock/semaphore parts and thread parts have been rewritten to
use OpenSolaris-specifc locking/threading syscalls. Most of the patch
could theoretically be added to glibc-ports, although there are a
number of changes that would need to be made to base glibc,
particularly in NPTL. Any patches to non-sysdeps stuff has been done
in a way that would not affect building on the supported platforms;
i.e. I've added #define's and used #if/#else blocks to add the
OpenSolaris-specific functionality. A good example is the use of
PTHREAD_T_IS_TID, which causes pthread_t's to be thread/lwp id's
instead of pointers to the actual thread descriptor, which is what
sun's libpthread/libthread does.

My current goal is to end up with something that would completely
replace sun's libc. Many of sun's extensions (f.e. the zone_* bits in
libc) are simply wrappers around syscalls, so I've reimplemented them
in the port. Since glibc is licensed under LGPL and includes a linking
exception, it should be legal to link OpenSolaris CDDL components
(e.g. or /usr/bin/zonecfg) against glibc. I've been
focusing on i386, but it should be little work to make an x86_64 and
sparc port.

There's not much point in merging any changes yet, since it's still a
work in progress. This email is just a notification. Comments and
ideas are appreciated.

-- David


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