PERFORCE change 137123 for review
Marcel Moolenaar
marcel at FreeBSD.org
Fri Mar 7 22:37:50 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=137123
Change 137123 by marcel at marcel_cluster on 2008/03/07 22:37:30
IFC @137121
Affected files ...
.. //depot/projects/powerpc/contrib/bsnmp/snmpd/main.c#2 integrate
.. //depot/projects/powerpc/etc/Makefile#5 integrate
.. //depot/projects/powerpc/etc/ddb.conf#1 branch
.. //depot/projects/powerpc/etc/defaults/rc.conf#11 integrate
.. //depot/projects/powerpc/etc/rc.d/Makefile#6 integrate
.. //depot/projects/powerpc/etc/rc.d/ddb#1 branch
.. //depot/projects/powerpc/etc/rc.d/mountcritlocal#4 integrate
.. //depot/projects/powerpc/etc/rc.d/mountlate#3 integrate
.. //depot/projects/powerpc/games/fortune/datfiles/fortunes#12 integrate
.. //depot/projects/powerpc/include/pthread_np.h#5 integrate
.. //depot/projects/powerpc/lib/libc/posix1e/mac.c#2 integrate
.. //depot/projects/powerpc/lib/libc/posix1e/mac_exec.c#2 integrate
.. //depot/projects/powerpc/lib/libc/posix1e/mac_get.c#2 integrate
.. //depot/projects/powerpc/lib/libc/posix1e/mac_set.c#2 integrate
.. //depot/projects/powerpc/lib/libc/stdlib/malloc.c#12 integrate
.. //depot/projects/powerpc/lib/libelf/elf_update.c#4 integrate
.. //depot/projects/powerpc/lib/libthr/pthread.map#7 integrate
.. //depot/projects/powerpc/lib/libthr/thread/Makefile.inc#2 integrate
.. //depot/projects/powerpc/lib/libthr/thread/thr_affinity.c#1 branch
.. //depot/projects/powerpc/lib/libthr/thread/thr_attr.c#3 integrate
.. //depot/projects/powerpc/lib/libthr/thread/thr_create.c#3 integrate
.. //depot/projects/powerpc/lib/libthr/thread/thr_exit.c#4 integrate
.. //depot/projects/powerpc/lib/libthr/thread/thr_init.c#5 integrate
.. //depot/projects/powerpc/lib/libthr/thread/thr_private.h#7 integrate
.. //depot/projects/powerpc/lib/libthr/thread/thr_sig.c#3 integrate
.. //depot/projects/powerpc/rescue/rescue/Makefile#6 integrate
.. //depot/projects/powerpc/sbin/ddb/ddb.8#2 integrate
.. //depot/projects/powerpc/sbin/ddb/ddb.c#2 integrate
.. //depot/projects/powerpc/sbin/fsck_ffs/main.c#4 integrate
.. //depot/projects/powerpc/sbin/geom/Makefile#3 integrate
.. //depot/projects/powerpc/sbin/geom/class/label/geom_label.c#3 integrate
.. //depot/projects/powerpc/sbin/geom/core/geom.8#4 integrate
.. //depot/projects/powerpc/sbin/geom/core/geom.c#6 integrate
.. //depot/projects/powerpc/sbin/newfs/mkfs.c#3 integrate
.. //depot/projects/powerpc/secure/usr.bin/ssh/Makefile#2 integrate
.. //depot/projects/powerpc/secure/usr.sbin/sshd/Makefile#2 integrate
.. //depot/projects/powerpc/share/man/man4/Makefile#19 integrate
.. //depot/projects/powerpc/share/man/man4/cmx.4#1 branch
.. //depot/projects/powerpc/share/man/man4/ddb.4#4 integrate
.. //depot/projects/powerpc/share/man/man4/fwohci.4#3 integrate
.. //depot/projects/powerpc/share/man/man4/uslcom.4#1 branch
.. //depot/projects/powerpc/share/man/man5/rc.conf.5#11 integrate
.. //depot/projects/powerpc/share/man/man9/bus_space.9#2 integrate
.. //depot/projects/powerpc/share/misc/committers-ports.dot#9 integrate
.. //depot/projects/powerpc/share/mk/bsd.cpu.mk#6 integrate
.. //depot/projects/powerpc/share/mk/sys.mk#6 integrate
.. //depot/projects/powerpc/sys/amd64/amd64/pmap.c#12 integrate
.. //depot/projects/powerpc/sys/amd64/conf/GENERIC#14 integrate
.. //depot/projects/powerpc/sys/amd64/include/pmap.h#3 integrate
.. //depot/projects/powerpc/sys/arm/arm/pmap.c#12 integrate
.. //depot/projects/powerpc/sys/arm/arm/uio_machdep.c#2 integrate
.. //depot/projects/powerpc/sys/arm/conf/AVILA#6 integrate
.. //depot/projects/powerpc/sys/arm/include/pmap.h#7 integrate
.. //depot/projects/powerpc/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate
.. //depot/projects/powerpc/sys/boot/i386/pxeldr/pxeldr.S#2 integrate
.. //depot/projects/powerpc/sys/conf/NOTES#21 integrate
.. //depot/projects/powerpc/sys/conf/files#24 integrate
.. //depot/projects/powerpc/sys/conf/files.powerpc#17 integrate
.. //depot/projects/powerpc/sys/conf/kmod.mk#11 integrate
.. //depot/projects/powerpc/sys/conf/options.powerpc#6 integrate
.. //depot/projects/powerpc/sys/ddb/db_command.c#6 integrate
.. //depot/projects/powerpc/sys/ddb/db_examine.c#5 integrate
.. //depot/projects/powerpc/sys/ddb/db_input.c#5 integrate
.. //depot/projects/powerpc/sys/dev/agp/agp_nvidia.c#2 integrate
.. //depot/projects/powerpc/sys/dev/ata/ata-chipset.c#10 integrate
.. //depot/projects/powerpc/sys/dev/ata/ata-pci.h#8 integrate
.. //depot/projects/powerpc/sys/dev/bge/if_bge.c#17 integrate
.. //depot/projects/powerpc/sys/dev/bge/if_bgereg.h#12 integrate
.. //depot/projects/powerpc/sys/dev/cmx/cmx.c#1 branch
.. //depot/projects/powerpc/sys/dev/cmx/cmx_pccard.c#1 branch
.. //depot/projects/powerpc/sys/dev/cmx/cmxreg.h#1 branch
.. //depot/projects/powerpc/sys/dev/cmx/cmxvar.h#1 branch
.. //depot/projects/powerpc/sys/dev/ic/quicc.h#1 branch
.. //depot/projects/powerpc/sys/dev/lge/if_lge.c#8 integrate
.. //depot/projects/powerpc/sys/dev/mii/brgphy.c#14 integrate
.. //depot/projects/powerpc/sys/dev/mii/ciphy.c#3 integrate
.. //depot/projects/powerpc/sys/dev/mii/miidevs#12 integrate
.. //depot/projects/powerpc/sys/dev/mii/rgephy.c#4 integrate
.. //depot/projects/powerpc/sys/dev/msk/if_msk.c#13 integrate
.. //depot/projects/powerpc/sys/dev/nfe/if_nfe.c#9 integrate
.. //depot/projects/powerpc/sys/dev/nfe/if_nfereg.h#3 integrate
.. //depot/projects/powerpc/sys/dev/nfe/if_nfevar.h#4 integrate
.. //depot/projects/powerpc/sys/dev/pccard/pccarddevs#8 integrate
.. //depot/projects/powerpc/sys/dev/quicc/quicc_bfe.h#1 branch
.. //depot/projects/powerpc/sys/dev/quicc/quicc_bfe_ocp.c#1 branch
.. //depot/projects/powerpc/sys/dev/quicc/quicc_bus.h#1 branch
.. //depot/projects/powerpc/sys/dev/quicc/quicc_core.c#1 branch
.. //depot/projects/powerpc/sys/dev/re/if_re.c#12 integrate
.. //depot/projects/powerpc/sys/dev/scc/scc_bfe.h#3 integrate
.. //depot/projects/powerpc/sys/dev/scc/scc_bfe_quicc.c#1 branch
.. //depot/projects/powerpc/sys/dev/scc/scc_bus.h#2 integrate
.. //depot/projects/powerpc/sys/dev/scc/scc_dev_quicc.c#1 branch
.. //depot/projects/powerpc/sys/dev/tsec/if_tsec.c#1 branch
.. //depot/projects/powerpc/sys/dev/tsec/if_tsec.h#1 branch
.. //depot/projects/powerpc/sys/dev/tsec/if_tsecreg.h#1 branch
.. //depot/projects/powerpc/sys/dev/uart/uart.h#3 integrate
.. //depot/projects/powerpc/sys/dev/uart/uart_bus_ocp.c#1 branch
.. //depot/projects/powerpc/sys/dev/uart/uart_bus_scc.c#2 integrate
.. //depot/projects/powerpc/sys/dev/uart/uart_cpu_powerpc.c#4 integrate
.. //depot/projects/powerpc/sys/dev/uart/uart_dev_quicc.c#1 branch
.. //depot/projects/powerpc/sys/dev/usb/if_axe.c#7 integrate
.. //depot/projects/powerpc/sys/dev/usb/usbdevs#18 integrate
.. //depot/projects/powerpc/sys/dev/usb/uslcom.c#1 branch
.. //depot/projects/powerpc/sys/i386/conf/GENERIC#16 integrate
.. //depot/projects/powerpc/sys/i386/include/_types.h#2 integrate
.. //depot/projects/powerpc/sys/i386/include/float.h#4 integrate
.. //depot/projects/powerpc/sys/kern/kern_cpuset.c#2 integrate
.. //depot/projects/powerpc/sys/kern/kern_priv.c#3 integrate
.. //depot/projects/powerpc/sys/kern/kern_shutdown.c#10 integrate
.. //depot/projects/powerpc/sys/kern/subr_witness.c#17 integrate
.. //depot/projects/powerpc/sys/modules/Makefile#18 integrate
.. //depot/projects/powerpc/sys/modules/cmx/Makefile#1 branch
.. //depot/projects/powerpc/sys/modules/cxgb/cxgb_t3fw/Makefile#2 integrate
.. //depot/projects/powerpc/sys/modules/uslcom/Makefile#1 branch
.. //depot/projects/powerpc/sys/net/if.c#12 integrate
.. //depot/projects/powerpc/sys/net/if_ethersubr.c#14 integrate
.. //depot/projects/powerpc/sys/net/if_gif.c#6 integrate
.. //depot/projects/powerpc/sys/netgraph/ng_base.c#14 integrate
.. //depot/projects/powerpc/sys/netgraph/ng_ksocket.c#6 integrate
.. //depot/projects/powerpc/sys/netgraph/ng_nat.h#4 integrate
.. //depot/projects/powerpc/sys/netgraph/ng_pppoe.c#8 integrate
.. //depot/projects/powerpc/sys/netinet/in.h#9 integrate
.. //depot/projects/powerpc/sys/netinet/in_pcb.c#12 integrate
.. //depot/projects/powerpc/sys/netinet/ip_fw_nat.c#2 integrate
.. //depot/projects/powerpc/sys/netinet/ip_fw_pfil.c#4 integrate
.. //depot/projects/powerpc/sys/netinet/libalias/alias.c#3 integrate
.. //depot/projects/powerpc/sys/netinet/libalias/alias_db.c#4 integrate
.. //depot/projects/powerpc/sys/netinet/libalias/alias_ftp.c#3 integrate
.. //depot/projects/powerpc/sys/netinet/libalias/alias_irc.c#3 integrate
.. //depot/projects/powerpc/sys/netinet/libalias/alias_local.h#3 integrate
.. //depot/projects/powerpc/sys/netinet/libalias/alias_proxy.c#5 integrate
.. //depot/projects/powerpc/sys/netinet/libalias/alias_smedia.c#2 integrate
.. //depot/projects/powerpc/sys/nfsclient/nfs_vfsops.c#13 integrate
.. //depot/projects/powerpc/sys/nfsserver/nfs_serv.c#10 integrate
.. //depot/projects/powerpc/sys/pci/if_rl.c#9 integrate
.. //depot/projects/powerpc/sys/pci/if_rlreg.h#10 integrate
.. //depot/projects/powerpc/sys/powerpc/aim/locore.S#5 integrate
.. //depot/projects/powerpc/sys/powerpc/aim/machdep.c#6 integrate
.. //depot/projects/powerpc/sys/powerpc/booke/clock.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/booke/copyinout.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/booke/interrupt.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/booke/locore.S#1 branch
.. //depot/projects/powerpc/sys/powerpc/booke/machdep.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/booke/pmap.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/booke/support.S#1 branch
.. //depot/projects/powerpc/sys/powerpc/booke/swtch.S#1 branch
.. //depot/projects/powerpc/sys/powerpc/booke/trap.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/booke/trap_subr.S#1 branch
.. //depot/projects/powerpc/sys/powerpc/booke/uio_machdep.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/booke/vm_machdep.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/conf/MPC85XX#1 branch
.. //depot/projects/powerpc/sys/powerpc/conf/NOTES#10 integrate
.. //depot/projects/powerpc/sys/powerpc/include/intr_machdep.h#6 integrate
.. //depot/projects/powerpc/sys/powerpc/include/md_var.h#8 integrate
.. //depot/projects/powerpc/sys/powerpc/include/mmuvar.h#2 integrate
.. //depot/projects/powerpc/sys/powerpc/include/ocpbus.h#1 branch
.. //depot/projects/powerpc/sys/powerpc/include/openpicvar.h#6 integrate
.. //depot/projects/powerpc/sys/powerpc/include/pcpu.h#11 integrate
.. //depot/projects/powerpc/sys/powerpc/include/pmap.h#5 integrate
.. //depot/projects/powerpc/sys/powerpc/include/psl.h#4 integrate
.. //depot/projects/powerpc/sys/powerpc/include/pte.h#4 integrate
.. //depot/projects/powerpc/sys/powerpc/include/sf_buf.h#2 integrate
.. //depot/projects/powerpc/sys/powerpc/include/spr.h#5 integrate
.. //depot/projects/powerpc/sys/powerpc/include/tlb.h#1 branch
.. //depot/projects/powerpc/sys/powerpc/include/trap.h#5 integrate
.. //depot/projects/powerpc/sys/powerpc/include/trap_aim.h#1 branch
.. //depot/projects/powerpc/sys/powerpc/include/trap_booke.h#1 branch
.. //depot/projects/powerpc/sys/powerpc/include/vmparam.h#9 integrate
.. //depot/projects/powerpc/sys/powerpc/mpc85xx/nexus.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/mpc85xx/ocpbus.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/mpc85xx/ocpbus.h#1 branch
.. //depot/projects/powerpc/sys/powerpc/mpc85xx/opic.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/mpc85xx/pci_ocp.c#1 branch
.. //depot/projects/powerpc/sys/powerpc/powermac/openpic_macio.c#5 integrate
.. //depot/projects/powerpc/sys/powerpc/powerpc/autoconf.c#6 integrate
.. //depot/projects/powerpc/sys/powerpc/powerpc/cpu.c#5 integrate
.. //depot/projects/powerpc/sys/powerpc/powerpc/gdb_machdep.c#2 integrate
.. //depot/projects/powerpc/sys/powerpc/powerpc/intr_machdep.c#8 integrate
.. //depot/projects/powerpc/sys/powerpc/powerpc/openpic.c#8 integrate
.. //depot/projects/powerpc/sys/powerpc/powerpc/pic_if.m#6 integrate
.. //depot/projects/powerpc/sys/powerpc/psim/openpic_iobus.c#5 integrate
.. //depot/projects/powerpc/sys/security/audit/audit_syscalls.c#11 integrate
.. //depot/projects/powerpc/sys/sys/cpuset.h#2 integrate
.. //depot/projects/powerpc/sys/sys/pcpu.h#10 integrate
.. //depot/projects/powerpc/sys/ufs/ffs/ffs_vfsops.c#12 integrate
.. //depot/projects/powerpc/sys/ufs/ufs/extattr.h#6 integrate
.. //depot/projects/powerpc/sys/ufs/ufs/ufs_extattr.c#8 integrate
.. //depot/projects/powerpc/usr.bin/calendar/calendars/calendar.freebsd#11 integrate
.. //depot/projects/powerpc/usr.bin/chat/chat.c#2 integrate
.. //depot/projects/powerpc/usr.bin/cpuset/Makefile#2 integrate
.. //depot/projects/powerpc/usr.bin/cpuset/cpuset.1#1 branch
.. //depot/projects/powerpc/usr.bin/cpuset/cpuset.c#2 integrate
.. //depot/projects/powerpc/usr.bin/find/find.1#6 integrate
.. //depot/projects/powerpc/usr.bin/find/main.c#2 integrate
.. //depot/projects/powerpc/usr.bin/make/Makefile#2 integrate
.. //depot/projects/powerpc/usr.bin/make/Makefile.dist#3 integrate
.. //depot/projects/powerpc/usr.bin/make/arch.c#2 integrate
.. //depot/projects/powerpc/usr.bin/make/job.c#3 integrate
.. //depot/projects/powerpc/usr.bin/make/main.c#6 integrate
.. //depot/projects/powerpc/usr.bin/make/make.1#5 integrate
.. //depot/projects/powerpc/usr.bin/unifdef/unifdef.c#3 integrate
.. //depot/projects/powerpc/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8#3 integrate
.. //depot/projects/powerpc/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#2 integrate
.. //depot/projects/powerpc/usr.sbin/fwcontrol/fwcontrol.8#4 integrate
.. //depot/projects/powerpc/usr.sbin/fwcontrol/fwcontrol.c#2 integrate
.. //depot/projects/powerpc/usr.sbin/mountd/mountd.c#5 integrate
.. //depot/projects/powerpc/usr.sbin/moused/Makefile#3 integrate
.. //depot/projects/powerpc/usr.sbin/moused/moused.c#4 integrate
Differences ...
==== //depot/projects/powerpc/contrib/bsnmp/snmpd/main.c#2 (text+ko) ====
@@ -2242,6 +2242,8 @@
return (m);
err:
+ if ((m->flags & LM_ONSTARTLIST) != 0)
+ TAILQ_REMOVE(&modules_start, m, start);
if (m->handle)
dlclose(m->handle);
free(m->path);
==== //depot/projects/powerpc/etc/Makefile#5 (text+ko) ====
@@ -1,5 +1,5 @@
# from: @(#)Makefile 5.11 (Berkeley) 5/21/91
-# $FreeBSD: src/etc/Makefile,v 1.365 2007/11/11 01:16:51 mlaier Exp $
+# $FreeBSD: src/etc/Makefile,v 1.366 2008/03/05 18:32:58 brooks Exp $
.include <bsd.own.mk>
@@ -9,7 +9,7 @@
BIN1= amd.map apmd.conf auth.conf \
crontab csh.cshrc csh.login csh.logout devd.conf devfs.conf \
- dhclient.conf disktab fbtab freebsd-update.conf \
+ ddb.conf dhclient.conf disktab fbtab freebsd-update.conf \
ftpusers gettytab group \
hosts hosts.allow hosts.equiv hosts.lpd \
inetd.conf libalias.conf login.access login.conf mac.conf motd \
==== //depot/projects/powerpc/etc/defaults/rc.conf#11 (text+ko) ====
@@ -15,7 +15,7 @@
# For a more detailed explanation of all the rc.conf variables, please
# refer to the rc.conf(5) manual page.
#
-# $FreeBSD: src/etc/defaults/rc.conf,v 1.326 2008/01/27 15:15:11 mtm Exp $
+# $FreeBSD: src/etc/defaults/rc.conf,v 1.328 2008/03/06 14:01:10 mtm Exp $
##############################################################
### Important initial Boot-time options ####################
@@ -33,6 +33,8 @@
apm_enable="NO" # Set to YES to enable APM BIOS functions (or NO).
apmd_enable="NO" # Run apmd to handle APM event from userland.
apmd_flags="" # Flags to apmd (if enabled).
+ddb_enable="NO" # Set to YES to load ddb scripts at boot.
+ddb_config="/etc/ddb.conf" # ddb(8) config file.
devd_enable="YES" # Run devd, to trigger programs on device tree changes.
devd_flags="" # Additional flags for devd(8).
kldxref_enable="NO" # Build linker.hints files with kldxref(8).
@@ -249,7 +251,7 @@
rwhod_enable="NO" # Run the rwho daemon (or NO).
rwhod_flags="" # Flags for rwhod
rarpd_enable="NO" # Run rarpd (or NO).
-rarpd_flags="" # Flags to rarpd.
+rarpd_flags="-a" # Flags to rarpd.
bootparamd_enable="NO" # Run bootparamd (or NO).
bootparamd_flags="" # Flags to bootparamd
pppoed_enable="NO" # Run the PPP over Ethernet daemon.
==== //depot/projects/powerpc/etc/rc.d/Makefile#6 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/etc/rc.d/Makefile,v 1.88 2007/12/08 07:20:22 dougb Exp $
+# $FreeBSD: src/etc/rc.d/Makefile,v 1.89 2008/03/05 18:32:58 brooks Exp $
.include <bsd.own.mk>
@@ -7,7 +7,7 @@
apm apmd archdep atm1 atm2 atm3 auditd auto_linklocal \
bgfsck bluetooth bootparams bridge bsnmpd bthidd \
ccd cleanvar cleartmp cron \
- devd devfs dhclient \
+ ddb devd devfs dhclient \
dmesg dumpon \
early.sh encswap \
fsck ftp-proxy ftpd \
==== //depot/projects/powerpc/etc/rc.d/mountcritlocal#4 (text+ko) ====
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# $FreeBSD: src/etc/rc.d/mountcritlocal,v 1.15 2007/12/08 07:20:22 dougb Exp $
+# $FreeBSD: src/etc/rc.d/mountcritlocal,v 1.16 2008/03/06 14:39:33 mtm Exp $
#
# PROVIDE: mountcritlocal
@@ -15,6 +15,8 @@
mountcritlocal_start()
{
+ local err
+
# Set up the list of network filesystem types for which mounting
# should be delayed until after network initialization.
case ${extra_netfs_types} in
@@ -34,9 +36,10 @@
done
mount_excludes=${mount_excludes%,}
mount -a -t ${mount_excludes}
+ err=$?
echo '.'
- case $? in
+ case ${err} in
0)
;;
*)
==== //depot/projects/powerpc/etc/rc.d/mountlate#3 (text+ko) ====
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# $FreeBSD: src/etc/rc.d/mountlate,v 1.2 2007/05/18 12:04:41 mtm Exp $
+# $FreeBSD: src/etc/rc.d/mountlate,v 1.3 2008/03/06 14:39:33 mtm Exp $
#
# PROVIDE: mountlate
@@ -16,12 +16,15 @@
mountlate_start()
{
+ local err
+
# Mount "late" filesystems.
echo -n 'Mounting late file systems:'
mount -a -l
+ err=$?
echo '.'
- case $? in
+ case ${err} in
0)
;;
*)
==== //depot/projects/powerpc/games/fortune/datfiles/fortunes#12 (text+ko) ====
@@ -1,5 +1,5 @@
This fortune brought to you by:
-$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.257 2008/02/28 15:16:24 yar Exp $
+$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.258 2008/03/03 10:06:52 dds Exp $
%
=======================================================================
|| ||
@@ -49242,7 +49242,7 @@
admit it, I tell him, `Forget it'. If they bring a car back late we
overlook it. If they've had a crash and it doesn't involve another vehicle
we might overlook that too."
- "Where's the ashtray?" asked on Los Angeles wife, as she settled
+ "Where's the ashtray?" asked one Los Angeles wife, as she settled
into the ripped interior. "Honey," said her husband, "the whole car's the
ash tray."
-- Stephen Pile, "The Book of Heroic Failures"
==== //depot/projects/powerpc/include/pthread_np.h#5 (text+ko) ====
@@ -26,11 +26,14 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/include/pthread_np.h,v 1.20 2008/02/06 19:34:31 des Exp $
+ * $FreeBSD: src/include/pthread_np.h,v 1.21 2008/03/03 08:28:13 davidxu Exp $
*/
#ifndef _PTHREAD_NP_H_
#define _PTHREAD_NP_H_
+#include <sys/param.h>
+#include <sys/cpuset.h>
+
/*
* Non-POSIX type definitions:
*/
@@ -42,6 +45,9 @@
__BEGIN_DECLS
int pthread_attr_setcreatesuspend_np(pthread_attr_t *);
int pthread_attr_get_np(pthread_t, pthread_attr_t *);
+int pthread_attr_getaffinity_np(const pthread_attr_t *, size_t, cpuset_t *);
+int pthread_attr_setaffinity_np(pthread_attr_t *, size_t, const cpuset_t *);
+int pthread_getaffinity_np(pthread_t, size_t, cpuset_t *);
int pthread_main_np(void);
int pthread_multi_np(void);
int pthread_mutexattr_getkind_np(pthread_mutexattr_t);
@@ -54,6 +60,7 @@
int pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count);
int pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count);
int pthread_mutex_isowned_np(pthread_mutex_t *mutex);
+int pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *);
int pthread_single_np(void);
void pthread_suspend_all_np(void);
int pthread_suspend_np(pthread_t);
==== //depot/projects/powerpc/lib/libc/posix1e/mac.c#2 (text+ko) ====
@@ -30,10 +30,11 @@
* LIABILITY, OR TORT (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/lib/libc/posix1e/mac.c,v 1.12 2004/01/06 18:26:15 nectar Exp $
*/
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac.c,v 1.13 2008/03/07 15:25:56 rwatson Exp $");
+
#include <sys/types.h>
#include <sys/queue.h>
#include <sys/sysctl.h>
==== //depot/projects/powerpc/lib/libc/posix1e/mac_exec.c#2 (text+ko) ====
@@ -27,10 +27,11 @@
* LIABILITY, OR TORT (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/lib/libc/posix1e/mac_exec.c,v 1.2 2003/02/16 17:29:10 nectar Exp $
*/
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac_exec.c,v 1.3 2008/03/07 15:25:56 rwatson Exp $");
+
#include <sys/types.h>
#include <sys/mac.h>
==== //depot/projects/powerpc/lib/libc/posix1e/mac_get.c#2 (text+ko) ====
@@ -27,10 +27,11 @@
* LIABILITY, OR TORT (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/lib/libc/posix1e/mac_get.c,v 1.5 2005/01/23 15:28:02 rwatson Exp $
*/
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac_get.c,v 1.6 2008/03/07 15:25:56 rwatson Exp $");
+
#include <sys/types.h>
#include <sys/mac.h>
#include <sys/socket.h>
==== //depot/projects/powerpc/lib/libc/posix1e/mac_set.c#2 (text+ko) ====
@@ -27,10 +27,11 @@
* LIABILITY, OR TORT (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/lib/libc/posix1e/mac_set.c,v 1.3 2003/02/27 13:40:01 nectar Exp $
*/
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: src/lib/libc/posix1e/mac_set.c,v 1.4 2008/03/07 15:25:56 rwatson Exp $");
+
#include <sys/types.h>
#include <sys/mac.h>
==== //depot/projects/powerpc/lib/libc/stdlib/malloc.c#12 (text+ko) ====
@@ -45,7 +45,8 @@
* Allocation requests are rounded up to the nearest size class, and no record
* of the original request size is maintained. Allocations are broken into
* categories according to size class. Assuming runtime defaults, 4 kB pages
- * and a 16 byte quantum, the size classes in each category are as follows:
+ * and a 16 byte quantum on a 32-bit system, the size classes in each category
+ * are as follows:
*
* |=====================================|
* | Category | Subcategory | Size |
@@ -69,9 +70,9 @@
* | | 8 kB |
* | | 12 kB |
* | | ... |
+ * | | 1004 kB |
+ * | | 1008 kB |
* | | 1012 kB |
- * | | 1016 kB |
- * | | 1020 kB |
* |=====================================|
* | Huge | 1 MB |
* | | 2 MB |
@@ -127,7 +128,7 @@
#define MALLOC_DSS
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.166 2008/02/17 18:34:17 jasone Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.167 2008/03/07 16:54:03 jasone Exp $");
#include "libc_private.h"
#ifdef MALLOC_DEBUG
@@ -145,7 +146,6 @@
#include <sys/uio.h>
#include <sys/ktrace.h> /* Must come after several other sys/ includes. */
-#include <machine/atomic.h>
#include <machine/cpufunc.h>
#include <machine/vmparam.h>
==== //depot/projects/powerpc/lib/libelf/elf_update.c#4 (text+ko) ====
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2006 Joseph Koshy
+ * Copyright (c) 2006-2008 Joseph Koshy
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libelf/elf_update.c,v 1.3 2007/09/08 08:20:12 jkoshy Exp $");
+__FBSDID("$FreeBSD: src/lib/libelf/elf_update.c,v 1.4 2008/03/03 04:29:25 jkoshy Exp $");
#include <sys/mman.h>
#include <sys/param.h>
@@ -246,13 +246,19 @@
tmin = t->s_offset;
tmax = tmin + t->s_size;
- /* check if there is an overlap */
- if (tmax < smin) {
+ if (tmax <= smin) {
+ /*
+ * 't' lies entirely before 's': ...| t |...| s |...
+ */
prevt = t;
continue;
- } else if (smax < tmin)
+ } else if (smax <= tmin)
+ /*
+ * 's' lies entirely before 't', and after 'prevt':
+ * ...| prevt |...| s |...| t |...
+ */
break;
- else {
+ else { /* 's' and 't' overlap. */
LIBELF_SET_ERROR(LAYOUT, 0);
return (0);
}
==== //depot/projects/powerpc/lib/libthr/pthread.map#7 (text+ko) ====
@@ -1,5 +1,5 @@
/*
- * $FreeBSD: src/lib/libthr/pthread.map,v 1.26 2008/02/06 20:45:46 des Exp $
+ * $FreeBSD: src/lib/libthr/pthread.map,v 1.28 2008/03/05 06:56:35 davidxu Exp $
*/
/*
@@ -117,8 +117,8 @@
pthread_rwlockattr_getpshared;
pthread_rwlockattr_init;
pthread_rwlockattr_setpshared;
+ pthread_set_name_np;
pthread_self;
- pthread_set_name_np;
pthread_setcancelstate;
pthread_setcanceltype;
pthread_setconcurrency;
@@ -228,6 +228,7 @@
_pthread_barrierattr_setpshared;
_pthread_attr_destroy;
_pthread_attr_get_np;
+ _pthread_attr_getaffinity_np;
_pthread_attr_getdetachstate;
_pthread_attr_getguardsize;
_pthread_attr_getinheritsched;
@@ -238,6 +239,7 @@
_pthread_attr_getstackaddr;
_pthread_attr_getstacksize;
_pthread_attr_init;
+ _pthread_attr_setaffinity_np;
_pthread_attr_setcreatesuspend_np;
_pthread_attr_setdetachstate;
_pthread_attr_setguardsize;
@@ -267,6 +269,7 @@
_pthread_detach;
_pthread_equal;
_pthread_exit;
+ _pthread_getaffinity_np;
_pthread_getconcurrency;
_pthread_getprio;
_pthread_getschedparam;
@@ -321,6 +324,7 @@
_pthread_rwlockattr_setpshared;
_pthread_self;
_pthread_set_name_np;
+ _pthread_setaffinity_np;
_pthread_setcancelstate;
_pthread_setcanceltype;
_pthread_setconcurrency;
@@ -388,6 +392,10 @@
};
FBSD_1.1 {
+ pthread_attr_getaffinity_np;
+ pthread_attr_setaffinity_np;
+ pthread_getaffinity_np;
+ pthread_setaffinity_np;
pthread_mutex_getspinloops_np;
pthread_mutex_getyieldloops_np;
pthread_mutex_isowned_np;
==== //depot/projects/powerpc/lib/libthr/thread/Makefile.inc#2 (text+ko) ====
@@ -1,9 +1,10 @@
-# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.16 2006/04/04 02:57:49 davidxu Exp $
+# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.17 2008/03/03 09:16:29 davidxu Exp $
# thr sources
.PATH: ${.CURDIR}/thread
SRCS+= \
+ thr_affinity.c \
thr_attr.c \
thr_barrier.c \
thr_barrierattr.c \
==== //depot/projects/powerpc/lib/libthr/thread/thr_attr.c#3 (text+ko) ====
@@ -90,7 +90,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_attr.c,v 1.8 2007/01/12 07:26:20 imp Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_attr.c,v 1.11 2008/03/06 03:24:03 davidxu Exp $
*/
#include "namespace.h"
@@ -99,6 +99,7 @@
#include <stdlib.h>
#include <string.h>
#include <pthread_np.h>
+#include <sys/sysctl.h>
#include "un-namespace.h"
#include "thr_private.h"
@@ -148,7 +149,9 @@
attr.flags |= PTHREAD_DETACHED;
_thr_ref_delete(curthread, pid);
memcpy(*dst, &attr, sizeof(struct pthread_attr));
-
+ /* XXX */
+ (*dst)->cpuset = NULL;
+ (*dst)->cpusetsize = 0;
return (0);
}
@@ -543,3 +546,92 @@
}
return(ret);
}
+
+static int
+_get_kern_cpuset_size()
+{
+ static int kern_cpuset_size = 0;
+
+ if (kern_cpuset_size == 0) {
+ int len;
+
+ len = sizeof(kern_cpuset_size);
+ if (sysctlbyname("kern.smp.maxcpus", &kern_cpuset_size,
+ &len, NULL, 0))
+ PANIC("failed to get sysctl kern.smp.maxcpus");
+
+ kern_cpuset_size = (kern_cpuset_size + 7) / 8;
+ }
+
+ return (kern_cpuset_size);
+}
+
+__weak_reference(_pthread_attr_setaffinity_np, pthread_attr_setaffinity_np);
+int
+_pthread_attr_setaffinity_np(pthread_attr_t *pattr, size_t cpusetsize,
+ const cpuset_t *cpuset)
+{
+ pthread_attr_t attr;
+ int ret;
+
+ if (pattr == NULL || (attr = (*pattr)) == NULL)
+ ret = EINVAL;
+ else {
+ if (cpusetsize == 0 || cpuset == NULL) {
+ if (attr->cpuset != NULL) {
+ free(attr->cpuset);
+ attr->cpuset = NULL;
+ attr->cpusetsize = 0;
+ }
+ return (0);
+ }
+
+ if (cpusetsize > attr->cpusetsize) {
+ int kern_size = _get_kern_cpuset_size();
+ if (cpusetsize > kern_size) {
+ int i;
+ for (i = kern_size; i < cpusetsize; ++i) {
+ if (((char *)cpuset)[i])
+ return (EINVAL);
+ }
+ }
+ void *newset = realloc(attr->cpuset, cpusetsize);
+ if (newset == NULL)
+ return (ENOMEM);
+ attr->cpuset = newset;
+ attr->cpusetsize = cpusetsize;
+ } else {
+ memset(((char *)attr->cpuset) + cpusetsize, 0,
+ attr->cpusetsize - cpusetsize);
+ attr->cpusetsize = cpusetsize;
+ }
+ memcpy(attr->cpuset, cpuset, cpusetsize);
+ ret = 0;
+ }
+ return (ret);
+}
+
+__weak_reference(_pthread_attr_getaffinity_np, pthread_attr_getaffinity_np);
+int
+_pthread_attr_getaffinity_np(const pthread_attr_t *pattr, size_t cpusetsize,
+ cpuset_t *cpuset)
+{
+ pthread_attr_t attr;
+ int ret = 0;
+
+ if (pattr == NULL || (attr = (*pattr)) == NULL)
+ ret = EINVAL;
+ else if (attr->cpuset != NULL) {
+ memcpy(cpuset, attr->cpuset, MIN(cpusetsize, attr->cpusetsize));
+ if (cpusetsize > attr->cpusetsize)
+ memset(((char *)cpuset) + attr->cpusetsize, 0,
+ cpusetsize - attr->cpusetsize);
+ } else {
+ int kern_size = _get_kern_cpuset_size();
+ memset(cpuset, -1, MIN(cpusetsize, kern_size));
+ if (cpusetsize > kern_size)
+ memset(((char *)cpuset) + kern_size, 0,
+ cpusetsize - kern_size);
+ }
+ return (ret);
+}
==== //depot/projects/powerpc/lib/libthr/thread/thr_create.c#3 (text+ko) ====
@@ -24,7 +24,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.36 2006/12/15 11:52:01 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.40 2008/03/06 01:59:08 davidxu Exp $
*/
#include "namespace.h"
@@ -36,6 +36,7 @@
#include <string.h>
#include <stddef.h>
#include <pthread.h>
+#include <pthread_np.h>
#include "un-namespace.h"
#include "thr_private.h"
@@ -55,6 +56,8 @@
struct rtprio rtp;
int ret = 0, locked, create_suspended;
sigset_t set, oset;
+ cpuset_t *cpuset = NULL;
+ int cpusetsize = 0;
_thr_check_init();
@@ -73,8 +76,13 @@
if (attr == NULL || *attr == NULL)
/* Use the default thread attributes: */
new_thread->attr = _pthread_attr_default;
- else
+ else {
new_thread->attr = *(*attr);
+ cpuset = new_thread->attr.cpuset;
+ cpusetsize = new_thread->attr.cpusetsize;
+ new_thread->attr.cpuset = NULL;
+ new_thread->attr.cpusetsize = 0;
+ }
if (new_thread->attr.sched_inherit == PTHREAD_INHERIT_SCHED) {
/* inherit scheduling contention scope */
if (curthread->attr.flags & PTHREAD_SCOPE_SYSTEM)
@@ -119,12 +127,17 @@
if (new_thread->attr.flags & PTHREAD_CREATE_DETACHED)
new_thread->tlflags |= TLFLAGS_DETACHED;
+ if (curthread->in_sigcancel_handler)
+ new_thread->unblock_sigcancel = 1;
+ else
+ new_thread->unblock_sigcancel = 0;
+
/* Add the new thread. */
new_thread->refcount = 1;
_thr_link(curthread, new_thread);
/* Return thread pointer eariler so that new thread can use it. */
(*thread) = new_thread;
- if (SHOULD_REPORT_EVENT(curthread, TD_CREATE)) {
+ if (SHOULD_REPORT_EVENT(curthread, TD_CREATE) || cpuset != NULL) {
THR_THREAD_LOCK(curthread, new_thread);
locked = 1;
} else
@@ -142,11 +155,11 @@
param.flags |= THR_SYSTEM_SCOPE;
if (new_thread->attr.sched_inherit == PTHREAD_INHERIT_SCHED)
param.rtp = NULL;
- else {
- sched_param.sched_priority = new_thread->attr.prio;
- _schedparam_to_rtp(new_thread->attr.sched_policy,
- &sched_param, &rtp);
- param.rtp = &rtp;
+ else {
+ sched_param.sched_priority = new_thread->attr.prio;
+ _schedparam_to_rtp(new_thread->attr.sched_policy,
+ &sched_param, &rtp);
+ param.rtp = &rtp;
}
/* Schedule the new thread. */
@@ -168,8 +181,10 @@
ret = EAGAIN;
}
- if (create_suspended)
+ if (create_suspended) {
__sys_sigprocmask(SIG_SETMASK, &oset, NULL);
+ SIGDELSET(oset, SIGCANCEL);
+ }
if (ret != 0) {
if (!locked)
@@ -186,11 +201,31 @@
new_thread->tlflags |= TLFLAGS_DETACHED;
_thr_ref_delete_unlocked(curthread, new_thread);
THREAD_LIST_UNLOCK(curthread);
- (*thread) = 0;
} else if (locked) {
+ if (cpuset != NULL) {
+ if (cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID,
+ TID(new_thread), cpusetsize, cpuset)) {
+ ret = errno;
+ /* kill the new thread */
+ new_thread->force_exit = 1;
+ THR_THREAD_UNLOCK(curthread, new_thread);
+ goto out;
+ }
+ }
+
_thr_report_creation(curthread, new_thread);
THR_THREAD_UNLOCK(curthread, new_thread);
+out:
+ if (ret) {
+ THREAD_LIST_LOCK(curthread);
+ new_thread->tlflags |= TLFLAGS_DETACHED;
+ _thr_ref_delete_unlocked(curthread, new_thread);
+ THREAD_LIST_UNLOCK(curthread);
+ }
}
+
+ if (ret)
+ (*thread) = 0;
return (ret);
}
@@ -213,6 +248,25 @@
static void
thread_start(struct pthread *curthread)
{
+ /*
+ * This is used as a serialization point to allow parent
+ * to report 'new thread' event to debugger or tweak new thread's
+ * attributes before the new thread does real-world work.
+ */
+ THR_LOCK(curthread);
+ THR_UNLOCK(curthread);
+
+ if (curthread->force_exit)
+ _pthread_exit(PTHREAD_CANCELED);
+
+ if (curthread->unblock_sigcancel) {
+ sigset_t set;
+
+ SIGEMPTYSET(set);
+ SIGADDSET(set, SIGCANCEL);
+ sigprocmask(SIG_UNBLOCK, &set, NULL);
+ }
+
if (curthread->attr.suspend == THR_CREATE_SUSPENDED) {
sigset_t set = curthread->sigmask;
@@ -225,14 +279,6 @@
sigprocmask(SIG_SETMASK, &set, NULL);
}
- /*
- * This is used as a serialization point to allow parent
- * to report 'new thread' event to debugger before the thread
- * does real work.
- */
- THR_LOCK(curthread);
- THR_UNLOCK(curthread);
-
/* Run the current thread's start routine with argument: */
_pthread_exit(curthread->start_routine(curthread->arg));
==== //depot/projects/powerpc/lib/libthr/thread/thr_exit.c#4 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.24 2007/12/20 04:40:12 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.25 2008/03/06 02:07:18 davidxu Exp $
*/
#include <errno.h>
@@ -130,7 +130,7 @@
if (curthread->tlflags & TLFLAGS_DETACHED)
THR_GCLIST_ADD(curthread);
THREAD_LIST_UNLOCK(curthread);
- if (SHOULD_REPORT_EVENT(curthread, TD_DEATH))
+ if (!curthread->force_exit && SHOULD_REPORT_EVENT(curthread, TD_DEATH))
_thr_report_death(curthread);
/*
==== //depot/projects/powerpc/lib/libthr/thread/thr_init.c#5 (text+ko) ====
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_init.c,v 1.47 2007/10/30 05:57:36 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_init.c,v 1.49 2008/03/05 07:01:20 davidxu Exp $
*/
#include "namespace.h"
@@ -75,13 +75,15 @@
struct pthread_attr _pthread_attr_default = {
.sched_policy = SCHED_OTHER,
- .sched_inherit = 0,
+ .sched_inherit = PTHREAD_INHERIT_SCHED,
.prio = 0,
.suspend = THR_CREATE_RUNNING,
.flags = PTHREAD_SCOPE_SYSTEM,
.stackaddr_attr = NULL,
.stacksize_attr = THR_STACK_DEFAULT,
- .guardsize_attr = 0
+ .guardsize_attr = 0,
+ .cpusetsize = 0,
+ .cpuset = NULL
};
struct pthread_mutex_attr _pthread_mutexattr_default = {
==== //depot/projects/powerpc/lib/libthr/thread/thr_private.h#7 (text+ko) ====
@@ -26,7 +26,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.81 2007/12/14 06:25:57 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.85 2008/03/05 07:01:20 davidxu Exp $
*/
#ifndef _THR_PRIVATE_H
@@ -39,6 +39,8 @@
#include <sys/time.h>
#include <sys/cdefs.h>
#include <sys/queue.h>
+#include <sys/param.h>
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list