On Thu, Jan 14, 2010 at 05:35:32AM +0000, Ed Schouten wrote:
> Author: ed
> Date: Thu Jan 14 05:35:32 2010
> New Revision: 202274
> URL: http://svn.freebsd.org/changeset/base/202274
> 
> Log:
>   Phase out ttyslot(3).
>   
>   The ttyslot() function was originally part for SUSv1, marked LEGACY in
>   SUSv2 and removed later on. This function only makes sense when using
>   utmp(5), because it was used to determine the offset of the record for
>   the controlling TTY. It makes little sense to keep it here, because the
>   new utmpx file format doesn't index based on TTY slots.
> 
> Modified:
>   head/ObsoleteFiles.inc
>   head/include/unistd.h
>   head/lib/libc/gen/Symbol.map
>   head/lib/libc/gen/ttyname.3
>   head/lib/libc/gen/ttyslot.c
>   head/libexec/getty/ttys.5
> 
> Modified: head/ObsoleteFiles.inc
> ==============================================================================
> --- head/ObsoleteFiles.inc    Thu Jan 14 02:48:39 2010        (r202273)
> +++ head/ObsoleteFiles.inc    Thu Jan 14 05:35:32 2010        (r202274)
> @@ -14,6 +14,8 @@
>  # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
>  #
>  
> +# 20100114: removal of ttyslot(3)
> +OLD_FILES+=usr/share/man/man3/ttyslot.3.gz
>  # 20100113: remove utmp.h, replace it by utmpx.h
>  OLD_FILES+=usr/share/man/man3/login.3.gz
>  OLD_FILES+=usr/share/man/man3/logout.3.gz
> 
> Modified: head/include/unistd.h
> ==============================================================================
> --- head/include/unistd.h     Thu Jan 14 02:48:39 2010        (r202273)
> +++ head/include/unistd.h     Thu Jan 14 05:35:32 2010        (r202274)
> @@ -574,7 +574,6 @@ int        swapon(const char *);
>  int   swapoff(const char *);
>  int   syscall(int, ...);
>  off_t         __syscall(quad_t, ...);
> -int   ttyslot(void);
>  int   undelete(const char *);
>  int   unwhiteout(const char *);
>  void *valloc(size_t);                        /* obsoleted by malloc() */
> 
> Modified: head/lib/libc/gen/Symbol.map
> ==============================================================================
> --- head/lib/libc/gen/Symbol.map      Thu Jan 14 02:48:39 2010        
> (r202273)
> +++ head/lib/libc/gen/Symbol.map      Thu Jan 14 05:35:32 2010        
> (r202274)
> @@ -272,7 +272,6 @@ FBSD_1.0 {
>       openlog;
>       closelog;
>       setlogmask;
> -     ttyslot;
>       ttyname_r;
>       ttyname;
>       timezone;

You should never remove symbol from the version map for shared library.
Doing that removes one of the reason for having symbol versioning at all
(namely, pre-execution check that version requirements of the objects
are satisfied). FreeBSD allows version maps to grow, that makes the
check weaker then it ought to be.

Attachment: pgpVvZ4OjOyCZ.pgp
Description: PGP signature

Reply via email to