Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jan 2006 19:05:24 GMT
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 90020 for review
Message-ID:  <200601201905.k0KJ5OUh094032@repoman.freebsd.org>

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

Change 90020 by peter@peter_daintree on 2006/01/20 19:05:00

	IFC @90019

Affected files ...

.. //depot/projects/hammer/COPYRIGHT#4 integrate
.. //depot/projects/hammer/ObsoleteFiles.inc#13 integrate
.. //depot/projects/hammer/UPDATING#90 integrate
.. //depot/projects/hammer/contrib/bind9/FREEBSD-Upgrade#7 integrate
.. //depot/projects/hammer/contrib/libpcap/pcap-bpf.c#8 integrate
.. //depot/projects/hammer/etc/portsnap.conf#3 integrate
.. //depot/projects/hammer/etc/rc.d/addswap#5 integrate
.. //depot/projects/hammer/etc/rc.d/ntpdate#13 integrate
.. //depot/projects/hammer/etc/rc.d/root#10 integrate
.. //depot/projects/hammer/gnu/usr.bin/cc/cc_int/Makefile#13 integrate
.. //depot/projects/hammer/lib/libarchive/Makefile#30 integrate
.. //depot/projects/hammer/lib/libarchive/archive.h.in#9 integrate
.. //depot/projects/hammer/lib/libarchive/archive_read.c#15 integrate
.. //depot/projects/hammer/lib/libarchive/archive_read_open_fd.c#5 integrate
.. //depot/projects/hammer/lib/libarchive/archive_read_support_format_tp.c#1 branch
.. //depot/projects/hammer/lib/libarchive/libarchive-formats.5#10 integrate
.. //depot/projects/hammer/lib/libc/stdlib/malloc.3#7 integrate
.. //depot/projects/hammer/lib/libc/stdlib/malloc.c#20 integrate
.. //depot/projects/hammer/lib/libfetch/ftp.c#9 integrate
.. //depot/projects/hammer/lib/libkvm/kvm.c#8 integrate
.. //depot/projects/hammer/lib/libmd/md2.h#2 integrate
.. //depot/projects/hammer/lib/libmd/md2c.c#3 integrate
.. //depot/projects/hammer/lib/libmd/md4.h#2 integrate
.. //depot/projects/hammer/lib/libmd/md4c.c#3 integrate
.. //depot/projects/hammer/lib/libmd/md5c.c#3 integrate
.. //depot/projects/hammer/lib/libmd/mdX.3#6 integrate
.. //depot/projects/hammer/lib/libmd/mdXhl.c#3 integrate
.. //depot/projects/hammer/lib/libmd/ripemd.h#2 integrate
.. //depot/projects/hammer/lib/libmd/rmd160c.c#2 integrate
.. //depot/projects/hammer/lib/libmd/sha.h#2 integrate
.. //depot/projects/hammer/lib/libmd/sha0c.c#2 integrate
.. //depot/projects/hammer/lib/libmd/sha1c.c#2 integrate
.. //depot/projects/hammer/lib/libmd/sha256.h#2 integrate
.. //depot/projects/hammer/lib/libmd/sha256c.c#2 integrate
.. //depot/projects/hammer/lib/libmemstat/memstat_uma.c#7 integrate
.. //depot/projects/hammer/lib/libthr/thread/thr_mutex.c#26 integrate
.. //depot/projects/hammer/lib/libutil/login_ok.c#4 integrate
.. //depot/projects/hammer/lib/libutil/login_times.c#3 integrate
.. //depot/projects/hammer/libexec/rtld-elf/ia64/reloc.c#9 integrate
.. //depot/projects/hammer/sbin/atacontrol/atacontrol.c#19 integrate
.. //depot/projects/hammer/sbin/ifconfig/af_link.c#3 integrate
.. //depot/projects/hammer/sbin/ifconfig/ifieee80211.c#22 integrate
.. //depot/projects/hammer/sbin/md5/md5.c#8 integrate
.. //depot/projects/hammer/sbin/mount/mount.c#23 integrate
.. //depot/projects/hammer/sbin/mount_nullfs/mount_nullfs.8#8 integrate
.. //depot/projects/hammer/sbin/rcorder/rcorder.c#4 integrate
.. //depot/projects/hammer/sbin/reboot/nextboot.sh#2 integrate
.. //depot/projects/hammer/share/man/man3/Makefile#14 integrate
.. //depot/projects/hammer/share/man/man3/tree.3#6 integrate
.. //depot/projects/hammer/share/man/man4/bge.4#19 integrate
.. //depot/projects/hammer/share/man/man4/bktr.4#9 integrate
.. //depot/projects/hammer/share/man/man4/if_bridge.4#8 integrate
.. //depot/projects/hammer/share/man/man4/man4.i386/acpi_ibm.4#8 integrate
.. //depot/projects/hammer/share/man/man4/nge.4#9 integrate
.. //depot/projects/hammer/share/man/man4/re.4#16 integrate
.. //depot/projects/hammer/share/man/man4/splash.4#4 integrate
.. //depot/projects/hammer/share/man/man4/syscons.4#9 integrate
.. //depot/projects/hammer/share/man/man4/umass.4#18 integrate
.. //depot/projects/hammer/share/man/man7/security.7#15 integrate
.. //depot/projects/hammer/share/man/man9/make_dev.9#7 integrate
.. //depot/projects/hammer/sys/amd64/amd64/busdma_machdep.c#38 integrate
.. //depot/projects/hammer/sys/arm/arm/elf_trampoline.c#5 integrate
.. //depot/projects/hammer/sys/boot/ia64/efi/start.S#2 integrate
.. //depot/projects/hammer/sys/cam/scsi/scsi_sa.c#17 integrate
.. //depot/projects/hammer/sys/cam/scsi/scsi_ses.h#3 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_misc.c#39 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#39 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#37 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#37 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#37 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#41 integrate
.. //depot/projects/hammer/sys/conf/Makefile.arm#18 integrate
.. //depot/projects/hammer/sys/conf/NOTES#104 integrate
.. //depot/projects/hammer/sys/conf/files#135 integrate
.. //depot/projects/hammer/sys/conf/kern.post.mk#37 integrate
.. //depot/projects/hammer/sys/contrib/pf/net/pf_norm.c#11 integrate
.. //depot/projects/hammer/sys/dev/acpi_support/acpi_ibm.c#8 integrate
.. //depot/projects/hammer/sys/dev/acpica/Osd/OsdSchedule.c#15 integrate
.. //depot/projects/hammer/sys/dev/amr/amr.c#29 integrate
.. //depot/projects/hammer/sys/dev/amr/amrreg.h#7 integrate
.. //depot/projects/hammer/sys/dev/an/if_an.c#29 integrate
.. //depot/projects/hammer/sys/dev/asr/asr.c#18 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-all.c#57 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-all.h#37 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-chipset.c#67 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-disk.c#38 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-lowlevel.c#35 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-pci.c#36 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-pci.h#39 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-queue.c#29 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-raid.c#34 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-raid.h#20 integrate
.. //depot/projects/hammer/sys/dev/bge/if_bge.c#62 integrate
.. //depot/projects/hammer/sys/dev/bge/if_bgereg.h#31 integrate
.. //depot/projects/hammer/sys/dev/ed/if_ed_isa.c#14 integrate
.. //depot/projects/hammer/sys/dev/em/if_em.c#57 integrate
.. //depot/projects/hammer/sys/dev/hme/if_hme.c#26 integrate
.. //depot/projects/hammer/sys/dev/hwpmc/hwpmc_mod.c#11 integrate
.. //depot/projects/hammer/sys/dev/ieee488/pcii.c#5 integrate
.. //depot/projects/hammer/sys/dev/sound/isa/ess.c#12 integrate
.. //depot/projects/hammer/sys/dev/sound/pci/ds1.c#14 integrate
.. //depot/projects/hammer/sys/dev/sound/pci/ich.c#26 integrate
.. //depot/projects/hammer/sys/dev/sound/pcm/dsp.c#25 integrate
.. //depot/projects/hammer/sys/dev/sound/pcm/vchan.c#11 integrate
.. //depot/projects/hammer/sys/dev/syscons/syscons.c#36 integrate
.. //depot/projects/hammer/sys/dev/usb/ehci.c#23 integrate
.. //depot/projects/hammer/sys/dev/usb/ehci_pci.c#18 integrate
.. //depot/projects/hammer/sys/dev/usb/ehcivar.h#9 integrate
.. //depot/projects/hammer/sys/dev/usb/ohci.c#23 integrate
.. //depot/projects/hammer/sys/dev/usb/ohci_pci.c#13 integrate
.. //depot/projects/hammer/sys/dev/usb/uhci.c#20 integrate
.. //depot/projects/hammer/sys/fs/hpfs/hpfs_vnops.c#21 integrate
.. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_denode.c#24 integrate
.. //depot/projects/hammer/sys/fs/ntfs/ntfs_vnops.c#19 integrate
.. //depot/projects/hammer/sys/fs/nwfs/nwfs_node.c#14 integrate
.. //depot/projects/hammer/sys/fs/smbfs/smbfs_node.c#19 integrate
.. //depot/projects/hammer/sys/fs/udf/udf_vnops.c#31 integrate
.. //depot/projects/hammer/sys/geom/eli/g_eli.c#6 integrate
.. //depot/projects/hammer/sys/geom/eli/g_eli_ctl.c#3 integrate
.. //depot/projects/hammer/sys/geom/label/g_label_ntfs.c#4 integrate
.. //depot/projects/hammer/sys/geom/mirror/g_mirror.c#27 integrate
.. //depot/projects/hammer/sys/geom/nop/g_nop.c#9 integrate
.. //depot/projects/hammer/sys/geom/raid3/g_raid3.c#20 integrate
.. //depot/projects/hammer/sys/geom/uzip/g_uzip.c#8 integrate
.. //depot/projects/hammer/sys/geom/zero/g_zero.c#3 integrate
.. //depot/projects/hammer/sys/i386/i386/busdma_machdep.c#28 integrate
.. //depot/projects/hammer/sys/i386/i386/swtch.s#15 integrate
.. //depot/projects/hammer/sys/ia64/ia64/elf_machdep.c#20 integrate
.. //depot/projects/hammer/sys/ia64/ia64/genassym.c#10 integrate
.. //depot/projects/hammer/sys/ia64/ia64/locore.S#7 integrate
.. //depot/projects/hammer/sys/ia64/include/elf.h#4 integrate
.. //depot/projects/hammer/sys/isofs/cd9660/cd9660_node.c#12 integrate
.. //depot/projects/hammer/sys/kern/kern_mutex.c#36 integrate
.. //depot/projects/hammer/sys/kern/kern_proc.c#52 integrate
.. //depot/projects/hammer/sys/kern/kern_sx.c#9 integrate
.. //depot/projects/hammer/sys/kern/md5c.c#7 integrate
.. //depot/projects/hammer/sys/kern/subr_bus.c#46 integrate
.. //depot/projects/hammer/sys/kern/subr_disk.c#16 integrate
.. //depot/projects/hammer/sys/kern/subr_lock.c#1 branch
.. //depot/projects/hammer/sys/kern/subr_taskqueue.c#16 integrate
.. //depot/projects/hammer/sys/kern/subr_turnstile.c#18 integrate
.. //depot/projects/hammer/sys/kern/subr_witness.c#53 integrate
.. //depot/projects/hammer/sys/kern/vfs_aio.c#39 integrate
.. //depot/projects/hammer/sys/kern/vfs_bio.c#64 integrate
.. //depot/projects/hammer/sys/kern/vfs_mount.c#66 integrate
.. //depot/projects/hammer/sys/libkern/gets.c#2 integrate
.. //depot/projects/hammer/sys/modules/xfs/Makefile#2 integrate
.. //depot/projects/hammer/sys/net/if_arcsubr.c#19 integrate
.. //depot/projects/hammer/sys/net/if_bridge.c#21 integrate
.. //depot/projects/hammer/sys/net/if_bridgevar.h#7 integrate
.. //depot/projects/hammer/sys/net/if_ef.c#16 integrate
.. //depot/projects/hammer/sys/net/if_ethersubr.c#54 integrate
.. //depot/projects/hammer/sys/net/if_fddisubr.c#20 integrate
.. //depot/projects/hammer/sys/net/if_fwsubr.c#15 integrate
.. //depot/projects/hammer/sys/net/if_iso88025subr.c#18 integrate
.. //depot/projects/hammer/sys/net/if_ppp.c#26 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.c#27 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.h#14 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_node.c#31 integrate
.. //depot/projects/hammer/sys/netgraph/netflow/ng_netflow.c#8 integrate
.. //depot/projects/hammer/sys/netgraph/ng_frame_relay.c#6 integrate
.. //depot/projects/hammer/sys/netgraph/ng_lmi.c#9 integrate
.. //depot/projects/hammer/sys/netgraph/ng_parse.c#11 integrate
.. //depot/projects/hammer/sys/netinet/in_var.h#11 integrate
.. //depot/projects/hammer/sys/netinet/ip_fastfwd.c#26 integrate
.. //depot/projects/hammer/sys/netinet/ip_fw2.c#72 integrate
.. //depot/projects/hammer/sys/netinet/ip_input.c#57 integrate
.. //depot/projects/hammer/sys/netinet/ip_output.c#56 integrate
.. //depot/projects/hammer/sys/netinet/tcp_input.c#58 integrate
.. //depot/projects/hammer/sys/netinet/tcp_syncache.c#32 integrate
.. //depot/projects/hammer/sys/netinet/udp_usrreq.c#38 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_output.c#38 integrate
.. //depot/projects/hammer/sys/netinet6/ipcomp_input.c#4 integrate
.. //depot/projects/hammer/sys/netipx/ipx_input.c#8 integrate
.. //depot/projects/hammer/sys/netipx/spx_usrreq.c#16 integrate
.. //depot/projects/hammer/sys/netncp/ncp_conn.c#8 integrate
.. //depot/projects/hammer/sys/netsmb/smb_subr.c#10 integrate
.. //depot/projects/hammer/sys/nfs4client/nfs4_vfsops.c#17 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_lock.c#14 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_node.c#22 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_socket.c#34 integrate
.. //depot/projects/hammer/sys/pccard/driver.h#2 delete
.. //depot/projects/hammer/sys/pccard/i82365.h#5 delete
.. //depot/projects/hammer/sys/pccard/meciareg.h#2 delete
.. //depot/projects/hammer/sys/pccard/pccard_nbk.h#3 delete
.. //depot/projects/hammer/sys/pccard/pcic_pci.h#4 delete
.. //depot/projects/hammer/sys/pccard/pcicvar.h#3 delete
.. //depot/projects/hammer/sys/pccard/slot.h#5 delete
.. //depot/projects/hammer/sys/pci/agp.c#18 integrate
.. //depot/projects/hammer/sys/pci/if_sk.c#46 integrate
.. //depot/projects/hammer/sys/pci/if_skreg.h#14 integrate
.. //depot/projects/hammer/sys/pci/if_xl.c#62 integrate
.. //depot/projects/hammer/sys/rpc/rpcclnt.c#13 integrate
.. //depot/projects/hammer/sys/security/mac_bsdextended/mac_bsdextended.c#17 integrate
.. //depot/projects/hammer/sys/sparc64/include/trap.h#4 integrate
.. //depot/projects/hammer/sys/sparc64/include/utrap.h#4 integrate
.. //depot/projects/hammer/sys/sparc64/sparc64/exception.S#16 integrate
.. //depot/projects/hammer/sys/sys/lock.h#12 integrate
.. //depot/projects/hammer/sys/sys/mbuf.h#49 integrate
.. //depot/projects/hammer/sys/sys/md5.h#4 integrate
.. //depot/projects/hammer/sys/sys/mutex.h#22 integrate
.. //depot/projects/hammer/sys/sys/proc.h#93 integrate
.. //depot/projects/hammer/sys/sys/taskqueue.h#10 integrate
.. //depot/projects/hammer/sys/sys/tree.h#7 integrate
.. //depot/projects/hammer/sys/sys/turnstile.h#6 integrate
.. //depot/projects/hammer/sys/sys/user.h#20 integrate
.. //depot/projects/hammer/sys/sys/vnode.h#63 integrate
.. //depot/projects/hammer/tools/tools/mfc/mfc.pl#2 integrate
.. //depot/projects/hammer/tools/tools/nanobsd/nanobsd.sh#8 integrate

