Date: Fri, 14 Nov 2014 15:50:17 +0000 (UTC) From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274512 - in projects/sendfile: . contrib/byacc/test/yacc contrib/llvm/include/llvm/CodeGen contrib/llvm/lib/CodeGen/SelectionDAG contrib/llvm/patches contrib/ofed/librdmacm/examples li... Message-ID: <201411141550.sAEFoHj6003694@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glebius Date: Fri Nov 14 15:50:16 2014 New Revision: 274512 URL: https://svnweb.freebsd.org/changeset/base/274512 Log: Merge head r258543 through r274511. Added: projects/sendfile/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff - copied unchanged from r274511, head/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff projects/sendfile/usr.sbin/pw/tests/pw_etcdir.sh - copied unchanged from r274511, head/usr.sbin/pw/tests/pw_etcdir.sh Deleted: projects/sendfile/sys/dev/dpt/dpt_isa.c Modified: projects/sendfile/Makefile.inc1 projects/sendfile/contrib/byacc/test/yacc/calc.tab.c projects/sendfile/contrib/byacc/test/yacc/calc1.tab.c projects/sendfile/contrib/byacc/test/yacc/calc2.tab.c projects/sendfile/contrib/byacc/test/yacc/calc3.tab.c projects/sendfile/contrib/byacc/test/yacc/code_calc.code.c projects/sendfile/contrib/byacc/test/yacc/code_calc.tab.c projects/sendfile/contrib/byacc/test/yacc/code_error.code.c projects/sendfile/contrib/byacc/test/yacc/code_error.tab.c projects/sendfile/contrib/byacc/test/yacc/empty.tab.c projects/sendfile/contrib/byacc/test/yacc/err_syntax10.tab.c projects/sendfile/contrib/byacc/test/yacc/err_syntax11.tab.c projects/sendfile/contrib/byacc/test/yacc/err_syntax12.tab.c projects/sendfile/contrib/byacc/test/yacc/err_syntax18.tab.c projects/sendfile/contrib/byacc/test/yacc/err_syntax20.tab.c projects/sendfile/contrib/byacc/test/yacc/error.tab.c projects/sendfile/contrib/byacc/test/yacc/grammar.tab.c projects/sendfile/contrib/byacc/test/yacc/ok_syntax1.tab.c projects/sendfile/contrib/byacc/test/yacc/pure_calc.tab.c projects/sendfile/contrib/byacc/test/yacc/pure_error.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc-s.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc2-s.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc2.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc3-s.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc3.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc4-s.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc4.tab.c projects/sendfile/contrib/byacc/test/yacc/rename_debug.c projects/sendfile/contrib/byacc/test/yacc/varsyntax_calc1.tab.c projects/sendfile/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/sendfile/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/sendfile/contrib/ofed/librdmacm/examples/rping.c projects/sendfile/lib/libc/sys/Makefile.inc projects/sendfile/lib/libc/sys/Symbol.map projects/sendfile/lib/libc/sys/poll.2 projects/sendfile/lib/libexpat/Makefile projects/sendfile/share/man/man4/dpt.4 projects/sendfile/share/man/man4/ipheth.4 projects/sendfile/share/man/man4/iscsi_initiator.4 projects/sendfile/share/man/man4/virtio_console.4 projects/sendfile/share/mk/sys.mk projects/sendfile/sys/amd64/amd64/support.S projects/sendfile/sys/amd64/include/asmacros.h projects/sendfile/sys/arm/arm/gic.c projects/sendfile/sys/boot/efi/include/efiapi.h projects/sendfile/sys/cam/scsi/scsi_all.h projects/sendfile/sys/cddl/compat/opensolaris/sys/vnode.h projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c projects/sendfile/sys/compat/freebsd32/freebsd32_proto.h projects/sendfile/sys/compat/freebsd32/freebsd32_syscall.h projects/sendfile/sys/compat/freebsd32/freebsd32_syscalls.c projects/sendfile/sys/compat/freebsd32/freebsd32_sysent.c projects/sendfile/sys/compat/freebsd32/freebsd32_systrace_args.c projects/sendfile/sys/compat/freebsd32/syscalls.master projects/sendfile/sys/compat/linux/linux_file.c projects/sendfile/sys/compat/linux/linux_misc.c projects/sendfile/sys/compat/linux/linux_socket.c projects/sendfile/sys/compat/linux/linux_stats.c projects/sendfile/sys/compat/linux/linux_uid16.c projects/sendfile/sys/compat/svr4/svr4_fcntl.c projects/sendfile/sys/compat/svr4/svr4_misc.c projects/sendfile/sys/compat/svr4/svr4_stat.c projects/sendfile/sys/compat/svr4/svr4_stream.c projects/sendfile/sys/conf/files projects/sendfile/sys/conf/newvers.sh projects/sendfile/sys/dev/ath/if_ath.c projects/sendfile/sys/dev/cxgbe/common/t4_hw.c projects/sendfile/sys/dev/cxgbe/iw_cxgbe/cm.c projects/sendfile/sys/dev/cxgbe/t4_main.c projects/sendfile/sys/dev/iir/iir.c projects/sendfile/sys/dev/iir/iir.h projects/sendfile/sys/dev/iir/iir_ctrl.c projects/sendfile/sys/dev/iir/iir_pci.c projects/sendfile/sys/dev/ips/ips.c projects/sendfile/sys/dev/ips/ips.h projects/sendfile/sys/dev/ips/ips_pci.c projects/sendfile/sys/dev/netmap/netmap.c projects/sendfile/sys/dev/netmap/netmap_freebsd.c projects/sendfile/sys/dev/netmap/netmap_kern.h projects/sendfile/sys/dev/netmap/netmap_monitor.c projects/sendfile/sys/dev/netmap/netmap_pipe.c projects/sendfile/sys/dev/streams/streams.c projects/sendfile/sys/dev/uart/uart_bus_fdt.c projects/sendfile/sys/dev/uart/uart_dev_pl011.c projects/sendfile/sys/fs/ext2fs/ext2_extern.h projects/sendfile/sys/fs/ext2fs/ext2_inode_cnv.c projects/sendfile/sys/fs/ext2fs/ext2_vfsops.c projects/sendfile/sys/i386/ibcs2/ibcs2_fcntl.c projects/sendfile/sys/i386/ibcs2/ibcs2_misc.c projects/sendfile/sys/i386/ibcs2/ibcs2_other.c projects/sendfile/sys/i386/ibcs2/ibcs2_stat.c projects/sendfile/sys/i386/ibcs2/ibcs2_xenix.c projects/sendfile/sys/kern/init_main.c projects/sendfile/sys/kern/init_sysent.c projects/sendfile/sys/kern/kern_descrip.c projects/sendfile/sys/kern/kern_fork.c projects/sendfile/sys/kern/kern_lock.c projects/sendfile/sys/kern/kern_umtx.c projects/sendfile/sys/kern/sys_generic.c projects/sendfile/sys/kern/syscalls.c projects/sendfile/sys/kern/syscalls.master projects/sendfile/sys/kern/systrace_args.c projects/sendfile/sys/kern/uipc_sockbuf.c projects/sendfile/sys/kern/uipc_syscalls.c projects/sendfile/sys/kern/vfs_mountroot.c projects/sendfile/sys/kern/vfs_syscalls.c projects/sendfile/sys/kern/vfs_vnops.c projects/sendfile/sys/modules/dpt/Makefile projects/sendfile/sys/netinet6/ip6_ipsec.c projects/sendfile/sys/netipsec/ipsec_input.c projects/sendfile/sys/netipsec/ipsec_output.c projects/sendfile/sys/netipsec/xform_ipip.c projects/sendfile/sys/sys/filedesc.h projects/sendfile/sys/sys/param.h projects/sendfile/sys/sys/poll.h projects/sendfile/sys/sys/syscall.h projects/sendfile/sys/sys/syscall.mk projects/sendfile/sys/sys/syscallsubr.h projects/sendfile/sys/sys/sysproto.h projects/sendfile/usr.bin/mkimg/mkimg.1 projects/sendfile/usr.bin/yacc/Makefile projects/sendfile/usr.sbin/pw/pw.c projects/sendfile/usr.sbin/pw/tests/Makefile projects/sendfile/usr.sbin/usbconfig/dump.c Directory Properties: projects/sendfile/ (props changed) projects/sendfile/contrib/byacc/ (props changed) projects/sendfile/contrib/llvm/ (props changed) projects/sendfile/lib/libc/ (props changed) projects/sendfile/share/ (props changed) projects/sendfile/share/man/man4/ (props changed) projects/sendfile/sys/ (props changed) projects/sendfile/sys/boot/ (props changed) projects/sendfile/sys/conf/ (props changed) projects/sendfile/usr.bin/mkimg/ (props changed) Modified: projects/sendfile/Makefile.inc1 ============================================================================== --- projects/sendfile/Makefile.inc1 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/Makefile.inc1 Fri Nov 14 15:50:16 2014 (r274512) @@ -1447,12 +1447,16 @@ NXBMAKE= ${NXBENV} ${MAKE} \ MK_CLANG_FULL=no MK_LLDB=no native-xtools: .MAKE + mkdir -p ${OBJTREE}/nxb-bin/bin + mkdir -p ${OBJTREE}/nxb-bin/sbin mkdir -p ${OBJTREE}/nxb-bin/usr mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ -p ${OBJTREE}/nxb-bin/usr >/dev/null mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${OBJTREE}/nxb-bin/usr/include >/dev/null .for _tool in \ + bin/csh \ + bin/sh \ ${_clang_tblgen} \ usr.bin/ar \ ${_binutils} \ @@ -1460,11 +1464,18 @@ native-xtools: .MAKE ${_gcc_tools} \ ${_clang_libs} \ ${_clang} \ + sbin/md5 \ usr.bin/awk \ usr.bin/bmake \ + usr.bin/bzip2 \ + usr.bin/fetch \ + usr.bin/gzip \ usr.bin/lex \ usr.bin/lorder \ usr.bin/sed \ + usr.bin/tar \ + usr.bin/unzip \ + usr.bin/xz \ usr.bin/yacc ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool} && \ Modified: projects/sendfile/contrib/byacc/test/yacc/calc.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/calc.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/calc.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -150,7 +150,7 @@ extern int YYPARSE_DECL(); #define LETTER 258 #define UMINUS 259 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT calc_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/calc1.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/calc1.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/calc1.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -175,7 +175,7 @@ extern int YYPARSE_DECL(); #define CONST 259 #define UMINUS 260 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT calc1_lhs[] = { -1, 3, 3, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, Modified: projects/sendfile/contrib/byacc/test/yacc/calc2.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/calc2.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/calc2.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -152,7 +152,7 @@ extern int YYPARSE_DECL(); #define LETTER 258 #define UMINUS 259 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT calc2_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/calc3.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/calc3.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/calc3.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -157,7 +157,7 @@ extern int YYPARSE_DECL(); #define LETTER 258 #define UMINUS 259 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT calc3_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/code_calc.code.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/code_calc.code.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/code_calc.code.c Fri Nov 14 15:50:16 2014 (r274512) @@ -160,7 +160,7 @@ typedef int YYSTYPE; #define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a)) extern int YYPARSE_DECL(); -typedef short YYINT; +typedef int YYINT; extern YYINT yylhs[]; extern YYINT yylen[]; extern YYINT yydefred[]; Modified: projects/sendfile/contrib/byacc/test/yacc/code_calc.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/code_calc.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/code_calc.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -1,4 +1,4 @@ -typedef short YYINT; +typedef int YYINT; const YYINT calc_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/code_error.code.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/code_error.code.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/code_error.code.c Fri Nov 14 15:50:16 2014 (r274512) @@ -152,7 +152,7 @@ typedef int YYSTYPE; #define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a)) extern int YYPARSE_DECL(); -typedef short YYINT; +typedef int YYINT; extern YYINT yylhs[]; extern YYINT yylen[]; extern YYINT yydefred[]; Modified: projects/sendfile/contrib/byacc/test/yacc/code_error.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/code_error.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/code_error.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -1,4 +1,4 @@ -typedef short YYINT; +typedef int YYINT; const YYINT error_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/empty.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/empty.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/empty.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -144,7 +144,7 @@ typedef int YYSTYPE; extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT empty_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/err_syntax10.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/err_syntax10.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/err_syntax10.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -134,7 +134,7 @@ static void yyerror(const char *); extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT err_syntax10_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/err_syntax11.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/err_syntax11.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/err_syntax11.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -140,7 +140,7 @@ typedef int YYSTYPE; extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT err_syntax11_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/err_syntax12.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/err_syntax12.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/err_syntax12.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -141,7 +141,7 @@ extern int YYPARSE_DECL(); #define text 456 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT err_syntax12_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/err_syntax18.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/err_syntax18.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/err_syntax18.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -140,7 +140,7 @@ typedef int YYSTYPE; extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT err_syntax18_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/err_syntax20.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/err_syntax20.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/err_syntax20.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -135,7 +135,7 @@ extern int YYPARSE_DECL(); #define recur 257 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT err_syntax20_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/error.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/error.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/error.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -140,7 +140,7 @@ typedef int YYSTYPE; extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT error_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/grammar.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/grammar.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/grammar.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -453,7 +453,7 @@ extern int YYPARSE_DECL(); #define T_ASMARG 290 #define T_VA_DCL 291 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT grammar_lhs[] = { -1, 0, 0, 26, 26, 27, 27, 27, 27, 27, 27, 27, 31, 30, 30, 28, 28, 34, 28, 32, 32, Modified: projects/sendfile/contrib/byacc/test/yacc/ok_syntax1.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/ok_syntax1.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/ok_syntax1.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -178,7 +178,7 @@ extern int YYPARSE_DECL(); #define VT 272 #define UMINUS 273 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT ok_syntax1_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/pure_calc.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/pure_calc.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/pure_calc.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -160,7 +160,7 @@ extern int YYPARSE_DECL(); #define LETTER 258 #define UMINUS 259 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT calc_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/pure_error.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/pure_error.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/pure_error.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -152,7 +152,7 @@ typedef int YYSTYPE; extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT error_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc-s.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc-s.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc-s.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -162,7 +162,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc2-s.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc2-s.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc2-s.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc2_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc2.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc2.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc2.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -162,7 +162,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc2_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc3-s.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc3-s.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc3-s.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc3_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc3.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc3.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc3.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc3_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc4-s.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc4-s.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc4-s.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc4_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc4.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc4.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc4.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc4_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/rename_debug.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/rename_debug.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/rename_debug.c Fri Nov 14 15:50:16 2014 (r274512) @@ -16,7 +16,7 @@ #line 17 "rename_debug.c" #include "rename_debug.i" #include "rename_debug.h" -typedef short YYINT; +typedef int YYINT; static const YYINT yylhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/varsyntax_calc1.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/varsyntax_calc1.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/varsyntax_calc1.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -176,7 +176,7 @@ extern int YYPARSE_DECL(); #define CONST 259 #define UMINUS 260 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT varsyntax_calc1_lhs[] = { -1, 3, 3, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, Modified: projects/sendfile/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h ============================================================================== --- projects/sendfile/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h Fri Nov 14 15:50:16 2014 (r274512) @@ -127,6 +127,10 @@ public: DbgValMap[Node].push_back(V); } + /// \brief Invalidate all DbgValues attached to the node and remove + /// it from the Node-to-DbgValues map. + void erase(const SDNode *Node); + void clear() { DbgValMap.clear(); DbgValues.clear(); Modified: projects/sendfile/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp ============================================================================== --- projects/sendfile/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Fri Nov 14 15:50:16 2014 (r274512) @@ -625,6 +625,15 @@ void SelectionDAG::DeleteNodeNotInCSEMap DeallocateNode(N); } +void SDDbgInfo::erase(const SDNode *Node) { + DbgValMapType::iterator I = DbgValMap.find(Node); + if (I == DbgValMap.end()) + return; + for (unsigned J = 0, N = I->second.size(); J != N; ++J) + I->second[J]->setIsInvalidated(); + DbgValMap.erase(I); +} + void SelectionDAG::DeallocateNode(SDNode *N) { if (N->OperandsNeedDelete) delete[] N->OperandList; @@ -635,10 +644,9 @@ void SelectionDAG::DeallocateNode(SDNode NodeAllocator.Deallocate(AllNodes.remove(N)); - // If any of the SDDbgValue nodes refer to this SDNode, invalidate them. - ArrayRef<SDDbgValue*> DbgVals = DbgInfo->getSDDbgValues(N); - for (unsigned i = 0, e = DbgVals.size(); i != e; ++i) - DbgVals[i]->setIsInvalidated(); + // If any of the SDDbgValue nodes refer to this SDNode, invalidate + // them and forget about that node. + DbgInfo->erase(N); } /// RemoveNodeFromCSEMaps - Take the specified node out of the CSE map that Copied: projects/sendfile/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff (from r274511, head/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff Fri Nov 14 15:50:16 2014 (r274512, copy of r274511, head/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff) @@ -0,0 +1,73 @@ +Pull in r221709 from upstream llvm trunk (by Frédéric Riss): + + Totally forget deallocated SDNodes in SDDbgInfo. + + What would happen before that commit is that the SDDbgValues associated with + a deallocated SDNode would be marked Invalidated, but SDDbgInfo would keep + a map entry keyed by the SDNode pointer pointing to this list of invalidated + SDDbgNodes. As the memory gets reused, the list might get wrongly associated + with another new SDNode. As the SDDbgValues are cloned when they are transfered, + this can lead to an exponential number of SDDbgValues being produced during + DAGCombine like in http://llvm.org/bugs/show_bug.cgi?id=20893 + + Note that the previous behavior wasn't really buggy as the invalidation made + sure that the SDDbgValues won't be used. This commit can be considered a + memory optimization and as such is really hard to validate in a unit-test. + +This should fix abnormally large memory usage and resulting OOM crashes +when compiling certain ports with debug information. + +Reported by: Dmitry Marakasov <amdmi3@amdmi3.ru> +Upstream PRs: http://llvm.org/PR19031 http://llvm.org/PR20893 + +Introduced here: http://svnweb.freebsd.org/changeset/base/274442 + +Index: include/llvm/CodeGen/SelectionDAG.h +=================================================================== +--- include/llvm/CodeGen/SelectionDAG.h ++++ include/llvm/CodeGen/SelectionDAG.h +@@ -127,6 +127,10 @@ class SDDbgInfo { + DbgValMap[Node].push_back(V); + } + ++ /// \brief Invalidate all DbgValues attached to the node and remove ++ /// it from the Node-to-DbgValues map. ++ void erase(const SDNode *Node); ++ + void clear() { + DbgValMap.clear(); + DbgValues.clear(); +Index: lib/CodeGen/SelectionDAG/SelectionDAG.cpp +=================================================================== +--- lib/CodeGen/SelectionDAG/SelectionDAG.cpp ++++ lib/CodeGen/SelectionDAG/SelectionDAG.cpp +@@ -625,6 +625,15 @@ void SelectionDAG::DeleteNodeNotInCSEMaps(SDNode * + DeallocateNode(N); + } + ++void SDDbgInfo::erase(const SDNode *Node) { ++ DbgValMapType::iterator I = DbgValMap.find(Node); ++ if (I == DbgValMap.end()) ++ return; ++ for (unsigned J = 0, N = I->second.size(); J != N; ++J) ++ I->second[J]->setIsInvalidated(); ++ DbgValMap.erase(I); ++} ++ + void SelectionDAG::DeallocateNode(SDNode *N) { + if (N->OperandsNeedDelete) + delete[] N->OperandList; +@@ -635,10 +644,9 @@ void SelectionDAG::DeallocateNode(SDNode *N) { + + NodeAllocator.Deallocate(AllNodes.remove(N)); + +- // If any of the SDDbgValue nodes refer to this SDNode, invalidate them. +- ArrayRef<SDDbgValue*> DbgVals = DbgInfo->getSDDbgValues(N); +- for (unsigned i = 0, e = DbgVals.size(); i != e; ++i) +- DbgVals[i]->setIsInvalidated(); ++ // If any of the SDDbgValue nodes refer to this SDNode, invalidate ++ // them and forget about that node. ++ DbgInfo->erase(N); + } + + /// RemoveNodeFromCSEMaps - Take the specified node out of the CSE map that Modified: projects/sendfile/contrib/ofed/librdmacm/examples/rping.c ============================================================================== --- projects/sendfile/contrib/ofed/librdmacm/examples/rping.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/ofed/librdmacm/examples/rping.c Fri Nov 14 15:50:16 2014 (r274512) @@ -1049,19 +1049,20 @@ static int rping_run_client(struct rping ret = rping_connect_client(cb); if (ret) { fprintf(stderr, "connect error %d\n", ret); - goto err2; + goto err3; } ret = rping_test_client(cb); if (ret) { fprintf(stderr, "rping client failed: %d\n", ret); - goto err3; + goto err4; } ret = 0; -err3: +err4: rdma_disconnect(cb->cm_id); -err2: +err3: pthread_join(cb->cqthread, NULL); +err2: rping_free_buffers(cb); err1: rping_free_qp(cb); Modified: projects/sendfile/lib/libc/sys/Makefile.inc ============================================================================== --- projects/sendfile/lib/libc/sys/Makefile.inc Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/lib/libc/sys/Makefile.inc Fri Nov 14 15:50:16 2014 (r274512) @@ -356,6 +356,7 @@ MLINKS+=pdfork.2 pdgetpid.2\ pdfork.2 pdkill.2 \ pdfork.2 pdwait4.2 MLINKS+=pipe.2 pipe2.2 +MLINKS+=poll.2 ppoll.2 MLINKS+=read.2 pread.2 \ read.2 preadv.2 \ read.2 readv.2 Modified: projects/sendfile/lib/libc/sys/Symbol.map ============================================================================== --- projects/sendfile/lib/libc/sys/Symbol.map Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/lib/libc/sys/Symbol.map Fri Nov 14 15:50:16 2014 (r274512) @@ -399,6 +399,10 @@ FBSD_1.3 { wait6; }; +FBSD_1.4 { + ppoll; +}; + FBSDprivate_1.0 { ___acl_aclcheck_fd; __sys___acl_aclcheck_fd; @@ -821,6 +825,8 @@ FBSDprivate_1.0 { __sys_pipe; _poll; __sys_poll; + _ppoll; + __sys_ppoll; _preadv; __sys_preadv; _procctl; Modified: projects/sendfile/lib/libc/sys/poll.2 ============================================================================== --- projects/sendfile/lib/libc/sys/poll.2 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/lib/libc/sys/poll.2 Fri Nov 14 15:50:16 2014 (r274512) @@ -28,7 +28,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd July 8, 2002 +.Dd November 13, 2014 .Dt POLL 2 .Os .Sh NAME @@ -40,6 +40,13 @@ .In poll.h .Ft int .Fn poll "struct pollfd fds[]" "nfds_t nfds" "int timeout" +.Ft int +.Fo ppoll +.Fa "struct pollfd fds[]" +.Fa "nfds_t nfds" +.Fa "const struct timespec * restrict timeout" +.Fa "const sigset_t * restrict newsigmask" +.Fc .Sh DESCRIPTION The .Fn poll @@ -139,6 +146,47 @@ If is zero, then .Fn poll will return without blocking. +.Pp +The +.Fn ppoll +system call, unlike +.Fn poll , +is used to safely wait until either a set of file descriptors becomes +ready or until a signal is caught. +The +.Fa fds +and +.Fa nfds +arguments are identical to the analogous arguments of +.Fn poll . +The +.Fa timeout +argument in +.Fn ppoll +points to a +.Vt "const struct timespec" +which is defined in +.In sys/timespec.h +(shown below) rather than the +.Vt "int timeout" +used by +.Fn poll . +A null pointer may be passed to indicate that +.Fn ppoll +should wait indefinitely. +Finally, +.Fa newsigmask +specifies a signal mask which is set while waiting for input. +When +.Fn ppoll +returns, the original signal mask is restored. +.Pp +.Bd -literal +struct timespec { + time_t tv_sec; /* seconds */ + long tv_nsec; /* and nanoseconds */ +}; +.Ed .Sh RETURN VALUES The .Fn poll @@ -185,17 +233,26 @@ points outside the process's allocated a A signal was delivered before the time limit expired and before any of the selected events occurred. .It Bq Er EINVAL -The specified time limit is negative. +The specified time limit is invalid. One of its components is negative or too large. .El .Sh SEE ALSO .Xr accept 2 , .Xr connect 2 , .Xr kqueue 2 , +.Xr pselect 2 , .Xr read 2 , .Xr recv 2 , .Xr select 2 , .Xr send 2 , .Xr write 2 +.Sh STANDARDS +The +.Fn poll +function conforms to +.St -p1003.1-2001 . +The +.Fn ppoll +is not specified by POSIX. .Sh HISTORY The .Fn poll @@ -203,6 +260,10 @@ function appeared in .At V . This manual page and the core of the implementation was taken from .Nx . +The +.Fn ppoll +function first appeared in +.Fx 11.0 .Sh BUGS The distinction between some of the fields in the .Fa events Modified: projects/sendfile/lib/libexpat/Makefile ============================================================================== --- projects/sendfile/lib/libexpat/Makefile Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/lib/libexpat/Makefile Fri Nov 14 15:50:16 2014 (r274512) @@ -16,12 +16,10 @@ CLEANFILES= bsdxml.h bsdxml_external.h WARNS?= 2 -# OK, so it is not entirely unadultered: we ammend the COPYING -# to point people to the right place, get rid of some VMS stuff -# and use FreeBSD style indempotency #ifndefs. We also want to -# point it at the new bsdxml_external.h rather than the old -# expat_external.h file. -# +# OK, so it is not entirely unadulterated: we amend the COPYING to +# point people to the right place, get rid of some VMS stuff and use +# FreeBSD-style include guards. We also want to point it at the new +# bsdxml_external.h rather than the old expat_external.h file. bsdxml.h: expat.h unifdef -U__VMS < ${.ALLSRC} | \ sed -e 's/XmlParse_INCLUDED/_BSD_XML_H_/' \ Modified: projects/sendfile/share/man/man4/dpt.4 ============================================================================== --- projects/sendfile/share/man/man4/dpt.4 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/share/man/man4/dpt.4 Fri Nov 14 15:50:16 2014 (r274512) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 18, 2006 +.Dd November 13, 2014 .Dt DPT 4 .Os .Sh NAME @@ -40,9 +40,6 @@ kernel configuration file: For one or more EISA cards: .Cd "device eisa" .Pp -For one or more ISA cards: -.Cd "device isa" -.Pp For one or more PCI cards: .Cd "device pci" .Pp Modified: projects/sendfile/share/man/man4/ipheth.4 ============================================================================== --- projects/sendfile/share/man/man4/ipheth.4 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/share/man/man4/ipheth.4 Fri Nov 14 15:50:16 2014 (r274512) @@ -103,4 +103,3 @@ A command similar to may be required if the device is not recognised automatically by .Nm after it is connected. - Modified: projects/sendfile/share/man/man4/iscsi_initiator.4 ============================================================================== --- projects/sendfile/share/man/man4/iscsi_initiator.4 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/share/man/man4/iscsi_initiator.4 Fri Nov 14 15:50:16 2014 (r274512) @@ -54,7 +54,6 @@ Users are advised to use instead. .Ef .Pp - The .Nm implements the kernel side of the Internet SCSI (iSCSI) network Modified: projects/sendfile/share/man/man4/virtio_console.4 ============================================================================== --- projects/sendfile/share/man/man4/virtio_console.4 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/share/man/man4/virtio_console.4 Fri Nov 14 15:50:16 2014 (r274512) @@ -56,6 +56,7 @@ each port is accessible through .Sh FILES .Bl -tag -width ".Pa /dev/ttyV?.??" -compact .It Pa /dev/ttyV?.?? +.El .Sh SEE ALSO .Xr tty 4 .Xr virtio 4 Modified: projects/sendfile/share/mk/sys.mk ============================================================================== --- projects/sendfile/share/mk/sys.mk Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/share/mk/sys.mk Fri Nov 14 15:50:16 2014 (r274512) @@ -137,6 +137,8 @@ OBJCFLAGS ?= ${OBJCINCLUDES} ${CFLAGS} - OBJCOPY ?= objcopy +OBJDUMP ?= objdump + PC ?= pc PFLAGS ?= Modified: projects/sendfile/sys/amd64/amd64/support.S ============================================================================== --- projects/sendfile/sys/amd64/amd64/support.S Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/sys/amd64/amd64/support.S Fri Nov 14 15:50:16 2014 (r274512) @@ -47,6 +47,7 @@ /* done */ ENTRY(bzero) + PUSH_FRAME_POINTER movq %rsi,%rcx xorl %eax,%eax shrq $3,%rcx @@ -57,11 +58,13 @@ ENTRY(bzero) andq $7,%rcx rep stosb + POP_FRAME_POINTER ret END(bzero) /* Address: %rdi */ ENTRY(pagezero) + PUSH_FRAME_POINTER movq $-PAGE_SIZE,%rdx subq %rdx,%rdi xorl %eax,%eax @@ -73,10 +76,12 @@ ENTRY(pagezero) addq $32,%rdx jne 1b sfence + POP_FRAME_POINTER ret END(pagezero) ENTRY(bcmp) + PUSH_FRAME_POINTER movq %rdx,%rcx shrq $3,%rcx cld /* compare forwards */ @@ -91,6 +96,7 @@ ENTRY(bcmp) 1: setne %al movsbl %al,%eax + POP_FRAME_POINTER ret END(bcmp) @@ -100,8 +106,7 @@ END(bcmp) * ws@tools.de (Wolfgang Solfrank, TooLs GmbH) +49-228-985800 */ ENTRY(bcopy) - pushq %rbp - movq %rsp,%rbp + PUSH_FRAME_POINTER xchgq %rsi,%rdi movq %rdx,%rcx @@ -118,7 +123,7 @@ ENTRY(bcopy) andq $7,%rcx /* any bytes left? */ rep movsb - popq %rbp + POP_FRAME_POINTER ret /* ALIGN_TEXT */ @@ -138,7 +143,7 @@ ENTRY(bcopy) rep movsq cld - popq %rbp + POP_FRAME_POINTER ret END(bcopy) @@ -146,6 +151,7 @@ END(bcopy) * Note: memcpy does not support overlapping copies */ ENTRY(memcpy) + PUSH_FRAME_POINTER movq %rdx,%rcx shrq $3,%rcx /* copy by 64-bit words */ cld /* copy forwards */ @@ -155,6 +161,7 @@ ENTRY(memcpy) andq $7,%rcx /* any bytes left? */ rep movsb + POP_FRAME_POINTER ret END(memcpy) @@ -162,6 +169,7 @@ END(memcpy) * pagecopy(%rdi=from, %rsi=to) */ ENTRY(pagecopy) + PUSH_FRAME_POINTER movq $-PAGE_SIZE,%rax movq %rax,%rdx subq %rax,%rdi @@ -182,18 +190,21 @@ ENTRY(pagecopy) addq $32,%rdx jne 2b sfence + POP_FRAME_POINTER ret END(pagecopy) /* fillw(pat, base, cnt) */ /* %rdi,%rsi, %rdx */ ENTRY(fillw) + PUSH_FRAME_POINTER movq %rdi,%rax movq %rsi,%rdi movq %rdx,%rcx cld rep stosw + POP_FRAME_POINTER ret END(fillw) @@ -214,6 +225,7 @@ END(fillw) * %rdi, %rsi, %rdx */ ENTRY(copyout) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rax movq $copyout_fault,PCB_ONFAULT(%rax) testq %rdx,%rdx /* anything to do? */ @@ -259,6 +271,7 @@ done_copyout: xorl %eax,%eax movq PCPU(CURPCB),%rdx movq %rax,PCB_ONFAULT(%rdx) + POP_FRAME_POINTER ret ALIGN_TEXT @@ -266,6 +279,7 @@ copyout_fault: movq PCPU(CURPCB),%rdx movq $0,PCB_ONFAULT(%rdx) movq $EFAULT,%rax + POP_FRAME_POINTER ret END(copyout) @@ -274,6 +288,7 @@ END(copyout) * %rdi, %rsi, %rdx */ ENTRY(copyin) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rax movq $copyin_fault,PCB_ONFAULT(%rax) testq %rdx,%rdx /* anything to do? */ @@ -305,6 +320,7 @@ done_copyin: xorl %eax,%eax movq PCPU(CURPCB),%rdx movq %rax,PCB_ONFAULT(%rdx) + POP_FRAME_POINTER ret ALIGN_TEXT @@ -312,6 +328,7 @@ copyin_fault: movq PCPU(CURPCB),%rdx movq $0,PCB_ONFAULT(%rdx) movq $EFAULT,%rax + POP_FRAME_POINTER ret END(copyin) @@ -321,6 +338,7 @@ END(copyin) * dst = %rdi, old = %esi, oldp = %rdx, new = %ecx */ ENTRY(casueword32) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%r8 movq $fusufault,PCB_ONFAULT(%r8) @@ -349,6 +367,7 @@ ENTRY(casueword32) * catch corrupted pointer. */ movl %esi,(%rdx) /* oldp = %rdx */ + POP_FRAME_POINTER ret END(casueword32) @@ -358,6 +377,7 @@ END(casueword32) * dst = %rdi, old = %rsi, oldp = %rdx, new = %rcx */ ENTRY(casueword) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%r8 movq $fusufault,PCB_ONFAULT(%r8) @@ -380,6 +400,7 @@ ENTRY(casueword) xorl %eax,%eax movq %rax,PCB_ONFAULT(%r8) movq %rsi,(%rdx) + POP_FRAME_POINTER ret END(casueword) @@ -391,6 +412,7 @@ END(casueword) ALTENTRY(fueword64) ENTRY(fueword) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rcx movq $fusufault,PCB_ONFAULT(%rcx) @@ -402,11 +424,13 @@ ENTRY(fueword) movq (%rdi),%r11 movq %rax,PCB_ONFAULT(%rcx) movq %r11,(%rsi) + POP_FRAME_POINTER ret END(fuword64) END(fuword) ENTRY(fueword32) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rcx movq $fusufault,PCB_ONFAULT(%rcx) @@ -418,6 +442,7 @@ ENTRY(fueword32) movl (%rdi),%r11d movq %rax,PCB_ONFAULT(%rcx) movl %r11d,(%rsi) + POP_FRAME_POINTER ret END(fueword32) @@ -436,6 +461,7 @@ END(suswintr) END(fuswintr) ENTRY(fuword16) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rcx movq $fusufault,PCB_ONFAULT(%rcx) @@ -445,10 +471,12 @@ ENTRY(fuword16) movzwl (%rdi),%eax movq $0,PCB_ONFAULT(%rcx) + POP_FRAME_POINTER ret END(fuword16) ENTRY(fubyte) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rcx movq $fusufault,PCB_ONFAULT(%rcx) @@ -458,6 +486,7 @@ ENTRY(fubyte) movzbl (%rdi),%eax movq $0,PCB_ONFAULT(%rcx) + POP_FRAME_POINTER ret END(fubyte) @@ -467,6 +496,7 @@ fusufault: xorl %eax,%eax movq %rax,PCB_ONFAULT(%rcx) decq %rax + POP_FRAME_POINTER ret /* @@ -476,6 +506,7 @@ fusufault: */ ALTENTRY(suword64) ENTRY(suword) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rcx movq $fusufault,PCB_ONFAULT(%rcx) @@ -487,11 +518,13 @@ ENTRY(suword) xorl %eax,%eax movq PCPU(CURPCB),%rcx movq %rax,PCB_ONFAULT(%rcx) + POP_FRAME_POINTER *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201411141550.sAEFoHj6003694>