PERFORCE change 44223 for review
Peter Wemm
peter at FreeBSD.org
Mon Dec 22 19:19:34 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=44223
Change 44223 by peter at 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 at GOT(%%ebx)", _name); \
+ fprintf ((FILE), "*%s at 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) <<<
More information about the p4-projects
mailing list