tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: HEADS UP: I will be merging christos-time_t by the end of the week

On Mon, Jan 05, 2009 at 09:01:36PM +0100, Bernd Ernesti wrote:
> On Mon, Jan 05, 2009 at 02:36:46PM -0500, Thor Lancelot Simon wrote:
> > On Mon, Jan 05, 2009 at 10:47:34AM +0100, Bernd Ernesti wrote:
> > > On Sun, Jan 04, 2009 at 09:13:57PM -0500, Christos Zoulas wrote:
> > > [..]
> > > 
> > > > - all (most) the rest of the libraries get bumped
> I still want to know what 'most' means here.

Any library which has a function which takes a time_t, or any structure
containing a time_t, or a pointer to such a structure, as an argument,
or returns such a type.

> Why is the libc major version not changed if all other libaries have to
> be changed?

Because Christos versioned every single function in libc which handles any
time_t.  I don't see anyone stepping up to do that in other libraries, and
in any case, how would we get 3rd-party library maintainers to take such

> All programs are now linked against libc, so it should be possible to not
> bump the other libraries, since it is required to recompile EVERYTHING after
> you compiled something against the new libc.

The point is to allow programs linked only to the old libc to continue to
work, without having to build and install two versions of libc.  I actually
question whether that is worth the trouble.

I think bumping the libc major also would be better, because then I think
it might be feasible to modify the linker and loader to reject attempts
to link a program to when a dependent library wanted

This would at least cause programs to fail in a *deterministic* way at
run time if they were not caught at compile time...

And it *might* be possible to not bump dependent library versions, with
that set of toolchain modifications (to reject attempts to bring in two
versions of libc at once).  What do others think?

Thor Lancelot Simon                               
    "Even experienced UNIX users occasionally enter rm *.* at the UNIX
     prompt only to realize too late that they have removed the wrong
     segment of the directory structure." - Microsoft WSS whitepaper

Home | Main Index | Thread Index | Old Index