Differences ...

==== //depot/projects/hammer/COPYRIGHT#4 (text+ko) ====

@@ -1,10 +1,10 @@
-# $FreeBSD: src/COPYRIGHT,v 1.6 2005/01/01 07:29:19 sobomax Exp $
+# $FreeBSD: src/COPYRIGHT,v 1.7 2006/01/15 22:06:10 imp Exp $
 #	@(#)COPYRIGHT	8.2 (Berkeley) 3/21/94
 
 The compilation of software known as FreeBSD is distributed under the
 following terms:
 
-Copyright (C) 1992-2005 The FreeBSD Project. All rights reserved.
+Copyright (C) 1992-2006 The FreeBSD Project. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions

==== //depot/projects/hammer/ObsoleteFiles.inc#13 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/ObsoleteFiles.inc,v 1.25 2006/01/04 15:54:02 netchild Exp $
+# $FreeBSD: src/ObsoleteFiles.inc,v 1.26 2006/01/18 18:48:42 netchild Exp $
 #
 # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and
 # directories (OLD_DIRS) which should get removed at an update. Recently
@@ -2589,8 +2589,6 @@
 OLD_FILES+=usr/share/games/cribbage.instr
 OLD_FILES+=usr/share/games/fish.instr
 OLD_FILES+=usr/share/games/wump.info
