Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Feb 2003 17:16:14 -0800 (PST)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 25194 for review
Message-ID:  <200302150116.h1F1GEHs045101@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=25194

Change 25194 by marcel@marcel_nfs on 2003/02/14 17:15:46

	IFC @25184

Affected files ...

.. //depot/projects/tty/UPDATING#3 integrate
.. //depot/projects/tty/contrib/groff/man/groff_out.man#2 integrate
.. //depot/projects/tty/contrib/groff/mdate.sh#2 integrate
.. //depot/projects/tty/contrib/groff/tmac/doc-common#2 integrate
.. //depot/projects/tty/contrib/groff/tmac/doc-ditroff#2 integrate
.. //depot/projects/tty/contrib/groff/tmac/doc-nroff#2 integrate
.. //depot/projects/tty/contrib/groff/tmac/doc-syms#2 integrate
.. //depot/projects/tty/contrib/groff/tmac/strip.sed#2 integrate
.. //depot/projects/tty/crypto/kerberosIV/kadmin/kpasswd_standalone.c#2 integrate
.. //depot/projects/tty/gnu/usr.bin/groff/tmac/mdoc.local#2 integrate
.. //depot/projects/tty/include/dlfcn.h#2 integrate
.. //depot/projects/tty/lib/libc/gen/dlfcn.c#2 integrate
.. //depot/projects/tty/lib/libc/gen/dlinfo.3#1 branch
.. //depot/projects/tty/lib/libc/gen/dlopen.3#2 integrate
.. //depot/projects/tty/lib/libc_r/man/Makefile.inc#2 integrate
.. //depot/projects/tty/lib/libc_r/man/pthread_attr.3#3 integrate
.. //depot/projects/tty/lib/libc_r/man/pthread_attr_get_np.3#3 integrate
.. //depot/projects/tty/lib/libc_r/man/pthread_attr_setcreatesuspend_np.3#1 branch
.. //depot/projects/tty/lib/libc_r/man/pthread_main_np.3#1 branch
.. //depot/projects/tty/lib/libc_r/man/pthread_multi_np.3#1 branch
.. //depot/projects/tty/lib/libc_r/man/pthread_mutexattr_getkind_np.3#1 branch
.. //depot/projects/tty/lib/libc_r/man/pthread_resume_all_np.3#1 branch
.. //depot/projects/tty/lib/libc_r/man/pthread_resume_np.3#1 branch
.. //depot/projects/tty/lib/libc_r/man/pthread_set_name_np.3#1 branch
.. //depot/projects/tty/lib/libc_r/man/pthread_suspend_all_np.3#1 branch
.. //depot/projects/tty/lib/libc_r/man/pthread_suspend_np.3#1 branch
.. //depot/projects/tty/lib/libc_r/man/pthread_switch_add_np.3#1 branch
.. //depot/projects/tty/lib/libgeom/Makefile#2 integrate
.. //depot/projects/tty/lib/libgeom/libgeom.3#2 integrate
.. //depot/projects/tty/libexec/rtld-elf/Makefile#2 integrate
.. //depot/projects/tty/libexec/rtld-elf/malloc.c#2 integrate
.. //depot/projects/tty/libexec/rtld-elf/rtld.1#2 integrate
.. //depot/projects/tty/libexec/rtld-elf/rtld.c#3 integrate
.. //depot/projects/tty/libexec/rtld-elf/rtld.h#2 integrate
.. //depot/projects/tty/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#3 integrate
.. //depot/projects/tty/sbin/devd/devd.8#2 integrate
.. //depot/projects/tty/sbin/devd/devd.conf.5#2 integrate
.. //depot/projects/tty/sbin/dumpfs/dumpfs.c#3 integrate
.. //depot/projects/tty/sbin/fsck_ffs/fsck.h#2 integrate
.. //depot/projects/tty/sbin/md5/md5.c#3 integrate
.. //depot/projects/tty/sbin/newfs/mkfs.c#3 integrate
.. //depot/projects/tty/sbin/newfs/newfs.c#3 integrate
.. //depot/projects/tty/sbin/newfs/newfs.h#3 integrate
.. //depot/projects/tty/secure/lib/libcrypto/Makefile.asm#2 integrate
.. //depot/projects/tty/share/examples/etc/make.conf#3 integrate
.. //depot/projects/tty/share/examples/ipfw/change_rules.sh#2 integrate
.. //depot/projects/tty/share/man/man4/sbp.4#4 integrate
.. //depot/projects/tty/share/man/man5/rc.conf.5#3 integrate
.. //depot/projects/tty/sys/alpha/alpha/pmap.c#2 integrate
.. //depot/projects/tty/sys/alpha/conf/GENERIC#4 integrate
.. //depot/projects/tty/sys/boot/Makefile#2 integrate
.. //depot/projects/tty/sys/compat/linux/linux_misc.c#2 integrate
.. //depot/projects/tty/sys/conf/NOTES#4 integrate
.. //depot/projects/tty/sys/conf/files#3 integrate
.. //depot/projects/tty/sys/conf/files.alpha#4 integrate
.. //depot/projects/tty/sys/conf/files.i386#4 integrate
.. //depot/projects/tty/sys/conf/files.pc98#3 integrate
.. //depot/projects/tty/sys/dev/ata/ata-all.c#3 integrate
.. //depot/projects/tty/sys/dev/ep/if_ep_isa.c#2 integrate
.. //depot/projects/tty/sys/dev/exca/exca.c#2 integrate
.. //depot/projects/tty/sys/dev/exca/excareg.h#2 integrate
.. //depot/projects/tty/sys/dev/exca/excavar.h#2 integrate
.. //depot/projects/tty/sys/dev/firewire/firewire.c#3 integrate
.. //depot/projects/tty/sys/dev/firewire/firewirereg.h#3 integrate
.. //depot/projects/tty/sys/dev/firewire/fwohci.c#3 integrate
.. //depot/projects/tty/sys/dev/firewire/fwohci_pci.c#3 integrate
.. //depot/projects/tty/sys/dev/firewire/sbp.c#3 integrate
.. //depot/projects/tty/sys/dev/pccbb/pccbb.c#2 integrate
.. //depot/projects/tty/sys/dev/usb/usbdevs#4 integrate
.. //depot/projects/tty/sys/dev/usb/usbdevs.h#4 integrate
.. //depot/projects/tty/sys/dev/usb/usbdevs_data.h#4 integrate
.. //depot/projects/tty/sys/dev/usb/uvscom.c#3 integrate
.. //depot/projects/tty/sys/i386/conf/GENERIC#5 integrate
.. //depot/projects/tty/sys/i386/conf/NOTES#4 integrate
.. //depot/projects/tty/sys/i386/conf/OLDCARD#4 integrate
.. //depot/projects/tty/sys/i386/i386/pmap.c#4 integrate
.. //depot/projects/tty/sys/ia64/conf/GENERIC#4 integrate
.. //depot/projects/tty/sys/ia64/ia64/pmap.c#3 integrate
.. //depot/projects/tty/sys/kern/init_main.c#3 integrate
.. //depot/projects/tty/sys/kern/kern_intr.c#2 integrate
.. //depot/projects/tty/sys/kern/kern_resource.c#3 integrate
.. //depot/projects/tty/sys/kern/kern_shutdown.c#4 integrate
.. //depot/projects/tty/sys/kern/kern_synch.c#2 integrate
.. //depot/projects/tty/sys/kern/subr_mbuf.c#2 integrate
.. //depot/projects/tty/sys/kern/subr_mchain.c#2 integrate
.. //depot/projects/tty/sys/kern/sys_pipe.c#2 integrate
.. //depot/projects/tty/sys/kern/vfs_mount.c#2 integrate
.. //depot/projects/tty/sys/modules/Makefile#5 integrate
.. //depot/projects/tty/sys/modules/agp/Makefile#2 integrate
.. //depot/projects/tty/sys/modules/firewire/firewire/Makefile#2 integrate
.. //depot/projects/tty/sys/netinet/tcp_input.c#3 integrate
.. //depot/projects/tty/sys/netncp/ncp_ncp.c#2 integrate
.. //depot/projects/tty/sys/netsmb/smb_subr.c#2 integrate
.. //depot/projects/tty/sys/pc98/conf/GENERIC#3 integrate
.. //depot/projects/tty/sys/pci/agp.c#2 integrate
.. //depot/projects/tty/sys/pci/agp_i810.c#2 integrate
.. //depot/projects/tty/sys/pci/agpreg.h#2 integrate
.. //depot/projects/tty/sys/powerpc/conf/GENERIC#3 integrate
.. //depot/projects/tty/sys/powerpc/powerpc/in_cksum.c#2 integrate
.. //depot/projects/tty/sys/sparc64/conf/GENERIC#3 integrate
.. //depot/projects/tty/sys/sys/link_elf.h#2 integrate
.. //depot/projects/tty/sys/ufs/ffs/ffs_alloc.c#2 integrate
.. //depot/projects/tty/sys/ufs/ffs/ffs_balloc.c#2 integrate
.. //depot/projects/tty/sys/ufs/ffs/ffs_vfsops.c#2 integrate
.. //depot/projects/tty/tools/tools/tinderbox/make.conf#2 delete
.. //depot/projects/tty/tools/tools/tinderbox/tbmaster.pl#2 integrate
.. //depot/projects/tty/tools/tools/tinderbox/tinderbox.pl#4 integrate
.. //depot/projects/tty/tools/tools/tinderbox/tinderbox.sh#2 delete
.. //depot/projects/tty/usr.sbin/inetd/inetd.c#2 integrate

