Date: Mon, 22 Dec 2003 19:19:27 -0800 (PST) From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 44223 for review Message-ID: <200312230319.hBN3JRW8050083@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=44223 Change 44223 by peter@peter_daintree on 2003/12/22 19:18:49 IFC @44221 Affected files ... .. //depot/projects/hammer/UPDATING#30 integrate .. //depot/projects/hammer/bin/chmod/chmod.c#5 integrate .. //depot/projects/hammer/contrib/gcc/config/alpha/freebsd.h#5 integrate .. //depot/projects/hammer/contrib/gcc/config/i386/freebsd.h#10 integrate .. //depot/projects/hammer/contrib/gcc/config/i386/freebsd64.h#5 integrate .. //depot/projects/hammer/contrib/gcc/config/sparc/freebsd.h#7 integrate .. //depot/projects/hammer/etc/defaults/periodic.conf#7 integrate .. //depot/projects/hammer/etc/defaults/rc.conf#18 integrate .. //depot/projects/hammer/etc/devd.conf#7 integrate .. //depot/projects/hammer/etc/mtree/BSD.local.dist#13 integrate .. //depot/projects/hammer/etc/mtree/BSD.usr.dist#16 integrate .. //depot/projects/hammer/etc/rc.d/Makefile#14 integrate .. //depot/projects/hammer/etc/rc.d/mountcritlocal#6 integrate .. //depot/projects/hammer/etc/rc.d/power_profile#1 branch .. //depot/projects/hammer/gnu/usr.bin/cc/cc_tools/auto-host.h#9 integrate .. //depot/projects/hammer/include/fnmatch.h#3 integrate .. //depot/projects/hammer/include/regex.h#3 integrate .. //depot/projects/hammer/kerberos5/Makefile.inc#8 integrate .. //depot/projects/hammer/lib/libc/Makefile#11 integrate .. //depot/projects/hammer/lib/libc/locale/gbk.c#4 integrate .. //depot/projects/hammer/lib/libc/stdlib/atexit.c#2 integrate .. //depot/projects/hammer/lib/libc/stdlib/atexit.h#2 integrate .. //depot/projects/hammer/lib/libc/stdlib/exit.c#2 integrate .. //depot/projects/hammer/lib/libc/string/index.c#3 integrate .. //depot/projects/hammer/lib/libc/string/rindex.c#3 integrate .. //depot/projects/hammer/lib/libc/sys/ktrace.2#6 integrate .. //depot/projects/hammer/lib/libc_r/uthread/uthread_write.c#5 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_echo/pam_echo.c#3 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_group/pam_group.c#2 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_krb5/pam_krb5.c#5 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_ksu/pam_ksu.c#3 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_lastlog/pam_lastlog.c#4 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_login_access/pam_login_access.c#3 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_opieaccess/pam_opieaccess.c#4 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_radius/pam_radius.c#7 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_rhosts/pam_rhosts.c#2 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_securetty/pam_securetty.c#2 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_unix/pam_unix.c#6 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_kern.c#28 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_private.h#21 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_create.c#7 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_kern.c#8 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_private.h#10 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_resume_np.c#3 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_setschedparam.c#3 integrate .. //depot/projects/hammer/lib/libusbhid/usbhid.3#5 integrate .. //depot/projects/hammer/libexec/rshd/rshd.8#3 integrate .. //depot/projects/hammer/libexec/rtld-elf/amd64/lockdflt.c#5 integrate .. //depot/projects/hammer/libexec/rtld-elf/amd64/reloc.c#9 integrate .. //depot/projects/hammer/libexec/rtld-elf/amd64/rtld_machdep.h#6 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#53 integrate .. //depot/projects/hammer/release/i386/drivers.conf#16 integrate .. //depot/projects/hammer/sbin/fdisk/fdisk.c#11 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw.8#15 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw2.c#17 integrate .. //depot/projects/hammer/share/colldef/Makefile#10 integrate .. //depot/projects/hammer/share/colldef/be_BY.CP1131.src#1 branch .. //depot/projects/hammer/share/colldef/be_BY.CP1251.src#1 branch .. //depot/projects/hammer/share/colldef/be_BY.ISO8859-5.src#1 branch .. //depot/projects/hammer/share/colldef/map.CP1131#1 branch .. //depot/projects/hammer/share/man/man4/Makefile#31 integrate .. //depot/projects/hammer/share/man/man4/acpi.4#15 integrate .. //depot/projects/hammer/share/man/man4/ata.4#6 integrate .. //depot/projects/hammer/share/man/man4/ath.4#9 integrate .. //depot/projects/hammer/share/man/man4/firewire.4#5 integrate .. //depot/projects/hammer/share/man/man4/fpa.4#3 integrate .. //depot/projects/hammer/share/man/man4/fwe.4#3 integrate .. //depot/projects/hammer/share/man/man4/fwohci.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/Makefile#12 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ndis.4#1 branch .. //depot/projects/hammer/share/man/man4/ng_pppoe.4#4 integrate .. //depot/projects/hammer/share/man/man4/pccbb.4#4 integrate .. //depot/projects/hammer/share/man/man4/sbp.4#5 integrate .. //depot/projects/hammer/share/man/man4/sbp_targ.4#2 integrate .. //depot/projects/hammer/share/man/man4/umass.4#10 integrate .. //depot/projects/hammer/share/man/man4/uscanner.4#5 integrate .. //depot/projects/hammer/share/man/man9/Makefile#23 integrate .. //depot/projects/hammer/share/man/man9/cr_seeothergids.9#1 branch .. //depot/projects/hammer/share/man/man9/cr_seeotheruids.9#1 branch .. //depot/projects/hammer/share/man/man9/hexdump.9#2 integrate .. //depot/projects/hammer/share/man/man9/mutex.9#6 integrate .. //depot/projects/hammer/share/man/man9/p_candebug.9#1 branch .. //depot/projects/hammer/share/man/man9/prison_check.9#1 branch .. //depot/projects/hammer/share/mklocale/Makefile#9 integrate .. //depot/projects/hammer/share/mklocale/be_BY.CP1131.src#1 branch .. //depot/projects/hammer/share/mklocale/zh_HK.Big5HKSCS.src#1 branch .. //depot/projects/hammer/share/monetdef/Makefile#9 integrate .. //depot/projects/hammer/share/monetdef/be_BY.CP1131.src#1 branch .. //depot/projects/hammer/share/monetdef/be_BY.CP1251.src#1 branch .. //depot/projects/hammer/share/monetdef/be_BY.ISO8859-5.src#1 branch .. //depot/projects/hammer/share/msgdef/Makefile#9 integrate .. //depot/projects/hammer/share/msgdef/be_BY.CP1131.src#1 branch .. //depot/projects/hammer/share/msgdef/be_BY.CP1251.src#1 branch .. //depot/projects/hammer/share/msgdef/be_BY.ISO8859-5.src#1 branch .. //depot/projects/hammer/share/numericdef/Makefile#8 integrate .. //depot/projects/hammer/share/numericdef/be_BY.CP1251.src#1 branch .. //depot/projects/hammer/share/syscons/fonts/INDEX.fonts#4 integrate .. //depot/projects/hammer/share/syscons/fonts/Makefile#3 integrate .. //depot/projects/hammer/share/syscons/fonts/swiss-1131-8x16.fnt#1 branch .. //depot/projects/hammer/share/syscons/fonts/swiss-1251-8x16.fnt#1 branch .. //depot/projects/hammer/share/syscons/keymaps/INDEX.keymaps#7 integrate .. //depot/projects/hammer/share/syscons/keymaps/Makefile#7 integrate .. //depot/projects/hammer/share/syscons/keymaps/by.cp1131.kbd#1 branch .. //depot/projects/hammer/share/syscons/keymaps/by.cp1251.kbd#1 branch .. //depot/projects/hammer/share/syscons/keymaps/by.iso5.kbd#1 branch .. //depot/projects/hammer/share/timedef/Makefile#9 integrate .. //depot/projects/hammer/share/timedef/be_BY.CP1131.src#1 branch .. //depot/projects/hammer/share/timedef/be_BY.CP1251.src#1 branch .. //depot/projects/hammer/share/timedef/be_BY.ISO8859-5.src#1 branch .. //depot/projects/hammer/sys/alpha/alpha/db_trace.c#5 integrate .. //depot/projects/hammer/sys/alpha/alpha/dump_machdep.c#6 integrate .. //depot/projects/hammer/sys/alpha/alpha/elf_machdep.c#9 integrate .. //depot/projects/hammer/sys/alpha/linux/linux_sysvec.c#8 integrate .. //depot/projects/hammer/sys/alpha/pci/apecs.c#7 integrate .. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#12 integrate .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#51 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#21 integrate .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#50 integrate .. //depot/projects/hammer/sys/amd64/include/apicreg.h#9 integrate .. //depot/projects/hammer/sys/amd64/include/param.h#14 integrate .. //depot/projects/hammer/sys/boot/i386/boot0/boot0.s#5 integrate .. //depot/projects/hammer/sys/boot/i386/cdboot/cdboot.s#2 integrate .. //depot/projects/hammer/sys/boot/ofw/common/main.c#3 integrate .. //depot/projects/hammer/sys/boot/ofw/libofw/devicename.c#5 integrate .. //depot/projects/hammer/sys/boot/ofw/libofw/elf_freebsd.c#4 integrate .. //depot/projects/hammer/sys/boot/ofw/libofw/libofw.h#3 integrate .. //depot/projects/hammer/sys/boot/ofw/libofw/ofw_copy.c#2 integrate .. //depot/projects/hammer/sys/boot/ofw/libofw/ofw_disk.c#4 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_misc.c#7 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#6 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#6 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#6 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#6 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_util.h#3 integrate .. //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#9 integrate .. //depot/projects/hammer/sys/compat/ia32/ia32_sysvec.c#9 integrate .. //depot/projects/hammer/sys/compat/ndis/cfg_var.h#1 branch .. //depot/projects/hammer/sys/compat/ndis/hal_var.h#1 branch .. //depot/projects/hammer/sys/compat/ndis/kern_ndis.c#1 branch .. //depot/projects/hammer/sys/compat/ndis/ndis_var.h#1 branch .. //depot/projects/hammer/sys/compat/ndis/ntoskrnl_var.h#1 branch .. //depot/projects/hammer/sys/compat/ndis/pe_var.h#1 branch .. //depot/projects/hammer/sys/compat/ndis/resource_var.h#1 branch .. //depot/projects/hammer/sys/compat/ndis/subr_hal.c#1 branch .. //depot/projects/hammer/sys/compat/ndis/subr_ndis.c#1 branch .. //depot/projects/hammer/sys/compat/ndis/subr_ntoskrnl.c#1 branch .. //depot/projects/hammer/sys/compat/ndis/subr_pe.c#1 branch .. //depot/projects/hammer/sys/compat/svr4/svr4_sysvec.c#10 integrate .. //depot/projects/hammer/sys/conf/files#43 integrate .. //depot/projects/hammer/sys/conf/files.i386#20 integrate .. //depot/projects/hammer/sys/conf/majors#19 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi.c#18 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_cpu.c#11 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_pci_link.c#10 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_pcib.c#12 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/ahc_eisa.c#9 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/ahc_pci.c#12 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/ahd_pci.c#11 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7770.c#8 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx.c#12 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx.h#11 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx.seq#8 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx_inline.h#8 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx_osm.c#9 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx_osm.h#8 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx_pci.c#11 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx.c#10 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx.h#7 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx.reg#6 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx.seq#5 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx_93cx6.c#4 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx_inline.h#6 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx_osm.c#12 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx_osm.h#10 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx_pci.c#9 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic_osm_lib.c#1 branch .. //depot/projects/hammer/sys/dev/aic7xxx/aic_osm_lib.h#1 branch .. //depot/projects/hammer/sys/dev/aic7xxx/aicasm/aicasm.c#3 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l#4 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aicasm/aicasm_scan.l#4 integrate .. //depot/projects/hammer/sys/dev/ata/ata-chipset.c#22 integrate .. //depot/projects/hammer/sys/dev/ata/ata-pci.h#14 integrate .. //depot/projects/hammer/sys/dev/ata/ata-queue.c#5 integrate .. //depot/projects/hammer/sys/dev/bktr/ioctl_bt848.h#2 integrate .. //depot/projects/hammer/sys/dev/bktr/ioctl_meteor.h#2 integrate .. //depot/projects/hammer/sys/dev/bktr/msp34xx.c#3 integrate .. //depot/projects/hammer/sys/dev/ciss/ciss.c#16 integrate .. //depot/projects/hammer/sys/dev/en/midway.c#17 integrate .. //depot/projects/hammer/sys/dev/firewire/fwohci.c#17 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp.h#3 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp_targ.c#3 integrate .. //depot/projects/hammer/sys/dev/gfb/gfb_pci.c#7 integrate .. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#1 branch .. //depot/projects/hammer/sys/dev/if_ndis/if_ndisvar.h#1 branch .. //depot/projects/hammer/sys/dev/led/led.c#5 integrate .. //depot/projects/hammer/sys/dev/md/md.c#19 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt_pci.c#7 integrate .. //depot/projects/hammer/sys/dev/ofw/ofw_disk.c#7 integrate .. //depot/projects/hammer/sys/dev/pccbb/pccbb.c#20 integrate .. //depot/projects/hammer/sys/dev/stg/tmc18c30.c#3 integrate .. //depot/projects/hammer/sys/dev/usb/ehci_pci.c#8 integrate .. //depot/projects/hammer/sys/dev/usb/if_aue.c#14 integrate .. //depot/projects/hammer/sys/dev/usb/ohci.c#11 integrate .. //depot/projects/hammer/sys/dev/usb/ohci_pci.c#6 integrate .. //depot/projects/hammer/sys/dev/usb/ohcivar.h#4 integrate .. //depot/projects/hammer/sys/dev/usb/umass.c#13 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs#22 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs.h#21 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs_data.h#21 integrate .. //depot/projects/hammer/sys/dev/usb/uscanner.c#10 integrate .. //depot/projects/hammer/sys/dev/vinum/vinum.c#8 integrate .. //depot/projects/hammer/sys/dev/vinum/vinumconfig.c#11 integrate .. //depot/projects/hammer/sys/dev/vinum/vinumrevive.c#8 integrate .. //depot/projects/hammer/sys/fs/ntfs/ntfs_subr.c#7 integrate .. //depot/projects/hammer/sys/fs/smbfs/smbfs_vnops.c#11 integrate .. //depot/projects/hammer/sys/i386/i386/elf_machdep.c#9 integrate .. //depot/projects/hammer/sys/i386/i386/local_apic.c#5 integrate .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#26 integrate .. //depot/projects/hammer/sys/i386/i386/pmap.c#25 integrate .. //depot/projects/hammer/sys/i386/include/cpu.h#4 integrate .. //depot/projects/hammer/sys/i386/include/smp.h#6 integrate .. //depot/projects/hammer/sys/i386/linux/linux_sysvec.c#14 integrate .. //depot/projects/hammer/sys/ia64/ia32/ia32_signal.c#2 integrate .. //depot/projects/hammer/sys/ia64/ia64/elf_machdep.c#11 integrate .. //depot/projects/hammer/sys/ia64/ia64/machdep.c#32 integrate .. //depot/projects/hammer/sys/isa/psm.c#12 integrate .. //depot/projects/hammer/sys/kern/imgact_elf.c#13 integrate .. //depot/projects/hammer/sys/kern/kern_clock.c#13 integrate .. //depot/projects/hammer/sys/kern/kern_switch.c#14 integrate .. //depot/projects/hammer/sys/kern/kern_thread.c#39 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#23 integrate .. //depot/projects/hammer/sys/kern/subr_taskqueue.c#6 integrate .. //depot/projects/hammer/sys/kern/sysv_sem.c#12 integrate .. //depot/projects/hammer/sys/kern/uipc_mbuf.c#11 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#25 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#29 integrate .. //depot/projects/hammer/sys/modules/Makefile#33 integrate .. //depot/projects/hammer/sys/modules/crypto/Makefile#2 integrate .. //depot/projects/hammer/sys/modules/if_ndis/Makefile#1 branch .. //depot/projects/hammer/sys/modules/ndis/Makefile#1 branch .. //depot/projects/hammer/sys/netgraph/atm/uni/ng_uni.c#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_bridge.c#6 integrate .. //depot/projects/hammer/sys/netgraph/ng_eiface.c#6 integrate .. //depot/projects/hammer/sys/netgraph/ng_eiface.h#3 integrate .. //depot/projects/hammer/sys/netgraph/ng_etf.c#3 integrate .. //depot/projects/hammer/sys/netgraph/ng_ether.c#5 integrate .. //depot/projects/hammer/sys/netgraph/ng_ether.h#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_ksocket.c#6 integrate .. //depot/projects/hammer/sys/netgraph/ng_parse.c#3 integrate .. //depot/projects/hammer/sys/netgraph/ng_parse.h#3 integrate .. //depot/projects/hammer/sys/netgraph/ng_pppoe.c#6 integrate .. //depot/projects/hammer/sys/netinet/ip_fastfwd.c#5 integrate .. //depot/projects/hammer/sys/netinet/ip_fw2.c#23 integrate .. //depot/projects/hammer/sys/netinet/ip_mroute.c#13 integrate .. //depot/projects/hammer/sys/netinet/tcp_subr.c#15 integrate .. //depot/projects/hammer/sys/netinet6/in6_src.c#7 integrate .. //depot/projects/hammer/sys/netinet6/ip6_mroute.c#9 integrate .. //depot/projects/hammer/sys/netinet6/ip6_output.c#17 integrate .. //depot/projects/hammer/sys/netipsec/ipsec_mbuf.c#5 integrate .. //depot/projects/hammer/sys/nfs4client/nfs4_idmap.c#2 integrate .. //depot/projects/hammer/sys/nfsserver/nfs_srvsubs.c#8 integrate .. //depot/projects/hammer/sys/opencrypto/crmbuf.c#3 delete .. //depot/projects/hammer/sys/opencrypto/cryptodev.h#6 integrate .. //depot/projects/hammer/sys/opencrypto/cryptosoft.c#5 integrate .. //depot/projects/hammer/sys/pci/if_rl.c#25 integrate .. //depot/projects/hammer/sys/pci/if_sis.c#20 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/elf_machdep.c#8 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/pmap.c#16 integrate .. //depot/projects/hammer/sys/security/mac/mac_net.c#8 integrate .. //depot/projects/hammer/sys/security/mac_biba/mac_biba.c#22 integrate .. //depot/projects/hammer/sys/security/mac_lomac/mac_lomac.c#16 integrate .. //depot/projects/hammer/sys/security/mac_mls/mac_mls.c#22 integrate .. //depot/projects/hammer/sys/security/mac_stub/mac_stub.c#6 integrate .. //depot/projects/hammer/sys/security/mac_test/mac_test.c#20 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/elf_machdep.c#9 integrate .. //depot/projects/hammer/sys/sys/_null.h#2 integrate .. //depot/projects/hammer/sys/sys/imgact_elf.h#4 integrate .. //depot/projects/hammer/sys/sys/mac.h#17 integrate .. //depot/projects/hammer/sys/sys/mac_policy.h#16 integrate .. //depot/projects/hammer/sys/sys/mbuf.h#17 integrate .. //depot/projects/hammer/sys/sys/param.h#25 integrate .. //depot/projects/hammer/sys/sys/proc.h#40 integrate .. //depot/projects/hammer/sys/sys/umtx.h#3 integrate .. //depot/projects/hammer/sys/vm/uma_int.h#8 integrate .. //depot/projects/hammer/sys/vm/vm_mmap.c#16 integrate .. //depot/projects/hammer/sys/vm/vm_page.c#19 integrate .. //depot/projects/hammer/tools/debugscripts/README#1 branch .. //depot/projects/hammer/tools/tools/tinderbox/etc/Makefile#3 integrate .. //depot/projects/hammer/tools/tools/tinderbox/etc/experimental.rc#2 integrate .. //depot/projects/hammer/tools/tools/tinderbox/tinderbox.1#5 integrate .. //depot/projects/hammer/tools/tools/tinderbox/tinderbox.pl#8 integrate .. //depot/projects/hammer/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c#3 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.all#2 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.common#2 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.holiday#1 branch .. //depot/projects/hammer/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.military#1 branch .. //depot/projects/hammer/usr.bin/make/job.h#6 integrate .. //depot/projects/hammer/usr.bin/make/main.c#12 integrate .. //depot/projects/hammer/usr.bin/vmstat/vmstat.c#10 integrate .. //depot/projects/hammer/usr.sbin/Makefile#37 integrate .. //depot/projects/hammer/usr.sbin/bluetooth/hcsecd/hcsecd.8#4 integrate .. //depot/projects/hammer/usr.sbin/fwcontrol/fwcontrol.8#7 integrate .. //depot/projects/hammer/usr.sbin/ip6addrctl/ip6addrctl.c#2 integrate .. //depot/projects/hammer/usr.sbin/ndiscvt/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/ndiscvt/inf-parse.y#1 branch .. //depot/projects/hammer/usr.sbin/ndiscvt/inf-token.l#1 branch .. //depot/projects/hammer/usr.sbin/ndiscvt/inf.c#1 branch .. //depot/projects/hammer/usr.sbin/ndiscvt/inf.h#1 branch .. //depot/projects/hammer/usr.sbin/ndiscvt/ndiscvt.8#1 branch .. //depot/projects/hammer/usr.sbin/ndiscvt/ndiscvt.c#1 branch .. //depot/projects/hammer/usr.sbin/pkg_install/add/extract.c#3 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/create/pl.c#2 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/config.c#11 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/dist.c#12 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/help/securelevel.hlp#2 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/install.c#16 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/menus.c#20 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/system.c#3 integrate Differences ... ==== //depot/projects/hammer/UPDATING#30 (text+ko) ==== @@ -17,6 +17,18 @@ developers choose to disable these features on build machines to maximize performance. +20031213: + src/lib/libc/gen/initgroups.c:1.8 now causes logins to fail + if the login process is unable to successfully set the + process credentials to include all groups defined for the + user. The current kernel limit is 16 groups; administrators + may wish to check that users do not have over 16 groups + defined, or they will be unable to log in. + +20031203: + The ACPI module has been reactivated. It is no longer required + to compile ACPI support into kernels statically. + 20031112: The statfs structure has been updated with 64-bit fields to allow accurate reporting of multi-terabyte filesystem @@ -1439,4 +1451,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.283 2003/12/10 15:59:20 jhb Exp $ +$FreeBSD: src/UPDATING,v 1.285 2003/12/15 19:19:16 jhb Exp $ ==== //depot/projects/hammer/bin/chmod/chmod.c#5 (text+ko) ==== @@ -43,7 +43,7 @@ #endif /* not lint */ #endif #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.30 2003/10/31 13:20:09 tobez Exp $"); +__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.31 2003/12/16 15:17:30 ru Exp $"); #include <sys/types.h> #include <sys/stat.h> @@ -191,7 +191,7 @@ rval = 1; } else { if (vflag) { - (void)printf("%s", p->fts_accpath); + (void)printf("%s", p->fts_path); if (vflag > 1) { char m1[12], m2[12]; ==== //depot/projects/hammer/contrib/gcc/config/alpha/freebsd.h#5 (text+ko) ==== @@ -20,17 +20,18 @@ Boston, MA 02111-1307, USA. */ -/* $FreeBSD: src/contrib/gcc/config/alpha/freebsd.h,v 1.17 2003/08/24 16:56:31 obrien Exp $ */ +/* $FreeBSD: src/contrib/gcc/config/alpha/freebsd.h,v 1.18 2003/12/15 10:34:00 obrien Exp $ */ /* Provide a FBSD_TARGET_CPU_CPP_BUILTINS and CPP_SPEC appropriate for FreeBSD/alpha. Besides the dealing with the GCC option `-posix', and PIC issues as on all FreeBSD platforms, we must deal with the Alpha's FP issues. */ -#undef FBSD_TARGET_CPU_CPP_BUILTINS +#undef FBSD_TARGET_CPU_CPP_BUILTINS #define FBSD_TARGET_CPU_CPP_BUILTINS() \ do \ { \ + builtin_define ("__LP64__"); \ if (flag_pic) \ { \ builtin_define ("__PIC__"); \ ==== //depot/projects/hammer/contrib/gcc/config/i386/freebsd.h#10 (text+ko) ==== @@ -22,7 +22,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $FreeBSD: src/contrib/gcc/config/i386/freebsd.h,v 1.66 2003/08/24 16:56:31 obrien Exp $ */ +/* $FreeBSD: src/contrib/gcc/config/i386/freebsd.h,v 1.67 2003/12/22 04:27:17 kan Exp $ */ #undef CC1_SPEC #define CC1_SPEC "%(cc1_cpu) %{profile:-p}" @@ -153,18 +153,26 @@ #undef ASM_OUTPUT_LABELREF #define ASM_OUTPUT_LABELREF(FILE, NAME) \ do { \ - char *_name = (NAME); \ + const char *xname = (NAME); \ /* Hack to avoid writing lots of rtl in \ FUNCTION_PROFILER_EPILOGUE (). */ \ - if (*_name == '.' && strcmp(_name + 1, "mexitcount") == 0) \ + if (*xname == '.' && strcmp(xname + 1, "mexitcount") == 0) \ { \ if (flag_pic) \ - fprintf ((FILE), "*%s@GOT(%%ebx)", _name); \ + fprintf ((FILE), "*%s@GOT(%%ebx)", xname); \ else \ - fprintf ((FILE), "%s", _name); \ + fprintf ((FILE), "%s", xname); \ + } \ + else \ + { \ + if (xname[0] == '%') \ + xname += 2; \ + if (xname[0] == '*') \ + xname += 1; \ + else \ + fputs (user_label_prefix, FILE); \ + fputs (xname, FILE); \ } \ - else \ - fprintf (FILE, "%s", _name); \ } while (0) /* This is how to hack on the symbol code of certain relcalcitrant ==== //depot/projects/hammer/contrib/gcc/config/i386/freebsd64.h#5 (text+ko) ==== @@ -19,12 +19,23 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $FreeBSD: src/contrib/gcc/config/i386/freebsd64.h,v 1.6 2003/08/17 08:17:44 gordon Exp $ */ +/* $FreeBSD: src/contrib/gcc/config/i386/freebsd64.h,v 1.8 2003/12/16 05:40:06 obrien Exp $ */ #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (FreeBSD/x86-64 ELF)"); +#undef FBSD_TARGET_CPU_CPP_BUILTINS +#define FBSD_TARGET_CPU_CPP_BUILTINS() \ + do \ + { \ + if (TARGET_64BIT) \ + { \ + builtin_define ("__LP64__"); \ + } \ + } \ + while (0) + /* Provide a LINK_SPEC appropriate for the FreeBSD/x86-64 ELF target. This is a copy of LINK_SPEC from <i386/freebsd.h> tweaked for the x86-64 target. */ ==== //depot/projects/hammer/contrib/gcc/config/sparc/freebsd.h#7 (text+ko) ==== @@ -18,7 +18,7 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $FreeBSD: src/contrib/gcc/config/sparc/freebsd.h,v 1.7 2003/08/17 08:17:44 gordon Exp $ */ +/* $FreeBSD: src/contrib/gcc/config/sparc/freebsd.h,v 1.8 2003/12/15 10:34:01 obrien Exp $ */ /* FreeBSD needs the platform name (sparc64) defined. Emacs needs to know if the arch is 64 or 32-bits. */ @@ -27,6 +27,14 @@ #define CPP_CPU64_DEFAULT_SPEC \ "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__sparc__ -D__arch64__" +#undef FBSD_TARGET_CPU_CPP_BUILTINS +#define FBSD_TARGET_CPU_CPP_BUILTINS() \ + do \ + { \ + builtin_define ("__LP64__"); \ + } \ + while (0) + /* Because we include sparc/sysv4.h. */ #undef CPP_PREDEFINES /* Do not define it here, we now use TARGET_OS_CPP_BUILTINS. */ ==== //depot/projects/hammer/etc/defaults/periodic.conf#7 (text+ko) ==== @@ -10,7 +10,7 @@ # values set in this file. This eases the upgrade path when defaults # are changed and new features are added. # -# $FreeBSD: src/etc/defaults/periodic.conf,v 1.26 2003/10/27 20:14:53 jesper Exp $ +# $FreeBSD: src/etc/defaults/periodic.conf,v 1.27 2003/12/12 21:23:27 jesper Exp $ # # What files override these defaults ? @@ -86,7 +86,7 @@ daily_status_disks_df_flags="-k -t nonfs" # df(1) flags for check # 405.status-ata_raid -status_ata_raid_enable="NO" # Check ATA raid status +daily_status_ata_raid_enable="NO" # Check ATA raid status # 420.status-network daily_status_network_enable="YES" # Check network status ==== //depot/projects/hammer/etc/defaults/rc.conf#18 (text+ko) ==== @@ -13,7 +13,7 @@ # # All arguments must be in double or single quotes. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.191 2003/11/28 17:28:42 bms Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.194 2003/12/18 04:39:57 njl Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -441,6 +441,10 @@ devfs_rulesets="/etc/defaults/devfs.rules /etc/devfs.rules" # Files containing # devfs(8) rules. devfs_system_ruleset="" # The name of a ruleset to apply to /dev +performance_cx_lowest="HIGH" # Online CPU idle state +performance_throttle_state="HIGH" # Online throttling state +economy_cx_lowest="LOW" # Offline CPU idle state +economy_throttle_state="HIGH" # Offline throttling state ############################################################## ### Jail Configuration ####################################### ==== //depot/projects/hammer/etc/devd.conf#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/devd.conf,v 1.9 2003/10/25 05:03:25 njl Exp $ +# $FreeBSD: src/etc/devd.conf,v 1.10 2003/12/18 04:39:57 njl Exp $ # # Refer to devd.conf(5) and devd(8) man pages for the details on how to # run and configure devd. @@ -70,6 +70,13 @@ # action "logger Unknown device: $pnpinfo $location $bus"; }; +# Switch power profiles when the AC line state changes +notify 10 { + match "system" "ACPI"; + match "subsystem" "ACAD"; + action "/etc/rc.d/power_profile $notify"; +}; + /* EXAMPLES TO END OF FILE # The following might be an example of something that a vendor might ==== //depot/projects/hammer/etc/mtree/BSD.local.dist#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.104 2003/11/29 18:22:01 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.106 2003/12/20 11:05:34 ache Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -279,6 +279,12 @@ .. am_ET.UTF-8 .. + be_BY.CP1131 + .. + be_BY.CP1251 + .. + be_BY.ISO8859-5 + .. bg_BG.CP1251 .. ca_ES.ISO8859-1 @@ -457,6 +463,8 @@ .. zh_CN.eucCN .. + zh_HK.Big5HKSCS + .. zh_TW.Big5 .. .. ==== //depot/projects/hammer/etc/mtree/BSD.usr.dist#16 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.287 2003/11/29 18:22:01 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.289 2003/12/20 11:05:34 ache Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -347,6 +347,12 @@ .. am_ET.UTF-8 .. + be_BY.CP1131 + .. + be_BY.CP1251 + .. + be_BY.ISO8859-5 + .. bg_BG.CP1251 .. ca_ES.ISO8859-1 @@ -527,6 +533,8 @@ .. zh_CN.eucCN .. + zh_HK.Big5HKSCS + .. zh_TW.Big5 .. .. @@ -683,6 +691,12 @@ .. am_ET.UTF-8 .. + be_BY.CP1131 + .. + be_BY.CP1251 + .. + be_BY.ISO8859-5 + .. bg_BG.CP1251 .. ca_ES.ISO8859-1 @@ -861,6 +875,8 @@ .. zh_CN.eucCN .. + zh_HK.Big5HKSCS + .. zh_TW.Big5 .. .. ==== //depot/projects/hammer/etc/rc.d/Makefile#14 (text+ko) ==== @@ -1,5 +1,5 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.26 2003/10/30 17:55:52 ume Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.29 2003/12/18 04:39:57 njl Exp $ .include <bsd.own.mk> @@ -26,7 +26,7 @@ network_ipv6 nfsclient nfsd \ nfslocking nfsserver nisdomain ntpd ntpdate \ othermta \ - pccard pcvt ppp-user pppoed pwcheck \ + pccard pcvt power_profile ppp-user pppoed pwcheck \ quota \ random rarpd rcconf.sh root \ route6d routed routing rpcbind rtadvd rwho \ ==== //depot/projects/hammer/etc/rc.d/mountcritlocal#6 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: mountcritlocal,v 1.7 2002/04/29 12:29:53 lukem Exp $ -# $FreeBSD: src/etc/rc.d/mountcritlocal,v 1.6 2003/12/09 08:17:32 mtm Exp $ +# $FreeBSD: src/etc/rc.d/mountcritlocal,v 1.8 2003/12/14 13:36:36 seanc Exp $ # # PROVIDE: mountcritlocal ==== //depot/projects/hammer/gnu/usr.bin/cc/cc_tools/auto-host.h#9 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/auto-host.h,v 1.16 2003/07/13 02:41:48 kan Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/auto-host.h,v 1.17 2003/12/19 18:20:48 kan Exp $ */ #ifndef __FreeBSD_version #include <sys/param.h> @@ -370,7 +370,7 @@ register C++ destructors for local statics and global objects. This is essential for fully standards-compliant handling of destructors, but requires __cxa_atexit in libc. */ -/* #undef DEFAULT_USE_CXA_ATEXIT */ +#define DEFAULT_USE_CXA_ATEXIT 1 /* Define if you want the C and C++ compilers to support multibyte character sets for source code. */ ==== //depot/projects/hammer/include/fnmatch.h#3 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/fnmatch.h,v 1.11 2002/09/17 22:25:40 mike Exp $ + * $FreeBSD: src/include/fnmatch.h,v 1.15 2003/12/18 10:41:39 jkh Exp $ * @(#)fnmatch.h 8.1 (Berkeley) 6/2/93 */ @@ -45,6 +45,10 @@ #define FNM_PATHNAME 0x02 /* Slash must be matched by slash. */ #define FNM_PERIOD 0x04 /* Period must be matched by period. */ +#if __XSI_VISIBLE +#define FNM_NOSYS (-1) /* Reserved. */ +#endif + #if __BSD_VISIBLE #define FNM_LEADING_DIR 0x08 /* Ignore /<tail> after Imatch. */ #define FNM_CASEFOLD 0x10 /* Case insensitive search. */ ==== //depot/projects/hammer/include/regex.h#3 (text+ko) ==== @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)regex.h 8.2 (Berkeley) 1/3/94 - * $FreeBSD: src/include/regex.h,v 1.6 2002/10/03 18:12:03 mike Exp $ + * $FreeBSD: src/include/regex.h,v 1.10 2003/12/18 10:41:39 jkh Exp $ */ #ifndef _REGEX_H_ @@ -75,6 +75,7 @@ #define REG_DUMP 0200 /* regerror() flags */ +#define REG_ENOSYS (-1) #define REG_NOMATCH 1 #define REG_BADPAT 2 #define REG_ECOLLATE 3 ==== //depot/projects/hammer/kerberos5/Makefile.inc#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/kerberos5/Makefile.inc,v 1.19 2003/07/18 13:21:55 markm Exp $ +# $FreeBSD: src/kerberos5/Makefile.inc,v 1.20 2003/12/17 16:13:10 nectar Exp $ DISTRIBUTION?= crypto NOLINT= true @@ -16,7 +16,7 @@ OPENLDAPBASE?= /usr/local LDAPLIBS=-lldap -llber LDAPCFLAGS=-I${OPENLDAPBASE}/include -DOPENLDAP=1 -LDAPLDADD=-L${OPENLDAPBASE}/lib ${LDAPLIBS} +LDAPLDADD=-L${OPENLDAPBASE}/lib -Wl,-rpath,${OPENLDAPBASE}/lib ${LDAPLIBS} .endif .if exists(${.OBJDIR}/../../include) ==== //depot/projects/hammer/lib/libc/Makefile#11 (text+ko) ==== @@ -1,16 +1,15 @@ # @(#)Makefile 8.2 (Berkeley) 2/3/94 -# $FreeBSD: src/lib/libc/Makefile,v 1.46 2003/12/10 16:33:17 mikeh Exp $ +# $FreeBSD: src/lib/libc/Makefile,v 1.47 2003/12/11 09:53:25 bde Exp $ # # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does # not contain these strings, add -DSTRIP_FBSDID (see <sys/cdefs.h>) to CFLAGS -# below. Note, there are no IDs for syscall stubs whose sources are generated. -# To included legacy CSRG sccsid strings, add -DLIBC_SCCS and -DSYSLIBC_SCCS -# (for system call stubs) to CFLAGS below. -DSYSLIBC_SCCS affects just the -# system call stubs. +# below. Note: there are no IDs for syscall stubs whose sources are generated. +# To include legacy CSRG sccsid strings, add -DLIBC_SCCS and -DSYSLIBC_SCCS +# to CFLAGS below. -DSYSLIBC_SCCS affects just the system call stubs. LIB=c -# If you bump SHLIB_MAJOR, remove kluge from gen/gethostname.c. -# If you bump SHLIB_MAJOR, see standards/55112 +# If you bump SHLIB_MAJOR, remove the kluge from gen/gethostname.c. +# If you bump SHLIB_MAJOR, see standards/55112. SHLIB_MAJOR= 5 SHLIBDIR?= /lib WARNS?= 1 ==== //depot/projects/hammer/lib/libc/locale/gbk.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.3 2003/11/08 02:58:36 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.4 2003/12/19 12:54:42 ache Exp $"); #include <sys/types.h> #include <runetype.h> @@ -68,7 +68,7 @@ { c &= 0xff; - return ((c >= 0x80 && c <= 0xfe) ? 2 : 1); + return ((c >= 0x81 && c <= 0xfe) ? 2 : 1); } size_t ==== //depot/projects/hammer/lib/libc/stdlib/atexit.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)atexit.c 8.2 (Berkeley) 7/3/94"; #endif /* LIBC_SCCS and not lint */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/stdlib/atexit.c,v 1.6 2002/03/22 21:53:09 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/atexit.c,v 1.7 2003/12/19 17:11:20 kan Exp $"); #include "namespace.h" #include <stddef.h> @@ -50,19 +50,38 @@ #include "libc_private.h" +#define ATEXIT_FN_EMPTY 0 +#define ATEXIT_FN_STD 1 +#define ATEXIT_FN_CXA 2 + static pthread_mutex_t atexit_mutex = PTHREAD_MUTEX_INITIALIZER; #define _MUTEX_LOCK(x) if (__isthreaded) _pthread_mutex_lock(x) #define _MUTEX_UNLOCK(x) if (__isthreaded) _pthread_mutex_unlock(x) -struct atexit *__atexit; /* points to head of LIFO stack */ +struct atexit { + struct atexit *next; /* next in list */ + int ind; /* next index in this table */ + struct atexit_fn { + int fn_type; /* ATEXIT_? from above */ + union { + void (*std_func)(void); + void (*cxa_func)(void *); + } fn_ptr; /* function pointer */ + void *fn_arg; /* argument for CXA callback */ + void *fn_dso; /* shared module handle */ + } fns[ATEXIT_SIZE]; /* the table itself */ +}; + +static struct atexit *__atexit; /* points to head of LIFO stack */ /* - * Register a function to be performed at exit. + * Register the function described by 'fptr' to be called at application + * exit or owning shared object unload time. This is a helper function + * for atexit and __cxa_atexit. */ -int -atexit(fn) - void (*fn)(); +static int +atexit_register(struct atexit_fn *fptr) { static struct atexit __atexit0; /* one guaranteed table */ struct atexit *p; @@ -89,7 +108,82 @@ p->next = __atexit; __atexit = p; } - p->fns[p->ind++] = fn; + p->fns[p->ind++] = *fptr; + _MUTEX_UNLOCK(&atexit_mutex); + return 0; +} + +/* + * Register a function to be performed at exit. + */ +int +atexit(void (*func)(void)) +{ + struct atexit_fn fn; + int error; + + fn.fn_type = ATEXIT_FN_STD; + fn.fn_ptr.std_func = func;; + fn.fn_arg = NULL; + fn.fn_dso = NULL; + + error = atexit_register(&fn); + return (error); +} + +/* + * Register a function to be performed at exit or when an shared object + * with given dso handle is unloaded dynamically. + */ +int +__cxa_atexit(void (*func)(void *), void *arg, void *dso) +{ + struct atexit_fn fn; + int error; + + fn.fn_type = ATEXIT_FN_CXA; + fn.fn_ptr.cxa_func = func;; + fn.fn_arg = arg; + fn.fn_dso = dso; + + error = atexit_register(&fn); + return (error); +} + +/* + * Call all handlers registered with __cxa_atexit for the shared + * object owning 'dso'. Note: if 'dso' is NULL, then all remaining + * handlers are called. + */ +void +__cxa_finalize(void *dso) +{ + struct atexit *p; + struct atexit_fn fn; + int n; + + _MUTEX_LOCK(&atexit_mutex); + for (p = __atexit; p; p = p->next) { + for (n = p->ind; --n >= 0;) { + if (p->fns[n].fn_type == ATEXIT_FN_EMPTY) + continue; /* already been called */ + if (dso != NULL && dso != p->fns[n].fn_dso) + continue; /* wrong DSO */ + fn = p->fns[n]; + /* + Mark entry to indicate that this particular handler + has already been called. + */ + p->fns[n].fn_type = ATEXIT_FN_EMPTY; + _MUTEX_UNLOCK(&atexit_mutex); + + /* Call the function of correct type. */ + if (fn.fn_type == ATEXIT_FN_CXA) + fn.fn_ptr.cxa_func(fn.fn_arg); + else if (fn.fn_type == ATEXIT_FN_STD) + fn.fn_ptr.std_func(); + _MUTEX_LOCK(&atexit_mutex); + } + } _MUTEX_UNLOCK(&atexit_mutex); - return (0); } ==== //depot/projects/hammer/lib/libc/stdlib/atexit.h#2 (text+ko) ==== @@ -31,16 +31,10 @@ * SUCH DAMAGE. * * @(#)atexit.h 8.2 (Berkeley) 7/3/94 - * $FreeBSD: src/lib/libc/stdlib/atexit.h,v 1.2 2002/03/22 23:42:03 obrien Exp $ + * $FreeBSD: src/lib/libc/stdlib/atexit.h,v 1.3 2003/12/19 17:11:20 kan Exp $ */ /* must be at least 32 to guarantee ANSI conformance */ #define ATEXIT_SIZE 32 -struct atexit { - struct atexit *next; /* next in list */ - int ind; /* next index in this table */ - void (*fns[ATEXIT_SIZE])(); /* the table itself */ -}; - -extern struct atexit *__atexit; /* points to head of LIFO stack */ +void __cxa_finalize(void *dso); ==== //depot/projects/hammer/lib/libc/stdlib/exit.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ static char sccsid[] = "@(#)exit.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/stdlib/exit.c,v 1.6 2002/03/22 21:53:10 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/exit.c,v 1.7 2003/12/19 17:11:20 kan Exp $"); #include "namespace.h" #include <stdlib.h> @@ -61,17 +61,12 @@ exit(status) int status; { - struct atexit *p; - int n; - /* Ensure that the auto-initialization routine is linked in: */ extern int _thread_autoinit_dummy_decl; _thread_autoinit_dummy_decl = 1; - for (p = __atexit; p; p = p->next) - for (n = p->ind; --n >= 0;) - (*p->fns[n])(); + __cxa_finalize(NULL); if (__cleanup) (*__cleanup)(); >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200312230319.hBN3JRW8050083>