Re: Re: [UnixOS2] libc
Ilya Zakharevich <[email protected]> Mon, 7 Jul 2003 04:24:25 -0700
| Newsgroups | gmane.comp.ide.emx.devel |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Jul 06, 2003 at 10:24:06PM +0200, Andreas Buening wrote: > > > 2) Existing static libraries can still be used if a) either the > > > compilation and linkage is done only with old libraries and > > > the old emx or b) the compilation and linkage is done with > > > old libraries or libraries generated by (-D_OLD_EMX_STYLE) > > > and the new libc, > > This needs also a support from the header files (e.g., mapping tell() > Of course, static libraries and headers have to be consistent. This is not what I meant. For full compatibility, when a ABI/API-fork (if you know what I mean ;-) is performed, the new functions should have different link-time name, and the header files should #define old names into the new ones. Actually, the same should be done for the old names; i.e., fstat() should be replaced by fstat32() and fstat64() - with "purely named" fstat() also sitting somewhere for the sake of ./configure scripts. > > > 3) On the long term all old libraries will (hopefully) vanish? > > If a library has no linkage with changed functions, and has no > > function with a changed typedef in the signature, there is no need to > > obsolete this. If a library is very specialized and would never be > > critical in a big-file situation, there is also no need to fix it. > Nevertheless, the safe way would be to deprecate old libraries. If we do enough, then deprecation is not needed; depreciation is a better solution. (E.g.: "we honestly expect that many old libraries will work; but if you encounter problems and if want more support, recompiling/replacing your libraries can encourage more people to help you" ;-). > > P.S. But unless EM says otherwise, I think that without a volunteer > > maintainer all this is going to be a pipe dream. > We'll see. Btw, where have gone all the volunteers who wanted to host > the new emx CVS? It may be ignorance, but in many years of my experience I never saw a situation when CVS helps. It is *crucial* that the patches fly through a mailing list (or, better, an mailing-list/archived-newsgroup combo) - so that as many people as possible can comment on this. It is inevitable that patches will conflict - so a conflict resolution scenario is required. At some moment a decision must be made that these and those patches are accepted into the development branch - so somebody who has a power to do so is required. > 1. Restructuring of the current emx build system (no idea how much > work would be necessary for this) to make sure the new build > system works before we change anything. IMO: DO NOT do this. Use 2.8.1 + dmake. There are *pressing needs* to fix things. Restructuring is a luxury with no (?) known benefits. > 2. Appliance of all known bug fixes to emx and the last 100% > compatible emx release (0.9g) as a proof of concept. AFAIK, there is no need to have the *last* compatible release. The amount of work to make new releases compatible is muniscule comparing to QA work. And in the absense of QA framework it is crucial to have a large pool of applications which have a chance to break due to yet-uncovered bug - so we can fix this bug early ;-). Hope this clarifies my position, Ilya