Subject: Re: lib/24324: telldir issues
To: None <gnats-bugs@NetBSD.org, lib-bug-people@netbsd.org,>
From: Christos Zoulas <christos@zoulas.com>
List: netbsd-bugs
Date: 05/18/2006 21:55:04
On May 19,  1:30am, blymn@baesystems.com.au (Brett Lymn) wrote:
-- Subject: Re: lib/24324: telldir issues

| The following reply was made to PR lib/24324; it has been noted by GNATS.
| 
| From: Brett Lymn <blymn@baesystems.com.au>
| To: gnats-bugs@netbsd.org
| Cc: 
| Subject: Re: lib/24324: telldir issues
| Date: Fri, 19 May 2006 10:55:31 +0930
| 
|  On Fri, May 19, 2006 at 12:15:04AM +0000, Arne H Juul wrote:
|  > 
|  >  On Sat, 13 May 2006, Brett Lymn wrote:
|  >  > About the only think I can see that would cause a bit of a pause is
|  >  > the fact that you changed the calling arguments in telldir() by
|  >  > removing "const", this would require a bump in the version number of
|  >  > libc to prevent binaries linked with old libc versions getting the new
|  >  > API.  I believe that his would be a bump in the major version of libs
|  >  > which is not done lightly.
|  >  
|  >  you don't give any *reason* why this would require a version bump;
|  >  just saying it doesn't make it so.  Have you actually verified your
|  >  claim by testing, or could you at least make some plausible argument?
|  >  
|  
|  I did state the reason - in my view there was an API change.  Changing
|  the types in a function is a change in the API.  In this case the
|  change is minor and we can probably get away without it as Christos
|  has noted.  I have done a few libraries for NetBSD, I understand the
|  rules for what constitutes a major/minor bump, why are you querying my
|  decision so aggressively?

Guys please relax. There are two issues here. There is no ABI change because
programs compiled before the change will keep working as before. The problem
is that programs that assume that the DIR pointer to telldir is const, that
might fail to compile after this change. This is not an ABI issue, and the
version should not be bumped. If programs assume that the value returned
by telldir is a small integer, and now it is a big integer because it is
a pointer will break. This is a program error.

christos