Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Nov 2002 09:56:23 -0800 (PST)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 21073 for review
Message-ID:  <200211151756.gAFHuNLF010265@repoman.freebsd.org>

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

Change 21073 by peter@peter_daintree on 2002/11/15 09:55:46

	IFC @21068

Affected files ...

.. //depot/projects/ia64/Makefile.inc1#41 integrate
.. //depot/projects/ia64/bin/sleep/sleep.c#4 integrate
.. //depot/projects/ia64/contrib/bind/CHANGES#5 integrate
.. //depot/projects/ia64/contrib/bind/bin/named/db_defs.h#4 integrate
.. //depot/projects/ia64/contrib/bind/bin/named/db_sec.c#3 integrate
.. //depot/projects/ia64/contrib/bind/bin/named/ns_defs.h#5 integrate
.. //depot/projects/ia64/contrib/bind/bin/named/ns_ncache.c#3 integrate
.. //depot/projects/ia64/contrib/bind/bin/named/ns_req.c#5 integrate
.. //depot/projects/ia64/contrib/bind/bin/named/ns_resp.c#5 integrate
.. //depot/projects/ia64/contrib/bind/lib/nameser/ns_name.c#4 integrate
.. //depot/projects/ia64/contrib/bind/lib/nameser/ns_samedomain.c#2 integrate
.. //depot/projects/ia64/etc/defaults/rc.conf#21 integrate
.. //depot/projects/ia64/gnu/usr.bin/binutils/libiberty/Makefile#5 integrate
.. //depot/projects/ia64/gnu/usr.bin/cc/cc_tools/auto-host.h#8 integrate
.. //depot/projects/ia64/kerberos5/lib/libasn1/Makefile#6 integrate
.. //depot/projects/ia64/kerberos5/lib/libhdb/Makefile#6 integrate
.. //depot/projects/ia64/lib/libc/gen/_pthread_stubs.c#5 integrate
.. //depot/projects/ia64/lib/libc/gen/syslog.c#6 integrate
.. //depot/projects/ia64/lib/libc/ia64/gen/_setjmp.S#3 integrate
.. //depot/projects/ia64/lib/libc/include/libc_private.h#3 integrate
.. //depot/projects/ia64/lib/libc/include/namespace.h#6 integrate
.. //depot/projects/ia64/lib/libc/include/un-namespace.h#4 integrate
.. //depot/projects/ia64/lib/libc/stdio/findfp.c#8 integrate
.. //depot/projects/ia64/lib/libc/stdlib/strtod.c#13 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/pthread_private.h#12 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_attr_init.c#2 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_autoinit.c#2 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_cond.c#3 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_condattr_init.c#2 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_create.c#6 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_execve.c#3 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_exit.c#6 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_gc.c#2 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_init.c#7 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_join.c#3 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_mattr_init.c#2 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_mutex.c#4 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_mutex_prioceiling.c#2 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_once.c#2 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_pselect.c#2 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_rwlock.c#3 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_sem.c#2 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_sig.c#6 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_stack.c#3 integrate
.. //depot/projects/ia64/lib/libdisk/change.c#4 integrate
.. //depot/projects/ia64/lib/libdisk/chunk.c#8 integrate
.. //depot/projects/ia64/lib/libdisk/create_chunk.c#10 integrate
.. //depot/projects/ia64/lib/libdisk/disk.c#12 integrate
.. //depot/projects/ia64/lib/libdisk/libdisk.h#10 integrate
.. //depot/projects/ia64/lib/libdisk/rules.c#7 integrate
.. //depot/projects/ia64/lib/libdisk/tst01.c#6 integrate
.. //depot/projects/ia64/lib/libdisk/write_alpha_disk.c#4 integrate
.. //depot/projects/ia64/lib/libdisk/write_disk.c#6 integrate
.. //depot/projects/ia64/lib/libdisk/write_i386_disk.c#3 integrate
.. //depot/projects/ia64/lib/libdisk/write_ia64_disk.c#7 integrate
.. //depot/projects/ia64/lib/libdisk/write_pc98_disk.c#4 integrate
.. //depot/projects/ia64/lib/libdisk/write_sparc64_disk.c#3 integrate
.. //depot/projects/ia64/lib/libncurses/Makefile#10 integrate
.. //depot/projects/ia64/lib/libpam/modules/Makefile.inc#7 integrate
.. //depot/projects/ia64/lib/libpam/modules/pam_krb5/pam_krb5.c#6 integrate
.. //depot/projects/ia64/release/alpha/drivers.conf#8 integrate
.. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/early-adopter/article.sgml#2 integrate
.. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/relnotes/common/new.sgml#13 integrate
.. //depot/projects/ia64/release/doc/de_DE.ISO8859-1/relnotes/ia64/article.sgml#2 integrate
.. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#50 integrate
.. //depot/projects/ia64/release/doc/share/examples/Makefile.relnotesng#6 integrate
.. //depot/projects/ia64/release/ia64/boot_crunch.conf#2 integrate
.. //depot/projects/ia64/release/scripts/print-cdrom-packages.sh#15 integrate
.. //depot/projects/ia64/sbin/devd/Makefile#2 integrate
.. //depot/projects/ia64/sbin/devd/devd.8#2 integrate
.. //depot/projects/ia64/sbin/ifconfig/ifconfig.8#15 integrate
.. //depot/projects/ia64/sbin/ifconfig/ifconfig.c#11 integrate
.. //depot/projects/ia64/share/man/man4/vlan.4#6 integrate
.. //depot/projects/ia64/share/mk/bsd.sys.mk#9 integrate
.. //depot/projects/ia64/sys/alpha/alpha/pmap.c#21 integrate
.. //depot/projects/ia64/sys/alpha/conf/GENERIC.hints#3 integrate
.. //depot/projects/ia64/sys/boot/common/help.common#4 integrate
.. //depot/projects/ia64/sys/boot/common/loader.8#11 integrate
.. //depot/projects/ia64/sys/cam/cam_periph.c#5 integrate
.. //depot/projects/ia64/sys/cam/scsi/scsi_low.c#7 integrate
.. //depot/projects/ia64/sys/cam/scsi/scsi_sa.c#4 integrate
.. //depot/projects/ia64/sys/conf/options#34 integrate
.. //depot/projects/ia64/sys/contrib/dev/oltr/if_oltr.c#2 integrate
.. //depot/projects/ia64/sys/dev/aic/aic_pccard.c#4 integrate
.. //depot/projects/ia64/sys/dev/an/if_an.c#12 integrate
.. //depot/projects/ia64/sys/dev/an/if_an_isa.c#3 integrate
.. //depot/projects/ia64/sys/dev/an/if_an_pccard.c#3 integrate
.. //depot/projects/ia64/sys/dev/an/if_an_pci.c#3 integrate
.. //depot/projects/ia64/sys/dev/ar/if_ar.c#5 integrate
.. //depot/projects/ia64/sys/dev/awi/awi.c#8 integrate
.. //depot/projects/ia64/sys/dev/awi/if_awi_pccard.c#4 integrate
.. //depot/projects/ia64/sys/dev/bge/if_bge.c#17 integrate
.. //depot/projects/ia64/sys/dev/bge/if_bgereg.h#10 integrate
.. //depot/projects/ia64/sys/dev/cardbus/cardbus.c#10 integrate
.. //depot/projects/ia64/sys/dev/cardbus/cardbus_cis.c#8 integrate
.. //depot/projects/ia64/sys/dev/cm/smc90cx6.c#4 integrate
.. //depot/projects/ia64/sys/dev/cnw/if_cnw.c#5 integrate
.. //depot/projects/ia64/sys/dev/cs/if_cs.c#3 integrate
.. //depot/projects/ia64/sys/dev/ed/if_ed.c#6 integrate
.. //depot/projects/ia64/sys/dev/ed/if_ed_pccard.c#9 integrate
.. //depot/projects/ia64/sys/dev/em/if_em.c#13 integrate
.. //depot/projects/ia64/sys/dev/em/if_em.h#10 integrate
.. //depot/projects/ia64/sys/dev/en/midway.c#5 integrate
.. //depot/projects/ia64/sys/dev/ep/if_ep.c#4 integrate
.. //depot/projects/ia64/sys/dev/ep/if_ep_pccard.c#5 integrate
.. //depot/projects/ia64/sys/dev/ex/if_ex.c#3 integrate
.. //depot/projects/ia64/sys/dev/fe/if_fe.c#3 integrate
.. //depot/projects/ia64/sys/dev/fe/if_fe_pccard.c#4 integrate
.. //depot/projects/ia64/sys/dev/firewire/if_fwe.c#2 integrate
.. //depot/projects/ia64/sys/dev/fxp/if_fxp.c#16 integrate
.. //depot/projects/ia64/sys/dev/gem/if_gem.c#9 integrate
.. //depot/projects/ia64/sys/dev/gx/if_gx.c#6 integrate
.. //depot/projects/ia64/sys/dev/gx/if_gxvar.h#4 integrate
.. //depot/projects/ia64/sys/dev/hme/if_hme.c#7 integrate
.. //depot/projects/ia64/sys/dev/ie/if_ie.c#3 integrate
.. //depot/projects/ia64/sys/dev/iicbus/if_ic.c#5 integrate
.. //depot/projects/ia64/sys/dev/lge/if_lge.c#7 integrate
.. //depot/projects/ia64/sys/dev/lge/if_lgereg.h#2 integrate
.. //depot/projects/ia64/sys/dev/lnc/if_lnc.c#5 integrate
.. //depot/projects/ia64/sys/dev/lnc/if_lnc_cbus.c#2 integrate
.. //depot/projects/ia64/sys/dev/lnc/if_lnc_isa.c#2 integrate
.. //depot/projects/ia64/sys/dev/lnc/if_lnc_pci.c#2 integrate
.. //depot/projects/ia64/sys/dev/mly/mly.c#5 integrate
.. //depot/projects/ia64/sys/dev/my/if_my.c#8 integrate
.. //depot/projects/ia64/sys/dev/nge/if_nge.c#13 integrate
.. //depot/projects/ia64/sys/dev/nge/if_ngereg.h#5 integrate
.. //depot/projects/ia64/sys/dev/pccard/pccard.c#13 integrate
.. //depot/projects/ia64/sys/dev/pccard/pccard_cis.c#7 integrate
.. //depot/projects/ia64/sys/dev/pccard/pccarddevs#15 integrate
.. //depot/projects/ia64/sys/dev/pccard/pccarddevs.h#15 integrate
.. //depot/projects/ia64/sys/dev/pccard/pccardvar.h#7 integrate
.. //depot/projects/ia64/sys/dev/pccbb/pccbb.c#19 integrate
.. //depot/projects/ia64/sys/dev/pci/pci.c#14 integrate
.. //depot/projects/ia64/sys/dev/pci/pci_pci.c#10 integrate
.. //depot/projects/ia64/sys/dev/pdq/pdq_ifsubr.c#5 integrate
.. //depot/projects/ia64/sys/dev/ppbus/if_plip.c#3 integrate
.. //depot/projects/ia64/sys/dev/ray/if_ray.c#3 integrate
.. //depot/projects/ia64/sys/dev/sbni/if_sbni.c#7 integrate
.. //depot/projects/ia64/sys/dev/sn/if_sn.c#4 integrate
.. //depot/projects/ia64/sys/dev/snc/dp83932.c#3 integrate
.. //depot/projects/ia64/sys/dev/sr/if_sr.c#6 integrate
.. //depot/projects/ia64/sys/dev/trm/trm.c#2 integrate
.. //depot/projects/ia64/sys/dev/tx/if_tx.c#5 integrate
.. //depot/projects/ia64/sys/dev/txp/if_txp.c#6 integrate
.. //depot/projects/ia64/sys/dev/usb/if_aue.c#14 integrate
.. //depot/projects/ia64/sys/dev/usb/if_auereg.h#7 integrate
.. //depot/projects/ia64/sys/dev/usb/if_cue.c#7 integrate
.. //depot/projects/ia64/sys/dev/usb/if_cuereg.h#4 integrate
.. //depot/projects/ia64/sys/dev/usb/if_kue.c#8 integrate
.. //depot/projects/ia64/sys/dev/usb/if_kuereg.h#5 integrate
.. //depot/projects/ia64/sys/dev/usb/usb_ethersubr.c#4 integrate
.. //depot/projects/ia64/sys/dev/vx/if_vx.c#6 integrate
.. //depot/projects/ia64/sys/dev/wi/if_wi.c#25 integrate
.. //depot/projects/ia64/sys/dev/wl/if_wl.c#5 integrate
.. //depot/projects/ia64/sys/dev/xe/if_xe.c#4 integrate
.. //depot/projects/ia64/sys/dev/xe/if_xe_pccard.c#4 integrate
.. //depot/projects/ia64/sys/i386/i386/i686_mem.c#4 integrate
.. //depot/projects/ia64/sys/i386/i386/mp_clock.c#4 integrate
.. //depot/projects/ia64/sys/i386/i386/pmap.c#22 integrate
.. //depot/projects/ia64/sys/i386/isa/if_cx.c#3 integrate
.. //depot/projects/ia64/sys/i386/isa/if_el.c#3 integrate
.. //depot/projects/ia64/sys/i386/isa/if_le.c#6 integrate
.. //depot/projects/ia64/sys/i386/isa/if_rdp.c#5 integrate
.. //depot/projects/ia64/sys/i386/pci/pci_bus.c#11 integrate
.. //depot/projects/ia64/sys/i386/pci/pci_cfgreg.c#13 integrate
.. //depot/projects/ia64/sys/i4b/driver/i4b_ipr.c#8 integrate
.. //depot/projects/ia64/sys/i4b/driver/i4b_isppp.c#6 integrate
.. //depot/projects/ia64/sys/ia64/ia64/pmap.c#45 integrate
.. //depot/projects/ia64/sys/kern/kern_mac.c#11 integrate
.. //depot/projects/ia64/sys/kern/kern_thread.c#19 integrate
.. //depot/projects/ia64/sys/kern/subr_log.c#7 integrate
.. //depot/projects/ia64/sys/kern/subr_prf.c#16 integrate
.. //depot/projects/ia64/sys/modules/agp/Makefile#3 integrate
.. //depot/projects/ia64/sys/modules/hifn/Makefile#2 integrate
.. //depot/projects/ia64/sys/modules/ubsec/Makefile#2 integrate
.. //depot/projects/ia64/sys/net/bpf.c#13 integrate
.. //depot/projects/ia64/sys/net/bpf.h#4 integrate
.. //depot/projects/ia64/sys/net/bpfdesc.h#5 integrate
.. //depot/projects/ia64/sys/net/bridge.c#12 integrate
.. //depot/projects/ia64/sys/net/bridge.h#4 integrate
.. //depot/projects/ia64/sys/net/ethernet.h#6 integrate
.. //depot/projects/ia64/sys/net/fddi.h#4 integrate
.. //depot/projects/ia64/sys/net/if.h#11 integrate
.. //depot/projects/ia64/sys/net/if_arcsubr.c#6 integrate
.. //depot/projects/ia64/sys/net/if_atmsubr.c#3 integrate
.. //depot/projects/ia64/sys/net/if_disc.c#4 integrate
.. //depot/projects/ia64/sys/net/if_ef.c#5 integrate
.. //depot/projects/ia64/sys/net/if_ethersubr.c#19 integrate
.. //depot/projects/ia64/sys/net/if_faith.c#7 integrate
.. //depot/projects/ia64/sys/net/if_fddisubr.c#7 integrate
.. //depot/projects/ia64/sys/net/if_gif.c#12 integrate
.. //depot/projects/ia64/sys/net/if_gre.c#5 integrate
.. //depot/projects/ia64/sys/net/if_loop.c#8 integrate
.. //depot/projects/ia64/sys/net/if_ppp.c#9 integrate
.. //depot/projects/ia64/sys/net/if_sl.c#7 integrate
.. //depot/projects/ia64/sys/net/if_stf.c#10 integrate
.. //depot/projects/ia64/sys/net/if_tap.c#13 integrate
.. //depot/projects/ia64/sys/net/if_tun.c#10 integrate
.. //depot/projects/ia64/sys/net/if_var.h#12 integrate
.. //depot/projects/ia64/sys/net/if_vlan.c#9 integrate
.. //depot/projects/ia64/sys/net/if_vlan_var.h#3 integrate
.. //depot/projects/ia64/sys/netgraph/ng_eiface.c#4 integrate
.. //depot/projects/ia64/sys/netgraph/ng_ether.c#6 integrate
.. //depot/projects/ia64/sys/netgraph/ng_iface.c#5 integrate
.. //depot/projects/ia64/sys/netinet/ip_dummynet.c#11 integrate
.. //depot/projects/ia64/sys/netinet/ip_gre.c#5 integrate
.. //depot/projects/ia64/sys/pci/agp.c#9 integrate
.. //depot/projects/ia64/sys/pci/agp_ali.c#3 integrate
.. //depot/projects/ia64/sys/pci/agp_amd.c#7 integrate
.. //depot/projects/ia64/sys/pci/agp_i810.c#9 integrate
.. //depot/projects/ia64/sys/pci/agp_intel.c#7 integrate
.. //depot/projects/ia64/sys/pci/agp_sis.c#3 integrate
.. //depot/projects/ia64/sys/pci/agp_via.c#3 integrate
.. //depot/projects/ia64/sys/pci/if_dc.c#18 integrate
.. //depot/projects/ia64/sys/pci/if_de.c#5 integrate
.. //depot/projects/ia64/sys/pci/if_pcn.c#7 integrate
.. //depot/projects/ia64/sys/pci/if_rl.c#18 integrate
.. //depot/projects/ia64/sys/pci/if_sf.c#8 integrate
.. //depot/projects/ia64/sys/pci/if_sis.c#12 integrate
.. //depot/projects/ia64/sys/pci/if_sk.c#8 integrate
.. //depot/projects/ia64/sys/pci/if_ste.c#10 integrate
.. //depot/projects/ia64/sys/pci/if_ti.c#14 integrate
.. //depot/projects/ia64/sys/pci/if_tl.c#7 integrate
.. //depot/projects/ia64/sys/pci/if_vr.c#9 integrate
.. //depot/projects/ia64/sys/pci/if_wb.c#8 integrate
.. //depot/projects/ia64/sys/pci/if_xl.c#12 integrate
.. //depot/projects/ia64/sys/powerpc/powerpc/pmap.c#19 integrate
.. //depot/projects/ia64/sys/sparc64/include/pmap.h#11 integrate
.. //depot/projects/ia64/sys/sparc64/pci/psycho.c#11 integrate
.. //depot/projects/ia64/sys/sparc64/sparc64/pmap.c#24 integrate
.. //depot/projects/ia64/sys/sys/msgbuf.h#4 integrate
.. //depot/projects/ia64/sys/sys/socket.h#10 integrate
.. //depot/projects/ia64/sys/sys/stddef.h#1 branch
.. //depot/projects/ia64/sys/vm/pmap.h#11 integrate
.. //depot/projects/ia64/sys/vm/vm_object.c#23 integrate
.. //depot/projects/ia64/sys/vm/vm_object.h#10 integrate
.. //depot/projects/ia64/sys/vm/vm_pageout.c#18 integrate
.. //depot/projects/ia64/usr.bin/fetch/fetch.c#12 integrate
.. //depot/projects/ia64/usr.bin/xargs/Makefile#4 integrate
.. //depot/projects/ia64/usr.bin/xargs/xargs.c#19 integrate
.. //depot/projects/ia64/usr.bin/xinstall/Makefile#4 integrate
.. //depot/projects/ia64/usr.sbin/crunch/crunchide/exec_elf32.c#4 integrate
.. //depot/projects/ia64/usr.sbin/mtree/Makefile#3 integrate
.. //depot/projects/ia64/usr.sbin/newsyslog/newsyslog.8#3 integrate
.. //depot/projects/ia64/usr.sbin/newsyslog/newsyslog.c#9 integrate
.. //depot/projects/ia64/usr.sbin/pkg_install/lib/file.c#8 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/config.c#7 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/devices.c#6 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/disks.c#8 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/install.c#9 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/label.c#9 integrate

