[openbeos] Re: newos libc

  • From: "Travis Geiselbrecht" <geist@xxxxxxxxxx>
  • To: <openbeos@xxxxxxxxxxxxx>
  • Date: Fri, 25 Jan 2002 14:46:36 -0800

> > >OK, I finally clued in and got the current newos libc.(duh!) Man!, 
> > >after coding apps all day, the brain just doesn't want to
> > work.......
> > >
> > >There doesn't seem to be much done other than string 
> functions which 
> > >is much the same as where I left off.
> > >
> > >For a full overview of what I am following as a guide to the full
> > > posix
> > >spec please see:
> > >
> > >http://www-sld.slac.stanford.edu/HELP/POSIX/
> > >
> > >The relevant listings of posix are under the headings:
> > >
> > >-Data_Structures
> > >-Callable_Functions
> > >-Shell_Commands
> > >
> > >So, as we can see there is a LOOOOONNNNGGGGG way
> > >to go before the full implementation of posix is met.
> > >
> > >Well, busy busy.......
> > >
> > >Where do I find the documentation for the thread calls like:
> > >
> > >arch_thread_initialize_kthread_stack
> > >
> > >etc.?
> > >
> > >Peter
> > 
> > I have asked this before on the list and didn't really get 
> an answer.
> > 
> > *Why* don't we use the open source libroot.so from BeOS?
> > 
> > Are there any advantages or disadvantages to using libc?
> > 
> > I think I am a little bit of a BeOS "pure-ist" and want OpenBeOS to
> > be 
> > as similar as possible, and using libroot.so would help this right?
> 
> Agreed. I've asked this question 3 or 4 times, and been ignored every 
> time.
> -Nathan

Not true. Being 'ignored' is assuming someone has the answers, and
simply decides not to answer. It's very possible that no one really
knows, and therefore doesn't have an opinion as to how to do it, and
therefore doesn't answer. I like that better than a whole ton of emails
saying 'no idea'.

So, my answer to the question is figure out if libroot.so is going to do
the job, and then implement it. It may be hard, and there may be serious
roadblocks, but the best way to figure it out is to try it. If you fail,
try something new. I betcha you'll learn something from it.

I personally haven't looked at libroot, but I don't see it as a real
solution because of the sketchy nature of re-releasing a company's work
like that. Libroot was built to be released on beos, not for someone
else's stuff. Now, beos may not be around to sue, or whatever, but
that's just not a good practice to get into. Do you think it'd be a good
idea to rewrite a nt kernel and repackage the windows libraries with it?
I think MS wouldn't like that. It's pretty much the same thing.

Now, if you look at the part of libroot that's open sourced, I think
you'll just find glibc. The rest of it is largely stuff specific to beos
(like syscalls and such). Those aint gonna fly on newos. So, my strategy
on this would be one of two things:

1) rewrite libc (may be doable, but I'm a little unsure about rewriting
the c++ stdlib)
2) port another one: glibc, diet libc, etc etc. There are lots of 'em.
There will be problems porting them, but that's part of the game. Glibc
would be where I'd put my money. Trouble is it's large. A compiled
version is many MB. That's not going to be that usable until we get a
native fs to boot off of, but it'd still be interesting to do it, and it
could probably be tested if you compile it as an .a and statically link
it (should produce binaries that are smaller, and will probably fit on a
floppy). Maybe we can put together a multi-floppy strategy too, that's
not out of the question.

As far as getting docs for newos stuff,
arch_thread_initialize_kthread_stack is not a good example. There are
far more internal calls that external ones. The one's you'll be
interested in are in syscalls.h. Libc lives in user space, and thus wont
be making any direct calls to the kernel. Only syscalls.

Anyway, hope that answers your questions. But, I'm not pleased with the
tone of the last email. In general there are problems that have to be
solved, asking the mailing list is not the answer. If you choose to
tackle a part of openbeos, you have the responsibility of figuring out
how to do it. Asking the list may help, but because people don't answer
you doesn't mean that it's hopeless or whatever you may think. Many of
us are simply hard at work on our little parts of the system.

Travis Geiselbrecht
geist@xxxxxxxxx



Other related posts: