From owner-p4-projects@FreeBSD.ORG Fri May 18 06:17:53 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A88F16A404; Fri, 18 May 2007 06:17:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BE04716A402 for ; Fri, 18 May 2007 06:17:52 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id ACCEF13C458 for ; Fri, 18 May 2007 06:17:52 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l4I6HqMw053818 for ; Fri, 18 May 2007 06:17:52 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l4I6HiV1053718 for perforce@freebsd.org; Fri, 18 May 2007 06:17:44 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 18 May 2007 06:17:44 GMT Message-Id: <200705180617.l4I6HiV1053718@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 119983 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 May 2007 06:17:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=119983 Change 119983 by mjacob@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 . + * 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 -__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 #include @@ -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 . All rights reserved. +.\" Copyright (c) 1995 Bill Paul . +.\" 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 + 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 + +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 ==== //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) <<<