Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: a separate build of libc



Hello David,

On Tue, Oct 14, 2014 at 05:33:58AM +0000, David Holland wrote:
> On Mon, Sep 22, 2014 at 10:05:47PM +0200, u-6hol%aetey.se@localhost wrote:
>  > > If what you are trying to do is port NetBSD's libc to a different OS,
>  > > please say so, because that has been done before and we can give you a
>  > > much better idea what it entails.
>  > 
>  > No, this is not the case.
>  > (I guess you mean Minix or was there another effort?)
> 
> I personally have used NetBSD's libc in two different research OSes,
> and I'm not the only person to have done that. The Minix thing
> happened much later.

I see. Nice to know that a quest harder than mine has been done,
more than once.

>  > > If what you are trying to do is reorganize the NetBSD sources so that
>  > > libc is a clearly defined component instead of being casually mixed
>  > > with the kernel, please say so, because that has been done before and
>  > > we can give you a much better idea what it entails.
>  > 
>  > This looks much nearer to what I do.

> I still don't really understand what you're trying to accomplish, but
> here goes:
> 
>    - the libc sources are in src/lib/libc
>    - some additional sources are in src/common/lib/libc
>    - you will also need the base includes (src/include) and the main
>      kernel includes (src/sys/sys, src/arch/*/include)
>    - you may need other kernel includes (e.g. src/sys/ufs/*/*.h or
>      src/sys/uvm/*/*.h)
> 
> Some of the material in src/include is not actually libc (e.g. util.h
> is for libutil) but you will need to sort this out on a file-by-file
> basis. Similarly, much of the material in the kernel headers is
> actually just kernel internals but you will also need to sort this out
> on a file-by-file basis. A good starting point is to take the header
> files that are installed by "make includes" (you can safely ignore
> those that aren't) and strip out all the parts that are #ifdef _KERNEL.

I see. Thanks, this summary is helpful (also where it states that
it is me who is to sort out what is necessary and what is not :)

> You'll need a fairly thorough understanding of Unix and Unix library
> interfaces (both historical and as reflected in various standards) to
> get this right. It's not a small undertaking, and it's not something a
> newbie can reasonably expect to be able to do.

I am a newbie to NetBSD internals but otherwise feel pretty confident
with the task - it is the avalable time which is now the constraint.

Regards,
Rune



Home | Main Index | Thread Index | Old Index