Subject: Re: Switching from old-style getopt to new-style one
To: Greywolf <>
From: Todd Vierling <>
List: tech-userlevel
Date: 11/03/2000 17:52:12
On Fri, 3 Nov 2000, Greywolf wrote:

: # > A getopt(3) replacement MUST function IDENTICALLY to getopt(3) as it has
: # > been in libc with option strings that already exist.  No exceptions; this is
: # > ABI compatibility.
: # 
: # I don't really get this argument -- doesn't it sometimes happen that a
: # libc change mandates that some userland programs have to be recompiled
: # (perhaps with a libc minor bump)? There are only a handful programs
: # that would have to be recompiled (see the patch, and perhaps some more
: # I hadn't thought of).
: The kind of changes that warrant bumping the minor number are usually
: functional.

The "ABI" is more then the ELFness of the binaries and the function
symbols; scripts written by third parties depend on the old behavior, and
the options passed to the commands are part of the "ABI" as it's often
used.  However, this is more a technical point of terminology.

Basically, the point of the statement is that there's already stuff out
there that depends on this behavior when exec()ing programs.

-- Todd Vierling <>  *
-- Speed, stability, security, and support.  Wasabi NetBSD:  Run with it.