Differences ...

==== //depot/projects/tty/UPDATING#3 (text+ko) ====

@@ -916,7 +916,8 @@
 	the config file update procedure.
 		http://people.freebsd.org/~imp/config-upd.html
 	NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
-	isn't buildable.  However, you can generate a LINT file.
+	isn't buildable.  However, you can generate a LINT file:
+		cd /sys/<ARCH>/conf && make LINT
 
 20000620:
 	Binutils 2.10 have hit the tree, or will shortly.  As soon
@@ -1231,4 +1232,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.242 2003/02/09 13:02:57 schweikh Exp $
+$FreeBSD: src/UPDATING,v 1.243 2003/02/13 17:55:12 obrien Exp $

==== //depot/projects/tty/contrib/groff/man/groff_out.man#2 (text+ko) ====

@@ -18,9 +18,6 @@
 
 A copy of the Free Documentation License is included as a file called
 FDL in the main directory of the groff source package.
-
-$FreeBSD: src/contrib/groff/man/groff_out.man,v 1.6 2002/10/11 08:54:14 ru Exp $
-
 ..
 .
 .\" --------------------------------------------------------------------

==== //depot/projects/tty/contrib/groff/mdate.sh#2 (text+ko) ====

@@ -1,6 +1,4 @@
 #! /bin/sh
-#
-# $FreeBSD: src/contrib/groff/mdate.sh,v 1.4 2001/03/02 16:52:08 ru Exp $
 
 # Print the modification date of $1 `nicely'.
 

