Date: Mon, 30 Jun 2008 19:40:20 GMT From: Edward Tomasz Napierala <trasz@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 144379 for review Message-ID: <200806301940.m5UJeKrW022672@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=144379 Change 144379 by trasz@trasz_traszkan on 2008/06/30 19:39:35 IFC Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/contrib/gcc/config/i386/freebsd.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/devd.conf#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/periodic/security/800.loginfail#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/lockd#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/statd#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/cvs/contrib/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_format_zip.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_compat_zip_1.zip.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/amd64/gen/_setjmp.S#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/amd64/gen/setjmp.S#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/i386/gen/_setjmp.S#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/i386/gen/setjmp.S#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/Makefile.inc#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/printf-pos.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/printflocal.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/vfprintf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/vfwprintf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/mkdir.2#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/socket.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/msun/man/cos.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/devfs/devfs.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/aac.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/vmparam.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/NOTES#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/aac/aac_pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpi_support/acpi_asus.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sound/pci/atiixp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/uscanner.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/virstor/g_virstor.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_cpuset.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_descrip.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_intr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_xxx.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_sem.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_shm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ralfw/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/sem/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_gre.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_loop.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_var.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/udp_usrreq.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_rmx.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_ipsec.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/key.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nlm/nlm_prot_impl.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/rpc/auth_unix.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/rpc/rpcb_clnt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_framework.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_policy.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_posix_sem.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac_biba/mac_biba.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac_mls/mac_mls.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac_stub/mac_stub.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac_test/mac_test.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/include/in_cksum.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/file.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/ksem.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/priv.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/user.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/lib/libc/stdio/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/lib/libc/stdio/test-print-positional.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/posixsem/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/posixsem/posixsem.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/posixsem/posixsem.t#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/posixsem/test.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/posixsem/test.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/posixshm/test.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/gzip/gzip.1#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/make/make.1#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/procstat/procstat_files.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/unzip/unzip.1#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/unzip/unzip.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/config/mkmakefile.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/cron/cron/cron.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/cron/cron/cron.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/cron/cron/cron.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/cron/cron/do_command.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/mountd/exports.5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/ngctl/main.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pmcstat/pmcstat.8#2 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/gcc/config/i386/freebsd.h#2 (text+ko) ==== @@ -22,7 +22,7 @@ the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -/* $FreeBSD: src/contrib/gcc/config/i386/freebsd.h,v 1.73 2007/05/19 02:30:20 kan Exp $ */ +/* $FreeBSD: src/contrib/gcc/config/i386/freebsd.h,v 1.75 2008/06/28 15:28:17 obrien Exp $ */ #undef CC1_SPEC #define CC1_SPEC "%(cc1_cpu) %{profile:-p}" @@ -54,7 +54,7 @@ /* Reset our STARTFILE_SPEC which was properly set in config/freebsd.h but trashed by config/<cpu>/<file.h>. */ -#undef STARTFILE_SPEC +#undef STARTFILE_SPEC #define STARTFILE_SPEC FBSD_STARTFILE_SPEC /* Provide an ENDFILE_SPEC appropriate for FreeBSD/i386. */ @@ -78,13 +78,13 @@ #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD) -#undef SUBTARGET_EXTRA_SPECS /* i386.h bogusly defines it. */ +#undef SUBTARGET_EXTRA_SPECS /* i386.h bogusly defines it. */ #define SUBTARGET_EXTRA_SPECS \ { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER } #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)"); -#define TARGET_ELF 1 +#define TARGET_ELF 1 /* This goes away when the math emulator is fixed. */ #undef TARGET_SUBTARGET_DEFAULT @@ -101,7 +101,7 @@ /* FreeBSD sets the rounding precision of the FPU to 53 bits. Let the compiler get the contents of <float.h> and std::numeric_limits correct. */ -#undef TARGET_96_ROUND_53_LONG_DOUBLE +#undef TARGET_96_ROUND_53_LONG_DOUBLE #define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT) /* Tell final.c that we don't need a label passed to mcount. */ @@ -110,7 +110,7 @@ /* Output assembler code to FILE to begin profiling of the current function. LABELNO is an optional label. */ -#undef MCOUNT_NAME +#undef MCOUNT_NAME #define MCOUNT_NAME ".mcount" /* Output assembler code to FILE to end profiling of the current function. */ @@ -145,7 +145,7 @@ else \ fprintf ((FILE), "%s", xname); \ } \ - else \ + else \ { \ if (xname[0] == '%') \ xname += 2; \ @@ -191,7 +191,7 @@ uninitialized global data will be output in the data section if `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be used. */ -#undef BSS_SECTION_ASM_OP +#undef BSS_SECTION_ASM_OP #define BSS_SECTION_ASM_OP "\t.section\t.bss" /* Like `ASM_OUTPUT_BSS' except takes the required alignment as a @@ -202,7 +202,7 @@ Try to use function `asm_output_aligned_bss' defined in file `varasm.c' when defining this macro. */ -#undef ASM_OUTPUT_ALIGNED_BSS +#undef ASM_OUTPUT_ALIGNED_BSS #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) @@ -230,7 +230,7 @@ assemble_name (asm_out_file, NAME); \ fputc ('-', asm_out_file); \ assemble_name (asm_out_file, \ - XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); \ + XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); \ fprintf (asm_out_file, "\n"); \ } while (0) ==== //depot/projects/soc2008/trasz_nfs4acl/etc/devd.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/devd.conf,v 1.41 2008/06/15 13:26:25 kmacy Exp $ +# $FreeBSD: src/etc/devd.conf,v 1.42 2008/06/27 12:04:36 rpaulo Exp $ # # Refer to devd.conf(5) and devd(8) man pages for the details on how to # run and configure devd. @@ -255,6 +255,28 @@ action "/etc/rc.resume acpi $notify"; }; +# The next blocks enable volume hotkeys that can be found on the Asus EeePC +notify 0 { + match "system" "ACPI"; + match "subsystem" "ASUS-Eee"; + match "notify" "0x13"; + action "mixer 0"; +}; + +notify 0 { + match "system" "ACPI"; + match "subsystem" "ASUS-Eee"; + match "notify" "0x14"; + action "mixer vol -10"; +}; + +notify 0 { + match "system" "ACPI"; + match "subsystem" "ASUS-Eee"; + match "notify" "0x15"; + action "mixer vol +10"; +}; + /* EXAMPLES TO END OF FILE # The following might be an example of something that a vendor might ==== //depot/projects/soc2008/trasz_nfs4acl/etc/periodic/security/800.loginfail#2 (text+ko) ==== @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/periodic/security/800.loginfail,v 1.8 2007/02/23 21:42:54 remko Exp $ +# $FreeBSD: src/etc/periodic/security/800.loginfail,v 1.9 2008/06/30 08:01:47 mtm Exp $ # # Show login failures @@ -59,7 +59,7 @@ [Yy][Ee][Ss]) echo "" echo "${host} login failures:" - n=$(catmsgs | egrep -ia "^$yesterday.*: .* (fail|invalid|bad|illegal)" | + n=$(catmsgs | egrep -ia "^$yesterday.*: .*(fail|invalid|bad|illegal)" | tee /dev/stderr | wc -l) [ $n -gt 0 ] && rc=1 || rc=0;; *) rc=0;; ==== //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/lockd#3 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm -# $FreeBSD: src/etc/rc.d/lockd,v 1.20 2008/06/23 04:05:39 mtm Exp $ +# $FreeBSD: src/etc/rc.d/lockd,v 1.21 2008/06/27 15:45:17 mtm Exp $ # # PROVIDE: lockd @@ -15,7 +15,7 @@ rcvar=rpc_lockd_enable command="/usr/sbin/rpc.${name}" start_precmd='lockd_precmd' -stop_precmd='checkyesno nfs_server_enable || checkyesno nfsclient_enable' +stop_precmd='checkyesno nfs_server_enable || checkyesno nfs_client_enable' status_precmd=$stop_precmd # Make sure that we are either an NFS client or server, and that we get @@ -26,7 +26,7 @@ local ret ret=0 - if ! checkyesno nfs_server_enable && ! checkyesno nfsclient_enable + if ! checkyesno nfs_server_enable && ! checkyesno nfs_client_enable then ret=1 fi ==== //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/statd#3 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm Exp -# $FreeBSD: src/etc/rc.d/statd,v 1.19 2008/06/23 04:05:39 mtm Exp $ +# $FreeBSD: src/etc/rc.d/statd,v 1.20 2008/06/27 15:45:17 mtm Exp $ # # PROVIDE: statd @@ -15,7 +15,7 @@ rcvar=rpc_statd_enable command="/usr/sbin/rpc.${name}" start_precmd='statd_precmd' -stop_precmd='checkyesno nfs_server_enable || checkyesno nfsclient_enable' +stop_precmd='checkyesno nfs_server_enable || checkyesno nfs_client_enable' status_precmd=$stop_precmd # Make sure that we are either an NFS client or server, and that we get @@ -26,7 +26,7 @@ local ret ret=0 - if ! checkyesno nfs_server_enable && ! checkyesno nfsclient_enable + if ! checkyesno nfs_server_enable && ! checkyesno nfs_client_enable then ret=1 fi ==== //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/cvs/contrib/Makefile#2 (text+ko) ==== @@ -1,6 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/cvs/contrib/Makefile,v 1.20 2008/01/16 17:15:59 obrien Exp $ - -.POSIX: +# $FreeBSD: src/gnu/usr.bin/cvs/contrib/Makefile,v 1.21 2008/06/27 14:59:23 obrien Exp $ .include "../Makefile.inc" @@ -21,6 +19,10 @@ .SUFFIXES: .sh .pl .in +# Prevent Makefile.in from overwriting Makefile through the suffix rules. +Makefile: + @: + .sh: cp ${.IMPSRC} ${.TARGET} ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_read_support_format_zip.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.25 2008/06/26 11:48:19 des Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.26 2008/06/30 16:19:26 des Exp $"); #ifdef HAVE_ERRNO_H #include <errno.h> @@ -530,7 +530,8 @@ /* Check computed CRC against header */ if (zip->crc32 != zip->entry_crc32) { archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, - "ZIP data CRC error"); + "ZIP bad CRC: 0x%lx should be 0x%lx", + zip->entry_crc32, zip->crc32); return (ARCHIVE_WARN); } /* End-of-entry cleanup done. */ ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_compat_zip_1.zip.uu#2 (text+ko) ==== @@ -1,3 +1,4 @@ +$FreeBSD: src/lib/libarchive/test/test_compat_zip_1.zip.uu,v 1.2 2008/06/30 15:49:12 des Exp $ begin 644 test_compat_zip_1.zip M4$L#!!0`"``(``B$@S<````````````````4````345402U)3D8O34%.249% M4U0N34;S3<S+3$LM+M$-2RTJSLS/LU(PU#/@Y7+,0Q)Q+$A,SDA5`(H!)<U! ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/amd64/gen/_setjmp.S#2 (text+ko) ==== @@ -34,7 +34,7 @@ .asciz "@(#)_setjmp.s 5.1 (Berkeley) 4/23/90" #endif /* LIBC_SCCS and not lint */ #include <machine/asm.h> -__FBSDID("$FreeBSD: src/lib/libc/amd64/gen/_setjmp.S,v 1.19 2007/01/09 00:27:48 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/amd64/gen/_setjmp.S,v 1.20 2008/06/28 17:55:43 das Exp $"); /* * C library -- _setjmp, _longjmp @@ -58,6 +58,7 @@ movq %r14,48(%rax) /* 6; r14 */ movq %r15,56(%rax) /* 7; r15 */ fnstcw 64(%rax) /* 8; fpu cw */ + stmxcsr 68(%rax) /* and mxcsr */ xorq %rax,%rax ret @@ -65,6 +66,15 @@ .set CNAME(_longjmp),CNAME(___longjmp) ENTRY(___longjmp) movq %rdi,%rdx + /* Restore the mxcsr, but leave exception flags intact. */ + stmxcsr -4(%rsp) + movl 68(%rdx),%eax + andl $0xffffffc0,%eax + movl -4(%rsp),%edi + andl $0x3f,%edi + xorl %eax,%edi + movl %edi,-4(%rsp) + ldmxcsr -4(%rsp) movq %rsi,%rax /* retval */ movq 0(%rdx),%rcx movq 8(%rdx),%rbx @@ -74,7 +84,6 @@ movq 40(%rdx),%r13 movq 48(%rdx),%r14 movq 56(%rdx),%r15 - fninit fldcw 64(%rdx) testq %rax,%rax jnz 1f ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/amd64/gen/setjmp.S#2 (text+ko) ==== @@ -34,7 +34,7 @@ .asciz "@(#)setjmp.s 5.1 (Berkeley) 4/23/90" #endif /* LIBC_SCCS and not lint */ #include <machine/asm.h> -__FBSDID("$FreeBSD: src/lib/libc/amd64/gen/setjmp.S,v 1.27 2007/01/09 00:27:48 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/amd64/gen/setjmp.S,v 1.28 2008/06/28 17:55:43 das Exp $"); /* * C library -- _setjmp, _longjmp @@ -67,6 +67,7 @@ movq %r14,48(%rcx) /* 6; r14 */ movq %r15,56(%rcx) /* 7; r15 */ fnstcw 64(%rcx) /* 8; fpu cw */ + stmxcsr 68(%rcx) /* and mxcsr */ xorq %rax,%rax ret @@ -83,6 +84,15 @@ popq %rsi popq %rdi /* jmpbuf */ movq %rdi,%rdx + /* Restore the mxcsr, but leave exception flags intact. */ + stmxcsr -4(%rsp) + movl 68(%rdx),%eax + andl $0xffffffc0,%eax + movl -4(%rsp),%edi + andl $0x3f,%edi + xorl %eax,%edi + movl %edi,-4(%rsp) + ldmxcsr -4(%rsp) movq %rsi,%rax /* retval */ movq 0(%rdx),%rcx movq 8(%rdx),%rbx @@ -92,7 +102,6 @@ movq 40(%rdx),%r13 movq 48(%rdx),%r14 movq 56(%rdx),%r15 - fninit fldcw 64(%rdx) testq %rax,%rax jnz 1f ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/i386/gen/_setjmp.S#2 (text+ko) ==== @@ -34,7 +34,7 @@ .asciz "@(#)_setjmp.s 5.1 (Berkeley) 4/23/90" #endif /* LIBC_SCCS and not lint */ #include <machine/asm.h> -__FBSDID("$FreeBSD: src/lib/libc/i386/gen/_setjmp.S,v 1.17 2007/01/09 00:27:58 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/i386/gen/_setjmp.S,v 1.18 2008/06/28 17:58:06 das Exp $"); /* * C library -- _setjmp, _longjmp @@ -70,7 +70,6 @@ movl 12(%edx),%ebp movl 16(%edx),%esi movl 20(%edx),%edi - fninit fldcw 24(%edx) testl %eax,%eax jnz 1f ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/i386/gen/setjmp.S#2 (text+ko) ==== @@ -34,7 +34,7 @@ .asciz "@(#)setjmp.s 5.1 (Berkeley) 4/23/90" #endif /* LIBC_SCCS and not lint */ #include <machine/asm.h> -__FBSDID("$FreeBSD: src/lib/libc/i386/gen/setjmp.S,v 1.23 2007/01/09 00:27:58 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/i386/gen/setjmp.S,v 1.24 2008/06/28 17:58:06 das Exp $"); /* * C library -- _setjmp, _longjmp @@ -90,7 +90,6 @@ movl 12(%edx),%ebp movl 16(%edx),%esi movl 20(%edx),%edi - fninit fldcw 24(%edx) testl %eax,%eax jnz 1f ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.3 (Berkeley) 4/17/94 -# $FreeBSD: src/lib/libc/stdio/Makefile.inc,v 1.38 2008/05/02 15:25:07 jhb Exp $ +# $FreeBSD: src/lib/libc/stdio/Makefile.inc,v 1.39 2008/06/29 21:52:40 das Exp $ # stdio sources .PATH: ${.CURDIR}/stdio @@ -12,7 +12,8 @@ ftell.c funopen.c fvwrite.c fwalk.c fwide.c fwprintf.c fwscanf.c \ fwrite.c getc.c \ getchar.c gets.c getw.c getwc.c getwchar.c makebuf.c mktemp.c \ - perror.c printf.c putc.c putchar.c puts.c putw.c putwc.c putwchar.c \ + perror.c printf.c printf-pos.c putc.c putchar.c \ + puts.c putw.c putwc.c putwchar.c \ refill.c remove.c rewind.c rget.c scanf.c setbuf.c setbuffer.c \ setvbuf.c snprintf.c sprintf.c sscanf.c stdio.c swprintf.c swscanf.c \ tempnam.c tmpfile.c \ ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/vfprintf.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ static char sccsid[] = "@(#)vfprintf.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/stdio/vfprintf.c,v 1.78 2008/04/17 22:17:54 jhb Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/vfprintf.c,v 1.81 2008/06/29 22:54:26 das Exp $"); /* * Actual printf innards. @@ -62,46 +62,7 @@ #include "libc_private.h" #include "local.h" #include "fvwrite.h" - -union arg { - int intarg; - u_int uintarg; - long longarg; - u_long ulongarg; - long long longlongarg; - unsigned long long ulonglongarg; - ptrdiff_t ptrdiffarg; - size_t sizearg; - intmax_t intmaxarg; - uintmax_t uintmaxarg; - void *pvoidarg; - char *pchararg; - signed char *pschararg; - short *pshortarg; - int *pintarg; - long *plongarg; - long long *plonglongarg; - ptrdiff_t *pptrdiffarg; - size_t *psizearg; - intmax_t *pintmaxarg; -#ifndef NO_FLOATING_POINT - double doublearg; - long double longdoublearg; -#endif - wint_t wintarg; - wchar_t *pwchararg; -}; - -/* - * Type ids for argument type table. - */ -enum typeid { - T_UNUSED, TP_SHORT, T_INT, T_U_INT, TP_INT, - T_LONG, T_U_LONG, TP_LONG, T_LLONG, T_U_LLONG, TP_LLONG, - T_PTRDIFFT, TP_PTRDIFFT, T_SIZET, TP_SIZET, - T_INTMAXT, T_UINTMAXT, TP_INTMAXT, TP_VOID, TP_CHAR, TP_SCHAR, - T_DOUBLE, T_LONG_DOUBLE, T_WINT, TP_WCHAR -}; +#include "printflocal.h" static int __sprint(FILE *, struct __suio *); static int __sbprintf(FILE *, const char *, va_list) __printflike(2, 0); @@ -110,8 +71,6 @@ static char *__ultoa(u_long, char *, int, int, const char *, int, char, const char *); static char *__wcsconv(wchar_t *, int); -static void __find_arguments(const char *, va_list, union arg **); -static void __grow_type_table(int, enum typeid **, int *); /* * Flush out all the vectors defined by the given uio, @@ -167,13 +126,6 @@ } /* - * Macros for converting digits to letters and vice versa - */ -#define to_digit(c) ((c) - '0') -#define is_digit(c) ((unsigned)to_digit(c) <= 9) -#define to_char(n) ((n) + '0') - -/* * Convert an unsigned long to ASCII for printf purposes, returning * a pointer to the first character of the string representation. * Octal numbers can be forced to have a leading zero; hex numbers @@ -426,27 +378,7 @@ */ #define BUF 100 -#define STATIC_ARG_TBL_SIZE 8 /* Size of static argument table. */ - /* - * Flags used during conversion. - */ -#define ALT 0x001 /* alternate form */ -#define LADJUST 0x004 /* left adjustment */ -#define LONGDBL 0x008 /* long double */ -#define LONGINT 0x010 /* long integer */ -#define LLONGINT 0x020 /* long long integer */ -#define SHORTINT 0x040 /* short integer */ -#define ZEROPAD 0x080 /* zero (as opposed to blank) pad */ -#define FPT 0x100 /* Floating point number */ -#define GROUPING 0x200 /* use grouping ("'" flag) */ - /* C99 additional size modifiers: */ -#define SIZET 0x400 /* size_t */ -#define PTRDIFFT 0x800 /* ptrdiff_t */ -#define INTMAXT 0x1000 /* intmax_t */ -#define CHARINT 0x2000 /* print char using int format */ - -/* * Non-MT-safe version */ int @@ -623,7 +555,10 @@ int hold = nextarg; \ if (argtable == NULL) { \ argtable = statargtable; \ - __find_arguments (fmt0, orgap, &argtable); \ + if (__find_arguments (fmt0, orgap, &argtable)) { \ + ret = EOF; \ + goto error; \ + } \ } \ nextarg = n2; \ val = GETARG (int); \ @@ -751,8 +686,11 @@ nextarg = n; if (argtable == NULL) { argtable = statargtable; - __find_arguments (fmt0, orgap, - &argtable); + if (__find_arguments (fmt0, orgap, + &argtable)) { + ret = EOF; + goto error; + } } goto rflag; } @@ -1255,364 +1193,6 @@ /* NOTREACHED */ } -/* - * Find all arguments when a positional parameter is encountered. Returns a - * table, indexed by argument number, of pointers to each arguments. The - * initial argument table should be an array of STATIC_ARG_TBL_SIZE entries. - * It will be replaces with a malloc-ed one if it overflows. - */ -static void -__find_arguments (const char *fmt0, va_list ap, union arg **argtable) -{ - char *fmt; /* format string */ - int ch; /* character from fmt */ - int n, n2; /* handy integer (short term usage) */ - char *cp; /* handy char pointer (short term usage) */ - int flags; /* flags as above */ - int width; /* width from format (%8d), or 0 */ - enum typeid *typetable; /* table of types */ - enum typeid stattypetable [STATIC_ARG_TBL_SIZE]; - int tablesize; /* current size of type table */ - int tablemax; /* largest used index in table */ - int nextarg; /* 1-based argument index */ - - /* - * Add an argument type to the table, expanding if necessary. - */ -#define ADDTYPE(type) \ - ((nextarg >= tablesize) ? \ - __grow_type_table(nextarg, &typetable, &tablesize) : (void)0, \ - (nextarg > tablemax) ? tablemax = nextarg : 0, \ - typetable[nextarg++] = type) - -#define ADDSARG() \ - ((flags&INTMAXT) ? ADDTYPE(T_INTMAXT) : \ - ((flags&SIZET) ? ADDTYPE(T_SIZET) : \ - ((flags&PTRDIFFT) ? ADDTYPE(T_PTRDIFFT) : \ - ((flags&LLONGINT) ? ADDTYPE(T_LLONG) : \ - ((flags&LONGINT) ? ADDTYPE(T_LONG) : ADDTYPE(T_INT)))))) - -#define ADDUARG() \ - ((flags&INTMAXT) ? ADDTYPE(T_UINTMAXT) : \ - ((flags&SIZET) ? ADDTYPE(T_SIZET) : \ - ((flags&PTRDIFFT) ? ADDTYPE(T_PTRDIFFT) : \ - ((flags&LLONGINT) ? ADDTYPE(T_U_LLONG) : \ - ((flags&LONGINT) ? ADDTYPE(T_U_LONG) : ADDTYPE(T_U_INT)))))) - - /* - * Add * arguments to the type array. - */ -#define ADDASTER() \ - n2 = 0; \ - cp = fmt; \ - while (is_digit(*cp)) { \ - n2 = 10 * n2 + to_digit(*cp); \ - cp++; \ - } \ - if (*cp == '$') { \ - int hold = nextarg; \ - nextarg = n2; \ - ADDTYPE (T_INT); \ - nextarg = hold; \ - fmt = ++cp; \ - } else { \ - ADDTYPE (T_INT); \ - } - fmt = (char *)fmt0; - typetable = stattypetable; - tablesize = STATIC_ARG_TBL_SIZE; - tablemax = 0; - nextarg = 1; - for (n = 0; n < STATIC_ARG_TBL_SIZE; n++) - typetable[n] = T_UNUSED; - - /* - * Scan the format for conversions (`%' character). - */ - for (;;) { - for (cp = fmt; (ch = *fmt) != '\0' && ch != '%'; fmt++) - /* void */; - if (ch == '\0') - goto done; - fmt++; /* skip over '%' */ - - flags = 0; - width = 0; - -rflag: ch = *fmt++; -reswitch: switch (ch) { - case ' ': - case '#': - goto rflag; - case '*': - ADDASTER (); - goto rflag; - case '-': - case '+': - case '\'': - goto rflag; - case '.': - if ((ch = *fmt++) == '*') { - ADDASTER (); - goto rflag; - } - while (is_digit(ch)) { - ch = *fmt++; - } - goto reswitch; - case '0': - goto rflag; - case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - n = 0; - do { - n = 10 * n + to_digit(ch); - ch = *fmt++; - } while (is_digit(ch)); - if (ch == '$') { - nextarg = n; - goto rflag; - } - width = n; - goto reswitch; -#ifndef NO_FLOATING_POINT - case 'L': - flags |= LONGDBL; - goto rflag; -#endif - case 'h': - if (flags & SHORTINT) { - flags &= ~SHORTINT; - flags |= CHARINT; - } else - flags |= SHORTINT; - goto rflag; - case 'j': - flags |= INTMAXT; - goto rflag; - case 'l': - if (flags & LONGINT) { - flags &= ~LONGINT; - flags |= LLONGINT; - } else - flags |= LONGINT; - goto rflag; - case 'q': - flags |= LLONGINT; /* not necessarily */ - goto rflag; - case 't': - flags |= PTRDIFFT; - goto rflag; - case 'z': - flags |= SIZET; - goto rflag; - case 'C': - flags |= LONGINT; - /*FALLTHROUGH*/ - case 'c': - if (flags & LONGINT) - ADDTYPE(T_WINT); - else - ADDTYPE(T_INT); - break; - case 'D': - flags |= LONGINT; - /*FALLTHROUGH*/ - case 'd': - case 'i': - ADDSARG(); - break; -#ifndef NO_FLOATING_POINT - case 'a': - case 'A': - case 'e': - case 'E': - case 'f': - case 'g': - case 'G': - if (flags & LONGDBL) - ADDTYPE(T_LONG_DOUBLE); - else - ADDTYPE(T_DOUBLE); - break; -#endif /* !NO_FLOATING_POINT */ - case 'n': - if (flags & INTMAXT) - ADDTYPE(TP_INTMAXT); - else if (flags & PTRDIFFT) - ADDTYPE(TP_PTRDIFFT); - else if (flags & SIZET) - ADDTYPE(TP_SIZET); - else if (flags & LLONGINT) - ADDTYPE(TP_LLONG); - else if (flags & LONGINT) - ADDTYPE(TP_LONG); - else if (flags & SHORTINT) - ADDTYPE(TP_SHORT); - else if (flags & CHARINT) - ADDTYPE(TP_SCHAR); - else - ADDTYPE(TP_INT); - continue; /* no output */ - case 'O': - flags |= LONGINT; - /*FALLTHROUGH*/ - case 'o': - ADDUARG(); - break; - case 'p': - ADDTYPE(TP_VOID); - break; - case 'S': - flags |= LONGINT; - /*FALLTHROUGH*/ - case 's': - if (flags & LONGINT) - ADDTYPE(TP_WCHAR); - else - ADDTYPE(TP_CHAR); - break; - case 'U': - flags |= LONGINT; - /*FALLTHROUGH*/ - case 'u': - case 'X': - case 'x': - ADDUARG(); - break; - default: /* "%?" prints ?, unless ? is NUL */ - if (ch == '\0') - goto done; - break; - } - } -done: - /* - * Build the argument table. - */ - if (tablemax >= STATIC_ARG_TBL_SIZE) { - *argtable = (union arg *) - malloc (sizeof (union arg) * (tablemax + 1)); - } - - (*argtable) [0].intarg = 0; - for (n = 1; n <= tablemax; n++) { - switch (typetable [n]) { - case T_UNUSED: /* whoops! */ - (*argtable) [n].intarg = va_arg (ap, int); - break; - case TP_SCHAR: - (*argtable) [n].pschararg = va_arg (ap, signed char *); - break; - case TP_SHORT: - (*argtable) [n].pshortarg = va_arg (ap, short *); - break; - case T_INT: - (*argtable) [n].intarg = va_arg (ap, int); - break; - case T_U_INT: - (*argtable) [n].uintarg = va_arg (ap, unsigned int); - break; - case TP_INT: - (*argtable) [n].pintarg = va_arg (ap, int *); - break; - case T_LONG: - (*argtable) [n].longarg = va_arg (ap, long); - break; - case T_U_LONG: - (*argtable) [n].ulongarg = va_arg (ap, unsigned long); - break; - case TP_LONG: - (*argtable) [n].plongarg = va_arg (ap, long *); - break; - case T_LLONG: - (*argtable) [n].longlongarg = va_arg (ap, long long); - break; - case T_U_LLONG: - (*argtable) [n].ulonglongarg = va_arg (ap, unsigned long long); - break; - case TP_LLONG: - (*argtable) [n].plonglongarg = va_arg (ap, long long *); - break; - case T_PTRDIFFT: - (*argtable) [n].ptrdiffarg = va_arg (ap, ptrdiff_t); - break; - case TP_PTRDIFFT: - (*argtable) [n].pptrdiffarg = va_arg (ap, ptrdiff_t *); - break; - case T_SIZET: - (*argtable) [n].sizearg = va_arg (ap, size_t); - break; - case TP_SIZET: - (*argtable) [n].psizearg = va_arg (ap, size_t *); - break; - case T_INTMAXT: - (*argtable) [n].intmaxarg = va_arg (ap, intmax_t); - break; - case T_UINTMAXT: - (*argtable) [n].uintmaxarg = va_arg (ap, uintmax_t); - break; - case TP_INTMAXT: - (*argtable) [n].pintmaxarg = va_arg (ap, intmax_t *); - break; - case T_DOUBLE: -#ifndef NO_FLOATING_POINT - (*argtable) [n].doublearg = va_arg (ap, double); -#endif - break; - case T_LONG_DOUBLE: -#ifndef NO_FLOATING_POINT - (*argtable) [n].longdoublearg = va_arg (ap, long double); -#endif - break; - case TP_CHAR: - (*argtable) [n].pchararg = va_arg (ap, char *); - break; - case TP_VOID: - (*argtable) [n].pvoidarg = va_arg (ap, void *); - break; - case T_WINT: - (*argtable) [n].wintarg = va_arg (ap, wint_t); - break; - case TP_WCHAR: - (*argtable) [n].pwchararg = va_arg (ap, wchar_t *); - break; - } - } - - if ((typetable != NULL) && (typetable != stattypetable)) - free (typetable); -} - -/* - * Increase the size of the type table. - */ -static void -__grow_type_table (int nextarg, enum typeid **typetable, int *tablesize) -{ - enum typeid *const oldtable = *typetable; - const int oldsize = *tablesize; - enum typeid *newtable; - int n, newsize = oldsize * 2; - - if (newsize < nextarg + 1) - newsize = nextarg + 1; - if (oldsize == STATIC_ARG_TBL_SIZE) { - if ((newtable = malloc(newsize * sizeof(enum typeid))) == NULL) - abort(); /* XXX handle better */ - bcopy(oldtable, newtable, oldsize * sizeof(enum typeid)); - } else { - newtable = reallocf(oldtable, newsize * sizeof(enum typeid)); - if (newtable == NULL) - abort(); /* XXX handle better */ - } - for (n = oldsize; n < newsize; n++) - newtable[n] = T_UNUSED; - - *typetable = newtable; - *tablesize = newsize; -} >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200806301940.m5UJeKrW022672>