Re: Re: [UnixOS2] libc
Ilya Zakharevich <[email protected]> Wed, 25 Jun 2003 05:17:56 -0700
| Newsgroups | gmane.comp.ide.emx.devel |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Jun 24, 2003 at 06:13:51PM +0200, Stefan Neis wrote: > > I do not see how this could be a problem. First of all, EMX CRT DLL > > has no exports by name, right? [Can't check it now.] > > I think so yes. But (static) libraries typically don't reference DLL > entry points, do they? I think they just reference function names which > get resolved to DLL entry points or whatever at link time? Correct. > > The problem with libraries which I meant is that a function could take > > off_t as an argument (or a return value). If the meaning of off_t > > changes in the calling program, but not in the library (or visa > > versa), this leads to problems which are extremely hard to debug. > > Oh, yes. That's something I learned under Solaris and Linux and that's > why I keep saying that following their scheme is not a very good idea. > OTOH, if you want to continue existing libraries without recompilation, > that's impossible to avoid. I do not see any problem whatsoever. C_LIBRARY_PATH should be different, that's all. It is easy to write a tiny script which will sort existing libraries into 2 categories: a) compatible with old API only; b) do not call the changed API; The newly compiled libraries may go into "b" or a third category c) compatible with the new API only. As far as we do not have *many* such forks, the situation is handable. [A part that recompiling all libraries will solve all the problems skipped - as I said, I do not consider this feasible.] Hope this helps, Ilya