PERFORCE change 119983 for review

Matt Jacob mjacob at FreeBSD.org
Fri May 18 06:17:53 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=119983

Change 119983 by mjacob at mjexp on 2007/05/18 06:17:33

	IFC

Affected files ...

.. //depot/projects/mjexp/Makefile.inc1#9 integrate
.. //depot/projects/mjexp/UPDATING#15 integrate
.. //depot/projects/mjexp/lib/libc/Makefile#3 integrate
.. //depot/projects/mjexp/lib/libc/amd64/Symbol.map#3 integrate
.. //depot/projects/mjexp/lib/libc/arm/Symbol.map#3 integrate
.. //depot/projects/mjexp/lib/libc/gmon/Symbol.map#3 integrate
.. //depot/projects/mjexp/lib/libc/i386/Symbol.map#4 integrate
.. //depot/projects/mjexp/lib/libc/net/Symbol.map#4 integrate
.. //depot/projects/mjexp/lib/libc/net/ether_addr.c#3 integrate
.. //depot/projects/mjexp/lib/libc/net/ethers.3#2 integrate
.. //depot/projects/mjexp/lib/libc/powerpc/Symbol.map#3 integrate
.. //depot/projects/mjexp/lib/libc_r/Makefile#2 integrate
.. //depot/projects/mjexp/lib/libpthread/Makefile#2 integrate
.. //depot/projects/mjexp/lib/libpthread/pthread.map#3 integrate
.. //depot/projects/mjexp/lib/libpthread/thread/thr_private.h#4 integrate
.. //depot/projects/mjexp/lib/librt/Makefile#3 integrate
.. //depot/projects/mjexp/lib/libthr/Makefile#3 integrate
.. //depot/projects/mjexp/lib/libthr/pthread.map#3 integrate
.. //depot/projects/mjexp/lib/libthread_db/Makefile#3 integrate
.. //depot/projects/mjexp/lib/msun/Makefile#3 integrate
.. //depot/projects/mjexp/libexec/rtld-elf/Makefile#5 integrate
.. //depot/projects/mjexp/share/mk/bsd.lib.mk#4 integrate
.. //depot/projects/mjexp/share/mk/bsd.libnames.mk#5 integrate
.. //depot/projects/mjexp/share/mk/bsd.own.mk#5 integrate
.. //depot/projects/mjexp/share/mk/bsd.symver.mk#3 integrate
.. //depot/projects/mjexp/sys/amd64/linux32/linux32_sysvec.c#6 integrate
.. //depot/projects/mjexp/sys/cam/cam_periph.c#6 integrate
.. //depot/projects/mjexp/sys/cam/cam_xpt.c#11 integrate
.. //depot/projects/mjexp/sys/cam/cam_xpt.h#6 integrate
.. //depot/projects/mjexp/sys/cam/scsi/scsi_cd.c#5 integrate
.. //depot/projects/mjexp/sys/cam/scsi/scsi_ch.c#4 integrate
.. //depot/projects/mjexp/sys/cam/scsi/scsi_da.c#10 integrate
.. //depot/projects/mjexp/sys/cam/scsi/scsi_pass.c#5 integrate
.. //depot/projects/mjexp/sys/cam/scsi/scsi_pt.c#5 integrate
.. //depot/projects/mjexp/sys/cam/scsi/scsi_sa.c#5 integrate
.. //depot/projects/mjexp/sys/cam/scsi/scsi_ses.c#4 integrate
.. //depot/projects/mjexp/sys/cam/scsi/scsi_sg.c#5 integrate
.. //depot/projects/mjexp/sys/cam/scsi/scsi_targ_bh.c#4 integrate
.. //depot/projects/mjexp/sys/compat/ia32/ia32_sysvec.c#3 integrate
.. //depot/projects/mjexp/sys/conf/Makefile.amd64#3 integrate
.. //depot/projects/mjexp/sys/conf/Makefile.arm#3 integrate
.. //depot/projects/mjexp/sys/conf/Makefile.i386#3 integrate
.. //depot/projects/mjexp/sys/conf/Makefile.ia64#3 integrate
.. //depot/projects/mjexp/sys/conf/Makefile.pc98#3 integrate
.. //depot/projects/mjexp/sys/conf/Makefile.powerpc#3 integrate
.. //depot/projects/mjexp/sys/conf/Makefile.sparc64#3 integrate
.. //depot/projects/mjexp/sys/conf/Makefile.sun4v#3 integrate
.. //depot/projects/mjexp/sys/conf/NOTES#21 integrate
.. //depot/projects/mjexp/sys/conf/files#24 integrate
.. //depot/projects/mjexp/sys/conf/options#18 integrate
.. //depot/projects/mjexp/sys/dev/acpica/acpi.c#7 integrate
.. //depot/projects/mjexp/sys/dev/acpica/acpi_hpet.c#3 integrate
.. //depot/projects/mjexp/sys/dev/acpica/acpivar.h#4 integrate
.. //depot/projects/mjexp/sys/dev/bce/if_bce.c#13 integrate
.. //depot/projects/mjexp/sys/dev/bce/if_bcefw.h#3 integrate
.. //depot/projects/mjexp/sys/dev/bce/if_bcereg.h#7 integrate
.. //depot/projects/mjexp/sys/dev/cardbus/cardbus.c#3 integrate
.. //depot/projects/mjexp/sys/dev/cardbus/cardbus_cis.c#2 integrate
.. //depot/projects/mjexp/sys/dev/ciss/ciss.c#8 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_80003es2lan.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_80003es2lan.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_82540.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_82541.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_82541.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_82542.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_82543.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_82543.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_82571.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_82571.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_82575.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_82575.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_api.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_api.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_defines.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_hw.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_ich8lan.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_ich8lan.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_mac.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_mac.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_manage.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_manage.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_nvm.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_nvm.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_osdep.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_phy.c#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_phy.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/e1000_regs.h#2 integrate
.. //depot/projects/mjexp/sys/dev/em/if_em.c#7 integrate
.. //depot/projects/mjexp/sys/dev/em/if_em.h#5 integrate
.. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#27 integrate
.. //depot/projects/mjexp/sys/dev/mfi/mfi.c#9 integrate
.. //depot/projects/mjexp/sys/dev/mfi/mfi_cam.c#1 branch
.. //depot/projects/mjexp/sys/dev/mfi/mfireg.h#4 integrate
.. //depot/projects/mjexp/sys/dev/mfi/mfivar.h#4 integrate
.. //depot/projects/mjexp/sys/dev/mmc/mmc.c#2 integrate
.. //depot/projects/mjexp/sys/dev/mmc/mmcsd.c#2 integrate
.. //depot/projects/mjexp/sys/dev/mmc/mmcvar.h#2 integrate
.. //depot/projects/mjexp/sys/dev/pccbb/pccbb.c#7 integrate
.. //depot/projects/mjexp/sys/dev/pci/pci.c#17 integrate
.. //depot/projects/mjexp/sys/dev/pci/pci_private.h#7 integrate
.. //depot/projects/mjexp/sys/dev/pci/pcireg.h#10 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_bus_pci.c#3 integrate
.. //depot/projects/mjexp/sys/geom/part/g_part.c#4 integrate
.. //depot/projects/mjexp/sys/i386/Makefile#2 integrate
.. //depot/projects/mjexp/sys/kern/Make.tags.inc#4 integrate
.. //depot/projects/mjexp/sys/kern/imgact_elf.c#4 integrate
.. //depot/projects/mjexp/sys/kern/kern_exec.c#7 integrate
.. //depot/projects/mjexp/sys/kern/kern_exit.c#6 integrate
.. //depot/projects/mjexp/sys/kern/kern_mib.c#4 integrate
.. //depot/projects/mjexp/sys/kern/kern_resource.c#10 integrate
.. //depot/projects/mjexp/sys/kern/uipc_domain.c#2 integrate
.. //depot/projects/mjexp/sys/kern/uipc_mbuf.c#7 integrate
.. //depot/projects/mjexp/sys/kern/uipc_sockbuf.c#4 integrate
.. //depot/projects/mjexp/sys/kern/uipc_socket.c#12 integrate
.. //depot/projects/mjexp/sys/kern/uipc_syscalls.c#11 integrate
.. //depot/projects/mjexp/sys/kern/vfs_vnops.c#5 integrate
.. //depot/projects/mjexp/sys/modules/mfi/Makefile#2 integrate
.. //depot/projects/mjexp/sys/modules/mfi/mfip/Makefile#1 branch
.. //depot/projects/mjexp/sys/modules/netgraph/Makefile#3 integrate
.. //depot/projects/mjexp/sys/modules/netgraph/car/Makefile#1 branch
.. //depot/projects/mjexp/sys/net/ieee8023ad_lacp.c#4 integrate
.. //depot/projects/mjexp/sys/net/ieee8023ad_lacp.h#4 integrate
.. //depot/projects/mjexp/sys/net/if.c#9 integrate
.. //depot/projects/mjexp/sys/net/if.h#3 integrate
.. //depot/projects/mjexp/sys/net/if_lagg.c#3 integrate
.. //depot/projects/mjexp/sys/net/if_lagg.h#3 integrate
.. //depot/projects/mjexp/sys/net/if_var.h#5 integrate
.. //depot/projects/mjexp/sys/netgraph/ng_car.c#1 branch
.. //depot/projects/mjexp/sys/netgraph/ng_car.h#1 branch
.. //depot/projects/mjexp/sys/netinet/ip_input.c#6 integrate
.. //depot/projects/mjexp/sys/netinet/sctp.h#5 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_asconf.c#9 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_auth.c#8 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_constants.h#9 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_indata.c#12 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_input.c#12 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_output.c#13 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_pcb.c#12 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_sysctl.c#4 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_timer.c#10 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_uio.h#12 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_usrreq.c#12 integrate
.. //depot/projects/mjexp/sys/netinet/sctputil.c#12 integrate
.. //depot/projects/mjexp/sys/netinet/tcp_input.c#14 integrate
.. //depot/projects/mjexp/sys/netinet/tcp_reass.c#2 integrate
.. //depot/projects/mjexp/sys/netinet/tcp_subr.c#11 integrate
.. //depot/projects/mjexp/sys/netinet/tcp_timer.c#7 integrate
.. //depot/projects/mjexp/sys/netinet/tcp_timer.h#4 integrate
.. //depot/projects/mjexp/sys/netinet/tcp_timewait.c#2 integrate
.. //depot/projects/mjexp/sys/netinet/tcp_var.h#8 integrate
.. //depot/projects/mjexp/sys/netinet/udp_usrreq.c#10 integrate
.. //depot/projects/mjexp/sys/netinet6/ip6_input.c#4 integrate
.. //depot/projects/mjexp/sys/netinet6/sctp6_usrreq.c#10 integrate
.. //depot/projects/mjexp/sys/sys/lockf.h#2 integrate
.. //depot/projects/mjexp/sys/sys/sysent.h#4 integrate
.. //depot/projects/mjexp/tools/regression/lib/libc/net/Makefile#2 integrate
.. //depot/projects/mjexp/tools/regression/lib/libc/net/test-ether.c#1 branch
.. //depot/projects/mjexp/tools/regression/lib/libc/net/test-ether.t#1 branch
.. //depot/projects/mjexp/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8#3 integrate