==== //depot/projects/tty/contrib/groff/tmac/doc-common#2 (text+ko) ====

@@ -30,7 +30,6 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)doc-common	8.1 (Berkeley) 06/08/93
-.\" $FreeBSD: src/contrib/groff/tmac/doc-common,v 1.59 2002/10/11 08:54:15 ru Exp $
 .\"
 .\"     %beginstrip%
 .

==== //depot/projects/tty/contrib/groff/tmac/doc-ditroff#2 (text+ko) ====

@@ -30,7 +30,6 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)doc-ditroff	8.1 (Berkeley) 06/08/93
-.\"	$FreeBSD: src/contrib/groff/tmac/doc-ditroff,v 1.6 2002/10/11 08:54:15 ru Exp $
 .\"
 .\"     %beginstrip%
 .

==== //depot/projects/tty/contrib/groff/tmac/doc-nroff#2 (text+ko) ====

@@ -30,7 +30,6 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)doc-nroff	8.1 (Berkeley) 06/08/93
-.\"	$FreeBSD: src/contrib/groff/tmac/doc-nroff,v 1.7 2002/10/11 08:54:15 ru Exp $
 .\"
 .\"     %beginstrip%
 .

==== //depot/projects/tty/contrib/groff/tmac/doc-syms#2 (text+ko) ====

@@ -30,7 +30,6 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)doc-syms	8.1 (Berkeley) 06/08/93
-.\" $FreeBSD: src/contrib/groff/tmac/doc-syms,v 1.42 2003/01/07 11:30:53 chris Exp $
 .\"
 .\"     %beginstrip%
 .
@@ -688,7 +687,6 @@
 .ds doc-str-Lb-libposix    \*[Px] Compatibility Library (libposix, \-lposix)
 .ds doc-str-Lb-libresolv   DNS Resolver Library (libresolv, \-lresolv)
 .ds doc-str-Lb-libtermcap  Termcap Access Library (libtermcap, \-ltermcap)
-.ds doc-str-Lb-libugidfw   File System Firewall Interface Library (libugidfw, \-lugidfw)
 .ds doc-str-Lb-libutil     System Utilities Library (libutil, \-lutil)
 .ds doc-str-Lb-libz        Compression Library (libz, \-lz)
 .

==== //depot/projects/tty/contrib/groff/tmac/strip.sed#2 (text+ko) ====

