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...
Alan Cox
alc at FreeBSD.org
Wed Jun 14 02:46:42 UTC 2017
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 at FreeBSD.org\n
remko [label="Remko Lodder\nremko at FreeBSD.org\n2007/02/23"]
rgrimes [label="Rodney W. Grimes\nrgrimes at FreeBSD.org\n1993/06/12\n2017/03/03"]
rik [label="Roman Kurakin\nrik at FreeBSD.org\n2003/12/18"]
+rlibby [label="Ryan Libby\nrlibby at FreeBSD.org\n2017/06/07"]
rmacklem [label="Rick Macklem\nrmacklem at FreeBSD.org\n2009/03/27"]
rmh [label="Robert Millan\nrmh at FreeBSD.org\n2011/09/18"]
rnoland [label="Robert Noland\nrnoland at 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 ***
More information about the svn-src-user
mailing list