Differences ...

==== //depot/projects/ia64/Makefile.inc1#41 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.inc1,v 1.310 2002/11/03 23:48:14 scottl Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.312 2002/11/14 19:24:50 ru Exp $
 #
 # Make command line options:
 #	-DMAKE_KERBEROS4 to build KerberosIV
@@ -123,6 +123,7 @@
 .endif
 
 MAKEOBJDIRPREFIX?=	/usr/obj
+OSRELDATE!=	sysctl -n kern.osreldate
 TARGET_ARCH?=	${MACHINE_ARCH}
 .if ${TARGET_ARCH} == ${MACHINE_ARCH}
 TARGET?=	${MACHINE}
@@ -193,7 +194,8 @@
 BMAKEENV=	MAKEOBJDIRPREFIX=${WORLDTMP} \
 		DESTDIR= \
 		INSTALL="sh ${.CURDIR}/tools/install.sh"
-BMAKE=		${BMAKEENV} ${MAKE} -f Makefile.inc1 -DBOOTSTRAPPING \
+BMAKE=		${BMAKEENV} ${MAKE} -f Makefile.inc1 \
+		BOOTSTRAPPING=${OSRELDATE} \
 		-DNOHTML -DNOINFO -DNOMAN -DNOPIC -DNOPROFILE -DNOSHARED \
 		-DNO_CPU_CFLAGS -DNO_WERROR
 