Differences ...

==== //depot/projects/mjexp/Makefile.inc1#9 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.inc1,v 1.572 2007/04/17 15:52:36 pjd Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.574 2007/05/13 18:15:50 des Exp $
 #
 # Make command line options:
 #	-DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
@@ -1016,7 +1016,7 @@
 		${_lib_libgssapi} ${_lib_libipx} \
 		lib/libkiconv lib/libkvm lib/libmd \
 		lib/ncurses/ncurses lib/ncurses/ncursesw \
-		lib/libopie lib/libpam lib/libpthread \
+		lib/libopie lib/libpam lib/${DEFAULT_THREAD_LIB} \
 		lib/libradius lib/libsbuf lib/libtacplus lib/libutil \
 		${_lib_libypclnt} lib/libz lib/msun \
 		${_secure_lib_libcrypto} ${_secure_lib_libssh} \
@@ -1135,18 +1135,14 @@
 
 delete-old-files:
 	@echo ">>> Removing old files (only deletes safe to delete libs)"
-.for file in ${OLD_FILES}
 # Ask for every old file if the user really wants to remove it.
 # It's annoying, but better safe than sorry.
-	@if [ -f "${DESTDIR}/${file}" -o -L "${DESTDIR}/${file}" ]; then \
-		rm ${RM_I} "${DESTDIR}/${file}" || true; \
-		if [ -f "${DESTDIR}/${file}" -o -L "${DESTDIR}/${file}" ]; then\
-			echo "Removing schg flag on ${DESTDIR}/${file}"; \
-			chflags noschg "${DESTDIR}/${file}"; \
-			rm ${RM_I} "${DESTDIR}/${file}"; \
+	@(cd ${DESTDIR}/ && for file in ${OLD_FILES}; do \
+		if [ -f "./$${file}" -o -L "./$${file}" ]; then \
+			chflags noschg "./$${file}" 2>/dev/null || true; \
+			rm ${RM_I} "${DESTDIR}/$${file}" || true; \
 		fi; \
-	fi
-.endfor
+	done)
 # Remove catpages without corresponding manpages.
 	@3<&0; \
 	find ${DESTDIR}/usr/share/man/cat* ! -type d | \