-OLD_FILES+=usr/share/tmac/mm/locale
-OLD_FILES+=usr/share/tmac/mm/se_locale
 OLD_FILES+=usr/games/hide/adventure
 OLD_FILES+=usr/games/hide/arithmetic
 OLD_FILES+=usr/games/hide/atc

==== //depot/projects/hammer/UPDATING#90 (text+ko) ====

@@ -21,6 +21,21 @@
 	developers choose to disable these features on build machines
 	to maximize performance.
 
+20060118:
+	This actually occured some time ago, but installing the kernel
+	now also installs a bunch of symbol files for the kernel modules.
+	This increases the size of /boot/kernel to about 67Mbytes. You
+	will need twice this if you will eventually back this up to kernel.old
+	on your next install.
+	If you have a shortage of room in your root partition, you should add
+	-DINSTALL_NODEBUG to your make arguments or add INSTALL_NODEBUG="yes"
+	to your /etc/make.conf.
+
+20060113:
+	libc's malloc implementation has been replaced.  This change has the
+	potential to uncover application bugs that previously went unnoticed.
+	See the malloc(3) manual page for more details.
+
 20060112:
 	The generic netgraph(4) cookie has been changed. If you upgrade
 	kernel passing this point, you also need to upgrade userland
@@ -478,4 +493,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.433 2006/01/13 17:32:22 glebius Exp $
+$FreeBSD: src/UPDATING,v 1.436 2006/01/18 20:36:58 pav Exp $