@@ -201,8 +203,8 @@
 TMAKEENV=	MAKEOBJDIRPREFIX=${OBJTREE} \
 		DESTDIR= \
 		INSTALL="sh ${.CURDIR}/tools/install.sh"
-TMAKE=		${TMAKEENV} ${MAKE} -f Makefile.inc1 -DBOOTSTRAPPING \
-		-DNO_CPU_CFLAGS
+TMAKE=		${TMAKEENV} ${MAKE} -f Makefile.inc1 \
+		BOOTSTRAPPING=${OSRELDATE} -DNO_CPU_CFLAGS
 
 # cross-tool stage
 XMAKE=		TOOLS_PREFIX=${WORLDTMP} ${BMAKE} -DNO_FORTRAN -DNO_GDB
@@ -727,7 +729,8 @@
 .endif
 
 _prebuild_libs+= lib/libcom_err lib/libcrypt lib/libkvm lib/libmd \
-		lib/libncurses lib/libopie lib/libradius lib/librpcsvc \
+		lib/libncurses lib/libopie lib/libpam lib/libradius \
+		lib/librpcsvc \
 		lib/libsbuf lib/libtacplus lib/libutil lib/libypclnt \
 		lib/libz lib/msun
 
@@ -753,7 +756,7 @@
 _generic_libs+=	usr.sbin/pcvt/keycap
 .endif
 
