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