@@ -1161,11 +1157,11 @@
 
 check-old-files:
 	@echo ">>> Checking for old files"
-.for file in ${OLD_FILES}
-	@if [ -f "${DESTDIR}/${file}" -o -L "${DESTDIR}/${file}" ]; then \
-		 echo "${DESTDIR}/${file}"; \
-	fi
-.endfor
+	@(cd ${DESTDIR}/ && for file in ${OLD_FILES}; do \
+		if [ -f "./$${file}" -o -L "./$${file}" ]; then \
+		 	echo "${DESTDIR}/$${file}"; \
+		fi; \
+	done)
 # Check for catpages without corresponding manpages.
 	@find ${DESTDIR}/usr/share/man/cat* ! -type d | \
 	sed -ep -e's:${DESTDIR}/usr/share/man/cat:${DESTDIR}/usr/share/man/man:' | \
@@ -1179,25 +1175,21 @@
 delete-old-libs:
 	@echo ">>> Removing old libraries"
 	@echo "${OLD_LIBS_MESSAGE}" | fmt
-.for file in ${OLD_LIBS}
-	@if [ -f "${DESTDIR}/${file}" -o -L "${DESTDIR}/${file}" ]; then \
-		rm ${RM_I} "${DESTDIR}/${file}" || true; \
-		if [ -f "${DESTDIR}/${file}" -o -L "${DESTDIR}/${file}" ]; then\
-			echo "Removing schg flag on ${DESTDIR}/${file}"; \
-			chflags noschg "${DESTDIR}/${file}"; \
-			rm ${RM_I} "${DESTDIR}/${file}"; \
+	@(cd ${DESTDIR}/ && for file in ${OLD_LIBS}; do \
+		if [ -f "./$${file}" -o -L "./$${file}" ]; then \
+			chflags noschg "./$${file}" 2>/dev/null || true; \
+			rm ${RM_I} "${DESTDIR}/$${file}" || true; \
 		fi; \
-	fi
-.endfor
+	done)
 	@echo ">>> Old libraries removed"
 
 check-old-libs:
 	@echo ">>> Checking for old libraries"
