From 9ed9976cd9d49096a8b87c0dd4dc3272042f1769 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Sat, 31 Jan 2015 22:38:43 +0000 Subject: [PATCH 01/56] Fix some proc provider tests: * Avoid hard-coding program paths, except when it's necessary in order to override the use of a shell builtin. * Translate struct proc through psinfo_t so that we can access process arguments via the pr_psargs field of psinfo_t. * Replace uses of pstop and prun with kill(1). MFC after: 1 week --- .../cmd/dtrace/test/tst/common/proc/tst.discard.ksh | 7 ++++--- .../dtrace/test/tst/common/proc/tst.exitkilled.ksh | 8 ++++---- .../cmd/dtrace/test/tst/common/proc/tst.signal.ksh | 11 ++++++----- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.discard.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.discard.ksh index a81ddf9d65a..5b948407a50 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.discard.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.discard.ksh @@ -37,7 +37,8 @@ script() $dtrace -s /dev/stdin <p_pid == $child && - args[1]->pr_psargs == "$longsleep" && args[2] == SIGHUP/ + xlate(args[1])->pr_psargs == "$longsleep" && + args[2] == SIGHUP/ { exit(0); } @@ -48,7 +49,7 @@ killer() { while true; do sleep 1 - /usr/bin/kill -HUP $child + kill -HUP $child done } @@ -58,7 +59,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -longsleep="/usr/bin/sleep 10000" +longsleep="/bin/sleep 10000" /usr/bin/nohup $longsleep & child=$! diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitkilled.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitkilled.ksh index 8040ade6374..86bef760448 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitkilled.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitkilled.ksh @@ -48,7 +48,7 @@ sleeper() { while true; do $longsleep & - /usr/bin/sleep 1 + sleep 1 kill -9 $! done } @@ -59,7 +59,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -longsleep="/usr/bin/sleep 10000" +longsleep="/bin/sleep 10000" sleeper & child=$! @@ -67,9 +67,9 @@ child=$! script status=$? -pstop $child +kill -STOP $child pkill -P $child kill $child -prun $child +kill -CONT $child exit $status diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.signal.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.signal.ksh index 1caafccc3f4..cb30eaeb8bb 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.signal.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.signal.ksh @@ -37,7 +37,8 @@ script() $dtrace -s /dev/stdin <pr_ppid == $child && - args[1]->pr_psargs == "$longsleep" && args[2] == SIGUSR1/ + xlate(args[1])->pr_psargs == "$longsleep" && + args[2] == SIGUSR1/ { /* * This is guaranteed to not race with signal-handle. @@ -58,7 +59,7 @@ sleeper() while true; do $longsleep & sleep 1 - /usr/bin/kill -USR1 $! + kill -USR1 $! done } @@ -68,7 +69,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -longsleep="/usr/bin/sleep 10000" +longsleep="/bin/sleep 10000" sleeper & child=$! @@ -76,9 +77,9 @@ child=$! script status=$? -pstop $child +kill -STOP $child pkill -P $child kill $child -prun $child +kill -CONT $child exit $status From 0feb85424fe68eac6064bb0c312d27445aec4e46 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Sat, 31 Jan 2015 22:53:18 +0000 Subject: [PATCH 02/56] Fix a number of DTrace scripting tests: * Avoid hard-coding program paths. * Use -x when searching for oneself in ps(1) output. * Use the correct keyword (egid instead of pgid) in tst.egid.ksh. MFC after: 1 week --- .../tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh | 2 +- .../cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh | 2 +- .../cmd/dtrace/test/tst/common/scripting/tst.egid.ksh | 6 +++--- .../cmd/dtrace/test/tst/common/scripting/tst.euid.ksh | 6 +++--- .../cmd/dtrace/test/tst/common/scripting/tst.gid.ksh | 6 +++--- .../cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh | 6 +++--- .../cmd/dtrace/test/tst/common/scripting/tst.projid.ksh | 6 +++--- .../cmd/dtrace/test/tst/common/scripting/tst.sid.ksh | 6 +++--- .../dtrace/test/tst/common/scripting/tst.stringmacro.ksh | 2 +- .../cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh | 6 +++--- .../cmd/dtrace/test/tst/common/scripting/tst.uid.ksh | 6 +++--- 11 files changed, 27 insertions(+), 27 deletions(-) diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh index cc1e6dd9f74..3c493dffa50 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh @@ -41,7 +41,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -bname=`/bin/basename $0` +bname=`basename $0` dfilename=/var/tmp/$bname.$$.d ## Create .d file diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh index 6ec078abf29..89c6a6aebb1 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh @@ -42,7 +42,7 @@ fi dtrace=$1 -bname=`/usr/bin/basename $0` +bname=`basename $0` dfilename=/var/tmp/$bname.$$ diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh index afee24f83b7..2397db6e1b7 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh @@ -43,7 +43,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -bname=`/usr/bin/basename $0` +bname=`basename $0` dfilename=/var/tmp/$bname.$$.d ## Create .d file @@ -77,7 +77,7 @@ fi #Get the groupid of the calling process using ps -groupid=`ps -o pid,pgid | grep "$$ " | awk '{print $2}' 2>/dev/null` +groupid=`ps -x -o pid,egid | grep "$$ " | awk '{print $2}' 2>/dev/null` if [ $? -ne 0 ]; then print -u2 "unable to get uid of the current process with pid = $$" exit 1 @@ -93,5 +93,5 @@ fi #Cleanup leftovers -/bin/rm -f $dfilename +rm -f $dfilename exit 0 diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh index 1b6b9b3e0d3..5bdc391dbbc 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh @@ -41,7 +41,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -bname=`/bin/basename $0` +bname=`basename $0` dfilename=/var/tmp/$bname.$$ ## Create .d file @@ -69,7 +69,7 @@ EOF chmod 555 $dfilename -userid=`ps -o pid,uid | grep "$$ " | awk '{print $2}' 2>/dev/null` +userid=`ps -x -o pid,uid | grep "$$ " | awk '{print $2}' 2>/dev/null` if [ $? -ne 0 ]; then print -u2 "unable to get uid of the current process with pid = $$" exit 1 @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/bin/rm -f $dfilename +rm -f $dfilename exit 0 diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh index 332b8e70d27..0c4e77b54e4 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh @@ -41,7 +41,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -bname=`/bin/basename $0` +bname=`basename $0` dfilename=/var/tmp/$bname.$$ ## Create .d file @@ -69,7 +69,7 @@ EOF chmod 555 $dfilename -groupid=`ps -o pid,gid | grep "$$ " | awk '{print $2}' 2>/dev/null` +groupid=`ps -x -o pid,gid | grep "$$ " | awk '{print $2}' 2>/dev/null` if [ $? -ne 0 ]; then print -u2 "unable to get uid of the current process with pid = $$" exit 1 @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/bin/rm -f $dfilename +rm -f $dfilename exit 0 diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh index bbd9a536479..37613ce1a5e 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh @@ -41,7 +41,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -bname=`/bin/basename $0` +bname=`basename $0` dfilename=/var/tmp/$bname.$$.d ## Create .d file @@ -75,12 +75,12 @@ fi #Pass current pid (I mean parent pid for .d script). -$dfilename $$ >/dev/null 2>&1 +$dfilename $$ #>/dev/null 2>&1 if [ $? -ne 0 ]; then print -u2 "Error in executing $dfilename" exit 1 fi -#/bin/rm -f $dfilename +rm -f $dfilename exit 0 diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh index 62bc817af5f..e11f1e56b47 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh @@ -41,7 +41,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -bname=`/bin/basename $0` +bname=`basename $0` dfilename=/var/tmp/$bname.$$ ## Create .d file @@ -69,7 +69,7 @@ EOF chmod 555 $dfilename -projectid=`ps -o pid,projid | grep "$$ " | awk '{print $2}' 2>/dev/null` +projectid=`ps -x -o pid,projid | grep "$$ " | awk '{print $2}' 2>/dev/null` if [ $? -ne 0 ]; then print -u2 "unable to get uid of the current process with pid = $$" exit 1 @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/bin/rm -f $dfilename +rm -f $dfilename exit 0 diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh index 477ebc0290a..08a65b2d62d 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh @@ -41,7 +41,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -bname=`/bin/basename $0` +bname=`basename $0` dfilename=/var/tmp/$bname.$$ ## Create .d file @@ -69,7 +69,7 @@ EOF chmod 555 $dfilename -sessionid=`ps -o pid,sid | grep "$$ " | awk '{print $2}' 2>/dev/null` +sessionid=`ps -x -o pid,sid | grep "$$ " | awk '{print $2}' 2>/dev/null` if [ $? -ne 0 ]; then print -u2 "unable to get sid of the current process with pid = $$" exit 1 @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/bin/rm -f $dfilename +rm -f $dfilename exit 0 diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh index 724bd5fda7f..a8b1ec1fe61 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh @@ -41,7 +41,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -bname=`/bin/basename $0` +bname=`basename $0` dfilename=/var/tmp/$bname.$$.d ## Create .d file diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh index 88b450d381f..e4de7fbfd3d 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh @@ -41,7 +41,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -bname=`/bin/basename $0` +bname=`basename $0` dfilename=/var/tmp/$bname.$$ ## Create .d file @@ -69,7 +69,7 @@ EOF chmod 555 $dfilename -taskidval=`ps -o pid,taskid | grep "$$ " | awk '{print $2}' 2>/dev/null` +taskidval=`ps -x -o pid,taskid | grep "$$ " | awk '{print $2}' 2>/dev/null` if [ $? -ne 0 ]; then print -u2 "unable to get uid of the current process with pid = $$" exit 1 @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/bin/rm -f $dfilename +rm -f $dfilename exit 0 diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh index fabf0eda743..8cd6130ff64 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh @@ -41,7 +41,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -bname=`/bin/basename $0` +bname=`basename $0` dfilename=/var/tmp/$bname.$$ ## Create .d file @@ -69,7 +69,7 @@ EOF chmod 555 $dfilename -userid=`ps -o pid,uid | grep "$$ " | awk '{print $2}' 2>/dev/null` +userid=`ps -x -o pid,uid | grep "$$ " | awk '{print $2}' 2>/dev/null` if [ $? -ne 0 ]; then print -u2 "unable to get uid of the current process with pid = $$" exit 1 @@ -82,5 +82,5 @@ if [ $? -ne 0 ]; then exit 1 fi -#/bin/rm -f $dfilename +rm -f $dfilename exit 0 From 1bc414c30e541e96974e75ea3519b48d855155fe Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Sat, 31 Jan 2015 22:56:38 +0000 Subject: [PATCH 03/56] Remove a makefile that isn't present upstream. MFC after: 1 week --- .../cmd/dtrace/test/tst/common/usdt/Makefile | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/Makefile diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/Makefile b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/Makefile deleted file mode 100644 index 77fe870aa91..00000000000 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -all: main - -main: main.o prov.o - $(CC) -o main main.o prov.o - -main.o: main.c prov.h - $(CC) -c main.c - -prov.h: prov.d - /usr/sbin/dtrace -h -s prov.d - -prov.o: prov.d main.o - /usr/sbin/dtrace -G -32 -s prov.d main.o From d040338533b5aea0a0a100299a55529bb460a74a Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Sat, 31 Jan 2015 23:02:27 +0000 Subject: [PATCH 04/56] Remove hard-coded invocations of gcc; use cc(1) instead. MFC after: 1 week --- .../cmd/dtrace/test/tst/common/misc/tst.include.ksh | 8 +------- .../cmd/dtrace/test/tst/common/usdt/tst.noreap.ksh | 4 ++-- .../cmd/dtrace/test/tst/common/usdt/tst.noreapring.ksh | 4 ++-- .../cmd/dtrace/test/tst/common/usdt/tst.reap.ksh | 4 ++-- 4 files changed, 7 insertions(+), 13 deletions(-) diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.include.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.include.ksh index 30a2ce4175b..9aa0f68bfc8 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.include.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.include.ksh @@ -31,7 +31,6 @@ if [ $# != 1 ]; then fi dtrace=$1 -CC=/usr/bin/gcc CFLAGS= doit() @@ -47,7 +46,7 @@ void main() {} EOF - if $CC $CFLAGS -o $cofile $cfile >/dev/null 2>&1; then + if cc $CFLAGS -o $cofile $cfile >/dev/null 2>&1; then $dtrace -xerrtags -C -s /dev/stdin \ >/dev/null 2>$errfile < @@ -67,11 +66,6 @@ EOF rm -f $cofile $cfile 2>/dev/null } -if [ ! -x $CC ]; then - echo "$0: bad compiler: $CC" >& 2 - exit 1 -fi - concurrency=`psrinfo | wc -l` let concurrency=concurrency*4 let i=0 diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreap.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreap.ksh index 338dcdf03e6..0125d50b807 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreap.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreap.ksh @@ -51,7 +51,7 @@ provider test_prov { }; EOF -gcc -c test.c +cc -c test.c if [ $? -ne 0 ]; then print -u2 "failed to compile test.c" exit 1 @@ -61,7 +61,7 @@ if [ $? -ne 0 ]; then print -u2 "failed to create DOF" exit 1 fi -gcc -o test test.o prov.o +cc -o test test.o prov.o if [ $? -ne 0 ]; then print -u2 "failed to link final executable" exit 1 diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreapring.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreapring.ksh index a2e5edee381..1260903467a 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreapring.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreapring.ksh @@ -51,7 +51,7 @@ provider test_prov { }; EOF -gcc -c test.c +cc -c test.c if [ $? -ne 0 ]; then print -u2 "failed to compile test.c" exit 1 @@ -61,7 +61,7 @@ if [ $? -ne 0 ]; then print -u2 "failed to create DOF" exit 1 fi -gcc -o test test.o prov.o +cc -o test test.o prov.o if [ $? -ne 0 ]; then print -u2 "failed to link final executable" exit 1 diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reap.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reap.ksh index f18c585ef6c..e9b96638fc9 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reap.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reap.ksh @@ -51,7 +51,7 @@ provider test_prov { }; EOF -gcc -c test.c +cc -c test.c if [ $? -ne 0 ]; then print -u2 "failed to compile test.c" exit 1 @@ -61,7 +61,7 @@ if [ $? -ne 0 ]; then print -u2 "failed to create DOF" exit 1 fi -gcc -o test test.o prov.o +cc -o test test.o prov.o if [ $? -ne 0 ]; then print -u2 "failed to link final executable" exit 1 From 4bf41ce2a6b729d0fa5e09233cdfc00462858f26 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 31 Jan 2015 23:08:29 +0000 Subject: [PATCH 05/56] Revert r256642, not only to reduce diffs against upstream libcxxrt, but also because it is the wrong approach: comparing typeinfo names deeply causes trouble if two loaded DSOs use independent types of the same name. In addition, this particular change was never merged to FreeBSD 10.x and 9.x, so let's get rid of it before it ends up in an 11.x release. Discussed with: theraven, joerg@netbsd --- contrib/libcxxrt/typeinfo.cc | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/contrib/libcxxrt/typeinfo.cc b/contrib/libcxxrt/typeinfo.cc index 7c320730a11..71de9ae59bd 100644 --- a/contrib/libcxxrt/typeinfo.cc +++ b/contrib/libcxxrt/typeinfo.cc @@ -35,23 +35,15 @@ type_info::~type_info() {} bool type_info::operator==(const type_info &other) const { -#ifdef LIBCXXRT_MERGED_TYPEINFO return __type_name == other.__type_name; -#else - return __type_name == other.__type_name || strcmp(__type_name, other.__type_name) == 0; -#endif } bool type_info::operator!=(const type_info &other) const { - return !operator==(other); + return __type_name != other.__type_name; } bool type_info::before(const type_info &other) const { -#ifdef LIBCXXRT_MERGED_TYPEINFO return __type_name < other.__type_name; -#else - return strcmp(__type_name, other.__type_name) < 0; -#endif } const char* type_info::name() const { From dfae589ef37f7879e67e2f2b98aefd93f7493387 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Sat, 31 Jan 2015 23:11:57 +0000 Subject: [PATCH 06/56] Use syscall::exit instead of the nonexistent syscall::rexit. MFC after: 1 week --- .../opensolaris/cmd/dtrace/test/tst/common/pid/tst.vfork.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.vfork.d b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.vfork.d index 55054b594ee..e8fc9b4dfba 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.vfork.d +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.vfork.d @@ -54,7 +54,7 @@ pid$1:a.out:go: exit(1); } -syscall::rexit:entry +syscall::exit:entry /pid == $1/ { exit(0); From 072ff34e7124d763786962d375ae833990b4b701 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Sat, 31 Jan 2015 23:12:29 +0000 Subject: [PATCH 07/56] Fix mktemp(1) usage. MFC after: 1 week --- .../cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh index 68dbb03456c..696088c6d4a 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh @@ -48,7 +48,7 @@ fi dtrace="$1" startdir="$PWD" -dir=$(mktemp -td drtiXXXXXX) +dir=$(mktemp -d -t drtiXXXXXX) if (( $? != 0 )); then print -u2 'Could not create safe temporary directory' exit 2 From 1666b1da2f386c2aef4af81f80e46f7677acff53 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 31 Jan 2015 23:14:24 +0000 Subject: [PATCH 08/56] Import libcxxrt master 1cb607e89f6135bbc10f3d3b6fba1f983e258dcc. Interesting fixes: 1cb607e Correct gcc version check for __cxa_begin_catch() declaration with or without throw() --- exception.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exception.cc b/exception.cc index ed5ad2b9865..7781ebbebb9 100644 --- a/exception.cc +++ b/exception.cc @@ -673,7 +673,7 @@ static _Unwind_Reason_Code trace(struct _Unwind_Context *context, void *c) * If the failure happened by falling off the end of the stack without finding * a handler, prints a back trace before aborting. */ -#if __GNUC__ > 3 && __GNUC_MINOR__ > 2 +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) extern "C" void *__cxa_begin_catch(void *e) throw(); #else extern "C" void *__cxa_begin_catch(void *e); @@ -1189,7 +1189,7 @@ BEGIN_PERSONALITY_FUNCTION(__gxx_personality_v0) * pointer to the caught exception, which is either the adjusted pointer (for * C++ exceptions) of the unadjusted pointer (for foreign exceptions). */ -#if __GNUC__ > 3 && __GNUC_MINOR__ > 2 +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) extern "C" void *__cxa_begin_catch(void *e) throw() #else extern "C" void *__cxa_begin_catch(void *e) From cb46e6c2af43a0e454e30a812f46c09b2ac6983f Mon Sep 17 00:00:00 2001 From: Nathan Whitehorn Date: Sun, 1 Feb 2015 02:02:50 +0000 Subject: [PATCH 09/56] Allow this to work with disks greater than 4 GB and with names not beginning with "s". --- sys/boot/powerpc/kboot/host_syscall.S | 10 +++++++++- sys/boot/powerpc/kboot/host_syscall.h | 2 +- sys/boot/powerpc/kboot/hostdisk.c | 19 +++++++++---------- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/sys/boot/powerpc/kboot/host_syscall.S b/sys/boot/powerpc/kboot/host_syscall.S index 9e8a79746fc..3607fdb0d2a 100644 --- a/sys/boot/powerpc/kboot/host_syscall.S +++ b/sys/boot/powerpc/kboot/host_syscall.S @@ -1,3 +1,8 @@ +/* + * + * $FreeBSD$ + */ + #include ENTRY(host_read) @@ -16,7 +21,10 @@ ENTRY(host_write) blr ENTRY(host_seek) - li %r0, 19 # SYS_lseek + mr %r4,%r5 + mr %r5,%r6 + mr %r6,%r7 + li %r0, 140 # SYS_llseek sc blr diff --git a/sys/boot/powerpc/kboot/host_syscall.h b/sys/boot/powerpc/kboot/host_syscall.h index 58518a9cdee..0d47bd58a44 100644 --- a/sys/boot/powerpc/kboot/host_syscall.h +++ b/sys/boot/powerpc/kboot/host_syscall.h @@ -32,7 +32,7 @@ ssize_t host_read(int fd, void *buf, size_t nbyte); ssize_t host_write(int fd, const void *buf, size_t nbyte); -ssize_t host_seek(int fd, int offset, int whence); +ssize_t host_seek(int fd, int64_t offset, int whence); int host_open(char *path, int flags, int mode); int host_close(int fd); void *host_mmap(void *addr, size_t len, int prot, int flags, int fd, int); diff --git a/sys/boot/powerpc/kboot/hostdisk.c b/sys/boot/powerpc/kboot/hostdisk.c index c6be8af4716..2deb95620fc 100644 --- a/sys/boot/powerpc/kboot/hostdisk.c +++ b/sys/boot/powerpc/kboot/hostdisk.c @@ -40,7 +40,7 @@ static int hostdisk_ioctl(struct open_file *f, u_long cmd, void *data); static void hostdisk_print(int verbose); struct devsw hostdisk = { - "s", + "/dev", DEVT_DISK, hostdisk_init, hostdisk_strategy, @@ -67,8 +67,10 @@ hostdisk_strategy(void *devdata, int flag, daddr_t dblk, size_t size, pos = dblk * 512; - if (host_seek(desc->d_unit, pos, 0) < 0) + if (host_seek(desc->d_unit, pos, 0) < 0) { + printf("Seek error\n"); return (EIO); + } n = host_read(desc->d_unit, buf, size); if (n < 0) @@ -82,22 +84,19 @@ static int hostdisk_open(struct open_file *f, ...) { struct devdesc *desc; - char *path; va_list vl; va_start(vl, f); desc = va_arg(vl, struct devdesc *); va_end(vl); - path = malloc(strlen((char *)(desc->d_opendata)) + 6); - strcpy(path, "/dev/"); - strcat(path, (char *)(desc->d_opendata)); + desc->d_unit = host_open(desc->d_opendata, O_RDONLY, 0); - desc->d_unit = host_open(path, O_RDONLY, 0); - free(path); - - if (desc->d_unit <= 0) + if (desc->d_unit <= 0) { + printf("hostdisk_open: couldn't open %s: %d\n", + desc->d_opendata, desc->d_unit); return (ENOENT); + } return (0); } From 573a66c3dcf03cde1ff86499a9c7b3666c9fb32b Mon Sep 17 00:00:00 2001 From: Andrew Turner Date: Sun, 1 Feb 2015 09:50:33 +0000 Subject: [PATCH 10/56] FreeBSD expects _Unwind_GetGR, _Unwind_SetGR, and _Unwind_SetIP to be symbols and not macros. Make this so. This fixes a few ports that try to link against these functions but fail as they previously didn't exist. --- contrib/gcc/config/arm/unwind-arm.c | 8 ++++++++ contrib/gcc/config/arm/unwind-arm.h | 27 ++++++++++++++++----------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/contrib/gcc/config/arm/unwind-arm.c b/contrib/gcc/config/arm/unwind-arm.c index 47354b44abb..fff5fdf288a 100644 --- a/contrib/gcc/config/arm/unwind-arm.c +++ b/contrib/gcc/config/arm/unwind-arm.c @@ -25,6 +25,7 @@ along with this program; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +#define __ARM_STATIC_INLINE #include "unwind.h" /* We add a prototype for abort here to avoid creating a dependency on @@ -1089,4 +1090,11 @@ _Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn) *ip_before_insn = 0; return _Unwind_GetGR (context, 15) & ~(_Unwind_Word)1; } + +void +_Unwind_SetIP (struct _Unwind_Context *context, _Unwind_Ptr val) +{ + _Unwind_SetGR (context, 15, val | (_Unwind_GetGR (context, 15) & 1)); +} + #endif diff --git a/contrib/gcc/config/arm/unwind-arm.h b/contrib/gcc/config/arm/unwind-arm.h index ab8531d14fe..b1f47b81ee1 100644 --- a/contrib/gcc/config/arm/unwind-arm.h +++ b/contrib/gcc/config/arm/unwind-arm.h @@ -34,6 +34,10 @@ #define __ARM_EABI_UNWINDER__ 1 +#ifndef __ARM_STATIC_INLINE +#define __ARM_STATIC_INLINE static inline +#endif + #ifdef __cplusplus extern "C" { #endif @@ -245,7 +249,7 @@ extern "C" { return tmp; } - static inline _Unwind_Word + __ARM_STATIC_INLINE _Unwind_Word _Unwind_GetGR (_Unwind_Context *context, int regno) { _uw val; @@ -253,6 +257,12 @@ extern "C" { return val; } + __ARM_STATIC_INLINE void + _Unwind_SetGR (_Unwind_Context *context, int regno, _Unwind_Word val) + { + _Unwind_VRS_Set (context, _UVRSC_CORE, regno, _UVRSD_UINT32, &val); + } + #ifndef __FreeBSD__ /* Return the address of the instruction, not the actual IP value. */ #define _Unwind_GetIP(context) \ @@ -260,21 +270,16 @@ extern "C" { #define _Unwind_GetIPInfo(context, ip_before_insn) \ (*ip_before_insn = 0, _Unwind_GetGR (context, 15) & ~(_Unwind_Word)1) -#else - _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *); - _Unwind_Ptr _Unwind_GetIPInfo (struct _Unwind_Context *, int *); -#endif - - static inline void - _Unwind_SetGR (_Unwind_Context *context, int regno, _Unwind_Word val) - { - _Unwind_VRS_Set (context, _UVRSC_CORE, regno, _UVRSD_UINT32, &val); - } /* The dwarf unwinder doesn't understand arm/thumb state. We assume the landing pad uses the same instruction set as the call site. */ #define _Unwind_SetIP(context, val) \ _Unwind_SetGR (context, 15, val | (_Unwind_GetGR (context, 15) & 1)) +#else + _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *); + _Unwind_Ptr _Unwind_GetIPInfo (struct _Unwind_Context *, int *); + void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr); +#endif #ifdef __cplusplus } /* extern "C" */ From 0e192fecb41cb3d8e4b61ceee3c7cfb14d934a0d Mon Sep 17 00:00:00 2001 From: Ian Lepore Date: Sun, 1 Feb 2015 17:19:57 +0000 Subject: [PATCH 11/56] Remove a stale comment. The logic that deleted the map before other resources was removed long ago, but the comment stuck somehow. --- sys/arm/arm/busdma_machdep-v6.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/arm/arm/busdma_machdep-v6.c b/sys/arm/arm/busdma_machdep-v6.c index d7fcffa31d5..ed501c50af3 100644 --- a/sys/arm/arm/busdma_machdep-v6.c +++ b/sys/arm/arm/busdma_machdep-v6.c @@ -858,8 +858,6 @@ bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map) else ba = standard_allocator; - /* Be careful not to access map from here on. */ - bufzone = busdma_bufalloc_findzone(ba, dmat->maxsize); if (bufzone != NULL && dmat->alignment <= bufzone->size && From 59f8cb6368a6a5ae6459813a176aa4ffecaad7dc Mon Sep 17 00:00:00 2001 From: Ian Lepore Date: Sun, 1 Feb 2015 18:21:16 +0000 Subject: [PATCH 12/56] Do not skip setting the memory 'reg' property if the fdt data already contains one. Published dts source often includes a minimal default memory definition and expects it to be overridden by the bootloader after determining the actual physical memory in the system. --- sys/boot/fdt/fdt_loader_cmd.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/sys/boot/fdt/fdt_loader_cmd.c b/sys/boot/fdt/fdt_loader_cmd.c index dec9d524ada..aff22306fd7 100644 --- a/sys/boot/fdt/fdt_loader_cmd.c +++ b/sys/boot/fdt/fdt_loader_cmd.c @@ -566,17 +566,6 @@ fdt_fixup_memory(struct fdt_mem_region *region, size_t num) return; } - if ((reg = (uint32_t *)fdt_getprop(fdtp, memory, "reg", - &len)) != NULL) { - - if (fdt_reg_valid(reg, len, addr_cells, size_cells) == 0) - /* - * Do not apply fixup if existing 'reg' property - * seems to be valid. - */ - return; - } - len = (addr_cells + size_cells) * realmrno * sizeof(uint32_t); sb = buf = (uint8_t *)malloc(len); if (!buf) From b1877a0b397cfb5e96d8b3d319e80e68d04f7950 Mon Sep 17 00:00:00 2001 From: Steven Hartland Date: Sun, 1 Feb 2015 20:00:08 +0000 Subject: [PATCH 13/56] Add a quirk to limit AHCI MSI vectors to one In 10.1-RELEASE the default number of MSI vectors used was changed from one to as many vectors as the HW supports. This change resulted in an ahci timeouts regression when running on AMD SB7x0/SB8x0/SB9x0 hardware, so its now limited to 1 MSI by default using this new quirk. MFC after: 2 weeks Sponsored by: Multiplay --- sys/dev/ahci/ahci.h | 40 +++++++++++++++++++++------------------- sys/dev/ahci/ahci_pci.c | 24 ++++++++++++++++-------- 2 files changed, 37 insertions(+), 27 deletions(-) diff --git a/sys/dev/ahci/ahci.h b/sys/dev/ahci/ahci.h index 79b8a5695d5..755fdc594eb 100644 --- a/sys/dev/ahci/ahci.h +++ b/sys/dev/ahci/ahci.h @@ -556,26 +556,27 @@ enum ahci_err_type { bus_write_multi_stream_4((res), (offset), (addr), (count)) -#define AHCI_Q_NOFORCE 1 -#define AHCI_Q_NOPMP 2 -#define AHCI_Q_NONCQ 4 -#define AHCI_Q_1CH 8 -#define AHCI_Q_2CH 0x10 -#define AHCI_Q_4CH 0x20 -#define AHCI_Q_EDGEIS 0x40 -#define AHCI_Q_SATA2 0x80 -#define AHCI_Q_NOBSYRES 0x100 -#define AHCI_Q_NOAA 0x200 -#define AHCI_Q_NOCOUNT 0x400 -#define AHCI_Q_ALTSIG 0x800 -#define AHCI_Q_NOMSI 0x1000 -#define AHCI_Q_ATI_PMP_BUG 0x2000 -#define AHCI_Q_MAXIO_64K 0x4000 -#define AHCI_Q_SATA1_UNIT0 0x8000 /* need better method for this */ -#define AHCI_Q_ABAR0 0x10000 +#define AHCI_Q_NOFORCE 0x00000001 +#define AHCI_Q_NOPMP 0x00000002 +#define AHCI_Q_NONCQ 0x00000004 +#define AHCI_Q_1CH 0x00000008 +#define AHCI_Q_2CH 0x00000010 +#define AHCI_Q_4CH 0x00000020 +#define AHCI_Q_EDGEIS 0x00000040 +#define AHCI_Q_SATA2 0x00000080 +#define AHCI_Q_NOBSYRES 0x00000100 +#define AHCI_Q_NOAA 0x00000200 +#define AHCI_Q_NOCOUNT 0x00000400 +#define AHCI_Q_ALTSIG 0x00000800 +#define AHCI_Q_NOMSI 0x00001000 +#define AHCI_Q_ATI_PMP_BUG 0x00002000 +#define AHCI_Q_MAXIO_64K 0x00004000 +#define AHCI_Q_SATA1_UNIT0 0x00008000 /* need better method for this */ +#define AHCI_Q_ABAR0 0x00010000 +#define AHCI_Q_1MSI 0x00020000 #define AHCI_Q_BIT_STRING \ - "\020" \ + "\021" \ "\001NOFORCE" \ "\002NOPMP" \ "\003NONCQ" \ @@ -592,7 +593,8 @@ enum ahci_err_type { "\016ATI_PMP_BUG" \ "\017MAXIO_64K" \ "\020SATA1_UNIT0" \ - "\021ABAR0" + "\021ABAR0" \ + "\0221MSI" int ahci_attach(device_t dev); int ahci_detach(device_t dev); diff --git a/sys/dev/ahci/ahci_pci.c b/sys/dev/ahci/ahci_pci.c index 8574e47a774..acde18dd29b 100644 --- a/sys/dev/ahci/ahci_pci.c +++ b/sys/dev/ahci/ahci_pci.c @@ -55,12 +55,17 @@ static const struct { int quirks; } ahci_ids[] = { {0x43801002, 0x00, "AMD SB600", - AHCI_Q_NOMSI | AHCI_Q_ATI_PMP_BUG | AHCI_Q_MAXIO_64K}, - {0x43901002, 0x00, "AMD SB7x0/SB8x0/SB9x0", AHCI_Q_ATI_PMP_BUG}, - {0x43911002, 0x00, "AMD SB7x0/SB8x0/SB9x0", AHCI_Q_ATI_PMP_BUG}, - {0x43921002, 0x00, "AMD SB7x0/SB8x0/SB9x0", AHCI_Q_ATI_PMP_BUG}, - {0x43931002, 0x00, "AMD SB7x0/SB8x0/SB9x0", AHCI_Q_ATI_PMP_BUG}, - {0x43941002, 0x00, "AMD SB7x0/SB8x0/SB9x0", AHCI_Q_ATI_PMP_BUG}, + AHCI_Q_NOMSI | AHCI_Q_ATI_PMP_BUG | AHCI_Q_MAXIO_64K}, + {0x43901002, 0x00, "AMD SB7x0/SB8x0/SB9x0", + AHCI_Q_ATI_PMP_BUG | AHCI_Q_1MSI}, + {0x43911002, 0x00, "AMD SB7x0/SB8x0/SB9x0", + AHCI_Q_ATI_PMP_BUG | AHCI_Q_1MSI}, + {0x43921002, 0x00, "AMD SB7x0/SB8x0/SB9x0", + AHCI_Q_ATI_PMP_BUG | AHCI_Q_1MSI}, + {0x43931002, 0x00, "AMD SB7x0/SB8x0/SB9x0", + AHCI_Q_ATI_PMP_BUG | AHCI_Q_1MSI}, + {0x43941002, 0x00, "AMD SB7x0/SB8x0/SB9x0", + AHCI_Q_ATI_PMP_BUG | AHCI_Q_1MSI}, /* Not sure SB8x0/SB9x0 needs this quirk. Be conservative though */ {0x43951002, 0x00, "AMD SB8x0/SB9x0", AHCI_Q_ATI_PMP_BUG}, {0x78001022, 0x00, "AMD Hudson-2", 0}, @@ -137,7 +142,7 @@ static const struct { {0x1f378086, 0x00, "Intel Avoton (RAID)", 0}, {0x1f3e8086, 0x00, "Intel Avoton (RAID)", 0}, {0x1f3f8086, 0x00, "Intel Avoton (RAID)", 0}, - {0x23a38086, 0x00, "Intel Coleto Creek", 0}, + {0x23a38086, 0x00, "Intel Coleto Creek", 0}, {0x28238086, 0x00, "Intel Wellsburg (RAID)", 0}, {0x28278086, 0x00, "Intel Wellsburg (RAID)", 0}, {0x8c028086, 0x00, "Intel Lynx Point", 0}, @@ -410,10 +415,13 @@ ahci_pci_attach(device_t dev) /* Setup interrupts. */ /* Setup MSI register parameters */ - ctlr->msi = 2; /* Process hints. */ if (ctlr->quirks & AHCI_Q_NOMSI) ctlr->msi = 0; + else if (ctlr->quirks & AHCI_Q_1MSI) + ctlr->msi = 1; + else + ctlr->msi = 2; resource_int_value(device_get_name(dev), device_get_unit(dev), "msi", &ctlr->msi); ctlr->numirqs = 1; From 920c6cbadca302a13e9287879448e861d200a8c4 Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Sun, 1 Feb 2015 21:50:28 +0000 Subject: [PATCH 14/56] CTL LUN mapping rewrite. Replace iSCSI-specific LUN mapping mechanism with new one, working for any ports. By default all ports are created without LUN mapping, exposing all CTL LUNs as before. But, if needed, LUN mapping can be manually set on per-port basis via ctladm. For its iSCSI ports ctld does it via ioctl(2). The next step will be to teach ctld to work with FibreChannel ports also. Respecting additional flexibility of the new mechanism, ctl.conf now allows alternative syntax for LUN definition. LUNs can now be defined in global context, and then referenced from targets by unique name, as needed. It allows same LUN to be exposed several times via multiple targets. While there, increase limit for LUNs per target in ctld from 256 to 1024. Some initiators do not support LUNs above 255, but that is not our problem. Discussed with: trasz MFC after: 2 weeks Relnotes: yes Sponsored by: iXsystems, Inc. --- sys/cam/ctl/ctl.c | 185 +++++++++++--- sys/cam/ctl/ctl_frontend.c | 1 + sys/cam/ctl/ctl_frontend.h | 3 +- sys/cam/ctl/ctl_frontend_iscsi.c | 99 +------- sys/cam/ctl/ctl_frontend_iscsi.h | 1 - sys/cam/ctl/ctl_ioctl.h | 7 + sys/cam/ctl/ctl_private.h | 7 + sys/cam/ctl/ctl_tpc_local.c | 52 ++-- usr.sbin/ctladm/ctladm.8 | 37 ++- usr.sbin/ctladm/ctladm.c | 78 +++++- usr.sbin/ctld/ctl.conf.5 | 29 ++- usr.sbin/ctld/ctld.c | 414 +++++++++++++++---------------- usr.sbin/ctld/ctld.h | 19 +- usr.sbin/ctld/kernel.c | 133 +++++----- usr.sbin/ctld/parse.y | 72 +++++- 15 files changed, 652 insertions(+), 485 deletions(-) diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c index fb66b45e530..e6305aab1bc 100644 --- a/sys/cam/ctl/ctl.c +++ b/sys/cam/ctl/ctl.c @@ -398,12 +398,11 @@ static int ctl_ioctl_fill_ooa(struct ctl_lun *lun, uint32_t *cur_fill_num, struct ctl_ooa_entry *kern_entries); static int ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td); -static uint32_t ctl_map_lun(struct ctl_softc *softc, int port_num, uint32_t lun); -static uint32_t ctl_map_lun_back(struct ctl_softc *softc, int port_num, uint32_t lun); static int ctl_alloc_lun(struct ctl_softc *ctl_softc, struct ctl_lun *lun, struct ctl_be_lun *be_lun, struct ctl_id target_id); static int ctl_free_lun(struct ctl_lun *lun); static void ctl_create_lun(struct ctl_be_lun *be_lun); +static struct ctl_port * ctl_io_port(struct ctl_io_hdr *io_hdr); /** static void ctl_failover_change_pages(struct ctl_softc *softc, struct ctl_scsiio *ctsio, int master); @@ -3411,6 +3410,7 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct ctl_lun_list *list; struct ctl_option *opt; int j; + uint32_t plun; list = (struct ctl_lun_list *)addr; @@ -3491,6 +3491,18 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, break; } + if (port->lun_map != NULL) { + sbuf_printf(sb, "\ton\n"); + for (j = 0; j < CTL_MAX_LUNS; j++) { + plun = ctl_lun_map_from_port(port, j); + if (plun >= CTL_MAX_LUNS) + continue; + sbuf_printf(sb, + "\t%u\n", + j, plun); + } + } + for (j = 0; j < CTL_MAX_INIT_PER_PORT; j++) { if (port->wwpn_iid[j].in_use == 0 || (port->wwpn_iid[j].wwpn == 0 && @@ -3538,6 +3550,38 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, sbuf_delete(sb); break; } + case CTL_LUN_MAP: { + struct ctl_lun_map *lm = (struct ctl_lun_map *)addr; + struct ctl_port *port; + + mtx_lock(&softc->ctl_lock); + if (lm->port >= CTL_MAX_PORTS || + (port = softc->ctl_ports[lm->port]) == NULL) { + mtx_unlock(&softc->ctl_lock); + return (ENXIO); + } + if (lm->plun < CTL_MAX_LUNS) { + if (lm->lun == UINT32_MAX) + retval = ctl_lun_map_unset(port, lm->plun); + else if (lm->lun < CTL_MAX_LUNS && + softc->ctl_luns[lm->lun] != NULL) + retval = ctl_lun_map_set(port, lm->plun, lm->lun); + else { + mtx_unlock(&softc->ctl_lock); + return (ENXIO); + } + } else if (lm->plun == UINT32_MAX) { + if (lm->lun == UINT32_MAX) + retval = ctl_lun_map_deinit(port); + else + retval = ctl_lun_map_init(port); + } else { + mtx_unlock(&softc->ctl_lock); + return (ENXIO); + } + mtx_unlock(&softc->ctl_lock); + break; + } default: { /* XXX KDM should we fix this? */ #if 0 @@ -3602,35 +3646,106 @@ ctl_port_idx(int port_num) return(port_num - CTL_MAX_PORTS); } -static uint32_t -ctl_map_lun(struct ctl_softc *softc, int port_num, uint32_t lun_id) +int +ctl_lun_map_init(struct ctl_port *port) { - struct ctl_port *port; + uint32_t i; + + if (port->lun_map == NULL) + port->lun_map = malloc(sizeof(uint32_t) * CTL_MAX_LUNS, + M_CTL, M_NOWAIT); + if (port->lun_map == NULL) + return (ENOMEM); + for (i = 0; i < CTL_MAX_LUNS; i++) + port->lun_map[i] = UINT32_MAX; + return (0); +} + +int +ctl_lun_map_deinit(struct ctl_port *port) +{ + + if (port->lun_map == NULL) + return (0); + free(port->lun_map, M_CTL); + port->lun_map = NULL; + return (0); +} + +int +ctl_lun_map_set(struct ctl_port *port, uint32_t plun, uint32_t glun) +{ + int status; + + if (port->lun_map == NULL) { + status = ctl_lun_map_init(port); + if (status != 0) + return (status); + } + port->lun_map[plun] = glun; + return (0); +} + +int +ctl_lun_map_unset(struct ctl_port *port, uint32_t plun) +{ + + if (port->lun_map == NULL) + return (0); + port->lun_map[plun] = UINT32_MAX; + return (0); +} + +int +ctl_lun_map_unsetg(struct ctl_port *port, uint32_t glun) +{ + int i; + + if (port->lun_map == NULL) + return (0); + for (i = 0; i < CTL_MAX_LUNS; i++) { + if (port->lun_map[i] == glun) + port->lun_map[i] = UINT32_MAX; + } + return (0); +} + +uint32_t +ctl_lun_map_from_port(struct ctl_port *port, uint32_t lun_id) +{ + + if (port == NULL) + return (UINT32_MAX); + if (port->lun_map == NULL || lun_id >= CTL_MAX_LUNS) + return (lun_id); + return (port->lun_map[lun_id]); +} + +uint32_t +ctl_lun_map_to_port(struct ctl_port *port, uint32_t lun_id) +{ + uint32_t i; - port = softc->ctl_ports[ctl_port_idx(port_num)]; if (port == NULL) return (UINT32_MAX); - if (port->lun_map == NULL) - return (lun_id); - return (port->lun_map(port->targ_lun_arg, lun_id)); -} - -static uint32_t -ctl_map_lun_back(struct ctl_softc *softc, int port_num, uint32_t lun_id) -{ - struct ctl_port *port; - uint32_t i; - - port = softc->ctl_ports[ctl_port_idx(port_num)]; if (port->lun_map == NULL) return (lun_id); for (i = 0; i < CTL_MAX_LUNS; i++) { - if (port->lun_map(port->targ_lun_arg, i) == lun_id) + if (port->lun_map[i] == lun_id) return (i); } return (UINT32_MAX); } +static struct ctl_port * +ctl_io_port(struct ctl_io_hdr *io_hdr) +{ + int port_num; + + port_num = io_hdr->nexus.targ_port; + return (control_softc->ctl_ports[ctl_port_idx(port_num)]); +} + /* * Note: This only works for bitmask sizes that are at least 32 bits, and * that are a power of 2. @@ -4676,9 +4791,7 @@ static int ctl_free_lun(struct ctl_lun *lun) { struct ctl_softc *softc; -#if 0 struct ctl_port *port; -#endif struct ctl_lun *nlun; int i; @@ -4686,6 +4799,9 @@ ctl_free_lun(struct ctl_lun *lun) mtx_assert(&softc->ctl_lock, MA_OWNED); + STAILQ_FOREACH(port, &softc->port_list, links) + ctl_lun_map_unsetg(port, lun->lun); + STAILQ_REMOVE(&softc->lun_list, lun, ctl_lun, links); ctl_clear_mask(softc->ctl_lun_mask, lun->lun); @@ -7343,8 +7459,7 @@ ctl_report_tagret_port_groups(struct ctl_scsiio *ctsio) STAILQ_FOREACH(port, &softc->port_list, links) { if ((port->status & CTL_PORT_STATUS_ONLINE) == 0) continue; - if (ctl_map_lun_back(softc, port->targ_port, lun->lun) >= - CTL_MAX_LUNS) + if (ctl_lun_map_to_port(port, lun->lun) >= CTL_MAX_LUNS) continue; num_target_ports++; } @@ -7417,8 +7532,7 @@ ctl_report_tagret_port_groups(struct ctl_scsiio *ctsio) STAILQ_FOREACH(port, &softc->port_list, links) { if ((port->status & CTL_PORT_STATUS_ONLINE) == 0) continue; - if (ctl_map_lun_back(softc, port->targ_port, lun->lun) - >= CTL_MAX_LUNS) + if (ctl_lun_map_to_port(port, lun->lun) >= CTL_MAX_LUNS) continue; p = port->targ_port % CTL_MAX_PORTS + g * CTL_MAX_PORTS; scsi_ulto2b(p, tpg_desc->descriptors[pc]. @@ -9260,6 +9374,7 @@ ctl_report_luns(struct ctl_scsiio *ctsio) struct scsi_report_luns *cdb; struct scsi_report_luns_data *lun_data; struct ctl_lun *lun, *request_lun; + struct ctl_port *port; int num_luns, retval; uint32_t alloc_len, lun_datalen; int num_filled, well_known; @@ -9316,6 +9431,7 @@ ctl_report_luns(struct ctl_scsiio *ctsio) request_lun = (struct ctl_lun *) ctsio->io_hdr.ctl_private[CTL_PRIV_LUN].ptr; + port = ctl_io_port(&ctsio->io_hdr); lun_datalen = sizeof(*lun_data) + (num_luns * sizeof(struct scsi_report_luns_lundata)); @@ -9328,8 +9444,7 @@ ctl_report_luns(struct ctl_scsiio *ctsio) mtx_lock(&softc->ctl_lock); for (targ_lun_id = 0, num_filled = 0; targ_lun_id < CTL_MAX_LUNS && num_filled < num_luns; targ_lun_id++) { - lun_id = ctl_map_lun(softc, ctsio->io_hdr.nexus.targ_port, - targ_lun_id); + lun_id = ctl_lun_map_from_port(port, targ_lun_id); if (lun_id >= CTL_MAX_LUNS) continue; lun = softc->ctl_luns[lun_id]; @@ -10014,8 +10129,7 @@ ctl_inquiry_evpd_scsi_ports(struct ctl_scsiio *ctsio, int alloc_len) if ((port->status & CTL_PORT_STATUS_ONLINE) == 0) continue; if (lun != NULL && - ctl_map_lun_back(softc, port->targ_port, lun->lun) >= - CTL_MAX_LUNS) + ctl_lun_map_to_port(port, lun->lun) >= CTL_MAX_LUNS) continue; num_target_ports++; if (port->init_devid) @@ -10068,8 +10182,7 @@ ctl_inquiry_evpd_scsi_ports(struct ctl_scsiio *ctsio, int alloc_len) if ((port->status & CTL_PORT_STATUS_ONLINE) == 0) continue; if (lun != NULL && - ctl_map_lun_back(softc, port->targ_port, lun->lun) - >= CTL_MAX_LUNS) + ctl_lun_map_to_port(port, lun->lun) >= CTL_MAX_LUNS) continue; p = port->targ_port % CTL_MAX_PORTS + g * CTL_MAX_PORTS; scsi_ulto2b(p, pd->relative_port_id); @@ -13745,6 +13858,7 @@ int ctl_queue_sense(union ctl_io *io) { struct ctl_lun *lun; + struct ctl_port *port; struct ctl_softc *softc; uint32_t initidx, targ_lun; @@ -13765,8 +13879,8 @@ ctl_queue_sense(union ctl_io *io) * If we don't have a LUN for this, just toss the sense * information. */ - targ_lun = io->io_hdr.nexus.targ_lun; - targ_lun = ctl_map_lun(softc, io->io_hdr.nexus.targ_port, targ_lun); + port = ctl_io_port(&ctsio->io_hdr); + targ_lun = ctl_lun_map_from_port(port, io->io_hdr.nexus.targ_lun); if ((targ_lun < CTL_MAX_LUNS) && (softc->ctl_luns[targ_lun] != NULL)) lun = softc->ctl_luns[targ_lun]; @@ -13806,6 +13920,7 @@ bailout: int ctl_queue(union ctl_io *io) { + struct ctl_port *port; CTL_DEBUG_PRINT(("ctl_queue cdb[0]=%02X\n", io->scsiio.cdb[0])); @@ -13815,9 +13930,9 @@ ctl_queue(union ctl_io *io) #endif /* CTL_TIME_IO */ /* Map FE-specific LUN ID into global one. */ + port = ctl_io_port(&io->io_hdr); io->io_hdr.nexus.targ_mapped_lun = - ctl_map_lun(control_softc, io->io_hdr.nexus.targ_port, - io->io_hdr.nexus.targ_lun); + ctl_lun_map_from_port(port, io->io_hdr.nexus.targ_lun); switch (io->io_hdr.io_type) { case CTL_IO_SCSI: diff --git a/sys/cam/ctl/ctl_frontend.c b/sys/cam/ctl/ctl_frontend.c index 982675e8feb..c38e527de2d 100644 --- a/sys/cam/ctl/ctl_frontend.c +++ b/sys/cam/ctl/ctl_frontend.c @@ -234,6 +234,7 @@ ctl_port_deregister(struct ctl_port *port) ctl_pool_free(pool); ctl_free_opts(&port->options); + ctl_lun_map_deinit(port); free(port->port_devid, M_CTL); port->port_devid = NULL; free(port->target_devid, M_CTL); diff --git a/sys/cam/ctl/ctl_frontend.h b/sys/cam/ctl/ctl_frontend.h index 06ae5a14330..f1cc1c4bcea 100644 --- a/sys/cam/ctl/ctl_frontend.h +++ b/sys/cam/ctl/ctl_frontend.h @@ -51,7 +51,6 @@ typedef void (*fe_shutdown_t)(void); typedef void (*port_func_t)(void *onoff_arg); typedef int (*port_info_func_t)(void *onoff_arg, struct sbuf *sb); typedef int (*lun_func_t)(void *arg, struct ctl_id targ_id, int lun_id); -typedef uint32_t (*lun_map_func_t)(void *arg, uint32_t lun_id); typedef int (*fe_ioctl_t)(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td); @@ -226,7 +225,7 @@ struct ctl_port { void *onoff_arg; /* passed to CTL */ lun_func_t lun_enable; /* passed to CTL */ lun_func_t lun_disable; /* passed to CTL */ - lun_map_func_t lun_map; /* passed to CTL */ + uint32_t *lun_map; /* passed to CTL */ void *targ_lun_arg; /* passed to CTL */ void (*fe_datamove)(union ctl_io *io); /* passed to CTL */ void (*fe_done)(union ctl_io *io); /* passed to CTL */ diff --git a/sys/cam/ctl/ctl_frontend_iscsi.c b/sys/cam/ctl/ctl_frontend_iscsi.c index 99d698b245a..a922d5b0030 100644 --- a/sys/cam/ctl/ctl_frontend_iscsi.c +++ b/sys/cam/ctl/ctl_frontend_iscsi.c @@ -151,7 +151,6 @@ static int cfiscsi_lun_enable(void *arg, struct ctl_id target_id, int lun_id); static int cfiscsi_lun_disable(void *arg, struct ctl_id target_id, int lun_id); -static uint32_t cfiscsi_lun_map(void *arg, uint32_t lun); static int cfiscsi_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td); static void cfiscsi_datamove(union ctl_io *io); @@ -2031,7 +2030,6 @@ cfiscsi_ioctl_port_create(struct ctl_req *req) port->onoff_arg = ct; port->lun_enable = cfiscsi_lun_enable; port->lun_disable = cfiscsi_lun_disable; - port->lun_map = cfiscsi_lun_map; port->targ_lun_arg = ct; port->fe_datamove = cfiscsi_datamove; port->fe_done = cfiscsi_done; @@ -2081,7 +2079,7 @@ cfiscsi_ioctl_port_create(struct ctl_req *req) free(port->target_devid, M_CFISCSI); req->status = CTL_LUN_ERROR; snprintf(req->error_str, sizeof(req->error_str), - "ctl_frontend_register() failed with error %d", retval); + "ctl_port_register() failed with error %d", retval); return; } done: @@ -2259,7 +2257,6 @@ cfiscsi_target_find_or_create(struct cfiscsi_softc *softc, const char *name, const char *alias) { struct cfiscsi_target *ct, *newct; - int i; if (name[0] == '\0' || strlen(name) >= CTL_ISCSI_NAME_LEN) return (NULL); @@ -2277,9 +2274,6 @@ cfiscsi_target_find_or_create(struct cfiscsi_softc *softc, const char *name, return (ct); } - for (i = 0; i < CTL_MAX_LUNS; i++) - newct->ct_luns[i] = UINT32_MAX; - strlcpy(newct->ct_name, name, sizeof(newct->ct_name)); if (alias != NULL) strlcpy(newct->ct_alias, alias, sizeof(newct->ct_alias)); @@ -2294,108 +2288,17 @@ cfiscsi_target_find_or_create(struct cfiscsi_softc *softc, const char *name, return (newct); } -/* - * Takes LUN from the target space and returns LUN from the CTL space. - */ -static uint32_t -cfiscsi_lun_map(void *arg, uint32_t lun) -{ - struct cfiscsi_target *ct = arg; - - if (lun >= CTL_MAX_LUNS) { - CFISCSI_DEBUG("requested lun number %d is higher " - "than maximum %d", lun, CTL_MAX_LUNS - 1); - return (UINT32_MAX); - } - return (ct->ct_luns[lun]); -} - -static int -cfiscsi_target_set_lun(struct cfiscsi_target *ct, - unsigned long lun_id, unsigned long ctl_lun_id) -{ - - if (lun_id >= CTL_MAX_LUNS) { - CFISCSI_WARN("requested lun number %ld is higher " - "than maximum %d", lun_id, CTL_MAX_LUNS - 1); - return (-1); - } - - if (ct->ct_luns[lun_id] < CTL_MAX_LUNS) { - /* - * CTL calls cfiscsi_lun_enable() twice for each LUN - once - * when the LUN is created, and a second time just before - * the port is brought online; don't emit warnings - * for that case. - */ - if (ct->ct_luns[lun_id] == ctl_lun_id) - return (0); - CFISCSI_WARN("lun %ld already allocated", lun_id); - return (-1); - } - -#if 0 - CFISCSI_DEBUG("adding mapping for lun %ld, target %s " - "to ctl lun %ld", lun_id, ct->ct_name, ctl_lun_id); -#endif - - ct->ct_luns[lun_id] = ctl_lun_id; - - return (0); -} - static int cfiscsi_lun_enable(void *arg, struct ctl_id target_id, int lun_id) { - struct cfiscsi_softc *softc; - struct cfiscsi_target *ct; - const char *target = NULL; - const char *lun = NULL; - unsigned long tmp; - ct = (struct cfiscsi_target *)arg; - softc = ct->ct_softc; - - target = ctl_get_opt(&control_softc->ctl_luns[lun_id]->be_lun->options, - "cfiscsi_target"); - lun = ctl_get_opt(&control_softc->ctl_luns[lun_id]->be_lun->options, - "cfiscsi_lun"); - - if (target == NULL && lun == NULL) - return (0); - - if (target == NULL || lun == NULL) { - CFISCSI_WARN("lun added with cfiscsi_target, but without " - "cfiscsi_lun, or the other way around; ignoring"); - return (0); - } - - if (strcmp(target, ct->ct_name) != 0) - return (0); - - tmp = strtoul(lun, NULL, 10); - cfiscsi_target_set_lun(ct, tmp, lun_id); return (0); } static int cfiscsi_lun_disable(void *arg, struct ctl_id target_id, int lun_id) { - struct cfiscsi_softc *softc; - struct cfiscsi_target *ct; - int i; - ct = (struct cfiscsi_target *)arg; - softc = ct->ct_softc; - - mtx_lock(&softc->lock); - for (i = 0; i < CTL_MAX_LUNS; i++) { - if (ct->ct_luns[i] != lun_id) - continue; - ct->ct_luns[i] = UINT32_MAX; - break; - } - mtx_unlock(&softc->lock); return (0); } diff --git a/sys/cam/ctl/ctl_frontend_iscsi.h b/sys/cam/ctl/ctl_frontend_iscsi.h index 5000f4c9c06..02fd34ea83f 100644 --- a/sys/cam/ctl/ctl_frontend_iscsi.h +++ b/sys/cam/ctl/ctl_frontend_iscsi.h @@ -38,7 +38,6 @@ struct cfiscsi_target { TAILQ_ENTRY(cfiscsi_target) ct_next; - uint32_t ct_luns[CTL_MAX_LUNS]; struct cfiscsi_softc *ct_softc; volatile u_int ct_refcount; char ct_name[CTL_ISCSI_NAME_LEN]; diff --git a/sys/cam/ctl/ctl_ioctl.h b/sys/cam/ctl/ctl_ioctl.h index 3093efd0333..532953fb7fa 100644 --- a/sys/cam/ctl/ctl_ioctl.h +++ b/sys/cam/ctl/ctl_ioctl.h @@ -805,6 +805,12 @@ struct ctl_iscsi { /* passed to userland */ }; +struct ctl_lun_map { + uint32_t port; + uint32_t plun; + uint32_t lun; +}; + #define CTL_IO _IOWR(CTL_MINOR, 0x00, union ctl_io) #define CTL_ENABLE_PORT _IOW(CTL_MINOR, 0x04, struct ctl_port_entry) #define CTL_DISABLE_PORT _IOW(CTL_MINOR, 0x05, struct ctl_port_entry) @@ -832,6 +838,7 @@ struct ctl_iscsi { #define CTL_ISCSI _IOWR(CTL_MINOR, 0x25, struct ctl_iscsi) #define CTL_PORT_REQ _IOWR(CTL_MINOR, 0x26, struct ctl_req) #define CTL_PORT_LIST _IOWR(CTL_MINOR, 0x27, struct ctl_lun_list) +#define CTL_LUN_MAP _IOW(CTL_MINOR, 0x28, struct ctl_lun_map) #endif /* _CTL_IOCTL_H_ */ diff --git a/sys/cam/ctl/ctl_private.h b/sys/cam/ctl/ctl_private.h index 7bedf103b4e..ffcb063e784 100644 --- a/sys/cam/ctl/ctl_private.h +++ b/sys/cam/ctl/ctl_private.h @@ -492,6 +492,13 @@ extern const struct ctl_cmd_entry ctl_cmd_table[256]; uint32_t ctl_get_initindex(struct ctl_nexus *nexus); uint32_t ctl_get_resindex(struct ctl_nexus *nexus); uint32_t ctl_port_idx(int port_num); +int ctl_lun_map_init(struct ctl_port *port); +int ctl_lun_map_deinit(struct ctl_port *port); +int ctl_lun_map_set(struct ctl_port *port, uint32_t plun, uint32_t glun); +int ctl_lun_map_unset(struct ctl_port *port, uint32_t plun); +int ctl_lun_map_unsetg(struct ctl_port *port, uint32_t glun); +uint32_t ctl_lun_map_from_port(struct ctl_port *port, uint32_t plun); +uint32_t ctl_lun_map_to_port(struct ctl_port *port, uint32_t glun); int ctl_pool_create(struct ctl_softc *ctl_softc, const char *pool_name, uint32_t total_ctl_io, void **npool); void ctl_pool_free(struct ctl_io_pool *pool); diff --git a/sys/cam/ctl/ctl_tpc_local.c b/sys/cam/ctl/ctl_tpc_local.c index 63360fe75ae..a2544187cda 100644 --- a/sys/cam/ctl/ctl_tpc_local.c +++ b/sys/cam/ctl/ctl_tpc_local.c @@ -314,48 +314,30 @@ tpcl_resolve(struct ctl_softc *softc, int init_port, struct scsi_ec_cscd_id *cscdid; struct ctl_port *port; struct ctl_lun *lun; - uint64_t lunid = UINT64_MAX, l; - int i; + uint64_t lunid = UINT64_MAX; if (cscd->type_code != EC_CSCD_ID) return (lunid); cscdid = (struct scsi_ec_cscd_id *)cscd; mtx_lock(&softc->ctl_lock); - if (init_port >= 0) { + if (init_port >= 0) port = softc->ctl_ports[ctl_port_idx(init_port)]; - if (port == NULL || port->lun_map == NULL) - init_port = -1; - } - if (init_port < 0) { - STAILQ_FOREACH(lun, &softc->lun_list, links) { - if (lun->lun_devid == NULL) - continue; - if (scsi_devid_match(lun->lun_devid->data, - lun->lun_devid->len, &cscdid->codeset, - cscdid->length + 4) == 0) { - lunid = lun->lun; - if (ss && lun->be_lun) - *ss = lun->be_lun->blocksize; - break; - } - } - } else { - for (i = 0; i < CTL_MAX_LUNS; i++) { - l = port->lun_map(port->targ_lun_arg, i); - if (l >= CTL_MAX_LUNS) - continue; - lun = softc->ctl_luns[l]; - if (lun == NULL || lun->lun_devid == NULL) - continue; - if (scsi_devid_match(lun->lun_devid->data, - lun->lun_devid->len, &cscdid->codeset, - cscdid->length + 4) == 0) { - lunid = lun->lun; - if (ss && lun->be_lun) - *ss = lun->be_lun->blocksize; - break; - } + else + port = NULL; + STAILQ_FOREACH(lun, &softc->lun_list, links) { + if (port != NULL && + ctl_lun_map_to_port(port, lun->lun) >= CTL_MAX_LUNS) + continue; + if (lun->lun_devid == NULL) + continue; + if (scsi_devid_match(lun->lun_devid->data, + lun->lun_devid->len, &cscdid->codeset, + cscdid->length + 4) == 0) { + lunid = lun->lun; + if (ss && lun->be_lun) + *ss = lun->be_lun->blocksize; + break; } } mtx_unlock(&softc->ctl_lock); diff --git a/usr.sbin/ctladm/ctladm.8 b/usr.sbin/ctladm/ctladm.8 index 2a5123ab877..14710c2cfb2 100644 --- a/usr.sbin/ctladm/ctladm.8 +++ b/usr.sbin/ctladm/ctladm.8 @@ -34,7 +34,7 @@ .\" $Id: //depot/users/kenm/FreeBSD-test2/usr.sbin/ctladm/ctladm.8#3 $ .\" $FreeBSD$ .\" -.Dd December 17, 2014 +.Dd February 1, 2015 .Dt CTLADM 8 .Os .Sh NAME @@ -196,11 +196,17 @@ .Ic portlist .Op Fl f Ar frontend .Op Fl i +.Op Fl l .Op Fl p Ar targ_port .Op Fl q .Op Fl v .Op Fl x .Nm +.Ic lunmap +.Aq Fl p Ar targ_port +.Op Fl l Ar pLUN +.Op Fl L Ar cLUN +.Nm .Ic dumpooa .Nm .Ic dumpstructs @@ -782,7 +788,9 @@ List CTL frontend ports. .It Fl f Ar frontend Specify the frontend type. .It Fl i -Report target and connected initiators addresses +Report target and connected initiators addresses. +.It Fl l +Report LUN mapping. .It Fl p Ar targ_port Specify the frontend port number. .It Fl q @@ -792,6 +800,31 @@ Enable verbose output (report all port options). .It Fl x Output the port list in XML format. .El +.It Ic lunmap +Change LUN mapping for specified port. +If both +.Ar pLUN +and +.Ar cLUN +are specified -- LUN will be mapped. +If +.Ar pLUN +is specified, but +.Ar cLUN +is not -- LUN will be unmapped. +If neither +.Ar pLUN +nor +.Ar cLUN +are specified -- LUN mapping will be disabled, exposing all CTL LUNs. +.Bl -tag -width 12n +.It Fl p Ar targ_port +Specify the frontend port number. +.It Fl l Ar pLUN +LUN number visible by specified port. +.It Fl L Ar cLUN +CTL LUN number. +.El .It Ic dumpooa Dump the OOA (Order Of Arrival) queue for each LUN registered with CTL. .It Ic dumpstructs diff --git a/usr.sbin/ctladm/ctladm.c b/usr.sbin/ctladm/ctladm.c index 9f72c83a00c..3351e3c9685 100644 --- a/usr.sbin/ctladm/ctladm.c +++ b/usr.sbin/ctladm/ctladm.c @@ -121,7 +121,8 @@ typedef enum { CTLADM_CMD_MODIFY, CTLADM_CMD_ISLIST, CTLADM_CMD_ISLOGOUT, - CTLADM_CMD_ISTERMINATE + CTLADM_CMD_ISTERMINATE, + CTLADM_CMD_LUNMAP } ctladm_cmdfunction; typedef enum { @@ -188,10 +189,11 @@ static struct ctladm_opts option_table[] = { {"islogout", CTLADM_CMD_ISLOGOUT, CTLADM_ARG_NONE, "ac:i:p:"}, {"isterminate", CTLADM_CMD_ISTERMINATE, CTLADM_ARG_NONE, "ac:i:p:"}, {"lunlist", CTLADM_CMD_LUNLIST, CTLADM_ARG_NONE, NULL}, + {"lunmap", CTLADM_CMD_LUNMAP, CTLADM_ARG_NONE, "p:l:L:"}, {"modesense", CTLADM_CMD_MODESENSE, CTLADM_ARG_NEED_TL, "P:S:dlm:c:"}, {"modify", CTLADM_CMD_MODIFY, CTLADM_ARG_NONE, "b:l:s:"}, {"port", CTLADM_CMD_PORT, CTLADM_ARG_NONE, "lo:p:qt:w:W:x"}, - {"portlist", CTLADM_CMD_PORTLIST, CTLADM_ARG_NONE, "f:ip:qvx"}, + {"portlist", CTLADM_CMD_PORTLIST, CTLADM_ARG_NONE, "f:ilp:qvx"}, {"prin", CTLADM_CMD_PRES_IN, CTLADM_ARG_NEED_TL, "a:"}, {"prout", CTLADM_CMD_PRES_OUT, CTLADM_ARG_NEED_TL, "a:k:r:s:"}, {"read", CTLADM_CMD_READ, CTLADM_ARG_NEED_TL, rw_opts}, @@ -4106,8 +4108,9 @@ struct cctl_port { char *frontend_type; char *name; int pp, vp; - char *target, *port; + char *target, *port, *lun_map; STAILQ_HEAD(,cctl_lun_nv) init_list; + STAILQ_HEAD(,cctl_lun_nv) lun_list; STAILQ_HEAD(,cctl_lun_nv) attr_list; STAILQ_ENTRY(cctl_port) links; }; @@ -4161,6 +4164,7 @@ cctl_start_pelement(void *user_data, const char *name, const char **attr) portlist->cur_port = cur_port; STAILQ_INIT(&cur_port->init_list); + STAILQ_INIT(&cur_port->lun_list); STAILQ_INIT(&cur_port->attr_list); cur_port->port_id = portlist->cur_id; STAILQ_INSERT_TAIL(&portlist->port_list, cur_port, links); @@ -4220,6 +4224,9 @@ cctl_end_pelement(void *user_data, const char *name) } else if (strcmp(name, "port") == 0) { cur_port->port = str; str = NULL; + } else if (strcmp(name, "lun_map") == 0) { + cur_port->lun_map = str; + str = NULL; } else if (strcmp(name, "targ_port") == 0) { portlist->cur_port = NULL; } else if (strcmp(name, "ctlportlist") == 0) { @@ -4232,7 +4239,8 @@ cctl_end_pelement(void *user_data, const char *name) err(1, "%s: can't allocate %zd bytes for nv pair", __func__, sizeof(*nv)); - if (strcmp(name, "initiator") == 0) + if (strcmp(name, "initiator") == 0 || + strcmp(name, "lun") == 0) asprintf(&nv->name, "%ju", portlist->cur_id); else nv->name = strdup(name); @@ -4244,6 +4252,8 @@ cctl_end_pelement(void *user_data, const char *name) str = NULL; if (strcmp(name, "initiator") == 0) STAILQ_INSERT_TAIL(&cur_port->init_list, nv, links); + else if (strcmp(name, "lun") == 0) + STAILQ_INSERT_TAIL(&cur_port->lun_list, nv, links); else STAILQ_INSERT_TAIL(&cur_port->attr_list, nv, links); } @@ -4274,7 +4284,7 @@ cctl_portlist(int fd, int argc, char **argv, char *combinedopt) int retval, c; char *frontend = NULL; uint64_t portarg = UINT64_MAX; - int verbose = 0, init = 0, quiet = 0; + int verbose = 0, init = 0, lun = 0, quiet = 0; retval = 0; port_len = 4096; @@ -4290,6 +4300,9 @@ cctl_portlist(int fd, int argc, char **argv, char *combinedopt) case 'i': init++; break; + case 'l': + lun++; + break; case 'p': portarg = strtoll(optarg, NULL, 0); break; @@ -4381,6 +4394,17 @@ retry: } } + if (lun || verbose) { + if (port->lun_map) { + STAILQ_FOREACH(nv, &port->lun_list, links) + printf(" LUN %s: %s\n", + nv->name, nv->value); + if (STAILQ_EMPTY(&port->lun_list)) + printf(" No LUNs mapped\n"); + } else + printf(" All LUNs mapped\n"); + } + if (verbose) { STAILQ_FOREACH(nv, &port->attr_list, links) { printf(" %s=%s\n", nv->name, nv->value); @@ -4393,6 +4417,41 @@ bailout: return (retval); } +static int +cctl_lunmap(int fd, int argc, char **argv, char *combinedopt) +{ + struct ctl_lun_map lm; + int retval = 0, c; + + retval = 0; + lm.port = UINT32_MAX; + lm.plun = UINT32_MAX; + lm.lun = UINT32_MAX; + + while ((c = getopt(argc, argv, combinedopt)) != -1) { + switch (c) { + case 'p': + lm.port = strtoll(optarg, NULL, 0); + break; + case 'l': + lm.plun = strtoll(optarg, NULL, 0); + break; + case 'L': + lm.lun = strtoll(optarg, NULL, 0); + break; + default: + break; + } + } + + if (ioctl(fd, CTL_LUN_MAP, &lm) == -1) { + warn("%s: error issuing CTL_LUN_MAP ioctl", __func__); + retval = 1; + } + + return (retval); +} + void usage(int error) { @@ -4430,6 +4489,7 @@ usage(int error) " ctladm hardstop\n" " ctladm hardstart\n" " ctladm lunlist\n" +" ctladm lunmap -p targ_port [-l pLUN] [-L cLUN]\n" " ctladm bbrread [dev_id] <-l lba> <-d datalen>\n" " ctladm delay [dev_id] <-l datamove|done> [-T oneshot|cont]\n" " [-t secs]\n" @@ -4529,10 +4589,15 @@ usage(int error) "portlist options:\n" "-f fronetnd : specify frontend type\n" "-i : report target and initiators addresses\n" +"-l : report LUN mapping\n" "-p targ_port : specify target port number\n" "-q : omit header in list output\n" "-v : verbose output (report all port options)\n" "-x : output port list in XML format\n" +"lunmap options:\n" +"-p targ_port : specify target port number\n" +"-L pLUN : specify port-visible LUN\n" +"-L cLUN : specify CTL LUN\n" "bbrread options:\n" "-l lba : starting LBA\n" "-d datalen : length, in bytes, to read\n", @@ -4760,6 +4825,9 @@ main(int argc, char **argv) case CTLADM_CMD_PORTLIST: retval = cctl_portlist(fd, argc, argv, combinedopt); break; + case CTLADM_CMD_LUNMAP: + retval = cctl_lunmap(fd, argc, argv, combinedopt); + break; case CTLADM_CMD_READCAPACITY: retval = cctl_read_capacity(fd, target, lun, initid, retries, argc, argv, combinedopt); diff --git a/usr.sbin/ctld/ctl.conf.5 b/usr.sbin/ctld/ctl.conf.5 index 0b8014ff5b6..789161f90bb 100644 --- a/usr.sbin/ctld/ctl.conf.5 +++ b/usr.sbin/ctld/ctl.conf.5 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 24, 2014 +.Dd February 1, 2015 .Dt CTL.CONF 5 .Os .Sh NAME @@ -60,9 +60,14 @@ file is: .Dl ... } +.No lun Ar name No { +.Dl path Ar path +} + .No target Ar name { .Dl auth-group Ar name .Dl portal-group Ar name +.Dl lun Ar number Ar name .Dl lun Ar number No { .Dl path Ar path .Dl } @@ -95,6 +100,10 @@ Create a configuration context, defining a new portal-group, which can then be assigned to any number of targets. +.It Ic lun Ar name +Create a +.Sy lun +configuration context, defining a LUN to be exported by some target(s). .It Ic target Ar name Create a .Sy target @@ -312,6 +321,10 @@ IPv4 or IPv6 address to redirect initiators to. When configured, all initiators attempting to connect to this target will get redirected using "Target moved temporarily" login response. Redirection happens after successful authentication. +.It Ic lun Ar number Ar name +Export previously defined +.Sy lun +by the parent target. .It Ic lun Ar number Create a .Sy lun @@ -387,21 +400,21 @@ target iqn.2012-06.com.example:target0 { } } +lun example_1 { + path /dev/zvol/tank/example_1 +} + target iqn.2012-06.com.example:target1 { chap chapuser chapsecret - lun 0 { - path /dev/zvol/tank/example_1 - } + lun 0 example_1 } target iqn.2012-06.com.example:target2 { auth-group ag0 portal-group pg0 - lun 0 { - path /dev/zvol/tank/example2_0 - } + lun 0 example_1 lun 1 { - path /dev/zvol/tank/example2_1 + path /dev/zvol/tank/example_2 option foo bar } } diff --git a/usr.sbin/ctld/ctld.c b/usr.sbin/ctld/ctld.c index 21e60307505..08e29053d37 100644 --- a/usr.sbin/ctld/ctld.c +++ b/usr.sbin/ctld/ctld.c @@ -87,6 +87,7 @@ conf_new(void) conf = calloc(1, sizeof(*conf)); if (conf == NULL) log_err(1, "calloc"); + TAILQ_INIT(&conf->conf_luns); TAILQ_INIT(&conf->conf_targets); TAILQ_INIT(&conf->conf_auth_groups); TAILQ_INIT(&conf->conf_portal_groups); @@ -104,6 +105,7 @@ conf_new(void) void conf_delete(struct conf *conf) { + struct lun *lun, *ltmp; struct target *targ, *tmp; struct auth_group *ag, *cagtmp; struct portal_group *pg, *cpgtmp; @@ -111,6 +113,8 @@ conf_delete(struct conf *conf) assert(conf->conf_pidfh == NULL); + TAILQ_FOREACH_SAFE(lun, &conf->conf_luns, l_next, ltmp) + lun_delete(lun); TAILQ_FOREACH_SAFE(targ, &conf->conf_targets, t_next, tmp) target_delete(targ); TAILQ_FOREACH_SAFE(ag, &conf->conf_auth_groups, ag_next, cagtmp) @@ -1146,7 +1150,6 @@ target_new(struct conf *conf, const char *name) for (i = 0; i < len; i++) targ->t_name[i] = tolower(targ->t_name[i]); - TAILQ_INIT(&targ->t_luns); targ->t_conf = conf; TAILQ_INSERT_TAIL(&conf->conf_targets, targ, t_next); @@ -1156,12 +1159,9 @@ target_new(struct conf *conf, const char *name) void target_delete(struct target *targ) { - struct lun *lun, *tmp; TAILQ_REMOVE(&targ->t_conf->conf_targets, targ, t_next); - TAILQ_FOREACH_SAFE(lun, &targ->t_luns, l_next, tmp) - lun_delete(lun); free(targ->t_name); free(targ->t_redirection); free(targ); @@ -1196,25 +1196,31 @@ target_set_redirection(struct target *target, const char *addr) return (0); } +void +target_set_ctl_port(struct target *target, uint32_t value) +{ + + target->t_ctl_port = value; +} + struct lun * -lun_new(struct target *targ, int lun_id) +lun_new(struct conf *conf, const char *name) { struct lun *lun; - lun = lun_find(targ, lun_id); + lun = lun_find(conf, name); if (lun != NULL) { - log_warnx("duplicated lun %d for target \"%s\"", - lun_id, targ->t_name); + log_warnx("duplicated lun \"%s\"", name); return (NULL); } lun = calloc(1, sizeof(*lun)); if (lun == NULL) log_err(1, "calloc"); - lun->l_lun = lun_id; + lun->l_conf = conf; + lun->l_name = checked_strdup(name); TAILQ_INIT(&lun->l_options); - lun->l_target = targ; - TAILQ_INSERT_TAIL(&targ->t_luns, lun, l_next); + TAILQ_INSERT_TAIL(&conf->conf_luns, lun, l_next); return (lun); } @@ -1222,26 +1228,36 @@ lun_new(struct target *targ, int lun_id) void lun_delete(struct lun *lun) { + struct target *targ; struct lun_option *lo, *tmp; + int i; - TAILQ_REMOVE(&lun->l_target->t_luns, lun, l_next); + TAILQ_FOREACH(targ, &lun->l_conf->conf_targets, t_next) { + for (i = 0; i < MAX_LUNS; i++) { + if (targ->t_luns[i] == lun) + targ->t_luns[i] = NULL; + } + } + TAILQ_REMOVE(&lun->l_conf->conf_luns, lun, l_next); TAILQ_FOREACH_SAFE(lo, &lun->l_options, lo_next, tmp) lun_option_delete(lo); + free(lun->l_name); free(lun->l_backend); free(lun->l_device_id); free(lun->l_path); + free(lun->l_scsiname); free(lun->l_serial); free(lun); } struct lun * -lun_find(const struct target *targ, int lun_id) +lun_find(const struct conf *conf, const char *name) { struct lun *lun; - TAILQ_FOREACH(lun, &targ->t_luns, l_next) { - if (lun->l_lun == lun_id) + TAILQ_FOREACH(lun, &conf->conf_luns, l_next) { + if (strcmp(lun->l_name, name) == 0) return (lun); } @@ -1276,6 +1292,13 @@ lun_set_path(struct lun *lun, const char *value) lun->l_path = checked_strdup(value); } +void +lun_set_scsiname(struct lun *lun, const char *value) +{ + free(lun->l_scsiname); + lun->l_scsiname = checked_strdup(value); +} + void lun_set_serial(struct lun *lun, const char *value) { @@ -1304,8 +1327,8 @@ lun_option_new(struct lun *lun, const char *name, const char *value) lo = lun_option_find(lun, name); if (lo != NULL) { - log_warnx("duplicated lun option %s for lun %d, target \"%s\"", - name, lun->l_lun, lun->l_target->t_name); + log_warnx("duplicated lun option \"%s\" for lun \"%s\"", + name, lun->l_name); return (NULL); } @@ -1410,18 +1433,18 @@ conf_print(struct conf *conf) fprintf(stderr, "\t listen %s\n", portal->p_listen); fprintf(stderr, "}\n"); } + TAILQ_FOREACH(lun, &conf->conf_luns, l_next) { + fprintf(stderr, "\tlun %s {\n", lun->l_name); + fprintf(stderr, "\t\tpath %s\n", lun->l_path); + TAILQ_FOREACH(lo, &lun->l_options, lo_next) + fprintf(stderr, "\t\toption %s %s\n", + lo->lo_name, lo->lo_value); + fprintf(stderr, "\t}\n"); + } TAILQ_FOREACH(targ, &conf->conf_targets, t_next) { fprintf(stderr, "target %s {\n", targ->t_name); if (targ->t_alias != NULL) fprintf(stderr, "\t alias %s\n", targ->t_alias); - TAILQ_FOREACH(lun, &targ->t_luns, l_next) { - fprintf(stderr, "\tlun %d {\n", lun->l_lun); - fprintf(stderr, "\t\tpath %s\n", lun->l_path); - TAILQ_FOREACH(lo, &lun->l_options, lo_next) - fprintf(stderr, "\t\toption %s %s\n", - lo->lo_name, lo->lo_value); - fprintf(stderr, "\t}\n"); - } fprintf(stderr, "}\n"); } } @@ -1431,60 +1454,49 @@ static int conf_verify_lun(struct lun *lun) { const struct lun *lun2; - const struct target *targ2; if (lun->l_backend == NULL) lun_set_backend(lun, "block"); if (strcmp(lun->l_backend, "block") == 0) { if (lun->l_path == NULL) { - log_warnx("missing path for lun %d, target \"%s\"", - lun->l_lun, lun->l_target->t_name); + log_warnx("missing path for lun \"%s\"", + lun->l_name); return (1); } } else if (strcmp(lun->l_backend, "ramdisk") == 0) { if (lun->l_size == 0) { - log_warnx("missing size for ramdisk-backed lun %d, " - "target \"%s\"", lun->l_lun, lun->l_target->t_name); + log_warnx("missing size for ramdisk-backed lun \"%s\"", + lun->l_name); return (1); } if (lun->l_path != NULL) { log_warnx("path must not be specified " - "for ramdisk-backed lun %d, target \"%s\"", - lun->l_lun, lun->l_target->t_name); + "for ramdisk-backed lun \"%s\"", + lun->l_name); return (1); } } - if (lun->l_lun < 0 || lun->l_lun > 255) { - log_warnx("invalid lun number for lun %d, target \"%s\"; " - "must be between 0 and 255", lun->l_lun, - lun->l_target->t_name); - return (1); - } if (lun->l_blocksize == 0) { lun_set_blocksize(lun, DEFAULT_BLOCKSIZE); } else if (lun->l_blocksize < 0) { - log_warnx("invalid blocksize for lun %d, target \"%s\"; " - "must be larger than 0", lun->l_lun, lun->l_target->t_name); + log_warnx("invalid blocksize for lun \"%s\"; " + "must be larger than 0", lun->l_name); return (1); } if (lun->l_size != 0 && lun->l_size % lun->l_blocksize != 0) { - log_warnx("invalid size for lun %d, target \"%s\"; " - "must be multiple of blocksize", lun->l_lun, - lun->l_target->t_name); + log_warnx("invalid size for lun \"%s\"; " + "must be multiple of blocksize", lun->l_name); return (1); } - TAILQ_FOREACH(targ2, &lun->l_target->t_conf->conf_targets, t_next) { - TAILQ_FOREACH(lun2, &targ2->t_luns, l_next) { - if (lun == lun2) - continue; - if (lun->l_path != NULL && lun2->l_path != NULL && - strcmp(lun->l_path, lun2->l_path) == 0) { - log_debugx("WARNING: path \"%s\" duplicated " - "between lun %d, target \"%s\", and " - "lun %d, target \"%s\"", lun->l_path, - lun->l_lun, lun->l_target->t_name, - lun2->l_lun, lun2->l_target->t_name); - } + TAILQ_FOREACH(lun2, &lun->l_conf->conf_luns, l_next) { + if (lun == lun2) + continue; + if (lun->l_path != NULL && lun2->l_path != NULL && + strcmp(lun->l_path, lun2->l_path) == 0) { + log_debugx("WARNING: path \"%s\" duplicated " + "between lun \"%s\", and " + "lun \"%s\"", lun->l_path, + lun->l_name, lun2->l_name); } } @@ -1499,11 +1511,16 @@ conf_verify(struct conf *conf) struct target *targ; struct lun *lun; bool found; - int error; + int error, i; if (conf->conf_pidfile_path == NULL) conf->conf_pidfile_path = checked_strdup(DEFAULT_PIDFILE); + TAILQ_FOREACH(lun, &conf->conf_luns, l_next) { + error = conf_verify_lun(lun); + if (error != 0) + return (error); + } TAILQ_FOREACH(targ, &conf->conf_targets, t_next) { if (targ->t_auth_group == NULL) { targ->t_auth_group = auth_group_find(conf, @@ -1516,11 +1533,9 @@ conf_verify(struct conf *conf) assert(targ->t_portal_group != NULL); } found = false; - TAILQ_FOREACH(lun, &targ->t_luns, l_next) { - error = conf_verify_lun(lun); - if (error != 0) - return (error); - found = true; + for (i = 0; i < MAX_LUNS; i++) { + if (targ->t_luns[i] != NULL) + found = true; } if (!found && targ->t_redirection == NULL) { log_warnx("no LUNs defined for target \"%s\"", @@ -1657,126 +1672,128 @@ conf_apply(struct conf *oldconf, struct conf *newconf) * be somewhat hairy, though, and lun deletion failures don't * really happen, so leave it as it is for now. */ + /* + * First, remove any targets present in the old configuration + * and missing in the new one. + */ TAILQ_FOREACH_SAFE(oldtarg, &oldconf->conf_targets, t_next, tmptarg) { - /* - * First, remove any targets present in the old configuration - * and missing in the new one. - */ newtarg = target_find(newconf, oldtarg->t_name); - if (newtarg == NULL) { - error = kernel_port_remove(oldtarg); + if (newtarg != NULL) + continue; + error = kernel_port_remove(oldtarg); + if (error != 0) { + log_warnx("failed to remove target %s", + oldtarg->t_name); + /* + * XXX: Uncomment after fixing the root cause. + * + * cumulated_error++; + */ + } + } + + /* + * Second, remove any LUNs present in the old configuration + * and missing in the new one. + */ + TAILQ_FOREACH_SAFE(oldlun, &oldconf->conf_luns, l_next, tmplun) { + newlun = lun_find(newconf, oldlun->l_name); + if (newlun == NULL) { + log_debugx("lun \"%s\", CTL lun %d " + "not found in new configuration; " + "removing", oldlun->l_name, oldlun->l_ctl_lun); + error = kernel_lun_remove(oldlun); if (error != 0) { - log_warnx("failed to remove target %s", - oldtarg->t_name); - /* - * XXX: Uncomment after fixing the root cause. - * - * cumulated_error++; - */ - } - TAILQ_FOREACH_SAFE(oldlun, &oldtarg->t_luns, l_next, - tmplun) { - log_debugx("target %s not found in new " - "configuration; removing its lun %d, " - "backed by CTL lun %d", - oldtarg->t_name, oldlun->l_lun, - oldlun->l_ctl_lun); - error = kernel_lun_remove(oldlun); - if (error != 0) { - log_warnx("failed to remove lun %d, " - "target %s, CTL lun %d", - oldlun->l_lun, oldtarg->t_name, - oldlun->l_ctl_lun); - cumulated_error++; - } + log_warnx("failed to remove lun \"%s\", " + "CTL lun %d", + oldlun->l_name, oldlun->l_ctl_lun); + cumulated_error++; } continue; } /* - * Second, remove any LUNs present in the old target - * and missing in the new one. + * Also remove the LUNs changed by more than size. */ - TAILQ_FOREACH_SAFE(oldlun, &oldtarg->t_luns, l_next, tmplun) { - newlun = lun_find(newtarg, oldlun->l_lun); - if (newlun == NULL) { - log_debugx("lun %d, target %s, CTL lun %d " - "not found in new configuration; " - "removing", oldlun->l_lun, oldtarg->t_name, - oldlun->l_ctl_lun); - error = kernel_lun_remove(oldlun); + changed = 0; + assert(oldlun->l_backend != NULL); + assert(newlun->l_backend != NULL); + if (strcmp(newlun->l_backend, oldlun->l_backend) != 0) { + log_debugx("backend for lun \"%s\", " + "CTL lun %d changed; removing", + oldlun->l_name, oldlun->l_ctl_lun); + changed = 1; + } + if (oldlun->l_blocksize != newlun->l_blocksize) { + log_debugx("blocksize for lun \"%s\", " + "CTL lun %d changed; removing", + oldlun->l_name, oldlun->l_ctl_lun); + changed = 1; + } + if (newlun->l_device_id != NULL && + (oldlun->l_device_id == NULL || + strcmp(oldlun->l_device_id, newlun->l_device_id) != + 0)) { + log_debugx("device-id for lun \"%s\", " + "CTL lun %d changed; removing", + oldlun->l_name, oldlun->l_ctl_lun); + changed = 1; + } + if (newlun->l_path != NULL && + (oldlun->l_path == NULL || + strcmp(oldlun->l_path, newlun->l_path) != 0)) { + log_debugx("path for lun \"%s\", " + "CTL lun %d, changed; removing", + oldlun->l_name, oldlun->l_ctl_lun); + changed = 1; + } + if (newlun->l_serial != NULL && + (oldlun->l_serial == NULL || + strcmp(oldlun->l_serial, newlun->l_serial) != 0)) { + log_debugx("serial for lun \"%s\", " + "CTL lun %d changed; removing", + oldlun->l_name, oldlun->l_ctl_lun); + changed = 1; + } + if (changed) { + error = kernel_lun_remove(oldlun); + if (error != 0) { + log_warnx("failed to remove lun \"%s\", " + "CTL lun %d", + oldlun->l_name, oldlun->l_ctl_lun); + cumulated_error++; + } + lun_delete(oldlun); + continue; + } + + lun_set_ctl_lun(newlun, oldlun->l_ctl_lun); + } + + TAILQ_FOREACH_SAFE(newlun, &newconf->conf_luns, l_next, tmplun) { + oldlun = lun_find(oldconf, newlun->l_name); + if (oldlun != NULL) { + if (newlun->l_size != oldlun->l_size || + newlun->l_size == 0) { + log_debugx("resizing lun \"%s\", CTL lun %d", + newlun->l_name, newlun->l_ctl_lun); + error = kernel_lun_resize(newlun); if (error != 0) { - log_warnx("failed to remove lun %d, " - "target %s, CTL lun %d", - oldlun->l_lun, oldtarg->t_name, - oldlun->l_ctl_lun); + log_warnx("failed to " + "resize lun \"%s\", CTL lun %d", + newlun->l_name, + newlun->l_ctl_lun); cumulated_error++; } - continue; } - - /* - * Also remove the LUNs changed by more than size. - */ - changed = 0; - assert(oldlun->l_backend != NULL); - assert(newlun->l_backend != NULL); - if (strcmp(newlun->l_backend, oldlun->l_backend) != 0) { - log_debugx("backend for lun %d, target %s, " - "CTL lun %d changed; removing", - oldlun->l_lun, oldtarg->t_name, - oldlun->l_ctl_lun); - changed = 1; - } - if (oldlun->l_blocksize != newlun->l_blocksize) { - log_debugx("blocksize for lun %d, target %s, " - "CTL lun %d changed; removing", - oldlun->l_lun, oldtarg->t_name, - oldlun->l_ctl_lun); - changed = 1; - } - if (newlun->l_device_id != NULL && - (oldlun->l_device_id == NULL || - strcmp(oldlun->l_device_id, newlun->l_device_id) != - 0)) { - log_debugx("device-id for lun %d, target %s, " - "CTL lun %d changed; removing", - oldlun->l_lun, oldtarg->t_name, - oldlun->l_ctl_lun); - changed = 1; - } - if (newlun->l_path != NULL && - (oldlun->l_path == NULL || - strcmp(oldlun->l_path, newlun->l_path) != 0)) { - log_debugx("path for lun %d, target %s, " - "CTL lun %d, changed; removing", - oldlun->l_lun, oldtarg->t_name, - oldlun->l_ctl_lun); - changed = 1; - } - if (newlun->l_serial != NULL && - (oldlun->l_serial == NULL || - strcmp(oldlun->l_serial, newlun->l_serial) != 0)) { - log_debugx("serial for lun %d, target %s, " - "CTL lun %d changed; removing", - oldlun->l_lun, oldtarg->t_name, - oldlun->l_ctl_lun); - changed = 1; - } - if (changed) { - error = kernel_lun_remove(oldlun); - if (error != 0) { - log_warnx("failed to remove lun %d, " - "target %s, CTL lun %d", - oldlun->l_lun, oldtarg->t_name, - oldlun->l_ctl_lun); - cumulated_error++; - } - lun_delete(oldlun); - continue; - } - - lun_set_ctl_lun(newlun, oldlun->l_ctl_lun); + continue; + } + log_debugx("adding lun \"%s\"", newlun->l_name); + error = kernel_lun_add(newlun); + if (error != 0) { + log_warnx("failed to add lun \"%s\"", newlun->l_name); + lun_delete(newlun); + cumulated_error++; } } @@ -1786,54 +1803,21 @@ conf_apply(struct conf *oldconf, struct conf *newconf) TAILQ_FOREACH(newtarg, &newconf->conf_targets, t_next) { oldtarg = target_find(oldconf, newtarg->t_name); - TAILQ_FOREACH_SAFE(newlun, &newtarg->t_luns, l_next, tmplun) { - if (oldtarg != NULL) { - oldlun = lun_find(oldtarg, newlun->l_lun); - if (oldlun != NULL) { - if (newlun->l_size != oldlun->l_size || - newlun->l_size == 0) { - log_debugx("resizing lun %d, " - "target %s, CTL lun %d", - newlun->l_lun, - newtarg->t_name, - newlun->l_ctl_lun); - error = - kernel_lun_resize(newlun); - if (error != 0) { - log_warnx("failed to " - "resize lun %d, " - "target %s, " - "CTL lun %d", - newlun->l_lun, - newtarg->t_name, - newlun->l_lun); - cumulated_error++; - } - } - continue; - } - } - log_debugx("adding lun %d, target %s", - newlun->l_lun, newtarg->t_name); - error = kernel_lun_add(newlun); - if (error != 0) { - log_warnx("failed to add lun %d, target %s", - newlun->l_lun, newtarg->t_name); - lun_delete(newlun); - cumulated_error++; - } - } - if (oldtarg == NULL) { + if (oldtarg == NULL) error = kernel_port_add(newtarg); - if (error != 0) { - log_warnx("failed to add target %s", - newtarg->t_name); - /* - * XXX: Uncomment after fixing the root cause. - * - * cumulated_error++; - */ - } + else { + target_set_ctl_port(newtarg, oldtarg->t_ctl_port); + error = kernel_port_update(newtarg); + } + if (error != 0) { + log_warnx("failed to %s target %s", + (oldtarg == NULL) ? "add" : "update", + newtarg->t_name); + /* + * XXX: Uncomment after fixing the root cause. + * + * cumulated_error++; + */ } } diff --git a/usr.sbin/ctld/ctld.h b/usr.sbin/ctld/ctld.h index 34c08919e51..e082a413e28 100644 --- a/usr.sbin/ctld/ctld.h +++ b/usr.sbin/ctld/ctld.h @@ -45,6 +45,7 @@ #define DEFAULT_PIDFILE "/var/run/ctld.pid" #define DEFAULT_BLOCKSIZE 512 +#define MAX_LUNS 1024 #define MAX_NAME_LEN 223 #define MAX_DATA_SEGMENT_LENGTH (128 * 1024) #define MAX_BURST_LENGTH 16776192 @@ -132,13 +133,14 @@ struct lun_option { struct lun { TAILQ_ENTRY(lun) l_next; + struct conf *l_conf; TAILQ_HEAD(, lun_option) l_options; - struct target *l_target; - int l_lun; + char *l_name; char *l_backend; int l_blocksize; char *l_device_id; char *l_path; + char *l_scsiname; char *l_serial; int64_t l_size; @@ -147,13 +149,15 @@ struct lun { struct target { TAILQ_ENTRY(target) t_next; - TAILQ_HEAD(, lun) t_luns; struct conf *t_conf; + struct lun *t_luns[MAX_LUNS]; struct auth_group *t_auth_group; struct portal_group *t_portal_group; char *t_name; char *t_alias; char *t_redirection; + + uint32_t t_ctl_port; }; struct isns { @@ -165,6 +169,7 @@ struct isns { struct conf { char *conf_pidfile_path; + TAILQ_HEAD(, lun) conf_luns; TAILQ_HEAD(, target) conf_targets; TAILQ_HEAD(, auth_group) conf_auth_groups; TAILQ_HEAD(, portal_group) conf_portal_groups; @@ -319,14 +324,17 @@ struct target *target_find(struct conf *conf, const char *name); int target_set_redirection(struct target *target, const char *addr); +void target_set_ctl_port(struct target *target, + uint32_t value); -struct lun *lun_new(struct target *target, int lun_id); +struct lun *lun_new(struct conf *conf, const char *name); void lun_delete(struct lun *lun); -struct lun *lun_find(const struct target *target, int lun_id); +struct lun *lun_find(const struct conf *conf, const char *name); void lun_set_backend(struct lun *lun, const char *value); void lun_set_blocksize(struct lun *lun, size_t value); void lun_set_device_id(struct lun *lun, const char *value); void lun_set_path(struct lun *lun, const char *value); +void lun_set_scsiname(struct lun *lun, const char *value); void lun_set_serial(struct lun *lun, const char *value); void lun_set_size(struct lun *lun, size_t value); void lun_set_ctl_lun(struct lun *lun, uint32_t value); @@ -345,6 +353,7 @@ int kernel_lun_resize(struct lun *lun); int kernel_lun_remove(struct lun *lun); void kernel_handoff(struct connection *conn); int kernel_port_add(struct target *targ); +int kernel_port_update(struct target *targ); int kernel_port_remove(struct target *targ); void kernel_capsicate(void); diff --git a/usr.sbin/ctld/kernel.c b/usr.sbin/ctld/kernel.c index 219313f3ef0..ae1b11d84e6 100644 --- a/usr.sbin/ctld/kernel.c +++ b/usr.sbin/ctld/kernel.c @@ -114,8 +114,7 @@ struct cctl_lun { uint32_t blocksize; char *serial_number; char *device_id; - char *cfiscsi_target; - int cfiscsi_lun; + char *ctld_name; STAILQ_HEAD(,cctl_lun_nv) attr_list; STAILQ_ENTRY(cctl_lun) links; }; @@ -229,11 +228,9 @@ cctl_end_element(void *user_data, const char *name) } else if (strcmp(name, "device_id") == 0) { cur_lun->device_id = str; str = NULL; - } else if (strcmp(name, "cfiscsi_target") == 0) { - cur_lun->cfiscsi_target = str; + } else if (strcmp(name, "ctld_name") == 0) { + cur_lun->ctld_name = str; str = NULL; - } else if (strcmp(name, "cfiscsi_lun") == 0) { - cur_lun->cfiscsi_lun = strtoul(str, NULL, 0); } else if (strcmp(name, "lun") == 0) { devlist->cur_lun = NULL; } else if (strcmp(name, "ctllunlist") == 0) { @@ -522,38 +519,25 @@ retry_port: STAILQ_FOREACH(lun, &devlist.lun_list, links) { struct cctl_lun_nv *nv; - if (lun->cfiscsi_target == NULL) { + if (lun->ctld_name == NULL) { log_debugx("CTL lun %ju wasn't managed by ctld; " "ignoring", (uintmax_t)lun->lun_id); continue; } - targ = target_find(conf, lun->cfiscsi_target); - if (targ == NULL) { -#if 0 - log_debugx("found new kernel target %s for CTL lun %ld", - lun->cfiscsi_target, lun->lun_id); -#endif - targ = target_new(conf, lun->cfiscsi_target); - if (targ == NULL) { - log_warnx("target_new failed"); - continue; - } - } - - cl = lun_find(targ, lun->cfiscsi_lun); + cl = lun_find(conf, lun->ctld_name); if (cl != NULL) { - log_warnx("found CTL lun %ju, backing lun %d, target " - "%s, also backed by CTL lun %d; ignoring", - (uintmax_t) lun->lun_id, cl->l_lun, - cl->l_target->t_name, cl->l_ctl_lun); + log_warnx("found CTL lun %ju \"%s\", " + "also backed by CTL lun %d; ignoring", + (uintmax_t)lun->lun_id, lun->ctld_name, + cl->l_ctl_lun); continue; } - log_debugx("found CTL lun %ju, backing lun %d, target %s", - (uintmax_t)lun->lun_id, lun->cfiscsi_lun, lun->cfiscsi_target); + log_debugx("found CTL lun %ju \"%s\"", + (uintmax_t)lun->lun_id, lun->ctld_name); - cl = lun_new(targ, lun->cfiscsi_lun); + cl = lun_new(conf, lun->ctld_name); if (cl == NULL) { log_warnx("lun_new failed"); continue; @@ -574,9 +558,9 @@ retry_port: lo = lun_option_new(cl, nv->name, nv->value); if (lo == NULL) log_warnx("unable to add CTL lun option %s " - "for CTL lun %ju for lun %d, target %s", + "for CTL lun %ju \"%s\"", nv->name, (uintmax_t) lun->lun_id, - cl->l_lun, cl->l_target->t_name); + cl->l_name); } } @@ -599,7 +583,6 @@ kernel_lun_add(struct lun *lun) { struct lun_option *lo; struct ctl_lun_req req; - char *tmp; int error, i, num_options; bzero(&req, sizeof(req)); @@ -637,38 +620,17 @@ kernel_lun_add(struct lun *lun) } } - lo = lun_option_find(lun, "cfiscsi_target"); + lo = lun_option_find(lun, "ctld_name"); if (lo != NULL) { - lun_option_set(lo, lun->l_target->t_name); + lun_option_set(lo, lun->l_name); } else { - lo = lun_option_new(lun, "cfiscsi_target", - lun->l_target->t_name); + lo = lun_option_new(lun, "ctld_name", lun->l_name); assert(lo != NULL); } - asprintf(&tmp, "%d", lun->l_lun); - if (tmp == NULL) - log_errx(1, "asprintf"); - lo = lun_option_find(lun, "cfiscsi_lun"); - if (lo != NULL) { - lun_option_set(lo, tmp); - free(tmp); - } else { - lo = lun_option_new(lun, "cfiscsi_lun", tmp); - free(tmp); - assert(lo != NULL); - } - - asprintf(&tmp, "%s,lun,%d", lun->l_target->t_name, lun->l_lun); - if (tmp == NULL) - log_errx(1, "asprintf"); lo = lun_option_find(lun, "scsiname"); - if (lo != NULL) { - lun_option_set(lo, tmp); - free(tmp); - } else { - lo = lun_option_new(lun, "scsiname", tmp); - free(tmp); + if (lo == NULL && lun->l_scsiname != NULL) { + lo = lun_option_new(lun, "scsiname", lun->l_scsiname); assert(lo != NULL); } @@ -846,10 +808,11 @@ kernel_port_add(struct target *targ) { struct ctl_port_entry entry; struct ctl_req req; + struct ctl_lun_map lm; char tagstr[16]; - int error; - uint32_t port_id = -1; + int error, i; + /* Create iSCSI port. */ bzero(&req, sizeof(req)); strlcpy(req.driver, "iscsi", sizeof(req.driver)); req.reqtype = CTL_REQ_CREATE; @@ -857,8 +820,8 @@ kernel_port_add(struct target *targ) req.args = malloc(req.num_args * sizeof(*req.args)); req.args[0].namelen = sizeof("port_id"); req.args[0].name = __DECONST(char *, "port_id"); - req.args[0].vallen = sizeof(port_id); - req.args[0].value = &port_id; + req.args[0].vallen = sizeof(targ->t_ctl_port); + req.args[0].value = &targ->t_ctl_port; req.args[0].flags = CTL_BEARG_WR; str_arg(&req.args[1], "cfiscsi_target", targ->t_name); snprintf(tagstr, sizeof(tagstr), "%d", targ->t_portal_group->pg_tag); @@ -867,29 +830,46 @@ kernel_port_add(struct target *targ) str_arg(&req.args[3], "cfiscsi_target_alias", targ->t_alias); else req.num_args--; - error = ioctl(ctl_fd, CTL_PORT_REQ, &req); free(req.args); if (error != 0) { log_warn("error issuing CTL_PORT_REQ ioctl"); return (1); } - if (req.status == CTL_LUN_ERROR) { log_warnx("error returned from port creation request: %s", req.error_str); return (1); } - if (req.status != CTL_LUN_OK) { log_warnx("unknown port creation request status %d", req.status); return (1); } - bzero(&entry, sizeof(entry)); - entry.targ_port = port_id; + /* Explicitly enable mapping to block any access except allowed. */ + lm.port = targ->t_ctl_port; + lm.plun = UINT32_MAX; + lm.lun = 0; + error = ioctl(ctl_fd, CTL_LUN_MAP, &lm); + if (error != 0) + log_warn("CTL_LUN_MAP ioctl failed"); + /* Map configured LUNs */ + for (i = 0; i < MAX_LUNS; i++) { + if (targ->t_luns[i] == NULL) + continue; + lm.port = targ->t_ctl_port; + lm.plun = i; + lm.lun = targ->t_luns[i]->l_ctl_lun; + error = ioctl(ctl_fd, CTL_LUN_MAP, &lm); + if (error != 0) + log_warn("CTL_LUN_MAP ioctl failed"); + } + + /* Enable port */ + bzero(&entry, sizeof(entry)); + entry.targ_port = targ->t_ctl_port; error = ioctl(ctl_fd, CTL_ENABLE_PORT, &entry); if (error != 0) { log_warn("CTL_ENABLE_PORT ioctl failed"); @@ -899,6 +879,27 @@ kernel_port_add(struct target *targ) return (0); } +int +kernel_port_update(struct target *targ) +{ + struct ctl_lun_map lm; + int error, i; + + /* Map configured LUNs and unmap others */ + for (i = 0; i < MAX_LUNS; i++) { + lm.port = targ->t_ctl_port; + lm.plun = i; + if (targ->t_luns[i] == NULL) + lm.lun = UINT32_MAX; + else + lm.lun = targ->t_luns[i]->l_ctl_lun; + error = ioctl(ctl_fd, CTL_LUN_MAP, &lm); + if (error != 0) + log_warn("CTL_LUN_MAP ioctl failed"); + } + return (0); +} + int kernel_port_remove(struct target *targ) { diff --git a/usr.sbin/ctld/parse.y b/usr.sbin/ctld/parse.y index a6519dd7033..fead2ea8a25 100644 --- a/usr.sbin/ctld/parse.y +++ b/usr.sbin/ctld/parse.y @@ -99,6 +99,8 @@ statement: | portal_group | + lun + | target ; @@ -407,6 +409,22 @@ portal_group_redirect: REDIRECT STR } ; +lun: LUN lun_name + OPENING_BRACKET lun_entries CLOSING_BRACKET + { + lun = NULL; + } + ; + +lun_name: STR + { + lun = lun_new(conf, $1); + free($1); + if (lun == NULL) + return (1); + } + ; + target: TARGET target_name OPENING_BRACKET target_entries CLOSING_BRACKET { @@ -450,6 +468,8 @@ target_entry: target_redirect | target_lun + | + target_lun_ref ; target_alias: ALIAS STR @@ -672,6 +692,7 @@ target_lun: LUN lun_number lun_number: STR { uint64_t tmp; + char *name; if (expand_number($1, &tmp) != 0) { yyerror("invalid numeric value"); @@ -679,9 +700,34 @@ lun_number: STR return (1); } - lun = lun_new(target, tmp); + asprintf(&name, "%s,lun,%ju", target->t_name, tmp); + lun = lun_new(conf, name); if (lun == NULL) return (1); + + lun_set_scsiname(lun, name); + target->t_luns[tmp] = lun; + } + ; + +target_lun_ref: LUN STR STR + { + uint64_t tmp; + + if (expand_number($2, &tmp) != 0) { + yyerror("invalid numeric value"); + free($2); + free($3); + return (1); + } + free($2); + + lun = lun_find(conf, $3); + free($3); + if (lun == NULL) + return (1); + + target->t_luns[tmp] = lun; } ; @@ -711,9 +757,9 @@ lun_entry: lun_backend: BACKEND STR { if (lun->l_backend != NULL) { - log_warnx("backend for lun %d, target \"%s\" " + log_warnx("backend for lun \"%s\" " "specified more than once", - lun->l_lun, target->t_name); + lun->l_name); free($2); return (1); } @@ -733,9 +779,9 @@ lun_blocksize: BLOCKSIZE STR } if (lun->l_blocksize != 0) { - log_warnx("blocksize for lun %d, target \"%s\" " + log_warnx("blocksize for lun \"%s\" " "specified more than once", - lun->l_lun, target->t_name); + lun->l_name); return (1); } lun_set_blocksize(lun, tmp); @@ -745,9 +791,9 @@ lun_blocksize: BLOCKSIZE STR lun_device_id: DEVICE_ID STR { if (lun->l_device_id != NULL) { - log_warnx("device_id for lun %d, target \"%s\" " + log_warnx("device_id for lun \"%s\" " "specified more than once", - lun->l_lun, target->t_name); + lun->l_name); free($2); return (1); } @@ -771,9 +817,9 @@ lun_option: OPTION STR STR lun_path: PATH STR { if (lun->l_path != NULL) { - log_warnx("path for lun %d, target \"%s\" " + log_warnx("path for lun \"%s\" " "specified more than once", - lun->l_lun, target->t_name); + lun->l_name); free($2); return (1); } @@ -785,9 +831,9 @@ lun_path: PATH STR lun_serial: SERIAL STR { if (lun->l_serial != NULL) { - log_warnx("serial for lun %d, target \"%s\" " + log_warnx("serial for lun \"%s\" " "specified more than once", - lun->l_lun, target->t_name); + lun->l_name); free($2); return (1); } @@ -807,9 +853,9 @@ lun_size: SIZE STR } if (lun->l_size != 0) { - log_warnx("size for lun %d, target \"%s\" " + log_warnx("size for lun \"%s\" " "specified more than once", - lun->l_lun, target->t_name); + lun->l_name); return (1); } lun_set_size(lun, tmp); From 424c16b2ce2330adb7e568e29572f2d7a603d182 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Sun, 1 Feb 2015 22:50:33 +0000 Subject: [PATCH 15/56] ttyname_r(): Return actual error, not always [ENOTTY]. Adjust the test that used to fail because of this bug. PR: 191936 MFC after: 1 week --- contrib/netbsd-tests/lib/libc/gen/t_ttyname.c | 3 --- lib/libc/gen/ttyname.c | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c b/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c index bb9d26420c3..0c10c249644 100644 --- a/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c +++ b/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c @@ -107,9 +107,6 @@ ATF_TC_BODY(ttyname_r_err, tc) ATF_REQUIRE(rv == ERANGE); } -#ifdef __FreeBSD__ - atf_tc_expect_fail("FreeBSD returns ENOTTY instead of EBADF; see bin/191936"); -#endif rv = ttyname_r(-1, buf, ttymax); ATF_REQUIRE(rv == EBADF); diff --git a/lib/libc/gen/ttyname.c b/lib/libc/gen/ttyname.c index a21b77f9806..02aa1587e14 100644 --- a/lib/libc/gen/ttyname.c +++ b/lib/libc/gen/ttyname.c @@ -65,7 +65,7 @@ ttyname_r(int fd, char *buf, size_t len) /* Must be a terminal. */ if (!isatty(fd)) - return (ENOTTY); + return (errno); /* Must have enough room */ if (len <= sizeof(_PATH_DEV)) return (ERANGE); @@ -73,7 +73,7 @@ ttyname_r(int fd, char *buf, size_t len) strcpy(buf, _PATH_DEV); used = strlen(buf); if (fdevname_r(fd, buf + used, len - used) == NULL) - return (ENOTTY); + return (errno == EINVAL ? ERANGE : errno); return (0); } From 81cb3b156b443c8ef456122303d332e87245dc32 Mon Sep 17 00:00:00 2001 From: "Pedro F. Giffuni" Date: Sun, 1 Feb 2015 23:19:06 +0000 Subject: [PATCH 16/56] Resource leak CID: 1016703 Reviewed by: alfred --- lib/libc/rpc/crypt_client.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libc/rpc/crypt_client.c b/lib/libc/rpc/crypt_client.c index 4e5c7932e7a..5290021a334 100644 --- a/lib/libc/rpc/crypt_client.c +++ b/lib/libc/rpc/crypt_client.c @@ -64,6 +64,7 @@ _des_crypt_call(buf, len, dparms) } if (nconf == NULL) { warnx("getnetconfig: %s", nc_sperror()); + endnetconfig(localhandle); return(DESERR_HWERROR); } clnt = clnt_tp_create(NULL, CRYPT_PROG, CRYPT_VERS, nconf); From 370a13bfff3dff38ab274f5a5ad22ab9851a27f0 Mon Sep 17 00:00:00 2001 From: Steven Hartland Date: Mon, 2 Feb 2015 00:17:36 +0000 Subject: [PATCH 17/56] Prevent inlining txg_quiesce This allows dtrace to monitor the calls to txg_quiesce which can be really helpful. Also standardise __noinline order for arc_kmem_reap_now. Sponsored by: Multiplay --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c | 2 +- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c index a94404b6ce3..212c2701c77 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c @@ -2677,7 +2677,7 @@ extern kmem_cache_t *zio_buf_cache[]; extern kmem_cache_t *zio_data_buf_cache[]; extern kmem_cache_t *range_seg_cache; -static void __noinline +static __noinline void arc_kmem_reap_now(arc_reclaim_strategy_t strat) { size_t i; diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c index 5ab32326cd9..b0d4937f5ac 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c @@ -353,7 +353,7 @@ txg_rele_to_sync(txg_handle_t *th) * On return, the transaction group has reached a stable state in which it can * then be passed off to the syncing context. */ -static void +static __noinline void txg_quiesce(dsl_pool_t *dp, uint64_t txg) { tx_state_t *tx = &dp->dp_tx; From e742fdff32c725a728e26a02a46ecb003c6929cd Mon Sep 17 00:00:00 2001 From: "Pedro F. Giffuni" Date: Mon, 2 Feb 2015 00:21:34 +0000 Subject: [PATCH 18/56] rpc: Uninitialized pointer read Initialize *xprt to avoid exposing a random value in cleanup_svc_vc_create. CID: 1018723 Phabric: D1749 Reviewed by: alfred --- lib/libc/rpc/svc_vc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/rpc/svc_vc.c b/lib/libc/rpc/svc_vc.c index f8304256000..aa453966678 100644 --- a/lib/libc/rpc/svc_vc.c +++ b/lib/libc/rpc/svc_vc.c @@ -128,7 +128,7 @@ svc_vc_create(fd, sendsize, recvsize) u_int sendsize; u_int recvsize; { - SVCXPRT *xprt; + SVCXPRT *xprt = NULL; struct cf_rendezvous *r = NULL; struct __rpc_sockinfo si; struct sockaddr_storage sslocal; From c88fc3e48848ea63340a3ea414fae03e56d2f6c3 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 02:44:27 +0000 Subject: [PATCH 19/56] - Remove more files when MK_BINUTILS == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 2e40b7e6d26..b7a06854d7a 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -181,6 +181,34 @@ OLD_FILES+=usr/share/man/man8/bhyveload.8.gz OLD_DIRS+=usr/share/examples/bhyve .endif +.if ${MK_BINUTILS} == no +OLD_FILES+=usr/bin/as +OLD_FILES+=usr/bin/ld +OLD_FILES+=usr/bin/objcopy +OLD_FILES+=usr/bin/objdump +OLD_FILES+=usr/bin/readelf +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.x +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xbn +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xc +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xd +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xdc +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xdw +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xn +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xr +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xs +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xsc +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xsw +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xu +OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xw +OLD_FILES+=usr/share/doc/binutils/as.txt +OLD_FILES+=usr/share/doc/binutils/ld.txt +OLD_FILES+=usr/share/man/man1/as.1.gz +OLD_FILES+=usr/share/man/man1/ld.1.gz +OLD_FILES+=usr/share/man/man1/objcopy.1.gz +OLD_FILES+=usr/share/man/man1/objdump.1.gz +OLD_FILES+=usr/share/man/man1/readelf.1.gz +.endif + .if ${MK_BLUETOOTH} == no OLD_FILES+=etc/bluetooth/hcsecd.conf OLD_FILES+=etc/bluetooth/hosts From f594efed1553739ba1d0897038be27fb217449c5 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 02:47:37 +0000 Subject: [PATCH 20/56] - Remove more files when MK_BLUETOOTH == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index b7a06854d7a..6476c70cffe 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -215,6 +215,10 @@ OLD_FILES+=etc/bluetooth/hosts OLD_FILES+=etc/bluetooth/protocols OLD_FILES+=etc/defaults/bluetooth.device.conf OLD_DIRS+=etc/bluetooth +OLD_FILES+=etc/rc.d/bluetooth +OLD_FILES+=etc/rc.d/bthidd +OLD_FILES+=etc/rc.d/hcsecd +OLD_FILES+=etc/rc.d/ubthidhci OLD_FILES+=usr/bin/bthost OLD_FILES+=usr/bin/btsockstat OLD_FILES+=usr/bin/rfcomm_sppd @@ -251,6 +255,7 @@ OLD_FILES+=usr/lib32/libsdp.so OLD_LIBS+=usr/lib32/libsdp.so.4 OLD_FILES+=usr/lib32/libsdp_p.a .endif +OLD_FILES+=usr/sbin/ath3kfw OLD_FILES+=usr/sbin/bcmfw OLD_FILES+=usr/sbin/bt3cfw OLD_FILES+=usr/sbin/bthidcontrol @@ -264,6 +269,7 @@ OLD_FILES+=usr/sbin/l2ping OLD_FILES+=usr/sbin/rfcomm_pppd OLD_FILES+=usr/sbin/sdpcontrol OLD_FILES+=usr/sbin/sdpd +OLD_FILES+=usr/share/examples/etc/defaults/bluetooth.device.conf OLD_FILES+=usr/share/man/man1/bthost.1.gz OLD_FILES+=usr/share/man/man1/btsockstat.1.gz OLD_FILES+=usr/share/man/man1/rfcomm_sppd.1.gz @@ -321,6 +327,7 @@ OLD_FILES+=usr/share/man/man3/sdp_search.3.gz OLD_FILES+=usr/share/man/man3/sdp_unregister_service.3.gz OLD_FILES+=usr/share/man/man3/sdp_uuid2desc.3.gz OLD_FILES+=usr/share/man/man5/hcsecd.conf.5.gz +OLD_FILES+=usr/share/man/man8/ath3kfw.8.gz OLD_FILES+=usr/share/man/man8/bcmfw.8.gz OLD_FILES+=usr/share/man/man8/bt3cfw.8.gz OLD_FILES+=usr/share/man/man8/bthidcontrol.8.gz From 8af1079dc4b24fbcfe2dda47f748cc84adad6081 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 02:49:01 +0000 Subject: [PATCH 21/56] - Remove more files when MK_BOOT == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 60 ++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 3 deletions(-) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 6476c70cffe..1856b967b54 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -343,9 +343,63 @@ OLD_FILES+=usr/share/man/man8/sdpcontrol.8.gz OLD_FILES+=usr/share/man/man8/sdpd.8.gz .endif -#.if ${MK_BOOT} == no -# to be filled in -#.endif +.if ${MK_BOOT} == no +OLD_FILES+=boot/beastie.4th +OLD_FILES+=boot/boot +OLD_FILES+=boot/boot0 +OLD_FILES+=boot/boot0sio +OLD_FILES+=boot/boot1 +OLD_FILES+=boot/boot1.efi +OLD_FILES+=boot/boot1.efifat +OLD_FILES+=boot/boot2 +OLD_FILES+=boot/brand.4th +OLD_FILES+=boot/cdboot +OLD_FILES+=boot/check-password.4th +OLD_FILES+=boot/color.4th +OLD_FILES+=boot/defaults/loader.conf +OLD_FILES+=boot/delay.4th +OLD_FILES+=boot/device.hints +OLD_FILES+=boot/frames.4th +OLD_FILES+=boot/gptboot +OLD_FILES+=boot/gptzfsboot +OLD_FILES+=boot/loader +OLD_FILES+=boot/loader.4th +OLD_FILES+=boot/loader.efi +OLD_FILES+=boot/loader.help +OLD_FILES+=boot/loader.rc +OLD_FILES+=boot/mbr +OLD_FILES+=boot/menu-commands.4th +OLD_FILES+=boot/menu.4th +OLD_FILES+=boot/menu.rc +OLD_FILES+=boot/menusets.4th +OLD_FILES+=boot/pcibios.4th +OLD_FILES+=boot/pmbr +OLD_FILES+=boot/pxeboot +OLD_FILES+=boot/screen.4th +OLD_FILES+=boot/shortcuts.4th +OLD_FILES+=boot/support.4th +OLD_FILES+=boot/userboot.so +OLD_FILES+=boot/version.4th +OLD_FILES+=boot/zfsboot +OLD_FILES+=boot/zfsloader +OLD_FILES+=usr/lib/kgzldr.o +OLD_FILES+=usr/share/man/man5/loader.conf.5.gz +OLD_FILES+=usr/share/man/man8/beastie.4th.8.gz +OLD_FILES+=usr/share/man/man8/brand.4th.8.gz +OLD_FILES+=usr/share/man/man8/check-password.4th.8.gz +OLD_FILES+=usr/share/man/man8/color.4th.8.gz +OLD_FILES+=usr/share/man/man8/delay.4th.8.gz +OLD_FILES+=usr/share/man/man8/gptboot.8.gz +OLD_FILES+=usr/share/man/man8/gptzfsboot.8.gz +OLD_FILES+=usr/share/man/man8/loader.4th.8.gz +OLD_FILES+=usr/share/man/man8/loader.8.gz +OLD_FILES+=usr/share/man/man8/menu.4th.8.gz +OLD_FILES+=usr/share/man/man8/menusets.4th.8.gz +OLD_FILES+=usr/share/man/man8/pxeboot.8.gz +OLD_FILES+=usr/share/man/man8/version.4th.8.gz +OLD_FILES+=usr/share/man/man8/zfsboot.8.gz +OLD_FILES+=usr/share/man/man8/zfsloader.8.gz +.endif .if ${MK_BSDINSTALL} == no OLD_FILES+=usr/libexec/bsdinstall/adduser From 70fffb2e21446d6f1751734f8650e73c7cd058f0 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 02:49:54 +0000 Subject: [PATCH 22/56] - Remove more files when MK_BSD_CPIO == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 1856b967b54..d71709641e7 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -401,6 +401,13 @@ OLD_FILES+=usr/share/man/man8/zfsboot.8.gz OLD_FILES+=usr/share/man/man8/zfsloader.8.gz .endif +.if ${MK_BSD_CPIO} == no +OLD_FILES+=usr/bin/bsdcpio +OLD_FILES+=usr/bin/cpio +OLD_FILES+=usr/share/man/man1/bsdcpio.1.gz +OLD_FILES+=usr/share/man/man1/cpio.1.gz +.endif + .if ${MK_BSDINSTALL} == no OLD_FILES+=usr/libexec/bsdinstall/adduser OLD_FILES+=usr/libexec/bsdinstall/auto From ee4d0fcea85be9a09f8c2a9effd0eeb652ed6657 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 02:51:22 +0000 Subject: [PATCH 23/56] - Remove more files when MK_BSNMP == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index d71709641e7..71d58e4872f 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -457,25 +457,44 @@ OLD_FILES+=usr/include/bsnmp/snmpagent.h OLD_FILES+=usr/include/bsnmp/snmpclient.h OLD_FILES+=usr/include/bsnmp/snmpmod.h OLD_FILES+=usr/lib/libbsnmp.a +OLD_FILES+=usr/lib/libbsnmp.so OLD_LIBS+=usr/lib/libbsnmp.so.6 OLD_FILES+=usr/lib/libbsnmp_p.a OLD_FILES+=usr/lib/libbsnmptools.a +OLD_FILES+=usr/lib/libbsnmptools.so OLD_LIBS+=usr/lib/libbsnmptools.so.0 OLD_FILES+=usr/lib/libbsnmptools_p.a +OLD_FILES+=usr/lib/snmp_atm.so OLD_LIBS+=usr/lib/snmp_atm.so.6 +OLD_FILES+=usr/lib/snmp_bridge.so OLD_LIBS+=usr/lib/snmp_bridge.so.6 +OLD_FILES+=usr/lib/snmp_hast.so OLD_LIBS+=usr/lib/snmp_hast.so.6 +OLD_FILES+=usr/lib/snmp_hostres.so OLD_LIBS+=usr/lib/snmp_hostres.so.6 +OLD_FILES+=usr/lib/snmp_lm75.so OLD_LIBS+=usr/lib/snmp_lm75.so.6 +OLD_FILES+=usr/lib/snmp_mibII.so OLD_LIBS+=usr/lib/snmp_mibII.so.6 +OLD_FILES+=usr/lib/snmp_netgraph.so OLD_LIBS+=usr/lib/snmp_netgraph.so.6 +OLD_FILES+=usr/lib/snmp_pf.so OLD_LIBS+=usr/lib/snmp_pf.so.6 +OLD_FILES+=usr/lib/snmp_target.so OLD_LIBS+=usr/lib/snmp_target.so.6 +OLD_FILES+=usr/lib/snmp_usm.so OLD_LIBS+=usr/lib/snmp_usm.so.6 +OLD_FILES+=usr/lib/snmp_vacm.so OLD_LIBS+=usr/lib/snmp_vacm.so.6 +OLD_FILES+=usr/lib/snmp_wlan.so OLD_LIBS+=usr/lib/snmp_wlan.so.6 +OLD_FILES+=usr/lib32/libbsnmp.a +OLD_FILES+=usr/lib32/libbsnmp.so +OLD_LIBS+=usr/lib32/libbsnmp.so.6 +OLD_FILES+=usr/lib32/libbsnmp_p.a OLD_FILES+=usr/sbin/bsnmpd OLD_FILES+=usr/sbin/gensnmptree +OLD_FILES+=usr/share/examples/etc/snmpd.config OLD_FILES+=usr/share/man/man1/bsnmpd.1.gz OLD_FILES+=usr/share/man/man1/bsnmpget.1.gz OLD_FILES+=usr/share/man/man1/bsnmpset.1.gz From cf8028f38be2854e99b6c6f4a9a2e08d9a9e0da3 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 02:53:52 +0000 Subject: [PATCH 24/56] - Remove more files when MK_DMAGENT == no and move the chunk into its alphabetical place MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 71d58e4872f..fed5fc72118 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -1552,6 +1552,14 @@ OLD_FILES+=usr/share/dict/words OLD_DIRS+=usr/share/dict .endif +.if ${MK_DMAGENT} == no +OLD_FILES+=etc/dma/dma.conf +OLD_FILES+=usr/libexec/dma +OLD_FILES+=usr/libexec/dma-mbox-create +OLD_FILES+=usr/share/man/man8/dma.8.gz +OLD_FILES+=usr/share/examples/dma/mailer.conf +.endif + .if ${MK_EE} == no OLD_FILES+=usr/bin/edit OLD_FILES+=usr/bin/ee @@ -5157,13 +5165,6 @@ OLD_FILES+=usr/bin/svnsync OLD_FILES+=usr/bin/svnversion .endif -.if ${MK_DMAGENT} == no -OLD_FILES+=usr/libexec/dma -OLD_FILES+=usr/libexec/dma-mbox-create -OLD_FILES+=usr/share/man/man8/dma.8.gz -OLD_FILES+=usr/share/examples/dma/mailer.conf -.endif - .if ${MK_HYPERV} == no OLD_FILES+=etc/devd/hyperv.conf OLD_FILES+=usr/libexec/hyperv/hv_set_ifconfig From 28be4ba8491188b63d6878331b8c1c7457dc2b4a Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 02:56:29 +0000 Subject: [PATCH 25/56] - Remove more files when MK_GPIO == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index fed5fc72118..ee90ccb6dee 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -1713,8 +1713,13 @@ OLD_FILES+=usr/share/man/man1/kgdb.1.gz .if ${MK_GPIO} == no OLD_FILES+=usr/include/libgpio.h OLD_FILES+=usr/lib/libgpio.a +OLD_FILES+=usr/lib/libgpio.so OLD_LIBS+=usr/lib/libgpio.so.0 OLD_FILES+=usr/lib/libgpio_p.a +OLD_FILES+=usr/lib32/libgpio.a +OLD_FILES+=usr/lib32/libgpio.so +OLD_LIBS+=usr/lib32/libgpio.so.0 +OLD_FILES+=usr/lib32/libgpio_p.a OLD_FILES+=usr/sbin/gpioctl OLD_FILES+=usr/share/man/man3/gpio.3.gz OLD_FILES+=usr/share/man/man3/gpio_close.3.gz From 97f1b5265c9f5fcc2389e52f7745c7cec8c35271 Mon Sep 17 00:00:00 2001 From: Enji Cooper Date: Mon, 2 Feb 2015 05:41:17 +0000 Subject: [PATCH 26/56] Remove hostapd and wpa_supplicant from FILES so they're installed conditionally if MK_WIRELESS != no MFC after: 3 days X-MFC with: r277740 --- etc/rc.d/Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/etc/rc.d/Makefile b/etc/rc.d/Makefile index a19f73ae9d2..94e672143cc 100644 --- a/etc/rc.d/Makefile +++ b/etc/rc.d/Makefile @@ -43,7 +43,6 @@ FILES= DAEMON \ growfs \ gssd \ ${_hcsecd} \ - hostapd \ hostid \ hostid_save \ hostname \ @@ -137,7 +136,6 @@ FILES= DAEMON \ var \ virecover \ watchdogd \ - wpa_supplicant \ ypbind \ yppasswdd \ ypserv \ From 851d8eaaa4e362989d5b737f067e89253744f3d1 Mon Sep 17 00:00:00 2001 From: Rui Paulo Date: Mon, 2 Feb 2015 08:01:10 +0000 Subject: [PATCH 27/56] am335x_clk_pruss_activate(): use the L3F clock. The DISP DPLL clock is slower and was making the PRU programs slower on FreeBSD than on Linux. Submitted by: Manuel Stuehn MFC after: 1 week --- sys/arm/ti/am335x/am335x_prcm.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/arm/ti/am335x/am335x_prcm.c b/sys/arm/ti/am335x/am335x_prcm.c index 65b7ba2cbf7..4b3a245fbb9 100644 --- a/sys/arm/ti/am335x/am335x_prcm.c +++ b/sys/arm/ti/am335x/am335x_prcm.c @@ -502,7 +502,7 @@ am335x_clk_gpio_activate(struct ti_clock_dev *clkdev) /* set *_CLKCTRL register MODULEMODE[1:0] to enable(2) */ /* set *_CLKCTRL register OPTFCLKEN_GPIO_1_G DBCLK[18] to FCLK_EN(1) */ prcm_write_4(clk_details->clkctrl_reg, 2 | (1 << 18)); - while ((prcm_read_4(clk_details->clkctrl_reg) & + while ((prcm_read_4(clk_details->clkctrl_reg) & (3 | (1 << 18) )) != (2 | (1 << 18))) DELAY(10); @@ -724,11 +724,11 @@ am335x_clk_lcdc_activate(struct ti_clock_dev *clkdev) prcm_write_4(CM_WKUP_CM_CLKMODE_DPLL_DISP, 0x4); /* Make sure it's in bypass mode */ - while (!(prcm_read_4(CM_WKUP_CM_IDLEST_DPLL_DISP) + while (!(prcm_read_4(CM_WKUP_CM_IDLEST_DPLL_DISP) & (1 << 8))) DELAY(10); - /* + /* * For now set frequency to 99*SYSFREQ/8 which is twice as * HDMI 1080p pixel clock (minimum LCDC freq divisor is 2) */ @@ -738,7 +738,7 @@ am335x_clk_lcdc_activate(struct ti_clock_dev *clkdev) prcm_write_4(CM_WKUP_CM_CLKMODE_DPLL_DISP, 0x7); int timeout = 10000; - while ((!(prcm_read_4(CM_WKUP_CM_IDLEST_DPLL_DISP) + while ((!(prcm_read_4(CM_WKUP_CM_IDLEST_DPLL_DISP) & (1 << 0))) && timeout--) DELAY(10); @@ -786,9 +786,9 @@ am335x_clk_pruss_activate(struct ti_clock_dev *clkdev) while ((prcm_read_4(CM_PER_PRUSS_CLKSTCTRL) & (1<<6)) == 0) DELAY(10); - /* Select DISP DPLL as OCP clock */ - prcm_write_4(CLKSEL_PRUSS_OCP_CLK, 1); - while ((prcm_read_4(CLKSEL_PRUSS_OCP_CLK) & 0x3) != 1) + /* Select L3F as OCP clock */ + prcm_write_4(CLKSEL_PRUSS_OCP_CLK, 0); + while ((prcm_read_4(CLKSEL_PRUSS_OCP_CLK) & 0x3) != 0) DELAY(10); /* Clear the RESET bit */ From 87d352d5c6625ac9d548a8d41838ed1589bf9f5b Mon Sep 17 00:00:00 2001 From: Enji Cooper Date: Mon, 2 Feb 2015 10:31:35 +0000 Subject: [PATCH 28/56] Remove duplicate MK_ISCSI block and sort the conditional blocks so this error won't crop up again in the future Reported by: gjb MFC after: 1 week --- sbin/Makefile | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/sbin/Makefile b/sbin/Makefile index 6825cb65afb..c828b21145f 100644 --- a/sbin/Makefile +++ b/sbin/Makefile @@ -91,6 +91,11 @@ SUBDIR+= hastctl SUBDIR+= hastd .endif +.if ${MK_INET6} != "no" +SUBDIR+= ping6 +SUBDIR+= rtsol +.endif + .if ${MK_IPFILTER} != "no" SUBDIR+= ipf .endif @@ -114,15 +119,6 @@ SUBDIR+= pfctl SUBDIR+= pflogd .endif -.if ${MK_INET6} != "no" -SUBDIR+= ping6 -SUBDIR+= rtsol -.endif - -.if ${MK_ISCSI} != "no" -SUBDIR+= iscontrol -.endif - .if ${MK_QUOTAS} != "no" SUBDIR+= quotacheck .endif From add9e3e5d3924042978a25a6644372d466058830 Mon Sep 17 00:00:00 2001 From: Hans Petter Selasky Date: Mon, 2 Feb 2015 11:06:41 +0000 Subject: [PATCH 29/56] Section 3.2.9 in the XHCI specification about control transfers says that we should use a normal-TRB if there are more TRBs extending the data-stage TRB. Add a dedicated state bit to the internal USB transfer flags to handle this case. Reported by: Kohji Okuno MFC after: 1 week --- sys/dev/usb/controller/xhci.c | 12 +++++++++++- sys/dev/usb/usb_core.h | 1 + sys/dev/usb/usb_transfer.c | 28 ++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c index 8650444bbb0..e9b72a34e97 100644 --- a/sys/dev/usb/controller/xhci.c +++ b/sys/dev/usb/controller/xhci.c @@ -1866,6 +1866,15 @@ restart: XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_DATA_STAGE); if (temp->direction == UE_DIR_IN) dword |= XHCI_TRB_3_DIR_IN | XHCI_TRB_3_ISP_BIT; + /* + * Section 3.2.9 in the XHCI + * specification about control + * transfers says that we should use a + * normal-TRB if there are more TRBs + * extending the data-stage + * TRB. Update the "trb_type". + */ + temp->trb_type = XHCI_TRB_TYPE_NORMAL; break; case XHCI_TRB_TYPE_STATUS_STAGE: dword = XHCI_TRB_3_CHAIN_BIT | XHCI_TRB_3_CYCLE_BIT | @@ -2106,7 +2115,8 @@ xhci_setup_generic_chain(struct usb_xfer *xfer) mult = 1; temp.isoc_delta = 0; temp.isoc_frame = 0; - temp.trb_type = XHCI_TRB_TYPE_DATA_STAGE; + temp.trb_type = xfer->flags_int.control_did_data ? + XHCI_TRB_TYPE_NORMAL : XHCI_TRB_TYPE_DATA_STAGE; } else { x = 0; mult = 1; diff --git a/sys/dev/usb/usb_core.h b/sys/dev/usb/usb_core.h index dc514646fb6..739a0039160 100644 --- a/sys/dev/usb/usb_core.h +++ b/sys/dev/usb/usb_core.h @@ -101,6 +101,7 @@ struct usb_xfer_flags_int { * sent */ uint8_t control_act:1; /* set if control transfer is active */ uint8_t control_stall:1; /* set if control transfer should be stalled */ + uint8_t control_did_data:1; /* set if control DATA has been transferred */ uint8_t short_frames_ok:1; /* filtered version */ uint8_t short_xfer_ok:1; /* filtered version */ diff --git a/sys/dev/usb/usb_transfer.c b/sys/dev/usb/usb_transfer.c index d99a22f1d43..0f02fc860e6 100644 --- a/sys/dev/usb/usb_transfer.c +++ b/sys/dev/usb/usb_transfer.c @@ -1408,6 +1408,29 @@ usbd_control_transfer_init(struct usb_xfer *xfer) (req.bmRequestType & UT_READ) ? UE_DIR_IN : UE_DIR_OUT; } +/*------------------------------------------------------------------------* + * usbd_control_transfer_did_data + * + * This function returns non-zero if a control endpoint has + * transferred the first DATA packet after the SETUP packet. + * Else it returns zero. + *------------------------------------------------------------------------*/ +static uint8_t +usbd_control_transfer_did_data(struct usb_xfer *xfer) +{ + struct usb_device_request req; + + /* SETUP packet is not yet sent */ + if (xfer->flags_int.control_hdr != 0) + return (0); + + /* copy out the USB request header */ + usbd_copy_out(xfer->frbuffers, 0, &req, sizeof(req)); + + /* compare remainder to the initial value */ + return (xfer->flags_int.control_rem != UGETW(req.wLength)); +} + /*------------------------------------------------------------------------* * usbd_setup_ctrl_transfer * @@ -1513,6 +1536,11 @@ usbd_setup_ctrl_transfer(struct usb_xfer *xfer) len = (xfer->sumlen - sizeof(struct usb_device_request)); } + /* update did data flag */ + + xfer->flags_int.control_did_data = + usbd_control_transfer_did_data(xfer); + /* check if there is a length mismatch */ if (len > xfer->flags_int.control_rem) { From 8b1ce3297a22ec73faf71ca052131cca877bffe1 Mon Sep 17 00:00:00 2001 From: Hans Petter Selasky Date: Mon, 2 Feb 2015 11:32:15 +0000 Subject: [PATCH 30/56] Optimise allocation of USB DMA structures. By default don't double map allocations if only one element should be allocated per page cache. Make one allocation per element compile time configurable. Fix a comment while at it. Suggested by: ian @ MFC after: 1 week --- sys/conf/options | 1 + sys/dev/usb/usb_transfer.c | 31 +++++++++++++++++++++++++++---- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/sys/conf/options b/sys/conf/options index a8802af7c2e..c23f8f05fe0 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -651,6 +651,7 @@ USB_HOST_ALIGN opt_usb.h USB_REQ_DEBUG opt_usb.h USB_TEMPLATE opt_usb.h USB_VERBOSE opt_usb.h +USB_DMA_SINGLE_ALLOC opt_usb.h USB_EHCI_BIG_ENDIAN_DESC opt_usb.h U3G_DEBUG opt_u3g.h UKBD_DFLT_KEYMAP opt_ukbd.h diff --git a/sys/dev/usb/usb_transfer.c b/sys/dev/usb/usb_transfer.c index 0f02fc860e6..56507905e14 100644 --- a/sys/dev/usb/usb_transfer.c +++ b/sys/dev/usb/usb_transfer.c @@ -237,7 +237,11 @@ usbd_transfer_setup_sub_malloc(struct usb_setup_params *parm, n_obj = 1; } else { /* compute number of objects per page */ +#ifdef USB_DMA_SINGLE_ALLOC + n_obj = 1; +#else n_obj = (USB_PAGE_SIZE / size); +#endif /* * Compute number of DMA chunks, rounded up * to nearest one: @@ -273,15 +277,33 @@ usbd_transfer_setup_sub_malloc(struct usb_setup_params *parm, &parm->curr_xfer->xroot->dma_parent_tag; } - if (ppc) { - *ppc = parm->xfer_page_cache_ptr; + if (ppc != NULL) { + if (n_obj != 1) + *ppc = parm->xfer_page_cache_ptr; + else + *ppc = parm->dma_page_cache_ptr; } r = count; /* set remainder count */ z = n_obj * size; /* set allocation size */ pc = parm->xfer_page_cache_ptr; pg = parm->dma_page_ptr; - for (x = 0; x != n_dma_pc; x++) { + if (n_obj == 1) { + /* + * Avoid mapping memory twice if only a single object + * should be allocated per page cache: + */ + for (x = 0; x != n_dma_pc; x++) { + if (usb_pc_alloc_mem(parm->dma_page_cache_ptr, + pg, z, align)) { + return (1); /* failure */ + } + /* Make room for one DMA page cache and "n_dma_pg" pages */ + parm->dma_page_cache_ptr++; + pg += n_dma_pg; + } + } else { + for (x = 0; x != n_dma_pc; x++) { if (r < n_obj) { /* compute last remainder */ @@ -294,7 +316,7 @@ usbd_transfer_setup_sub_malloc(struct usb_setup_params *parm, } /* Set beginning of current buffer */ buf = parm->dma_page_cache_ptr->buffer; - /* Make room for one DMA page cache and one page */ + /* Make room for one DMA page cache and "n_dma_pg" pages */ parm->dma_page_cache_ptr++; pg += n_dma_pg; @@ -314,6 +336,7 @@ usbd_transfer_setup_sub_malloc(struct usb_setup_params *parm, } mtx_unlock(pc->tag_parent->mtx); } + } } parm->xfer_page_cache_ptr = pc; From 35c73e51cc801af670588c3fc7e72dc612d5a746 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 2 Feb 2015 13:03:04 +0000 Subject: [PATCH 31/56] Reorganize the list of addresses associated with an interface and group them based on the address family. This should help to recognize interfaces with multiple AF (e.g. ipv4 and ipv6) with many aliases or additional addresses. The order of addresses inside a single group is strictly preserved. Improve the scope_id output for AF_INET6 families, as the current approach uses hexadecimal string that is basically the ID of an interface, whilst this information is already depicted by getnameinfo(3) call. Therefore, now ifconfig just prints the scope of address as it is defined in 2.4 of RFC 2373. PR: 197270 Approved by: bapt MFC after: 2 weeks --- sbin/ifconfig/af_inet6.c | 31 ++++++- sbin/ifconfig/ifconfig.c | 170 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 196 insertions(+), 5 deletions(-) diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c index 0f8688a8b3e..b1529e23ff8 100644 --- a/sbin/ifconfig/af_inet6.c +++ b/sbin/ifconfig/af_inet6.c @@ -166,6 +166,33 @@ setip6eui64(const char *cmd, int dummy __unused, int s, freeifaddrs(ifap); } +static void +in6_print_scope(uint8_t *a) +{ + const char *sname = NULL; + uint16_t val; + + val = (a[0] << 4) + ((a[1] & 0xc0) >> 4); + + if ((val & 0xff0) == 0xff0) + sname = "Multicast"; + else { + switch(val) { + case 0xfe8: + sname = "Link"; + break; + case 0xfec: + sname = "Site"; + break; + default: + sname = "Global"; + break; + } + } + + printf("scope: %s ", sname); +} + static void in6_status(int s __unused, const struct ifaddrs *ifa) { @@ -257,9 +284,7 @@ in6_status(int s __unused, const struct ifaddrs *ifa) if ((flags6 & IN6_IFF_PREFER_SOURCE) != 0) printf("prefer_source "); - if (((struct sockaddr_in6 *)(ifa->ifa_addr))->sin6_scope_id) - printf("scopeid 0x%x ", - ((struct sockaddr_in6 *)(ifa->ifa_addr))->sin6_scope_id); + in6_print_scope((uint8_t *)&((struct sockaddr_in6 *)(ifa->ifa_addr))->sin6_addr); if (ip6lifetime && (lifetime.ia6t_preferred || lifetime.ia6t_expire)) { printf("pltime "); diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c index 61fd15589f1..c449c904536 100644 --- a/sbin/ifconfig/ifconfig.c +++ b/sbin/ifconfig/ifconfig.c @@ -47,6 +47,7 @@ static const char rcsid[] = #include #include #include +#include #include #include @@ -110,6 +111,15 @@ static void af_other_status(int); static struct option *opts = NULL; +struct ifa_order_elt { + int if_order; + int af_orders[255]; + struct ifaddrs *ifa; + TAILQ_ENTRY(ifa_order_elt) link; +}; + +TAILQ_HEAD(ifa_queue, ifa_order_elt); + void opt_register(struct option *p) { @@ -141,16 +151,162 @@ usage(void) exit(1); } +static int +calcorders(struct ifaddrs *ifa, struct ifa_queue *q) +{ + unsigned int ord, af, ifa_ord; + struct ifaddrs *prev; + struct ifa_order_elt *cur; + + prev = NULL; + cur = NULL; + ord = 0; + ifa_ord = 0; + + while (ifa != NULL) { + if (prev == NULL || strcmp(ifa->ifa_name, prev->ifa_name) != 0) { + cur = calloc(1, sizeof(*cur)); + + if (cur == NULL) + return (-1); + + TAILQ_INSERT_TAIL(q, cur, link); + cur->if_order = ifa_ord ++; + cur->ifa = ifa; + ord = 0; + } + + if (ifa->ifa_addr) { + af = ifa->ifa_addr->sa_family; + + if (af < sizeof(cur->af_orders) / sizeof(cur->af_orders[0]) && + cur->af_orders[af] == 0) + cur->af_orders[af] = ++ord; + } + prev = ifa; + ifa = ifa->ifa_next; + } + + return (0); +} + +static int +cmpifaddrs(struct ifaddrs *a, struct ifaddrs *b, struct ifa_queue *q) +{ + int ret; + unsigned int af1, af2; + struct ifa_order_elt *cur, *e1, *e2; + + e1 = e2 = NULL; + + ret = strcmp(a->ifa_name, b->ifa_name); + if (ret != 0) { + /* We need to find elements corresponding to these different names */ + TAILQ_FOREACH(cur, q, link) { + if (e1 && e2) + break; + + if (strcmp(cur->ifa->ifa_name, a->ifa_name) == 0) + e1 = cur; + else if (strcmp(cur->ifa->ifa_name, b->ifa_name) == 0) + e2 = cur; + } + + if (!e1 || !e2) + return (0); + else + return (e1->if_order - e2->if_order); + + } else if (a->ifa_addr != NULL && b->ifa_addr != NULL) { + TAILQ_FOREACH(cur, q, link) { + if (strcmp(cur->ifa->ifa_name, a->ifa_name) == 0) { + e1 = cur; + break; + } + } + + if (!e1) + return (0); + + af1 = a->ifa_addr->sa_family; + af2 = b->ifa_addr->sa_family; + + if (af1 < sizeof(e1->af_orders) / sizeof(e1->af_orders[0]) && + af2 < sizeof(e1->af_orders) / sizeof(e1->af_orders[0])) + return (e1->af_orders[af2] - e1->af_orders[af1]); + } + + return (0); +} + +static struct ifaddrs * +sortifaddrs(struct ifaddrs *list, + int (*compare)(struct ifaddrs *, struct ifaddrs *, struct ifa_queue *), + struct ifa_queue *q) +{ + + struct ifaddrs *right, *temp, *last, *result, *next, *tail; + + right = list; + temp = list; + last = list; + result = NULL; + next = NULL; + tail = NULL; + + if (!list || !list->ifa_next) + return (list); + + while (temp && temp->ifa_next) { + last = right; + right = right->ifa_next; + temp = temp->ifa_next->ifa_next; + } + + last->ifa_next = NULL; + + list = sortifaddrs(list, compare, q); + right = sortifaddrs(right, compare, q); + + while (list || right) { + + if (!right) { + next = list; + list = list->ifa_next; + } else if (!list) { + next = right; + right = right->ifa_next; + } else if (compare(list, right, q) <= 0) { + next = list; + list = list->ifa_next; + } else { + next = right; + right = right->ifa_next; + } + + if (!result) + result = next; + else + tail->ifa_next = next; + + tail = next; + } + + return (result); +} + int main(int argc, char *argv[]) { int c, all, namesonly, downonly, uponly; const struct afswtch *afp = NULL; int ifindex; - struct ifaddrs *ifap, *ifa; + struct ifaddrs *ifap, *sifap, *ifa; struct ifreq paifr; const struct sockaddr_dl *sdl; char options[1024], *cp, *namecp = NULL; + struct ifa_queue q = TAILQ_HEAD_INITIALIZER(q); + struct ifa_order_elt *cur, *tmp; const char *ifname; struct option *p; size_t iflen; @@ -285,9 +441,19 @@ main(int argc, char *argv[]) if (getifaddrs(&ifap) != 0) err(EXIT_FAILURE, "getifaddrs"); + cp = NULL; + + if (calcorders(ifap, &q) != 0) + err(EXIT_FAILURE, "calcorders"); + + sifap = sortifaddrs(ifap, cmpifaddrs, &q); + + TAILQ_FOREACH_SAFE(cur, &q, link, tmp) + free(cur); + ifindex = 0; - for (ifa = ifap; ifa; ifa = ifa->ifa_next) { + for (ifa = sifap; ifa; ifa = ifa->ifa_next) { memset(&paifr, 0, sizeof(paifr)); strncpy(paifr.ifr_name, ifa->ifa_name, sizeof(paifr.ifr_name)); if (sizeof(paifr.ifr_addr) >= ifa->ifa_addr->sa_len) { From 07a51db9e279902e8710669f1c9843913ceec94e Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 2 Feb 2015 14:37:45 +0000 Subject: [PATCH 32/56] Style(9) fixes. Approved by: bapt, ae X-MFC-With: r278080 --- sbin/ifconfig/af_inet6.c | 49 +++++++++++++++++++++++----------------- sbin/ifconfig/ifconfig.c | 34 ++++++++++++++++------------ 2 files changed, 47 insertions(+), 36 deletions(-) diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c index b1529e23ff8..b8121a67aaf 100644 --- a/sbin/ifconfig/af_inet6.c +++ b/sbin/ifconfig/af_inet6.c @@ -58,8 +58,8 @@ static const char rcsid[] = #include "ifconfig.h" static struct in6_ifreq in6_ridreq; -static struct in6_aliasreq in6_addreq = - { .ifra_flags = 0, +static struct in6_aliasreq in6_addreq = + { .ifra_flags = 0, .ifra_lifetime = { 0, 0, ND6_INFINITE_LIFETIME, ND6_INFINITE_LIFETIME } }; static int ip6lifetime; @@ -284,20 +284,23 @@ in6_status(int s __unused, const struct ifaddrs *ifa) if ((flags6 & IN6_IFF_PREFER_SOURCE) != 0) printf("prefer_source "); - in6_print_scope((uint8_t *)&((struct sockaddr_in6 *)(ifa->ifa_addr))->sin6_addr); + in6_print_scope((uint8_t *)&((struct sockaddr_in6 *) + (ifa->ifa_addr))->sin6_addr); if (ip6lifetime && (lifetime.ia6t_preferred || lifetime.ia6t_expire)) { printf("pltime "); if (lifetime.ia6t_preferred) { printf("%s ", lifetime.ia6t_preferred < now.tv_sec - ? "0" : sec2str(lifetime.ia6t_preferred - now.tv_sec)); + ? "0" : + sec2str(lifetime.ia6t_preferred - now.tv_sec)); } else printf("infty "); printf("vltime "); if (lifetime.ia6t_expire) { printf("%s ", lifetime.ia6t_expire < now.tv_sec - ? "0" : sec2str(lifetime.ia6t_expire - now.tv_sec)); + ? "0" : + sec2str(lifetime.ia6t_expire - now.tv_sec)); } else printf("infty "); } @@ -372,25 +375,25 @@ in6_getaddr(const char *s, int which) static int prefix(void *val, int size) { - u_char *name = (u_char *)val; - int byte, bit, plen = 0; + u_char *name = (u_char *)val; + int byte, bit, plen = 0; - for (byte = 0; byte < size; byte++, plen += 8) - if (name[byte] != 0xff) - break; + for (byte = 0; byte < size; byte++, plen += 8) + if (name[byte] != 0xff) + break; if (byte == size) return (plen); for (bit = 7; bit != 0; bit--, plen++) - if (!(name[byte] & (1 << bit))) - break; - for (; bit != 0; bit--) - if (name[byte] & (1 << bit)) - return(0); - byte++; - for (; byte < size; byte++) - if (name[byte]) - return(0); - return (plen); + if (!(name[byte] & (1 << bit))) + break; + for (; bit != 0; bit--) + if (name[byte] & (1 << bit)) + return(0); + byte++; + for (; byte < size; byte++) + if (name[byte]) + return(0); + return (plen); } static char * @@ -534,7 +537,11 @@ in6_Lopt_cb(const char *optarg __unused) { ip6lifetime++; /* print IPv6 address lifetime */ } -static struct option in6_Lopt = { .opt = "L", .opt_usage = "[-L]", .cb = in6_Lopt_cb }; +static struct option in6_Lopt = { + .opt = "L", + .opt_usage = "[-L]", + .cb = in6_Lopt_cb +}; static __constructor void inet6_ctor(void) diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c index c449c904536..73d84f52253 100644 --- a/sbin/ifconfig/ifconfig.c +++ b/sbin/ifconfig/ifconfig.c @@ -151,12 +151,14 @@ usage(void) exit(1); } +#define ORDERS_SIZE(x) sizeof(x) / sizeof(x[0]) + static int calcorders(struct ifaddrs *ifa, struct ifa_queue *q) { - unsigned int ord, af, ifa_ord; struct ifaddrs *prev; struct ifa_order_elt *cur; + unsigned int ord, af, ifa_ord; prev = NULL; cur = NULL; @@ -164,7 +166,8 @@ calcorders(struct ifaddrs *ifa, struct ifa_queue *q) ifa_ord = 0; while (ifa != NULL) { - if (prev == NULL || strcmp(ifa->ifa_name, prev->ifa_name) != 0) { + if (prev == NULL || + strcmp(ifa->ifa_name, prev->ifa_name) != 0) { cur = calloc(1, sizeof(*cur)); if (cur == NULL) @@ -179,12 +182,12 @@ calcorders(struct ifaddrs *ifa, struct ifa_queue *q) if (ifa->ifa_addr) { af = ifa->ifa_addr->sa_family; - if (af < sizeof(cur->af_orders) / sizeof(cur->af_orders[0]) && - cur->af_orders[af] == 0) + if (af < ORDERS_SIZE(cur->af_orders) && + cur->af_orders[af] == 0) cur->af_orders[af] = ++ord; } prev = ifa; - ifa = ifa->ifa_next; + ifa = ifa->ifa_next; } return (0); @@ -193,15 +196,14 @@ calcorders(struct ifaddrs *ifa, struct ifa_queue *q) static int cmpifaddrs(struct ifaddrs *a, struct ifaddrs *b, struct ifa_queue *q) { - int ret; - unsigned int af1, af2; struct ifa_order_elt *cur, *e1, *e2; + unsigned int af1, af2; + int ret; e1 = e2 = NULL; ret = strcmp(a->ifa_name, b->ifa_name); if (ret != 0) { - /* We need to find elements corresponding to these different names */ TAILQ_FOREACH(cur, q, link) { if (e1 && e2) break; @@ -231,20 +233,21 @@ cmpifaddrs(struct ifaddrs *a, struct ifaddrs *b, struct ifa_queue *q) af1 = a->ifa_addr->sa_family; af2 = b->ifa_addr->sa_family; - if (af1 < sizeof(e1->af_orders) / sizeof(e1->af_orders[0]) && - af2 < sizeof(e1->af_orders) / sizeof(e1->af_orders[0])) + if (af1 < ORDERS_SIZE(e1->af_orders) && + af2 < ORDERS_SIZE(e1->af_orders)) return (e1->af_orders[af2] - e1->af_orders[af1]); } return (0); } +#undef ORDERS_SIZE + static struct ifaddrs * sortifaddrs(struct ifaddrs *list, - int (*compare)(struct ifaddrs *, struct ifaddrs *, struct ifa_queue *), - struct ifa_queue *q) + int (*compare)(struct ifaddrs *, struct ifaddrs *, struct ifa_queue *), + struct ifa_queue *q) { - struct ifaddrs *right, *temp, *last, *result, *next, *tail; right = list; @@ -499,7 +502,8 @@ main(int argc, char *argv[]) sdl->sdl_alen != ETHER_ADDR_LEN) continue; } else { - if (ifa->ifa_addr->sa_family != afp->af_af) + if (ifa->ifa_addr->sa_family + != afp->af_af) continue; } } @@ -835,7 +839,7 @@ settunnel(const char *src, const char *dst, int s, const struct afswtch *afp) errx(1, "error in parsing address string: %s", gai_strerror(ecode)); - if ((ecode = getaddrinfo(dst, NULL, NULL, &dstres)) != 0) + if ((ecode = getaddrinfo(dst, NULL, NULL, &dstres)) != 0) errx(1, "error in parsing address string: %s", gai_strerror(ecode)); From 6031355d0f92ec374ea63178e27295c32e26d6dd Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:38:47 +0000 Subject: [PATCH 33/56] - Remove more files when MK_GROFF == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 70 ++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index ee90ccb6dee..a0151d63287 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -1777,6 +1777,76 @@ OLD_FILES+=usr/bin/tfmtodit OLD_FILES+=usr/bin/troff OLD_FILES+=usr/bin/vgrind OLD_FILES+=usr/libexec/vfontedpr +OLD_FILES+=usr/share/dict/eign +OLD_FILES+=usr/share/doc/papers/beyond43.ascii.gz +OLD_FILES+=usr/share/doc/papers/bio.ascii.gz +OLD_FILES+=usr/share/doc/papers/contents.ascii.gz +OLD_FILES+=usr/share/doc/papers/devfs.ascii.gz +OLD_FILES+=usr/share/doc/papers/diskperf.ascii.gz +OLD_FILES+=usr/share/doc/papers/fsinterface.ascii.gz +OLD_FILES+=usr/share/doc/papers/hwpmc.ascii.gz +OLD_FILES+=usr/share/doc/papers/jail.ascii.gz +OLD_FILES+=usr/share/doc/papers/kernmalloc.ascii.gz +OLD_FILES+=usr/share/doc/papers/kerntune.ascii.gz +OLD_FILES+=usr/share/doc/papers/malloc.ascii.gz +OLD_FILES+=usr/share/doc/papers/newvm.ascii.gz +OLD_FILES+=usr/share/doc/papers/releng.ascii.gz +OLD_FILES+=usr/share/doc/papers/sysperf.ascii.gz +OLD_FILES+=usr/share/doc/papers/timecounter.ascii.gz +OLD_FILES+=usr/share/doc/psd/01.cacm/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/02.implement/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/03.iosys/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/04.uprog/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/05.sysman/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/06.Clang/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/12.make/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/13.rcs/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/13.rcs/rcs_func.ascii.gz +OLD_FILES+=usr/share/doc/psd/15.yacc/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/16.lex/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/17.m4/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/18.gprof/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/20.ipctut/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/21.ipc/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/22.rpcgen/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/23.rpc/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/24.xdr/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/25.xdrrfc/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/26.rpcrfc/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/27.nfsrfc/paper.ascii.gz +OLD_FILES+=usr/share/doc/psd/Title.ascii.gz +OLD_FILES+=usr/share/doc/psd/contents.ascii.gz +OLD_FILES+=usr/share/doc/smm/01.setup/paper.ascii.gz +OLD_FILES+=usr/share/doc/smm/02.config/paper.ascii.gz +OLD_FILES+=usr/share/doc/smm/03.fsck/paper.ascii.gz +OLD_FILES+=usr/share/doc/smm/04.quotas/paper.ascii.gz +OLD_FILES+=usr/share/doc/smm/05.fastfs/paper.ascii.gz +OLD_FILES+=usr/share/doc/smm/06.nfs/paper.ascii.gz +OLD_FILES+=usr/share/doc/smm/07.lpd/paper.ascii.gz +OLD_FILES+=usr/share/doc/smm/08.sendmailop/paper.ascii.gz +OLD_FILES+=usr/share/doc/smm/11.timedop/paper.ascii.gz +OLD_FILES+=usr/share/doc/smm/12.timed/paper.ascii.gz +OLD_FILES+=usr/share/doc/smm/18.net/paper.ascii.gz +OLD_FILES+=usr/share/doc/smm/Title.ascii.gz +OLD_FILES+=usr/share/doc/smm/contents.ascii.gz +OLD_FILES+=usr/share/doc/usd/04.csh/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/05.dc/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/06.bc/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/07.mail/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/10.exref/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/10.exref/summary.ascii.gz +OLD_FILES+=usr/share/doc/usd/11.edit/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/12.vi/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/12.vi/summary.ascii.gz +OLD_FILES+=usr/share/doc/usd/12.vi/viapwh.ascii.gz +OLD_FILES+=usr/share/doc/usd/13.viref/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/18.msdiffs/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/19.memacros/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/20.meref/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/21.troff/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/22.trofftut/paper.ascii.gz +OLD_FILES+=usr/share/doc/usd/Title.ascii.gz +OLD_FILES+=usr/share/doc/usd/contents.ascii.gz OLD_FILES+=usr/share/groff_font/devX100-12/CB OLD_FILES+=usr/share/groff_font/devX100-12/CBI OLD_FILES+=usr/share/groff_font/devX100-12/CI From d956da53dbf2e02aad9e545c1f5dc8751e4a30d7 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:40:42 +0000 Subject: [PATCH 34/56] - Remove more files when MK_HTML == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 73 +++++++++++++++++++++++- 1 file changed, 70 insertions(+), 3 deletions(-) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index a0151d63287..0d65867e7ec 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -2402,9 +2402,76 @@ OLD_FILES+=usr/share/man/man3/hesiod.3.gz OLD_FILES+=usr/share/man/man5/hesiod.conf.5.gz .endif -#.if ${MK_HTML} == no -# to be filled in -#.endif +.if ${MK_HTML} == no +OLD_FILES+=usr/share/doc/ncurses/hackguide.html +OLD_FILES+=usr/share/doc/ncurses/ncurses-intro.html +OLD_FILES+=usr/share/doc/ntp/accopt.html +OLD_FILES+=usr/share/doc/ntp/assoc.html +OLD_FILES+=usr/share/doc/ntp/audio.html +OLD_FILES+=usr/share/doc/ntp/authopt.html +OLD_FILES+=usr/share/doc/ntp/build.html +OLD_FILES+=usr/share/doc/ntp/clockopt.html +OLD_FILES+=usr/share/doc/ntp/config.html +OLD_FILES+=usr/share/doc/ntp/confopt.html +OLD_FILES+=usr/share/doc/ntp/copyright.html +OLD_FILES+=usr/share/doc/ntp/debug.html +OLD_FILES+=usr/share/doc/ntp/driver1.html +OLD_FILES+=usr/share/doc/ntp/driver10.html +OLD_FILES+=usr/share/doc/ntp/driver11.html +OLD_FILES+=usr/share/doc/ntp/driver12.html +OLD_FILES+=usr/share/doc/ntp/driver16.html +OLD_FILES+=usr/share/doc/ntp/driver18.html +OLD_FILES+=usr/share/doc/ntp/driver19.html +OLD_FILES+=usr/share/doc/ntp/driver2.html +OLD_FILES+=usr/share/doc/ntp/driver20.html +OLD_FILES+=usr/share/doc/ntp/driver22.html +OLD_FILES+=usr/share/doc/ntp/driver26.html +OLD_FILES+=usr/share/doc/ntp/driver27.html +OLD_FILES+=usr/share/doc/ntp/driver28.html +OLD_FILES+=usr/share/doc/ntp/driver29.html +OLD_FILES+=usr/share/doc/ntp/driver3.html +OLD_FILES+=usr/share/doc/ntp/driver30.html +OLD_FILES+=usr/share/doc/ntp/driver32.html +OLD_FILES+=usr/share/doc/ntp/driver33.html +OLD_FILES+=usr/share/doc/ntp/driver34.html +OLD_FILES+=usr/share/doc/ntp/driver35.html +OLD_FILES+=usr/share/doc/ntp/driver36.html +OLD_FILES+=usr/share/doc/ntp/driver37.html +OLD_FILES+=usr/share/doc/ntp/driver4.html +OLD_FILES+=usr/share/doc/ntp/driver5.html +OLD_FILES+=usr/share/doc/ntp/driver6.html +OLD_FILES+=usr/share/doc/ntp/driver7.html +OLD_FILES+=usr/share/doc/ntp/driver8.html +OLD_FILES+=usr/share/doc/ntp/driver9.html +OLD_FILES+=usr/share/doc/ntp/extern.html +OLD_FILES+=usr/share/doc/ntp/hints.html +OLD_FILES+=usr/share/doc/ntp/howto.html +OLD_FILES+=usr/share/doc/ntp/index.html +OLD_FILES+=usr/share/doc/ntp/kern.html +OLD_FILES+=usr/share/doc/ntp/ldisc.html +OLD_FILES+=usr/share/doc/ntp/measure.html +OLD_FILES+=usr/share/doc/ntp/miscopt.html +OLD_FILES+=usr/share/doc/ntp/monopt.html +OLD_FILES+=usr/share/doc/ntp/mx4200data.html +OLD_FILES+=usr/share/doc/ntp/notes.html +OLD_FILES+=usr/share/doc/ntp/ntpd.html +OLD_FILES+=usr/share/doc/ntp/ntpdate.html +OLD_FILES+=usr/share/doc/ntp/ntpdc.html +OLD_FILES+=usr/share/doc/ntp/ntpq.html +OLD_FILES+=usr/share/doc/ntp/ntptime.html +OLD_FILES+=usr/share/doc/ntp/ntptrace.html +OLD_FILES+=usr/share/doc/ntp/parsedata.html +OLD_FILES+=usr/share/doc/ntp/parsenew.html +OLD_FILES+=usr/share/doc/ntp/patches.html +OLD_FILES+=usr/share/doc/ntp/porting.html +OLD_FILES+=usr/share/doc/ntp/pps.html +OLD_FILES+=usr/share/doc/ntp/prefer.html +OLD_FILES+=usr/share/doc/ntp/quick.html +OLD_FILES+=usr/share/doc/ntp/rdebug.html +OLD_FILES+=usr/share/doc/ntp/refclock.html +OLD_FILES+=usr/share/doc/ntp/release.html +OLD_FILES+=usr/share/doc/ntp/tickadj.html +.endif .if ${MK_ICONV} == no OLD_FILES+=usr/bin/iconv From 4f190535a8e802df3130c0c4a636e994abcbc9a7 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:43:07 +0000 Subject: [PATCH 35/56] - Remove more files when MK_LIBCPLUSPLUS == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 111 +++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 0d65867e7ec..ebde8403771 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -3661,6 +3661,7 @@ OLD_FILES+=usr/include/c++/v1/__functional_base_03 OLD_FILES+=usr/include/c++/v1/__hash_table OLD_FILES+=usr/include/c++/v1/__locale OLD_FILES+=usr/include/c++/v1/__mutex_base +OLD_FILES+=usr/include/c++/v1/__refstring OLD_FILES+=usr/include/c++/v1/__split_buffer OLD_FILES+=usr/include/c++/v1/__sso_allocator OLD_FILES+=usr/include/c++/v1/__std_stream @@ -3704,8 +3705,12 @@ OLD_FILES+=usr/include/c++/v1/cwctype OLD_FILES+=usr/include/c++/v1/cxxabi.h OLD_FILES+=usr/include/c++/v1/deque OLD_FILES+=usr/include/c++/v1/exception +OLD_FILES+=usr/include/c++/v1/experimental/__config OLD_FILES+=usr/include/c++/v1/experimental/dynarray OLD_FILES+=usr/include/c++/v1/experimental/optional +OLD_FILES+=usr/include/c++/v1/experimental/string_view +OLD_FILES+=usr/include/c++/v1/experimental/type_traits +OLD_FILES+=usr/include/c++/v1/experimental/utility OLD_FILES+=usr/include/c++/v1/ext/__hash OLD_FILES+=usr/include/c++/v1/ext/hash_map OLD_FILES+=usr/include/c++/v1/ext/hash_set @@ -3735,6 +3740,7 @@ OLD_FILES+=usr/include/c++/v1/ratio OLD_FILES+=usr/include/c++/v1/regex OLD_FILES+=usr/include/c++/v1/scoped_allocator OLD_FILES+=usr/include/c++/v1/set +OLD_FILES+=usr/include/c++/v1/shared_mutex OLD_FILES+=usr/include/c++/v1/sstream OLD_FILES+=usr/include/c++/v1/stack OLD_FILES+=usr/include/c++/v1/stdexcept @@ -3744,6 +3750,103 @@ OLD_FILES+=usr/include/c++/v1/strstream OLD_FILES+=usr/include/c++/v1/system_error OLD_FILES+=usr/include/c++/v1/tgmath.h OLD_FILES+=usr/include/c++/v1/thread +OLD_FILES+=usr/include/c++/v1/tr1/__bit_reference +OLD_FILES+=usr/include/c++/v1/tr1/__config +OLD_FILES+=usr/include/c++/v1/tr1/__debug +OLD_FILES+=usr/include/c++/v1/tr1/__functional_03 +OLD_FILES+=usr/include/c++/v1/tr1/__functional_base +OLD_FILES+=usr/include/c++/v1/tr1/__functional_base_03 +OLD_FILES+=usr/include/c++/v1/tr1/__hash_table +OLD_FILES+=usr/include/c++/v1/tr1/__locale +OLD_FILES+=usr/include/c++/v1/tr1/__mutex_base +OLD_FILES+=usr/include/c++/v1/tr1/__refstring +OLD_FILES+=usr/include/c++/v1/tr1/__split_buffer +OLD_FILES+=usr/include/c++/v1/tr1/__sso_allocator +OLD_FILES+=usr/include/c++/v1/tr1/__std_stream +OLD_FILES+=usr/include/c++/v1/tr1/__tree +OLD_FILES+=usr/include/c++/v1/tr1/__tuple +OLD_FILES+=usr/include/c++/v1/tr1/__tuple_03 +OLD_FILES+=usr/include/c++/v1/tr1/__undef_min_max +OLD_FILES+=usr/include/c++/v1/tr1/algorithm +OLD_FILES+=usr/include/c++/v1/tr1/array +OLD_FILES+=usr/include/c++/v1/tr1/atomic +OLD_FILES+=usr/include/c++/v1/tr1/bitset +OLD_FILES+=usr/include/c++/v1/tr1/cassert +OLD_FILES+=usr/include/c++/v1/tr1/ccomplex +OLD_FILES+=usr/include/c++/v1/tr1/cctype +OLD_FILES+=usr/include/c++/v1/tr1/cerrno +OLD_FILES+=usr/include/c++/v1/tr1/cfenv +OLD_FILES+=usr/include/c++/v1/tr1/cfloat +OLD_FILES+=usr/include/c++/v1/tr1/chrono +OLD_FILES+=usr/include/c++/v1/tr1/cinttypes +OLD_FILES+=usr/include/c++/v1/tr1/ciso646 +OLD_FILES+=usr/include/c++/v1/tr1/climits +OLD_FILES+=usr/include/c++/v1/tr1/clocale +OLD_FILES+=usr/include/c++/v1/tr1/cmath +OLD_FILES+=usr/include/c++/v1/tr1/codecvt +OLD_FILES+=usr/include/c++/v1/tr1/complex +OLD_FILES+=usr/include/c++/v1/tr1/complex.h +OLD_FILES+=usr/include/c++/v1/tr1/condition_variable +OLD_FILES+=usr/include/c++/v1/tr1/csetjmp +OLD_FILES+=usr/include/c++/v1/tr1/csignal +OLD_FILES+=usr/include/c++/v1/tr1/cstdarg +OLD_FILES+=usr/include/c++/v1/tr1/cstdbool +OLD_FILES+=usr/include/c++/v1/tr1/cstddef +OLD_FILES+=usr/include/c++/v1/tr1/cstdint +OLD_FILES+=usr/include/c++/v1/tr1/cstdio +OLD_FILES+=usr/include/c++/v1/tr1/cstdlib +OLD_FILES+=usr/include/c++/v1/tr1/cstring +OLD_FILES+=usr/include/c++/v1/tr1/ctgmath +OLD_FILES+=usr/include/c++/v1/tr1/ctime +OLD_FILES+=usr/include/c++/v1/tr1/cwchar +OLD_FILES+=usr/include/c++/v1/tr1/cwctype +OLD_FILES+=usr/include/c++/v1/tr1/deque +OLD_FILES+=usr/include/c++/v1/tr1/exception +OLD_FILES+=usr/include/c++/v1/tr1/forward_list +OLD_FILES+=usr/include/c++/v1/tr1/fstream +OLD_FILES+=usr/include/c++/v1/tr1/functional +OLD_FILES+=usr/include/c++/v1/tr1/future +OLD_FILES+=usr/include/c++/v1/tr1/initializer_list +OLD_FILES+=usr/include/c++/v1/tr1/iomanip +OLD_FILES+=usr/include/c++/v1/tr1/ios +OLD_FILES+=usr/include/c++/v1/tr1/iosfwd +OLD_FILES+=usr/include/c++/v1/tr1/iostream +OLD_FILES+=usr/include/c++/v1/tr1/istream +OLD_FILES+=usr/include/c++/v1/tr1/iterator +OLD_FILES+=usr/include/c++/v1/tr1/limits +OLD_FILES+=usr/include/c++/v1/tr1/list +OLD_FILES+=usr/include/c++/v1/tr1/locale +OLD_FILES+=usr/include/c++/v1/tr1/map +OLD_FILES+=usr/include/c++/v1/tr1/memory +OLD_FILES+=usr/include/c++/v1/tr1/mutex +OLD_FILES+=usr/include/c++/v1/tr1/new +OLD_FILES+=usr/include/c++/v1/tr1/numeric +OLD_FILES+=usr/include/c++/v1/tr1/ostream +OLD_FILES+=usr/include/c++/v1/tr1/queue +OLD_FILES+=usr/include/c++/v1/tr1/random +OLD_FILES+=usr/include/c++/v1/tr1/ratio +OLD_FILES+=usr/include/c++/v1/tr1/regex +OLD_FILES+=usr/include/c++/v1/tr1/scoped_allocator +OLD_FILES+=usr/include/c++/v1/tr1/set +OLD_FILES+=usr/include/c++/v1/tr1/shared_mutex +OLD_FILES+=usr/include/c++/v1/tr1/sstream +OLD_FILES+=usr/include/c++/v1/tr1/stack +OLD_FILES+=usr/include/c++/v1/tr1/stdexcept +OLD_FILES+=usr/include/c++/v1/tr1/streambuf +OLD_FILES+=usr/include/c++/v1/tr1/string +OLD_FILES+=usr/include/c++/v1/tr1/strstream +OLD_FILES+=usr/include/c++/v1/tr1/system_error +OLD_FILES+=usr/include/c++/v1/tr1/tgmath.h +OLD_FILES+=usr/include/c++/v1/tr1/thread +OLD_FILES+=usr/include/c++/v1/tr1/tuple +OLD_FILES+=usr/include/c++/v1/tr1/type_traits +OLD_FILES+=usr/include/c++/v1/tr1/typeindex +OLD_FILES+=usr/include/c++/v1/tr1/typeinfo +OLD_FILES+=usr/include/c++/v1/tr1/unordered_map +OLD_FILES+=usr/include/c++/v1/tr1/unordered_set +OLD_FILES+=usr/include/c++/v1/tr1/utility +OLD_FILES+=usr/include/c++/v1/tr1/valarray +OLD_FILES+=usr/include/c++/v1/tr1/vector OLD_FILES+=usr/include/c++/v1/tuple OLD_FILES+=usr/include/c++/v1/type_traits OLD_FILES+=usr/include/c++/v1/typeindex @@ -3756,6 +3859,14 @@ OLD_FILES+=usr/include/c++/v1/unwind.h OLD_FILES+=usr/include/c++/v1/utility OLD_FILES+=usr/include/c++/v1/valarray OLD_FILES+=usr/include/c++/v1/vector +OLD_FILES+=usr/lib32/libc++.a +OLD_FILES+=usr/lib32/libc++.so +OLD_LIBS+=usr/lib32/libc++.so.1 +OLD_FILES+=usr/lib32/libc++_p.a +OLD_FILES+=usr/lib32/libcxxrt.a +OLD_FILES+=usr/lib32/libcxxrt.so +OLD_LIBS+=usr/lib32/libcxxrt.so.1 +OLD_FILES+=usr/lib32/libcxxrt_p.a OLD_DIRS+=usr/include/c++/v1/experimental OLD_DIRS+=usr/include/c++/v1/ext OLD_DIRS+=usr/include/c++/v1 From 1b41fa7d4d2ca4545586f626688e5b176a69fcf7 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:45:17 +0000 Subject: [PATCH 36/56] - Remove more files when MK_LOCALES == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 1036 +++++++++++++++++++++- 1 file changed, 1033 insertions(+), 3 deletions(-) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index ebde8403771..d8cc2df423b 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -3876,9 +3876,1039 @@ OLD_DIRS+=usr/include/c++/v1 # to be filled in #.endif -#.if ${MK_LOCALES} == no -# to be filled in -#.endif +.if ${MK_LOCALES} == no +OLD_FILES+=usr/share/locale/UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/af_ZA.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/af_ZA.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/af_ZA.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/af_ZA.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/af_ZA.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/af_ZA.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/am_ET.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/am_ET.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/am_ET.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/am_ET.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/am_ET.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/am_ET.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/be_BY.CP1131/LC_COLLATE +OLD_FILES+=usr/share/locale/be_BY.CP1131/LC_CTYPE +OLD_FILES+=usr/share/locale/be_BY.CP1131/LC_MESSAGES +OLD_FILES+=usr/share/locale/be_BY.CP1131/LC_MONETARY +OLD_FILES+=usr/share/locale/be_BY.CP1131/LC_NUMERIC +OLD_FILES+=usr/share/locale/be_BY.CP1131/LC_TIME +OLD_FILES+=usr/share/locale/be_BY.CP1251/LC_COLLATE +OLD_FILES+=usr/share/locale/be_BY.CP1251/LC_CTYPE +OLD_FILES+=usr/share/locale/be_BY.CP1251/LC_MESSAGES +OLD_FILES+=usr/share/locale/be_BY.CP1251/LC_MONETARY +OLD_FILES+=usr/share/locale/be_BY.CP1251/LC_NUMERIC +OLD_FILES+=usr/share/locale/be_BY.CP1251/LC_TIME +OLD_FILES+=usr/share/locale/be_BY.ISO8859-5/LC_COLLATE +OLD_FILES+=usr/share/locale/be_BY.ISO8859-5/LC_CTYPE +OLD_FILES+=usr/share/locale/be_BY.ISO8859-5/LC_MESSAGES +OLD_FILES+=usr/share/locale/be_BY.ISO8859-5/LC_MONETARY +OLD_FILES+=usr/share/locale/be_BY.ISO8859-5/LC_NUMERIC +OLD_FILES+=usr/share/locale/be_BY.ISO8859-5/LC_TIME +OLD_FILES+=usr/share/locale/be_BY.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/be_BY.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/be_BY.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/be_BY.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/be_BY.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/be_BY.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/bg_BG.CP1251/LC_COLLATE +OLD_FILES+=usr/share/locale/bg_BG.CP1251/LC_CTYPE +OLD_FILES+=usr/share/locale/bg_BG.CP1251/LC_MESSAGES +OLD_FILES+=usr/share/locale/bg_BG.CP1251/LC_MONETARY +OLD_FILES+=usr/share/locale/bg_BG.CP1251/LC_NUMERIC +OLD_FILES+=usr/share/locale/bg_BG.CP1251/LC_TIME +OLD_FILES+=usr/share/locale/bg_BG.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/bg_BG.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/bg_BG.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/bg_BG.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/bg_BG.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/bg_BG.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/ca_AD.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_AD.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_AD.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_AD.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_AD.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_AD.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/ca_ES.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_ES.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_ES.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_ES.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_ES.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_ES.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/ca_FR.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_FR.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_FR.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_FR.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_FR.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_FR.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/ca_IT.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_IT.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_IT.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_IT.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_IT.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_IT.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/cs_CZ.ISO8859-2/LC_COLLATE +OLD_FILES+=usr/share/locale/cs_CZ.ISO8859-2/LC_CTYPE +OLD_FILES+=usr/share/locale/cs_CZ.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/cs_CZ.ISO8859-2/LC_MONETARY +OLD_FILES+=usr/share/locale/cs_CZ.ISO8859-2/LC_NUMERIC +OLD_FILES+=usr/share/locale/cs_CZ.ISO8859-2/LC_TIME +OLD_FILES+=usr/share/locale/cs_CZ.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/cs_CZ.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/cs_CZ.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/cs_CZ.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/cs_CZ.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/cs_CZ.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/da_DK.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/da_DK.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/da_DK.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/da_DK.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/da_DK.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/da_DK.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/da_DK.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/da_DK.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/da_DK.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/da_DK.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/da_DK.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/da_DK.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/de_AT.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/de_AT.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/de_AT.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_AT.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/de_AT.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/de_AT.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/de_AT.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/de_AT.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/de_AT.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_AT.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/de_AT.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/de_AT.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/de_CH.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/de_CH.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/de_CH.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_CH.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/de_CH.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/de_CH.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/de_CH.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/de_CH.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/de_CH.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_CH.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/de_CH.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/de_CH.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/de_DE.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/de_DE.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/de_DE.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_DE.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/de_DE.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/de_DE.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/de_DE.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/de_DE.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/de_DE.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_DE.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/de_DE.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/de_DE.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/el_GR.ISO8859-7/LC_COLLATE +OLD_FILES+=usr/share/locale/el_GR.ISO8859-7/LC_CTYPE +OLD_FILES+=usr/share/locale/el_GR.ISO8859-7/LC_MESSAGES +OLD_FILES+=usr/share/locale/el_GR.ISO8859-7/LC_MONETARY +OLD_FILES+=usr/share/locale/el_GR.ISO8859-7/LC_NUMERIC +OLD_FILES+=usr/share/locale/el_GR.ISO8859-7/LC_TIME +OLD_FILES+=usr/share/locale/el_GR.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/el_GR.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/el_GR.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/el_GR.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/el_GR.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/el_GR.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/en_AU.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/en_AU.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/en_AU.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_AU.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/en_AU.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_AU.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/en_AU.US-ASCII/LC_COLLATE +OLD_FILES+=usr/share/locale/en_AU.US-ASCII/LC_CTYPE +OLD_FILES+=usr/share/locale/en_AU.US-ASCII/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_AU.US-ASCII/LC_MONETARY +OLD_FILES+=usr/share/locale/en_AU.US-ASCII/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_AU.US-ASCII/LC_TIME +OLD_FILES+=usr/share/locale/en_AU.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/en_AU.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/en_AU.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_AU.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/en_AU.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_AU.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/en_CA.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/en_CA.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/en_CA.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_CA.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/en_CA.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_CA.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/en_CA.US-ASCII/LC_COLLATE +OLD_FILES+=usr/share/locale/en_CA.US-ASCII/LC_CTYPE +OLD_FILES+=usr/share/locale/en_CA.US-ASCII/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_CA.US-ASCII/LC_MONETARY +OLD_FILES+=usr/share/locale/en_CA.US-ASCII/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_CA.US-ASCII/LC_TIME +OLD_FILES+=usr/share/locale/en_CA.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/en_CA.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/en_CA.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_CA.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/en_CA.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_CA.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/en_GB.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/en_GB.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/en_GB.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_GB.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/en_GB.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_GB.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/en_GB.US-ASCII/LC_COLLATE +OLD_FILES+=usr/share/locale/en_GB.US-ASCII/LC_CTYPE +OLD_FILES+=usr/share/locale/en_GB.US-ASCII/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_GB.US-ASCII/LC_MONETARY +OLD_FILES+=usr/share/locale/en_GB.US-ASCII/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_GB.US-ASCII/LC_TIME +OLD_FILES+=usr/share/locale/en_GB.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/en_GB.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/en_GB.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_GB.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/en_GB.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_GB.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/en_IE.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/en_IE.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/en_IE.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_IE.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/en_IE.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_IE.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/en_NZ.US-ASCII/LC_COLLATE +OLD_FILES+=usr/share/locale/en_NZ.US-ASCII/LC_CTYPE +OLD_FILES+=usr/share/locale/en_NZ.US-ASCII/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_NZ.US-ASCII/LC_MONETARY +OLD_FILES+=usr/share/locale/en_NZ.US-ASCII/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_NZ.US-ASCII/LC_TIME +OLD_FILES+=usr/share/locale/en_NZ.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/en_NZ.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/en_NZ.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_NZ.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/en_NZ.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_NZ.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/en_US.US-ASCII/LC_COLLATE +OLD_FILES+=usr/share/locale/en_US.US-ASCII/LC_CTYPE +OLD_FILES+=usr/share/locale/en_US.US-ASCII/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_US.US-ASCII/LC_MONETARY +OLD_FILES+=usr/share/locale/en_US.US-ASCII/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_US.US-ASCII/LC_TIME +OLD_FILES+=usr/share/locale/en_US.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/en_US.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/en_US.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_US.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/en_US.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_US.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/es_ES.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/es_ES.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/es_ES.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/es_ES.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/es_ES.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/es_ES.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/es_ES.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/es_ES.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/es_ES.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/es_ES.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/es_ES.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/es_ES.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/et_EE.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/et_EE.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/et_EE.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/et_EE.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/et_EE.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/et_EE.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/et_EE.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/et_EE.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/et_EE.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/et_EE.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/et_EE.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/et_EE.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/eu_ES.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/eu_ES.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/eu_ES.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/eu_ES.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/eu_ES.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/eu_ES.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/fi_FI.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/fi_FI.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/fi_FI.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/fi_FI.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/fi_FI.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/fi_FI.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/fr_BE.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_BE.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_BE.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_BE.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_BE.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_BE.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/fr_CH.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_CH.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_CH.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_CH.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_CH.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_CH.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/fr_FR.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_FR.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_FR.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_FR.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_FR.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_FR.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/he_IL.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/he_IL.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/he_IL.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/he_IL.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/he_IL.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/he_IL.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/hi_IN.ISCII-DEV/LC_COLLATE +OLD_FILES+=usr/share/locale/hi_IN.ISCII-DEV/LC_CTYPE +OLD_FILES+=usr/share/locale/hi_IN.ISCII-DEV/LC_MESSAGES +OLD_FILES+=usr/share/locale/hi_IN.ISCII-DEV/LC_MONETARY +OLD_FILES+=usr/share/locale/hi_IN.ISCII-DEV/LC_NUMERIC +OLD_FILES+=usr/share/locale/hi_IN.ISCII-DEV/LC_TIME +OLD_FILES+=usr/share/locale/hr_HR.ISO8859-2/LC_COLLATE +OLD_FILES+=usr/share/locale/hr_HR.ISO8859-2/LC_CTYPE +OLD_FILES+=usr/share/locale/hr_HR.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/hr_HR.ISO8859-2/LC_MONETARY +OLD_FILES+=usr/share/locale/hr_HR.ISO8859-2/LC_NUMERIC +OLD_FILES+=usr/share/locale/hr_HR.ISO8859-2/LC_TIME +OLD_FILES+=usr/share/locale/hr_HR.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/hr_HR.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/hr_HR.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/hr_HR.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/hr_HR.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/hr_HR.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/hu_HU.ISO8859-2/LC_COLLATE +OLD_FILES+=usr/share/locale/hu_HU.ISO8859-2/LC_CTYPE +OLD_FILES+=usr/share/locale/hu_HU.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/hu_HU.ISO8859-2/LC_MONETARY +OLD_FILES+=usr/share/locale/hu_HU.ISO8859-2/LC_NUMERIC +OLD_FILES+=usr/share/locale/hu_HU.ISO8859-2/LC_TIME +OLD_FILES+=usr/share/locale/hu_HU.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/hu_HU.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/hu_HU.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/hu_HU.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/hu_HU.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/hu_HU.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/hy_AM.ARMSCII-8/LC_COLLATE +OLD_FILES+=usr/share/locale/hy_AM.ARMSCII-8/LC_CTYPE +OLD_FILES+=usr/share/locale/hy_AM.ARMSCII-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/hy_AM.ARMSCII-8/LC_MONETARY +OLD_FILES+=usr/share/locale/hy_AM.ARMSCII-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/hy_AM.ARMSCII-8/LC_TIME +OLD_FILES+=usr/share/locale/hy_AM.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/hy_AM.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/hy_AM.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/hy_AM.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/hy_AM.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/hy_AM.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/is_IS.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/is_IS.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/is_IS.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/is_IS.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/is_IS.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/is_IS.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/is_IS.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/is_IS.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/is_IS.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/is_IS.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/is_IS.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/is_IS.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/it_CH.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/it_CH.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/it_CH.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/it_CH.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/it_CH.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/it_CH.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/it_CH.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/it_CH.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/it_CH.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/it_CH.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/it_CH.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/it_CH.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/it_IT.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/it_IT.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/it_IT.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/it_IT.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/it_IT.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/it_IT.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/it_IT.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/it_IT.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/it_IT.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/it_IT.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/it_IT.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/it_IT.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ja_JP.SJIS/LC_COLLATE +OLD_FILES+=usr/share/locale/ja_JP.SJIS/LC_CTYPE +OLD_FILES+=usr/share/locale/ja_JP.SJIS/LC_MESSAGES +OLD_FILES+=usr/share/locale/ja_JP.SJIS/LC_MONETARY +OLD_FILES+=usr/share/locale/ja_JP.SJIS/LC_NUMERIC +OLD_FILES+=usr/share/locale/ja_JP.SJIS/LC_TIME +OLD_FILES+=usr/share/locale/ja_JP.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ja_JP.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ja_JP.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ja_JP.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ja_JP.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ja_JP.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_COLLATE +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_CTYPE +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_MESSAGES +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_MONETARY +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_NUMERIC +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_TIME +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_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_FILES+=usr/share/locale/ko_KR.CP949/LC_COLLATE +OLD_FILES+=usr/share/locale/ko_KR.CP949/LC_CTYPE +OLD_FILES+=usr/share/locale/ko_KR.CP949/LC_MESSAGES +OLD_FILES+=usr/share/locale/ko_KR.CP949/LC_MONETARY +OLD_FILES+=usr/share/locale/ko_KR.CP949/LC_NUMERIC +OLD_FILES+=usr/share/locale/ko_KR.CP949/LC_TIME +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_COLLATE +OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_CTYPE +OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_MESSAGES +OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_MONETARY +OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_NUMERIC +OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_TIME +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_FILES+=usr/share/locale/la_LN.ISO8859-13/LC_COLLATE +OLD_FILES+=usr/share/locale/la_LN.ISO8859-13/LC_CTYPE +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_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_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_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_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_COLLATE +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_CTYPE +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_MESSAGES +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_MONETARY +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_NUMERIC +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_TIME +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_COLLATE +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_CTYPE +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_MESSAGES +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_MONETARY +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_NUMERIC +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_TIME +OLD_FILES+=usr/share/locale/lt_LT.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/lt_LT.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/lt_LT.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/lt_LT.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/lt_LT.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/lt_LT.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/lv_LV.ISO8859-13/LC_COLLATE +OLD_FILES+=usr/share/locale/lv_LV.ISO8859-13/LC_CTYPE +OLD_FILES+=usr/share/locale/lv_LV.ISO8859-13/LC_MESSAGES +OLD_FILES+=usr/share/locale/lv_LV.ISO8859-13/LC_MONETARY +OLD_FILES+=usr/share/locale/lv_LV.ISO8859-13/LC_NUMERIC +OLD_FILES+=usr/share/locale/lv_LV.ISO8859-13/LC_TIME +OLD_FILES+=usr/share/locale/lv_LV.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/lv_LV.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/lv_LV.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/lv_LV.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/lv_LV.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/lv_LV.UTF-8/LC_TIME +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_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/nb_NO.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/nb_NO.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/nb_NO.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/nb_NO.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/nb_NO.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/nb_NO.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/nl_BE.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/nl_BE.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/nl_BE.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/nl_BE.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/nl_BE.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/nl_NL.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/nl_NL.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/nl_NL.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_NL.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/nl_NL.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/nl_NL.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/nn_NO.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/nn_NO.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/nn_NO.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/nn_NO.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/nn_NO.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/nn_NO.UTF-8/LC_TIME +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_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_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_FILES+=usr/share/locale/pl_PL.ISO8859-2/LC_COLLATE +OLD_FILES+=usr/share/locale/pl_PL.ISO8859-2/LC_CTYPE +OLD_FILES+=usr/share/locale/pl_PL.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/pl_PL.ISO8859-2/LC_MONETARY +OLD_FILES+=usr/share/locale/pl_PL.ISO8859-2/LC_NUMERIC +OLD_FILES+=usr/share/locale/pl_PL.ISO8859-2/LC_TIME +OLD_FILES+=usr/share/locale/pl_PL.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/pl_PL.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/pl_PL.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/pl_PL.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/pl_PL.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/pl_PL.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/pt_BR.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/pt_BR.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/pt_BR.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/pt_BR.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/pt_BR.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/pt_BR.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/pt_BR.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/pt_BR.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/pt_BR.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/pt_BR.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/pt_BR.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/pt_BR.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/pt_PT.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/pt_PT.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/pt_PT.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/pt_PT.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/pt_PT.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/pt_PT.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ro_RO.ISO8859-2/LC_COLLATE +OLD_FILES+=usr/share/locale/ro_RO.ISO8859-2/LC_CTYPE +OLD_FILES+=usr/share/locale/ro_RO.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/ro_RO.ISO8859-2/LC_MONETARY +OLD_FILES+=usr/share/locale/ro_RO.ISO8859-2/LC_NUMERIC +OLD_FILES+=usr/share/locale/ro_RO.ISO8859-2/LC_TIME +OLD_FILES+=usr/share/locale/ro_RO.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ro_RO.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ro_RO.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ro_RO.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ro_RO.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ro_RO.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ru_RU.CP1251/LC_COLLATE +OLD_FILES+=usr/share/locale/ru_RU.CP1251/LC_CTYPE +OLD_FILES+=usr/share/locale/ru_RU.CP1251/LC_MESSAGES +OLD_FILES+=usr/share/locale/ru_RU.CP1251/LC_MONETARY +OLD_FILES+=usr/share/locale/ru_RU.CP1251/LC_NUMERIC +OLD_FILES+=usr/share/locale/ru_RU.CP1251/LC_TIME +OLD_FILES+=usr/share/locale/ru_RU.CP866/LC_COLLATE +OLD_FILES+=usr/share/locale/ru_RU.CP866/LC_CTYPE +OLD_FILES+=usr/share/locale/ru_RU.CP866/LC_MESSAGES +OLD_FILES+=usr/share/locale/ru_RU.CP866/LC_MONETARY +OLD_FILES+=usr/share/locale/ru_RU.CP866/LC_NUMERIC +OLD_FILES+=usr/share/locale/ru_RU.CP866/LC_TIME +OLD_FILES+=usr/share/locale/ru_RU.ISO8859-5/LC_COLLATE +OLD_FILES+=usr/share/locale/ru_RU.ISO8859-5/LC_CTYPE +OLD_FILES+=usr/share/locale/ru_RU.ISO8859-5/LC_MESSAGES +OLD_FILES+=usr/share/locale/ru_RU.ISO8859-5/LC_MONETARY +OLD_FILES+=usr/share/locale/ru_RU.ISO8859-5/LC_NUMERIC +OLD_FILES+=usr/share/locale/ru_RU.ISO8859-5/LC_TIME +OLD_FILES+=usr/share/locale/ru_RU.KOI8-R/LC_COLLATE +OLD_FILES+=usr/share/locale/ru_RU.KOI8-R/LC_CTYPE +OLD_FILES+=usr/share/locale/ru_RU.KOI8-R/LC_MESSAGES +OLD_FILES+=usr/share/locale/ru_RU.KOI8-R/LC_MONETARY +OLD_FILES+=usr/share/locale/ru_RU.KOI8-R/LC_NUMERIC +OLD_FILES+=usr/share/locale/ru_RU.KOI8-R/LC_TIME +OLD_FILES+=usr/share/locale/ru_RU.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ru_RU.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ru_RU.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ru_RU.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ru_RU.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ru_RU.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/sk_SK.ISO8859-2/LC_COLLATE +OLD_FILES+=usr/share/locale/sk_SK.ISO8859-2/LC_CTYPE +OLD_FILES+=usr/share/locale/sk_SK.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/sk_SK.ISO8859-2/LC_MONETARY +OLD_FILES+=usr/share/locale/sk_SK.ISO8859-2/LC_NUMERIC +OLD_FILES+=usr/share/locale/sk_SK.ISO8859-2/LC_TIME +OLD_FILES+=usr/share/locale/sk_SK.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/sk_SK.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/sk_SK.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/sk_SK.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/sk_SK.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/sk_SK.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/sl_SI.ISO8859-2/LC_COLLATE +OLD_FILES+=usr/share/locale/sl_SI.ISO8859-2/LC_CTYPE +OLD_FILES+=usr/share/locale/sl_SI.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/sl_SI.ISO8859-2/LC_MONETARY +OLD_FILES+=usr/share/locale/sl_SI.ISO8859-2/LC_NUMERIC +OLD_FILES+=usr/share/locale/sl_SI.ISO8859-2/LC_TIME +OLD_FILES+=usr/share/locale/sl_SI.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/sl_SI.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/sl_SI.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/sl_SI.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/sl_SI.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/sl_SI.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_COLLATE +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_MONETARY +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_NUMERIC +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_TIME +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_COLLATE +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_CTYPE +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_MESSAGES +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_TIME +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/sv_SE.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/sv_SE.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/sv_SE.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/sv_SE.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/sv_SE.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/sv_SE.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/tr_TR.ISO8859-9/LC_COLLATE +OLD_FILES+=usr/share/locale/tr_TR.ISO8859-9/LC_CTYPE +OLD_FILES+=usr/share/locale/tr_TR.ISO8859-9/LC_MESSAGES +OLD_FILES+=usr/share/locale/tr_TR.ISO8859-9/LC_MONETARY +OLD_FILES+=usr/share/locale/tr_TR.ISO8859-9/LC_NUMERIC +OLD_FILES+=usr/share/locale/tr_TR.ISO8859-9/LC_TIME +OLD_FILES+=usr/share/locale/tr_TR.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/tr_TR.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/tr_TR.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/tr_TR.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/tr_TR.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/tr_TR.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/uk_UA.CP1251/LC_COLLATE +OLD_FILES+=usr/share/locale/uk_UA.CP1251/LC_CTYPE +OLD_FILES+=usr/share/locale/uk_UA.CP1251/LC_MESSAGES +OLD_FILES+=usr/share/locale/uk_UA.CP1251/LC_MONETARY +OLD_FILES+=usr/share/locale/uk_UA.CP1251/LC_NUMERIC +OLD_FILES+=usr/share/locale/uk_UA.CP1251/LC_TIME +OLD_FILES+=usr/share/locale/uk_UA.ISO8859-5/LC_COLLATE +OLD_FILES+=usr/share/locale/uk_UA.ISO8859-5/LC_CTYPE +OLD_FILES+=usr/share/locale/uk_UA.ISO8859-5/LC_MESSAGES +OLD_FILES+=usr/share/locale/uk_UA.ISO8859-5/LC_MONETARY +OLD_FILES+=usr/share/locale/uk_UA.ISO8859-5/LC_NUMERIC +OLD_FILES+=usr/share/locale/uk_UA.ISO8859-5/LC_TIME +OLD_FILES+=usr/share/locale/uk_UA.KOI8-U/LC_COLLATE +OLD_FILES+=usr/share/locale/uk_UA.KOI8-U/LC_CTYPE +OLD_FILES+=usr/share/locale/uk_UA.KOI8-U/LC_MESSAGES +OLD_FILES+=usr/share/locale/uk_UA.KOI8-U/LC_MONETARY +OLD_FILES+=usr/share/locale/uk_UA.KOI8-U/LC_NUMERIC +OLD_FILES+=usr/share/locale/uk_UA.KOI8-U/LC_TIME +OLD_FILES+=usr/share/locale/uk_UA.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/uk_UA.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/uk_UA.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/uk_UA.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/uk_UA.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/uk_UA.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_TIME +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_TIME +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_TIME +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_TIME +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_TIME +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_TIME +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_TIME +OLD_FILES+=usr/tests/lib/libc/locale/Kyuafile +OLD_FILES+=usr/tests/lib/libc/locale/io_test +OLD_FILES+=usr/tests/lib/libc/locale/mbrtowc_test +OLD_FILES+=usr/tests/lib/libc/locale/mbsnrtowcs_test +OLD_FILES+=usr/tests/lib/libc/locale/mbstowcs_test +OLD_FILES+=usr/tests/lib/libc/locale/mbtowc_test +OLD_FILES+=usr/tests/lib/libc/locale/wcscspn_test +OLD_FILES+=usr/tests/lib/libc/locale/wcspbrk_test +OLD_FILES+=usr/tests/lib/libc/locale/wcsspn_test +OLD_FILES+=usr/tests/lib/libc/locale/wcstod_test +OLD_FILES+=usr/tests/lib/libc/locale/wctomb_test +.endif .if ${MK_LOCATE} == no OLD_FILES+=etc/locate.rc From 2f3a10e5355b537bac9484d9a0f6135a0928f58c Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:48:05 +0000 Subject: [PATCH 37/56] - Remove more files when MK_MAIL == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index d8cc2df423b..7f1e2b93aba 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -4960,6 +4960,10 @@ OLD_FILES+=usr/share/man/man8/pac.8.gz .endif .if ${MK_MAIL} == no +OLD_FILES+=etc/aliases +OLD_FILES+=etc/mail.rc +OLD_FILES+=etc/mail/aliases +OLD_FILES+=etc/mail/mailer.conf OLD_FILES+=etc/periodic/daily/130.clean-msgs OLD_FILES+=usr/bin/Mail OLD_FILES+=usr/bin/biff From 426d5303726afc816178b00e69553b805a9bf46a Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:50:14 +0000 Subject: [PATCH 38/56] - Remove more files when MK_MAKE == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 365 +++++++++++++++++++++++ 1 file changed, 365 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 7f1e2b93aba..2effa0fb90e 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -4992,6 +4992,371 @@ OLD_FILES+=usr/sbin/mailwrapper OLD_FILES+=usr/share/man/man8/mailwrapper.8.gz .endif +.if ${MK_MAKE} == no +OLD_FILES+=usr/bin/make +OLD_FILES+=usr/share/man/man1/make.1.gz +OLD_FILES+=usr/share/mk/atf.test.mk +OLD_FILES+=usr/share/mk/bsd.README +OLD_FILES+=usr/share/mk/bsd.arch.inc.mk +OLD_FILES+=usr/share/mk/bsd.compiler.mk +OLD_FILES+=usr/share/mk/bsd.cpu.mk +OLD_FILES+=usr/share/mk/bsd.crunchgen.mk +OLD_FILES+=usr/share/mk/bsd.dep.mk +OLD_FILES+=usr/share/mk/bsd.doc.mk +OLD_FILES+=usr/share/mk/bsd.dtb.mk +OLD_FILES+=usr/share/mk/bsd.endian.mk +OLD_FILES+=usr/share/mk/bsd.files.mk +OLD_FILES+=usr/share/mk/bsd.incs.mk +OLD_FILES+=usr/share/mk/bsd.info.mk +OLD_FILES+=usr/share/mk/bsd.init.mk +OLD_FILES+=usr/share/mk/bsd.kmod.mk +OLD_FILES+=usr/share/mk/bsd.lib.mk +OLD_FILES+=usr/share/mk/bsd.libnames.mk +OLD_FILES+=usr/share/mk/bsd.links.mk +OLD_FILES+=usr/share/mk/bsd.man.mk +OLD_FILES+=usr/share/mk/bsd.mkopt.mk +OLD_FILES+=usr/share/mk/bsd.nls.mk +OLD_FILES+=usr/share/mk/bsd.obj.mk +OLD_FILES+=usr/share/mk/bsd.opts.mk +OLD_FILES+=usr/share/mk/bsd.own.mk +OLD_FILES+=usr/share/mk/bsd.port.mk +OLD_FILES+=usr/share/mk/bsd.port.options.mk +OLD_FILES+=usr/share/mk/bsd.port.post.mk +OLD_FILES+=usr/share/mk/bsd.port.pre.mk +OLD_FILES+=usr/share/mk/bsd.port.subdir.mk +OLD_FILES+=usr/share/mk/bsd.prog.mk +OLD_FILES+=usr/share/mk/bsd.progs.mk +OLD_FILES+=usr/share/mk/bsd.snmpmod.mk +OLD_FILES+=usr/share/mk/bsd.subdir.mk +OLD_FILES+=usr/share/mk/bsd.symver.mk +OLD_FILES+=usr/share/mk/bsd.sys.mk +OLD_FILES+=usr/share/mk/bsd.test.mk +OLD_FILES+=usr/share/mk/plain.test.mk +OLD_FILES+=usr/share/mk/suite.test.mk +OLD_FILES+=usr/share/mk/sys.mk +OLD_FILES+=usr/share/mk/tap.test.mk +OLD_FILES+=usr/share/mk/version_gen.awk +OLD_FILES+=usr/tests/usr.bin/bmake/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/archives/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.status.3 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.status.4 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.status.5 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.status.6 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.status.7 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stderr.3 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stderr.4 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stderr.5 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stderr.6 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stderr.7 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stdout.3 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stdout.4 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stdout.5 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stdout.6 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/expected.stdout.7 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd/libtest.a +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.status.3 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.status.4 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.status.5 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.status.6 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.status.7 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stderr.3 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stderr.4 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stderr.5 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stderr.6 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stderr.7 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stdout.3 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stdout.4 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stdout.5 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stdout.6 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/expected.stdout.7 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_44bsd_mod/libtest.a +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.status.3 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.status.4 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.status.5 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.status.6 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.status.7 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stderr.3 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stderr.4 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stderr.5 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stderr.6 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stderr.7 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stdout.3 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stdout.4 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stdout.5 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stdout.6 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/expected.stdout.7 +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/archives/fmt_oldbsd/libtest.a +OLD_FILES+=usr/tests/usr.bin/bmake/basic/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t0/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t0/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t0/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t0/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t0/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t1/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t1/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t1/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t1/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t1/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t1/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t2/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t2/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t2/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t2/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t2/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t2/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t3/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t3/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t3/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t3/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/basic/t3/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/common.sh +OLD_FILES+=usr/tests/usr.bin/bmake/execution/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/execution/ellipsis/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/execution/ellipsis/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/execution/ellipsis/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/ellipsis/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/ellipsis/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/ellipsis/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/execution/empty/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/execution/empty/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/execution/empty/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/empty/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/empty/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/empty/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/execution/joberr/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/execution/joberr/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/execution/joberr/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/joberr/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/joberr/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/joberr/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/execution/plus/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/execution/plus/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/execution/plus/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/plus/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/plus/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/execution/plus/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/shell/builtin/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/shell/builtin/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/builtin/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/builtin/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/builtin/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/builtin/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/builtin/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/builtin/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/builtin/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/builtin/sh +OLD_FILES+=usr/tests/usr.bin/bmake/shell/meta/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/shell/meta/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/meta/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/meta/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/meta/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/meta/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/meta/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/meta/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/meta/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/meta/sh +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path/sh +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path_select/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path_select/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path_select/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path_select/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path_select/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path_select/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path_select/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path_select/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path_select/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/path_select/shell +OLD_FILES+=usr/tests/usr.bin/bmake/shell/replace/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/shell/replace/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/replace/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/replace/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/replace/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/replace/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/replace/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/replace/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/replace/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/replace/shell +OLD_FILES+=usr/tests/usr.bin/bmake/shell/select/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/shell/select/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/shell/select/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/select/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/select/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/select/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/select/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/select/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/shell/select/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/basic/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/basic/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/basic/TEST1.a +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/basic/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/basic/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/basic/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/basic/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild1/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild1/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild1/TEST1.a +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild1/TEST2.a +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild1/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild1/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild1/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild1/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild2/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild2/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild2/TEST1.a +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild2/TEST2.a +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild2/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild2/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild2/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/suffixes/src_wild2/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/directive-t0/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/directive-t0/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/directive-t0/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/directive-t0/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/directive-t0/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/directive-t0/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.status.3 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.status.4 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.status.5 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.stderr.3 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.stderr.4 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.stderr.5 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.stdout.3 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.stdout.4 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/expected.stdout.5 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/enl/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/funny-targets/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/funny-targets/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/funny-targets/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/funny-targets/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/funny-targets/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/funny-targets/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/funny-targets/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/funny-targets/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/funny-targets/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/semi/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/semi/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/semi/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/semi/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/semi/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/semi/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/semi/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/semi/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/syntax/semi/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t0/2/1/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t0/2/1/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t0/2/1/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t0/2/1/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t0/2/1/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t0/2/1/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t0/2/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t0/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t0/mk/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t0/mk/sys.mk +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t1/2/1/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t1/2/1/cleanup +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t1/2/1/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t1/2/1/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t1/2/1/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t1/2/1/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t1/2/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t1/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t1/mk/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t1/mk/sys.mk +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t2/2/1/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t2/2/1/cleanup +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t2/2/1/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t2/2/1/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t2/2/1/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t2/2/1/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t2/2/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t2/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t2/mk/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/sysmk/t2/mk/sys.mk +OLD_FILES+=usr/tests/usr.bin/bmake/test-new.mk +OLD_FILES+=usr/tests/usr.bin/bmake/variables/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_M/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_M/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_M/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_M/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_M/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_M/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/expected.status.3 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/expected.stderr.3 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/expected.stdout.3 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/modifier_t/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/variables/opt_V/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/variables/opt_V/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/variables/opt_V/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/opt_V/expected.status.2 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/opt_V/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/opt_V/expected.stderr.2 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/opt_V/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/opt_V/expected.stdout.2 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/opt_V/legacy_test +OLD_FILES+=usr/tests/usr.bin/bmake/variables/t0/Kyuafile +OLD_FILES+=usr/tests/usr.bin/bmake/variables/t0/Makefile.test +OLD_FILES+=usr/tests/usr.bin/bmake/variables/t0/expected.status.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/t0/expected.stderr.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/t0/expected.stdout.1 +OLD_FILES+=usr/tests/usr.bin/bmake/variables/t0/legacy_test +.endif + #.if ${MK_MAN} == no # This should add a dependency to a special target which removes all man pages. # Listing all of them here is overkill. From ddef03245558d5c9ad11d579d376287e629e7224 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:51:26 +0000 Subject: [PATCH 39/56] - Remove more files when MK_MAN == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 2effa0fb90e..eb808720cce 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -5357,10 +5357,10 @@ OLD_FILES+=usr/tests/usr.bin/bmake/variables/t0/expected.stdout.1 OLD_FILES+=usr/tests/usr.bin/bmake/variables/t0/legacy_test .endif -#.if ${MK_MAN} == no -# This should add a dependency to a special target which removes all man pages. -# Listing all of them here is overkill. -#.endif +.if ${MK_MAN} == no +MAN_FILES!=find ${DESTDIR}/usr/share/man ${DESTDIR}/usr/share/openssl/man -type f | sed -e 's,^${DESTDIR}/,,'; echo +OLD_FILES+=${MAN_FILES} +.endif .if ${MK_NDIS} == no OLD_FILES+=usr/sbin/ndiscvt From e5c3781da5963389f93ae8a2dfd3abf380698c36 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:52:38 +0000 Subject: [PATCH 40/56] - Remove more files when MK_MAN_UTILS == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index eb808720cce..db844b77f66 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -5362,6 +5362,32 @@ MAN_FILES!=find ${DESTDIR}/usr/share/man ${DESTDIR}/usr/share/openssl/man -type OLD_FILES+=${MAN_FILES} .endif +.if ${MK_MAN_UTILS} == no +OLD_FILES+=etc/periodic/weekly/320.whatis +OLD_FILES+=etc/periodic/weekly/330.catman +OLD_FILES+=usr/bin/apropos +OLD_FILES+=usr/bin/catman +OLD_FILES+=usr/bin/makewhatis +OLD_FILES+=usr/bin/man +OLD_FILES+=usr/bin/manpath +OLD_FILES+=usr/bin/whatis +OLD_FILES+=usr/libexec/catman.local +OLD_FILES+=usr/libexec/makewhatis.local +OLD_FILES+=usr/sbin/manctl +OLD_FILES+=usr/share/man/man1/apropos.1.gz +OLD_FILES+=usr/share/man/man1/catman.1.gz +OLD_FILES+=usr/share/man/man1/makewhatis.1.gz +OLD_FILES+=usr/share/man/man1/man.1.gz +OLD_FILES+=usr/share/man/man1/manpath.1.gz +OLD_FILES+=usr/share/man/man1/whatis.1.gz +OLD_FILES+=usr/share/man/man5/man.conf.5.gz +OLD_FILES+=usr/share/man/man8/catman.local.8.gz +OLD_FILES+=usr/share/man/man8/makewhatis.local.8.gz +OLD_FILES+=usr/share/man/man8/manctl.8.gz +OLD_FILES+=usr/share/man/whatis +OLD_FILES+=usr/share/openssl/man/whatis +.endif + .if ${MK_NDIS} == no OLD_FILES+=usr/sbin/ndiscvt OLD_FILES+=usr/sbin/ndisgen From fe8f6c3e434e50640c4f0ca35c3e73d8b9875cf5 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:54:28 +0000 Subject: [PATCH 41/56] - Remove more files when MK_NETGRAPH == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 37 ++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index db844b77f66..60f2c5b4929 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -5401,6 +5401,43 @@ OLD_FILES+=usr/bin/nc OLD_FILES+=usr/share/man/man1/nc.1.gz .endif +.if ${MK_NETGRAPH} == no +OLD_FILES+=usr/include/netgraph.h +OLD_FILES+=usr/lib/libnetgraph.a +OLD_FILES+=usr/lib/libnetgraph.so +OLD_LIBS+=usr/lib/libnetgraph.so.4 +OLD_FILES+=usr/lib/libnetgraph_p.a +OLD_FILES+=usr/lib32/libnetgraph.a +OLD_FILES+=usr/lib32/libnetgraph.so +OLD_LIBS+=usr/lib32/libnetgraph.so.4 +OLD_FILES+=usr/lib32/libnetgraph_p.a +OLD_FILES+=usr/libexec/pppoed +OLD_FILES+=usr/sbin/flowctl +OLD_FILES+=usr/sbin/lmcconfig +OLD_FILES+=usr/sbin/ngctl +OLD_FILES+=usr/sbin/nghook +OLD_FILES+=usr/share/man/man3/NgAllocRecvAsciiMsg.3.gz +OLD_FILES+=usr/share/man/man3/NgAllocRecvData.3.gz +OLD_FILES+=usr/share/man/man3/NgAllocRecvMsg.3.gz +OLD_FILES+=usr/share/man/man3/NgMkSockNode.3.gz +OLD_FILES+=usr/share/man/man3/NgNameNode.3.gz +OLD_FILES+=usr/share/man/man3/NgRecvAsciiMsg.3.gz +OLD_FILES+=usr/share/man/man3/NgRecvData.3.gz +OLD_FILES+=usr/share/man/man3/NgRecvMsg.3.gz +OLD_FILES+=usr/share/man/man3/NgSendAsciiMsg.3.gz +OLD_FILES+=usr/share/man/man3/NgSendData.3.gz +OLD_FILES+=usr/share/man/man3/NgSendMsg.3.gz +OLD_FILES+=usr/share/man/man3/NgSendMsgReply.3.gz +OLD_FILES+=usr/share/man/man3/NgSetDebug.3.gz +OLD_FILES+=usr/share/man/man3/NgSetErrLog.3.gz +OLD_FILES+=usr/share/man/man3/netgraph.3.gz +OLD_FILES+=usr/share/man/man8/flowctl.8.gz +OLD_FILES+=usr/share/man/man8/lmcconfig.8.gz +OLD_FILES+=usr/share/man/man8/ngctl.8.gz +OLD_FILES+=usr/share/man/man8/nghook.8.gz +OLD_FILES+=usr/share/man/man8/pppoed.8.gz +.endif + .if ${MK_NIS} == no OLD_FILES+=usr/bin/ypcat OLD_FILES+=usr/bin/ypchfn From e50d77e56962814fa2d7177192c750be35568152 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:55:24 +0000 Subject: [PATCH 42/56] - Remove more files when MK_NETGRAPH_SUPPORT == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 60f2c5b4929..3323f93d5c0 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -5438,6 +5438,15 @@ OLD_FILES+=usr/share/man/man8/nghook.8.gz OLD_FILES+=usr/share/man/man8/pppoed.8.gz .endif +.if ${MK_NETGRAPH_SUPPORT} == no +OLD_FILES+=usr/include/bsnmp/snmp_netgraph.h +OLD_FILES+=usr/lib/snmp_netgraph.so +OLD_LIBS+=usr/lib/snmp_netgraph.so.6 +OLD_FILES+=usr/share/man/man3/snmp_netgraph.3.gz +OLD_FILES+=usr/share/snmp/defs/netgraph_tree.def +OLD_FILES+=usr/share/snmp/mibs/BEGEMOT-NETGRAPH.txt +.endif + .if ${MK_NIS} == no OLD_FILES+=usr/bin/ypcat OLD_FILES+=usr/bin/ypchfn From 422e74aec36a6035976be3db500a90151c97c0f1 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:56:39 +0000 Subject: [PATCH 43/56] - Remove more files when MK_NLS == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 109 ++++++++++++++++++++++- 1 file changed, 108 insertions(+), 1 deletion(-) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 3323f93d5c0..7ed3d67a352 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -5503,8 +5503,115 @@ OLD_FILES+=var/yp/Makefile.dist .endif .if ${MK_NLS} == no +OLD_FILES+=usr/share/nls/C/ee.cat +OLD_FILES+=usr/share/nls/be_BY.UTF-8/libc.cat +OLD_FILES+=usr/share/nls/ca_ES.ISO8859-1/libc.cat +OLD_FILES+=usr/share/nls/de_AT.ISO8859-1/ee.cat +OLD_FILES+=usr/share/nls/de_AT.ISO8859-1/tcsh.cat +OLD_FILES+=usr/share/nls/de_AT.ISO8859-15/ee.cat +OLD_FILES+=usr/share/nls/de_AT.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/de_AT.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/de_CH.ISO8859-1/ee.cat +OLD_FILES+=usr/share/nls/de_CH.ISO8859-1/tcsh.cat +OLD_FILES+=usr/share/nls/de_CH.ISO8859-15/ee.cat +OLD_FILES+=usr/share/nls/de_CH.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/de_CH.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/de_DE.ISO8859-1/ee.cat +OLD_FILES+=usr/share/nls/de_DE.ISO8859-1/libc.cat +OLD_FILES+=usr/share/nls/de_DE.ISO8859-1/tcsh.cat +OLD_FILES+=usr/share/nls/de_DE.ISO8859-15/ee.cat +OLD_FILES+=usr/share/nls/de_DE.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/de_DE.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/el_GR.ISO8859-7/libc.cat +OLD_FILES+=usr/share/nls/el_GR.ISO8859-7/tcsh.cat +OLD_FILES+=usr/share/nls/el_GR.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/en_US.ISO8859-1/ee.cat +OLD_FILES+=usr/share/nls/en_US.ISO8859-15/ee.cat +OLD_FILES+=usr/share/nls/es_ES.ISO8859-1/grep.cat +OLD_FILES+=usr/share/nls/es_ES.ISO8859-1/libc.cat +OLD_FILES+=usr/share/nls/es_ES.ISO8859-1/tcsh.cat +OLD_FILES+=usr/share/nls/es_ES.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/es_ES.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/et_EE.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/et_EE.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/fi_FI.ISO8859-1/libc.cat +OLD_FILES+=usr/share/nls/fi_FI.ISO8859-1/tcsh.cat +OLD_FILES+=usr/share/nls/fi_FI.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/fi_FI.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/fr_BE.ISO8859-1/ee.cat +OLD_FILES+=usr/share/nls/fr_BE.ISO8859-1/tcsh.cat +OLD_FILES+=usr/share/nls/fr_BE.ISO8859-15/ee.cat +OLD_FILES+=usr/share/nls/fr_BE.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/fr_BE.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/fr_CA.ISO8859-1/ee.cat +OLD_FILES+=usr/share/nls/fr_CA.ISO8859-1/tcsh.cat +OLD_FILES+=usr/share/nls/fr_CA.ISO8859-15/ee.cat +OLD_FILES+=usr/share/nls/fr_CA.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/fr_CA.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/fr_CH.ISO8859-1/ee.cat +OLD_FILES+=usr/share/nls/fr_CH.ISO8859-1/tcsh.cat +OLD_FILES+=usr/share/nls/fr_CH.ISO8859-15/ee.cat +OLD_FILES+=usr/share/nls/fr_CH.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/fr_CH.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/fr_FR.ISO8859-1/ee.cat +OLD_FILES+=usr/share/nls/fr_FR.ISO8859-1/libc.cat +OLD_FILES+=usr/share/nls/fr_FR.ISO8859-1/tcsh.cat +OLD_FILES+=usr/share/nls/fr_FR.ISO8859-15/ee.cat +OLD_FILES+=usr/share/nls/fr_FR.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/fr_FR.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/gl_ES.ISO8859-1/grep.cat +OLD_FILES+=usr/share/nls/gl_ES.ISO8859-1/libc.cat +OLD_FILES+=usr/share/nls/hu_HU.ISO8859-2/ee.cat +OLD_FILES+=usr/share/nls/hu_HU.ISO8859-2/grep.cat +OLD_FILES+=usr/share/nls/hu_HU.ISO8859-2/libc.cat +OLD_FILES+=usr/share/nls/hu_HU.ISO8859-2/sort.cat +OLD_FILES+=usr/share/nls/it_CH.ISO8859-1/tcsh.cat +OLD_FILES+=usr/share/nls/it_CH.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/it_CH.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/it_IT.ISO8859-1/tcsh.cat +OLD_FILES+=usr/share/nls/it_IT.ISO8859-15/libc.cat +OLD_FILES+=usr/share/nls/it_IT.ISO8859-15/tcsh.cat +OLD_FILES+=usr/share/nls/it_IT.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/ja_JP.SJIS/grep.cat +OLD_FILES+=usr/share/nls/ja_JP.SJIS/tcsh.cat +OLD_FILES+=usr/share/nls/ja_JP.UTF-8/grep.cat +OLD_FILES+=usr/share/nls/ja_JP.UTF-8/libc.cat +OLD_FILES+=usr/share/nls/ja_JP.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/ja_JP.eucJP/grep.cat +OLD_FILES+=usr/share/nls/ja_JP.eucJP/libc.cat +OLD_FILES+=usr/share/nls/ja_JP.eucJP/tcsh.cat +OLD_FILES+=usr/share/nls/ko_KR.UTF-8/libc.cat +OLD_FILES+=usr/share/nls/ko_KR.eucKR/libc.cat +OLD_FILES+=usr/share/nls/mn_MN.UTF-8/libc.cat +OLD_FILES+=usr/share/nls/nl_NL.ISO8859-1/libc.cat +OLD_FILES+=usr/share/nls/no_NO.ISO8859-1/libc.cat +OLD_FILES+=usr/share/nls/pl_PL.ISO8859-2/ee.cat +OLD_FILES+=usr/share/nls/pl_PL.ISO8859-2/libc.cat +OLD_FILES+=usr/share/nls/pt_BR.ISO8859-1/ee.cat +OLD_FILES+=usr/share/nls/pt_BR.ISO8859-1/grep.cat +OLD_FILES+=usr/share/nls/pt_BR.ISO8859-1/libc.cat +OLD_FILES+=usr/share/nls/pt_PT.ISO8859-1/ee.cat +OLD_FILES+=usr/share/nls/ru_RU.CP1251/tcsh.cat +OLD_FILES+=usr/share/nls/ru_RU.CP866/tcsh.cat +OLD_FILES+=usr/share/nls/ru_RU.ISO8859-5/tcsh.cat +OLD_FILES+=usr/share/nls/ru_RU.KOI8-R/ee.cat +OLD_FILES+=usr/share/nls/ru_RU.KOI8-R/grep.cat +OLD_FILES+=usr/share/nls/ru_RU.KOI8-R/libc.cat +OLD_FILES+=usr/share/nls/ru_RU.KOI8-R/tcsh.cat +OLD_FILES+=usr/share/nls/ru_RU.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/sk_SK.ISO8859-2/libc.cat +OLD_FILES+=usr/share/nls/sv_SE.ISO8859-1/libc.cat +OLD_FILES+=usr/share/nls/uk_UA.ISO8859-5/tcsh.cat +OLD_FILES+=usr/share/nls/uk_UA.KOI8-U/ee.cat +OLD_FILES+=usr/share/nls/uk_UA.KOI8-U/tcsh.cat +OLD_FILES+=usr/share/nls/uk_UA.UTF-8/grep.cat +OLD_FILES+=usr/share/nls/uk_UA.UTF-8/libc.cat +OLD_FILES+=usr/share/nls/uk_UA.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/zh_CN.GB18030/libc.cat +OLD_FILES+=usr/share/nls/zh_CN.GB2312/libc.cat +OLD_FILES+=usr/share/nls/zh_CN.UTF-8/grep.cat +OLD_FILES+=usr/share/nls/zh_CN.UTF-8/libc.cat OLD_FILES+=usr/tests/bin/sh/builtins/locale1.0 -# to be filled in .endif .if ${MK_NTP} == no From 90539b6f3cf3dd7d09a845c175d617c9faeff696 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:57:45 +0000 Subject: [PATCH 44/56] - Remove more files when MK_NLS_CATALOGS == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 7ed3d67a352..a20e8f0358c 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -5614,6 +5614,30 @@ OLD_FILES+=usr/share/nls/zh_CN.UTF-8/libc.cat OLD_FILES+=usr/tests/bin/sh/builtins/locale1.0 .endif +.if ${MK_NLS_CATALOGS} == no +OLD_FILES+=usr/share/nls/de_AT.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/de_CH.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/de_DE.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/el_GR.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/es_ES.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/et_EE.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/fi_FI.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/fr_BE.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/fr_CA.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/fr_CH.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/fr_FR.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/it_CH.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/it_IT.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/ja_JP.SJIS/tcsh.cat +OLD_FILES+=usr/share/nls/ja_JP.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/ru_RU.CP1251/tcsh.cat +OLD_FILES+=usr/share/nls/ru_RU.CP866/tcsh.cat +OLD_FILES+=usr/share/nls/ru_RU.ISO8859-5/tcsh.cat +OLD_FILES+=usr/share/nls/ru_RU.UTF-8/tcsh.cat +OLD_FILES+=usr/share/nls/uk_UA.ISO8859-5/tcsh.cat +OLD_FILES+=usr/share/nls/uk_UA.UTF-8/tcsh.cat +.endif + .if ${MK_NTP} == no OLD_FILES+=etc/ntp.conf OLD_FILES+=etc/periodic/daily/480.status-ntpd From ed809ca880d8189f586a2281a83dd4d933eb86b0 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:58:41 +0000 Subject: [PATCH 45/56] - Remove more files when MK_NS_CACHING == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index a20e8f0358c..7c2ecbcec02 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -5638,6 +5638,15 @@ OLD_FILES+=usr/share/nls/uk_UA.ISO8859-5/tcsh.cat OLD_FILES+=usr/share/nls/uk_UA.UTF-8/tcsh.cat .endif +.if ${MK_NS_CACHING} == no +OLD_FILES+=etc/nscd.conf +OLD_FILES+=etc/rc.d/nscd +OLD_FILES+=usr/sbin/nscd +OLD_FILES+=usr/share/examples/etc/nscd.conf +OLD_FILES+=usr/share/man/man5/nscd.conf.5.gz +OLD_FILES+=usr/share/man/man8/nscd.8.gz +.endif + .if ${MK_NTP} == no OLD_FILES+=etc/ntp.conf OLD_FILES+=etc/periodic/daily/480.status-ntpd From 5bed16ded9a63a426a73de06381aadb0dd0469b6 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 2 Feb 2015 14:59:55 +0000 Subject: [PATCH 46/56] - Remove more files when MK_NTP == no MFC after: 1 week Reviewed by: ngie Approved by: ngie Differential Revision: D1600 --- tools/build/mk/OptionalObsoleteFiles.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 7c2ecbcec02..95f55c33144 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -5725,6 +5725,7 @@ OLD_FILES+=usr/share/doc/ntp/release.html OLD_FILES+=usr/share/doc/ntp/tickadj.html OLD_DIRS+=usr/share/doc/ntp OLD_FILES+=usr/share/examples/etc/ntp.conf +OLD_FILES+=usr/share/man/man1/sntp.1.gz OLD_FILES+=usr/share/man/man5/ntp.conf.5.gz OLD_FILES+=usr/share/man/man5/ntp.keys.5.gz OLD_FILES+=usr/share/man/man8/ntp-keygen.8.gz From bebf6a8572388214770050a96acb66f23c6c0627 Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Mon, 2 Feb 2015 15:59:17 +0000 Subject: [PATCH 47/56] Add some fields and constants from RFC7144. MFC after: 1 week --- sys/dev/iscsi/iscsi_proto.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sys/dev/iscsi/iscsi_proto.h b/sys/dev/iscsi/iscsi_proto.h index 46572ce62d4..eb884879ec3 100644 --- a/sys/dev/iscsi/iscsi_proto.h +++ b/sys/dev/iscsi/iscsi_proto.h @@ -115,7 +115,9 @@ struct iscsi_bhs_scsi_response { uint8_t bhssr_status; uint8_t bhssr_total_ahs_len; uint8_t bhssr_data_segment_len[3]; - uint64_t bhssr_reserved; + uint16_t bhssr_status_qualifier; + uint16_t bhssr_reserved; + uint32_t bhssr_reserved2; uint32_t bhssr_initiator_task_tag; uint32_t bhssr_snack_tag; uint32_t bhssr_statsn; @@ -135,6 +137,10 @@ CTASSERT(sizeof(struct iscsi_bhs_scsi_response) == ISCSI_BHS_SIZE); #define BHSTMR_FUNCTION_TARGET_WARM_RESET 6 #define BHSTMR_FUNCTION_TARGET_COLD_RESET 7 #define BHSTMR_FUNCTION_TASK_REASSIGN 8 +#define BHSTMR_FUNCTION_QUERY_TASK 9 +#define BHSTMR_FUNCTION_QUERY_TASK_SET 10 +#define BHSTMR_FUNCTION_I_T_NEXUS_RESET 11 +#define BHSTMR_FUNCTION_QUERY_ASYNC_EVENT 12 struct iscsi_bhs_task_management_request { uint8_t bhstmr_opcode; @@ -154,7 +160,14 @@ struct iscsi_bhs_task_management_request { CTASSERT(sizeof(struct iscsi_bhs_task_management_request) == ISCSI_BHS_SIZE); #define BHSTMR_RESPONSE_FUNCTION_COMPLETE 0 +#define BHSTMR_RESPONSE_TASK_DOES_NOT_EXIST 1 +#define BHSTMR_RESPONSE_LUN_DOES_NOT_EXIST 2 +#define BHSTMR_RESPONSE_TASK_STILL_ALLEGIANT 3 +#define BHSTMR_RESPONSE_TASK_ALL_REASS_NOT_SUPP 4 #define BHSTMR_RESPONSE_FUNCTION_NOT_SUPPORTED 5 +#define BHSTMR_RESPONSE_FUNCTION_AUTH_FAIL 6 +#define BHSTMR_RESPONSE_FUNCTION_SUCCEEDED 7 +#define BHSTMR_RESPONSE_FUNCTION_REJECTED 255 struct iscsi_bhs_task_management_response { uint8_t bhstmr_opcode; From 4b0e5c9ef420d810d0c98f06d5a2df54df71dfcb Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Mon, 2 Feb 2015 16:06:23 +0000 Subject: [PATCH 48/56] Missed addition to r278098. MFC after: 1 week --- sys/dev/iscsi/iscsi_proto.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/iscsi/iscsi_proto.h b/sys/dev/iscsi/iscsi_proto.h index eb884879ec3..ee19fbc92a2 100644 --- a/sys/dev/iscsi/iscsi_proto.h +++ b/sys/dev/iscsi/iscsi_proto.h @@ -176,7 +176,8 @@ struct iscsi_bhs_task_management_response { uint8_t bhstmr_reserved; uint8_t bhstmr_total_ahs_len; uint8_t bhstmr_data_segment_len[3]; - uint64_t bhstmr_reserved2; + uint8_t bhstmr_additional_reponse_information[3]; + uint8_t bhstmr_reserved2[5]; uint32_t bhstmr_initiator_task_tag; uint32_t bhstmr_reserved3; uint32_t bhstmr_statsn; From 84a9ba84bbc39d45239370630fa524e88cc19ebe Mon Sep 17 00:00:00 2001 From: "Pedro F. Giffuni" Date: Mon, 2 Feb 2015 16:07:07 +0000 Subject: [PATCH 49/56] rpc: Uninitialized pointer read Initialize *xprt to avoid exposing a random value in cleanup_svc_vc_create. This is the kernel counterpart of r278041. CID: 1007340 --- sys/rpc/svc_vc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/rpc/svc_vc.c b/sys/rpc/svc_vc.c index 0190a0ce383..920c4b5efef 100644 --- a/sys/rpc/svc_vc.c +++ b/sys/rpc/svc_vc.c @@ -143,7 +143,7 @@ SVCXPRT * svc_vc_create(SVCPOOL *pool, struct socket *so, size_t sendsize, size_t recvsize) { - SVCXPRT *xprt; + SVCXPRT *xprt = NULL; struct sockaddr* sa; int error; From 2bb086bf48c75b1e821b35d03cedc9babf093738 Mon Sep 17 00:00:00 2001 From: Hiroki Sato Date: Mon, 2 Feb 2015 16:10:03 +0000 Subject: [PATCH 50/56] Add a toc.section.depth=3 parameter to use the same ToC depth as DocBook DSSSL stylesheet. Reported by: gjb --- release/doc/share/mk/doc.relnotes.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/release/doc/share/mk/doc.relnotes.mk b/release/doc/share/mk/doc.relnotes.mk index 8ae9fd0e92c..ae8a31fbbaa 100644 --- a/release/doc/share/mk/doc.relnotes.mk +++ b/release/doc/share/mk/doc.relnotes.mk @@ -17,6 +17,7 @@ PROFILING+= --param profile.attribute "'releasetype'" --param profile.value "'re XSLTPROCFLAGS+= --param release.url "'${RELEASEURL}'" XSLTPROCFLAGS+= --param release.branch "'${RELEASEBRANCH}'" XSLTPROCFLAGS+= --param release.maillist "'${RELEASEMAILLIST}'" +XSLTPROCFLAGS+= --param toc.section.depth "'3'" # Find the RELNOTESng document catalogs EXTRA_CATALOGS+= file://${RELN_ROOT}/${LANGCODE}/share/xml/catalog.xml \ From 609752f04f73e7643d83b0d6d64674224ffecee9 Mon Sep 17 00:00:00 2001 From: Hans Petter Selasky Date: Mon, 2 Feb 2015 17:32:50 +0000 Subject: [PATCH 51/56] The flowid and hashtype should be copied from the originating packet when fragmenting IP packets to preserve the order of the packets in a stream. Else the resulting fragments can be sent out of order when the hardware supports multiple transmit rings. Reviewed by: glebius @ MFC after: 1 week Sponsored by: Mellanox Technologies --- sys/netinet/ip_output.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index ccd5e898da9..ec2813de3f4 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -789,6 +789,10 @@ smart_frag_failure: IPSTAT_INC(ips_odropped); goto done; } + /* make sure the flowid is the same for the fragmented mbufs */ + M_HASHTYPE_SET(m, M_HASHTYPE_GET(m0)); + m->m_pkthdr.flowid = m0->m_pkthdr.flowid; + /* copy multicast flag, if any */ m->m_flags |= (m0->m_flags & M_MCAST); /* * In the first mbuf, leave room for the link header, then From cb53a7b39e891b6aee42b510069b31a1518db110 Mon Sep 17 00:00:00 2001 From: Sean Bruno Date: Mon, 2 Feb 2015 17:33:00 +0000 Subject: [PATCH 52/56] The linux driver code for the MDIO bus does a read-after-write which seems to be required on MIPS74k platforms for correct behaviour. Reviewed by: adrian --- sys/mips/atheros/if_argevar.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/sys/mips/atheros/if_argevar.h b/sys/mips/atheros/if_argevar.h index 50c02c3ff41..048c375ae7b 100644 --- a/sys/mips/atheros/if_argevar.h +++ b/sys/mips/atheros/if_argevar.h @@ -74,8 +74,20 @@ #define ARGE_CLEAR_BITS(sc, reg, bits) \ ARGE_WRITE(sc, reg, ARGE_READ(sc, (reg)) & ~(bits)) -#define ARGE_MDIO_WRITE(_sc, _reg, _val) \ - ARGE_WRITE((_sc), (_reg), (_val)) +/* + * The linux driver code for the MDIO bus does a read-after-write + * which seems to be required on MIPS74k platforms for correct + * behaviour. + * + * So, ARGE_WRITE() does the write + barrier, and the following + * ARGE_READ() seems to flush the thing all the way through the device + * FIFO(s) before we continue issuing MDIO bus updates. + */ +#define ARGE_MDIO_WRITE(_sc, _reg, _val) \ + do { \ + ARGE_WRITE((_sc), (_reg), (_val)); \ + ARGE_READ((_sc), (_reg)); \ + } while (0) #define ARGE_MDIO_READ(_sc, _reg) \ ARGE_READ((_sc), (_reg)) #define ARGE_MDIO_BARRIER_READ(_sc) ARGE_BARRIER_READ(_sc) From c3871e642691a7e8c7309ba67ae7e826e19b2a8e Mon Sep 17 00:00:00 2001 From: Hans Petter Selasky Date: Mon, 2 Feb 2015 18:20:10 +0000 Subject: [PATCH 53/56] Separate out detection of prevent and allow medium removal quirk. PR: 185747 MFC after: 1 week --- sys/dev/usb/usb_msctest.c | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/sys/dev/usb/usb_msctest.c b/sys/dev/usb/usb_msctest.c index 91b229268e2..c77afd03efe 100644 --- a/sys/dev/usb/usb_msctest.c +++ b/sys/dev/usb/usb_msctest.c @@ -113,6 +113,8 @@ static uint8_t scsi_request_sense[] = { 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static uint8_t scsi_read_capacity[] = { 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; +static uint8_t scsi_prevent_removal[] = { 0x1e, 0, 0, 0, 1, 0 }; +static uint8_t scsi_allow_removal[] = { 0x1e, 0, 0, 0, 0, 0 }; #ifndef USB_MSCTEST_BULK_SIZE #define USB_MSCTEST_BULK_SIZE 64 /* dummy */ @@ -702,10 +704,28 @@ usb_msc_auto_quirk(struct usb_device *udev, uint8_t iface_index) USB_MS_HZ); if (err != 0) { - if (err != ERR_CSW_FAILED) goto error; + DPRINTF("Test unit ready failed\n"); } + + err = bbb_command_start(sc, DIR_OUT, 0, NULL, 0, + &scsi_prevent_removal, sizeof(scsi_prevent_removal), + USB_MS_HZ); + + if (err == 0) { + err = bbb_command_start(sc, DIR_OUT, 0, NULL, 0, + &scsi_allow_removal, sizeof(scsi_allow_removal), + USB_MS_HZ); + } + + if (err != 0) { + if (err != ERR_CSW_FAILED) + goto error; + DPRINTF("Device doesn't handle prevent and allow removal\n"); + usbd_add_dynamic_quirk(udev, UQ_MSC_NO_PREVENT_ALLOW); + } + timeout = 1; retry_sync_cache: @@ -718,11 +738,9 @@ retry_sync_cache: if (err != ERR_CSW_FAILED) goto error; - DPRINTF("Device doesn't handle synchronize cache " - "and prevent allow medium removal\n"); + DPRINTF("Device doesn't handle synchronize cache\n"); usbd_add_dynamic_quirk(udev, UQ_MSC_NO_SYNC_CACHE); - usbd_add_dynamic_quirk(udev, UQ_MSC_NO_PREVENT_ALLOW); } else { /* @@ -749,13 +767,10 @@ retry_sync_cache: goto retry_sync_cache; DPRINTF("Device most likely doesn't " - "handle synchronize cache nor" - "prevent allow medium removal\n"); + "handle synchronize cache\n"); usbd_add_dynamic_quirk(udev, UQ_MSC_NO_SYNC_CACHE); - usbd_add_dynamic_quirk(udev, - UQ_MSC_NO_PREVENT_ALLOW); } else { if (err != ERR_CSW_FAILED) goto error; From 976e4945144e6e4888ba8ec63122987effededd6 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 2 Feb 2015 19:00:18 +0000 Subject: [PATCH 54/56] Revert the change of flowid output format. [1] Reverse the sorting order of the interfaces addresses familise so it should be the same as getifaddrs(3) order. [2] Suggested by: hrs [1], bz [2] Approved by: hrs, bapt --- sbin/ifconfig/af_inet6.c | 32 +++----------------------------- sbin/ifconfig/ifconfig.c | 2 +- 2 files changed, 4 insertions(+), 30 deletions(-) diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c index b8121a67aaf..37494000bc2 100644 --- a/sbin/ifconfig/af_inet6.c +++ b/sbin/ifconfig/af_inet6.c @@ -166,33 +166,6 @@ setip6eui64(const char *cmd, int dummy __unused, int s, freeifaddrs(ifap); } -static void -in6_print_scope(uint8_t *a) -{ - const char *sname = NULL; - uint16_t val; - - val = (a[0] << 4) + ((a[1] & 0xc0) >> 4); - - if ((val & 0xff0) == 0xff0) - sname = "Multicast"; - else { - switch(val) { - case 0xfe8: - sname = "Link"; - break; - case 0xfec: - sname = "Site"; - break; - default: - sname = "Global"; - break; - } - } - - printf("scope: %s ", sname); -} - static void in6_status(int s __unused, const struct ifaddrs *ifa) { @@ -284,8 +257,9 @@ in6_status(int s __unused, const struct ifaddrs *ifa) if ((flags6 & IN6_IFF_PREFER_SOURCE) != 0) printf("prefer_source "); - in6_print_scope((uint8_t *)&((struct sockaddr_in6 *) - (ifa->ifa_addr))->sin6_addr); + if (((struct sockaddr_in6 *)(ifa->ifa_addr))->sin6_scope_id) + printf("scopeid 0x%x ", + ((struct sockaddr_in6 *)(ifa->ifa_addr))->sin6_scope_id); if (ip6lifetime && (lifetime.ia6t_preferred || lifetime.ia6t_expire)) { printf("pltime "); diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c index 73d84f52253..5a805a7e60f 100644 --- a/sbin/ifconfig/ifconfig.c +++ b/sbin/ifconfig/ifconfig.c @@ -235,7 +235,7 @@ cmpifaddrs(struct ifaddrs *a, struct ifaddrs *b, struct ifa_queue *q) if (af1 < ORDERS_SIZE(e1->af_orders) && af2 < ORDERS_SIZE(e1->af_orders)) - return (e1->af_orders[af2] - e1->af_orders[af1]); + return (e1->af_orders[af1] - e1->af_orders[af2]); } return (0); From dbdb12056d205c0690c970975187443f57bf3cba Mon Sep 17 00:00:00 2001 From: Luiz Otavio O Souza Date: Mon, 2 Feb 2015 19:22:34 +0000 Subject: [PATCH 55/56] Register the GPIO controller device reference on xref table for FDT systems. --- sys/dev/gpio/gpiobus.c | 7 +++++++ sys/dev/gpio/gpiobusvar.h | 2 ++ sys/dev/gpio/ofw_gpiobus.c | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c index 9579fe2512e..6e38ca986bc 100644 --- a/sys/dev/gpio/gpiobus.c +++ b/sys/dev/gpio/gpiobus.c @@ -143,6 +143,9 @@ gpiobus_attach_bus(device_t dev) device_delete_child(dev, busdev); return (NULL); } +#ifdef FDT + ofw_gpiobus_register_provider(dev); +#endif bus_generic_attach(dev); return (busdev); @@ -152,6 +155,10 @@ int gpiobus_detach_bus(device_t dev) { +#ifdef FDT + ofw_gpiobus_unregister_provider(dev); +#endif + return (bus_generic_detach(dev)); } diff --git a/sys/dev/gpio/gpiobusvar.h b/sys/dev/gpio/gpiobusvar.h index 5ea4040f0f3..4f8443032de 100644 --- a/sys/dev/gpio/gpiobusvar.h +++ b/sys/dev/gpio/gpiobusvar.h @@ -93,6 +93,8 @@ gpio_map_gpios(device_t bus, phandle_t dev, phandle_t gparent, int gcells, } device_t ofw_gpiobus_add_fdt_child(device_t, phandle_t); +void ofw_gpiobus_register_provider(device_t); +void ofw_gpiobus_unregister_provider(device_t); #endif int gpio_check_flags(uint32_t, uint32_t); device_t gpiobus_attach_bus(device_t); diff --git a/sys/dev/gpio/ofw_gpiobus.c b/sys/dev/gpio/ofw_gpiobus.c index 225e905855c..59dcbbd2aa1 100644 --- a/sys/dev/gpio/ofw_gpiobus.c +++ b/sys/dev/gpio/ofw_gpiobus.c @@ -217,6 +217,24 @@ ofw_gpiobus_parse_gpios(struct gpiobus_softc *sc, struct gpiobus_ivar *dinfo, return (0); } +void +ofw_gpiobus_register_provider(device_t provider) +{ + phandle_t node; + + node = ofw_bus_get_node(provider); + OF_device_register_xref(OF_xref_from_node(node), provider); +} + +void +ofw_gpiobus_unregister_provider(device_t provider) +{ + phandle_t node; + + node = ofw_bus_get_node(provider); + OF_device_register_xref(OF_xref_from_node(node), NULL); +} + static struct ofw_gpiobus_devinfo * ofw_gpiobus_setup_devinfo(device_t dev, phandle_t node) { From b73700f54765da5163dbf953a92a9cfb05a1ac39 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Mon, 2 Feb 2015 20:05:52 +0000 Subject: [PATCH 56/56] Belatedly add the clang patch corresponding to r277423. --- .../patch-29-clang-add-mips-triples.diff | 33 +++++++++++++++++++ ...=> patch-30-llvm-r226664-aarch64-x18.diff} | 0 ... => patch-31-clang-r227062-fixes-x18.diff} | 0 3 files changed, 33 insertions(+) create mode 100644 contrib/llvm/patches/patch-29-clang-add-mips-triples.diff rename contrib/llvm/patches/{patch-29-llvm-r226664-aarch64-x18.diff => patch-30-llvm-r226664-aarch64-x18.diff} (100%) rename contrib/llvm/patches/{patch-30-clang-r227062-fixes-x18.diff => patch-31-clang-r227062-fixes-x18.diff} (100%) diff --git a/contrib/llvm/patches/patch-29-clang-add-mips-triples.diff b/contrib/llvm/patches/patch-29-clang-add-mips-triples.diff new file mode 100644 index 00000000000..084c0a6d0c6 --- /dev/null +++ b/contrib/llvm/patches/patch-29-clang-add-mips-triples.diff @@ -0,0 +1,33 @@ +Allow clang to be built for mips/mips64 backend types by adding our mips +triple ids + +This only allows testing and does not change the defaults for mips/mips64. +They still build/use gcc by default. + +Differential Revision: https://reviews.freebsd.org/D1190 +Reviewed by: dim + +Introduced here: http://svnweb.freebsd.org/changeset/base/277423 + +Index: tools/clang/lib/Driver/Tools.cpp +=================================================================== +--- tools/clang/lib/Driver/Tools.cpp ++++ tools/clang/lib/Driver/Tools.cpp +@@ -6592,6 +6592,17 @@ void freebsd::Link::ConstructJob(Compilation &C, c + CmdArgs.push_back("elf32ppc_fbsd"); + } + ++ if (Arg *A = Args.getLastArg(options::OPT_G)) { ++ if (ToolChain.getArch() == llvm::Triple::mips || ++ ToolChain.getArch() == llvm::Triple::mipsel || ++ ToolChain.getArch() == llvm::Triple::mips64 || ++ ToolChain.getArch() == llvm::Triple::mips64el) { ++ StringRef v = A->getValue(); ++ CmdArgs.push_back(Args.MakeArgString("-G" + v)); ++ A->claim(); ++ } ++ } ++ + if (Output.isFilename()) { + CmdArgs.push_back("-o"); + CmdArgs.push_back(Output.getFilename()); diff --git a/contrib/llvm/patches/patch-29-llvm-r226664-aarch64-x18.diff b/contrib/llvm/patches/patch-30-llvm-r226664-aarch64-x18.diff similarity index 100% rename from contrib/llvm/patches/patch-29-llvm-r226664-aarch64-x18.diff rename to contrib/llvm/patches/patch-30-llvm-r226664-aarch64-x18.diff diff --git a/contrib/llvm/patches/patch-30-clang-r227062-fixes-x18.diff b/contrib/llvm/patches/patch-31-clang-r227062-fixes-x18.diff similarity index 100% rename from contrib/llvm/patches/patch-30-clang-r227062-fixes-x18.diff rename to contrib/llvm/patches/patch-31-clang-r227062-fixes-x18.diff