==== //depot/projects/hammer/contrib/bind9/FREEBSD-Upgrade#7 (text+ko) ====

@@ -31,6 +31,8 @@
    As of 28 December 2005, we have no local patches against BIND 9; thus
    there are no conflicts to merge.  This may change at a later date.
 
+5a) Remove any files that are no longer in the tarball from the vendor branch.
+
 6) Remove any references to the {bin,lib}/tests and docutil
    directories from the configure and Makefile templates:
 
@@ -114,4 +116,4 @@
 					-- des@FreeBSD.org
 					-- dougb@FreeBSD.org
 
-$FreeBSD: src/contrib/bind9/FREEBSD-Upgrade,v 1.6 2005/12/29 04:41:09 dougb Exp $
+$FreeBSD: src/contrib/bind9/FREEBSD-Upgrade,v 1.7 2006/01/14 02:45:49 dougb Exp $

==== //depot/projects/hammer/contrib/libpcap/pcap-bpf.c#8 (text+ko) ====

@@ -746,7 +746,7 @@
 		u_int i;
 		int is_ethernet;
 
-		bdl.bfl_list = (u_int *) malloc(sizeof(u_int) * bdl.bfl_len + 1);
+		bdl.bfl_list = (u_int *) malloc(sizeof(u_int) * (bdl.bfl_len + 1));
 		if (bdl.bfl_list == NULL) {
 			(void)snprintf(ebuf, PCAP_ERRBUF_SIZE, "malloc: %s",
 			    pcap_strerror(errno));

==== //depot/projects/hammer/etc/portsnap.conf#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/etc/portsnap.conf,v 1.2 2005/09/06 19:28:37 cperciva Exp $
+# $FreeBSD: src/etc/portsnap.conf,v 1.3 2006/01/18 03:40:57 cperciva Exp $
 
 # Default directory where compressed snapshots are stored.
 # WORKDIR=/var/db/portsnap
@@ -20,5 +20,11 @@
 # Example of ignoring parts of the ports tree.  If you know that you
 # absolutely will not need certain parts of the tree, this will save
 # some bandwidth and disk space.  See the manual page for more details.
+#
+# WARNING: Working with an incomplete ports tree is not supported and
+# can cause problems due to missing dependencies.  If you have REFUSE
+# directives and experience problems, remove them and update your tree
+# before asking for help on the mailing lists.
+#
 # REFUSE arabic chinese french german hebrew hungarian japanese
 # REFUSE korean polish portuguese russian ukrainian vietnamese

==== //depot/projects/hammer/etc/rc.d/addswap#5 (text+ko) ====

@@ -2,7 +2,7 @@
 #
 # Add additional swap files
 #
-# $FreeBSD: src/etc/rc.d/addswap,v 1.4 2004/10/07 13:55:25 mtm Exp $
+# $FreeBSD: src/etc/rc.d/addswap,v 1.6 2006/01/17 19:29:31 philip Exp $
 #
 
 # PROVIDE: addswap
@@ -22,7 +22,7 @@
 	[Nn][Oo] | '')
 		;;
 	*)
