Re: [UnixOS2] libc
Stefan Neis <neis-RCUrBZHvLvKSHq+C5vT0LZQlNPQFfrerqZSUQi4AVrg@public.gmane.org> Tue, 17 Jun 2003 18:49:52 +0200 (CEST)
| Newsgroups | gmane.comp.ide.emx.devel |
|---|---|
| Message-ID | <Pine.GSO.4.21.0306171806550.302-100000@cdc-ultra4.cdc.informatik.tu-darmstadt.de> |
On Tue, 17 Jun 2003, Adrian Gschwend wrote: > >Maybe moving that discussion to UnixOS2 or EMX list would > >be more appropriate... > > I vote for UnixOS2 list. In view of Ilya's recent post to EMX list > Can't we find a new volunteer for maintainance of EMX.DLL and > EMXCRTM.DLL? The job is to *collect* contributed patches, weed out > the weeds, and decide when we have a snapshot good enough to be named > golded. I decided to also involve emx mailing list into this discussion... I was asking about InnoTek and their gcc (and its libc), Adrian replied: > Just some comments from Achim (taken from #netlabs irc, btw hint hint, > IRC is a *good* way to communicate :-) I like the asynchronity (??) of mail. Everyone can read/reply when he can spare some minutes. ;-) > <achimha> well, our libc is done to fulfill our needs > <achimha> it is incompatible with emx (note by ktk: due to licensing > problems with EMX) Huh? Which ones? I always had the impression that EMX's licence is rather permissive... > <achimha> our GCC is targeted to be a VAC/Watcom replacement not a Unix > porting environment > <achimha> just wait for our first distribution then we can discuss how > to combine the various efforts To be honest, that doesn't sound to promising from the porting point of view. There are some things that _have_ to be deep inside libc, otherwise e.g. closing sockets by close instead of closesocket or pthread support won't work... :-( > For Unixos2-only people: Henry proposed to create a CVS for libc, now > the question is what do we want to take as base (EMX, LIBEMU and > Innotek-GCC libc is in dicussion, there is also one from IBM btw) I think we should start with EMX, add Posix/2, some link support, pthreads, libintl and maybe some other nice little extensions and then start making it all work together and fixing bugs (e.g. pthread library and library for symlink support (via EA) both modify certain functions for accessing files - BTW, large file support is the third candidate which "wants" specific changes in that same area). Whether the CVS is rooted at netlabs or sourceforge (we could start by abusing the Posix/2 CVS) is rather irrelevant to me, however it would be great to automatically send all CVS commits (as a diff) to some dedicated mailing list (I know that wxWindows did such a thing also while the CVS was hosted by sourceforge, so it's possible to set it up like this even there - but I don't know, how to do it), so whoever is interested has a chance to check things easily. The biggest problem for starting however is probably the build system: EMX libs expect dmake, IIRC. Posix/2 wants some GNUmake, pthreads want I don't know what etc. Unifying this and "porting" the Makefiles to some current GNUmake is going to require much time for not much to gain... :-( Ideally, we would also stay backward compatible, which implies keeping the right ordering for the already existing symbols in the DLL's. (though I'd suggest to make the import libraries for the new DLL's using "import by name"). OTOH, I _suppose_ large file support if put into the "normal" C routines is going to cause incompatibilities anyway (file positions no longer fit into an int, do they?), so maybe it would even be a good idea to be intentionally incompatible (old EMX DLL's handle small files, in the new runtime, everything would be large file enabled - Hmm, I'll have to get a new harddisk to create a large enough JFS partition for testing...). > It would be nice if we really could discuss that all together and agree > on a sollution that is fine for everyone and allows enhancements in the > future (no dead end). What I don't know at all is, how this could fit into Holger's long term plans. Ideally, replacing a couple of low level C routines by his more complete/efficient implementations - once they are ready - would be sufficient, but for this, it would be a big plus to have a rather detailed list of what functions those are going to be, I suppose. E.g. an improved link implementation is going to affect some other file related functions ((f)open, (f)stat, ...), but if we know this in advance, we can have some internal function like __dereference_link that's called by all those, so the changes from a temporary E/A based link emulation to "real" links are minimized... Regards, Stefan -- Micro$oft is not an answer. It is a question. The answer is 'no'.