cvs commit: src/lib/libc/locale utf8.c

Ken Smith kensmith at cse.Buffalo.EDU
Thu Oct 25 14:35:26 PDT 2007

On Thu, 2007-10-25 at 23:14 +0400, Andrey Chernov wrote:
> On Thu, Oct 25, 2007 at 01:10:13PM -0600, Scott Long wrote:
> >> Well, I think the problem is not exposing a new symbol by itself, but
> >> __mb_sb_limit is being used in _ctype.h, in a form of __inline
> >> functions.  Therefore, the change will break new binaries running on
> >> older systems.  Personally I think this is acceptable, but maybe we
> >> could have a better way to avoid this, because the binaries are no
> >> longer backward compatible (i.e. you may have trouble running a program
> >> compiled for 6.3-RELEASE on 6.2-RELEASE, if it uses locale bits).
> > 
> > If this is true, then it directly violates the API/ABI compatability
> > guidelines that were developed and agreed to by the project in 2005.
> We define only backward compatibility, not forward one. Do you f.e. expect 
> to run 7x binaries on 6x as is? At least compat7x required (if all syscall 
> are the same).

That's not what Scott was referring to.

It's expected that 8.X binaries *may* not run on 7.X without compat
libraries or something along those lines.  That said this sort of
breakage is what I was hoping we could avoid having happen before 7.0
was out the door (it's what I meant by asking people to be a bit
conservative until we're done with 7.0) because it does tend to add to
peoples' general frustration level at a time there is enough stress
coming from other sources.

What we need to try and avoid unless *absolutely* *necessary* is the
part Scott quoted above - binaries compiled on 6.3-REL should work on
6.2-REL unless there was a really big issue and the solution to that
issue required us to break that.  The reason is simple, people should be
able to continue running 6.2-REL "for a while" and still be able to
update their packages from packages-6-stable even after portmgr@ starts
using a 6.3-REL base for the builds (I think they use RELENG_6 for the
most part but I could be wrong).  And this sort of backwards
compatibility is a big help to large sites that do things like have an
NFS server where local software gets installed (we build stuff and stick
it in /util/bin which is NFS mounted from one machine).  Its a big help
running a site like this if all machines don't need to be at exactly the
same OS rev as the server.

                                                Ken Smith
- From there to here, from here to      |       kensmith at
  there, funny things are everywhere.   |
                      - Theodore Geisel |

More information about the cvs-src mailing list