From owner-p4-projects@FreeBSD.ORG Sun Jul 4 05:33:36 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 641D516A4D0; Sun, 4 Jul 2004 05:33:36 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2BD6216A4CE for ; Sun, 4 Jul 2004 05:33:36 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 251B743D31 for ; Sun, 4 Jul 2004 05:33:36 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i645XaOc013782 for ; Sun, 4 Jul 2004 05:33:36 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i645XZHx013779 for perforce@freebsd.org; Sun, 4 Jul 2004 05:33:35 GMT (envelope-from marcel@freebsd.org) Date: Sun, 4 Jul 2004 05:33:35 GMT Message-Id: <200407040533.i645XZHx013779@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56403 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 05:33:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=56403 Change 56403 by marcel@marcel_nfs on 2004/07/04 05:33:01 Remove my WIP. Affected files ... .. //depot/projects/gdb/lib/libthread_db/td_init.c#2 delete .. //depot/projects/gdb/lib/libthread_db/td_ta_delete.c#2 delete .. //depot/projects/gdb/lib/libthread_db/td_ta_event_addr.c#3 delete .. //depot/projects/gdb/lib/libthread_db/td_ta_event_getmsg.c#3 delete .. //depot/projects/gdb/lib/libthread_db/td_ta_map_id2thr.c#3 delete .. //depot/projects/gdb/lib/libthread_db/td_ta_map_lwp2thr.c#3 delete .. //depot/projects/gdb/lib/libthread_db/td_ta_new.c#4 delete .. //depot/projects/gdb/lib/libthread_db/td_ta_set_event.c#3 delete .. //depot/projects/gdb/lib/libthread_db/td_ta_thr_iter.c#4 delete .. //depot/projects/gdb/lib/libthread_db/td_thr_event_enable.c#3 delete .. //depot/projects/gdb/lib/libthread_db/td_thr_get_info.c#5 delete .. //depot/projects/gdb/lib/libthread_db/td_thr_getfpregs.c#3 delete .. //depot/projects/gdb/lib/libthread_db/td_thr_getgregs.c#3 delete .. //depot/projects/gdb/lib/libthread_db/td_thr_setfpregs.c#4 delete .. //depot/projects/gdb/lib/libthread_db/td_thr_setgregs.c#4 delete .. //depot/projects/gdb/lib/libthread_db/td_thr_validate.c#3 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jul 4 05:36:40 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC69B16A4D0; Sun, 4 Jul 2004 05:36:40 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6EF3C16A4CE for ; Sun, 4 Jul 2004 05:36:40 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6708343D2D for ; Sun, 4 Jul 2004 05:36:40 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i645ae7u013917 for ; Sun, 4 Jul 2004 05:36:40 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i645aeh7013914 for perforce@freebsd.org; Sun, 4 Jul 2004 05:36:40 GMT (envelope-from marcel@freebsd.org) Date: Sun, 4 Jul 2004 05:36:40 GMT Message-Id: <200407040536.i645aeh7013914@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56404 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 05:36:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=56404 Change 56404 by marcel@marcel_nfs on 2004/07/04 05:35:46 Finish rudimentary debugging of libc_r on i386. Affected files ... .. //depot/projects/gdb/lib/libthread_db/Makefile#4 edit .. //depot/projects/gdb/lib/libthread_db/arch/i386/libc_r_md.c#1 add .. //depot/projects/gdb/lib/libthread_db/libc_r_db.c#2 edit Differences ... ==== //depot/projects/gdb/lib/libthread_db/Makefile#4 (text+ko) ==== @@ -1,8 +1,12 @@ # $FreeBSD$ +.PATH: ${.CURDIR}/arch/${MACHINE_ARCH} + LIB= thread_db SHLIB_MAJOR= 1 -SRCS= libc_r_db.c libthr_db.c thread_db.c +SRCS= thread_db.c +SRCS+= libc_r_db.c libc_r_md.c +SRCS+= libthr_db.c INCS= thread_db.h WARNS?= 2 ==== //depot/projects/gdb/lib/libthread_db/libc_r_db.c#2 (text+ko) ==== @@ -27,6 +27,7 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include #include @@ -34,11 +35,15 @@ #include "thread_db_int.h" +void libc_r_md_getfpregs(jmp_buf jb, prfpregset_t *); +void libc_r_md_getgregs(jmp_buf jb, prgregset_t *); + struct td_thragent { TD_THRAGENT_FIELDS; struct ps_prochandle *ta_ph; psaddr_t ta_thread_list; psaddr_t ta_thread_run; + int ta_ofs_ctx; int ta_ofs_next; int ta_ofs_uniqueid; }; @@ -113,6 +118,12 @@ err = ps_pglobal_lookup(ph, NULL, "_thread_run", &ta->ta_thread_run); if (err != PS_OK) goto fail; + err = ps_pglobal_lookup(ph, NULL, "_thread_ctx_offset", &addr); + if (err != PS_OK) + goto fail; + err = ps_pread(ph, addr, &ta->ta_ofs_ctx, sizeof(int)); + if (err != PS_OK) + goto fail; err = ps_pglobal_lookup(ph, NULL, "_thread_next_offset", &addr); if (err != PS_OK) goto fail; @@ -209,41 +220,50 @@ static td_err_e libc_r_db_thr_getfpregs(const td_thrhandle_t *th, prfpregset_t *r) { + jmp_buf jb; const td_thragent_t *ta; - psaddr_t current; + psaddr_t addr; ps_err_e err; ta = th->th_ta; - err = ps_pread(ta->ta_ph, ta->ta_thread_run, ¤t, - sizeof(psaddr_t)); + err = ps_lgetfpregs(ta->ta_ph, -1, r); + if (err != PS_OK) + return (TD_ERR); + err = ps_pread(ta->ta_ph, ta->ta_thread_run, &addr, sizeof(psaddr_t)); + if (err != PS_OK) + return (TD_ERR); + if (th->th_thread == addr) + return (TD_OK); + addr = (psaddr_t)((uintptr_t)th->th_thread + ta->ta_ofs_ctx); + err = ps_pread(ta->ta_ph, addr, jb, sizeof(jb)); if (err != PS_OK) return (TD_ERR); - if (th->th_thread == current) { - err = ps_lgetfpregs(ta->ta_ph, -1, r); - return ((err != PS_OK) ? TD_ERR : TD_OK); - } - memset(r, 0, sizeof(*r)); + libc_r_md_getfpregs(jb, r); return (TD_OK); } static td_err_e libc_r_db_thr_getgregs(const td_thrhandle_t *th, prgregset_t *r) { + jmp_buf jb; const td_thragent_t *ta; - psaddr_t current; + psaddr_t addr; ps_err_e err; ta = th->th_ta; - err = ps_pread(ta->ta_ph, ta->ta_thread_run, ¤t, - sizeof(psaddr_t)); + err = ps_lgetregs(ta->ta_ph, -1, r); + if (err != PS_OK) + return (TD_ERR); + err = ps_pread(ta->ta_ph, ta->ta_thread_run, &addr, sizeof(psaddr_t)); + if (err != PS_OK) + return (TD_ERR); + if (th->th_thread == addr) + return (TD_OK); + addr = (psaddr_t)((uintptr_t)th->th_thread + ta->ta_ofs_ctx); + err = ps_pread(ta->ta_ph, addr, jb, sizeof(jb)); if (err != PS_OK) return (TD_ERR); - if (th->th_thread == current) { - err = ps_lgetregs(ta->ta_ph, -1, r); - return ((err != PS_OK) ? TD_ERR : TD_OK); - } - memset(r, 0, sizeof(*r)); - + libc_r_md_getgregs(jb, r); return (TD_OK); } From owner-p4-projects@FreeBSD.ORG Sun Jul 4 06:14:28 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A5F9216A4D0; Sun, 4 Jul 2004 06:14:27 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5FE8916A4CE for ; Sun, 4 Jul 2004 06:14:27 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 556F043D2D for ; Sun, 4 Jul 2004 06:14:27 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i646ERGh031232 for ; Sun, 4 Jul 2004 06:14:27 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i646EQFE031229 for perforce@freebsd.org; Sun, 4 Jul 2004 06:14:26 GMT (envelope-from marcel@freebsd.org) Date: Sun, 4 Jul 2004 06:14:26 GMT Message-Id: <200407040614.i646EQFE031229@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56406 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 06:14:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=56406 Change 56406 by marcel@marcel_nfs on 2004/07/04 06:14:01 IFC @56405 Affected files ... .. //depot/projects/gdb/bin/date/date.1#5 integrate .. //depot/projects/gdb/bin/ed/ed.1#2 integrate .. //depot/projects/gdb/bin/expr/expr.1#2 integrate .. //depot/projects/gdb/bin/kill/kill.1#3 integrate .. //depot/projects/gdb/bin/ln/ln.1#4 integrate .. //depot/projects/gdb/bin/mkdir/mkdir.1#3 integrate .. //depot/projects/gdb/bin/pax/pax.1#4 integrate .. //depot/projects/gdb/bin/pwd/pwd.1#3 integrate .. //depot/projects/gdb/bin/rcp/rcp.1#4 integrate .. //depot/projects/gdb/bin/sh/bltin/echo.1#4 integrate .. //depot/projects/gdb/bin/sh/sh.1#5 integrate .. //depot/projects/gdb/bin/stty/stty.1#4 integrate .. //depot/projects/gdb/bin/test/test.1#5 integrate .. //depot/projects/gdb/contrib/gnu-sort/FREEBSD-upgrade#2 integrate .. //depot/projects/gdb/gnu/lib/libregex/posix/regex.h#2 integrate .. //depot/projects/gdb/gnu/lib/libregex/regex.c#4 integrate .. //depot/projects/gdb/lib/libalias/libalias.3#4 integrate .. //depot/projects/gdb/lib/libarchive/archive_entry.3#6 integrate .. //depot/projects/gdb/lib/libarchive/archive_read.3#9 integrate .. //depot/projects/gdb/lib/libarchive/archive_write.3#3 integrate .. //depot/projects/gdb/lib/libbluetooth/bluetooth.3#2 integrate .. //depot/projects/gdb/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#3 integrate .. //depot/projects/gdb/lib/libc/compat-43/gethostid.3#2 integrate .. //depot/projects/gdb/lib/libc/compat-43/sigvec.2#2 integrate .. //depot/projects/gdb/lib/libc/db/man/btree.3#2 integrate .. //depot/projects/gdb/lib/libc/db/man/dbopen.3#2 integrate .. //depot/projects/gdb/lib/libc/db/man/recno.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/basename.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/directory.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/dirname.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/dladdr.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/dllockinit.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/fmtcheck.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/fnmatch.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/ftok.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/fts.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/getbootfile.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/getcap.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/getdiskbyname.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/getdomainname.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/getgrent.3#3 integrate .. //depot/projects/gdb/lib/libc/gen/gethostname.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/getobjformat.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/getpwent.3#3 integrate .. //depot/projects/gdb/lib/libc/gen/lockf.3#3 integrate .. //depot/projects/gdb/lib/libc/gen/msgrcv.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/rand48.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/setjmp.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/setproctitle.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/shm_open.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/signal.3#5 integrate .. //depot/projects/gdb/lib/libc/gen/sleep.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/sysctl.3#4 integrate .. //depot/projects/gdb/lib/libc/gen/tzset.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/ualarm.3#3 integrate .. //depot/projects/gdb/lib/libc/gen/ucontext.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/unvis.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/vis.3#4 integrate .. //depot/projects/gdb/lib/libc/i386/gen/signalcontext.c#3 integrate .. //depot/projects/gdb/lib/libc/i386/sys/i386_get_ioperm.2#2 integrate .. //depot/projects/gdb/lib/libc/i386/sys/i386_set_watch.3#2 integrate .. //depot/projects/gdb/lib/libc/locale/rune.3#2 integrate .. //depot/projects/gdb/lib/libc/locale/setlocale.3#3 integrate .. //depot/projects/gdb/lib/libc/locale/utf2.5#2 integrate .. //depot/projects/gdb/lib/libc/net/addr2ascii.3#2 integrate .. //depot/projects/gdb/lib/libc/net/byteorder.3#2 integrate .. //depot/projects/gdb/lib/libc/net/gethostbyname.3#3 integrate .. //depot/projects/gdb/lib/libc/net/getifaddrs.3#2 integrate .. //depot/projects/gdb/lib/libc/net/getipnodebyname.3#4 integrate .. //depot/projects/gdb/lib/libc/net/getnetent.3#2 integrate .. //depot/projects/gdb/lib/libc/net/getprotoent.3#2 integrate .. //depot/projects/gdb/lib/libc/net/getservent.3#2 integrate .. //depot/projects/gdb/lib/libc/net/inet.3#4 integrate .. //depot/projects/gdb/lib/libc/net/inet6_opt_init.3#3 integrate .. //depot/projects/gdb/lib/libc/net/inet6_rthdr_space.3#2 integrate .. //depot/projects/gdb/lib/libc/net/linkaddr.3#2 integrate .. //depot/projects/gdb/lib/libc/net/resolver.3#4 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_delete.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_delete_entry.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_delete_perm.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_dup.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_free.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_from_text.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_get.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_get_entry.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_get_qualifier.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_init.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_set.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_set_qualifier.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_set_tag_type.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_to_text.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_valid.3#2 integrate .. //depot/projects/gdb/lib/libc/posix1e/mac_prepare.3#2 integrate .. //depot/projects/gdb/lib/libc/regex/re_format.7#2 integrate .. //depot/projects/gdb/lib/libc/regex/regex.3#2 integrate .. //depot/projects/gdb/lib/libc/rpc/getrpcent.3#2 integrate .. //depot/projects/gdb/lib/libc/rpc/getrpcport.3#2 integrate .. //depot/projects/gdb/lib/libc/rpc/rpc.3#2 integrate .. //depot/projects/gdb/lib/libc/rpc/rpc_secure.3#2 integrate .. //depot/projects/gdb/lib/libc/stdio/funopen.3#3 integrate .. //depot/projects/gdb/lib/libc/stdio/stdio.3#3 integrate .. //depot/projects/gdb/lib/libc/stdlib/getenv.3#2 integrate .. //depot/projects/gdb/lib/libc/stdlib/getopt.3#3 integrate .. //depot/projects/gdb/lib/libc/stdlib/qsort.3#2 integrate .. //depot/projects/gdb/lib/libc/stdlib/radixsort.3#3 integrate .. //depot/projects/gdb/lib/libc/stdlib/random.3#2 integrate .. //depot/projects/gdb/lib/libc/stdlib/tsearch.3#2 integrate .. //depot/projects/gdb/lib/libc/stdtime/ctime.3#2 integrate .. //depot/projects/gdb/lib/libc/stdtime/strftime.3#2 integrate .. //depot/projects/gdb/lib/libc/stdtime/strptime.3#2 integrate .. //depot/projects/gdb/lib/libc/string/strlcpy.3#2 integrate .. //depot/projects/gdb/lib/libc/string/strsep.3#2 integrate .. //depot/projects/gdb/lib/libc/sys/accept.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/aio_error.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/aio_read.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/aio_suspend.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/aio_write.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/chflags.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/chmod.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/chroot.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/clock_gettime.2#4 integrate .. //depot/projects/gdb/lib/libc/sys/close.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/dup.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/execve.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/fcntl.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/flock.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/fork.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/getdtablesize.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/getitimer.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/getlogin.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/getpriority.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/getrlimit.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/getrusage.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/getsockname.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/getsockopt.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/gettimeofday.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/intro.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/ioctl.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/issetugid.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/kldnext.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/kldstat.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/kqueue.2#5 integrate .. //depot/projects/gdb/lib/libc/sys/link.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/lseek.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/madvise.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/mlockall.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/mmap.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/modnext.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/modstat.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/nanosleep.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/open.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/pipe.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/poll.2#5 integrate .. //depot/projects/gdb/lib/libc/sys/read.2#5 integrate .. //depot/projects/gdb/lib/libc/sys/rename.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/rfork.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/sched_get_priority_max.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/sched_setparam.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/sched_setscheduler.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/sched_yield.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/select.2#5 integrate .. //depot/projects/gdb/lib/libc/sys/semctl.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/semget.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/send.2#6 integrate .. //depot/projects/gdb/lib/libc/sys/shmat.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/shmctl.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/shmget.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/sigaction.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/sigwait.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/socket.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/swapon.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/sysarch.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/truncate.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/umask.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/unlink.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/utrace.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/vfork.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/wait.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/write.2#2 integrate .. //depot/projects/gdb/lib/libcalendar/calendar.3#2 integrate .. //depot/projects/gdb/lib/libcam/cam.3#2 integrate .. //depot/projects/gdb/lib/libcam/cam_cdbparse.3#2 integrate .. //depot/projects/gdb/lib/libcompat/4.3/rexec.3#2 integrate .. //depot/projects/gdb/lib/libcompat/4.4/cuserid.3#2 integrate .. //depot/projects/gdb/lib/libcompat/regexp/regexp.3#2 integrate .. //depot/projects/gdb/lib/libcrypt/crypt.3#2 integrate .. //depot/projects/gdb/lib/libdevstat/devstat.3#2 integrate .. //depot/projects/gdb/lib/libdisk/libdisk.3#3 integrate .. //depot/projects/gdb/lib/libfetch/fetch.3#3 integrate .. //depot/projects/gdb/lib/libftpio/ftpio.3#2 integrate .. //depot/projects/gdb/lib/libipx/ipx.3#2 integrate .. //depot/projects/gdb/lib/libkiconv/kiconv.3#3 integrate .. //depot/projects/gdb/lib/libkvm/kvm.3#3 integrate .. //depot/projects/gdb/lib/libkvm/kvm_getfiles.3#2 integrate .. //depot/projects/gdb/lib/libkvm/kvm_getprocs.3#4 integrate .. //depot/projects/gdb/lib/libkvm/kvm_getswapinfo.3#2 integrate .. //depot/projects/gdb/lib/libkvm/kvm_nlist.3#2 integrate .. //depot/projects/gdb/lib/libkvm/kvm_open.3#3 integrate .. //depot/projects/gdb/lib/libkvm/kvm_read.3#2 integrate .. //depot/projects/gdb/lib/libmd/ripemd.3#2 integrate .. //depot/projects/gdb/lib/libmd/sha.3#2 integrate .. //depot/projects/gdb/lib/libnetgraph/netgraph.3#3 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_chroot/pam_chroot.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_echo/pam_echo.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_exec/pam_exec.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_ftpusers/pam_ftpusers.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_group/pam_group.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_guest/pam_guest.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_lastlog/pam_lastlog.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_login_access/login.access.5#3 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_login_access/pam_login_access.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_opieaccess/pam_opieaccess.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_passwdqc/pam_passwdqc.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_radius/pam_radius.8#3 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_rhosts/pam_rhosts.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_self/pam_self.8#3 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_ssh/pam_ssh.8#2 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_tacplus/pam_tacplus.8#2 integrate .. //depot/projects/gdb/lib/libradius/radius.conf.5#2 integrate .. //depot/projects/gdb/lib/libsdp/sdp.3#4 integrate .. //depot/projects/gdb/lib/libstand/libstand.3#2 integrate .. //depot/projects/gdb/lib/libtacplus/libtacplus.3#2 integrate .. //depot/projects/gdb/lib/libtacplus/tacplus.conf.5#2 integrate .. //depot/projects/gdb/lib/libugidfw/bsde_get_rule.3#4 integrate .. //depot/projects/gdb/lib/libugidfw/bsde_get_rule_count.3#2 integrate .. //depot/projects/gdb/lib/libugidfw/bsde_parse_rule.3#2 integrate .. //depot/projects/gdb/lib/libugidfw/bsde_rule_to_string.3#2 integrate .. //depot/projects/gdb/lib/libugidfw/libugidfw.3#4 integrate .. //depot/projects/gdb/lib/libutil/auth.conf.5#2 integrate .. //depot/projects/gdb/lib/libutil/login.3#2 integrate .. //depot/projects/gdb/lib/libutil/login.conf.5#2 integrate .. //depot/projects/gdb/lib/libutil/login_cap.3#3 integrate .. //depot/projects/gdb/lib/libutil/login_ok.3#2 integrate .. //depot/projects/gdb/lib/libutil/login_times.3#2 integrate .. //depot/projects/gdb/lib/libutil/login_tty.3#2 integrate .. //depot/projects/gdb/lib/libutil/logout.3#2 integrate .. //depot/projects/gdb/lib/libutil/property.3#2 integrate .. //depot/projects/gdb/lib/libutil/pty.3#2 integrate .. //depot/projects/gdb/lib/libutil/realhostname.3#2 integrate .. //depot/projects/gdb/lib/libutil/realhostname_sa.3#2 integrate .. //depot/projects/gdb/lib/libutil/trimdomain.3#2 integrate .. //depot/projects/gdb/lib/libutil/uucplock.3#2 integrate .. //depot/projects/gdb/lib/libvgl/vgl.3#3 integrate .. //depot/projects/gdb/lib/msun/man/asin.3#2 integrate .. //depot/projects/gdb/lib/msun/man/atan2.3#2 integrate .. //depot/projects/gdb/lib/msun/man/atanh.3#2 integrate .. //depot/projects/gdb/lib/msun/man/erf.3#2 integrate .. //depot/projects/gdb/lib/msun/man/exp.3#2 integrate .. //depot/projects/gdb/lib/msun/man/ieee.3#6 integrate .. //depot/projects/gdb/lib/msun/man/sinh.3#2 integrate .. //depot/projects/gdb/libexec/bootpd/bootptab.5#3 integrate .. //depot/projects/gdb/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#23 integrate .. //depot/projects/gdb/sbin/camcontrol/camcontrol.8#3 integrate .. //depot/projects/gdb/sbin/ccdconfig/ccdconfig.8#4 integrate .. //depot/projects/gdb/sbin/fsck/fsck.8#3 integrate .. //depot/projects/gdb/sbin/geom/class/label/glabel.8#2 integrate .. //depot/projects/gdb/sbin/ip6fw/ip6fw.8#4 integrate .. //depot/projects/gdb/sbin/vinum/vinum.8#5 integrate .. //depot/projects/gdb/share/examples/etc/make.conf#6 integrate .. //depot/projects/gdb/share/examples/ses/getencstat/getencstat.0#3 integrate .. //depot/projects/gdb/share/examples/ses/setobjstat/setobjstat.0#3 integrate .. //depot/projects/gdb/share/man/man3/fpgetround.3#4 integrate .. //depot/projects/gdb/share/man/man3/intro.3#2 integrate .. //depot/projects/gdb/share/man/man3/pthread_cancel.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_create.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_detach.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_exit.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_join.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_once.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_rwlock_destroy.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_rwlock_init.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_rwlock_rdlock.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_rwlock_unlock.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_rwlock_wrlock.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_rwlockattr_destroy.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_rwlockattr_getpshared.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_rwlockattr_init.3#3 integrate .. //depot/projects/gdb/share/man/man3/pthread_rwlockattr_setpshared.3#3 integrate .. //depot/projects/gdb/share/man/man3/stdarg.3#2 integrate .. //depot/projects/gdb/share/man/man3/sysexits.3#2 integrate .. //depot/projects/gdb/share/man/man4/atkbd.4#2 integrate .. //depot/projects/gdb/share/man/man4/bktr.4#3 integrate .. //depot/projects/gdb/share/man/man4/bpf.4#4 integrate .. //depot/projects/gdb/share/man/man4/ccd.4#2 integrate .. //depot/projects/gdb/share/man/man4/cd.4#3 integrate .. //depot/projects/gdb/share/man/man4/ch.4#3 integrate .. //depot/projects/gdb/share/man/man4/ciss.4#5 integrate .. //depot/projects/gdb/share/man/man4/cy.4#2 integrate .. //depot/projects/gdb/share/man/man4/da.4#3 integrate .. //depot/projects/gdb/share/man/man4/dc.4#3 integrate .. //depot/projects/gdb/share/man/man4/divert.4#2 integrate .. //depot/projects/gdb/share/man/man4/en.4#3 integrate .. //depot/projects/gdb/share/man/man4/fatm.4#2 integrate .. //depot/projects/gdb/share/man/man4/geom.4#3 integrate .. //depot/projects/gdb/share/man/man4/gre.4#4 integrate .. //depot/projects/gdb/share/man/man4/gusc.4#2 integrate .. //depot/projects/gdb/share/man/man4/hatm.4#3 integrate .. //depot/projects/gdb/share/man/man4/ifmib.4#2 integrate .. //depot/projects/gdb/share/man/man4/iic.4#2 integrate .. //depot/projects/gdb/share/man/man4/inet.4#4 integrate .. //depot/projects/gdb/share/man/man4/intro.4#2 integrate .. //depot/projects/gdb/share/man/man4/ip6.4#2 integrate .. //depot/projects/gdb/share/man/man4/ispfw.4#2 integrate .. //depot/projects/gdb/share/man/man4/joy.4#2 integrate .. //depot/projects/gdb/share/man/man4/keyboard.4#2 integrate .. //depot/projects/gdb/share/man/man4/lp.4#2 integrate .. //depot/projects/gdb/share/man/man4/mac.4#2 integrate .. //depot/projects/gdb/share/man/man4/mac_biba.4#2 integrate .. //depot/projects/gdb/share/man/man4/mac_bsdextended.4#2 integrate .. //depot/projects/gdb/share/man/man4/mac_ifoff.4#2 integrate .. //depot/projects/gdb/share/man/man4/mac_lomac.4#2 integrate .. //depot/projects/gdb/share/man/man4/mac_mls.4#2 integrate .. //depot/projects/gdb/share/man/man4/mac_none.4#3 integrate .. //depot/projects/gdb/share/man/man4/mac_partition.4#2 integrate .. //depot/projects/gdb/share/man/man4/mac_portacl.4#4 integrate .. //depot/projects/gdb/share/man/man4/mac_seeotheruids.4#2 integrate .. //depot/projects/gdb/share/man/man4/mac_stub.4#2 integrate .. //depot/projects/gdb/share/man/man4/mac_test.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.alpha/osf1.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/acpi_asus.4#3 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/amdpm.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/apm.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/ar.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/cs.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/ct.4#6 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/ex.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/fe.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/io.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/mse.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/ndis.4#3 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/perfmon.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/ray.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/scd.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/spkr.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/streams.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/vx.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/wl.4#2 integrate .. //depot/projects/gdb/share/man/man4/matcd.4#3 integrate .. //depot/projects/gdb/share/man/man4/mem.4#2 integrate .. //depot/projects/gdb/share/man/man4/meteor.4#2 integrate .. //depot/projects/gdb/share/man/man4/mly.4#2 integrate .. //depot/projects/gdb/share/man/man4/mouse.4#2 integrate .. //depot/projects/gdb/share/man/man4/mtio.4#2 integrate .. //depot/projects/gdb/share/man/man4/multicast.4#3 integrate .. //depot/projects/gdb/share/man/man4/natmip.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_UI.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_async.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_atm.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_atmllc.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_atmpif.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_bluetooth.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_bpf.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_btsocket.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_cisco.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_frame_relay.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_hci.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_iface.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_ksocket.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_l2cap.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_lmi.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_one2many.4#6 integrate .. //depot/projects/gdb/share/man/man4/ng_ppp.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_pppoe.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_socket.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_sppp.4#4 integrate .. //depot/projects/gdb/share/man/man4/ng_sscfu.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_sscop.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_tty.4#2 integrate .. //depot/projects/gdb/share/man/man4/ng_uni.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_vjc.4#2 integrate .. //depot/projects/gdb/share/man/man4/patm.4#2 integrate .. //depot/projects/gdb/share/man/man4/pci.4#2 integrate .. //depot/projects/gdb/share/man/man4/pcn.4#2 integrate .. //depot/projects/gdb/share/man/man4/pcvt.4#2 integrate .. //depot/projects/gdb/share/man/man4/ppbus.4#2 integrate .. //depot/projects/gdb/share/man/man4/ppi.4#2 integrate .. //depot/projects/gdb/share/man/man4/psm.4#2 integrate .. //depot/projects/gdb/share/man/man4/pt.4#2 integrate .. //depot/projects/gdb/share/man/man4/pty.4#3 integrate .. //depot/projects/gdb/share/man/man4/random.4#5 integrate .. //depot/projects/gdb/share/man/man4/re.4#3 integrate .. //depot/projects/gdb/share/man/man4/rl.4#3 integrate .. //depot/projects/gdb/share/man/man4/route.4#3 integrate .. //depot/projects/gdb/share/man/man4/sa.4#2 integrate .. //depot/projects/gdb/share/man/man4/safe.4#3 integrate .. //depot/projects/gdb/share/man/man4/sbc.4#2 integrate .. //depot/projects/gdb/share/man/man4/scsi.4#3 integrate .. //depot/projects/gdb/share/man/man4/si.4#2 integrate .. //depot/projects/gdb/share/man/man4/sio.4#4 integrate .. //depot/projects/gdb/share/man/man4/sis.4#3 integrate .. //depot/projects/gdb/share/man/man4/sppp.4#2 integrate .. //depot/projects/gdb/share/man/man4/sym.4#2 integrate .. //depot/projects/gdb/share/man/man4/sysmouse.4#2 integrate .. //depot/projects/gdb/share/man/man4/termios.4#2 integrate .. //depot/projects/gdb/share/man/man4/ti.4#2 integrate .. //depot/projects/gdb/share/man/man4/tl.4#2 integrate .. //depot/projects/gdb/share/man/man4/ttcp.4#3 integrate .. //depot/projects/gdb/share/man/man4/tty.4#2 integrate .. //depot/projects/gdb/share/man/man4/uaudio.4#2 integrate .. //depot/projects/gdb/share/man/man4/udp.4#2 integrate .. //depot/projects/gdb/share/man/man4/ukbd.4#2 integrate .. //depot/projects/gdb/share/man/man4/umass.4#4 integrate .. //depot/projects/gdb/share/man/man4/umct.4#2 integrate .. //depot/projects/gdb/share/man/man4/ums.4#2 integrate .. //depot/projects/gdb/share/man/man4/utopia.4#3 integrate .. //depot/projects/gdb/share/man/man4/vga.4#2 integrate .. //depot/projects/gdb/share/man/man4/vpo.4#2 integrate .. //depot/projects/gdb/share/man/man4/vr.4#2 integrate .. //depot/projects/gdb/share/man/man4/wi.4#3 integrate .. //depot/projects/gdb/share/man/man4/xl.4#3 integrate .. //depot/projects/gdb/share/man/man4/xpt.4#2 integrate .. //depot/projects/gdb/share/man/man5/a.out.5#2 integrate .. //depot/projects/gdb/share/man/man5/devfs.5#4 integrate .. //depot/projects/gdb/share/man/man5/disktab.5#2 integrate .. //depot/projects/gdb/share/man/man5/elf.5#3 integrate .. //depot/projects/gdb/share/man/man5/forward.5#2 integrate .. //depot/projects/gdb/share/man/man5/fs.5#2 integrate .. //depot/projects/gdb/share/man/man5/fstab.5#2 integrate .. //depot/projects/gdb/share/man/man5/hosts.5#2 integrate .. //depot/projects/gdb/share/man/man5/hosts.equiv.5#2 integrate .. //depot/projects/gdb/share/man/man5/link.5#3 integrate .. //depot/projects/gdb/share/man/man5/mailer.conf.5#2 integrate .. //depot/projects/gdb/share/man/man5/networks.5#2 integrate .. //depot/projects/gdb/share/man/man5/passwd.5#3 integrate .. //depot/projects/gdb/share/man/man5/pbm.5#2 integrate .. //depot/projects/gdb/share/man/man5/phones.5#2 integrate .. //depot/projects/gdb/share/man/man5/procfs.5#2 integrate .. //depot/projects/gdb/share/man/man5/protocols.5#2 integrate .. //depot/projects/gdb/share/man/man5/rc.conf.5#14 integrate .. //depot/projects/gdb/share/man/man5/remote.5#3 integrate .. //depot/projects/gdb/share/man/man5/services.5#2 integrate .. //depot/projects/gdb/share/man/man5/stab.5#2 integrate .. //depot/projects/gdb/share/man/man5/sysctl.conf.5#2 integrate .. //depot/projects/gdb/share/man/man7/development.7#3 integrate .. //depot/projects/gdb/share/man/man7/environ.7#4 integrate .. //depot/projects/gdb/share/man/man7/firewall.7#3 integrate .. //depot/projects/gdb/share/man/man7/hier.7#8 integrate .. //depot/projects/gdb/share/man/man7/hostname.7#2 integrate .. //depot/projects/gdb/share/man/man7/maclabel.7#2 integrate .. //depot/projects/gdb/share/man/man7/mailaddr.7#2 integrate .. //depot/projects/gdb/share/man/man7/sdoc.7#2 integrate .. //depot/projects/gdb/share/man/man7/security.7#5 integrate .. //depot/projects/gdb/share/man/man7/tuning.7#3 integrate .. //depot/projects/gdb/share/man/man8/adding_user.8#2 integrate .. //depot/projects/gdb/share/man/man8/picobsd.8#2 integrate .. //depot/projects/gdb/share/man/man8/rc.8#2 integrate .. //depot/projects/gdb/share/man/man8/rc.subr.8#3 integrate .. //depot/projects/gdb/share/man/man8/yp.8#3 integrate .. //depot/projects/gdb/share/man/man9/BUS_CONFIG_INTR.9#2 integrate .. //depot/projects/gdb/share/man/man9/DEVICE_DETACH.9#2 integrate .. //depot/projects/gdb/share/man/man9/DEVICE_IDENTIFY.9#5 integrate .. //depot/projects/gdb/share/man/man9/DEVICE_PROBE.9#3 integrate .. //depot/projects/gdb/share/man/man9/MD5.9#2 integrate .. //depot/projects/gdb/share/man/man9/boot.9#2 integrate .. //depot/projects/gdb/share/man/man9/buf.9#4 integrate .. //depot/projects/gdb/share/man/man9/bus_dma.9#5 integrate .. //depot/projects/gdb/share/man/man9/bus_release_resource.9#2 integrate .. //depot/projects/gdb/share/man/man9/device_add_child.9#4 integrate .. //depot/projects/gdb/share/man/man9/devstat.9#2 integrate .. //depot/projects/gdb/share/man/man9/g_access.9#4 integrate .. //depot/projects/gdb/share/man/man9/g_event.9#4 integrate .. //depot/projects/gdb/share/man/man9/ithread.9#2 integrate .. //depot/projects/gdb/share/man/man9/kobj.9#2 integrate .. //depot/projects/gdb/share/man/man9/mac.9#5 integrate .. //depot/projects/gdb/share/man/man9/mbpool.9#3 integrate .. //depot/projects/gdb/share/man/man9/mbuf.9#8 integrate .. //depot/projects/gdb/share/man/man9/mi_switch.9#2 integrate .. //depot/projects/gdb/share/man/man9/microseq.9#2 integrate .. //depot/projects/gdb/share/man/man9/mutex.9#4 integrate .. //depot/projects/gdb/share/man/man9/pci.9#3 integrate .. //depot/projects/gdb/share/man/man9/pseudofs.9#2 integrate .. //depot/projects/gdb/share/man/man9/random.9#2 integrate .. //depot/projects/gdb/share/man/man9/spl.9#2 integrate .. //depot/projects/gdb/share/man/man9/style.9#5 integrate .. //depot/projects/gdb/share/man/man9/sysctl_add_oid.9#3 integrate .. //depot/projects/gdb/share/man/man9/sysctl_ctx_init.9#3 integrate .. //depot/projects/gdb/share/man/man9/utopia.9#3 integrate .. //depot/projects/gdb/share/man/man9/vref.9#2 integrate .. //depot/projects/gdb/share/termcap/termcap.5#2 integrate .. //depot/projects/gdb/sys/conf/NOTES#29 integrate .. //depot/projects/gdb/sys/conf/files#35 integrate .. //depot/projects/gdb/sys/conf/options#27 integrate .. //depot/projects/gdb/sys/dev/usb/ehci.c#5 integrate .. //depot/projects/gdb/sys/fs/msdosfs/msdosfs_fileno.c#1 branch .. //depot/projects/gdb/sys/fs/msdosfs/msdosfs_vfsops.c#6 integrate .. //depot/projects/gdb/sys/fs/msdosfs/msdosfs_vnops.c#3 integrate .. //depot/projects/gdb/sys/fs/msdosfs/msdosfsmount.h#4 integrate .. //depot/projects/gdb/sys/i386/i386/busdma_machdep.c#3 integrate .. //depot/projects/gdb/sys/i386/i386/nexus.c#5 integrate .. //depot/projects/gdb/sys/i386/isa/isa.c#4 integrate .. //depot/projects/gdb/sys/isofs/cd9660/cd9660_lookup.c#3 integrate .. //depot/projects/gdb/sys/isofs/cd9660/cd9660_node.c#4 integrate .. //depot/projects/gdb/sys/isofs/cd9660/cd9660_rrip.c#4 integrate .. //depot/projects/gdb/sys/isofs/cd9660/cd9660_rrip.h#3 integrate .. //depot/projects/gdb/sys/isofs/cd9660/cd9660_vfsops.c#5 integrate .. //depot/projects/gdb/sys/kern/kern_poll.c#4 integrate .. //depot/projects/gdb/sys/kern/sched_ule.c#15 integrate .. //depot/projects/gdb/sys/kern/vfs_bio.c#9 integrate .. //depot/projects/gdb/sys/modules/msdosfs/Makefile#2 integrate .. //depot/projects/gdb/sys/nfsserver/nfs_srvcache.c#5 integrate .. //depot/projects/gdb/sys/pci/if_vr.c#8 integrate .. //depot/projects/gdb/sys/sparc64/ebus/ebus.c#8 integrate .. //depot/projects/gdb/sys/sparc64/fhc/fhc.c#3 integrate .. //depot/projects/gdb/sys/sparc64/pci/psycho.c#7 integrate .. //depot/projects/gdb/sys/sparc64/sbus/sbus.c#6 integrate .. //depot/projects/gdb/sys/sparc64/sparc64/iommu.c#7 integrate .. //depot/projects/gdb/sys/sparc64/sparc64/nexus.c#6 integrate .. //depot/projects/gdb/sys/vm/uma_core.c#9 integrate .. //depot/projects/gdb/usr.bin/basename/basename.1#2 integrate .. //depot/projects/gdb/usr.bin/calendar/calendar.1#4 integrate .. //depot/projects/gdb/usr.bin/col/col.1#2 integrate .. //depot/projects/gdb/usr.bin/comm/comm.1#3 integrate .. //depot/projects/gdb/usr.bin/comm/comm.c#2 integrate .. //depot/projects/gdb/usr.bin/csplit/csplit.1#2 integrate .. //depot/projects/gdb/usr.bin/ee/ee.1#3 integrate .. //depot/projects/gdb/usr.bin/find/find.1#8 integrate .. //depot/projects/gdb/usr.bin/fstat/fstat.1#4 integrate .. //depot/projects/gdb/usr.bin/gcore/gcore.1#3 integrate .. //depot/projects/gdb/usr.bin/gencat/gencat.1#3 integrate .. //depot/projects/gdb/usr.bin/getopt/getopt.1#3 integrate .. //depot/projects/gdb/usr.bin/gprof/gprof.1#4 integrate .. //depot/projects/gdb/usr.bin/hexdump/od.1#2 integrate .. //depot/projects/gdb/usr.bin/indent/indent.1#6 integrate .. //depot/projects/gdb/usr.bin/keylogin/keylogin.1#2 integrate .. //depot/projects/gdb/usr.bin/lastcomm/lastcomm.1#2 integrate .. //depot/projects/gdb/usr.bin/locate/locate/locate.1#3 integrate .. //depot/projects/gdb/usr.bin/logger/logger.1#2 integrate .. //depot/projects/gdb/usr.bin/login/login.1#2 integrate .. //depot/projects/gdb/usr.bin/lorder/lorder.1#2 integrate .. //depot/projects/gdb/usr.bin/m4/m4.1#3 integrate .. //depot/projects/gdb/usr.bin/mkfifo/mkfifo.1#2 integrate .. //depot/projects/gdb/usr.bin/mklocale/mklocale.1#4 integrate .. //depot/projects/gdb/usr.bin/msgs/msgs.1#2 integrate .. //depot/projects/gdb/usr.bin/mt/mt.1#3 integrate .. //depot/projects/gdb/usr.bin/nl/nl.1#3 integrate .. //depot/projects/gdb/usr.bin/passwd/passwd.1#3 integrate .. //depot/projects/gdb/usr.bin/pr/pr.1#2 integrate .. //depot/projects/gdb/usr.bin/printf/printf.1#4 integrate .. //depot/projects/gdb/usr.bin/rlogin/rlogin.1#3 integrate .. //depot/projects/gdb/usr.bin/rsh/rsh.1#3 integrate .. //depot/projects/gdb/usr.bin/script/script.1#5 integrate .. //depot/projects/gdb/usr.bin/sed/sed.1#3 integrate .. //depot/projects/gdb/usr.bin/shar/shar.1#2 integrate .. //depot/projects/gdb/usr.bin/su/su.1#4 integrate .. //depot/projects/gdb/usr.bin/systat/systat.1#3 integrate .. //depot/projects/gdb/usr.bin/talk/talk.1#3 integrate .. //depot/projects/gdb/usr.bin/tsort/tsort.1#3 integrate .. //depot/projects/gdb/usr.bin/uniq/uniq.1#4 integrate .. //depot/projects/gdb/usr.bin/uniq/uniq.c#2 integrate .. //depot/projects/gdb/usr.bin/vgrind/vgrindefs.5#3 integrate .. //depot/projects/gdb/usr.bin/wc/wc.1#2 integrate .. //depot/projects/gdb/usr.bin/window/window.1#3 integrate .. //depot/projects/gdb/usr.bin/write/write.1#2 integrate .. //depot/projects/gdb/usr.sbin/IPXrouted/IPXrouted.8#3 integrate .. //depot/projects/gdb/usr.sbin/ac/ac.8#2 integrate .. //depot/projects/gdb/usr.sbin/apm/apm.8#3 integrate .. //depot/projects/gdb/usr.sbin/apmd/apmd.8#3 integrate .. //depot/projects/gdb/usr.sbin/arp/arp.4#3 integrate .. //depot/projects/gdb/usr.sbin/arp/arp.8#2 integrate .. //depot/projects/gdb/usr.sbin/atm/scspd/scspd.8#2 integrate .. //depot/projects/gdb/usr.sbin/boot98cfg/boot98cfg.8#2 integrate .. //depot/projects/gdb/usr.sbin/btxld/btxld.8#2 integrate .. //depot/projects/gdb/usr.sbin/ckdist/ckdist.1#2 integrate .. //depot/projects/gdb/usr.sbin/cron/cron/cron.8#3 integrate .. //depot/projects/gdb/usr.sbin/cron/crontab/crontab.5#3 integrate .. //depot/projects/gdb/usr.sbin/crunch/crunchide/crunchide.1#2 integrate .. //depot/projects/gdb/usr.sbin/ctm/ctm/ctm.1#2 integrate .. //depot/projects/gdb/usr.sbin/ctm/ctm/ctm.5#2 integrate .. //depot/projects/gdb/usr.sbin/ctm/ctm_rmail/ctm_rmail.1#2 integrate .. //depot/projects/gdb/usr.sbin/edquota/edquota.8#3 integrate .. //depot/projects/gdb/usr.sbin/fdcontrol/fdcontrol.8#4 integrate .. //depot/projects/gdb/usr.sbin/fdread/fdread.1#2 integrate .. //depot/projects/gdb/usr.sbin/fdwrite/fdwrite.1#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/dtmfdecode/dtmfdecode.1#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/g711conv/g711conv.1#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/isdnd/isdnd.acct.5#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/isdnd/isdnd.rates.5#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/isdnd/isdnd.rc.5#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/isdndebug/isdndebug.8#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/isdndecode/isdndecode.8#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/isdnmonitor/isdnmonitor.8#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/isdntel/isdntel.8#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/isdntelctl/isdntelctl.8#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/isdntest/isdntest.8#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/isdntrace/isdntrace.8#2 integrate .. //depot/projects/gdb/usr.sbin/i4b/man/itjc.4#2 integrate .. //depot/projects/gdb/usr.sbin/inetd/inetd.8#3 integrate .. //depot/projects/gdb/usr.sbin/jail/jail.8#8 integrate .. //depot/projects/gdb/usr.sbin/kbdcontrol/kbdcontrol.1#2 integrate .. //depot/projects/gdb/usr.sbin/kbdmap/kbdmap.1#2 integrate .. //depot/projects/gdb/usr.sbin/kgzip/kgzip.8#2 integrate .. //depot/projects/gdb/usr.sbin/lastlogin/lastlogin.8#2 integrate .. //depot/projects/gdb/usr.sbin/lpr/chkprintcap/chkprintcap.8#2 integrate .. //depot/projects/gdb/usr.sbin/lpr/lp/lp.1#2 integrate .. //depot/projects/gdb/usr.sbin/lpr/lpd/lpd.8#3 integrate .. //depot/projects/gdb/usr.sbin/lpr/lpq/lpq.1#2 integrate .. //depot/projects/gdb/usr.sbin/lpr/lpr/lpr.1#2 integrate .. //depot/projects/gdb/usr.sbin/lpr/lpr/printcap.5#4 integrate .. //depot/projects/gdb/usr.sbin/lpr/lprm/lprm.1#2 integrate .. //depot/projects/gdb/usr.sbin/lpr/pac/pac.8#2 integrate .. //depot/projects/gdb/usr.sbin/lptcontrol/lptcontrol.8#2 integrate .. //depot/projects/gdb/usr.sbin/mailwrapper/mailwrapper.8#2 integrate .. //depot/projects/gdb/usr.sbin/mergemaster/mergemaster.8#2 integrate .. //depot/projects/gdb/usr.sbin/mixer/mixer.8#3 integrate .. //depot/projects/gdb/usr.sbin/mlxcontrol/mlxcontrol.8#2 integrate .. //depot/projects/gdb/usr.sbin/mount_portalfs/mount_portalfs.8#2 integrate .. //depot/projects/gdb/usr.sbin/moused/moused.8#3 integrate .. //depot/projects/gdb/usr.sbin/moused/moused.c#2 integrate .. //depot/projects/gdb/usr.sbin/mrouted/mrouted.8#2 integrate .. //depot/projects/gdb/usr.sbin/mrouted/mtrace.8#2 integrate .. //depot/projects/gdb/usr.sbin/mtest/mtest.8#2 integrate .. //depot/projects/gdb/usr.sbin/mtree/mtree.8#3 integrate .. //depot/projects/gdb/usr.sbin/newsyslog/newsyslog.8#3 integrate .. //depot/projects/gdb/usr.sbin/nfsd/nfsd.8#3 integrate .. //depot/projects/gdb/usr.sbin/ngctl/ngctl.8#2 integrate .. //depot/projects/gdb/usr.sbin/ntp/doc/ntp-genkeys.8#2 integrate .. //depot/projects/gdb/usr.sbin/ntp/doc/ntp.conf.5#3 integrate .. //depot/projects/gdb/usr.sbin/ntp/doc/ntpd.8#2 integrate .. //depot/projects/gdb/usr.sbin/ntp/doc/ntpdc.8#2 integrate .. //depot/projects/gdb/usr.sbin/ntp/doc/ntpq.8#2 integrate .. //depot/projects/gdb/usr.sbin/ntp/doc/ntptrace.8#2 integrate .. //depot/projects/gdb/usr.sbin/ofwdump/ofwdump.8#4 integrate .. //depot/projects/gdb/usr.sbin/pccard/pccardc/pccardc.8#2 integrate .. //depot/projects/gdb/usr.sbin/pccard/pccardd/pccard.conf.5#3 integrate .. //depot/projects/gdb/usr.sbin/pccard/pccardd/pccardd.8#3 integrate .. //depot/projects/gdb/usr.sbin/pcvt/kcon/kcon.1#2 integrate .. //depot/projects/gdb/usr.sbin/pcvt/scon/scon.1#2 integrate .. //depot/projects/gdb/usr.sbin/pkg_install/add/pkg_add.1#4 integrate .. //depot/projects/gdb/usr.sbin/pkg_install/create/pkg_create.1#3 integrate .. //depot/projects/gdb/usr.sbin/pkg_install/delete/pkg_delete.1#3 integrate .. //depot/projects/gdb/usr.sbin/pkg_install/info/pkg_info.1#4 integrate .. //depot/projects/gdb/usr.sbin/pkg_install/sign/pkg_sign.1#2 integrate .. //depot/projects/gdb/usr.sbin/pkg_install/version/pkg_version.1#3 integrate .. //depot/projects/gdb/usr.sbin/ppp/ppp.8.m4#4 integrate .. //depot/projects/gdb/usr.sbin/pppctl/pppctl.8#2 integrate .. //depot/projects/gdb/usr.sbin/pstat/pstat.8#3 integrate .. //depot/projects/gdb/usr.sbin/pw/pw.8#2 integrate .. //depot/projects/gdb/usr.sbin/pwd_mkdb/pwd_mkdb.8#2 integrate .. //depot/projects/gdb/usr.sbin/quot/quot.8#2 integrate .. //depot/projects/gdb/usr.sbin/rmt/rmt.8#2 integrate .. //depot/projects/gdb/usr.sbin/rpc.statd/rpc.statd.8#2 integrate .. //depot/projects/gdb/usr.sbin/rpc.yppasswdd/rpc.yppasswdd.8#2 integrate .. //depot/projects/gdb/usr.sbin/rrenumd/rrenumd.conf.5#2 integrate .. //depot/projects/gdb/usr.sbin/rtadvd/rtadvd.conf.5#2 integrate .. //depot/projects/gdb/usr.sbin/rtprio/rtprio.1#2 integrate .. //depot/projects/gdb/usr.sbin/rtsold/rtsold.8#2 integrate .. //depot/projects/gdb/usr.sbin/rwhod/rwhod.8#2 integrate .. //depot/projects/gdb/usr.sbin/sa/sa.8#2 integrate .. //depot/projects/gdb/usr.sbin/setfmac/setfsmac.8#3 integrate .. //depot/projects/gdb/usr.sbin/setpmac/setpmac.8#2 integrate .. //depot/projects/gdb/usr.sbin/sicontrol/sicontrol.8#2 integrate .. //depot/projects/gdb/usr.sbin/sliplogin/sliplogin.8#2 integrate .. //depot/projects/gdb/usr.sbin/sysinstall/dist.c#4 integrate .. //depot/projects/gdb/usr.sbin/sysinstall/sysinstall.8#3 integrate .. //depot/projects/gdb/usr.sbin/syslogd/syslog.conf.5#3 integrate .. //depot/projects/gdb/usr.sbin/syslogd/syslogd.8#2 integrate .. //depot/projects/gdb/usr.sbin/tcpdump/tcpslice/tcpslice.1#2 integrate .. //depot/projects/gdb/usr.sbin/timed/timedc/timedc.8#2 integrate .. //depot/projects/gdb/usr.sbin/tzsetup/tzsetup.8#2 integrate .. //depot/projects/gdb/usr.sbin/ugidfw/ugidfw.8#3 integrate .. //depot/projects/gdb/usr.sbin/usbd/usbd.8#2 integrate .. //depot/projects/gdb/usr.sbin/vipw/vipw.8#2 integrate .. //depot/projects/gdb/usr.sbin/watch/watch.8#2 integrate .. //depot/projects/gdb/usr.sbin/wlconfig/wlconfig.8#3 integrate .. //depot/projects/gdb/usr.sbin/ypbind/ypbind.8#2 integrate .. //depot/projects/gdb/usr.sbin/yppush/yppush.8#2 integrate .. //depot/projects/gdb/usr.sbin/ypserv/ypserv.8#2 integrate .. //depot/projects/gdb/usr.sbin/zic/zic.8#3 integrate Differences ... ==== //depot/projects/gdb/bin/date/date.1#5 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)date.1 8.3 (Berkeley) 4/28/95 -.\" $FreeBSD: src/bin/date/date.1,v 1.65 2004/07/02 21:04:17 ru Exp $ +.\" $FreeBSD: src/bin/date/date.1,v 1.66 2004/07/03 00:03:25 ru Exp $ .\" .Dd November 17, 1993 .Dt DATE 1 @@ -93,7 +93,7 @@ to .Xr gettimeofday 2 will return a non-zero for -.Fa tz_dsttime . +.Fa tz_dsttime . .It Fl f Use .Ar input_fmt @@ -284,7 +284,8 @@ .Pp .Dl "Sun Jan 4 04:15:24 GMT 1998" .Pp -where it is currently Mon Aug 4 04:15:24 BST 1997. +where it is currently +.Li "Mon Aug 4 04:15:24 BST 1997" . .Pp The command: .Pp @@ -302,7 +303,8 @@ .Pp .Dl "Fri Aug 29 04:31:11 BST 1997" .Pp -where it is currently Mon Aug 4 04:31:11 BST 1997. +where it is currently +.Li "Mon Aug 4 04:31:11 BST 1997" . .Pp The command: .Pp ==== //depot/projects/gdb/bin/ed/ed.1#2 (text+ko) ==== @@ -1,5 +1,5 @@ -.\" $FreeBSD: src/bin/ed/ed.1,v 1.33 2003/05/03 20:26:11 keramida Exp $ -.Dd May 21, 1993 +.\" $FreeBSD: src/bin/ed/ed.1,v 1.34 2004/07/03 02:03:43 tjr Exp $ +.Dd July 3, 2004 .Dt ED 1 .Os .Sh NAME @@ -999,3 +999,7 @@ .Nm command appeared in Version 1 AT&T UNIX. +.Sh BUGS +The +.Nm +utility does not recognize multibyte characters. ==== //depot/projects/gdb/bin/expr/expr.1#2 (text+ko) ==== @@ -28,9 +28,9 @@ .\" (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/bin/expr/expr.1,v 1.23 2002/11/26 17:55:40 ru Exp $ +.\" $FreeBSD: src/bin/expr/expr.1,v 1.24 2004/07/03 02:03:44 tjr Exp $ .\" -.Dd May 10, 2002 +.Dd July 3, 2004 .Dt EXPR 1 .Os .Sh NAME @@ -261,3 +261,7 @@ The .Fl e flag is an extension. +.Sh BUGS +The +.Nm +utility does not recognize multibyte characters. ==== //depot/projects/gdb/bin/kill/kill.1#3 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)kill.1 8.2 (Berkeley) 4/28/95 -.\" $FreeBSD: src/bin/kill/kill.1,v 1.17 2004/04/06 20:06:47 markm Exp $ +.\" $FreeBSD: src/bin/kill/kill.1,v 1.18 2004/07/03 00:03:25 ru Exp $ .\" .Dd April 28, 1995 .Dt KILL 1 @@ -153,5 +153,5 @@ A replacement for the command .Dq Li kill 0 for -.Xr csh 1 +.Xr csh 1 users should be provided. ==== //depot/projects/gdb/bin/ln/ln.1#4 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 -.\" $FreeBSD: src/bin/ln/ln.1,v 1.27 2004/07/02 21:04:18 ru Exp $ +.\" $FreeBSD: src/bin/ln/ln.1,v 1.28 2004/07/03 00:03:26 ru Exp $ .\" .Dd December 30, 1993 .Dt LN 1 @@ -126,22 +126,22 @@ A symbolic link contains the name of the file to which it is linked. The referenced file is used when an -.Xr open 2 +.Xr open 2 operation is performed on the link. A -.Xr stat 2 +.Xr stat 2 on a symbolic link will return the linked-to file; an -.Xr lstat 2 +.Xr lstat 2 must be done to obtain information about the link. The -.Xr readlink 2 +.Xr readlink 2 call may be used to read the contents of a symbolic link. Symbolic links may span file systems and may refer to directories. .Pp Given one or two arguments, .Nm creates a link to an existing file -.Ar source_file . +.Ar source_file . If .Ar target_file is given, the link has that name; @@ -150,7 +150,7 @@ otherwise it is placed in the current directory. If only the directory is specified, the link will be made to the last component of -.Ar source_file . +.Ar source_file . .Pp Given more than two arguments, .Nm ==== //depot/projects/gdb/bin/mkdir/mkdir.1#3 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mkdir.1 8.2 (Berkeley) 1/25/94 -.\" $FreeBSD: src/bin/mkdir/mkdir.1,v 1.18 2004/04/06 20:06:48 markm Exp $ +.\" $FreeBSD: src/bin/mkdir/mkdir.1,v 1.19 2004/07/03 00:03:26 ru Exp $ .\" .Dd January 25, 1994 .Dt MKDIR 1 @@ -41,7 +41,7 @@ .Nm .Op Fl pv .Op Fl m Ar mode -.Ar directory_name ... +.Ar directory_name ... .Sh DESCRIPTION The .Nm @@ -49,7 +49,7 @@ using mode .Li rwxrwxrwx (\&0777) as modified by the current -.Xr umask 2 . +.Xr umask 2 . .Pp The options are as follows: .Pp ==== //depot/projects/gdb/bin/pax/pax.1#4 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)pax.1 8.4 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/pax/pax.1,v 1.31 2004/07/02 21:04:18 ru Exp $ +.\" $FreeBSD: src/bin/pax/pax.1,v 1.33 2004/07/03 02:03:44 tjr Exp $ .\" -.Dd April 18, 1994 +.Dd July 3, 2004 .Dt PAX 1 .Os .Sh NAME @@ -731,9 +731,9 @@ Only .Em regular files, -.Em hard links , soft links , +.Em hard links , soft links , and -.Em directories +.Em directories will be archived (other file system types are not supported). For backwards compatibility with even older tar formats, a .Fl o @@ -1186,3 +1186,7 @@ and when .Nm completes it will exit with a non-zero exit status. +.Sh BUGS +The +.Nm +utility does not recognize multibyte characters. ==== //depot/projects/gdb/bin/pwd/pwd.1#3 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)pwd.1 8.2 (Berkeley) 4/28/95 -.\" $FreeBSD: src/bin/pwd/pwd.1,v 1.23 2004/04/06 20:06:50 markm Exp $ +.\" $FreeBSD: src/bin/pwd/pwd.1,v 1.24 2004/07/03 00:03:26 ru Exp $ .\" .Dd April 12, 2003 .Dt PWD 1 @@ -86,7 +86,7 @@ .Xr getcwd 3 .Sh BUGS In -.Xr csh 1 +.Xr csh 1 the command .Ic dirs is always faster because it is built into that shell. ==== //depot/projects/gdb/bin/rcp/rcp.1#4 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rcp.1 8.1 (Berkeley) 5/31/93 -.\" $FreeBSD: src/bin/rcp/rcp.1,v 1.17 2004/07/02 21:04:18 ru Exp $ +.\" $FreeBSD: src/bin/rcp/rcp.1,v 1.18 2004/07/03 00:03:26 ru Exp $ .\" .Dd May 31, 1993 .Dt RCP 1 @@ -79,12 +79,12 @@ .Nm to attempt to preserve (duplicate) in its copies the modification times and modes of the source files, ignoring the -.Ar umask . +.Ar umask . By default, the mode and owner of .Ar file2 are preserved if it already existed; otherwise the mode of the source file modified by the -.Xr umask 2 +.Xr umask 2 on the destination host is used. .It Fl r If any of the source files are directories, @@ -108,7 +108,7 @@ the login directory of the specified user .Ar ruser on -.Ar rhost , +.Ar rhost , or your current user name if no other remote user name is specified. A .Ar path @@ -119,7 +119,7 @@ .Nm utility does not prompt for passwords; it performs remote execution via -.Xr rsh 1 , +.Xr rsh 1 , and requires the same authorization. .Pp The ==== //depot/projects/gdb/bin/sh/bltin/echo.1#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)echo.1 8.2 (Berkeley) 5/4/95 -.\" $FreeBSD: src/bin/sh/bltin/echo.1,v 1.13 2004/07/02 21:04:19 ru Exp $ +.\" $FreeBSD: src/bin/sh/bltin/echo.1,v 1.14 2004/07/03 00:03:26 ru Exp $ .\" .Dd May 4, 1995 .Dt ECHO 1 @@ -100,7 +100,7 @@ Remember that backslash is special to the shell and needs to be escaped. To output a message to standard error, say .Pp -.D1 echo message >&2 +.D1 echo message >&2 .Sh BUGS The octal character escape mechanism .Pq Li \e0 Ns Ar digits ==== //depot/projects/gdb/bin/sh/sh.1#5 (text+ko) ==== @@ -29,9 +29,9 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" $FreeBSD: src/bin/sh/sh.1,v 1.91 2004/07/02 21:04:19 ru Exp $ +.\" $FreeBSD: src/bin/sh/sh.1,v 1.92 2004/07/03 02:03:44 tjr Exp $ .\" -.Dd April 12, 2003 +.Dd July 3, 2004 .Dt SH 1 .Os .Sh NAME @@ -2049,3 +2049,7 @@ .Nm command appeared in .At v1 . +.Sh BUGS +The >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 4 06:17:31 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA84C16A4D0; Sun, 4 Jul 2004 06:17:31 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 85A8716A4CE for ; Sun, 4 Jul 2004 06:17:31 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E93443D53 for ; Sun, 4 Jul 2004 06:17:31 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i646HVpf031330 for ; Sun, 4 Jul 2004 06:17:31 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i646HVwP031327 for perforce@freebsd.org; Sun, 4 Jul 2004 06:17:31 GMT (envelope-from marcel@freebsd.org) Date: Sun, 4 Jul 2004 06:17:31 GMT Message-Id: <200407040617.i646HVwP031327@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56407 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 06:17:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=56407 Change 56407 by marcel@marcel_nfs on 2004/07/04 06:17:20 IFC @56405 Affected files ... .. //depot/projects/gdb/sys/kern/kern_switch.c#5 integrate Differences ... ==== //depot/projects/gdb/sys/kern/kern_switch.c#5 (text+ko) ==== @@ -86,7 +86,7 @@ ***/ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.68 2004/07/02 20:21:43 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.69 2004/07/03 00:57:43 marcel Exp $"); #include "opt_full_preemption.h" @@ -474,8 +474,10 @@ int maybe_preempt(struct thread *td) { +#ifdef PREEMPTION struct thread *ctd; int cpri, pri; +#endif mtx_assert(&sched_lock, MA_OWNED); #ifdef PREEMPTION From owner-p4-projects@FreeBSD.ORG Sun Jul 4 19:03:16 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 71C4316A4D0; Sun, 4 Jul 2004 19:03:16 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 305DF16A4CE for ; Sun, 4 Jul 2004 19:03:16 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1620843D41 for ; Sun, 4 Jul 2004 19:03:16 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i64J3FdD054944 for ; Sun, 4 Jul 2004 19:03:15 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i64J3FIf054941 for perforce@freebsd.org; Sun, 4 Jul 2004 19:03:15 GMT (envelope-from marcel@freebsd.org) Date: Sun, 4 Jul 2004 19:03:15 GMT Message-Id: <200407041903.i64J3FIf054941@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56456 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 19:03:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=56456 Change 56456 by marcel@marcel_nfs on 2004/07/04 19:03:05 Rudimentary debugging support for libthr. Affected files ... .. //depot/projects/gdb/lib/libthread_db/libthr_db.c#2 edit Differences ... ==== //depot/projects/gdb/lib/libthread_db/libthr_db.c#2 (text+ko) ==== @@ -36,6 +36,10 @@ struct td_thragent { TD_THRAGENT_FIELDS; struct ps_prochandle *ta_ph; + psaddr_t ta_thread_list; + int ta_ofs_ctx; + int ta_ofs_next; + int ta_ofs_thr_id; }; static td_err_e @@ -87,19 +91,49 @@ static td_err_e libthr_db_ta_new(struct ps_prochandle *ph, td_thragent_t **ta_p) { - psaddr_t debug; + td_thragent_t *ta; + psaddr_t addr; ps_err_e err; - err = ps_pglobal_lookup(ph, NULL, "_libthr_debug", &debug); + err = ps_pglobal_lookup(ph, NULL, "_libthr_debug", &addr); if (err != PS_OK) return (TD_NOLIBTHREAD); - *ta_p = malloc(sizeof(td_thragent_t)); - if (*ta_p == NULL) + ta = malloc(sizeof(td_thragent_t)); + if (ta == NULL) return (TD_MALLOC); - (*ta_p)->ta_ph = ph; + ta->ta_ph = ph; + + err = ps_pglobal_lookup(ph, NULL, "_thread_list", &ta->ta_thread_list); + if (err != PS_OK) + goto fail; + err = ps_pglobal_lookup(ph, NULL, "_thread_ctx_offset", &addr); + if (err != PS_OK) + goto fail; + err = ps_pread(ph, addr, &ta->ta_ofs_ctx, sizeof(int)); + if (err != PS_OK) + goto fail; + err = ps_pglobal_lookup(ph, NULL, "_thread_next_offset", &addr); + if (err != PS_OK) + goto fail; + err = ps_pread(ph, addr, &ta->ta_ofs_next, sizeof(int)); + if (err != PS_OK) + goto fail; + err = ps_pglobal_lookup(ph, NULL, "_thread_thr_id_offset", &addr); + if (err != PS_OK) + goto fail; + err = ps_pread(ph, addr, &ta->ta_ofs_thr_id, sizeof(int)); + if (err != PS_OK) + goto fail; + + *ta_p = ta; return (TD_OK); + + fail: + free(ta); + *ta_p = NULL; + return (TD_ERR); } static td_err_e @@ -112,7 +146,26 @@ libthr_db_ta_thr_iter(const td_thragent_t *ta, td_thr_iter_f *cb, void *data, td_thr_state_e state, int pri, sigset_t *mask, unsigned int flags) { - return (TD_NOTHR); + td_thrhandle_t th; + psaddr_t addr; + ps_err_e err; + + th.th_ta = ta; + + err = ps_pread(ta->ta_ph, ta->ta_thread_list, &th.th_thread, + sizeof(th.th_thread)); + if (err != PS_OK) + return (TD_ERR); + while (th.th_thread != NULL) { + if (cb(&th, data) != 0) + return (TD_OK); + addr = (psaddr_t)((uintptr_t)th.th_thread + ta->ta_ofs_next); + err = ps_pread(ta->ta_ph, addr, &th.th_thread, + sizeof(th.th_thread)); + if (err != PS_OK) + return (TD_ERR); + } + return (TD_OK); } static td_err_e @@ -136,19 +189,52 @@ static td_err_e libthr_db_thr_get_info(const td_thrhandle_t *th, td_thrinfo_t *ti) { - return (TD_ERR); + const td_thragent_t *ta; + psaddr_t addr; + thread_t tid; + ps_err_e err; + + ta = th->th_ta; + ti->ti_ta = ta; + addr = (psaddr_t)((uintptr_t)th->th_thread + ta->ta_ofs_thr_id); + err = ps_pread(ta->ta_ph, addr, &tid, sizeof(thread_t)); + ti->ti_lid = tid; + ti->ti_tid = tid; + return ((err == PS_OK) ? TD_OK : TD_ERR); } static td_err_e libthr_db_thr_getfpregs(const td_thrhandle_t *th, prfpregset_t *r) { - return (TD_ERR); + const td_thragent_t *ta; + psaddr_t addr; + thread_t tid; + ps_err_e err; + + ta = th->th_ta; + addr = (psaddr_t)((uintptr_t)th->th_thread + ta->ta_ofs_thr_id); + err = ps_pread(ta->ta_ph, addr, &tid, sizeof(thread_t)); + if (err != PS_OK) + return (TD_ERR); + err = ps_lgetfpregs(ta->ta_ph, tid, r); + return ((err == PS_OK) ? TD_OK : TD_ERR); } static td_err_e libthr_db_thr_getgregs(const td_thrhandle_t *th, prgregset_t *r) { - return (TD_ERR); + const td_thragent_t *ta; + psaddr_t addr; + thread_t tid; + ps_err_e err; + + ta = th->th_ta; + addr = (psaddr_t)((uintptr_t)th->th_thread + ta->ta_ofs_thr_id); + err = ps_pread(ta->ta_ph, addr, &tid, sizeof(thread_t)); + if (err != PS_OK) + return (TD_ERR); + err = ps_lgetregs(ta->ta_ph, tid, r); + return ((err == PS_OK) ? TD_OK : TD_ERR); } static td_err_e From owner-p4-projects@FreeBSD.ORG Sun Jul 4 20:00:26 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A0FD16A4D0; Sun, 4 Jul 2004 20:00:26 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 57F5816A4CF for ; Sun, 4 Jul 2004 20:00:26 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E90343D31 for ; Sun, 4 Jul 2004 20:00:26 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i64K0Q8a056494 for ; Sun, 4 Jul 2004 20:00:26 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i64K0PBA056491 for perforce@freebsd.org; Sun, 4 Jul 2004 20:00:25 GMT (envelope-from marcel@freebsd.org) Date: Sun, 4 Jul 2004 20:00:25 GMT Message-Id: <200407042000.i64K0PBA056491@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56459 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 20:00:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=56459 Change 56459 by marcel@marcel_nfs on 2004/07/04 19:59:36 IFC @56458 Affected files ... .. //depot/projects/gdb/etc/rc.subr#8 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/AUTHORS#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/COPYING#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/ChangeLog#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/Makefile#4 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/NEWS#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/THANKS#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/closeout.c#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/closeout.h#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/config.h#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/dfa.c#4 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/dfa.h#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/doc/grep.texi#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/doc/version.texi#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/error.c#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/error.h#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/exclude.c#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/exclude.h#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/getpagesize.h#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/grep.1#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/grep.c#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/grep.h#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/hard-locale.c#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/hard-locale.h#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/isdir.c#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/kwset.c#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/kwset.h#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/mbcache.h#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/quotearg.c#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/quotearg.h#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/savedir.c#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/savedir.h#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/search.c#4 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/system.h#3 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/backref.sh#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/tests/bre.awk#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/bre.sh#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/bre.tests#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/empty.sh#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/ere.awk#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/ere.sh#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/file.sh#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/tests/formatbre.awk#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/tests/formatere.awk#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/tests/khadafy.sh#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/options.sh#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/spencer1.awk#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/spencer1.sh#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/spencer2.sh#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/tests/spencer2.tests#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/tests/status.sh#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/tests/tests#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/tests/warning.sh#2 integrate .. //depot/projects/gdb/gnu/usr.bin/grep/xalloc.h#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/xmalloc.c#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/xstrtol.c#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/xstrtol.h#1 branch .. //depot/projects/gdb/gnu/usr.bin/grep/xstrtoumax.c#1 branch .. //depot/projects/gdb/lib/libalias/alias.c#6 integrate .. //depot/projects/gdb/lib/libalias/alias.h#4 integrate .. //depot/projects/gdb/lib/libarchive/archive_read_extract.c#19 integrate .. //depot/projects/gdb/lib/libc/stdlib/malloc.c#5 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_create.c#8 integrate .. //depot/projects/gdb/libexec/rtld-elf/rtld_lock.c#2 integrate .. //depot/projects/gdb/sbin/natd/icmp.c#2 integrate .. //depot/projects/gdb/sbin/natd/natd.c#4 integrate .. //depot/projects/gdb/sbin/natd/natd.h#2 integrate .. //depot/projects/gdb/share/man/man4/aac.4#3 integrate .. //depot/projects/gdb/share/man/man4/aha.4#3 integrate .. //depot/projects/gdb/share/man/man4/ahb.4#2 integrate .. //depot/projects/gdb/share/man/man4/ahc.4#2 integrate .. //depot/projects/gdb/share/man/man4/ahd.4#2 integrate .. //depot/projects/gdb/share/man/man4/bge.4#5 integrate .. //depot/projects/gdb/share/man/man4/dpt.4#2 integrate .. //depot/projects/gdb/share/man/man4/fxp.4#4 integrate .. //depot/projects/gdb/share/man/man4/twe.4#2 integrate .. //depot/projects/gdb/share/man/man4/txp.4#2 integrate .. //depot/projects/gdb/share/man/man4/xe.4#3 integrate .. //depot/projects/gdb/share/man/man9/ieee80211_node.9#2 integrate .. //depot/projects/gdb/sys/boot/common/ufsread.c#2 integrate .. //depot/projects/gdb/sys/coda/coda_subr.c#2 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi_pcib_acpi.c#7 integrate .. //depot/projects/gdb/sys/dev/hifn/hifn7751.c#5 integrate .. //depot/projects/gdb/sys/dev/nmdm/nmdm.c#10 integrate .. //depot/projects/gdb/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/gdb/sys/dev/sound/pci/via82c686.c#4 integrate .. //depot/projects/gdb/sys/dev/usb/usbdevs#17 integrate .. //depot/projects/gdb/sys/fs/msdosfs/msdosfs_vfsops.c#7 integrate .. //depot/projects/gdb/sys/geom/geom_slice.c#5 integrate .. //depot/projects/gdb/sys/gnu/ext2fs/ext2_vfsops.c#6 integrate .. //depot/projects/gdb/sys/i386/linux/linux_ptrace.c#2 integrate .. //depot/projects/gdb/sys/i386/pci/pci_cfgreg.c#4 integrate .. //depot/projects/gdb/sys/i4b/driver/i4b_ing.c#4 integrate .. //depot/projects/gdb/sys/kern/kern_event.c#5 integrate .. //depot/projects/gdb/sys/kern/vfs_bio.c#10 integrate .. //depot/projects/gdb/sys/kern/vfs_default.c#4 integrate .. //depot/projects/gdb/sys/kern/vfs_mount.c#9 integrate .. //depot/projects/gdb/sys/kern/vfs_subr.c#13 integrate .. //depot/projects/gdb/sys/net/bridge.c#7 integrate .. //depot/projects/gdb/sys/net/if_vlan.c#9 integrate .. //depot/projects/gdb/sys/netgraph/ng_async.c#3 integrate .. //depot/projects/gdb/sys/netgraph/ng_eiface.c#5 integrate .. //depot/projects/gdb/sys/netgraph/ng_fec.c#6 integrate .. //depot/projects/gdb/sys/netgraph/ng_gif_demux.c#3 integrate .. //depot/projects/gdb/sys/netgraph/ng_iface.c#5 integrate .. //depot/projects/gdb/sys/netgraph/ng_sppp.c#4 integrate .. //depot/projects/gdb/sys/nfs4client/nfs4_vfsops.c#4 integrate .. //depot/projects/gdb/sys/nfsclient/nfs_subs.c#8 integrate .. //depot/projects/gdb/sys/nfsclient/nfs_vfsops.c#5 integrate .. //depot/projects/gdb/sys/pci/if_de.c#6 integrate .. //depot/projects/gdb/sys/pci/if_devar.h#2 integrate .. //depot/projects/gdb/sys/sys/event.h#2 integrate .. //depot/projects/gdb/sys/sys/mount.h#8 integrate .. //depot/projects/gdb/sys/sys/vnode.h#8 integrate .. //depot/projects/gdb/sys/ufs/ffs/ffs_snapshot.c#6 integrate .. //depot/projects/gdb/sys/ufs/ffs/ffs_vfsops.c#6 integrate .. //depot/projects/gdb/sys/ufs/ufs/ufs_quota.c#3 integrate .. //depot/projects/gdb/sys/vm/uma_core.c#10 integrate .. //depot/projects/gdb/usr.bin/systat/convtbl.c#3 integrate .. //depot/projects/gdb/usr.bin/tar/bsdtar.c#20 integrate .. //depot/projects/gdb/usr.sbin/newsyslog/newsyslog.c#9 integrate .. //depot/projects/gdb/usr.sbin/syslogd/syslogd.c#5 integrate Differences ... ==== //depot/projects/gdb/etc/rc.subr#8 (text+ko) ==== @@ -1,5 +1,5 @@ # $NetBSD: rc.subr,v 1.60 2003/07/26 05:13:47 lukem Exp $ -# $FreeBSD: src/etc/rc.subr,v 1.29 2004/06/26 09:27:30 mtm Exp $ +# $FreeBSD: src/etc/rc.subr,v 1.30 2004/07/04 07:21:18 cperciva Exp $ # # Copyright (c) 1997-2002 The NetBSD Foundation, Inc. # All rights reserved. @@ -43,6 +43,10 @@ # Operating System dependent/independent variables # +if [ -z "${_rc_subr_loaded}" ]; then + +_rc_subr_loaded="YES" + SYSCTL="/sbin/sysctl" SYSCTL_N="${SYSCTL} -n" CMD_OSTYPE="${SYSCTL_N} kern.ostype" @@ -1286,3 +1290,5 @@ fi /sbin/mdmfs $bpi -s $1 -M md $2 } + +fi ==== //depot/projects/gdb/gnu/usr.bin/grep/AUTHORS#2 (text+ko) ==== @@ -38,4 +38,7 @@ Many folks contributed see THANKS, if I omited someone please send me email. -Alain Magloire is the current maintainer. +Alain Magloire maintained GNU grep until version 2.5e. + +Bernhard "Bero" Rosenkränzer is the current maintainer. + ==== //depot/projects/gdb/gnu/usr.bin/grep/COPYING#2 (text+ko) ==== @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -291,7 +291,7 @@ the "copyright" line and a pointer to where the full notice is found. - Copyright (C) + Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -313,7 +313,7 @@ If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author + Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. ==== //depot/projects/gdb/gnu/usr.bin/grep/ChangeLog#3 (text+ko) ==== @@ -1,3 +1,983 @@ +2002-03-26 Bernhard Rosenkraenzer + * src/grep.c: Don't fail if we don't have an stdout fd and -q + is used (happens e.g. on calls from hotplug scripts) + * src/grep.c: Don't hang forever if fed with an empty string to + grep for and --color enabled + * src/grep.c: Fix infinite loop on + echo "1 one" | grep -E "[0-9]*" -o + echo "1 one" | grep -E "[0-9]*" --color + * po/*: Sync wiith translation project + * src/grep.c, src/Makefile.am, configure.in: Add patch from + Paul Eggert to comply with ridiculous + guidelines (don't act differently if invoked as egrep or fgrep) + * configure.in: Bump version number, require a recent autoconf + +2002-03-14 Bernhard Rosenkraenzer + * src/Makefile.am, po/Makefile.in.in: Support DESTDIR properly + * tests/bre.tests: Add fix from + Peter Breitenlohner + +2002-03-13 Bernhard Rosenkraenzer + * configure.in, m4/regex.m4, m4/malloc.m4, m4/realloc.m4: + Don't set LIBOBJS directly, autoconf 2.53 doesn't like it + * intl/*: Sync with gettext 0.11 + * po/*: Sync with translation project + * configure.in, src/Makefile.am: Don't duplicate code - make + egrep and fgrep links to grep and set matcher based on + application name, suggestion from + Guillaume Cottenceau + * src/grep.c: (prline) Add fix for -i --color from + Jim Meyering + * configure.in: Version 2.5; release + +2002-01-23 Bernhard Rosenkraenzer + * configure.in: Version 2.5g + * Makefile.cvs, grep.spec: Add packaging tools + Merge djgpp changes from Andrew Cottrell : + * src/grep.c: Added conditional compilation for DJGPP + * djgpp: remove directory as it is no longer required with DJGPP 2.03 + (or 2.04 when released) + * README.DOS: Moved djgpp/readme to readme.dos + * PATCHES.AC, PATCHES.AM: delete files - redundant + * configure.in, Makefile.am: remove djgpp directory from list + +2002-01-22 Bernhard Rosenkraenzer + * doc/grep.texi, doc/grep.1, NEWS: Document --label + * po/ru.po: Sync with translation project + * po/grep.pot: Sync with source + +2002-01-18 Bernhard Rosenkraenzer + * src/grep.c: Add --label, based on patch from Stepan Koltsov + +2001-11-20 Bernhard Rosenkraenzer + * autogen.sh: Don't hardcode aclocal dir + +2001-11-19 Bernhard Rosenkraenzer + * src/grep.c: Add --only-matching (-o) switch (see NEWS) + * doc/grep.texi, doc/grep.1, NEWS: Document changes + * configure.in, lib/Makefile.am: Don't use internal getopt if + we're on a system that provides a working getopt function + +2001-09-25 Bernhard Rosenkraenzer + * configure.in: Detect pcre correctly even when it's in + non-standard locations, using pcre-config + * src/grep.c: Add --color={always,never,tty} argument (like in ls) + * src/grep.c: Turn off blinking in the default colorization + * src/grep.c: Add --devices (-D) switch (analogous to --directories) + * src/dfa.c: Fix an i18n bug: echo "A" | grep '[A-Z0-9]' wouldn't work + in non-C-Locales on systems using current versions of glibc. + * AUTHORS: Change maintainer, credit Alain for his work until now + * configure.in, m4/decl.m4, m4/dosfile.m4, m4/gettext.m4, + m4/init.m4, m4/install.m4, m4/largefile.m4, m4/lcmessage.m4, + m4/header.m4, m4/isc-posix.m4, m4/missing.m4, m4/progtest.m4, + m4/sanity.m4: + Fix build with autoconf 2.5x, retain 2.1x compatibility for now + * autogen.sh: Add some crude hacks to make it possible to build with + both autoconf 2.5x and 2.1x + * acconfig.h: removed (no longer required) + * Makefile.am: add cvs-clean target + * doc/grep.texi, doc/grep.1, NEWS: Document changes + (--color, --devices, -D) + * src/dfa.c, src/grep.c: Add vim modelines + +2001-08-30 Alain Magloire + + * configure.in: Add gl in ALL_LINGUAS. + +2001-08-30 Kurt D Schwehr + + * doc/grep.1: Warn that grep insert a "--" between groups of matches, + when using the context options. + * doc/grep.texi: Likewised. + +2001-08-25 Heikki Korpela + + * doc/grep.texi: Point out that some Platforms do not support + reading of directories and silently ignore them. + +2001-08-21 Alain Magloire + + * lib/malloc.c: New file: + * lib/realloc.c: New file: + * lib/Makefile.am: Add malloc.c and realloc.c in EXTRA_DIST. + +2001-07-31 Alain Magloire + + * po/*.po: New files from the translation team: + grep-2.5e.de.po grep-2.5e.el.po grep-2.5e.eo.po grep-2.5e.es.po + grep-2.5e.et.po grep-2.5e.fr.po grep-2.5e.gl.po grep-2.5e.it.po + grep-2.5e.pl.po grep-2.5e.sl.po + +2001-07-31 Andreas Schwab + + * src/grep.c: Fix all uses of error to pass a proper format + string. + +2001-07-29 Alain Magloire + + * grep/src/grep.c (usage): Typos corrected. + Patches from Santiago Vila. + +2001-07-29 Alain Magloire + + David Clissold, wrote: + a small bug in the GNU grep 2.4.2, which may have gone unnoticed + because it only causes a failure if building on a system with large + files enabled (e.g. an "off_t" is a "long long" rather than a "long"). + savedir() takes on off_t argument, but in grepdir() the parameter + is cast to an (unsigned). Well, if an off_t is larger than an int, + the value gets truncated. This would not normally have an effect on a + little-endian platform (unless the file is >2GB), but on a big-endian + system it will always fail. The external effect is that + "grep -r foo dir_name" fails with ENOMEM (from malloc() within + savedir()). + + * grep/src/grep.c (grepdir): Remove the (unsigned) cast when calling + savedir(). + Patch from David Clissold. + +2001-07-29 Alain Magloire + + * grep/doc/grep.texi: In Bugs report use {n,m} for consistency. + * grep/doc/grep.1: Likewised. + Noted by Steven Lucy. + +2001-04-27 Isamu Hasegawa + + * dfa.c (mblen_buf) : New variable contains the amount of remain + byte of corresponding multibyte character in the input string. + (SKIP_REMAIN_MB_IF_INITIAL_STATE) : Use mblen_buf. + (match_anychar) : Use mblen_buf. + (match_mb_charset) : Use mblen_buf. + (transit_state_consume_1char) : Use mblen_buf. + (transit_state) : Use inputwcs to get current (multibyte) character. + (dfaexec) : Add initialization of mblen_buf. + +2001-04-27 Isamu Hasegawa + + * dfa.c (addtok) : Set appropriate value to multibyte_prop. + (dfastate) : Add the initialization of the variable. + (dfaexec) : Call transit_state if d->fail may transit by + multibyte characters. + (transit_state_singlebyte) : Clean up unnecessary code. + (transit_state_consume_1char) : Likewise. + (transit_state) : Add checking for word and newline. + +2001-04-19 Isamu Hasegawa + + * search.c (check_multibyte_string) : Check the case when mbclen == 0. + +2001-04-11 Isamu Hasegawa + + * search.c (check_multibyte_string) : Check the head of multibyte + characters, and optimize a bit. + (EGexecute) : Optimize a bit. + (Fexecute) : Fix the index. + +2001-04-02 Alain Magloire + + * lib/regex.c: Update from GNU lib C, with the changes + provided by Paul Eggert. + * lib/posix/regex.h: Likewise. + +2001-02-17 Paul Eggert + + Stop trying to support hosts that have nonstandard declarations for + mbrtowc and/or mbstate_t. It's not worth the portability hassle. + + * lib/quotearg.c (mbrtowc, mbsinit): Remove workaround macros + for hosts that have mbrtowc but not mbstate_t, as we now + insist on proper declarations for both before using mbrtowc. + +2001-03-18 Alain Magloire + + * configure.in: Call AC_MBSTATE_T. + * Makefile.am: Add mbstate_t.m4 + * m4/Makefile.am: Add mbstate_t.m4 + * m4/mbstate_t.m4: New m4 macro. + * lib/strtol.c: Define CHAR_BITS. + Uwe H. Steinfeld, Ruslan Ermilov, Volkert Bochert, noted + that mbstate_t was not define for certain platforms. + +2001-03-18 Paul Eggert + + * src/grep.c (fillbuf): Fix storage allocation performance + bug: buffer was doubling in size in many cases where it didn't + have to. + +2001-03-17 Paul Eggert + + * src/grep.c (fillbuf): Avoid unnecessary division by 2. + Don't check xrealloc return value; it's guaranteed to be nonzero. + (fillbuf, grepdir): Use xalloc_die rather than error; it's shorter. + +2001-03-17 Alain Magloire + + * src/grep.c (context_length_arg): error () passing wrong format. + Spotted by Jim Meyering. + +2001-03-07 Alain Magloire + + * README-alpha: Removed reference to GNU tar, add the location + of the CVSROOT. + +2001-03-06 Alain Magloire + + Only the Regex patterns should be split in an array, patterns[]. + The dfa and KWset compiled patterns should remain global and the + patterns compiled all at once. + + * src/search.c: include "error.h" and "xalloc.h" to get prototyping + of x*alloc() and error(). + (kwsinit): Reverse to previous behaviour and takes no argument. + (kwsmusts): Likewised. + (Gcompile): For the regex pattern, split them and each pattern + is put in different compiled structure patterns[]. The patterns + are given to dfacomp() and kwsmusts() as is. + (Ecompile): Likewised. + (Fcompile): Reverse to the old behaviour of compiling the enire + patterns in one shot. + (EGexecute): If falling to GNU regex for the matching, loop in the + array of compile patterns[] to find a match. + (error): Many error () were call with arguments in the wrong order. + * tests/file.sh: Simple test to check for pattern in files. + + Reaction to bug report fired by Greg Louis + +2001-03-06 Isamu Hasegawa + + In multibyte environments, handle multibyte characters as single + characters in bracket expressions. + + * src/dfa.h (mb_char_classes) : new structure. + (mbcsets): new variable. + (nmbcsets): new variable. + (mbcsets_alloc) : new variable. + * src/dfa.c (prtok) : handle MBCSET. + (fetch_wc): new function to fetch a wide character. + (parse_bracket_exp_mb) : new function to handle multibyte character + in lex(). + (lex): invoke parse_bracket_exp_mb() for multibyte bracket expression. + (atom): handle MBCSET. + (epsclosure): likewise. + (dfaanalyze): likewise. + (dfastate): likewise. + (match_mb_charset): new function to judge whether a bracket match + with a multibyte character. + (check_matching_with_multibyte_ops) : handle MBCSET. + (dfainit): initialize new variables. + (dfafree): free new variables. + +2001-03-04 Alain Magloire + + To get more in sync with other GNU utilities like GNU tar and fetish + all the supporting functions are now under lib. + Thanks to Jim Meyering, Volkert Bochert and Paul Eggert for + the code and the reminders. + + * src/grep.c (fatal): Function removed, using error () from + lib/error.c instead. + (usage): Copyright updated. + (error): Function removed, using error () from lib/error.c instead, + adjust prototypes. + (prog): Global variable rename to program_name, to work with new + lib/error.c. + (xrealloc): Removed using lib/xmalloc.c. + (xmalloc): Removed using lib/xmalloc.c + (main): Register with atexit() to check for error on stdout. + * configure.in: Check for atexit(), call jm_MALLOC, jm_RELLOC and + jm_PREREQ_ERROR. + * tests/bre.awk: Removed the hack to drain the buffer since we + always fclose(stdout) atexit. + * tests/ere.awk: Likewise. + * tests/spencer1.awk: Likewise. + * bootstrap/Makefile.try: Update the Makefile to reflect the changes + in the new hierarchy. + + * README-alpha: New File. + * m4/realloc.m4: New File. + * m4/malloc.m4: New File. + * m4/error.m4: New File. + * m4/Makefile.am: Updated. + * lib: New directory. + * lib/Makefile.am: New file. + * lib/closeout.c: New file. + * lib/closeout.h: New file. + * lib/fnmatch.c: New file. + * lib/fnmatch.h: New file. + * lib/atexit.c: New file. + * lib/error.c: New file. + * lib/error.h: New file. + * lib/quotearg.h: New file. + * lib/quotearg.c: New file. + * lib/xmalloc.c: New file. + * lib/posix: New directory. + * lib/posix/Makefile.am: New file. + * src/getopt.c: Moved to lib. + * src/getopt1.c: Moved to lib. + * src/getopt.h: Moved to lib. + * src/alloca.c: Moved to lib. + * src/exclude.c: Moved to lib. + * src/exclude.h: Moved to lib. + * src/hard-locale.h: Moved to lib. + * src/hard-locale.c: Moved to lib. + * src/isdir.c: Moved to lib. + * src/mechr.c: Moved to lib. + * src/obstack.c: Moved to lib. + * src/obstack.h: Moved to lib. + * src/regex.c: Moved to lib. + * src/regex.h: Moved to lib. + * src/posix: Moved to lib. + * src/posix/regex.h: Moved to lib. + * src/savedir.h: Moved to lib. + * src/savedir.c: Moved to lib. + * src/stpcpy.c: Moved to lib. + * src/strtoul.c: Moved to lib. + * src/strtol.c: Moved to lib. + * src/strtoull.c: Moved to lib. + * src/strtoumax.c: Moved to lib. + * src/xstrtol.c: Moved to lib. + * src/xstrtol.h: Moved to lib. + * src/xstrtoumax.c: Moved to lib. + +2001-03-01 Isamu Hasegawa + + Implement the mechanism to match with multibyte characters, + and use it for `period' in multibyte environments. + + * dfa.h (mbps): new variable. + * dfa.c (prtok): handle ANYCHAR. + (lex): use ANYCHAR for `period' in multibyte environments. + (atom): handle ANYCHAR. + (state_index): initialize mbps in multibyte environments. + (epsclosure): handle ANYCHAR. + (dfaanalyze): handle ANYCHAR. + (dfastate): handle ANYCHAR. + (realloc_trans_if_necessary): new function. + (transit_state_singlebyte): new function. + (match_anychar): new function. + (check_matching_with_multibyte_ops): new function. + (transit_state_consume_1char): new function. + (transit_state): new function. + (dfaexec): invoke transit_state if expression can match with + a multibyte character in multibyte environments. + (dfamust): handle ANYCHAR. + +2001-03-01 Alain Magloire + + * src/exclude.c: New file. + * src/exclude.h: New file. + * src/grep.c (main): Took the GNU tar code to handle + the option --include, --exclude, --exclude-from. + Files are check for a match, with exlude_filename (). + New option --exclude-from. + * src/savedir.c: Call exclude_filename() to check for + file pattern exclusion or inclusion. + * configure.in: --disable-pcre rename to --disable-perl-regexp. + + +2001-02-25 Alain Magloire + + * src/dfa.c: Typo corrected. + Noted by Isamu Hasegawa. + * src/savedir.c: Typos corrected. + +2001-02-22 Alain Magloire + + * src/savedir.c (isdir1): New function, calling isdir with + the correct pathname. + +2001-02-19 Isamu Hasegawa + + Avoid incorrect state transition in multibyte environments. + + * dfa.h (nmultibyte_prop): new variable. + (multibyte_prop): new variable. + * dfa.c (addtok): set inputwcs. + (dfastate): avoid incorrect state transition in multibyte + environments. + (dfaexec): likewise. + (dfainit): init multibyte_prop. + (dfafree): free multibyte_prop. + (inputwcs): new variable. + +2001-02-19 Isamu Hasegawa + + Handle a multibyte character followed by '*', '+', and '{n,m}' + correctly. + + * dfa.c (update_mb_len_index): new function. + Support for multibyte string. + (FETCH): call update_mb_len_index. + (lex): check cur_mb_index not to misunderstand multibyte characters. + (atom): make a tree from a multibyte character. + (dfaparse): initialize new variables. + (mbs): new variable. + (cur_mb_len): new variable. + (cur_mb_index): new variable. + +2001-02-18 Jim Meyering + + * m4/dosfile.m4 (AC_DOSFILE): Move AC_DEFINEs out of AC_CACHE_CHECK. + +2001-02-17 Alain Malgoire + + * doc/grep.texi: Document the new options and the new behaviour + back-references are local. Use excerpt from Karl Berry regex + texinfo. + + * bootstrap/Makefile.try: Added xstrtoumax.o xstrtoul.o hard-local.o + +2001-02-17 Alain Magloire + + From Guglielmo 'bond' Bondioni : + The bug was that using a multi line file that contained REs (one per + line), backreferences in the REs were considered global (to the file) + and not local (to the line). + That is, \1 in line n refers to the first \(.\) in the whole file, + rather than in the line itself. + + From Tapani Tarvainen : + # Re: grep -e '\(a\)\1' -e '\(b\)\1' + That's not the way it should work: multiple -e arguments + should be treated as independent patterns and back references + should not refer to previous ones. + + From Paul Eggert : + GNU grep currently does not issue + diagnostics for the following two cases, both of which are erroneous: + grep -e '[' -e ']' + grep '[ + ]' + POSIX requires a diagnostic in both cases because '[' is not a valid + regular expression. + + To overcome those problems, grep no longer pass the concatenate + patterns to GNU regex but rather compile each patterns separately + and keep the result in an array. + + * src/search.c (patterns): New global variable; a structure array + holding the compiled patterns. + Declare function prototypes to minimize error. + (dfa, kswset, regexbuf, regs): Removed, no longer static globals, but + rather fields in patterns[] structure per motif. + (Fcompile): Alloc an entry in patterns[] to hold the regex. + (Ecompile): Alloc an entry per motif in the patterns[] array. + (Gcompile): Likewise. + (EGexecute): Loop through of array of patterns[] for a match. + +2001-02-17 Alain Magloire + + From Bernd Strieder : + # tail -f logfile | grep important | do_something_urgent + # tail -f logfile | grep important | do_something_taking_very_long + If grep does full buffering in these cases then the urgent operation + does not happen as it should in the first case, and in the second case + time is lost due to waiting for the buffer to be filled. + This is clearly spoken not grep's fault in the first place, but libc's. + There is a heuristic in libc that make a stream line-buffered only if a + terminal is on the other end. This doesn't take care of the cases where + this connection is somehow indirect. + + * src/grep.c (line_buffered): new option variable. + (prline): if line_buffered is set fflush() is call. + (usage): line_buffered new option. + Input from Paul Eggert, doing setvbuf() may not be portable + and breaks grep -z. + +2001-02-16 Alain Magloire + + Patch from Isamu Hasegawa, for multibyte support. + This patch prevent kwset_matcher from following problems. + For example, in SJIS encoding, one character has the codepoint 0x895c. + So the second byte of the character can match with '\' incorrectly. + And in eucJP encoding, there are the characters whose codepoints are + 0xa5b9, 0xa5c8. On the other hand, there is one character whose + codepoint is 0xb9a5. So 0xb9a5 can match with 2nd byte of 0xa5b9 + and 1st byte of 0xa5c8. + + * configure.in: Add check for mbrtowc. + * src/search.c (check_multibyte_string): new function. + Support for multibyte string. + (EGexecute): call check_multibyte_string when kwset is set. + (Fexecute): call to check_multibyte_string. + (MBS_SUPPORT): new macro. + (MB_CUR_MAX): new macro. + +2001-02-16 Alain Magloire + + * djgpp/config.bat: Fix for 4dos.com. + * m4/dosfile.m4 (HAVE_DOS_FILE_CONTENTS): Was not set. + Bugs noted and patched by Juan Manuel Guerrero. + +2001-02-16 Alain Magloire + + A much requested feature, the possibility to select + files when doing recurse : + # find . -name "*.c" | xargs grep main {} + # grep --include=*.c main . + # find . -not -name "*.c" | xargs grep main {} + # grep --exclude=*.c main . + + * src/grep.c (short_options): -R equivalent to -r. + (#ifdef) : Fix some inconsistencies in the use of #ifdefs, prefer + #if defined() wen possible. + (long_options): Add --color, --include and exclude. + (Usage): Description of new options. + (color): Rename color variable to color_option. + Removed 'always|never|auto' arguments, not necessary for grep. + (exclude_pattern): new variable, holder for the file pattern. + (include_pattern): new variable, hoder for the file pattern. + * src/savedir.c: Signature change, take two new argmuments. + * doc/grep.texi: Document, new options. + * doc/grep.man: Document, new options. + +2001-02-09 Alain Magloire + + * src/grep.c (long_options): Added equivalent to -r with -R. + * src/grep.c (usage): added --color and --colour. + Noted with patch from, H.Merijn Brand and Wichert Akkerman. + +2001-02-09 Alain Magloire + + Patch from Ulrich Drepper to provide hilighting. + + * src/grep.c: New option --color. + (color): New static var. + (COLOR_OPTION): new constant. + (grep_color): new static var. + (prline): Now when color is set prline() will call the current matcher + to find the offset of the matching string. + * src/savedir.c: Take advantage of _DIRENT_HAVE_TYPE if supported. + * src/search.c (EGexecute, Fexecute, Pexecute): Take a new argument + when doing exact match for the color hiligting. + +2000-09-01 Brian Youmans + + * doc/grep.texi: Typo fixes. + +2000-08-30 Paul Eggert + + * doc/grep.texi (Usage): Talk about what "grep -r hello *.c" + means. + +2000-08-20 Paul Eggert + + Handle range expressions correctly even when they match + strings with two or more characters. + + * src/dfa.h (CRANGE): New enum value. Comment fix. + + * src/dfa.c: Include if HAVE_SETLOCALE. + Include "hard-locale.h". + (prtok): Print CRANGE. + (hard_LC_COLLATE): New static var. + (lex): Return CRANGE when parsing a character range in a hard locale. + Don't use strcoll; it's no longer needed and wasn't correct anyway. + Use unsigned rather than token to hold unsigned chars. + (addtok): Comment fix. + (atom): Treat a CRANGE as if it were (.\1), approximately. + (dfaparse): Initialize hard_LC_COLLATE. + + * src/Makefile.am (base_sources): Add hard-locale.c, hard-locale.h. + + * src/hard-locale.c, src/hard-locale.h: New files, taken from + textutils. + +2000-08-20 Paul Eggert + + * tests/Makefile.am (TESTS_ENVIRONMENT): Add LC_ALL=C, since + some of the tests assume the C locale. + +2000-08-16 Paul Eggert + + * src/search.c (Gcompile, Ecompile): -x overrides -w, for + consistency with fgrep. Don't assume that sizes fit in 'int'. + Fix comments to match code. + +2000-06-06 Paul Eggert + + * src/grep.c (grepdir): Don't look at st_dev when testing for + Mingw32 bug. + +2000-06-05 Paul Eggert + + Port to Mingw32, based on suggestions from Christian Groessler + . + + * src/isdir.c: New file, taken from fileutils. + + * src/Makefile.am (base_sources): Add isdir.c. + + * src/grep.c (grepfile): Use isdir instead of doing it inline. + (grepdir): Suppress ancestor check if the directory's inode and device + are both zero, as that occurs only on Mingw32 which doesn't support + inode or device. + + * src/system.h (isdir): New decl. + (is_EISDIR): Depend on HAVE_DIR_EACCES_BUG, not D_OK. + Use isdir, not access. + +2000-06-02 Paul Eggert + + Problen noted by Gerald Stoller + + * src/grep.c (main): POSIX.2 says that -q overrides -l, which + in turn overrides the other output options. Fix grep to + behave that way. + +2000-05-27 Paul Eggert + + Simplify and tune the buffer allocation strategy. Do not reserve a + large save area: reserve only enough bytes to hold the residue, plus + page alignment. Put a newline sentinel before the buffer, for speed + when searching backwards for newline. + + * src/grep.c (ubuffer, bufsalloc, PREFERRED_SAVE_FACTOR, page_alloc): + Remove. All uses changed. + (INITIAL_BUFSIZE): New macro. + (reset, fillbuf): Use simpler buffer allocation strategy. + (reset): Check for preposterously large pagesize that would cause + later calculations to overflow. + (fillbuf): Do not resize buffer if there's room at the end for + at least one more page. This greatly increases performance when + reading from non-regular files that contain no newlines. + When growing the buffer, double its size instead of using a + more complicated algorithm. + (prtext, grep): Speed up by relying on the newline sentinel before the + start of the buffer. + (grep): When looking backwards for the last newline in a buffer, + stop when we hit the residue, since it can't contain a newline. + This avoids an O(N**2) algorithm when reading binary data from + a pipe. Use a sentinel to speed up the backward search for newline. + (nlscan): Undo previous change; it wasn't needed and just complicates + and slows down the code a tad. + +2000-05-24 Paul Eggert + + Handle very large input counts better. Bug noted by Jim Meyering. + + * src/grep.c (totalcc, totalnl): Use uintmax_t, not off_t. + (add_count): New function. + (nlscan, prline, grep): Use it to check line and byte count overflows. + (nlscan, grep): Don't keep track of counts when not asked to; this + avoids unnecessary overflow diagnostics. + (print_offset_sep): Now takes args of type uintmax_t and char, + not off_t and int. + +2000-05-16 Paul Eggert + + Problem reported by Bob Proulx , this patch + is base on his finding, with appropiate corrections. + + * src/grep.c (main): Fix bug: -x and -w matched even when no + patterns were specified. + * tests/empty.sh: Test for -x and -w bug in grep 2.4.2. + +2000-04-24 Paul Eggert + + POSIX.2 conformance fixes: grep -q now exits with status zero + if an input line is selected, even if an error also occurs. + grep -s no longer affects exit status. + + * src/grep.c (suppress_errors): Move definition earlier so + that suppressible_error can use it. + (suppressible_error): New function. + (exit_on_match): New var. + (grepbuf): If exit_on_match is nonzero, exit with status zero + immediately. + (grep, grepfile, grepdir): Invoke suppressible_error. + (main): -q sets exit_on_match. + + * doc/grep.1, doc/grep.texi, NEWS: + Document -q's behavior as required by POSIX.2. + + * tests/status.sh: + Test for -q and -s behavior as conforming to POSIX.2. + +2000-04-20 Paul Eggert + + * tests/Makefile.am (TESTS_ENVIRONMENT): + Set GREP_OPTIONS to the empty string. + +2000-04-20 Paul Eggert + + * tests/status.sh: Fix typo: test -b -> test -r. + +2000-04-20 Paul Eggert + + * src/dfa.c (lex): + Do not assume that [c] is equivalent to [c-c]; this isn't true + if LC_COLLATE specifies that some characters are equivalent. + (setbit_case_fold): New function. + (lex): Use it to simplify the code a bit. + +2000-04-17 Paul Eggert + + Do CRLF munging only if HAVE_DOS_FILE_CONTENTS, instead of + having it depend on O_BINARY (which leads to incorrect results + on BeOS, VMS, and MacOS). + + * bootstrap/Makefile.try (DEFS): Add -DHAVE_DOS_FILE_CONTENTS. + * src/system.h (SET_BINARY): Define only if HAVE_DOS_FILE_CONTENTS. + (O_BINARY): Do not define. + + * m4/dosfile.m4: Define HAVE_DOS_FILE_CONTENTS if it appears we're + using DOS. + + * src/grep.c (undossify_input, fillbuf, dosbuf.c, prline, main): + Depend on HAVE_DOS_FILE_CONTENTS, not O_BINARY, when handling CRLF + matters. + (grepfile, main): Depend on SET_BINARY, not O_BINARY, when + handling binary files on hosts that care about text versus binary. + +2000-04-17 Paul Eggert + + * lib/getpagesize.h (getpagesize): Define to B_PAGE_SIZE if + __BEOS__ is defined. Based on a fix by Bruno Haible + . + +2000-04-17 Bruno Haible + + * src/system.h [BeOS]: Ignore O_BINARY. + * src/getpagesize.h [BeOS]: Define getpagesize() as B_PAGE_SIZE. + +2000-04-10 Paul Eggert + + * doc/grep.1, doc/grep.texi, NEWS: -C now requires an operand. + * src/grep.c (short_options, long_options, main, usage): Likewise. + (context_length_arg): Renamed from ck_atoi. Now reports an error + and exits if the number is out of range for a context length. + (get_nondigit_option): New function, which checks for overflow + correctly, and which does not parse nonadjacent strings of digits + into a single number. + (main): Use get_nondigit_option instead of doing the code inline. + With -A, -B, and -C, optarg is now guaranteed to be nonzero. + +2000-04-08 Paul Eggert + + Now that we know that the input is always terminated by a + newline before the matching algorithms see it, clean up the + matching algorithms so that they no longer need to modify the + input by inserting a sentinel newline, and no longer worry + about running off the end of the buffer due to a missing sentinel. + + * src/grep.c (nlscan, prpending, prtext, grepbuf): Do not + worry about running off the end of the input buffer, since + it's now guaranteed to end in the sentinel newline. + * src/search.c (EGexecute, Pexecute): Likewise. + + * src/dfa.c (prtok, dfasyntax, dfaparse, copy, merge, state_index, + epsclosure, dfaexec, dfacomp): + Change many instances of "T *" to "T const *", to catch + any inadvertent programming errors made during this conversion. + * src/dfa.h (dfacomp, dfaexec, dfaparse): Likewise. + * src/grep.c (struct stats.parent, long_options, grepdir, + compile, execute, fillbuf, lastnl, lastout, nlscan, prline, + prpending, prtext, grepbuf, grep, grepfile, grepdir): Likewise. + * src/grep.h (struct matcher.compile, struct matcher.execute): + Likewise. + * src/kwset.c (struct kwset.trans, kwsalloc, kwsincr, treefails, + treedelta, hasevery, treenext, bmexec, cwexec, kwsexec): Likewise. + * src/kwset.h (kwsalloc, kwsincr, kwsexec): Likewise. + * src/search.c (kwsmusts, Gcompile, Ecompile, EGexecute, Pcompile, + Pexecute): Likewise. + + * src/dfa.c (dfaexec): + Use size_t, not char *, to avoid worrisome casts to convert + char const * to char *. + * src/dfa.h (dfaexec): Likewise. + * src/grep.c (execute): Likewise. + * src/grep.h (execute): Likewise. + * src/kwset.c (bmexec, cwexec, kwsexec): Likewise. + * src/kwset.h (struct kwsmatch.offset, kwsalloc, kwsincr, + kwsexec): Likewise. + * src/search.c (EGexecute, Fexecute, Pexecute): Likewise. + + * src/dfa.h (_PTR_T): Depend on defined __STDC__, not __STDC__. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 4 21:19:03 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2B2216A4D0; Sun, 4 Jul 2004 21:19:02 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C6FCA16A4CE for ; Sun, 4 Jul 2004 21:19:02 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A8FEE43D1D for ; Sun, 4 Jul 2004 21:19:02 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i64LJ2bc059323 for ; Sun, 4 Jul 2004 21:19:02 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i64LJ22c059320 for perforce@freebsd.org; Sun, 4 Jul 2004 21:19:02 GMT (envelope-from marcel@freebsd.org) Date: Sun, 4 Jul 2004 21:19:02 GMT Message-Id: <200407042119.i64LJ22c059320@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56463 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 21:19:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=56463 Change 56463 by marcel@marcel_nfs on 2004/07/04 21:18:24 o Remove some left-over cruft from ia64. o Add minimal support for sparc64. Affected files ... .. //depot/projects/gdb/sys/ia64/ia64/gdb_machdep.c#9 edit .. //depot/projects/gdb/sys/sparc64/sparc64/gdb_machdep.c#5 edit Differences ... ==== //depot/projects/gdb/sys/ia64/ia64/gdb_machdep.c#9 (text+ko) ==== @@ -102,10 +102,6 @@ case 370: return (&kdb_thrctx->pcb_special.unat); case 374: return (&kdb_thrctx->pcb_special.fpsr); case 399: return (&kdb_thrctx->pcb_preserved.lc); - /* Synthesized registers. */ - return (&synth); - synth = kdb_thrctx->pcb_special.bspstore; - return (&synth); } return (NULL); } ==== //depot/projects/gdb/sys/sparc64/sparc64/gdb_machdep.c#5 (text+ko) ==== @@ -33,8 +33,9 @@ #include #include -#include +#include #include +#include #include #include @@ -42,36 +43,21 @@ void * gdb_cpu_getreg(int regnum, size_t *regsz) { - struct trapframe *tf = kdb_frame; + static uint64_t synth; *regsz = gdb_cpu_regsz(regnum); switch (regnum) { - case 0: return (&tf->tf_global[0]); - case 1: return (&tf->tf_global[1]); - case 2: return (&tf->tf_global[2]); - case 3: return (&tf->tf_global[3]); - case 4: return (&tf->tf_global[4]); - case 5: return (&tf->tf_global[5]); - case 6: return (&tf->tf_global[6]); - case 7: return (&tf->tf_global[7]); + /* 0-7: g0-g7 */ /* 8-15: o0-o7 */ + case 14: + synth = kdb_thrctx->pcb_sp - CCFSZ; + return (&synth); /* 16-23: l0-l7 */ - case 24: return (&tf->tf_out[0]); - case 25: return (&tf->tf_out[1]); - case 26: return (&tf->tf_out[2]); - case 27: return (&tf->tf_out[3]); - case 28: return (&tf->tf_out[4]); - case 29: return (&tf->tf_out[5]); - case 30: return (&tf->tf_out[6]); - case 31: return (&tf->tf_out[7]); + /* 24-31: i0-i7 */ + case 30: return (&kdb_thrctx->pcb_sp); + case 31: return (&kdb_thrctx->pcb_pc); /* 32-63: f0-f31 */ /* 64-79: f32-f62 (16 double FP) */ - case 80: return (&tf->tf_tpc); - case 81: return (&tf->tf_tnpc); - case 82: return (&tf->tf_tstate); - case 83: return (&tf->tf_fsr); - case 84: return (&tf->tf_fprs); - case 85: return (&tf->tf_y); } return (NULL); } From owner-p4-projects@FreeBSD.ORG Sun Jul 4 23:51:08 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B83D916A4CE; Sun, 4 Jul 2004 23:51:08 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 73D0C16A4CE for ; Sun, 4 Jul 2004 23:51:08 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59D4D43D31 for ; Sun, 4 Jul 2004 23:51:08 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i64Np8pB064290 for ; Sun, 4 Jul 2004 23:51:08 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i64Np7bH064287 for perforce@freebsd.org; Sun, 4 Jul 2004 23:51:07 GMT (envelope-from marcel@freebsd.org) Date: Sun, 4 Jul 2004 23:51:07 GMT Message-Id: <200407042351.i64Np7bH064287@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56470 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 23:51:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=56470 Change 56470 by marcel@marcel_nfs on 2004/07/04 23:50:52 Finish the switch from the trapframe to the pcb as the primary context for kernel threads on alpha. Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#5 edit .. //depot/projects/gdb/sys/alpha/alpha/interrupt.c#9 edit .. //depot/projects/gdb/sys/alpha/alpha/trap.c#8 edit Differences ... ==== //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#5 (text+ko) ==== @@ -33,8 +33,8 @@ #include #include -#include #include +#include #include #include @@ -42,42 +42,18 @@ void * gdb_cpu_getreg(int regnum, size_t *regsz) { - struct trapframe *tf = kdb_frame; *regsz = gdb_cpu_regsz(regnum); switch (regnum) { - case 0: return (&tf->tf_regs[FRAME_V0]); - case 1: return (&tf->tf_regs[FRAME_T0]); - case 2: return (&tf->tf_regs[FRAME_T1]); - case 3: return (&tf->tf_regs[FRAME_T2]); - case 4: return (&tf->tf_regs[FRAME_T3]); - case 5: return (&tf->tf_regs[FRAME_T4]); - case 6: return (&tf->tf_regs[FRAME_T5]); - case 7: return (&tf->tf_regs[FRAME_T6]); - case 8: return (&tf->tf_regs[FRAME_T7]); - case 9: return (&tf->tf_regs[FRAME_S0]); - case 10: return (&tf->tf_regs[FRAME_S1]); - case 11: return (&tf->tf_regs[FRAME_S2]); - case 12: return (&tf->tf_regs[FRAME_S3]); - case 13: return (&tf->tf_regs[FRAME_S4]); - case 14: return (&tf->tf_regs[FRAME_S5]); - case 15: return (&tf->tf_regs[FRAME_S6]); - case 16: return (&tf->tf_regs[FRAME_A0]); - case 17: return (&tf->tf_regs[FRAME_A1]); - case 18: return (&tf->tf_regs[FRAME_A2]); - case 19: return (&tf->tf_regs[FRAME_A3]); - case 20: return (&tf->tf_regs[FRAME_A4]); - case 21: return (&tf->tf_regs[FRAME_A5]); - case 22: return (&tf->tf_regs[FRAME_T8]); - case 23: return (&tf->tf_regs[FRAME_T9]); - case 24: return (&tf->tf_regs[FRAME_T10]); - case 25: return (&tf->tf_regs[FRAME_T11]); - case 26: return (&tf->tf_regs[FRAME_RA]); - case 27: return (&tf->tf_regs[FRAME_T12]); - case 28: return (&tf->tf_regs[FRAME_AT]); - case 29: return (&tf->tf_regs[FRAME_GP]); - case 30: return (&tf->tf_regs[FRAME_SP]); - case 64: return (&tf->tf_regs[FRAME_PC]); + case 9: return (&kdb_thrctx->pcb_context[0]); + case 10: return (&kdb_thrctx->pcb_context[1]); + case 11: return (&kdb_thrctx->pcb_context[2]); + case 12: return (&kdb_thrctx->pcb_context[3]); + case 13: return (&kdb_thrctx->pcb_context[4]); + case 14: return (&kdb_thrctx->pcb_context[5]); + case 15: return (&kdb_thrctx->pcb_context[6]); + case 26: return (&kdb_thrctx->pcb_context[7]); + case 30: return (&kdb_thrctx->pcb_hw.apcb_ksp); } return (NULL); } ==== //depot/projects/gdb/sys/alpha/alpha/interrupt.c#9 (text+ko) ==== @@ -103,7 +103,6 @@ intr_restore(s); #endif atomic_add_int(&td->td_intr_nesting_level, 1); - td->td_last_frame = framep; #if KSTACK_GUARD_PAGES == 0 #ifndef SMP ==== //depot/projects/gdb/sys/alpha/alpha/trap.c#8 (text+ko) ==== @@ -290,8 +290,6 @@ } #endif - td->td_last_frame = framep; - /* GIANT_REQUIRED; * Giant hasn't been acquired yet. @@ -662,7 +660,6 @@ cnt.v_syscall++; td->td_frame = framep; - td->td_last_frame = framep; opc = framep->tf_regs[FRAME_PC] - 4; sticks = td->td_sticks; if (td->td_ucred != p->p_ucred) From owner-p4-projects@FreeBSD.ORG Mon Jul 5 00:16:40 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA55316A4D0; Mon, 5 Jul 2004 00:16:39 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C610716A4CE for ; Mon, 5 Jul 2004 00:16:39 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BF86743D2D for ; Mon, 5 Jul 2004 00:16:39 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i650GdVU065044 for ; Mon, 5 Jul 2004 00:16:39 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i650GdCj065040 for perforce@freebsd.org; Mon, 5 Jul 2004 00:16:39 GMT (envelope-from marcel@freebsd.org) Date: Mon, 5 Jul 2004 00:16:39 GMT Message-Id: <200407050016.i650GdCj065040@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56472 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 00:16:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=56472 Change 56472 by marcel@marcel_sledge on 2004/07/05 00:15:56 Update to the new world order. Affected files ... .. //depot/projects/gdb/sys/amd64/include/db_machdep.h#2 edit Differences ... ==== //depot/projects/gdb/sys/amd64/include/db_machdep.h#2 (text+ko) ==== @@ -30,30 +30,23 @@ #define _MACHINE_DB_MACHDEP_H_ #include -#include #include -#define amd64_saved_state trapframe - typedef vm_offset_t db_addr_t; /* address - unsigned */ typedef long db_expr_t; /* expression - signed */ -typedef struct amd64_saved_state db_regs_t; -extern db_regs_t ddb_regs; /* register state */ -#define DDB_REGS (&ddb_regs) - -#define PC_REGS(regs) ((db_addr_t)(regs)->tf_rip) +#define PC_REGS() ((db_addr_t)kdb_thrctx->pcb_rip) #define BKPT_INST 0xcc /* breakpoint instruction */ #define BKPT_SIZE (1) /* size of breakpoint inst */ #define BKPT_SET(inst) (BKPT_INST) -#define BKPT_SKIP ddb_regs.tf_rip += 1 +#define BKPT_SKIP kdb_frame->tf_rip += 1 -#define FIXUP_PC_AFTER_BREAK ddb_regs.tf_rip -= 1; +#define FIXUP_PC_AFTER_BREAK kdb_frame->tf_rip -= 1; -#define db_clear_single_step(regs) ((regs)->tf_rflags &= ~PSL_T) -#define db_set_single_step(regs) ((regs)->tf_rflags |= PSL_T) +#define db_clear_single_step kdb_cpu_clear_singlestep +#define db_set_single_step kdb_cpu_set_singlestep #define IS_BREAKPOINT_TRAP(type, code) ((type) == T_BPTFLT) /* From owner-p4-projects@FreeBSD.ORG Mon Jul 5 00:59:35 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF96116A4D0; Mon, 5 Jul 2004 00:59:34 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A643016A4CE for ; Mon, 5 Jul 2004 00:59:34 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8A61F43D2F for ; Mon, 5 Jul 2004 00:59:34 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i650xY9B066090 for ; Mon, 5 Jul 2004 00:59:34 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i650xYbS066087 for perforce@freebsd.org; Mon, 5 Jul 2004 00:59:34 GMT (envelope-from marcel@freebsd.org) Date: Mon, 5 Jul 2004 00:59:34 GMT Message-Id: <200407050059.i650xYbS066087@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56477 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 00:59:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=56477 Change 56477 by marcel@marcel_sledge on 2004/07/05 00:59:13 Update to PCB-based context. Affected files ... .. //depot/projects/gdb/sys/amd64/amd64/db_trace.c#4 edit Differences ... ==== //depot/projects/gdb/sys/amd64/amd64/db_trace.c#4 (text+ko) ==== @@ -55,54 +55,49 @@ static db_varfcn_t db_dr5; static db_varfcn_t db_dr6; static db_varfcn_t db_dr7; +static db_varfcn_t db_frame; +static db_varfcn_t db_rsp; static db_varfcn_t db_ss; -static db_varfcn_t db_rsp; - -static __inline long -get_rsp(struct trapframe *tf) -{ - return ((ISPL(tf->tf_cs)) ? tf->tf_rsp : - (db_expr_t)tf + offsetof(struct trapframe, tf_rsp)); -} /* * Machine register set. */ +#define DB_OFFSET(x) (db_expr_t *)offsetof(struct trapframe, x) struct db_variable db_regs[] = { - { "cs", &ddb_regs.tf_cs, FCN_NULL }, + { "cs", DB_OFFSET(tf_cs), db_frame }, #if 0 - { "ds", &ddb_regs.tf_ds, FCN_NULL }, - { "es", &ddb_regs.tf_es, FCN_NULL }, - { "fs", &ddb_regs.tf_fs, FCN_NULL }, - { "gs", &ddb_regs.tf_gs, FCN_NULL }, + { "ds", DB_OFFSET(tf_ds), db_frame }, + { "es", DB_OFFSET(tf_es), db_frame }, + { "fs", DB_OFFSET(tf_fs), db_frame }, + { "gs", DB_OFFSET(tf_gs), db_frame }, #endif - { "ss", NULL, db_ss }, - { "rax", &ddb_regs.tf_rax, FCN_NULL }, - { "rcx", &ddb_regs.tf_rcx, FCN_NULL }, - { "rdx", &ddb_regs.tf_rdx, FCN_NULL }, - { "rbx", &ddb_regs.tf_rbx, FCN_NULL }, - { "rsp", NULL, db_rsp }, - { "rbp", &ddb_regs.tf_rbp, FCN_NULL }, - { "rsi", &ddb_regs.tf_rsi, FCN_NULL }, - { "rdi", &ddb_regs.tf_rdi, FCN_NULL }, - { "r8", &ddb_regs.tf_r8, FCN_NULL }, - { "r9", &ddb_regs.tf_r9, FCN_NULL }, - { "r10", &ddb_regs.tf_r10, FCN_NULL }, - { "r11", &ddb_regs.tf_r11, FCN_NULL }, - { "r12", &ddb_regs.tf_r12, FCN_NULL }, - { "r13", &ddb_regs.tf_r13, FCN_NULL }, - { "r14", &ddb_regs.tf_r14, FCN_NULL }, - { "r15", &ddb_regs.tf_r15, FCN_NULL }, - { "rip", &ddb_regs.tf_rip, FCN_NULL }, - { "rflags", &ddb_regs.tf_rflags, FCN_NULL }, - { "dr0", NULL, db_dr0 }, - { "dr1", NULL, db_dr1 }, - { "dr2", NULL, db_dr2 }, - { "dr3", NULL, db_dr3 }, - { "dr4", NULL, db_dr4 }, - { "dr5", NULL, db_dr5 }, - { "dr6", NULL, db_dr6 }, - { "dr7", NULL, db_dr7 }, + { "ss", NULL, db_ss }, + { "rax", DB_OFFSET(tf_rax), db_frame }, + { "rcx", DB_OFFSET(tf_rcx), db_frame }, + { "rdx", DB_OFFSET(tf_rdx), db_frame }, + { "rbx", DB_OFFSET(tf_rbx), db_frame }, + { "rsp", NULL, db_rsp }, + { "rbp", DB_OFFSET(tf_rbp), db_frame }, + { "rsi", DB_OFFSET(tf_rsi), db_frame }, + { "rdi", DB_OFFSET(tf_rdi), db_frame }, + { "r8", DB_OFFSET(tf_r8), db_frame }, + { "r9", DB_OFFSET(tf_r9), db_frame }, + { "r10", DB_OFFSET(tf_r10), db_frame }, + { "r11", DB_OFFSET(tf_r11), db_frame }, + { "r12", DB_OFFSET(tf_r12), db_frame }, + { "r13", DB_OFFSET(tf_r13), db_frame }, + { "r14", DB_OFFSET(tf_r14), db_frame }, + { "r15", DB_OFFSET(tf_r15), db_frame }, + { "rip", DB_OFFSET(tf_rip), db_frame }, + { "rflags", DB_OFFSET(tf_rflags), db_frame }, + { "dr0", NULL, db_dr0 }, + { "dr1", NULL, db_dr1 }, + { "dr2", NULL, db_dr2 }, + { "dr3", NULL, db_dr3 }, + { "dr4", NULL, db_dr4 }, + { "dr5", NULL, db_dr5 }, + { "dr6", NULL, db_dr6 }, + { "dr7", NULL, db_dr7 }, }; struct db_variable *db_eregs = db_regs + sizeof(db_regs)/sizeof(db_regs[0]); @@ -117,7 +112,7 @@ *valuep = r ## reg (); \ else \ load_ ## reg (*valuep); \ - return (0); \ + return (1); \ } DB_DRX_FUNC(dr0) @@ -129,24 +124,55 @@ DB_DRX_FUNC(dr6) DB_DRX_FUNC(dr7) +static __inline long +get_rsp(struct trapframe *tf) +{ + return ((ISPL(tf->tf_cs)) ? tf->tf_rsp : + (db_expr_t)tf + offsetof(struct trapframe, tf_rsp)); +} + static int -db_rsp (struct db_variable *vp, db_expr_t *valuep, int op) +db_frame(struct db_variable *vp, db_expr_t *valuep, int op) +{ + long *reg; + + if (kdb_frame == NULL) + return (0); + + reg = (long *)((uintptr_t)kdb_frame + (db_expr_t)vp->valuep); + if (op == DB_VAR_GET) + *valuep = *reg; + else + *reg = *valuep; + return (1); +} + +static int +db_rsp(struct db_variable *vp, db_expr_t *valuep, int op) { + + if (kdb_frame == NULL) + return (0); + if (op == DB_VAR_GET) *valuep = get_rsp(kdb_frame); - else if (ISPL(ddb_regs.tf_cs)) - ddb_regs.tf_rsp = *valuep; - return (0); + else if (ISPL(kdb_frame->tf_cs)) + kdb_frame->tf_rsp = *valuep; + return (1); } static int -db_ss (struct db_variable *vp, db_expr_t *valuep, int op) +db_ss(struct db_variable *vp, db_expr_t *valuep, int op) { + + if (kdb_frame == NULL) + return (0); + if (op == DB_VAR_GET) - *valuep = (ISPL(ddb_regs.tf_cs)) ? ddb_regs.tf_ss : rss(); - else if (ISPL(ddb_regs.tf_cs)) - ddb_regs.tf_ss = *valuep; - return (0); + *valuep = (ISPL(kdb_frame->tf_cs)) ? kdb_frame->tf_ss : rss(); + else if (ISPL(kdb_frame->tf_cs)) + kdb_frame->tf_ss = *valuep; + return (1); } /* @@ -178,7 +204,6 @@ int db_md_clr_watchpoint(db_expr_t addr, db_expr_t size); void db_md_list_watchpoints(void); - /* * Figure out how many arguments were passed into the frame at "fp". */ @@ -441,7 +466,6 @@ db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count, char *modif) { - struct trapframe *tf; struct thread *td; td = (have_addr) ? kdb_thr_lookup(addr) : kdb_thread; @@ -449,9 +473,7 @@ db_printf("Thread %ld not found\n", addr); return; } - tf = td->td_last_frame; - db_backtrace(td, tf, (struct amd64_frame *)tf->tf_rbp, - (db_addr_t)tf->tf_rip, count); + db_trace_thread(td, count); } void @@ -471,11 +493,11 @@ int db_trace_thread(struct thread *thr, int count) { - struct trapframe *tf; + struct pcb *ctx; - tf = thr->td_last_frame; - return (db_backtrace(thr, tf, (struct amd64_frame *)tf->tf_rbp, - (db_addr_t)tf->tf_rip, count)); + ctx = kdb_thr_ctx(thr); + return (db_backtrace(thr, NULL, (struct amd64_frame *)ctx->pcb_rbp, + ctx->pcb_rip, count)); } int From owner-p4-projects@FreeBSD.ORG Mon Jul 5 01:02:39 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EBC8C16A4D0; Mon, 5 Jul 2004 01:02:38 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C67AF16A4CE for ; Mon, 5 Jul 2004 01:02:38 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C02B443D1F for ; Mon, 5 Jul 2004 01:02:38 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i6512cJR066247 for ; Mon, 5 Jul 2004 01:02:38 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i6512cW5066244 for perforce@freebsd.org; Mon, 5 Jul 2004 01:02:38 GMT (envelope-from marcel@freebsd.org) Date: Mon, 5 Jul 2004 01:02:38 GMT Message-Id: <200407050102.i6512cW5066244@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56478 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 01:02:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=56478 Change 56478 by marcel@marcel_sledge on 2004/07/05 01:01:41 Remove references to td_last_frame. Affected files ... .. //depot/projects/gdb/sys/amd64/amd64/trap.c#10 edit Differences ... ==== //depot/projects/gdb/sys/amd64/amd64/trap.c#10 (text+ko) ==== @@ -172,8 +172,6 @@ } #endif - td->td_last_frame = &frame; - if ((frame.tf_rflags & PSL_I) == 0) { /* * Buggy application or kernel code has disabled @@ -697,7 +695,6 @@ regcnt = 6; sticks = td->td_sticks; td->td_frame = &frame; - td->td_last_frame = &frame; if (td->td_ucred != p->p_ucred) cred_update_thread(td); if (p->p_flag & P_SA) From owner-p4-projects@FreeBSD.ORG Mon Jul 5 04:13:33 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E0D5816A4D0; Mon, 5 Jul 2004 04:13:32 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BE63B16A4CE for ; Mon, 5 Jul 2004 04:13:32 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A024143D49 for ; Mon, 5 Jul 2004 04:13:32 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i654DW5B071437 for ; Mon, 5 Jul 2004 04:13:32 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i654DWYr071434 for perforce@freebsd.org; Mon, 5 Jul 2004 04:13:32 GMT (envelope-from marcel@freebsd.org) Date: Mon, 5 Jul 2004 04:13:32 GMT Message-Id: <200407050413.i654DWYr071434@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56489 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 04:13:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=56489 Change 56489 by marcel@marcel_nfs on 2004/07/05 04:13:20 Current supply the PC. Affected files ... .. //depot/projects/gdb/sys/sparc64/sparc64/gdb_machdep.c#6 edit Differences ... ==== //depot/projects/gdb/sys/sparc64/sparc64/gdb_machdep.c#6 (text+ko) ==== @@ -55,9 +55,9 @@ /* 16-23: l0-l7 */ /* 24-31: i0-i7 */ case 30: return (&kdb_thrctx->pcb_sp); - case 31: return (&kdb_thrctx->pcb_pc); /* 32-63: f0-f31 */ - /* 64-79: f32-f62 (16 double FP) */ + /* 64-79: f32-f62 (16 double FP) */ + case 80: return (&kdb_thrctx->pcb_pc); } return (NULL); } From owner-p4-projects@FreeBSD.ORG Mon Jul 5 11:47:43 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 756E516A4D0; Mon, 5 Jul 2004 11:47:43 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 213D916A4CE for ; Mon, 5 Jul 2004 11:47:43 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 065D643D45 for ; Mon, 5 Jul 2004 11:47:43 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65Blgix084665 for ; Mon, 5 Jul 2004 11:47:42 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65Blg1a084662 for perforce@freebsd.org; Mon, 5 Jul 2004 11:47:42 GMT (envelope-from davidxu@freebsd.org) Date: Mon, 5 Jul 2004 11:47:42 GMT Message-Id: <200407051147.i65Blg1a084662@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 56496 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 11:47:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=56496 Change 56496 by davidxu@davidxu_alona on 2004/07/05 11:47:36 Allow multiple threads to report debug event at same time, the last thread will win the race, and others will retry, debugger has chance to select a thread to be replied. Affected files ... .. //depot/projects/davidxu_ksedbg/src/sys/kern/kern_sig.c#5 edit .. //depot/projects/davidxu_ksedbg/src/sys/sys/proc.h#4 edit Differences ... ==== //depot/projects/davidxu_ksedbg/src/sys/kern/kern_sig.c#5 (text+ko) ==== @@ -2005,16 +2005,39 @@ { struct proc *p = td->td_proc; struct thread *td0; - int newsig; PROC_LOCK_ASSERT(p, MA_OWNED); WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &p->p_mtx.mtx_object, "Stopping for traced signal"); - while (P_SHOULDSTOP(p)) { - if (p->p_flag & P_SINGLE_EXIT) + mtx_lock_spin(&sched_lock); + td->td_flags |= TDF_XSIG; + mtx_unlock_spin(&sched_lock); + td->td_xsig = sig; + while (td->td_flags & TDF_XSIG) { + if (p->p_flag & P_SINGLE_EXIT) { + mtx_lock_spin(&sched_lock); + td->td_flags &= ~TDF_XSIG; + mtx_unlock_spin(&sched_lock); return (sig); + } + /* + * Just make wait() to work, the last stopped thread + * will win. + */ + p->p_xstat = sig; + p->p_xthread = td; + p->p_flag |= (P_STOPPED_SIG|P_STOPPED_TRACE); mtx_lock_spin(&sched_lock); + FOREACH_THREAD_IN_PROC(p, td0) { + if (TD_IS_SLEEPING(td0) && + (td0->td_flags & TDF_SINTR) && + !TD_IS_SUSPENDED(td0)) { + thread_suspend_one(td0); + } else if (td != td0) { + td0->td_flags |= TDF_ASTPENDING; + } + } thread_stopped(p); thread_suspend_one(td); PROC_UNLOCK(p); @@ -2024,33 +2047,7 @@ PICKUP_GIANT(); PROC_LOCK(p); } - p->p_xstat = sig; - p->p_xthread = td; - p->p_flag |= (P_STOPPED_SIG|P_STOPPED_TRACE); - mtx_lock_spin(&sched_lock); - FOREACH_THREAD_IN_PROC(p, td0) { - if (TD_IS_SLEEPING(td0) && - (td0->td_flags & TDF_SINTR) && - !TD_IS_SUSPENDED(td0)) { - thread_suspend_one(td0); - } else if (td != td0) { - td0->td_flags |= TDF_ASTPENDING; - } - } - thread_stopped(p); - thread_suspend_one(td); - PROC_UNLOCK(p); - DROP_GIANT(); - mi_switch(SW_INVOL, NULL); - mtx_unlock_spin(&sched_lock); - PICKUP_GIANT(); - PROC_LOCK(p); - newsig = p->p_xstat; - p->p_xstat = newsig; - mtx_lock_spin(&sched_lock); - thread_unsuspend(p); - mtx_unlock_spin(&sched_lock); - return (newsig); + return (td->td_xsig); } /* ==== //depot/projects/davidxu_ksedbg/src/sys/sys/proc.h#4 (text+ko) ==== @@ -303,7 +303,7 @@ volatile u_int td_generation; /* (k) Enable detection of preemption */ stack_t td_sigstk; /* (k) Stack ptr and on-stack flag. */ int td_kflags; /* (c) Flags for KSE threading. */ - + int td_xsig; /* (c) Signal for ptrace */ #define td_endzero td_base_pri /* Copied during fork1() or thread_sched_upcall(). */ @@ -354,6 +354,7 @@ #define TDF_OWEUPC 0x008000 /* Owe thread an addupc() call at next AST. */ #define TDF_NEEDRESCHED 0x010000 /* Thread needs to yield. */ #define TDF_NEEDSIGCHK 0x020000 /* Thread may need signal delivery. */ +#define TDF_XSIG 0x040000 /* Thread is exchanging signal under traced */ #define TDF_UMTXWAKEUP 0x080000 /* Libthr thread must not sleep on a umtx. */ #define TDF_THRWAKEUP 0x100000 /* Libthr thread must not suspend itself. */ From owner-p4-projects@FreeBSD.ORG Mon Jul 5 11:48:46 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0A1EC16A4EE; Mon, 5 Jul 2004 11:48:45 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C1C8516A4EB for ; Mon, 5 Jul 2004 11:48:44 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B94B943D1D for ; Mon, 5 Jul 2004 11:48:44 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65BmiTA084740 for ; Mon, 5 Jul 2004 11:48:44 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65Bmiuq084737 for perforce@freebsd.org; Mon, 5 Jul 2004 11:48:44 GMT (envelope-from davidxu@freebsd.org) Date: Mon, 5 Jul 2004 11:48:44 GMT Message-Id: <200407051148.i65Bmiuq084737@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 56497 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 11:48:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=56497 Change 56497 by davidxu@davidxu_alona on 2004/07/05 11:48:24 Allow a single thread to be resumed, while others are still suspended. Affected files ... .. //depot/projects/davidxu_ksedbg/src/sys/kern/sys_process.c#5 edit Differences ... ==== //depot/projects/davidxu_ksedbg/src/sys/kern/sys_process.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.121 2004/07/02 09:19:22 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.120 2004/04/01 20:56:44 jhb Exp $"); #include #include @@ -371,6 +371,7 @@ int error, write, tmp, num; int proctree_locked = 0; lwpid_t tid = 0, tid2, *buf; + pid_t saved_pid = pid; curp = td->td_proc; @@ -633,10 +634,23 @@ p->p_xstat = data; p->p_flag &= ~(P_STOPPED_TRACE|P_STOPPED_SIG); mtx_lock_spin(&sched_lock); - thread_unsuspend_one(p->p_xthread); + if (req == PT_DETACH || saved_pid <= PID_MAX) { + if (p->p_xthread) { + p->p_xthread->td_flags &= ~TDF_XSIG; + p->p_xthread->td_xsig = data; + p->p_xthread = NULL; + } + thread_unsuspend(p); + } else { + td2->td_flags &= ~TDF_XSIG; + td2->td_xsig = data; + if (p->p_xthread == td2) + p->p_xthread = NULL; + thread_unsuspend_one(td2); + } mtx_unlock_spin(&sched_lock); - p->p_xthread = NULL; } else if (data) { + /* can this happen ? */ p->p_xthread = NULL; psignal(p, data); } From owner-p4-projects@FreeBSD.ORG Mon Jul 5 12:35:44 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78B9C16A4D0; Mon, 5 Jul 2004 12:35:44 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 37DCB16A4CE for ; Mon, 5 Jul 2004 12:35:44 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2DC2843D31 for ; Mon, 5 Jul 2004 12:35:44 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65CZiLc086228 for ; Mon, 5 Jul 2004 12:35:44 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65CZglK086224 for perforce@freebsd.org; Mon, 5 Jul 2004 12:35:42 GMT (envelope-from davidxu@freebsd.org) Date: Mon, 5 Jul 2004 12:35:42 GMT Message-Id: <200407051235.i65CZglK086224@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 56500 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 12:35:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=56500 Change 56500 by davidxu@davidxu_alona on 2004/07/05 12:34:53 IFC @56499 Affected files ... .. //depot/projects/davidxu_ksedbg/src/bin/date/date.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/bin/ed/ed.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/bin/expr/expr.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/bin/kill/kill.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/bin/ln/ln.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/bin/mkdir/mkdir.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/bin/pax/pax.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/bin/pwd/pwd.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/bin/rcp/rcp.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/bin/sh/bltin/echo.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/bin/sh/sh.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/bin/stty/stty.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/bin/test/test.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/contrib/gnu-sort/FREEBSD-upgrade#2 integrate .. //depot/projects/davidxu_ksedbg/src/etc/rc.subr#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/lib/libregex/posix/regex.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/lib/libregex/regex.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#6 edit .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/AUTHORS#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/COPYING#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/ChangeLog#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/Makefile#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/NEWS#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/THANKS#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/closeout.c#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/closeout.h#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/config.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/dfa.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/dfa.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/doc/grep.texi#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/doc/version.texi#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/error.c#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/error.h#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/exclude.c#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/exclude.h#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/getpagesize.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/grep.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/grep.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/grep.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/hard-locale.c#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/hard-locale.h#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/isdir.c#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/kwset.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/kwset.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/mbcache.h#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/quotearg.c#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/quotearg.h#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/savedir.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/savedir.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/search.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/system.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/backref.sh#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/bre.awk#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/bre.sh#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/bre.tests#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/empty.sh#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/ere.awk#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/ere.sh#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/file.sh#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/formatbre.awk#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/formatere.awk#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/khadafy.sh#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/options.sh#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/spencer1.awk#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/spencer1.sh#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/spencer2.sh#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/spencer2.tests#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/status.sh#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/tests#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/tests/warning.sh#2 integrate .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/xalloc.h#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/xmalloc.c#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/xstrtol.c#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/xstrtol.h#1 branch .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/grep/xstrtoumax.c#1 branch .. //depot/projects/davidxu_ksedbg/src/lib/libalias/Makefile#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_cuseeme.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_db.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_ftp.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_irc.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_local.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_nbt.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_old.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_pptp.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_proxy.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_skinny.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_smedia.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/alias_util.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libalias/libalias.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libarchive/archive_entry.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libarchive/archive_read.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libarchive/archive_read_extract.c#4 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libarchive/archive_util.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libarchive/archive_write.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libarchive/libarchive-formats.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libarchive/libarchive.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libarchive/tar.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libbluetooth/bluetooth.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/compat-43/gethostid.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/compat-43/sigvec.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/db/man/btree.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/db/man/dbopen.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/db/man/recno.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/basename.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/directory.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/dirname.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/dladdr.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/dllockinit.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/fmtcheck.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/fnmatch.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/ftok.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/fts.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/getbootfile.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/getcap.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/getdiskbyname.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/getdomainname.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/getgrent.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/gethostname.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/getobjformat.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/getpwent.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/lockf.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/msgrcv.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/rand48.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/setjmp.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/setproctitle.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/shm_open.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/signal.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/sleep.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/sysctl.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/tzset.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/ualarm.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/ucontext.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/unvis.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/gen/vis.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/i386/sys/i386_get_ioperm.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/i386/sys/i386_set_watch.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/big5.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/euc.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/gb18030.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/gb2312.5#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/gbk.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/isideogram.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/localeconv.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/mblen.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/mbstowcs.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/mbtowc.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/mskanji.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/rune.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/setlocale.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/utf2.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/wcstombs.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/locale/wctomb.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/addr2ascii.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/byteorder.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/gethostbyname.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/getifaddrs.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/getifmaddrs.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/getipnodebyname.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/getnetent.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/getprotoent.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/getservent.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/inet.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/inet6_opt_init.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/inet6_rth_space.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/inet6_rthdr_space.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/linkaddr.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/net/resolver.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_delete.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_delete_entry.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_delete_perm.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_dup.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_free.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_from_text.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_get.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_get_entry.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_get_qualifier.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_init.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_set.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_set_qualifier.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_set_tag_type.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_to_text.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/acl_valid.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/posix1e/mac_prepare.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/regex/re_format.7#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/regex/regex.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/rpc/getrpcent.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/rpc/getrpcport.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/rpc/rpc.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/rpc/rpc_secure.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdio/fflush.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdio/funopen.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdio/stdio.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdlib/exit.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdlib/getenv.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdlib/getopt.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdlib/malloc.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdlib/qsort.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdlib/radixsort.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdlib/random.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdlib/tsearch.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdtime/ctime.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdtime/strftime.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/stdtime/strptime.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/string/strlcpy.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/string/strsep.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/accept.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/aio_error.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/aio_read.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/aio_suspend.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/aio_write.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/chflags.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/chmod.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/chroot.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/clock_gettime.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/close.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/dup.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/execve.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/fcntl.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/flock.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/fork.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/getdtablesize.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/getitimer.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/getlogin.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/getpriority.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/getrlimit.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/getrusage.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/getsockname.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/getsockopt.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/gettimeofday.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/intro.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/ioctl.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/issetugid.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/kldnext.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/kldstat.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/kqueue.2#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/link.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/lseek.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/madvise.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/mlockall.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/mmap.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/modnext.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/modstat.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/nanosleep.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/open.2#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/pipe.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/poll.2#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/read.2#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/rename.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/rfork.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/sched_get_priority_max.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/sched_setparam.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/sched_setscheduler.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/sched_yield.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/select.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/semctl.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/semget.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/send.2#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/shmat.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/shmctl.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/shmget.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/sigaction.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/sigwait.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/socket.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/swapon.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/sysarch.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/truncate.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/umask.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/unlink.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/utrace.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/vfork.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/wait.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libc/sys/write.2#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libcalendar/calendar.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libcam/cam.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libcam/cam_cdbparse.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libcompat/4.3/rexec.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libcompat/4.4/cuserid.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libcompat/regexp/regexp.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libcrypt/crypt.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libdevstat/devstat.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libdisk/libdisk.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libfetch/fetch.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libftpio/ftpio.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libipx/ipx.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libkiconv/kiconv.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libkvm/kvm.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libkvm/kvm_getfiles.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libkvm/kvm_getprocs.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libkvm/kvm_getswapinfo.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libkvm/kvm_nlist.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libkvm/kvm_open.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libkvm/kvm_read.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libmd/ripemd.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libmd/sha.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libnetgraph/netgraph.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_chroot/pam_chroot.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_echo/pam_echo.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_exec/pam_exec.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_ftpusers/pam_ftpusers.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_group/pam_group.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_guest/pam_guest.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_lastlog/pam_lastlog.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_login_access/login.access.5#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_login_access/pam_login_access.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_opieaccess/pam_opieaccess.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_passwdqc/pam_passwdqc.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_radius/pam_radius.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_rhosts/pam_rhosts.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_self/pam_self.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_ssh/pam_ssh.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libpam/modules/pam_tacplus/pam_tacplus.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libradius/radius.conf.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libsdp/sdp.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libstand/libstand.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libtacplus/libtacplus.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libtacplus/tacplus.conf.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libthr/thread/thr_create.c#4 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libufs/bread.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libufs/cgread.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libufs/getino.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libufs/libufs.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libufs/sbread.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libugidfw/bsde_get_rule.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libugidfw/bsde_get_rule_count.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libugidfw/bsde_parse_rule.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libugidfw/bsde_rule_to_string.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libugidfw/libugidfw.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/auth.conf.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/login.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/login.conf.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/login_cap.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/login_ok.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/login_times.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/login_tty.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/logout.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/property.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/pty.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/realhostname.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/realhostname_sa.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/trimdomain.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libutil/uucplock.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/libvgl/vgl.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/msun/man/asin.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/msun/man/atan2.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/msun/man/atanh.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/msun/man/erf.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/msun/man/exp.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/lib/msun/man/ieee.3#3 integrate .. //depot/projects/davidxu_ksedbg/src/lib/msun/man/sinh.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/libexec/bootpd/bootptab.5#3 integrate .. //depot/projects/davidxu_ksedbg/src/libexec/rtld-elf/rtld_lock.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#5 integrate .. //depot/projects/davidxu_ksedbg/src/sbin/camcontrol/camcontrol.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/sbin/ccdconfig/ccdconfig.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/sbin/fsck/fsck.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/sbin/geom/class/label/glabel.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/sbin/geom/misc/subr.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sbin/geom/misc/subr.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/sbin/ip6fw/ip6fw.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/sbin/natd/icmp.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sbin/natd/natd.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sbin/natd/natd.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/sbin/vinum/vinum.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/examples/etc/make.conf#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/examples/ses/getencstat/getencstat.0#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/examples/ses/setobjstat/setobjstat.0#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/fpgetround.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/intro.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_cancel.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_create.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_detach.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_exit.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_join.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_once.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_rwlock_destroy.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_rwlock_init.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_rwlock_rdlock.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_rwlock_unlock.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_rwlock_wrlock.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_rwlockattr_destroy.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_rwlockattr_getpshared.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_rwlockattr_init.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/pthread_rwlockattr_setpshared.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/stdarg.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man3/sysexits.3#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/aac.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/aha.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ahb.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ahc.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ahd.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/atkbd.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/bge.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/bktr.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/bpf.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ccd.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/cd.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ch.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ciss.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/cy.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/da.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/dc.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/divert.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/dpt.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/en.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/fatm.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/fxp.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/geom.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/gre.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/gusc.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/hatm.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ifmib.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/iic.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/inet.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/intro.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ip6.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ispfw.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/joy.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/keyboard.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/lp.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac_biba.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac_bsdextended.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac_ifoff.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac_lomac.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac_mls.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac_none.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac_partition.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac_portacl.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac_seeotheruids.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac_stub.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mac_test.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.alpha/osf1.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/acpi_asus.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/amdpm.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/apm.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/ar.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/cs.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/ct.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/ex.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/fe.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/io.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/mse.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/ndis.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/perfmon.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/ray.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/scd.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/spkr.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/streams.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/vx.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/man4.i386/wl.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/matcd.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mem.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/meteor.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mly.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mouse.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/mtio.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/multicast.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/natmip.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_UI.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_async.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_atm.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_atmllc.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_atmpif.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_bluetooth.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_bpf.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_btsocket.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_cisco.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_frame_relay.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_hci.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_iface.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_ksocket.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_l2cap.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_lmi.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_one2many.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_ppp.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_pppoe.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_socket.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_sppp.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_sscfu.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_sscop.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_tty.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_uni.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ng_vjc.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/patm.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/pci.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/pcn.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/pcvt.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ppbus.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ppi.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/psm.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/pt.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/pty.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/random.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/re.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/rl.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/route.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/sa.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/safe.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/sbc.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/sbp_targ.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/scsi.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/si.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/sio.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/sis.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/sppp.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/sym.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/sysmouse.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/termios.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ti.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/tl.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ttcp.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/tty.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/twe.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/txp.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/uaudio.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/udp.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ukbd.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/umass.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/umct.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/ums.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/utopia.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/vga.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/vpo.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/vr.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/wi.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/xe.4#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/xl.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man4/xpt.4#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/a.out.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/devfs.5#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/disktab.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/elf.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/forward.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/fs.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/fstab.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/hosts.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/hosts.equiv.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/link.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/mailer.conf.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/networks.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/passwd.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/pbm.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/phones.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/procfs.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/protocols.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/rc.conf.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/remote.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/services.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/stab.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man5/sysctl.conf.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man7/development.7#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man7/environ.7#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man7/firewall.7#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man7/hier.7#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man7/hostname.7#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man7/maclabel.7#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man7/mailaddr.7#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man7/sdoc.7#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man7/security.7#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man7/tuning.7#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man8/adding_user.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man8/picobsd.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man8/rc.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man8/rc.subr.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man8/yp.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/BUS_CONFIG_INTR.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/DEVICE_DETACH.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/DEVICE_IDENTIFY.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/DEVICE_PROBE.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/MD5.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/VOP_LINK.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/VOP_LISTEXTATTR.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/boot.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/buf.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/bus_dma.9#3 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/bus_release_resource.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/device_add_child.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/devstat.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/g_access.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/g_attach.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/g_bio.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/g_consumer.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/g_data.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/g_event.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/g_geom.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/g_provider.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/g_provider_by_name.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/g_wither_geom.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/ieee80211.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/ieee80211_node.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/ithread.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/kobj.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/mac.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/mbpool.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/mbuf.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/mi_switch.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/microseq.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/mutex.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/p_candebug.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/pci.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/pmap.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/pseudofs.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/random.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/spl.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/style.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/sysctl_add_oid.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/sysctl_ctx_init.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/utopia.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/man/man9/vref.9#2 integrate .. //depot/projects/davidxu_ksedbg/src/share/termcap/termcap.5#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/boot/common/ufsread.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/coda/coda_subr.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/conf/NOTES#5 integrate .. //depot/projects/davidxu_ksedbg/src/sys/conf/files#5 integrate .. //depot/projects/davidxu_ksedbg/src/sys/conf/options#5 integrate .. //depot/projects/davidxu_ksedbg/src/sys/dev/acpica/acpi_pcib_acpi.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/dev/fdc/fdc.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/dev/hifn/hifn7751.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/dev/nmdm/nmdm.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/dev/usb/ehci.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/davidxu_ksedbg/src/sys/fs/msdosfs/msdosfs_fileno.c#1 branch .. //depot/projects/davidxu_ksedbg/src/sys/fs/msdosfs/msdosfs_vfsops.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/fs/msdosfs/msdosfsmount.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/geom/geom_slice.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/gnu/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/i386/i386/busdma_machdep.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/i386/i386/nexus.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/i386/isa/isa.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/i386/linux/linux_ptrace.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/i386/pci/pci_cfgreg.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/i4b/driver/i4b_ing.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/isofs/cd9660/cd9660_lookup.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/isofs/cd9660/cd9660_node.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/isofs/cd9660/cd9660_rrip.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/isofs/cd9660/cd9660_rrip.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/isofs/cd9660/cd9660_vfsops.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/kern/kern_event.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/kern/kern_poll.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/kern/kern_switch.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/kern/sched_ule.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/kern/vfs_default.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/kern/vfs_mount.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/modules/msdosfs/Makefile#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/net/bridge.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/net/if_vlan.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/netgraph/ng_async.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/netgraph/ng_eiface.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/netgraph/ng_fec.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/netgraph/ng_gif_demux.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/netgraph/ng_iface.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/netgraph/ng_sppp.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/nfsclient/nfs_subs.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/nfsclient/nfs_vfsops.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/nfsserver/nfs_srvcache.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/pci/if_de.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/pci/if_devar.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/pci/if_rl.c#4 integrate .. //depot/projects/davidxu_ksedbg/src/sys/pci/if_rlreg.h#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/pci/if_vr.c#4 integrate .. //depot/projects/davidxu_ksedbg/src/sys/pci/if_xl.c#4 integrate .. //depot/projects/davidxu_ksedbg/src/sys/pci/if_xlreg.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/sparc64/ebus/ebus.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/sparc64/fhc/fhc.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/sparc64/pci/psycho.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/sparc64/sbus/sbus.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/sparc64/sparc64/iommu.c#4 integrate .. //depot/projects/davidxu_ksedbg/src/sys/sparc64/sparc64/nexus.c#3 integrate .. //depot/projects/davidxu_ksedbg/src/sys/sys/event.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/sys/mount.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/sys/vnode.h#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/ufs/ffs/ffs_snapshot.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/ufs/ffs/ffs_vfsops.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/ufs/ufs/ufs_quota.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/sys/vm/uma_core.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/basename/basename.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/calendar/calendar.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/col/col.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/csplit/csplit.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/ee/ee.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/fetch/fetch.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/find/find.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/fstat/fstat.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/gcore/gcore.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/gencat/gencat.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/getopt/getopt.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/gprof/gprof.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/hexdump/od.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/indent/indent.1#4 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/keylogin/keylogin.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/lastcomm/lastcomm.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/locate/locate/locate.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/logger/logger.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/login/login.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/lorder/lorder.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/m4/m4.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/mkfifo/mkfifo.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/mklocale/mklocale.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/msgs/msgs.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/mt/mt.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/nl/nl.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/passwd/passwd.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/pr/pr.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/printf/printf.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/rlogin/rlogin.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/rsh/rsh.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/rup/rup.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/rusers/rusers.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/rwall/rwall.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/script/script.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/sed/sed.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/shar/shar.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/su/su.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/systat/convtbl.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/systat/systat.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/talk/talk.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/tar/bsdtar.1#4 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/tar/bsdtar.c#4 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/tsort/tsort.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/uniq/uniq.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/uniq/uniq.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/vgrind/vgrindefs.5#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/wc/wc.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/window/window.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.bin/write/write.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/apmd/apmd.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/kbdmap/kbdmap.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/lpr/lpq/lpq.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/lpr/lpr/lpr.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/lpr/lprm/lprm.1#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/moused/moused.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/mrouted/mrouted.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/mtree/mtree.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/newsyslog/newsyslog.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/ntp/doc/ntp-genkeys.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/ntp/doc/ntp.conf.5#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/ntp/doc/ntpd.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/ntp/doc/ntpdc.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/ntp/doc/ntpq.8#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/pkg_install/add/pkg_add.1#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/pkg_install/info/pkg_info.1#4 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/pstat/pstat.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/sliplogin/sliplogin.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/sysinstall/dist.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/sysinstall/sysinstall.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/syslogd/syslog.conf.5#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/syslogd/syslogd.c#2 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/watch/watch.8#3 integrate .. //depot/projects/davidxu_ksedbg/src/usr.sbin/ypserv/ypinit.8#2 integrate Differences ... ==== //depot/projects/davidxu_ksedbg/src/bin/date/date.1#3 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)date.1 8.3 (Berkeley) 4/28/95 -.\" $FreeBSD: src/bin/date/date.1,v 1.65 2004/07/02 21:04:17 ru Exp $ +.\" $FreeBSD: src/bin/date/date.1,v 1.66 2004/07/03 00:03:25 ru Exp $ .\" .Dd November 17, 1993 .Dt DATE 1 @@ -93,7 +93,7 @@ to .Xr gettimeofday 2 will return a non-zero for -.Fa tz_dsttime . +.Fa tz_dsttime . .It Fl f Use .Ar input_fmt @@ -284,7 +284,8 @@ .Pp .Dl "Sun Jan 4 04:15:24 GMT 1998" .Pp -where it is currently Mon Aug 4 04:15:24 BST 1997. +where it is currently +.Li "Mon Aug 4 04:15:24 BST 1997" . .Pp The command: .Pp @@ -302,7 +303,8 @@ .Pp .Dl "Fri Aug 29 04:31:11 BST 1997" .Pp -where it is currently Mon Aug 4 04:31:11 BST 1997. +where it is currently +.Li "Mon Aug 4 04:31:11 BST 1997" . .Pp The command: .Pp ==== //depot/projects/davidxu_ksedbg/src/bin/ed/ed.1#2 (text+ko) ==== @@ -1,5 +1,5 @@ -.\" $FreeBSD: src/bin/ed/ed.1,v 1.33 2003/05/03 20:26:11 keramida Exp $ -.Dd May 21, 1993 +.\" $FreeBSD: src/bin/ed/ed.1,v 1.34 2004/07/03 02:03:43 tjr Exp $ +.Dd July 3, 2004 .Dt ED 1 .Os .Sh NAME @@ -999,3 +999,7 @@ .Nm command appeared in Version 1 AT&T UNIX. +.Sh BUGS +The +.Nm +utility does not recognize multibyte characters. ==== //depot/projects/davidxu_ksedbg/src/bin/expr/expr.1#2 (text+ko) ==== @@ -28,9 +28,9 @@ .\" (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/bin/expr/expr.1,v 1.23 2002/11/26 17:55:40 ru Exp $ +.\" $FreeBSD: src/bin/expr/expr.1,v 1.24 2004/07/03 02:03:44 tjr Exp $ .\" -.Dd May 10, 2002 +.Dd July 3, 2004 .Dt EXPR 1 .Os .Sh NAME @@ -261,3 +261,7 @@ The .Fl e flag is an extension. +.Sh BUGS +The +.Nm +utility does not recognize multibyte characters. ==== //depot/projects/davidxu_ksedbg/src/bin/kill/kill.1#2 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)kill.1 8.2 (Berkeley) 4/28/95 -.\" $FreeBSD: src/bin/kill/kill.1,v 1.17 2004/04/06 20:06:47 markm Exp $ +.\" $FreeBSD: src/bin/kill/kill.1,v 1.18 2004/07/03 00:03:25 ru Exp $ .\" .Dd April 28, 1995 .Dt KILL 1 @@ -153,5 +153,5 @@ A replacement for the command .Dq Li kill 0 for -.Xr csh 1 +.Xr csh 1 users should be provided. ==== //depot/projects/davidxu_ksedbg/src/bin/ln/ln.1#3 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 -.\" $FreeBSD: src/bin/ln/ln.1,v 1.27 2004/07/02 21:04:18 ru Exp $ +.\" $FreeBSD: src/bin/ln/ln.1,v 1.28 2004/07/03 00:03:26 ru Exp $ .\" .Dd December 30, 1993 .Dt LN 1 @@ -126,22 +126,22 @@ A symbolic link contains the name of the file to which it is linked. The referenced file is used when an -.Xr open 2 +.Xr open 2 operation is performed on the link. A -.Xr stat 2 +.Xr stat 2 on a symbolic link will return the linked-to file; an -.Xr lstat 2 +.Xr lstat 2 must be done to obtain information about the link. The -.Xr readlink 2 +.Xr readlink 2 call may be used to read the contents of a symbolic link. Symbolic links may span file systems and may refer to directories. .Pp Given one or two arguments, .Nm creates a link to an existing file -.Ar source_file . +.Ar source_file . If .Ar target_file is given, the link has that name; @@ -150,7 +150,7 @@ otherwise it is placed in the current directory. If only the directory is specified, the link will be made to the last component of -.Ar source_file . +.Ar source_file . .Pp Given more than two arguments, .Nm ==== //depot/projects/davidxu_ksedbg/src/bin/mkdir/mkdir.1#2 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mkdir.1 8.2 (Berkeley) 1/25/94 -.\" $FreeBSD: src/bin/mkdir/mkdir.1,v 1.18 2004/04/06 20:06:48 markm Exp $ +.\" $FreeBSD: src/bin/mkdir/mkdir.1,v 1.19 2004/07/03 00:03:26 ru Exp $ .\" .Dd January 25, 1994 .Dt MKDIR 1 @@ -41,7 +41,7 @@ .Nm .Op Fl pv .Op Fl m Ar mode -.Ar directory_name ... +.Ar directory_name ... .Sh DESCRIPTION The .Nm @@ -49,7 +49,7 @@ using mode .Li rwxrwxrwx (\&0777) as modified by the current -.Xr umask 2 . +.Xr umask 2 . .Pp The options are as follows: .Pp ==== //depot/projects/davidxu_ksedbg/src/bin/pax/pax.1#3 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)pax.1 8.4 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/pax/pax.1,v 1.31 2004/07/02 21:04:18 ru Exp $ +.\" $FreeBSD: src/bin/pax/pax.1,v 1.33 2004/07/03 02:03:44 tjr Exp $ .\" -.Dd April 18, 1994 +.Dd July 3, 2004 .Dt PAX 1 .Os .Sh NAME @@ -731,9 +731,9 @@ Only .Em regular files, -.Em hard links , soft links , +.Em hard links , soft links , and -.Em directories +.Em directories will be archived (other file system types are not supported). For backwards compatibility with even older tar formats, a .Fl o @@ -1186,3 +1186,7 @@ and when .Nm completes it will exit with a non-zero exit status. +.Sh BUGS +The +.Nm +utility does not recognize multibyte characters. ==== //depot/projects/davidxu_ksedbg/src/bin/pwd/pwd.1#2 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)pwd.1 8.2 (Berkeley) 4/28/95 -.\" $FreeBSD: src/bin/pwd/pwd.1,v 1.23 2004/04/06 20:06:50 markm Exp $ +.\" $FreeBSD: src/bin/pwd/pwd.1,v 1.24 2004/07/03 00:03:26 ru Exp $ .\" .Dd April 12, 2003 .Dt PWD 1 @@ -86,7 +86,7 @@ .Xr getcwd 3 .Sh BUGS In -.Xr csh 1 +.Xr csh 1 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 5 12:36:46 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 523F516A4EC; Mon, 5 Jul 2004 12:36:46 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0F61616A4D0 for ; Mon, 5 Jul 2004 12:36:46 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E4C1A43D3F for ; Mon, 5 Jul 2004 12:36:45 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65Caj9U086322 for ; Mon, 5 Jul 2004 12:36:45 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65Cajk6086319 for perforce@freebsd.org; Mon, 5 Jul 2004 12:36:45 GMT (envelope-from davidxu@freebsd.org) Date: Mon, 5 Jul 2004 12:36:45 GMT Message-Id: <200407051236.i65Cajk6086319@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 56501 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 12:36:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=56501 Change 56501 by davidxu@davidxu_alona on 2004/07/05 12:36:04 Fix RCSID Affected files ... .. //depot/projects/davidxu_ksedbg/src/sys/kern/sys_process.c#6 edit Differences ... ==== //depot/projects/davidxu_ksedbg/src/sys/kern/sys_process.c#6 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.120 2004/04/01 20:56:44 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.121 2004/07/02 09:19:22 davidxu Exp $"); #include #include From owner-p4-projects@FreeBSD.ORG Mon Jul 5 12:48:01 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BD0B216A4D0; Mon, 5 Jul 2004 12:48:00 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 987EF16A4CE for ; Mon, 5 Jul 2004 12:48:00 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 91A3B43D45 for ; Mon, 5 Jul 2004 12:48:00 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65Cm0QL086663 for ; Mon, 5 Jul 2004 12:48:00 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65Cm0Rs086658 for perforce@freebsd.org; Mon, 5 Jul 2004 12:48:00 GMT (envelope-from davidxu@freebsd.org) Date: Mon, 5 Jul 2004 12:48:00 GMT Message-Id: <200407051248.i65Cm0Rs086658@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 56504 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 12:48:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=56504 Change 56504 by davidxu@davidxu_alona on 2004/07/05 12:47:52 Remove a blank and bogus comment. Affected files ... .. //depot/projects/davidxu_ksedbg/src/sys/kern/sys_process.c#7 edit Differences ... ==== //depot/projects/davidxu_ksedbg/src/sys/kern/sys_process.c#7 (text+ko) ==== @@ -645,13 +645,11 @@ td2->td_flags &= ~TDF_XSIG; td2->td_xsig = data; if (p->p_xthread == td2) - p->p_xthread = NULL; + p->p_xthread = NULL; thread_unsuspend_one(td2); } mtx_unlock_spin(&sched_lock); } else if (data) { - /* can this happen ? */ - p->p_xthread = NULL; psignal(p, data); } PROC_UNLOCK(p); From owner-p4-projects@FreeBSD.ORG Mon Jul 5 17:29:55 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3575A16A4D0; Mon, 5 Jul 2004 17:29:55 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E9A6016A4CE for ; Mon, 5 Jul 2004 17:29:54 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E16E643D58 for ; Mon, 5 Jul 2004 17:29:54 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65HTsML095954 for ; Mon, 5 Jul 2004 17:29:54 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65HToRI095951 for perforce@freebsd.org; Mon, 5 Jul 2004 17:29:50 GMT (envelope-from peter@freebsd.org) Date: Mon, 5 Jul 2004 17:29:50 GMT Message-Id: <200407051729.i65HToRI095951@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 56522 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 17:29:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=56522 Change 56522 by peter@peter_overcee on 2004/07/05 17:29:15 IFC @56519 Affected files ... .. //depot/projects/hammer/MAINTAINERS#24 integrate .. //depot/projects/hammer/UPDATING#43 integrate .. //depot/projects/hammer/bin/chio/chio.1#4 integrate .. //depot/projects/hammer/bin/cp/cp.1#6 integrate .. //depot/projects/hammer/bin/date/date.1#7 integrate .. //depot/projects/hammer/bin/df/df.1#8 integrate .. //depot/projects/hammer/bin/domainname/domainname.1#3 integrate .. //depot/projects/hammer/bin/echo/echo.1#5 integrate .. //depot/projects/hammer/bin/ed/ed.1#3 integrate .. //depot/projects/hammer/bin/expr/expr.1#4 integrate .. //depot/projects/hammer/bin/hostname/hostname.1#3 integrate .. //depot/projects/hammer/bin/kill/kill.1#3 integrate .. //depot/projects/hammer/bin/ln/ln.1#4 integrate .. //depot/projects/hammer/bin/ln/symlink.7#4 integrate .. //depot/projects/hammer/bin/ls/ls.1#14 integrate .. //depot/projects/hammer/bin/mkdir/mkdir.1#3 integrate .. //depot/projects/hammer/bin/pax/pax.1#6 integrate .. //depot/projects/hammer/bin/pwd/pwd.1#5 integrate .. //depot/projects/hammer/bin/rcp/rcp.1#3 integrate .. //depot/projects/hammer/bin/rm/rm.1#5 integrate .. //depot/projects/hammer/bin/setfacl/setfacl.1#4 integrate .. //depot/projects/hammer/bin/sh/bltin/echo.1#4 integrate .. //depot/projects/hammer/bin/sh/sh.1#10 integrate .. //depot/projects/hammer/bin/stty/stty.1#3 integrate .. //depot/projects/hammer/bin/test/test.1#4 integrate .. //depot/projects/hammer/contrib/gnu-sort/ABOUT-NLS#3 integrate .. //depot/projects/hammer/contrib/gnu-sort/AUTHORS#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/ChangeLog#3 integrate .. //depot/projects/hammer/contrib/gnu-sort/FREEBSD-upgrade#3 integrate .. //depot/projects/hammer/contrib/gnu-sort/INSTALL#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/NEWS#3 integrate .. //depot/projects/hammer/contrib/gnu-sort/README#3 integrate .. //depot/projects/hammer/contrib/gnu-sort/THANKS#3 integrate .. //depot/projects/hammer/contrib/gnu-sort/THANKS-to-translators#1 branch .. //depot/projects/hammer/contrib/gnu-sort/TODO#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/__fpending.c#1 branch .. //depot/projects/hammer/contrib/gnu-sort/lib/__fpending.h#1 branch .. //depot/projects/hammer/contrib/gnu-sort/lib/argmatch.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/argmatch.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/closeout.c#1 branch .. //depot/projects/hammer/contrib/gnu-sort/lib/closeout.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/error.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/error.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/exit.h#1 branch .. //depot/projects/hammer/contrib/gnu-sort/lib/exitfail.c#1 branch .. //depot/projects/hammer/contrib/gnu-sort/lib/exitfail.h#1 branch .. //depot/projects/hammer/contrib/gnu-sort/lib/gettext.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/hard-locale.c#3 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/hard-locale.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/human.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/human.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/inttostr.c#1 branch .. //depot/projects/hammer/contrib/gnu-sort/lib/inttostr.h#1 branch .. //depot/projects/hammer/contrib/gnu-sort/lib/long-options.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/long-options.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/memcoll.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/memcoll.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/pathmax.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/physmem.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/physmem.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/posixver.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/quote.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/quote.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/quotearg.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/quotearg.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/stdio-safer.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/strnlen.c#1 branch .. //depot/projects/hammer/contrib/gnu-sort/lib/timespec.h#1 branch .. //depot/projects/hammer/contrib/gnu-sort/lib/umaxtostr.c#1 branch .. //depot/projects/hammer/contrib/gnu-sort/lib/unistd-safer.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/version-etc.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/version-etc.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/xalloc.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/xmalloc.c#3 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/xmemcoll.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/xmemcoll.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/xstrtol.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/xstrtol.h#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/xstrtoul.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/xstrtoumax.c#2 integrate .. //depot/projects/hammer/contrib/gnu-sort/man/sort.1#3 integrate .. //depot/projects/hammer/contrib/gnu-sort/src/sort.c#3 integrate .. //depot/projects/hammer/contrib/gnu-sort/src/sys2.h#3 delete .. //depot/projects/hammer/contrib/gnu-sort/src/system.h#3 integrate .. //depot/projects/hammer/contrib/top/top.X#3 integrate .. //depot/projects/hammer/contrib/top/top.c#3 integrate .. //depot/projects/hammer/contrib/top/top.h#2 integrate .. //depot/projects/hammer/etc/defaults/rc.conf#30 integrate .. //depot/projects/hammer/etc/ftpusers#4 integrate .. //depot/projects/hammer/etc/mail/aliases#6 integrate .. //depot/projects/hammer/etc/mtree/BSD.include.dist#20 integrate .. //depot/projects/hammer/etc/rc.subr#18 integrate .. //depot/projects/hammer/games/fortune/fortune/fortune.6#2 integrate .. //depot/projects/hammer/games/fortune/strfile/strfile.8#2 integrate .. //depot/projects/hammer/gnu/lib/libdialog/dialog.3#3 integrate .. //depot/projects/hammer/gnu/lib/libregex/posix/regex.h#2 integrate .. //depot/projects/hammer/gnu/lib/libregex/regex.c#7 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/AUTHORS#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/COPYING#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/ChangeLog#3 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/Makefile#5 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/NEWS#3 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/THANKS#3 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/closeout.c#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/closeout.h#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/config.h#4 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/dfa.c#5 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/dfa.h#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/doc/grep.texi#3 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/doc/version.texi#3 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/error.c#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/error.h#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/exclude.c#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/exclude.h#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/getpagesize.h#3 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/grep.1#6 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/grep.c#5 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/grep.h#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/hard-locale.c#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/hard-locale.h#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/isdir.c#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/kwset.c#3 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/kwset.h#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/mbcache.h#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/quotearg.c#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/quotearg.h#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/savedir.c#3 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/savedir.h#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/search.c#5 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/system.h#3 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/backref.sh#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/tests/bre.awk#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/bre.sh#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/bre.tests#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/empty.sh#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/ere.awk#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/ere.sh#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/file.sh#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/tests/formatbre.awk#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/tests/formatere.awk#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/tests/khadafy.sh#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/options.sh#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/spencer1.awk#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/spencer1.sh#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/spencer2.sh#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/tests/spencer2.tests#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/tests/status.sh#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/tests/tests#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/tests/warning.sh#2 integrate .. //depot/projects/hammer/gnu/usr.bin/grep/xalloc.h#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/xmalloc.c#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/xstrtol.c#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/xstrtol.h#1 branch .. //depot/projects/hammer/gnu/usr.bin/grep/xstrtoumax.c#1 branch .. //depot/projects/hammer/gnu/usr.bin/man/apropos/apropos.man#2 integrate .. //depot/projects/hammer/gnu/usr.bin/man/man/man.man#2 integrate .. //depot/projects/hammer/gnu/usr.bin/sort/Makefile#4 integrate .. //depot/projects/hammer/gnu/usr.bin/sort/alloca.h#1 branch .. //depot/projects/hammer/gnu/usr.bin/sort/config.h#4 integrate .. //depot/projects/hammer/gnu/usr.bin/sort/localedir.h#1 branch .. //depot/projects/hammer/gnu/usr.bin/tar/tar.1#5 integrate .. //depot/projects/hammer/include/Makefile#24 integrate .. //depot/projects/hammer/include/wordexp.h#2 integrate .. //depot/projects/hammer/lib/libalias/Makefile#8 integrate .. //depot/projects/hammer/lib/libalias/alias.c#8 integrate .. //depot/projects/hammer/lib/libalias/alias.h#6 integrate .. //depot/projects/hammer/lib/libalias/alias_cuseeme.c#4 integrate .. //depot/projects/hammer/lib/libalias/alias_db.c#7 integrate .. //depot/projects/hammer/lib/libalias/alias_ftp.c#4 integrate .. //depot/projects/hammer/lib/libalias/alias_irc.c#4 integrate .. //depot/projects/hammer/lib/libalias/alias_local.h#6 integrate .. //depot/projects/hammer/lib/libalias/alias_nbt.c#5 integrate .. //depot/projects/hammer/lib/libalias/alias_old.c#3 integrate .. //depot/projects/hammer/lib/libalias/alias_pptp.c#5 integrate .. //depot/projects/hammer/lib/libalias/alias_proxy.c#5 integrate .. //depot/projects/hammer/lib/libalias/alias_skinny.c#4 integrate .. //depot/projects/hammer/lib/libalias/alias_smedia.c#4 integrate .. //depot/projects/hammer/lib/libalias/alias_util.c#5 integrate .. //depot/projects/hammer/lib/libalias/libalias.3#7 integrate .. //depot/projects/hammer/lib/libarchive/archive_entry.3#6 integrate .. //depot/projects/hammer/lib/libarchive/archive_read.3#9 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_extract.c#13 integrate .. //depot/projects/hammer/lib/libarchive/archive_util.3#2 integrate .. //depot/projects/hammer/lib/libarchive/archive_write.3#3 integrate .. //depot/projects/hammer/lib/libarchive/libarchive-formats.5#2 integrate .. //depot/projects/hammer/lib/libarchive/libarchive.3#4 integrate .. //depot/projects/hammer/lib/libarchive/tar.5#6 integrate .. //depot/projects/hammer/lib/libbluetooth/bluetooth.3#2 integrate .. //depot/projects/hammer/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#4 integrate .. //depot/projects/hammer/lib/libc/compat-43/gethostid.3#3 integrate .. //depot/projects/hammer/lib/libc/compat-43/sigvec.2#4 integrate .. //depot/projects/hammer/lib/libc/db/man/btree.3#4 integrate .. //depot/projects/hammer/lib/libc/db/man/dbopen.3#5 integrate .. //depot/projects/hammer/lib/libc/db/man/recno.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/basename.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/directory.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/dirname.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/dladdr.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/dllockinit.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/fmtcheck.3#5 integrate .. //depot/projects/hammer/lib/libc/gen/fnmatch.3#5 integrate .. //depot/projects/hammer/lib/libc/gen/ftok.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/fts.3#6 integrate .. //depot/projects/hammer/lib/libc/gen/getbootfile.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/getcap.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/getdiskbyname.3#2 integrate .. //depot/projects/hammer/lib/libc/gen/getdomainname.3#4 integrate .. //depot/projects/hammer/lib/libc/gen/getgrent.3#6 integrate .. //depot/projects/hammer/lib/libc/gen/gethostname.3#4 integrate .. //depot/projects/hammer/lib/libc/gen/getobjformat.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/getpwent.3#8 integrate .. //depot/projects/hammer/lib/libc/gen/lockf.3#4 integrate .. //depot/projects/hammer/lib/libc/gen/msgrcv.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/rand48.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/sem_destroy.3#2 integrate .. //depot/projects/hammer/lib/libc/gen/sem_getvalue.3#2 integrate .. //depot/projects/hammer/lib/libc/gen/sem_init.3#2 integrate .. //depot/projects/hammer/lib/libc/gen/sem_open.3#2 integrate .. //depot/projects/hammer/lib/libc/gen/sem_post.3#2 integrate .. //depot/projects/hammer/lib/libc/gen/sem_wait.3#2 integrate .. //depot/projects/hammer/lib/libc/gen/setjmp.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/setproctitle.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/shm_open.3#2 integrate .. //depot/projects/hammer/lib/libc/gen/signal.3#7 integrate .. //depot/projects/hammer/lib/libc/gen/sleep.3#2 integrate .. //depot/projects/hammer/lib/libc/gen/sysctl.3#6 integrate .. //depot/projects/hammer/lib/libc/gen/time.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/tzset.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/ualarm.3#4 integrate .. //depot/projects/hammer/lib/libc/gen/ucontext.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/unvis.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/vis.3#5 integrate .. //depot/projects/hammer/lib/libc/gen/wordexp.3#5 integrate .. //depot/projects/hammer/lib/libc/gen/wordexp.c#3 integrate .. //depot/projects/hammer/lib/libc/i386/gen/_ctx_start.S#2 integrate .. //depot/projects/hammer/lib/libc/i386/gen/makecontext.c#4 integrate .. //depot/projects/hammer/lib/libc/i386/gen/signalcontext.c#6 integrate .. //depot/projects/hammer/lib/libc/i386/sys/i386_get_ioperm.2#3 integrate .. //depot/projects/hammer/lib/libc/i386/sys/i386_get_ldt.2#5 integrate .. //depot/projects/hammer/lib/libc/i386/sys/i386_set_watch.3#3 integrate .. //depot/projects/hammer/lib/libc/locale/big5.5#3 integrate .. //depot/projects/hammer/lib/libc/locale/ctype.3#5 integrate .. //depot/projects/hammer/lib/libc/locale/euc.5#2 integrate .. //depot/projects/hammer/lib/libc/locale/gb18030.5#4 integrate .. //depot/projects/hammer/lib/libc/locale/gb2312.5#3 integrate .. //depot/projects/hammer/lib/libc/locale/gbk.5#4 integrate .. //depot/projects/hammer/lib/libc/locale/isideogram.3#2 integrate .. //depot/projects/hammer/lib/libc/locale/localeconv.3#2 integrate .. //depot/projects/hammer/lib/libc/locale/mblen.3#3 integrate .. //depot/projects/hammer/lib/libc/locale/mbrlen.3#6 integrate .. //depot/projects/hammer/lib/libc/locale/mbrtowc.3#4 integrate .. //depot/projects/hammer/lib/libc/locale/mbstowcs.3#3 integrate .. //depot/projects/hammer/lib/libc/locale/mbtowc.3#3 integrate .. //depot/projects/hammer/lib/libc/locale/mskanji.5#3 integrate .. //depot/projects/hammer/lib/libc/locale/multibyte.3#10 integrate .. //depot/projects/hammer/lib/libc/locale/rune.3#7 integrate .. //depot/projects/hammer/lib/libc/locale/setlocale.3#8 integrate .. //depot/projects/hammer/lib/libc/locale/utf2.5#2 integrate .. //depot/projects/hammer/lib/libc/locale/wcstombs.3#4 integrate .. //depot/projects/hammer/lib/libc/locale/wctomb.3#3 integrate .. //depot/projects/hammer/lib/libc/net/addr2ascii.3#4 integrate .. //depot/projects/hammer/lib/libc/net/byteorder.3#2 integrate .. //depot/projects/hammer/lib/libc/net/gethostbyname.3#5 integrate .. //depot/projects/hammer/lib/libc/net/getifaddrs.3#3 integrate .. //depot/projects/hammer/lib/libc/net/getifmaddrs.3#2 integrate .. //depot/projects/hammer/lib/libc/net/getipnodebyname.3#4 integrate .. //depot/projects/hammer/lib/libc/net/getnetent.3#3 integrate .. //depot/projects/hammer/lib/libc/net/getprotoent.3#2 integrate .. //depot/projects/hammer/lib/libc/net/getservent.3#2 integrate .. //depot/projects/hammer/lib/libc/net/inet.3#4 integrate .. //depot/projects/hammer/lib/libc/net/inet6_opt_init.3#3 integrate .. //depot/projects/hammer/lib/libc/net/inet6_rth_space.3#4 integrate .. //depot/projects/hammer/lib/libc/net/inet6_rthdr_space.3#4 integrate .. //depot/projects/hammer/lib/libc/net/linkaddr.3#3 integrate .. //depot/projects/hammer/lib/libc/net/resolver.3#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_delete.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_delete_entry.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_delete_perm.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_dup.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_free.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_from_text.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_get.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_get_entry.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_get_qualifier.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_init.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_set.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_set_qualifier.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_set_tag_type.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_to_text.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_valid.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/mac_get.3#7 integrate .. //depot/projects/hammer/lib/libc/posix1e/mac_prepare.3#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/mac_text.3#7 integrate .. //depot/projects/hammer/lib/libc/regex/re_format.7#2 integrate .. //depot/projects/hammer/lib/libc/regex/regex.3#5 integrate .. //depot/projects/hammer/lib/libc/rpc/getrpcent.3#3 integrate .. //depot/projects/hammer/lib/libc/rpc/getrpcport.3#3 integrate .. //depot/projects/hammer/lib/libc/rpc/rpc.3#4 integrate .. //depot/projects/hammer/lib/libc/rpc/rpc_secure.3#3 integrate .. //depot/projects/hammer/lib/libc/stdio/fflush.c#2 integrate .. //depot/projects/hammer/lib/libc/stdio/funopen.3#4 integrate .. //depot/projects/hammer/lib/libc/stdio/printf.3#8 integrate .. //depot/projects/hammer/lib/libc/stdio/stdio.3#6 integrate .. //depot/projects/hammer/lib/libc/stdlib/exit.3#6 integrate .. //depot/projects/hammer/lib/libc/stdlib/getenv.3#3 integrate .. //depot/projects/hammer/lib/libc/stdlib/getopt.3#5 integrate .. //depot/projects/hammer/lib/libc/stdlib/malloc.c#16 integrate .. //depot/projects/hammer/lib/libc/stdlib/qsort.3#5 integrate .. //depot/projects/hammer/lib/libc/stdlib/radixsort.3#3 integrate .. //depot/projects/hammer/lib/libc/stdlib/random.3#4 integrate .. //depot/projects/hammer/lib/libc/stdlib/tsearch.3#5 integrate .. //depot/projects/hammer/lib/libc/stdtime/ctime.3#4 integrate .. //depot/projects/hammer/lib/libc/stdtime/strftime.3#5 integrate .. //depot/projects/hammer/lib/libc/stdtime/strptime.3#4 integrate .. //depot/projects/hammer/lib/libc/string/ffs.3#5 integrate .. //depot/projects/hammer/lib/libc/string/strlcpy.3#3 integrate .. //depot/projects/hammer/lib/libc/string/strsep.3#3 integrate .. //depot/projects/hammer/lib/libc/sys/accept.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/aio_error.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/aio_read.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/aio_suspend.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/aio_write.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/chflags.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/chmod.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/chroot.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/clock_gettime.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/close.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/connect.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/dup.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/execve.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/fcntl.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/flock.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/fork.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/getdtablesize.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/getitimer.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/getlogin.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/getpriority.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/getrlimit.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/getrusage.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/getsockname.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/getsockopt.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/gettimeofday.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/intro.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/ioctl.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/issetugid.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/kldnext.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/kldstat.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/kqueue.2#9 integrate .. //depot/projects/hammer/lib/libc/sys/link.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/lseek.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/madvise.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/mlockall.2#2 integrate .. //depot/projects/hammer/lib/libc/sys/mmap.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/modnext.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/modstat.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/mount.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/msync.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/nanosleep.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/ntp_gettime.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/open.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/pipe.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/poll.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/ptrace.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/read.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/rename.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/rfork.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/sched_get_priority_max.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/sched_setparam.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/sched_setscheduler.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/sched_yield.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/select.2#8 integrate .. //depot/projects/hammer/lib/libc/sys/semctl.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/semget.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/send.2#7 integrate .. //depot/projects/hammer/lib/libc/sys/sendfile.2#8 integrate .. //depot/projects/hammer/lib/libc/sys/shmat.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/shmctl.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/shmget.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/sigaction.2#11 integrate .. //depot/projects/hammer/lib/libc/sys/sigwait.2#2 integrate .. //depot/projects/hammer/lib/libc/sys/socket.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/statfs.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/swapon.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/sysarch.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/truncate.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/umask.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/unlink.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/utrace.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/vfork.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/wait.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/write.2#5 integrate .. //depot/projects/hammer/lib/libcalendar/calendar.3#3 integrate .. //depot/projects/hammer/lib/libcam/cam.3#2 integrate .. //depot/projects/hammer/lib/libcam/cam_cdbparse.3#4 integrate .. //depot/projects/hammer/lib/libcompat/4.3/rexec.3#3 integrate .. //depot/projects/hammer/lib/libcompat/4.4/cuserid.3#4 integrate .. //depot/projects/hammer/lib/libcompat/regexp/regexp.3#3 integrate .. //depot/projects/hammer/lib/libcrypt/crypt.3#5 integrate .. //depot/projects/hammer/lib/libdevstat/devstat.3#6 integrate .. //depot/projects/hammer/lib/libdisk/libdisk.3#7 integrate .. //depot/projects/hammer/lib/libfetch/fetch.3#8 integrate .. //depot/projects/hammer/lib/libftpio/ftpio.3#4 integrate .. //depot/projects/hammer/lib/libgeom/libgeom.3#4 integrate .. //depot/projects/hammer/lib/libipsec/ipsec_set_policy.3#5 integrate .. //depot/projects/hammer/lib/libipx/ipx.3#3 integrate .. //depot/projects/hammer/lib/libkiconv/kiconv.3#4 integrate .. //depot/projects/hammer/lib/libkvm/kvm.3#5 integrate .. //depot/projects/hammer/lib/libkvm/kvm_getfiles.3#3 integrate .. //depot/projects/hammer/lib/libkvm/kvm_getprocs.3#6 integrate .. //depot/projects/hammer/lib/libkvm/kvm_getswapinfo.3#2 integrate .. //depot/projects/hammer/lib/libkvm/kvm_nlist.3#3 integrate .. //depot/projects/hammer/lib/libkvm/kvm_open.3#5 integrate .. //depot/projects/hammer/lib/libkvm/kvm_read.3#2 integrate .. //depot/projects/hammer/lib/libmd/ripemd.3#4 integrate .. //depot/projects/hammer/lib/libmd/sha.3#3 integrate .. //depot/projects/hammer/lib/libnetgraph/netgraph.3#6 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_chroot/pam_chroot.8#4 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_echo/pam_echo.8#3 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_exec/pam_exec.8#3 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_ftpusers/pam_ftpusers.8#2 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_group/pam_group.8#2 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_guest/pam_guest.8#2 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_lastlog/pam_lastlog.8#2 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_login_access/login.access.5#2 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_login_access/pam_login_access.8#2 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_opieaccess/pam_opieaccess.8#3 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_passwdqc/pam_passwdqc.8#2 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_radius/pam_radius.8#5 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_rhosts/pam_rhosts.8#2 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_self/pam_self.8#3 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_ssh/pam_ssh.8#3 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_tacplus/pam_tacplus.8#2 integrate .. //depot/projects/hammer/lib/libradius/radius.conf.5#2 integrate .. //depot/projects/hammer/lib/libsdp/sdp.3#3 integrate .. //depot/projects/hammer/lib/libstand/Makefile#9 integrate .. //depot/projects/hammer/lib/libstand/libstand.3#5 integrate .. //depot/projects/hammer/lib/libtacplus/libtacplus.3#5 integrate .. //depot/projects/hammer/lib/libtacplus/tacplus.conf.5#2 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_cond.c#11 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_create.c#12 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_mutex.c#19 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_private.h#17 integrate .. //depot/projects/hammer/lib/libufs/bread.3#3 integrate .. //depot/projects/hammer/lib/libufs/cgread.3#3 integrate .. //depot/projects/hammer/lib/libufs/getino.3#3 integrate .. //depot/projects/hammer/lib/libufs/libufs.3#3 integrate .. //depot/projects/hammer/lib/libufs/sbread.3#3 integrate .. //depot/projects/hammer/lib/libufs/ufs_disk_close.3#3 integrate .. //depot/projects/hammer/lib/libugidfw/bsde_get_rule.3#4 integrate .. //depot/projects/hammer/lib/libugidfw/bsde_get_rule_count.3#3 integrate .. //depot/projects/hammer/lib/libugidfw/bsde_parse_rule.3#3 integrate .. //depot/projects/hammer/lib/libugidfw/bsde_rule_to_string.3#3 integrate .. //depot/projects/hammer/lib/libugidfw/libugidfw.3#4 integrate .. //depot/projects/hammer/lib/libutil/auth.conf.5#2 integrate .. //depot/projects/hammer/lib/libutil/login.3#2 integrate .. //depot/projects/hammer/lib/libutil/login.conf.5#5 integrate .. //depot/projects/hammer/lib/libutil/login_cap.3#5 integrate .. //depot/projects/hammer/lib/libutil/login_ok.3#3 integrate .. //depot/projects/hammer/lib/libutil/login_times.3#3 integrate .. //depot/projects/hammer/lib/libutil/login_tty.3#3 integrate .. //depot/projects/hammer/lib/libutil/logout.3#3 integrate .. //depot/projects/hammer/lib/libutil/property.3#3 integrate .. //depot/projects/hammer/lib/libutil/pty.3#3 integrate .. //depot/projects/hammer/lib/libutil/realhostname.3#4 integrate .. //depot/projects/hammer/lib/libutil/realhostname_sa.3#5 integrate .. //depot/projects/hammer/lib/libutil/trimdomain.3#3 integrate .. //depot/projects/hammer/lib/libutil/uucplock.3#2 integrate .. //depot/projects/hammer/lib/libvgl/vgl.3#4 integrate .. //depot/projects/hammer/lib/libz/ChangeLog#2 integrate .. //depot/projects/hammer/lib/libz/FAQ#2 integrate .. //depot/projects/hammer/lib/libz/Makefile#3 integrate .. //depot/projects/hammer/lib/libz/README#2 integrate .. //depot/projects/hammer/lib/libz/adler32.c#2 integrate .. //depot/projects/hammer/lib/libz/algorithm.txt#2 integrate .. //depot/projects/hammer/lib/libz/compress.c#2 integrate .. //depot/projects/hammer/lib/libz/crc32.c#2 integrate .. //depot/projects/hammer/lib/libz/crc32.h#1 branch .. //depot/projects/hammer/lib/libz/deflate.c#2 integrate .. //depot/projects/hammer/lib/libz/deflate.h#2 integrate .. //depot/projects/hammer/lib/libz/example.c#2 integrate .. //depot/projects/hammer/lib/libz/gzio.c#3 integrate .. //depot/projects/hammer/lib/libz/infback.c#1 branch .. //depot/projects/hammer/lib/libz/infblock.c#2 delete .. //depot/projects/hammer/lib/libz/infblock.h#2 delete .. //depot/projects/hammer/lib/libz/infcodes.c#2 delete .. //depot/projects/hammer/lib/libz/infcodes.h#2 delete .. //depot/projects/hammer/lib/libz/inffast.c#2 integrate .. //depot/projects/hammer/lib/libz/inffast.h#2 integrate .. //depot/projects/hammer/lib/libz/inffixed.h#2 integrate .. //depot/projects/hammer/lib/libz/inflate.c#2 integrate .. //depot/projects/hammer/lib/libz/inflate.h#1 branch .. //depot/projects/hammer/lib/libz/inftrees.c#2 integrate .. //depot/projects/hammer/lib/libz/inftrees.h#2 integrate .. //depot/projects/hammer/lib/libz/infutil.c#2 delete .. //depot/projects/hammer/lib/libz/infutil.h#2 delete .. //depot/projects/hammer/lib/libz/maketree.c#2 delete .. //depot/projects/hammer/lib/libz/minigzip.c#3 integrate .. //depot/projects/hammer/lib/libz/trees.c#2 integrate .. //depot/projects/hammer/lib/libz/uncompr.c#2 integrate .. //depot/projects/hammer/lib/libz/zconf.h#2 integrate .. //depot/projects/hammer/lib/libz/zlib.3#3 integrate .. //depot/projects/hammer/lib/libz/zlib.h#2 integrate .. //depot/projects/hammer/lib/libz/zutil.c#2 integrate .. //depot/projects/hammer/lib/libz/zutil.h#2 integrate .. //depot/projects/hammer/lib/msun/Makefile#12 integrate .. //depot/projects/hammer/lib/msun/man/asin.3#2 integrate .. //depot/projects/hammer/lib/msun/man/atan2.3#2 integrate .. //depot/projects/hammer/lib/msun/man/atanh.3#2 integrate .. //depot/projects/hammer/lib/msun/man/erf.3#2 integrate .. //depot/projects/hammer/lib/msun/man/exp.3#2 integrate .. //depot/projects/hammer/lib/msun/man/fabs.3#3 integrate .. //depot/projects/hammer/lib/msun/man/fdim.3#1 branch .. //depot/projects/hammer/lib/msun/man/fmax.3#1 branch .. //depot/projects/hammer/lib/msun/man/hypot.3#4 integrate .. //depot/projects/hammer/lib/msun/man/ieee.3#5 integrate .. //depot/projects/hammer/lib/msun/man/sinh.3#2 integrate .. //depot/projects/hammer/lib/msun/src/math.h#17 integrate .. //depot/projects/hammer/lib/msun/src/s_fdim.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_fmax.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_fmaxf.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_fmaxl.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_fmin.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_fminf.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_fminl.c#1 branch .. //depot/projects/hammer/libexec/atrun/atrun.man#3 integrate .. //depot/projects/hammer/libexec/bootpd/bootpd.8#5 integrate .. //depot/projects/hammer/libexec/bootpd/bootptab.5#2 integrate .. //depot/projects/hammer/libexec/fingerd/fingerd.8#3 integrate .. //depot/projects/hammer/libexec/ftpd/ftpd.8#10 integrate .. //depot/projects/hammer/libexec/rbootd/rbootd.8#2 integrate .. //depot/projects/hammer/libexec/revnetgroup/revnetgroup.8#3 integrate .. //depot/projects/hammer/libexec/rexecd/rexecd.8#3 integrate .. //depot/projects/hammer/libexec/rlogind/rlogind.8#3 integrate .. //depot/projects/hammer/libexec/rpc.rwalld/rpc.rwalld.8#2 integrate .. //depot/projects/hammer/libexec/rshd/rshd.8#5 integrate .. //depot/projects/hammer/libexec/rtld-aout/rtld.1aout#3 integrate .. //depot/projects/hammer/libexec/rtld-elf/rtld_lock.c#2 integrate .. //depot/projects/hammer/libexec/tftpd/tftpd.c#7 integrate .. //depot/projects/hammer/libexec/ypxfr/ypxfr.8#3 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/early-adopter/article.sgml#8 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/alpha/article.sgml#3 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/amd64/article.sgml#3 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#71 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/i386/article.sgml#4 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/ia64/article.sgml#3 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/pc98/article.sgml#3 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/sparc64/article.sgml#3 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/share/sgml/release.dsl#4 integrate .. //depot/projects/hammer/release/doc/ru_RU.KOI8-R/early-adopter/article.sgml#2 integrate .. //depot/projects/hammer/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml#2 integrate .. //depot/projects/hammer/release/doc/share/sgml/release.ent#11 integrate .. //depot/projects/hammer/sbin/atacontrol/atacontrol.8#5 integrate .. //depot/projects/hammer/sbin/atm/fore_dnld/fore_dnld.8#3 integrate .. //depot/projects/hammer/sbin/badsect/badsect.8#5 integrate .. //depot/projects/hammer/sbin/camcontrol/camcontrol.8#4 integrate .. //depot/projects/hammer/sbin/ccdconfig/ccdconfig.8#6 integrate .. //depot/projects/hammer/sbin/comcontrol/comcontrol.8#3 integrate .. //depot/projects/hammer/sbin/devd/devd.8#8 integrate .. //depot/projects/hammer/sbin/devd/devd.cc#8 integrate .. //depot/projects/hammer/sbin/dumpfs/dumpfs.8#5 integrate .. //depot/projects/hammer/sbin/fdisk/fdisk.8#4 integrate .. //depot/projects/hammer/sbin/fdisk_pc98/fdisk.8#4 integrate .. //depot/projects/hammer/sbin/fsck/fsck.8#5 integrate .. //depot/projects/hammer/sbin/fsck_ffs/fsck_ffs.8#5 integrate .. //depot/projects/hammer/sbin/fsdb/fsdb.8#4 integrate .. //depot/projects/hammer/sbin/fsirand/fsirand.8#3 integrate .. //depot/projects/hammer/sbin/geom/class/Makefile#2 integrate .. //depot/projects/hammer/sbin/geom/class/label/Makefile#1 branch .. //depot/projects/hammer/sbin/geom/class/label/geom_label.c#1 branch .. //depot/projects/hammer/sbin/geom/class/label/glabel.8#1 branch .. //depot/projects/hammer/sbin/geom/misc/subr.c#3 integrate .. //depot/projects/hammer/sbin/geom/misc/subr.h#3 integrate .. //depot/projects/hammer/sbin/gpt/add.c#5 integrate .. //depot/projects/hammer/sbin/gpt/gpt.8#3 integrate .. //depot/projects/hammer/sbin/gpt/show.c#5 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.8#16 integrate .. //depot/projects/hammer/sbin/init/init.8#10 integrate .. //depot/projects/hammer/sbin/ip6fw/ip6fw.8#7 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw.8#24 integrate .. //depot/projects/hammer/sbin/ldconfig/ldconfig.8#4 integrate .. //depot/projects/hammer/sbin/mdconfig/mdconfig.8#14 integrate .. //depot/projects/hammer/sbin/mknod/mknod.8#8 integrate .. //depot/projects/hammer/sbin/mount_cd9660/mount_cd9660.8#6 integrate .. //depot/projects/hammer/sbin/mount_nfs/mount_nfs.8#9 integrate .. //depot/projects/hammer/sbin/mount_nullfs/mount_nullfs.8#6 integrate .. //depot/projects/hammer/sbin/mount_std/mount_std.8#5 integrate .. //depot/projects/hammer/sbin/mount_umapfs/mount_umapfs.8#5 integrate .. //depot/projects/hammer/sbin/mount_unionfs/mount_unionfs.8#5 integrate .. //depot/projects/hammer/sbin/natd/icmp.c#2 integrate .. //depot/projects/hammer/sbin/natd/natd.c#8 integrate .. //depot/projects/hammer/sbin/natd/natd.h#2 integrate .. //depot/projects/hammer/sbin/newfs_msdos/newfs_msdos.8#3 integrate .. //depot/projects/hammer/sbin/nos-tun/nos-tun.8#2 integrate .. //depot/projects/hammer/sbin/rcorder/rcorder.8#3 integrate .. //depot/projects/hammer/sbin/reboot/boot_i386.8#5 integrate .. //depot/projects/hammer/sbin/restore/restore.8#8 integrate .. //depot/projects/hammer/sbin/route/route.8#6 integrate .. //depot/projects/hammer/sbin/routed/routed.8#5 integrate .. //depot/projects/hammer/sbin/shutdown/shutdown.8#5 integrate .. //depot/projects/hammer/sbin/slattach/slattach.8#4 integrate .. //depot/projects/hammer/sbin/spppcontrol/spppcontrol.8#2 integrate .. //depot/projects/hammer/sbin/startslip/startslip.1#3 integrate .. //depot/projects/hammer/sbin/vinum/vinum.8#10 integrate .. //depot/projects/hammer/share/examples/etc/make.conf#19 integrate .. //depot/projects/hammer/share/examples/pppd/ppp.deny.sample#4 integrate .. //depot/projects/hammer/share/examples/ses/getencstat/getencstat.0#3 integrate .. //depot/projects/hammer/share/examples/ses/sesd/sesd.0#3 integrate .. //depot/projects/hammer/share/examples/ses/setencstat/setencstat.0#2 integrate .. //depot/projects/hammer/share/examples/ses/setobjstat/setobjstat.0#2 integrate .. //depot/projects/hammer/share/man/man3/fpgetround.3#4 integrate .. //depot/projects/hammer/share/man/man3/intro.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_cancel.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_create.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_detach.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_exit.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_join.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_once.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_rwlock_destroy.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_rwlock_init.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_rwlock_rdlock.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_rwlock_unlock.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_rwlock_wrlock.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_rwlockattr_destroy.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_rwlockattr_getpshared.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_rwlockattr_init.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_rwlockattr_setpshared.3#2 integrate .. //depot/projects/hammer/share/man/man3/pthread_switch_add_np.3#2 integrate .. //depot/projects/hammer/share/man/man3/stdarg.3#6 integrate .. //depot/projects/hammer/share/man/man3/sysexits.3#4 integrate .. //depot/projects/hammer/share/man/man4/aac.4#6 integrate .. //depot/projects/hammer/share/man/man4/acpi.4#25 integrate .. //depot/projects/hammer/share/man/man4/aha.4#7 integrate .. //depot/projects/hammer/share/man/man4/ahb.4#4 integrate .. //depot/projects/hammer/share/man/man4/ahc.4#5 integrate .. //depot/projects/hammer/share/man/man4/ahd.4#3 integrate .. //depot/projects/hammer/share/man/man4/atkbd.4#3 integrate .. //depot/projects/hammer/share/man/man4/bge.4#10 integrate .. //depot/projects/hammer/share/man/man4/bktr.4#5 integrate .. //depot/projects/hammer/share/man/man4/bpf.4#6 integrate .. //depot/projects/hammer/share/man/man4/ccd.4#5 integrate .. //depot/projects/hammer/share/man/man4/cd.4#5 integrate .. //depot/projects/hammer/share/man/man4/ch.4#5 integrate .. //depot/projects/hammer/share/man/man4/ciss.4#6 integrate .. //depot/projects/hammer/share/man/man4/cy.4#2 integrate .. //depot/projects/hammer/share/man/man4/da.4#5 integrate .. //depot/projects/hammer/share/man/man4/dc.4#10 integrate .. //depot/projects/hammer/share/man/man4/divert.4#4 integrate .. //depot/projects/hammer/share/man/man4/dpt.4#5 integrate .. //depot/projects/hammer/share/man/man4/en.4#5 integrate .. //depot/projects/hammer/share/man/man4/fatm.4#2 integrate .. //depot/projects/hammer/share/man/man4/fxp.4#8 integrate .. //depot/projects/hammer/share/man/man4/geom.4#6 integrate .. //depot/projects/hammer/share/man/man4/gre.4#5 integrate .. //depot/projects/hammer/share/man/man4/gusc.4#2 integrate .. //depot/projects/hammer/share/man/man4/hatm.4#4 integrate .. //depot/projects/hammer/share/man/man4/ida.4#2 integrate .. //depot/projects/hammer/share/man/man4/ifmib.4#5 integrate .. //depot/projects/hammer/share/man/man4/iic.4#2 integrate .. //depot/projects/hammer/share/man/man4/iir.4#5 integrate .. //depot/projects/hammer/share/man/man4/inet.4#9 integrate .. //depot/projects/hammer/share/man/man4/intro.4#6 integrate .. //depot/projects/hammer/share/man/man4/ip6.4#3 integrate .. //depot/projects/hammer/share/man/man4/ips.4#3 integrate .. //depot/projects/hammer/share/man/man4/ispfw.4#2 integrate .. //depot/projects/hammer/share/man/man4/joy.4#2 integrate .. //depot/projects/hammer/share/man/man4/keyboard.4#3 integrate .. //depot/projects/hammer/share/man/man4/led.4#6 integrate .. //depot/projects/hammer/share/man/man4/lp.4#3 integrate .. //depot/projects/hammer/share/man/man4/mac.4#5 integrate .. //depot/projects/hammer/share/man/man4/mac_biba.4#4 integrate .. //depot/projects/hammer/share/man/man4/mac_bsdextended.4#5 integrate .. //depot/projects/hammer/share/man/man4/mac_ifoff.4#5 integrate .. //depot/projects/hammer/share/man/man4/mac_lomac.4#6 integrate .. //depot/projects/hammer/share/man/man4/mac_mls.4#6 integrate .. //depot/projects/hammer/share/man/man4/mac_none.4#7 integrate .. //depot/projects/hammer/share/man/man4/mac_partition.4#5 integrate .. //depot/projects/hammer/share/man/man4/mac_portacl.4#5 integrate .. //depot/projects/hammer/share/man/man4/mac_seeotheruids.4#6 integrate .. //depot/projects/hammer/share/man/man4/mac_stub.4#3 integrate .. //depot/projects/hammer/share/man/man4/mac_test.4#6 integrate .. //depot/projects/hammer/share/man/man4/man4.alpha/osf1.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/acpi_asus.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/amdpm.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/apm.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ar.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/cs.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ct.4#5 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ex.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/fe.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/io.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/longrun.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/mse.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ndis.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/perfmon.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ray.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/scd.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/spkr.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/streams.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/vx.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/wl.4#2 integrate .. //depot/projects/hammer/share/man/man4/matcd.4#4 integrate .. //depot/projects/hammer/share/man/man4/mem.4#4 integrate .. //depot/projects/hammer/share/man/man4/meteor.4#3 integrate .. //depot/projects/hammer/share/man/man4/mly.4#2 integrate .. //depot/projects/hammer/share/man/man4/mouse.4#2 integrate .. //depot/projects/hammer/share/man/man4/mtio.4#4 integrate .. //depot/projects/hammer/share/man/man4/multicast.4#2 integrate .. //depot/projects/hammer/share/man/man4/natmip.4#4 integrate .. //depot/projects/hammer/share/man/man4/netgraph.4#5 integrate .. //depot/projects/hammer/share/man/man4/ng_UI.4#2 integrate .. //depot/projects/hammer/share/man/man4/ng_async.4#2 integrate .. //depot/projects/hammer/share/man/man4/ng_atm.4#6 integrate .. //depot/projects/hammer/share/man/man4/ng_atmllc.4#2 integrate .. //depot/projects/hammer/share/man/man4/ng_atmpif.4#3 integrate .. //depot/projects/hammer/share/man/man4/ng_bluetooth.4#8 integrate .. //depot/projects/hammer/share/man/man4/ng_bpf.4#3 integrate .. //depot/projects/hammer/share/man/man4/ng_btsocket.4#7 integrate .. //depot/projects/hammer/share/man/man4/ng_cisco.4#2 integrate .. //depot/projects/hammer/share/man/man4/ng_frame_relay.4#2 integrate .. //depot/projects/hammer/share/man/man4/ng_hci.4#8 integrate .. //depot/projects/hammer/share/man/man4/ng_iface.4#3 integrate .. //depot/projects/hammer/share/man/man4/ng_ksocket.4#4 integrate .. //depot/projects/hammer/share/man/man4/ng_l2cap.4#9 integrate .. //depot/projects/hammer/share/man/man4/ng_lmi.4#2 integrate .. //depot/projects/hammer/share/man/man4/ng_one2many.4#8 integrate .. //depot/projects/hammer/share/man/man4/ng_ppp.4#3 integrate .. //depot/projects/hammer/share/man/man4/ng_pppoe.4#5 integrate .. //depot/projects/hammer/share/man/man4/ng_socket.4#3 integrate .. //depot/projects/hammer/share/man/man4/ng_sppp.4#3 integrate .. //depot/projects/hammer/share/man/man4/ng_sscfu.4#4 integrate .. //depot/projects/hammer/share/man/man4/ng_sscop.4#3 integrate .. //depot/projects/hammer/share/man/man4/ng_tty.4#2 integrate .. //depot/projects/hammer/share/man/man4/ng_uni.4#4 integrate .. //depot/projects/hammer/share/man/man4/ng_vjc.4#4 integrate .. //depot/projects/hammer/share/man/man4/patm.4#3 integrate .. //depot/projects/hammer/share/man/man4/pci.4#5 integrate .. //depot/projects/hammer/share/man/man4/pcn.4#3 integrate .. //depot/projects/hammer/share/man/man4/pcvt.4#2 integrate .. //depot/projects/hammer/share/man/man4/ppbus.4#2 integrate .. //depot/projects/hammer/share/man/man4/ppi.4#4 integrate .. //depot/projects/hammer/share/man/man4/psm.4#5 integrate .. //depot/projects/hammer/share/man/man4/pt.4#4 integrate .. //depot/projects/hammer/share/man/man4/pty.4#4 integrate .. //depot/projects/hammer/share/man/man4/random.4#6 integrate .. //depot/projects/hammer/share/man/man4/re.4#5 integrate .. //depot/projects/hammer/share/man/man4/rl.4#9 integrate .. //depot/projects/hammer/share/man/man4/route.4#4 integrate .. //depot/projects/hammer/share/man/man4/sa.4#3 integrate .. //depot/projects/hammer/share/man/man4/safe.4#3 integrate .. //depot/projects/hammer/share/man/man4/sbc.4#2 integrate .. //depot/projects/hammer/share/man/man4/sbp_targ.4#3 integrate .. //depot/projects/hammer/share/man/man4/scsi.4#4 integrate .. //depot/projects/hammer/share/man/man4/si.4#3 integrate .. //depot/projects/hammer/share/man/man4/sio.4#6 integrate .. //depot/projects/hammer/share/man/man4/sis.4#5 integrate .. //depot/projects/hammer/share/man/man4/sppp.4#2 integrate .. //depot/projects/hammer/share/man/man4/stg.4#3 integrate .. //depot/projects/hammer/share/man/man4/sym.4#4 integrate .. //depot/projects/hammer/share/man/man4/sysmouse.4#4 integrate .. //depot/projects/hammer/share/man/man4/termios.4#4 integrate .. //depot/projects/hammer/share/man/man4/ti.4#6 integrate .. //depot/projects/hammer/share/man/man4/tl.4#4 integrate .. //depot/projects/hammer/share/man/man4/ttcp.4#4 integrate .. //depot/projects/hammer/share/man/man4/tty.4#4 integrate .. //depot/projects/hammer/share/man/man4/twe.4#3 integrate .. //depot/projects/hammer/share/man/man4/txp.4#3 integrate .. //depot/projects/hammer/share/man/man4/uaudio.4#2 integrate .. //depot/projects/hammer/share/man/man4/udp.4#3 integrate .. //depot/projects/hammer/share/man/man4/ukbd.4#6 integrate .. //depot/projects/hammer/share/man/man4/umass.4#13 integrate .. //depot/projects/hammer/share/man/man4/umct.4#2 integrate .. //depot/projects/hammer/share/man/man4/ums.4#3 integrate .. //depot/projects/hammer/share/man/man4/utopia.4#6 integrate .. //depot/projects/hammer/share/man/man4/vga.4#3 integrate .. //depot/projects/hammer/share/man/man4/vpo.4#5 integrate .. //depot/projects/hammer/share/man/man4/vr.4#4 integrate .. //depot/projects/hammer/share/man/man4/wi.4#18 integrate .. //depot/projects/hammer/share/man/man4/xe.4#4 integrate .. //depot/projects/hammer/share/man/man4/xl.4#6 integrate .. //depot/projects/hammer/share/man/man4/xpt.4#2 integrate .. //depot/projects/hammer/share/man/man5/a.out.5#3 integrate .. //depot/projects/hammer/share/man/man5/devfs.5#5 integrate .. //depot/projects/hammer/share/man/man5/disktab.5#4 integrate .. //depot/projects/hammer/share/man/man5/elf.5#7 integrate .. //depot/projects/hammer/share/man/man5/fdescfs.5#3 integrate .. //depot/projects/hammer/share/man/man5/forward.5#2 integrate .. //depot/projects/hammer/share/man/man5/fs.5#6 integrate .. //depot/projects/hammer/share/man/man5/fstab.5#3 integrate .. //depot/projects/hammer/share/man/man5/hosts.5#2 integrate .. //depot/projects/hammer/share/man/man5/hosts.equiv.5#2 integrate .. //depot/projects/hammer/share/man/man5/link.5#5 integrate .. //depot/projects/hammer/share/man/man5/mailer.conf.5#2 integrate .. //depot/projects/hammer/share/man/man5/make.conf.5#20 integrate .. //depot/projects/hammer/share/man/man5/networks.5#2 integrate .. //depot/projects/hammer/share/man/man5/passwd.5#5 integrate .. //depot/projects/hammer/share/man/man5/pbm.5#2 integrate .. //depot/projects/hammer/share/man/man5/phones.5#2 integrate .. //depot/projects/hammer/share/man/man5/procfs.5#6 integrate .. //depot/projects/hammer/share/man/man5/protocols.5#2 integrate .. //depot/projects/hammer/share/man/man5/rc.conf.5#30 integrate .. //depot/projects/hammer/share/man/man5/remote.5#5 integrate .. //depot/projects/hammer/share/man/man5/services.5#2 integrate .. //depot/projects/hammer/share/man/man5/stab.5#3 integrate .. //depot/projects/hammer/share/man/man5/sysctl.conf.5#2 integrate .. //depot/projects/hammer/share/man/man7/development.7#4 integrate .. //depot/projects/hammer/share/man/man7/environ.7#5 integrate .. //depot/projects/hammer/share/man/man7/firewall.7#6 integrate .. //depot/projects/hammer/share/man/man7/hier.7#19 integrate .. //depot/projects/hammer/share/man/man7/hostname.7#2 integrate .. //depot/projects/hammer/share/man/man7/maclabel.7#5 integrate .. //depot/projects/hammer/share/man/man7/mailaddr.7#2 integrate .. //depot/projects/hammer/share/man/man7/sdoc.7#2 integrate .. //depot/projects/hammer/share/man/man7/security.7#8 integrate .. //depot/projects/hammer/share/man/man7/tuning.7#7 integrate .. //depot/projects/hammer/share/man/man8/adding_user.8#3 integrate .. //depot/projects/hammer/share/man/man8/picobsd.8#4 integrate .. //depot/projects/hammer/share/man/man8/rc.8#4 integrate .. //depot/projects/hammer/share/man/man8/rc.subr.8#4 integrate .. //depot/projects/hammer/share/man/man8/yp.8#6 integrate .. //depot/projects/hammer/share/man/man9/BUS_CONFIG_INTR.9#3 integrate .. //depot/projects/hammer/share/man/man9/DEVICE_DETACH.9#3 integrate .. //depot/projects/hammer/share/man/man9/DEVICE_IDENTIFY.9#5 integrate .. //depot/projects/hammer/share/man/man9/DEVICE_PROBE.9#5 integrate .. //depot/projects/hammer/share/man/man9/MD5.9#3 integrate .. //depot/projects/hammer/share/man/man9/VOP_LINK.9#5 integrate .. //depot/projects/hammer/share/man/man9/VOP_LISTEXTATTR.9#4 integrate .. //depot/projects/hammer/share/man/man9/boot.9#3 integrate .. //depot/projects/hammer/share/man/man9/buf.9#6 integrate .. //depot/projects/hammer/share/man/man9/bus_dma.9#9 integrate .. //depot/projects/hammer/share/man/man9/bus_release_resource.9#2 integrate .. //depot/projects/hammer/share/man/man9/device_add_child.9#6 integrate .. //depot/projects/hammer/share/man/man9/devstat.9#4 integrate .. //depot/projects/hammer/share/man/man9/g_access.9#4 integrate .. //depot/projects/hammer/share/man/man9/g_attach.9#5 integrate .. //depot/projects/hammer/share/man/man9/g_bio.9#5 integrate .. //depot/projects/hammer/share/man/man9/g_consumer.9#5 integrate .. //depot/projects/hammer/share/man/man9/g_data.9#5 integrate .. //depot/projects/hammer/share/man/man9/g_event.9#4 integrate .. //depot/projects/hammer/share/man/man9/g_geom.9#5 integrate .. //depot/projects/hammer/share/man/man9/g_provider.9#5 integrate .. //depot/projects/hammer/share/man/man9/g_provider_by_name.9#4 integrate .. //depot/projects/hammer/share/man/man9/g_wither_geom.9#4 integrate .. //depot/projects/hammer/share/man/man9/ieee80211.9#2 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_node.9#2 integrate .. //depot/projects/hammer/share/man/man9/ithread.9#3 integrate .. //depot/projects/hammer/share/man/man9/kobj.9#4 integrate .. //depot/projects/hammer/share/man/man9/mac.9#7 integrate .. //depot/projects/hammer/share/man/man9/mbpool.9#3 integrate .. //depot/projects/hammer/share/man/man9/mbuf.9#15 integrate .. //depot/projects/hammer/share/man/man9/mi_switch.9#4 integrate .. //depot/projects/hammer/share/man/man9/microseq.9#3 integrate .. //depot/projects/hammer/share/man/man9/mutex.9#10 integrate .. //depot/projects/hammer/share/man/man9/p_candebug.9#2 integrate .. //depot/projects/hammer/share/man/man9/pci.9#3 integrate .. //depot/projects/hammer/share/man/man9/pmap.9#4 integrate .. //depot/projects/hammer/share/man/man9/pseudofs.9#3 integrate .. //depot/projects/hammer/share/man/man9/random.9#5 integrate .. //depot/projects/hammer/share/man/man9/spl.9#3 integrate .. //depot/projects/hammer/share/man/man9/style.9#16 integrate .. //depot/projects/hammer/share/man/man9/sysctl_add_oid.9#5 integrate .. //depot/projects/hammer/share/man/man9/sysctl_ctx_init.9#3 integrate .. //depot/projects/hammer/share/man/man9/taskqueue.9#5 integrate .. //depot/projects/hammer/share/man/man9/utopia.9#4 integrate .. //depot/projects/hammer/share/man/man9/vref.9#5 integrate .. //depot/projects/hammer/share/man/man9/watchdog.9#2 integrate .. //depot/projects/hammer/share/mk/bsd.port.mk#2 integrate .. //depot/projects/hammer/share/mk/bsd.port.subdir.mk#2 integrate .. //depot/projects/hammer/share/syscons/keymaps/be.iso.acc.kbd#2 integrate .. //depot/projects/hammer/share/syscons/keymaps/be.iso.kbd#3 integrate .. //depot/projects/hammer/share/termcap/termcap.5#4 integrate .. //depot/projects/hammer/sys/alpha/alpha/interrupt.c#13 integrate .. //depot/projects/hammer/sys/alpha/alpha/pmap.c#26 integrate .. //depot/projects/hammer/sys/alpha/include/param.h#7 integrate .. //depot/projects/hammer/sys/alpha/include/pmap.h#10 integrate .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#21 integrate .. //depot/projects/hammer/sys/amd64/include/param.h#19 integrate .. //depot/projects/hammer/sys/arm/arm/intr.c#2 integrate .. //depot/projects/hammer/sys/arm/arm/nexus.c#3 integrate .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0.c#3 integrate .. //depot/projects/hammer/sys/boot/common/loader.8#11 integrate .. //depot/projects/hammer/sys/boot/common/ufsread.c#5 integrate .. //depot/projects/hammer/sys/coda/coda_subr.c#7 integrate .. //depot/projects/hammer/sys/conf/NOTES#52 integrate .. //depot/projects/hammer/sys/conf/files#70 integrate .. //depot/projects/hammer/sys/conf/options#45 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_ec.c#25 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_pcib_acpi.c#10 integrate .. //depot/projects/hammer/sys/dev/fdc/fdc.c#4 integrate .. //depot/projects/hammer/sys/dev/hifn/hifn7751.c#12 integrate .. //depot/projects/hammer/sys/dev/nmdm/nmdm.c#14 integrate .. //depot/projects/hammer/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/hammer/sys/dev/sound/pci/via82c686.c#9 integrate .. //depot/projects/hammer/sys/dev/usb/ehci.c#8 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs#41 integrate .. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_fileno.c#1 branch .. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_vfsops.c#19 integrate .. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_vnops.c#13 integrate .. //depot/projects/hammer/sys/fs/msdosfs/msdosfsmount.h#7 integrate .. //depot/projects/hammer/sys/geom/geom_slice.c#17 integrate .. //depot/projects/hammer/sys/geom/vinum/geom_vinum.c#5 integrate .. //depot/projects/hammer/sys/gnu/ext2fs/ext2_vfsops.c#16 integrate .. //depot/projects/hammer/sys/i386/i386/busdma_machdep.c#15 integrate .. //depot/projects/hammer/sys/i386/i386/intr_machdep.c#9 integrate .. //depot/projects/hammer/sys/i386/i386/nexus.c#13 integrate .. //depot/projects/hammer/sys/i386/include/param.h#8 integrate .. //depot/projects/hammer/sys/i386/isa/isa.c#5 integrate .. //depot/projects/hammer/sys/i386/linux/linux_ptrace.c#7 integrate .. //depot/projects/hammer/sys/i386/pci/pci_cfgreg.c#17 integrate .. //depot/projects/hammer/sys/i4b/driver/i4b_ing.c#6 integrate .. //depot/projects/hammer/sys/ia64/ia64/interrupt.c#15 integrate .. //depot/projects/hammer/sys/isofs/cd9660/cd9660_lookup.c#7 integrate .. //depot/projects/hammer/sys/isofs/cd9660/cd9660_node.c#8 integrate .. //depot/projects/hammer/sys/isofs/cd9660/cd9660_rrip.c#7 integrate .. //depot/projects/hammer/sys/isofs/cd9660/cd9660_rrip.h#3 integrate .. //depot/projects/hammer/sys/isofs/cd9660/cd9660_vfsops.c#14 integrate .. //depot/projects/hammer/sys/kern/kern_event.c#16 integrate .. //depot/projects/hammer/sys/kern/kern_intr.c#26 integrate .. //depot/projects/hammer/sys/kern/kern_mutex.c#19 integrate .. //depot/projects/hammer/sys/kern/kern_poll.c#9 integrate .. //depot/projects/hammer/sys/kern/kern_shutdown.c#16 integrate .. //depot/projects/hammer/sys/kern/kern_switch.c#16 integrate .. //depot/projects/hammer/sys/kern/kern_synch.c#34 integrate .. //depot/projects/hammer/sys/kern/sched_4bsd.c#20 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#35 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#33 integrate .. //depot/projects/hammer/sys/kern/vfs_default.c#20 integrate .. //depot/projects/hammer/sys/kern/vfs_mount.c#29 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#43 integrate .. //depot/projects/hammer/sys/modules/msdosfs/Makefile#4 integrate .. //depot/projects/hammer/sys/net/bpf.c#20 integrate .. //depot/projects/hammer/sys/net/bridge.c#15 integrate .. //depot/projects/hammer/sys/net/if_vlan.c#17 integrate .. //depot/projects/hammer/sys/netgraph/ng_async.c#3 integrate .. //depot/projects/hammer/sys/netgraph/ng_eiface.c#10 integrate .. //depot/projects/hammer/sys/netgraph/ng_fec.c#8 integrate .. //depot/projects/hammer/sys/netgraph/ng_gif_demux.c#4 integrate .. //depot/projects/hammer/sys/netgraph/ng_iface.c#11 integrate .. //depot/projects/hammer/sys/netgraph/ng_sppp.c#4 integrate .. //depot/projects/hammer/sys/nfs4client/nfs4_vfsops.c#7 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_subs.c#15 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vfsops.c#23 integrate .. //depot/projects/hammer/sys/nfsserver/nfs_srvcache.c#6 integrate .. //depot/projects/hammer/sys/pci/if_de.c#17 integrate .. //depot/projects/hammer/sys/pci/if_devar.h#5 integrate .. //depot/projects/hammer/sys/pci/if_rl.c#37 integrate .. //depot/projects/hammer/sys/pci/if_rlreg.h#11 integrate .. //depot/projects/hammer/sys/pci/if_vr.c#23 integrate .. //depot/projects/hammer/sys/pci/if_xl.c#40 integrate .. //depot/projects/hammer/sys/pci/if_xlreg.h#9 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/intr_machdep.c#8 integrate .. //depot/projects/hammer/sys/sparc64/ebus/ebus.c#12 integrate .. //depot/projects/hammer/sys/sparc64/fhc/fhc.c#3 integrate .. //depot/projects/hammer/sys/sparc64/pci/psycho.c#20 integrate .. //depot/projects/hammer/sys/sparc64/sbus/sbus.c#14 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/intr_machdep.c#9 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/iommu.c#17 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/nexus.c#8 integrate .. //depot/projects/hammer/sys/sys/event.h#3 integrate .. //depot/projects/hammer/sys/sys/interrupt.h#9 integrate .. //depot/projects/hammer/sys/sys/mount.h#18 integrate .. //depot/projects/hammer/sys/sys/proc.h#56 integrate .. //depot/projects/hammer/sys/sys/vnode.h#27 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_snapshot.c#22 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_vfsops.c#22 integrate .. //depot/projects/hammer/sys/ufs/ufs/ufs_quota.c#11 integrate .. //depot/projects/hammer/sys/vm/uma_core.c#27 integrate .. //depot/projects/hammer/sys/vm/vm_zeroidle.c#12 integrate .. //depot/projects/hammer/usr.bin/basename/basename.1#2 integrate .. //depot/projects/hammer/usr.bin/c89/c89.1#2 integrate .. //depot/projects/hammer/usr.bin/calendar/calendar.1#5 integrate .. //depot/projects/hammer/usr.bin/checknr/checknr.1#2 integrate .. //depot/projects/hammer/usr.bin/chpass/chpass.1#4 integrate .. //depot/projects/hammer/usr.bin/col/col.1#2 integrate .. //depot/projects/hammer/usr.bin/comm/comm.1#3 integrate .. //depot/projects/hammer/usr.bin/comm/comm.c#2 integrate .. //depot/projects/hammer/usr.bin/compress/compress.1#2 integrate .. //depot/projects/hammer/usr.bin/csplit/csplit.1#3 integrate .. //depot/projects/hammer/usr.bin/du/du.1#4 integrate .. //depot/projects/hammer/usr.bin/ee/ee.1#3 integrate .. //depot/projects/hammer/usr.bin/enigma/enigma.1#3 integrate .. //depot/projects/hammer/usr.bin/expand/expand.1#3 integrate .. //depot/projects/hammer/usr.bin/fetch/fetch.c#11 integrate .. //depot/projects/hammer/usr.bin/file/file.1#5 integrate .. //depot/projects/hammer/usr.bin/file/magic.5#4 integrate .. //depot/projects/hammer/usr.bin/find/find.1#11 integrate .. //depot/projects/hammer/usr.bin/finger/finger.1#4 integrate .. //depot/projects/hammer/usr.bin/fstat/Makefile#2 integrate .. //depot/projects/hammer/usr.bin/fstat/cd9660.c#3 integrate .. //depot/projects/hammer/usr.bin/fstat/fstat.1#4 integrate .. //depot/projects/hammer/usr.bin/fstat/fstat.c#9 integrate .. //depot/projects/hammer/usr.bin/fstat/fstat.h#4 integrate .. //depot/projects/hammer/usr.bin/fstat/msdosfs.c#4 integrate .. //depot/projects/hammer/usr.bin/gcore/gcore.1#2 integrate .. //depot/projects/hammer/usr.bin/gencat/gencat.1#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 5 17:53:25 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9348716A4D0; Mon, 5 Jul 2004 17:53:25 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6CA4E16A4CE for ; Mon, 5 Jul 2004 17:53:25 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 66E7B43D31 for ; Mon, 5 Jul 2004 17:53:25 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65HrPlG096754 for ; Mon, 5 Jul 2004 17:53:25 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65HrOhg096751 for perforce@freebsd.org; Mon, 5 Jul 2004 17:53:24 GMT (envelope-from peter@freebsd.org) Date: Mon, 5 Jul 2004 17:53:24 GMT Message-Id: <200407051753.i65HrOhg096751@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 56526 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 17:53:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=56526 Change 56526 by peter@peter_overcee on 2004/07/05 17:52:43 Integ -I -b i386_hammer Affected files ... .. //depot/projects/hammer/sys/amd64/acpica/acpi_machdep.c#15 integrate .. //depot/projects/hammer/sys/amd64/amd64/amd64_mem.c#8 integrate .. //depot/projects/hammer/sys/amd64/amd64/busdma_machdep.c#12 integrate .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#22 integrate .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#64 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#29 integrate .. //depot/projects/hammer/sys/amd64/amd64/nexus.c#26 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#35 integrate .. //depot/projects/hammer/sys/amd64/include/param.h#20 integrate .. //depot/projects/hammer/sys/amd64/isa/isa.c#11 integrate .. //depot/projects/hammer/sys/amd64/pci/pci_cfgreg.c#14 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/acpica/acpi_machdep.c#15 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/amd64_mem.c#8 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/busdma_machdep.c#12 (text+ko) ==== @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -84,8 +85,24 @@ static int reserved_bpages; static int active_bpages; static int total_bpages; +static int total_bounced; +static int total_deferred; static bus_addr_t bounce_lowaddr = BUS_SPACE_MAXADDR; +SYSCTL_NODE(_hw, OID_AUTO, busdma, CTLFLAG_RD, 0, "Busdma parameters"); +SYSCTL_INT(_hw_busdma, OID_AUTO, free_bpages, CTLFLAG_RD, &free_bpages, 0, + "Free bounce pages"); +SYSCTL_INT(_hw_busdma, OID_AUTO, reserved_bpages, CTLFLAG_RD, &reserved_bpages, + 0, "Reserved bounce pages"); +SYSCTL_INT(_hw_busdma, OID_AUTO, active_bpages, CTLFLAG_RD, &active_bpages, 0, + "Active bounce pages"); +SYSCTL_INT(_hw_busdma, OID_AUTO, total_bpages, CTLFLAG_RD, &total_bpages, 0, + "Total bounce pages"); +SYSCTL_INT(_hw_busdma, OID_AUTO, total_bounced, CTLFLAG_RD, &total_bounced, 0, + "Total bounce requests"); +SYSCTL_INT(_hw_busdma, OID_AUTO, total_deferred, CTLFLAG_RD, &total_deferred, 0, + "Total bounce requests that were deferred"); + struct bus_dmamap { struct bp_list bpages; int pagesneeded; @@ -109,7 +126,8 @@ static bus_addr_t add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t vaddr, bus_size_t size); static void free_bounce_page(bus_dma_tag_t dmat, struct bounce_page *bpage); -static __inline int run_filter(bus_dma_tag_t dmat, bus_addr_t paddr); +static __inline int run_filter(bus_dma_tag_t dmat, bus_addr_t paddr, + bus_size_t len); /* * Return true if a match is made. @@ -120,14 +138,18 @@ * to check for a match, if there is no filter callback then assume a match. */ static __inline int -run_filter(bus_dma_tag_t dmat, bus_addr_t paddr) +run_filter(bus_dma_tag_t dmat, bus_addr_t paddr, bus_size_t len) { + bus_size_t bndy; int retval; retval = 0; + bndy = dmat->boundary; + do { - if (paddr > dmat->lowaddr - && paddr <= dmat->highaddr + if (((paddr > dmat->lowaddr && paddr <= dmat->highaddr) + || ((paddr & (dmat->alignment - 1)) != 0) + || ((paddr & bndy) != ((paddr + len) & bndy))) && (dmat->filter == NULL || (*dmat->filter)(dmat->filterarg, paddr) != 0)) retval = 1; @@ -188,6 +210,10 @@ bus_dma_tag_t newtag; int error = 0; + /* Basic sanity checking */ + if (boundary != 0 && boundary < maxsegsz) + maxsegsz = boundary; + /* Return a NULL tag on failure */ *dmat = NULL; @@ -322,7 +348,13 @@ return (ENOMEM); } - if (dmat->lowaddr < ptoa((vm_paddr_t)Maxmem)) { + /* + * Bouncing might be required if the driver asks for an active + * exclusion region, a data alignment that is stricter than 1, and/or + * an active address boundary. + */ + if (dmat->lowaddr < ptoa((vm_paddr_t)Maxmem) + || dmat->alignment > 1 || dmat->boundary > 0) { /* Must bounce */ int maxpages; @@ -340,8 +372,7 @@ */ maxpages = MIN(MAX_BPAGES, Maxmem - atop(dmat->lowaddr)); if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0 - || (dmat->map_count > 0 - && total_bpages < maxpages)) { + || (dmat->map_count > 0 && total_bpages < maxpages)) { int pages; if (dmat->lowaddr > bounce_lowaddr) { @@ -426,6 +457,7 @@ * XXX Use Contigmalloc until it is merged into this facility * and handles multi-seg allocations. Nobody is doing * multi-seg allocations yet though. + * XXX Certain AGP hardware does. */ *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, mflags, 0ul, dmat->lowaddr, dmat->alignment? dmat->alignment : 1ul, @@ -492,8 +524,9 @@ else pmap = NULL; - if (dmat->lowaddr < ptoa((vm_paddr_t)Maxmem) && - map->pagesneeded == 0) { + if ((dmat->lowaddr < ptoa((vm_paddr_t)Maxmem) + || dmat->boundary > 0 || dmat->alignment > 1) + && map->pagesneeded == 0) { vm_offset_t vendaddr; /* @@ -505,7 +538,7 @@ while (vaddr < vendaddr) { paddr = pmap_kextract(vaddr); - if (run_filter(dmat, paddr) != 0) { + if (run_filter(dmat, paddr, 0) != 0) { needbounce = 1; map->pagesneeded++; } @@ -566,7 +599,7 @@ sgsize = (baddr - curaddr); } - if (map->pagesneeded != 0 && run_filter(dmat, curaddr)) + if (map->pagesneeded != 0 && run_filter(dmat, curaddr, sgsize)) curaddr = add_bounce_page(dmat, map, vaddr, sgsize); /* @@ -763,6 +796,8 @@ * want to add support for invalidating * the caches on broken hardware */ + total_bounced++; + if (op & BUS_DMASYNC_PREWRITE) { while (bpage != NULL) { bcopy((void *)bpage->datavaddr, @@ -901,6 +936,7 @@ STAILQ_INSERT_TAIL(&bounce_map_callbacklist, map, links); busdma_swi_pending = 1; + total_deferred++; swi_sched(vm_ih, 0); } } ==== //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#22 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#64 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#29 (text+ko) ==== @@ -958,7 +958,8 @@ 'A' + pin); return (PCI_INVALID_IRQ); } - device_printf(pcib, "slot %d INT%c routed to irq %d\n", slot, 'A' + pin, - args.vector); + if (bootverbose) + device_printf(pcib, "slot %d INT%c routed to irq %d\n", slot, + 'A' + pin, args.vector); return (args.vector); } ==== //depot/projects/hammer/sys/amd64/amd64/nexus.c#26 (text+ko) ==== @@ -342,7 +342,7 @@ rman_set_bustag(rv, AMD64_BUS_SPACE_MEM); } else if (type == SYS_RES_IOPORT) { rman_set_bustag(rv, AMD64_BUS_SPACE_IO); - rman_set_bushandle(rv, rv->r_start); + rman_set_bushandle(rv, rman_get_start(rv)); } if (needactivate) { @@ -359,6 +359,7 @@ nexus_activate_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { + /* * If this is a memory resource, map it into the kernel. */ @@ -434,7 +435,7 @@ panic("nexus_setup_intr: NULL irq resource!"); *cookiep = 0; - if ((irq->r_flags & RF_SHAREABLE) == 0) + if ((rman_get_flags(irq) & RF_SHAREABLE) == 0) flags |= INTR_EXCL; /* @@ -444,8 +445,8 @@ if (error) return (error); - error = intr_add_handler(device_get_nameunit(child), irq->r_start, - ihand, arg, flags, cookiep); + error = intr_add_handler(device_get_nameunit(child), + rman_get_start(irq), ihand, arg, flags, cookiep); return (error); } ==== //depot/projects/hammer/sys/amd64/conf/NOTES#35 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# (XXX from i386:NOTES,v 1.1162) +# (XXX from i386:NOTES,v 1.1164) # $FreeBSD: src/sys/amd64/conf/NOTES,v 1.14 2004/05/17 22:13:14 peter Exp $ # ==== //depot/projects/hammer/sys/amd64/include/param.h#20 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/isa/isa.c#11 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/pci/pci_cfgreg.c#14 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Mon Jul 5 19:42:40 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5B04E16A4D0; Mon, 5 Jul 2004 19:42:40 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3659716A4CE for ; Mon, 5 Jul 2004 19:42:40 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3393043D2D for ; Mon, 5 Jul 2004 19:42:40 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65JgegO000916 for ; Mon, 5 Jul 2004 19:42:40 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65Jgdag000913 for perforce@freebsd.org; Mon, 5 Jul 2004 19:42:39 GMT (envelope-from marcel@freebsd.org) Date: Mon, 5 Jul 2004 19:42:39 GMT Message-Id: <200407051942.i65Jgdag000913@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56532 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 19:42:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=56532 Change 56532 by marcel@marcel_nfs on 2004/07/05 19:41:49 Return RA as the PC. We won't have a PC otherwise and that's rather an important register to have. Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#6 edit Differences ... ==== //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#6 (text+ko) ==== @@ -52,8 +52,8 @@ case 13: return (&kdb_thrctx->pcb_context[4]); case 14: return (&kdb_thrctx->pcb_context[5]); case 15: return (&kdb_thrctx->pcb_context[6]); - case 26: return (&kdb_thrctx->pcb_context[7]); case 30: return (&kdb_thrctx->pcb_hw.apcb_ksp); + case 64: return (&kdb_thrctx->pcb_context[7]); } return (NULL); } From owner-p4-projects@FreeBSD.ORG Mon Jul 5 21:03:21 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED7A016A4D0; Mon, 5 Jul 2004 21:03:20 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C8AAA16A4CE for ; Mon, 5 Jul 2004 21:03:20 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B08EB43D3F for ; Mon, 5 Jul 2004 21:03:20 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65L3KLU090179 for ; Mon, 5 Jul 2004 21:03:20 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65L3Kt1090176 for perforce@freebsd.org; Mon, 5 Jul 2004 21:03:20 GMT (envelope-from marcel@freebsd.org) Date: Mon, 5 Jul 2004 21:03:20 GMT Message-Id: <200407052103.i65L3Kt1090176@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56539 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 21:03:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=56539 Change 56539 by marcel@marcel_nfs on 2004/07/05 21:03:10 Add makectx(struct trapframe *, struct pcb *) and call it from kdb_trap() to create a suitable context from the frame. With this function the thread that entered the debugger will have the faulting function as the context. This is better than calling savectx() in kdb_trap. This should be the last of work required to have the debugger framework operate on the PCB instead of the trapframe. Since I haven't implemented this function anywhere, nothing links ATM. It may be the last, it's surely not the least... Affected files ... .. //depot/projects/gdb/sys/alpha/include/pcb.h#2 edit .. //depot/projects/gdb/sys/amd64/include/pcb.h#5 edit .. //depot/projects/gdb/sys/i386/include/pcb.h#3 edit .. //depot/projects/gdb/sys/ia64/include/pcb.h#2 edit .. //depot/projects/gdb/sys/kern/subr_kdb.c#16 edit .. //depot/projects/gdb/sys/sparc64/include/pcb.h#2 edit Differences ... ==== //depot/projects/gdb/sys/alpha/include/pcb.h#2 (text+ko) ==== @@ -58,6 +58,7 @@ }; #ifdef _KERNEL +void makectx(struct trapframe *, struct pcb *); void savectx(struct pcb *); #endif ==== //depot/projects/gdb/sys/amd64/include/pcb.h#5 (text+ko) ==== @@ -78,6 +78,9 @@ }; #ifdef _KERNEL +struct trapframe; + +void makectx(struct trapframe *, struct pcb *); void savectx(struct pcb *); #endif ==== //depot/projects/gdb/sys/i386/include/pcb.h#3 (text+ko) ==== @@ -74,6 +74,9 @@ }; #ifdef _KERNEL +struct trapframe; + +void makectx(struct trapframe *, struct pcb *); void savectx(struct pcb *); #endif ==== //depot/projects/gdb/sys/ia64/include/pcb.h#2 (text+ko) ==== @@ -59,6 +59,10 @@ #ifdef _KERNEL #define savectx(p) swapctx(p, NULL) + +struct trapframe; + +void makectx(struct trapframe *, struct pcb *); void restorectx(struct pcb *) __dead2; int swapctx(struct pcb *old, struct pcb *new); ==== //depot/projects/gdb/sys/kern/subr_kdb.c#16 (text+ko) ==== @@ -355,7 +355,7 @@ if (kdb_active) return (0); - savectx(&kdb_pcb); + makectx(tf, &kdb_pcb); critical_enter(); ==== //depot/projects/gdb/sys/sparc64/include/pcb.h#2 (text+ko) ==== @@ -49,6 +49,7 @@ } __aligned(64); #ifdef _KERNEL +void makectx(struct trapframe *, struct pcb *); int savectx(struct pcb *pcb); #endif From owner-p4-projects@FreeBSD.ORG Mon Jul 5 22:00:58 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6099416A534; Mon, 5 Jul 2004 22:00:57 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3D57316A517 for ; Mon, 5 Jul 2004 22:00:32 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3A5F743D58 for ; Mon, 5 Jul 2004 22:00:32 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65M0WjM092124 for ; Mon, 5 Jul 2004 22:00:32 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65M0VIu092121 for perforce@freebsd.org; Mon, 5 Jul 2004 22:00:31 GMT (envelope-from marcel@freebsd.org) Date: Mon, 5 Jul 2004 22:00:31 GMT Message-Id: <200407052200.i65M0VIu092121@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56545 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 22:00:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=56545 Change 56545 by marcel@marcel_nfs on 2004/07/05 21:59:39 Implement makectx() on i386. Tested and working. Affected files ... .. //depot/projects/gdb/sys/i386/i386/machdep.c#12 edit Differences ... ==== //depot/projects/gdb/sys/i386/i386/machdep.c#12 (text+ko) ==== @@ -2217,6 +2217,25 @@ } #endif /* defined(I586_CPU) && !NO_F00F_HACK */ +/* + * Construct a PCB from a trapframe. This is called from kdb_trap() where + * we want to start a backtrace from the function that caused us to enter + * the debugger. We have the context in the trapframe, but base the trace + * on the PCB. The PCB doesn't have to be perfect, as long as it contains + * enough for a backtrace. + */ +void +makectx(struct trapframe *tf, struct pcb *pcb) +{ + + pcb->pcb_edi = tf->tf_edi; + pcb->pcb_esi = tf->tf_esi; + pcb->pcb_ebp = tf->tf_ebp; + pcb->pcb_ebx = tf->tf_ebx; + pcb->pcb_eip = tf->tf_eip; + pcb->pcb_esp = (ISPL(tf->tf_cs)) ? tf->tf_esp : (int)(tf + 1) - 8; +} + int ptrace_set_pc(struct thread *td, u_long addr) { From owner-p4-projects@FreeBSD.ORG Mon Jul 5 22:05:39 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0007E16A4D0; Mon, 5 Jul 2004 22:05:38 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CF01E16A4CE for ; Mon, 5 Jul 2004 22:05:38 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CE6B543D58 for ; Mon, 5 Jul 2004 22:05:38 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65M5cJu092335 for ; Mon, 5 Jul 2004 22:05:38 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65M5cPl092332 for perforce@freebsd.org; Mon, 5 Jul 2004 22:05:38 GMT (envelope-from marcel@freebsd.org) Date: Mon, 5 Jul 2004 22:05:38 GMT Message-Id: <200407052205.i65M5cPl092332@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56546 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 22:05:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=56546 Change 56546 by marcel@marcel_nfs on 2004/07/05 22:05:37 Implement makectx() on alpha. Tested and working. Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/machdep.c#11 edit Differences ... ==== //depot/projects/gdb/sys/alpha/alpha/machdep.c#11 (text+ko) ==== @@ -1974,6 +1974,29 @@ #endif } +/* + * Construct a PCB from a trapframe. This is called from kdb_trap() where + * we want to start a backtrace from the function that caused us to enter + * the debugger. We have the context in the trapframe, but base the trace + * on the PCB. The PCB doesn't have to be perfect, as long as it contains + * enough for a backtrace. + */ +void +makectx(struct trapframe *tf, struct pcb *pcb) +{ + + pcb->pcb_context[0] = tf->tf_regs[FRAME_S0]; + pcb->pcb_context[1] = tf->tf_regs[FRAME_S1]; + pcb->pcb_context[2] = tf->tf_regs[FRAME_S2]; + pcb->pcb_context[3] = tf->tf_regs[FRAME_S3]; + pcb->pcb_context[4] = tf->tf_regs[FRAME_S4]; + pcb->pcb_context[5] = tf->tf_regs[FRAME_S5]; + pcb->pcb_context[6] = tf->tf_regs[FRAME_S6]; + pcb->pcb_context[7] = tf->tf_regs[FRAME_PC]; + pcb->pcb_context[8] = tf->tf_regs[FRAME_PS]; + pcb->pcb_hw.apcb_ksp = tf->tf_regs[FRAME_SP]; +} + int fill_regs(td, regs) struct thread *td; From owner-p4-projects@FreeBSD.ORG Mon Jul 5 23:27:22 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D91316A4D2; Mon, 5 Jul 2004 23:27:22 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 105E616A4D1 for ; Mon, 5 Jul 2004 23:27:21 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C29ED43D5D for ; Mon, 5 Jul 2004 23:27:21 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65NRLHF094999 for ; Mon, 5 Jul 2004 23:27:21 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65NRL5Z094995 for perforce@freebsd.org; Mon, 5 Jul 2004 23:27:21 GMT (envelope-from marcel@freebsd.org) Date: Mon, 5 Jul 2004 23:27:21 GMT Message-Id: <200407052327.i65NRL5Z094995@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56556 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 23:27:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=56556 Change 56556 by marcel@marcel_nfs on 2004/07/05 23:27:00 Update the copyright. This fixes the cut-n-paste error. I didn't change the name last year... Affected files ... .. //depot/projects/gdb/sys/ia64/include/pcb.h#3 edit Differences ... ==== //depot/projects/gdb/sys/ia64/include/pcb.h#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2003 Doug Rabson + * Copyright (c) 2003,2004 Marcel Moolenaar * Copyright (c) 2000 Doug Rabson * All rights reserved. * From owner-p4-projects@FreeBSD.ORG Mon Jul 5 23:30:26 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5757016A4D0; Mon, 5 Jul 2004 23:30:26 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0308716A4CE for ; Mon, 5 Jul 2004 23:30:26 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EF97043D55 for ; Mon, 5 Jul 2004 23:30:25 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i65NUP2K095082 for ; Mon, 5 Jul 2004 23:30:25 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i65NUPr2095079 for perforce@freebsd.org; Mon, 5 Jul 2004 23:30:25 GMT (envelope-from julian@freebsd.org) Date: Mon, 5 Jul 2004 23:30:25 GMT Message-Id: <200407052330.i65NUPr2095079@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 56557 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 23:30:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=56557 Change 56557 by julian@julian_jules1 on 2004/07/05 23:29:46 Part way to getting rid of struct kse. Most of its features are taken up by the td_sched substructure which is always present on each thread. Affected files ... .. //depot/projects/nsched/sys/kern/sched_4bsd.c#21 edit .. //depot/projects/nsched/sys/sys/proc.h#18 edit Differences ... ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#21 (text+ko) ==== @@ -55,63 +55,7 @@ #include #include -/******************************************************************** - * Definitions of the "KSE" structure. - * - * This is a scheduler private structure that it uses (for now) - * to implement the thread fairness algorythm. - * The threads are made runnable by the rest of the system, but - * only NKSE of them are actually put on the run queues to compete with - * threads from other processes. For normal processes there is only one KSE - * but for threaded processes we allocate only upto NKSE kses per ksegrp. - * KSEs are what is put on the system run queue, so multithreaded - * processes must multiplex their threads onto their KSEs, making them compete - * on a similar basis to nonthreaded processes. - * In pictures: - * With a single run queue used by all processors: - * - * RUNQ: --->KSE---KSE--... - * | / - * KSEG---THREAD--THREAD--THREAD - * - * (processors run THREADs from the KSEG until they are exhausted or - * the KSEG exhausts its quantum) - * - * XXX This structure is stictly speaking, not needed any more - * and its fields will move to the thread structure. The first 'N' - * threads can be kept trak of with a simple count. Do this soon. - */ - -struct kse { - struct proc *ke_proc; /* (*) Associated process. */ - struct ksegrp *ke_ksegrp; /* (*) Associated KSEG. */ - TAILQ_ENTRY(kse) ke_kglist; /* (*) Queue of KSEs in ke_ksegrp. */ - TAILQ_ENTRY(kse) ke_kgrlist; /* (*) Queue of KSEs in this state. */ - TAILQ_ENTRY(kse) ke_procq; /* (j/z) Run queue. */ - struct thread *ke_thread; /* (*) Active associated thread. */ -#define ke_startzero ke_flags - int ke_flags; /* (j) KEF_* flags. */ - fixpt_t ke_pctcpu; /* (j) %cpu during p_swtime. */ - u_char ke_oncpu; /* (j) Which cpu we are on. */ - char ke_rqindex; /* (j) Run queue index. */ - enum { - KES_UNUSED = 0x0, - KES_IDLE, - KES_ONRUNQ, - KES_UNQUEUED, /* in transit */ - KES_THREAD /* slaved to thread state */ - } ke_state; /* (j) KSE status. */ -#define ke_endzero ke_cpticks - int ke_cpticks; /* (j) Ticks of cpu time. */ - struct runq *ke_runq; /* runq the kse is currently on */ -}; - -/* flags kept in ke_flags */ -#define KEF_BOUND 0x00001 /* Stuck on a cpu.. long term */ -#define KEF_EXIT 0x00002 /* KSE is being killed. */ -#define KEF_DIDRUN 0x00004 /* KSE actually ran. */ - /*************************************************************** * Scheduler private extensions to thread, ksegrp and proc structures. * @@ -131,42 +75,57 @@ */ struct td_sched { - struct kse *std_last_kse; /* (j) Previous value of td_kse. */ - struct kse *std_kse; /* (j) Current KSE if running. */ + TAILQ_ENTRY(td_sched) std_kgrlist; /* (*) Queue of threads in this state. */ + TAILQ_ENTRY(td_sched) std_procq; /* (j/z) Run queue. */ + + struct thread *std_thread; /* (*) Active associated thread. */ +#define std_startzero std_pctcpu + fixpt_t std_pctcpu; /* (j) %cpu during p_swtime. */ + u_char std_oncpu; /* (j) Which cpu we are on. */ + char std_rqindex; /* (j) Run queue index. */ + enum { + STDS_UNUSED = 0x0, + STDS_IDLE, + STDS_ONRUNQ, + STDS_UNQUEUED, /* in transit */ + STDS_THREAD /* slaved to thread state */ + } std_state; /* (j) KSE status. */ +#define std_endzero std_cpticks + int std_cpticks; /* (j) Ticks of cpu time. */ + struct runq *std_runq; /* runq the td_sched is currently on */ }; -#define td_last_kse td_sched->std_last_kse -#define td_kse td_sched->std_kse +#define td_kgrlist td_sched->std_kgrlist +#define td_procq td_sched->std_procq +#define td_thread td_sched->std_thread +#define td_pctcpu td_sched->std_pctcpu +#define td_oncpu td_sched->std_oncpu +#define td_rqindex td_sched->std_rqindex +#define td_state td_sched->std_state +#define td_cpticks td_sched->std_cpticks +#define td_runq td_sched->std_runq + + +/* flags kept in ke_flags */ +#define TDF_BOUND TDF_SCHED1 /* Stuck on a cpu.. long term */ +#define TDF_EXIT TDF_SCHED2 /* thread is being killed. */ +#define TDF_DIDRUN TDF_SCHED3 /* thread actually ran. */ struct kg_sched { - TAILQ_HEAD(, kse) skg_kseq; /* (ke_kglist) All KSEs. */ - TAILQ_HEAD(, kse) skg_iq; /* (ke_kgrlist) All idle KSEs. */ struct thread *skg_last_assigned; /* (j) Last thread assigned */ - /* ( to a KSE). */ - int skg_runq_kses; /* (j) Num KSEs on runq. */ - int skg_idle_kses; /* (j) Num KSEs on iq. */ - int skg_kses; /* (j) Num KSEs in group. */ + /* to the system scheduler */ + int skg_runq_threads; /* (j) Num KSEs on runq. */ + int skg_avail_opennings; /* (j) Num KSEs on iq. */ int skg_concurrancy; /* (j) desired concurrancy */ }; -#define kg_kseq kg_sched->skg_kseq -#define kg_iq kg_sched->skg_iq #define kg_last_assigned kg_sched->skg_last_assigned -#define kg_runq_kses kg_sched->skg_runq_kses -#define kg_idle_kses kg_sched->skg_idle_kses -#define kg_kses kg_sched->skg_kses +#define kg_runq_threads kg_sched->skg_runq_threads +#define kg_avail_opennings kg_sched->skg_avail_opennings -#define FIRST_KSE_IN_KSEGRP(kg) TAILQ_FIRST(&(kg)->kg_kseq) -#define FIRST_KSE_IN_PROC(p) FIRST_KSE_IN_KSEGRP(FIRST_KSEGRP_IN_PROC(p)) - /**************************************************************** * function prototypes */ -static void kse_free(struct kse *ke); -static void kse_stash(struct kse *ke); -static void kse_reassign(struct kse *ke); -static struct kse * kse_alloc(void); -static void kse_link(struct kse *ke, struct ksegrp *kg); -static void kse_unlink(struct kse *ke); +static void recycle_slot(struct ksegrp *kg); /* was kse_reassign */ #define KTR_4BSD 0x0 #define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start)) @@ -185,15 +144,15 @@ #endif #define NICE_WEIGHT 1 /* Priorities per nice level. */ -#define KE_RUNQ_PCPU(ke) \ - ((ke)->ke_runq != 0 && (ke)->ke_runq != &runq) +#define STD_RUNQ_PCPU(std) \ + ((std)->std_runq != 0 && (std)->std_runq != &runq) /* - * KSE_CAN_MIGRATE macro returns true if the kse can migrate between + * TD_CAN_MIGRATE macro returns true if the thread can migrate between * cpus. */ -#define KSE_CAN_MIGRATE(ke) \ - ((ke)->ke_thread->td_pinned == 0 && ((ke)->ke_flags & KEF_BOUND) == 0) +#define TD_CAN_MIGRATE(td) \ + ((td)->td_pinned == 0 && ((td)->td_flags & TDF_BOUND) == 0) static int sched_tdcnt; /* Total runnable threads in the system. */ static int sched_quantum; /* Roundrobin scheduling quantum in ticks. */ @@ -211,7 +170,7 @@ static void resetpriority(struct ksegrp *kg); static void sched_add(struct thread *td); static void sched_rem(struct thread *td); -static struct kse * sched_choose(void); +static struct td_sched * sched_choose(void); static void adjustrunqueue( struct thread *td, int newpri) ; @@ -264,8 +223,6 @@ #include -struct kse; - /* * Run queue parameters. */ @@ -276,7 +233,7 @@ /* * Head of run queues. */ -TAILQ_HEAD(rqhead, kse); +TAILQ_HEAD(rqhead, td_sched); /* * Bit array which maintains the status of a run queue. When a queue is @@ -295,11 +252,11 @@ struct rqhead rq_queues[RQ_NQS]; }; -static void runq_add(struct runq *, struct kse *); +static void runq_add(struct runq *, struct thread *); static int runq_check(struct runq *); -static struct kse *runq_choose(struct runq *); +static struct td_sched *runq_choose(struct runq *); static void runq_init(struct runq *); -static void runq_remove(struct runq *, struct kse *); +static void runq_remove(struct runq *, struct thread *); #endif /* end of Jake copyright file */ /* @@ -363,7 +320,7 @@ { mtx_assert(&sched_lock, MA_OWNED); - if (td->td_priority < curthread->td_priority && curthread->td_kse) + if (td->td_priority < curthread->td_priority && curthread->td_sched) curthread->td_flags |= TDF_NEEDRESCHED; } @@ -397,7 +354,7 @@ /* * Constants for digital decay and forget: * 90% of (kg_estcpu) usage in 5 * loadav time - * 95% of (ke_pctcpu) usage in 60 seconds (load insensitive) + * 95% of (td_pctcpu) usage in 60 seconds (load insensitive) * Note that, as ps(1) mentions, this can let percentages * total over 100% (I've seen 137.9% for 3 processes). * @@ -462,7 +419,7 @@ #define loadfactor(loadav) (2 * (loadav)) #define decay_cpu(loadfac, cpu) (((loadfac) * (cpu)) / ((loadfac) + FSCALE)) -/* decay 95% of `ke_pctcpu' in 60 seconds; see CCPU_SHIFT before changing */ +/* decay 95% of `td_pctcpu' in 60 seconds; see CCPU_SHIFT before changing */ static fixpt_t ccpu = 0.95122942450071400909 * FSCALE; /* exp(-1/20) */ SYSCTL_INT(_kern, OID_AUTO, ccpu, CTLFLAG_RD, &ccpu, 0, ""); @@ -493,7 +450,7 @@ register fixpt_t loadfac = loadfactor(averunnable.ldavg[0]); struct thread *td; struct proc *p; - struct kse *ke; + struct td_sched *ts; struct ksegrp *kg; int awake, realstathz; @@ -511,54 +468,57 @@ p->p_swtime++; FOREACH_KSEGRP_IN_PROC(p, kg) { awake = 0; - FOREACH_KSE_IN_GROUP(kg, ke) { + FOREACH_THREAD(kg, td) { + ts = td->td_sched; /* * Increment sleep time (if sleeping). We * ignore overflow, as above. */ /* + * *** XXXKSE ** no longer true.... FIX * The kse slptimes are not touched in wakeup * because the thread may not HAVE a KSE. */ - if (ke->ke_state == KES_ONRUNQ) { + if (std->std_state == STDS_ONRUNQ) { awake = 1; - ke->ke_flags &= ~KEF_DIDRUN; - } else if ((ke->ke_state == KES_THREAD) && - (TD_IS_RUNNING(ke->ke_thread))) { + td->td_flags &= ~TDF_DIDRUN; + } else if ((std->std_state == STDS_THREAD) && + (TD_IS_RUNNING(td))) { awake = 1; - /* Do not clear KEF_DIDRUN */ - } else if (ke->ke_flags & KEF_DIDRUN) { + /* Do not clear TDF_DIDRUN */ + } else if (td->td_flags & TDF_DIDRUN) { awake = 1; - ke->ke_flags &= ~KEF_DIDRUN; - } - + td->td_flags &= ~TDF_DIDRUN; + } else + continue; + /* - * ke_pctcpu is only for ps and ttyinfo(). + * std_pctcpu is only for ps and ttyinfo(). * Do it per kse, and add them up at the end? * XXXKSE */ - ke->ke_pctcpu = (ke->ke_pctcpu * ccpu) >> + std->std_pctcpu = (std->std_pctcpu * ccpu) >> FSHIFT; /* - * If the kse has been idle the entire second, + * If the thread has been idle the entire second, * stop recalculating its priority until * it wakes up. */ - if (ke->ke_cpticks == 0) + if (std->std_cpticks == 0) continue; #if (FSHIFT >= CCPU_SHIFT) - ke->ke_pctcpu += (realstathz == 100) - ? ((fixpt_t) ke->ke_cpticks) << + std->std_pctcpu += (realstathz == 100) + ? ((fixpt_t) std->std_cpticks) << (FSHIFT - CCPU_SHIFT) : - 100 * (((fixpt_t) ke->ke_cpticks) + 100 * (((fixpt_t) std->std_cpticks) << (FSHIFT - CCPU_SHIFT)) / realstathz; #else - ke->ke_pctcpu += ((FSCALE - ccpu) * - (ke->ke_cpticks * + std->std_pctcpu += ((FSCALE - ccpu) * + (std->std_cpticks * FSCALE / realstathz)) >> FSHIFT; #endif - ke->ke_cpticks = 0; - } /* end of kse loop */ + std->std_cpticks = 0; + } /* end of thread loop */ /* * If there are ANY running threads in this KSEGRP, * then don't count it as sleeping. @@ -715,7 +675,7 @@ } /* - * report teh round-robin scheduling interval. + * report the round-robin scheduling interval. * Called from: * (posix scheduling interface) */ @@ -747,13 +707,11 @@ sched_clock(struct thread *td) { struct ksegrp *kg; - struct kse *ke; mtx_assert(&sched_lock, MA_OWNED); kg = td->td_ksegrp; - ke = td->td_kse; - ke->ke_cpticks++; + td->td_sched->std_cpticks++; kg->kg_estcpu = ESTCPULIM(kg->kg_estcpu + 1); if ((kg->kg_estcpu % INVERSE_ESTCPU_WEIGHT) == 0) { resetpriority(kg); @@ -765,7 +723,7 @@ /* * charge childs scheduling cpu usage to parent. * - * XXXKSE assume only one thread & kse & ksegrp keep estcpu in each ksegrp. + * XXXKSE assume only one thread & ksegrp keep estcpu in each ksegrp. * Charge it to the ksegrp that did the wait since process estcpu is sum of * all ksegrps, this is strictly as expected. Assume that the child process * aggregated all the estcpu into the 'built-in' ksegrp. @@ -780,13 +738,14 @@ mtx_assert(&sched_lock, MA_OWNED); kg = FIRST_KSEGRP_IN_PROC(parent); /* XXXKSE */ - td->td_kse->ke_flags |= KEF_EXIT; + td->td_flags |= TDF_EXIT; kg->kg_estcpu = ESTCPULIM(kg->kg_estcpu + td->td_ksegrp->kg_estcpu); } /* * We should give the estcpu to someone, but WHO? + * Only called on exit of last thread in the ksegrp. * Called from: * thread_exit() (for threaded programs only) */ @@ -805,14 +764,10 @@ void sched_thread_exit(struct thread *td) { - struct kse *ke; - ke = td->td_kse; - - if ((td->td_proc->p_flag & P_SA) && ke != NULL) { - ke->ke_thread = NULL; - td->td_kse = NULL; - kse_reassign(ke); + if (td->td_proc->p_flag & P_SA) { + td->td_ksegrp->kg_avail_opennings++; + recycle_slot(td->td_ksegrp); } if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_tdcnt--; @@ -829,23 +784,15 @@ void sched_thr_exit(struct thread *td) { - struct kse *ke; - - ke = td->td_kse; if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_tdcnt--; - - /* td is about to be freed, but keep it clean */ - td->td_kse = NULL; - td->td_last_kse = NULL; - kse_unlink(ke); /* also frees it */ } /* * Allocate any resources the scheduler needs to allocate or set up - * on a new process at fork() time. + * on a new process at fork() time. Set up our scheduler specifi extensions. * Called from: * fork1() */ @@ -853,27 +800,33 @@ sched_fork(struct thread *td, struct proc *child) { struct thread *newtd; - struct kse *newke; + struct td_sched *newstd; newtd = FIRST_THREAD_IN_PROC(child); - newke = FIRST_KSE_IN_PROC(child); - bzero(&newke->ke_startzero, - (unsigned) RANGEOF(struct kse, ke_startzero, ke_endzero)); - newke->ke_state = KES_THREAD; - newke->ke_cpticks = 0; - sched_fork_ksegrp(td, FIRST_KSEGRP_IN_PROC(child)); - newke->ke_thread = newtd; - newtd->td_kse = newke; + newstd = newtd->td_sched; + bzero(&newstd->std_startzero, + (unsigned)RANGEOF(struct td_sched, std_startzero, std_endzero)); + newstd->std_state = STDS_THREAD; + newstd->std_cpticks = 0; + + newtd->td_ksegrp->kg_concurrancy = 1; + /* non threaded process. ignore thread fairness stuff */ + newtd->td_ksegrp->kg_avail_opennings = 0; + /* Our child inherrits our estimated cpu requirement */ + newtd->td_ksegrp->kg_estcpu = td->td_ksegrp->kg_estcpu; } /* - * When we make a new ksegrp, teh scheduler may need to know about it. + * When we make a new ksegrp, the scheduler may need to know about it. + * make sure the new ksegrp inherrits our cpu estimates. * Called from: * kse_create() */ void sched_fork_ksegrp(struct thread *td, struct ksegrp *newkg) { + newkg->kg_concurrancy = 1; + newkg->kg_avail_opennings = 1; newkg->kg_estcpu = td->td_ksegrp->kg_estcpu; } @@ -958,21 +911,20 @@ void sched_switch(struct thread *td, int flags, struct thread *newtd) { - struct kse *ke; + struct td_sched *std; struct proc *p; - ke = td->td_kse; + std = td->td_sched; p = td->td_proc; mtx_assert(&sched_lock, MA_OWNED); - KASSERT((ke->ke_state == KES_THREAD), ("sched_switch: kse state?")); + KASSERT((std->std_state == STDS_THREAD), ("sched_switch: kse state?")); if ((p->p_flag & P_NOLOAD) == 0) sched_tdcnt--; if (newtd != NULL && (newtd->td_proc->p_flag & P_NOLOAD) == 0) sched_tdcnt++; td->td_lastcpu = td->td_oncpu; - td->td_last_kse = ke; td->td_flags &= ~(TDF_NEEDRESCHED | TDF_OWEPREEMPT); td->td_oncpu = NOCPU; /* @@ -984,22 +936,26 @@ if (td == PCPU_GET(idlethread)) TD_SET_CAN_RUN(td); else if (TD_IS_RUNNING(td)) { - /* Put us back on the run queue (kse and all). */ + /* Put us back on the run queue. */ + if (p->p_flag & P_SA) + kg->kg_avail_opennings++; setrunqueue(td); } else if (p->p_flag & P_SA) { /* * We will not be on the run queue. So we must be * sleeping or similar. As it's available, - * someone else can use the KSE if they need it. + * another thread could use our 'slot'. */ - kse_reassign(ke); + kg->kg_avail_opennings++; + recycle_slot(kg); } if (newtd == NULL) newtd = choosethread(flags); - if (td != newtd) + if (td != newtd) { cpu_switch(td, newtd); - sched_lock.mtx_lock = (uintptr_t)td; - td->td_oncpu = PCPU_GET(cpuid); + sched_lock.mtx_lock = (uintptr_t)td; + td->td_oncpu = PCPU_GET(cpuid); + } } /* @@ -1029,24 +985,21 @@ * the fact that the thread is becoming runnable, * and decide which run queue to use. * Called from: - * kse_reassign() (local) + * recycle_slot() (local) * adjustrunqueue() (local) * setrunqueue() (local) */ static void sched_add(struct thread *td) { - struct kse *ke; + struct td_sched *std; - ke = td->td_kse; + std = td->td_sched; mtx_assert(&sched_lock, MA_OWNED); - KASSERT((ke->ke_thread != NULL), ("sched_add: No thread on KSE")); - KASSERT((ke->ke_thread->td_kse != NULL), - ("sched_add: No KSE on thread")); - KASSERT(ke->ke_state != KES_ONRUNQ, - ("sched_add: kse %p (%s) already in run queue", ke, - ke->ke_proc->p_comm)); - KASSERT(ke->ke_proc->p_sflag & PS_INMEM, + KASSERT(std->std_state != STDS_ONRUNQ, + ("sched_add: kse %p (%s) already in run queue", std, + std->std_proc->p_comm)); + KASSERT(std->std_proc->p_sflag & PS_INMEM, ("sched_add: process swapped out")); #ifdef SMP @@ -1054,32 +1007,32 @@ * Only try to preempt if the thread is unpinned or pinned to the * current CPU. */ - if (KSE_CAN_MIGRATE(ke) || ke->ke_runq == &runq_pcpu[PCPU_GET(cpuid)]) + if (TD_CAN_MIGRATE(td) || std->std_runq == &runq_pcpu[PCPU_GET(cpuid)]) #endif if (maybe_preempt(td)) return; - ke->ke_ksegrp->kg_runq_kses++; - ke->ke_state = KES_ONRUNQ; + td->td_ksegrp->kg_runq_threads++; + std->std_state = STDS_ONRUNQ; #ifdef SMP - if (KSE_CAN_MIGRATE(ke)) { - CTR1(KTR_4BSD, "adding kse:%p to gbl runq", ke); - ke->ke_runq = &runq; + if (TD_CAN_MIGRATE(td)) { + CTR1(KTR_4BSD, "adding thread:%p to gbl runq", td); + std->std_runq = &runq; } else { - CTR1(KTR_4BSD, "adding kse:%p to pcpu runq", ke); - if (!KE_RUNQ_PCPU(ke)) - ke->ke_runq = &runq_pcpu[PCPU_GET(cpuid)]; + CTR1(KTR_4BSD, "adding thread:%p to pcpu runq", td); + if (!STD_RUNQ_PCPU(std)) + std->std_runq = &runq_pcpu[PCPU_GET(cpuid)]; } #else - ke->ke_runq = &runq; + std->std_runq = &runq; #endif if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_tdcnt++; - runq_add(ke->ke_runq, ke); + runq_add(std->std_runq, std); } /* - * Change scheduler stats to reflect removal of a thread from teh run queues. + * Change scheduler stats to reflect removal of a thread from the run queues. * Called from: * remrunqueue() (local) * adjustrunqueue() (local) @@ -1088,70 +1041,21 @@ static void sched_rem(struct thread *td) { - struct kse *ke; + struct td_sched *std; - ke = td->td_kse; - KASSERT(ke->ke_proc->p_sflag & PS_INMEM, + std = td->td_sched; + KASSERT(std->std_proc->p_sflag & PS_INMEM, ("sched_rem: process swapped out")); - KASSERT((ke->ke_state == KES_ONRUNQ), + KASSERT((std->std_state == STDS_ONRUNQ), ("sched_rem: KSE not on run queue")); mtx_assert(&sched_lock, MA_OWNED); if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_tdcnt--; - runq_remove(ke->ke_runq, ke); + runq_remove(std->std_runq, std); - ke->ke_state = KES_THREAD; - ke->ke_ksegrp->kg_runq_kses--; -} - -/* - * Try find a runnable thread from teh per-cpu or - * general run queues and adjust scheduler stats accordingly. - * Called from: - * choosethread() (local) - */ -static struct kse * -sched_choose(void) -{ - struct kse *ke; - struct runq *rq; - -#ifdef SMP - struct kse *kecpu; - - rq = &runq; - ke = runq_choose(&runq); - kecpu = runq_choose(&runq_pcpu[PCPU_GET(cpuid)]); - - if (ke == NULL || - (kecpu != NULL && - kecpu->ke_thread->td_priority < ke->ke_thread->td_priority)) { - CTR2(KTR_4BSD, "choosing kse %p from pcpu runq %d", kecpu, - PCPU_GET(cpuid)); - ke = kecpu; - rq = &runq_pcpu[PCPU_GET(cpuid)]; - } else { - CTR1(KTR_4BSD, "choosing kse %p from main runq", ke); - } - -#else - rq = &runq; - ke = runq_choose(&runq); -#endif - - if (ke != NULL) { - runq_remove(rq, ke); - ke->ke_state = KES_THREAD; - - KASSERT((ke->ke_thread != NULL), - ("sched_choose: No thread on KSE")); - KASSERT((ke->ke_thread->td_kse != NULL), - ("sched_choose: No KSE on thread")); - KASSERT(ke->ke_proc->p_sflag & PS_INMEM, - ("sched_choose: process swapped out")); - } - return (ke); + std->std_state = STDS_THREAD; + std->std_ksegrp->kg_runq_threads--; } /* @@ -1188,21 +1092,21 @@ void sched_bind(struct thread *td, int cpu) { - struct kse *ke; + struct td_sched *std; mtx_assert(&sched_lock, MA_OWNED); KASSERT(TD_IS_RUNNING(td), ("sched_bind: cannot bind non-running thread")); - ke = td->td_kse; + std = td->td_sched; - ke->ke_flags |= KEF_BOUND; + td->td_flags |= TDF_BOUND; #ifdef SMP - ke->ke_runq = &runq_pcpu[cpu]; + std->std_runq = &runq_pcpu[cpu]; if (PCPU_GET(cpuid) == cpu) return; - ke->ke_state = KES_THREAD; + std->std_state = STDS_THREAD; mi_switch(SW_VOL, NULL); #endif @@ -1217,7 +1121,7 @@ sched_unbind(struct thread* td) { mtx_assert(&sched_lock, MA_OWNED); - td->td_kse->ke_flags &= ~KEF_BOUND; + td->td_flags &= ~TDF_BOUND; } /* @@ -1265,29 +1169,13 @@ fixpt_t sched_pctcpu(struct thread *td) { - struct kse *ke; - ke = td->td_kse; - if (ke == NULL) - ke = td->td_last_kse; - if (ke) - return (ke->ke_pctcpu); - - return (0); + return (td->td_sched->std_pctcpu); } - - -static uma_zone_t kse_zone; - -struct kse kse0; static struct kg_sched kg_sched0; static struct td_sched td_sched0; - -extern struct mtx kse_zombie_lock; -TAILQ_HEAD(, kse) zombie_kses = TAILQ_HEAD_INITIALIZER(zombie_kses); - /* * Occasionally the scheduler may need to do some GC.. * Called from: @@ -1296,20 +1184,6 @@ void sched_GC(void) { - struct kse *ke_first, *ke_next; - - if (!TAILQ_EMPTY(&zombie_kses)) { - mtx_lock_spin(&kse_zombie_lock); - ke_first = TAILQ_FIRST(&zombie_kses); - if (ke_first) - TAILQ_INIT(&zombie_kses); - mtx_unlock_spin(&kse_zombie_lock); - while (ke_first) { - ke_next = TAILQ_NEXT(ke_first, ke_procq); - kse_free(ke_first); - ke_first = ke_next; - } - } } /* @@ -1328,19 +1202,14 @@ proc0.p_sched = NULL; /* XXX */ thread0.td_sched = &td_sched0; - /* - * and link in our own per scheduler struct - */ - kse_link(&kse0, &ksegrp0); /* - * and set it up as if BOUND and running + * and set it up as if running */ - kse0.ke_thread = &thread0; - thread0.td_kse = &kse0; /* we are running */ - kse0.ke_state = KES_THREAD; + std->std_oncpu = NOCPU; /* wrong.. can we use PCPU(cpuid) yet? */ + td_sched0.std_state = STDS_THREAD; + kg_sched0.concurrancy = 1; + kg_sched0.skg_avail_opennings = 0; /* we are already running */ - kse_zone = uma_zcreate("KSE", sizeof (struct kse), - NULL, NULL, NULL, NULL, UMA_ALIGN_CACHE, 0); } /* @@ -1352,25 +1221,18 @@ int sched_thr_newthread(struct thread *td, struct thread *newtd, int flags) { - struct kse *newke; - /* Initialize our kse structure. */ - newke = kse_alloc(); - bzero(&newke->ke_startzero, - RANGEOF(struct kse, ke_startzero, ke_endzero)); + newstd = newtd->td_sched; + bzero(&newstd->std_startzero, + RANGEOF(struct td_sched, std_startzero, std_endzero)); - /* Link the thread and kse into the ksegrp and make it runnable. */ + /* Link the thread into the ksegrp and make it runnable. */ mtx_lock_spin(&sched_lock); thread_link(newtd, td->td_ksegrp); - kse_link(newke, td->td_ksegrp); - /* Bind this thread and kse together. */ - newtd->td_kse = newke; - newke->ke_thread = newtd; - bzero(&newke->ke_startzero, - (unsigned) RANGEOF(struct kse, ke_startzero, ke_endzero)); - newke->ke_state = KES_THREAD; - newke->ke_cpticks = 0; + std->std_oncpu = NOCPU; + newstd->std_state = STDS_THREAD; + newstd->std_cpticks = 0; TD_SET_CAN_RUN(newtd); if ((flags & THR_SUSPENDED) == 0) @@ -1380,63 +1242,7 @@ return (0); /* the API could fail but not in this case */ } -/***************************** - * KSE zone/allocation methods. - */ /* - * Allocate a kse. - */ -static struct kse * -kse_alloc(void) -{ - return (uma_zalloc(kse_zone, M_WAITOK)); -} - -/* - * Deallocate a kse. - */ -static void -kse_free(struct kse *td) -{ - uma_zfree(kse_zone, td); -} - -/* - * Stash an embarasingly extra kse into the zombie kse queue. - * Called from: - * kse_unlink() (local) - */ -static void -kse_stash(struct kse *ke) -{ - mtx_lock_spin(&kse_zombie_lock); - TAILQ_INSERT_HEAD(&zombie_kses, ke, ke_procq); - mtx_unlock_spin(&kse_zombie_lock); -} - -/* - * KSE is linked into kse group. - * Called from: - * sched_newproc() (local) - * sched_thr_newthread() (local) - * schedinit() (local) - * sched_set_concurrancy() (local) - * - */ -static void -kse_link( struct kse *ke, struct ksegrp *kg) -{ - TAILQ_INSERT_HEAD(&kg->kg_kseq, ke, ke_kglist); - kg->kg_kses++; - ke->ke_state = KES_UNQUEUED; - ke->ke_proc = kg->kg_proc; /* really just a shortcut */ - ke->ke_ksegrp = kg; - ke->ke_thread = NULL; - ke->ke_oncpu = NOCPU; - ke->ke_flags = 0; -} - -/* * Allocate scheduler specific per-process resources. * The thread and ksegrp have already been linked in. * Called from: @@ -1445,19 +1251,13 @@ int sched_newproc(struct proc *p, struct ksegrp *kg, struct thread *td) { - struct kse *ke; + struct td_sched *std; + + std = td->td_sched; - /* - * For a new process, allocate a single KSE to the ksegrp. - */ - ke = kse_alloc(); - if (ke) { - kse_link(ke, kg); - td->td_kse = ke; - ke->ke_thread = td; - return (0); - } - return (ENOMEM ); + std->std_state = STDS_UNQUEUED; + std->std_oncpu = NOCPU; + return (0); } /* @@ -1471,11 +1271,9 @@ sched_init_ksegrp(struct ksegrp *kg) { - TAILQ_INIT(&kg->kg_kseq); /* all kses in ksegrp */ - TAILQ_INIT(&kg->kg_iq); /* all idle kses in ksegrp */ - kg->kg_kses = 0; - kg->kg_runq_kses = 0; /* XXXKSE change name */ - kg->kg_idle_kses = 0; + kg->kg_runq_threads = 0; /* XXXKSE change name */ + kg->kg_avail_opennings = 1; + kg->kg_concurrancy = 1; } /* @@ -1483,64 +1281,18 @@ * Fix up the per-scheduler resources associated with it. * Called from: * thread_dtor() - * thread_initi() + * thread_init() */ /* Assumes td->td_sched is already set up */ void sched_init_thread(struct thread *td) { - td->td_last_kse = NULL; - td->td_kse = NULL; -} - - -/* - * code to take the per-scheduler KSE structure - * off the ksegrp it is hanging off and free it - * Called from: - * sched_destroyproc() - * sched_thr_exit() - * sched_set_concurrancy() via REDUCE_KSES() - * kse_reassign() via REDUCE_KSES() - */ -static void -kse_unlink(struct kse *ke) -{ - struct ksegrp *kg; - - mtx_assert(&sched_lock, MA_OWNED); - kg = ke->ke_ksegrp; - TAILQ_REMOVE(&kg->kg_kseq, ke, ke_kglist); - if (ke->ke_state == KES_IDLE) { - TAILQ_REMOVE(&kg->kg_iq, ke, ke_kgrlist); - kg->kg_idle_kses--; - } - /* - * Aggregate stats from the KSE - * ## none yet ## - */ - - kse_stash(ke); } -/* - * Whenever we have idle KSEs and there are too many for the concurrancy, - * then free as many as we can. Don't free too many if we have threads - * to run/kill. - */ -#define REDUCE_KSES(kg, skg) \ -do { \ - while ((skg->skg_concurrancy < skg->skg_kses) && \ - (skg->skg_idle_kses > 0) && \ - (skg->skg_kses > kg->kg_numthreads)) { \ - kse_unlink(TAILQ_FIRST(&skg->skg_iq)); \ - } \ -} while (0) - /* * Called by the uma process fini routine.. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 6 01:12:31 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 08FFD16A4D0; Tue, 6 Jul 2004 01:12:31 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D303416A4CE for ; Tue, 6 Jul 2004 01:12:30 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B9AE643D3F for ; Tue, 6 Jul 2004 01:12:30 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i661CUY8098202 for ; Tue, 6 Jul 2004 01:12:30 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i661CUuV098199 for perforce@freebsd.org; Tue, 6 Jul 2004 01:12:30 GMT (envelope-from marcel@freebsd.org) Date: Tue, 6 Jul 2004 01:12:30 GMT Message-Id: <200407060112.i661CUuV098199@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56562 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 01:12:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=56562 Change 56562 by marcel@marcel_nfs on 2004/07/06 01:11:30 Implement makectx() on ia64. Tested and working. This gave some complications: unwinding based on the PCB was based on the fact that savectx() was called and thus that the context we cared about was that of the previous function (i.e. the caller. As such, the PC was taken from the return address and the frame state was the previous one. When constructing a PCB from a trapframe, the context we care about is the one that was interrupted. Worse, we cannot simply store the IP and CFM as RP and PFS in the context because that messes up unwinding when those registers actually contain live values. So, a yedi trick was called for: there's a spare field in the pcb_special structure that is explicitly cleared by savectx(). I must have had foresight. When we create the PCB from the trapframe, we write ~0 in that field. From there on we extract the values from the PCB based on that value: when 0 - it's a PCB created by savectx() and we use RP & PFS. Otherwise it's actually a trapframe in disguise and we use IIP & CFM. I haven't given the spare field a name, but it isn't actually spare anymore. This has to sink in first... Affected files ... .. //depot/projects/gdb/sys/ia64/ia64/machdep.c#9 edit .. //depot/projects/gdb/sys/ia64/ia64/unwind.c#6 edit .. //depot/projects/gdb/sys/ia64/include/db_machdep.h#5 edit Differences ... ==== //depot/projects/gdb/sys/ia64/ia64/machdep.c#9 (text+ko) ==== @@ -1017,6 +1017,23 @@ } #endif +/* + * Construct a PCB from a trapframe. This is called from kdb_trap() where + * we want to start a backtrace from the function that caused us to enter + * the debugger. We have the context in the trapframe, but base the trace + * on the PCB. The PCB doesn't have to be perfect, as long as it contains + * enough for a backtrace. + */ +void +makectx(struct trapframe *tf, struct pcb *pcb) +{ + + pcb->pcb_special = tf->tf_special; + pcb->pcb_special.__spare = ~0UL; /* XXX see unwind.c */ + save_callee_saved(&pcb->pcb_preserved); + save_callee_saved_fp(&pcb->pcb_preserved_fp); +} + int get_mcontext(struct thread *td, mcontext_t *mc, int flags) { ==== //depot/projects/gdb/sys/ia64/ia64/unwind.c#6 (text+ko) ==== @@ -310,7 +310,7 @@ int unw_create_from_frame(struct unw_regstate *rs, struct trapframe *tf) { - uint64_t bsp; + uint64_t bsp, ip; int uwxerr; rs->frame = tf; @@ -326,9 +326,10 @@ bsp = tf->tf_special.bspstore + tf->tf_special.ndirty; bsp = ia64_bsp_adjust(bsp, -IA64_CFM_SOF(tf->tf_special.cfm)); + ip = tf->tf_special.iip + ((tf->tf_special.isr >> 41) & 3); - uwxerr = uwx_init_context(rs->env, tf->tf_special.iip, - tf->tf_special.sp, bsp, tf->tf_special.cfm); + uwxerr = uwx_init_context(rs->env, ip, tf->tf_special.sp, bsp, + tf->tf_special.cfm); return ((uwxerr) ? EINVAL : 0); /* XXX */ } @@ -336,7 +337,7 @@ int unw_create_from_pcb(struct unw_regstate *rs, struct pcb *pcb) { - uint64_t bsp, cfm; + uint64_t bsp, cfm, ip; int uwxerr; rs->frame = NULL; @@ -351,11 +352,16 @@ return (EINVAL); /* XXX */ bsp = pcb->pcb_special.bspstore; - cfm = pcb->pcb_special.pfs; + if (pcb->pcb_special.__spare == ~0UL) { + ip = pcb->pcb_special.iip + ((pcb->pcb_special.isr >> 41) & 3); + cfm = pcb->pcb_special.cfm; + bsp += pcb->pcb_special.ndirty; + } else { + ip = pcb->pcb_special.rp; + cfm = pcb->pcb_special.pfs; + } bsp = ia64_bsp_adjust(bsp, -IA64_CFM_SOL(cfm)); - - uwxerr = uwx_init_context(rs->env, pcb->pcb_special.rp, - pcb->pcb_special.sp, bsp, pcb->pcb_special.pfs); + uwxerr = uwx_init_context(rs->env, ip, pcb->pcb_special.sp, bsp, cfm); return ((uwxerr) ? EINVAL : 0); /* XXX */ } ==== //depot/projects/gdb/sys/ia64/include/db_machdep.h#5 (text+ko) ==== @@ -44,7 +44,9 @@ typedef vm_offset_t db_addr_t; /* address - unsigned */ typedef long db_expr_t; /* expression - signed */ -#define PC_REGS() ((db_addr_t)kdb_thrctx->pcb_special.rp) +#define PC_REGS() ((kdb_thrctx->pcb_special.__spare == 0) ? \ + kdb_thrctx->pcb_special.rp : \ + kdb_thrctx->pcb_special.iip + ((kdb_thrctx->pcb_special.psr>>41) & 3)) #define BKPT_WRITE(addr, storage) db_bkpt_write(addr, storage) #define BKPT_CLEAR(addr, storage) db_bkpt_clear(addr, storage) @@ -71,6 +73,4 @@ #define branch_taken(ins, pc, regs) pc -#define next_instr_address(v, b) ((db_addr_t) ((b) ? (v) : ((v) + 4))) - #endif /* _MACHINE_DB_MACHDEP_H_ */ From owner-p4-projects@FreeBSD.ORG Tue Jul 6 01:29:52 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 35C8D16A4D0; Tue, 6 Jul 2004 01:29:52 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 07DBE16A4CE for ; Tue, 6 Jul 2004 01:29:52 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0240643D39 for ; Tue, 6 Jul 2004 01:29:52 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i661Tp7X098547 for ; Tue, 6 Jul 2004 01:29:51 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i661TpIO098544 for perforce@freebsd.org; Tue, 6 Jul 2004 01:29:51 GMT (envelope-from marcel@freebsd.org) Date: Tue, 6 Jul 2004 01:29:51 GMT Message-Id: <200407060129.i661TpIO098544@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56563 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 01:29:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=56563 Change 56563 by marcel@marcel_nfs on 2004/07/06 01:29:30 Get the slot from PSR, not ISR. Getting it from ISR is unreliable. Affected files ... .. //depot/projects/gdb/sys/ia64/ia64/unwind.c#7 edit Differences ... ==== //depot/projects/gdb/sys/ia64/ia64/unwind.c#7 (text+ko) ==== @@ -326,7 +326,7 @@ bsp = tf->tf_special.bspstore + tf->tf_special.ndirty; bsp = ia64_bsp_adjust(bsp, -IA64_CFM_SOF(tf->tf_special.cfm)); - ip = tf->tf_special.iip + ((tf->tf_special.isr >> 41) & 3); + ip = tf->tf_special.iip + ((tf->tf_special.psr >> 41) & 3); uwxerr = uwx_init_context(rs->env, ip, tf->tf_special.sp, bsp, tf->tf_special.cfm); @@ -353,7 +353,7 @@ bsp = pcb->pcb_special.bspstore; if (pcb->pcb_special.__spare == ~0UL) { - ip = pcb->pcb_special.iip + ((pcb->pcb_special.isr >> 41) & 3); + ip = pcb->pcb_special.iip + ((pcb->pcb_special.psr >> 41) & 3); cfm = pcb->pcb_special.cfm; bsp += pcb->pcb_special.ndirty; } else { From owner-p4-projects@FreeBSD.ORG Tue Jul 6 01:37:01 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 77F3416A4E2; Tue, 6 Jul 2004 01:37:01 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 179DF16A4D3 for ; Tue, 6 Jul 2004 01:37:01 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 11B7D43D1F for ; Tue, 6 Jul 2004 01:37:01 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i661b0AP098822 for ; Tue, 6 Jul 2004 01:37:00 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i661b0Nd098819 for perforce@freebsd.org; Tue, 6 Jul 2004 01:37:00 GMT (envelope-from marcel@freebsd.org) Date: Tue, 6 Jul 2004 01:37:00 GMT Message-Id: <200407060137.i661b0Nd098819@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56564 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 01:37:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=56564 Change 56564 by marcel@marcel_nfs on 2004/07/06 01:36:46 Implement makectx() on sparc64. Tested and working. This is a rather minimal implementation, but I guess it's enough. Note that backtraces are weird on sparc64. It's not showing the innermost frame... Affected files ... .. //depot/projects/gdb/sys/sparc64/sparc64/machdep.c#7 edit Differences ... ==== //depot/projects/gdb/sys/sparc64/sparc64/machdep.c#7 (text+ko) ==== @@ -567,6 +567,21 @@ } #endif +/* + * Construct a PCB from a trapframe. This is called from kdb_trap() where + * we want to start a backtrace from the function that caused us to enter + * the debugger. We have the context in the trapframe, but base the trace + * on the PCB. The PCB doesn't have to be perfect, as long as it contains + * enough for a backtrace. + */ +void +makectx(struct trapframe *tf, struct pcb *pcb) +{ + + pcb->pcb_pc = tf->tf_tpc; + pcb->pcb_sp = tf->tf_sp; +} + int get_mcontext(struct thread *td, mcontext_t *mc, int flags) { From owner-p4-projects@FreeBSD.ORG Tue Jul 6 01:53:22 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9C39316A4D0; Tue, 6 Jul 2004 01:53:21 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4A8C616A4CE for ; Tue, 6 Jul 2004 01:53:21 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 443D643D1D for ; Tue, 6 Jul 2004 01:53:21 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i661rLBQ099227 for ; Tue, 6 Jul 2004 01:53:21 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i661rK4E099224 for perforce@freebsd.org; Tue, 6 Jul 2004 01:53:20 GMT (envelope-from marcel@freebsd.org) Date: Tue, 6 Jul 2004 01:53:20 GMT Message-Id: <200407060153.i661rK4E099224@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56565 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 01:53:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=56565 Change 56565 by marcel@marcel_sledge on 2004/07/06 01:52:46 Implement makectx() on amd64. It compiles. I think it'll work, but I can't test amd64 at all... Affected files ... .. //depot/projects/gdb/sys/amd64/amd64/machdep.c#15 edit Differences ... ==== //depot/projects/gdb/sys/amd64/amd64/machdep.c#15 (text+ko) ==== @@ -1283,6 +1283,27 @@ pcpu->pc_acpi_id = 0xffffffff; } +/* + * Construct a PCB from a trapframe. This is called from kdb_trap() where + * we want to start a backtrace from the function that caused us to enter + * the debugger. We have the context in the trapframe, but base the trace + * on the PCB. The PCB doesn't have to be perfect, as long as it contains + * enough for a backtrace. + */ +void +makectx(struct trapframe *tf, struct pcb *pcb) +{ + + pcb->pcb_r12 = tf->tf_r12; + pcb->pcb_r13 = tf->tf_r13; + pcb->pcb_r14 = tf->tf_r14; + pcb->pcb_r15 = tf->tf_r15; + pcb->pcb_rbp = tf->tf_rbp; + pcb->pcb_rbx = tf->tf_rbx; + pcb->pcb_rip = tf->tf_rip; + pcb->pcb_rsp = (ISPL(tf->tf_cs)) ? tf->tf_rsp : (long)(tf + 1) - 8; +} + int ptrace_set_pc(struct thread *td, unsigned long addr) { From owner-p4-projects@FreeBSD.ORG Tue Jul 6 01:59:30 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A625F16A4D0; Tue, 6 Jul 2004 01:59:29 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 64AF516A4CE for ; Tue, 6 Jul 2004 01:59:29 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5BEE343D31 for ; Tue, 6 Jul 2004 01:59:29 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i661xTcg099361 for ; Tue, 6 Jul 2004 01:59:29 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i661xSf2099358 for perforce@freebsd.org; Tue, 6 Jul 2004 01:59:28 GMT (envelope-from marcel@freebsd.org) Date: Tue, 6 Jul 2004 01:59:28 GMT Message-Id: <200407060159.i661xSf2099358@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56566 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 01:59:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=56566 Change 56566 by marcel@marcel_nfs on 2004/07/06 01:58:46 IFC @56561 Affected files ... .. //depot/projects/gdb/UPDATING#19 integrate .. //depot/projects/gdb/contrib/gnu-sort/FREEBSD-upgrade#3 integrate .. //depot/projects/gdb/contrib/gnu-sort/src/sort.c#3 integrate .. //depot/projects/gdb/contrib/top/top.c#3 integrate .. //depot/projects/gdb/etc/devd.conf#5 integrate .. //depot/projects/gdb/gnu/lib/libregex/FREEBSD-upgrade#2 integrate .. //depot/projects/gdb/include/Makefile#8 integrate .. //depot/projects/gdb/include/ftw.h#1 branch .. //depot/projects/gdb/lib/libalias/Makefile#4 integrate .. //depot/projects/gdb/lib/libalias/alias.c#7 integrate .. //depot/projects/gdb/lib/libalias/alias.h#5 integrate .. //depot/projects/gdb/lib/libalias/alias_cuseeme.c#4 integrate .. //depot/projects/gdb/lib/libalias/alias_db.c#4 integrate .. //depot/projects/gdb/lib/libalias/alias_ftp.c#4 integrate .. //depot/projects/gdb/lib/libalias/alias_irc.c#4 integrate .. //depot/projects/gdb/lib/libalias/alias_local.h#5 integrate .. //depot/projects/gdb/lib/libalias/alias_nbt.c#4 integrate .. //depot/projects/gdb/lib/libalias/alias_old.c#3 integrate .. //depot/projects/gdb/lib/libalias/alias_pptp.c#5 integrate .. //depot/projects/gdb/lib/libalias/alias_proxy.c#4 integrate .. //depot/projects/gdb/lib/libalias/alias_skinny.c#4 integrate .. //depot/projects/gdb/lib/libalias/alias_smedia.c#4 integrate .. //depot/projects/gdb/lib/libalias/alias_util.c#5 integrate .. //depot/projects/gdb/lib/libarchive/archive_entry.3#7 integrate .. //depot/projects/gdb/lib/libarchive/archive_entry.c#17 integrate .. //depot/projects/gdb/lib/libarchive/archive_entry.h#10 integrate .. //depot/projects/gdb/lib/libarchive/archive_read.3#10 integrate .. //depot/projects/gdb/lib/libarchive/archive_util.3#2 integrate .. //depot/projects/gdb/lib/libarchive/archive_write.3#4 integrate .. //depot/projects/gdb/lib/libarchive/libarchive-formats.5#2 integrate .. //depot/projects/gdb/lib/libarchive/libarchive.3#4 integrate .. //depot/projects/gdb/lib/libarchive/tar.5#6 integrate .. //depot/projects/gdb/lib/libbluetooth/bluetooth.3#3 integrate .. //depot/projects/gdb/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#4 integrate .. //depot/projects/gdb/lib/libc/gen/Makefile.inc#4 integrate .. //depot/projects/gdb/lib/libc/gen/ftw.3#1 branch .. //depot/projects/gdb/lib/libc/gen/ftw.c#1 branch .. //depot/projects/gdb/lib/libc/gen/getttyent.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/shm_open.3#3 integrate .. //depot/projects/gdb/lib/libc/locale/big5.5#2 integrate .. //depot/projects/gdb/lib/libc/locale/euc.5#2 integrate .. //depot/projects/gdb/lib/libc/locale/gb18030.5#2 integrate .. //depot/projects/gdb/lib/libc/locale/gb2312.5#3 integrate .. //depot/projects/gdb/lib/libc/locale/gbk.5#2 integrate .. //depot/projects/gdb/lib/libc/locale/isideogram.3#2 integrate .. //depot/projects/gdb/lib/libc/locale/localeconv.3#2 integrate .. //depot/projects/gdb/lib/libc/locale/mblen.3#5 integrate .. //depot/projects/gdb/lib/libc/locale/mbstowcs.3#3 integrate .. //depot/projects/gdb/lib/libc/locale/mbtowc.3#4 integrate .. //depot/projects/gdb/lib/libc/locale/mskanji.5#2 integrate .. //depot/projects/gdb/lib/libc/locale/utf2.5#3 integrate .. //depot/projects/gdb/lib/libc/locale/wcstombs.3#4 integrate .. //depot/projects/gdb/lib/libc/locale/wctomb.3#3 integrate .. //depot/projects/gdb/lib/libc/net/getifmaddrs.3#2 integrate .. //depot/projects/gdb/lib/libc/net/inet6_opt_init.3#4 integrate .. //depot/projects/gdb/lib/libc/net/inet6_rth_space.3#4 integrate .. //depot/projects/gdb/lib/libc/posix1e/acl_delete.3#3 integrate .. //depot/projects/gdb/lib/libc/stdio/fflush.c#2 integrate .. //depot/projects/gdb/lib/libc/stdlib/exit.3#2 integrate .. //depot/projects/gdb/lib/libc/sys/execve.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/extattr_get_file.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/sched_setparam.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/setuid.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/vfork.2#3 integrate .. //depot/projects/gdb/lib/libc/sys/wait.2#4 integrate .. //depot/projects/gdb/lib/libkiconv/kiconv.3#4 integrate .. //depot/projects/gdb/lib/libpam/modules/pam_guest/pam_guest.8#3 integrate .. //depot/projects/gdb/lib/libsdp/sdp.3#5 integrate .. //depot/projects/gdb/lib/libufs/bread.3#3 integrate .. //depot/projects/gdb/lib/libufs/cgread.3#3 integrate .. //depot/projects/gdb/lib/libufs/getino.3#3 integrate .. //depot/projects/gdb/lib/libufs/libufs.3#3 integrate .. //depot/projects/gdb/lib/libufs/sbread.3#3 integrate .. //depot/projects/gdb/sbin/geom/class/concat/gconcat.8#4 integrate .. //depot/projects/gdb/sbin/geom/class/concat/geom_concat.c#3 integrate .. //depot/projects/gdb/sbin/geom/class/label/geom_label.c#2 integrate .. //depot/projects/gdb/sbin/geom/class/label/glabel.8#3 integrate .. //depot/projects/gdb/sbin/geom/class/stripe/geom_stripe.c#3 integrate .. //depot/projects/gdb/sbin/geom/class/stripe/gstripe.8#4 integrate .. //depot/projects/gdb/sbin/geom/misc/subr.c#3 integrate .. //depot/projects/gdb/sbin/geom/misc/subr.h#3 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/ndis.4#4 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/pae.4#3 integrate .. //depot/projects/gdb/share/man/man4/matcd.4#4 integrate .. //depot/projects/gdb/share/man/man4/natmip.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_atm.4#4 integrate .. //depot/projects/gdb/share/man/man4/ng_atmpif.4#4 integrate .. //depot/projects/gdb/share/man/man4/ng_one2many.4#7 integrate .. //depot/projects/gdb/share/man/man4/ng_sppp.4#5 integrate .. //depot/projects/gdb/share/man/man4/random.4#6 integrate .. //depot/projects/gdb/share/man/man4/sbp_targ.4#3 integrate .. //depot/projects/gdb/share/man/man8/rc.8#3 integrate .. //depot/projects/gdb/share/man/man9/VOP_LINK.9#2 integrate .. //depot/projects/gdb/share/man/man9/VOP_LISTEXTATTR.9#3 integrate .. //depot/projects/gdb/share/man/man9/g_access.9#5 integrate .. //depot/projects/gdb/share/man/man9/g_attach.9#5 integrate .. //depot/projects/gdb/share/man/man9/g_bio.9#5 integrate .. //depot/projects/gdb/share/man/man9/g_consumer.9#5 integrate .. //depot/projects/gdb/share/man/man9/g_data.9#5 integrate .. //depot/projects/gdb/share/man/man9/g_event.9#5 integrate .. //depot/projects/gdb/share/man/man9/g_geom.9#5 integrate .. //depot/projects/gdb/share/man/man9/g_provider.9#5 integrate .. //depot/projects/gdb/share/man/man9/g_provider_by_name.9#4 integrate .. //depot/projects/gdb/share/man/man9/g_wither_geom.9#4 integrate .. //depot/projects/gdb/share/man/man9/ieee80211.9#2 integrate .. //depot/projects/gdb/share/man/man9/ithread.9#3 integrate .. //depot/projects/gdb/share/man/man9/mutex.9#5 integrate .. //depot/projects/gdb/share/man/man9/p_candebug.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap.9#3 integrate .. //depot/projects/gdb/share/man/man9/pmap_addr_hint.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_change_wiring.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_clear_modify.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_copy.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_enter.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_extract.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_is_modified.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_is_prefaultable.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_map.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_mincore.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_object_init_pt.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_page_protect.9#2 integrate .. //depot/projects/gdb/share/man/man9/pmap_zero_page.9#2 integrate .. //depot/projects/gdb/share/man/man9/signal.9#2 integrate .. //depot/projects/gdb/sys/alpha/alpha/pmap.c#10 integrate .. //depot/projects/gdb/sys/alpha/include/pmap.h#7 integrate .. //depot/projects/gdb/sys/arm/arm/pmap.c#4 integrate .. //depot/projects/gdb/sys/dev/fdc/fdc.c#4 integrate .. //depot/projects/gdb/sys/geom/concat/g_concat.c#8 integrate .. //depot/projects/gdb/sys/geom/concat/g_concat.h#5 integrate .. //depot/projects/gdb/sys/geom/label/g_label.c#2 integrate .. //depot/projects/gdb/sys/geom/label/g_label.h#2 integrate .. //depot/projects/gdb/sys/geom/stripe/g_stripe.c#3 integrate .. //depot/projects/gdb/sys/geom/stripe/g_stripe.h#2 integrate .. //depot/projects/gdb/sys/geom/vinum/geom_vinum.c#4 integrate .. //depot/projects/gdb/sys/i386/isa/isa.h#3 integrate .. //depot/projects/gdb/sys/i386/isa/isa_dma.c#3 integrate .. //depot/projects/gdb/sys/i4b/driver/i4b_ing.c#5 integrate .. //depot/projects/gdb/sys/ia64/ia64/pmap.c#9 integrate .. //depot/projects/gdb/sys/isa/orm.c#3 integrate .. //depot/projects/gdb/sys/kern/uipc_socket.c#18 integrate .. //depot/projects/gdb/sys/kern/vfs_subr.c#14 integrate .. //depot/projects/gdb/sys/net/bpf.c#8 integrate .. //depot/projects/gdb/sys/net/bridge.c#8 integrate .. //depot/projects/gdb/sys/pci/if_dc.c#8 integrate .. //depot/projects/gdb/sys/pci/if_de.c#7 integrate .. //depot/projects/gdb/sys/pci/if_rl.c#11 integrate .. //depot/projects/gdb/sys/pci/if_rlreg.h#4 integrate .. //depot/projects/gdb/sys/pci/if_sf.c#6 integrate .. //depot/projects/gdb/sys/pci/if_ti.c#6 integrate .. //depot/projects/gdb/sys/pci/if_xl.c#8 integrate .. //depot/projects/gdb/sys/pci/if_xlreg.h#2 integrate .. //depot/projects/gdb/sys/powerpc/powerpc/pmap.c#8 integrate .. //depot/projects/gdb/sys/sys/mount.h#9 integrate .. //depot/projects/gdb/usr.bin/compress/compress.1#3 integrate .. //depot/projects/gdb/usr.bin/fetch/fetch.c#6 integrate .. //depot/projects/gdb/usr.bin/join/join.1#4 integrate .. //depot/projects/gdb/usr.bin/join/join.c#2 integrate .. //depot/projects/gdb/usr.bin/rup/rup.1#3 integrate .. //depot/projects/gdb/usr.bin/rusers/rusers.1#3 integrate .. //depot/projects/gdb/usr.bin/rwall/rwall.1#3 integrate .. //depot/projects/gdb/usr.bin/tar/bsdtar.1#10 integrate .. //depot/projects/gdb/usr.bin/top/machine.c#4 integrate .. //depot/projects/gdb/usr.sbin/syslogd/syslogd.c#6 integrate .. //depot/projects/gdb/usr.sbin/ypserv/ypinit.8#2 integrate Differences ... ==== //depot/projects/gdb/UPDATING#19 (text+ko) ==== @@ -17,6 +17,13 @@ developers choose to disable these features on build machines to maximize performance. +20040702: + The native preemption has been added to the kernel scheduler. + There is some report that ULE scheduler was broken in some + machines and we encourage users using ULE schedluer either + stick with an known good kernel, or temporary switch to 4BSD + scheduler as a workaround. + 20040630: The netgraph ABI version number has been incremented to indicate an incompatible change in the ABI. Old netgraph nodes will refuse @@ -26,6 +33,9 @@ case the changes are simple; the file ng_ksocket.c serves as an example of such changes. + This also broke i4b, although the compile problem has been papered + over. + 20040630: ACPI has been updated to disable known-bad BIOS revisions. A message will be printed on console indicating that ACPI has been disabled @@ -1670,4 +1680,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.321 2004/06/30 23:13:16 bms Exp $ +$FreeBSD: src/UPDATING,v 1.322 2004/07/05 18:11:59 imp Exp $ ==== //depot/projects/gdb/contrib/gnu-sort/FREEBSD-upgrade#3 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/contrib/gnu-sort/FREEBSD-upgrade,v 1.3 2004/07/03 02:37:42 tjr Exp $ +$FreeBSD: src/contrib/gnu-sort/FREEBSD-upgrade,v 1.4 2004/07/06 00:33:52 ache Exp $ GNU Sort originals can be found at: ftp://ftp.gnu.org/gnu/coreutils/ @@ -12,6 +12,3 @@ cvs import \ -m "Virgin import (trimmed) of GNU Sort, coreutils 5.2.1" \ src/contrib/gnu-sort FSF SORT_v5_2_1 - -ache@FreeBSD.org -30 Aug 2003 ==== //depot/projects/gdb/contrib/gnu-sort/src/sort.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/gnu-sort/src/sort.c,v 1.2 2004/07/02 11:07:42 tjr Exp $ */ +/* $FreeBSD: src/contrib/gnu-sort/src/sort.c,v 1.3 2004/07/05 12:40:31 tjr Exp $ */ /* sort - sort lines of text (with all kinds of options). Copyright (C) 88, 1991-2004 Free Software Foundation, Inc. @@ -301,13 +301,11 @@ they were read if all keys compare equal. */ static bool stable; -/* If TAB has this value, blanks separate fields. */ -enum { TAB_DEFAULT = CHAR_MAX + 1 }; - -/* Tab character separating fields. If TAB_DEFAULT, then fields are +/* Tab character separating fields. If tab_default, then fields are separated by the empty string between a non-blank character and a blank character. */ -static int tab[MB_LEN_MAX + 1] = { TAB_DEFAULT }; +static bool tab_default = true; +static unsigned char tab[MB_LEN_MAX + 1]; static size_t tab_length = 1; /* Flag to remove consecutive duplicate lines from the output. @@ -949,7 +947,7 @@ /* The leading field separator itself is included in a field when -t is absent. */ - if (tab[0] != TAB_DEFAULT) + if (!tab_default) while (ptr < lim && sword--) { while (ptr < lim && *ptr != tab[0]) @@ -993,7 +991,7 @@ memset (&state, '\0', sizeof(mbstate_t)); - if (tab[0] != TAB_DEFAULT) + if (!tab_default) while (ptr < lim && sword--) { while (ptr < lim && memcmp (ptr, tab, tab_length) != 0) @@ -1056,7 +1054,7 @@ `beginning' is the first character following the delimiting TAB. Otherwise, leave PTR pointing at the first `blank' character after the preceding field. */ - if (tab[0] != TAB_DEFAULT) + if (!tab_default) while (ptr < lim && eword--) { while (ptr < lim && *ptr != tab[0]) @@ -1105,7 +1103,7 @@ */ /* Make LIM point to the end of (one byte past) the current field. */ - if (tab[0] != TAB_DEFAULT) + if (!tab_default) { char *newlim; newlim = memchr (ptr, tab[0], lim - ptr); @@ -1152,7 +1150,7 @@ memset (&state, '\0', sizeof(mbstate_t)); - if (tab[0]) + if (!tab_default) while (ptr < lim && eword--) { while (ptr < lim && memcmp (ptr, tab, tab_length) != 0) @@ -1183,7 +1181,7 @@ # ifdef POSIX_UNSPECIFIED /* Make LIM point to the end of (one byte past) the current field. */ - if (tab[0]) + if (!tab_default) { char *newlim, *p; @@ -3150,6 +3148,7 @@ case 't': { char newtab[MB_LEN_MAX + 1]; + size_t newtab_length = 1; strncpy (newtab, optarg, MB_LEN_MAX); if (! newtab[0]) error (SORT_FAILURE, 0, _("empty tab")); @@ -3158,7 +3157,7 @@ { wchar_t wc; mbstate_t state; - size_t newtab_length, i; + size_t i; memset (&state, '\0', sizeof (mbstate_t)); newtab_length = mbrtowc (&wc, newtab, strnlen (newtab, MB_LEN_MAX), &state); @@ -3170,7 +3169,7 @@ newtab_length = 1; } - if (optarg[tab_length]) + if (optarg[newtab_length]) { /* Provoke with `sort -txx'. Complain about "multi-character tab" instead of "multibyte tab", so @@ -3179,9 +3178,6 @@ error (SORT_FAILURE, 0, _("multi-character tab `%s'"), optarg); } - - for (i = 0; i < newtab_length; i++) - tab[i] = newtab[i]; } else #endif @@ -3200,9 +3196,12 @@ optarg); } } - if (tab[0] != TAB_DEFAULT && tab[0] != newtab[0]) + if (!tab_default && (tab_length != newtab_length + || memcmp(tab, newtab, tab_length) != 0)) error (SORT_FAILURE, 0, _("incompatible tabs")); - tab[0] = newtab[0]; + memcpy(tab, newtab, newtab_length); + tab_length = newtab_length; + tab_default = false; } break; ==== //depot/projects/gdb/contrib/top/top.c#3 (text+ko) ==== @@ -13,7 +13,7 @@ * Copyright (c) 1994, 1995, William LeFebvre, Argonne National Laboratory * Copyright (c) 1996, William LeFebvre, Group sys Consulting * - * $FreeBSD: src/contrib/top/top.c,v 1.11 2004/07/01 09:12:38 alfred Exp $ + * $FreeBSD: src/contrib/top/top.c,v 1.12 2004/07/05 12:19:53 des Exp $ */ /* @@ -354,7 +354,7 @@ } break; - case 'm': /* select sort order */ + case 'm': /* select display mode */ if (strcmp(optarg, "io") == 0) { displaymode = DISP_IO; } else if (strcmp(optarg, "cpu") == 0) { ==== //depot/projects/gdb/etc/devd.conf#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/devd.conf,v 1.13 2004/06/06 11:46:27 schweikh Exp $ +# $FreeBSD: src/etc/devd.conf,v 1.14 2004/07/05 20:16:30 imp Exp $ # # Refer to devd.conf(5) and devd(8) man pages for the details on how to # run and configure devd. @@ -60,7 +60,7 @@ # attach 0 { device-name "$scsi-controller-regex"; - action "camcontrol rescan all"; +// action "camcontrol rescan all"; }; # Don't even try to second guess what to do about drivers that don't ==== //depot/projects/gdb/gnu/lib/libregex/FREEBSD-upgrade#2 (text+ko) ==== @@ -1,14 +1,12 @@ -$FreeBSD: src/gnu/lib/libregex/FREEBSD-upgrade,v 1.1 2004/02/25 02:59:26 ache Exp $ +$FreeBSD: src/gnu/lib/libregex/FREEBSD-upgrade,v 1.2 2004/07/06 00:10:40 ache Exp $ GNU regex (from grep): -originals can be found at: ftp://ftp.gnu.org/gnu/grep/ +originals can be found at: +http://download.fedora.redhat.com/pub/fedora/linux/core/2/SRPMS/grep-2.5.1-26.src.rpm Imported by: cvs import \ - -m "Virgin import (trimmed) of GNU regex, from GNU grep 2.4.2" \ - src/gnu/lib/libregex FSF from_grep_v2_4_2 - -ache@FreeBSD.org -25 Feb 2004 + -m "Import of GNU regex from GNU grep 2.5.1 (trimmed)." \ + src/gnu/lib/libregex FSF from_grep_v2_5_1 ==== //depot/projects/gdb/include/Makefile#8 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.215 2004/07/02 19:40:35 pjd Exp $ +# $FreeBSD: src/include/Makefile,v 1.216 2004/07/05 23:13:16 das Exp $ # # Doing a "make install" builds /usr/include. @@ -7,7 +7,8 @@ SUBDIR= arpa protocols rpcsvc rpc INCS= a.out.h ar.h assert.h bitstring.h complex.h cpio.h ctype.h db.h \ dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \ - fts.h getopt.h glob.h grp.h hesiod.h histedit.h ieeefp.h ifaddrs.h \ + fts.h ftw.h getopt.h glob.h grp.h \ + hesiod.h histedit.h ieeefp.h ifaddrs.h \ inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \ locale.h malloc.h memory.h monetary.h mpool.h ndbm.h netconfig.h \ netdb.h nl_types.h nlist.h nss.h nsswitch.h objformat.h paths.h \ ==== //depot/projects/gdb/lib/libalias/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libalias/Makefile,v 1.25 2004/03/31 21:33:55 des Exp $ +# $FreeBSD: src/lib/libalias/Makefile,v 1.26 2004/07/05 11:10:57 des Exp $ LIB= alias SHLIBDIR?= /lib @@ -8,6 +8,6 @@ alias_nbt.c alias_pptp.c alias_proxy.c alias_skinny.c alias_smedia.c \ alias_util.c alias_old.c INCS= alias.h -WARNS?= 2 +WARNS?= 6 .include ==== //depot/projects/gdb/lib/libalias/alias.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libalias/alias.c,v 1.43 2004/07/04 12:53:07 phk Exp $"); +__FBSDID("$FreeBSD: src/lib/libalias/alias.c,v 1.46 2004/07/05 11:10:57 des Exp $"); /* Alias.c provides supervisory control for the functions of the @@ -47,56 +47,56 @@ Version 1.0 August, 1996 (cjm) Version 1.1 August 20, 1996 (cjm) - PPP host accepts incoming connections for ports 0 to 1023. - (Gary Roberts pointed out the need to handle incoming - connections.) + PPP host accepts incoming connections for ports 0 to 1023. + (Gary Roberts pointed out the need to handle incoming + connections.) Version 1.2 September 7, 1996 (cjm) - Fragment handling error in alias_db.c corrected. - (Tom Torrance helped fix this problem.) + Fragment handling error in alias_db.c corrected. + (Tom Torrance helped fix this problem.) Version 1.4 September 16, 1996 (cjm) - - A more generalized method for handling incoming - connections, without the 0-1023 restriction, is - implemented in alias_db.c - - Improved ICMP support in alias.c. Traceroute - packet streams can now be correctly aliased. - - TCP connection closing logic simplified in - alias.c and now allows for additional 1 minute - "grace period" after FIN or RST is observed. + - A more generalized method for handling incoming + connections, without the 0-1023 restriction, is + implemented in alias_db.c + - Improved ICMP support in alias.c. Traceroute + packet streams can now be correctly aliased. + - TCP connection closing logic simplified in + alias.c and now allows for additional 1 minute + "grace period" after FIN or RST is observed. Version 1.5 September 17, 1996 (cjm) - Corrected error in handling incoming UDP packets with 0 checksum. - (Tom Torrance helped fix this problem.) + Corrected error in handling incoming UDP packets with 0 checksum. + (Tom Torrance helped fix this problem.) Version 1.6 September 18, 1996 (cjm) - Simplified ICMP aliasing scheme. Should now support - traceroute from Win95 as well as FreeBSD. + Simplified ICMP aliasing scheme. Should now support + traceroute from Win95 as well as FreeBSD. Version 1.7 January 9, 1997 (cjm) - - Out-of-order fragment handling. - - IP checksum error fixed for ftp transfers - from aliasing host. - - Integer return codes added to all - aliasing/de-aliasing functions. - - Some obsolete comments cleaned up. - - Differential checksum computations for - IP header (TCP, UDP and ICMP were already - differential). + - Out-of-order fragment handling. + - IP checksum error fixed for ftp transfers + from aliasing host. + - Integer return codes added to all + aliasing/de-aliasing functions. + - Some obsolete comments cleaned up. + - Differential checksum computations for + IP header (TCP, UDP and ICMP were already + differential). Version 2.1 May 1997 (cjm) - - Added support for outgoing ICMP error - messages. - - Added two functions PacketAliasIn2() - and PacketAliasOut2() for dynamic address - control (e.g. round-robin allocation of - incoming packets). + - Added support for outgoing ICMP error + messages. + - Added two functions PacketAliasIn2() + and PacketAliasOut2() for dynamic address + control (e.g. round-robin allocation of + incoming packets). Version 2.2 July 1997 (cjm) - - Rationalized API function names to begin - with "PacketAlias..." - - Eliminated PacketAliasIn2() and - PacketAliasOut2() as poorly conceived. + - Rationalized API function names to begin + with "PacketAlias..." + - Eliminated PacketAliasIn2() and + PacketAliasOut2() as poorly conceived. Version 2.3 Dec 1998 (dillon) - Major bounds checking additions, see FreeBSD/CVS @@ -162,43 +162,43 @@ static void -TcpMonitorIn(struct ip *pip, struct alias_link *link) +TcpMonitorIn(struct ip *pip, struct alias_link *lnk) { struct tcphdr *tc; tc = (struct tcphdr *)((char *)pip + (pip->ip_hl << 2)); - switch (GetStateIn(link)) { + switch (GetStateIn(lnk)) { case ALIAS_TCP_STATE_NOT_CONNECTED: if (tc->th_flags & TH_RST) - SetStateIn(link, ALIAS_TCP_STATE_DISCONNECTED); + SetStateIn(lnk, ALIAS_TCP_STATE_DISCONNECTED); else if (tc->th_flags & TH_SYN) - SetStateIn(link, ALIAS_TCP_STATE_CONNECTED); + SetStateIn(lnk, ALIAS_TCP_STATE_CONNECTED); break; case ALIAS_TCP_STATE_CONNECTED: if (tc->th_flags & (TH_FIN | TH_RST)) - SetStateIn(link, ALIAS_TCP_STATE_DISCONNECTED); + SetStateIn(lnk, ALIAS_TCP_STATE_DISCONNECTED); break; } } static void -TcpMonitorOut(struct ip *pip, struct alias_link *link) +TcpMonitorOut(struct ip *pip, struct alias_link *lnk) { struct tcphdr *tc; tc = (struct tcphdr *)((char *)pip + (pip->ip_hl << 2)); - switch (GetStateOut(link)) { + switch (GetStateOut(lnk)) { case ALIAS_TCP_STATE_NOT_CONNECTED: if (tc->th_flags & TH_RST) - SetStateOut(link, ALIAS_TCP_STATE_DISCONNECTED); + SetStateOut(lnk, ALIAS_TCP_STATE_DISCONNECTED); else if (tc->th_flags & TH_SYN) - SetStateOut(link, ALIAS_TCP_STATE_CONNECTED); + SetStateOut(lnk, ALIAS_TCP_STATE_CONNECTED); break; case ALIAS_TCP_STATE_CONNECTED: if (tc->th_flags & (TH_FIN | TH_RST)) - SetStateOut(link, ALIAS_TCP_STATE_DISCONNECTED); + SetStateOut(lnk, ALIAS_TCP_STATE_DISCONNECTED); break; } } @@ -273,18 +273,18 @@ De-alias incoming echo and timestamp replies. Alias incoming echo and timestamp requests. */ - struct alias_link *link; + struct alias_link *lnk; struct icmp *ic; ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2)); /* Get source address from ICMP data field and restore original data */ - link = FindIcmpIn(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1); - if (link != NULL) { + lnk = FindIcmpIn(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1); + if (lnk != NULL) { u_short original_id; int accumulate; - original_id = GetOriginalPort(link); + original_id = GetOriginalPort(lnk); /* Adjust ICMP checksum */ accumulate = ic->icmp_id; @@ -298,7 +298,7 @@ { struct in_addr original_address; - original_address = GetOriginalAddress(link); + original_address = GetOriginalAddress(lnk); DifferentialChecksum(&pip->ip_sum, &original_address, &pip->ip_dst, 2); pip->ip_dst = original_address; @@ -320,7 +320,7 @@ struct icmp *ic, *ic2; struct udphdr *ud; struct tcphdr *tc; - struct alias_link *link; + struct alias_link *lnk; ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2)); ip = &ic->icmp_ip; @@ -330,29 +330,29 @@ ic2 = (struct icmp *)ud; if (ip->ip_p == IPPROTO_UDP) - link = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src, + lnk = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src, ud->uh_dport, ud->uh_sport, IPPROTO_UDP, 0); else if (ip->ip_p == IPPROTO_TCP) - link = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src, + lnk = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src, tc->th_dport, tc->th_sport, IPPROTO_TCP, 0); else if (ip->ip_p == IPPROTO_ICMP) { if (ic2->icmp_type == ICMP_ECHO || ic2->icmp_type == ICMP_TSTAMP) - link = FindIcmpIn(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0); + lnk = FindIcmpIn(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0); else - link = NULL; + lnk = NULL; } else - link = NULL; + lnk = NULL; - if (link != NULL) { + if (lnk != NULL) { if (ip->ip_p == IPPROTO_UDP || ip->ip_p == IPPROTO_TCP) { int accumulate, accumulate2; struct in_addr original_address; u_short original_port; - original_address = GetOriginalAddress(link); - original_port = GetOriginalPort(link); + original_address = GetOriginalAddress(lnk); + original_port = GetOriginalPort(lnk); /* Adjust ICMP checksum */ accumulate = twowords(&ip->ip_src); @@ -379,8 +379,8 @@ struct in_addr original_address; u_short original_id; - original_address = GetOriginalAddress(link); - original_id = GetOriginalPort(link); + original_address = GetOriginalAddress(lnk); + original_id = GetOriginalPort(lnk); /* Adjust ICMP checksum */ accumulate = twowords(&ip->ip_src); @@ -417,7 +417,7 @@ /* Return if proxy-only mode is enabled */ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) - return PKT_ALIAS_OK; + return (PKT_ALIAS_OK); ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2)); @@ -451,18 +451,18 @@ Alias outgoing echo and timestamp requests. De-alias outgoing echo and timestamp replies. */ - struct alias_link *link; + struct alias_link *lnk; struct icmp *ic; ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2)); /* Save overwritten data for when echo packet returns */ - link = FindIcmpOut(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1); - if (link != NULL) { + lnk = FindIcmpOut(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1); + if (lnk != NULL) { u_short alias_id; int accumulate; - alias_id = GetAliasPort(link); + alias_id = GetAliasPort(lnk); /* Since data field is being modified, adjust ICMP checksum */ accumulate = ic->icmp_id; @@ -476,7 +476,7 @@ { struct in_addr alias_address; - alias_address = GetAliasAddress(link); + alias_address = GetAliasAddress(lnk); DifferentialChecksum(&pip->ip_sum, &alias_address, &pip->ip_src, 2); pip->ip_src = alias_address; @@ -499,7 +499,7 @@ struct icmp *ic, *ic2; struct udphdr *ud; struct tcphdr *tc; - struct alias_link *link; + struct alias_link *lnk; ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2)); ip = &ic->icmp_ip; @@ -509,29 +509,29 @@ ic2 = (struct icmp *)ud; if (ip->ip_p == IPPROTO_UDP) - link = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src, + lnk = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src, ud->uh_dport, ud->uh_sport, IPPROTO_UDP, 0); else if (ip->ip_p == IPPROTO_TCP) - link = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src, + lnk = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src, tc->th_dport, tc->th_sport, IPPROTO_TCP, 0); else if (ip->ip_p == IPPROTO_ICMP) { if (ic2->icmp_type == ICMP_ECHO || ic2->icmp_type == ICMP_TSTAMP) - link = FindIcmpOut(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0); + lnk = FindIcmpOut(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0); else - link = NULL; + lnk = NULL; } else - link = NULL; + lnk = NULL; - if (link != NULL) { + if (lnk != NULL) { if (ip->ip_p == IPPROTO_UDP || ip->ip_p == IPPROTO_TCP) { int accumulate; struct in_addr alias_address; u_short alias_port; - alias_address = GetAliasAddress(link); - alias_port = GetAliasPort(link); + alias_address = GetAliasAddress(lnk); + alias_port = GetAliasPort(lnk); /* Adjust ICMP checksum */ accumulate = twowords(&ip->ip_dst); @@ -558,8 +558,8 @@ struct in_addr alias_address; u_short alias_id; - alias_address = GetAliasAddress(link); - alias_id = GetAliasPort(link); + alias_address = GetAliasAddress(lnk); + alias_id = GetAliasPort(lnk); /* Adjust ICMP checksum */ accumulate = twowords(&ip->ip_dst); @@ -594,9 +594,11 @@ int iresult; struct icmp *ic; + (void)create; + /* Return if proxy-only mode is enabled */ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) - return PKT_ALIAS_OK; + return (PKT_ALIAS_OK); ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2)); @@ -632,17 +634,17 @@ the dest IP address of the packet to our inside machine. */ - struct alias_link *link; + struct alias_link *lnk; /* Return if proxy-only mode is enabled */ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) - return PKT_ALIAS_OK; + return (PKT_ALIAS_OK); - link = FindProtoIn(la, pip->ip_src, pip->ip_dst, pip->ip_p); - if (link != NULL) { + lnk = FindProtoIn(la, pip->ip_src, pip->ip_dst, pip->ip_p); + if (lnk != NULL) { struct in_addr original_address; - original_address = GetOriginalAddress(link); + original_address = GetOriginalAddress(lnk); /* Restore original IP address */ DifferentialChecksum(&pip->ip_sum, @@ -663,17 +665,19 @@ only thing which is done in this case is to alias the source IP address of the packet. */ - struct alias_link *link; + struct alias_link *lnk; + + (void)create; /* Return if proxy-only mode is enabled */ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) - return PKT_ALIAS_OK; + return (PKT_ALIAS_OK); - link = FindProtoOut(la, pip->ip_src, pip->ip_dst, pip->ip_p); - if (link != NULL) { + lnk = FindProtoOut(la, pip->ip_src, pip->ip_dst, pip->ip_p); + if (lnk != NULL) { struct in_addr alias_address; - alias_address = GetAliasAddress(link); + alias_address = GetAliasAddress(lnk); /* Change source address */ DifferentialChecksum(&pip->ip_sum, @@ -690,28 +694,28 @@ UdpAliasIn(struct libalias *la, struct ip *pip) { struct udphdr *ud; - struct alias_link *link; + struct alias_link *lnk; /* Return if proxy-only mode is enabled */ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) - return PKT_ALIAS_OK; + return (PKT_ALIAS_OK); ud = (struct udphdr *)((char *)pip + (pip->ip_hl << 2)); - link = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst, + lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst, ud->uh_sport, ud->uh_dport, IPPROTO_UDP, 1); - if (link != NULL) { + if (lnk != NULL) { struct in_addr alias_address; struct in_addr original_address; u_short alias_port; int accumulate; int r = 0; - alias_address = GetAliasAddress(link); - original_address = GetOriginalAddress(link); + alias_address = GetAliasAddress(lnk); + original_address = GetOriginalAddress(lnk); alias_port = ud->uh_dport; - ud->uh_dport = GetOriginalPort(link); + ud->uh_dport = GetOriginalPort(lnk); /* Special processing for IP encoding protocols */ if (ntohs(ud->uh_dport) == CUSEEME_PORT_NUMBER) @@ -719,10 +723,10 @@ /* If NETBIOS Datagram, It should be alias address in UDP Data, too */ else if (ntohs(ud->uh_dport) == NETBIOS_DGM_PORT_NUMBER || ntohs(ud->uh_sport) == NETBIOS_DGM_PORT_NUMBER) - r = AliasHandleUdpNbt(la, pip, link, &original_address, ud->uh_dport); + r = AliasHandleUdpNbt(la, pip, lnk, &original_address, ud->uh_dport); else if (ntohs(ud->uh_dport) == NETBIOS_NS_PORT_NUMBER || ntohs(ud->uh_sport) == NETBIOS_NS_PORT_NUMBER) - r = AliasHandleUdpNbtNS(la, pip, link, &alias_address, &alias_port, + r = AliasHandleUdpNbtNS(la, pip, lnk, &alias_address, &alias_port, &original_address, &ud->uh_dport); /* If UDP checksum is not zero, then adjust since destination port */ @@ -754,34 +758,34 @@ UdpAliasOut(struct libalias *la, struct ip *pip, int create) { struct udphdr *ud; - struct alias_link *link; + struct alias_link *lnk; /* Return if proxy-only mode is enabled */ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) - return PKT_ALIAS_OK; + return (PKT_ALIAS_OK); ud = (struct udphdr *)((char *)pip + (pip->ip_hl << 2)); - link = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst, + lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst, ud->uh_sport, ud->uh_dport, IPPROTO_UDP, create); - if (link != NULL) { + if (lnk != NULL) { u_short alias_port; struct in_addr alias_address; - alias_address = GetAliasAddress(link); - alias_port = GetAliasPort(link); + alias_address = GetAliasAddress(lnk); + alias_port = GetAliasPort(lnk); /* Special processing for IP encoding protocols */ if (ntohs(ud->uh_dport) == CUSEEME_PORT_NUMBER) - AliasHandleCUSeeMeOut(la, pip, link); + AliasHandleCUSeeMeOut(la, pip, lnk); /* If NETBIOS Datagram, It should be alias address in UDP Data, too */ else if (ntohs(ud->uh_dport) == NETBIOS_DGM_PORT_NUMBER || ntohs(ud->uh_sport) == NETBIOS_DGM_PORT_NUMBER) - AliasHandleUdpNbt(la, pip, link, &alias_address, alias_port); + AliasHandleUdpNbt(la, pip, lnk, &alias_address, alias_port); else if (ntohs(ud->uh_dport) == NETBIOS_NS_PORT_NUMBER || ntohs(ud->uh_sport) == NETBIOS_NS_PORT_NUMBER) - AliasHandleUdpNbtNS(la, pip, link, &pip->ip_src, &ud->uh_sport, + AliasHandleUdpNbtNS(la, pip, lnk, &pip->ip_src, &ud->uh_sport, &alias_address, &alias_port); /* * We don't know in advance what TID the TFTP server will choose, @@ -822,15 +826,15 @@ TcpAliasIn(struct libalias *la, struct ip *pip) { struct tcphdr *tc; - struct alias_link *link; + struct alias_link *lnk; tc = (struct tcphdr *)((char *)pip + (pip->ip_hl << 2)); - link = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst, + lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst, tc->th_sport, tc->th_dport, IPPROTO_TCP, !(la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)); - if (link != NULL) { + if (lnk != NULL) { struct in_addr alias_address; struct in_addr original_address; struct in_addr proxy_address; @@ -841,17 +845,17 @@ /* Special processing for IP encoding protocols */ if (ntohs(tc->th_dport) == PPTP_CONTROL_PORT_NUMBER || ntohs(tc->th_sport) == PPTP_CONTROL_PORT_NUMBER) - AliasHandlePptpIn(la, pip, link); + AliasHandlePptpIn(la, pip, lnk); else if (la->skinnyPort != 0 && (ntohs(tc->th_dport) == la->skinnyPort || ntohs(tc->th_sport) == la->skinnyPort)) - AliasHandleSkinny(la, pip, link); + AliasHandleSkinny(la, pip, lnk); - alias_address = GetAliasAddress(link); - original_address = GetOriginalAddress(link); - proxy_address = GetProxyAddress(link); + alias_address = GetAliasAddress(lnk); + original_address = GetOriginalAddress(lnk); + proxy_address = GetProxyAddress(lnk); alias_port = tc->th_dport; - tc->th_dport = GetOriginalPort(link); - proxy_port = GetProxyPort(link); + tc->th_dport = GetOriginalPort(lnk); + proxy_port = GetProxyPort(lnk); /* Adjust TCP checksum since destination port is being unaliased */ /* and destination port is being altered. */ @@ -870,10 +874,10 @@ accumulate -= twowords(&proxy_address); } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 6 02:12:46 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 37C7C16A4D0; Tue, 6 Jul 2004 02:12:46 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D4CFE16A4CE for ; Tue, 6 Jul 2004 02:12:45 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CDC1743D2F for ; Tue, 6 Jul 2004 02:12:45 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i662CjDE099941 for ; Tue, 6 Jul 2004 02:12:45 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i662Cjl9099938 for perforce@freebsd.org; Tue, 6 Jul 2004 02:12:45 GMT (envelope-from marcel@freebsd.org) Date: Tue, 6 Jul 2004 02:12:45 GMT Message-Id: <200407060212.i662Cjl9099938@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 56567 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 02:12:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=56567 Change 56567 by marcel@marcel_nfs on 2004/07/06 02:11:46 Diff reduction ($FreeBSD$ expansion). Affected files ... .. //depot/projects/gdb/gnu/usr.bin/gdb/Makefile#8 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/alpha/Makefile#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/alpha/config.h#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/alpha/init.c#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/amd64/Makefile#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/amd64/config.h#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/amd64/init.c#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/i386/Makefile#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/i386/config.h#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/i386/init.c#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/ia64/Makefile#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/ia64/config.h#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/ia64/init.c#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/sparc64/Makefile#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/sparc64/config.h#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/arch/sparc64/init.c#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/doc/Makefile#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/gdb/gdb.1#3 edit .. //depot/projects/gdb/gnu/usr.bin/gdb/libgdb/Makefile#3 edit Differences ... ==== //depot/projects/gdb/gnu/usr.bin/gdb/Makefile#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD$ +# $FreeBSD: src/gnu/usr.bin/gdb/Makefile,v 1.8 2004/06/25 06:48:53 marcel Exp $ SUBDIR= doc libgdb gdb gdbtui ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/alpha/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD$ +# $FreeBSD: src/gnu/usr.bin/gdb/arch/alpha/Makefile,v 1.1 2004/06/25 06:48:53 marcel Exp $ LIBSRCS+= core-regset.c solib-legacy.c LIBSRCS+= alpha-mdebug-tdep.c alpha-tdep.c alphabsd-nat.c alphabsd-tdep.c \ ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/alpha/config.h#3 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/gnu/usr.bin/gdb/arch/alpha/config.h,v 1.1 2004/06/25 06:48:53 marcel Exp $ */ + /* config.h. Generated automatically by configure. */ /* config.in. Generated automatically from configure.in by autoheader. */ ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/alpha/init.c#3 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/gnu/usr.bin/gdb/arch/alpha/init.c,v 1.1 2004/06/25 06:48:53 marcel Exp $ */ + /* Do not modify this file. */ /* It is created automatically by the Makefile. */ #include "defs.h" /* For initialize_file_ftype. */ ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/amd64/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD$ +# $FreeBSD: src/gnu/usr.bin/gdb/arch/amd64/Makefile,v 1.1 2004/06/25 06:48:53 marcel Exp $ GENSRCS+= xm.h LIBSRCS+= fbsd-proc.c gcore.c ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/amd64/config.h#3 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/gnu/usr.bin/gdb/arch/amd64/config.h,v 1.1 2004/06/25 06:48:53 marcel Exp $ */ + /* config.h. Generated automatically by configure. */ /* config.in. Generated automatically from configure.in by autoheader. */ ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/amd64/init.c#3 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/gnu/usr.bin/gdb/arch/amd64/init.c,v 1.1 2004/06/25 06:48:53 marcel Exp $ */ + /* Do not modify this file. */ /* It is created automatically by the Makefile. */ #include "defs.h" /* For initialize_file_ftype. */ ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/i386/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD$ +# $FreeBSD: src/gnu/usr.bin/gdb/arch/i386/Makefile,v 1.1 2004/06/25 06:48:53 marcel Exp $ GENSRCS+= xm.h LIBSRCS+= fbsd-proc.c gcore.c ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/i386/config.h#3 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/gnu/usr.bin/gdb/arch/i386/config.h,v 1.1 2004/06/25 06:48:53 marcel Exp $ */ + /* config.h. Generated automatically by configure. */ /* config.in. Generated automatically from configure.in by autoheader. */ ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/i386/init.c#3 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/gnu/usr.bin/gdb/arch/i386/init.c,v 1.1 2004/06/25 06:48:53 marcel Exp $ */ + /* Do not modify this file. */ /* It is created automatically by the Makefile. */ #include "defs.h" /* For initialize_file_ftype. */ ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/ia64/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD$ +# $FreeBSD: src/gnu/usr.bin/gdb/arch/ia64/Makefile,v 1.1 2004/06/25 06:48:53 marcel Exp $ LIBSRCS+= fbsd-proc.c gcore.c LIBSRCS+= ia64-fbsd-nat.c ia64-fbsd-tdep.c ia64-tdep.c ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/ia64/config.h#3 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/gnu/usr.bin/gdb/arch/ia64/config.h,v 1.1 2004/06/25 06:48:53 marcel Exp $ */ + /* config.h. Generated automatically by configure. */ /* config.in. Generated automatically from configure.in by autoheader. */ ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/ia64/init.c#3 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/gnu/usr.bin/gdb/arch/ia64/init.c,v 1.1 2004/06/25 06:48:53 marcel Exp $ */ + /* Do not modify this file. */ /* It is created automatically by the Makefile. */ #include "defs.h" /* For initialize_file_ftype. */ ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/sparc64/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD$ +# $FreeBSD: src/gnu/usr.bin/gdb/arch/sparc64/Makefile,v 1.1 2004/06/25 06:48:54 marcel Exp $ LIBSRCS+= solib-legacy.c LIBSRCS+= sparc-nat.c sparc-tdep.c sparc64-nat.c sparc64-tdep.c \ ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/sparc64/config.h#3 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/gnu/usr.bin/gdb/arch/sparc64/config.h,v 1.1 2004/06/25 06:48:54 marcel Exp $ */ + /* config.h. Generated automatically by configure. */ /* config.in. Generated automatically from configure.in by autoheader. */ ==== //depot/projects/gdb/gnu/usr.bin/gdb/arch/sparc64/init.c#3 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD: src/gnu/usr.bin/gdb/arch/sparc64/init.c,v 1.1 2004/06/25 06:48:54 marcel Exp $ */ + /* Do not modify this file. */ /* It is created automatically by the Makefile. */ #include "defs.h" /* For initialize_file_ftype. */ ==== //depot/projects/gdb/gnu/usr.bin/gdb/doc/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD$ +# $FreeBSD: src/gnu/usr.bin/gdb/doc/Makefile,v 1.12 2004/06/25 06:48:54 marcel Exp $ INFO= gdb gdbint stabs INFOSECTION= "Software development" ==== //depot/projects/gdb/gnu/usr.bin/gdb/gdb/gdb.1#3 (text+ko) ==== @@ -1,6 +1,6 @@ .\" Copyright (c) 1991 Free Software Foundation .\" See section COPYING for conditions for redistribution -.\" $FreeBSD: src/gnu/usr.bin/binutils/gdb/gdb.1,v 1.7 1999/08/27 23:34:49 peter Exp $ +.\" $FreeBSD: src/gnu/usr.bin/gdb/gdb/gdb.1,v 1.8 2004/06/25 06:48:54 marcel Exp $ .TH gdb 1 "4nov1991" "GNU Tools" "GNU Tools" .SH NAME gdb \- The GNU Debugger ==== //depot/projects/gdb/gnu/usr.bin/gdb/libgdb/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD$ +# $FreeBSD: src/gnu/usr.bin/gdb/libgdb/Makefile,v 1.1 2004/06/25 06:48:54 marcel Exp $ LIB= gdb INTERNALLIB= yes From owner-p4-projects@FreeBSD.ORG Tue Jul 6 03:24:14 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9CB8A16A4D0; Tue, 6 Jul 2004 03:24:14 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5FA6C16A4CE for ; Tue, 6 Jul 2004 03:24:14 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59B2343D4C for ; Tue, 6 Jul 2004 03:24:14 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i663OEnb003212 for ; Tue, 6 Jul 2004 03:24:14 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i663OENk003209 for perforce@freebsd.org; Tue, 6 Jul 2004 03:24:14 GMT (envelope-from davidxu@freebsd.org) Date: Tue, 6 Jul 2004 03:24:14 GMT Message-Id: <200407060324.i663OENk003209@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 56573 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 03:24:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=56573 Change 56573 by davidxu@davidxu_celeron on 2004/07/06 03:23:50 Temporarily disable libthr debug to avoid breaking build. Affected files ... .. //depot/projects/davidxu_ksedbg/src/lib/libthread_db/src/thread_db.c#2 edit Differences ... ==== //depot/projects/davidxu_ksedbg/src/lib/libthread_db/src/thread_db.c#2 (text+ko) ==== @@ -37,15 +37,15 @@ static TAILQ_HEAD(, td_thragent) proclist = TAILQ_HEAD_INITIALIZER(proclist); extern struct ta_ops pthread_ops; +#if 0 extern struct ta_ops thr_ops; -#if 0 extern struct ta_ops c_r_ops; #endif static struct ta_ops *ops[] = { &pthread_ops, +#if 0 &thr_ops, -#if 0 &c_r_ops #endif }; From owner-p4-projects@FreeBSD.ORG Tue Jul 6 06:05:50 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A81F16A4D0; Tue, 6 Jul 2004 06:05:50 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D22EA16A4CE for ; Tue, 6 Jul 2004 06:05:49 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C836143D2D for ; Tue, 6 Jul 2004 06:05:49 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i6665nv9007842 for ; Tue, 6 Jul 2004 06:05:49 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i6665nGL007839 for perforce@freebsd.org; Tue, 6 Jul 2004 06:05:49 GMT (envelope-from julian@freebsd.org) Date: Tue, 6 Jul 2004 06:05:49 GMT Message-Id: <200407060605.i6665nGL007839@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 56588 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 06:05:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=56588 Change 56588 by julian@julian_jules1 on 2004/07/06 06:05:28 cleaned up version of sched.4bsd.c that compiles but not tested.. thr now is scope_process. Affected files ... .. //depot/projects/nsched/sys/kern/kern_kse.c#17 edit .. //depot/projects/nsched/sys/kern/kern_thr.c#9 edit .. //depot/projects/nsched/sys/kern/sched_4bsd.c#22 edit .. //depot/projects/nsched/sys/sys/proc.h#19 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_kse.c#17 (text+ko) ==== ==== //depot/projects/nsched/sys/kern/kern_thr.c#9 (text+ko) ==== @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -43,6 +44,7 @@ #include +extern int virtual_cpu; /* * Back end support functions. */ @@ -118,6 +120,7 @@ ucontext_t ctx; long id; int error; + int ncpus; if ((error = copyin(uap->ctx, &ctx, sizeof(ctx)))) return (error); @@ -143,7 +146,14 @@ td0->td_proc = td->td_proc; PROC_LOCK(td->td_proc); td0->td_sigmask = td->td_sigmask; - td->td_proc->p_flag |= P_HADTHREADS; + /* First time through? */ + if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { + ncpus = mp_ncpus; + if (virtual_cpu != 0) + ncpus = virtual_cpu; + sched_set_concurrancy(td->td_ksegrp, ncpus); + td->td_proc->p_flag |= P_HADTHREADS; + } PROC_UNLOCK(td->td_proc); td0->td_ucred = crhold(td->td_ucred); ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#22 (text+ko) ==== @@ -102,7 +102,6 @@ #define td_rqindex td_sched->std_rqindex #define td_state td_sched->std_state #define td_cpticks td_sched->std_cpticks -#define td_runq td_sched->std_runq /* flags kept in ke_flags */ @@ -120,12 +119,13 @@ #define kg_last_assigned kg_sched->skg_last_assigned #define kg_runq_threads kg_sched->skg_runq_threads #define kg_avail_opennings kg_sched->skg_avail_opennings +#define kg_concurrancy kg_sched->skg_concurrancy /**************************************************************** * function prototypes */ -static void recycle_slot(struct ksegrp *kg); /* was kse_reassign */ +static void slot_fill(struct ksegrp *kg); /* was kse_reassign */ #define KTR_4BSD 0x0 #define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start)) @@ -145,7 +145,7 @@ #define NICE_WEIGHT 1 /* Priorities per nice level. */ #define STD_RUNQ_PCPU(std) \ - ((std)->std_runq != 0 && (std)->std_runq != &runq) + (((std)->std_runq != 0) && ((std)->std_runq != &runq)) /* * TD_CAN_MIGRATE macro returns true if the thread can migrate between @@ -163,14 +163,13 @@ static void setup_runqs(void); static void roundrobin(void *arg); static void schedcpu(void); -static void schedcpu_thread(void); +static void schedcpu_kthread(void); static void sched_setup(void *dummy); static void maybe_resched(struct thread *td); static void updatepri(struct ksegrp *kg); static void resetpriority(struct ksegrp *kg); static void sched_add(struct thread *td); static void sched_rem(struct thread *td); -static struct td_sched * sched_choose(void); static void adjustrunqueue( struct thread *td, int newpri) ; @@ -180,7 +179,7 @@ static struct kproc_desc sched_kp = { "schedcpu", - schedcpu_thread, + schedcpu_kthread, NULL }; SYSINIT(schedcpu, SI_SUB_RUN_SCHEDULER, SI_ORDER_FIRST, kproc_start, &sched_kp) @@ -252,11 +251,11 @@ struct rqhead rq_queues[RQ_NQS]; }; -static void runq_add(struct runq *, struct thread *); +static void runq_add(struct runq *, struct td_sched *); static int runq_check(struct runq *); static struct td_sched *runq_choose(struct runq *); static void runq_init(struct runq *); -static void runq_remove(struct runq *, struct thread *); +static void runq_remove(struct runq *, struct td_sched *); #endif /* end of Jake copyright file */ /* @@ -441,7 +440,7 @@ * Recompute process priorities, every hz ticks. * MP-safe, called without the Giant mutex. * Called from: - * schedcpu_thread() which is a kthread that awakens once per second. + * schedcpu_kthread() which is a kthread that awakens once per second. */ /* ARGSUSED */ static void @@ -450,7 +449,7 @@ register fixpt_t loadfac = loadfactor(averunnable.ldavg[0]); struct thread *td; struct proc *p; - struct td_sched *ts; + struct td_sched *std; struct ksegrp *kg; int awake, realstathz; @@ -468,8 +467,8 @@ p->p_swtime++; FOREACH_KSEGRP_IN_PROC(p, kg) { awake = 0; - FOREACH_THREAD(kg, td) { - ts = td->td_sched; + FOREACH_THREAD_IN_GROUP(kg, td) { + std = td->td_sched; /* * Increment sleep time (if sleeping). We * ignore overflow, as above. @@ -560,7 +559,7 @@ * This is a kthread that runs forever.. */ static void -schedcpu_thread(void) +schedcpu_kthread(void) { int nowake; @@ -723,12 +722,13 @@ /* * charge childs scheduling cpu usage to parent. * - * XXXKSE assume only one thread & ksegrp keep estcpu in each ksegrp. + * XXXKSE assume only one thread & ksegrp. Keep estcpu in each ksegrp. * Charge it to the ksegrp that did the wait since process estcpu is sum of * all ksegrps, this is strictly as expected. Assume that the child process * aggregated all the estcpu into the 'built-in' ksegrp. * Called from: * exit() + * XXXKSE add a sched_wait() to transfer estcpu..? */ void sched_exit(struct proc *parent, struct thread *td) @@ -747,13 +747,12 @@ * We should give the estcpu to someone, but WHO? * Only called on exit of last thread in the ksegrp. * Called from: - * thread_exit() (for threaded programs only) + * thread_exit() (for threaded programs only when last thread exits) */ void sched_exit_ksegrp(struct proc *parent, struct thread *td) { /* free any resources we had on this ksegrp */ - sched_set_concurrancy(td->td_ksegrp, 0); } /* @@ -765,9 +764,9 @@ sched_thread_exit(struct thread *td) { - if (td->td_proc->p_flag & P_SA) { + if (td->td_proc->p_flag & P_HADTHREADS) { td->td_ksegrp->kg_avail_opennings++; - recycle_slot(td->td_ksegrp); + slot_fill(td->td_ksegrp); } if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_tdcnt--; @@ -785,11 +784,14 @@ sched_thr_exit(struct thread *td) { + if (td->td_proc->p_flag & P_HADTHREADS) { + td->td_ksegrp->kg_avail_opennings++; + slot_fill(td->td_ksegrp); + } if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_tdcnt--; } - /* * Allocate any resources the scheduler needs to allocate or set up * on a new process at fork() time. Set up our scheduler specifi extensions. @@ -811,7 +813,7 @@ newtd->td_ksegrp->kg_concurrancy = 1; /* non threaded process. ignore thread fairness stuff */ - newtd->td_ksegrp->kg_avail_opennings = 0; + newtd->td_ksegrp->kg_avail_opennings = 1; /* Our child inherrits our estimated cpu requirement */ newtd->td_ksegrp->kg_estcpu = td->td_ksegrp->kg_estcpu; } @@ -935,19 +937,20 @@ */ if (td == PCPU_GET(idlethread)) TD_SET_CAN_RUN(td); - else if (TD_IS_RUNNING(td)) { - /* Put us back on the run queue. */ - if (p->p_flag & P_SA) - kg->kg_avail_opennings++; - setrunqueue(td); - } else if (p->p_flag & P_SA) { - /* - * We will not be on the run queue. So we must be - * sleeping or similar. As it's available, - * another thread could use our 'slot'. - */ - kg->kg_avail_opennings++; - recycle_slot(kg); + else { + td->td_ksegrp->kg_avail_opennings++; + if (TD_IS_RUNNING(td)) { + /* Put us back on the run queue. */ + setrunqueue(td); + } else if (p->p_flag & P_HADTHREADS) { + /* + * We will not be on the run queue. So we must be + * sleeping or similar. As it's available, + * another thread could use our 'slot'. + * (don't bother if there are no other threads) + */ + slot_fill(td->td_ksegrp); + } } if (newtd == NULL) newtd = choosethread(flags); @@ -985,7 +988,7 @@ * the fact that the thread is becoming runnable, * and decide which run queue to use. * Called from: - * recycle_slot() (local) + * slot_fill() (local) * adjustrunqueue() (local) * setrunqueue() (local) */ @@ -998,8 +1001,8 @@ mtx_assert(&sched_lock, MA_OWNED); KASSERT(std->std_state != STDS_ONRUNQ, ("sched_add: kse %p (%s) already in run queue", std, - std->std_proc->p_comm)); - KASSERT(std->std_proc->p_sflag & PS_INMEM, + td->td_proc->p_comm)); + KASSERT(td->td_proc->p_sflag & PS_INMEM, ("sched_add: process swapped out")); #ifdef SMP @@ -1044,7 +1047,7 @@ struct td_sched *std; std = td->td_sched; - KASSERT(std->std_proc->p_sflag & PS_INMEM, + KASSERT(td->td_proc->p_sflag & PS_INMEM, ("sched_rem: process swapped out")); KASSERT((std->std_state == STDS_ONRUNQ), ("sched_rem: KSE not on run queue")); @@ -1055,7 +1058,7 @@ runq_remove(std->std_runq, std); std->std_state = STDS_THREAD; - std->std_ksegrp->kg_runq_threads--; + td->td_ksegrp->kg_runq_threads--; } /* @@ -1205,9 +1208,9 @@ /* * and set it up as if running */ - std->std_oncpu = NOCPU; /* wrong.. can we use PCPU(cpuid) yet? */ + td_sched0.std_oncpu = NOCPU; /* wrong.. can we use PCPU(cpuid) yet? */ td_sched0.std_state = STDS_THREAD; - kg_sched0.concurrancy = 1; + kg_sched0.skg_concurrancy = 1; kg_sched0.skg_avail_opennings = 0; /* we are already running */ } @@ -1221,6 +1224,8 @@ int sched_thr_newthread(struct thread *td, struct thread *newtd, int flags) { + struct td_sched *newstd; + newstd = newtd->td_sched; bzero(&newstd->std_startzero, RANGEOF(struct td_sched, std_startzero, std_endzero)); @@ -1230,7 +1235,7 @@ thread_link(newtd, td->td_ksegrp); - std->std_oncpu = NOCPU; + newstd->std_oncpu = NOCPU; newstd->std_state = STDS_THREAD; newstd->std_cpticks = 0; @@ -1300,7 +1305,6 @@ sched_destroyproc(struct proc *p) { struct ksegrp *kg; - struct kg_sched *skg; KASSERT((p->p_numthreads == 1), ("Cached proc with > 1 thread ")); KASSERT((p->p_numksegrps == 1), ("Cached proc with > 1 ksegrp ")); @@ -1333,16 +1337,17 @@ if (concurrancy > skg->skg_concurrancy) { skg->skg_concurrancy = concurrancy; skg->skg_avail_opennings += concurrancy - skg->skg_concurrancy; - recycle_slot(kg); + slot_fill(kg); } else { /* * don't remove things from the queue. * they'll just get used up as they run. + * XXXKSE Make this a true statement.. */ skg->skg_concurrancy = concurrancy; skg->skg_avail_opennings += concurrancy - skg->skg_concurrancy; if (skg->skg_avail_opennings < 0) - skg->skg_avail_opennings == 0; + skg->skg_avail_opennings = 0; } mtx_unlock_spin(&sched_lock); } @@ -1394,7 +1399,7 @@ system run queue as those that were are activly running, or because there are no threads queued, that pointer is NULL. -/*** warning.. nmo longer true with multiple run queues ***/ +*** warning.. no longer true with multiple run queues *** When a thread is removed from the run queue to become run, we know it was the highest priority thread in the queue (at the head of the queue). If it is also the last assigned we know M was 1 and must @@ -1508,14 +1513,14 @@ #endif if (std != NULL) { - KASSERT(std->std_proc->p_sflag & PS_INMEM, - ("sched_choose: process swapped out")); runq_remove(rq, std); std->std_state = STDS_THREAD; td = std->std_thread; - kg = std->std_ksegrp; + KASSERT(td->td_proc->p_sflag & PS_INMEM, + ("choosethread: process swapped out")); + kg = td->td_ksegrp; kg->kg_runq_threads--; - if (td->td_proc->p_flag & P_SA) { + if (td->td_proc->p_flag & P_HADTHREADS) { if (kg->kg_last_assigned == td) { kg->kg_last_assigned = TAILQ_PREV(td, threadqueue, td_runq); @@ -1558,12 +1563,12 @@ * remrunqueue() (local) (commented out) */ static void -recycle_slot(struct ksegrp *kg) +slot_fill(struct ksegrp *kg) { struct thread *td; - while (kg->kg_avail_opennings) { - mtx_assert(&sched_lock, MA_OWNED); + mtx_assert(&sched_lock, MA_OWNED); + while (kg->kg_avail_opennings > 0) { /* * Find the first unassigned thread */ @@ -1579,21 +1584,20 @@ kg->kg_last_assigned = td; kg->kg_avail_opennings--; sched_add(td); - CTR2(KTR_RUNQ, "recycle_slot: std%p -> td%p", std, td); + CTR2(KTR_RUNQ, "slot_fill: std%p -> td%p", std, td); } else { /* no threads to use up the slots. quit now */ - break + break; } } - return; } #if 0 /* * Remove a thread from its KSEGRP's run queue. - * This in turn may remove it from a KSE if it was already assigned - * to one, possibly causing a new thread to be assigned to the KSE - * and the KSE getting a new priority. + * This in turn may remove it from the system run queue if it was + * on it to one, possibly causing a new thread to be assigned to the slot + * with a different priority. * Called from: * Not used */ @@ -1614,9 +1618,10 @@ /* * If it is not a threaded process, take the shortcut. */ - if ((td->td_proc->p_flag & P_SA) == 0) { + if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { /* Bring its kse with it, leave the thread attached */ sched_rem(td); + kg->kg_avail_opennings++; return; } td3 = TAILQ_PREV(td, threadqueue, td_runq); @@ -1635,7 +1640,7 @@ KASSERT((td2 != NULL), ("last assigned has wrong value")); if (td2 == td) kg->kg_last_assigned = td3; - recycle_slot(kg); + slot_fill(kg); } } #endif @@ -1659,8 +1664,7 @@ /* * If it is not a threaded process, take the shortcut. */ - if ((td->td_proc->p_flag & P_SA) == 0) { - /* We only care about the kse in the run queue. */ + if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { td->td_priority = newpri; if (std->std_rqindex != (newpri / RQ_PPQ)) { sched_rem(td); @@ -1709,7 +1713,6 @@ void setrunqueue(struct thread *td) { - struct td_sched *std; struct ksegrp *kg; struct thread *td2; struct thread *tda; @@ -1721,12 +1724,13 @@ TD_SET_RUNQ(td); kg = td->td_ksegrp; kg->kg_runnable++; - if ((td->td_proc->p_flag & P_SA) == 0) { + if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { /* * Common path optimisation: Only one of everything * and the KSE is always already attached. * Totally ignore the ksegrp run queue. */ + kg->kg_avail_opennings--; sched_add(td); return; } @@ -1784,7 +1788,6 @@ */ td = TAILQ_NEXT(tda, td_runq); tda = kg->kg_last_assigned = td; - std->std_thread = td; } kg->kg_avail_opennings--; sched_add(td); @@ -1792,7 +1795,6 @@ } } ---got to here -- /************************************************************************ * Critical section marker functions * @@ -1927,7 +1929,7 @@ runq_setbit(rq, pri); rqh = &rq->rq_queues[pri]; CTR4(KTR_RUNQ, "runq_add: p=%p pri=%d %d rqh=%p", - std->std_proc, std->std_thread->td_priority, pri, rqh); + std->std_thread->td_proc, std->std_thread->td_priority, pri, rqh); TAILQ_INSERT_TAIL(rqh, std, std_procq); } @@ -1970,7 +1972,8 @@ std = TAILQ_FIRST(rqh); KASSERT(std != NULL, ("runq_choose: no proc on busy queue")); CTR3(KTR_RUNQ, - "runq_choose: pri=%d kse=%p rqh=%p", pri, std, rqh); + "runq_choose: pri=%d td=%p rqh=%p", + pri, std->std_thread, rqh); return (std); } CTR1(KTR_RUNQ, "runq_choose: idleproc pri=%d", pri); @@ -1989,7 +1992,7 @@ struct rqhead *rqh; int pri; - KASSERT(std->std_proc->p_sflag & PS_INMEM, + KASSERT(std->std_thread->td_proc->p_sflag & PS_INMEM, ("runq_remove: process swapped out")); pri = std->std_rqindex; rqh = &rq->rq_queues[pri]; ==== //depot/projects/nsched/sys/sys/proc.h#19 (text+ko) ==== @@ -568,7 +568,7 @@ #define P_CONTINUED 0x10000 /* Proc has continued from a stopped state. */ #define P_STOPPED_SIG 0x20000 /* Stopped due to SIGSTOP/SIGTSTP. */ #define P_STOPPED_TRACE 0x40000 /* Stopped because of tracing. */ -#define P_STOPPED_SINGLE 0x80000 /* Only one thread can continue */ +#define P_STOPPED_SINGLE 0x80000 /* Only one thread can continue */ /* (not to user) */ #define P_PROTECTED 0x100000 /* Do not kill on memory overcommit. */ #define P_SIGEVENT 0x200000 /* Process pending signals changed. */ From owner-p4-projects@FreeBSD.ORG Tue Jul 6 07:06:06 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D490816A4D1; Tue, 6 Jul 2004 07:06:05 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8D1AE16A4CE for ; Tue, 6 Jul 2004 07:06:05 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C10143D53 for ; Tue, 6 Jul 2004 07:06:05 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i66765Xq009907 for ; Tue, 6 Jul 2004 07:06:05 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i66764tE009904 for perforce@freebsd.org; Tue, 6 Jul 2004 07:06:04 GMT (envelope-from julian@freebsd.org) Date: Tue, 6 Jul 2004 07:06:04 GMT Message-Id: <200407060706.i66764tE009904@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 56594 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 07:06:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=56594 Change 56594 by julian@julian_jules1 on 2004/07/06 07:05:14 IFC still need to do kern_switch.c by hand Affected files ... .. //depot/projects/nsched/sys/alpha/alpha/pmap.c#6 integrate .. //depot/projects/nsched/sys/alpha/include/pmap.h#6 integrate .. //depot/projects/nsched/sys/amd64/amd64/pmap.c#12 integrate .. //depot/projects/nsched/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/nsched/sys/boot/common/ufsread.c#2 integrate .. //depot/projects/nsched/sys/coda/coda_subr.c#2 integrate .. //depot/projects/nsched/sys/conf/NOTES#9 integrate .. //depot/projects/nsched/sys/conf/files#15 integrate .. //depot/projects/nsched/sys/conf/options#10 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_pcib_acpi.c#6 integrate .. //depot/projects/nsched/sys/dev/fdc/fdc.c#4 integrate .. //depot/projects/nsched/sys/dev/hifn/hifn7751.c#3 integrate .. //depot/projects/nsched/sys/dev/nmdm/nmdm.c#7 integrate .. //depot/projects/nsched/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/nsched/sys/dev/re/if_re.c#6 integrate .. //depot/projects/nsched/sys/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/nsched/sys/dev/usb/usbdevs#8 integrate .. //depot/projects/nsched/sys/fs/msdosfs/msdosfs_fileno.c#1 branch .. //depot/projects/nsched/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate .. //depot/projects/nsched/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/nsched/sys/fs/msdosfs/msdosfsmount.h#3 integrate .. //depot/projects/nsched/sys/geom/concat/g_concat.c#4 integrate .. //depot/projects/nsched/sys/geom/concat/g_concat.h#3 integrate .. //depot/projects/nsched/sys/geom/geom_slice.c#4 integrate .. //depot/projects/nsched/sys/geom/label/g_label.c#2 integrate .. //depot/projects/nsched/sys/geom/label/g_label.h#2 integrate .. //depot/projects/nsched/sys/geom/stripe/g_stripe.c#2 integrate .. //depot/projects/nsched/sys/geom/stripe/g_stripe.h#2 integrate .. //depot/projects/nsched/sys/geom/vinum/geom_vinum.c#4 integrate .. //depot/projects/nsched/sys/gnu/ext2fs/ext2_vfsops.c#4 integrate .. //depot/projects/nsched/sys/i386/acpica/acpi_wakeup.c#3 integrate .. //depot/projects/nsched/sys/i386/i386/busdma_machdep.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/nexus.c#5 integrate .. //depot/projects/nsched/sys/i386/i386/pmap.c#10 integrate .. //depot/projects/nsched/sys/i386/isa/isa.c#3 integrate .. //depot/projects/nsched/sys/i386/isa/isa.h#3 integrate .. //depot/projects/nsched/sys/i386/isa/isa_dma.c#3 integrate .. //depot/projects/nsched/sys/i386/linux/linux_ptrace.c#2 integrate .. //depot/projects/nsched/sys/i386/pci/pci_cfgreg.c#3 integrate .. //depot/projects/nsched/sys/i4b/driver/i4b_ing.c#4 integrate .. //depot/projects/nsched/sys/ia64/ia64/pmap.c#7 integrate .. //depot/projects/nsched/sys/isa/orm.c#2 integrate .. //depot/projects/nsched/sys/isofs/cd9660/cd9660_lookup.c#3 integrate .. //depot/projects/nsched/sys/isofs/cd9660/cd9660_node.c#4 integrate .. //depot/projects/nsched/sys/isofs/cd9660/cd9660_rrip.c#4 integrate .. //depot/projects/nsched/sys/isofs/cd9660/cd9660_rrip.h#3 integrate .. //depot/projects/nsched/sys/isofs/cd9660/cd9660_vfsops.c#4 integrate .. //depot/projects/nsched/sys/kern/kern_event.c#4 integrate .. //depot/projects/nsched/sys/kern/sched_4bsd.c#23 edit .. //depot/projects/nsched/sys/kern/sched_ule.c#11 integrate .. //depot/projects/nsched/sys/kern/uipc_socket.c#9 integrate .. //depot/projects/nsched/sys/kern/vfs_bio.c#5 integrate .. //depot/projects/nsched/sys/kern/vfs_default.c#3 integrate .. //depot/projects/nsched/sys/kern/vfs_mount.c#5 integrate .. //depot/projects/nsched/sys/kern/vfs_subr.c#8 integrate .. //depot/projects/nsched/sys/modules/msdosfs/Makefile#2 integrate .. //depot/projects/nsched/sys/net/bpf.c#6 integrate .. //depot/projects/nsched/sys/net/bridge.c#5 integrate .. //depot/projects/nsched/sys/net/if_disc.c#4 integrate .. //depot/projects/nsched/sys/net/if_faith.c#6 integrate .. //depot/projects/nsched/sys/net/if_gif.c#6 integrate .. //depot/projects/nsched/sys/net/if_gre.c#5 integrate .. //depot/projects/nsched/sys/net/if_vlan.c#6 integrate .. //depot/projects/nsched/sys/net/rtsock.c#5 integrate .. //depot/projects/nsched/sys/netgraph/ng_async.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_eiface.c#5 integrate .. //depot/projects/nsched/sys/netgraph/ng_fec.c#6 integrate .. //depot/projects/nsched/sys/netgraph/ng_gif_demux.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_iface.c#4 integrate .. //depot/projects/nsched/sys/netgraph/ng_sppp.c#4 integrate .. //depot/projects/nsched/sys/nfs4client/nfs4_vfsops.c#3 integrate .. //depot/projects/nsched/sys/nfsclient/nfs_subs.c#5 integrate .. //depot/projects/nsched/sys/nfsclient/nfs_vfsops.c#3 integrate .. //depot/projects/nsched/sys/nfsserver/nfs_srvcache.c#4 integrate .. //depot/projects/nsched/sys/pci/if_dc.c#6 integrate .. //depot/projects/nsched/sys/pci/if_de.c#5 integrate .. //depot/projects/nsched/sys/pci/if_devar.h#2 integrate .. //depot/projects/nsched/sys/pci/if_rl.c#7 integrate .. //depot/projects/nsched/sys/pci/if_rlreg.h#4 integrate .. //depot/projects/nsched/sys/pci/if_sf.c#5 integrate .. //depot/projects/nsched/sys/pci/if_ti.c#4 integrate .. //depot/projects/nsched/sys/pci/if_xl.c#6 integrate .. //depot/projects/nsched/sys/pci/if_xlreg.h#2 integrate .. //depot/projects/nsched/sys/powerpc/ofw/ofw_syscons.c#3 integrate .. //depot/projects/nsched/sys/powerpc/ofw/ofw_syscons.h#3 integrate .. //depot/projects/nsched/sys/powerpc/powerpc/pmap.c#5 integrate .. //depot/projects/nsched/sys/sparc64/ebus/ebus.c#5 integrate .. //depot/projects/nsched/sys/sparc64/fhc/fhc.c#3 integrate .. //depot/projects/nsched/sys/sparc64/pci/psycho.c#5 integrate .. //depot/projects/nsched/sys/sparc64/sbus/sbus.c#5 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/iommu.c#5 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/nexus.c#5 integrate .. //depot/projects/nsched/sys/sys/event.h#2 integrate .. //depot/projects/nsched/sys/sys/mount.h#5 integrate .. //depot/projects/nsched/sys/sys/vnode.h#6 integrate .. //depot/projects/nsched/sys/ufs/ffs/ffs_snapshot.c#5 integrate .. //depot/projects/nsched/sys/ufs/ffs/ffs_vfsops.c#5 integrate .. //depot/projects/nsched/sys/ufs/ufs/ufs_quota.c#3 integrate .. //depot/projects/nsched/sys/vm/swap_pager.c#6 integrate .. //depot/projects/nsched/sys/vm/uma_core.c#4 integrate Differences ... ==== //depot/projects/nsched/sys/alpha/alpha/pmap.c#6 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.150 2004/06/15 19:28:39 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.152 2004/07/05 23:18:48 alc Exp $"); #include #include @@ -520,6 +520,7 @@ /* * Initialize the kernel pmap (which is statically allocated). */ + PMAP_LOCK_INIT(kernel_pmap); kernel_pmap->pm_lev1 = Lev1map; kernel_pmap->pm_active = ~0; kernel_pmap->pm_asn[alpha_pal_whami()].asn = 0; @@ -741,10 +742,8 @@ * Extract the physical page address associated * with the given map/virtual_address pair. */ -vm_offset_t -pmap_extract(pmap, va) - register pmap_t pmap; - vm_offset_t va; +vm_paddr_t +pmap_extract(pmap_t pmap, vm_offset_t va) { pt_entry_t* pte = pmap_lev3pte(pmap, va); if (pte) @@ -988,6 +987,7 @@ { int i; + PMAP_LOCK_INIT(pmap); pmap->pm_lev1 = Lev1map; pmap->pm_ptphint = NULL; pmap->pm_active = 0; @@ -1012,6 +1012,8 @@ vm_page_t lev1pg; int i; + PMAP_LOCK_INIT(pmap); + /* * allocate object for the ptes */ @@ -1294,6 +1296,7 @@ mtx_lock_spin(&allpmaps_lock); LIST_REMOVE(pmap, pm_list); mtx_unlock_spin(&allpmaps_lock); + PMAP_LOCK_DESTROY(pmap); } /* @@ -1618,6 +1621,7 @@ s = splvm(); while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { + PMAP_LOCK(pv->pv_pmap); pte = pmap_lev3pte(pv->pv_pmap, pv->pv_va); pv->pv_pmap->pm_stats.resident_count--; @@ -1647,6 +1651,7 @@ TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); m->md.pv_list_count--; pmap_unuse_pt(pv->pv_pmap, pv->pv_va, pv->pv_ptem); + PMAP_UNLOCK(pv->pv_pmap); free_pv_entry(pv); } @@ -2033,6 +2038,7 @@ if (pmap == NULL) return; + PMAP_LOCK(pmap); pte = pmap_lev3pte(pmap, va); if (wired && !pmap_pte_w(pte)) @@ -2045,6 +2051,7 @@ * invalidate TLB. */ pmap_pte_set_w(pte, wired); + PMAP_UNLOCK(pmap); } @@ -2186,6 +2193,7 @@ #endif s = splvm(); + PMAP_LOCK(pmap); for(pv = TAILQ_FIRST(&pmap->pm_pvlist); pv; pv = npv) { @@ -2232,6 +2240,7 @@ } splx(s); pmap_invalidate_all(pmap); + PMAP_UNLOCK(pmap); } /* @@ -2273,6 +2282,7 @@ } #endif + PMAP_LOCK(pv->pv_pmap); pte = pmap_lev3pte(pv->pv_pmap, pv->pv_va); changed = 0; @@ -2288,6 +2298,7 @@ } if (changed) pmap_invalidate_page(pv->pv_pmap, pv->pv_va); + PMAP_UNLOCK(pv->pv_pmap); } if (!setem && bit == (PG_UWE|PG_KWE)) vm_page_flag_clear(m, PG_WRITEABLE); @@ -2340,6 +2351,7 @@ */ count = 0; TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { + PMAP_LOCK(pv->pv_pmap); pte = pmap_lev3pte(pv->pv_pmap, pv->pv_va); if (!(*pte & PG_FOR)) { @@ -2347,6 +2359,7 @@ *pte |= PG_FOR | PG_FOE; pmap_invalidate_page(pv->pv_pmap, pv->pv_va); } + PMAP_UNLOCK(pv->pv_pmap); } return count; @@ -2416,12 +2429,14 @@ * Loop over current mappings setting PG_FOW where needed. */ TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { + PMAP_LOCK(pv->pv_pmap); pte = pmap_lev3pte(pv->pv_pmap, pv->pv_va); if (!(*pte & PG_FOW)) { *pte |= PG_FOW; pmap_invalidate_page(pv->pv_pmap, pv->pv_va); } + PMAP_UNLOCK(pv->pv_pmap); } } @@ -2443,12 +2458,14 @@ * Loop over current mappings setting PG_FOR and PG_FOE where needed. */ TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { + PMAP_LOCK(pv->pv_pmap); pte = pmap_lev3pte(pv->pv_pmap, pv->pv_va); if (!(*pte & (PG_FOR | PG_FOE))) { *pte |= (PG_FOR | PG_FOE); pmap_invalidate_page(pv->pv_pmap, pv->pv_va); } + PMAP_UNLOCK(pv->pv_pmap); } } ==== //depot/projects/nsched/sys/alpha/include/pmap.h#6 (text+ko) ==== @@ -39,7 +39,7 @@ * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: i386 pmap.h,v 1.54 1997/11/20 19:30:35 bde Exp - * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.31 2004/06/23 08:06:52 alc Exp $ + * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.32 2004/07/05 16:59:56 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -95,6 +95,8 @@ #ifndef LOCORE #include +#include +#include typedef alpha_pt_entry_t pt_entry_t; @@ -165,6 +167,7 @@ #define ASNGEN_MASK ((1 << ASNGEN_BITS) - 1) struct pmap { + struct mtx pm_mtx; pt_entry_t *pm_lev1; /* KVA of lev0map */ vm_object_t pm_pteobj; /* Container for pte's */ TAILQ_HEAD(,pv_entry) pm_pvlist; /* list of mappings in pmap */ @@ -183,6 +186,17 @@ #ifdef _KERNEL extern struct pmap kernel_pmap_store; #define kernel_pmap (&kernel_pmap_store) + +#define PMAP_LOCK(pmap) mtx_lock(&(pmap)->pm_mtx) +#define PMAP_LOCK_ASSERT(pmap, type) \ + mtx_assert(&(pmap)->pm_mtx, (type)) +#define PMAP_LOCK_DESTROY(pmap) mtx_destroy(&(pmap)->pm_mtx) +#define PMAP_LOCK_INIT(pmap) mtx_init(&(pmap)->pm_mtx, "pmap", \ + NULL, MTX_DEF) +#define PMAP_LOCKED(pmap) mtx_owned(&(pmap)->pm_mtx) +#define PMAP_MTX(pmap) (&(pmap)->pm_mtx) +#define PMAP_TRYLOCK(pmap) mtx_trylock(&(pmap)->pm_mtx) +#define PMAP_UNLOCK(pmap) mtx_unlock(&(pmap)->pm_mtx) #endif /* ==== //depot/projects/nsched/sys/amd64/amd64/pmap.c#12 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.479 2004/06/23 04:37:14 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.480 2004/07/06 02:33:11 alc Exp $"); /* * Manages physical address maps. @@ -760,15 +760,13 @@ * with the given map/virtual_address pair. */ vm_paddr_t -pmap_extract(pmap, va) - register pmap_t pmap; - vm_offset_t va; +pmap_extract(pmap_t pmap, vm_offset_t va) { vm_paddr_t rtval; pt_entry_t *pte; pd_entry_t pde, *pdep; - if (pmap == 0) + if (pmap == NULL) return 0; PMAP_LOCK(pmap); pdep = pmap_pde(pmap, va); @@ -781,7 +779,7 @@ return rtval; } pte = pmap_pte(pmap, va); - rtval = ((*pte & PG_FRAME) | (va & PAGE_MASK)); + rtval = (*pte & PG_FRAME) | (va & PAGE_MASK); PMAP_UNLOCK(pmap); return rtval; } ==== //depot/projects/nsched/sys/arm/arm/pmap.c#3 (text+ko) ==== @@ -144,7 +144,7 @@ */ /* Include header files */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.3 2004/06/19 20:50:50 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.4 2004/07/05 23:08:27 alc Exp $"); #include #include #include @@ -3488,7 +3488,7 @@ * Extract the physical page address associated * with the given map/virtual_address pair. */ -vm_offset_t +vm_paddr_t pmap_extract(pmap_t pm, vm_offset_t va) { struct l2_dtable *l2; ==== //depot/projects/nsched/sys/boot/common/ufsread.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/ufsread.c,v 1.12 2003/08/25 23:30:41 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/ufsread.c,v 1.13 2004/07/04 16:11:01 stefanf Exp $"); #include #include @@ -68,7 +68,7 @@ static int ls, dsk_meta; static uint32_t fs_off; -static __inline__ int +static __inline int fsfind(const char *name, ino_t * ino) { char buf[DEV_BSIZE]; ==== //depot/projects/nsched/sys/coda/coda_subr.c#2 (text+ko) ==== @@ -52,7 +52,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/coda/coda_subr.c,v 1.28 2003/11/05 04:30:06 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/coda/coda_subr.c,v 1.29 2004/07/04 08:52:33 phk Exp $"); #include #include @@ -308,15 +308,12 @@ coda_checkunmounting(mp) struct mount *mp; { - register struct vnode *vp, *nvp; + struct vnode *vp, *nvp; struct cnode *cp; int count = 0, bad = 0; MNT_ILOCK(mp); - for (vp = TAILQ_FIRST(&mp->mnt_nvnodelist); vp; vp = nvp) { - nvp = TAILQ_NEXT(vp, v_nmntvnodes); - if (vp->v_mount != mp) - continue; + MNT_VNODE_FOREACH(vp, mp, nvp) { VI_LOCK(vp); if (vp->v_iflag & VI_XLOCK) { VI_UNLOCK(vp); ==== //depot/projects/nsched/sys/conf/NOTES#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1240 2004/07/02 20:21:41 jhb Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1241 2004/07/03 13:22:38 tjr Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -843,6 +843,18 @@ options NTFS_ICONV options UDF_ICONV +# Experimental support for large MS-DOS filesystems. +# +# WARNING: This uses at least 32 bytes of kernel memory (which is not +# reclaimed until the FS is unmounted) for each file on disk to map +# between the 32-bit inode numbers used by VFS and the 64-bit pseudo-inode +# numbers used internally by msdosfs. This is only safe to use in certain +# controlled situations (e.g. read-only FS with less than 1 million files). +# Since the mappings do not persist across unmounts (or reboots), these +# filesystems are not suitable for exporting through NFS, or any other +# application that requires fixed inode numbers. +options MSDOSFS_LARGE + ##################################################################### # POSIX P1003.1B ==== //depot/projects/nsched/sys/conf/files#15 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.922 2004/07/02 19:40:36 pjd Exp $ +# $FreeBSD: src/sys/conf/files,v 1.923 2004/07/03 13:22:38 tjr Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -880,6 +880,7 @@ fs/msdosfs/msdosfs_lookup.c optional msdosfs fs/msdosfs/msdosfs_vfsops.c optional msdosfs fs/msdosfs/msdosfs_vnops.c optional msdosfs +fs/msdosfs/msdosfs_fileno.c optional msdosfs_large fs/msdosfs/msdosfs_iconv.c optional msdosfs_iconv fs/ntfs/ntfs_compr.c optional ntfs fs/ntfs/ntfs_ihash.c optional ntfs ==== //depot/projects/nsched/sys/conf/options#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.459 2004/07/02 20:21:42 jhb Exp $ +# $FreeBSD: src/sys/conf/options,v 1.460 2004/07/03 13:22:38 tjr Exp $ # # On the handling of kernel options # @@ -219,6 +219,9 @@ NETSMB opt_netsmb.h NETSMBCRYPTO opt_netsmb.h +# Experimental support for large MS-DOS filesystems; SEE WARNING IN "NOTES"! +MSDOSFS_LARGE opt_msdosfs.h + # Options used only in subr_param.c. HZ opt_param.h MAXFILES opt_param.h ==== //depot/projects/nsched/sys/dev/acpica/acpi_pcib_acpi.c#6 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi_pcib_acpi.c,v 1.37 2004/06/30 16:08:03 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi_pcib_acpi.c,v 1.38 2004/07/04 16:23:25 imp Exp $ */ #include "opt_acpi.h" #include @@ -309,14 +309,16 @@ u_long start, u_long end, u_long count, u_int flags) { /* - * If no memory preference is given, use upper 256MB slot most + * If no memory preference is given, use upper 2GB slot most * bioses use for their memory window. Typically other bridges * before us get in the way to assert their preferences on memory. * Hardcoding like this sucks, so a more MD/MI way needs to be - * found to do it. + * found to do it. This is typically only used on older laptops + * that don't have pci busses behind pci bridge, so assuming < 2GB + * is liekly OK. */ if (type == SYS_RES_MEMORY && start == 0UL && end == ~0UL) - start = 0xf0000000; + start = 0x80000000; return (bus_generic_alloc_resource(dev, child, type, rid, start, end, count, flags)); } ==== //depot/projects/nsched/sys/dev/fdc/fdc.c#4 (text+ko) ==== @@ -49,7 +49,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fdc/fdc.c,v 1.273 2004/06/16 09:46:43 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fdc/fdc.c,v 1.275 2004/07/05 20:56:06 phk Exp $"); #include "opt_fdc.h" #include "card.h" @@ -132,6 +132,7 @@ { int fdcu; /* our unit number */ int dmachan; + int dmacnt; int flags; #define FDC_ATTACHED 0x01 #define FDC_STAT_VALID 0x08 @@ -770,7 +771,8 @@ } fdc->res_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, - &fdc->rid_irq, RF_ACTIVE); + &fdc->rid_irq, + RF_ACTIVE | RF_SHAREABLE); if (fdc->res_irq == 0) { device_printf(dev, "cannot reserve interrupt line\n"); return ENXIO; @@ -778,13 +780,12 @@ if ((fdc->flags & FDC_NODMA) == 0) { fdc->res_drq = bus_alloc_resource_any(dev, SYS_RES_DRQ, - &fdc->rid_drq, - RF_ACTIVE); + &fdc->rid_drq, RF_ACTIVE | RF_SHAREABLE); if (fdc->res_drq == 0) { device_printf(dev, "cannot reserve DMA request line\n"); - return ENXIO; - } - fdc->dmachan = rman_get_start(fdc->res_drq); + fdc->flags |= FDC_NODMA; + } else + fdc->dmachan = rman_get_start(fdc->res_drq); } return 0; @@ -964,9 +965,6 @@ /* reset controller, turn motor off */ fdout_wr(fdc, 0); - if ((fdc->flags & FDC_NODMA) == 0) - isa_dma_release(fdc->dmachan); - if ((fdc->flags & FDC_ATTACHED) == 0) { device_printf(dev, "already unloaded\n"); return (0); @@ -1030,15 +1028,6 @@ fdc->fdcu = device_get_unit(dev); fdc->flags |= FDC_ATTACHED | FDC_NEEDS_RESET; - if ((fdc->flags & FDC_NODMA) == 0) { - /* - * Acquire the DMA channel forever, the driver will do - * the rest - * XXX should integrate with rman - */ - isa_dma_acquire(fdc->dmachan); - isa_dmainit(fdc->dmachan, MAX_SEC_SIZE); - } fdc->state = DEVIDLE; /* reset controller, turn motor off, clear fdout mirror reg */ @@ -1574,6 +1563,14 @@ return (rv); } fd->flags |= FD_OPEN; + + if ((fdc->flags & FDC_NODMA) == 0) { + if (fdc->dmacnt++ == 0) { + isa_dma_acquire(fdc->dmachan); + isa_dmainit(fdc->dmachan, MAX_SEC_SIZE); + } + } + /* * Clearing the DMA overrun counter at open time is a bit messy. * Since we're only managing one counter per controller, opening @@ -1594,11 +1591,17 @@ fdclose(struct cdev *dev, int flags, int mode, struct thread *td) { struct fd_data *fd; + fdc_p fdc; fd = dev->si_drv1; + fdc = fd->fdc; fd->flags &= ~(FD_OPEN | FD_NONBLOCK); fd->options &= ~(FDOPT_NORETRY | FDOPT_NOERRLOG | FDOPT_NOERROR); + if ((fdc->flags & FDC_NODMA) == 0) + if (--fdc->dmacnt == 0) + isa_dma_release(fdc->dmachan); + return (0); } ==== //depot/projects/nsched/sys/dev/hifn/hifn7751.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/hifn/hifn7751.c,v 1.27 2004/05/30 20:08:33 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/hifn/hifn7751.c,v 1.28 2004/07/04 16:11:01 stefanf Exp $"); /* * Driver for various Hifn encryption processors. @@ -151,7 +151,7 @@ static void hifn_write_reg_0(struct hifn_softc *, bus_size_t, u_int32_t); static void hifn_write_reg_1(struct hifn_softc *, bus_size_t, u_int32_t); -static __inline__ u_int32_t +static __inline u_int32_t READ_REG_0(struct hifn_softc *sc, bus_size_t reg) { u_int32_t v = bus_space_read_4(sc->sc_st0, sc->sc_sh0, reg); @@ -160,7 +160,7 @@ } #define WRITE_REG_0(sc, reg, val) hifn_write_reg_0(sc, reg, val) -static __inline__ u_int32_t +static __inline u_int32_t READ_REG_1(struct hifn_softc *sc, bus_size_t reg) { u_int32_t v = bus_space_read_4(sc->sc_st1, sc->sc_sh1, reg); ==== //depot/projects/nsched/sys/dev/nmdm/nmdm.c#7 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.28 2004/06/17 17:16:45 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.29 2004/07/04 16:27:58 phk Exp $"); /* * Pseudo-nulmodem driver @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -58,6 +59,7 @@ static void nmdmstart(struct tty *tp); static void nmdmstop(struct tty *tp, int rw); static void nmdminit(struct cdev *dev); +static t_modem_t nmdmmodem; static d_open_t nmdmopen; static d_close_t nmdmclose; @@ -76,9 +78,9 @@ #define BFLAG CLONE_FLAG0 struct softpart { - struct tty *nm_tty; - struct cdev *dev; - int dcd; + struct tty *nm_tty; + struct cdev *dev; + int nm_dcd; struct task pt_task; struct softpart *other; }; @@ -151,14 +153,14 @@ otp = sp->other->nm_tty; KASSERT(otp != NULL, ("NULL otp in nmdmstart")); KASSERT(otp != tp, ("NULL otp == tp nmdmstart")); - if (sp->other->dcd) { + if (sp->other->nm_dcd) { if (!(tp->t_state & TS_ISOPEN)) { - sp->other->dcd = 0; + sp->other->nm_dcd = 0; (void)ttyld_modem(otp, 0); } } else { if (tp->t_state & TS_ISOPEN) { - sp->other->dcd = 1; + sp->other->nm_dcd = 1; (void)ttyld_modem(otp, 1); } } @@ -200,6 +202,7 @@ pt->part1.nm_tty = ttymalloc(pt->part1.nm_tty); pt->part1.nm_tty->t_oproc = nmdmstart; pt->part1.nm_tty->t_stop = nmdmstop; + pt->part1.nm_tty->t_modem = nmdmmodem; pt->part1.nm_tty->t_dev = dev1; pt->part1.nm_tty->t_sc = &pt->part1; TASK_INIT(&pt->part1.pt_task, 0, nmdm_task_tty, pt->part1.nm_tty); @@ -207,6 +210,7 @@ pt->part2.nm_tty = ttymalloc(pt->part2.nm_tty); pt->part2.nm_tty->t_oproc = nmdmstart; pt->part2.nm_tty->t_stop = nmdmstop; + pt->part2.nm_tty->t_modem = nmdmmodem; pt->part2.nm_tty->t_dev = dev2; pt->part2.nm_tty->t_sc = &pt->part2; TASK_INIT(&pt->part2.pt_task, 0, nmdm_task_tty, pt->part2.nm_tty); @@ -260,6 +264,33 @@ } static int +nmdmmodem(struct tty *tp, int sigon, int sigoff) +{ + struct softpart *sp; + int i; + + sp = tp->t_sc; + if (sigon || sigoff) { + if (sigon & SER_DTR) { + sp->other->nm_dcd = 1; + ttyld_modem(sp->other->nm_tty, sp->other->nm_dcd); + } + if (sigoff & SER_DTR) { + sp->other->nm_dcd = 0; + ttyld_modem(sp->other->nm_tty, sp->other->nm_dcd); + } + return (0); + } else { + i = 0; + if (sp->nm_dcd) + i |= SER_DCD; + if (sp->other->nm_dcd) + i |= SER_DTR; + return (i); + } +} + +static int nmdmclose(struct cdev *dev, int flag, int mode, struct thread *td) { ==== //depot/projects/nsched/sys/dev/pcf/pcfvar.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pcf/pcfvar.h,v 1.1 2004/05/25 07:42:45 joerg Exp $ + * $FreeBSD: src/sys/dev/pcf/pcfvar.h,v 1.2 2004/07/04 16:11:01 stefanf Exp $ */ #define IO_PCFSIZE 2 @@ -86,7 +86,7 @@ /* * Specific register access to PCF8584 */ -static __inline__ void +static __inline void pcf_set_S0(struct pcf_softc *sc, int data) { bus_space_write_1(sc->res_ioport->r_bustag, @@ -95,7 +95,7 @@ pcf_nops(); } -static __inline__ void +static __inline void pcf_set_S1(struct pcf_softc *sc, int data) { bus_space_write_1(sc->res_ioport->r_bustag, @@ -104,7 +104,7 @@ pcf_nops(); } -static __inline__ char +static __inline char pcf_get_S0(struct pcf_softc *sc) { char data; @@ -116,7 +116,7 @@ return (data); } -static __inline__ char +static __inline char pcf_get_S1(struct pcf_softc *sc) { char data; ==== //depot/projects/nsched/sys/dev/re/if_re.c#6 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.26 2004/06/28 20:09:02 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.28 2004/07/06 02:48:29 bms Exp $"); /* * RealTek 8139C+/8169/8169S/8110S PCI NIC driver @@ -79,11 +79,11 @@ * * o Jumbo frames * - * o GMII and TBI ports/registers for interfacing with copper + * o GMII and TBI ports/registers for interfacing with copper * or fiber PHYs * - * o RX and TX DMA rings can have up to 1024 descriptors - * (the 8139C+ allows a maximum of 64) + * o RX and TX DMA rings can have up to 1024 descriptors + * (the 8139C+ allows a maximum of 64) * * o Slight differences in register layout from the 8139C+ * @@ -98,7 +98,7 @@ * programming API as the older 8169, but also have some vendor-specific * registers for the on-board PHY. The 8110S is a LAN-on-motherboard * part designed to be pin-compatible with the RealTek 8100 10/100 chip. - * + * * This driver takes advantage of the RX and TX checksum offload and * VLAN tag insertion/extraction features. It also implements TX * interrupt moderation using the timer interrupt registers, which @@ -307,8 +307,6 @@ EE_CLR(RL_EE_CLK); DELAY(100); } - - return; } /* @@ -349,8 +347,6 @@ CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF); *dest = word; - - return; } /* @@ -375,8 +371,6 @@ else *ptr = word; } - - return; } static int @@ -389,7 +383,7 @@ int i; if (phy != 1) - return(0); + return (0); sc = device_get_softc(dev); @@ -397,7 +391,7 @@ if (reg == RL_GMEDIASTAT) { rval = CSR_READ_1(sc, RL_GMEDIASTAT); - return(rval); + return (rval); } CSR_WRITE_4(sc, RL_PHYAR, reg << 16); @@ -469,9 +463,9 @@ /* Pretend the internal PHY is only at address 0 */ if (phy) { RL_UNLOCK(sc); - return(0); + return (0); } - switch(reg) { + switch (reg) { case MII_BMCR: re8139_reg = RL_BMCR; break; @@ -490,7 +484,7 @@ case MII_PHYIDR1: case MII_PHYIDR2: RL_UNLOCK(sc); - return(0); + return (0); /* * Allow the rlphy driver to read the media status * register. If we have a link partner which does not @@ -500,15 +494,15 @@ case RL_MEDIASTAT: rval = CSR_READ_1(sc, RL_MEDIASTAT); RL_UNLOCK(sc); - return(rval); + return (rval); default: printf("re%d: bad phy register\n", sc->rl_unit); RL_UNLOCK(sc); - return(0); + return (0); } rval = CSR_READ_2(sc, re8139_reg); RL_UNLOCK(sc); - return(rval); + return (rval); } static int @@ -532,9 +526,9 @@ /* Pretend the internal PHY is only at address 0 */ if (phy) { RL_UNLOCK(sc); - return(0); + return (0); } - switch(reg) { + switch (reg) { case MII_BMCR: re8139_reg = RL_BMCR; break; @@ -553,23 +547,23 @@ case MII_PHYIDR1: case MII_PHYIDR2: RL_UNLOCK(sc); - return(0); + return (0); break; default: printf("re%d: bad phy register\n", sc->rl_unit); RL_UNLOCK(sc); - return(0); + return (0); } CSR_WRITE_2(sc, re8139_reg, data); RL_UNLOCK(sc); - return(0); + return (0); } static void re_miibus_statchg(dev) device_t dev; { - return; + } /* @@ -623,8 +617,6 @@ CSR_WRITE_4(sc, RL_RXCFG, rxfilt); CSR_WRITE_4(sc, RL_MAR0, hashes[0]); CSR_WRITE_4(sc, RL_MAR4, hashes[1]); - - return; } static void @@ -644,8 +636,6 @@ printf("re%d: reset never completed!\n", sc->rl_unit); CSR_WRITE_1(sc, 0x82, 1); - >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 6 07:26:31 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 368BC16A529; Tue, 6 Jul 2004 07:26:31 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DEBEB16A523 for ; Tue, 6 Jul 2004 07:26:30 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D2ACD43D3F for ; Tue, 6 Jul 2004 07:26:30 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i667QU0I010704 for ; Tue, 6 Jul 2004 07:26:30 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i667QUct010701 for perforce@freebsd.org; Tue, 6 Jul 2004 07:26:30 GMT (envelope-from julian@freebsd.org) Date: Tue, 6 Jul 2004 07:26:30 GMT Message-Id: <200407060726.i667QUct010701@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 56596 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 07:26:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=56596 Change 56596 by julian@julian_jules1 on 2004/07/06 07:26:07 catch up with kern_switch.c that has been moved elsewhere in my code. Affected files ... .. //depot/projects/nsched/sys/kern/sched_4bsd.c#24 edit .. //depot/projects/nsched/sys/kern/sched_ule.c#12 edit Differences ... ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#24 (text+ko) ==== @@ -36,6 +36,8 @@ #include __FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.43 2004/07/02 20:21:43 jhb Exp $"); +#include "opt_full_preemption.h" + #include #include #include @@ -1832,6 +1834,13 @@ KASSERT(td->td_critnest != 0, ("critical_exit: td_critnest == 0")); if (td->td_critnest == 1) { +#ifdef PREEMPTION + if (td->td_flags & TDF_OWEPREEMPT) { + mtx_lock_spin(&sched_lock); + mi_switch(SW_INVOL, NULL); + mtx_unlock_spin(&sched_lock); + } +#endif td->td_critnest = 0; cpu_critical_exit(); } else { @@ -1839,6 +1848,88 @@ } } +/* + * This function is called when a thread is about to be put on run queue + * because it has been made runnable or its priority has been adjusted. It + * determines if the new thread should be immediately preempted to. If so, + * it switches to it and eventually returns true. If not, it returns false + * so that the caller may place the thread on an appropriate run queue. + */ +int +maybe_preempt(struct thread *td) +{ +#ifdef PREEMPTION + struct thread *ctd; + int cpri, pri; +#endif + + mtx_assert(&sched_lock, MA_OWNED); +#ifdef PREEMPTION + /* + * The new thread should not preempt the current thread if any of the + * following conditions are true: + * + * - The current thread has a higher (numerically lower) priority. + * - It is too early in the boot for context switches (cold is set). + * - The current thread has an inhibitor set or is in the process of + * exiting. In this case, the current thread is about to switch + * out anyways, so there's no point in preempting. If we did, + * the current thread would not be properly resumed as well, so + * just avoid that whole landmine. + * - If the new thread's priority is not a realtime priority and + * the current thread's priority is not an idle priority and + * FULL_PREEMPTION is disabled. + * + * If all of these conditions are false, but the current thread is in + * a nested critical section, then we have to defer the preemption + * until we exit the critical section. Otherwise, switch immediately + * to the new thread. + */ + ctd = curthread; + pri = td->td_priority; + cpri = ctd->td_priority; + if (pri >= cpri || cold /* || dumping */ || TD_IS_INHIBITED(ctd) || + td->td_td_sched->std_state != STDS_THREAD) + return (0); +#ifndef FULL_PREEMPTION + if (!(pri >= PRI_MIN_ITHD && pri <= PRI_MAX_ITHD) && + !(cpri >= PRI_MIN_IDLE)) + return (0); +#endif + if (ctd->td_critnest > 1) { + CTR1(KTR_PROC, "maybe_preempt: in critical section %d", + ctd->td_critnest); + ctd->td_flags |= TDF_OWEPREEMPT; + return (0); + } + + /* + * Our thread state says that we are already on a run queue, so + * update our state as if we had been dequeued by choosethread(). + */ + MPASS(TD_ON_RUNQ(td)); + TD_SET_RUNNING(td); + CTR3(KTR_PROC, "preempting to thread %p (pid %d, %s)\n", td, + td->td_proc->p_pid, td->td_proc->p_comm); + mi_switch(SW_INVOL, td); + return (1); +#else + return (0); +#endif +} + +#ifndef PREEMPTION +/* XXX: There should be a non-static version of this. */ +static void +printf_caddr_t(void *data) +{ + printf("%s", (char *)data); +} +static char preempt_warning[] = + "WARNING: Kernel preemption is disabled, expect reduced performance.\n"; +SYSINIT(preempt_warning, SI_SUB_COPYRIGHT, SI_ORDER_ANY, printf_caddr_t, + preempt_warning) +#endif /************************************************************************ * SYSTEM RUN QUEUE manipulations and tests * ==== //depot/projects/nsched/sys/kern/sched_ule.c#12 (text+ko) ==== @@ -2772,6 +2772,13 @@ KASSERT(td->td_critnest != 0, ("critical_exit: td_critnest == 0")); if (td->td_critnest == 1) { +#ifdef PREEMPTION + if (td->td_flags & TDF_OWEPREEMPT) { + mtx_lock_spin(&sched_lock); + mi_switch(SW_INVOL, NULL); + mtx_unlock_spin(&sched_lock); + } +#endif td->td_critnest = 0; cpu_critical_exit(); } else { @@ -2780,6 +2787,88 @@ } +/* + * This function is called when a thread is about to be put on run queue + * because it has been made runnable or its priority has been adjusted. It + * determines if the new thread should be immediately preempted to. If so, + * it switches to it and eventually returns true. If not, it returns false + * so that the caller may place the thread on an appropriate run queue. + */ +int +maybe_preempt(struct thread *td) +{ +#ifdef PREEMPTION + struct thread *ctd; + int cpri, pri; +#endif + + mtx_assert(&sched_lock, MA_OWNED); +#ifdef PREEMPTION + /* + * The new thread should not preempt the current thread if any of the + * following conditions are true: + * + * - The current thread has a higher (numerically lower) priority. + * - It is too early in the boot for context switches (cold is set). + * - The current thread has an inhibitor set or is in the process of + * exiting. In this case, the current thread is about to switch + * out anyways, so there's no point in preempting. If we did, + * the current thread would not be properly resumed as well, so + * just avoid that whole landmine. + * - If the new thread's priority is not a realtime priority and + * the current thread's priority is not an idle priority and + * FULL_PREEMPTION is disabled. + * + * If all of these conditions are false, but the current thread is in + * a nested critical section, then we have to defer the preemption + * until we exit the critical section. Otherwise, switch immediately + * to the new thread. + */ + ctd = curthread; + pri = td->td_priority; + cpri = ctd->td_priority; + if (pri >= cpri || cold /* || dumping */ || TD_IS_INHIBITED(ctd) || + td->td_kse->ke_state != KES_THREAD) + return (0); +#ifndef FULL_PREEMPTION + if (!(pri >= PRI_MIN_ITHD && pri <= PRI_MAX_ITHD) && + !(cpri >= PRI_MIN_IDLE)) + return (0); +#endif + if (ctd->td_critnest > 1) { + CTR1(KTR_PROC, "maybe_preempt: in critical section %d", + ctd->td_critnest); + ctd->td_flags |= TDF_OWEPREEMPT; + return (0); + } + + /* + * Our thread state says that we are already on a run queue, so + * update our state as if we had been dequeued by choosethread(). + */ + MPASS(TD_ON_RUNQ(td)); + TD_SET_RUNNING(td); + CTR3(KTR_PROC, "preempting to thread %p (pid %d, %s)\n", td, + td->td_proc->p_pid, td->td_proc->p_comm); + mi_switch(SW_INVOL, td); + return (1); +#else + return (0); +#endif +} + +#ifndef PREEMPTION +/* XXX: There should be a non-static version of this. */ +static void +printf_caddr_t(void *data) +{ + printf("%s", (char *)data); +} +static char preempt_warning[] = + "WARNING: Kernel preemption is disabled, expect reduced performance.\n"; +SYSINIT(preempt_warning, SI_SUB_COPYRIGHT, SI_ORDER_ANY, printf_caddr_t, + preempt_warning) +#endif /************************************************************************ * SYSTEM RUN QUEUE manipulations and tests * * basically from the standard BSD scheduler * From owner-p4-projects@FreeBSD.ORG Tue Jul 6 07:59:12 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A54016A4CF; Tue, 6 Jul 2004 07:59:12 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3D6AB16A4D0 for ; Tue, 6 Jul 2004 07:59:12 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 352BD43D31 for ; Tue, 6 Jul 2004 07:59:12 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i667xCdH011841 for ; Tue, 6 Jul 2004 07:59:12 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i667xBnw011838 for perforce@freebsd.org; Tue, 6 Jul 2004 07:59:11 GMT (envelope-from julian@freebsd.org) Date: Tue, 6 Jul 2004 07:59:11 GMT Message-Id: <200407060759.i667xBnw011838@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 56601 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 07:59:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=56601 Change 56601 by julian@julian_jules1 on 2004/07/06 07:58:17 try catch up with jhb Affected files ... .. //depot/projects/nsched/sys/kern/sched_4bsd.c#25 edit .. //depot/projects/nsched/sys/kern/sched_ule.c#13 edit Differences ... ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#25 (text+ko) ==== @@ -1007,7 +1007,8 @@ KASSERT(td->td_proc->p_sflag & PS_INMEM, ("sched_add: process swapped out")); -#ifdef SMP +#if 0 +#ifdef SMP /* * Only try to preempt if the thread is unpinned or pinned to the * current CPU. @@ -1016,6 +1017,7 @@ #endif if (maybe_preempt(td)) return; +#endif td->td_ksegrp->kg_runq_threads++; std->std_state = STDS_ONRUNQ; @@ -1889,7 +1891,7 @@ pri = td->td_priority; cpri = ctd->td_priority; if (pri >= cpri || cold /* || dumping */ || TD_IS_INHIBITED(ctd) || - td->td_td_sched->std_state != STDS_THREAD) + td->td_sched->std_state != STDS_THREAD) return (0); #ifndef FULL_PREEMPTION if (!(pri >= PRI_MIN_ITHD && pri <= PRI_MAX_ITHD) && ==== //depot/projects/nsched/sys/kern/sched_ule.c#13 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Tue Jul 6 13:11:35 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D20816A4E1; Tue, 6 Jul 2004 13:11:35 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED87616A4CF for ; Tue, 6 Jul 2004 13:11:34 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E23A443D41 for ; Tue, 6 Jul 2004 13:11:34 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i66DBYsd022040 for ; Tue, 6 Jul 2004 13:11:34 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i66DBYwI022037 for perforce@freebsd.org; Tue, 6 Jul 2004 13:11:34 GMT (envelope-from davidxu@freebsd.org) Date: Tue, 6 Jul 2004 13:11:34 GMT Message-Id: <200407061311.i66DBYwI022037@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 56616 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 13:11:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=56616 Change 56616 by davidxu@davidxu_alona on 2004/07/06 13:10:38 Use the new mechanism in ptrace to resume only one thread. Some cosmetic changes. Affected files ... .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#7 edit Differences ... ==== //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#7 (text+ko) ==== @@ -49,6 +49,8 @@ /* This module's target vector. */ static struct target_ops thread_db_ops; +static struct target_ops base_ops; + /* Pointer to the next function on the objfile event chain. */ static void (*target_new_objfile_chain) (struct objfile *objfile); @@ -66,6 +68,11 @@ /* Connection to the libthread_db library. */ static td_thragent_t *thread_agent; +/* The inactive M:N thread gdb is trying to single step it */ +static ptid_t single_step_inactive_thread; + +static CORE_ADDR single_step_inactive_thread_pc; + /* Pointers to the libthread_db functions. */ static td_err_e (*td_init_p) (void); @@ -101,11 +108,9 @@ static td_err_e (*td_thr_sstep_p) (td_thrhandle_t *th, int step); -static td_err_e (*td_ta_activated_p) (td_thragent_t *ta, int *activated); +static td_err_e (*td_ta_tsd_iter_p) (const td_thragent_t *ta, + td_key_iter_f *func, void *data); -static td_err_e (*td_ta_tsd_iter_p) (const td_thragent_t *ta, td_key_iter_f *func, - void *data); - /* Prototypes for local functions. */ static void fbsd_thread_find_new_threads (void); @@ -294,6 +299,7 @@ case TD_OK: /* The thread library was detected. Activate the thread_db target. */ + base_ops = current_target; push_target (&thread_db_ops); using_thread_db = 1; @@ -365,6 +371,14 @@ return ptrace (req, GET_LWP (ptid), 0, 0) == 0; } + /* + * For M:N thread, we need to tell UTS to set/unset single step + * flag at context switch time, the flag will be written into + * thread mailbox. This becauses some architecture may not have + * machine single step flag in ucontext, so we put the flag in mailbox, + * when the thread switches back, kse_switchin restores the single step + * state. + */ td_thrhandle_t th; if (td_ta_map_id2thr_p (thread_agent, GET_THREAD(ptid), &th) == 0) { @@ -374,53 +388,96 @@ return 0; } -static int -resume_callback (struct thread_info *info, void *ta) -{ - single_step (info->ptid, 0); - return 0; -} - static void fbsd_thread_resume (ptid_t ptid, int step, enum target_signal signo) { - int resume_all, ret, pid; td_thrhandle_t th; - struct thread_info *ti; - + td_thrinfo_t ti; + ptid_t work_ptid; + int resume_all, ret; + long lwp; + #if 0 - printf_filtered("%s ptid=%d.%x.%x step=%d\n", __func__, + printf_filtered("%s ptid=%ld.%ld.%ld step=%d\n", __func__, GET_PID(ptid), GET_LWP(ptid), GET_THREAD(ptid), step); + printf_filtered("%s inferior_ptid=%ld.%ld.%ld\n", __func__, + GET_PID(inferior_ptid), GET_LWP(inferior_ptid), GET_THREAD(inferior_ptid)); #endif - if (proc_handle.pid == 0) { child_resume (ptid, step, signo); return; } - pid = PIDGET(ptid); - if (pid == -1 || !step) + if (GET_PID(ptid) != -1 && step != 0) { - pid = PIDGET (inferior_ptid); - resume_all = 1; + resume_all = 0; + work_ptid = ptid; } else { - resume_all = 0; + resume_all = 1; + work_ptid = inferior_ptid; } - if (PIDGET (ptid) == -1) - ptid = inferior_ptid; + /* + * Whether it is going to resume one thread or not, + * we always set/unset single step state for the thread according to + * step parameter. + */ + if (!single_step(work_ptid, step)) + error ("single_step failed"); - if (resume_all) - iterate_over_threads(resume_callback, 0); + lwp = 0; + if (!resume_all) + { + /* only resume one thread */ + lwp = GET_LWP (work_ptid); + if (lwp == 0) + { + /* check a user thread */ + ret = td_ta_map_id2thr_p (thread_agent, + GET_THREAD(work_ptid), &th); + if (ret) + error(thread_db_err_str (ret)); + ret = td_thr_get_info_p (&th, &ti); + if (ret) + error(thread_db_err_str (ret)); + lwp = ti.ti_lid; + /* + * if we are single stepping an inactive M:N thread, + * we insert all breakpoints, and resume all threads, + * the inactive thread may or may not be scheduled to + * run, but if it runs, it may hit a breakpoint and + * becomes the current event thread, after it hit a + * breakpoint, the thread will stay in kernel until + * debugger resumes it. In that case, gdb will single + * step it again, but because it was already an active + * thread, we can use ptrace to resume it just as 1:1 + * thread. + */ + if (lwp == 0) + { + printf_filtered("resuming inactive thread\n"); + if (breakpoint_here_p (read_pc_pid (work_ptid)) != + no_breakpoint_here) + { + single_step_inactive_thread_pc = read_pc_pid (work_ptid); + single_step_inactive_thread = work_ptid; + /* XXX + * We need to give UTS to a hint to prefer scheduling + * the thread. + */ + insert_breakpoints (); + } + } + } + } - if (!single_step (ptid, step)) - error ("single step failed"); + if (lwp == 0) + lwp = proc_handle.pid; - if (ptrace (PT_CONTINUE, pid, (caddr_t)1, - target_signal_to_host(signo)) == -1) + if (ptrace (PT_CONTINUE, lwp, (caddr_t)1, target_signal_to_host(signo))) perror_with_name ("PT_CONTINUE"); } @@ -429,6 +486,8 @@ { ptid_t ret; lwpid_t lwp; + CORE_ADDR stop_pc; + unsigned char buf; ret = child_ops.to_wait (ptid, ourstatus); if (GET_PID(ret) >= 0 && ourstatus->kind == TARGET_WAITKIND_STOPPED) @@ -438,8 +497,29 @@ ret = thread_from_lwp (BUILD_LWP (lwp, GET_PID (ret))); if (!in_thread_list (ret)) add_thread (ret); + printf_filtered("signal=%d\n", ourstatus->value.sig); + /* + * if we previously single stepping inactive threads, + * the inactive threads now becomes active, + * we should tell gdb to ignore the event and resume + * thread again. + */ + if (ourstatus->value.sig == TARGET_SIGNAL_TRAP) + { + stop_pc = read_pc_pid (ret) - DECR_PC_AFTER_BREAK; + target_read_memory(stop_pc, &buf, 1); + printf_filtered("stop_pc=%x data:%x, breakpoint?:%d\n", + stop_pc, buf, breakpoint_here_p(stop_pc)); + if (ptid_equal(ret, single_step_inactive_thread) && + stop_pc == single_step_inactive_thread_pc) + { + ourstatus->kind = TARGET_WAITKIND_SPURIOUS; + } + } } + single_step_inactive_thread = minus_one_ptid; + single_step_inactive_thread_pc = 0; return (ret); } @@ -455,22 +535,23 @@ fbsd_lwp_fetch_registers (int regno) { gregset_t gregs; + fpregset_t fpregs; lwpid_t lwp; +#if 0 /* FIXME, is it possible ? */ if (!IS_LWP (inferior_ptid)) { child_ops.to_fetch_registers (regno); return; } - +#endif lwp = GET_LWP (inferior_ptid); if (ptrace (PT_GETREGS, lwp, (caddr_t) &gregs, 0) == -1) error ("Cannot get lwp %d registers: %s\n", lwp, safe_strerror (errno)); supply_gregset (&gregs); - fpregset_t fpregs; if (ptrace (PT_GETFPREGS, lwp, (caddr_t) &fpregs, 0) == -1) error ("Cannot get lwp %d registers: %s\n ", lwp, safe_strerror (errno)); @@ -493,18 +574,21 @@ err = td_ta_map_id2thr_p (thread_agent, GET_THREAD (inferior_ptid), &th); if (err != TD_OK) - error ("Cannot find thread %ld: %s", - (long) GET_THREAD (inferior_ptid), thread_db_err_str (err)); + error ("Cannot find thread %d: TID=%ld, %s", + pid_to_thread_id (inferior_ptid), + GET_THREAD (inferior_ptid), thread_db_err_str (err)); err = td_thr_getgregs_p (&th, gregset); if (err != TD_OK) - error ("Cannot fetch general-purpose registers for thread %ld: %s", - (long) GET_THREAD (inferior_ptid), thread_db_err_str (err)); + error ("Cannot fetch general-purpose registers for thread %d: TID=%ld, %s", + pid_to_thread_id (inferior_ptid), + GET_THREAD (inferior_ptid), thread_db_err_str (err)); err = td_thr_getfpregs_p (&th, &fpregset); if (err != TD_OK) - error ("Cannot get floating-point registers for thread %ld: %s", - (long) GET_THREAD (inferior_ptid), thread_db_err_str (err)); + error ("Cannot get floating-point registers for thread %d: TID=%ld, %s", + pid_to_thread_id (inferior_ptid), + GET_THREAD (inferior_ptid), thread_db_err_str (err)); supply_gregset (gregset); supply_fpregset (&fpregset); @@ -513,6 +597,8 @@ static void fbsd_lwp_store_registers (int regno) { + gregset_t gregs; + fpregset_t fpregs; lwpid_t lwp; /* FIXME, is it possible ? */ @@ -523,21 +609,18 @@ } lwp = GET_LWP (inferior_ptid); - - gregset_t gregs; + if (regno != -1) + if (ptrace (PT_GETREGS, lwp, (caddr_t) &gregs, 0) == -1) + error ("Cannot get lwp %d registers: %s\n", lwp, safe_strerror (errno)); - if (ptrace (PT_GETREGS, lwp, (caddr_t) &gregs, 0) == -1) - error ("Cannot get lwp %d registers: %s\n", lwp, safe_strerror (errno)); - fill_gregset (&gregs, regno); - if (ptrace (PT_SETREGS, lwp, (caddr_t) &gregs, 0) == -1) - error ("Cannot set lwp %d registers: %s\n", lwp, safe_strerror (errno)); + error ("Cannot set lwp %d registers: %s\n", lwp, safe_strerror (errno)); - fpregset_t fpregs; - if (ptrace (PT_GETFPREGS, lwp, (caddr_t) &fpregs, 0) == -1) - error ("Cannot get lwp %d float registers: %s\n", lwp, - safe_strerror (errno)); + if (regno != -1) + if (ptrace (PT_GETFPREGS, lwp, (caddr_t) &fpregs, 0) == -1) + error ("Cannot get lwp %d float registers: %s\n", lwp, + safe_strerror (errno)); fill_fpregset (&fpregs, regno); if (ptrace (PT_SETFPREGS, lwp, (caddr_t) &fpregs, 0) == -1) @@ -561,29 +644,38 @@ err = td_ta_map_id2thr_p (thread_agent, GET_THREAD (inferior_ptid), &th); if (err != TD_OK) - error ("Cannot find thread %lx: %s", - (long) GET_THREAD (inferior_ptid), thread_db_err_str (err)); + error ("Cannot find thread %d: TID=%ld, %s", + pid_to_thread_id (inferior_ptid), + GET_THREAD (inferior_ptid), + thread_db_err_str (err)); if (regno != -1) { - char raw[MAX_REGISTER_SIZE]; + char old_value[MAX_REGISTER_SIZE]; - deprecated_read_register_gen (regno, raw); - fbsd_thread_fetch_registers (-1); - supply_register (regno, raw); + regcache_collect (regno, old_value); + err = td_thr_getgregs_p (&th, gregset); + if (err != TD_OK) + error ("%s: td_thr_getgregs %s", __func__, thread_db_err_str (err)); + err = td_thr_getfpregs_p (&th, &fpregset); + if (err != TD_OK) + error ("%s: td_thr_getfpgregs %s", __func__, thread_db_err_str (err)); + supply_register (regno, old_value); } - fill_gregset (gregset, -1); - fill_fpregset (&fpregset, -1); + fill_gregset (gregset, regno); + fill_fpregset (&fpregset, regno); err = td_thr_setgregs_p (&th, gregset); if (err != TD_OK) - error ("Cannot store general-purpose registers for thread %lx: %s", - (long) GET_THREAD (inferior_ptid), thread_db_err_str (err)); + error ("Cannot store general-purpose registers for thread %d: TID=%d, %s", + pid_to_thread_id (inferior_ptid), GET_THREAD (inferior_ptid), + thread_db_err_str (err)); err = td_thr_setfpregs_p (&th, &fpregset); if (err != TD_OK) - error ("Cannot store floating-point registers for thread %lx: %s", - (long) GET_THREAD (inferior_ptid), thread_db_err_str (err)); + error ("Cannot store floating-point registers for thread %d: TID=%d, %s", + pid_to_thread_id (inferior_ptid), GET_THREAD (inferior_ptid), + thread_db_err_str (err)); } static void @@ -609,8 +701,10 @@ { if (proc_handle.pid == 0) { - /* The child process is now the actual multi-threaded - program. Snatch its process ID... */ + /* + * The child process is now the actual multi-threaded + * program. Snatch its process ID... + */ proc_handle.pid = GET_PID (ptid); fbsd_thread_find_new_threads (); @@ -621,8 +715,10 @@ static void fbsd_thread_mourn_inferior (void) { - /* Forget about the child's process ID. We shouldn't need it - anymore. */ + /* + * Forget about the child's process ID. We shouldn't need it + * anymore. + */ proc_handle.pid = 0; child_ops.to_mourn_inferior (); @@ -646,7 +742,7 @@ if (err != TD_OK) return 0; - /* A zombie thread. */ + /* A zombie thread. */ if (ti.ti_state == TD_THR_UNKNOWN || ti.ti_state == TD_THR_ZOMBIE) return 0; @@ -657,17 +753,16 @@ /* we sometimes are called with lwp == 0 */ return 1; } - else - { - err = td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid), &th); - /* - * if the lwp was already mapped to user thread, don't use it - * directly, please use user thread id instead. - */ - if (err == TD_OK) - return 0; - } - + + err = td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid), &th); + + /* + * if the lwp was already mapped to user thread, don't use it + * directly, please use user thread id instead. + */ + if (err == TD_OK) + return 0; + /* check lwp in kernel */ return ptrace (PT_GETREGS, GET_LWP (ptid), (caddr_t)&gregs, 0) == 0; } @@ -721,23 +816,23 @@ err = td_ta_map_id2thr_p (thread_agent, GET_THREAD (ptid), &th); if (err != TD_OK) - error ("Cannot find thread %lx: %s", + error ("Cannot find thread, TID=%ld, %s", GET_THREAD (ptid), thread_db_err_str (err)); err = td_thr_get_info_p (&th, &ti); if (err != TD_OK) - error ("Cannot get thread info for thread %lx: %s", + error ("Cannot get thread info, TID=%ld, %s", GET_THREAD (ptid), thread_db_err_str (err)); if (ti.ti_lid != 0) { - snprintf (buf, sizeof (buf), "Thread %lx (LWP %d)", - (long) ti.ti_tid, ti.ti_lid); + snprintf (buf, sizeof (buf), "TID %ld (LWP %d)", + GET_THREAD (ptid), ti.ti_lid); } else { - snprintf (buf, sizeof (buf), "Thread %lx (%s)", - (long) ti.ti_tid, thread_db_state_str (ti.ti_state)); + snprintf (buf, sizeof (buf), "TID %ld (%s)", + GET_THREAD (ptid), thread_db_state_str (ti.ti_state)); } return buf; @@ -761,9 +856,8 @@ name = "???"; else name = DEPRECATED_SYMBOL_NAME (ms); - + printf_filtered ("Destructor %p <%s>\n", destructor, name); - return 0; } @@ -858,10 +952,6 @@ if (td_thr_sstep_p == NULL) return 0; - td_ta_activated_p = dlsym (handle, "td_ta_activated"); - if (td_ta_activated_p == NULL) - return 0; - td_ta_tsd_iter_p = dlsym (handle, "td_ta_tsd_iter"); if (td_ta_tsd_iter_p == NULL) return 0; @@ -897,9 +987,9 @@ target_new_objfile_hook = fbsd_thread_new_objfile; } else - { + { printf_filtered("%s: can not load %s.\n", __func__, LIBTHREAD_DB_SO); - } + } } /* proc service functions */ @@ -910,6 +1000,7 @@ va_start (args, fmt); vfprintf_filtered (gdb_stderr, fmt, args); + va_end (args); } ps_err_e @@ -956,7 +1047,7 @@ ps_lgetregs (struct ps_prochandle *ph, lwpid_t lwpid, prgregset_t gregset) { /* should check data modal, .core or process ? */ - if (ptrace (PT_GETREGS, lwpid, (caddr_t)gregset, 0) == -1) + if (ptrace (PT_GETREGS, lwpid, (caddr_t) gregset, 0) == -1) return PS_ERR; return PS_OK; } @@ -996,7 +1087,7 @@ ps_lsetstep (struct ps_prochandle *ph, lwpid_t lwp, int step) { if (ptrace ((step ? PT_SETSTEP : PT_CLEARSTEP), lwp, 0, 0)) - return PS_ERR; + return PS_ERR; return PS_OK; } From owner-p4-projects@FreeBSD.ORG Tue Jul 6 23:47:18 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 331B716A4D0; Tue, 6 Jul 2004 23:47:18 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0E00916A4CE for ; Tue, 6 Jul 2004 23:47:18 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 068A943D41 for ; Tue, 6 Jul 2004 23:47:18 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i66NlHRI042919 for ; Tue, 6 Jul 2004 23:47:17 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i66NlHV3042916 for perforce@freebsd.org; Tue, 6 Jul 2004 23:47:17 GMT (envelope-from peter@freebsd.org) Date: Tue, 6 Jul 2004 23:47:17 GMT Message-Id: <200407062347.i66NlHV3042916@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 56647 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 23:47:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=56647 Change 56647 by peter@peter_daintree on 2004/07/06 23:47:07 move the pmap_pinit/pmap_release to the vmspace init/fini routines. This causes us to keep an almost-empty page directory associated with each vmspace in the zone. In this case "almost" means that userland has been removed, just the kernel bits are active. This leads to some interesting optimization possiblities because we can almost completely avoid the pmap_lazyfix shootdown problems since the pmaps will remain usable even after the vmspace has been "freed". Affected files ... .. //depot/projects/hammer/sys/vm/vm_map.c#38 edit Differences ... ==== //depot/projects/hammer/sys/vm/vm_map.c#38 (text+ko) ==== @@ -175,7 +175,7 @@ struct vmspace *vm; vm = (struct vmspace *)mem; - + pmap_release(vmspace_pmap(vm)); vm_map_zfini(&vm->vm_map, sizeof(vm->vm_map)); } @@ -187,6 +187,7 @@ vm = (struct vmspace *)mem; vm_map_zinit(&vm->vm_map, sizeof(vm->vm_map)); + pmap_pinit(vmspace_pmap(vm)); } static void @@ -254,7 +255,6 @@ vm = uma_zalloc(vmspace_zone, M_WAITOK); CTR1(KTR_VM, "vmspace_alloc: %p", vm); _vm_map_init(&vm->vm_map, min, max); - pmap_pinit(vmspace_pmap(vm)); vm->vm_map.pmap = vmspace_pmap(vm); /* XXX */ vm->vm_refcnt = 1; vm->vm_shm = NULL; @@ -299,7 +299,6 @@ vm->vm_map.max_offset); vm_map_unlock(&vm->vm_map); - pmap_release(vmspace_pmap(vm)); uma_zfree(vmspace_zone, vm); } From owner-p4-projects@FreeBSD.ORG Wed Jul 7 00:05:42 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C175916A4D0; Wed, 7 Jul 2004 00:05:41 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9A8A516A4CE for ; Wed, 7 Jul 2004 00:05:41 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F91C43D2D for ; Wed, 7 Jul 2004 00:05:41 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i6705fjK043460 for ; Wed, 7 Jul 2004 00:05:41 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i6705eX7043457 for perforce@freebsd.org; Wed, 7 Jul 2004 00:05:40 GMT (envelope-from peter@freebsd.org) Date: Wed, 7 Jul 2004 00:05:40 GMT Message-Id: <200407070005.i6705eX7043457@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 56648 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2004 00:05:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=56648 Change 56648 by peter@peter_daintree on 2004/07/07 00:05:16 IFC @56646 Affected files ... .. //depot/projects/hammer/UPDATING#44 integrate .. //depot/projects/hammer/contrib/amd/AUTHORS#3 integrate .. //depot/projects/hammer/contrib/amd/BUGS#3 integrate .. //depot/projects/hammer/contrib/amd/COPYING#3 integrate .. //depot/projects/hammer/contrib/amd/ChangeLog#3 integrate .. //depot/projects/hammer/contrib/amd/FREEBSD-Xlist#3 integrate .. //depot/projects/hammer/contrib/amd/INSTALL#3 integrate .. //depot/projects/hammer/contrib/amd/MIRRORS#3 delete .. //depot/projects/hammer/contrib/amd/MIRRORS.html#1 branch .. //depot/projects/hammer/contrib/amd/MIRRORS.txt#1 branch .. //depot/projects/hammer/contrib/amd/NEWS#3 integrate .. //depot/projects/hammer/contrib/amd/README#3 integrate .. //depot/projects/hammer/contrib/amd/README.y2k#2 integrate .. //depot/projects/hammer/contrib/amd/amd/am_ops.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amd.8#4 integrate .. //depot/projects/hammer/contrib/amd/amd/amd.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amd.h#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_auto.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_direct.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_error.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_host.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_inherit.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_link.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_linkx.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_nfsl.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_nfsx.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_program.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_root.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_toplvl.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amfs_union.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amq_subr.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/amq_svc.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/autil.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/clock.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/conf.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/conf_parse.y#3 integrate .. //depot/projects/hammer/contrib/amd/amd/conf_tok.l#3 integrate .. //depot/projects/hammer/contrib/amd/amd/get_args.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/info_file.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/info_hesiod.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/info_ldap.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/info_ndbm.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/info_nis.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/info_nisplus.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/info_passwd.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/info_union.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/map.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/mapc.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/mntfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/nfs_prot_svc.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/nfs_start.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/nfs_subr.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_TEMPLATE.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_cachefs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_cdfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_efs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_lofs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_mfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_nfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_nfs3.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_nullfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_pcfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_tfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_tmpfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_ufs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_umapfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_unionfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/ops_xfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/opts.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/restart.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/rpc_fwd.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/sched.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/srvr_amfs_auto.c#3 integrate .. //depot/projects/hammer/contrib/amd/amd/srvr_nfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/amq/amq.8#4 integrate .. //depot/projects/hammer/contrib/amd/amq/amq.c#3 integrate .. //depot/projects/hammer/contrib/amd/amq/amq.h#3 integrate .. //depot/projects/hammer/contrib/amd/amq/amq_clnt.c#3 integrate .. //depot/projects/hammer/contrib/amd/amq/amq_xdr.c#3 integrate .. //depot/projects/hammer/contrib/amd/amq/pawd.1#3 integrate .. //depot/projects/hammer/contrib/amd/amq/pawd.c#3 integrate .. //depot/projects/hammer/contrib/amd/bootstrap#2 integrate .. //depot/projects/hammer/contrib/amd/commit#2 delete .. //depot/projects/hammer/contrib/amd/conf/checkmount/checkmount_bsd44.c#3 integrate .. //depot/projects/hammer/contrib/amd/conf/hn_dref/hn_dref_default.h#2 delete .. //depot/projects/hammer/contrib/amd/conf/mount/mount_default.c#2 delete .. //depot/projects/hammer/contrib/amd/conf/mtab/mtab_bsd.c#3 integrate .. //depot/projects/hammer/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h#3 integrate .. //depot/projects/hammer/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h#3 integrate .. //depot/projects/hammer/contrib/amd/conf/transp/transp_sockets.c#4 integrate .. //depot/projects/hammer/contrib/amd/conf/trap/trap_default.h#2 integrate .. //depot/projects/hammer/contrib/amd/conf/umount/umount_bsd44.c#3 integrate .. //depot/projects/hammer/contrib/amd/config.guess#2 delete .. //depot/projects/hammer/contrib/amd/config.guess.long#2 delete .. //depot/projects/hammer/contrib/amd/config.sub#2 delete .. //depot/projects/hammer/contrib/amd/configure.in#2 delete .. //depot/projects/hammer/contrib/amd/cvs-server.txt#2 delete .. //depot/projects/hammer/contrib/amd/depcomp#2 delete .. //depot/projects/hammer/contrib/amd/doc/am-utils.texi#3 integrate .. //depot/projects/hammer/contrib/amd/doc/mdate-sh#2 delete .. //depot/projects/hammer/contrib/amd/fixmount/fixmount.8#4 integrate .. //depot/projects/hammer/contrib/amd/fixmount/fixmount.c#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/fsi_analyze.c#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/fsi_data.h#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/fsi_dict.c#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/fsi_gram.y#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/fsi_lex.l#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/fsi_util.c#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/fsinfo.8#5 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/fsinfo.c#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/fsinfo.h#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/wr_atab.c#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/wr_bparam.c#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/wr_dumpset.c#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/wr_exportfs.c#3 integrate .. //depot/projects/hammer/contrib/amd/fsinfo/wr_fstab.c#3 integrate .. //depot/projects/hammer/contrib/amd/hlfsd/hlfsd.8#4 integrate .. //depot/projects/hammer/contrib/amd/hlfsd/hlfsd.c#3 integrate .. //depot/projects/hammer/contrib/amd/hlfsd/hlfsd.h#3 integrate .. //depot/projects/hammer/contrib/amd/hlfsd/homedir.c#3 integrate .. //depot/projects/hammer/contrib/amd/hlfsd/nfs_prot_svc.c#3 integrate .. //depot/projects/hammer/contrib/amd/hlfsd/stubs.c#3 integrate .. //depot/projects/hammer/contrib/amd/include/am_defs.h#3 integrate .. //depot/projects/hammer/contrib/amd/include/am_utils.h#3 integrate .. //depot/projects/hammer/contrib/amd/include/am_xdr_func.h#3 integrate .. //depot/projects/hammer/contrib/amd/include/amq_defs.h#3 integrate .. //depot/projects/hammer/contrib/amd/install-sh#2 delete .. //depot/projects/hammer/contrib/amd/libamu/amu.h#3 integrate .. //depot/projects/hammer/contrib/amd/libamu/hasmntopt.c#3 integrate .. //depot/projects/hammer/contrib/amd/libamu/misc_rpc.c#3 integrate .. //depot/projects/hammer/contrib/amd/libamu/mount_fs.c#3 integrate .. //depot/projects/hammer/contrib/amd/libamu/mtab.c#3 integrate .. //depot/projects/hammer/contrib/amd/libamu/nfs_prot_xdr.c#3 integrate .. //depot/projects/hammer/contrib/amd/libamu/strerror.c#2 integrate .. //depot/projects/hammer/contrib/amd/libamu/util.c#3 integrate .. //depot/projects/hammer/contrib/amd/libamu/wire.c#3 integrate .. //depot/projects/hammer/contrib/amd/libamu/xdr_func.c#3 integrate .. //depot/projects/hammer/contrib/amd/libamu/xutil.c#3 integrate .. //depot/projects/hammer/contrib/amd/ltmain.sh#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/c_void_p.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/cache_check_dynamic.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_amu_fs.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_checkmount_style.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_extern.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_fhandle.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_field.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_fs_headers.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_fs_mntent.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_gnu_getopt.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_hide_mount_type.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_lib2.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_map_funcs.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mnt2_cdfs_opt.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mnt2_gen_opt.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mnt2_nfs_opt.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mnttab_file_name.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mnttab_location.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mnttab_opt.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mnttab_style.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mnttab_type.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mount_style.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mount_trap.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mount_type.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mtype_printf_type.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_mtype_type.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_network_transport_type.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_nfs_fh_dref.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_nfs_hn_dref.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_nfs_prot_headers.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_nfs_sa_dref.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_nfs_socket_connection.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_os_libs.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_restartable_signal_handler.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_umount_style.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_unmount_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/check_unmount_call.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/expand_cpp_hex.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/expand_cpp_int.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/expand_cpp_string.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/expand_run_string.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/extern_optarg.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/extern_sys_errlist.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/field_mntent_t_mnt_time_string.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/func_bad_memcmp.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/func_bad_yp_all.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/header_templates.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/host_macros.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/linux_headers.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/localconfig.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/mount_headers.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/name_package.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/name_version.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/opt_amu_cflags.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/opt_cppflags.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/opt_debug.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/opt_ldflags.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/opt_libs.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/os_cflags.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/os_cppflags.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/os_ldflags.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/package_bugreport.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/package_name.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/package_version.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/save_state.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/struct_field_nfs_fh.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/struct_mntent.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/struct_mnttab.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/struct_nfs_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/struct_nfs_fh.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/struct_nfs_fh3.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/struct_nfs_gfs_mount.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/try_compile_anyfs.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/try_compile_nfs.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/try_compile_rpc.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_auth_create_gidlist.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_cachefs_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_cdfs_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_efs_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_lofs_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_mfs_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_pcfs_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_recvfrom_fromlen.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_rfs_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_svc_in_arg.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_time_t.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_tmpfs_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_ufs_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_xdrproc_t.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_xfs_args.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/type_yp_order_outorder.m4#2 delete .. //depot/projects/hammer/contrib/amd/m4/macros/with_addon.m4#2 delete .. //depot/projects/hammer/contrib/amd/missing#2 delete .. //depot/projects/hammer/contrib/amd/mk-amd-map/mk-amd-map.8#3 integrate .. //depot/projects/hammer/contrib/amd/mk-amd-map/mk-amd-map.c#3 integrate .. //depot/projects/hammer/contrib/amd/mkinstalldirs#2 delete .. //depot/projects/hammer/contrib/amd/scripts/amd.conf-sample#3 integrate .. //depot/projects/hammer/contrib/amd/scripts/amd.conf.5#5 integrate .. //depot/projects/hammer/contrib/amd/scripts/automount2amd.8#3 integrate .. //depot/projects/hammer/contrib/amd/scripts/expn.1#3 integrate .. //depot/projects/hammer/contrib/amd/scripts/expn.in#3 integrate .. //depot/projects/hammer/contrib/amd/scripts/lostaltmail.conf-sample#2 delete .. //depot/projects/hammer/contrib/amd/scripts/lostaltmail.in#3 delete .. //depot/projects/hammer/contrib/amd/tasks#3 integrate .. //depot/projects/hammer/contrib/amd/wire-test/wire-test.8#3 integrate .. //depot/projects/hammer/contrib/amd/wire-test/wire-test.c#3 integrate .. //depot/projects/hammer/contrib/binutils/bfd/elf32-ppc.h#1 branch .. //depot/projects/hammer/contrib/binutils/bfd/libxcoff.h#1 branch .. //depot/projects/hammer/contrib/binutils/include/coff/xcoff.h#1 branch .. //depot/projects/hammer/contrib/binutils/ld/emultempl/ppc32elf.em#1 branch .. //depot/projects/hammer/contrib/cvs/src/log.c#6 integrate .. //depot/projects/hammer/contrib/cvs/src/main.c#6 integrate .. //depot/projects/hammer/contrib/cvs/src/rcs.c#5 integrate .. //depot/projects/hammer/contrib/cvs/src/rcs.h#3 integrate .. //depot/projects/hammer/contrib/gnu-sort/FREEBSD-upgrade#4 integrate .. //depot/projects/hammer/contrib/gnu-sort/lib/version-etc.c#3 integrate .. //depot/projects/hammer/contrib/isc-dhcp/client/dhclient.c#9 integrate .. //depot/projects/hammer/contrib/isc-dhcp/common/dispatch.c#5 integrate .. //depot/projects/hammer/contrib/isc-dhcp/includes/dhcpd.h#6 integrate .. //depot/projects/hammer/contrib/isc-dhcp/omapip/dispatch.c#3 integrate .. //depot/projects/hammer/contrib/isc-dhcp/omapip/mrtrace.c#3 integrate .. //depot/projects/hammer/etc/devd.conf#11 integrate .. //depot/projects/hammer/gnu/lib/libregex/FREEBSD-upgrade#2 integrate .. //depot/projects/hammer/gnu/usr.bin/gdb/Makefile.inc#3 integrate .. //depot/projects/hammer/include/Makefile#25 integrate .. //depot/projects/hammer/include/ftw.h#1 branch .. //depot/projects/hammer/lib/libalias/Makefile#9 integrate .. //depot/projects/hammer/lib/libalias/alias.c#9 integrate .. //depot/projects/hammer/lib/libalias/alias_cuseeme.c#5 integrate .. //depot/projects/hammer/lib/libalias/alias_db.c#8 integrate .. //depot/projects/hammer/lib/libalias/alias_ftp.c#5 integrate .. //depot/projects/hammer/lib/libalias/alias_irc.c#5 integrate .. //depot/projects/hammer/lib/libalias/alias_local.h#7 integrate .. //depot/projects/hammer/lib/libalias/alias_nbt.c#6 integrate .. //depot/projects/hammer/lib/libalias/alias_pptp.c#6 integrate .. //depot/projects/hammer/lib/libalias/alias_proxy.c#6 integrate .. //depot/projects/hammer/lib/libalias/alias_skinny.c#5 integrate .. //depot/projects/hammer/lib/libalias/alias_smedia.c#5 integrate .. //depot/projects/hammer/lib/libalias/alias_util.c#6 integrate .. //depot/projects/hammer/lib/libarchive/archive_entry.3#7 integrate .. //depot/projects/hammer/lib/libarchive/archive_entry.c#12 integrate .. //depot/projects/hammer/lib/libarchive/archive_entry.h#9 integrate .. //depot/projects/hammer/lib/libarchive/archive_write.3#4 integrate .. //depot/projects/hammer/lib/libc/gen/Makefile.inc#14 integrate .. //depot/projects/hammer/lib/libc/gen/ftw.3#1 branch .. //depot/projects/hammer/lib/libc/gen/ftw.c#1 branch .. //depot/projects/hammer/lib/libc/gen/getttyent.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/shm_open.3#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_delete.3#4 integrate .. //depot/projects/hammer/lib/libc/regex/regex.3#6 integrate .. //depot/projects/hammer/lib/libc/stdlib/getenv.3#4 integrate .. //depot/projects/hammer/lib/libc/stdlib/getopt_long.c#8 integrate .. //depot/projects/hammer/lib/libc/sys/extattr_get_file.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/setuid.2#3 integrate .. //depot/projects/hammer/lib/libsdp/sdp.3#4 integrate .. //depot/projects/hammer/lib/msun/Makefile#13 integrate .. //depot/projects/hammer/lib/msun/man/rint.3#2 integrate .. //depot/projects/hammer/lib/msun/src/math.h#18 integrate .. //depot/projects/hammer/lib/msun/src/s_nearbyint.c#1 branch .. //depot/projects/hammer/release/doc/ru_RU.KOI8-R/share/sgml/release.dsl#2 integrate .. //depot/projects/hammer/sbin/geom/class/concat/gconcat.8#2 integrate .. //depot/projects/hammer/sbin/geom/class/concat/geom_concat.c#3 integrate .. //depot/projects/hammer/sbin/geom/class/label/geom_label.c#2 integrate .. //depot/projects/hammer/sbin/geom/class/label/glabel.8#2 integrate .. //depot/projects/hammer/sbin/geom/class/nop/gnop.8#2 integrate .. //depot/projects/hammer/sbin/geom/class/stripe/geom_stripe.c#3 integrate .. //depot/projects/hammer/sbin/geom/class/stripe/gstripe.8#2 integrate .. //depot/projects/hammer/sbin/growfs/debug.h#3 integrate .. //depot/projects/hammer/share/man/man4/ath.4#14 integrate .. //depot/projects/hammer/share/man/man4/ath_hal.4#8 integrate .. //depot/projects/hammer/share/man/man4/fatm.4#3 integrate .. //depot/projects/hammer/share/man/man4/hatm.4#5 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/acpi_asus.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/arl.4#5 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/cp.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ct.4#6 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ndis.4#5 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/pae.4#7 integrate .. //depot/projects/hammer/share/man/man4/meteor.4#4 integrate .. //depot/projects/hammer/share/man/man4/ng_atm.4#7 integrate .. //depot/projects/hammer/share/man/man4/ng_atmpif.4#4 integrate .. //depot/projects/hammer/share/man/man4/ng_sscfu.4#5 integrate .. //depot/projects/hammer/share/man/man4/ng_sscop.4#4 integrate .. //depot/projects/hammer/share/man/man4/ng_uni.4#5 integrate .. //depot/projects/hammer/share/man/man4/patm.4#4 integrate .. //depot/projects/hammer/share/man/man4/utopia.4#7 integrate .. //depot/projects/hammer/share/man/man9/DECLARE_GEOM_CLASS.9#2 integrate .. //depot/projects/hammer/share/man/man9/cr_seeothergids.9#3 integrate .. //depot/projects/hammer/share/man/man9/cr_seeotheruids.9#3 integrate .. //depot/projects/hammer/share/man/man9/g_access.9#5 integrate .. //depot/projects/hammer/share/man/man9/g_attach.9#6 integrate .. //depot/projects/hammer/share/man/man9/g_bio.9#6 integrate .. //depot/projects/hammer/share/man/man9/g_consumer.9#6 integrate .. //depot/projects/hammer/share/man/man9/g_data.9#6 integrate .. //depot/projects/hammer/share/man/man9/g_event.9#5 integrate .. //depot/projects/hammer/share/man/man9/g_geom.9#6 integrate .. //depot/projects/hammer/share/man/man9/g_provider.9#6 integrate .. //depot/projects/hammer/share/man/man9/g_provider_by_name.9#5 integrate .. //depot/projects/hammer/share/man/man9/g_wither_geom.9#5 integrate .. //depot/projects/hammer/share/man/man9/ithread.9#4 integrate .. //depot/projects/hammer/share/man/man9/mbpool.9#4 integrate .. //depot/projects/hammer/share/man/man9/mutex.9#11 integrate .. //depot/projects/hammer/share/man/man9/p_candebug.9#3 integrate .. //depot/projects/hammer/share/man/man9/pmap.9#5 integrate .. //depot/projects/hammer/share/man/man9/pmap_activate.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_addr_hint.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_change_wiring.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_clear_modify.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_copy.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_enter.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_extract.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_growkernel.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_init.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_is_modified.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_is_prefaultable.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_map.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_mincore.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_object_init_pt.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_page_exists_quick.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_page_protect.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_pinit.9#3 integrate .. //depot/projects/hammer/share/man/man9/pmap_qenter.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_release.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_remove.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_resident_count.9#2 integrate .. //depot/projects/hammer/share/man/man9/pmap_zero_page.9#2 integrate .. //depot/projects/hammer/share/man/man9/prison_check.9#2 integrate .. //depot/projects/hammer/share/man/man9/signal.9#6 integrate .. //depot/projects/hammer/share/man/man9/utopia.9#5 integrate .. //depot/projects/hammer/share/man/man9/vm_fault_prefault.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map.9#3 integrate .. //depot/projects/hammer/share/man/man9/vm_map_check_protection.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_clean.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_create.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_delete.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_find.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_findspace.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_inherit.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_init.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_insert.9#3 integrate .. //depot/projects/hammer/share/man/man9/vm_map_lock.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_lookup.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_madvise.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_max.9#3 integrate .. //depot/projects/hammer/share/man/man9/vm_map_protect.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_remove.9#3 integrate .. //depot/projects/hammer/share/man/man9/vm_map_simplify_entry.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_stack.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_submap.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_map_wire.9#2 integrate .. //depot/projects/hammer/share/man/man9/vn_fullpath.9#2 integrate .. //depot/projects/hammer/share/man/man9/watchdog.9#3 integrate .. //depot/projects/hammer/sys/alpha/alpha/pmap.c#27 integrate .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#87 integrate .. //depot/projects/hammer/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/hammer/sys/dev/fdc/fdc.c#5 integrate .. //depot/projects/hammer/sys/dev/re/if_re.c#16 integrate .. //depot/projects/hammer/sys/geom/concat/g_concat.c#7 integrate .. //depot/projects/hammer/sys/geom/concat/g_concat.h#6 integrate .. //depot/projects/hammer/sys/geom/label/g_label.c#2 integrate .. //depot/projects/hammer/sys/geom/label/g_label.h#2 integrate .. //depot/projects/hammer/sys/geom/stripe/g_stripe.c#2 integrate .. //depot/projects/hammer/sys/geom/stripe/g_stripe.h#2 integrate .. //depot/projects/hammer/sys/i386/acpica/acpi_wakeup.c#17 integrate .. //depot/projects/hammer/sys/i386/i386/pmap.c#42 integrate .. //depot/projects/hammer/sys/i386/isa/isa.h#4 integrate .. //depot/projects/hammer/sys/i386/isa/isa_dma.c#5 integrate .. //depot/projects/hammer/sys/i4b/driver/i4b_ing.c#7 integrate .. //depot/projects/hammer/sys/ia64/ia64/pmap.c#28 integrate .. //depot/projects/hammer/sys/isa/orm.c#5 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#36 integrate .. //depot/projects/hammer/sys/kern/uipc_socket.c#31 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#34 integrate .. //depot/projects/hammer/sys/kern/vfs_mount.c#30 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#44 integrate .. //depot/projects/hammer/sys/net/if_disc.c#11 integrate .. //depot/projects/hammer/sys/net/if_faith.c#14 integrate .. //depot/projects/hammer/sys/net/if_gif.c#15 integrate .. //depot/projects/hammer/sys/net/if_gre.c#17 integrate .. //depot/projects/hammer/sys/net/rtsock.c#14 integrate .. //depot/projects/hammer/sys/nfsclient/nfs.h#11 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_bio.c#18 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_socket.c#17 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vfsops.c#24 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vnops.c#19 integrate .. //depot/projects/hammer/sys/nfsclient/nfsmount.h#6 integrate .. //depot/projects/hammer/sys/pci/if_dc.c#36 integrate .. //depot/projects/hammer/sys/pci/if_de.c#18 integrate .. //depot/projects/hammer/sys/pci/if_sf.c#22 integrate .. //depot/projects/hammer/sys/pci/if_ti.c#22 integrate .. //depot/projects/hammer/sys/powerpc/include/stdarg.h#5 integrate .. //depot/projects/hammer/sys/powerpc/ofw/ofw_syscons.c#3 integrate .. //depot/projects/hammer/sys/powerpc/ofw/ofw_syscons.h#3 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/pmap.c#23 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/trap.c#8 integrate .. //depot/projects/hammer/sys/sys/mount.h#19 integrate .. //depot/projects/hammer/sys/vm/swap_pager.c#26 integrate .. //depot/projects/hammer/sys/vm/vm_map.h#15 integrate .. //depot/projects/hammer/usr.bin/compress/compress.1#3 integrate .. //depot/projects/hammer/usr.sbin/amd/include/aux_conf.h#2 integrate .. //depot/projects/hammer/usr.sbin/amd/include/config.h#3 integrate Differences ... ==== //depot/projects/hammer/UPDATING#44 (text+ko) ==== @@ -17,6 +17,13 @@ developers choose to disable these features on build machines to maximize performance. +20040702: + The native preemption has been added to the kernel scheduler. + There is some report that ULE scheduler was broken in some + machines and we encourage users using ULE schedluer either + stick with an known good kernel, or temporary switch to 4BSD + scheduler as a workaround. + 20040630: The netgraph ABI version number has been incremented to indicate an incompatible change in the ABI. Old netgraph nodes will refuse @@ -26,6 +33,9 @@ case the changes are simple; the file ng_ksocket.c serves as an example of such changes. + This also broke i4b, although the compile problem has been papered + over. + 20040630: ACPI has been updated to disable known-bad BIOS revisions. A message will be printed on console indicating that ACPI has been disabled @@ -1670,4 +1680,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.321 2004/06/30 23:13:16 bms Exp $ +$FreeBSD: src/UPDATING,v 1.322 2004/07/05 18:11:59 imp Exp $ ==== //depot/projects/hammer/contrib/amd/AUTHORS#3 (text+ko) ==== @@ -6,16 +6,12 @@ particular order, and I thank them all. This is of course not to diminish the smaller contributes of the many others. Thank you all. -* Erez Zadok +* Erez Zadok The most significant changes were made by Erez Zadok in terms of bug fixes, ports, and new features added. Erez Zadok is the current maintainer of am-utils, as of January 1997. -There is a mailing list dedicated to developers of am-utils. To subscribe -to it, send mail to majordomo@majordomo.cs.columbia.edu, with the body of -the message having the single line "subscribe amd-dev". - * Randall S. Winchester May 7, 1997: contributed a special version of upl102 that included NFS V.3 ==== //depot/projects/hammer/contrib/amd/BUGS#3 (text+ko) ==== @@ -120,7 +120,7 @@ A bug in libc results in an amq binary that doesn't work; amq -v dumps core in xdr_string. There is no known fix (source code or vendor patch) at this -time. (Please let amd-dev know if you know of a fix.) +time. (Please let am-utils@am-utils.org know if you know of a fix.) (7) *-aix4.3.2.0 ==== //depot/projects/hammer/contrib/amd/COPYING#3 (text+ko) ==== @@ -1,4 +1,4 @@ -Copyright (c) 1997-2003 Erez Zadok +Copyright (c) 1997-2004 Erez Zadok Copyright (c) 1989 Jan-Simon Pendry Copyright (c) 1989 Imperial College of Science, Technology & Medicine Copyright (c) 1989 The Regents of the University of California. ==== //depot/projects/hammer/contrib/amd/ChangeLog#3 (text+ko) ==== @@ -1,3 +1,103 @@ +2004-05-12 Erez Zadok + + * m4/macros/check_map_funcs.m4: imported bug-fixed version from + 6.1 branch. + + * config.guess, config.sub, ltmain.sh: updates from the latest GNU + distributions. + + * configure.in: don't check for dbm_open unless needed. + + * m4/macros/header_templates.m4: template for NEW_DBM_H header + file. This completes the migration of bison/flex and n/dbm fixes + from 6.1 to to 6.0. + + * include/am_defs.h: Move ALLOCA logic here. + Add new db/ndbm/gdbm logic here. + + * fsinfo/fsinfo.h, fsinfo/fsinfo.c, fsinfo/fsi_lex.l, + amd/conf_tok.l: Fixes to avoid problems with modern yacc/lex + implementations. + + * amd/conf_parse.y: move ALLOCA checks out of yacc code. Fixes to + avoid problems with modern yacc/lex implementations. + + * configure.in: search for gdbm/ndbm.h. Add logic to deal with + db/ndbm/gdbm mess. + +2004-01-20 Ion Badulescu + + * amd/conf.c (gopt_nfs_allow_insecure_port): support function for + the new "nfs_allow_insecure_port" amd.conf directive + + * amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure + port and drop the request only if the "nfs_allow_insecure_port" + option is not set in amd.conf + + * doc/am-utils.texi (Global Parameters): documented the new + amd.conf directive "nfs_allow_insecure_port" + + * scripts/amd.conf.5 (nfs_allow_insecure_port): ditto + + * scripts/amd.conf-sample (nfs_allow_insecure_port): added the + "nfs_allow_insecure_port" directive + +2004-01-20 Erez Zadok + + * doc/am-utils.texi: amd-workers is defunct. + +2004-01-19 Erez Zadok + + * cvs-server.txt: updated instructions + +2004-01-18 Erez Zadok + + * minor new port: i386-unknown-freebsd5.2. + + * hlfsd/hlfsd.c (hlfsd_init), amd/amq_subr.c + (amqproc_mnttree_1_svc, amqproc_stats_1_svc, + amqproc_getmntfs_1_svc, xdr_amq_mount_tree): force double casting + to avoid gcc-3.3 complaints on Solaris 9 about "dereferencing + type-punned pointer will break strict-aliasing rules". + +2004-01-06 Erez Zadok + + * minor new port: i386-unknown-freebsd4.9. + + * include/am_defs.h: Don't include malloc.h if stdlib.h exists, + because modern systems (e.g., BSD) complain if you use malloc.h + instead of stdlib.h. Let's hope there are no systems out + there that need both. + +2004-01-05 Erez Zadok + + * MIRRORS.{txt,html}: verify each mirror site, update to new + locations (if found), and remove stale mirrors URLs. + + * updated copyright year to 2004 on all files. + + * Makefile.am (install-snapshot): new directory to install + snapshots (now that am-utils home page is moved). + + * INSTALL, README.autofs: remove forced text-mode. + + * doc/am-utils.texi: fix Amd book URL. + + * Makefile.am (EXTRA_DIST): include new mirror files in tarball. + + * AUTHORS, BUGS, README, README.y2k, configure.in, + doc/am-utils.texi: revisions to use newer URLs for Web site, FTP, + and mailing lists. + + * MIRRORS.{html,txt}: copied from 6.1 branch. + + * doc/Makefile.am: install mirror lists officially. + +2003-10-21 Ion Badulescu + + * buildall: added support for -i (make install), other fixes from + the trunk + 2003-08-27 Ion Badulescu * conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs ==== //depot/projects/hammer/contrib/amd/FREEBSD-Xlist#3 (text+ko) ==== @@ -1,10 +1,12 @@ -$FreeBSD: src/contrib/amd/FREEBSD-Xlist,v 1.4 2004/05/14 13:28:37 mbr Exp $ +$FreeBSD: src/contrib/amd/FREEBSD-Xlist,v 1.5 2004/07/06 12:52:27 mbr Exp $ *LSM.am-utils *Makefile.* *README.autofs *ac*.m4 +*.old *acconfig.h *aux +*autom4te.cache* *buildall *config* *depcomp @@ -15,6 +17,8 @@ *stamp-h.in *amd/Makefile.* *amq/Makefile.* +*commit +*cvs-server.txt *conf/checkmount/checkmount_aix.c *conf/checkmount/checkmount_default.c *conf/checkmount/checkmount_osf.c ==== //depot/projects/hammer/contrib/amd/INSTALL#3 (text+ko) ==== @@ -111,7 +111,7 @@ EMAIL ID LEGEND: -bking: Bevis R W King +bking: Bevis R W King dsr: Dan Riley ezk: Erez Zadok finkel: Raphael Finkel ==== //depot/projects/hammer/contrib/amd/NEWS#3 (text+ko) ==== @@ -4,10 +4,18 @@ ia64-unknown-linux-rh2.1AS (Red Hat Itanium Advanced Server) i386-unknown-freebsd5.0 (5.0-RELEASE) sparc64-unknown-linux-suse7.3 + i386-unknown-freebsd4.9 + i386-unknown-freebsd5.2 (5.2-RELEASE) + +- new amd.conf directive "nfs_allow_insecure_port". Used to work around + bugs in certain kernels, which cause them to try and talk to amd from + unprivileged ports. - bug fixes: rename log() in fsinfo to avoid glibc/gcc-3.3 conflict am_pref free NULL pointer + compiles with modern bison/flex versions + handles sites with various combos of db, n/dbm, and gdbm *** Notes specific to am-utils version 6.0.9: ==== //depot/projects/hammer/contrib/amd/README#3 (text+ko) ==== @@ -1,5 +1,3 @@ -# -*- text -*- - This is the official version of am-utils. See the file NEWS for news on this and previous releases. @@ -96,7 +94,7 @@ expect, at least initially, to have to be the sole developers of the M4 macros and let others concentrate on C sources. -[E] Report all bugs to amd-dev@cs.columbia.edu. Avoid reporting to my +[E] Report all bugs to am-utils@am-utils.org. Avoid reporting to my personal email address. It is important to involve the whole list in bug fixes etc. ==== //depot/projects/hammer/contrib/amd/README.y2k#2 (text+ko) ==== @@ -1,4 +1,3 @@ -# -*- text -*- AM-UTILS YEAR-2000 COMPLIANCE Most likely am-utils is y2k compliant. @@ -18,12 +17,11 @@ problems. Paul's patch is included in am-utils-6.0.1s7 and newer versions. Paul also said that other 2-digit years used in am-utils are "harmless." - NOTE: NONE OF THE PERSONS MENTIONED HERE, AUTHOR INCLUDED, ARE WILLING TO CERTIFY AM-UTILS AS Y2K COMPLIANT. USE AT YOUR OWN RISK. --- Erez Zadok. -Maintainer, am-utils package and AMD-DEV list. -Email: amd-dev-owner@majordomo.cs.columbia.edu +Maintainer, am-utils package and am-utils list. +Email: am-utils@am-utils.org WWW: http://www.am-utils.org ==== //depot/projects/hammer/contrib/amd/amd/am_ops.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1989 Jan-Simon Pendry * Copyright (c) 1989 Imperial College of Science, Technology & Medicine * Copyright (c) 1989 The Regents of the University of California. @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: am_ops.c,v 1.6.2.6 2002/12/27 22:44:28 ezk Exp $ + * $Id: am_ops.c,v 1.6.2.7 2004/01/06 03:15:16 ezk Exp $ * */ ==== //depot/projects/hammer/contrib/amd/amd/amd.8#4 (text+ko) ==== @@ -1,5 +1,5 @@ .\" -.\" Copyright (c) 1997-2003 Erez Zadok +.\" Copyright (c) 1997-2004 Erez Zadok .\" Copyright (c) 1989 Jan-Simon Pendry .\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1989 The Regents of the University of California. @@ -38,8 +38,8 @@ .\" .\" %W% (Berkeley) %G% .\" -.\" $Id: amd.8,v 1.4.2.4 2003/03/16 01:46:59 ezk Exp $ -.\" $FreeBSD: src/contrib/amd/amd/amd.8,v 1.18 2003/09/02 15:42:56 mbr Exp $ +.\" $Id: amd.8,v 1.4.2.5 2004/01/06 03:15:16 ezk Exp $ +.\" $FreeBSD: src/contrib/amd/amd/amd.8,v 1.19 2004/07/06 13:16:44 mbr Exp $ .\" .Dd April 19, 1994 .Dt AMD 8 ==== //depot/projects/hammer/contrib/amd/amd/amd.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1989 Jan-Simon Pendry * Copyright (c) 1989 Imperial College of Science, Technology & Medicine * Copyright (c) 1989 The Regents of the University of California. @@ -38,8 +38,8 @@ * * %W% (Berkeley) %G% * - * $Id: amd.c,v 1.8.2.5 2002/12/27 22:44:29 ezk Exp $ - * $FreeBSD: src/contrib/amd/amd/amd.c,v 1.9 2003/09/02 15:42:56 mbr Exp $ + * $Id: amd.c,v 1.8.2.6 2004/01/06 03:15:16 ezk Exp $ + * $FreeBSD: src/contrib/amd/amd/amd.c,v 1.10 2004/07/06 13:16:44 mbr Exp $ * */ ==== //depot/projects/hammer/contrib/amd/amd/amd.h#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1990 Jan-Simon Pendry * Copyright (c) 1990 Imperial College of Science, Technology & Medicine * Copyright (c) 1990 The Regents of the University of California. @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: amd.h,v 1.8.2.6 2002/12/27 22:44:29 ezk Exp $ + * $Id: amd.h,v 1.8.2.8 2004/01/21 04:04:58 ib42 Exp $ * */ @@ -62,6 +62,7 @@ #define CFM_FULLY_QUALIFIED_HOSTS 0x0100 #define CFM_BROWSABLE_DIRS_FULL 0x0200 /* allow '/' in readdir() */ #define CFM_UNMOUNT_ON_EXIT 0x0400 /* when amd finishing */ +#define CFM_NFS_INSECURE_PORT 0x0800 /* some systems (SunOS 4.x) neglect to define the mount null message */ #ifndef MOUNTPROC_NULL ==== //depot/projects/hammer/contrib/amd/amd/amfs_auto.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1990 Jan-Simon Pendry * Copyright (c) 1990 Imperial College of Science, Technology & Medicine * Copyright (c) 1990 The Regents of the University of California. @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: amfs_auto.c,v 1.9.2.11 2003/07/18 04:50:18 ezk Exp $ + * $Id: amfs_auto.c,v 1.9.2.12 2004/01/06 03:15:16 ezk Exp $ * */ ==== //depot/projects/hammer/contrib/amd/amd/amfs_direct.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1990 Jan-Simon Pendry * Copyright (c) 1990 Imperial College of Science, Technology & Medicine * Copyright (c) 1990 The Regents of the University of California. @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: amfs_direct.c,v 1.3.2.3 2002/12/27 22:44:30 ezk Exp $ + * $Id: amfs_direct.c,v 1.3.2.4 2004/01/06 03:15:16 ezk Exp $ * */ ==== //depot/projects/hammer/contrib/amd/amd/amfs_error.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1989 Jan-Simon Pendry * Copyright (c) 1989 Imperial College of Science, Technology & Medicine * Copyright (c) 1989 The Regents of the University of California. @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: amfs_error.c,v 1.3.2.4 2002/12/27 22:44:30 ezk Exp $ + * $Id: amfs_error.c,v 1.3.2.5 2004/01/06 03:15:16 ezk Exp $ * */ ==== //depot/projects/hammer/contrib/amd/amd/amfs_host.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1990 Jan-Simon Pendry * Copyright (c) 1990 Imperial College of Science, Technology & Medicine * Copyright (c) 1990 The Regents of the University of California. @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: amfs_host.c,v 1.4.2.6 2002/12/27 22:44:30 ezk Exp $ + * $Id: amfs_host.c,v 1.4.2.7 2004/01/06 03:15:16 ezk Exp $ * */ ==== //depot/projects/hammer/contrib/amd/amd/amfs_inherit.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1989 Jan-Simon Pendry * Copyright (c) 1989 Imperial College of Science, Technology & Medicine * Copyright (c) 1989 The Regents of the University of California. @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: amfs_inherit.c,v 1.3.2.3 2002/12/27 22:44:31 ezk Exp $ + * $Id: amfs_inherit.c,v 1.3.2.4 2004/01/06 03:15:16 ezk Exp $ * */ ==== //depot/projects/hammer/contrib/amd/amd/amfs_link.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1990 Jan-Simon Pendry * Copyright (c) 1990 Imperial College of Science, Technology & Medicine * Copyright (c) 1990 The Regents of the University of California. @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: amfs_link.c,v 1.3.2.3 2002/12/27 22:44:31 ezk Exp $ + * $Id: amfs_link.c,v 1.3.2.4 2004/01/06 03:15:16 ezk Exp $ * */ ==== //depot/projects/hammer/contrib/amd/amd/amfs_linkx.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1990 Jan-Simon Pendry * Copyright (c) 1990 Imperial College of Science, Technology & Medicine * Copyright (c) 1990 The Regents of the University of California. @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: amfs_linkx.c,v 1.3.2.3 2002/12/27 22:44:31 ezk Exp $ + * $Id: amfs_linkx.c,v 1.3.2.4 2004/01/06 03:15:16 ezk Exp $ * */ ==== //depot/projects/hammer/contrib/amd/amd/amfs_nfsl.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1990 Jan-Simon Pendry * Copyright (c) 1990 Imperial College of Science, Technology & Medicine * Copyright (c) 1990 The Regents of the University of California. @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: amfs_nfsl.c,v 1.4.2.3 2002/12/27 22:44:31 ezk Exp $ + * $Id: amfs_nfsl.c,v 1.4.2.4 2004/01/06 03:15:16 ezk Exp $ * */ ==== //depot/projects/hammer/contrib/amd/amd/amfs_nfsx.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1990 Jan-Simon Pendry * Copyright (c) 1990 Imperial College of Science, Technology & Medicine * Copyright (c) 1990 The Regents of the University of California. @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: amfs_nfsx.c,v 1.3.2.4 2002/12/27 22:44:32 ezk Exp $ + * $Id: amfs_nfsx.c,v 1.3.2.5 2004/01/06 03:15:16 ezk Exp $ * */ ==== //depot/projects/hammer/contrib/amd/amd/amfs_program.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2003 Erez Zadok + * Copyright (c) 1997-2004 Erez Zadok * Copyright (c) 1989 Jan-Simon Pendry * Copyright (c) 1989 Imperial College of Science, Technology & Medicine * Copyright (c) 1989 The Regents of the University of California. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 7 00:06:43 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 79B8C16A4D0; Wed, 7 Jul 2004 00:06:43 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 54EB716A4CE for ; Wed, 7 Jul 2004 00:06:43 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D1BD43D3F for ; Wed, 7 Jul 2004 00:06:43 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i6706hX8043479 for ; Wed, 7 Jul 2004 00:06:43 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i6706hAa043476 for perforce@freebsd.org; Wed, 7 Jul 2004 00:06:43 GMT (envelope-from peter@freebsd.org) Date: Wed, 7 Jul 2004 00:06:43 GMT Message-Id: <200407070006.i6706hAa043476@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 56649 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2004 00:06:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=56649 Change 56649 by peter@peter_daintree on 2004/07/07 00:06:41 Turn ule preemption back on in order to test it more. The IFC a few seconds ago turned it off. Affected files ... .. //depot/projects/hammer/sys/kern/sched_ule.c#37 edit Differences ... ==== //depot/projects/hammer/sys/kern/sched_ule.c#37 (text+ko) ==== @@ -1623,7 +1623,6 @@ if (td->td_priority < curthread->td_priority) curthread->td_flags |= TDF_NEEDRESCHED; -#if 0 #ifdef SMP /* * Only try to preempt if the thread is unpinned or pinned to the @@ -1633,7 +1632,6 @@ #endif if (maybe_preempt(td)) return; -#endif ke->ke_ksegrp->kg_runq_kses++; ke->ke_state = KES_ONRUNQ; From owner-p4-projects@FreeBSD.ORG Wed Jul 7 13:57:38 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 55AE316A4D0; Wed, 7 Jul 2004 13:57:38 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 312AC16A4CE for ; Wed, 7 Jul 2004 13:57:38 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 26C1743D46 for ; Wed, 7 Jul 2004 13:57:38 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i67DvcnN067586 for ; Wed, 7 Jul 2004 13:57:38 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i67DvbpB067583 for perforce@freebsd.org; Wed, 7 Jul 2004 13:57:37 GMT (envelope-from davidxu@freebsd.org) Date: Wed, 7 Jul 2004 13:57:37 GMT Message-Id: <200407071357.i67DvbpB067583@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 56682 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2004 13:57:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=56682 Change 56682 by davidxu@davidxu_alona on 2004/07/07 13:56:53 Discard ps_lsetstep, let debugger to deal with single step machine flag for lwp, libthread_db only deal inactive thread's single step flag. Redo single step in fbsd_thread_resume. Make proc service routines to be data modal independent. Affected files ... .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#8 edit .. //depot/projects/davidxu_ksedbg/src/include/proc_service.h#4 edit .. //depot/projects/davidxu_ksedbg/src/lib/libthread_db/pthread/pthread_db.c#5 edit Differences ... ==== //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#8 (text+ko) ==== @@ -362,32 +362,6 @@ child_ops.to_detach (args, from_tty); } -static int -single_step (ptid_t ptid, int step) -{ - if (IS_LWP(ptid)) - { - int req = step ? PT_SETSTEP : PT_CLEARSTEP; - return ptrace (req, GET_LWP (ptid), 0, 0) == 0; - } - - /* - * For M:N thread, we need to tell UTS to set/unset single step - * flag at context switch time, the flag will be written into - * thread mailbox. This becauses some architecture may not have - * machine single step flag in ucontext, so we put the flag in mailbox, - * when the thread switches back, kse_switchin restores the single step - * state. - */ - td_thrhandle_t th; - if (td_ta_map_id2thr_p (thread_agent, GET_THREAD(ptid), &th) == 0) - { - td_thr_sstep_p (&th, step); - return 1; - } - return 0; -} - static void fbsd_thread_resume (ptid_t ptid, int step, enum target_signal signo) { @@ -420,64 +394,68 @@ work_ptid = inferior_ptid; } - /* - * Whether it is going to resume one thread or not, - * we always set/unset single step state for the thread according to - * step parameter. - */ - if (!single_step(work_ptid, step)) - error ("single_step failed"); + /* only resume one thread */ + lwp = GET_LWP (work_ptid); + if (lwp == 0) + { + /* check user thread */ + ret = td_ta_map_id2thr_p (thread_agent, GET_THREAD(work_ptid), &th); + if (ret) + error (thread_db_err_str (ret)); + + /* + * For M:N thread, we need to tell UTS to set/unset single step + * flag at context switch time, the flag will be written into + * thread mailbox. This becauses some architecture may not have + * machine single step flag in ucontext, so we put the flag in mailbox, + * when the thread switches back, kse_switchin restores the single step + * state. + */ + ret = td_thr_sstep_p (&th, step); + if (ret) + error (thread_db_err_str (ret)); + ret = td_thr_get_info_p (&th, &ti); + if (ret) + error (thread_db_err_str (ret)); + lwp = ti.ti_lid; + /* + * if we are single stepping an inactive M:N thread, + * we insert all breakpoints, and resume all threads, + * the inactive thread may or may not be scheduled to + * run, but if it runs, it may hit a breakpoint and + * becomes the current event thread, after it hit a + * breakpoint, the thread will stay in kernel until + * debugger resumes it. In that case, gdb will single + * step it again, but because it was already an active + * thread, we can use ptrace to resume it just as 1:1 + * thread. XXX This may not be needed, because gdb + * seems not switch away from event thread when resuming. + */ + if (lwp == 0) + { + if (breakpoint_here_p (read_pc_pid (work_ptid)) != + no_breakpoint_here) + { + single_step_inactive_thread_pc = read_pc_pid (work_ptid); + single_step_inactive_thread = work_ptid; + insert_breakpoints (); + } + } + } - lwp = 0; - if (!resume_all) + if (lwp) { - /* only resume one thread */ - lwp = GET_LWP (work_ptid); - if (lwp == 0) - { - /* check a user thread */ - ret = td_ta_map_id2thr_p (thread_agent, - GET_THREAD(work_ptid), &th); - if (ret) - error(thread_db_err_str (ret)); - ret = td_thr_get_info_p (&th, &ti); - if (ret) - error(thread_db_err_str (ret)); - lwp = ti.ti_lid; - /* - * if we are single stepping an inactive M:N thread, - * we insert all breakpoints, and resume all threads, - * the inactive thread may or may not be scheduled to - * run, but if it runs, it may hit a breakpoint and - * becomes the current event thread, after it hit a - * breakpoint, the thread will stay in kernel until - * debugger resumes it. In that case, gdb will single - * step it again, but because it was already an active - * thread, we can use ptrace to resume it just as 1:1 - * thread. - */ - if (lwp == 0) - { - printf_filtered("resuming inactive thread\n"); - if (breakpoint_here_p (read_pc_pid (work_ptid)) != - no_breakpoint_here) - { - single_step_inactive_thread_pc = read_pc_pid (work_ptid); - single_step_inactive_thread = work_ptid; - /* XXX - * We need to give UTS to a hint to prefer scheduling - * the thread. - */ - insert_breakpoints (); - } - } - } + int req = step ? PT_SETSTEP : PT_CLEARSTEP; + if (ptrace (req, (pid_t) lwp, (caddr_t) 1, target_signal_to_host(signo))) + perror_with_name ("PT_SETSTEP/PT_CLEARSTEP"); } + else + resume_all = 1; - if (lwp == 0) + if (resume_all) lwp = proc_handle.pid; - if (ptrace (PT_CONTINUE, lwp, (caddr_t)1, target_signal_to_host(signo))) + if (ptrace (PT_CONTINUE, (pid_t) lwp, (caddr_t)1, target_signal_to_host(signo))) perror_with_name ("PT_CONTINUE"); } @@ -487,7 +465,6 @@ ptid_t ret; lwpid_t lwp; CORE_ADDR stop_pc; - unsigned char buf; ret = child_ops.to_wait (ptid, ourstatus); if (GET_PID(ret) >= 0 && ourstatus->kind == TARGET_WAITKIND_STOPPED) @@ -497,7 +474,6 @@ ret = thread_from_lwp (BUILD_LWP (lwp, GET_PID (ret))); if (!in_thread_list (ret)) add_thread (ret); - printf_filtered("signal=%d\n", ourstatus->value.sig); /* * if we previously single stepping inactive threads, * the inactive threads now becomes active, @@ -507,9 +483,6 @@ if (ourstatus->value.sig == TARGET_SIGNAL_TRAP) { stop_pc = read_pc_pid (ret) - DECR_PC_AFTER_BREAK; - target_read_memory(stop_pc, &buf, 1); - printf_filtered("stop_pc=%x data:%x, breakpoint?:%d\n", - stop_pc, buf, breakpoint_here_p(stop_pc)); if (ptid_equal(ret, single_step_inactive_thread) && stop_pc == single_step_inactive_thread_pc) { @@ -527,8 +500,8 @@ fbsd_thread_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write, struct mem_attrib *attrib, struct target_ops *target) { - return child_ops.to_xfer_memory (memaddr, myaddr, len, write, - attrib, target); + return base_ops.to_xfer_memory (memaddr, myaddr, len, write, + attrib, target); } static void @@ -538,14 +511,7 @@ fpregset_t fpregs; lwpid_t lwp; -#if 0 - /* FIXME, is it possible ? */ - if (!IS_LWP (inferior_ptid)) - { - child_ops.to_fetch_registers (regno); - return; - } -#endif + /* FIXME, use base_ops to fetch lwp registers! */ lwp = GET_LWP (inferior_ptid); if (ptrace (PT_GETREGS, lwp, (caddr_t) &gregs, 0) == -1) @@ -574,19 +540,19 @@ err = td_ta_map_id2thr_p (thread_agent, GET_THREAD (inferior_ptid), &th); if (err != TD_OK) - error ("Cannot find thread %d: TID=%ld, %s", + error ("Cannot find thread %d: Thread ID=%ld, %s", pid_to_thread_id (inferior_ptid), GET_THREAD (inferior_ptid), thread_db_err_str (err)); err = td_thr_getgregs_p (&th, gregset); if (err != TD_OK) - error ("Cannot fetch general-purpose registers for thread %d: TID=%ld, %s", + error ("Cannot fetch general-purpose registers for thread %d: Thread ID=%ld, %s", pid_to_thread_id (inferior_ptid), GET_THREAD (inferior_ptid), thread_db_err_str (err)); err = td_thr_getfpregs_p (&th, &fpregset); if (err != TD_OK) - error ("Cannot get floating-point registers for thread %d: TID=%ld, %s", + error ("Cannot get floating-point registers for thread %d: Thread ID=%ld, %s", pid_to_thread_id (inferior_ptid), GET_THREAD (inferior_ptid), thread_db_err_str (err)); @@ -644,7 +610,7 @@ err = td_ta_map_id2thr_p (thread_agent, GET_THREAD (inferior_ptid), &th); if (err != TD_OK) - error ("Cannot find thread %d: TID=%ld, %s", + error ("Cannot find thread %d: Thread ID=%ld, %s", pid_to_thread_id (inferior_ptid), GET_THREAD (inferior_ptid), thread_db_err_str (err)); @@ -668,12 +634,12 @@ err = td_thr_setgregs_p (&th, gregset); if (err != TD_OK) - error ("Cannot store general-purpose registers for thread %d: TID=%d, %s", + error ("Cannot store general-purpose registers for thread %d: Thread ID=%d, %s", pid_to_thread_id (inferior_ptid), GET_THREAD (inferior_ptid), thread_db_err_str (err)); err = td_thr_setfpregs_p (&th, &fpregset); if (err != TD_OK) - error ("Cannot store floating-point registers for thread %d: TID=%d, %s", + error ("Cannot store floating-point registers for thread %d: Thread ID=%d, %s", pid_to_thread_id (inferior_ptid), GET_THREAD (inferior_ptid), thread_db_err_str (err)); } @@ -816,22 +782,22 @@ err = td_ta_map_id2thr_p (thread_agent, GET_THREAD (ptid), &th); if (err != TD_OK) - error ("Cannot find thread, TID=%ld, %s", + error ("Cannot find thread, Thread ID=%ld, %s", GET_THREAD (ptid), thread_db_err_str (err)); err = td_thr_get_info_p (&th, &ti); if (err != TD_OK) - error ("Cannot get thread info, TID=%ld, %s", + error ("Cannot get thread info, Thread ID=%ld, %s", GET_THREAD (ptid), thread_db_err_str (err)); if (ti.ti_lid != 0) { - snprintf (buf, sizeof (buf), "TID %ld (LWP %d)", + snprintf (buf, sizeof (buf), "Thread %ld (LWP %d)", GET_THREAD (ptid), ti.ti_lid); } else { - snprintf (buf, sizeof (buf), "TID %ld (%s)", + snprintf (buf, sizeof (buf), "Thread %ld (%s)", GET_THREAD (ptid), thread_db_state_str (ti.ti_state)); } @@ -1046,25 +1012,39 @@ ps_err_e ps_lgetregs (struct ps_prochandle *ph, lwpid_t lwpid, prgregset_t gregset) { - /* should check data modal, .core or process ? */ - if (ptrace (PT_GETREGS, lwpid, (caddr_t) gregset, 0) == -1) - return PS_ERR; + struct cleanup *old_chain; + + old_chain = save_inferior_ptid (); + inferior_ptid = BUILD_LWP (lwpid, PIDGET (inferior_ptid)); + target_fetch_registers (-1); + fill_gregset (gregset, -1); + do_cleanups (old_chain); return PS_OK; } ps_err_e ps_lsetregs (struct ps_prochandle *ph, lwpid_t lwpid, const prgregset_t gregset) { - if (ptrace (PT_SETREGS, lwpid, (caddr_t) gregset, 0) == -1) - return PS_ERR; + struct cleanup *old_chain; + + old_chain = save_inferior_ptid (); + inferior_ptid = BUILD_LWP (lwpid, PIDGET (inferior_ptid)); + supply_gregset (gregset); + target_store_registers (-1); + do_cleanups (old_chain); return PS_OK; } ps_err_e ps_lgetfpregs (struct ps_prochandle *ph, lwpid_t lwpid, prfpregset_t *fpregset) { - if (ptrace (PT_GETFPREGS, lwpid, (caddr_t) fpregset, 0) == -1) - return PS_ERR; + struct cleanup *old_chain; + + old_chain = save_inferior_ptid (); + inferior_ptid = BUILD_LWP (lwpid, PIDGET (inferior_ptid)); + target_fetch_registers (-1); + fill_fpregset (fpregset, -1); + do_cleanups (old_chain); return PS_OK; } @@ -1072,8 +1052,13 @@ ps_lsetfpregs (struct ps_prochandle *ph, lwpid_t lwpid, const prfpregset_t *fpregset) { - if (ptrace (PT_SETFPREGS, lwpid, (caddr_t) fpregset, 0) == -1) - return PS_ERR; + struct cleanup *old_chain; + + old_chain = save_inferior_ptid (); + inferior_ptid = BUILD_LWP (lwpid, PIDGET (inferior_ptid)); + supply_fpregset (fpregset); + target_store_registers (-1); + do_cleanups (old_chain); return PS_OK; } @@ -1083,11 +1068,3 @@ return ph->pid; } -ps_err_e -ps_lsetstep (struct ps_prochandle *ph, lwpid_t lwp, int step) -{ - if (ptrace ((step ? PT_SETSTEP : PT_CLEARSTEP), lwp, 0, 0)) - return PS_ERR; - return PS_OK; -} - ==== //depot/projects/davidxu_ksedbg/src/include/proc_service.h#4 (text+ko) ==== @@ -98,7 +98,6 @@ psaddr_t go_addr, psaddr_t stop_addr); #endif void ps_plog(const char *fmt, ...); -ps_err_e ps_lsetstep(struct ps_prochandle *ph, lwpid_t lwpid, int step); pid_t ps_getpid (struct ps_prochandle *ph); #endif ==== //depot/projects/davidxu_ksedbg/src/lib/libthread_db/pthread/pthread_db.c#5 (text+ko) ==== @@ -848,8 +848,8 @@ return (ret); if (ta->map[th->th_unique].type == PT_LWP) { - ret = ps_lsetstep(ta->ph, ta->map[th->th_unique].lwp, step); - return (P2T(ret)); + /* Let debugger deal with single step flag in in kernel */ + return (0); } ret = ps_pdread(ta->ph, ta->map[th->th_unique].thr + @@ -869,10 +869,8 @@ tcb_tmbx.tm_lwp), &lwp, sizeof(lwpid_t)); if (ret != 0) return (P2T(ret)); - if (lwp != 0) { - ret = ps_lsetstep(ta->ph, lwp, step); - return (P2T(ret)); - } + if (lwp != 0) /* Let debugger deal with single step flag in in kernel */ + return (0); tmbx_addr = tcb_addr + offsetof(struct tcb, tcb_tmbx); /* From owner-p4-projects@FreeBSD.ORG Wed Jul 7 14:01:44 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B7EF916A4D0; Wed, 7 Jul 2004 14:01:43 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 925BD16A4CE for ; Wed, 7 Jul 2004 14:01:43 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 725D543D49 for ; Wed, 7 Jul 2004 14:01:43 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i67E1hvk067710 for ; Wed, 7 Jul 2004 14:01:43 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i67E1hKQ067707 for perforce@freebsd.org; Wed, 7 Jul 2004 14:01:43 GMT (envelope-from davidxu@freebsd.org) Date: Wed, 7 Jul 2004 14:01:43 GMT Message-Id: <200407071401.i67E1hKQ067707@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 56683 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2004 14:01:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=56683 Change 56683 by davidxu@davidxu_alona on 2004/07/07 14:00:53 Remove incorrect comment. Affected files ... .. //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#9 edit Differences ... ==== //depot/projects/davidxu_ksedbg/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#9 (text+ko) ==== @@ -394,7 +394,6 @@ work_ptid = inferior_ptid; } - /* only resume one thread */ lwp = GET_LWP (work_ptid); if (lwp == 0) { From owner-p4-projects@FreeBSD.ORG Wed Jul 7 14:08:53 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C6C216A4D0; Wed, 7 Jul 2004 14:08:53 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3847816A4CE for ; Wed, 7 Jul 2004 14:08:53 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2FE7843D3F for ; Wed, 7 Jul 2004 14:08:53 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i67E8r5b067898 for ; Wed, 7 Jul 2004 14:08:53 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i67E8qDX067895 for perforce@freebsd.org; Wed, 7 Jul 2004 14:08:52 GMT (envelope-from davidxu@freebsd.org) Date: Wed, 7 Jul 2004 14:08:52 GMT Message-Id: <200407071408.i67E8qDX067895@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 56685 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2004 14:08:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=56685 Change 56685 by davidxu@davidxu_alona on 2004/07/07 14:08:01 Disable signal stack check, this causes incorrect message "Program received signal SIGTRAP, Trace/breakpoint trap." to be reported when another thread hit a breakpoint, this leads to application crash. Affected files ... .. //depot/projects/davidxu_ksedbg/src/contrib/gdb/gdb/infrun.c#2 edit Differences ... ==== //depot/projects/davidxu_ksedbg/src/contrib/gdb/gdb/infrun.c#2 (text+ko) ==== @@ -1395,7 +1395,11 @@ || (software_breakpoint_inserted_here_p (stop_pc) && !(currently_stepping (ecs) && prev_pc != stop_pc +#if 0 && !(step_range_end && INNER_THAN (read_sp (), (step_sp - 16)))))) +#else + && !(step_range_end)))) +#endif write_pc_pid (stop_pc, ecs->ptid); } From owner-p4-projects@FreeBSD.ORG Thu Jul 8 01:49:14 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1688E16A4D0; Thu, 8 Jul 2004 01:49:13 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C6E2416A4CE for ; Thu, 8 Jul 2004 01:49:12 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BC0E243D39 for ; Thu, 8 Jul 2004 01:49:12 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i681nCLU090997 for ; Thu, 8 Jul 2004 01:49:12 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i681nCNL090994 for perforce@freebsd.org; Thu, 8 Jul 2004 01:49:12 GMT (envelope-from peter@freebsd.org) Date: Thu, 8 Jul 2004 01:49:12 GMT Message-Id: <200407080149.i681nCNL090994@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 56724 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2004 01:49:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=56724 Change 56724 by peter@peter_daintree on 2004/07/08 01:48:21 IFC @56723 Affected files ... .. //depot/projects/hammer/etc/services#9 integrate .. //depot/projects/hammer/gnu/usr.bin/Makefile#9 integrate .. //depot/projects/hammer/lib/Makefile#36 integrate .. //depot/projects/hammer/lib/libc/gen/ftw.3#2 integrate .. //depot/projects/hammer/lib/libc/net/eui64.3#2 integrate .. //depot/projects/hammer/lib/libc/stdlib/getenv.3#5 integrate .. //depot/projects/hammer/lib/libc/sys/pathconf.2#4 integrate .. //depot/projects/hammer/lib/libutil/humanize_number.3#2 integrate .. //depot/projects/hammer/libexec/tftpd/tftpd.8#3 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/alpha/proc-alpha.sgml#10 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/ia64/proc-ia64.sgml#6 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/common/install.sgml#8 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/common/layout.sgml#4 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/common/upgrade.sgml#4 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#72 integrate .. //depot/projects/hammer/sbin/devd/devd.8#9 integrate .. //depot/projects/hammer/sbin/geom/class/concat/gconcat.8#3 integrate .. //depot/projects/hammer/sbin/geom/class/label/glabel.8#3 integrate .. //depot/projects/hammer/sbin/geom/class/nop/gnop.8#3 integrate .. //depot/projects/hammer/sbin/geom/class/stripe/gstripe.8#3 integrate .. //depot/projects/hammer/sbin/geom/core/geom.8#2 integrate .. //depot/projects/hammer/sbin/md5/md5.1#5 integrate .. //depot/projects/hammer/sbin/pfctl/Makefile#3 integrate .. //depot/projects/hammer/share/examples/mdoc/example.3#4 integrate .. //depot/projects/hammer/share/man/man3/pthread_spin_lock.3#3 integrate .. //depot/projects/hammer/share/man/man3/queue.3#4 integrate .. //depot/projects/hammer/share/man/man4/Makefile#44 integrate .. //depot/projects/hammer/share/man/man4/acpi.4#26 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/cp.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/cx.4#12 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/fe.4#4 integrate .. //depot/projects/hammer/share/man/man4/pcm.4#9 integrate .. //depot/projects/hammer/share/man/man5/bluetooth.hosts.5#2 integrate .. //depot/projects/hammer/share/man/man5/bluetooth.protocols.5#2 integrate .. //depot/projects/hammer/share/man/man5/eui64.5#2 integrate .. //depot/projects/hammer/share/man/man5/make.conf.5#21 integrate .. //depot/projects/hammer/share/man/man5/nsswitch.conf.5#4 integrate .. //depot/projects/hammer/share/man/man8/rc.8#5 integrate .. //depot/projects/hammer/share/man/man9/BUS_ADD_CHILD.9#2 integrate .. //depot/projects/hammer/share/man/man9/BUS_CONFIG_INTR.9#4 integrate .. //depot/projects/hammer/share/man/man9/VOP_CREATE.9#6 integrate .. //depot/projects/hammer/share/man/man9/VOP_LISTEXTATTR.9#5 integrate .. //depot/projects/hammer/share/man/man9/VOP_LOOKUP.9#5 integrate .. //depot/projects/hammer/share/man/man9/VOP_RDWR.9#5 integrate .. //depot/projects/hammer/share/man/man9/VOP_RENAME.9#6 integrate .. //depot/projects/hammer/share/man/man9/alq.9#2 integrate .. //depot/projects/hammer/share/man/man9/hexdump.9#4 integrate .. //depot/projects/hammer/share/man/man9/ieee80211.9#3 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_crypto.9#2 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_input.9#2 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_ioctl.9#2 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_node.9#3 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_output.9#2 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_proto.9#2 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_radiotap.9#3 integrate .. //depot/projects/hammer/share/man/man9/mbpool.9#5 integrate .. //depot/projects/hammer/share/man/man9/mbuf.9#16 integrate .. //depot/projects/hammer/share/man/man9/pci.9#4 integrate .. //depot/projects/hammer/share/man/man9/runqueue.9#2 integrate .. //depot/projects/hammer/share/man/man9/sema.9#3 integrate .. //depot/projects/hammer/share/man/man9/swi.9#5 integrate .. //depot/projects/hammer/share/man/man9/utopia.9#6 integrate .. //depot/projects/hammer/sys/alpha/alpha/pmap.c#28 integrate .. //depot/projects/hammer/sys/amd64/amd64/busdma_machdep.c#13 integrate .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#29 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#93 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#30 integrate .. //depot/projects/hammer/sys/amd64/amd64/nexus.c#27 integrate .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#88 integrate .. //depot/projects/hammer/sys/amd64/include/apicvar.h#25 integrate .. //depot/projects/hammer/sys/amd64/include/float.h#10 integrate .. //depot/projects/hammer/sys/boot/common/loader.8#12 integrate .. //depot/projects/hammer/sys/compat/ndis/ndis_var.h#11 integrate .. //depot/projects/hammer/sys/compat/ndis/subr_ndis.c#15 integrate .. //depot/projects/hammer/sys/conf/files.alpha#15 integrate .. //depot/projects/hammer/sys/conf/files.amd64#49 integrate .. //depot/projects/hammer/sys/conf/files.i386#35 integrate .. //depot/projects/hammer/sys/dev/fdc/fdc.c#6 integrate .. //depot/projects/hammer/sys/dev/fdc/fdc_isa.c#1 branch .. //depot/projects/hammer/sys/dev/fdc/fdc_pccard.c#1 branch .. //depot/projects/hammer/sys/dev/fdc/fdcvar.h#1 branch .. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#18 integrate .. //depot/projects/hammer/sys/dev/if_ndis/if_ndisvar.h#9 integrate .. //depot/projects/hammer/sys/i386/i386/elan-mmcr.c#18 integrate .. //depot/projects/hammer/sys/i386/i386/pmap.c#43 integrate .. //depot/projects/hammer/sys/kern/vfs_default.c#21 integrate .. //depot/projects/hammer/sys/kern/vfs_init.c#7 integrate .. //depot/projects/hammer/sys/modules/fdc/Makefile#5 integrate .. //depot/projects/hammer/sys/modules/netgraph/Makefile#10 integrate .. //depot/projects/hammer/sys/sys/mount.h#20 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_vfsops.c#23 integrate .. //depot/projects/hammer/tools/install.sh#3 integrate .. //depot/projects/hammer/usr.bin/Makefile#33 integrate .. //depot/projects/hammer/usr.bin/cut/cut.1#5 integrate .. //depot/projects/hammer/usr.bin/find/find.1#12 integrate .. //depot/projects/hammer/usr.bin/getopt/getopt.1#4 integrate .. //depot/projects/hammer/usr.bin/ktrdump/ktrdump.8#3 integrate .. //depot/projects/hammer/usr.bin/lex/lex.1#3 integrate .. //depot/projects/hammer/usr.bin/paste/paste.1#5 integrate .. //depot/projects/hammer/usr.sbin/Makefile#50 integrate .. //depot/projects/hammer/usr.sbin/boot0cfg/boot0cfg.8#6 integrate .. //depot/projects/hammer/usr.sbin/daemon/daemon.8#4 integrate .. //depot/projects/hammer/usr.sbin/fdread/fdutil.c#4 integrate .. //depot/projects/hammer/usr.sbin/traceroute6/traceroute6.8#5 integrate .. //depot/projects/hammer/usr.sbin/watchdogd/watchdog.8#4 integrate Differences ... ==== //depot/projects/hammer/etc/services#9 (text+ko) ==== @@ -16,7 +16,7 @@ # Kerberos services are for Kerberos v4, and are unofficial. Sites running # v5 should uncomment v5 entries and comment v4 entries. # -# $FreeBSD: src/etc/services,v 1.99 2004/05/27 23:42:26 mlaier Exp $ +# $FreeBSD: src/etc/services,v 1.100 2004/07/07 06:15:32 cperciva Exp $ # From: @(#)services 5.8 (Berkeley) 5/9/91 # # WELL KNOWN PORT NUMBERS @@ -1073,10 +1073,10 @@ acp 599/udp #Aeolon Core Protocol ipcserver 600/tcp #Sun IPC server ipcserver 600/udp #Sun IPC server +urm 606/tcp #Cray Unified Resource Manager +urm 606/udp #Cray Unified Resource Manager nqs 607/tcp nqs 607/udp -urm 606/tcp #Cray Unified Resource Manager -urm 606/udp #Cray Unified Resource Manager sift-uft 608/tcp #Sender-Initiated/Unsolicited File Transfer sift-uft 608/udp #Sender-Initiated/Unsolicited File Transfer npmp-trap 609/tcp @@ -1908,11 +1908,11 @@ ospfd 2604/tcp #OSPFd vty bgpd 2605/tcp #BGPd vty ospf6d 2606/tcp #OSPF6d vty +dict 2628/tcp #RFC 2229 +dict 2628/udp #RFC 2229 listen 2766/tcp #System V listener port www-dev 2784/tcp #world wide web - development www-dev 2784/udp #world wide web - development -dict 2628/tcp #RFC 2229 -dict 2628/udp #RFC 2229 eppc 3031/tcp #Remote AppleEvents/PPC Toolbox eppc 3031/udp #Remote AppleEvents/PPC Toolbox NSWS 3049/tcp @@ -1925,27 +1925,27 @@ dec-notes 3333/tcp #DEC Notes dec-notes 3333/udp #DEC Notes rdp 3389/tcp #Microsoft Remote Desktop Protocol -rsvp-encap 3455/udp #RSVP encapsulated in UDP -nut 3493/tcp #Network UPS Tools -nut 3493/udp #Network UPS Tools -mapper-nodemgr 3984/tcp #MAPPER network node manager -mapper-nodemgr 3984/udp #MAPPER network node manager -mapper-mapethd 3985/tcp #MAPPER TCP/IP server -mapper-mapethd 3985/udp #MAPPER TCP/IP server -mapper-ws_ethd 3986/tcp #MAPPER workstation server -mapper-ws_ethd 3986/udp #MAPPER workstation server bmap 3421/tcp #Bull Apprise portmapper bmap 3421/udp #Bull Apprise portmapper prsvp 3455/tcp #RSVP Port prsvp 3455/udp #RSVP Port +rsvp-encap 3455/udp #RSVP encapsulated in UDP vat 3456/tcp #VAT default data vat 3456/udp #VAT default data vat-control 3457/tcp #VAT default control vat-control 3457/udp #VAT default control +nut 3493/tcp #Network UPS Tools +nut 3493/udp #Network UPS Tools svn 3690/tcp #Subversion svn 3690/udp #Subversion udt_os 3900/tcp #Unidata UDT OS udt_os 3900/udp #Unidata UDT OS +mapper-nodemgr 3984/tcp #MAPPER network node manager +mapper-nodemgr 3984/udp #MAPPER network node manager +mapper-mapethd 3985/tcp #MAPPER TCP/IP server +mapper-mapethd 3985/udp #MAPPER TCP/IP server +mapper-ws_ethd 3986/tcp #MAPPER workstation server +mapper-ws_ethd 3986/udp #MAPPER workstation server netcheque 4008/tcp #NetCheque accounting netcheque 4008/udp #NetCheque accounting lockd 4045/udp # NFS lock daemon/manager @@ -2080,10 +2080,10 @@ afs3-rmtsys 7009/udp #remote cache manager service afs3-resserver 7010/tcp #MR-AFS residence server afs3-resserver 7010/udp #MR-AFS residence server +ups-onlinet 7010/tcp #onlinet uninterruptable power supplies +ups-onlinet 7010/udp #onlinet uninterruptable power supplies afs3-remio 7011/tcp #MR-AFS remote IO server afs3-remio 7011/udp #MR-AFS remote IO server -ups-onlinet 7010/tcp #onlinet uninterruptable power supplies -ups-onlinet 7010/udp #onlinet uninterruptable power supplies font-service 7100/tcp #X Font Service font-service 7100/udp #X Font Service fodms 7200/tcp #FODMS FLIP @@ -2104,14 +2104,14 @@ isode-dua 17007/udp biimenu 18000/tcp #Beckman Instruments, Inc. biimenu 18000/udp #Beckman Instruments, Inc. -dbbrowse 47557/tcp #Databeam Corporation -dbbrowse 47557/udp #Databeam Corporation wnn4 22273/tcp #Wnn4 (Japanese input) +wnn6 22273/tcp #Wnn6 (Japanese input) wnn4_Cn 22289/tcp #Wnn4 (Chinese input) +wnn6_Cn 22289/tcp #Wnn6 (Chinese input) +wnn4_Kr 22305/tcp #Wnn4 (Korean input) +wnn6_Kr 22305/tcp #Wnn6 (Korean input) wnn4_Tw 22321/tcp #Wnn4 (Taiwanse input) -wnn4_Kr 22305/tcp #Wnn4 (Korean input) -wnn6 22273/tcp #Wnn6 (Japanese input) -wnn6_Cn 22289/tcp #Wnn6 (Chinese input) wnn6_Tw 22321/tcp #Wnn6 (Taiwanse input) -wnn6_Kr 22305/tcp #Wnn6 (Korean input) wnn6_DS 26208/tcp #Wnn6 (Dserver) +dbbrowse 47557/tcp #Databeam Corporation +dbbrowse 47557/udp #Databeam Corporation ==== //depot/projects/hammer/gnu/usr.bin/Makefile#9 (text+ko) ==== @@ -1,29 +1,49 @@ -# $FreeBSD: src/gnu/usr.bin/Makefile,v 1.81 2004/06/25 07:15:13 marcel Exp $ +# $FreeBSD: src/gnu/usr.bin/Makefile,v 1.82 2004/07/07 17:24:30 ru Exp $ -SUBDIR= bc ${_binutils} ${_cc} cpio dc dialog diff diff3 ${_gdb} \ - ${_gperf} grep gzip man patch rcs sdiff send-pr sort tar texinfo - +SUBDIR= bc \ + ${_binutils} \ + ${_cc} \ + cpio \ + ${_cvs} \ + dc \ + dialog \ + diff \ + diff3 \ + ${_gdb} \ + ${_gperf} \ + grep \ + ${_groff} \ + gzip \ + man \ + patch \ + rcs \ + sdiff \ + send-pr \ + sort \ + tar \ + texinfo + .if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "powerpc" NO_GDB= not yet .endif -.if !defined(NO_TOOLCHAIN) -_cc=cc -_binutils=binutils -.if !defined(NO_GDB) -_gdb=gdb -.endif -.endif - .if !defined(NO_CXX) .if ${MACHINE_ARCH} != "powerpc" -_gperf=gperf +_gperf= gperf .endif -SUBDIR+=groff +_groff= groff .endif .if !defined(NO_CVS) -SUBDIR+=cvs +_cvs= cvs +.endif + +.if !defined(NO_TOOLCHAIN) +_binutils= binutils +_cc= cc +.if !defined(NO_GDB) +_gdb= gdb +.endif .endif .include ==== //depot/projects/hammer/lib/Makefile#36 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.185 2004/05/14 19:52:35 bde Exp $ +# $FreeBSD: src/lib/Makefile,v 1.186 2004/07/07 22:48:30 emax Exp $ # To satisfy shared library or ELF linkage when only the libraries being # built are visible: @@ -51,11 +51,12 @@ _libbind= libbind .endif -.if ${MACHINE_ARCH} == "i386" .if !defined(NO_BLUETOOTH) _libbluetooth= libbluetooth _libsdp= libsdp .endif + +.if ${MACHINE_ARCH} == "i386" _compat= compat _libncp= libncp _libsmb= libsmb ==== //depot/projects/hammer/lib/libc/gen/ftw.3#2 (text+ko) ==== @@ -18,31 +18,30 @@ .\" Agency (DARPA) and Air Force Research Laboratory, Air Force .\" Materiel Command, USAF, under agreement number F39502-99-1-0512. .\" -.\" $FreeBSD: src/lib/libc/gen/ftw.3,v 1.1 2004/07/05 23:12:11 das Exp $ +.\" $FreeBSD: src/lib/libc/gen/ftw.3,v 1.2 2004/07/07 20:11:35 ru Exp $ .\" .Dd July 5, 2004 .Dt FTW 3 .Os .Sh NAME -.Nm ftw, nftw +.Nm ftw , nftw .Nd traverse (walk) a file tree .Sh SYNOPSIS -.Fd #include +.In ftw.h .Ft int .Fo ftw .Fa "const char *path" -.Fa "int (*fn)(const char *, const struct stat *, int)" +.Fa "int \*[lp]*fn\*[rp]\*[lp]const char *, const struct stat *, int\*[rp]" .Fa "int maxfds" .Fc .Ft int .Fo nftw .Fa "const char *path" -.Fa "int (*fn)(const\ char\ *, const\ struct\ stat\ *, int, struct\ FTW\ *)" +.Fa "int \*[lp]*fn\*[rp]\*[lp](const char *, const struct stat *, int, struct FTW *\*[rp]" .Fa "int maxfds" .Fa "int flags" .Fc .Sh DESCRIPTION -.Pp The .Fn ftw and @@ -54,15 +53,19 @@ .Fa fn . The .Fn ftw -function passes this function a pointer to a NUL-terminated string containing -the name of the object, a pointer to a stat structure corresponding to the +function passes this function a pointer to a +.Dv NUL Ns +-terminated string containing +the name of the object, a pointer to a +.Vt stat +structure corresponding to the object, and an integer flag. The .Fn nftw function passes the aforementioned arguments plus a pointer to a -.Dv FTW +.Vt FTW structure as defined by -.Aq Pa ftw.h +.In ftw.h (shown below): .Bd -literal struct FTW { @@ -74,7 +77,7 @@ Possible values for the flag passed to .Fa fn are: -.Bl -tag -width FTW_DNR +.Bl -tag -width ".Dv FTW_DNR" .It Dv FTW_F A regular file. .It Dv FTW_D @@ -84,18 +87,20 @@ The directory will not be descended into. .It Dv FTW_DP A directory being visited in post-order -.No ( Ns Fn nftw +.Fn ( nftw only). .It Dv FTW_NS A file for which no .Xr stat 2 information was available. -The contents of the stat structure are undefined. +The contents of the +.Vt stat +structure are undefined. .It Dv FTW_SL A symbolic link. .It Dv FTW_SLN A symbolic link with a non-existent target -.No ( Ns Fn nftw +.Fn ( nftw only). .El .Pp @@ -115,9 +120,9 @@ function has an additional .Fa flags argument with the following possible values: -.Bl -tag -width FTW_MOUNT +.Bl -tag -width ".Dv FTW_MOUNT" .It Dv FTW_PHYS -Physical walk, don't follow symbolic links. +Physical walk, do not follow symbolic links. .It Dv FTW_MOUNT The walk will not cross a mount point. .It FTW_DEPTH @@ -199,7 +204,8 @@ functions conform to .St -p1003.1-2001 . .Sh HISTORY -These functions first appeared in System V Release 3. +These functions first appeared in +.At V.3 . Their first .Fx appearance was in ==== //depot/projects/hammer/lib/libc/net/eui64.3#2 (text+ko) ==== @@ -54,9 +54,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/net/eui64.3,v 1.2 2004/06/01 19:30:13 brooks Exp $ +.\" $FreeBSD: src/lib/libc/net/eui64.3,v 1.3 2004/07/07 20:15:31 ru Exp $ .\" -.Dd March 4 2004 +.Dd March 4, 2004 .Dt EUI64 3 .Os .Sh NAME @@ -198,7 +198,9 @@ .Sh NIS INTERACTION If the .Pa /etc/eui64 -contains a line with a single + in it, the +contains a line with a single +.Ql + +in it, the .Fn eui64_ntohost and .Fn eui64_hostton ==== //depot/projects/hammer/lib/libc/stdlib/getenv.3#5 (text+ko) ==== @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)getenv.3 8.2 (Berkeley) 12/11/93 -.\" $FreeBSD: src/lib/libc/stdlib/getenv.3,v 1.15 2004/07/06 23:21:36 hmp Exp $ +.\" $FreeBSD: src/lib/libc/stdlib/getenv.3,v 1.16 2004/07/07 19:57:13 ru Exp $ .\" .Dd December 11, 1993 .Dt GETENV 3 @@ -113,8 +113,9 @@ .Sh RETURN VALUES The .Fn getenv -function returns the value of the environment variable as a nul terminated -string. +function returns the value of the environment variable as a +.Dv NUL Ns +-terminated string. If the variable .Fa name is not in the current environment, ==== //depot/projects/hammer/lib/libc/sys/pathconf.2#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)pathconf.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/pathconf.2,v 1.15 2003/01/07 05:06:27 keramida Exp $ +.\" $FreeBSD: src/lib/libc/sys/pathconf.2,v 1.16 2004/07/07 20:47:42 alfred Exp $ .\" .Dd November 4, 2002 .Dt PATHCONF 2 @@ -94,7 +94,7 @@ .Xr chown 2 system call, otherwise 0. .It Li _PC_NO_TRUNC -Return 1 if file names longer than KERN_NAME_MAX are truncated. +Return 1 if file names longer than _POSIX_NAME_MAX are truncated. .It Li _PC_VDISABLE Returns the terminal character disabling value. .It Li _PC_ASYNC_IO ==== //depot/projects/hammer/lib/libutil/humanize_number.3#2 (text+ko) ==== @@ -1,5 +1,5 @@ .\" $NetBSD: humanize_number.3,v 1.4 2003/04/16 13:34:37 wiz Exp $ -.\" $FreeBSD: src/lib/libutil/humanize_number.3,v 1.3 2004/05/25 20:11:50 pjd Exp $ +.\" $FreeBSD: src/lib/libutil/humanize_number.3,v 1.4 2004/07/07 20:25:54 ru Exp $ .\" .\" Copyright (c) 1999, 2002 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -46,17 +46,21 @@ .Sh SYNOPSIS .In libutil.h .Ft int -.Fn humanize_number "char *buf" "size_t len" "int64_t number" "const char *suffix" "int scale" "int flags" +.Fo humanize_number +.Fa "char *buf" "size_t len" "int64_t number" "const char *suffix" +.Fa "int scale" "int flags" +.Fc .Sh DESCRIPTION The .Fn humanize_number -function formats the signed 64 bit quantity given in +function formats the signed 64-bit quantity given in .Fa number into .Fa buffer . A space and then .Fa suffix is appended to the end. +The buffer pointed to by .Fa buffer must be at least .Fa len @@ -76,12 +80,12 @@ The prefixes are: .Bl -column "Prefix" "Description" "Multiplier" -offset indent .It Sy "Prefix" Ta Sy "Description" Ta Sy "Multiplier" -.It k kilo 1024 -.It M mega 1048576 -.It G giga 1073741824 -.It T tera 1099511627776 -.It P peta 1125899906842624 -.It E exa 1152921504606846976 +.It Li k Ta No kilo Ta 1024 +.It Li M Ta No mega Ta 1048576 +.It Li G Ta No giga Ta 1073741824 +.It Li T Ta No tera Ta 1099511627776 +.It Li P Ta No peta Ta 1125899906842624 +.It Li E Ta No exa Ta 1152921504606846976 .El .Pp The @@ -92,14 +96,14 @@ .Fa buffer . To use a specific prefix, specify this as .Fa scale -(Multiplier = 1024 ^ scale). -This can not be combined with any of the +(multiplier = 1024 ^ scale). +This cannot be combined with any of the .Fa scale flags below. .Pp The following flags may be passed in -.Pa scale : -.Bl -tag -width Dv -offset indent +.Fa scale : +.Bl -tag -width ".Dv HN_DIVISOR_1000" -offset indent .It Dv HN_AUTOSCALE Format the buffer using the lowest multiplier possible. .It Dv HN_GETSCALE @@ -109,8 +113,8 @@ .El .Pp The following flags may be passed in -.Pa flags : -.Bl -tag -width Dv -offset indent +.Fa flags : +.Bl -tag -width ".Dv HN_DIVISOR_1000" -offset indent .It Dv HN_DECIMAL If the final result is less than 10, display it using one digit. .It Dv HN_NOSPACE @@ -118,7 +122,9 @@ .Fa number and the prefix. .It Dv HN_B -Use 'B' (bytes) as prefix if the original result does not have a prefix. +Use +.Ql B +(bytes) as prefix if the original result does not have a prefix. .It Dv HN_DIVISOR_1000 Divide .Fa number @@ -129,7 +135,9 @@ .Fn humanize_number function returns the number of characters stored in .Fa buffer -(excluding the terminating NUL) upon success, or \-1 upon failure. +(excluding the terminating +.Dv NUL ) +upon success, or \-1 upon failure. If .Dv HN_GETSCALE is specified, the prefix index number will be returned instead. ==== //depot/projects/hammer/libexec/tftpd/tftpd.8#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)tftpd.8 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/libexec/tftpd/tftpd.8,v 1.17 2004/05/24 22:56:15 mdodd Exp $ +.\" $FreeBSD: src/libexec/tftpd/tftpd.8,v 1.18 2004/07/07 19:57:14 ru Exp $ .\" .Dd September 14, 2000 .Dt TFTPD 8 @@ -167,9 +167,12 @@ .It Fl U Ar umask Set the .Ar umask -for newly created files. The default is 022 (S_IWGRP|S_IWOTH). +for newly created files. +The default is 022 +.Pq Dv S_IWGRP | S_IWOTH . .It Fl w -Allow writes requests to create new files. By default +Allow writes requests to create new files. +By default .Nm requires that the file specified in a write request exist. .El ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/alpha/proc-alpha.sgml#10 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -2794,7 +2794,7 @@ ALI M1543C Ultra DMA66 IDE interface - expansion: 2 64 bit PCI buses + expansion: 2 64 bit PCI buses ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/ia64/proc-ia64.sgml#6 (text+ko) ==== @@ -1,5 +1,5 @@ Supported Processors and Motherboards @@ -15,7 +15,7 @@ Perforce repository) - HP i2000 + HP i2000 Intel 460GX ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/common/install.sgml#8 (text+ko) ==== @@ -1,6 +1,6 @@ &os; for the &arch.print; requires an - Athlon64, Athlon64-FX, Opteron or better processor to run. + Athlon64, Athlon64-FX, Opteron or better processor to run. If you have an machine based on an nVidia nForce3 Pro-150, you MUST use the BIOS setup to @@ -816,6 +817,7 @@ is the port number of the proxy FTP server. + ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/common/layout.sgml#4 (text+ko) ==== @@ -1,5 +1,5 @@ @@ -48,7 +48,7 @@ docbook.css is a Cascading Style Sheet (CSS) file used by some Web browsers for formatting the - HTML documentation. + HTML documentation. The base, ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/common/upgrade.sgml#4 (text+ko) ==== @@ -1,5 +1,5 @@