-.for _lib in ${_startup_libs} ${_prebuild_libs} ${_generic_libs}
+.for _lib in ${_startup_libs} ${_prebuild_libs:Nlib/libpam} ${_generic_libs}
 ${_lib}__L: .PHONY
 .if exists(${.CURDIR}/${_lib})
 	${ECHODIR} "===> ${_lib}"; \
@@ -764,6 +767,16 @@
 .endif
 .endfor
 
+# libpam is special: we need to build static PAM modules before
+# static PAM library, and dynamic PAM library before dynamic PAM
+# modules.
+lib/libpam__L: .PHONY
+	${ECHODIR} "===> lib/libpam"; \
+		cd ${.CURDIR}/lib/libpam; \
+		${MAKE} DIRPRFX=lib/libpam/ depend; \
+		${MAKE} DIRPRFX=lib/libpam/ -D_NO_LIBPAM_SO_YET all; \
+		${MAKE} DIRPRFX=lib/libpam/ -D_NO_LIBPAM_SO_YET install
+
 _startup_libs: ${_startup_libs:S/$/__L/}
 _prebuild_libs: ${_prebuild_libs:S/$/__L/}
 _generic_libs: ${_generic_libs:S/$/__L/}

==== //depot/projects/ia64/bin/sleep/sleep.c#4 (text+ko) ====

@@ -43,14 +43,14 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sleep/sleep.c,v 1.12 2002/06/30 05:15:04 obrien Exp $");
+__FBSDID("$FreeBSD: src/bin/sleep/sleep.c,v 1.15 2002/11/14 01:14:35 njl Exp $");
 
 #include <ctype.h>
 #include <limits.h>
-#include <stdio.h>
 #include <stdlib.h>
 #include <time.h>
 #include <unistd.h>
+#include <string.h>
 
 void usage(void);
 