@@ -1,4 +1,3 @@
-# $FreeBSD: src/contrib/groff/tmac/strip.sed,v 1.4 2001/04/17 12:28:00 ru Exp $
 # strip comments, spaces, etc. after a line containing `%beginstrip%'
 /%beginstrip%/,$ {
   s/^\.[	 ]*/./

==== //depot/projects/tty/crypto/kerberosIV/kadmin/kpasswd_standalone.c#2 (text+ko) ====

@@ -13,7 +13,7 @@
     "BonesHeader: /afs/athena.mit.edu/astaff/project/kerberos/src/kadmin/RCS/kpasswd.c,v 4.3 89/09/26 09:33:02 jtkohl Exp ";
 #endif
 static const char rcsid[] =
- "$FreeBSD: src/crypto/kerberosIV/kadmin/kpasswd_standalone.c,v 1.3 2000/07/16 05:52:16 peter Exp $";
+ "$FreeBSD: src/crypto/kerberosIV/kadmin/kpasswd_standalone.c,v 1.4 2003/02/14 14:37:26 nectar Exp $";
 #endif	lint
 
 /*
@@ -59,11 +59,11 @@
     void get_pw_new_key();
 
 #ifdef NOENCRYPTION
+int placebo_long_pw_string();
 #define read_long_pw_string placebo_read_pw_string
 #else
 #define read_long_pw_string des_read_pw_string
 #endif
-    int read_long_pw_string();
 
     bzero(name, sizeof(name));
     bzero(inst, sizeof(inst));

==== //depot/projects/tty/gnu/usr.bin/groff/tmac/mdoc.local#2 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.20 2002/10/11 11:00:51 ru Exp $
+.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.24 2003/02/14 16:01:58 ru Exp $
 .\"
 .\"     %beginstrip%
 .
@@ -41,18 +41,22 @@
 .ds doc-str-Lb-libdisk     Interface to Slice and Partition Labels Library (libdisk, \-ldisk)
 .ds doc-str-Lb-libedit     Line Editor and History Library (libedit, \-ledit)
 .ds doc-str-Lb-libfetch    File Transfer Library (libfetch, \-lfetch)
+.ds doc-str-Lb-libgeom     Userland API Library for kernel GEOM subsystem (libgeom, \-lgeom)
 .ds doc-str-Lb-libipx      IPX Address Conversion Support Library (libipx, \-lipx)
 .ds doc-str-Lb-libmd       Message Digest (MD4, MD5, etc.) Support Library (libmd, \-lmd)
 .ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph)
 .ds doc-str-Lb-libpam      PAM Library (libpam, \-lpam)
 .ds doc-str-Lb-librpcsvc   RPC Service Library (librpcsvc, \-lrpcsvc)
-.ds doc-str-Lb-libskey     S/Key Password Control Table Access Library (libskey, \-lskey)
+.ds doc-str-Lb-libugidfw   File System Firewall Interface Library (libugidfw, \-lugidfw)
 .ds doc-str-Lb-libusbhid   USB HID access routines library (libusbhid, \-lusbhid)
 .ds doc-str-Lb-libvgl      Video Graphics Library (libvgl, \-lvgl)
 .
 .\" Default .Os value
 .ds doc-operating-system FreeBSD\~5.0
 .
+.\" FreeBSD releases not found in doc-common
+.ds doc-operating-system-FreeBSD-5.1    5.1
+.
 .ec
 .
 .\" Locale support

==== //depot/projects/tty/include/dlfcn.h#2 (text+ko) ====

@@ -30,13 +30,13 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/include/dlfcn.h,v 1.18 2002/09/11 05:04:06 mike Exp $
+ * $FreeBSD: src/include/dlfcn.h,v 1.19 2003/02/13 17:47:43 kan Exp $
  */
 
 #ifndef _DLFCN_H_
 #define	_DLFCN_H_
 
-#include <sys/cdefs.h>
+#include <sys/_types.h>
 
 /*
  * Modes and flags for dlopen().
@@ -49,12 +49,28 @@
 #define	RTLD_TRACE	0x200	/* Trace loaded objects and exit. */
 
 /*
- * Special handle arguments for dlsym().
+ * Request arguments for dlinfo().
+ */
+#define	RTLD_DI_LINKMAP		2	/* Obtain link map. */
+#define	RTLD_DI_SERINFO		4	/* Obtain search path info. */
+#define	RTLD_DI_SERINFOSIZE	5	/*  ... query for required space. */
+#define	RTLD_DI_ORIGIN		6	/* Obtain object origin */
+#define	RTLD_DI_MAX		RTLD_DI_ORIGIN
+
+/*
+ * Special handle arguments for dlsym()/dlinfo().
  */
 #define	RTLD_NEXT	((void *) -1)	/* Search subsequent objects. */
 #define	RTLD_DEFAULT	((void *) -2)	/* Use default search algorithm. */
+#define	RTLD_SELF	((void *) -3)	/* Search the caller itself. */
 
 #if __BSD_VISIBLE
+
+#ifndef	_SIZE_T_DECLARED
+typedef __size_t        size_t;
+#define	_SIZE_T_DECLARED
+#endif
+
 /*
  * Structure filled in by dladdr().
  */
@@ -80,6 +96,20 @@
 
 typedef	void (*dlfunc_t)(struct __dlfunc_arg);
 
+/*
+ * Structures, returned by the RTLD_DI_SERINFO dlinfo() request.
+ */
+typedef struct dl_serpath {
+	char *		dls_name;	/* single search path entry */
+	unsigned int	dls_flags;	/* path information */
+} Dl_serpath;
+
+typedef struct  dl_serinfo {
+        size_t		dls_size;       /* total buffer size */
+        unsigned int	dls_cnt;        /* number of path entries */
+        Dl_serpath	dls_serpath[1]; /* there may be more than one */
+} Dl_serinfo;
+
 #endif /* __BSD_VISIBLE */
 
 __BEGIN_DECLS
@@ -91,8 +121,9 @@
 void	*dlsym(void * __restrict, const char * __restrict);
 
 #if __BSD_VISIBLE
-int	 dladdr(const void *, Dl_info *);
+int	 dladdr(const void * __restrict, Dl_info * __restrict);
 dlfunc_t dlfunc(void * __restrict, const char * __restrict);
+int	 dlinfo(void * __restrict, int, void * __restrict);
 void	 dllockinit(void *_context,
 	    void *(*_lock_create)(void *_context),
 	    void (*_rlock_acquire)(void *_lock),

==== //depot/projects/tty/lib/libc/gen/dlfcn.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/dlfcn.c,v 1.9 2002/09/17 01:48:50 peter Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/dlfcn.c,v 1.10 2003/02/13 17:47:44 kan Exp $");
 
 /*
  * Linkage to services provided by the dynamic linker.
@@ -103,3 +103,11 @@
 	_rtld_error(sorry);
 	return NULL;
 }
+
+#pragma weak dlinfo
+int
+dlinfo(void * __restrict handle, int request, void * __restrict p)
+{
+	_rtld_error(sorry);
+	return NULL;
+}

==== //depot/projects/tty/lib/libc/gen/dlopen.3#2 (text+ko) ====

@@ -30,13 +30,17 @@
 .\" Copyright (c) 1991 Sun Microsystems, Inc.
 .\"
 .\" @(#) dlopen.3 1.6 90/01/31 SMI
-.\" $FreeBSD: src/lib/libc/gen/dlopen.3,v 1.25 2002/12/19 09:40:21 ru Exp $
+.\" $FreeBSD: src/lib/libc/gen/dlopen.3,v 1.26 2003/02/14 10:57:20 phantom Exp $
 .\"
 .Dd September 10, 2002
 .Os
 .Dt DLOPEN 3
 .Sh NAME
-.Nm dlopen , dlsym , dlfunc , dlerror , dlclose
+.Nm dlopen ,
+.Nm dlsym ,
+.Nm dlfunc ,
+.Nm dlerror ,
+.Nm dlclose
 .Nd programmatic interface to the dynamic linker
 .Sh LIBRARY
 .Lb libc
@@ -231,6 +235,16 @@
 .Fn getpid
 is a function and not a data object.)
 .Pp
+If
+.Fn dlsym
+is called with the special
+.Fa handle
+.Dv RTLD_SELF ,
+then the search for the symbol is limited to the shared object
+issuing the call to
+.Fn dlsym
+and those shared objects which were loaded after it.
+.Pp
 The
 .Fn dlsym
 function
@@ -340,4 +354,5 @@
 .Xr ld 1 ,
 .Xr rtld 1 ,
 .Xr dladdr 3 ,
+.Xr dlinfo 3 ,
 .Xr link 5

==== //depot/projects/tty/lib/libc_r/man/Makefile.inc#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libc_r/man/Makefile.inc,v 1.16 2002/10/26 15:04:29 phantom Exp $
+# $FreeBSD: src/lib/libc_r/man/Makefile.inc,v 1.18 2003/02/13 22:12:56 phantom Exp $
 
 # POSIX thread man files
 
@@ -6,6 +6,7 @@
 
 MAN+=	pthread_attr.3 \
 	pthread_attr_get_np.3 \
+	pthread_attr_setcreatesuspend_np.3 \
 	pthread_cancel.3 \
 	pthread_cleanup_pop.3 \
 	pthread_cleanup_push.3 \
@@ -25,13 +26,18 @@
 	pthread_key_create.3 \
 	pthread_key_delete.3 \
 	pthread_kill.3 \
+	pthread_main_np.3 \
+	pthread_multi_np.3 \
 	pthread_mutexattr.3 \
+	pthread_mutexattr_getkind_np.3 \
 	pthread_mutex_destroy.3 \
 	pthread_mutex_init.3 \
 	pthread_mutex_lock.3 \
 	pthread_mutex_trylock.3 \
 	pthread_mutex_unlock.3 \
 	pthread_once.3 \
+	pthread_resume_all_np.3 \
+	pthread_resume_np.3 \
 	pthread_rwlock_destroy.3 \
 	pthread_rwlock_init.3 \
 	pthread_rwlock_rdlock.3 \
@@ -43,8 +49,12 @@
 	pthread_rwlockattr_setpshared.3 \
 	pthread_schedparam.3 \
 	pthread_self.3 \
+	pthread_set_name_np.3 \
 	pthread_setspecific.3 \
 	pthread_sigmask.3 \
+	pthread_suspend_all_np.3 \
+	pthread_suspend_np.3 \
+	pthread_switch_add_np.3 \
 	pthread_testcancel.3 \
 	sem_destroy.3 \
 	sem_getvalue.3 \
@@ -62,6 +72,7 @@
 	pthread_attr.3 pthread_attr_getschedparam.3 \
 	pthread_attr.3 pthread_attr_getschedpolicy.3 \
 	pthread_attr.3 pthread_attr_getscope.3 \
+	pthread_attr.3 pthread_attr_getstack.3 \
 	pthread_attr.3 pthread_attr_getstackaddr.3 \
 	pthread_attr.3 pthread_attr_getstacksize.3 \
 	pthread_attr.3 pthread_attr_init.3 \
@@ -71,25 +82,26 @@
 	pthread_attr.3 pthread_attr_setschedparam.3 \
 	pthread_attr.3 pthread_attr_setschedpolicy.3 \
 	pthread_attr.3 pthread_attr_setscope.3 \
+	pthread_attr.3 pthread_attr_setsstack.3 \
 	pthread_attr.3 pthread_attr_setstackaddr.3 \
 	pthread_attr.3 pthread_attr_setstacksize.3 \
 	pthread_condattr.3 pthread_condattr_init.3 \
 	pthread_condattr.3 pthread_condattr_destroy.3 \
+	pthread_multi_np.3 pthread_single_np.3 \
 	pthread_mutexattr.3 pthread_mutexattr_init.3 \
 	pthread_mutexattr.3 pthread_mutexattr_destroy.3 \
 	pthread_mutexattr.3 pthread_mutexattr_getprioceiling.3 \
 	pthread_mutexattr.3 pthread_mutexattr_getprotocol.3 \
-	pthread_mutexattr.3 pthread_mutexattr_getpshared.3 \
 	pthread_mutexattr.3 pthread_mutexattr_gettype.3 \
 	pthread_mutexattr.3 pthread_mutexattr_setprioceiling.3 \
 	pthread_mutexattr.3 pthread_mutexattr_setprotocol.3 \
-	pthread_mutexattr.3 pthread_mutexattr_setpshared.3 \
 	pthread_mutexattr.3 pthread_mutexattr_settype.3 \
+	pthread_mutexattr_getkind_np.3 pthread_mutexattr_setkind_np.3 \
 	pthread_rwlock_rdlock.3 pthread_rwlock_tryrdlock.3 \
 	pthread_rwlock_wrlock.3 pthread_rwlock_trywrlock.3 \
 	pthread_schedparam.3 pthread_getschedparam.3 \
 	pthread_schedparam.3 pthread_setschedparam.3 \
-	pthread_testcancel.3 pthread_getcancelstate.3 \
+	pthread_switch_add_np.3 pthread_switch_delete_np.3 \
 	pthread_testcancel.3 pthread_setcancelstate.3 \
 	pthread_testcancel.3 pthread_setcanceltype.3 \
 	sem_open.3 sem_close.3 \

==== //depot/projects/tty/lib/libc_r/man/pthread_attr.3#3 (text+ko) ====

@@ -25,7 +25,7 @@
 .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libc_r/man/pthread_attr.3,v 1.12 2003/02/10 08:48:04 alfred Exp $
+.\" $FreeBSD: src/lib/libc_r/man/pthread_attr.3,v 1.13 2003/02/13 18:36:48 phantom Exp $
 .Dd April 28, 2000
 .Dt PTHREAD_ATTR 3
 .Os
@@ -208,6 +208,7 @@
 .Fa contentionscope .
 .El
 .Sh SEE ALSO
+.Xr pthread_attr_get_np 3 ,
 .Xr pthread_create 3
 .Sh STANDARDS
 The

==== //depot/projects/tty/lib/libc_r/man/pthread_attr_get_np.3#3 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libc_r/man/pthread_attr_get_np.3,v 1.5 2003/02/03 10:10:40 phantom Exp $
+.\" $FreeBSD: src/lib/libc_r/man/pthread_attr_get_np.3,v 1.7 2003/02/13 22:11:19 phantom Exp $
 .\"
 .Dd January 31, 2003
 .Dt PTHREAD_ATTR_GET_NP 3
@@ -46,9 +46,6 @@
 time (as parameter to
 .Fn pthread_create
 function), except stack address.
-.Fn pthread_attr_get_np
-will always return pointer to thread's real stack address regardless
-to its value in original attributes structure.
 .Pp
 Value returned as
 .Fa dst
@@ -60,9 +57,15 @@
 Parameter
 .Fa dst
 should point to allocated memory area big enough to fit this structure.
+.Pp
 It is HIGHLY RECOMMENDED to use
 .Xr pthread_attr_init 3
 function to allocate attribute storage.
+.Sh IMPLEMENTATION DETAILS
+The
+.Fn pthread_attr_get_np
+function will always return pointer to thread's real stack address
+regardless to its value in original attributes structure.
 .Sh EXAMPLES
 .Bd -literal
 size_t
@@ -100,6 +103,13 @@
 .Xr pthread_attr_getschedparam 3 ,
 .Xr pthread_attr_getschedpolicy 3 ,
 .Xr pthread_attr_getscope 3 ,
+.Xr pthread_attr_getstack 3 ,
 .Xr pthread_attr_getstackaddr 3 ,
 .Xr pthread_attr_getstacksize 3 ,
 .Xr pthread_attr_init 3
+.Sh AUTHORS
+The
+.Nm
+function and manpage were written by
+.An Alexey Zelkin
+.Aq phantom@FreeBSD.org

==== //depot/projects/tty/lib/libgeom/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libgeom/Makefile,v 1.3 2003/02/10 00:11:43 phk Exp $
+# $FreeBSD: src/lib/libgeom/Makefile,v 1.4 2003/02/13 18:27:05 phantom Exp $
 
 LIB=	geom
 SRCS+=	geom_getxml.c
@@ -12,4 +12,14 @@
 
 MAN=	libgeom.3
 
+MLINKS+= \
+	libgeom.3 geom_stats_open.3 \
+	libgeom.3 geom_stats_close.3 \
+	libgeom.3 geom_stats_resync.3 \
+	libgeom.3 geom_stats_snapshot_get.3 \
+	libgeom.3 geom_stats_snapshot_free.3 \
+	libgeom.3 geom_stats_snapshot_timestamp.3 \
+	libgeom.3 geom_stats_snapshot_reset.3 \
+	libgeom.3 geom_stats_snapshot_next.3
+
 .include <bsd.lib.mk>

==== //depot/projects/tty/lib/libgeom/libgeom.3#2 (text+ko) ====

@@ -25,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libgeom/libgeom.3,v 1.1 2003/02/08 15:15:56 phk Exp $
+.\" $FreeBSD: src/lib/libgeom/libgeom.3,v 1.2 2003/02/13 18:25:48 phantom Exp $
 .\"
 .Dd February 8, 2003
 .Dt LIBGEOM 3
@@ -39,8 +39,9 @@
 .Nm geom_stats_snapshot_timestamp ,
 .Nm geom_stats_snapshot_reset ,
 .Nm geom_stats_snapshot_next
+.Nd userland API library for kernel GEOM subsystem
 .Sh LIBRARY
-.Lb geom
+.Lb libgeom
 .Sh SYNOPSIS
 .In libgeom.h
 .Ss "Statistics functions"
@@ -70,43 +71,43 @@
 left as an excercize for user-land presentation utilities.
 .Pp
 The
-.Nm geom_stats_open
+.Fn geom_stats_open
 and 
-.Nm geom_stats_close
+.Fn geom_stats_close
 functions opens and closes the necessary pathways to access the raw 
 statistics information in the kernel.  These functions are likely to
 open one or more files and cache the filedescriptors locally.
-.Nm geom_stats_open
+.Fn geom_stats_open
 returns zero on success, and sets errno if not.
 .Pp
 The
-.Nm geom_stats_resync
+.Fn geom_stats_resync
 function will check if more statistics collection points have been
 added in the kernel since
-.Nm geom_stats_open
+.Fn geom_stats_open
 or the previous call to
-.Nm geom_stats_resync .
+.Fn geom_stats_resync .
 .Pp
-.Nm geom_stats_snapshot_get
+.Fn geom_stats_snapshot_get
 will aquire a snapshot of the raw data from the kernel and while a
 reasonable effort is made to make this snapshot as atomic and consistent
 as possible, no guarantee is given that it will actually be so.
 The snapshot must be freed again using the
-.Nm geom_stats_snapshot_free
+.Fn geom_stats_snapshot_free
 function.
-.Nm geom_stats_snapshot_get
+.Fn geom_stats_snapshot_get
 returns NULL on failure.
 .Pp
-.Nm geom_stats_snapshot_timestamp
+.Fn geom_stats_snapshot_timestamp
 provides access to the timestamp aquired in the snapshot.
 .Pp
-.Nm geom_stats_snapshot_reset
+.Fn geom_stats_snapshot_reset
 and
-.Nm geom_stats_snapshot_next
+.Fn geom_stats_snapshot_next
 provides an iterator over the statistics slots in the snapshot.
-.Nm geom_stats_snapshot_reset
+.Fn geom_stats_snapshot_reset
 forces the internal pointer in the snapshot back to before the first item.
-.Nm geom_stats_snapshot_next
+.Fn geom_stats_snapshot_next
 returns the next item and NULL if there are no more items in the snapshot.
 .Sh AUTHORS
 .An Poul-Henning Kamp Aq phk@FreeBSD.org

==== //depot/projects/tty/libexec/rtld-elf/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/libexec/rtld-elf/Makefile,v 1.16 2002/06/10 21:51:16 jdp Exp $
+# $FreeBSD: src/libexec/rtld-elf/Makefile,v 1.17 2003/02/13 23:07:28 phantom Exp $
 
 PROG=		ld-elf.so.1
 SRCS=		rtld_start.S rtld.c lockdflt.c map_object.c malloc.c \
@@ -7,7 +7,8 @@
 CFLAGS+=	-Wall -DFREEBSD_ELF -I${.CURDIR}/${MACHINE_ARCH} -I${.CURDIR}
 LDFLAGS+=	-nostdlib -e .rtld_start
 INSTALLFLAGS=	-fschg -C -b
-MLINKS=		rtld.1 ld-elf.so.1.1
+MLINKS=		rtld.1 ld-elf.so.1.1 \
+		rtld.1 ld.so.1
 
 .if exists(${.CURDIR}/${MACHINE_ARCH}/Makefile.inc)
 .include "${.CURDIR}/${MACHINE_ARCH}/Makefile.inc"

==== //depot/projects/tty/libexec/rtld-elf/malloc.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
 
 #if defined(LIBC_SCCS) && !defined(lint)
 /*static char *sccsid = "from: @(#)malloc.c	5.11 (Berkeley) 2/23/91";*/
-static char *rcsid = "$FreeBSD: src/libexec/rtld-elf/malloc.c,v 1.6 2002/08/21 19:03:26 imp Exp $";
+static char *rcsid = "$FreeBSD: src/libexec/rtld-elf/malloc.c,v 1.8 2003/02/13 17:35:00 kan Exp $";
 #endif /* LIBC_SCCS and not lint */
 
 /*
@@ -50,6 +50,8 @@
 #include <sys/types.h>
 #include <err.h>
 #include <paths.h>
+#include <stdarg.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <stddef.h>
@@ -147,7 +149,7 @@
 #endif
 
 /* Debugging stuff */
-extern void xprintf(const char *, ...);
+static void xprintf(const char *, ...);
 #define TRACE()	xprintf("TRACE %s:%d\n", __FILE__, __LINE__)
 
 void *
@@ -483,3 +485,18 @@
 #endif
 	return n;
 }
+
+/*
+ * Non-mallocing printf, for use by malloc itself.
+ */
+static void
+xprintf(const char *fmt, ...)
+{
+    char buf[256];
+    va_list ap;
+
+    va_start(ap, fmt);
+    vsprintf(buf, fmt, ap);
+    (void)write(STDOUT_FILENO, buf, strlen(buf));
+    va_end(ap);
+}

==== //depot/projects/tty/libexec/rtld-elf/rtld.1#2 (text+ko) ====

@@ -1,4 +1,4 @@
-.\" $FreeBSD: src/libexec/rtld-elf/rtld.1,v 1.30 2002/12/12 17:25:54 ru Exp $
+.\" $FreeBSD: src/libexec/rtld-elf/rtld.1,v 1.31 2003/02/13 23:07:28 phantom Exp $
 .\"
 .\" Copyright (c) 1995 Paul Kranenburg
 .\" All rights reserved.
@@ -33,6 +33,7 @@
 .Os
 .Sh NAME
 .Nm ld-elf.so.1 ,
+.Nm ld.so ,
 .Nm rtld
 .Nd run-time link-editor
 .Sh DESCRIPTION

==== //depot/projects/tty/libexec/rtld-elf/rtld.c#3 (text+ko) ====

@@ -1,5 +1,6 @@
 /*-
  * Copyright 1996, 1997, 1998, 1999, 2000 John D. Polstra.
+ * Copyright 2003 Alexander Kabaev <kan@FreeBSD.ORG>.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -22,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/libexec/rtld-elf/rtld.c,v 1.72 2003/02/10 23:15:07 kan Exp $
+ * $FreeBSD: src/libexec/rtld-elf/rtld.c,v 1.75 2003/02/13 22:47:41 kan Exp $
  */
 
 /*
@@ -57,6 +58,7 @@
 
 /* Types. */
 typedef void (*func_ptr_type)();
+typedef void * (*path_enum_proc) (const char *path, size_t len, void *arg);
 
 /*
  * This structure provides a reentrant way to keep a list of objects and
@@ -76,9 +78,11 @@
 static void digest_dynamic(Obj_Entry *, int);
 static Obj_Entry *digest_phdr(const Elf_Phdr *, int, caddr_t, const char *);
 static Obj_Entry *dlcheck(void *);
+static int do_search_info(const Obj_Entry *obj, int, struct dl_serinfo *);
 static bool donelist_check(DoneList *, const Obj_Entry *);
 static void errmsg_restore(char *);
 static char *errmsg_save(void);
+static void *fill_search_info(const char *, size_t, void *);
 static char *find_library(const char *, const Obj_Entry *);
 static const char *gethints(void);
 static void init_dag(Obj_Entry *);
@@ -104,7 +108,9 @@
 static void objlist_push_tail(Objlist *, Obj_Entry *);
 static void objlist_remove(Objlist *, Obj_Entry *);
 static void objlist_remove_unref(Objlist *);
+static void *path_enumerate(const char *, path_enum_proc, void *);
 static int relocate_objects(Obj_Entry *, bool, Obj_Entry *);
+static int rtld_dirname(const char *, char *);
 static void rtld_exit(void);
 static char *search_library_path(const char *, const char *);
 static const void **get_program_var_addr(const char *name);
@@ -118,13 +124,12 @@
 static void unref_dag(Obj_Entry *);
 
 void r_debug_state(struct r_debug*, struct link_map*);
-void xprintf(const char *, ...) __printflike(1, 2);
 
 /*
  * Data declarations.
  */
 static char *error_message;	/* Message for dlerror(), or NULL */
-struct r_debug r_debug;	/* for GDB; */
+struct r_debug r_debug;		/* for GDB; */
 static bool trust;		/* False for setuid and setgid programs */
 static char *ld_bind_now;	/* Environment variable for immediate binding */
 static char *ld_debug;		/* Environment variable for debugging */
@@ -167,6 +172,7 @@
     (func_ptr_type) &dlsym,
     (func_ptr_type) &dladdr,
     (func_ptr_type) &dllockinit,
+    (func_ptr_type) &dlinfo,
     NULL
 };
 