-		if [ -w "${swapfile}" -a -c /dev/mdctl ]; then
+		if [ -w "${swapfile}" ]; then
 			echo "Adding ${swapfile} as additional swap"
 			mdev=`mdconfig -a -t vnode -f ${swapfile}` && swapon /dev/${mdev}
 		fi

==== //depot/projects/hammer/etc/rc.d/ntpdate#13 (text+ko) ====

@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/ntpdate,v 1.14 2005/12/21 09:48:41 dougb Exp $
+# $FreeBSD: src/etc/rc.d/ntpdate,v 1.15 2006/01/16 06:03:42 dougb Exp $
 #
 
 # PROVIDE: ntpdate
-# REQUIRE: NETWORKING syslogd
+# REQUIRE: NETWORKING syslogd named
 # KEYWORD: nojail
 
 . /etc/rc.subr

==== //depot/projects/hammer/etc/rc.d/root#10 (text+ko) ====

@@ -1,7 +1,7 @@
 #!/bin/sh
 #
 # $NetBSD: root,v 1.2 2000/05/13 08:45:09 lukem Exp $
-# $FreeBSD: src/etc/rc.d/root,v 1.11 2005/12/02 21:33:43 ru Exp $
+# $FreeBSD: src/etc/rc.d/root,v 1.13 2006/01/18 04:53:48 wes Exp $
 #
 
 # PROVIDE: root
@@ -34,9 +34,7 @@
 
 	# If we booted a special kernel remove the record
 	# so we will boot the default kernel next time.
-	if [ -e /boot/nextkernel ]; then
-		rm -f /boot/nextkernel
-	fi
+	/sbin/nextboot -D
 }
 
 load_rc_config $name

==== //depot/projects/hammer/gnu/usr.bin/cc/cc_int/Makefile#13 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/gnu/usr.bin/cc/cc_int/Makefile,v 1.45 2004/10/24 15:32:27 ru Exp $
+# $FreeBSD: src/gnu/usr.bin/cc/cc_int/Makefile,v 1.46 2006/01/14 20:48:50 ru Exp $
 
 .include "../Makefile.inc"
 
@@ -67,7 +67,8 @@
 SRCS+=	insn-$F.c
 CLEANFILES+= insn-$F.c
 insn-$F.c: ${.OBJDIR}/../cc_tools/gen$F ${MD_FILE}
-	${.OBJDIR}/../cc_tools/gen$F ${MD_FILE} > insn-$F.c
+	${.OBJDIR}/../cc_tools/gen$F ${MD_FILE} > insn-$F.c \
+	    ${.MAKEFLAGS:M-s:S;-s;2>/dev/null;}
 .endfor
 .for F in modes
 SRCS+=	insn-$F.c

==== //depot/projects/hammer/lib/libarchive/Makefile#30 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libarchive/Makefile,v 1.42 2005/11/10 18:07:05 ru Exp $
+# $FreeBSD: src/lib/libarchive/Makefile,v 1.44 2006/01/18 06:26:42 kientzle Exp $
 
 # This Makefile is for use with the FreeBSD buid system.  For
 # non-FreeBSD systems, you should first "make distfile" on FreeBSD,
@@ -25,7 +25,7 @@
 # Note: Do NOT reset this to zero after bumping ARCHIVE_API_MAJOR!
 ARCHIVE_API_MINOR=	2
 # Bumped often. ;-)
-ARCHIVE_API_REVISION=	36
+ARCHIVE_API_REVISION=	37
 # Full libarchive version combines the above three numbers.
 VERSION= ${ARCHIVE_API_MAJOR}.${ARCHIVE_API_MINOR}.${ARCHIVE_API_REVISION}
 

==== //depot/projects/hammer/lib/libarchive/archive.h.in#9 (text+ko) ====

@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.26 2005/11/08 07:41:03 kientzle Exp $
+ * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.27 2006/01/17 03:40:42 kientzle Exp $
  */
 
 #ifndef ARCHIVE_H_INCLUDED
@@ -180,6 +180,7 @@
 int		 archive_read_support_format_gnutar(struct archive *);
 int		 archive_read_support_format_iso9660(struct archive *);
 int		 archive_read_support_format_tar(struct archive *);
+int		 archive_read_support_format_tp(struct archive *);
 int		 archive_read_support_format_zip(struct archive *);
 
 

==== //depot/projects/hammer/lib/libarchive/archive_read.c#15 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.19 2005/09/24 21:15:00 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.20 2006/01/17 04:49:04 kientzle Exp $");
 
 #include <errno.h>
 #include <stdio.h>