-.for file in ${OLD_LIBS}
-	@if [ -f "${DESTDIR}/${file}" -o -L "${DESTDIR}/${file}" ]; then \
-		echo "${DESTDIR}/${file}"; \
-	fi
-.endfor
+	@(cd ${DESTDIR}/ && for file in ${OLD_LIBS}; do \
+		if [ -f "./$${file}" -o -L "./$${file}" ]; then \
+			echo "${DESTDIR}/$${file}"; \
+		fi; \
+	done)
 
 delete-old-dirs:
 	@echo ">>> Removing old directories"

==== //depot/projects/mjexp/UPDATING#15 (text+ko) ====

@@ -21,6 +21,19 @@
 	developers choose to disable these features on build machines
 	to maximize performance.
 
+20070513:
+	Symbol versioning is enabled by default.  To disable it, use
+	option WITHOUT_SYMVER.  It is not advisable to attempt to
+	disable symbol versioning once it is enabled; your installworld
+	will break because a symbol version-less libc will get installed
+	before the install tools.  As a result, the old install tools,
+	which previously had symbol dependencies to FBSD_1.0, will fail
+	because the freshly installed libc will not have them.
+
+	The default threading library has been changed to libthr.  If
+	you wish to have libpthread as your default, use option
+	DEFAULT_THREAD_LIB=libpthread for the buildworld.
+
 20070423:
         The ABI breakage in sendmail(8)'s libmilter has been repaired
         so it is no longer necessary to recompile mail filters (aka,
@@ -773,4 +786,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.489 2007/04/23 22:15:07 gshapiro Exp $
+$FreeBSD: src/UPDATING,v 1.490 2007/05/13 14:41:48 deischen Exp $

==== //depot/projects/mjexp/lib/libc/Makefile#3 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.2 (Berkeley) 2/3/94
-# $FreeBSD: src/lib/libc/Makefile,v 1.69 2007/03/04 12:25:03 simon Exp $
+# $FreeBSD: src/lib/libc/Makefile,v 1.70 2007/05/13 14:12:38 deischen Exp $
 
 SHLIBDIR?= /lib
 
@@ -76,11 +76,9 @@
 CFLAGS+=-D_FREEFALL_CONFIG
 .endif
 
-.if defined(SYMVER_ENABLED)
 VERSION_DEF=${.CURDIR}/Versions.def
 SYMBOL_MAPS=${SYM_MAPS}
 CFLAGS+= -DSYMBOL_VERSIONING
-.endif
 
 # If there are no machine dependent sources, append all the
 # machine-independent sources:

==== //depot/projects/mjexp/lib/libc/amd64/Symbol.map#3 (text) ====

@@ -1,5 +1,5 @@
 /*
- * $FreeBSD: src/lib/libc/amd64/Symbol.map,v 1.2 2007/04/29 14:05:15 deischen Exp $
+ * $FreeBSD: src/lib/libc/amd64/Symbol.map,v 1.3 2007/05/13 14:16:54 deischen Exp $
  */
 
 /*
@@ -11,6 +11,7 @@
 	/* PSEUDO syscalls */
 	_exit;
 
+	.mcount;
 	_setjmp;
 	_longjmp;
 	fabs;

==== //depot/projects/mjexp/lib/libc/arm/Symbol.map#3 (text) ====

@@ -1,5 +1,5 @@
 /*
- * $FreeBSD: src/lib/libc/arm/Symbol.map,v 1.2 2007/04/29 14:05:15 deischen Exp $
+ * $FreeBSD: src/lib/libc/arm/Symbol.map,v 1.3 2007/05/13 14:16:54 deischen Exp $
  */
 
 /*
@@ -11,6 +11,7 @@
 	/* PSEUDO syscalls */
 	_exit;
 
+	_mcount;
 	_setjmp;
 	_longjmp;
 	alloca;
@@ -22,7 +23,7 @@
 	setjmp;
 	longjmp;
 	sigsetjmp;
-	siglongjmp
+	siglongjmp;
 	htonl;
 	__htonl;
 	htons;
@@ -65,4 +66,26 @@
 	__sys_fork;
 	_fork;
 	_sbrk;
+
+	/* softfloat */
+	__addsf3;
+	__adddf3;
+	__subsf3;
+	__subdf3;
+	__mulsf3;
+	__muldf3;
+	__divsf3;
+	__divdf3;
+	__floatsisf;
+	__floatsidf;
+	__floatdisf;
+	__floatdidf;
+	__fixsfsi;
+	__fixdfsi;
+	__fixsfdi;
+	__fixdfdi;
+	__fixunssfsi;
+	__fixunsdfsi;
+	__extendsfdf2;
+	__truncdfsf2;
 };

