MFH r289384-r293170
Sponsored by: The FreeBSD Foundation
This commit is contained in:
commit
b626f5a73a
@ -4,7 +4,7 @@
|
||||
The compilation of software known as FreeBSD is distributed under the
|
||||
following terms:
|
||||
|
||||
Copyright (c) 1992-2015 The FreeBSD Project. All rights reserved.
|
||||
Copyright (c) 1992-2016 The FreeBSD Project. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
|
171
MAINTAINERS
171
MAINTAINERS
@ -18,116 +18,87 @@ However, this is not a 'big stick', it is an offer to help and a source
|
||||
of guidance. It does not override the communal nature of the tree.
|
||||
It is not a registry of 'turf' or private property.
|
||||
|
||||
***
|
||||
This list is prone to becoming stale quickly. The best way to find the recent
|
||||
maintainer of a sub-system is to check recent logs for that directory or
|
||||
sub-system.
|
||||
***
|
||||
|
||||
***
|
||||
Maintainers are encouraged to visit:
|
||||
https://reviews.freebsd.org/herald
|
||||
|
||||
and configure notifications for parts of the tree which they maintain.
|
||||
Notifications can automatically be sent when someone proposes a revision or
|
||||
makes a commit to the specified subtree.
|
||||
***
|
||||
|
||||
subsystem login notes
|
||||
-----------------------------
|
||||
kqueue jmg Pre-commit review requested. Documentation Required.
|
||||
libc/posix1e rwatson Pre-commit review requested.
|
||||
POSIX.1e ACLs rwatson Pre-commit review requested.
|
||||
UFS EAs rwatson Pre-commit review requested.
|
||||
MAC Framework rwatson Pre-commit review requested.
|
||||
MAC Modules rwatson Pre-commit review requested.
|
||||
contrib/openbsm rwatson Pre-commit review requested.
|
||||
sys/security/audit rwatson Pre-commit review requested.
|
||||
atf freebsd-testing,jmmv,ngie Pre-commit review requested.
|
||||
ath(4) adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org
|
||||
ahc(4) gibbs Pre-commit review requested.
|
||||
ahd(4) gibbs Pre-commit review requested.
|
||||
PC Card imp Pre-commit review requested.
|
||||
CardBus imp Pre-commit review requested.
|
||||
pci bus imp,jhb Pre-commit review requested.
|
||||
cdboot jhb Pre-commit review requested.
|
||||
pxeboot jhb Pre-commit review requested.
|
||||
witness jhb Pre-commit review requested.
|
||||
CAM gibbs,
|
||||
ken Pre-commit review requested. send to scsi@freebsd.org
|
||||
devstat(9) ken Pre-commit review requested.
|
||||
camcontrol(8) ken Pre-commit review requested.
|
||||
libcam ken Pre-commit review requested.
|
||||
libdevstat ken Pre-commit review requested.
|
||||
iostat(8) ken Pre-commit review requested.
|
||||
cd(4) ken Pre-commit review requested.
|
||||
pass(4) ken Pre-commit review requested.
|
||||
ch(4) ken Pre-commit review requested.
|
||||
em(4) jfv Pre-commit review requested.
|
||||
sendmail gshapiro Pre-commit review requested.
|
||||
etc/mail gshapiro Pre-commit review requested.
|
||||
Keep in sync with -STABLE.
|
||||
etc/sendmail gshapiro Pre-commit review requested.
|
||||
Keep in sync with -STABLE.
|
||||
libfetch des Advance notification requested.
|
||||
fetch des Advance notification requested.
|
||||
callout_*(9) rrs Pre-commit review requested -- becareful its tricksy code :o.
|
||||
contrib/compiler-rt dim Pre-commit review preferred.
|
||||
contrib/libc++ dim Pre-commit review preferred.
|
||||
contrib/libcxxrt dim Pre-commit review preferred.
|
||||
contrib/llvm dim Pre-commit review preferred.
|
||||
contrib/llvm/tools/lldb emaste Pre-commit review preferred.
|
||||
contrib/netbsd-tests freebsd-testing,ngie Pre-commit review requested.
|
||||
contrib/pjdfstest freebsd-testing,ngie,pjd Pre-commit review requested.
|
||||
dev/usb/wlan adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org
|
||||
*env(3) secteam Due to the problematic security history of this
|
||||
code, please have patches reviewed by secteam.
|
||||
etc/mail gshapiro Pre-commit review requested. Keep in sync with -STABLE.
|
||||
etc/sendmail gshapiro Pre-commit review requested. Keep in sync with -STABLE.
|
||||
fetch des Pre-commit review requested.
|
||||
geli pjd Pre-commit review requested (both sys/geom/eli/ and sbin/geom/class/eli/).
|
||||
isci(4) jimharris Pre-commit review requested.
|
||||
iwm(4) adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org
|
||||
iwn(4) adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org
|
||||
kqueue jmg Pre-commit review requested. Documentation Required.
|
||||
libdpv dteske Pre-commit review requested. Keep in sync with dpv(1).
|
||||
libfetch des Pre-commit review requested.
|
||||
libfigpar dteske Pre-commit review requested.
|
||||
libpam des Pre-commit review requested.
|
||||
openssh des Pre-commit review requested.
|
||||
pseudofs des Pre-commit review requested.
|
||||
procfs des Pre-commit review requested.
|
||||
linprocfs des Pre-commit review requested.
|
||||
lpr gad Pre-commit review requested, particularly for
|
||||
lpd/recvjob.c and lpd/printjob.c.
|
||||
nanobsd imp Pre-commit phabricator review requested.
|
||||
net80211 adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org
|
||||
nvi peter Try not to break it.
|
||||
libz peter Try not to break it.
|
||||
groff ru Recommends pre-commit review.
|
||||
share/mk ru This is a vital component of the build system, so I
|
||||
offer a pre-commit review for anything non-trivial.
|
||||
ipfw ipfw Pre-commit review preferred. send to ipfw@freebsd.org
|
||||
drm rnoland Just keep me informed of changes, try not to break it.
|
||||
unifdef(1) fanf Pre-commit review requested.
|
||||
ntp roberto Pre-commit review requested.
|
||||
inetd dwmalone Recommends pre-commit review.
|
||||
contrib/smbfs bp Open for in-tree committs. In case of functional
|
||||
changes pre-commit review requested.
|
||||
contrib/pf glebius Pre-commit review recommended.
|
||||
file obrien Insists to keep file blocked from other's unapproved
|
||||
commits
|
||||
contrib/bzip2 obrien Pre-commit review required.
|
||||
contrib/netbsd-tests freebsd-testing,ngie Pre-commit review requested.
|
||||
contrib/pjdfstest freebsd-testing,ngie Pre-commit review requested.
|
||||
geom_concat pjd Pre-commit review preferred.
|
||||
geom_eli pjd Pre-commit review preferred.
|
||||
geom_gate pjd Pre-commit review preferred.
|
||||
geom_label pjd Pre-commit review preferred.
|
||||
geom_mirror pjd Pre-commit review preferred.
|
||||
geom_nop pjd Pre-commit review preferred.
|
||||
geom_raid3 pjd Pre-commit review preferred.
|
||||
geom_shsec pjd Pre-commit review preferred.
|
||||
geom_stripe pjd Pre-commit review preferred.
|
||||
geom_zero pjd Pre-commit review preferred.
|
||||
sbin/geom pjd Pre-commit review preferred.
|
||||
zfs pjd Pre-commit review preferred.
|
||||
nfs alfred Will be happy to review code, but not mandatory.
|
||||
rpc.lockd alfred Will be happy to review code, but not mandatory.
|
||||
truss alfred Will be happy to review code, but not mandatory.
|
||||
rpc alfred Pre-commit review requested.
|
||||
linux emul emulation Please discuss changes here.
|
||||
bs{diff,patch} cperciva Pre-commit review requested.
|
||||
portsnap cperciva Pre-commit review requested.
|
||||
freebsd-update cperciva Pre-commit review requested.
|
||||
nfs freebsd-fs@FreeBSD.org, rmacklem is best for reviews.
|
||||
nis(8), yp(8) araujo Pre-commit review requested.
|
||||
nvd(4) jimharris Pre-commit review requested.
|
||||
nvme(4) jimharris Pre-commit review requested.
|
||||
nvmecontrol(8) jimharris Pre-commit review requested.
|
||||
opencrypto jmg Pre-commit review requested. Documentation Required.
|
||||
openssh des Pre-commit review requested.
|
||||
openssl benl,jkim Pre-commit review requested.
|
||||
sys/netgraph/bluetooth emax Pre-commit review preferred.
|
||||
lib/libbluetooth emax Pre-commit review preferred.
|
||||
lib/libsdp emax Pre-commit review preferred.
|
||||
usr.bin/bluetooth emax Pre-commit review preferred.
|
||||
usr.sbin/bluetooth emax Pre-commit review preferred.
|
||||
*env(3) secteam Due to the problematic security history of this
|
||||
code, please have patches reviewed by secteam.
|
||||
share/zoneinfo edwin Heads-up appreciated, since our data is coming
|
||||
from a third party source.
|
||||
usr.sbin/zic edwin Heads-up appreciated, since this code is
|
||||
maintained by a third party source.
|
||||
lib/libc/stdtime edwin Heads-up appreciated, since parts of this code
|
||||
is maintained by a third party source.
|
||||
sbin/routed bms Pre-commit review; notify vendor at rhyolite.com
|
||||
isci(4) jimharris Pre-commit review requested.
|
||||
cmx daniel@roe.ch Pre-commit review preferred.
|
||||
filemon obrien Pre-commit review preferred.
|
||||
sysdoc trhodes Pre-commit review preferred.
|
||||
otus(4) adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org
|
||||
pci bus imp,jhb Pre-commit review requested.
|
||||
pmcstudy(8) rrs Pre-commit review requested.
|
||||
procfs des Pre-commit review requested.
|
||||
pseudofs des Pre-commit review requested.
|
||||
release/release.sh gjb,re Pre-commit review and regression tests
|
||||
requested.
|
||||
sctp rrs,tuexen Pre-commit review requested (changes need to be backported to github).
|
||||
sendmail gshapiro Pre-commit review requested.
|
||||
sh(1) jilles Pre-commit review requested. This also applies
|
||||
to kill(1), printf(1) and test(1) which are
|
||||
compiled in as builtins.
|
||||
nvme(4) jimharris Pre-commit review requested.
|
||||
nvd(4) jimharris Pre-commit review requested.
|
||||
nvmecontrol(8) jimharris Pre-commit review requested.
|
||||
release/release.sh gjb Pre-commit review and regression tests
|
||||
requested.
|
||||
nanobsd imp Pre-commit review requested for coordination.
|
||||
share/mk imp, bapt, bdrewery, emaste, sjg Make is hard.
|
||||
share/mk/*.test.mk freebsd-testing,ngie (same list as share/mk too) Pre-commit review requested.
|
||||
sys/boot/forth dteske Pre-commit review requested.
|
||||
sys/compat/linuxkpi hselasky If in doubt, ask.
|
||||
sys/dev/e1000 erj Pre-commit phabricator review requested.
|
||||
sys/dev/ixgbe erj Pre-commit phabricator review requested.
|
||||
sys/dev/ixl erj Pre-commit phabricator review requested.
|
||||
sys/dev/sound/usb hselasky If in doubt, ask.
|
||||
sys/dev/usb hselasky If in doubt, ask.
|
||||
sys/netinet/ip_carp.c glebius Pre-commit review recommended.
|
||||
sys/netpfil/pf kp,glebius Pre-commit review recommended.
|
||||
tests freebsd-testing,ngie Pre-commit review requested.
|
||||
usr.sbin/bsdconfig dteske Pre-commit phabricator review requested.
|
||||
usr.sbin/dpv dteske Pre-commit review requested. Keep in sync with libdpv.
|
||||
usr.sbin/pkg pkg@ Please coordinate behavior or flag changes with pkg team.
|
||||
usr.sbin/sysrc dteske Pre-commit phabricator review requested. Keep in sync with bsdconfig(8) sysrc.subr.
|
||||
vmm(4) neel,grehan Pre-commit review requested.
|
||||
opencrypto jmg Pre-commit review requested. Documentation Required.
|
||||
|
80
Makefile
80
Makefile
@ -57,8 +57,8 @@
|
||||
# Makefile.inc1. The exceptions are universe, tinderbox and targets.
|
||||
#
|
||||
# If you want to build your system from source be sure that /usr/obj has
|
||||
# at least 1GB of diskspace available. A complete 'universe' build requires
|
||||
# about 15GB of space.
|
||||
# at least 6GB of diskspace available. A complete 'universe' build requires
|
||||
# about 100GB of space.
|
||||
#
|
||||
# For individuals wanting to build from the sources currently on their
|
||||
# system, the simple instructions are:
|
||||
@ -100,16 +100,20 @@
|
||||
# For more information, see the build(7) manual page.
|
||||
#
|
||||
|
||||
# This is included so CC is set to ccache for -V, and COMPILER_TYPE/VERSION
|
||||
# can be cached for sub-makes.
|
||||
.include <bsd.compiler.mk>
|
||||
|
||||
# Note: we use this awkward construct to be compatible with FreeBSD's
|
||||
# old make used in 10.0 and 9.2 and earlier.
|
||||
.if defined(MK_META_MODE) && ${MK_META_MODE} == "yes" && !make(showconfig)
|
||||
.if defined(MK_DIRDEPS_BUILD) && ${MK_DIRDEPS_BUILD} == "yes" && !make(showconfig)
|
||||
# targets/Makefile plays the role of top-level
|
||||
.include "targets/Makefile"
|
||||
.else
|
||||
|
||||
TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
|
||||
check-old check-old-dirs check-old-files check-old-libs \
|
||||
checkdpadd clean cleandepend cleandir \
|
||||
checkdpadd clean cleandepend cleandir cleanworld \
|
||||
delete-old delete-old-dirs delete-old-files delete-old-libs \
|
||||
depend distribute distributekernel distributekernel.debug \
|
||||
distributeworld distrib-dirs distribution doxygen \
|
||||
@ -177,7 +181,7 @@ _MAKE= PATH=${PATH} ${SUB_MAKE} -f Makefile.inc1 TARGET=${_TARGET} TARGET_ARCH=$
|
||||
_TARGET_ARCH= ${TARGET:S/pc98/i386/:S/arm64/aarch64/}
|
||||
.elif !defined(TARGET) && defined(TARGET_ARCH) && \
|
||||
${TARGET_ARCH} != ${MACHINE_ARCH}
|
||||
_TARGET= ${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb|hf)?/arm/:C/aarch64/arm64/:C/powerpc64/powerpc/}
|
||||
_TARGET= ${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb|hf)?/arm/:C/aarch64/arm64/:C/powerpc64/powerpc/:C/riscv64/riscv/}
|
||||
.endif
|
||||
.if defined(TARGET) && !defined(_TARGET)
|
||||
_TARGET=${TARGET}
|
||||
@ -208,50 +212,12 @@ ${TGTS}: upgrade_checks
|
||||
buildworld: upgrade_checks
|
||||
.endif
|
||||
|
||||
#
|
||||
# This 'cleanworld' target is not included in TGTS, because it is not a
|
||||
# recursive target. All of the work for it is done right here. It is
|
||||
# expected that BW_CANONICALOBJDIR == the CANONICALOBJDIR as would be
|
||||
# created by bsd.obj.mk, except that we don't want to .include that file
|
||||
# in this makefile.
|
||||
#
|
||||
# In the following, the first 'rm' in a series will usually remove all
|
||||
# files and directories. If it does not, then there are probably some
|
||||
# files with file flags set, so this unsets them and tries the 'rm' a
|
||||
# second time. There are situations where this target will be cleaning
|
||||
# some directories via more than one method, but that duplication is
|
||||
# needed to correctly handle all the possible situations. Removing all
|
||||
# files without file flags set in the first 'rm' instance saves time,
|
||||
# because 'chflags' will need to operate on fewer files afterwards.
|
||||
#
|
||||
BW_CANONICALOBJDIR:=${MAKEOBJDIRPREFIX}${.CURDIR}
|
||||
cleanworld:
|
||||
.if ${.CURDIR} == ${.OBJDIR} || ${.CURDIR}/obj == ${.OBJDIR}
|
||||
.if exists(${BW_CANONICALOBJDIR}/)
|
||||
-rm -rf ${BW_CANONICALOBJDIR}/*
|
||||
-chflags -R 0 ${BW_CANONICALOBJDIR}
|
||||
rm -rf ${BW_CANONICALOBJDIR}/*
|
||||
.endif
|
||||
# To be safe in this case, fall back to a 'make cleandir'
|
||||
${_+_}@cd ${.CURDIR}; ${_MAKE} cleandir
|
||||
.else
|
||||
-rm -rf ${.OBJDIR}/*
|
||||
-chflags -R 0 ${.OBJDIR}
|
||||
rm -rf ${.OBJDIR}/*
|
||||
.endif
|
||||
|
||||
#
|
||||
# Handle the user-driven targets, using the source relative mk files.
|
||||
#
|
||||
|
||||
.if !(!empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n")
|
||||
# skip this for -n to avoid changing previous behavior of
|
||||
# 'make -n buildworld' etc. Using -n -n will run it.
|
||||
${TGTS}: .MAKE
|
||||
tinderbox toolchains kernel-toolchains: .MAKE
|
||||
.endif
|
||||
|
||||
${TGTS}: .PHONY
|
||||
${TGTS}: .PHONY .MAKE
|
||||
${_+_}@cd ${.CURDIR}; ${_MAKE} ${.TARGET}
|
||||
|
||||
# The historic default "all" target creates files which may cause stale
|
||||
@ -260,9 +226,9 @@ ${TGTS}: .PHONY
|
||||
# if they want the historic behavior.
|
||||
.MAIN: _guard
|
||||
|
||||
_guard:
|
||||
_guard: .PHONY
|
||||
@echo
|
||||
@echo "Explicit target required (use \"all\" for historic behavior)"
|
||||
@echo "Explicit target required. Likely \"${SUBDIR_OVERRIDE:Dall:Ubuildworld}\" is wanted. See build(7)."
|
||||
@echo
|
||||
@false
|
||||
|
||||
@ -358,21 +324,21 @@ bmake: .PHONY
|
||||
@echo ">>> Building an up-to-date ${.TARGET}(1)"
|
||||
@echo "--------------------------------------------------------------"
|
||||
${_+_}@cd ${.CURDIR}/usr.bin/${.TARGET}; \
|
||||
${MMAKE} obj && \
|
||||
${MMAKE} depend && \
|
||||
${MMAKE} all && \
|
||||
${MMAKE} obj; \
|
||||
${MMAKE} depend; \
|
||||
${MMAKE} all; \
|
||||
${MMAKE} install DESTDIR=${MYMAKE:H} BINDIR=
|
||||
|
||||
tinderbox toolchains kernel-toolchains: upgrade_checks
|
||||
|
||||
tinderbox:
|
||||
@cd ${.CURDIR} && ${SUB_MAKE} DOING_TINDERBOX=YES universe
|
||||
@cd ${.CURDIR}; ${SUB_MAKE} DOING_TINDERBOX=YES universe
|
||||
|
||||
toolchains:
|
||||
@cd ${.CURDIR} && ${SUB_MAKE} UNIVERSE_TARGET=toolchain universe
|
||||
@cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=toolchain universe
|
||||
|
||||
kernel-toolchains:
|
||||
@cd ${.CURDIR} && ${SUB_MAKE} UNIVERSE_TARGET=kernel-toolchain universe
|
||||
@cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=kernel-toolchain universe
|
||||
|
||||
#
|
||||
# universe
|
||||
@ -470,7 +436,7 @@ universe_${target}_kernels: universe_${target}_prologue .MAKE
|
||||
(echo "${target} 'make LINT' failed," \
|
||||
"check _.${target}.makeLINT for details"| ${MAKEFAIL}))
|
||||
.endif
|
||||
@cd ${.CURDIR} && ${SUB_MAKE} ${.MAKEFLAGS} TARGET=${target} \
|
||||
@cd ${.CURDIR}; ${SUB_MAKE} ${.MAKEFLAGS} TARGET=${target} \
|
||||
universe_kernels
|
||||
.endif # !MAKE_JUST_WORLDS
|
||||
|
||||
@ -533,15 +499,15 @@ buildLINT:
|
||||
# This makefile does not run in meta mode
|
||||
.MAKE.MODE= normal
|
||||
# Normally the things we run from here don't either.
|
||||
# Using -DWITH_META_FILES
|
||||
# Using -DWITH_META_MODE
|
||||
# we can buildworld with meta files created which are useful
|
||||
# for debugging, but without any of the rest of a meta mode build.
|
||||
MK_META_MODE= no
|
||||
MK_DIRDEPS_BUILD= no
|
||||
MK_STAGING= no
|
||||
# tell meta.autodep.mk to not even think about updating anything.
|
||||
UPDATE_DEPENDFILE= NO
|
||||
.if !make(showconfig)
|
||||
.export MK_META_MODE MK_STAGING UPDATE_DEPENDFILE
|
||||
.export MK_DIRDEPS_BUILD MK_STAGING UPDATE_DEPENDFILE
|
||||
.endif
|
||||
|
||||
.if make(universe)
|
||||
@ -551,4 +517,4 @@ MAKE_JOB_ERROR_TOKEN= no
|
||||
.endif
|
||||
.endif # bmake
|
||||
|
||||
.endif # META_MODE
|
||||
.endif # DIRDEPS_BUILD
|
||||
|
545
Makefile.inc1
545
Makefile.inc1
File diff suppressed because it is too large
Load Diff
@ -38,8 +38,646 @@
|
||||
# xargs -n1 | sort | uniq -d;
|
||||
# done
|
||||
|
||||
# 20151225: new clang import which bumps version from 3.7.0 to 3.7.1.
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/allocator_interface.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/asan_interface.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/common_interface_defs.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/coverage_interface.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/dfsan_interface.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/linux_syscall_hooks.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/lsan_interface.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/msan_interface.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/tsan_interface_atomic.h
|
||||
OLD_DIRS+=usr/lib/clang/3.7.0/include/sanitizer
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/__stddef_max_align_t.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/__wmmintrin_aes.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/__wmmintrin_pclmul.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/adxintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/altivec.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/ammintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/arm_acle.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/arm_neon.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/avx2intrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/avx512bwintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/avx512cdintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/avx512dqintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/avx512erintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/avx512fintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/avx512vlbwintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/avx512vldqintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/avx512vlintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/avxintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/bmi2intrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/bmiintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/cpuid.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/cuda_builtin_vars.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/emmintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/f16cintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/fma4intrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/fmaintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/fxsrintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/htmintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/htmxlintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/ia32intrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/immintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/lzcntintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/mm3dnow.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/mm_malloc.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/mmintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/module.modulemap
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/nmmintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/pmmintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/popcntintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/prfchwintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/rdseedintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/rtmintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/s390intrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/shaintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/smmintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/tbmintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/tmmintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/vadefs.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/vecintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/wmmintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/x86intrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/xmmintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/xopintrin.h
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/include/xtestintrin.h
|
||||
OLD_DIRS+=usr/lib/clang/3.7.0/include
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan-i386.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan-preinit-i386.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan-preinit-x86_64.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan-x86_64.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan_cxx-i386.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan_cxx-x86_64.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.profile-arm.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.profile-i386.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.profile-x86_64.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.safestack-i386.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.safestack-x86_64.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.ubsan_standalone-i386.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a
|
||||
OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a
|
||||
OLD_DIRS+=usr/lib/clang/3.7.0/lib/freebsd
|
||||
OLD_DIRS+=usr/lib/clang/3.7.0/lib
|
||||
OLD_DIRS+=usr/lib/clang/3.7.0
|
||||
# 20151130: libelf moved from /usr/lib to /lib (libkvm dependency in r291406)
|
||||
OLD_LIBS+=usr/lib/libelf.so.2
|
||||
# 20151115: Fox bad upgrade scheme
|
||||
OLD_FILES+=usr/share/locale/zh_CN.GB18030/zh_Hans_CN.GB18030
|
||||
OLD_FILES+=usr/share/locale/zh_CN.GB2312/zh_Hans_CN.GB2312
|
||||
OLD_FILES+=usr/share/locale/zh_CN.GBK/zh_Hans_CN.GBK
|
||||
OLD_FILES+=usr/share/locale/zh_CN.UTF-8/zh_Hans_CN.UTF-8
|
||||
OLD_FILES+=usr/share/locale/zh_CN.eucCN/zh_Hans_CN.eucCN
|
||||
OLD_FILES+=usr/share/locale/zh_TW.Big5/zh_Hant_TW.Big5
|
||||
OLD_FILES+=usr/share/locale/zh_TW.UTF-8/zh_Hant_TW.UTF-8
|
||||
# 20151107: String collation improvements
|
||||
OLD_FILES+=usr/share/locale/UTF-8/LC_CTYPE
|
||||
OLD_DIRS+=usr/share/locale/UTF-8
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_MESSAGES
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_MONETARY
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_NUMERIC
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_TIME
|
||||
OLD_DIRS+=usr/share/locale/kk_KZ.PT154/
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_MESSAGES
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_MONETARY
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_NUMERIC
|
||||
OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_TIME
|
||||
OLD_DIRS+=usr/share/locale/kk_KZ.UTF-8
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-1/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-1/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-1/LC_TIME
|
||||
OLD_DIRS+=usr/share/locale/la_LN.ISO8859-1
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-13/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-13/LC_CTYPE
|
||||
OLD_DIRS+=usr/share/locale/la_LN.ISO8859-13
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-15/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-15/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-15/LC_TIME
|
||||
OLD_DIRS+=usr/share/locale/la_LN.ISO8859-15
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-2/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-2/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-2/LC_TIME
|
||||
OLD_DIRS+=usr/share/locale/la_LN.ISO8859-2
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-4/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-4/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/la_LN.ISO8859-4/LC_TIME
|
||||
OLD_DIRS+=usr/share/locale/la_LN.ISO8859-4
|
||||
OLD_FILES+=usr/share/locale/la_LN.US-ASCII/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/la_LN.US-ASCII/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/la_LN.US-ASCII/LC_TIME
|
||||
OLD_DIRS+=usr/share/locale/la_LN.US-ASCII
|
||||
OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_MESSAGES
|
||||
OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_TIME
|
||||
OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_MONETARY
|
||||
OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_NUMERIC
|
||||
OLD_DIRS+=usr/share/locale/lt_LT.ISO8859-4
|
||||
OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_MESSAGES
|
||||
OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_MONETARY
|
||||
OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_NUMERIC
|
||||
OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_TIME
|
||||
OLD_DIRS+=usr/share/locale/mn_MN.UTF-8
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_MESSAGES
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_MONETARY
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_NUMERIC
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_TIME
|
||||
OLD_DIRS+=usr/share/locale/no_NO.ISO8859-1
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_MESSAGES
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_MONETARY
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_NUMERIC
|
||||
OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_TIME
|
||||
OLD_DIRS+=usr/share/locale/no_NO.ISO8859-15
|
||||
OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_MESSAGES
|
||||
OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_MONETARY
|
||||
OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_NUMERIC
|
||||
OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_TIME
|
||||
OLD_DIRS+=usr/share/locale/no_NO.UTF-8
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_TIME
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_MESSAGES
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_NUMERIC
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_MONETARY
|
||||
OLD_DIRS+=usr/share/locale/sr_YU.ISO8859-2
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_MONETARY
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_NUMERIC
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_TIME
|
||||
OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_MESSAGES
|
||||
OLD_DIRS+=usr/share/locale/sr_YU.ISO8859-5
|
||||
OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_COLLATE
|
||||
OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_MONETARY
|
||||
OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_CTYPE
|
||||
OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_TIME
|
||||
OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_NUMERIC
|
||||
OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_MESSAGES
|
||||
OLD_DIRS+=usr/share/locale/sr_YU.UTF-8
|
||||
# 20151101: added missing _test suffix on multiple tests in lib/libc
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/faccessat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/fchmodat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/fchownat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/fexecve
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/fstatat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/linkat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/mkdirat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/mkfifoat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/mknodat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/openat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/readlinkat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/renameat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/symlinkat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/unlinkat
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/utimensat
|
||||
OLD_FILES+=usr/tests/lib/libc/string/memchr
|
||||
OLD_FILES+=usr/tests/lib/libc/string/memcpy
|
||||
OLD_FILES+=usr/tests/lib/libc/string/memmem
|
||||
OLD_FILES+=usr/tests/lib/libc/string/memset
|
||||
OLD_FILES+=usr/tests/lib/libc/string/strcat
|
||||
OLD_FILES+=usr/tests/lib/libc/string/strchr
|
||||
OLD_FILES+=usr/tests/lib/libc/string/strcmp
|
||||
OLD_FILES+=usr/tests/lib/libc/string/strcpy
|
||||
OLD_FILES+=usr/tests/lib/libc/string/strcspn
|
||||
OLD_FILES+=usr/tests/lib/libc/string/strerror
|
||||
OLD_FILES+=usr/tests/lib/libc/string/strlen
|
||||
OLD_FILES+=usr/tests/lib/libc/string/strpbrk
|
||||
OLD_FILES+=usr/tests/lib/libc/string/strrchr
|
||||
OLD_FILES+=usr/tests/lib/libc/string/strspn
|
||||
OLD_FILES+=usr/tests/lib/libc/string/swab
|
||||
# 20151101: 430.status-rwho was renamed to 430.status-uptime
|
||||
OLD_FILES+=etc/periodic/daily/430.status-rwho
|
||||
# 20151030: OpenSSL 1.0.2d import
|
||||
OLD_FILES+=usr/share/openssl/man/man3/CMS_set1_signer_certs.3.gz
|
||||
OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_ctrl.3.gz
|
||||
OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_ctrl_str.3.gz
|
||||
OLD_FILES+=usr/share/openssl/man/man3/d2i_509_CRL_fp.3.gz
|
||||
OLD_LIBS+=lib/libcrypto.so.7
|
||||
OLD_LIBS+=usr/lib/libssl.so.7
|
||||
OLD_LIBS+=usr/lib32/libcrypto.so.7
|
||||
OLD_LIBS+=usr/lib32/libssl.so.7
|
||||
# 20151015: test symbols moved to /usr/lib/debug
|
||||
OLD_DIRS+=usr/tests/lib/atf/libatf-c++/.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/.debug/atf_c++_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/.debug/build_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/.debug/check_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/.debug/config_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/.debug/macros_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/.debug/tests_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/.debug/utils_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/atf/libatf-c++/detail/.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/detail/.debug/application_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/detail/.debug/env_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/detail/.debug/exceptions_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/detail/.debug/fs_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/detail/.debug/process_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/detail/.debug/sanity_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/detail/.debug/text_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c++/detail/.debug/version_helper.debug
|
||||
OLD_DIRS+=usr/tests/lib/atf/libatf-c/.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/.debug/atf_c_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/.debug/build_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/.debug/check_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/.debug/config_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/.debug/error_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/.debug/macros_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/.debug/tc_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/.debug/tp_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/.debug/utils_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/atf/libatf-c/detail/.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/detail/.debug/dynstr_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/detail/.debug/env_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/detail/.debug/fs_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/detail/.debug/list_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/detail/.debug/map_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/detail/.debug/process_helpers.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/detail/.debug/process_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/detail/.debug/sanity_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/detail/.debug/text_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/detail/.debug/user_test.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/libatf-c/detail/.debug/version_helper.debug
|
||||
OLD_DIRS+=usr/tests/lib/atf/test-programs/.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/test-programs/.debug/c_helpers.debug
|
||||
OLD_FILES+=usr/tests/lib/atf/test-programs/.debug/cpp_helpers.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/c063/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/faccessat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/fchmodat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/fchownat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/fexecve.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/fstatat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/linkat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/mkdirat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/mkfifoat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/mknodat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/openat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/readlinkat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/renameat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/symlinkat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/unlinkat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/c063/.debug/utimensat.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/db/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/db/.debug/h_db.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/gen/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/alarm_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/arc4random_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/assert_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/basedirname_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/dir_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/floatunditf_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/fnmatch_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/fpclassify2_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/fpclassify_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/fpsetmask_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/fpsetround_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/ftok_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/getcwd_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/getgrent_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/glob_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/humanize_number_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/isnan_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/nice_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/pause_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/raise_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/realpath_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/setdomainname_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/sethostname_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/sleep_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/syslog_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/time_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/ttyname_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/.debug/vis_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/gen/execve/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/execve/.debug/execve_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/gen/posix_spawn/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/posix_spawn/.debug/fileactions_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/posix_spawn/.debug/h_fileactions.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/posix_spawn/.debug/h_spawn.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/posix_spawn/.debug/h_spawnattr.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/posix_spawn/.debug/spawn_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/gen/posix_spawn/.debug/spawnattr_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/hash/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/hash/.debug/h_hash.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/hash/.debug/sha2_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/inet/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/inet/.debug/inet_network_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/locale/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/locale/.debug/io_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/locale/.debug/mbrtowc_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/locale/.debug/mbsnrtowcs_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/locale/.debug/mbstowcs_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/locale/.debug/mbtowc_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/locale/.debug/wcscspn_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/locale/.debug/wcspbrk_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/locale/.debug/wcsspn_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/locale/.debug/wcstod_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/locale/.debug/wctomb_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/net/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/net/.debug/ether_aton_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/net/.debug/getprotoent_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/net/.debug/h_dns_server.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/net/.debug/h_nsd_recurse.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/net/.debug/h_protoent.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/net/.debug/h_servent.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/regex/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/regex/.debug/exhaust_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/regex/.debug/h_regex.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/regex/.debug/regex_att_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/ssp/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_fgets.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_getcwd.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_gets.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_memcpy.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_memmove.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_memset.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_raw.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_read.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_readlink.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_snprintf.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_sprintf.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_stpcpy.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_stpncpy.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_strcat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_strcpy.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_strncat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_strncpy.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_vsnprintf.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ssp/.debug/h_vsprintf.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/stdio/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdio/.debug/clearerr_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdio/.debug/fflush_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdio/.debug/fmemopen2_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdio/.debug/fmemopen_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdio/.debug/fopen_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdio/.debug/fputc_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdio/.debug/mktemp_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdio/.debug/popen_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdio/.debug/printf_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdio/.debug/scanf_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/stdlib/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/abs_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/atoi_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/div_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/exit_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/getenv_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/h_getopt.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/h_getopt_long.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/hsearch_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/posix_memalign_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/random_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/strtod_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/strtol_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/stdlib/.debug/system_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/string/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/memchr.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/memcpy.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/memmem.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/memset.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/strcat.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/strchr.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/strcmp.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/strcpy.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/strcspn.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/strerror.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/strlen.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/strpbrk.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/strrchr.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/strspn.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/string/.debug/swab.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/sys/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/access_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/chroot_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/clock_gettime_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/connect_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/dup_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/fsync_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/getcontext_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/getgroups_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/getitimer_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/getlogin_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/getpid_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/getrusage_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/getsid_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/gettimeofday_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/issetugid_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/kevent_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/kill_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/link_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/listen_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/mincore_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/mkdir_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/mkfifo_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/mknod_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/mlock_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/mmap_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/mprotect_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/msgctl_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/msgget_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/msgrcv_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/msgsnd_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/msync_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/nanosleep_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/pipe2_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/pipe_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/poll_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/revoke_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/select_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/setrlimit_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/setuid_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/sigaction_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/sigqueue_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/sigtimedwait_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/socketpair_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/stat_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/timer_create_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/truncate_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/ucontext_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/umask_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/unlink_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/sys/.debug/write_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/termios/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/termios/.debug/tcsetpgrp_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/tls/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/tls/.debug/h_tls_dlopen.so.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/tls/.debug/libh_tls_dynamic.so.1.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/tls/.debug/tls_dlopen_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/tls/.debug/tls_dynamic_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libc/ttyio/.debug
|
||||
OLD_FILES+=usr/tests/lib/libc/ttyio/.debug/ttyio_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libcrypt/.debug
|
||||
OLD_FILES+=usr/tests/lib/libcrypt/.debug/crypt_tests.debug
|
||||
OLD_DIRS+=usr/tests/lib/libmp/.debug
|
||||
OLD_FILES+=usr/tests/lib/libmp/.debug/legacy_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libnv/.debug
|
||||
OLD_FILES+=usr/tests/lib/libnv/.debug/dnv_tests.debug
|
||||
OLD_FILES+=usr/tests/lib/libnv/.debug/nv_array_tests.debug
|
||||
OLD_FILES+=usr/tests/lib/libnv/.debug/nv_tests.debug
|
||||
OLD_FILES+=usr/tests/lib/libnv/.debug/nvlist_add_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libnv/.debug/nvlist_exists_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libnv/.debug/nvlist_free_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libnv/.debug/nvlist_get_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libnv/.debug/nvlist_move_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libnv/.debug/nvlist_send_recv_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libpam/.debug
|
||||
OLD_FILES+=usr/tests/lib/libpam/.debug/t_openpam_ctype.debug
|
||||
OLD_FILES+=usr/tests/lib/libpam/.debug/t_openpam_readlinev.debug
|
||||
OLD_FILES+=usr/tests/lib/libpam/.debug/t_openpam_readword.debug
|
||||
OLD_DIRS+=usr/tests/lib/libproc/.debug
|
||||
OLD_FILES+=usr/tests/lib/libproc/.debug/proc_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libproc/.debug/target_prog.debug
|
||||
OLD_DIRS+=usr/tests/lib/librt/.debug
|
||||
OLD_FILES+=usr/tests/lib/librt/.debug/sched_test.debug
|
||||
OLD_FILES+=usr/tests/lib/librt/.debug/sem_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libthr/.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/barrier_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/cond_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/condwait_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/detach_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/equal_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/fork_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/fpu_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/h_atexit.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/h_cancel.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/h_exit.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/h_resolv.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/join_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/kill_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/mutex_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/once_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/preempt_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/rwlock_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/sem_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/siglongjmp_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/sigmask_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/sigsuspend_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/sleep_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/.debug/swapcontext_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libthr/dlopen/.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/dlopen/.debug/dlopen_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/dlopen/.debug/h_pthread_dlopen.so.1.debug
|
||||
OLD_FILES+=usr/tests/lib/libthr/dlopen/.debug/main_pthread_create_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libutil/.debug
|
||||
OLD_FILES+=usr/tests/lib/libutil/.debug/flopen_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libutil/.debug/grp_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libutil/.debug/humanize_number_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libutil/.debug/pidfile_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libutil/.debug/trimdomain-nodomain_test.debug
|
||||
OLD_FILES+=usr/tests/lib/libutil/.debug/trimdomain_test.debug
|
||||
OLD_DIRS+=usr/tests/lib/libxo/.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/libenc_test.so.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/test_01.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/test_02.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/test_03.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/test_04.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/test_05.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/test_06.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/test_07.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/test_08.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/test_09.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/test_10.debug
|
||||
OLD_FILES+=usr/tests/lib/libxo/.debug/test_11.debug
|
||||
OLD_DIRS+=usr/tests/lib/msun/.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/acos_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/asin_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/atan_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/cbrt_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/ceil_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/cos_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/cosh_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/erf_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/exp_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/fmod_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/infinity_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/ldexp_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/log_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/pow_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/precision_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/round_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/scalbn_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/sin_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/sinh_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/sqrt_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/tan_test.debug
|
||||
OLD_FILES+=usr/tests/lib/msun/.debug/tanh_test.debug
|
||||
OLD_DIRS+=usr/tests/libexec/rtld-elf/.debug
|
||||
OLD_FILES+=usr/tests/libexec/rtld-elf/.debug/ld_library_pathfds.debug
|
||||
OLD_FILES+=usr/tests/libexec/rtld-elf/.debug/libpythagoras.so.0.debug
|
||||
OLD_FILES+=usr/tests/libexec/rtld-elf/.debug/target.debug
|
||||
OLD_DIRS+=usr/tests/sbin/devd/.debug
|
||||
OLD_FILES+=usr/tests/sbin/devd/.debug/client_test.debug
|
||||
OLD_DIRS+=usr/tests/sbin/dhclient/.debug
|
||||
OLD_FILES+=usr/tests/sbin/dhclient/.debug/option-domain-search_test.debug
|
||||
OLD_DIRS+=usr/tests/share/examples/tests/atf/.debug
|
||||
OLD_FILES+=usr/tests/share/examples/tests/atf/.debug/printf_test.debug
|
||||
OLD_DIRS+=usr/tests/share/examples/tests/plain/.debug
|
||||
OLD_FILES+=usr/tests/share/examples/tests/plain/.debug/printf_test.debug
|
||||
OLD_DIRS+=usr/tests/sys/aio/.debug
|
||||
OLD_FILES+=usr/tests/sys/aio/.debug/aio_kqueue_test.debug
|
||||
OLD_FILES+=usr/tests/sys/aio/.debug/aio_test.debug
|
||||
OLD_FILES+=usr/tests/sys/aio/.debug/lio_kqueue_test.debug
|
||||
OLD_DIRS+=usr/tests/sys/fifo/.debug
|
||||
OLD_FILES+=usr/tests/sys/fifo/.debug/fifo_create.debug
|
||||
OLD_FILES+=usr/tests/sys/fifo/.debug/fifo_io.debug
|
||||
OLD_FILES+=usr/tests/sys/fifo/.debug/fifo_misc.debug
|
||||
OLD_FILES+=usr/tests/sys/fifo/.debug/fifo_open.debug
|
||||
OLD_DIRS+=usr/tests/sys/file/.debug
|
||||
OLD_FILES+=usr/tests/sys/file/.debug/closefrom_test.debug
|
||||
OLD_FILES+=usr/tests/sys/file/.debug/dup_test.debug
|
||||
OLD_FILES+=usr/tests/sys/file/.debug/fcntlflags_test.debug
|
||||
OLD_FILES+=usr/tests/sys/file/.debug/flock_helper.debug
|
||||
OLD_FILES+=usr/tests/sys/file/.debug/ftruncate_test.debug
|
||||
OLD_FILES+=usr/tests/sys/file/.debug/newfileops_on_fork_test.debug
|
||||
OLD_DIRS+=usr/tests/sys/kern/.debug
|
||||
OLD_FILES+=usr/tests/sys/kern/.debug/kern_descrip_test.debug
|
||||
OLD_FILES+=usr/tests/sys/kern/.debug/ptrace_test.debug
|
||||
OLD_FILES+=usr/tests/sys/kern/.debug/unix_seqpacket_test.debug
|
||||
OLD_DIRS+=usr/tests/sys/kern/execve/.debug
|
||||
OLD_FILES+=usr/tests/sys/kern/execve/.debug/execve_helper.debug
|
||||
OLD_FILES+=usr/tests/sys/kern/execve/.debug/good_aout.debug
|
||||
OLD_DIRS+=usr/tests/sys/kqueue/.debug
|
||||
OLD_FILES+=usr/tests/sys/kqueue/.debug/kqtest.debug
|
||||
OLD_DIRS+=usr/tests/sys/mqueue/.debug
|
||||
OLD_FILES+=usr/tests/sys/mqueue/.debug/mqtest1.debug
|
||||
OLD_FILES+=usr/tests/sys/mqueue/.debug/mqtest2.debug
|
||||
OLD_FILES+=usr/tests/sys/mqueue/.debug/mqtest3.debug
|
||||
OLD_FILES+=usr/tests/sys/mqueue/.debug/mqtest4.debug
|
||||
OLD_FILES+=usr/tests/sys/mqueue/.debug/mqtest5.debug
|
||||
OLD_DIRS+=usr/tests/sys/netinet/.debug
|
||||
OLD_FILES+=usr/tests/sys/netinet/.debug/udp_dontroute.debug
|
||||
OLD_DIRS+=usr/tests/sys/pjdfstest/.debug
|
||||
OLD_FILES+=usr/tests/sys/pjdfstest/.debug/pjdfstest.debug
|
||||
OLD_DIRS+=usr/tests/sys/vm/.debug
|
||||
OLD_FILES+=usr/tests/sys/vm/.debug/mmap_test.debug
|
||||
# 20151015: Rename files due to file-installed-as-dir bug
|
||||
OLD_FILES+=usr/share/doc/legal/realtek
|
||||
OLD_FILES+=usr/share/doc/legal/realtek/LICENSE
|
||||
OLD_DIRS+=usr/share/doc/legal/realtek
|
||||
OLD_DIRS+=usr/share/doc/legal/intel_ipw
|
||||
OLD_FILES+=usr/share/doc/legal/intel_ipw/LICENSE
|
||||
OLD_FILES+=usr/share/doc/legal/intel_iwn
|
||||
OLD_FILES+=usr/share/doc/legal/intel_iwn/LICENSE
|
||||
OLD_DIRS+=usr/share/doc/legal/intel_iwn
|
||||
OLD_DIRS+=usr/share/doc/legal/intel_iwi
|
||||
OLD_FILES+=usr/share/doc/legal/intel_iwi/LICENSE
|
||||
OLD_DIRS+=usr/share/doc/legal/intel_wpi
|
||||
OLD_FILES+=usr/share/doc/legal/intel_wpi/LICENSE
|
||||
# 20151006: new libc++ import
|
||||
OLD_FILES+=usr/include/c++/__tuple_03
|
||||
OLD_FILES+=usr/include/c++/v1/__tuple_03
|
||||
OLD_FILES+=usr/include/c++/v1/tr1/__tuple_03
|
||||
# 20151006: new clang import which bumps version from 3.6.1 to 3.7.0.
|
||||
OLD_FILES+=usr/lib/clang/3.6.1/include/__stddef_max_align_t.h
|
||||
OLD_FILES+=usr/lib/clang/3.6.1/include/__wmmintrin_aes.h
|
||||
@ -126,11 +764,16 @@ OLD_FILES+=usr/share/man/man4/dtrace-proc.4.gz
|
||||
OLD_FILES+=usr/share/man/man4/dtrace-sched.4.gz
|
||||
OLD_FILES+=usr/share/man/man4/dtrace-tcp.4.gz
|
||||
OLD_FILES+=usr/share/man/man4/dtrace-udp.4.gz
|
||||
# 20150704: nvlist private headers no longer installed
|
||||
OLD_FILES+=usr/include/sys/nv_impl.h
|
||||
OLD_FILES+=usr/include/sys/nvlist_impl.h
|
||||
OLD_FILES+=usr/include/sys/nvpair_impl.h
|
||||
# 20150624
|
||||
OLD_LIBS+=usr/lib/libugidfw.so.4
|
||||
OLD_LIBS+=usr/lib32/libugidfw.so.4
|
||||
# 20150604: Move nvlist man pages to section 9.
|
||||
OLD_FILES+=usr/share/man/man3/libnv.3.gz
|
||||
OLD_FILES+=usr/share/man/man3/nv.3.gz
|
||||
OLD_FILES+=usr/share/man/man3/nvlist.3.gz
|
||||
OLD_FILES+=usr/share/man/man3/nvlist_add_binary.3.gz
|
||||
OLD_FILES+=usr/share/man/man3/nvlist_add_bool.3.gz
|
||||
|
66
UPDATING
66
UPDATING
@ -31,6 +31,60 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW:
|
||||
disable the most expensive debugging functionality run
|
||||
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
|
||||
|
||||
20151216:
|
||||
The tftp loader (pxeboot) now uses the option root-path directive. As a
|
||||
consequence it no longer looks for a pxeboot.4th file on the tftp
|
||||
server. Instead it uses the regular /boot infrastructure as with the
|
||||
other loaders.
|
||||
|
||||
20151211:
|
||||
The code to start recording plug and play data into the modules has
|
||||
been committed. While the old tools will properly build a new kernel,
|
||||
a number of warnings about "unknown metadata record 4" will be produced
|
||||
for an older kldxref. To avoid such warnings, make sure to rebuild
|
||||
the kernel toolchain (or world). Make sure that you have r292078 or
|
||||
later when trying to build 292077 or later before rebuilding.
|
||||
|
||||
20151207:
|
||||
Debug data files are now built by default with 'make buildworld' and
|
||||
installed with 'make installworld'. This facilitates debugging but
|
||||
requires more disk space both during the build and for the installed
|
||||
world. Debug files may be disabled by setting WITHOUT_DEBUG_FILES=yes
|
||||
in src.conf(5).
|
||||
|
||||
20151130:
|
||||
r291527 changed the internal interface between the nfsd.ko and
|
||||
nfscommon.ko modules. As such, they must both be upgraded to-gether.
|
||||
__FreeBSD_version has been bumped because of this.
|
||||
|
||||
20151108:
|
||||
Add support for unicode collation strings leads to a change of
|
||||
order of files listed by ls(1) for example. To get back to the old
|
||||
behaviour, set LC_COLLATE environment variable to "C".
|
||||
|
||||
Databases administrators will need to reindex their databases given
|
||||
collation results will be different.
|
||||
|
||||
Due to a bug in install(1) it is recommended to remove the ancient
|
||||
locales before running make installworld.
|
||||
|
||||
rm -rf /usr/share/locale/*
|
||||
|
||||
20151030:
|
||||
The OpenSSL has been upgraded to 1.0.2d. Any binaries requiring
|
||||
libcrypto.so.7 or libssl.so.7 must be recompiled.
|
||||
|
||||
20151020:
|
||||
Qlogic 24xx/25xx firmware images were updated from 5.5.0 to 7.3.0.
|
||||
Kernel modules isp_2400_multi and isp_2500_multi were removed and
|
||||
should be replaced with isp_2400 and isp_2500 modules respectively.
|
||||
|
||||
20151017:
|
||||
The build previously allowed using 'make -n' to not recurse into
|
||||
sub-directories while showing what commands would be executed, and
|
||||
'make -n -n' to recursively show commands. Now 'make -n' will recurse
|
||||
and 'make -N' will not.
|
||||
|
||||
20151012:
|
||||
If you specify SENDMAIL_MC or SENDMAIL_CF in make.conf, mergemaster
|
||||
and etcupdate will now use this file. A custom sendmail.cf is now
|
||||
@ -168,12 +222,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW:
|
||||
like it always used to, and the difference will be irrelevant.
|
||||
|
||||
If you remove 'device random', you get *NO* kernel-processed
|
||||
entopy at all. This may be acceptable to folks building
|
||||
entropy at all. This may be acceptable to folks building
|
||||
embedded systems, but has complications. Carry on reading,
|
||||
and it is assumed you know what you need.
|
||||
|
||||
*PLEASE* read random(4) and random(9) if you are in the
|
||||
habit of tweeking kernel configs, and/or if you are a member
|
||||
habit of tweaking kernel configs, and/or if you are a member
|
||||
of the embedded community, wanting specific and not-usual
|
||||
behaviour from your security subsystems.
|
||||
|
||||
@ -816,14 +870,6 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW:
|
||||
keep 64-bits counters. Thus all tools, that work with networking
|
||||
statistics, must be rebuilt (netstat(1), bsnmpd(1), etc.)
|
||||
|
||||
20130629:
|
||||
Fix targets that run multiple make's to use && rather than ;
|
||||
so that subsequent steps depend on success of previous.
|
||||
|
||||
NOTE: if building 'universe' with -j* on stable/8 or stable/9
|
||||
it would be better to start the build using bmake, to avoid
|
||||
overloading the machine.
|
||||
|
||||
20130618:
|
||||
Fix a bug that allowed a tracing process (e.g. gdb) to write
|
||||
to a memory-mapped file in the traced process's address space
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
#ifndef _h_config
|
||||
#define _h_config
|
||||
/****************** System dependant compilation flags ****************/
|
||||
/****************** System dependent compilation flags ****************/
|
||||
/*
|
||||
* POSIX This system supports IEEE Std 1003.1-1988 (POSIX).
|
||||
*/
|
||||
|
@ -1,6 +1,8 @@
|
||||
# @(#)Makefile 8.1 (Berkeley) 5/31/93
|
||||
# $FreeBSD$
|
||||
|
||||
.include <src.opts.mk>
|
||||
|
||||
PROG= dd
|
||||
SRCS= args.c conv.c conv_tab.c dd.c misc.c position.c
|
||||
|
||||
@ -24,4 +26,8 @@ test: ${PROG} gen
|
||||
.endfor
|
||||
@rm -f gen
|
||||
|
||||
.if ${MK_TESTS} != "no"
|
||||
SUBDIR+= tests
|
||||
.endif
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
7
bin/dd/tests/Makefile
Normal file
7
bin/dd/tests/Makefile
Normal file
@ -0,0 +1,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
NETBSD_ATF_TESTS_SH= dd_test
|
||||
|
||||
.include <netbsd-tests.test.mk>
|
||||
|
||||
.include <bsd.test.mk>
|
@ -29,7 +29,7 @@
|
||||
.\" @(#)df.1 8.3 (Berkeley) 5/8/95
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd November 6, 2014
|
||||
.Dd December 1, 2015
|
||||
.Dt DF 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -62,6 +62,13 @@ option below).
|
||||
.Pp
|
||||
The following options are available:
|
||||
.Bl -tag -width indent
|
||||
.It Fl -libxo
|
||||
Generate output via
|
||||
.Xr libxo 3
|
||||
in a selection of different human and machine readable formats.
|
||||
See
|
||||
.Xr xo_parse_args 3
|
||||
for details on command line arguments.
|
||||
.It Fl a
|
||||
Show all mount points, including those that were mounted with the
|
||||
.Dv MNT_IGNORE
|
||||
|
@ -505,7 +505,8 @@ exec_command(void)
|
||||
return ERR;
|
||||
else if (open_sbuf() < 0)
|
||||
return FATAL;
|
||||
if (*fnp && *fnp != '!') strcpy(old_filename, fnp);
|
||||
if (*fnp && *fnp != '!')
|
||||
strlcpy(old_filename, fnp, PATH_MAX);
|
||||
#ifdef BACKWARDS
|
||||
if (*fnp == '\0' && *old_filename == '\0') {
|
||||
errmsg = "no current filename";
|
||||
@ -532,7 +533,8 @@ exec_command(void)
|
||||
return ERR;
|
||||
}
|
||||
GET_COMMAND_SUFFIX();
|
||||
if (*fnp) strcpy(old_filename, fnp);
|
||||
if (*fnp)
|
||||
strlcpy(old_filename, fnp, PATH_MAX);
|
||||
printf("%s\n", strip_escapes(old_filename));
|
||||
break;
|
||||
case 'g':
|
||||
@ -663,7 +665,7 @@ exec_command(void)
|
||||
GET_COMMAND_SUFFIX();
|
||||
if (!isglobal) clear_undo_stack();
|
||||
if (*old_filename == '\0' && *fnp != '!')
|
||||
strcpy(old_filename, fnp);
|
||||
strlcpy(old_filename, fnp, PATH_MAX);
|
||||
#ifdef BACKWARDS
|
||||
if (*fnp == '\0' && *old_filename == '\0') {
|
||||
errmsg = "no current filename";
|
||||
@ -797,7 +799,7 @@ exec_command(void)
|
||||
return ERR;
|
||||
GET_COMMAND_SUFFIX();
|
||||
if (*old_filename == '\0' && *fnp != '!')
|
||||
strcpy(old_filename, fnp);
|
||||
strlcpy(old_filename, fnp, PATH_MAX);
|
||||
#ifdef BACKWARDS
|
||||
if (*fnp == '\0' && *old_filename == '\0') {
|
||||
errmsg = "no current filename";
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
SCRIPTS = freebsd-version
|
||||
MAN = freebsd-version.1
|
||||
CLEANFILES = freebsd-version.sh
|
||||
CLEANFILES = freebsd-version freebsd-version.sh
|
||||
NEWVERS = ${.CURDIR}/../../sys/conf/newvers.sh
|
||||
|
||||
freebsd-version.sh: ${.CURDIR}/freebsd-version.sh.in ${NEWVERS}
|
||||
|
@ -32,7 +32,7 @@
|
||||
.\" @(#)ls.1 8.7 (Berkeley) 7/29/94
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd September 27, 2015
|
||||
.Dd December 1, 2015
|
||||
.Dt LS 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -69,6 +69,13 @@ lexicographical order.
|
||||
.Pp
|
||||
The following options are available:
|
||||
.Bl -tag -width indent
|
||||
.It Fl -libxo
|
||||
Generate output via
|
||||
.Xr libxo 3
|
||||
in a selection of different human and machine readable formats.
|
||||
See
|
||||
.Xr xo_parse_args 3
|
||||
for details on command line arguments.
|
||||
.It Fl A
|
||||
Include directory entries whose names begin with a
|
||||
dot
|
||||
|
@ -47,12 +47,14 @@ __FBSDID("$FreeBSD$");
|
||||
#include <fts.h>
|
||||
#include <langinfo.h>
|
||||
#include <libutil.h>
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <wchar.h>
|
||||
#ifdef COLORLS
|
||||
#include <ctype.h>
|
||||
#include <termcap.h>
|
||||
@ -105,6 +107,9 @@ static struct {
|
||||
} colors[C_NUMCOLORS];
|
||||
#endif
|
||||
|
||||
static size_t padding_for_month[12];
|
||||
static size_t month_max_size = 0;
|
||||
|
||||
void
|
||||
printscol(const DISPLAY *dp)
|
||||
{
|
||||
@ -138,6 +143,70 @@ printname(const char *field, const char *name)
|
||||
return rc;
|
||||
}
|
||||
|
||||
static const char *
|
||||
get_abmon(int mon)
|
||||
{
|
||||
|
||||
switch (mon) {
|
||||
case 0: return (nl_langinfo(ABMON_1));
|
||||
case 1: return (nl_langinfo(ABMON_2));
|
||||
case 2: return (nl_langinfo(ABMON_3));
|
||||
case 3: return (nl_langinfo(ABMON_4));
|
||||
case 4: return (nl_langinfo(ABMON_5));
|
||||
case 5: return (nl_langinfo(ABMON_6));
|
||||
case 6: return (nl_langinfo(ABMON_7));
|
||||
case 7: return (nl_langinfo(ABMON_8));
|
||||
case 8: return (nl_langinfo(ABMON_9));
|
||||
case 9: return (nl_langinfo(ABMON_10));
|
||||
case 10: return (nl_langinfo(ABMON_11));
|
||||
case 11: return (nl_langinfo(ABMON_12));
|
||||
}
|
||||
|
||||
/* should never happen */
|
||||
abort();
|
||||
}
|
||||
|
||||
static size_t
|
||||
mbswidth(const char *month)
|
||||
{
|
||||
wchar_t wc;
|
||||
size_t width, donelen, clen, w;
|
||||
|
||||
width = donelen = 0;
|
||||
while ((clen = mbrtowc(&wc, month + donelen, MB_LEN_MAX, NULL)) != 0) {
|
||||
if (clen == (size_t)-1 || clen == (size_t)-2)
|
||||
return (-1);
|
||||
donelen += clen;
|
||||
if ((w = wcwidth(wc)) == (size_t)-1)
|
||||
return (-1);
|
||||
width += w;
|
||||
}
|
||||
|
||||
return (width);
|
||||
}
|
||||
|
||||
static void
|
||||
compute_abbreviated_month_size(void)
|
||||
{
|
||||
int i;
|
||||
size_t width;
|
||||
size_t months_width[12];
|
||||
|
||||
for (i = 0; i < 12; i++) {
|
||||
width = mbswidth(get_abmon(i));
|
||||
if (width == (size_t)-1) {
|
||||
month_max_size = -1;
|
||||
return;
|
||||
}
|
||||
months_width[i] = width;
|
||||
if (width > month_max_size)
|
||||
month_max_size = width;
|
||||
}
|
||||
|
||||
for (i = 0; i < 12; i++)
|
||||
padding_for_month[i] = month_max_size - months_width[i];
|
||||
}
|
||||
|
||||
/*
|
||||
* print name in current style
|
||||
*/
|
||||
@ -425,6 +494,31 @@ printdev(size_t width, dev_t dev)
|
||||
xo_emit("{:device/%#*jx} ", (u_int)width, (uintmax_t)dev);
|
||||
}
|
||||
|
||||
static size_t
|
||||
ls_strftime(char *str, size_t len, const char *fmt, const struct tm *tm)
|
||||
{
|
||||
char *posb, nfmt[BUFSIZ];
|
||||
const char *format = fmt;
|
||||
size_t ret;
|
||||
|
||||
if ((posb = strstr(fmt, "%b")) != NULL) {
|
||||
if (month_max_size == 0) {
|
||||
compute_abbreviated_month_size();
|
||||
}
|
||||
if (month_max_size > 0) {
|
||||
snprintf(nfmt, sizeof(nfmt), "%.*s%s%*s%s",
|
||||
(int)(posb - fmt), fmt,
|
||||
get_abmon(tm->tm_mon),
|
||||
(int)padding_for_month[tm->tm_mon],
|
||||
"",
|
||||
posb + 2);
|
||||
format = nfmt;
|
||||
}
|
||||
}
|
||||
ret = strftime(str, len, format, tm);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
static void
|
||||
printtime(const char *field, time_t ftime)
|
||||
{
|
||||
@ -451,7 +545,7 @@ printtime(const char *field, time_t ftime)
|
||||
else
|
||||
/* mmm dd yyyy || dd mmm yyyy */
|
||||
format = d_first ? "%e %b %Y" : "%b %e %Y";
|
||||
strftime(longstring, sizeof(longstring), format, localtime(&ftime));
|
||||
ls_strftime(longstring, sizeof(longstring), format, localtime(&ftime));
|
||||
|
||||
snprintf(fmt, sizeof(fmt), "{d:%s/%%hs} ", field);
|
||||
xo_attr("value", "%ld", (long) ftime);
|
||||
|
@ -170,8 +170,6 @@ B_flag_head()
|
||||
|
||||
B_flag_body()
|
||||
{
|
||||
atf_skip "kyua report-jenkins doesn't properly escape non-printable chars: https://github.com/jmmv/kyua/issues/136"
|
||||
|
||||
atf_check -e empty -o empty -s exit:0 touch "$(printf "y\013z")"
|
||||
atf_check -e empty -o match:'y\\013z' -s exit:0 ls -B
|
||||
}
|
||||
@ -418,10 +416,10 @@ T_flag_body()
|
||||
|
||||
atf_check -e empty -o empty -s exit:0 touch a.file
|
||||
|
||||
birthtime_in_secs=$(stat -f %B -t %s a.file)
|
||||
birthtime=$(date -j -f %s $birthtime_in_secs +"[[:space:]]+%b[[:space:]]+%e[[:space:]]+%H:%M:%S[[:space:]]+%Y")
|
||||
mtime_in_secs=$(stat -f %m -t %s a.file)
|
||||
mtime=$(date -j -f %s $mtime_in_secs +"[[:space:]]+%b[[:space:]]+%e[[:space:]]+%H:%M:%S[[:space:]]+%Y")
|
||||
|
||||
atf_check -e empty -o match:"$birthtime"'[[:space:]]+a\.file' \
|
||||
atf_check -e empty -o match:"$mtime"'[[:space:]]+a\.file' \
|
||||
-s exit:0 ls -lT a.file
|
||||
}
|
||||
|
||||
@ -467,8 +465,6 @@ b_flag_head()
|
||||
|
||||
b_flag_body()
|
||||
{
|
||||
atf_skip "kyua report-jenkins doesn't properly escape non-printable chars: https://github.com/jmmv/kyua/issues/136"
|
||||
|
||||
atf_check -e empty -o empty -s exit:0 touch "$(printf "y\013z")"
|
||||
atf_check -e empty -o match:'y\\vz' -s exit:0 ls -b
|
||||
}
|
||||
@ -626,10 +622,10 @@ l_flag_body()
|
||||
|
||||
atf_check -e empty -o empty -s exit:0 touch a.file
|
||||
|
||||
birthtime_in_secs=$(stat -f "%B" -t "%s" a.file)
|
||||
birthtime=$(date -j -f "%s" $birthtime_in_secs +"%b[[:space:]]+%e[[:space:]]+%H:%M")
|
||||
mtime_in_secs=$(stat -f "%m" -t "%s" a.file)
|
||||
mtime=$(date -j -f "%s" $mtime_in_secs +"%b[[:space:]]+%e[[:space:]]+%H:%M")
|
||||
|
||||
expected_output=$(stat -f "%Sp[[:space:]]+%l[[:space:]]+%Su[[:space:]]+%Sg[[:space:]]+%z[[:space:]]+$birthtime[[:space:]]+a\\.file" a.file)
|
||||
expected_output=$(stat -f "%Sp[[:space:]]+%l[[:space:]]+%Su[[:space:]]+%Sg[[:space:]]+%z[[:space:]]+$mtime[[:space:]]+a\\.file" a.file)
|
||||
|
||||
atf_check -e empty -o match:"$expected_output" -s exit:0 ls -l a.file
|
||||
}
|
||||
@ -747,8 +743,6 @@ q_flag_and_w_flag_head()
|
||||
|
||||
q_flag_and_w_flag_body()
|
||||
{
|
||||
atf_skip "kyua report-jenkins doesn't properly escape non-printable chars: https://github.com/jmmv/kyua/issues/136"
|
||||
|
||||
create_test_dir
|
||||
|
||||
test_file="$(printf "y\01z")"
|
||||
|
@ -878,7 +878,7 @@ rep_name(char *name, int *nlen, int prnt)
|
||||
* (the user already saw that substitution go by)
|
||||
*/
|
||||
pt = rephead;
|
||||
(void)strcpy(buf1, name);
|
||||
(void)strlcpy(buf1, name, sizeof(buf1));
|
||||
inpt = buf1;
|
||||
outpt = nname;
|
||||
endpt = outpt + PAXPATHLEN;
|
||||
|
@ -9,6 +9,7 @@ DIRDEPS = \
|
||||
lib/${CSU_DIR} \
|
||||
lib/libc \
|
||||
lib/libcompiler_rt \
|
||||
lib/libelf \
|
||||
lib/libjail \
|
||||
lib/libkvm \
|
||||
|
||||
|
@ -11,6 +11,6 @@ SRCS= fmt.c keyword.c nlist.c print.c ps.c
|
||||
# on large systems.
|
||||
#
|
||||
CFLAGS+=-DLAZY_PS
|
||||
LIBADD= m kvm jail xo util
|
||||
LIBADD= m kvm jail xo
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -9,6 +9,7 @@ DIRDEPS = \
|
||||
lib/${CSU_DIR} \
|
||||
lib/libc \
|
||||
lib/libcompiler_rt \
|
||||
lib/libelf \
|
||||
lib/libjail \
|
||||
lib/libkvm \
|
||||
lib/libutil \
|
||||
|
11
bin/ps/ps.1
11
bin/ps/ps.1
@ -29,7 +29,7 @@
|
||||
.\" @(#)ps.1 8.3 (Berkeley) 4/18/94
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd May 27, 2015
|
||||
.Dd December 1, 2015
|
||||
.Dt PS 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -103,6 +103,13 @@ and associated command.
|
||||
.Pp
|
||||
The options are as follows:
|
||||
.Bl -tag -width indent
|
||||
.It Fl -libxo
|
||||
Generate output via
|
||||
.Xr libxo 3
|
||||
in a selection of different human and machine readable formats.
|
||||
See
|
||||
.Xr xo_parse_args 3
|
||||
for details on command line arguments.
|
||||
.It Fl a
|
||||
Display information about other users' processes as well as your own.
|
||||
If the
|
||||
@ -135,7 +142,7 @@ column is not the last column displayed.
|
||||
.It Fl e
|
||||
Display the environment as well.
|
||||
.It Fl f
|
||||
Show commandline and environment information about swapped out processes.
|
||||
Show command-line and environment information about swapped out processes.
|
||||
This option is honored only if the UID of the user is 0.
|
||||
.It Fl G
|
||||
Display information about processes which are running with the specified
|
||||
|
@ -32,7 +32,7 @@
|
||||
.\" @(#)rm.1 8.5 (Berkeley) 12/5/94
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd April 25, 2013
|
||||
.Dd November 7, 2015
|
||||
.Dt RM 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -234,7 +234,7 @@ not the standard error output.
|
||||
The
|
||||
.Nm
|
||||
command conforms to
|
||||
.St -p1003.2 .
|
||||
.St -p1003.1-2013 .
|
||||
.Pp
|
||||
The simplified
|
||||
.Nm unlink
|
||||
|
@ -155,8 +155,7 @@ main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
checkdot(argv);
|
||||
if (getenv("POSIXLY_CORRECT") == NULL)
|
||||
checkslash(argv);
|
||||
checkslash(argv);
|
||||
uid = geteuid();
|
||||
|
||||
(void)signal(SIGINFO, siginfo);
|
||||
|
@ -29,7 +29,7 @@ LDFLAGS+=${SENDMAIL_LDFLAGS}
|
||||
# following:
|
||||
# CFLAGS+= -DQUEUE_ONLY
|
||||
|
||||
sm_os.h:
|
||||
ln -sf ${SENDMAIL_DIR}/include/sm/os/sm_os_freebsd.h sm_os.h
|
||||
sm_os.h: ${SENDMAIL_DIR}/include/sm/os/sm_os_freebsd.h .NOMETA
|
||||
ln -sf ${.ALLSRC} ${.TARGET}
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -10,7 +10,6 @@ DIRDEPS = \
|
||||
lib/libc \
|
||||
lib/libcompiler_rt \
|
||||
lib/libsm \
|
||||
lib/libutil \
|
||||
|
||||
|
||||
.include <dirdeps.mk>
|
||||
|
@ -750,7 +750,7 @@ isdeclarationcmd(struct narg *arg)
|
||||
}
|
||||
|
||||
static void
|
||||
xtracecommand(struct arglist *varlist, struct arglist *arglist)
|
||||
xtracecommand(struct arglist *varlist, int argc, char **argv)
|
||||
{
|
||||
char sep = 0;
|
||||
const char *text, *p, *ps4;
|
||||
@ -771,8 +771,8 @@ xtracecommand(struct arglist *varlist, struct arglist *arglist)
|
||||
out2qstr(text);
|
||||
sep = ' ';
|
||||
}
|
||||
for (i = 0; i < arglist->count; i++) {
|
||||
text = arglist->args[i];
|
||||
for (i = 0; i < argc; i++) {
|
||||
text = argv[i];
|
||||
if (sep != 0)
|
||||
out2c(' ');
|
||||
out2qstr(text);
|
||||
@ -849,6 +849,8 @@ evalcommand(union node *cmd, int flags, struct backcmd *backcmd)
|
||||
do_clearcmdentry = 0;
|
||||
oexitstatus = exitstatus;
|
||||
exitstatus = 0;
|
||||
/* Add one slot at the beginning for tryexec(). */
|
||||
appendarglist(&arglist, nullstr);
|
||||
for (argp = cmd->ncmd.args ; argp ; argp = argp->narg.next) {
|
||||
if (varflag && isassignment(argp->narg.text)) {
|
||||
expandarg(argp, varflag == 1 ? &varlist : &arglist,
|
||||
@ -858,13 +860,11 @@ evalcommand(union node *cmd, int flags, struct backcmd *backcmd)
|
||||
varflag = isdeclarationcmd(&argp->narg) ? 2 : 0;
|
||||
expandarg(argp, &arglist, EXP_FULL | EXP_TILDE);
|
||||
}
|
||||
appendarglist(&arglist, nullstr);
|
||||
expredir(cmd->ncmd.redirect);
|
||||
argc = arglist.count;
|
||||
/* Add one slot at the beginning for tryexec(). */
|
||||
argv = stalloc(sizeof (char *) * (argc + 2));
|
||||
argv++;
|
||||
argc = arglist.count - 2;
|
||||
argv = &arglist.args[1];
|
||||
|
||||
memcpy(argv, arglist.args, sizeof(*argv) * argc);
|
||||
argv[argc] = NULL;
|
||||
lastarg = NULL;
|
||||
if (iflag && funcnest == 0 && argc > 0)
|
||||
@ -872,7 +872,7 @@ evalcommand(union node *cmd, int flags, struct backcmd *backcmd)
|
||||
|
||||
/* Print the command if xflag is set. */
|
||||
if (xflag)
|
||||
xtracecommand(&varlist, &arglist);
|
||||
xtracecommand(&varlist, argc, argv);
|
||||
|
||||
/* Now locate the command. */
|
||||
if (argc == 0) {
|
||||
|
@ -439,12 +439,14 @@ success:
|
||||
int
|
||||
find_builtin(const char *name, int *special)
|
||||
{
|
||||
const struct builtincmd *bp;
|
||||
const unsigned char *bp;
|
||||
size_t len;
|
||||
|
||||
for (bp = builtincmd ; bp->name ; bp++) {
|
||||
if (*bp->name == *name && equal(bp->name, name)) {
|
||||
*special = bp->special;
|
||||
return bp->code;
|
||||
len = strlen(name);
|
||||
for (bp = builtincmd ; *bp ; bp += 2 + bp[0]) {
|
||||
if (bp[0] == len && memcmp(bp + 2, name, len) == 0) {
|
||||
*special = (bp[1] & BUILTIN_SPECIAL) != 0;
|
||||
return bp[1] & ~BUILTIN_SPECIAL;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
|
820
bin/sh/expand.c
820
bin/sh/expand.c
File diff suppressed because it is too large
Load Diff
@ -43,15 +43,19 @@ struct arglist {
|
||||
/*
|
||||
* expandarg() flags
|
||||
*/
|
||||
#define EXP_FULL 0x1 /* perform word splitting & file globbing */
|
||||
#define EXP_SPLIT 0x1 /* perform word splitting */
|
||||
#define EXP_TILDE 0x2 /* do normal tilde expansion */
|
||||
#define EXP_VARTILDE 0x4 /* expand tildes in an assignment */
|
||||
#define EXP_CASE 0x10 /* keeps quotes around for CASE pattern */
|
||||
#define EXP_SPLIT_LIT 0x20 /* IFS split literal text ${v+-a b c} */
|
||||
#define EXP_LIT_QUOTED 0x40 /* for EXP_SPLIT_LIT, start off quoted */
|
||||
#define EXP_GLOB 0x80 /* perform file globbing */
|
||||
|
||||
#define EXP_FULL (EXP_SPLIT | EXP_GLOB)
|
||||
|
||||
|
||||
void emptyarglist(struct arglist *);
|
||||
void appendarglist(struct arglist *, char *);
|
||||
union node;
|
||||
void expandarg(union node *, struct arglist *, int);
|
||||
void rmescapes(char *);
|
||||
|
@ -62,17 +62,16 @@ echo 'int (*const builtinfunc[])(int, char **) = {'
|
||||
awk '/^[^#]/ { printf "\t%s,\n", $1}' $temp
|
||||
echo '};
|
||||
|
||||
const struct builtincmd builtincmd[] = {'
|
||||
const unsigned char builtincmd[] = {'
|
||||
awk '{ for (i = 2 ; i <= NF ; i++) {
|
||||
if ($i == "-s") {
|
||||
spc = 1;
|
||||
} else {
|
||||
printf "\t{ \"%s\", %d, %d },\n", $i, NR-1, spc
|
||||
printf "\t\"\\%03o\\%03o%s\"\n", length($i), (spc ? 128 : 0) + NR-1, $i
|
||||
spc = 0;
|
||||
}
|
||||
}}' $temp
|
||||
echo ' { NULL, 0, 0 }
|
||||
};'
|
||||
echo '};'
|
||||
|
||||
exec > builtins.h
|
||||
cat <<\!
|
||||
@ -85,14 +84,10 @@ cat <<\!
|
||||
tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ < $temp |
|
||||
awk '{ printf "#define %s %d\n", $1, NR-1}'
|
||||
echo '
|
||||
struct builtincmd {
|
||||
const char *name;
|
||||
int code;
|
||||
int special;
|
||||
};
|
||||
#define BUILTIN_SPECIAL 0x80
|
||||
|
||||
extern int (*const builtinfunc[])(int, char **);
|
||||
extern const struct builtincmd builtincmd[];
|
||||
extern const unsigned char builtincmd[];
|
||||
'
|
||||
awk '{ printf "int %s(int, char **);\n", $1}' $temp
|
||||
rm -f $temp
|
||||
|
@ -89,7 +89,6 @@ static struct str *nodestr[MAXTYPES]; /* type of structure used by the node */
|
||||
static int nstr; /* number of structures */
|
||||
static struct str str[MAXTYPES]; /* the structures */
|
||||
static struct str *curstr; /* current structure */
|
||||
static FILE *infp;
|
||||
static char line[1024];
|
||||
static int linno;
|
||||
static char *linep;
|
||||
@ -102,7 +101,7 @@ static void outfunc(FILE *, int);
|
||||
static void indent(int, FILE *);
|
||||
static int nextfield(char *);
|
||||
static void skipbl(void);
|
||||
static int readline(void);
|
||||
static int readline(FILE *);
|
||||
static void error(const char *, ...) __printf0like(1, 2) __dead2;
|
||||
static char *savestr(const char *);
|
||||
|
||||
@ -110,17 +109,19 @@ static char *savestr(const char *);
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
FILE *infp;
|
||||
|
||||
if (argc != 3)
|
||||
error("usage: mknodes file");
|
||||
infp = stdin;
|
||||
if ((infp = fopen(argv[1], "r")) == NULL)
|
||||
error("Can't open %s: %s", argv[1], strerror(errno));
|
||||
while (readline()) {
|
||||
while (readline(infp)) {
|
||||
if (line[0] == ' ' || line[0] == '\t')
|
||||
parsefield();
|
||||
else if (line[0] != '\0')
|
||||
parsenode();
|
||||
}
|
||||
fclose(infp);
|
||||
output(argv[2]);
|
||||
exit(0);
|
||||
}
|
||||
@ -253,6 +254,10 @@ output(char *file)
|
||||
fputs("union node *getfuncnode(struct funcdef *);\n", hfile);
|
||||
fputs("void reffunc(struct funcdef *);\n", hfile);
|
||||
fputs("void unreffunc(struct funcdef *);\n", hfile);
|
||||
if (ferror(hfile))
|
||||
error("Can't write to nodes.h");
|
||||
if (fclose(hfile))
|
||||
error("Can't close nodes.h");
|
||||
|
||||
fputs(writer, cfile);
|
||||
while (fgets(line, sizeof line, patfile) != NULL) {
|
||||
@ -266,6 +271,11 @@ output(char *file)
|
||||
else
|
||||
fputs(line, cfile);
|
||||
}
|
||||
fclose(patfile);
|
||||
if (ferror(cfile))
|
||||
error("Can't write to nodes.c");
|
||||
if (fclose(cfile))
|
||||
error("Can't close nodes.c");
|
||||
}
|
||||
|
||||
|
||||
@ -296,10 +306,10 @@ outfunc(FILE *cfile, int calcsize)
|
||||
else
|
||||
fputs(" return NULL;\n", cfile);
|
||||
if (calcsize)
|
||||
fputs(" funcblocksize += nodesize[n->type];\n", cfile);
|
||||
fputs(" result->blocksize += nodesize[n->type];\n", cfile);
|
||||
else {
|
||||
fputs(" new = funcblock;\n", cfile);
|
||||
fputs(" funcblock = (char *)funcblock + nodesize[n->type];\n", cfile);
|
||||
fputs(" new = state->block;\n", cfile);
|
||||
fputs(" state->block = (char *)state->block + nodesize[n->type];\n", cfile);
|
||||
}
|
||||
fputs(" switch (n->type) {\n", cfile);
|
||||
for (sp = str ; sp < &str[nstr] ; sp++) {
|
||||
@ -313,33 +323,33 @@ outfunc(FILE *cfile, int calcsize)
|
||||
case T_NODE:
|
||||
if (calcsize) {
|
||||
indent(12, cfile);
|
||||
fprintf(cfile, "calcsize(n->%s.%s);\n",
|
||||
fprintf(cfile, "calcsize(n->%s.%s, result);\n",
|
||||
sp->tag, fp->name);
|
||||
} else {
|
||||
indent(12, cfile);
|
||||
fprintf(cfile, "new->%s.%s = copynode(n->%s.%s);\n",
|
||||
fprintf(cfile, "new->%s.%s = copynode(n->%s.%s, state);\n",
|
||||
sp->tag, fp->name, sp->tag, fp->name);
|
||||
}
|
||||
break;
|
||||
case T_NODELIST:
|
||||
if (calcsize) {
|
||||
indent(12, cfile);
|
||||
fprintf(cfile, "sizenodelist(n->%s.%s);\n",
|
||||
fprintf(cfile, "sizenodelist(n->%s.%s, result);\n",
|
||||
sp->tag, fp->name);
|
||||
} else {
|
||||
indent(12, cfile);
|
||||
fprintf(cfile, "new->%s.%s = copynodelist(n->%s.%s);\n",
|
||||
fprintf(cfile, "new->%s.%s = copynodelist(n->%s.%s, state);\n",
|
||||
sp->tag, fp->name, sp->tag, fp->name);
|
||||
}
|
||||
break;
|
||||
case T_STRING:
|
||||
if (calcsize) {
|
||||
indent(12, cfile);
|
||||
fprintf(cfile, "funcstringsize += strlen(n->%s.%s) + 1;\n",
|
||||
fprintf(cfile, "result->stringsize += strlen(n->%s.%s) + 1;\n",
|
||||
sp->tag, fp->name);
|
||||
} else {
|
||||
indent(12, cfile);
|
||||
fprintf(cfile, "new->%s.%s = nodesavestr(n->%s.%s);\n",
|
||||
fprintf(cfile, "new->%s.%s = nodesavestr(n->%s.%s, state);\n",
|
||||
sp->tag, fp->name, sp->tag, fp->name);
|
||||
}
|
||||
break;
|
||||
@ -401,7 +411,7 @@ skipbl(void)
|
||||
|
||||
|
||||
static int
|
||||
readline(void)
|
||||
readline(FILE *infp)
|
||||
{
|
||||
char *p;
|
||||
|
||||
|
@ -46,19 +46,24 @@
|
||||
#include "mystring.h"
|
||||
|
||||
|
||||
static int funcblocksize; /* size of structures in function */
|
||||
static int funcstringsize; /* size of strings in node */
|
||||
static pointer funcblock; /* block to allocate function from */
|
||||
static char *funcstring; /* block to allocate strings from */
|
||||
struct nodesize {
|
||||
int blocksize; /* size of structures in function */
|
||||
int stringsize; /* size of strings in node */
|
||||
};
|
||||
|
||||
struct nodecopystate {
|
||||
pointer block; /* block to allocate function from */
|
||||
char *string; /* block to allocate strings from */
|
||||
};
|
||||
|
||||
%SIZES
|
||||
|
||||
|
||||
static void calcsize(union node *);
|
||||
static void sizenodelist(struct nodelist *);
|
||||
static union node *copynode(union node *);
|
||||
static struct nodelist *copynodelist(struct nodelist *);
|
||||
static char *nodesavestr(const char *);
|
||||
static void calcsize(union node *, struct nodesize *);
|
||||
static void sizenodelist(struct nodelist *, struct nodesize *);
|
||||
static union node *copynode(union node *, struct nodecopystate *);
|
||||
static struct nodelist *copynodelist(struct nodelist *, struct nodecopystate *);
|
||||
static char *nodesavestr(const char *, struct nodecopystate *);
|
||||
|
||||
|
||||
struct funcdef {
|
||||
@ -73,18 +78,20 @@ struct funcdef {
|
||||
struct funcdef *
|
||||
copyfunc(union node *n)
|
||||
{
|
||||
struct nodesize sz;
|
||||
struct nodecopystate st;
|
||||
struct funcdef *fn;
|
||||
|
||||
if (n == NULL)
|
||||
return NULL;
|
||||
funcblocksize = offsetof(struct funcdef, n);
|
||||
funcstringsize = 0;
|
||||
calcsize(n);
|
||||
fn = ckmalloc(funcblocksize + funcstringsize);
|
||||
sz.blocksize = offsetof(struct funcdef, n);
|
||||
sz.stringsize = 0;
|
||||
calcsize(n, &sz);
|
||||
fn = ckmalloc(sz.blocksize + sz.stringsize);
|
||||
fn->refcount = 1;
|
||||
funcblock = (char *)fn + offsetof(struct funcdef, n);
|
||||
funcstring = (char *)fn + funcblocksize;
|
||||
copynode(n);
|
||||
st.block = (char *)fn + offsetof(struct funcdef, n);
|
||||
st.string = (char *)fn + sz.blocksize;
|
||||
copynode(n, &st);
|
||||
return fn;
|
||||
}
|
||||
|
||||
@ -97,7 +104,7 @@ getfuncnode(struct funcdef *fn)
|
||||
|
||||
|
||||
static void
|
||||
calcsize(union node *n)
|
||||
calcsize(union node *n, struct nodesize *result)
|
||||
{
|
||||
%CALCSIZE
|
||||
}
|
||||
@ -105,11 +112,11 @@ calcsize(union node *n)
|
||||
|
||||
|
||||
static void
|
||||
sizenodelist(struct nodelist *lp)
|
||||
sizenodelist(struct nodelist *lp, struct nodesize *result)
|
||||
{
|
||||
while (lp) {
|
||||
funcblocksize += ALIGN(sizeof(struct nodelist));
|
||||
calcsize(lp->n);
|
||||
result->blocksize += ALIGN(sizeof(struct nodelist));
|
||||
calcsize(lp->n, result);
|
||||
lp = lp->next;
|
||||
}
|
||||
}
|
||||
@ -117,7 +124,7 @@ sizenodelist(struct nodelist *lp)
|
||||
|
||||
|
||||
static union node *
|
||||
copynode(union node *n)
|
||||
copynode(union node *n, struct nodecopystate *state)
|
||||
{
|
||||
union node *new;
|
||||
|
||||
@ -127,16 +134,17 @@ copynode(union node *n)
|
||||
|
||||
|
||||
static struct nodelist *
|
||||
copynodelist(struct nodelist *lp)
|
||||
copynodelist(struct nodelist *lp, struct nodecopystate *state)
|
||||
{
|
||||
struct nodelist *start;
|
||||
struct nodelist **lpp;
|
||||
|
||||
lpp = &start;
|
||||
while (lp) {
|
||||
*lpp = funcblock;
|
||||
funcblock = (char *)funcblock + ALIGN(sizeof(struct nodelist));
|
||||
(*lpp)->n = copynode(lp->n);
|
||||
*lpp = state->block;
|
||||
state->block = (char *)state->block +
|
||||
ALIGN(sizeof(struct nodelist));
|
||||
(*lpp)->n = copynode(lp->n, state);
|
||||
lp = lp->next;
|
||||
lpp = &(*lpp)->next;
|
||||
}
|
||||
@ -147,15 +155,15 @@ copynodelist(struct nodelist *lp)
|
||||
|
||||
|
||||
static char *
|
||||
nodesavestr(const char *s)
|
||||
nodesavestr(const char *s, struct nodecopystate *state)
|
||||
{
|
||||
const char *p = s;
|
||||
char *q = funcstring;
|
||||
char *rtn = funcstring;
|
||||
char *q = state->string;
|
||||
char *rtn = state->string;
|
||||
|
||||
while ((*q++ = *p++) != '\0')
|
||||
continue;
|
||||
funcstring = q;
|
||||
state->string = q;
|
||||
return rtn;
|
||||
}
|
||||
|
||||
|
@ -10,4 +10,6 @@ TESTS_SUBDIRS+= parameters
|
||||
TESTS_SUBDIRS+= parser
|
||||
TESTS_SUBDIRS+= set-e
|
||||
|
||||
SUBDIR_PARALLEL=
|
||||
|
||||
.include <bsd.test.mk>
|
||||
|
@ -94,6 +94,7 @@ FILES+= getopts5.0
|
||||
FILES+= getopts6.0
|
||||
FILES+= getopts7.0
|
||||
FILES+= getopts8.0 getopts8.0.stdout
|
||||
FILES+= getopts9.0 getopts9.0.stdout
|
||||
FILES+= hash1.0 hash1.0.stdout
|
||||
FILES+= hash2.0 hash2.0.stdout
|
||||
FILES+= hash3.0 hash3.0.stdout
|
||||
|
@ -90,5 +90,6 @@ FILES+= trim5.0
|
||||
FILES+= trim6.0
|
||||
FILES+= trim7.0
|
||||
FILES+= trim8.0
|
||||
FILES+= trim9.0
|
||||
|
||||
.include <bsd.test.mk>
|
||||
|
61
bin/sh/tests/expansion/trim9.0
Normal file
61
bin/sh/tests/expansion/trim9.0
Normal file
@ -0,0 +1,61 @@
|
||||
# $FreeBSD$
|
||||
|
||||
# POSIX does not specify these but they occasionally occur in the wild.
|
||||
# This just serves to keep working what currently works.
|
||||
|
||||
failures=''
|
||||
ok=''
|
||||
|
||||
testcase() {
|
||||
code="$1"
|
||||
expected="$2"
|
||||
oIFS="$IFS"
|
||||
eval "$code"
|
||||
IFS='|'
|
||||
result="$#|$*"
|
||||
IFS="$oIFS"
|
||||
if [ "x$result" = "x$expected" ]; then
|
||||
ok=x$ok
|
||||
else
|
||||
failures=x$failures
|
||||
echo "For $code, expected $expected actual $result"
|
||||
fi
|
||||
}
|
||||
|
||||
testcase 'shift $#; set -- "${*#Q}"' '1|'
|
||||
testcase 'shift $#; set -- "${*##Q}"' '1|'
|
||||
testcase 'shift $#; set -- "${*%Q}"' '1|'
|
||||
testcase 'shift $#; set -- "${*%%Q}"' '1|'
|
||||
testcase 'set -- Q R; set -- "${*#Q}"' '1| R'
|
||||
testcase 'set -- Q R; set -- "${*##Q}"' '1| R'
|
||||
testcase 'set -- Q R; set -- "${*%R}"' '1|Q '
|
||||
testcase 'set -- Q R; set -- "${*%%R}"' '1|Q '
|
||||
testcase 'set -- Q R; set -- "${*#S}"' '1|Q R'
|
||||
testcase 'set -- Q R; set -- "${*##S}"' '1|Q R'
|
||||
testcase 'set -- Q R; set -- "${*%S}"' '1|Q R'
|
||||
testcase 'set -- Q R; set -- "${*%%S}"' '1|Q R'
|
||||
testcase 'set -- Q R; set -- ${*#Q}' '1|R'
|
||||
testcase 'set -- Q R; set -- ${*##Q}' '1|R'
|
||||
testcase 'set -- Q R; set -- ${*%R}' '1|Q'
|
||||
testcase 'set -- Q R; set -- ${*%%R}' '1|Q'
|
||||
testcase 'set -- Q R; set -- ${*#S}' '2|Q|R'
|
||||
testcase 'set -- Q R; set -- ${*##S}' '2|Q|R'
|
||||
testcase 'set -- Q R; set -- ${*%S}' '2|Q|R'
|
||||
testcase 'set -- Q R; set -- ${*%%S}' '2|Q|R'
|
||||
testcase 'set -- Q R; set -- ${@#Q}' '1|R'
|
||||
testcase 'set -- Q R; set -- ${@##Q}' '1|R'
|
||||
testcase 'set -- Q R; set -- ${@%R}' '1|Q'
|
||||
testcase 'set -- Q R; set -- ${@%%R}' '1|Q'
|
||||
testcase 'set -- Q R; set -- ${@#S}' '2|Q|R'
|
||||
testcase 'set -- Q R; set -- ${@##S}' '2|Q|R'
|
||||
testcase 'set -- Q R; set -- ${@%S}' '2|Q|R'
|
||||
testcase 'set -- Q R; set -- ${@%%S}' '2|Q|R'
|
||||
testcase 'set -- Q R; set -- "${@#Q}"' '2||R'
|
||||
testcase 'set -- Q R; set -- "${@%R}"' '2|Q|'
|
||||
testcase 'set -- Q R; set -- "${@%%R}"' '2|Q|'
|
||||
testcase 'set -- Q R; set -- "${@#S}"' '2|Q|R'
|
||||
testcase 'set -- Q R; set -- "${@##S}"' '2|Q|R'
|
||||
testcase 'set -- Q R; set -- "${@%S}"' '2|Q|R'
|
||||
testcase 'set -- Q R; set -- "${@%%S}"' '2|Q|R'
|
||||
|
||||
test "x$failures" = x
|
@ -20,6 +20,8 @@ FILES+= positional4.0
|
||||
FILES+= positional5.0
|
||||
FILES+= positional6.0
|
||||
FILES+= positional7.0
|
||||
FILES+= positional8.0
|
||||
FILES+= positional9.0
|
||||
FILES+= pwd1.0
|
||||
FILES+= pwd2.0
|
||||
|
||||
|
31
bin/sh/tests/parameters/positional8.0
Normal file
31
bin/sh/tests/parameters/positional8.0
Normal file
@ -0,0 +1,31 @@
|
||||
# $FreeBSD$
|
||||
|
||||
failures=''
|
||||
ok=''
|
||||
|
||||
testcase() {
|
||||
code="$1"
|
||||
expected="$2"
|
||||
oIFS="$IFS"
|
||||
eval "$code"
|
||||
IFS='|'
|
||||
result="$#|$*"
|
||||
IFS="$oIFS"
|
||||
if [ "x$result" = "x$expected" ]; then
|
||||
ok=x$ok
|
||||
else
|
||||
failures=x$failures
|
||||
echo "For $code, expected $expected actual $result"
|
||||
fi
|
||||
}
|
||||
|
||||
testcase 'shift $#; set -- ""$*' '1|'
|
||||
testcase 'shift $#; set -- $*""' '1|'
|
||||
testcase 'shift $#; set -- ""$@' '1|'
|
||||
testcase 'shift $#; set -- $@""' '1|'
|
||||
testcase 'shift $#; set -- """$*"' '1|'
|
||||
testcase 'shift $#; set -- "$*"""' '1|'
|
||||
testcase 'shift $#; set -- """$@"' '1|'
|
||||
testcase 'shift $#; set -- "$@"""' '1|'
|
||||
|
||||
test "x$failures" = x
|
18
bin/sh/tests/parameters/positional9.0
Normal file
18
bin/sh/tests/parameters/positional9.0
Normal file
@ -0,0 +1,18 @@
|
||||
# $FreeBSD$
|
||||
# Although POSIX leaves the result of expanding ${#@} and ${#*} unspecified,
|
||||
# make sure it is at least numeric.
|
||||
|
||||
set -- bb cc ddd
|
||||
set -f
|
||||
lengths=${#*}${#@}"${#*}${#@}"$(echo ${#*}${#@}"${#*}${#@}")
|
||||
IFS=
|
||||
lengths=$lengths${#*}${#@}"${#*}${#@}"$(echo ${#*}${#@}"${#*}${#@}")
|
||||
case $lengths in
|
||||
*[!0-9]*)
|
||||
printf 'bad: %s\n' "$lengths"
|
||||
exit 3 ;;
|
||||
????????????????*) ;;
|
||||
*)
|
||||
printf 'too short: %s\n' "$lengths"
|
||||
exit 3 ;;
|
||||
esac
|
@ -330,7 +330,7 @@ setvareq(char *s, int flags)
|
||||
if (vp->flags & VREADONLY) {
|
||||
if ((flags & (VTEXTFIXED|VSTACK)) == 0)
|
||||
ckfree(s);
|
||||
error("%.*s: is read only", vp->name_len, s);
|
||||
error("%.*s: is read only", vp->name_len, vp->text);
|
||||
}
|
||||
if (flags & VNOSET) {
|
||||
if ((flags & (VTEXTFIXED|VSTACK)) == 0)
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
#-
|
||||
# Copyright (c) June 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
|
||||
# All rights reserved.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
@ -31,7 +31,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
# force a specified test program, e.g. `env test=/bin/test sh regress.sh'
|
||||
: ${test=test}
|
||||
: ${test=test}
|
||||
|
||||
t ()
|
||||
{
|
||||
@ -54,13 +54,13 @@ t ()
|
||||
count=0
|
||||
echo "1..130"
|
||||
|
||||
t 0 'b = b'
|
||||
t 0 'b == b'
|
||||
t 1 'b != b'
|
||||
t 0 '\( b = b \)'
|
||||
t 0 '\( b == b \)'
|
||||
t 1 '! \( b = b \)'
|
||||
t 1 '! \( b == b \)'
|
||||
t 0 'b = b'
|
||||
t 0 'b == b'
|
||||
t 1 'b != b'
|
||||
t 0 '\( b = b \)'
|
||||
t 0 '\( b == b \)'
|
||||
t 1 '! \( b = b \)'
|
||||
t 1 '! \( b == b \)'
|
||||
t 1 '! -f /etc/passwd'
|
||||
|
||||
t 0 '-h = -h'
|
||||
|
@ -2,10 +2,13 @@
|
||||
|
||||
.include <src.opts.mk>
|
||||
|
||||
SUBDIR= lib sbin usr.bin usr.sbin
|
||||
SUBDIR= lib .WAIT \
|
||||
sbin usr.bin usr.sbin
|
||||
|
||||
.if ${MK_TESTS} != "no"
|
||||
SUBDIR+=tests
|
||||
.endif
|
||||
|
||||
SUBDIR_PARALLEL=
|
||||
|
||||
.include <bsd.subdir.mk>
|
||||
|
@ -1,2 +1,3 @@
|
||||
Sun, 25 Jan 2004 13:00:00 PST
|
||||
2004 Jan 25 13:00:00
|
||||
|
||||
|
@ -0,0 +1,99 @@
|
||||
#
|
||||
# This file and its contents are supplied under the terms of the
|
||||
# Common Development and Distribution License ("CDDL"), version 1.0.
|
||||
# You may only use this file in accordance with the terms of version
|
||||
# 1.0 of the CDDL.
|
||||
#
|
||||
# A full copy of the text of the CDDL should have accompanied this
|
||||
# source. A copy of the CDDL is also available via the Internet at
|
||||
# http://www.illumos.org/license/CDDL.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2015, Joyent, Inc. All rights reserved.
|
||||
#
|
||||
|
||||
#
|
||||
# This test assures that we can have the same provider name across multiple
|
||||
# probe definitions, and that the result will be the union of those
|
||||
# definitions. In particular, libusdt depends on this when (for example)
|
||||
# node modules that create a provider are loaded multiple times due to
|
||||
# being included by different modules.
|
||||
#
|
||||
|
||||
if [ $# != 1 ]; then
|
||||
echo expected one argument: '<'dtrace-path'>'
|
||||
exit 2
|
||||
fi
|
||||
|
||||
dtrace=$1
|
||||
DIR=/var/tmp/dtest.$$
|
||||
|
||||
mkdir $DIR
|
||||
cd $DIR
|
||||
|
||||
cat > test.c <<EOF
|
||||
#include <unistd.h>
|
||||
|
||||
void
|
||||
main()
|
||||
{
|
||||
EOF
|
||||
|
||||
objs=
|
||||
|
||||
for oogle in bagnoogle stalloogle cockoogle; do
|
||||
cat > $oogle.c <<EOF
|
||||
#include <sys/sdt.h>
|
||||
|
||||
void
|
||||
$oogle()
|
||||
{
|
||||
DTRACE_PROBE(doogle, $oogle);
|
||||
}
|
||||
EOF
|
||||
|
||||
cat > $oogle.d <<EOF
|
||||
provider doogle {
|
||||
probe $oogle();
|
||||
};
|
||||
EOF
|
||||
|
||||
cc -c $oogle.c
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
print -u2 "failed to compile $oogle.c"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
$dtrace -G -s $oogle.d $oogle.o -o $oogle.d.o
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
print -u2 "failed to process $oogle.d"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
objs="$objs $oogle.o $oogle.d.o"
|
||||
echo $oogle'();' >> test.c
|
||||
done
|
||||
|
||||
echo "}" >> test.c
|
||||
|
||||
cc -o test test.c $objs
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
print -u2 "failed to compile test.c"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
$dtrace -n 'doogle$target:::{@[probename] = count()}' \
|
||||
-n 'END{printa("%-10s %@d\n", @)}' -x quiet -x aggsortkey -Zc ./test
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
print -u2 "failed to execute test"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd /
|
||||
rm -rf $DIR
|
||||
exit 0
|
@ -0,0 +1,4 @@
|
||||
bagnoogle 1
|
||||
cockoogle 1
|
||||
stalloogle 1
|
||||
|
@ -515,7 +515,7 @@ getsym(struct ps_prochandle *P, uintptr_t addr, char *buf, size_t size,
|
||||
|
||||
if (P == NULL || Pxlookup_by_addr(P, addr, name, sizeof (name),
|
||||
&sym, &info) != 0) {
|
||||
(void) snprintf(buf, size, "%#lx", addr);
|
||||
(void) snprintf(buf, size, "%#lx", (unsigned long)addr);
|
||||
return (0);
|
||||
}
|
||||
#ifdef illumos
|
||||
@ -537,7 +537,7 @@ getsym(struct ps_prochandle *P, uintptr_t addr, char *buf, size_t size,
|
||||
size -= len;
|
||||
|
||||
if (sym.st_value != addr)
|
||||
len = snprintf(buf, size, "+%#lx", addr - sym.st_value);
|
||||
len = snprintf(buf, size, "+%#lx", (unsigned long)(addr - sym.st_value));
|
||||
|
||||
if (nolocks && strcmp("libc.so.1", map->pr_mapname) == 0 &&
|
||||
(strstr("mutex", name) == 0 ||
|
||||
|
@ -3657,7 +3657,8 @@ main(int argc, char **argv)
|
||||
|
||||
kernel_init(FREAD);
|
||||
g_zfs = libzfs_init();
|
||||
ASSERT(g_zfs != NULL);
|
||||
if (g_zfs == NULL)
|
||||
fatal("Fail to initialize zfs");
|
||||
|
||||
if (dump_all)
|
||||
verbose = MAX(verbose, 1);
|
||||
|
@ -18,7 +18,7 @@
|
||||
.\" information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
.\"
|
||||
.\" Copyright (c) 2010, Sun Microsystems, Inc. All Rights Reserved.
|
||||
.\" Copyright (c) 2014 by Delphix. All rights reserved.
|
||||
.\" Copyright (c) 2011, 2014 by Delphix. All rights reserved.
|
||||
.\" Copyright (c) 2011, Pawel Jakub Dawidek <pjd@FreeBSD.org>
|
||||
.\" Copyright (c) 2012, Glen Barber <gjb@FreeBSD.org>
|
||||
.\" Copyright (c) 2012, Bryan Drewery <bdrewery@FreeBSD.org>
|
||||
@ -31,7 +31,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd September 14, 2015
|
||||
.Dd October 24, 2015
|
||||
.Dt ZFS 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -117,7 +117,7 @@
|
||||
.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
|
||||
.Nm
|
||||
.Cm set
|
||||
.Ar property Ns = Ns Ar value
|
||||
.Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns ...
|
||||
.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ...
|
||||
.Nm
|
||||
.Cm get
|
||||
@ -272,8 +272,10 @@
|
||||
.Ar tag snapshot Ns ...
|
||||
.Nm
|
||||
.Cm holds
|
||||
.Op Fl r
|
||||
.Ar snapshot Ns ...
|
||||
.Op Fl Hp
|
||||
.Op Fl r Ns | Ns Fl d Ar depth
|
||||
.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns
|
||||
.Ns ...
|
||||
.Nm
|
||||
.Cm release
|
||||
.Op Fl r
|
||||
@ -2121,14 +2123,14 @@ option, but sorts by property in descending order.
|
||||
.It Xo
|
||||
.Nm
|
||||
.Cm set
|
||||
.Ar property Ns = Ns Ar value
|
||||
.Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns ...
|
||||
.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
|
||||
.Xc
|
||||
.Pp
|
||||
Sets the property to the given value for each dataset. Only some properties can
|
||||
be edited. See the "Properties" section for more information on what properties
|
||||
can be set and acceptable values. Numeric values can be specified as exact
|
||||
values, or in a human-readable form with a suffix of
|
||||
Sets the property or list of properties to the given value(s) for each dataset.
|
||||
Only some properties can be edited. See the "Properties" section for more
|
||||
information on what properties can be set and acceptable values. Numeric values
|
||||
can be specified as exact values, or in a human-readable form with a suffix of
|
||||
.Sy B , K , M , G , T , P , E , Z
|
||||
(for bytes, kilobytes, megabytes, gigabytes, terabytes, petabytes, exabytes, or
|
||||
zettabytes, respectively). User properties can be set on snapshots. For more
|
||||
@ -3159,15 +3161,26 @@ snapshots of all descendent file systems.
|
||||
.It Xo
|
||||
.Nm
|
||||
.Cm holds
|
||||
.Op Fl r
|
||||
.Ar snapshot Ns ...
|
||||
.Op Fl Hp
|
||||
.Op Fl r Ns | Ns Fl d Ar depth
|
||||
.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns
|
||||
.Ns ...
|
||||
.Xc
|
||||
.Pp
|
||||
Lists all existing user references for the given snapshot or snapshots.
|
||||
Lists all existing user references for the given dataset or datasets.
|
||||
.Bl -tag -width indent
|
||||
.It Fl H
|
||||
Used for scripting mode. Do not print headers and separate fields by a single
|
||||
tab instead of arbitrary white space.
|
||||
.It Fl p
|
||||
Display numbers in parsable (exact) values.
|
||||
.It Fl r
|
||||
Lists the holds that are set on the named descendent snapshots, in addition to
|
||||
listing the holds on the named snapshot.
|
||||
Lists the holds that are set on the descendent snapshots of the named datasets
|
||||
or snapshots, in addition to listing the holds on the named snapshots, if any.
|
||||
.It Fl d Ar depth
|
||||
Recursively display any holds on the named snapshots, or descendent snapshots of
|
||||
the named datasets or snapshots, limiting the recursion to
|
||||
.Ar depth .
|
||||
.El
|
||||
.It Xo
|
||||
.Nm
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2014 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2011, 2015 by Delphix. All rights reserved.
|
||||
* Copyright 2012 Milan Jurik. All rights reserved.
|
||||
* Copyright (c) 2012, Joyent, Inc. All rights reserved.
|
||||
* Copyright (c) 2011-2012 Pawel Jakub Dawidek <pawel@dawidek.net>.
|
||||
@ -283,7 +283,7 @@ get_usage(zfs_help_t idx)
|
||||
"<filesystem|volume|snapshot>\n"
|
||||
"\tsend [-nvPe] -t <receive_resume_token>\n"));
|
||||
case HELP_SET:
|
||||
return (gettext("\tset <property=value> "
|
||||
return (gettext("\tset <property=value> ... "
|
||||
"<filesystem|volume|snapshot> ...\n"));
|
||||
case HELP_SHARE:
|
||||
return (gettext("\tshare <-a | filesystem>\n"));
|
||||
@ -329,7 +329,8 @@ get_usage(zfs_help_t idx)
|
||||
case HELP_HOLD:
|
||||
return (gettext("\thold [-r] <tag> <snapshot> ...\n"));
|
||||
case HELP_HOLDS:
|
||||
return (gettext("\tholds [-r] <snapshot> ...\n"));
|
||||
return (gettext("\tholds [-Hp] [-r|-d depth] "
|
||||
"<filesystem|volume|snapshot> ...\n"));
|
||||
case HELP_RELEASE:
|
||||
return (gettext("\trelease [-r] <tag> <snapshot> ...\n"));
|
||||
case HELP_DIFF:
|
||||
@ -498,6 +499,10 @@ usage(boolean_t requested)
|
||||
exit(requested ? 0 : 2);
|
||||
}
|
||||
|
||||
/*
|
||||
* Take a property=value argument string and add it to the given nvlist.
|
||||
* Modifies the argument inplace.
|
||||
*/
|
||||
static int
|
||||
parseprop(nvlist_t *props, char *propname)
|
||||
{
|
||||
@ -505,7 +510,7 @@ parseprop(nvlist_t *props, char *propname)
|
||||
|
||||
if ((propval = strchr(propname, '=')) == NULL) {
|
||||
(void) fprintf(stderr, gettext("missing "
|
||||
"'=' for -o option\n"));
|
||||
"'=' for property=value argument\n"));
|
||||
return (-1);
|
||||
}
|
||||
*propval = '\0';
|
||||
@ -632,7 +637,7 @@ zfs_do_clone(int argc, char **argv)
|
||||
while ((c = getopt(argc, argv, "o:p")) != -1) {
|
||||
switch (c) {
|
||||
case 'o':
|
||||
if (parseprop(props, optarg))
|
||||
if (parseprop(props, optarg) != 0)
|
||||
return (1);
|
||||
break;
|
||||
case 'p':
|
||||
@ -841,10 +846,12 @@ zfs_do_create(int argc, char **argv)
|
||||
|
||||
if (type == ZFS_TYPE_VOLUME && !noreserve) {
|
||||
zpool_handle_t *zpool_handle;
|
||||
nvlist_t *real_props;
|
||||
uint64_t spa_version;
|
||||
char *p;
|
||||
zfs_prop_t resv_prop;
|
||||
char *strval;
|
||||
char msg[1024];
|
||||
|
||||
if (p = strchr(argv[0], '/'))
|
||||
*p = '\0';
|
||||
@ -855,12 +862,22 @@ zfs_do_create(int argc, char **argv)
|
||||
goto error;
|
||||
spa_version = zpool_get_prop_int(zpool_handle,
|
||||
ZPOOL_PROP_VERSION, NULL);
|
||||
zpool_close(zpool_handle);
|
||||
if (spa_version >= SPA_VERSION_REFRESERVATION)
|
||||
resv_prop = ZFS_PROP_REFRESERVATION;
|
||||
else
|
||||
resv_prop = ZFS_PROP_RESERVATION;
|
||||
volsize = zvol_volsize_to_reservation(volsize, props);
|
||||
|
||||
(void) snprintf(msg, sizeof (msg),
|
||||
gettext("cannot create '%s'"), argv[0]);
|
||||
if (props && (real_props = zfs_valid_proplist(g_zfs, type,
|
||||
props, 0, NULL, zpool_handle, msg)) == NULL) {
|
||||
zpool_close(zpool_handle);
|
||||
goto error;
|
||||
}
|
||||
zpool_close(zpool_handle);
|
||||
|
||||
volsize = zvol_volsize_to_reservation(volsize, real_props);
|
||||
nvlist_free(real_props);
|
||||
|
||||
if (nvlist_lookup_string(props, zfs_prop_to_name(resv_prop),
|
||||
&strval) != 0) {
|
||||
@ -3532,21 +3549,17 @@ out:
|
||||
}
|
||||
|
||||
/*
|
||||
* zfs set property=value { fs | snap | vol } ...
|
||||
* zfs set property=value ... { fs | snap | vol } ...
|
||||
*
|
||||
* Sets the given property for all datasets specified on the command line.
|
||||
* Sets the given properties for all datasets specified on the command line.
|
||||
*/
|
||||
typedef struct set_cbdata {
|
||||
char *cb_propname;
|
||||
char *cb_value;
|
||||
} set_cbdata_t;
|
||||
|
||||
static int
|
||||
set_callback(zfs_handle_t *zhp, void *data)
|
||||
{
|
||||
set_cbdata_t *cbp = data;
|
||||
nvlist_t *props = data;
|
||||
|
||||
if (zfs_prop_set(zhp, cbp->cb_propname, cbp->cb_value) != 0) {
|
||||
if (zfs_prop_set_list(zhp, props) != 0) {
|
||||
switch (libzfs_errno(g_zfs)) {
|
||||
case EZFS_MOUNTFAILED:
|
||||
(void) fprintf(stderr, gettext("property may be set "
|
||||
@ -3565,7 +3578,8 @@ set_callback(zfs_handle_t *zhp, void *data)
|
||||
static int
|
||||
zfs_do_set(int argc, char **argv)
|
||||
{
|
||||
set_cbdata_t cb;
|
||||
nvlist_t *props = NULL;
|
||||
int ds_start = -1; /* argv idx of first dataset arg */
|
||||
int ret = 0;
|
||||
|
||||
/* check for options */
|
||||
@ -3577,36 +3591,51 @@ zfs_do_set(int argc, char **argv)
|
||||
|
||||
/* check number of arguments */
|
||||
if (argc < 2) {
|
||||
(void) fprintf(stderr, gettext("missing property=value "
|
||||
"argument\n"));
|
||||
(void) fprintf(stderr, gettext("missing arguments\n"));
|
||||
usage(B_FALSE);
|
||||
}
|
||||
if (argc < 3) {
|
||||
(void) fprintf(stderr, gettext("missing dataset name\n"));
|
||||
if (strchr(argv[1], '=') == NULL) {
|
||||
(void) fprintf(stderr, gettext("missing property=value "
|
||||
"argument(s)\n"));
|
||||
} else {
|
||||
(void) fprintf(stderr, gettext("missing dataset "
|
||||
"name(s)\n"));
|
||||
}
|
||||
usage(B_FALSE);
|
||||
}
|
||||
|
||||
/* validate property=value argument */
|
||||
cb.cb_propname = argv[1];
|
||||
if (((cb.cb_value = strchr(cb.cb_propname, '=')) == NULL) ||
|
||||
(cb.cb_value[1] == '\0')) {
|
||||
(void) fprintf(stderr, gettext("missing value in "
|
||||
"property=value argument\n"));
|
||||
/* validate argument order: prop=val args followed by dataset args */
|
||||
for (int i = 1; i < argc; i++) {
|
||||
if (strchr(argv[i], '=') != NULL) {
|
||||
if (ds_start > 0) {
|
||||
/* out-of-order prop=val argument */
|
||||
(void) fprintf(stderr, gettext("invalid "
|
||||
"argument order\n"), i);
|
||||
usage(B_FALSE);
|
||||
}
|
||||
} else if (ds_start < 0) {
|
||||
ds_start = i;
|
||||
}
|
||||
}
|
||||
if (ds_start < 0) {
|
||||
(void) fprintf(stderr, gettext("missing dataset name(s)\n"));
|
||||
usage(B_FALSE);
|
||||
}
|
||||
|
||||
*cb.cb_value = '\0';
|
||||
cb.cb_value++;
|
||||
|
||||
if (*cb.cb_propname == '\0') {
|
||||
(void) fprintf(stderr,
|
||||
gettext("missing property in property=value argument\n"));
|
||||
usage(B_FALSE);
|
||||
/* Populate a list of property settings */
|
||||
if (nvlist_alloc(&props, NV_UNIQUE_NAME, 0) != 0)
|
||||
nomem();
|
||||
for (int i = 1; i < ds_start; i++) {
|
||||
if ((ret = parseprop(props, argv[i])) != 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
ret = zfs_for_each(argc - 2, argv + 2, 0,
|
||||
ZFS_TYPE_DATASET, NULL, NULL, 0, set_callback, &cb);
|
||||
ret = zfs_for_each(argc - ds_start, argv + ds_start, 0,
|
||||
ZFS_TYPE_DATASET, NULL, NULL, 0, set_callback, props);
|
||||
|
||||
error:
|
||||
nvlist_free(props);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
@ -5515,7 +5544,8 @@ typedef struct holds_cbdata {
|
||||
*
|
||||
*/
|
||||
static void
|
||||
print_holds(boolean_t scripted, size_t nwidth, size_t tagwidth, nvlist_t *nvl)
|
||||
print_holds(boolean_t scripted, boolean_t literal, size_t nwidth,
|
||||
size_t tagwidth, nvlist_t *nvl)
|
||||
{
|
||||
int i;
|
||||
nvpair_t *nvp = NULL;
|
||||
@ -5548,10 +5578,14 @@ print_holds(boolean_t scripted, size_t nwidth, size_t tagwidth, nvlist_t *nvl)
|
||||
size_t sepnum = scripted ? 1 : 2;
|
||||
|
||||
(void) nvpair_value_uint64(nvp2, &val);
|
||||
time = (time_t)val;
|
||||
(void) localtime_r(&time, &t);
|
||||
(void) strftime(tsbuf, DATETIME_BUF_LEN,
|
||||
gettext(STRFTIME_FMT_STR), &t);
|
||||
if (literal)
|
||||
snprintf(tsbuf, DATETIME_BUF_LEN, "%llu", val);
|
||||
else {
|
||||
time = (time_t)val;
|
||||
(void) localtime_r(&time, &t);
|
||||
(void) strftime(tsbuf, DATETIME_BUF_LEN,
|
||||
gettext(STRFTIME_FMT_STR), &t);
|
||||
}
|
||||
|
||||
(void) printf("%-*s%*c%-*s%*c%s\n", nwidth, zname,
|
||||
sepnum, sep, tagwidth, tagname, sepnum, sep, tsbuf);
|
||||
@ -5572,7 +5606,7 @@ holds_callback(zfs_handle_t *zhp, void *data)
|
||||
const char *zname = zfs_get_name(zhp);
|
||||
size_t znamelen = strnlen(zname, ZFS_MAXNAMELEN);
|
||||
|
||||
if (cbp->cb_recursive) {
|
||||
if (cbp->cb_recursive && cbp->cb_snapname != NULL) {
|
||||
const char *snapname;
|
||||
char *delim = strchr(zname, '@');
|
||||
if (delim == NULL)
|
||||
@ -5600,9 +5634,12 @@ holds_callback(zfs_handle_t *zhp, void *data)
|
||||
}
|
||||
|
||||
/*
|
||||
* zfs holds [-r] <snap> ...
|
||||
* zfs holds [-Hp] [-r | -d max] <dataset|snap> ...
|
||||
*
|
||||
* -r Recursively hold
|
||||
* -H Suppress header output
|
||||
* -p Output literal values
|
||||
* -r Recursively search for holds
|
||||
* -d max Limit depth of recursive search
|
||||
*/
|
||||
static int
|
||||
zfs_do_holds(int argc, char **argv)
|
||||
@ -5611,8 +5648,9 @@ zfs_do_holds(int argc, char **argv)
|
||||
int c;
|
||||
int i;
|
||||
boolean_t scripted = B_FALSE;
|
||||
boolean_t literal = B_FALSE;
|
||||
boolean_t recursive = B_FALSE;
|
||||
const char *opts = "rH";
|
||||
const char *opts = "d:rHp";
|
||||
nvlist_t *nvl;
|
||||
|
||||
int types = ZFS_TYPE_SNAPSHOT;
|
||||
@ -5625,12 +5663,19 @@ zfs_do_holds(int argc, char **argv)
|
||||
/* check options */
|
||||
while ((c = getopt(argc, argv, opts)) != -1) {
|
||||
switch (c) {
|
||||
case 'd':
|
||||
limit = parse_depth(optarg, &flags);
|
||||
recursive = B_TRUE;
|
||||
break;
|
||||
case 'r':
|
||||
recursive = B_TRUE;
|
||||
break;
|
||||
case 'H':
|
||||
scripted = B_TRUE;
|
||||
break;
|
||||
case 'p':
|
||||
literal = B_TRUE;
|
||||
break;
|
||||
case '?':
|
||||
(void) fprintf(stderr, gettext("invalid option '%c'\n"),
|
||||
optopt);
|
||||
@ -5656,18 +5701,14 @@ zfs_do_holds(int argc, char **argv)
|
||||
for (i = 0; i < argc; ++i) {
|
||||
char *snapshot = argv[i];
|
||||
const char *delim;
|
||||
const char *snapname;
|
||||
const char *snapname = NULL;
|
||||
|
||||
delim = strchr(snapshot, '@');
|
||||
if (delim == NULL) {
|
||||
(void) fprintf(stderr,
|
||||
gettext("'%s' is not a snapshot\n"), snapshot);
|
||||
++errors;
|
||||
continue;
|
||||
if (delim != NULL) {
|
||||
snapname = delim + 1;
|
||||
if (recursive)
|
||||
snapshot[delim - snapshot] = '\0';
|
||||
}
|
||||
snapname = delim + 1;
|
||||
if (recursive)
|
||||
snapshot[delim - snapshot] = '\0';
|
||||
|
||||
cb.cb_recursive = recursive;
|
||||
cb.cb_snapname = snapname;
|
||||
@ -5685,7 +5726,8 @@ zfs_do_holds(int argc, char **argv)
|
||||
/*
|
||||
* 2. print holds data
|
||||
*/
|
||||
print_holds(scripted, cb.cb_max_namelen, cb.cb_max_taglen, nvl);
|
||||
print_holds(scripted, literal, cb.cb_max_namelen, cb.cb_max_taglen,
|
||||
nvl);
|
||||
|
||||
if (nvlist_empty(nvl))
|
||||
(void) printf(gettext("no datasets available\n"));
|
||||
|
@ -199,7 +199,8 @@ static boolean_t log_history = B_TRUE;
|
||||
static uint_t timestamp_fmt = NODATE;
|
||||
|
||||
static const char *
|
||||
get_usage(zpool_help_t idx) {
|
||||
get_usage(zpool_help_t idx)
|
||||
{
|
||||
switch (idx) {
|
||||
case HELP_ADD:
|
||||
return (gettext("\tadd [-fn] <pool> <vdev> ...\n"));
|
||||
@ -2940,6 +2941,9 @@ print_list_stats(zpool_handle_t *zhp, const char *name, nvlist_t *nv,
|
||||
uint_t c, children;
|
||||
char *vname;
|
||||
boolean_t scripted = cb->cb_scripted;
|
||||
uint64_t islog = B_FALSE;
|
||||
boolean_t haslog = B_FALSE;
|
||||
char *dashes = "%-*s - - - - - -\n";
|
||||
|
||||
verify(nvlist_lookup_uint64_array(nv, ZPOOL_CONFIG_VDEV_STATS,
|
||||
(uint64_t **)&vs, &c) == 0);
|
||||
@ -2990,24 +2994,47 @@ print_list_stats(zpool_handle_t *zhp, const char *name, nvlist_t *nv,
|
||||
ZPOOL_CONFIG_IS_HOLE, &ishole) == 0 && ishole)
|
||||
continue;
|
||||
|
||||
if (nvlist_lookup_uint64(child[c],
|
||||
ZPOOL_CONFIG_IS_LOG, &islog) == 0 && islog) {
|
||||
haslog = B_TRUE;
|
||||
continue;
|
||||
}
|
||||
|
||||
vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE);
|
||||
print_list_stats(zhp, vname, child[c], cb, depth + 2);
|
||||
free(vname);
|
||||
}
|
||||
|
||||
/*
|
||||
* Include level 2 ARC devices in iostat output
|
||||
*/
|
||||
if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_L2CACHE,
|
||||
&child, &children) != 0)
|
||||
return;
|
||||
|
||||
if (children > 0) {
|
||||
(void) printf("%-*s - - - - - "
|
||||
"-\n", cb->cb_namewidth, "cache");
|
||||
if (haslog == B_TRUE) {
|
||||
/* LINTED E_SEC_PRINTF_VAR_FMT */
|
||||
(void) printf(dashes, cb->cb_namewidth, "log");
|
||||
for (c = 0; c < children; c++) {
|
||||
vname = zpool_vdev_name(g_zfs, zhp, child[c],
|
||||
B_FALSE);
|
||||
if (nvlist_lookup_uint64(child[c], ZPOOL_CONFIG_IS_LOG,
|
||||
&islog) != 0 || !islog)
|
||||
continue;
|
||||
vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE);
|
||||
print_list_stats(zhp, vname, child[c], cb, depth + 2);
|
||||
free(vname);
|
||||
}
|
||||
}
|
||||
|
||||
if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_L2CACHE,
|
||||
&child, &children) == 0 && children > 0) {
|
||||
/* LINTED E_SEC_PRINTF_VAR_FMT */
|
||||
(void) printf(dashes, cb->cb_namewidth, "cache");
|
||||
for (c = 0; c < children; c++) {
|
||||
vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE);
|
||||
print_list_stats(zhp, vname, child[c], cb, depth + 2);
|
||||
free(vname);
|
||||
}
|
||||
}
|
||||
|
||||
if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_SPARES, &child,
|
||||
&children) == 0 && children > 0) {
|
||||
/* LINTED E_SEC_PRINTF_VAR_FMT */
|
||||
(void) printf(dashes, cb->cb_namewidth, "spare");
|
||||
for (c = 0; c < children; c++) {
|
||||
vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE);
|
||||
print_list_stats(zhp, vname, child[c], cb, depth + 2);
|
||||
free(vname);
|
||||
}
|
||||
|
@ -571,12 +571,6 @@ dt_pid_usdt_mapping(void *data, const prmap_t *pmp, const char *oname)
|
||||
prsyminfo_t sip;
|
||||
dof_helper_t dh;
|
||||
GElf_Half e_type;
|
||||
#ifdef __FreeBSD__
|
||||
dof_hdr_t hdr;
|
||||
size_t sz;
|
||||
uint64_t dofmax;
|
||||
void *dof;
|
||||
#endif
|
||||
const char *mname;
|
||||
const char *syms[] = { "___SUNW_dof", "__SUNW_dof" };
|
||||
int i, fd = -1;
|
||||
@ -606,61 +600,25 @@ dt_pid_usdt_mapping(void *data, const prmap_t *pmp, const char *oname)
|
||||
continue;
|
||||
}
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
dh.dofhp_addr = (e_type == ET_EXEC) ? 0 : pmp->pr_vaddr;
|
||||
if (Pread(P, &hdr, sizeof (hdr), sym.st_value) !=
|
||||
sizeof (hdr)) {
|
||||
dt_dprintf("read of DOF header failed\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
sz = sizeof(dofmax);
|
||||
if (sysctlbyname("kern.dtrace.dof_maxsize", &dofmax, &sz,
|
||||
NULL, 0) != 0) {
|
||||
dt_dprintf("failed to read dof_maxsize: %s\n",
|
||||
strerror(errno));
|
||||
continue;
|
||||
}
|
||||
if (dofmax < hdr.dofh_loadsz) {
|
||||
dt_dprintf("DOF load size exceeds maximum\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((dof = malloc(hdr.dofh_loadsz)) == NULL)
|
||||
return (-1);
|
||||
|
||||
if (Pread(P, dof, hdr.dofh_loadsz, sym.st_value) !=
|
||||
hdr.dofh_loadsz) {
|
||||
free(dof);
|
||||
dt_dprintf("read of DOF section failed\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
dh.dofhp_dof = (uintptr_t)dof;
|
||||
dh.dofhp_pid = proc_getpid(P);
|
||||
|
||||
dt_pid_objname(dh.dofhp_mod, sizeof (dh.dofhp_mod),
|
||||
sip.prs_lmid, mname);
|
||||
|
||||
if (fd == -1 &&
|
||||
(fd = open("/dev/dtrace/helper", O_RDWR, 0)) < 0) {
|
||||
dt_dprintf("open of helper device failed: %s\n",
|
||||
strerror(errno));
|
||||
free(dof);
|
||||
return (-1); /* errno is set for us */
|
||||
}
|
||||
|
||||
if (ioctl(fd, DTRACEHIOC_ADDDOF, &dh, sizeof (dh)) < 0)
|
||||
dt_dprintf("DOF was rejected for %s\n", dh.dofhp_mod);
|
||||
|
||||
free(dof);
|
||||
#else
|
||||
dh.dofhp_dof = sym.st_value;
|
||||
dh.dofhp_addr = (e_type == ET_EXEC) ? 0 : pmp->pr_vaddr;
|
||||
|
||||
dt_pid_objname(dh.dofhp_mod, sizeof (dh.dofhp_mod),
|
||||
sip.prs_lmid, mname);
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
dh.dofhp_pid = proc_getpid(P);
|
||||
|
||||
if (fd == -1 &&
|
||||
(fd = open("/dev/dtrace/helper", O_RDWR, 0)) < 0) {
|
||||
dt_dprintf("open of helper device failed: %s\n",
|
||||
strerror(errno));
|
||||
return (-1); /* errno is set for us */
|
||||
}
|
||||
|
||||
if (ioctl(fd, DTRACEHIOC_ADDDOF, &dh, sizeof (dh)) < 0)
|
||||
dt_dprintf("DOF was rejected for %s\n", dh.dofhp_mod);
|
||||
#else
|
||||
if (fd == -1 &&
|
||||
(fd = pr_open(P, "/dev/dtrace/helper", O_RDWR, 0)) < 0) {
|
||||
dt_dprintf("pr_open of helper device failed: %s\n",
|
||||
|
@ -23,7 +23,7 @@
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011 Pawel Jakub Dawidek <pawel@dawidek.net>.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2013 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2011, 2015 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2012, Joyent, Inc. All rights reserved.
|
||||
* Copyright (c) 2012 Martin Matuska <mm@FreeBSD.org>. All rights reserved.
|
||||
* Copyright (c) 2013 Steven Hartland. All rights reserved.
|
||||
@ -426,10 +426,11 @@ extern const char *zfs_prop_column_name(zfs_prop_t);
|
||||
extern boolean_t zfs_prop_align_right(zfs_prop_t);
|
||||
|
||||
extern nvlist_t *zfs_valid_proplist(libzfs_handle_t *, zfs_type_t,
|
||||
nvlist_t *, uint64_t, zfs_handle_t *, const char *);
|
||||
nvlist_t *, uint64_t, zfs_handle_t *, zpool_handle_t *, const char *);
|
||||
|
||||
extern const char *zfs_prop_to_name(zfs_prop_t);
|
||||
extern int zfs_prop_set(zfs_handle_t *, const char *, const char *);
|
||||
extern int zfs_prop_set_list(zfs_handle_t *, nvlist_t *);
|
||||
extern int zfs_prop_get(zfs_handle_t *, zfs_prop_t, char *, size_t,
|
||||
zprop_source_t *, char *, size_t, boolean_t);
|
||||
extern int zfs_prop_get_recvd(zfs_handle_t *, const char *, char *, size_t,
|
||||
|
@ -22,7 +22,7 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
|
||||
* Copyright (c) 2011, 2014 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2011, 2015 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2012 DEY Storage Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2011-2012 Pawel Jakub Dawidek <pawel@dawidek.net>.
|
||||
* All rights reserved.
|
||||
@ -890,7 +890,8 @@ zfs_which_resv_prop(zfs_handle_t *zhp, zfs_prop_t *resv_prop)
|
||||
*/
|
||||
nvlist_t *
|
||||
zfs_valid_proplist(libzfs_handle_t *hdl, zfs_type_t type, nvlist_t *nvl,
|
||||
uint64_t zoned, zfs_handle_t *zhp, const char *errbuf)
|
||||
uint64_t zoned, zfs_handle_t *zhp, zpool_handle_t *zpool_hdl,
|
||||
const char *errbuf)
|
||||
{
|
||||
nvpair_t *elem;
|
||||
uint64_t intval;
|
||||
@ -1084,8 +1085,8 @@ zfs_valid_proplist(libzfs_handle_t *hdl, zfs_type_t type, nvlist_t *nvl,
|
||||
case ZFS_PROP_RECORDSIZE:
|
||||
{
|
||||
int maxbs = SPA_MAXBLOCKSIZE;
|
||||
if (zhp != NULL) {
|
||||
maxbs = zpool_get_prop_int(zhp->zpool_hdl,
|
||||
if (zpool_hdl != NULL) {
|
||||
maxbs = zpool_get_prop_int(zpool_hdl,
|
||||
ZPOOL_PROP_MAXBLOCKSIZE, NULL);
|
||||
}
|
||||
/*
|
||||
@ -1403,6 +1404,7 @@ zfs_add_synthetic_resv(zfs_handle_t *zhp, nvlist_t *nvl)
|
||||
uint64_t old_reservation;
|
||||
uint64_t new_reservation;
|
||||
zfs_prop_t resv_prop;
|
||||
nvlist_t *props;
|
||||
|
||||
/*
|
||||
* If this is an existing volume, and someone is setting the volsize,
|
||||
@ -1412,16 +1414,25 @@ zfs_add_synthetic_resv(zfs_handle_t *zhp, nvlist_t *nvl)
|
||||
if (zfs_which_resv_prop(zhp, &resv_prop) < 0)
|
||||
return (-1);
|
||||
old_reservation = zfs_prop_get_int(zhp, resv_prop);
|
||||
if ((zvol_volsize_to_reservation(old_volsize, zhp->zfs_props) !=
|
||||
old_reservation) || nvlist_lookup_uint64(nvl,
|
||||
zfs_prop_to_name(resv_prop), &new_reservation) != ENOENT) {
|
||||
|
||||
props = fnvlist_alloc();
|
||||
fnvlist_add_uint64(props, zfs_prop_to_name(ZFS_PROP_VOLBLOCKSIZE),
|
||||
zfs_prop_get_int(zhp, ZFS_PROP_VOLBLOCKSIZE));
|
||||
|
||||
if ((zvol_volsize_to_reservation(old_volsize, props) !=
|
||||
old_reservation) || nvlist_exists(nvl,
|
||||
zfs_prop_to_name(resv_prop))) {
|
||||
fnvlist_free(props);
|
||||
return (0);
|
||||
}
|
||||
if (nvlist_lookup_uint64(nvl, zfs_prop_to_name(ZFS_PROP_VOLSIZE),
|
||||
&new_volsize) != 0)
|
||||
&new_volsize) != 0) {
|
||||
fnvlist_free(props);
|
||||
return (-1);
|
||||
new_reservation = zvol_volsize_to_reservation(new_volsize,
|
||||
zhp->zfs_props);
|
||||
}
|
||||
new_reservation = zvol_volsize_to_reservation(new_volsize, props);
|
||||
fnvlist_free(props);
|
||||
|
||||
if (nvlist_add_uint64(nvl, zfs_prop_to_name(resv_prop),
|
||||
new_reservation) != 0) {
|
||||
(void) no_memory(zhp->zfs_hdl);
|
||||
@ -1493,6 +1504,12 @@ zfs_setprop_error(libzfs_handle_t *hdl, zfs_prop_t prop, int err,
|
||||
"property setting is not allowed on "
|
||||
"bootable datasets"));
|
||||
(void) zfs_error(hdl, EZFS_NOTSUP, errbuf);
|
||||
} else if (prop == ZFS_PROP_CHECKSUM ||
|
||||
prop == ZFS_PROP_DEDUP) {
|
||||
(void) zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"property setting is not allowed on "
|
||||
"root pools"));
|
||||
(void) zfs_error(hdl, EZFS_NOTSUP, errbuf);
|
||||
} else {
|
||||
(void) zfs_standard_error(hdl, err, errbuf);
|
||||
}
|
||||
@ -1528,15 +1545,10 @@ zfs_setprop_error(libzfs_handle_t *hdl, zfs_prop_t prop, int err,
|
||||
int
|
||||
zfs_prop_set(zfs_handle_t *zhp, const char *propname, const char *propval)
|
||||
{
|
||||
zfs_cmd_t zc = { 0 };
|
||||
int ret = -1;
|
||||
prop_changelist_t *cl = NULL;
|
||||
char errbuf[1024];
|
||||
libzfs_handle_t *hdl = zhp->zfs_hdl;
|
||||
nvlist_t *nvl = NULL, *realprops;
|
||||
zfs_prop_t prop;
|
||||
boolean_t do_prefix = B_TRUE;
|
||||
int added_resv;
|
||||
nvlist_t *nvl = NULL;
|
||||
|
||||
(void) snprintf(errbuf, sizeof (errbuf),
|
||||
dgettext(TEXT_DOMAIN, "cannot set property for '%s'"),
|
||||
@ -1548,79 +1560,149 @@ zfs_prop_set(zfs_handle_t *zhp, const char *propname, const char *propval)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if ((realprops = zfs_valid_proplist(hdl, zhp->zfs_type, nvl,
|
||||
zfs_prop_get_int(zhp, ZFS_PROP_ZONED), zhp, errbuf)) == NULL)
|
||||
goto error;
|
||||
ret = zfs_prop_set_list(zhp, nvl);
|
||||
|
||||
error:
|
||||
nvlist_free(nvl);
|
||||
nvl = realprops;
|
||||
return (ret);
|
||||
}
|
||||
|
||||
prop = zfs_name_to_prop(propname);
|
||||
|
||||
/* We don't support those properties on FreeBSD. */
|
||||
switch (prop) {
|
||||
case ZFS_PROP_DEVICES:
|
||||
case ZFS_PROP_ISCSIOPTIONS:
|
||||
case ZFS_PROP_XATTR:
|
||||
case ZFS_PROP_VSCAN:
|
||||
case ZFS_PROP_NBMAND:
|
||||
case ZFS_PROP_MLSLABEL:
|
||||
(void) snprintf(errbuf, sizeof (errbuf),
|
||||
"property '%s' not supported on FreeBSD", propname);
|
||||
ret = zfs_error(hdl, EZFS_PERM, errbuf);
|
||||
|
||||
/*
|
||||
* Given an nvlist of property names and values, set the properties for the
|
||||
* given dataset.
|
||||
*/
|
||||
int
|
||||
zfs_prop_set_list(zfs_handle_t *zhp, nvlist_t *props)
|
||||
{
|
||||
zfs_cmd_t zc = { 0 };
|
||||
int ret = -1;
|
||||
prop_changelist_t **cls = NULL;
|
||||
int cl_idx;
|
||||
char errbuf[1024];
|
||||
libzfs_handle_t *hdl = zhp->zfs_hdl;
|
||||
nvlist_t *nvl;
|
||||
int nvl_len;
|
||||
int added_resv;
|
||||
|
||||
(void) snprintf(errbuf, sizeof (errbuf),
|
||||
dgettext(TEXT_DOMAIN, "cannot set property for '%s'"),
|
||||
zhp->zfs_name);
|
||||
|
||||
if ((nvl = zfs_valid_proplist(hdl, zhp->zfs_type, props,
|
||||
zfs_prop_get_int(zhp, ZFS_PROP_ZONED), zhp, zhp->zpool_hdl,
|
||||
errbuf)) == NULL)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (prop == ZFS_PROP_VOLSIZE) {
|
||||
if ((added_resv = zfs_add_synthetic_resv(zhp, nvl)) == -1)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if ((cl = changelist_gather(zhp, prop, 0, 0)) == NULL)
|
||||
goto error;
|
||||
|
||||
if (prop == ZFS_PROP_MOUNTPOINT && changelist_haszonedchild(cl)) {
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"child dataset with inherited mountpoint is used "
|
||||
"in a non-global zone"));
|
||||
ret = zfs_error(hdl, EZFS_ZONED, errbuf);
|
||||
goto error;
|
||||
}
|
||||
|
||||
/*
|
||||
* We don't want to unmount & remount the dataset when changing
|
||||
* its canmount property to 'on' or 'noauto'. We only use
|
||||
* the changelist logic to unmount when setting canmount=off.
|
||||
* We have to check for any extra properties which need to be added
|
||||
* before computing the length of the nvlist.
|
||||
*/
|
||||
if (prop == ZFS_PROP_CANMOUNT) {
|
||||
uint64_t idx;
|
||||
int err = zprop_string_to_index(prop, propval, &idx,
|
||||
ZFS_TYPE_DATASET);
|
||||
if (err == 0 && idx != ZFS_CANMOUNT_OFF)
|
||||
do_prefix = B_FALSE;
|
||||
for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL);
|
||||
elem != NULL;
|
||||
elem = nvlist_next_nvpair(nvl, elem)) {
|
||||
if (zfs_name_to_prop(nvpair_name(elem)) == ZFS_PROP_VOLSIZE &&
|
||||
(added_resv = zfs_add_synthetic_resv(zhp, nvl)) == -1) {
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
if (do_prefix && (ret = changelist_prefix(cl)) != 0)
|
||||
/*
|
||||
* Check how many properties we're setting and allocate an array to
|
||||
* store changelist pointers for postfix().
|
||||
*/
|
||||
nvl_len = 0;
|
||||
for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL);
|
||||
elem != NULL;
|
||||
elem = nvlist_next_nvpair(nvl, elem))
|
||||
nvl_len++;
|
||||
if ((cls = calloc(nvl_len, sizeof (prop_changelist_t *))) == NULL)
|
||||
goto error;
|
||||
|
||||
cl_idx = 0;
|
||||
for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL);
|
||||
elem != NULL;
|
||||
elem = nvlist_next_nvpair(nvl, elem)) {
|
||||
|
||||
zfs_prop_t prop = zfs_name_to_prop(nvpair_name(elem));
|
||||
|
||||
assert(cl_idx < nvl_len);
|
||||
/*
|
||||
* We don't want to unmount & remount the dataset when changing
|
||||
* its canmount property to 'on' or 'noauto'. We only use
|
||||
* the changelist logic to unmount when setting canmount=off.
|
||||
*/
|
||||
if (!(prop == ZFS_PROP_CANMOUNT &&
|
||||
fnvpair_value_uint64(elem) != ZFS_CANMOUNT_OFF)) {
|
||||
cls[cl_idx] = changelist_gather(zhp, prop, 0, 0);
|
||||
if (cls[cl_idx] == NULL)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (prop == ZFS_PROP_MOUNTPOINT &&
|
||||
changelist_haszonedchild(cls[cl_idx])) {
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"child dataset with inherited mountpoint is used "
|
||||
"in a non-global zone"));
|
||||
ret = zfs_error(hdl, EZFS_ZONED, errbuf);
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* We don't support those properties on FreeBSD. */
|
||||
switch (prop) {
|
||||
case ZFS_PROP_DEVICES:
|
||||
case ZFS_PROP_ISCSIOPTIONS:
|
||||
case ZFS_PROP_XATTR:
|
||||
case ZFS_PROP_VSCAN:
|
||||
case ZFS_PROP_NBMAND:
|
||||
case ZFS_PROP_MLSLABEL:
|
||||
(void) snprintf(errbuf, sizeof (errbuf),
|
||||
"property '%s' not supported on FreeBSD",
|
||||
nvpair_name(elem));
|
||||
ret = zfs_error(hdl, EZFS_PERM, errbuf);
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (cls[cl_idx] != NULL &&
|
||||
(ret = changelist_prefix(cls[cl_idx])) != 0)
|
||||
goto error;
|
||||
|
||||
cl_idx++;
|
||||
}
|
||||
assert(cl_idx == nvl_len);
|
||||
|
||||
/*
|
||||
* Execute the corresponding ioctl() to set this property.
|
||||
* Execute the corresponding ioctl() to set this list of properties.
|
||||
*/
|
||||
(void) strlcpy(zc.zc_name, zhp->zfs_name, sizeof (zc.zc_name));
|
||||
|
||||
if (zcmd_write_src_nvlist(hdl, &zc, nvl) != 0)
|
||||
if ((ret = zcmd_write_src_nvlist(hdl, &zc, nvl)) != 0 ||
|
||||
(ret = zcmd_alloc_dst_nvlist(hdl, &zc, 0)) != 0)
|
||||
goto error;
|
||||
|
||||
ret = zfs_ioctl(hdl, ZFS_IOC_SET_PROP, &zc);
|
||||
|
||||
if (ret != 0) {
|
||||
zfs_setprop_error(hdl, prop, errno, errbuf);
|
||||
/* Get the list of unset properties back and report them. */
|
||||
nvlist_t *errorprops = NULL;
|
||||
if (zcmd_read_dst_nvlist(hdl, &zc, &errorprops) != 0)
|
||||
goto error;
|
||||
for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL);
|
||||
elem != NULL;
|
||||
elem = nvlist_next_nvpair(nvl, elem)) {
|
||||
zfs_prop_t prop = zfs_name_to_prop(nvpair_name(elem));
|
||||
zfs_setprop_error(hdl, prop, errno, errbuf);
|
||||
}
|
||||
nvlist_free(errorprops);
|
||||
|
||||
if (added_resv && errno == ENOSPC) {
|
||||
/* clean up the volsize property we tried to set */
|
||||
uint64_t old_volsize = zfs_prop_get_int(zhp,
|
||||
ZFS_PROP_VOLSIZE);
|
||||
nvlist_free(nvl);
|
||||
nvl = NULL;
|
||||
zcmd_free_nvlists(&zc);
|
||||
|
||||
if (nvlist_alloc(&nvl, NV_UNIQUE_NAME, 0) != 0)
|
||||
goto error;
|
||||
if (nvlist_add_uint64(nvl,
|
||||
@ -1632,8 +1714,13 @@ zfs_prop_set(zfs_handle_t *zhp, const char *propname, const char *propval)
|
||||
(void) zfs_ioctl(hdl, ZFS_IOC_SET_PROP, &zc);
|
||||
}
|
||||
} else {
|
||||
if (do_prefix)
|
||||
ret = changelist_postfix(cl);
|
||||
for (cl_idx = 0; cl_idx < nvl_len; cl_idx++) {
|
||||
if (cls[cl_idx] != NULL) {
|
||||
int clp_err = changelist_postfix(cls[cl_idx]);
|
||||
if (clp_err != 0)
|
||||
ret = clp_err;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Refresh the statistics so the new property value
|
||||
@ -1646,8 +1733,13 @@ zfs_prop_set(zfs_handle_t *zhp, const char *propname, const char *propval)
|
||||
error:
|
||||
nvlist_free(nvl);
|
||||
zcmd_free_nvlists(&zc);
|
||||
if (cl)
|
||||
changelist_free(cl);
|
||||
if (cls != NULL) {
|
||||
for (cl_idx = 0; cl_idx < nvl_len; cl_idx++) {
|
||||
if (cls[cl_idx] != NULL)
|
||||
changelist_free(cls[cl_idx]);
|
||||
}
|
||||
free(cls);
|
||||
}
|
||||
return (ret);
|
||||
}
|
||||
|
||||
@ -3164,9 +3256,23 @@ zfs_create(libzfs_handle_t *hdl, const char *path, zfs_type_t type,
|
||||
else
|
||||
ost = DMU_OST_ZFS;
|
||||
|
||||
/* open zpool handle for prop validation */
|
||||
char pool_path[MAXNAMELEN];
|
||||
(void) strlcpy(pool_path, path, sizeof (pool_path));
|
||||
|
||||
/* truncate pool_path at first slash */
|
||||
char *p = strchr(pool_path, '/');
|
||||
if (p != NULL)
|
||||
*p = '\0';
|
||||
|
||||
zpool_handle_t *zpool_handle = zpool_open(hdl, pool_path);
|
||||
|
||||
if (props && (props = zfs_valid_proplist(hdl, type, props,
|
||||
zoned, NULL, errbuf)) == 0)
|
||||
zoned, NULL, zpool_handle, errbuf)) == 0) {
|
||||
zpool_close(zpool_handle);
|
||||
return (-1);
|
||||
}
|
||||
zpool_close(zpool_handle);
|
||||
|
||||
if (type == ZFS_TYPE_VOLUME) {
|
||||
/*
|
||||
@ -3234,13 +3340,6 @@ zfs_create(libzfs_handle_t *hdl, const char *path, zfs_type_t type,
|
||||
"parent '%s' is not a filesystem"), parent);
|
||||
return (zfs_error(hdl, EZFS_BADTYPE, errbuf));
|
||||
|
||||
case EDOM:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"volume block size must be power of 2 from "
|
||||
"512B to 128KB"));
|
||||
|
||||
return (zfs_error(hdl, EZFS_BADPROP, errbuf));
|
||||
|
||||
case ENOTSUP:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"pool must be upgraded to set this "
|
||||
@ -3435,7 +3534,7 @@ zfs_clone(zfs_handle_t *zhp, const char *target, nvlist_t *props)
|
||||
type = ZFS_TYPE_FILESYSTEM;
|
||||
}
|
||||
if ((props = zfs_valid_proplist(hdl, type, props, zoned,
|
||||
zhp, errbuf)) == NULL)
|
||||
zhp, zhp->zpool_hdl, errbuf)) == NULL)
|
||||
return (-1);
|
||||
}
|
||||
|
||||
@ -3579,11 +3678,23 @@ zfs_snapshot_nvl(libzfs_handle_t *hdl, nvlist_t *snaps, nvlist_t *props)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* get pool handle for prop validation. assumes all snaps are in the
|
||||
* same pool, as does lzc_snapshot (below).
|
||||
*/
|
||||
char pool[MAXNAMELEN];
|
||||
elem = nvlist_next_nvpair(snaps, NULL);
|
||||
(void) strlcpy(pool, nvpair_name(elem), sizeof (pool));
|
||||
pool[strcspn(pool, "/@")] = '\0';
|
||||
zpool_handle_t *zpool_hdl = zpool_open(hdl, pool);
|
||||
|
||||
if (props != NULL &&
|
||||
(props = zfs_valid_proplist(hdl, ZFS_TYPE_SNAPSHOT,
|
||||
props, B_FALSE, NULL, errbuf)) == NULL) {
|
||||
props, B_FALSE, NULL, zpool_hdl, errbuf)) == NULL) {
|
||||
zpool_close(zpool_hdl);
|
||||
return (-1);
|
||||
}
|
||||
zpool_close(zpool_hdl);
|
||||
|
||||
ret = lzc_snapshot(snaps, props, &errors);
|
||||
|
||||
@ -4197,7 +4308,7 @@ zfs_smb_acl_mgmt(libzfs_handle_t *hdl, char *dataset, char *path,
|
||||
if (cmd == ZFS_SMB_ACL_RENAME) {
|
||||
if (nvlist_alloc(&nvlist, NV_UNIQUE_NAME, 0) != 0) {
|
||||
(void) no_memory(hdl);
|
||||
return (NULL);
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2015 Nexenta Systems, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -624,9 +625,12 @@ get_snapshot_names(differ_info_t *di, const char *fromsnap,
|
||||
|
||||
zhp = zfs_open(hdl, di->ds, ZFS_TYPE_FILESYSTEM);
|
||||
while (zhp != NULL) {
|
||||
(void) zfs_prop_get(zhp, ZFS_PROP_ORIGIN,
|
||||
origin, sizeof (origin), &src, NULL, 0, B_FALSE);
|
||||
|
||||
if (zfs_prop_get(zhp, ZFS_PROP_ORIGIN, origin,
|
||||
sizeof (origin), &src, NULL, 0, B_FALSE) != 0) {
|
||||
(void) zfs_close(zhp);
|
||||
zhp = NULL;
|
||||
break;
|
||||
}
|
||||
if (strncmp(origin, fromsnap, fsnlen) == 0)
|
||||
break;
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2013, 2015 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2012 Pawel Jakub Dawidek <pawel@dawidek.net>.
|
||||
* All rights reserved.
|
||||
* Copyright 2014 Nexenta Systems, Inc. All rights reserved.
|
||||
@ -315,7 +315,8 @@ typedef struct {
|
||||
} snapspec_arg_t;
|
||||
|
||||
static int
|
||||
snapspec_cb(zfs_handle_t *zhp, void *arg) {
|
||||
snapspec_cb(zfs_handle_t *zhp, void *arg)
|
||||
{
|
||||
snapspec_arg_t *ssa = arg;
|
||||
char *shortsnapname;
|
||||
int err = 0;
|
||||
|
@ -22,7 +22,7 @@
|
||||
/*
|
||||
* Copyright 2015 Nexenta Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2014 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2011, 2015 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
@ -402,29 +402,6 @@ bootfs_name_valid(const char *pool, char *bootfs)
|
||||
return (B_FALSE);
|
||||
}
|
||||
|
||||
/*
|
||||
* Inspect the configuration to determine if any of the devices contain
|
||||
* an EFI label.
|
||||
*/
|
||||
static boolean_t
|
||||
pool_uses_efi(nvlist_t *config)
|
||||
{
|
||||
#ifdef illumos
|
||||
nvlist_t **child;
|
||||
uint_t c, children;
|
||||
|
||||
if (nvlist_lookup_nvlist_array(config, ZPOOL_CONFIG_CHILDREN,
|
||||
&child, &children) != 0)
|
||||
return (read_efi_label(config, NULL) >= 0);
|
||||
|
||||
for (c = 0; c < children; c++) {
|
||||
if (pool_uses_efi(child[c]))
|
||||
return (B_TRUE);
|
||||
}
|
||||
#endif /* illumos */
|
||||
return (B_FALSE);
|
||||
}
|
||||
|
||||
boolean_t
|
||||
zpool_is_bootable(zpool_handle_t *zhp)
|
||||
{
|
||||
@ -453,7 +430,6 @@ zpool_valid_proplist(libzfs_handle_t *hdl, const char *poolname,
|
||||
char *slash, *check;
|
||||
struct stat64 statbuf;
|
||||
zpool_handle_t *zhp;
|
||||
nvlist_t *nvroot;
|
||||
|
||||
if (nvlist_alloc(&retprops, NV_UNIQUE_NAME, 0) != 0) {
|
||||
(void) no_memory(hdl);
|
||||
@ -572,23 +548,6 @@ zpool_valid_proplist(libzfs_handle_t *hdl, const char *poolname,
|
||||
(void) zfs_error(hdl, EZFS_OPENFAILED, errbuf);
|
||||
goto error;
|
||||
}
|
||||
verify(nvlist_lookup_nvlist(zpool_get_config(zhp, NULL),
|
||||
ZPOOL_CONFIG_VDEV_TREE, &nvroot) == 0);
|
||||
|
||||
#ifdef illumos
|
||||
/*
|
||||
* bootfs property cannot be set on a disk which has
|
||||
* been EFI labeled.
|
||||
*/
|
||||
if (pool_uses_efi(nvroot)) {
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"property '%s' not supported on "
|
||||
"EFI labeled devices"), propname);
|
||||
(void) zfs_error(hdl, EZFS_POOL_NOTSUP, errbuf);
|
||||
zpool_close(zhp);
|
||||
goto error;
|
||||
}
|
||||
#endif /* illumos */
|
||||
zpool_close(zhp);
|
||||
break;
|
||||
|
||||
@ -1164,8 +1123,8 @@ zpool_create(libzfs_handle_t *hdl, const char *pool, nvlist_t *nvroot,
|
||||
zfs_prop_to_name(ZFS_PROP_ZONED), &zonestr) == 0) &&
|
||||
strcmp(zonestr, "on") == 0);
|
||||
|
||||
if ((zc_fsprops = zfs_valid_proplist(hdl,
|
||||
ZFS_TYPE_FILESYSTEM, fsprops, zoned, NULL, msg)) == NULL) {
|
||||
if ((zc_fsprops = zfs_valid_proplist(hdl, ZFS_TYPE_FILESYSTEM,
|
||||
fsprops, zoned, NULL, NULL, msg)) == NULL) {
|
||||
goto create_failed;
|
||||
}
|
||||
if (!zc_props &&
|
||||
@ -1201,6 +1160,21 @@ zpool_create(libzfs_handle_t *hdl, const char *pool, nvlist_t *nvroot,
|
||||
"one or more vdevs refer to the same device"));
|
||||
return (zfs_error(hdl, EZFS_BADDEV, msg));
|
||||
|
||||
case ERANGE:
|
||||
/*
|
||||
* This happens if the record size is smaller or larger
|
||||
* than the allowed size range, or not a power of 2.
|
||||
*
|
||||
* NOTE: although zfs_valid_proplist is called earlier,
|
||||
* this case may have slipped through since the
|
||||
* pool does not exist yet and it is therefore
|
||||
* impossible to read properties e.g. max blocksize
|
||||
* from the pool.
|
||||
*/
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"record size invalid"));
|
||||
return (zfs_error(hdl, EZFS_BADPROP, msg));
|
||||
|
||||
case EOVERFLOW:
|
||||
/*
|
||||
* This occurs when one of the devices is below
|
||||
@ -1311,25 +1285,6 @@ zpool_add(zpool_handle_t *zhp, nvlist_t *nvroot)
|
||||
return (zfs_error(hdl, EZFS_BADVERSION, msg));
|
||||
}
|
||||
|
||||
if (zpool_is_bootable(zhp) && nvlist_lookup_nvlist_array(nvroot,
|
||||
ZPOOL_CONFIG_SPARES, &spares, &nspares) == 0) {
|
||||
uint64_t s;
|
||||
|
||||
for (s = 0; s < nspares; s++) {
|
||||
char *path;
|
||||
|
||||
if (nvlist_lookup_string(spares[s], ZPOOL_CONFIG_PATH,
|
||||
&path) == 0 && pool_uses_efi(spares[s])) {
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"device '%s' contains an EFI label and "
|
||||
"cannot be used on root pools."),
|
||||
zpool_vdev_name(hdl, NULL, spares[s],
|
||||
B_FALSE));
|
||||
return (zfs_error(hdl, EZFS_POOL_NOTSUP, msg));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (zpool_get_prop_int(zhp, ZPOOL_PROP_VERSION, NULL) <
|
||||
SPA_VERSION_L2CACHE &&
|
||||
nvlist_lookup_nvlist_array(nvroot, ZPOOL_CONFIG_L2CACHE,
|
||||
@ -1930,7 +1885,8 @@ zpool_scan(zpool_handle_t *zhp, pool_scan_func_t func)
|
||||
* and the like.
|
||||
*/
|
||||
static int
|
||||
ctd_check_path(char *str) {
|
||||
ctd_check_path(char *str)
|
||||
{
|
||||
/*
|
||||
* If it starts with a slash, check the last component.
|
||||
*/
|
||||
@ -2350,11 +2306,9 @@ zpool_get_config_physpath(nvlist_t *config, char *physpath, size_t phypath_size)
|
||||
return (EZFS_INVALCONFIG);
|
||||
|
||||
/*
|
||||
* root pool can not have EFI labeled disks and can only have
|
||||
* a single top-level vdev.
|
||||
* root pool can only have a single top-level vdev.
|
||||
*/
|
||||
if (strcmp(type, VDEV_TYPE_ROOT) != 0 || count != 1 ||
|
||||
pool_uses_efi(vdev_root))
|
||||
if (strcmp(type, VDEV_TYPE_ROOT) != 0 || count != 1)
|
||||
return (EZFS_POOL_INVALARG);
|
||||
|
||||
(void) vdev_get_physpaths(child[0], physpath, phypath_size, &rsz,
|
||||
@ -2658,16 +2612,6 @@ zpool_vdev_attach(zpool_handle_t *zhp,
|
||||
(void) snprintf(msg, sizeof (msg), dgettext(TEXT_DOMAIN,
|
||||
"cannot attach %s to %s"), new_disk, old_disk);
|
||||
|
||||
/*
|
||||
* If this is a root pool, make sure that we're not attaching an
|
||||
* EFI labeled device.
|
||||
*/
|
||||
if (rootpool && pool_uses_efi(nvroot)) {
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"EFI labeled devices are not supported on root pools."));
|
||||
return (zfs_error(hdl, EZFS_POOL_NOTSUP, msg));
|
||||
}
|
||||
|
||||
(void) strlcpy(zc.zc_name, zhp->zpool_name, sizeof (zc.zc_name));
|
||||
if ((tgt = zpool_find_vdev(zhp, old_disk, &avail_spare, &l2cache,
|
||||
&islog)) == 0)
|
||||
@ -3786,17 +3730,18 @@ zpool_history_unpack(char *buf, uint64_t bytes_read, uint64_t *leftover,
|
||||
int
|
||||
zpool_get_history(zpool_handle_t *zhp, nvlist_t **nvhisp)
|
||||
{
|
||||
char *buf = NULL;
|
||||
uint64_t bufsize = HIS_BUF_LEN_DEF;
|
||||
char *buf;
|
||||
uint64_t buflen = HIS_BUF_LEN_DEF;
|
||||
uint64_t off = 0;
|
||||
nvlist_t **records = NULL;
|
||||
uint_t numrecords = 0;
|
||||
int err, i;
|
||||
|
||||
if ((buf = malloc(bufsize)) == NULL)
|
||||
buf = malloc(buflen);
|
||||
if (buf == NULL)
|
||||
return (ENOMEM);
|
||||
do {
|
||||
uint64_t bytes_read = bufsize;
|
||||
uint64_t bytes_read = buflen;
|
||||
uint64_t leftover;
|
||||
|
||||
if ((err = get_history(zhp, buf, &off, &bytes_read)) != 0)
|
||||
@ -3810,18 +3755,16 @@ zpool_get_history(zpool_handle_t *zhp, nvlist_t **nvhisp)
|
||||
&leftover, &records, &numrecords)) != 0)
|
||||
break;
|
||||
off -= leftover;
|
||||
|
||||
/*
|
||||
* If the history block is too big, double the buffer
|
||||
* size and try again.
|
||||
*/
|
||||
if (leftover == bytes_read) {
|
||||
/*
|
||||
* no progress made, because buffer is not big enough
|
||||
* to hold this record; resize and retry.
|
||||
*/
|
||||
buflen *= 2;
|
||||
free(buf);
|
||||
buf = NULL;
|
||||
|
||||
bufsize <<= 1;
|
||||
if ((bufsize >= HIS_BUF_LEN_MAX) ||
|
||||
((buf = malloc(bufsize)) == NULL)) {
|
||||
if ((buflen >= HIS_BUF_LEN_MAX) ||
|
||||
((buf = malloc(buflen)) == NULL)) {
|
||||
err = ENOMEM;
|
||||
break;
|
||||
}
|
||||
@ -3829,6 +3772,7 @@ zpool_get_history(zpool_handle_t *zhp, nvlist_t **nvhisp)
|
||||
|
||||
/* CONSTCOND */
|
||||
} while (1);
|
||||
|
||||
free(buf);
|
||||
|
||||
if (!err) {
|
||||
@ -3981,13 +3925,6 @@ zpool_label_disk(libzfs_handle_t *hdl, zpool_handle_t *zhp, const char *name)
|
||||
if (zhp) {
|
||||
nvlist_t *nvroot;
|
||||
|
||||
if (zpool_is_bootable(zhp)) {
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"EFI labeled devices are not supported on root "
|
||||
"pools."));
|
||||
return (zfs_error(hdl, EZFS_POOL_NOTSUP, errbuf));
|
||||
}
|
||||
|
||||
verify(nvlist_lookup_nvlist(zhp->zpool_config,
|
||||
ZPOOL_CONFIG_VDEV_TREE, &nvroot) == 0);
|
||||
|
||||
|
@ -1423,7 +1423,7 @@ zfs_send_resume_token_to_nvlist(libzfs_handle_t *hdl, const char *token)
|
||||
|
||||
/* verify checksum */
|
||||
zio_cksum_t cksum;
|
||||
fletcher_4_native(compressed, len, &cksum);
|
||||
fletcher_4_native(compressed, len, NULL, &cksum);
|
||||
if (cksum.zc_word[0] != checksum) {
|
||||
free(compressed);
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
|
@ -22,7 +22,7 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
|
||||
* Copyright (c) 2012 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2011, 2015 by Delphix. All rights reserved.
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -782,8 +782,9 @@ zcmd_alloc_dst_nvlist(libzfs_handle_t *hdl, zfs_cmd_t *zc, size_t len)
|
||||
if (len == 0)
|
||||
len = 16 * 1024;
|
||||
zc->zc_nvlist_dst_size = len;
|
||||
if ((zc->zc_nvlist_dst = (uint64_t)(uintptr_t)
|
||||
zfs_alloc(hdl, zc->zc_nvlist_dst_size)) == 0)
|
||||
zc->zc_nvlist_dst =
|
||||
(uint64_t)(uintptr_t)zfs_alloc(hdl, zc->zc_nvlist_dst_size);
|
||||
if (zc->zc_nvlist_dst == 0)
|
||||
return (-1);
|
||||
|
||||
return (0);
|
||||
@ -798,9 +799,9 @@ int
|
||||
zcmd_expand_dst_nvlist(libzfs_handle_t *hdl, zfs_cmd_t *zc)
|
||||
{
|
||||
free((void *)(uintptr_t)zc->zc_nvlist_dst);
|
||||
if ((zc->zc_nvlist_dst = (uint64_t)(uintptr_t)
|
||||
zfs_alloc(hdl, zc->zc_nvlist_dst_size))
|
||||
== 0)
|
||||
zc->zc_nvlist_dst =
|
||||
(uint64_t)(uintptr_t)zfs_alloc(hdl, zc->zc_nvlist_dst_size);
|
||||
if (zc->zc_nvlist_dst == 0)
|
||||
return (-1);
|
||||
|
||||
return (0);
|
||||
@ -815,6 +816,9 @@ zcmd_free_nvlists(zfs_cmd_t *zc)
|
||||
free((void *)(uintptr_t)zc->zc_nvlist_conf);
|
||||
free((void *)(uintptr_t)zc->zc_nvlist_src);
|
||||
free((void *)(uintptr_t)zc->zc_nvlist_dst);
|
||||
zc->zc_nvlist_conf = NULL;
|
||||
zc->zc_nvlist_src = NULL;
|
||||
zc->zc_nvlist_dst = NULL;
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -20,7 +20,7 @@
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2014 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2012, 2015 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
@ -523,7 +523,7 @@ vn_openat(char *path, int x1, int flags, int mode, vnode_t **vpp, int x2,
|
||||
/*ARGSUSED*/
|
||||
int
|
||||
vn_rdwr(int uio, vnode_t *vp, void *addr, ssize_t len, offset_t offset,
|
||||
int x1, int x2, rlim64_t x3, void *x4, ssize_t *residp)
|
||||
int x1, int x2, rlim64_t x3, void *x4, ssize_t *residp)
|
||||
{
|
||||
ssize_t iolen, split;
|
||||
|
||||
|
@ -683,6 +683,10 @@ tdesc_array_create(dwarf_t *dw, Dwarf_Die dim, tdesc_t *arrtdp,
|
||||
ar->ad_nelems = uval + 1;
|
||||
else if (die_signed(dw, dim, DW_AT_upper_bound, &sval, 0))
|
||||
ar->ad_nelems = sval + 1;
|
||||
else if (die_unsigned(dw, dim, DW_AT_count, &uval, 0))
|
||||
ar->ad_nelems = uval;
|
||||
else if (die_signed(dw, dim, DW_AT_count, &sval, 0))
|
||||
ar->ad_nelems = sval;
|
||||
else
|
||||
ar->ad_nelems = 0;
|
||||
|
||||
|
@ -9,8 +9,8 @@ FILESGRP= ${LIBGRP}
|
||||
FILESMODE= ${LIBMODE}
|
||||
FILESDIR= ${LIBDIR}/dtrace
|
||||
CLEANFILES= ${FILES}
|
||||
LIB= drti-dummy
|
||||
INTERNALLIB=
|
||||
# These FILES qualify as libraries for the purpose of LIBRARIES_ONLY.
|
||||
.undef LIBRARIES_ONLY
|
||||
|
||||
CFLAGS+= -I${.CURDIR}/../../../sys/cddl/compat/opensolaris \
|
||||
-I${.CURDIR}/../../../cddl/compat/opensolaris/include \
|
||||
@ -20,10 +20,4 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/compat/opensolaris \
|
||||
-I${OPENSOLARIS_SYS_DISTDIR}/uts/common \
|
||||
-DPIC ${PICFLAG}
|
||||
|
||||
.if make(install) && defined(LIBRARIES_ONLY)
|
||||
install:
|
||||
${INSTALL} -o ${FILESOWN} -g ${FILESGRP} -m ${FILESMODE} \
|
||||
${FILES} ${DESTDIR}${FILESDIR}
|
||||
.endif
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -8,7 +8,6 @@ DIRDEPS = \
|
||||
lib/${CSU_DIR} \
|
||||
lib/libc \
|
||||
lib/libcompiler_rt \
|
||||
usr.bin/xinstall.host \
|
||||
|
||||
|
||||
.include <dirdeps.mk>
|
||||
|
@ -28,8 +28,6 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/compat/opensolaris \
|
||||
-I${OPENSOLARIS_USR_DISTDIR}/lib/libctf/common \
|
||||
-I${OPENSOLARIS_SYS_DISTDIR}/uts/common
|
||||
|
||||
DPADD= ${LIBZ}
|
||||
LDADD= -lz
|
||||
LIBADD+= z
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
||||
|
@ -11,7 +11,6 @@ DIRDEPS = \
|
||||
lib/libcompiler_rt \
|
||||
lib/libelf \
|
||||
lib/libz \
|
||||
usr.bin/xinstall.host \
|
||||
|
||||
|
||||
.include <dirdeps.mk>
|
||||
|
@ -15,7 +15,6 @@ DIRDEPS = \
|
||||
lib/libproc \
|
||||
lib/librtld_db \
|
||||
lib/libthr \
|
||||
usr.bin/xinstall.host \
|
||||
usr.bin/yacc.host \
|
||||
|
||||
|
||||
|
@ -10,7 +10,6 @@ DIRDEPS = \
|
||||
lib/libc \
|
||||
lib/libcompiler_rt \
|
||||
lib/msun \
|
||||
usr.bin/xinstall.host \
|
||||
|
||||
|
||||
.include <dirdeps.mk>
|
||||
|
@ -8,7 +8,6 @@ DIRDEPS = \
|
||||
lib/${CSU_DIR} \
|
||||
lib/libc \
|
||||
lib/libcompiler_rt \
|
||||
usr.bin/xinstall.host \
|
||||
|
||||
|
||||
.include <dirdeps.mk>
|
||||
|
@ -9,7 +9,6 @@ DIRDEPS = \
|
||||
lib/${CSU_DIR} \
|
||||
lib/libc \
|
||||
lib/libcompiler_rt \
|
||||
usr.bin/xinstall.host \
|
||||
|
||||
|
||||
.include <dirdeps.mk>
|
||||
|
@ -6,13 +6,7 @@
|
||||
.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzfs/common
|
||||
|
||||
LIB= zfs
|
||||
DPADD= ${LIBMD} ${LIBPTHREAD} ${LIBUMEM} ${LIBUTIL} ${LIBM} ${LIBNVPAIR} \
|
||||
${LIBAVL} ${LIBZFS_CORE} ${LIBUUTIL} ${LIBBSDXML} ${LIBGEOM} \
|
||||
${LIBNVPAIR} ${LIBZ}
|
||||
|
||||
LDADD= -lmd -lpthread -lumem -lutil -luutil -lm -lnvpair -lavl \
|
||||
-lbsdxml -lgeom -lnvpair -lz -lzfs_core
|
||||
|
||||
LIBADD= md pthread umem util uutil m avl bsdxml geom nvpair z zfs_core
|
||||
SRCS= deviceid.c \
|
||||
fsshare.c \
|
||||
mkdirp.c \
|
||||
|
@ -19,8 +19,8 @@ DIRDEPS = \
|
||||
lib/libmd \
|
||||
lib/libthr \
|
||||
lib/libutil \
|
||||
lib/libz \
|
||||
lib/msun \
|
||||
usr.bin/xinstall.host \
|
||||
|
||||
|
||||
.include <dirdeps.mk>
|
||||
|
@ -7,8 +7,7 @@
|
||||
.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzfs/common
|
||||
|
||||
LIB= zfs_core
|
||||
DPADD= ${LIBNVPAIR}
|
||||
LDADD= -lnvpair
|
||||
LIBADD= nvpair
|
||||
|
||||
SRCS= libzfs_core.c \
|
||||
libzfs_core_compat.c \
|
||||
|
@ -11,7 +11,6 @@ DIRDEPS = \
|
||||
lib/libc \
|
||||
lib/libcompiler_rt \
|
||||
lib/msun \
|
||||
usr.bin/xinstall.host \
|
||||
|
||||
|
||||
.include <dirdeps.mk>
|
||||
|
@ -56,9 +56,7 @@ CFLAGS+= -I${.CURDIR}/../../../lib/libpthread/thread
|
||||
CFLAGS+= -I${.CURDIR}/../../../lib/libpthread/sys
|
||||
CFLAGS+= -I${.CURDIR}/../../../lib/libthr/arch/${MACHINE_CPUARCH}/include
|
||||
|
||||
DPADD= ${LIBMD} ${LIBPTHREAD} ${LIBZ} ${LIBNVPAIR} \
|
||||
${LIBAVL} ${LIBUMEM}
|
||||
LDADD= -lmd -lpthread -lz -lnvpair -lavl -lumem
|
||||
LIBADD= md pthread z nvpair avl umem
|
||||
|
||||
# atomic.S doesn't like profiling.
|
||||
MK_PROFILE= no
|
||||
|
@ -16,7 +16,6 @@ DIRDEPS = \
|
||||
lib/libthr \
|
||||
lib/libz \
|
||||
lib/msun \
|
||||
usr.bin/xinstall.host \
|
||||
|
||||
|
||||
.include <dirdeps.mk>
|
||||
|
@ -22,8 +22,6 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs
|
||||
CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/sys
|
||||
CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs
|
||||
|
||||
DPADD= ${LIBGEOM} ${LIBJAIL} ${LIBNVPAIR} ${LIBUMEM} \
|
||||
${LIBUTIL} ${LIBUUTIL} ${LIBZFS_CORE} ${LIBZFS}
|
||||
LDADD= -lgeom -ljail -lnvpair -lumem -lutil -luutil -lzfs_core -lzfs
|
||||
LIBADD= jail nvpair uutil zfs_core zfs
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -22,6 +22,7 @@ DIRDEPS = \
|
||||
lib/libsbuf \
|
||||
lib/libthr \
|
||||
lib/libutil \
|
||||
lib/libz \
|
||||
lib/msun \
|
||||
|
||||
|
||||
|
@ -27,8 +27,6 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/sys
|
||||
CFLAGS+= -I${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzpool/common
|
||||
CFLAGS+= -I${.CURDIR}/../../../cddl/contrib/opensolaris/cmd/stat/common
|
||||
|
||||
DPADD= ${LIBAVL} ${LIBGEOM} ${LIBNVPAIR} \
|
||||
${LIBUMEM} ${LIBUTIL} ${LIBUUTIL} ${LIBZFS_CORE} ${LIBZFS}
|
||||
LDADD= -lavl -lgeom -lnvpair -lumem -lutil -luutil -lzfs_core -lzfs
|
||||
LIBADD= geom nvpair uutil zfs
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -21,6 +21,7 @@ DIRDEPS = \
|
||||
lib/libsbuf \
|
||||
lib/libthr \
|
||||
lib/libutil \
|
||||
lib/libz \
|
||||
lib/msun \
|
||||
|
||||
|
||||
|
@ -2,14 +2,12 @@
|
||||
# Autogenerated - do NOT edit!
|
||||
|
||||
DIRDEPS = \
|
||||
cddl/lib/libctf \
|
||||
gnu/lib/csu \
|
||||
gnu/lib/libgcc \
|
||||
include \
|
||||
include/xlocale \
|
||||
lib/${CSU_DIR} \
|
||||
lib/libc \
|
||||
lib/libc_nonshared \
|
||||
lib/libcompiler_rt \
|
||||
lib/libdwarf \
|
||||
lib/libelf \
|
||||
|
@ -8,10 +8,8 @@ DIRDEPS = \
|
||||
include/xlocale \
|
||||
lib/${CSU_DIR} \
|
||||
lib/libc \
|
||||
lib/libc_nonshared \
|
||||
lib/libcompiler_rt \
|
||||
lib/libelf \
|
||||
lib/libthr \
|
||||
lib/libz \
|
||||
|
||||
|
||||
|
@ -2,16 +2,13 @@
|
||||
# Autogenerated - do NOT edit!
|
||||
|
||||
DIRDEPS = \
|
||||
cddl/lib/libctf \
|
||||
gnu/lib/csu \
|
||||
gnu/lib/libgcc \
|
||||
include \
|
||||
include/xlocale \
|
||||
lib/${CSU_DIR} \
|
||||
lib/libc \
|
||||
lib/libc_nonshared \
|
||||
lib/libcompiler_rt \
|
||||
lib/libdwarf \
|
||||
lib/libelf \
|
||||
lib/libthr \
|
||||
lib/libz \
|
||||
|
@ -21,8 +21,6 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs/
|
||||
CFLAGS+= -I${.CURDIR}/../../contrib/opensolaris/head
|
||||
CFLAGS+= -I${.CURDIR}/../../lib/libumem
|
||||
|
||||
DPADD= ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBUMEM} ${LIBUUTIL} \
|
||||
${LIBZFS_CORE} ${LIBZFS} ${LIBZPOOL}
|
||||
LDADD= -lgeom -lm -lnvpair -lumem -luutil -lzfs_core -lzfs -lzpool
|
||||
LIBADD= geom m nvpair umem uutil zfs_core zfs zpool
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -18,9 +18,7 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common
|
||||
CFLAGS+= -I${.CURDIR}/../../contrib/opensolaris/head
|
||||
CFLAGS+= -I${.CURDIR}/../../lib/libumem
|
||||
|
||||
DPADD= ${LIBM} ${LIBNVPAIR} ${LIBUMEM} ${LIBZPOOL} \
|
||||
${LIBPTHREAD} ${LIBZ} ${LIBAVL}
|
||||
LDADD= -lm -lnvpair -lumem -lzpool -lpthread -lz -lavl
|
||||
LIBADD= m nvpair umem zpool pthread z avl
|
||||
|
||||
CSTD= c99
|
||||
|
||||
|
@ -18,10 +18,7 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common
|
||||
CFLAGS+= -I${.CURDIR}/../../contrib/opensolaris/head
|
||||
CFLAGS+= -I${.CURDIR}/../../lib/libumem
|
||||
|
||||
DPADD= ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBUMEM} ${LIBZPOOL} \
|
||||
${LIBPTHREAD} ${LIBAVL} ${LIBZFS_CORE} ${LIBZFS} ${LIBUUTIL}
|
||||
LDADD= -lgeom -lm -lnvpair -lumem -lzpool -lpthread -lavl -lzfs_core -lzfs \
|
||||
-luutil
|
||||
LIBADD= geom m nvpair umem zpool pthread avl zfs_core zfs uutil
|
||||
|
||||
CSTD= c99
|
||||
|
||||
|
@ -25,10 +25,8 @@ _zhack= zhack
|
||||
_dtrace= dtrace
|
||||
_dtruss= dtruss
|
||||
_lockstat= lockstat
|
||||
.if defined(WITH_PLOCKSTAT)
|
||||
_plockstat= plockstat
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm"
|
||||
_dtrace= dtrace
|
||||
|
@ -22,7 +22,7 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/compat/opensolaris \
|
||||
#CFLAGS+= -DNEED_ERRLOC
|
||||
#YFLAGS+= -d
|
||||
|
||||
LIBADD= dtrace
|
||||
LIBADD= dtrace ctf elf proc
|
||||
|
||||
.if ${MK_DTRACE_TESTS} != "no"
|
||||
SUBDIR+= tests
|
||||
|
@ -10,7 +10,6 @@ DIRDEPS = \
|
||||
include/xlocale \
|
||||
lib/${CSU_DIR} \
|
||||
lib/libc \
|
||||
lib/libc_nonshared \
|
||||
lib/libcompiler_rt \
|
||||
lib/libcxxrt \
|
||||
lib/libelf \
|
||||
@ -18,9 +17,7 @@ DIRDEPS = \
|
||||
lib/librtld_db \
|
||||
lib/libthr \
|
||||
lib/libutil \
|
||||
lib/liby \
|
||||
lib/libz \
|
||||
usr.bin/lex/lib \
|
||||
|
||||
|
||||
.include <dirdeps.mk>
|
||||
|
@ -186,4 +186,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -29,4 +29,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -26,4 +26,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -29,4 +29,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -19,4 +19,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -23,4 +23,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -34,4 +34,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -45,4 +45,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -15,4 +15,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -23,4 +23,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -24,4 +24,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -27,4 +27,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -29,4 +29,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
@ -21,4 +21,4 @@ CFILES= \
|
||||
|
||||
|
||||
|
||||
.include "../../Makefile.inc1"
|
||||
.include "../../dtrace.test.mk"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user