@@ -1194,7 +1200,7 @@
 	*obj_tail = obj;
 	obj_tail = &obj->next;
 	obj_count++;
-	linkmap_add(obj);	/* for GDB */
+	linkmap_add(obj);	/* for GDB & dlinfo() */
 
 	dbg("  %p .. %p: %s", obj->mapbase,
 	  obj->mapbase + obj->mapsize - 1, obj->path);
@@ -1463,40 +1469,83 @@
     /* No need to remove the items from the list, since we are exiting. */
 }
 
-static char *
-search_library_path(const char *name, const char *path)
+static void *
+path_enumerate(const char *path, path_enum_proc callback, void *arg)
 {
-    size_t namelen = strlen(name);
-    const char *p = path;
+    if (path == NULL)
+	return (NULL);
+
+    path += strspn(path, ":;");
+    while (*path != '\0') {
+	size_t len;
+	char  *res;
+
+	len = strcspn(path, ":;");
+	res = callback(path, len, arg);
+
+	if (res != NULL)
+	    return (res);
+
+	path += len;
+	path += strspn(path, ":;");
+    }
+
+    return (NULL);
+}
 
-    if (p == NULL)
-	return NULL;
+struct try_library_args {
+    const char	*name;
+    size_t	 namelen;
+    char	*buffer;
+    size_t	 buflen;
+};
 