==== //depot/projects/mjexp/lib/libc/gmon/Symbol.map#3 (text) ====

@@ -1,9 +1,8 @@
 /*
- * $FreeBSD: src/lib/libc/gmon/Symbol.map,v 1.2 2007/04/29 14:05:16 deischen Exp $
+ * $FreeBSD: src/lib/libc/gmon/Symbol.map,v 1.3 2007/05/13 14:16:55 deischen Exp $
  */
 
 FBSD_1.0 {
-	.mcount;
 	_mcleanup;
 	monstartup;
 	moncontrol;

==== //depot/projects/mjexp/lib/libc/i386/Symbol.map#4 (text) ====

@@ -1,5 +1,5 @@
 /*
- * $FreeBSD: src/lib/libc/i386/Symbol.map,v 1.3 2007/04/29 14:05:16 deischen Exp $
+ * $FreeBSD: src/lib/libc/i386/Symbol.map,v 1.4 2007/05/13 14:16:55 deischen Exp $
  */
 
 /*
@@ -11,6 +11,7 @@
 	/* PSEUDO syscalls */
 	_exit;
 
+	.mcount;
 	_setjmp;
 	_longjmp;
 	alloca;

==== //depot/projects/mjexp/lib/libc/net/Symbol.map#4 (text) ====

@@ -1,5 +1,5 @@
 /*
- * $FreeBSD: src/lib/libc/net/Symbol.map,v 1.8 2007/04/29 14:05:17 deischen Exp $
+ * $FreeBSD: src/lib/libc/net/Symbol.map,v 1.9 2007/05/13 15:01:25 rwatson Exp $
  */
 
 FBSD_1.0 {
@@ -7,7 +7,9 @@
 	__b64_pton;
 	ether_line;
 	ether_aton;
+	ether_aton_r;
 	ether_ntoa;
+	ether_ntoa_r;
 	ether_ntohost;
 	ether_hostton;
 	eui64_aton;

==== //depot/projects/mjexp/lib/libc/net/ether_addr.c#3 (text+ko) ====

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1995 Bill Paul <wpaul at ctr.columbia.edu>.
+ * Copyright (c) 2007 Robert N. M. Watson
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/ether_addr.c,v 1.16 2007/05/13 12:04:06 rwatson Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/net/ether_addr.c,v 1.17 2007/05/13 13:57:44 rwatson Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -67,53 +68,67 @@
 int
 ether_line(const char *l, struct ether_addr *e, char *hostname)
 {
-        int i, o[6];
+	int i, o[6];
 
-        i = sscanf(l, "%x:%x:%x:%x:%x:%x %s", &o[0], &o[1], &o[2], &o[3],
+	i = sscanf(l, "%x:%x:%x:%x:%x:%x %s", &o[0], &o[1], &o[2], &o[3],
 	    &o[4], &o[5], hostname);
 	if (i != 7)
-                return (i);
-        for (i=0; i<6; i++)
-                e->octet[i] = o[i];
-        return (0);
+		return (i);
+	for (i=0; i<6; i++)
+		e->octet[i] = o[i];
+	return (0);
 }
 
 /*
  * Convert an ASCII representation of an ethernet address to binary form.
  */
 struct ether_addr *
+ether_aton_r(const char *a, struct ether_addr *e)
+{
+	int i;
+	unsigned int o0, o1, o2, o3, o4, o5;
+
+	i = sscanf(a, "%x:%x:%x:%x:%x:%x", &o0, &o1, &o2, &o3, &o4, &o5);
+	if (i != 6)
+		return (NULL);
+	e->octet[0]=o0;
+	e->octet[1]=o1;
+	e->octet[2]=o2;
+	e->octet[3]=o3;
+	e->octet[4]=o4;
+	e->octet[5]=o5;
+	return (e);
+}
+
+struct ether_addr *
 ether_aton(const char *a)
 {
-        int i;
-	static struct ether_addr o;
-	unsigned int o0, o1, o2, o3, o4, o5;
+	static struct ether_addr e;
 
-        i = sscanf(a, "%x:%x:%x:%x:%x:%x", &o0, &o1, &o2, &o3, &o4, &o5);
-        if (i != 6)
-                return (NULL);
-        o.octet[0]=o0;
-	o.octet[1]=o1;
-	o.octet[2]=o2;
-	o.octet[3]=o3;
-	o.octet[4]=o4;
-	o.octet[5]=o5;
-        return ((struct ether_addr *)&o);
+	return (ether_aton_r(a, &e));
 }
 
 /*
  * Convert a binary representation of an ethernet address to an ASCII string.
  */
 char *
+ether_ntoa_r(const struct ether_addr *n, char *a)
+{
+	int i;
+
+	i = sprintf(a, "%02x:%02x:%02x:%02x:%02x:%02x", n->octet[0],
+	    n->octet[1], n->octet[2], n->octet[3], n->octet[4], n->octet[5]);
+	if (i < 17)
+		return (NULL);
+	return (a);
+}
+
+char *
 ether_ntoa(const struct ether_addr *n)
 {
-        int i;
 	static char a[18];
 
-        i = sprintf(a, "%02x:%02x:%02x:%02x:%02x:%02x", n->octet[0],
-	    n->octet[1], n->octet[2], n->octet[3], n->octet[4], n->octet[5]);
-        if (i < 17)
-                return (NULL);
-        return ((char *)&a);
+	return (ether_ntoa_r(n, a));
 }
 
 /*

==== //depot/projects/mjexp/lib/libc/net/ethers.3#2 (text+ko) ====

@@ -1,5 +1,6 @@
-.\" Copyright (c) 1995
-.\"	Bill Paul <wpaul at ctr.columbia.edu>.  All rights reserved.
+.\" Copyright (c) 1995 Bill Paul <wpaul at ctr.columbia.edu>.
+.\" Copyright (c) 2007 Robert N. M. Watson
+.\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
@@ -28,16 +29,18 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libc/net/ethers.3,v 1.23 2005/01/20 09:17:03 ru Exp $
+.\" $FreeBSD: src/lib/libc/net/ethers.3,v 1.24 2007/05/13 13:57:45 rwatson Exp $
 .\"
-.Dd April 12, 1995
+.Dd May 13, 2007
 .Dt ETHERS 3
 .Os
 .Sh NAME
 .Nm ethers ,
 .Nm ether_line ,
 .Nm ether_aton ,
+.Nm ether_aton_r ,
 .Nm ether_ntoa ,
+.Nm ether_ntoa_r ,
 .Nm ether_ntohost ,
 .Nm ether_hostton
 .Nd Ethernet address conversion and lookup routines
@@ -51,8 +54,12 @@
 .Fn ether_line "const char *l" "struct ether_addr *e" "char *hostname"
 .Ft struct ether_addr *
 .Fn ether_aton "const char *a"
+.Ft struct ether_addr *
+.Fn ether_aton_r "const char *a" "struct ether_addr *e"
 .Ft char *
 .Fn ether_ntoa "const struct ether_addr *n"
+.Ft char *
+.Fn ether_ntoa_r "const struct ether_addr *n" "char *buf"
 .Ft int
 .Fn ether_ntohost "char *hostname" "const struct ether_addr *e"
 .Ft int
@@ -95,18 +102,23 @@
 .Pp
 The
 .Fn ether_aton
-function converts an
+and
+.Fn ether_aton_r
+functions convert
 .Tn ASCII
-representation of an ethernet address into an
+representation of ethernet addresses into
 .Vt ether_addr
-structure.
-Likewise,
+structures.
+Likewise, the
 .Fn ether_ntoa
-converts an ethernet address specified as an
+and
+.Fn ether_ntoa_r
+functions
+convert ethernet addresses specified as
 .Vt ether_addr
-structure into an
+structures into
 .Tn ASCII
-string.
+strings.
 .Pp
 The
 .Fn ether_ntohost
@@ -138,7 +150,9 @@
 .Pp
 On success,
 .Fn ether_ntoa
-returns a pointer to a string containing an
+and
+.Fn ether_ntoa_r
+functions return a pointer to a string containing an
 .Tn ASCII
 representation of an ethernet address.
 If it is unable to convert
@@ -147,13 +161,25 @@
 structure, it returns a
 .Dv NULL
 pointer.
+.Fn ether_ntoa
+stores the result in a static buffer;
+.Fn ether_ntoa_r
+stores the result in a user-passed buffer.
+.Pp
+
 Likewise,
 .Fn ether_aton
-returns a pointer to an
+and
+.Fn ether_aton_r
+return a pointer to an
 .Vt ether_addr
 structure on success and a
 .Dv NULL
 pointer on failure.
+.Fn ether_aton
+stores the result in a static buffer;
+.Fn ether_aton_r
+stores the result in a user-passed buffer.
 .Pp
 The
 .Fn ether_ntohost
@@ -192,6 +218,8 @@
 .Nm
 library functions were written for and first appeared in
 .Fx 2.1 .
+Thread-safe function variants first appeared in
+.Fx 7.0 .
 .Sh BUGS
 The
 .Fn ether_aton
@@ -199,3 +227,8 @@
 .Fn ether_ntoa
 functions returns values that are stored in static memory areas
 which may be overwritten the next time they are called.
+.Pp
+.Fn ether_ntoa_r
+accepts a character buffer pointer, but not a buffer length.
+The caller must ensure adequate space is available in the buffer in order to
+avoid a buffer overflow.

==== //depot/projects/mjexp/lib/libc/powerpc/Symbol.map#3 (text) ====

@@ -1,5 +1,5 @@
 /*
- * $FreeBSD: src/lib/libc/powerpc/Symbol.map,v 1.2 2007/04/29 14:05:18 deischen Exp $
+ * $FreeBSD: src/lib/libc/powerpc/Symbol.map,v 1.3 2007/05/13 14:16:55 deischen Exp $
  */
 
 /*
@@ -11,6 +11,7 @@
 	/* PSEUDO syscalls */
 	_exit;
 
+	_mcount;
 	_setjmp;
 	_longjmp;
 	fabs;

==== //depot/projects/mjexp/lib/libc_r/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libc_r/Makefile,v 1.45 2006/08/22 07:51:07 ru Exp $
+# $FreeBSD: src/lib/libc_r/Makefile,v 1.46 2007/05/13 14:12:39 deischen 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
@@ -7,6 +7,13 @@
 # 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.
+
+.if defined(DEFAULT_THREAD_LIB) && (${DEFAULT_THREAD_LIB} == "libc_r")
+SHLIBDIR?= /lib
+.endif
+
+.include <bsd.own.mk>
+
 LIB=c_r
 SHLIB_MAJOR= 6
 CFLAGS+=-DPTHREAD_KERNEL 
@@ -25,7 +32,7 @@
 .include "${.CURDIR}/uthread/Makefile.inc"
 .include "${.CURDIR}/sys/Makefile.inc"
 
-.if ${MACHINE_ARCH} == "sparc64"
+.if ${DEFAULT_THREAD_LIB} == "libc_r"
 SYMLINKS+=lib${LIB}.a ${LIBDIR}/libpthread.a
 .if !defined(NO_PIC)
 SYMLINKS+=lib${LIB}.so ${LIBDIR}/libpthread.so

==== //depot/projects/mjexp/lib/libpthread/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libpthread/Makefile,v 1.59 2006/08/22 07:51:07 ru Exp $
+# $FreeBSD: src/lib/libpthread/Makefile,v 1.60 2007/05/13 14:12:39 deischen 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
@@ -7,12 +7,14 @@
 # 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.
-.if ${MACHINE_ARCH} == "sparc64"
-LIB=kse
-.else
-LIB=pthread
+
+.if defined(DEFAULT_THREAD_LIB) && (${DEFAULT_THREAD_LIB} == "libpthread")
 SHLIBDIR?= /lib
 .endif
+
+.include <bsd.own.mk>
+
+LIB=kse
 SHLIB_MAJOR= 2
 CFLAGS+=-DPTHREAD_KERNEL
 CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \
@@ -37,13 +39,6 @@
 
 VERSION_MAP=${.CURDIR}/pthread.map
 
-.if defined(SYMVER_ENABLED)
-# Remove this if library version is bumped and LIBPTHREAD_1_0
-# compatability hacks are removed (see thread/thr_private.h).
-LDFLAGS+=-Wl,-zmuldefs
-CFLAGS+=-DSYMBOL_VERSIONING
-.endif
-
 PRECIOUSLIB=
 
 .include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc"
@@ -51,4 +46,14 @@
 .include "${.CURDIR}/sys/Makefile.inc"
 .include "${.CURDIR}/thread/Makefile.inc"
 
+.if ${DEFAULT_THREAD_LIB} == "libpthread"
+SYMLINKS+=lib${LIB}.a ${LIBDIR}/libpthread.a
+.if !defined(NO_PIC)
+SYMLINKS+=lib${LIB}.so ${LIBDIR}/libpthread.so
+.endif
+.if ${MK_PROFILE} != "no"
+SYMLINKS+=lib${LIB}_p.a ${LIBDIR}/libpthread_p.a
+.endif
+.endif
+
 .include <bsd.lib.mk>

==== //depot/projects/mjexp/lib/libpthread/pthread.map#3 (text+ko) ====

@@ -1,374 +1,6 @@
 /*
- * $FreeBSD: src/lib/libpthread/pthread.map,v 1.19 2007/04/29 14:05:15 deischen Exp $
- */
-
-/*
- * Hack.  libpthread had versioning before libc, but we need to
- * reside in the same namespace as libc if we want to override
- * libc functions.  Use this so we don't break older applications
- * that require symbols from "LIBTHREAD_1_0".
- * 
- * From now on, use the same naming scheme as libc.
+ * $FreeBSD: src/lib/libpthread/pthread.map,v 1.20 2007/05/13 14:12:39 deischen Exp $
  */
-LIBTHREAD_1_0 {
-global:
-	___creat;
-	__accept;
-	__close;
-	__connect;
-	__error;
-	__fcntl;
-	__fsync;
-	__msync;
-	__nanosleep;
-	__open;
-	__poll;
-	__pthread_cond_timedwait;
-	__pthread_cond_wait;
-	__pthread_mutex_init;
-	__pthread_mutex_lock;
-	__pthread_mutex_trylock;
-	__pthread_mutex_timedlock;
-	__read;
-	__readv;
-	__select;
-	__sigsuspend;
-	__sigtimedwait;
-	__sigwait;
-	__sigwaitinfo;
-	__wait4;
-	__write;
-	__writev;
-	_aio_suspend;
-	_execve;
-	_fork;
-	_nanosleep;
-	_pause;
-	_pselect;
-	_pthread_atfork;
-	_pthread_barrier_destroy;
-	_pthread_barrier_init;
-	_pthread_barrier_wait;
-	_pthread_barrierattr_destroy;
-	_pthread_barrierattr_getpshared;
-	_pthread_barrierattr_init;
-	_pthread_barrierattr_setpshared;
-	_pthread_attr_destroy;
-	_pthread_attr_get_np;
-	_pthread_attr_getdetachstate;
-	_pthread_attr_getguardsize;
-	_pthread_attr_getinheritsched;
-	_pthread_attr_getschedparam;
-	_pthread_attr_getschedpolicy;
-	_pthread_attr_getscope;
-	_pthread_attr_getstack;
-	_pthread_attr_getstackaddr;
-	_pthread_attr_getstacksize;
-	_pthread_attr_init;
-	_pthread_attr_setcreatesuspend_np;
-	_pthread_attr_setdetachstate;
-	_pthread_attr_setguardsize;
-	_pthread_attr_setinheritsched;
-	_pthread_attr_setschedparam;
-	_pthread_attr_setschedpolicy;
-	_pthread_attr_setscope;
-	_pthread_attr_setstack;
-	_pthread_attr_setstackaddr;
-	_pthread_attr_setstacksize;
-	_pthread_cancel;
-	_pthread_cleanup_pop;
-	_pthread_cleanup_push;
-	_pthread_cond_broadcast;
-	_pthread_cond_destroy;
-	_pthread_cond_init;
-	_pthread_cond_signal;
-	_pthread_cond_timedwait;
-	_pthread_cond_wait;
-	_pthread_condattr_default;
-	_pthread_condattr_destroy;
-	_pthread_condattr_getpshared;
-	_pthread_condattr_init;
-	_pthread_condattr_setpshared;
-	_pthread_create;
-	_pthread_detach;
-	_pthread_equal;
-	_pthread_exit;
-	_pthread_getconcurrency;
-	_pthread_getprio;
-	_pthread_getschedparam;
-	_pthread_getspecific;
-	_pthread_join;
-	_pthread_key_create;
-	_pthread_key_delete;
-	_pthread_kill;
-	_pthread_main_np;
-	_pthread_multi_np;
-	_pthread_mutex_destroy;
-	_pthread_mutex_getprioceiling;
-	_pthread_mutex_init;
-	_pthread_mutex_lock;
-	_pthread_mutex_setprioceiling;
-	_pthread_mutex_timedlock;
-	_pthread_mutex_trylock;
-	_pthread_mutex_unlock;
-	_pthread_mutexattr_default;
-	_pthread_mutexattr_destroy;
-	_pthread_mutexattr_getkind_np;
-	_pthread_mutexattr_getprioceiling;
-	_pthread_mutexattr_getprotocol;
-	_pthread_mutexattr_getpshared;
-	_pthread_mutexattr_gettype;
-	_pthread_mutexattr_init;
-	_pthread_mutexattr_setkind_np;
-	_pthread_mutexattr_setprioceiling;
-	_pthread_mutexattr_setprotocol;
-	_pthread_mutexattr_setpshared;
-	_pthread_mutexattr_settype;
-	_pthread_once;
-	_pthread_resume_all_np;
-	_pthread_resume_np;
-	_pthread_rwlock_destroy;
-	_pthread_rwlock_init;
-	_pthread_rwlock_rdlock;
-	_pthread_rwlock_timedrdlock;
-	_pthread_rwlock_timedwrlock;
-	_pthread_rwlock_tryrdlock;
-	_pthread_rwlock_trywrlock;
-	_pthread_rwlock_unlock;
-	_pthread_rwlock_wrlock;
-	_pthread_rwlockattr_destroy;
-	_pthread_rwlockattr_getpshared;
-	_pthread_rwlockattr_init;
-	_pthread_rwlockattr_setpshared;
-	_pthread_self;
-	_pthread_set_name_np;
-	_pthread_setcancelstate;
-	_pthread_setcanceltype;
-	_pthread_setconcurrency;
-	_pthread_setprio;
-	_pthread_setschedparam;
-	_pthread_setspecific;
-	_pthread_sigmask;
-	_pthread_single_np;
-	_pthread_spin_destroy;
-	_pthread_spin_init;
-	_pthread_spin_lock;
-	_pthread_spin_trylock;
-	_pthread_spin_unlock;
-	_pthread_suspend_all_np;
-	_pthread_suspend_np;
-	_pthread_switch_add_np;
-	_pthread_switch_delete_np;
-	_pthread_testcancel;
-	_pthread_yield;
-	_raise;
-	_sched_yield;
-	_sem_init;
-	_sem_post;
-	_sem_timedwait;
-	_sem_wait;
-	_sigaction;
-	_sigaltstack;
-	_sigpending;
-	_sigprocmask;
-	_sigsuspend;
-	_sigtimedwait;
-	_sigwait;
-	_sigwaitinfo;
-	_sleep;
-	_spinlock;
-	_spinlock_debug;
-	_spinunlock;
-	_system;
-	_tcdrain;
-	_usleep;
-	_vfork;
-	_wait;
-	_waitpid;
-	accept;
-	aio_suspend;
-	close;
-	connect;
-	creat;
-	execve;
-	fcntl;
-	fork;
-	fsync;
-	msync;
-	nanosleep;
-	open;
-	pause;
-	poll;
-	pselect;
-	pthread_atfork;
-	pthread_barrier_destroy;
-	pthread_barrier_init;

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


More information about the p4-projects mailing list