Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Aug 1999 20:19:35 +0800
From:      Peter Wemm <peter@netplex.com.au>
To:        obrien@FreeBSD.org
Cc:        "Matthew N. Dodd" <mdodd@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/include histedit.h src/lib/libedit Makefile editline.3 el.c el.h 
Message-ID:  <19990820121935.D8C161C1F@overcee.netplex.com.au>
In-Reply-To: Your message of "Fri, 20 Aug 1999 01:45:31 MST." <19990820014531.B30314@dragon.nuxi.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
"David O'Brien" wrote:
> >   Add 2 functions: el_data_set() and el_data_get() which do what you
> >   would expect.  (Allow user data to be associated with an EditLine context
    ).
> >   
> >   As this changes no existing interfaces and doesn't alter any structs
> >   visable to the user I've been told that its not necessary to bump
> >   the version of the library.
> 
> I actually had long talk with one of our toolchain people.  The
> conclusion we came to is that it *does* need to be bumped.  (I was
> checking on my bump of libreadline in -STABLE and the discussion applies
> here too)

I don't think it's generally useful for merely adding functions.  Consider:

Assuming bump:
program from 3.3 run on 3.2 and program using new functions:
- warning generated about old library.
- fatal error when undefined reference hit.
- email to questions@freebsd.org "what is wrong?"

program from 3.3 run on 3.2 and program NOT using new functions:
- warning generated about old library.
- email to questions@freebsd.org "what is wrong?"

Assuming NO minor bump:
program from 3.3 run on 3.2 and program using new functions:
- fatal error when undefined reference hit.
- email to questions@freebsd.org "what is wrong?"

program from 3.3 run on 3.2 and program NOT using new functions:
- works happily.

For things like this, I personally think it's better to go without a bump,
especially if it's a function that's only used in /usr/src.  In that case,
people are getting the new function at the same time they are updating from
3.2 to 3.3.  If ports want to use it though it's not so clear.

It's the uselessness of the implementation of the minor numbers that's
partly the reason why it was left out of ELF.

On the other side of the fence for a moment though, people say "if you get
an undefined symbol, the minors tell you which libraries to update".  This
is true, but how about moving the warnings so they only happen *IF* an
undefined symbol gets hit.  ie: if a program doesn;t use the new symbol, it's
silent.  But if it does get an undefined symbol, ld.so dumps out something
to the effect of:

ld.so: undefined symbol "el_data_get" referenced in nslookup.
warning: libedit.so.3.4 is older than expected the libedit.so.3.6

That stops the "what does this mean" mail to questions about meaningless
warnings when there's actually no problem, and gives people a short-list of
things to fix IF they do run into trouble.

Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au



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?19990820121935.D8C161C1F>