From owner-svn-src-projects@freebsd.org Fri Aug 24 17:48:06 2018 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 89F38109018D for ; Fri, 24 Aug 2018 17:48:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3FE598F907; Fri, 24 Aug 2018 17:48:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 207A814481; Fri, 24 Aug 2018 17:48:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w7OHm6l8097428; Fri, 24 Aug 2018 17:48:06 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w7OHm5SD097425; Fri, 24 Aug 2018 17:48:05 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201808241748.w7OHm5SD097425@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 24 Aug 2018 17:48:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r338297 - projects/clang700-import/contrib/llvm/tools/lld/ELF X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: projects/clang700-import/contrib/llvm/tools/lld/ELF X-SVN-Commit-Revision: 338297 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Aug 2018 17:48:06 -0000 Author: dim Date: Fri Aug 24 17:48:05 2018 New Revision: 338297 URL: https://svnweb.freebsd.org/changeset/base/338297 Log: Apply r338251 ("Preserve relocations against ifuncs when -zifunc-noplt is specified") on top of lld 7.0.0. This is to prepare for another merge from head. Obtained from: https://github.com/markjdb/freebsd-dev/commit/02f35faa6df364769b9223746b99e3c7ba05c5dd Modified: projects/clang700-import/contrib/llvm/tools/lld/ELF/Config.h projects/clang700-import/contrib/llvm/tools/lld/ELF/Driver.cpp projects/clang700-import/contrib/llvm/tools/lld/ELF/Relocations.cpp projects/clang700-import/contrib/llvm/tools/lld/ELF/Writer.cpp Modified: projects/clang700-import/contrib/llvm/tools/lld/ELF/Config.h ============================================================================== --- projects/clang700-import/contrib/llvm/tools/lld/ELF/Config.h Fri Aug 24 15:01:58 2018 (r338296) +++ projects/clang700-import/contrib/llvm/tools/lld/ELF/Config.h Fri Aug 24 17:48:05 2018 (r338297) @@ -181,6 +181,7 @@ struct Configuration { bool ZCopyreloc; bool ZExecstack; bool ZHazardplt; + bool ZIfuncnoplt; bool ZInitfirst; bool ZKeepTextSectionPrefix; bool ZNodelete; Modified: projects/clang700-import/contrib/llvm/tools/lld/ELF/Driver.cpp ============================================================================== --- projects/clang700-import/contrib/llvm/tools/lld/ELF/Driver.cpp Fri Aug 24 15:01:58 2018 (r338296) +++ projects/clang700-import/contrib/llvm/tools/lld/ELF/Driver.cpp Fri Aug 24 17:48:05 2018 (r338297) @@ -338,7 +338,8 @@ static bool getZFlag(opt::InputArgList &Args, StringRe static bool isKnown(StringRef S) { return S == "combreloc" || S == "copyreloc" || S == "defs" || - S == "execstack" || S == "hazardplt" || S == "initfirst" || + S == "execstack" || S == "hazardplt" || S == "ifunc-noplt" || + S == "initfirst" || S == "keep-text-section-prefix" || S == "lazy" || S == "muldefs" || S == "nocombreloc" || S == "nocopyreloc" || S == "nodelete" || S == "nodlopen" || S == "noexecstack" || @@ -843,6 +844,7 @@ void LinkerDriver::readConfigs(opt::InputArgList &Args Config->ZCopyreloc = getZFlag(Args, "copyreloc", "nocopyreloc", true); Config->ZExecstack = getZFlag(Args, "execstack", "noexecstack", false); Config->ZHazardplt = hasZOption(Args, "hazardplt"); + Config->ZIfuncnoplt = hasZOption(Args, "ifunc-noplt"); Config->ZInitfirst = hasZOption(Args, "initfirst"); Config->ZKeepTextSectionPrefix = getZFlag( Args, "keep-text-section-prefix", "nokeep-text-section-prefix", false); Modified: projects/clang700-import/contrib/llvm/tools/lld/ELF/Relocations.cpp ============================================================================== --- projects/clang700-import/contrib/llvm/tools/lld/ELF/Relocations.cpp Fri Aug 24 15:01:58 2018 (r338296) +++ projects/clang700-import/contrib/llvm/tools/lld/ELF/Relocations.cpp Fri Aug 24 17:48:05 2018 (r338297) @@ -366,6 +366,10 @@ static bool isStaticLinkTimeConstant(RelExpr E, RelTyp R_TLSLD_HINT>(E)) return true; + // The computation involves output from the ifunc resolver. + if (Sym.isGnuIFunc() && Config->ZIfuncnoplt) + return false; + // These never do, except if the entire file is position dependent or if // only the low bits are used. if (E == R_GOT || E == R_PLT || E == R_TLSDESC) @@ -816,6 +820,10 @@ static void processRelocAux(InputSectionBase &Sec, Rel Sec.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); return; } + if (Sym.isGnuIFunc() && Config->ZIfuncnoplt) { + InX::RelaDyn->addReloc(Type, &Sec, Offset, &Sym, Addend, R_ADDEND, Type); + return; + } bool CanWrite = (Sec.Flags & SHF_WRITE) || !Config->ZText; if (CanWrite) { // R_GOT refers to a position in the got, even if the symbol is preemptible. @@ -985,7 +993,7 @@ static void scanReloc(InputSectionBase &Sec, OffsetGet // all dynamic symbols that can be resolved within the executable will // actually be resolved that way at runtime, because the main exectuable // is always at the beginning of a search list. We can leverage that fact. - if (Sym.isGnuIFunc()) + if (Sym.isGnuIFunc() && !Config->ZIfuncnoplt) Expr = toPlt(Expr); else if (!Sym.IsPreemptible && Expr == R_GOT_PC && !isAbsoluteValue(Sym)) Expr = Target->adjustRelaxExpr(Type, RelocatedAddr, Expr); Modified: projects/clang700-import/contrib/llvm/tools/lld/ELF/Writer.cpp ============================================================================== --- projects/clang700-import/contrib/llvm/tools/lld/ELF/Writer.cpp Fri Aug 24 15:01:58 2018 (r338296) +++ projects/clang700-import/contrib/llvm/tools/lld/ELF/Writer.cpp Fri Aug 24 17:48:05 2018 (r338297) @@ -1561,8 +1561,11 @@ template void Writer::finalizeSecti applySynthetic({InX::EhFrame}, [](SyntheticSection *SS) { SS->finalizeContents(); }); - for (Symbol *S : Symtab->getSymbols()) + for (Symbol *S : Symtab->getSymbols()) { S->IsPreemptible |= computeIsPreemptible(*S); + if (S->isGnuIFunc() && Config->ZIfuncnoplt) + S->ExportDynamic = true; + } // Scan relocations. This must be done after every symbol is declared so that // we can correctly decide if a dynamic relocation is needed. From owner-svn-src-projects@freebsd.org Fri Aug 24 18:09:29 2018 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 232ED1090701 for ; Fri, 24 Aug 2018 18:09:29 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C6A9C70773; Fri, 24 Aug 2018 18:09:28 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A7758147C8; Fri, 24 Aug 2018 18:09:28 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w7OI9SNq008872; Fri, 24 Aug 2018 18:09:28 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w7OI9Ou2008854; Fri, 24 Aug 2018 18:09:24 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201808241809.w7OI9Ou2008854@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 24 Aug 2018 18:09:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r338299 - in projects/clang700-import: . bin/ls cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip cddl/lib/libdtrace cddl/lib/libzpool cddl/usr.bin/ztest cddl/usr.sbin/dtrace/tests... X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang700-import: . bin/ls cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip cddl/lib/libdtrace cddl/lib/libzpool cddl/usr.bin/ztest cddl/usr.sbin/dtrace/tests/common/ip cddl/usr.sbin/... X-SVN-Commit-Revision: 338299 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Aug 2018 18:09:29 -0000 Author: dim Date: Fri Aug 24 18:09:23 2018 New Revision: 338299 URL: https://svnweb.freebsd.org/changeset/base/338299 Log: Merge ^/head r338026 through r338297, and resolve conflicts. Added: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh - copied unchanged from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh.out - copied unchanged from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh.out projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh - copied unchanged from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh.out - copied unchanged from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh.out projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh - copied unchanged from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh.out - copied unchanged from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh.out projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh - copied unchanged from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh.out - copied unchanged from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh.out projects/clang700-import/cddl/lib/libdtrace/sctp.d - copied unchanged from r338297, head/cddl/lib/libdtrace/sctp.d projects/clang700-import/lib/libbluetooth/hosts - copied unchanged from r338297, head/lib/libbluetooth/hosts projects/clang700-import/lib/libbluetooth/protocols - copied unchanged from r338297, head/lib/libbluetooth/protocols projects/clang700-import/lib/libc/gen/arc4random-compat.c - copied unchanged from r338297, head/lib/libc/gen/arc4random-compat.c projects/clang700-import/lib/libc/gen/arc4random.h - copied unchanged from r338297, head/lib/libc/gen/arc4random.h projects/clang700-import/lib/libc/stdlib/set_constraint_handler_s.3 - copied unchanged from r338297, head/lib/libc/stdlib/set_constraint_handler_s.3 projects/clang700-import/libexec/ftpd/ftpusers - copied unchanged from r338297, head/libexec/ftpd/ftpusers projects/clang700-import/sbin/devd/apple.conf - copied unchanged from r338297, head/sbin/devd/apple.conf projects/clang700-import/sbin/devd/asus.conf - copied unchanged from r338297, head/sbin/devd/asus.conf projects/clang700-import/sbin/devd/devd.conf - copied unchanged from r338297, head/sbin/devd/devd.conf projects/clang700-import/sbin/devd/devmatch.conf - copied unchanged from r338297, head/sbin/devd/devmatch.conf projects/clang700-import/sbin/devd/hyperv.conf - copied unchanged from r338297, head/sbin/devd/hyperv.conf projects/clang700-import/sbin/devd/uath.conf - copied unchanged from r338297, head/sbin/devd/uath.conf projects/clang700-import/sbin/devd/ulpt.conf - copied unchanged from r338297, head/sbin/devd/ulpt.conf projects/clang700-import/sbin/devd/zfs.conf - copied unchanged from r338297, head/sbin/devd/zfs.conf projects/clang700-import/sbin/devfs/devfs.conf - copied unchanged from r338297, head/sbin/devfs/devfs.conf projects/clang700-import/sbin/devfs/devfs.rules - copied unchanged from r338297, head/sbin/devfs/devfs.rules projects/clang700-import/share/man/man3/CMSG_DATA.3 - copied unchanged from r338297, head/share/man/man3/CMSG_DATA.3 projects/clang700-import/share/man/man8/beinstall.8 - copied unchanged from r338297, head/share/man/man8/beinstall.8 projects/clang700-import/stand/lua/color.lua.8 - copied unchanged from r338297, head/stand/lua/color.lua.8 projects/clang700-import/stand/lua/config.lua.8 - copied unchanged from r338297, head/stand/lua/config.lua.8 projects/clang700-import/stand/lua/drawer.lua.8 - copied unchanged from r338297, head/stand/lua/drawer.lua.8 projects/clang700-import/stand/lua/password.lua.8 - copied unchanged from r338297, head/stand/lua/password.lua.8 projects/clang700-import/stand/lua/screen.lua.8 - copied unchanged from r338297, head/stand/lua/screen.lua.8 projects/clang700-import/sys/dts/arm64/ - copied from r338297, head/sys/dts/arm64/ - copied from r338297, head/sys/gnu/dts/arm64/ projects/clang700-import/sys/x86/include/intr_machdep.h - copied unchanged from r338297, head/sys/x86/include/intr_machdep.h projects/clang700-import/usr.bin/diff/tests/Bflag_C.out - copied unchanged from r338297, head/usr.bin/diff/tests/Bflag_C.out projects/clang700-import/usr.bin/diff/tests/Bflag_D.out - copied unchanged from r338297, head/usr.bin/diff/tests/Bflag_D.out projects/clang700-import/usr.bin/diff/tests/Bflag_F.out - copied unchanged from r338297, head/usr.bin/diff/tests/Bflag_F.out projects/clang700-import/usr.sbin/bluetooth/hccontrol/bluetooth.device.conf - copied unchanged from r338297, head/usr.sbin/bluetooth/hccontrol/bluetooth.device.conf projects/clang700-import/usr.sbin/services_mkdb/services - copied unchanged from r338297, head/usr.sbin/services_mkdb/services projects/clang700-import/usr.sbin/syslogd/ftp.conf - copied unchanged from r338297, head/usr.sbin/syslogd/ftp.conf projects/clang700-import/usr.sbin/syslogd/lpr.conf - copied unchanged from r338297, head/usr.sbin/syslogd/lpr.conf projects/clang700-import/usr.sbin/syslogd/ppp.conf - copied unchanged from r338297, head/usr.sbin/syslogd/ppp.conf projects/clang700-import/usr.sbin/syslogd/syslog.conf - copied unchanged from r338297, head/usr.sbin/syslogd/syslog.conf Directory Properties: projects/clang700-import/sys/gnu/dts/arm64/ (props changed) Replaced: projects/clang700-import/usr.sbin/bluetooth/hcsecd/hcsecd.conf - copied unchanged from r338297, head/usr.sbin/bluetooth/hcsecd/hcsecd.conf Deleted: projects/clang700-import/etc/bluetooth/ projects/clang700-import/etc/defaults/ projects/clang700-import/etc/devd/ projects/clang700-import/etc/devd.conf projects/clang700-import/etc/devfs.conf projects/clang700-import/etc/ftpusers projects/clang700-import/etc/services projects/clang700-import/etc/syslog.conf projects/clang700-import/etc/syslog.d/ projects/clang700-import/usr.bin/send-pr/Makefile projects/clang700-import/usr.bin/send-pr/Makefile.depend projects/clang700-import/usr.bin/send-pr/send-pr.sh Modified: projects/clang700-import/Makefile.inc1 projects/clang700-import/Makefile.libcompat projects/clang700-import/ObsoleteFiles.inc projects/clang700-import/UPDATING projects/clang700-import/bin/ls/ls.1 projects/clang700-import/bin/ls/ls.c projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv4remote.pl projects/clang700-import/cddl/lib/libdtrace/Makefile projects/clang700-import/cddl/lib/libzpool/Makefile projects/clang700-import/cddl/usr.bin/ztest/Makefile projects/clang700-import/cddl/usr.sbin/dtrace/tests/common/ip/Makefile projects/clang700-import/cddl/usr.sbin/dtrace/tests/tools/exclude.sh projects/clang700-import/cddl/usr.sbin/zdb/Makefile projects/clang700-import/contrib/llvm/tools/lld/docs/ld.lld.1 projects/clang700-import/contrib/ntp/ChangeLog projects/clang700-import/contrib/ntp/NEWS projects/clang700-import/contrib/ntp/config.h.in projects/clang700-import/contrib/ntp/configure projects/clang700-import/contrib/ntp/configure.ac projects/clang700-import/contrib/ntp/html/authentic.html projects/clang700-import/contrib/ntp/html/authopt.html projects/clang700-import/contrib/ntp/html/confopt.html projects/clang700-import/contrib/ntp/html/keygen.html projects/clang700-import/contrib/ntp/html/ntpdate.html projects/clang700-import/contrib/ntp/include/ntp.h projects/clang700-import/contrib/ntp/include/ntp_md5.h projects/clang700-import/contrib/ntp/lib/isc/random.c projects/clang700-import/contrib/ntp/libntp/a_md5encrypt.c projects/clang700-import/contrib/ntp/libntp/ntp_calendar.c projects/clang700-import/contrib/ntp/libntp/prettydate.c projects/clang700-import/contrib/ntp/libntp/ssl_init.c projects/clang700-import/contrib/ntp/libntp/syssignal.c projects/clang700-import/contrib/ntp/libntp/work_fork.c projects/clang700-import/contrib/ntp/libntp/work_thread.c projects/clang700-import/contrib/ntp/ntpd/complete.conf.in projects/clang700-import/contrib/ntp/ntpd/invoke-ntp.conf.texi projects/clang700-import/contrib/ntp/ntpd/invoke-ntp.keys.texi projects/clang700-import/contrib/ntp/ntpd/invoke-ntpd.texi projects/clang700-import/contrib/ntp/ntpd/ntp.conf.5man projects/clang700-import/contrib/ntp/ntpd/ntp.conf.5mdoc projects/clang700-import/contrib/ntp/ntpd/ntp.conf.def projects/clang700-import/contrib/ntp/ntpd/ntp.conf.html projects/clang700-import/contrib/ntp/ntpd/ntp.conf.man.in projects/clang700-import/contrib/ntp/ntpd/ntp.conf.mdoc.in projects/clang700-import/contrib/ntp/ntpd/ntp.keys.5man projects/clang700-import/contrib/ntp/ntpd/ntp.keys.5mdoc projects/clang700-import/contrib/ntp/ntpd/ntp.keys.def projects/clang700-import/contrib/ntp/ntpd/ntp.keys.html projects/clang700-import/contrib/ntp/ntpd/ntp.keys.man.in projects/clang700-import/contrib/ntp/ntpd/ntp.keys.mdoc.in projects/clang700-import/contrib/ntp/ntpd/ntp_config.c projects/clang700-import/contrib/ntp/ntpd/ntp_control.c projects/clang700-import/contrib/ntp/ntpd/ntp_io.c projects/clang700-import/contrib/ntp/ntpd/ntp_loopfilter.c projects/clang700-import/contrib/ntp/ntpd/ntp_parser.c projects/clang700-import/contrib/ntp/ntpd/ntp_parser.h projects/clang700-import/contrib/ntp/ntpd/ntp_proto.c projects/clang700-import/contrib/ntp/ntpd/ntp_refclock.c projects/clang700-import/contrib/ntp/ntpd/ntp_request.c projects/clang700-import/contrib/ntp/ntpd/ntpd-opts.c projects/clang700-import/contrib/ntp/ntpd/ntpd-opts.h projects/clang700-import/contrib/ntp/ntpd/ntpd.1ntpdman projects/clang700-import/contrib/ntp/ntpd/ntpd.1ntpdmdoc projects/clang700-import/contrib/ntp/ntpd/ntpd.c projects/clang700-import/contrib/ntp/ntpd/ntpd.html projects/clang700-import/contrib/ntp/ntpd/ntpd.man.in projects/clang700-import/contrib/ntp/ntpd/ntpd.mdoc.in projects/clang700-import/contrib/ntp/ntpd/rc_cmdlength.c projects/clang700-import/contrib/ntp/ntpd/refclock_datum.c projects/clang700-import/contrib/ntp/ntpd/refclock_gpsdjson.c projects/clang700-import/contrib/ntp/ntpd/refclock_jupiter.c projects/clang700-import/contrib/ntp/ntpd/refclock_shm.c projects/clang700-import/contrib/ntp/ntpd/refclock_true.c projects/clang700-import/contrib/ntp/ntpdate/ntpdate.c projects/clang700-import/contrib/ntp/ntpdc/invoke-ntpdc.texi projects/clang700-import/contrib/ntp/ntpdc/ntpdc-opts.c projects/clang700-import/contrib/ntp/ntpdc/ntpdc-opts.h projects/clang700-import/contrib/ntp/ntpdc/ntpdc.1ntpdcman projects/clang700-import/contrib/ntp/ntpdc/ntpdc.1ntpdcmdoc projects/clang700-import/contrib/ntp/ntpdc/ntpdc.c projects/clang700-import/contrib/ntp/ntpdc/ntpdc.html projects/clang700-import/contrib/ntp/ntpdc/ntpdc.man.in projects/clang700-import/contrib/ntp/ntpdc/ntpdc.mdoc.in projects/clang700-import/contrib/ntp/ntpq/invoke-ntpq.texi projects/clang700-import/contrib/ntp/ntpq/ntpq-opts.c projects/clang700-import/contrib/ntp/ntpq/ntpq-opts.h projects/clang700-import/contrib/ntp/ntpq/ntpq-subs.c projects/clang700-import/contrib/ntp/ntpq/ntpq.1ntpqman projects/clang700-import/contrib/ntp/ntpq/ntpq.1ntpqmdoc projects/clang700-import/contrib/ntp/ntpq/ntpq.c projects/clang700-import/contrib/ntp/ntpq/ntpq.html projects/clang700-import/contrib/ntp/ntpq/ntpq.man.in projects/clang700-import/contrib/ntp/ntpq/ntpq.mdoc.in projects/clang700-import/contrib/ntp/ntpq/ntpq.texi projects/clang700-import/contrib/ntp/ntpsnmpd/invoke-ntpsnmpd.texi projects/clang700-import/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.c projects/clang700-import/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.h projects/clang700-import/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdman projects/clang700-import/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc projects/clang700-import/contrib/ntp/ntpsnmpd/ntpsnmpd.html projects/clang700-import/contrib/ntp/ntpsnmpd/ntpsnmpd.man.in projects/clang700-import/contrib/ntp/ntpsnmpd/ntpsnmpd.mdoc.in projects/clang700-import/contrib/ntp/packageinfo.sh projects/clang700-import/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman projects/clang700-import/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc projects/clang700-import/contrib/ntp/scripts/calc_tickadj/calc_tickadj.html projects/clang700-import/contrib/ntp/scripts/calc_tickadj/calc_tickadj.man.in projects/clang700-import/contrib/ntp/scripts/calc_tickadj/calc_tickadj.mdoc.in projects/clang700-import/contrib/ntp/scripts/calc_tickadj/invoke-calc_tickadj.texi projects/clang700-import/contrib/ntp/scripts/invoke-plot_summary.texi projects/clang700-import/contrib/ntp/scripts/invoke-summary.texi projects/clang700-import/contrib/ntp/scripts/ntp-wait/invoke-ntp-wait.texi projects/clang700-import/contrib/ntp/scripts/ntp-wait/ntp-wait-opts projects/clang700-import/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitman projects/clang700-import/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc projects/clang700-import/contrib/ntp/scripts/ntp-wait/ntp-wait.html projects/clang700-import/contrib/ntp/scripts/ntp-wait/ntp-wait.man.in projects/clang700-import/contrib/ntp/scripts/ntp-wait/ntp-wait.mdoc.in projects/clang700-import/contrib/ntp/scripts/ntpsweep/invoke-ntpsweep.texi projects/clang700-import/contrib/ntp/scripts/ntpsweep/ntpsweep-opts projects/clang700-import/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepman projects/clang700-import/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc projects/clang700-import/contrib/ntp/scripts/ntpsweep/ntpsweep.html projects/clang700-import/contrib/ntp/scripts/ntpsweep/ntpsweep.man.in projects/clang700-import/contrib/ntp/scripts/ntpsweep/ntpsweep.mdoc.in projects/clang700-import/contrib/ntp/scripts/ntptrace/invoke-ntptrace.texi projects/clang700-import/contrib/ntp/scripts/ntptrace/ntptrace-opts projects/clang700-import/contrib/ntp/scripts/ntptrace/ntptrace.1ntptraceman projects/clang700-import/contrib/ntp/scripts/ntptrace/ntptrace.1ntptracemdoc projects/clang700-import/contrib/ntp/scripts/ntptrace/ntptrace.html projects/clang700-import/contrib/ntp/scripts/ntptrace/ntptrace.man.in projects/clang700-import/contrib/ntp/scripts/ntptrace/ntptrace.mdoc.in projects/clang700-import/contrib/ntp/scripts/plot_summary-opts projects/clang700-import/contrib/ntp/scripts/plot_summary.1plot_summaryman projects/clang700-import/contrib/ntp/scripts/plot_summary.1plot_summarymdoc projects/clang700-import/contrib/ntp/scripts/plot_summary.html projects/clang700-import/contrib/ntp/scripts/plot_summary.man.in projects/clang700-import/contrib/ntp/scripts/plot_summary.mdoc.in projects/clang700-import/contrib/ntp/scripts/summary-opts projects/clang700-import/contrib/ntp/scripts/summary.1summaryman projects/clang700-import/contrib/ntp/scripts/summary.1summarymdoc projects/clang700-import/contrib/ntp/scripts/summary.html projects/clang700-import/contrib/ntp/scripts/summary.man.in projects/clang700-import/contrib/ntp/scripts/summary.mdoc.in projects/clang700-import/contrib/ntp/scripts/update-leap/invoke-update-leap.texi projects/clang700-import/contrib/ntp/scripts/update-leap/update-leap-opts projects/clang700-import/contrib/ntp/scripts/update-leap/update-leap.1update-leapman projects/clang700-import/contrib/ntp/scripts/update-leap/update-leap.1update-leapmdoc projects/clang700-import/contrib/ntp/scripts/update-leap/update-leap.html projects/clang700-import/contrib/ntp/scripts/update-leap/update-leap.man.in projects/clang700-import/contrib/ntp/scripts/update-leap/update-leap.mdoc.in projects/clang700-import/contrib/ntp/sntp/config.h.in projects/clang700-import/contrib/ntp/sntp/configure projects/clang700-import/contrib/ntp/sntp/crypto.c projects/clang700-import/contrib/ntp/sntp/include/version.def projects/clang700-import/contrib/ntp/sntp/include/version.texi projects/clang700-import/contrib/ntp/sntp/invoke-sntp.texi projects/clang700-import/contrib/ntp/sntp/libevent/evutil_rand.c projects/clang700-import/contrib/ntp/sntp/m4/ntp_libntp.m4 projects/clang700-import/contrib/ntp/sntp/m4/ntp_openssl.m4 projects/clang700-import/contrib/ntp/sntp/m4/version.m4 projects/clang700-import/contrib/ntp/sntp/main.c projects/clang700-import/contrib/ntp/sntp/sntp-opts.c projects/clang700-import/contrib/ntp/sntp/sntp-opts.h projects/clang700-import/contrib/ntp/sntp/sntp.1sntpman projects/clang700-import/contrib/ntp/sntp/sntp.1sntpmdoc projects/clang700-import/contrib/ntp/sntp/sntp.html projects/clang700-import/contrib/ntp/sntp/sntp.man.in projects/clang700-import/contrib/ntp/sntp/sntp.mdoc.in projects/clang700-import/contrib/ntp/sntp/tests/crypto.c projects/clang700-import/contrib/ntp/sntp/tests/packetProcessing.c projects/clang700-import/contrib/ntp/sntp/version.c projects/clang700-import/contrib/ntp/util/invoke-ntp-keygen.texi projects/clang700-import/contrib/ntp/util/ntp-keygen-opts.c projects/clang700-import/contrib/ntp/util/ntp-keygen-opts.def projects/clang700-import/contrib/ntp/util/ntp-keygen-opts.h projects/clang700-import/contrib/ntp/util/ntp-keygen.1ntp-keygenman projects/clang700-import/contrib/ntp/util/ntp-keygen.1ntp-keygenmdoc projects/clang700-import/contrib/ntp/util/ntp-keygen.html projects/clang700-import/contrib/ntp/util/ntp-keygen.man.in projects/clang700-import/contrib/ntp/util/ntp-keygen.mdoc.in projects/clang700-import/contrib/ntp/util/ntp-keygen.texi projects/clang700-import/contrib/ntp/util/sht.c projects/clang700-import/contrib/tcp_wrappers/diag.c projects/clang700-import/contrib/wpa/src/drivers/driver_bsd.c projects/clang700-import/crypto/heimdal/lib/roken/rand.c projects/clang700-import/crypto/openssh/config.h projects/clang700-import/etc/Makefile projects/clang700-import/include/Makefile projects/clang700-import/include/stdlib.h projects/clang700-import/lib/libbluetooth/Makefile projects/clang700-import/lib/libc/gen/Makefile.inc projects/clang700-import/lib/libc/gen/Symbol.map projects/clang700-import/lib/libc/gen/arc4random.3 projects/clang700-import/lib/libc/gen/arc4random.c (contents, props changed) projects/clang700-import/lib/libc/gen/getentropy.c projects/clang700-import/lib/libc/include/libc_private.h projects/clang700-import/lib/libc/stdlib/Makefile.inc projects/clang700-import/lib/libc/string/memset.3 projects/clang700-import/lib/libc/sys/getsockopt.2 projects/clang700-import/lib/libc/sys/recv.2 projects/clang700-import/lib/libc/sys/send.2 projects/clang700-import/lib/libc/sys/socket.2 projects/clang700-import/lib/libdevctl/devctl.3 projects/clang700-import/lib/libdevctl/devctl.c projects/clang700-import/lib/libdevctl/devctl.h projects/clang700-import/lib/libexpat/Makefile projects/clang700-import/lib/libmd/Makefile projects/clang700-import/lib/libsysdecode/Makefile projects/clang700-import/lib/libsysdecode/mkioctls projects/clang700-import/lib/libthr/thread/thr_attr.c projects/clang700-import/libexec/ftpd/Makefile projects/clang700-import/libexec/rtld-elf/aarch64/rtld_machdep.h projects/clang700-import/libexec/rtld-elf/arm/rtld_machdep.h projects/clang700-import/libexec/rtld-elf/mips/rtld_machdep.h projects/clang700-import/libexec/rtld-elf/powerpc/rtld_machdep.h projects/clang700-import/libexec/rtld-elf/powerpc64/rtld_machdep.h projects/clang700-import/libexec/rtld-elf/riscv/rtld_machdep.h projects/clang700-import/libexec/rtld-elf/rtld.c projects/clang700-import/libexec/tftpd/tftp-file.c projects/clang700-import/release/Makefile.ec2 projects/clang700-import/release/arm64/PINE64-LTS.conf projects/clang700-import/release/arm64/PINE64.conf projects/clang700-import/release/tools/arm.subr projects/clang700-import/sbin/bectl/bectl.8 projects/clang700-import/sbin/bectl/bectl.c projects/clang700-import/sbin/bectl/bectl_jail.c projects/clang700-import/sbin/devd/Makefile projects/clang700-import/sbin/devfs/Makefile projects/clang700-import/sbin/devmatch/devmatch.c projects/clang700-import/sbin/init/rc.conf projects/clang700-import/sbin/init/rc.d/devmatch projects/clang700-import/sbin/ipfw/altq.c projects/clang700-import/sbin/md5/Makefile projects/clang700-import/sbin/md5/md5.c projects/clang700-import/sbin/nvmecontrol/firmware.c projects/clang700-import/sbin/nvmecontrol/format.c projects/clang700-import/sbin/nvmecontrol/logpage.c projects/clang700-import/sbin/nvmecontrol/ns.c projects/clang700-import/sbin/nvmecontrol/nvmecontrol.c projects/clang700-import/sbin/nvmecontrol/power.c projects/clang700-import/sbin/nvmecontrol/wdc.c projects/clang700-import/sbin/pfctl/parse.y projects/clang700-import/sbin/pfctl/pfctl.c projects/clang700-import/sbin/pfctl/pfctl_altq.c projects/clang700-import/sbin/pfctl/pfctl_parser.h projects/clang700-import/sbin/pfctl/pfctl_qstats.c projects/clang700-import/share/man/man3/Makefile projects/clang700-import/share/man/man3/pthread_set_name_np.3 projects/clang700-import/share/man/man4/dtrace_sctp.4 projects/clang700-import/share/man/man4/efidev.4 projects/clang700-import/share/man/man4/ip.4 projects/clang700-import/share/man/man4/ip6.4 projects/clang700-import/share/man/man4/unix.4 projects/clang700-import/share/man/man5/rc.conf.5 projects/clang700-import/share/man/man7/build.7 projects/clang700-import/share/man/man7/development.7 projects/clang700-import/share/man/man8/Makefile projects/clang700-import/share/man/man9/devstat.9 projects/clang700-import/share/mk/src.opts.mk projects/clang700-import/stand/defs.mk projects/clang700-import/stand/efi/loader/autoload.c projects/clang700-import/stand/fdt/fdt_loader_cmd.c projects/clang700-import/stand/i386/loader/chain.c projects/clang700-import/stand/libsa/Makefile projects/clang700-import/stand/lua/Makefile projects/clang700-import/stand/lua/config.lua projects/clang700-import/stand/lua/core.lua projects/clang700-import/stand/lua/drawer.lua projects/clang700-import/stand/lua/screen.lua projects/clang700-import/stand/sparc64/loader/main.c projects/clang700-import/stand/userboot/userboot/Makefile projects/clang700-import/sys/amd64/amd64/elf_machdep.c projects/clang700-import/sys/amd64/amd64/exception.S projects/clang700-import/sys/amd64/amd64/mp_machdep.c projects/clang700-import/sys/amd64/amd64/pmap.c projects/clang700-import/sys/amd64/amd64/support.S projects/clang700-import/sys/amd64/amd64/sys_machdep.c projects/clang700-import/sys/amd64/amd64/trap.c projects/clang700-import/sys/amd64/include/intr_machdep.h projects/clang700-import/sys/amd64/include/md_var.h projects/clang700-import/sys/amd64/vmm/intel/vmx.c projects/clang700-import/sys/amd64/vmm/intel/vmx_support.S projects/clang700-import/sys/arm/allwinner/a10_fb.c projects/clang700-import/sys/arm/allwinner/a10_timer.c projects/clang700-import/sys/arm/allwinner/aw_mmc.c projects/clang700-import/sys/arm/allwinner/aw_syscon.c projects/clang700-import/sys/arm/arm/busdma_machdep-v4.c projects/clang700-import/sys/arm/arm/busdma_machdep-v6.c projects/clang700-import/sys/arm/arm/elf_machdep.c projects/clang700-import/sys/arm/arm/mp_machdep.c projects/clang700-import/sys/arm/arm/pmap-v6.c projects/clang700-import/sys/arm/conf/ALPINE projects/clang700-import/sys/arm/conf/ARMADA38X projects/clang700-import/sys/arm/conf/ARMADAXP projects/clang700-import/sys/arm/conf/BEAGLEBONE projects/clang700-import/sys/arm/conf/EFIKA_MX projects/clang700-import/sys/arm/conf/EXYNOS5.common projects/clang700-import/sys/arm/conf/GENERIC projects/clang700-import/sys/arm/conf/IMX53 projects/clang700-import/sys/arm/conf/IMX6 projects/clang700-import/sys/arm/conf/ODROIDC1 projects/clang700-import/sys/arm/conf/PANDABOARD projects/clang700-import/sys/arm/conf/RK3188 projects/clang700-import/sys/arm/conf/RPI-B projects/clang700-import/sys/arm/conf/RPI2 projects/clang700-import/sys/arm/conf/SOCFPGA projects/clang700-import/sys/arm/conf/VERSATILEPB projects/clang700-import/sys/arm/conf/VSATV102 projects/clang700-import/sys/arm/conf/VYBRID projects/clang700-import/sys/arm/conf/ZEDBOARD projects/clang700-import/sys/arm/conf/std.armv6 projects/clang700-import/sys/arm/conf/std.armv7 projects/clang700-import/sys/arm/freescale/imx/imx6_sdma.c projects/clang700-import/sys/arm/nvidia/drm2/tegra_dc.c projects/clang700-import/sys/arm/nvidia/tegra124/std.tegra124 projects/clang700-import/sys/arm/nvidia/tegra_pcie.c projects/clang700-import/sys/arm/nvidia/tegra_uart.c projects/clang700-import/sys/arm/nvidia/tegra_xhci.c projects/clang700-import/sys/arm/samsung/exynos/exynos5_fimd.c projects/clang700-import/sys/arm64/arm64/busdma_bounce.c projects/clang700-import/sys/arm64/arm64/elf_machdep.c projects/clang700-import/sys/arm64/arm64/identcpu.c projects/clang700-import/sys/arm64/arm64/mp_machdep.c projects/clang700-import/sys/arm64/arm64/pmap.c projects/clang700-import/sys/arm64/conf/GENERIC projects/clang700-import/sys/cam/ctl/ctl_frontend_iscsi.c projects/clang700-import/sys/cam/nvme/nvme_all.c projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/clang700-import/sys/compat/linuxkpi/common/include/linux/dma-mapping.h projects/clang700-import/sys/compat/linuxkpi/common/src/linux_page.c projects/clang700-import/sys/compat/ndis/subr_ntoskrnl.c projects/clang700-import/sys/conf/NOTES projects/clang700-import/sys/conf/dtb.mk projects/clang700-import/sys/conf/files projects/clang700-import/sys/conf/files.arm64 projects/clang700-import/sys/conf/kern.pre.mk projects/clang700-import/sys/conf/ldscript.powerpc64 projects/clang700-import/sys/conf/newvers.sh projects/clang700-import/sys/conf/options projects/clang700-import/sys/contrib/ipfilter/netinet/ip_nat.c projects/clang700-import/sys/crypto/chacha20/chacha.c projects/clang700-import/sys/crypto/chacha20/chacha.h projects/clang700-import/sys/dev/acpica/acpi.c projects/clang700-import/sys/dev/agp/agp.c projects/clang700-import/sys/dev/agp/agp_amd.c projects/clang700-import/sys/dev/agp/agp_ati.c projects/clang700-import/sys/dev/agp/agp_i810.c projects/clang700-import/sys/dev/amd_ecc_inject/ecc_inject.c projects/clang700-import/sys/dev/cxgbe/adapter.h projects/clang700-import/sys/dev/cxgbe/common/t4_hw.c projects/clang700-import/sys/dev/cxgbe/t4_main.c projects/clang700-import/sys/dev/cxgbe/t4_mp_ring.c projects/clang700-import/sys/dev/cxgbe/t4_netmap.c projects/clang700-import/sys/dev/cxgbe/t4_sched.c projects/clang700-import/sys/dev/cxgbe/t4_sge.c projects/clang700-import/sys/dev/cxgbe/t4_vf.c projects/clang700-import/sys/dev/cxgbe/tom/t4_tom.c projects/clang700-import/sys/dev/drm/drm_scatter.c projects/clang700-import/sys/dev/drm2/drm_scatter.c projects/clang700-import/sys/dev/hyperv/vmbus/hyperv.c projects/clang700-import/sys/dev/ichiic/ig4_acpi.c projects/clang700-import/sys/dev/ichiic/ig4_iic.c projects/clang700-import/sys/dev/ichiic/ig4_reg.h projects/clang700-import/sys/dev/ichiic/ig4_var.h projects/clang700-import/sys/dev/ixl/ixl.h projects/clang700-import/sys/dev/liquidio/lio_network.h projects/clang700-import/sys/dev/mly/mly.c projects/clang700-import/sys/dev/mmc/mmc.c projects/clang700-import/sys/dev/mmc/mmcsd.c projects/clang700-import/sys/dev/mpr/mpr_sas.c projects/clang700-import/sys/dev/nvme/nvme.c projects/clang700-import/sys/dev/nvme/nvme.h projects/clang700-import/sys/dev/nvme/nvme_ctrlr.c projects/clang700-import/sys/dev/nvme/nvme_ctrlr_cmd.c projects/clang700-import/sys/dev/nvme/nvme_ns_cmd.c projects/clang700-import/sys/dev/nvme/nvme_qpair.c projects/clang700-import/sys/dev/random/fortuna.c projects/clang700-import/sys/dev/random/random_harvestq.c projects/clang700-import/sys/dev/sdhci/sdhci.c projects/clang700-import/sys/dev/sound/pci/csa.c projects/clang700-import/sys/dev/uart/uart_bus.h projects/clang700-import/sys/dev/uart/uart_bus_acpi.c projects/clang700-import/sys/dev/uart/uart_bus_ebus.c projects/clang700-import/sys/dev/uart/uart_bus_fdt.c projects/clang700-import/sys/dev/uart/uart_bus_isa.c projects/clang700-import/sys/dev/uart/uart_bus_pccard.c projects/clang700-import/sys/dev/uart/uart_bus_pci.c projects/clang700-import/sys/dev/uart/uart_bus_puc.c projects/clang700-import/sys/dev/uart/uart_bus_scc.c projects/clang700-import/sys/dev/uart/uart_core.c projects/clang700-import/sys/dev/uart/uart_cpu_acpi.h projects/clang700-import/sys/dev/uart/uart_cpu_arm64.c projects/clang700-import/sys/dev/uart/uart_dev_ns8250.c projects/clang700-import/sys/dev/uart/uart_dev_pl011.c projects/clang700-import/sys/dev/uart/uart_dev_snps.c projects/clang700-import/sys/dev/xdma/controller/pl330.c projects/clang700-import/sys/dev/xen/netfront/netfront.c projects/clang700-import/sys/fs/ext2fs/ext2_alloc.c projects/clang700-import/sys/fs/ext2fs/ext2_csum.c projects/clang700-import/sys/fs/ext2fs/ext2_extern.h projects/clang700-import/sys/fs/ext2fs/ext2_lookup.c projects/clang700-import/sys/fs/ext2fs/ext2_vnops.c projects/clang700-import/sys/fs/fuse/fuse_kernel.h projects/clang700-import/sys/fs/fuse/fuse_vnops.c projects/clang700-import/sys/i386/i386/elf_machdep.c projects/clang700-import/sys/i386/i386/mp_machdep.c projects/clang700-import/sys/i386/i386/pmap.c projects/clang700-import/sys/i386/include/intr_machdep.h projects/clang700-import/sys/kern/kern_malloc.c projects/clang700-import/sys/kern/kern_shutdown.c projects/clang700-import/sys/kern/link_elf.c projects/clang700-import/sys/kern/link_elf_obj.c projects/clang700-import/sys/kern/subr_bus.c projects/clang700-import/sys/kern/subr_devstat.c projects/clang700-import/sys/kern/uipc_socket.c projects/clang700-import/sys/mips/atheros/ar531x/uart_bus_ar5315.c projects/clang700-import/sys/mips/atheros/uart_bus_ar71xx.c projects/clang700-import/sys/mips/atheros/uart_bus_ar933x.c projects/clang700-import/sys/mips/broadcom/uart_bus_chipc.c projects/clang700-import/sys/mips/cavium/uart_bus_octeonusart.c projects/clang700-import/sys/mips/ingenic/jz4780_lcd.c projects/clang700-import/sys/mips/ingenic/jz4780_uart.c projects/clang700-import/sys/mips/malta/uart_bus_maltausart.c projects/clang700-import/sys/mips/mips/busdma_machdep.c projects/clang700-import/sys/mips/mips/elf_machdep.c projects/clang700-import/sys/mips/mips/mp_machdep.c projects/clang700-import/sys/modules/dtb/allwinner/Makefile projects/clang700-import/sys/modules/uart/Makefile projects/clang700-import/sys/modules/zfs/Makefile projects/clang700-import/sys/net/altq/altq.h projects/clang700-import/sys/net/altq/altq_cbq.c projects/clang700-import/sys/net/altq/altq_cbq.h projects/clang700-import/sys/net/altq/altq_codel.c projects/clang700-import/sys/net/altq/altq_codel.h projects/clang700-import/sys/net/altq/altq_fairq.c projects/clang700-import/sys/net/altq/altq_fairq.h projects/clang700-import/sys/net/altq/altq_hfsc.c projects/clang700-import/sys/net/altq/altq_hfsc.h projects/clang700-import/sys/net/altq/altq_priq.c projects/clang700-import/sys/net/altq/altq_priq.h projects/clang700-import/sys/net/altq/altq_subr.c projects/clang700-import/sys/net/altq/altq_var.h projects/clang700-import/sys/net/ieee8023ad_lacp.c projects/clang700-import/sys/net/if.c projects/clang700-import/sys/net/if_media.h projects/clang700-import/sys/net/pfvar.h projects/clang700-import/sys/netgraph/ng_base.c projects/clang700-import/sys/netinet/in_kdtrace.c projects/clang700-import/sys/netinet/in_kdtrace.h projects/clang700-import/sys/netinet/in_mcast.c projects/clang700-import/sys/netinet/in_pcb.h projects/clang700-import/sys/netinet/sctp_constants.h projects/clang700-import/sys/netinet/sctp_dtrace_define.h projects/clang700-import/sys/netinet/sctp_indata.c projects/clang700-import/sys/netinet/sctp_input.c projects/clang700-import/sys/netinet/sctp_os_bsd.h projects/clang700-import/sys/netinet/sctp_output.c projects/clang700-import/sys/netinet/sctp_pcb.c projects/clang700-import/sys/netinet/sctp_timer.c projects/clang700-import/sys/netinet/sctp_usrreq.c projects/clang700-import/sys/netinet/sctputil.c projects/clang700-import/sys/netinet/sctputil.h projects/clang700-import/sys/netinet/tcp_input.c projects/clang700-import/sys/netinet/tcp_log_buf.h projects/clang700-import/sys/netinet/tcp_reass.c projects/clang700-import/sys/netinet/tcp_stacks/rack.c projects/clang700-import/sys/netinet/tcp_subr.c projects/clang700-import/sys/netinet/tcp_syncache.c projects/clang700-import/sys/netinet/tcp_usrreq.c projects/clang700-import/sys/netinet/tcp_var.h projects/clang700-import/sys/netinet6/in6_mcast.c projects/clang700-import/sys/netinet6/mld6.c projects/clang700-import/sys/netinet6/udp6_usrreq.c projects/clang700-import/sys/netpfil/pf/pf_altq.h projects/clang700-import/sys/netpfil/pf/pf_ioctl.c projects/clang700-import/sys/powerpc/booke/pmap.c projects/clang700-import/sys/powerpc/conf/MPC85XX projects/clang700-import/sys/powerpc/conf/MPC85XXSPE projects/clang700-import/sys/powerpc/include/spr.h projects/clang700-import/sys/powerpc/powerpc/busdma_machdep.c projects/clang700-import/sys/powerpc/powerpc/elf32_machdep.c projects/clang700-import/sys/powerpc/powerpc/elf64_machdep.c projects/clang700-import/sys/powerpc/powerpc/mp_machdep.c projects/clang700-import/sys/powerpc/psim/uart_iobus.c projects/clang700-import/sys/riscv/riscv/elf_machdep.c projects/clang700-import/sys/riscv/riscv/mp_machdep.c projects/clang700-import/sys/sparc64/pci/sbbc.c projects/clang700-import/sys/sparc64/sparc64/elf_machdep.c projects/clang700-import/sys/sparc64/sparc64/mp_machdep.c projects/clang700-import/sys/sys/bus.h projects/clang700-import/sys/sys/devicestat.h projects/clang700-import/sys/sys/epoch.h projects/clang700-import/sys/sys/epoch_private.h projects/clang700-import/sys/sys/linker.h projects/clang700-import/sys/sys/malloc.h projects/clang700-import/sys/sys/param.h projects/clang700-import/sys/sys/socket.h projects/clang700-import/sys/sys/systm.h projects/clang700-import/sys/tools/fdt/make_dtb.sh projects/clang700-import/sys/ufs/ffs/ffs_alloc.c projects/clang700-import/sys/ufs/ffs/ffs_balloc.c projects/clang700-import/sys/ufs/ffs/ffs_extern.h projects/clang700-import/sys/ufs/ffs/ffs_inode.c projects/clang700-import/sys/ufs/ffs/ffs_snapshot.c projects/clang700-import/sys/ufs/ffs/ffs_softdep.c projects/clang700-import/sys/ufs/ffs/softdep.h projects/clang700-import/sys/ufs/ufs/ufsmount.h projects/clang700-import/sys/vm/uma_core.c projects/clang700-import/sys/vm/uma_int.h projects/clang700-import/sys/vm/vm_extern.h projects/clang700-import/sys/vm/vm_init.c projects/clang700-import/sys/vm/vm_kern.c projects/clang700-import/sys/vm/vm_meter.c projects/clang700-import/sys/vm/vm_page.c projects/clang700-import/sys/vm/vm_page.h projects/clang700-import/sys/vm/vm_pageout.c projects/clang700-import/sys/vm/vm_pagequeue.h projects/clang700-import/sys/x86/include/apicvar.h projects/clang700-import/sys/x86/iommu/intel_intrmap.c projects/clang700-import/sys/x86/iommu/intel_qi.c projects/clang700-import/sys/x86/isa/atpic.c projects/clang700-import/sys/x86/isa/icu.h projects/clang700-import/sys/x86/x86/local_apic.c projects/clang700-import/sys/x86/x86/mptable.c projects/clang700-import/sys/x86/xen/pv.c projects/clang700-import/targets/pseudo/userland/Makefile.depend projects/clang700-import/tools/boot/rootgen.sh projects/clang700-import/tools/build/Makefile projects/clang700-import/tools/build/mk/Makefile.boot projects/clang700-import/tools/build/mk/OptionalObsoleteFiles.inc projects/clang700-import/tools/diag/prtblknos/prtblknos.c projects/clang700-import/usr.bin/Makefile projects/clang700-import/usr.bin/diff/TODO projects/clang700-import/usr.bin/diff/diff.1 projects/clang700-import/usr.bin/diff/diff.c projects/clang700-import/usr.bin/diff/diff.h projects/clang700-import/usr.bin/diff/diffreg.c projects/clang700-import/usr.bin/diff/tests/Makefile projects/clang700-import/usr.bin/diff/tests/diff_test.sh projects/clang700-import/usr.bin/dtc/HACKING projects/clang700-import/usr.bin/dtc/dtc.1 projects/clang700-import/usr.bin/dtc/string.cc projects/clang700-import/usr.bin/dtc/util.hh projects/clang700-import/usr.bin/grep/grep.1 projects/clang700-import/usr.bin/grep/zgrep.1 projects/clang700-import/usr.bin/sort/Makefile projects/clang700-import/usr.bin/tftp/main.c projects/clang700-import/usr.bin/tftp/tftp.1 projects/clang700-import/usr.bin/top/display.c projects/clang700-import/usr.bin/top/screen.c projects/clang700-import/usr.bin/top/top.c projects/clang700-import/usr.bin/top/top.h projects/clang700-import/usr.bin/vmstat/vmstat.c projects/clang700-import/usr.sbin/amd/libamu/Makefile projects/clang700-import/usr.sbin/bhyve/bhyve.8 projects/clang700-import/usr.sbin/bhyve/bhyverun.c projects/clang700-import/usr.sbin/bhyve/pci_emul.c projects/clang700-import/usr.sbin/bhyve/pci_emul.h projects/clang700-import/usr.sbin/bhyve/pci_lpc.c projects/clang700-import/usr.sbin/bhyve/pci_lpc.h projects/clang700-import/usr.sbin/bhyve/pci_nvme.c projects/clang700-import/usr.sbin/bluetooth/hccontrol/Makefile projects/clang700-import/usr.sbin/bluetooth/hcsecd/Makefile projects/clang700-import/usr.sbin/bsdinstall/scripts/zfsboot projects/clang700-import/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c projects/clang700-import/usr.sbin/config/lang.l projects/clang700-import/usr.sbin/crunch/examples/really-big.conf projects/clang700-import/usr.sbin/devctl/devctl.c projects/clang700-import/usr.sbin/gstat/gstat.8 projects/clang700-import/usr.sbin/gstat/gstat.c projects/clang700-import/usr.sbin/iostat/iostat.8 projects/clang700-import/usr.sbin/jail/jail.8 projects/clang700-import/usr.sbin/mergemaster/mergemaster.sh projects/clang700-import/usr.sbin/ndp/Makefile projects/clang700-import/usr.sbin/ndp/ndp.c projects/clang700-import/usr.sbin/newsyslog/newsyslog.c projects/clang700-import/usr.sbin/newsyslog/newsyslog.conf.5 projects/clang700-import/usr.sbin/nfsuserd/nfsuserd.8 projects/clang700-import/usr.sbin/nfsuserd/nfsuserd.c projects/clang700-import/usr.sbin/ntp/config.h projects/clang700-import/usr.sbin/ntp/doc/ntp-keygen.8 projects/clang700-import/usr.sbin/ntp/doc/ntp.conf.5 projects/clang700-import/usr.sbin/ntp/doc/ntp.keys.5 projects/clang700-import/usr.sbin/ntp/doc/ntpd.8 projects/clang700-import/usr.sbin/ntp/doc/ntpdc.8 projects/clang700-import/usr.sbin/ntp/doc/ntpq.8 projects/clang700-import/usr.sbin/ntp/doc/sntp.8 projects/clang700-import/usr.sbin/ntp/scripts/mkver projects/clang700-import/usr.sbin/services_mkdb/Makefile projects/clang700-import/usr.sbin/syslogd/Makefile Directory Properties: projects/clang700-import/ (props changed) projects/clang700-import/cddl/ (props changed) projects/clang700-import/cddl/contrib/opensolaris/ (props changed) projects/clang700-import/contrib/llvm/ (props changed) projects/clang700-import/contrib/llvm/tools/lld/ (props changed) projects/clang700-import/contrib/ntp/ (props changed) projects/clang700-import/contrib/wpa/ (props changed) projects/clang700-import/crypto/heimdal/ (props changed) projects/clang700-import/crypto/openssh/ (props changed) projects/clang700-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang700-import/sys/contrib/ipfilter/ (props changed) Modified: projects/clang700-import/Makefile.inc1 ============================================================================== --- projects/clang700-import/Makefile.inc1 Fri Aug 24 18:08:16 2018 (r338298) +++ projects/clang700-import/Makefile.inc1 Fri Aug 24 18:09:23 2018 (r338299) @@ -968,29 +968,10 @@ _worldtmp: .PHONY .endif # !defined(NO_CLEAN) @mkdir -p ${WORLDTMP} @touch ${WORLDTMP}/${.TARGET} - -.for _dir in \ - lib lib/casper lib/geom usr legacy/bin legacy/usr - mkdir -p ${WORLDTMP}/${_dir} -.endfor - ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${WORLDTMP}/legacy/usr >/dev/null - ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ - -p ${WORLDTMP}/legacy/usr/include >/dev/null - ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${WORLDTMP}/usr >/dev/null - ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ - -p ${WORLDTMP}/usr/include >/dev/null - ln -sf ${.CURDIR}/sys ${WORLDTMP} -.if ${MK_DEBUG_FILES} != "no" - ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ - -p ${WORLDTMP}/legacy/usr/lib >/dev/null - ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ - -p ${WORLDTMP}/usr/lib >/dev/null -.endif -.for _mtree in ${LOCAL_MTREE} - ${WORLDTMP_MTREE} -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null -.endfor +# We can't use mtree to create the worldtmp directories since it may not be +# available on the target system (this happens e.g. when building on non-FreeBSD) + cd ${.CURDIR}/tools/build; \ + ${MAKE} DIRPRFX=tools/build/ DESTDIR=${WORLDTMP}/legacy installdirs _legacy: @echo @echo "--------------------------------------------------------------" @@ -1003,6 +984,19 @@ _bootstrap-tools: @echo ">>> stage 1.2: bootstrap tools" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${BMAKE} bootstrap-tools + mkdir -p ${WORLDTMP}/usr ${WORLDTMP}/lib/casper ${WORLDTMP}/lib/geom + ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ + -p ${WORLDTMP}/usr >/dev/null + ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ + -p ${WORLDTMP}/usr/include >/dev/null + ln -sf ${.CURDIR}/sys ${WORLDTMP} +.if ${MK_DEBUG_FILES} != "no" + ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ + -p ${WORLDTMP}/usr/lib >/dev/null +.endif +.for _mtree in ${LOCAL_MTREE} + ${WORLDTMP_MTREE} -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null +.endfor _cleanobj: .if !defined(NO_CLEAN) @echo @@ -2037,6 +2031,10 @@ ${_bt}-usr.bin/yacc: ${_bt}-lib/liby _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif +.if ${MK_LOCALES} != "no" +_localedef= usr.bin/localedef +.endif + # We need to build tblgen when we're building clang or lld, either as # bootstrap tools, or as the part of the normal build. .if ${MK_CLANG_BOOTSTRAP} != "no" || ${MK_CLANG} != "no" || \ @@ -2098,7 +2096,7 @@ bootstrap-tools: .PHONY ${_crunchgen} \ ${_nmtree} \ ${_vtfontcvt} \ - usr.bin/localedef + ${_localedef} ${_bt}-${_tool}: .PHONY .MAKE ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \ cd ${.CURDIR}/${_tool}; \ Modified: projects/clang700-import/Makefile.libcompat ============================================================================== --- projects/clang700-import/Makefile.libcompat Fri Aug 24 18:08:16 2018 (r338298) +++ projects/clang700-import/Makefile.libcompat Fri Aug 24 18:09:23 2018 (r338299) @@ -14,6 +14,11 @@ LIB32CPUFLAGS= -march=i686 -mmmx -msse -msse2 .else LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} .endif +.if ${WANT_COMPILER_TYPE} == gcc || \ + (defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc) +.else +LIB32CPUFLAGS+= -target x86_64-unknown-freebsd12.0 +.endif LIB32CPUFLAGS+= -m32 LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH=i386 \ MACHINE_CPU="i686 mmx sse sse2" Modified: projects/clang700-import/ObsoleteFiles.inc ============================================================================== --- projects/clang700-import/ObsoleteFiles.inc Fri Aug 24 18:08:16 2018 (r338298) +++ projects/clang700-import/ObsoleteFiles.inc Fri Aug 24 18:09:23 2018 (r338299) @@ -174,6 +174,11 @@ OLD_FILES+=usr/lib/clang/6.0.1/lib/freebsd/libclang_rt OLD_DIRS+=usr/lib/clang/6.0.1/lib/freebsd OLD_DIRS+=usr/lib/clang/6.0.1/lib OLD_DIRS+=usr/lib/clang/6.0.1 +# 20180819: Remove deprecated arc4random(3) stir/addrandom interfaces +OLD_FILES+=usr/share/man/man3/arc4random_addrandom.3.gz +OLD_FILES+=usr/share/man/man3/arc4random_stir.3.gz +# 20180819: send-pr(1) placeholder removal +OLD_FILES+=usr/bin/send-pr # 20180725: Cleanup old libcasper.so.0 OLD_LIBS+=lib/libcasper.so.0 # 20180722: indent(1) option renamed, test files follow Modified: projects/clang700-import/UPDATING ============================================================================== --- projects/clang700-import/UPDATING Fri Aug 24 18:08:16 2018 (r338298) +++ projects/clang700-import/UPDATING Fri Aug 24 18:09:23 2018 (r338299) @@ -31,6 +31,23 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20170822: + devctl freeze/that have gone into the tree, the rc scripts have been + updated to use them and devmatch has been changed. You should update + kernel, userland and rc scripts all at the same time. + +20180818: + The default interpreter has been switched from 4th to Lua. + LOADER_DEFAULT_INTERP, documented in build(7), will override the default + interpreter. If you have custom FORTH code you will need to set + LOADER_DEFAULT_INTERP=4th (valid values are 4th, lua or simp) in + src.conf for the build. This will create default hard links between + loader and loader_4th instead of loader and loader_lua, the new default. + If you are using UEFI it will create the proper hard link to loader.efi. + + bhyve uses userboot.so. It remains 4th-only until some issues are solved + regarding coexisting with multiple versions of FreeBSD are resolved. + 20180815: ls(1) now respects the COLORTERM environment variable used in other systems and software to indicate that a colored terminal is both Modified: projects/clang700-import/bin/ls/ls.1 ============================================================================== --- projects/clang700-import/bin/ls/ls.1 Fri Aug 24 18:08:16 2018 (r338298) +++ projects/clang700-import/bin/ls/ls.1 Fri Aug 24 18:09:23 2018 (r338299) @@ -32,7 +32,7 @@ .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 .\" $FreeBSD$ .\" -.Dd August 16, 2018 +.Dd August 18, 2018 .Dt LS 1 .Os .Sh NAME @@ -252,6 +252,26 @@ environment variable is set and not empty. .Pp .Cm never will disable color regardless of environment variables. +.Pp +For compatibility with GNU coreutils, +.Nm +supports +.Cm yes +or +.Cm force +as equivalent to +.Cm always , +.Cm no +or +.Cm none +as equivalent to +.Cm never , +and +.Cm tty +or +.Cm if-tty +as equivalent to +.Cm auto . .It Fl d Directories are listed as plain files (not searched recursively). .It Fl f Modified: projects/clang700-import/bin/ls/ls.c ============================================================================== --- projects/clang700-import/bin/ls/ls.c Fri Aug 24 18:08:16 2018 (r338298) +++ projects/clang700-import/bin/ls/ls.c Fri Aug 24 18:09:23 2018 (r338299) @@ -200,6 +200,32 @@ do_color(void) return (do_color_from_env()); } +#ifdef COLORLS +static bool +do_color_always(const char *term) +{ + + return (strcmp(term, "always") == 0 || strcmp(term, "yes") == 0 || + strcmp(term, "force") == 0); +} + +static bool +do_color_never(const char *term) +{ + + return (strcmp(term, "never") == 0 || strcmp(term, "no") == 0 || + strcmp(term, "none") == 0); +} + +static bool +do_color_auto(const char *term) +{ + + return (strcmp(term, "auto") == 0 || strcmp(term, "tty") == 0 || + strcmp(term, "if-tty") == 0); +} +#endif /* COLORLS */ + int main(int argc, char *argv[]) { @@ -406,11 +432,11 @@ main(int argc, char *argv[]) break; #ifdef COLORLS case COLOR_OPT: - if (optarg == NULL || strcmp(optarg, "always") == 0) + if (optarg == NULL || do_color_always(optarg)) colorflag = COLORFLAG_ALWAYS; - else if (strcmp(optarg, "auto") == 0) + else if (do_color_auto(optarg)) colorflag = COLORFLAG_AUTO; - else if (strcmp(optarg, "never") == 0) + else if (do_color_never(optarg)) colorflag = COLORFLAG_NEVER; else errx(2, "unsupported --color value '%s' (must be always, auto, or never)", Modified: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv4remote.pl ============================================================================== --- projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv4remote.pl Fri Aug 24 18:08:16 2018 (r338298) +++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv4remote.pl Fri Aug 24 18:09:23 2018 (r338299) @@ -27,11 +27,12 @@ #pragma ident "%Z%%M% %I% %E% SMI" # -# get.ipv4remote.pl [tcpport] +# get.ipv4remote.pl [port] [proto] # # Find an IPv4 reachable remote host using both ifconfig(1M) and ping(1M). -# If a tcpport is specified, return a host that is also listening on this -# TCP port. Print the local address and the remote address, or an +# If a port is specified, return a host that is also listening on this +# port. If the port is specified, the protocol can also be specified and +# defaults to tcp. Print the local address and the remote address, or an # error message if no suitable remote host was found. Exit status is 0 if # a host was found. # @@ -41,7 +42,8 @@ use IO::Socket; my $MAXHOSTS = 32; # max hosts to port scan my $TIMEOUT = 3; # connection timeout -my $tcpport = @ARGV == 1 ? $ARGV[0] : 0; +my $port = @ARGV >= 1 ? $ARGV[0] : 0; +my $proto = @ARGV == 2 ? $ARGV[1] : "tcp"; # # Determine local IP address @@ -79,14 +81,15 @@ while () { if (/bytes from (.*): / and not defined $Broadcast{$1}) { my $addr = $1; - if ($tcpport != 0) { + if ($port != 0) { # # Test TCP # my $socket = IO::Socket::INET->new( - Proto => "tcp", + Type => SOCK_STREAM, + Proto => $proto, PeerAddr => $addr, - PeerPort => $tcpport, + PeerPort => $port, Timeout => $TIMEOUT, ); next unless $socket; Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh (from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh Fri Aug 24 18:09:23 2018 (r338299, copy of r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh) @@ -0,0 +1,137 @@ +#!/usr/bin/env ksh +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +# + +# +# Test {ip,sctp}:::{send,receive} of IPv4 SCTP to local host. +# +# This may fail due to: +# +# 1. A change to the ip stack breaking expected probe behavior, +# which is the reason we are testing. +# 2. The lo0 interface missing or not up. +# 3. An unlikely race causes the unlocked global send/receive +# variables to be corrupted. +# +# This test performs a SCTP association and checks that at least the +# following packet counts were traced: +# +# 7 x ip:::send (4 during the setup, 3 during the teardown) +# 7 x sctp:::send (4 during the setup, 3 during the teardown) +# 7 x ip:::receive (4 during the setup, 3 during the teardown) +# 7 x sctp:::receive (4 during the setup, 3 during the teardown) + +# The actual count tested is 7 each way, since we are tracing both +# source and destination events. +# + +if (( $# != 1 )); then + print -u2 "expected one argument: " + exit 2 +fi + +dtrace=$1 +local=127.0.0.1 +DIR=/var/tmp/dtest.$$ + +sctpport=1024 +bound=5000 +while [ $sctpport -lt $bound ]; do + ncat --sctp -z $local $sctpport > /dev/null || break + sctpport=$(($sctpport + 1)) +done +if [ $sctpport -eq $bound ]; then + echo "couldn't find an available SCTP port" + exit 1 +fi + +mkdir $DIR +cd $DIR + +# ncat will exit when the association is closed. +ncat --sctp --listen $local $sctpport & + +cat > test.pl <<-EOPERL + use IO::Socket; + my \$s = IO::Socket::INET->new( + Type => SOCK_STREAM, + Proto => "sctp", + LocalAddr => "$local", + PeerAddr => "$local", + PeerPort => $sctpport, + Timeout => 3); + die "Could not connect to host $local port $sctpport \$@" unless \$s; + close \$s; + sleep(2); +EOPERL + +$dtrace -c 'perl test.pl' -qs /dev/stdin <ip_saddr == "$local" && args[2]->ip_daddr == "$local" && + args[4]->ipv4_protocol == IPPROTO_SCTP/ +{ + ipsend++; +} + +sctp:::send +/args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local"/ +{ + sctpsend++; +} + +ip:::receive +/args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local" && + args[4]->ipv4_protocol == IPPROTO_SCTP/ +{ + ipreceive++; +} + +sctp:::receive +/args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local"/ +{ + sctpreceive++; +} + +END +{ + printf("Minimum SCTP events seen\n\n"); + printf("ip:::send (%d) - %s\n", ipsend, ipsend >= 7 ? "yes" : "no"); + printf("ip:::receive (%d) - %s\n", ipreceive, ipreceive >= 7 ? "yes" : "no"); + printf("sctp:::send (%d) - %s\n", sctpsend, sctpsend >= 7 ? "yes" : "no"); + printf("sctp:::receive (%d) - %s\n", sctpreceive, sctpreceive >= 7 ? "yes" : "no"); +} +EODTRACE + +status=$? + +cd / +/bin/rm -rf $DIR + +exit $status Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh.out (from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh.out) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh.out Fri Aug 24 18:09:23 2018 (r338299, copy of r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localsctp.ksh.out) @@ -0,0 +1,7 @@ +Minimum SCTP events seen + +ip:::send - yes +ip:::receive - yes +sctp:::send - yes +sctp:::receive - yes + Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh (from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh Fri Aug 24 18:09:23 2018 (r338299, copy of r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh) @@ -0,0 +1,130 @@ +#!/usr/bin/env ksh93 +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +# + +# +# Test {sctp,ip}:::{send,receive} of IPv4 SCTP to a remote host. +# +# This may fail due to: +# +# 1. A change to the ip stack breaking expected probe behavior, +# which is the reason we are testing. +# 2. No physical network interface is plumbed and up. +# 3. No other hosts on this subnet are reachable and listening on ssh. +# 4. An unlikely race causes the unlocked global send/receive +# variables to be corrupted. +# +# This test performs an SCTP association and checks that at least the +# following packet counts were traced: +# +# 4 x ip:::send (2 during setup, 2 during teardown) +# 4 x sctp:::send (2 during connection setup, 2 during connection teardown) +# 3 x ip:::receive (2 during setup, 1 during teardown) +# 3 x sctp:::receive (2 during setup, 1 during teardown) + +if (( $# != 1 )); then + print -u2 "expected one argument: " + exit 2 +fi + +dtrace=$1 +getaddr=./get.ipv4remote.pl +sctpport=80 +DIR=/var/tmp/dtest.$$ + +if [[ ! -x $getaddr ]]; then + print -u2 "could not find or execute sub program: $getaddr" + exit 3 +fi +$getaddr $sctpport sctp | read source dest +if (( $? != 0 )); then + exit 4 +fi + +mkdir $DIR +cd $DIR + +cat > test.pl <<-EOPERL + use IO::Socket; + my \$s = IO::Socket::INET->new( + Type => SOCK_STREAM, + Proto => "sctp", + LocalAddr => "$source", + PeerAddr => "$dest", + PeerPort => $sctpport, + Timeout => 3); + die "Could not connect to host $dest port $sctpport \$@" unless \$s; + close \$s; + sleep(2); +EOPERL + +$dtrace -c 'perl test.pl' -qs /dev/stdin <ip_saddr == "$source" && args[2]->ip_daddr == "$dest" && + args[4]->ipv4_protocol == IPPROTO_SCTP/ +{ + ipsend++; +} + +sctp:::send +/args[2]->ip_saddr == "$source" && args[2]->ip_daddr == "$dest"/ +{ + sctpsend++; +} + +ip:::receive +/args[2]->ip_saddr == "$dest" && args[2]->ip_daddr == "$source" && + args[4]->ipv4_protocol == IPPROTO_SCTP/ +{ + ipreceive++; +} + +sctp:::receive +/args[2]->ip_saddr == "$dest" && args[2]->ip_daddr == "$source"/ +{ + sctpreceive++; +} + +END +{ + printf("Minimum SCTP events seen\n\n"); + printf("ip:::send - %s\n", ipsend >= 4 ? "yes" : "no"); + printf("ip:::receive - %s\n", ipreceive >= 3 ? "yes" : "no"); + printf("sctp:::send - %s\n", sctpsend >= 4 ? "yes" : "no"); + printf("sctp:::receive - %s\n", sctpreceive >= 3 ? "yes" : "no"); +} +EODTRACE + +status=$? + +cd / +/bin/rm -rf $DIR + +exit $status Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh.out (from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh.out) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh.out Fri Aug 24 18:09:23 2018 (r338299, copy of r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotesctp.ksh.out) @@ -0,0 +1,7 @@ +Minimum SCTP events seen + +ip:::send - yes +ip:::receive - yes +sctp:::send - yes +sctp:::receive - yes + Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh (from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh Fri Aug 24 18:09:23 2018 (r338299, copy of r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh) @@ -0,0 +1,159 @@ +#!/usr/bin/env ksh +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# + +# +# Test sctp:::state-change and sctp:::{send,receive} by connecting to +# the local discard service. +# A number of state transition events along with SCTP send and +# receive events for the message should result. +# +# This may fail due to: +# +# 1. A change to the ip stack breaking expected probe behavior, +# which is the reason we are testing. +# 2. The lo0 interface missing or not up. +# 3. An unlikely race causes the unlocked global send/receive +# variables to be corrupted. +# +# This test performs a SCTP connection and checks that at least the +# following packet counts were traced: +# +# 7 x ip:::send (4 during the setup, 3 during the teardown) +# 7 x sctp:::send (4 during the setup, 3 during the teardown) +# 7 x ip:::receive (4 during the setup, 3 during the teardown) +# 7 x sctp:::receive (4 during the setup, 3 during the teardown) +# +# The actual count tested is 7 each way, since we are tracing both +# source and destination events. +# + +if (( $# != 1 )); then + print -u2 "expected one argument: " + exit 2 +fi + +dtrace=$1 +local=127.0.0.1 +DIR=/var/tmp/dtest.$$ + +sctpport=1024 +bound=5000 +while [ $sctpport -lt $bound ]; do + ncat --sctp -z $local $sctpport > /dev/null || break + sctpport=$(($sctpport + 1)) +done +if [ $sctpport -eq $bound ]; then + echo "couldn't find an available SCTP port" + exit 1 +fi + +mkdir $DIR +cd $DIR + +# ncat will exit when the association is closed. +ncat --sctp --listen $local $sctpport & + +cat > test.pl <<-EOPERL + use IO::Socket; + my \$s = IO::Socket::INET->new( + Type => SOCK_STREAM, + Proto => "sctp", + LocalAddr => "$local", + PeerAddr => "$local", + PeerPort => $sctpport, + Timeout => 3); + die "Could not connect to host $local port $sctpport \$@" unless \$s; + close \$s; + sleep(2); +EOPERL + +$dtrace -c 'perl test.pl' -qs /dev/stdin <ip_saddr == "$local" && args[2]->ip_daddr == "$local" && + args[4]->ipv4_protocol == IPPROTO_SCTP/ +{ + ipsend++; +} + +sctp:::send +/args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local" && + (args[4]->sctp_sport == $sctpport || args[4]->sctp_dport == $sctpport)/ +{ + sctpsend++; +} + +ip:::receive +/args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local" && + args[4]->ipv4_protocol == IPPROTO_SCTP/ +{ + ipreceive++; +} + +sctp:::receive +/args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local" && + (args[4]->sctp_sport == $sctpport || args[4]->sctp_dport == $sctpport)/ +{ + sctpreceive++; +} + +sctp:::state-change +{ + state_event[args[3]->sctps_state]++; +} + +END +{ + printf("Minimum SCTP events seen\n\n"); + printf("ip:::send - %s\n", ipsend >= 7 ? "yes" : "no"); + printf("ip:::receive - %s\n", ipreceive >= 7 ? "yes" : "no"); + printf("sctp:::send - %s\n", sctpsend >= 7 ? "yes" : "no"); + printf("sctp:::receive - %s\n", sctpreceive >= 7 ? "yes" : "no"); + printf("sctp:::state-change to cookie-wait - %s\n", + state_event[SCTP_STATE_COOKIE_WAIT] >=1 ? "yes" : "no"); + printf("sctp:::state-change to cookie-echoed - %s\n", + state_event[SCTP_STATE_COOKIE_ECHOED] >=1 ? "yes" : "no"); + printf("sctp:::state-change to established - %s\n", + state_event[SCTP_STATE_ESTABLISHED] >= 2 ? "yes" : "no"); + printf("sctp:::state-change to shutdown-sent - %s\n", + state_event[SCTP_STATE_SHUTDOWN_SENT] >= 1 ? "yes" : "no"); + printf("sctp:::state-change to shutdown-received - %s\n", + state_event[SCTP_STATE_SHUTDOWN_RECEIVED] >= 1 ? "yes" : "no"); + printf("sctp:::state-change to shutdown-ack-sent - %s\n", + state_event[SCTP_STATE_SHUTDOWN_ACK_SENT] >= 1 ? "yes" : "no"); +} +EODTRACE + +status=$? + +cd / +/bin/rm -rf $DIR + +exit $status Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh.out (from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh.out) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh.out Fri Aug 24 18:09:23 2018 (r338299, copy of r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localsctpstate.ksh.out) @@ -0,0 +1,12 @@ +Minimum SCTP events seen + +ip:::send - yes +ip:::receive - yes +sctp:::send - yes +sctp:::receive - yes +sctp:::state-change to cookie-wait - yes +sctp:::state-change to cookie-echoed - yes +sctp:::state-change to established - yes +sctp:::state-change to shutdown-sent - yes +sctp:::state-change to shutdown-received - yes +sctp:::state-change to shutdown-ack-sent - yes Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh (from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh Fri Aug 24 18:09:23 2018 (r338299, copy of r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh) @@ -0,0 +1,149 @@ +#!/usr/bin/env ksh93 +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# + +# +# Test sctp:::state-change and sctp:::{send,receive} by connecting to +# the remote http service. +# A number of state transition events along with sctp send and receive +# events for the message should result. +# +# This may fail due to: +# +# 1. A change to the ip stack breaking expected probe behavior, +# which is the reason we are testing. +# 2. The lo0 interface missing or not up. +# 3. The remote ssh service is not online. +# 4. An unlikely race causes the unlocked global send/receive +# variables to be corrupted. +# +# This test performs a SCTP association to the http service (port 80) and +# checks that at least the following packet counts were traced: +# +# 4 x ip:::send (2 during setup, 2 during teardown) +# 4 x sctp:::send (2 during setup, 2 during teardown) +# 3 x ip:::receive (2 during setup, 1 during teardown) +# 3 x sctp:::receive (2 during setup, 1 during teardown) +# + +if (( $# != 1 )); then + print -u2 "expected one argument: " + exit 2 +fi + +dtrace=$1 +getaddr=./get.ipv4remote.pl +sctpport=80 +DIR=/var/tmp/dtest.$$ + +if [[ ! -x $getaddr ]]; then + print -u2 "could not find or execute sub program: $getaddr" + exit 3 +fi +$getaddr $sctpport sctp | read source dest +if (( $? != 0 )); then + exit 4 +fi + +mkdir $DIR +cd $DIR + +cat > test.pl <<-EOPERL + use IO::Socket; + my \$s = IO::Socket::INET->new( + Type => SOCK_STREAM, + Proto => "sctp", + LocalAddr => "$source", + PeerAddr => "$dest", + PeerPort => $sctpport, + Timeout => 3); + die "Could not connect to host $dest port $sctpport \$@" unless \$s; + close \$s; + sleep(2); +EOPERL + +$dtrace -c 'perl test.pl' -qs /dev/stdin <ip_saddr == "$source" && args[2]->ip_daddr == "$dest" && + args[4]->ipv4_protocol == IPPROTO_SCTP/ +{ + ipsend++; +} + +sctp:::send +/args[2]->ip_saddr == "$source" && args[2]->ip_daddr == "$dest" && + args[4]->sctp_dport == $sctpport/ +{ + sctpsend++; +} + +ip:::receive +/args[2]->ip_saddr == "$dest" && args[2]->ip_daddr == "$source" && + args[4]->ipv4_protocol == IPPROTO_SCTP/ +{ + ipreceive++; +} + +sctp:::receive +/args[2]->ip_saddr == "$dest" && args[2]->ip_daddr == "$source" && + args[4]->sctp_sport == $sctpport/ +{ + sctpreceive++; +} + +sctp:::state-change +{ + state_event[args[3]->sctps_state]++; +} + +END +{ + printf("Minimum SCTP events seen\n\n"); + printf("ip:::send - %s\n", ipsend >= 4 ? "yes" : "no"); + printf("ip:::receive - %s\n", ipreceive >= 3 ? "yes" : "no"); + printf("sctp:::send - %s\n", sctpsend >= 4 ? "yes" : "no"); + printf("sctp:::receive - %s\n", sctpreceive >= 3 ? "yes" : "no"); + printf("sctp:::state-change to cookie-wait - %s\n", + state_event[SCTP_STATE_COOKIE_WAIT] >=1 ? "yes" : "no"); + printf("sctp:::state-change to cookie-echoed - %s\n", + state_event[SCTP_STATE_COOKIE_ECHOED] >= 1 ? "yes" : "no"); + printf("sctp:::state-change to established - %s\n", + state_event[SCTP_STATE_ESTABLISHED] >= 1 ? "yes" : "no"); + printf("sctp:::state-change to shutdown-sent - %s\n", + state_event[SCTP_STATE_SHUTDOWN-SENT] >= 1 ? "yes" : "no"); +} +EODTRACE + +status=$? + +cd / +/bin/rm -rf $DIR + +exit $status Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh.out (from r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh.out) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh.out Fri Aug 24 18:09:23 2018 (r338299, copy of r338297, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotesctpstate.ksh.out) @@ -0,0 +1,12 @@ +Minimum SCTP events seen + +ip:::send - yes +ip:::receive - yes +SCTP:::send - yes +sctp:::receive - yes +sctp:::state-change to cookie-wait - yes +sctp:::state-change to cookie-echoed - yes +sctp:::state-change to established - yes +sctp:::state-change to shutdown-sent - yes +sctp:::state-change to closed - yes + Modified: projects/clang700-import/cddl/lib/libdtrace/Makefile ============================================================================== --- projects/clang700-import/cddl/lib/libdtrace/Makefile Fri Aug 24 18:08:16 2018 (r338298) +++ projects/clang700-import/cddl/lib/libdtrace/Makefile Fri Aug 24 18:09:23 2018 (r338299) @@ -51,6 +51,7 @@ DSRCS= errno.d \ io.d \ ip.d \ psinfo.d \ + sctp.d \ siftr.d \ signal.d \ tcp.d \ Copied: projects/clang700-import/cddl/lib/libdtrace/sctp.d (from r338297, head/cddl/lib/libdtrace/sctp.d) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang700-import/cddl/lib/libdtrace/sctp.d Fri Aug 24 18:09:23 2018 (r338299, copy of r338297, head/cddl/lib/libdtrace/sctp.d) @@ -0,0 +1,171 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + * + * $FreeBSD$ + */ +/* + * Copyright (c) 2018 Michael Tuexen + */ + +#pragma D depends_on library ip.d +#pragma D depends_on library socket.d +#pragma D depends_on module kernel +#pragma D depends_on provider sctp + +#pragma D binding "1.13" SCTP_STATE_MASK +inline int32_t SCTP_STATE_MASK = 0x0000007f; +#pragma D binding "1.13" SCTP_STATE_SHUTDOWN_PENDING +inline int32_t SCTP_STATE_SHUTDOWN_PENDING = 0x00000080; +#pragma D binding "1.13" SCTP_STATE_CLOSED_SOCKET +inline int32_t SCTP_STATE_CLOSED_SOCKET = 0x00000100; +#pragma D binding "1.13" SCTP_STATE_ABOUT_TO_BE_FREED +inline int32_t SCTP_STATE_ABOUT_TO_BE_FREED = 0x00000200; +#pragma D binding "1.13" SCTP_STATE_ABOUT_TO_BE_FREED +inline int32_t SCTP_STATE_PARTIAL_MSG_LEFT = 0x00000400; +#pragma D binding "1.13" SCTP_STATE_PARTIAL_MSG_LEFT +inline int32_t SCTP_STATE_WAS_ABORTED = 0x00000800; +#pragma D binding "1.13" SCTP_STATE_IN_ACCEPT_QUEUE +inline int32_t SCTP_STATE_IN_ACCEPT_QUEUE = 0x00001000; +#pragma D binding "1.13" SCTP_STATE_BOUND +inline int32_t SCTP_STATE_BOUND = 0x00001000; +#pragma D binding "1.13" SCTP_STATE_EMPTY +inline int32_t SCTP_STATE_EMPTY = 0x00000000; +#pragma D binding "1.13" SCTP_STATE_CLOSED +inline int32_t SCTP_STATE_CLOSED = 0x00000000; +#pragma D binding "1.13" SCTP_STATE_INUSE +inline int32_t SCTP_STATE_INUSE = 0x00000001; +#pragma D binding "1.13" SCTP_STATE_COOKIE_WAIT +inline int32_t SCTP_STATE_COOKIE_WAIT = 0x00000002; +#pragma D binding "1.13" SCTP_STATE_COOKIE_ECHOED +inline int32_t SCTP_STATE_COOKIE_ECHOED = 0x00000004; +#pragma D binding "1.13" SCTP_STATE_ESTABLISHED +inline int32_t SCTP_STATE_ESTABLISHED = 0x00000008; +#pragma D binding "1.13" SCTP_STATE_OPEN +inline int32_t SCTP_STATE_OPEN = 0x00000008; +#pragma D binding "1.13" SCTP_STATE_SHUTDOWN_SENT +inline int32_t SCTP_STATE_SHUTDOWN_SENT = 0x00000010; +#pragma D binding "1.13" SCTP_STATE_SHUTDOWN_RECEIVED +inline int32_t SCTP_STATE_SHUTDOWN_RECEIVED = 0x00000020; +#pragma D binding "1.13" SCTP_STATE_SHUTDOWN_ACK_SENT +inline int32_t SCTP_STATE_SHUTDOWN_ACK_SENT = 0x00000040; + +/* SCTP association state strings. */ +#pragma D binding "1.13" sctp_state_string +inline string sctp_state_string[int32_t state] = + state & SCTP_STATE_ABOUT_TO_BE_FREED ? "state-closed" : + state & SCTP_STATE_SHUTDOWN_PENDING ? "state-shutdown-pending" : + (state & SCTP_STATE_MASK) == SCTP_STATE_EMPTY ? "state-closed" : + (state & SCTP_STATE_MASK) == SCTP_STATE_INUSE ? "state-closed" : + (state & SCTP_STATE_MASK) == SCTP_STATE_COOKIE_WAIT ? "state-cookie-wait" : + (state & SCTP_STATE_MASK) == SCTP_STATE_COOKIE_ECHOED ? "state-cookie-echoed" : + (state & SCTP_STATE_MASK) == SCTP_STATE_OPEN ? "state-established" : + (state & SCTP_STATE_MASK) == SCTP_STATE_SHUTDOWN_SENT ? "state-shutdown-sent" : + (state & SCTP_STATE_MASK) == SCTP_STATE_SHUTDOWN_RECEIVED ? "state-shutdown-received" : + (state & SCTP_STATE_MASK) == SCTP_STATE_SHUTDOWN_ACK_SENT ? "state-shutdown-ack-sent" : + ""; + +/* + * sctpsinfo contains stable SCTP details. *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***