Felix Schulte writes:
> On 6/25/06, Casper.Dik at sun.com <Casper.Dik at sun.com> wrote:
> > This seems wrong; personally I think we should rip out any replacement
> > for system libraries; such duplication leads to more code which needs
> > to be maintained. This includes replacements for <stdio.h>.
> There would be no need to replace it if the stdio implementation in
> Solaris would be sane, however since it sucks a faster, non-sucking
> replacement would be cool.
In that case, the right answer is to remove the "sucking" part of the
Solaris stdio. Since stdio is part of Open Solaris, this is doable.
Bolting a replacement on the side is just wrong because doing so
assumes that:
- stdio is unchangeable and unfixable (neither of these is correct)
- nobody else will want a fixed stdio (everyone benefits from
improvements, don't they?)
- those who want the improvements will naturally link in the new
library (why should users be forced to choose between a "sucking"
implementation and a "non-sucking" one?)
I agree with Casper that creating your own stdio because you don't
like the one in Open Solaris is architecturally infeasible. We cannot
just allow parts of the system that we think are broken to rot in
place. We (the community, all of us collectively) own this software,
and we have a responsibility to maintain it properly.
Forking off and restarting is not proper maintenance.
> > (The problem is even bigger if these are indeed shipped as part of
> > the ksh libraries; having multiple implementations visible to processes
> > is bad; note that re-exporting symbols like fopen() would be blatantly
> > illegal in C and therefor also in Solaris; our libraries will malfunction
> > when they find a different stdio library)
> No, they won't malfunction. All AST stdio symbols have an '_ast_'
> prefix in their ELF name, for example fopen() is listed as _ast_fopen
> by elfdump
That doesn't make it any less awful.
--
James Carlson, KISS Network <james.d.carlson at sun.com>
Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677