Date: Wed, 14 Jun 2017 02:46:38 +0000 (UTC) From: Alan Cox <alc@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r319931 - in user/alc/PQ_LAUNDRY: . bin/df bin/ln bin/ln/tests contrib/ipfilter/tools contrib/llvm/tools/lld/ELF etc/mtree etc/rc.d lib/clang/libclang lib/clang/liblldb lib/clang/libllv... Message-ID: <201706140246.v5E2kckd028506@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: alc Date: Wed Jun 14 02:46:38 2017 New Revision: 319931 URL: https://svnweb.freebsd.org/changeset/base/319931 Log: MFH Added: user/alc/PQ_LAUNDRY/sys/dev/neta/ - copied from r319928, head/sys/dev/neta/ user/alc/PQ_LAUNDRY/usr.bin/du/tests/ - copied from r319928, head/usr.bin/du/tests/ user/alc/PQ_LAUNDRY/usr.bin/stat/tests/ - copied from r319928, head/usr.bin/stat/tests/ user/alc/PQ_LAUNDRY/usr.sbin/chown/tests/chown_test.sh - copied unchanged from r319928, head/usr.sbin/chown/tests/chown_test.sh Deleted: user/alc/PQ_LAUNDRY/usr.sbin/chown/tests/chown-f_test.sh Modified: user/alc/PQ_LAUNDRY/Makefile user/alc/PQ_LAUNDRY/Makefile.inc1 user/alc/PQ_LAUNDRY/ObsoleteFiles.inc user/alc/PQ_LAUNDRY/bin/df/df.c user/alc/PQ_LAUNDRY/bin/ln/ln.1 user/alc/PQ_LAUNDRY/bin/ln/tests/ln_test.sh user/alc/PQ_LAUNDRY/contrib/ipfilter/tools/ippool.c user/alc/PQ_LAUNDRY/contrib/llvm/tools/lld/ELF/ICF.cpp user/alc/PQ_LAUNDRY/etc/mtree/BSD.tests.dist user/alc/PQ_LAUNDRY/etc/rc.d/sendmail user/alc/PQ_LAUNDRY/lib/clang/libclang/Makefile user/alc/PQ_LAUNDRY/lib/clang/liblldb/Makefile user/alc/PQ_LAUNDRY/lib/clang/libllvm/Makefile user/alc/PQ_LAUNDRY/lib/libc/gen/getbsize.3 user/alc/PQ_LAUNDRY/lib/libc/sys/ptrace.2 user/alc/PQ_LAUNDRY/lib/libcam/tests/libcam_test.c user/alc/PQ_LAUNDRY/sbin/ipfw/dummynet.c user/alc/PQ_LAUNDRY/share/misc/committers-src.dot user/alc/PQ_LAUNDRY/share/mk/local.sys.mk user/alc/PQ_LAUNDRY/share/mk/sys.mk user/alc/PQ_LAUNDRY/sys/amd64/amd64/trap.c user/alc/PQ_LAUNDRY/sys/amd64/cloudabi32/cloudabi32_sysvec.c user/alc/PQ_LAUNDRY/sys/amd64/cloudabi64/cloudabi64_sysvec.c user/alc/PQ_LAUNDRY/sys/amd64/ia32/ia32_syscall.c user/alc/PQ_LAUNDRY/sys/amd64/include/proc.h user/alc/PQ_LAUNDRY/sys/amd64/linux/linux_sysvec.c user/alc/PQ_LAUNDRY/sys/amd64/linux32/linux32_sysvec.c user/alc/PQ_LAUNDRY/sys/arm/arm/cpuinfo.c user/alc/PQ_LAUNDRY/sys/arm/arm/identcpu-v6.c user/alc/PQ_LAUNDRY/sys/arm/arm/mp_machdep.c user/alc/PQ_LAUNDRY/sys/arm/arm/pmap-v6.c user/alc/PQ_LAUNDRY/sys/arm/arm/syscall.c user/alc/PQ_LAUNDRY/sys/arm/cloudabi32/cloudabi32_sysvec.c user/alc/PQ_LAUNDRY/sys/arm/conf/ARMADA38X user/alc/PQ_LAUNDRY/sys/arm/include/cpuinfo.h user/alc/PQ_LAUNDRY/sys/arm/include/pmap-v6.h user/alc/PQ_LAUNDRY/sys/arm/mv/files.mv user/alc/PQ_LAUNDRY/sys/arm/mv/mpic.c user/alc/PQ_LAUNDRY/sys/arm/mv/mv_common.c user/alc/PQ_LAUNDRY/sys/arm/mv/mvwin.h user/alc/PQ_LAUNDRY/sys/arm64/arm64/trap.c user/alc/PQ_LAUNDRY/sys/arm64/cloudabi64/cloudabi64_sysvec.c user/alc/PQ_LAUNDRY/sys/arm64/include/proc.h user/alc/PQ_LAUNDRY/sys/boot/fdt/dts/arm/armada-388-clearfog.dts user/alc/PQ_LAUNDRY/sys/boot/fdt/dts/arm/armada-38x.dtsi user/alc/PQ_LAUNDRY/sys/compat/ia32/ia32_util.h user/alc/PQ_LAUNDRY/sys/compat/linux/linux_file.c user/alc/PQ_LAUNDRY/sys/conf/options user/alc/PQ_LAUNDRY/sys/dev/bnxt/if_bnxt.c user/alc/PQ_LAUNDRY/sys/dev/cxgbe/common/t4_hw.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/e6000sw/e6000sw.c user/alc/PQ_LAUNDRY/sys/dev/hwpmc/hwpmc_armv7.c user/alc/PQ_LAUNDRY/sys/dev/hwpmc/hwpmc_mod.c user/alc/PQ_LAUNDRY/sys/dev/hwpmc/pmc_events.h user/alc/PQ_LAUNDRY/sys/dev/netmap/if_ixl_netmap.h user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap.c user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap_freebsd.c user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap_generic.c user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap_kern.h user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap_mbq.h user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap_mem2.c user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap_mem2.h user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap_monitor.c user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap_pipe.c user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap_pt.c user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap_vale.c user/alc/PQ_LAUNDRY/sys/dev/vt/hw/vga/vt_vga.c user/alc/PQ_LAUNDRY/sys/fs/msdosfs/denode.h user/alc/PQ_LAUNDRY/sys/fs/msdosfs/direntry.h user/alc/PQ_LAUNDRY/sys/fs/msdosfs/fat.h user/alc/PQ_LAUNDRY/sys/fs/nfs/nfsproto.h user/alc/PQ_LAUNDRY/sys/i386/cloudabi32/cloudabi32_sysvec.c user/alc/PQ_LAUNDRY/sys/i386/i386/trap.c user/alc/PQ_LAUNDRY/sys/i386/include/proc.h user/alc/PQ_LAUNDRY/sys/i386/linux/linux_sysvec.c user/alc/PQ_LAUNDRY/sys/kern/init_main.c user/alc/PQ_LAUNDRY/sys/kern/kern_fork.c user/alc/PQ_LAUNDRY/sys/kern/kern_sig.c user/alc/PQ_LAUNDRY/sys/kern/kern_thread.c user/alc/PQ_LAUNDRY/sys/kern/kern_uuid.c user/alc/PQ_LAUNDRY/sys/kern/subr_blist.c user/alc/PQ_LAUNDRY/sys/kern/subr_prf.c user/alc/PQ_LAUNDRY/sys/kern/subr_syscall.c user/alc/PQ_LAUNDRY/sys/kern/sys_process.c user/alc/PQ_LAUNDRY/sys/mips/include/proc.h user/alc/PQ_LAUNDRY/sys/mips/mips/trap.c user/alc/PQ_LAUNDRY/sys/modules/ffec/Makefile user/alc/PQ_LAUNDRY/sys/net/iflib.c user/alc/PQ_LAUNDRY/sys/net/route.c user/alc/PQ_LAUNDRY/sys/net/route.h user/alc/PQ_LAUNDRY/sys/powerpc/include/proc.h user/alc/PQ_LAUNDRY/sys/powerpc/powerpc/trap.c user/alc/PQ_LAUNDRY/sys/riscv/include/proc.h user/alc/PQ_LAUNDRY/sys/riscv/riscv/trap.c user/alc/PQ_LAUNDRY/sys/security/mac_bsdextended/mac_bsdextended.c user/alc/PQ_LAUNDRY/sys/sparc64/include/proc.h user/alc/PQ_LAUNDRY/sys/sparc64/sparc64/trap.c user/alc/PQ_LAUNDRY/sys/sys/blist.h user/alc/PQ_LAUNDRY/sys/sys/pmc.h user/alc/PQ_LAUNDRY/sys/sys/proc.h user/alc/PQ_LAUNDRY/sys/sys/ptrace.h user/alc/PQ_LAUNDRY/sys/sys/sysent.h user/alc/PQ_LAUNDRY/sys/sys/uuid.h user/alc/PQ_LAUNDRY/tools/test/ptrace/scescx.c user/alc/PQ_LAUNDRY/usr.bin/diff/tests/diff_test.sh user/alc/PQ_LAUNDRY/usr.bin/du/Makefile user/alc/PQ_LAUNDRY/usr.bin/du/du.c user/alc/PQ_LAUNDRY/usr.bin/finger/finger.c user/alc/PQ_LAUNDRY/usr.bin/hexdump/display.c user/alc/PQ_LAUNDRY/usr.bin/stat/Makefile user/alc/PQ_LAUNDRY/usr.bin/stat/stat.1 user/alc/PQ_LAUNDRY/usr.bin/top/machine.c user/alc/PQ_LAUNDRY/usr.bin/top/top.local.1 user/alc/PQ_LAUNDRY/usr.bin/yes/yes.c user/alc/PQ_LAUNDRY/usr.sbin/bsdinstall/scripts/auto user/alc/PQ_LAUNDRY/usr.sbin/bsdinstall/scripts/zfsboot user/alc/PQ_LAUNDRY/usr.sbin/chown/tests/Makefile user/alc/PQ_LAUNDRY/usr.sbin/makefs/mtree.c user/alc/PQ_LAUNDRY/usr.sbin/rpc.lockd/lockd.c Directory Properties: user/alc/PQ_LAUNDRY/ (props changed) user/alc/PQ_LAUNDRY/contrib/ipfilter/ (props changed) user/alc/PQ_LAUNDRY/contrib/llvm/ (props changed) user/alc/PQ_LAUNDRY/contrib/llvm/tools/lld/ (props changed) Modified: user/alc/PQ_LAUNDRY/Makefile ============================================================================== --- user/alc/PQ_LAUNDRY/Makefile Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/Makefile Wed Jun 14 02:46:38 2017 (r319931) @@ -522,6 +522,8 @@ TARGET!= uname -m .endif .if defined(MAKE_ALL_KERNELS) _THINNER=cat +.elif defined(MAKE_LINT_KERNELS) +_THINNER=grep 'LINT' || true .else _THINNER=xargs grep -L "^.NO_UNIVERSE" || true .endif Modified: user/alc/PQ_LAUNDRY/Makefile.inc1 ============================================================================== --- user/alc/PQ_LAUNDRY/Makefile.inc1 Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/Makefile.inc1 Wed Jun 14 02:46:38 2017 (r319931) @@ -767,6 +767,17 @@ _worldtmp: .PHONY fi .endif .endfor +# 20170607 remove stale dependencies for utimens* wrappers removed in r319663 +.for f in futimens utimensat +.if exists(${OBJTREE}${.CURDIR}/lib/libc/.depend.${f}.o) + @if egrep -q '/${f}.c' \ + ${OBJTREE}${.CURDIR}/lib/libc/.depend.${f}.o; then \ + echo Removing stale dependencies for ${f} syscall wrappers; \ + rm -f ${OBJTREE}${.CURDIR}/lib/libc/.depend.${f}.* \ + ${OBJTREE}${.CURDIR}/world32/${.CURDIR}/lib/libc/.depend.${f}.*; \ + fi +.endif +.endfor # 20170523 remove stale generated asm files for functions which are no longer # syscalls after r302092 (pipe) and r318736 (others) .for f in getdents lstat mknod pipe stat Modified: user/alc/PQ_LAUNDRY/ObsoleteFiles.inc ============================================================================== --- user/alc/PQ_LAUNDRY/ObsoleteFiles.inc Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/ObsoleteFiles.inc Wed Jun 14 02:46:38 2017 (r319931) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20170610: chown-f_test replaced by chown_test +OLD_FILES+=usr/tests/usr.sbin/chown/chown-f_test # 20170609: drop obsolete manpage link (if_rtwn.ko -> rtwn.ko) OLD_FILES+=usr/share/man/man4/if_rtwn.4.gz # 20170531: removal of groff Modified: user/alc/PQ_LAUNDRY/bin/df/df.c ============================================================================== --- user/alc/PQ_LAUNDRY/bin/df/df.c Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/bin/df/df.c Wed Jun 14 02:46:38 2017 (r319931) @@ -490,7 +490,7 @@ prtstat(struct statfs *sfsp, struct maxwidths *mwp) xo_emit("{T:/%-*s}", mwp->mntfrom, "Filesystem"); if (Tflag) xo_emit(" {T:/%-*s}", mwp->fstype, "Type"); - xo_emit(" {T:/%*s} {T:/%*s} {T:/%*s} Capacity", + xo_emit(" {T:/%*s} {T:/%*s} {T:/%*s} {T:Capacity}", mwp->total, header, mwp->used, "Used", mwp->avail, "Avail"); if (iflag) { Modified: user/alc/PQ_LAUNDRY/bin/ln/ln.1 ============================================================================== --- user/alc/PQ_LAUNDRY/bin/ln/ln.1 Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/bin/ln/ln.1 Wed Jun 14 02:46:38 2017 (r319931) @@ -32,7 +32,7 @@ .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 .\" $FreeBSD$ .\" -.Dd November 2, 2012 +.Dd June 12, 2017 .Dt LN 1 .Os .Sh NAME @@ -87,14 +87,18 @@ option should be used with either or .Fl i options. -If none is specified, +If neither .Fl f +nor +.Fl i +is specified, +.Fl f is implied. The .Fl F option is a no-op unless .Fl s -option is specified. +is specified. .It Fl L When creating a hard link to a symbolic link, create a hard link to the target of the symbolic link. Modified: user/alc/PQ_LAUNDRY/bin/ln/tests/ln_test.sh ============================================================================== --- user/alc/PQ_LAUNDRY/bin/ln/tests/ln_test.sh Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/bin/ln/tests/ln_test.sh Wed Jun 14 02:46:38 2017 (r319931) @@ -28,190 +28,217 @@ set_umask() { - if ! umask 022; then - atf_fail "setting umask failed" - fi + if ! umask 022; then + atf_fail "setting umask failed" + fi } atf_test_case L_flag L_flag_head() { - atf_set "descr" "Verify that when creating a hard link to a " \ - "symbolic link, '-L' option creates a hard" \ - "link to the target of the symbolic link" + atf_set "descr" "Verify that when creating a hard link to a " \ + "symbolic link, '-L' option creates a hard" \ + "link to the target of the symbolic link" } L_flag_body() { - set_umask - atf_check touch A - atf_check ln -s A B - atf_check ln -L B C - stat_A=$(stat -f %i A) - stat_C=$(stat -f %i C) - atf_check_equal "$stat_A" "$stat_C" - atf_check -o inline:'B: symbolic link to A\n' file B + set_umask + atf_check touch A + atf_check ln -s A B + atf_check ln -L B C + stat_A=$(stat -f %i A) + stat_C=$(stat -f %i C) + atf_check_equal "$stat_A" "$stat_C" + atf_check -o inline:'Symbolic Link\n' stat -f %SHT B + atf_check -o inline:'A\n' readlink B } atf_test_case P_flag P_flag_head() { - atf_set "descr" "Verify that when creating a hard link to a " \ - "symbolic link, '-P' option creates a hard " \ - "link to the symbolic link itself" + atf_set "descr" "Verify that when creating a hard link to a " \ + "symbolic link, '-P' option creates a hard " \ + "link to the symbolic link itself" } P_flag_body() { - set_umask - atf_check touch A - atf_check ln -s A B - atf_check ln -P B C - stat_B=$(stat -f %i B) - stat_C=$(stat -f %i C) - atf_check_equal "$stat_B" "$stat_C" + set_umask + atf_check touch A + atf_check ln -s A B + atf_check ln -P B C + stat_B=$(stat -f %i B) + stat_C=$(stat -f %i C) + atf_check_equal "$stat_B" "$stat_C" } atf_test_case f_flag f_flag_head() { - atf_set "descr" "Verify that if the target file already exists, " \ - "'-f' option unlinks it so that link may occur" + atf_set "descr" "Verify that if the target file already exists, " \ + "'-f' option unlinks it so that link may occur" } f_flag_body() { - set_umask - atf_check touch A B - atf_check ln -f A B - stat_A=$(stat -f %i A) - stat_B=$(stat -f %i B) - atf_check_equal "$stat_A" "$stat_B" + set_umask + atf_check touch A B + atf_check ln -f A B + stat_A=$(stat -f %i A) + stat_B=$(stat -f %i B) + atf_check_equal "$stat_A" "$stat_B" } atf_test_case target_exists_hard target_exists_hard_head() { - atf_set "descr" "Verify whether creating a hard link fails if the " \ - "target file already exists" + atf_set "descr" "Verify whether creating a hard link fails if the " \ + "target file already exists" } target_exists_hard_body() { - atf_check touch A B - atf_check -s exit:1 -e inline:'ln: B: File exists\n' \ - ln A B + set_umask + atf_check touch A B + atf_check -s exit:1 -e inline:'ln: B: File exists\n' \ + ln A B } atf_test_case target_exists_symbolic target_exists_symbolic_head() { - atf_set "descr" "Verify whether creating a symbolic link fails if " \ - "the target file already exists" + atf_set "descr" "Verify whether creating a symbolic link fails if " \ + "the target file already exists" } target_exists_symbolic_body() { - atf_check touch A B - atf_check -s exit:1 -e inline:'ln: B: File exists\n' \ - ln -s A B + set_umask + atf_check touch A B + atf_check -s exit:1 -e inline:'ln: B: File exists\n' \ + ln -s A B } atf_test_case shf_flag_dir shf_flag_dir_head() { - atf_set "descr" "Verify that if the target directory is a symbolic " \ - "link, '-shf' option prevents following the link" + atf_set "descr" "Verify that if the target directory is a symbolic " \ + "link, '-shf' option prevents following the link" } shf_flag_dir_body() { - atf_check mkdir -m 0777 A B - atf_check ln -s A C - atf_check ln -shf B C - atf_check -o inline:'C: symbolic link to B\n' file C + atf_check mkdir -m 0777 A B + atf_check ln -s A C + atf_check ln -shf B C + atf_check -o inline:'Symbolic Link\n' stat -f %SHT C + atf_check -o inline:'B\n' readlink C } atf_test_case snf_flag_dir snf_flag_dir_head() { - atf_set "descr" "Verify that if the target directory is a symbolic " \ - "link, '-snf' option prevents following the link" + atf_set "descr" "Verify that if the target directory is a symbolic " \ + "link, '-snf' option prevents following the link" } snf_flag_dir_body() { - atf_check mkdir -m 0777 A B - atf_check ln -s A C - atf_check ln -snf B C - atf_check -o inline:'C: symbolic link to B\n' file C + atf_check mkdir -m 0777 A B + atf_check ln -s A C + atf_check ln -snf B C + atf_check -o inline:'Symbolic Link\n' stat -f %SHT C + atf_check -o inline:'B\n' readlink C } +atf_test_case sF_flag +sF_flag_head() +{ + atf_set "descr" "Verify that if the target file already exists " \ + "and is a directory, then '-sF' option removes " \ + "it so that the link may occur" +} + +sF_flag_body() +{ + atf_expect_fail "B isn't being unlinked (bug 219943)" + atf_check mkdir A B + atf_check ln -sF A B + atf_check -o inline:'Symbolic Link\n' stat -f %SHT B +} + atf_test_case sf_flag sf_flag_head() { - atf_set "descr" "Verify that if the target file already exists, " \ - "'-sf' option unlinks it and creates a symbolic link " \ - "to the source file" + atf_set "descr" "Verify that if the target file already exists, " \ + "'-sf' option unlinks it and creates a symbolic link " \ + "to the source file" } sf_flag_body() { - atf_check touch A B - atf_check ln -sf A B - atf_check -o inline:'B: symbolic link to A\n' file B + set_umask + atf_check touch A B + atf_check ln -sf A B + atf_check -o inline:'Symbolic Link\n' stat -f %SHT B + atf_check -o inline:'A\n' readlink B } atf_test_case s_flag s_flag_head() { - atf_set "descr" "Verify that '-s' option creates a symbolic link" + atf_set "descr" "Verify that '-s' option creates a symbolic link" } s_flag_body() { - set_umask - atf_check touch A - atf_check ln -s A B - atf_check -o inline:'B: symbolic link to A\n' file B + set_umask + atf_check touch A + atf_check ln -s A B + atf_check -o inline:'Symbolic Link\n' stat -f %SHT B + atf_check -o inline:'A\n' readlink B } atf_test_case s_flag_broken s_flag_broken_head() { - atf_set "descr" "Verify that if the source file does not exists, '-s' " \ - "option creates a broken symbolic link to the source file" + atf_set "descr" "Verify that if the source file does not exists, '-s' " \ + "option creates a broken symbolic link to the source file" } s_flag_broken_body() { - atf_check ln -s A B - atf_check -o inline:'B: broken symbolic link to A\n' file B + atf_check ln -s A B + atf_check -o inline:'Symbolic Link\n' stat -f %SHT B + atf_check -o inline:'A\n' readlink B } atf_test_case sw_flag sw_flag_head() { - atf_set "descr" "Verify that '-sw' option produces a warning if the " \ - "source of a symbolic link does not currently exist" + atf_set "descr" "Verify that '-sw' option produces a warning if the " \ + "source of a symbolic link does not currently exist" } sw_flag_body() { - atf_check -s exit:0 -e inline:'ln: warning: A: No such file or directory\n' \ - ln -sw A B - atf_check -o inline:'B: broken symbolic link to A\n' file B + atf_check -s exit:0 -e inline:'ln: warning: A: No such file or directory\n' \ + ln -sw A B + atf_check -o inline:'Symbolic Link\n' stat -f %SHT B + atf_check -o inline:'A\n' readlink B } atf_init_test_cases() { - atf_add_test_case L_flag - atf_add_test_case P_flag - atf_add_test_case f_flag - atf_add_test_case target_exists_hard - atf_add_test_case target_exists_symbolic - atf_add_test_case shf_flag_dir - atf_add_test_case snf_flag_dir - atf_add_test_case sf_flag - atf_add_test_case s_flag - atf_add_test_case s_flag_broken - atf_add_test_case sw_flag + atf_add_test_case L_flag + atf_add_test_case P_flag + atf_add_test_case f_flag + atf_add_test_case target_exists_hard + atf_add_test_case target_exists_symbolic + atf_add_test_case shf_flag_dir + atf_add_test_case snf_flag_dir + atf_add_test_case sF_flag + atf_add_test_case sf_flag + atf_add_test_case s_flag + atf_add_test_case s_flag_broken + atf_add_test_case sw_flag } Modified: user/alc/PQ_LAUNDRY/contrib/ipfilter/tools/ippool.c ============================================================================== --- user/alc/PQ_LAUNDRY/contrib/ipfilter/tools/ippool.c Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/contrib/ipfilter/tools/ippool.c Wed Jun 14 02:46:38 2017 (r319931) @@ -128,9 +128,6 @@ main(argc, argv) case 's' : err = poolstats(argc, argv); break; - case 'v' : - opts |= OPT_VERBOSE; - break; default : exit(1); } Modified: user/alc/PQ_LAUNDRY/contrib/llvm/tools/lld/ELF/ICF.cpp ============================================================================== --- user/alc/PQ_LAUNDRY/contrib/llvm/tools/lld/ELF/ICF.cpp Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/contrib/llvm/tools/lld/ELF/ICF.cpp Wed Jun 14 02:46:38 2017 (r319931) @@ -245,7 +245,6 @@ bool ICF<ELFT>::variableEq(const InputSection<ELFT> *A if (&SA == &SB) return true; - // Or, the two sections must be in the same equivalence class. auto *DA = dyn_cast<DefinedRegular<ELFT>>(&SA); auto *DB = dyn_cast<DefinedRegular<ELFT>>(&SB); if (!DA || !DB) @@ -253,6 +252,11 @@ bool ICF<ELFT>::variableEq(const InputSection<ELFT> *A if (DA->Value != DB->Value) return false; + // Either both symbols must be absolute... + if (!DA->Section || !DB->Section) + return !DA->Section && !DB->Section; + + // Or the two sections must be in the same equivalence class. auto *X = dyn_cast<InputSection<ELFT>>(DA->Section); auto *Y = dyn_cast<InputSection<ELFT>>(DB->Section); if (!X || !Y) Modified: user/alc/PQ_LAUNDRY/etc/mtree/BSD.tests.dist ============================================================================== --- user/alc/PQ_LAUNDRY/etc/mtree/BSD.tests.dist Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/etc/mtree/BSD.tests.dist Wed Jun 14 02:46:38 2017 (r319931) @@ -628,6 +628,8 @@ .. dirname .. + du + .. file2c .. getconf @@ -669,6 +671,8 @@ .. .. soelim + .. + stat .. tail .. Modified: user/alc/PQ_LAUNDRY/etc/rc.d/sendmail ============================================================================== --- user/alc/PQ_LAUNDRY/etc/rc.d/sendmail Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/etc/rc.d/sendmail Wed Jun 14 02:46:38 2017 (r319931) @@ -206,12 +206,14 @@ required_files= if checkyesno sendmail_submit_enable; then name="sendmail_submit" rcvar="sendmail_submit_enable" + _rc_restart_done=false run_rc_command "$1" fi if checkyesno sendmail_outbound_enable; then name="sendmail_outbound" rcvar="sendmail_outbound_enable" + _rc_restart_done=false run_rc_command "$1" fi @@ -219,4 +221,5 @@ name="sendmail_msp_queue" rcvar="sendmail_msp_queue_enable" pidfile="${sendmail_msp_queue_pidfile:-/var/spool/clientmqueue/sm-client.pid}" required_files="/etc/mail/submit.cf" +_rc_restart_done=false run_rc_command "$1" Modified: user/alc/PQ_LAUNDRY/lib/clang/libclang/Makefile ============================================================================== --- user/alc/PQ_LAUNDRY/lib/clang/libclang/Makefile Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/lib/clang/libclang/Makefile Wed Jun 14 02:46:38 2017 (r319931) @@ -127,6 +127,7 @@ SRCS_MIN+= Analysis/ReachableCode.cpp SRCS_MIN+= Analysis/ScanfFormatString.cpp SRCS_MIN+= Analysis/ThreadSafety.cpp SRCS_MIN+= Analysis/ThreadSafetyCommon.cpp +SRCS_MIN+= Analysis/ThreadSafetyLogical.cpp SRCS_MIN+= Analysis/ThreadSafetyTIL.cpp SRCS_MIN+= Analysis/UninitializedValues.cpp SRCS_MIN+= Basic/Attributes.cpp @@ -271,6 +272,8 @@ SRCS_MIN+= Frontend/Rewrite/FrontendActions.cpp SRCS_MIN+= Frontend/Rewrite/HTMLPrint.cpp SRCS_MIN+= Frontend/Rewrite/InclusionRewriter.cpp SRCS_MIN+= Frontend/Rewrite/RewriteMacros.cpp +SRCS_MIN+= Frontend/Rewrite/RewriteModernObjC.cpp +SRCS_MIN+= Frontend/Rewrite/RewriteObjC.cpp SRCS_MIN+= Frontend/Rewrite/RewriteTest.cpp SRCS_MIN+= Frontend/SerializedDiagnosticPrinter.cpp SRCS_MIN+= Frontend/SerializedDiagnosticReader.cpp Modified: user/alc/PQ_LAUNDRY/lib/clang/liblldb/Makefile ============================================================================== --- user/alc/PQ_LAUNDRY/lib/clang/liblldb/Makefile Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/lib/clang/liblldb/Makefile Wed Jun 14 02:46:38 2017 (r319931) @@ -31,6 +31,7 @@ SRCS+= API/SBEvent.cpp SRCS+= API/SBExecutionContext.cpp SRCS+= API/SBExpressionOptions.cpp SRCS+= API/SBFileSpec.cpp +SRCS+= API/SBFileSpecList.cpp SRCS+= API/SBFrame.cpp SRCS+= API/SBFunction.cpp SRCS+= API/SBHostOS.cpp @@ -41,6 +42,7 @@ SRCS+= API/SBLaunchInfo.cpp SRCS+= API/SBLineEntry.cpp SRCS+= API/SBListener.cpp SRCS+= API/SBMemoryRegionInfo.cpp +SRCS+= API/SBMemoryRegionInfoList.cpp SRCS+= API/SBModule.cpp SRCS+= API/SBModuleSpec.cpp SRCS+= API/SBPlatform.cpp @@ -69,6 +71,7 @@ SRCS+= API/SBTypeSummary.cpp SRCS+= API/SBUnixSignals.cpp SRCS+= API/SBValue.cpp SRCS+= API/SBValueList.cpp +SRCS+= API/SBVariablesOptions.cpp SRCS+= API/SBWatchpoint.cpp SRCS+= API/SystemInitializerFull.cpp SRCS+= Breakpoint/Breakpoint.cpp Modified: user/alc/PQ_LAUNDRY/lib/clang/libllvm/Makefile ============================================================================== --- user/alc/PQ_LAUNDRY/lib/clang/libllvm/Makefile Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/lib/clang/libllvm/Makefile Wed Jun 14 02:46:38 2017 (r319931) @@ -656,7 +656,7 @@ SRCS_MIN+= Support/Regex.cpp SRCS_MIN+= Support/SHA1.cpp SRCS_MIN+= Support/ScaledNumber.cpp SRCS_MIN+= Support/ScopedPrinter.cpp -SRCS_LDB+= Support/SearchForAddressOfSpecialSymbol.cpp +SRCS_MIN+= Support/SearchForAddressOfSpecialSymbol.cpp SRCS_MIN+= Support/Signals.cpp SRCS_MIN+= Support/SmallPtrSet.cpp SRCS_MIN+= Support/SmallVector.cpp @@ -1160,9 +1160,6 @@ SRCS_ALL+= ${SRCS_EXL} .endif .if ${MK_LLD} != "no" SRCS_ALL+= ${SRCS_LLD} -.endif -.if ${MK_LLDB} != "no" -SRCS_ALL+= ${SRCS_LDB} .endif .if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLDB} != "no" SRCS_ALL+= ${SRCS_XDB} Modified: user/alc/PQ_LAUNDRY/lib/libc/gen/getbsize.3 ============================================================================== --- user/alc/PQ_LAUNDRY/lib/libc/gen/getbsize.3 Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/lib/libc/gen/getbsize.3 Wed Jun 14 02:46:38 2017 (r319931) @@ -28,7 +28,7 @@ .\" @(#)getbsize.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd November 16, 2012 +.Dd June 11, 2017 .Dt GETBSIZE 3 .Os .Sh NAME @@ -67,7 +67,8 @@ Sizes less than 512 bytes are rounded up to 512 bytes, greater than 1 GB are rounded down to 1 GB. In each case .Fn getbsize -produces a warning message. +produces a warning message via +.Xr warnx 3 . .Pp The .Fn getbsize Modified: user/alc/PQ_LAUNDRY/lib/libc/sys/ptrace.2 ============================================================================== --- user/alc/PQ_LAUNDRY/lib/libc/sys/ptrace.2 Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/lib/libc/sys/ptrace.2 Wed Jun 14 02:46:38 2017 (r319931) @@ -2,7 +2,7 @@ .\" $NetBSD: ptrace.2,v 1.2 1995/02/27 12:35:37 cgd Exp $ .\" .\" This file is in the public domain. -.Dd August 29, 2016 +.Dd June 11, 2017 .Dt PTRACE 2 .Os .Sh NAME @@ -643,6 +643,26 @@ and .Fa data arguments are used the same as for .Dv PT_CONTINUE. +.It Dv PT_GET_SC_ARGS +For the thread which is stopped in either +.Dv PL_FLAG_SCE +or +.Dv PL_FLAG_SCX +state, that is, on entry or exit to a syscall, +this request fetches the syscall arguments. +.Pp +The arguments are copied out into the buffer pointed to by the +.Fa addr +pointer, sequentially. +Each syscall argument is stored as the machine word. +Kernel copies out as many arguments as the syscall accepts, +see the +.Va pl_syscall_narg +member of the +.Vt struct ptrace_lwpinfo , +but not more than the +.Fa data +bytes in total are copied. .It Dv PT_FOLLOW_FORK This request controls tracing for new child processes of a traced process. If Modified: user/alc/PQ_LAUNDRY/lib/libcam/tests/libcam_test.c ============================================================================== --- user/alc/PQ_LAUNDRY/lib/libcam/tests/libcam_test.c Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/lib/libcam/tests/libcam_test.c Wed Jun 14 02:46:38 2017 (r319931) @@ -58,6 +58,75 @@ cam_has_error(void) return (strlen(cam_errbuf) != 0); } +ATF_TC_WITHOUT_HEAD(cam_get_device_negative_test_NULL_path); +ATF_TC_BODY(cam_get_device_negative_test_NULL_path, tc) +{ + char parsed_dev_name[DEV_IDLEN + 1]; + int parsed_unit; + + ATF_REQUIRE_MSG(cam_get_device(NULL, parsed_dev_name, + nitems(parsed_dev_name), &parsed_unit) == -1, + "cam_get_device succeeded unexpectedly"); +} + +ATF_TC_WITHOUT_HEAD(cam_get_device_negative_test_bad_path); +ATF_TC_BODY(cam_get_device_negative_test_bad_path, tc) +{ + char parsed_dev_name[DEV_IDLEN + 1]; + int parsed_unit; + + ATF_REQUIRE_MSG(cam_get_device("1ada", parsed_dev_name, + nitems(parsed_dev_name), &parsed_unit) == -1, + "cam_get_device succeeded unexpectedly"); +} + +ATF_TC_WITHOUT_HEAD(cam_get_device_negative_test_nul_path); +ATF_TC_BODY(cam_get_device_negative_test_nul_path, tc) +{ + char parsed_dev_name[DEV_IDLEN + 1]; + int parsed_unit; + + ATF_REQUIRE_MSG(cam_get_device("", parsed_dev_name, + nitems(parsed_dev_name), &parsed_unit) == -1, + "cam_get_device succeeded unexpectedly"); +} + +ATF_TC_WITHOUT_HEAD(cam_get_device_negative_test_root); +ATF_TC_BODY(cam_get_device_negative_test_root, tc) +{ + char parsed_dev_name[DEV_IDLEN + 1]; + int parsed_unit; + + ATF_REQUIRE_MSG(cam_get_device("/", parsed_dev_name, + nitems(parsed_dev_name), &parsed_unit) == -1, + "cam_get_device succeeded unexpectedly"); +} + +ATF_TC_WITHOUT_HEAD(cam_get_device_positive_test); +ATF_TC_BODY(cam_get_device_positive_test, tc) +{ + char expected_dev_name[] = "foo"; + char parsed_dev_name[DEV_IDLEN + 1]; + int expected_unit, parsed_unit; + + expected_unit = 1; + + ATF_REQUIRE_MSG(cam_get_device("/dev/foo1", parsed_dev_name, + nitems(parsed_dev_name), &parsed_unit) == 0, + "cam_get_device failed"); + ATF_REQUIRE_STREQ(parsed_dev_name, expected_dev_name); + ATF_REQUIRE(parsed_unit == expected_unit); + + strcpy(parsed_dev_name, ""); + parsed_unit = -1; + + ATF_REQUIRE_MSG(cam_get_device("foo1", parsed_dev_name, + nitems(parsed_dev_name), &parsed_unit) == 0, + "cam_get_device failed"); + ATF_REQUIRE_STREQ(parsed_dev_name, expected_dev_name); + ATF_REQUIRE(parsed_unit == expected_unit); +} + ATF_TC(cam_open_device_negative_test_O_RDONLY); ATF_TC_HEAD(cam_open_device_negative_test_O_RDONLY, tc) { @@ -206,6 +275,11 @@ ATF_TC_BODY(cam_freeccb_negative_test_NULL, tc) ATF_TP_ADD_TCS(tp) { + ATF_TP_ADD_TC(tp, cam_get_device_negative_test_NULL_path); + ATF_TP_ADD_TC(tp, cam_get_device_negative_test_bad_path); + ATF_TP_ADD_TC(tp, cam_get_device_negative_test_nul_path); + ATF_TP_ADD_TC(tp, cam_get_device_negative_test_root); + ATF_TP_ADD_TC(tp, cam_get_device_positive_test); ATF_TP_ADD_TC(tp, cam_open_device_negative_test_O_RDONLY); ATF_TP_ADD_TC(tp, cam_open_device_negative_test_nonexistent); ATF_TP_ADD_TC(tp, cam_open_device_negative_test_unprivileged); Modified: user/alc/PQ_LAUNDRY/sbin/ipfw/dummynet.c ============================================================================== --- user/alc/PQ_LAUNDRY/sbin/ipfw/dummynet.c Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/sbin/ipfw/dummynet.c Wed Jun 14 02:46:38 2017 (r319931) @@ -805,8 +805,7 @@ read_bandwidth(char *arg, int *bandwidth, char *if_nam warn("interface name truncated"); namelen--; /* interface name */ - strncpy(if_name, arg, namelen); - if_name[namelen] = '\0'; + strlcpy(if_name, arg, namelen); *bandwidth = 0; } else { /* read bandwidth value */ int bw; @@ -933,8 +932,7 @@ load_extra_delays(const char *filename, struct dn_prof } else if (!strcasecmp(name, ED_TOK_NAME)) { if (profile_name[0] != '\0') errx(ED_EFMT("duplicated token: %s"), name); - strncpy(profile_name, arg, sizeof(profile_name) - 1); - profile_name[sizeof(profile_name)-1] = '\0'; + strlcpy(profile_name, arg, sizeof(profile_name)); do_points = 0; } else if (!strcasecmp(name, ED_TOK_DELAY)) { if (do_points) @@ -1005,7 +1003,7 @@ load_extra_delays(const char *filename, struct dn_prof } p->samples_no = samples; p->loss_level = loss * samples; - strncpy(p->name, profile_name, sizeof(p->name)); + strlcpy(p->name, profile_name, sizeof(p->name)); } #ifdef NEW_AQM @@ -1568,7 +1566,8 @@ end_mask: fs->flags &= ~(DN_IS_RED|DN_IS_GENTLE_RED); fs->flags |= DN_IS_AQM; - strcpy(aqm_extra->name,av[-1]); + strlcpy(aqm_extra->name, av[-1], + sizeof(aqm_extra->name)); aqm_extra->oid.subtype = DN_AQM_PARAMS; process_extra_parms(&ac, av, aqm_extra, tok); @@ -1580,7 +1579,8 @@ end_mask: errx(EX_DATAERR, "use type before fq_codel/fq_pie"); NEED(sch, "fq_codel/fq_pie is only for schd"); - strcpy(sch_extra->name,av[-1]); + strlcpy(sch_extra->name, av[-1], + sizeof(sch_extra->name)); sch_extra->oid.subtype = DN_SCH_PARAMS; process_extra_parms(&ac, av, sch_extra, tok); break; @@ -1649,14 +1649,15 @@ end_mask: l = strlen(av[0]); if (l == 0 || l > 15) errx(1, "type %s too long\n", av[0]); - strcpy(sch->name, av[0]); + strlcpy(sch->name, av[0], sizeof(sch->name)); sch->oid.subtype = 0; /* use string */ #ifdef NEW_AQM /* if fq_codel is selected, consider all tokens after it * as parameters */ if (!strcasecmp(av[0],"fq_codel") || !strcasecmp(av[0],"fq_pie")){ - strcpy(sch_extra->name,av[0]); + strlcpy(sch_extra->name, av[0], + sizeof(sch_extra->name)); sch_extra->oid.subtype = DN_SCH_PARAMS; process_extra_parms(&ac, av, sch_extra, tok); } else { Modified: user/alc/PQ_LAUNDRY/share/misc/committers-src.dot ============================================================================== --- user/alc/PQ_LAUNDRY/share/misc/committers-src.dot Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/share/misc/committers-src.dot Wed Jun 14 02:46:38 2017 (r319931) @@ -276,6 +276,7 @@ rdivacky [label="Roman Divacky\nrdivacky@FreeBSD.org\n remko [label="Remko Lodder\nremko@FreeBSD.org\n2007/02/23"] rgrimes [label="Rodney W. Grimes\nrgrimes@FreeBSD.org\n1993/06/12\n2017/03/03"] rik [label="Roman Kurakin\nrik@FreeBSD.org\n2003/12/18"] +rlibby [label="Ryan Libby\nrlibby@FreeBSD.org\n2017/06/07"] rmacklem [label="Rick Macklem\nrmacklem@FreeBSD.org\n2009/03/27"] rmh [label="Robert Millan\nrmh@FreeBSD.org\n2011/09/18"] rnoland [label="Robert Noland\nrnoland@FreeBSD.org\n2008/09/15"] @@ -635,6 +636,7 @@ marcel -> nwhitehorn marcel -> sjg markj -> cem +markj -> rlibby markm -> jasone markm -> sheldonh Modified: user/alc/PQ_LAUNDRY/share/mk/local.sys.mk ============================================================================== --- user/alc/PQ_LAUNDRY/share/mk/local.sys.mk Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/share/mk/local.sys.mk Wed Jun 14 02:46:38 2017 (r319931) @@ -13,7 +13,9 @@ MAKE_PRINT_VAR_ON_ERROR += \ .MAKE.MODE .endif +_ERROR_CMD=${sed -n '/^CMD/s,^CMD ,,p' ${.ERROR_META_FILE}:L:sh} MAKE_PRINT_VAR_ON_ERROR+= \ + _ERROR_CMD \ .CURDIR \ .MAKE \ .OBJDIR \ Modified: user/alc/PQ_LAUNDRY/share/mk/sys.mk ============================================================================== --- user/alc/PQ_LAUNDRY/share/mk/sys.mk Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/share/mk/sys.mk Wed Jun 14 02:46:38 2017 (r319931) @@ -59,7 +59,7 @@ META_MODE+= missing-meta=yes .if !defined(NO_SILENT) META_MODE+= silent=yes .endif -.if !exists(/dev/filemon) +.if !exists(/dev/filemon) || defined(NO_FILEMON) META_MODE+= nofilemon .endif # Require filemon data with bmake Modified: user/alc/PQ_LAUNDRY/sys/amd64/amd64/trap.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/amd64/amd64/trap.c Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/sys/amd64/amd64/trap.c Wed Jun 14 02:46:38 2017 (r319931) @@ -829,16 +829,18 @@ dblfault_handler(struct trapframe *frame) } int -cpu_fetch_syscall_args(struct thread *td, struct syscall_args *sa) +cpu_fetch_syscall_args(struct thread *td) { struct proc *p; struct trapframe *frame; register_t *argp; + struct syscall_args *sa; caddr_t params; int reg, regcnt, error; p = td->td_proc; frame = td->td_frame; + sa = &td->td_sa; reg = 0; regcnt = 6; @@ -889,7 +891,6 @@ cpu_fetch_syscall_args(struct thread *td, struct sysca void amd64_syscall(struct thread *td, int traced) { - struct syscall_args sa; int error; ksiginfo_t ksi; @@ -899,7 +900,7 @@ amd64_syscall(struct thread *td, int traced) /* NOT REACHED */ } #endif - error = syscallenter(td, &sa); + error = syscallenter(td); /* * Traced syscall. @@ -915,15 +916,16 @@ amd64_syscall(struct thread *td, int traced) KASSERT(PCB_USER_FPU(td->td_pcb), ("System call %s returning with kernel FPU ctx leaked", - syscallname(td->td_proc, sa.code))); + syscallname(td->td_proc, td->td_sa.code))); KASSERT(td->td_pcb->pcb_save == get_pcb_user_save_td(td), ("System call %s returning with mangled pcb_save", - syscallname(td->td_proc, sa.code))); + syscallname(td->td_proc, td->td_sa.code))); KASSERT(td->td_md.md_invl_gen.gen == 0, ("System call %s returning with leaked invl_gen %lu", - syscallname(td->td_proc, sa.code), td->td_md.md_invl_gen.gen)); + syscallname(td->td_proc, td->td_sa.code), + td->td_md.md_invl_gen.gen)); - syscallret(td, error, &sa); + syscallret(td, error); /* * If the user-supplied value of %rip is not a canonical Modified: user/alc/PQ_LAUNDRY/sys/amd64/cloudabi32/cloudabi32_sysvec.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/amd64/cloudabi32/cloudabi32_sysvec.c Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/sys/amd64/cloudabi32/cloudabi32_sysvec.c Wed Jun 14 02:46:38 2017 (r319931) @@ -90,10 +90,14 @@ cloudabi32_proc_setregs(struct thread *td, struct imag } static int -cloudabi32_fetch_syscall_args(struct thread *td, struct syscall_args *sa) +cloudabi32_fetch_syscall_args(struct thread *td) { - struct trapframe *frame = td->td_frame; + struct trapframe *frame; + struct syscall_args *sa; int error; + + frame = td->td_frame; + sa = &td->td_sa; /* Obtain system call number. */ sa->code = frame->tf_rax; Modified: user/alc/PQ_LAUNDRY/sys/amd64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/amd64/cloudabi64/cloudabi64_sysvec.c Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/sys/amd64/cloudabi64/cloudabi64_sysvec.c Wed Jun 14 02:46:38 2017 (r319931) @@ -87,9 +87,13 @@ cloudabi64_proc_setregs(struct thread *td, struct imag } static int -cloudabi64_fetch_syscall_args(struct thread *td, struct syscall_args *sa) +cloudabi64_fetch_syscall_args(struct thread *td) { - struct trapframe *frame = td->td_frame; + struct trapframe *frame; + struct syscall_args *sa; + + frame = td->td_frame; + sa = &td->td_sa; /* Obtain system call number. */ sa->code = frame->tf_rax; Modified: user/alc/PQ_LAUNDRY/sys/amd64/ia32/ia32_syscall.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/amd64/ia32/ia32_syscall.c Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/sys/amd64/ia32/ia32_syscall.c Wed Jun 14 02:46:38 2017 (r319931) @@ -105,16 +105,18 @@ ia32_set_syscall_retval(struct thread *td, int error) } int -ia32_fetch_syscall_args(struct thread *td, struct syscall_args *sa) +ia32_fetch_syscall_args(struct thread *td) { struct proc *p; struct trapframe *frame; + struct syscall_args *sa; caddr_t params; u_int32_t args[8], tmp; int error, i; p = td->td_proc; frame = td->td_frame; + sa = &td->td_sa; params = (caddr_t)frame->tf_rsp + sizeof(u_int32_t); sa->code = frame->tf_rax; @@ -175,7 +177,6 @@ void ia32_syscall(struct trapframe *frame) { struct thread *td; - struct syscall_args sa; register_t orig_tf_rflags; int error; ksiginfo_t ksi; @@ -184,7 +185,7 @@ ia32_syscall(struct trapframe *frame) td = curthread; td->td_frame = frame; - error = syscallenter(td, &sa); + error = syscallenter(td); /* * Traced syscall. @@ -198,7 +199,7 @@ ia32_syscall(struct trapframe *frame) trapsignal(td, &ksi); } - syscallret(td, error, &sa); + syscallret(td, error); } static void Modified: user/alc/PQ_LAUNDRY/sys/amd64/include/proc.h ============================================================================== --- user/alc/PQ_LAUNDRY/sys/amd64/include/proc.h Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/sys/amd64/include/proc.h Wed Jun 14 02:46:38 2017 (r319931) @@ -70,6 +70,13 @@ struct mdproc { #define KINFO_PROC_SIZE 1088 #define KINFO_PROC32_SIZE 768 +struct syscall_args { + u_int code; + struct sysent *callp; + register_t args[8]; + int narg; +}; + #ifdef _KERNEL /* Get the current kernel thread stack usage. */ @@ -92,13 +99,6 @@ int amd64_set_ldt_data(struct thread *td, int start, i extern struct mtx dt_lock; extern int max_ldt_segment; - -struct syscall_args { - u_int code; - struct sysent *callp; - register_t args[8]; - int narg; -}; #endif /* _KERNEL */ #endif /* !_MACHINE_PROC_H_ */ Modified: user/alc/PQ_LAUNDRY/sys/amd64/linux/linux_sysvec.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/amd64/linux/linux_sysvec.c Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/sys/amd64/linux/linux_sysvec.c Wed Jun 14 02:46:38 2017 (r319931) @@ -126,7 +126,7 @@ static boolean_t linux_trans_osrel(const Elf_Note *not static void linux_vdso_install(void *param); static void linux_vdso_deinstall(void *param); static void linux_set_syscall_retval(struct thread *td, int error); -static int linux_fetch_syscall_args(struct thread *td, struct syscall_args *sa); +static int linux_fetch_syscall_args(struct thread *td); static void linux_exec_setregs(struct thread *td, struct image_params *imgp, u_long stack); static int linux_vsyscall(struct thread *td); @@ -217,13 +217,15 @@ translate_traps(int signal, int trap_code) } static int -linux_fetch_syscall_args(struct thread *td, struct syscall_args *sa) +linux_fetch_syscall_args(struct thread *td) { struct proc *p; struct trapframe *frame; + struct syscall_args *sa; p = td->td_proc; frame = td->td_frame; + sa = &td->td_sa; sa->args[0] = frame->tf_rdi; sa->args[1] = frame->tf_rsi; Modified: user/alc/PQ_LAUNDRY/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/amd64/linux32/linux32_sysvec.c Wed Jun 14 02:42:38 2017 (r319930) +++ user/alc/PQ_LAUNDRY/sys/amd64/linux32/linux32_sysvec.c Wed Jun 14 02:46:38 2017 (r319931) @@ -725,13 +725,15 @@ linux_rt_sigreturn(struct thread *td, struct linux_rt_ } *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706140246.v5E2kckd028506>