@@ -107,8 +107,8 @@
  */
 int
 archive_read_open(struct archive *a, void *client_data,
-    archive_open_callback *opener, archive_read_callback *reader,
-    archive_close_callback *closer)
+    archive_open_callback *client_opener, archive_read_callback *client_reader,
+    archive_close_callback *client_closer)
 {
 	const void *buffer;
 	ssize_t bytes_read;
@@ -117,36 +117,59 @@
 
 	__archive_check_magic(a, ARCHIVE_READ_MAGIC, ARCHIVE_STATE_NEW, "archive_read_open");
 
-	if (reader == NULL)
+	if (client_reader == NULL)
 		__archive_errx(1,
 		    "No reader function provided to archive_read_open");
 
-	a->client_reader = reader;
-	a->client_opener = opener;
-	a->client_closer = closer;
-	a->client_data = client_data;
+	/*
+	 * Set these NULL initially.  If the open or initial read fails,
+	 * we'll leave them NULL to indicate that the file is invalid.
+	 * (In particular, this helps ensure that the closer doesn't
+	 * get called more than once.)
+	 */
+	a->client_opener = NULL;
+	a->client_reader = NULL;
+	a->client_closer = NULL;
+	a->client_data = NULL;
 
 	/* Open data source. */
-	if (a->client_opener != NULL) {
-		e =(a->client_opener)(a, a->client_data);
-		if (e != 0)
+	if (client_opener != NULL) {
+		e =(client_opener)(a, client_data);
+		if (e != 0) {
+			/* If the open failed, call the closer to clean up. */
+			if (client_closer)
+				(client_closer)(a, client_data);
 			return (e);
+		}
 	}
 
 	/* Read first block now for format detection. */
-	bytes_read = (a->client_reader)(a, a->client_data, &buffer);
+	bytes_read = (client_reader)(a, client_data, &buffer);
 
-	/* client_reader should have already set error information. */
-	if (bytes_read < 0)
+	if (bytes_read < 0) {
+		/* If the first read fails, close before returning error. */
+		if (client_closer)
+			(client_closer)(a, client_data);
+		/* client_reader should have already set error information. */
 		return (ARCHIVE_FATAL);
+	}
 
 	/* An empty archive is a serious error. */
 	if (bytes_read == 0) {
 		archive_set_error(a, ARCHIVE_ERRNO_FILE_FORMAT,
 		    "Empty input file");
+		/* Close the empty file. */
+		if (client_closer)
+			(client_closer)(a, client_data);
 		return (ARCHIVE_FATAL);
 	}
 
+	/* Now that the client callbacks have worked, remember them. */
+	a->client_opener = client_opener; /* Do we need to remember this? */
+	a->client_reader = client_reader;
+	a->client_closer = client_closer;
+	a->client_data = client_data;
+
 	/* Select a decompression routine. */
 	high_bidder = choose_decompressor(a, buffer, bytes_read);
 	if (high_bidder < 0)

==== //depot/projects/hammer/lib/libarchive/archive_read_open_fd.c#5 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_fd.c,v 1.4 2005/09/21 04:25:05 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_open_fd.c,v 1.5 2006/01/17 04:49:04 kientzle Exp $");
 
 #include <sys/stat.h>
 #include <errno.h>
@@ -99,7 +99,8 @@
 	struct read_fd_data *mine = client_data;
 
 	(void)a; /* UNUSED */
-	free(mine->buffer);
+	if (mine->buffer != NULL)
+		free(mine->buffer);
 	free(mine);
 	return (ARCHIVE_OK);
 }

==== //depot/projects/hammer/lib/libarchive/libarchive-formats.5#10 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libarchive/libarchive-formats.5,v 1.9 2005/11/17 12:59:59 ru Exp $
+.\" $FreeBSD: src/lib/libarchive/libarchive-formats.5,v 1.10 2006/01/17 03:40:42 kientzle Exp $
 .\"
 .Dd April 27, 2004
 .Dt libarchive-formats 3
@@ -235,6 +235,16 @@
 .Dq deflate
 algorithm.
 Older zip compression algorithms are not supported.
+.Ss Tp Formats
+The libarchive library has experimental support for tp format,
+which was used in Fourth Edition through Sixth Edition Unix.
+(It was supplanted by tar in Seventh Edition Unix.)
+There were several distinct variants of this format; libarchive
+supports the original tp format and the itp variant.
+Currently, tp format support is not enabled by
+.Fn archive_read_support_format_all ,
+it must be explicitly enabled by calling
+.Fn archive_read_support_format_tp .
 .Sh SEE ALSO
 .Xr cpio 1 ,
 .Xr mkisofs 1 ,

==== //depot/projects/hammer/lib/libc/stdlib/malloc.3#7 (text+ko) ====

@@ -13,11 +13,7 @@
 .\" 2. Redistributions in binary form must reproduce the above copyright
 .\"    notice, this list of conditions and the following disclaimer in the
 .\"    documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\"    must display the following acknowledgement:
-.\"	This product includes software developed by the University of
-.\"	California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
+.\" 3. Neither the name of the University nor the names of its contributors
 .\"    may be used to endorse or promote products derived from this software
 .\"    without specific prior written permission.
 .\"
@@ -34,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)malloc.3	8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/stdlib/malloc.3,v 1.64 2005/11/23 20:34:37 ru Exp $
+.\" $FreeBSD: src/lib/libc/stdlib/malloc.3,v 1.65 2006/01/13 18:38:56 jasone Exp $
 .\"
-.Dd August 19, 2004
+.Dd January 12, 2006
 .Dt MALLOC 3
 .Os
 .Sh NAME
@@ -67,25 +63,9 @@
 .Fn malloc
 function allocates
 .Fa size
-bytes of memory.
+bytes of uninitialized memory.
 The allocated space is suitably aligned (after possible pointer coercion)
 for storage of any type of object.
-If the space is at least
-.Va pagesize
-bytes in length (see
-.Xr getpagesize 3 ) ,
-the returned memory will be page boundary aligned as well.
-If
-.Fn malloc
-fails, a
-.Dv NULL
-pointer is returned.
-.Pp
-Note that
-.Fn malloc
-does
-.Em NOT
-normally initialize the returned memory to zero bytes.
 .Pp
 The
 .Fn calloc
@@ -113,20 +93,14 @@
 old sizes.
 If the new size is larger,
 the value of the newly allocated portion of the memory is undefined.
-If the requested memory cannot be allocated,
-.Dv NULL
-is returned and
-the memory referenced by
+Upon success, the memory referenced by
 .Fa ptr
-is valid and unchanged.
-If memory can be allocated, the memory referenced by
-.Fa ptr
 is freed and a pointer to the newly allocated memory is returned.
 Note that
 .Fn realloc
 and
 .Fn reallocf