-    p += strspn(p, ":;");
-    while (*p != '\0') {
-	size_t len = strcspn(p, ":;");
+static void *
+try_library_path(const char *dir, size_t dirlen, void *param)
+{
+    struct try_library_args *arg;
 
-	if (*p == '/' || trust) {
-	    char *pathname;
-	    const char *dir = p;
-	    size_t dirlen = len;
+    arg = param;
+    if (*dir == '/' || trust) {
+	char *pathname;
 
-	    pathname = xmalloc(dirlen + 1 + namelen + 1);
-	    strncpy(pathname, dir, dirlen);
-	    pathname[dirlen] = '/';
-	    strcpy(pathname + dirlen + 1, name);
+	if (dirlen + 1 + arg->namelen + 1 > arg->buflen)
+		return (NULL);
 
-	    dbg("  Trying \"%s\"", pathname);
-	    if (access(pathname, F_OK) == 0)		/* We found it */
-		return pathname;
+	pathname = arg->buffer;
+	strncpy(pathname, dir, dirlen);
+	pathname[dirlen] = '/';
+	strcpy(pathname + dirlen + 1, arg->name);
 
-	    free(pathname);
+	dbg("  Trying \"%s\"", pathname);
+	if (access(pathname, F_OK) == 0) {		/* We found it */
+	    pathname = xmalloc(dirlen + 1 + arg->namelen + 1);
+	    strcpy(pathname, arg->buffer);
+	    return (pathname);
 	}
-	p += len;
-	p += strspn(p, ":;");
     }
+    return (NULL);
+}
+
+static char *
+search_library_path(const char *name, const char *path)
+{
+    char *p;
+    struct try_library_args arg;
+
+    if (path == NULL)
+	return NULL;
 
-    return NULL;
+    arg.name = name;
+    arg.namelen = strlen(name);
+    arg.buffer = xmalloc(PATH_MAX);
+    arg.buflen = PATH_MAX;
+
+    p = path_enumerate(path, try_library_path, &arg);
+
+    free(arg.buffer);
+
+    return (p);
 }
 
 int
@@ -1648,7 +1697,8 @@
     defobj = NULL;
 
     rlock_acquire();
-    if (handle == NULL || handle == RTLD_NEXT || handle == RTLD_DEFAULT) {
+    if (handle == NULL || handle == RTLD_NEXT ||
+	handle == RTLD_DEFAULT || handle == RTLD_SELF) {
 	void *retaddr;
 
 	retaddr = __builtin_return_address(0);	/* __GNUC__ only */
@@ -1660,8 +1710,11 @@
 	if (handle == NULL) {	/* Just the caller's shared object. */
 	    def = symlook_obj(name, hash, obj, true);
 	    defobj = obj;
-	} else if (handle == RTLD_NEXT) {	/* Objects after caller's */
-	    while ((obj = obj->next) != NULL) {
+	} else if (handle == RTLD_NEXT || /* Objects after caller's */
+		   handle == RTLD_SELF) { /* ... caller included */
+	    if (handle == RTLD_NEXT)
+		obj = obj->next;
+	    for (; obj != NULL; obj = obj->next) {
 		if ((def = symlook_obj(name, hash, obj, true)) != NULL) {
 		    defobj = obj;
 		    break;
@@ -1723,7 +1776,7 @@
     const Elf_Sym *def;
     void *symbol_addr;
     unsigned long symoffset;
-    
+ 
     rlock_acquire();

>>> TRUNCATED FOR MAIL (1000 lines) <<<

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




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