This is the mail archive of the
libc-alpha@sourceware.cygnus.com
mailing list for the glibc project.
Re: Linux vs. libio
- To: jbuck at synopsys dot COM
- Subject: Re: Linux vs. libio
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Mon, 20 Dec 1999 15:53:25 -0800
- Cc: law at cygnus dot com, jason at cygnus dot com, drepper at gnu dot org, gcc at gcc dot gnu dot org, libc-alpha at sourceware dot cygnus dot com
- Organization: CodeSourcery, LLC
- References: <7718.945729734@upchuck><199912202336.PAA16416@atrus.synopsys.com>
>>>>> "Joe" == Joe Buck <jbuck@synopsys.COM> writes:
Joe> If glibc and libstdc++ are to share the same structures for
Joe> streams/stdio, then yes, they must change in lock-step. This
Joe> is appropriate for *released* versions. But for *testing*,
Joe> it would be nice to have the *option* on Linux of saying
Joe> "don't share i/o structures". Enabling this option would
Joe> break programs that rely on the C++ standard's guarantee that
Joe> cout/stdout and cerr/stderr are synchronized (unless flush
Joe> calls are inserted at appropriate points), and we would never
Joe> build binary packages to be distributed in that way, though
Joe> we could point users to this choice if they are stuck, trying
Joe> to get new C++ code to run on a legacy Linux system, for
Joe> instance.
Exactly! I'm ecstatic that you intuited what I was trying to say!
Joe> It appears that the only way to get past this impasse is to
Joe> find a libio patch that the glibc folks would be willing to
Joe> accept.
That's what we were working on when I asked for help yesterday.
Sadly, we haven't made much progress; I've been too busy in this email
debate! :-(
I guess the mistake was to try to do the design in this way. Instead,
we can just complete the patch, and present the finished product for
comment, and, hopefully, approval.
Let's avoid branching, then. How about this:
o We'll work on -fnew-abi support in the compiler. Checking in the
changes may break -fnew-abi regression tests, because of libio
problems, but people can still see the changes and test -fnew-abi
in non I/O streams examples.
o In parallel, we'll work on the libio patches. We'll submit them,
and try to get approval. Then, we'll put them in libio, bringing
things back to zero regression-test failures.
There's no risk: nobody is supposed to be using -fnew-abi for anything
serious right now, non-new-abi builds won't break, and we'll keep the
libios in sync.
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com