-may move the memory allocation resulting in a different return value than
+may move the memory allocation, resulting in a different return value than
 .Fa ptr .
 If
 .Fa ptr
@@ -182,34 +156,46 @@
 The process will call
 .Xr abort 3
 in these cases.
+.It C
+Increase/decrease the size of the cache by a factor of two.
+The default cache size is 256 objects for each arena.
+This option can be specified multiple times.
 .It J
 Each byte of new memory allocated by
 .Fn malloc ,
 .Fn realloc
 or
 .Fn reallocf
-as well as all memory returned by
+will be initialized to 0xa5.
+All memory returned by
 .Fn free ,
 .Fn realloc
 or
 .Fn reallocf
-will be initialized to 0xd0.
-This options also sets the
-.Dq R
-option.
+will be initialized to 0x5a.
 This is intended for debugging and will impact performance negatively.
-.It H
-Pass a hint to the kernel about pages unused by the allocation functions.
-This will help performance if the system is paging excessively.
-This option is off by default.
-.It R
-Causes the
-.Fn realloc
-and
-.Fn reallocf
-functions to always reallocate memory even if the initial allocation was
-sufficiently large.
-This can substantially aid in compacting memory.
+.It K
+Increase/decrease the virtual memory chunk size by a factor of two.
+The default chunk size is 16 MB.
+This option can be specified multiple times.
+.It N
+Increase/decrease the number of arenas by a factor of two.
+The default number of arenas is twice the number of CPUs, or one if there is a
+single CPU.
+This option can be specified multiple times.
+.It P
+Various statistics are printed at program exit via an
+.Xr atexit 3
+function.
+This has the potential to cause deadlock for a multi-threaded process that exits
+while one or more threads are executing in the memory allocation functions.
+Therefore, this option should only be used with care; it is primarily intended
+as a performance tuning aid during application development.
+.It Q
+Increase/decrease the size of the allocation quantum by a factor of two.
+The default quantum is the minimum allowed by the architecture (typically 8 or
+16 bytes).
+This option can be specified multiple times.
 .It U
 Generate
 .Dq utrace
@@ -241,20 +227,18 @@
 _malloc_options = "X";
 .Ed
 .It Z
-This option implicitly sets the
-.Dq J
+Each byte of new memory allocated by
+.Fn malloc ,
+.Fn realloc
+or
+.Fn reallocf
+will be initialized to 0x0.
+Note that this initialization only happens once for each byte, so
+.Fn realloc
 and
-.Dq R
-options, and then zeros out the bytes that were requested.
+.Fn reallocf
+calls do not zero memory that was previously allocated.
 This is intended for debugging and will impact performance negatively.
-.It <
-Reduce the size of the cache by a factor of two.
-The default cache size is 16 pages.
-This option can be specified multiple times.
-.It >
-Double the size of the cache by a factor of two.
-The default cache size is 16 pages.
-This option can be specified multiple times.
 .El
 .Pp
 The
@@ -301,31 +285,63 @@
 The
 .Fn free
 function returns no value.
-.Sh DEBUGGING MALLOC PROBLEMS
-The major difference between this implementation and other allocation
-implementations is that the free pages are not accessed unless allocated,
-and are aggressively returned to the kernel for reuse.
-.Bd -ragged -offset indent
-Most allocation implementations will store a data structure containing a
-linked list in the free chunks of memory,
-used to tie all the free memory together.
-That can be suboptimal,
-as every time the free-list is traversed,
-the otherwise unused, and likely paged out,
-pages are faulted into primary memory.
-On systems which are paging,
-this can result in a factor of five increase in the number of page-faults
-done by a process.
-.Ed
+.Sh IMPLEMENTATION NOTES
+This allocator uses multiple arenas in order to reduce lock contention for
+threaded programs on multi-processor systems.
+This works well with regard to threading scalability, but incurs some costs.
+There is a small fixed per-arena overhead, and additionally, arenas manage
+memory completely independently of each other, which means a small fixed
+increase in overall memory fragmentation.
+These overheads aren't generally an issue, given the number of arenas normally
+used.
+Note that using substantially more arenas than the default is not likely to
+improve performance, mainly due to reduced cache performance.
+However, it may make sense to reduce the number of arenas if an application
+does not make much use of the allocation functions.
 .Pp
-A side effect of this architecture is that many minor transgressions on
-the interface which would traditionally not be detected are in fact
-detected.
-As a result, programs that have been running happily for
-years may suddenly start to complain loudly, when linked with this
-allocation implementation.
+This allocator uses a novel approach to object caching.
+For objects below a size threshold (use the
+.Dq P
+option to discover the threshold), full deallocation and attempted coalescence
+with adjacent memory regions are delayed.
+This is so that if the application requests an allocation of that size soon
+thereafter, the request can be met much more quickly.
+Most applications heavily use a small number of object sizes, so this caching
+has the potential to have a large positive performance impact.
+However, the effectiveness of the cache depends on the cache being large enough
+to absorb typical fluctuations in the number of allocated objects.
+If an application routinely fluctuates by thousands of objects, then it may
+make sense to increase the size of the cache.
+Conversely, if an application's memory usage fluctuates very little, it may
+make sense to reduce the size of the cache, so that unused regions can be
+coalesced sooner.
 .Pp
