Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Sep 1999 22:20:19 +0400
From:      Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
To:        Marcel Moolenaar <marcel@scc.nl>
Cc:        Dmitrij Tejblum <tejblum@arc.hq.cti.ru>, Nate Williams <nate@mt.sri.com>, cvs-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/secure/lib/libcrypt Makefile src/lib/libcrypt Makefile 
Message-ID:  <199909231820.WAA04205@tejblum.pp.ru>
In-Reply-To: Your message of "Thu, 23 Sep 1999 15:36:07 %2B0200." <37EA2CC7.6654633D@scc.nl> 

next in thread | previous in thread | raw e-mail | index | archive | help
Marcel Moolenaar wrote:
> Dmitrij Tejblum wrote:
> > 
> > Marcel Moolenaar wrote:
> > > This is comparing apples with peers. Interpreters either supply
> > > versioning information to the source code or they don't. If they do,
> > > then it should be used to handle incompatibilities in a user friendly
> > > way. I they don't, then you obviously don't have a choice, other than
> > > writing backwards compatible code as much as possible.
> > 
> > ELF is an interpreted language.
> > The interesting now part of the program would look somewhat like this:
> > INTERP  /usr/libexec/ld-elf.so.1
> > NEEDED  libcrypt.so.2
> > NEEDED  libc.so.3
> 
> If ELF and interpreted languages were similar, then why aren't we
> programming with version numbers in every freaking statement?

There is no version numbers here. There are filenames here. Just like 
in a shell script.

> > (The INTERP line is handled by the kernel in a way similar to '#!' line
> > in a script. The rest is handled by the *ELF interpreter*.  --- I just
> > want to convince you that it is indeed _very_ similar)
> 
> The difference is, like you said, that /bin/sh doesn't contain a version
> number in it's name.
> 
> Don't stretch your point, you're being silly.

You are being blind. Of course, there is a difference: 
 
Binary interfaces are much less flexible than, say, the command
line interfaces. It is hard to imagine that a new version of a shell 
utility will be really confused (e.g. segfault) if it is used in 
the old way. But such a thing is not that difficult to imagine for
a binary interface. 

For _this_ reason, as a workaround, shared libraries expected to be
renamed sometimes. This rename, by convention, is done by "version
bump".

Is it clear now that the version numbers have nothing to do with the 
feature set?

Dima




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909231820.WAA04205>