@@ -59,25 +59,15 @@
 {
 	struct timespec time_to_sleep;
 	long l;
-	int ch, neg;
+	int neg;
 	char *p;
 
-	while ((ch = getopt(argc, argv, "")) != -1)
-		switch(ch) {
-		case '?':
-		default:
-			usage();
-			/* NOTREACHED */
-		}
-	argc -= optind;
-	argv += optind;
-
-	if (argc != 1) {
+	if (argc != 2) {
 		usage();
 		/* NOTREACHED */
 	}
 
-	p = argv[0];
+	p = argv[1];
 
 	/* Skip over leading whitespaces. */
 	while (isspace((unsigned char)*p))
@@ -88,6 +78,9 @@
 	if (*p == '-') {
 		neg = 1;
 		++p;
+		if (!isdigit((unsigned char)*p) && *p != '.')
+			usage();
+			/* NOTREACHED */
 	}
 	else if (*p == '+')
 		++p;
@@ -128,7 +121,8 @@
 void
 usage(void)
 {
+	const char *msg = "usage: sleep seconds\n";
 
-	(void)fprintf(stderr, "usage: sleep seconds\n");
+	write(STDERR_FILENO, msg, strlen(msg));
 	exit(1);
 }

==== //depot/projects/ia64/contrib/bind/CHANGES#5 (text+ko) ====

@@ -1,3 +1,23 @@
+1469.	[bug]		buffer length calculation for PX was wrong.
+
+1468.	[bug]		ns_name_ntol() could overwite a zero length buffer.
+
+1467.	[bug]		off by one bug in ns_makecannon().
+
+1466.	[bug]		large ENDS UDP buffer size could trigger a assertion.
+
+1465.	[bug]		possible NULL pointer dereference in db_sec.c
+
+1464.	[bug]      	the buffer used to construct the -ve record was not
+			big enough for all possible SOA records.  use pointer
+			arithmetic to calculate the remaining size in this
+			buffer.
+
+1463.	[bug]		use serial space arithmetic to determine if a SIG is
+			too old, in the future or has internally constistant
+			times.
+
+1462.	[bug]		write buffer overflow in make_rr().
 
 	--- 8.3.3-REL released --- (Wed Jun 26 21:15:43 PDT 2002)
 

==== //depot/projects/ia64/contrib/bind/bin/named/db_defs.h#4 (text+ko) ====

@@ -78,7 +78,7 @@
  */
 
 	/* max length of data in RR data field */
-#define MAXDATA		(2*MAXDNAME + 5*INT32SZ)
+#define MAXDATA		(3*MAXDNAME + 5*INT32SZ)
 
 	/* max length of data in a TXT RR segment */
 #define MAXCHARSTRING 255

==== //depot/projects/ia64/contrib/bind/bin/named/db_sec.c#3 (text+ko) ====

@@ -479,7 +479,9 @@
 	struct sig_record *sigdata;
 	struct dnode *sigdn;
 	struct databuf *sigdp;
-	time_t now;
+	u_int32_t now;
+	u_int32_t exptime;
+	u_int32_t signtime;
 	char *signer;
 	u_char name_n[MAXDNAME];
 	u_char *sig, *eom;
@@ -492,6 +494,7 @@
 	int dnssec_failed = 0, dnssec_succeeded = 0;
 	int return_value;
 	int i;
+	int expired = 0;
 
 	if (rrset == NULL || rrset->rr_name == NULL) {
 		ns_warning (ns_log_default, "verify_set: missing rrset/name");
@@ -527,11 +530,14 @@
 		 * Don't verify a set if the SIG inception time is in
 		 * the future.  This should be fixed before 2038 (BEW)
 		 */
-		if ((time_t)ntohl(sigdata->sig_time_n) > now)
+		signtime = ntohl(sigdata->sig_time_n);
+		if (SEQ_GT(signtime, now))
 			continue;
 
 		/* An expired set is dropped, but the data is not. */
-		if ((time_t)ntohl(sigdata->sig_exp_n) < now) {
+		exptime = ntohl(sigdata->sig_exp_n);
+		if (SEQ_GT(now, exptime)) {
+			expired++;
 			db_detach(&sigdn->dp);
 			sigdp = NULL;
 			continue;
@@ -723,7 +729,7 @@
 	}
 
 end:
-	if (dnssec_failed > 0)
+	if (dnssec_failed > 0 || expired > 0)
 		rrset_trim_sigs(rrset);
 	if (trustedkey == 0 && key != NULL)
 		dst_free_key(key);

==== //depot/projects/ia64/contrib/bind/bin/named/ns_defs.h#5 (text+ko) ====

@@ -469,7 +469,7 @@
 			q_cmsglen,	/* len of cname message */
 			q_cmsgsize;	/* allocated size of cname message */
 	int16_t		q_dfd;		/* UDP file descriptor */
-	int16_t		q_udpsize;	/* UDP message size */
+	u_int16_t	q_udpsize;	/* UDP message size */
 	int		q_distance;	/* distance this query is from the
 					 * original query that the server
 					 * received. */

==== //depot/projects/ia64/contrib/bind/bin/named/ns_ncache.c#3 (text+ko) ====

@@ -66,7 +66,7 @@
 	u_int16_t atype;
 	u_char *sp, *cp1;
 	u_char data[MAXDATA];
-	size_t len = sizeof data;
+	u_char *eod = data + sizeof(data);
 #endif
 
 	nameserIncr(from.sin_addr, nssRcvdNXD);
@@ -186,7 +186,7 @@
 		rdatap = cp;
 
 		/* origin */
-		n = dn_expand(msg, msg + msglen, cp, (char*)data, len);
+		n = dn_expand(msg, msg + msglen, cp, (char*)data, eod - data);
 		if (n < 0) {
 			ns_debug(ns_log_ncache, 3,
 				 "ncache: origin form error");
@@ -195,9 +195,8 @@
 		cp += n;
 		n = strlen((char*)data) + 1;
 		cp1 = data + n;
-		len -= n;
 		/* mail */
-		n = dn_expand(msg, msg + msglen, cp, (char*)cp1, len);
+		n = dn_expand(msg, msg + msglen, cp, (char*)cp1, eod - cp1);
 		if (n < 0) {
 			ns_debug(ns_log_ncache, 3, "ncache: mail form error");
 			return;
@@ -205,20 +204,20 @@
 		cp += n;
 		n = strlen((char*)cp1) + 1;
 		cp1 += n;
-		len -= n;
 		n = 5 * INT32SZ;
+		if (n > (eod - cp1))	/* Can't happen. See MAXDATA. */
+			return;
 		BOUNDS_CHECK(cp, n);
 		memcpy(cp1, cp, n);
 		/* serial, refresh, retry, expire, min */
 		cp1 += n;
-		len -= n;
 		cp += n;
 		if (cp != rdatap + dlen) {
 			ns_debug(ns_log_ncache, 3, "ncache: form error");
 			return;
 		}
 		/* store the zone of the soa record */
-		n = dn_expand(msg, msg + msglen, sp, (char*)cp1, len);
+		n = dn_expand(msg, msg + msglen, sp, (char*)cp1, eod - cp1);
 		if (n < 0) {
 			ns_debug(ns_log_ncache, 3, "ncache: form error 2");
 			return;

==== //depot/projects/ia64/contrib/bind/bin/named/ns_req.c#5 (text+ko) ====

@@ -2195,7 +2195,7 @@
 
 		/* first just copy over the type_covered, algorithm, */
 		/* labels, orig ttl, two timestamps, and the footprint */
-		if ((dp->d_size - 18) > buflen)
+		if (buflen < 18)
 			goto cleanup;  /* out of room! */
 		memcpy(cp, cp1, 18);
 		cp  += 18;

==== //depot/projects/ia64/contrib/bind/bin/named/ns_resp.c#5 (text+ko) ====

@@ -2001,7 +2001,7 @@
 		 * to BOUNDS_CHECK() here.
 		 */
 		cp1 += (n = strlen((char *)cp1) + 1);
-		n1 = sizeof(data) - n;
+		n1 = sizeof(data) - n - INT16SZ;
 		n = dn_expand(msg, eom, cp, (char *)cp1, n1);
 		if (n < 0) {
 			hp->rcode = FORMERR;
@@ -2043,8 +2043,18 @@
 			ttl = origTTL;
 		}
 
+		/*
+		 * Check that expire and signature times are internally
+		 * consistant.
+		 */
+		if (!SEQ_GT(exptime, signtime) && exptime != signtime) {
+			ns_debug(ns_log_default, 3,
+			"ignoring SIG: signature expires before it was signed");
+			return ((cp - rrp) + dlen);
+		}
+
 		/* Don't let bogus signers "sign" in the future.  */
-		if (signtime > now) {
+		if (SEQ_GT(signtime, now)) {
 			ns_debug(ns_log_default, 3,
 			  "ignoring SIG: signature date %s is in the future",
 				 p_secstodate (signtime));
@@ -2052,7 +2062,7 @@
 		}
 		
 		/* Ignore received SIG RR's that are already expired.  */
-		if (exptime <= now) {
+		if (SEQ_GT(now, exptime)) {
 			ns_debug(ns_log_default, 3,
 				"ignoring SIG: expiration %s is in the past",
 				 p_secstodate (exptime));

==== //depot/projects/ia64/contrib/bind/lib/nameser/ns_name.c#4 (text+ko) ====

@@ -341,6 +341,10 @@
 	dn = dst;
 	eom = dst + dstsiz;
 
+	if (dn >= eom) {
+		errno = EMSGSIZE;
+		return (-1);
+	}
 	while ((n = *cp++) != 0) {
 		if ((n & NS_CMPRSFLGS) == NS_CMPRSFLGS) {
 			/* Some kind of compression pointer. */

==== //depot/projects/ia64/contrib/bind/lib/nameser/ns_samedomain.c#2 (text+ko) ====

@@ -166,7 +166,7 @@
 ns_makecanon(const char *src, char *dst, size_t dstsize) {
 	size_t n = strlen(src);
 
-	if (n + sizeof "." > dstsize) {
+	if (n + sizeof "." + 1 > dstsize) {
 		errno = EMSGSIZE;
 		return (-1);
 	}

==== //depot/projects/ia64/etc/defaults/rc.conf#21 (text+ko) ====

@@ -13,7 +13,7 @@
 #
 # All arguments must be in double or single quotes.
 #
-# $FreeBSD: src/etc/defaults/rc.conf,v 1.162 2002/11/12 07:10:45 imp Exp $
+# $FreeBSD: src/etc/defaults/rc.conf,v 1.163 2002/11/15 08:26:36 ru Exp $
 
 ##############################################################
 ###  Important initial Boot-time options  ####################
@@ -26,7 +26,7 @@
 apm_enable="NO"		# Set to YES to enable APM BIOS functions (or NO).
 apmd_enable="NO"	# Run apmd to handle APM event from userland.
 apmd_flags=""		# Flags to apmd (if enabled).
-devd_enable="NO" 	# Run devd, to trigger progams on device tree changes.
+devd_enable="NO" 	# Run devd, to trigger programs on device tree changes.
 pccard_enable="NO"	# Set to YES if you want to configure PCCARD devices.
 pccard_mem="DEFAULT"	# If pccard_enable=YES, this is card memory address.
 pccard_beep="2"		# pccard beep type.
@@ -335,7 +335,7 @@
 moused_type="auto"	# See man page for rc.conf(5) for available settings.
 moused_port="/dev/psm0"	# Set to your mouse port.
 moused_flags=""		# Any additional flags to moused.
-mousechar_start="NO"	# if 0xd0-0xd3 default range is occuped in your
+mousechar_start="NO"	# if 0xd0-0xd3 default range is occupied in your
 			# language code table, specify alternative range
 			# start like mousechar_start=3, see vidcontrol(1)
 allscreens_flags=""	# Set this vidcontrol mode for all virtual screens

==== //depot/projects/ia64/gnu/usr.bin/binutils/libiberty/Makefile#5 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/gnu/usr.bin/binutils/libiberty/Makefile,v 1.16 2002/05/13 11:09:03 ru Exp $
+# $FreeBSD: src/gnu/usr.bin/binutils/libiberty/Makefile,v 1.17 2002/11/13 13:49:29 ru Exp $
 
 .include "../Makefile.inc0"
 
@@ -10,7 +10,9 @@
 	hex.c floatformat.c hashtab.c lbasename.c make-temp-file.c \
 	objalloc.c obstack.c safe-ctype.c xatexit.c xexit.c xmalloc.c \
 	xstrdup.c xstrerror.c
-.if defined(BOOTSTRAPPING)
+.if defined(BOOTSTRAPPING) && \
+    ( ${BOOTSTRAPPING} < 440000 || \
+    ( ${BOOTSTRAPPING} >= 500000 && ${BOOTSTRAPPING} < 500022 ))
 SRCS+=	basename.c
 .endif
 WARNS=	1

==== //depot/projects/ia64/gnu/usr.bin/cc/cc_tools/auto-host.h#8 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/auto-host.h,v 1.10 2002/10/20 07:50:20 obrien Exp $ */
+/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/auto-host.h,v 1.11 2002/11/13 11:50:40 ru Exp $ */
 
 #include <sys/param.h>
 
@@ -357,7 +357,10 @@
 /* #undef _GNU_SOURCE */
 
 /* Define if you have a working <stdbool.h> header file. */
+#if (__FreeBSD_version >= 440003 && __FreeBSD_version < 500000) || \
+    __FreeBSD_version >= 500014
 #define HAVE_STDBOOL_H 1
+#endif
 
 /* Define if you can safely include both <string.h> and <strings.h>. */
 #define STRING_WITH_STRINGS 1

==== //depot/projects/ia64/kerberos5/lib/libasn1/Makefile#6 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/kerberos5/lib/libasn1/Makefile,v 1.16 2002/08/13 16:52:50 ru Exp $
+# $FreeBSD: src/kerberos5/lib/libasn1/Makefile,v 1.17 2002/11/13 13:49:29 ru Exp $
 
 LIB=	asn1
 CFLAGS+=-I${KRB5DIR}/include \
@@ -106,7 +106,9 @@
 	strupr.c
 	${CC} ${CFLAGS} ${.OODATE} -o ${.TARGET}
 
-.if defined(BOOTSTRAPPING)
+.if defined(BOOTSTRAPPING) && \
+    ( ${BOOTSTRAPPING} < 440001 || \
+    ( ${BOOTSTRAPPING} >= 500000 && ${BOOTSTRAPPING} < 500023 ))
 asn1_compile: getprogname.c setprogname.c
 .endif
 

==== //depot/projects/ia64/kerberos5/lib/libhdb/Makefile#6 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/kerberos5/lib/libhdb/Makefile,v 1.9 2002/08/13 16:52:52 ru Exp $
+# $FreeBSD: src/kerberos5/lib/libhdb/Makefile,v 1.10 2002/11/13 13:49:29 ru Exp $
 
 LIB=	hdb
 CFLAGS+=-I${KRB5DIR}/include \
@@ -61,7 +61,9 @@
 		get_window_size.c strupr.c
 	${CC} ${CFLAGS} ${.OODATE} -o ${.TARGET}
 
-.if defined(BOOTSTRAPPING)
+.if defined(BOOTSTRAPPING) && \
+    ( ${BOOTSTRAPPING} < 440001 || \
+    ( ${BOOTSTRAPPING} >= 500000 && ${BOOTSTRAPPING} < 500023 ))
 asn1_compile: getprogname.c setprogname.c
 .endif
 

==== //depot/projects/ia64/lib/libc/gen/_pthread_stubs.c#5 (text+ko) ====

@@ -25,14 +25,12 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/_pthread_stubs.c,v 1.8 2002/11/01 09:37:16 dfr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/_pthread_stubs.c,v 1.10 2002/11/13 21:55:22 deischen Exp $");
 
 #include <signal.h>
 #include <pthread.h>
-#include <pthread_np.h>
 
-void *_pthread_getspecific(pthread_key_t key);
-pthread_t _pthread_self(void);
+#include "libc_private.h"
 
 /*
  * Weak symbols: All libc internal usage of these functions should
@@ -42,69 +40,7 @@
  * usage to avoid unwanted cancellation points and to differentiate
  * between application locks and libc locks (threads holding the
  * latter can't be allowed to exit/terminate).
- *
- * We also provide weak pthread_XXX stubs which call their
- * _pthread_XXX counterparts. These stubs may be used be other
- * libraries for ensuring thread-safety without requiring the presence
- * of a thread library.
  */
-__weak_reference(_pthread_cond_init_stub,	_pthread_cond_init);
-__weak_reference(_pthread_cond_signal_stub,	_pthread_cond_signal);
-__weak_reference(_pthread_cond_broadcast_stub,	_pthread_cond_broadcast);
-__weak_reference(_pthread_cond_wait_stub,	_pthread_cond_wait);
-__weak_reference(_pthread_cond_destroy_stub,	_pthread_cond_destroy);
-__weak_reference(_pthread_getspecific_stub,	_pthread_getspecific);
-__weak_reference(_pthread_key_create_stub,	_pthread_key_create);
-__weak_reference(_pthread_key_delete_stub,	_pthread_key_delete);
-__weak_reference(_pthread_main_np_stub,		_pthread_main_np);
-__weak_reference(_pthread_mutex_destroy_stub,	_pthread_mutex_destroy);
-__weak_reference(_pthread_mutex_init_stub,	_pthread_mutex_init);
-__weak_reference(_pthread_mutex_lock_stub,	_pthread_mutex_lock);
-__weak_reference(_pthread_mutex_trylock_stub,	_pthread_mutex_trylock);
-__weak_reference(_pthread_mutex_unlock_stub,	_pthread_mutex_unlock);
-__weak_reference(_pthread_mutexattr_init_stub,	_pthread_mutexattr_init);
-__weak_reference(_pthread_mutexattr_destroy_stub, _pthread_mutexattr_destroy);
-__weak_reference(_pthread_mutexattr_settype_stub, _pthread_mutexattr_settype);
-__weak_reference(_pthread_once_stub,		_pthread_once);
-__weak_reference(_pthread_self_stub,		_pthread_self);
-__weak_reference(_pthread_rwlock_init_stub,	_pthread_rwlock_init);
-__weak_reference(_pthread_rwlock_destroy_stub,	_pthread_rwlock_destroy);
-__weak_reference(_pthread_rwlock_rdlock_stub,	_pthread_rwlock_rdlock);
-__weak_reference(_pthread_rwlock_tryrdlock_stub, _pthread_rwlock_tryrdlock);
-__weak_reference(_pthread_rwlock_trywrlock_stub, _pthread_rwlock_trywrlock);
-__weak_reference(_pthread_rwlock_unlock_stub,	_pthread_rwlock_unlock);
-__weak_reference(_pthread_rwlock_wrlock_stub,	_pthread_rwlock_wrlock); 
-__weak_reference(_pthread_setspecific_stub,	_pthread_setspecific);
-__weak_reference(_pthread_sigmask_stub,		_pthread_sigmask);
-
-__weak_reference(pthread_cond_init_stub,	pthread_cond_init);
-__weak_reference(pthread_cond_signal_stub,	pthread_cond_signal);
-__weak_reference(pthread_cond_broadcast_stub,	pthread_cond_broadcast);
-__weak_reference(pthread_cond_wait_stub,	pthread_cond_wait);
-__weak_reference(pthread_cond_destroy_stub,	pthread_cond_destroy);
-__weak_reference(pthread_getspecific_stub,	pthread_getspecific);
-__weak_reference(pthread_key_create_stub,	pthread_key_create);
-__weak_reference(pthread_key_delete_stub,	pthread_key_delete);
-__weak_reference(pthread_main_np_stub,		pthread_main_np);
-__weak_reference(pthread_mutex_destroy_stub,	pthread_mutex_destroy);
-__weak_reference(pthread_mutex_init_stub,	pthread_mutex_init);
-__weak_reference(pthread_mutex_lock_stub,	pthread_mutex_lock);
-__weak_reference(pthread_mutex_trylock_stub,	pthread_mutex_trylock);
-__weak_reference(pthread_mutex_unlock_stub,	pthread_mutex_unlock);
-__weak_reference(pthread_mutexattr_init_stub,	pthread_mutexattr_init);
-__weak_reference(pthread_mutexattr_destroy_stub, pthread_mutexattr_destroy);
-__weak_reference(pthread_mutexattr_settype_stub, pthread_mutexattr_settype);
-__weak_reference(pthread_once_stub,		pthread_once);
-__weak_reference(pthread_self_stub,		pthread_self);
-__weak_reference(pthread_rwlock_init_stub,	pthread_rwlock_init);
-__weak_reference(pthread_rwlock_destroy_stub,	pthread_rwlock_destroy);
-__weak_reference(pthread_rwlock_rdlock_stub,	pthread_rwlock_rdlock);
-__weak_reference(pthread_rwlock_tryrdlock_stub, pthread_rwlock_tryrdlock);
-__weak_reference(pthread_rwlock_trywrlock_stub, pthread_rwlock_trywrlock);
-__weak_reference(pthread_rwlock_unlock_stub,	pthread_rwlock_unlock);
-__weak_reference(pthread_rwlock_wrlock_stub,	pthread_rwlock_wrlock); 
-__weak_reference(pthread_setspecific_stub,	pthread_setspecific);
-__weak_reference(pthread_sigmask_stub,		pthread_sigmask);
 
 /* Define a null pthread structure just to satisfy _pthread_self. */
 struct pthread {
@@ -112,342 +48,179 @@
 
 static struct pthread	main_thread;
 
-static int
-_pthread_cond_init_stub(pthread_cond_t *cond,
-    const pthread_condattr_t *cond_attr)
-{
-	return (0);
-}
+static int		stub_main(void);
+static void 		*stub_null(void);
+static struct pthread	*stub_self(void);
+static int		stub_zero(void);
 
-static int
-_pthread_cond_signal_stub(pthread_cond_t *cond)
-{
-	return (0);
-}
+#define	PJT_DUAL_ENTRY(entry)	\
+	(pthread_func_t)entry, (pthread_func_t)entry
 
-static int
-_pthread_cond_broadcast_stub(pthread_cond_t *cond)
-{
-	return (0);
-}
+pthread_func_entry_t __thr_jtable[PJT_MAX] = {
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_COND_BROADCAST */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_COND_DESTROY */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_COND_INIT */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_COND_SIGNAL */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_COND_WAIT */
+	{PJT_DUAL_ENTRY(stub_null)},	/* PJT_GETSPECIFIC */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_KEY_CREATE */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_KEY_DELETE */
+	{PJT_DUAL_ENTRY(stub_main)},	/* PJT_MAIN_NP */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_MUTEX_DESTROY */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_MUTEX_INIT */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_MUTEX_LOCK */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_MUTEX_TRYLOCK */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_MUTEX_UNLOCK */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_MUTEXATTR_DESTROY */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_MUTEXATTR_INIT */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_MUTEXATTR_SETTYPE */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_ONCE */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_RWLOCK_DESTROY */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_RWLOCK_INIT */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_RWLOCK_RDLOCK */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_RWLOCK_TRYRDLOCK */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_RWLOCK_TRYWRLOCK */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_RWLOCK_UNLOCK */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_RWLOCK_WRLOCK */
+	{PJT_DUAL_ENTRY(stub_self)},	/* PJT_SELF */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_SETSPECIFIC */
+	{PJT_DUAL_ENTRY(stub_zero)}	/* PJT_SIGMASK */
+};
 
-static int
-_pthread_cond_wait_stub(pthread_cond_t *cond, pthread_mutex_t *mutex)
-{
-	return (0);
-}
+/*
+ * Weak aliases for exported (pthread_*) and internal (_pthread_*) routines.
+ */
+#define	WEAK_REF(sym, alias)	__weak_reference(sym, alias)
 
-static int
-_pthread_cond_destroy_stub(pthread_cond_t *cond)
-{
-	return (0);
-}
+#define	FUNC_TYPE(name)		__CONCAT(name, _func_t)
+#define	FUNC_INT(name)		__CONCAT(name, _int)
+#define	FUNC_EXP(name)		__CONCAT(name, _exp)
 
-static void *
-_pthread_getspecific_stub(pthread_key_t key)
-{
-	return (NULL);
-}
+#define	STUB_FUNC(name, idx, ret)				\
+	static ret FUNC_EXP(name)(void) __unused;		\
+	static ret FUNC_INT(name)(void) __unused;		\
+	WEAK_REF(FUNC_EXP(name), name);				\
+	WEAK_REF(FUNC_INT(name), __CONCAT(_, name));		\
+	typedef ret (*FUNC_TYPE(name))(void);			\
+	static ret FUNC_EXP(name)(void)				\
+	{							\
+		FUNC_TYPE(name) func;				\
+		func = (FUNC_TYPE(name))__thr_jtable[idx][0];	\
+		return (func());				\
+	}							\
+	static ret FUNC_INT(name)(void)				\
+	{							\
+		FUNC_TYPE(name) func;				\
+		func = (FUNC_TYPE(name))__thr_jtable[idx][1];	\
+		return (func());				\
+	}
 
-static int
-_pthread_key_create_stub(pthread_key_t *key, void (*destructor) (void *))
-{
-	return (0);
-}
+#define	STUB_FUNC1(name, idx, ret, p0_type)			\
+	static ret FUNC_EXP(name)(p0_type) __unused;		\
+	static ret FUNC_INT(name)(p0_type) __unused;		\
+	WEAK_REF(FUNC_EXP(name), name);				\
+	WEAK_REF(FUNC_INT(name), __CONCAT(_, name));		\
+	typedef ret (*FUNC_TYPE(name))(p0_type);		\
+	static ret FUNC_EXP(name)(p0_type p0)			\
+	{							\
+		FUNC_TYPE(name) func;				\
+		func = (FUNC_TYPE(name))__thr_jtable[idx][0];	\
+		return (func(p0));				\
+	}							\
+	static ret FUNC_INT(name)(p0_type p0)			\
+	{							\
+		FUNC_TYPE(name) func;				\
+		func = (FUNC_TYPE(name))__thr_jtable[idx][1];	\
+		return (func(p0));				\
+	}
 
-static int
-_pthread_key_delete_stub(pthread_key_t key)
-{
-	return (0);
-}
+#define	STUB_FUNC2(name, idx, ret, p0_type, p1_type)		\
+	static ret FUNC_EXP(name)(p0_type, p1_type) __unused;	\
+	static ret FUNC_INT(name)(p0_type, p1_type) __unused;	\
+	WEAK_REF(FUNC_EXP(name), name);				\
+	WEAK_REF(FUNC_INT(name), __CONCAT(_, name));		\
+	typedef ret (*FUNC_TYPE(name))(p0_type, p1_type);	\
+	static ret FUNC_EXP(name)(p0_type p0, p1_type p1)	\
+	{							\
+		FUNC_TYPE(name) func;				\
+		func = (FUNC_TYPE(name))__thr_jtable[idx][0];	\
+		return (func(p0, p1));				\
+	}							\
+	static ret FUNC_INT(name)(p0_type p0, p1_type p1)	\
+	{							\
+		FUNC_TYPE(name) func;				\
+		func = (FUNC_TYPE(name))__thr_jtable[idx][1];	\
+		return (func(p0, p1));				\
+	}
 
-static int
-_pthread_main_np_stub()
-{
-	return (-1);
-}
+#define	STUB_FUNC3(name, idx, ret, p0_type, p1_type, p2_type)	\
+	static ret FUNC_EXP(name)(p0_type, p1_type, p2_type) __unused; \
+	static ret FUNC_INT(name)(p0_type, p1_type, p2_type) __unused; \
+	WEAK_REF(FUNC_EXP(name), name);				\
+	WEAK_REF(FUNC_INT(name), __CONCAT(_, name));		\
+	typedef ret (*FUNC_TYPE(name))(p0_type, p1_type, p2_type); \
+	static ret FUNC_EXP(name)(p0_type p0, p1_type p1, p2_type p2) \
+	{							\

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

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




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