-The first and most important thing to do is to set the
+This allocator is very aggressive about tightly packing objects in memory, even
+for objects much larger than the system page size.
+For programs that allocate objects larger than half the system page size, this
+has the potential to reduce memory footprint in comparison to other allocators.
+However, it has some side effects that are important to keep in mind.
+First, even multi-page objects can start at non-page-aligned addresses, since
+the implementation only guarantees quantum alignment.
+Second, this tight packing of objects can cause objects to share L1 cache
+lines, which can be a performance issue for multi-threaded applications.
+There are two ways to approach these issues.
+First,
+.Fn posix_memalign
+provides the ability to align allocations as needed.
+By aligning an allocation to at least the L1 cache line size, and padding the
+allocation request by one cache line unit, the programmer can rest assured that
+no cache line sharing will occur for the object.
+Second, the
+.Dq Q
+option can be used to force all allocations to be aligned with the L1 cache
+lines.
+This approach should be used with care though, because although easy to
+implement, it means that all allocations must be at least as large as the
+quantum, which can cause severe internal fragmentation if the application
+allocates many small objects.
+.Sh DEBUGGING MALLOC PROBLEMS
+The first thing to do is to set the
 .Dq A
 option.
 This option forces a coredump (if possible) at the first sign of trouble,
@@ -335,16 +351,15 @@
 options and symbols for debugger support.
 .Pp
 If the program starts to give unusual results, coredump or generally behave
-differently without emitting any of the messages listed in the next
+differently without emitting any of the messages mentioned in the next
 section, it is likely because it depends on the storage being filled with
 zero bytes.
-Try running it with
+Try running it with the
 .Dq Z
 option set;
 if that improves the situation, this diagnosis has been confirmed.
 If the program still misbehaves,
-the likely problem is accessing memory outside the allocated area,
-more likely after than before the allocated area.
+the likely problem is accessing memory outside the allocated area.
 .Pp
 Alternatively, if the symptoms are not easy to reproduce, setting the
 .Dq J
@@ -356,20 +371,14 @@
 all calls made to these functions.
 .Pp
 Unfortunately this implementation does not provide much detail about
-the problems it detects, the performance impact for storing such information
+the problems it detects; the performance impact for storing such information
 would be prohibitive.
-There are a number of allocation implementations available on the 'Net
-which focus on detecting and pinpointing problems by trading performance
-for extra sanity checks and detailed diagnostics.
+There are a number of allocation implementations available on the Internet
+which focus on detecting and pinpointing problems by trading performance for
+extra sanity checks and detailed diagnostics.
 .Sh DIAGNOSTIC MESSAGES
-If
-.Fn malloc ,
-.Fn calloc ,
-.Fn realloc
-or
-.Fn free
-detect an error or warning condition,
-a message will be printed to file descriptor STDERR_FILENO.
+If any of the memory allocation/deallocation functions detect an error or
+warning condition, a message will be printed to file descriptor STDERR_FILENO.
 Errors will result in the process dumping core.
 If the
 .Dq A
@@ -383,65 +392,11 @@
 .Dv stderr
 file descriptor is not suitable for this.
 Please note that doing anything which tries to allocate memory in
-this function will assure death of the process.
+this function is likely to result in a crash or deadlock.
 .Pp
-The following is a brief description of possible error messages and
-their meanings:
-.Pp
+All messages are prefixed by:
 .Bl -diag
-.It "(ES): mumble mumble mumble"
-The allocation functions were compiled with
-.Dq EXTRA_SANITY
-defined, and an error was found during the additional error checking.
-Consult the source code for further information.
-.It "mmap(2) failed, check limits"
-This most likely means that the system is dangerously overloaded or that
-the process' limits are incorrectly specified.
-.It "freelist is destroyed"
-The internal free-list has been corrupted.
-.It "out of memory"
-The
-.Dq X
-option was specified and an allocation of memory failed.
-.El
-.Pp
-The following is a brief description of possible warning messages and
-their meanings:
-.Bl -diag
-.It "chunk/page is already free"
-The process attempted to
-.Fn free
-memory which had already been freed.
-.It "junk pointer, ..."
-A pointer specified to one of the allocation functions points outside the
-bounds of the memory of which they are aware.
-.It "malloc() has never been called"
-No memory has been allocated,
-yet something is being freed or
-realloc'ed.
-.It "modified (chunk-/page-) pointer"
-The pointer passed to
-.Fn free
-or
-.Fn realloc
-has been modified.
-.It "pointer to wrong page"
-The pointer that
-.Fn free ,
-.Fn realloc ,
-or
-.Fn reallocf
-is trying to free does not reference a possible page.
-.It "recursive call"
-A process has attempted to call an allocation function recursively.
-This is not permitted.
-In particular, signal handlers should not
-attempt to allocate memory.
-.It "unknown char in MALLOC_OPTIONS"
-An unknown option was specified.
-Even with the
-.Dq A
-option set, this warning is still only a warning.
+.It <progname>: (malloc)
 .El
 .Sh ENVIRONMENT
 The following environment variables affect the execution of the allocation
@@ -454,11 +409,10 @@
 allocation functions.
 .El
 .Sh EXAMPLES
-To set a systemwide reduction of cache size, and to dump core whenever
-a problem occurs:
+To dump core whenever a problem occurs:
 .Pp
 .Bd -literal -offset indent
-ln -s 'A<' /etc/malloc.conf
+ln -s 'A' /etc/malloc.conf
 .Ed
 .Pp
 To specify in the source that a program does no return value checking
@@ -467,12 +421,12 @@
 _malloc_options = "X";
 .Ed
 .Sh SEE ALSO
-.Xr brk 2 ,
 .Xr mmap 2 ,
 .Xr alloca 3 ,
+.Xr atexit 3 ,
 .Xr getpagesize 3 ,
-.Xr memory 3
-.Pa /usr/share/doc/papers/malloc.ascii.gz
+.Xr memory 3 ,
+.Xr posix_memalign 3
 .Sh STANDARDS

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



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