From owner-svn-src-projects@freebsd.org Mon May 22 19:28:29 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 90189D780F6 for ; Mon, 22 May 2017 19:28:29 +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 mx1.freebsd.org (Postfix) with ESMTPS id 410061720; Mon, 22 May 2017 19:28:29 +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 v4MJSSVH068259; Mon, 22 May 2017 19:28:28 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v4MJSPe7068225; Mon, 22 May 2017 19:28:25 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201705221928.v4MJSPe7068225@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 22 May 2017 19:28:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r318658 - in projects/clang500-import: contrib/compiler-rt/lib/builtins contrib/dma contrib/elftoolchain/nm contrib/netbsd-tests/usr.bin/grep contrib/top etc/mtree etc/periodic/daily gn... X-SVN-Group: projects 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.23 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: Mon, 22 May 2017 19:28:29 -0000 Author: dim Date: Mon May 22 19:28:24 2017 New Revision: 318658 URL: https://svnweb.freebsd.org/changeset/base/318658 Log: Merge ^/head r318560 through r318657. Added: projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapdi2.c - copied unchanged from r318657, head/contrib/compiler-rt/lib/builtins/bswapdi2.c projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapsi2.c - copied unchanged from r318657, head/contrib/compiler-rt/lib/builtins/bswapsi2.c projects/clang500-import/lib/libc++experimental/ - copied from r318657, head/lib/libc++experimental/ projects/clang500-import/share/man/man4/ena.4 - copied unchanged from r318657, head/share/man/man4/ena.4 projects/clang500-import/sys/dev/ena/ - copied from r318657, head/sys/dev/ena/ projects/clang500-import/sys/modules/ena/ - copied from r318657, head/sys/modules/ena/ projects/clang500-import/usr.bin/compress/tests/ - copied from r318657, head/usr.bin/compress/tests/ Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/README.txt projects/clang500-import/contrib/dma/dma.8 projects/clang500-import/contrib/elftoolchain/nm/nm.1 projects/clang500-import/contrib/netbsd-tests/usr.bin/grep/t_grep.sh projects/clang500-import/contrib/top/top.c projects/clang500-import/etc/mtree/BSD.include.dist projects/clang500-import/etc/mtree/BSD.tests.dist projects/clang500-import/etc/periodic/daily/800.scrub-zfs projects/clang500-import/gnu/usr.bin/groff/tmac/mdoc.local.in projects/clang500-import/lib/Makefile projects/clang500-import/lib/libc/gen/Symbol.map projects/clang500-import/lib/libc/gen/_spinlock_stub.c projects/clang500-import/lib/libc/include/spinlock.h projects/clang500-import/lib/libcompiler_rt/Makefile.inc projects/clang500-import/lib/libthr/Makefile projects/clang500-import/lib/libthr/thread/thr_init.c projects/clang500-import/lib/libthr/thread/thr_rwlock.c projects/clang500-import/lib/libthr/thread/thr_spinlock.c projects/clang500-import/lib/libthr/thread/thr_stack.c projects/clang500-import/lib/libthr/thread/thr_symbols.c projects/clang500-import/release/Makefile projects/clang500-import/release/scripts/pkg-stage.sh projects/clang500-import/sys/Makefile projects/clang500-import/sys/arm/conf/NOTES projects/clang500-import/sys/compat/freebsd32/capabilities.conf projects/clang500-import/sys/compat/freebsd32/freebsd32_sysent.c projects/clang500-import/sys/compat/linuxkpi/common/include/asm/smp.h projects/clang500-import/sys/conf/files projects/clang500-import/sys/contrib/ipfilter/netinet/ip_fil.h projects/clang500-import/sys/dev/xen/netfront/netfront.c projects/clang500-import/sys/fs/msdosfs/denode.h projects/clang500-import/sys/fs/msdosfs/fat.h projects/clang500-import/sys/fs/msdosfs/msdosfs_conv.c projects/clang500-import/sys/fs/msdosfs/msdosfs_denode.c projects/clang500-import/sys/fs/msdosfs/msdosfs_fat.c projects/clang500-import/sys/fs/msdosfs/msdosfs_vfsops.c projects/clang500-import/sys/fs/msdosfs/msdosfs_vnops.c projects/clang500-import/sys/fs/msdosfs/msdosfsmount.h projects/clang500-import/sys/kern/capabilities.conf projects/clang500-import/sys/kern/init_sysent.c projects/clang500-import/sys/mips/atheros/ar71xx_machdep.c projects/clang500-import/sys/modules/Makefile projects/clang500-import/sys/net80211/ieee80211_adhoc.c projects/clang500-import/sys/net80211/ieee80211_hostap.c projects/clang500-import/sys/net80211/ieee80211_ht.c projects/clang500-import/sys/net80211/ieee80211_ht.h projects/clang500-import/sys/net80211/ieee80211_input.h projects/clang500-import/sys/net80211/ieee80211_mesh.c projects/clang500-import/sys/net80211/ieee80211_sta.c projects/clang500-import/sys/net80211/ieee80211_wds.c projects/clang500-import/sys/netinet/tcp_usrreq.c projects/clang500-import/sys/netinet6/udp6_usrreq.c projects/clang500-import/tests/sys/aio/aio_kqueue_test.c projects/clang500-import/tests/sys/aio/lio_kqueue_test.c projects/clang500-import/tools/build/mk/OptionalObsoleteFiles.inc projects/clang500-import/usr.bin/catman/catman.1 projects/clang500-import/usr.bin/catman/catman.c projects/clang500-import/usr.bin/compress/Makefile projects/clang500-import/usr.bin/compress/compress.c projects/clang500-import/usr.bin/grep/file.c projects/clang500-import/usr.bin/grep/grep.h projects/clang500-import/usr.bin/grep/queue.c projects/clang500-import/usr.bin/grep/util.c projects/clang500-import/usr.sbin/bsdinstall/scripts/script projects/clang500-import/usr.sbin/efivar/efivar.8 projects/clang500-import/usr.sbin/mountd/exports.5 projects/clang500-import/usr.sbin/nscd/query.c Directory Properties: projects/clang500-import/ (props changed) projects/clang500-import/contrib/compiler-rt/ (props changed) projects/clang500-import/contrib/dma/ (props changed) projects/clang500-import/contrib/elftoolchain/ (props changed) projects/clang500-import/contrib/netbsd-tests/ (props changed) projects/clang500-import/contrib/top/ (props changed) projects/clang500-import/sys/contrib/ipfilter/ (props changed) Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/README.txt ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/README.txt Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/README.txt Mon May 22 19:28:24 2017 (r318658) @@ -57,8 +57,8 @@ si_int __popcountsi2(si_int a); // bit si_int __popcountdi2(di_int a); // bit population si_int __popcountti2(ti_int a); // bit population -uint32_t __bswapsi2(uint32_t a); // a byteswapped, arm only -uint64_t __bswapdi2(uint64_t a); // a byteswapped, arm only +uint32_t __bswapsi2(uint32_t a); // a byteswapped, arm/mips only +uint64_t __bswapdi2(uint64_t a); // a byteswapped, arm/mips only // Integral arithmetic Copied: projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapdi2.c (from r318657, head/contrib/compiler-rt/lib/builtins/bswapdi2.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapdi2.c Mon May 22 19:28:24 2017 (r318658, copy of r318657, head/contrib/compiler-rt/lib/builtins/bswapdi2.c) @@ -0,0 +1,28 @@ +/* ===-- bswapdi2.c - Implement __bswapdi2 ---------------------------------=== + * + * The LLVM Compiler Infrastructure + * + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. + * + * ===----------------------------------------------------------------------=== + * + * This file implements __bswapdi2 for the compiler_rt library. + * + * ===----------------------------------------------------------------------=== + */ + +#include "int_lib.h" + +COMPILER_RT_ABI uint64_t +__bswapdi2 (uint64_t u) +{ + return ((((u) & 0xff00000000000000ULL) >> 56) + | (((u) & 0x00ff000000000000ULL) >> 40) + | (((u) & 0x0000ff0000000000ULL) >> 24) + | (((u) & 0x000000ff00000000ULL) >> 8) + | (((u) & 0x00000000ff000000ULL) << 8) + | (((u) & 0x0000000000ff0000ULL) << 24) + | (((u) & 0x000000000000ff00ULL) << 40) + | (((u) & 0x00000000000000ffULL) << 56)); +} Copied: projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapsi2.c (from r318657, head/contrib/compiler-rt/lib/builtins/bswapsi2.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapsi2.c Mon May 22 19:28:24 2017 (r318658, copy of r318657, head/contrib/compiler-rt/lib/builtins/bswapsi2.c) @@ -0,0 +1,25 @@ +/* ===-- bswapsi2.c - Implement __bswapsi2 ---------------------------------=== + * + * The LLVM Compiler Infrastructure + * + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. + * + * ===----------------------------------------------------------------------=== + * + * This file implements __bswapsi2 for the compiler_rt library. + * + * ===----------------------------------------------------------------------=== + */ + +#include "int_lib.h" + +COMPILER_RT_ABI uint32_t +__bswapsi2 (uint32_t u) +{ + + return ((((u) & 0xff000000) >> 24) + | (((u) & 0x00ff0000) >> 8) + | (((u) & 0x0000ff00) << 8) + | (((u) & 0x000000ff) << 24)); +} Modified: projects/clang500-import/contrib/dma/dma.8 ============================================================================== --- projects/clang500-import/contrib/dma/dma.8 Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/contrib/dma/dma.8 Mon May 22 19:28:24 2017 (r318658) @@ -30,7 +30,7 @@ .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 13, 2014 +.Dd May 20, 2017 .Dt DMA 8 .Os .Sh NAME @@ -74,7 +74,7 @@ acts as a compatibility option for sendm .It Fl bp List all mails currently stored in the mail queue. .It Fl bq -Queue the mail, but don't attempt to deliver it. +Queue the mail, but do not attempt to deliver it. See also the .Sq DEFER config file setting below. @@ -82,9 +82,9 @@ config file setting below. .Pp All other .Ar mode Ns -s are are ignored. +s are ignored. .It Fl D -Don't run in the background. +Do not run in the background. Useful for debugging. .It Fl f Ar sender Set sender address (envelope-from) to @@ -198,7 +198,7 @@ The special name .Ql * can be used to create a catch-all alias, which gets used if no other matching alias is found. -Use the catch-all alias only if you don't want any local mail to be +Use the catch-all alias only if you do not want any local mail to be delivered. .It Ic SPOOLDIR Xo (string, default=/var/spool/dma) @@ -213,7 +213,7 @@ Just stick with the default. Path to the .Sq auth.conf file. -.It Ic SECURETRANS Xo +.It Ic SECURETRANSFER Xo (boolean, default=commented) .Xc Uncomment if you want TLS/SSL secured transfer. @@ -222,7 +222,7 @@ Uncomment if you want TLS/SSL secured tr .Xc Uncomment if you want to use STARTTLS. Only useful together with -.Sq SECURETRANS . +.Sq SECURETRANSFER . .It Ic OPPORTUNISTIC_TLS Xo (boolean, default=commented) .Xc @@ -234,7 +234,7 @@ the outside mail exchangers; in opportun be encrypted if the remote server supports STARTTLS, but an unencrypted delivery will still be made if the negotiation fails. Only useful together with -.Sq SECURETRANS +.Sq SECURETRANSFER and .Sq STARTTLS . .It Ic CERTFILE Xo @@ -305,7 +305,8 @@ will send all mails as setting it to .Ql percolator will send all mails as -.Ql Sm off Va username @percolator . +.Sm off +.Ql Va username @percolator . .Sm on .It Ic NULLCLIENT Xo .Xc Modified: projects/clang500-import/contrib/elftoolchain/nm/nm.1 ============================================================================== --- projects/clang500-import/contrib/elftoolchain/nm/nm.1 Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/contrib/elftoolchain/nm/nm.1 Mon May 22 19:28:24 2017 (r318658) @@ -24,7 +24,7 @@ .\" .\" $Id: nm.1 3195 2015-05-12 17:22:19Z emaste $ .\" -.Dd February 15, 2015 +.Dd May 21, 2017 .Os .Dt NM 1 .Sh NAME @@ -304,6 +304,8 @@ A local (uninitialized data) symbol. .It d A local data symbol. +.It r +A local read-only data symbol. .It t A local text symbol. .It v Modified: projects/clang500-import/contrib/netbsd-tests/usr.bin/grep/t_grep.sh ============================================================================== --- projects/clang500-import/contrib/netbsd-tests/usr.bin/grep/t_grep.sh Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/contrib/netbsd-tests/usr.bin/grep/t_grep.sh Mon May 22 19:28:24 2017 (r318658) @@ -413,6 +413,26 @@ wflag_emptypat_body() atf_check -o file:test4 grep -w -e "" test4 } +atf_test_case excessive_matches +excessive_matches_head() +{ + atf_set "descr" "Check for proper handling of lines with excessive matches (PR 218811)" +} +excessive_matches_body() +{ + grep_type + if [ $? -eq $GREP_TYPE_GNU_FREEBSD ]; then + atf_expect_fail "this test does not pass with GNU grep in base" + fi + + for i in $(jot 4096); do + printf "x" >> test.in + done + + atf_check -s exit:0 -x '[ $(grep -o x test.in | wc -l) -eq 4096 ]' + atf_check -s exit:1 -x 'grep -on x test.in | grep -v "1:x"' +} + atf_test_case fgrep_sanity fgrep_sanity_head() { @@ -490,6 +510,39 @@ wv_combo_break_body() atf_check -s exit:1 grep -v -w "x" test2 } +atf_test_case ocolor_metadata +ocolor_metadata_head() +{ + atf_set "descr" "Check for -n/-b producing per-line metadata output" +} +ocolor_metadata_body() +{ + grep_type + if [ $? -eq $GREP_TYPE_GNU_FREEBSD ]; then + atf_expect_fail "this test does not pass with GNU grep in base" + fi + + printf "xxx\nyyyy\nzzz\nfoobarbaz\n" > test1 + check_expr="^[^:]*[0-9][^:]*:[^:]+$" + + atf_check -o inline:"1:1:xx\n" grep -bon "xx$" test1 + + atf_check -o inline:"2:4:yyyy\n" grep -bn "yy" test1 + + atf_check -o inline:"2:6:yy\n" grep -bon "yy$" test1 + + # These checks ensure that grep isn't producing bogus line numbering + # in the middle of a line. + atf_check -s exit:1 -x \ + "grep -Eon 'x|y|z|f' test1 | grep -Ev '${check_expr}'" + + atf_check -s exit:1 -x \ + "grep -En 'x|y|z|f' --color=always test1 | grep -Ev '${check_expr}'" + + atf_check -s exit:1 -x \ + "grep -Eon 'x|y|z|f' --color=always test1 | grep -Ev '${check_expr}'" +} + atf_test_case grep_nomatch_flags grep_nomatch_flags_head() { @@ -603,10 +656,12 @@ atf_init_test_cases() atf_add_test_case egrep_empty_invalid atf_add_test_case zerolen atf_add_test_case wflag_emptypat + atf_add_test_case excessive_matches atf_add_test_case wv_combo_break atf_add_test_case fgrep_sanity atf_add_test_case egrep_sanity atf_add_test_case grep_sanity + atf_add_test_case ocolor_metadata atf_add_test_case grep_nomatch_flags atf_add_test_case binary_flags atf_add_test_case badcontext Modified: projects/clang500-import/contrib/top/top.c ============================================================================== --- projects/clang500-import/contrib/top/top.c Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/contrib/top/top.c Mon May 22 19:28:24 2017 (r318658) @@ -433,7 +433,7 @@ char *argv[]; default: fprintf(stderr, "Top version %s\n" -"Usage: %s [-abCHIijnPqStuvz] [-d count] [-m io | cpu] [-o field] [-s time]\n" +"Usage: %s [-abCHIijnPqStuvwz] [-d count] [-m io | cpu] [-o field] [-s time]\n" " [-J jail] [-U username] [number]\n", version_string(), myname); exit(1); Modified: projects/clang500-import/etc/mtree/BSD.include.dist ============================================================================== --- projects/clang500-import/etc/mtree/BSD.include.dist Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/etc/mtree/BSD.include.dist Mon May 22 19:28:24 2017 (r318658) @@ -156,8 +156,6 @@ .. usb .. - utopia - .. vkbd .. wi Modified: projects/clang500-import/etc/mtree/BSD.tests.dist ============================================================================== --- projects/clang500-import/etc/mtree/BSD.tests.dist Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/etc/mtree/BSD.tests.dist Mon May 22 19:28:24 2017 (r318658) @@ -606,6 +606,8 @@ .. cmp .. + compress + .. cpio .. col Modified: projects/clang500-import/etc/periodic/daily/800.scrub-zfs ============================================================================== --- projects/clang500-import/etc/periodic/daily/800.scrub-zfs Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/etc/periodic/daily/800.scrub-zfs Mon May 22 19:28:24 2017 (r318658) @@ -71,7 +71,7 @@ case "$daily_scrub_zfs_enable" in # Now minus last scrub (both in seconds) converted to days. _scrub_diff=$(expr -e \( $(date +%s) - \ - $(date -j -f %F.%T ${_last_scrub} +%s) \) / 60 / 60 / 24) + $(date -j -v -70M -f %F.%T ${_last_scrub} +%s) \) / 60 / 60 / 24) if [ ${_scrub_diff} -lt ${_pool_threshold} ]; then echo " skipping scrubbing of pool '${pool}':" echo " last scrubbing is ${_scrub_diff} days ago, threshold is set to ${_pool_threshold} days" Modified: projects/clang500-import/gnu/usr.bin/groff/tmac/mdoc.local.in ============================================================================== --- projects/clang500-import/gnu/usr.bin/groff/tmac/mdoc.local.in Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/gnu/usr.bin/groff/tmac/mdoc.local.in Mon May 22 19:28:24 2017 (r318658) @@ -65,6 +65,7 @@ .ds doc-operating-system-FreeBSD-10.2 10.2 .ds doc-operating-system-FreeBSD-10.3 10.3 .ds doc-operating-system-FreeBSD-11.0 11.0 +.ds doc-operating-system-FreeBSD-11.1 11.1 .ds doc-operating-system-FreeBSD-12.0 12.0 . .\" Definitions for other *BSDs not (yet) in doc-common Modified: projects/clang500-import/lib/Makefile ============================================================================== --- projects/clang500-import/lib/Makefile Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/lib/Makefile Mon May 22 19:28:24 2017 (r318658) @@ -157,6 +157,9 @@ _libclang_rt= libclang_rt .if ${MK_LIBCPLUSPLUS} != "no" _libcxxrt= libcxxrt _libcplusplus= libc++ +.if ${MACHINE_CPUARCH} != "arm" +_libcplusplus+= libc++experimental +.endif .endif SUBDIR.${MK_EFI}+= libefivar Modified: projects/clang500-import/lib/libc/gen/Symbol.map ============================================================================== --- projects/clang500-import/lib/libc/gen/Symbol.map Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/lib/libc/gen/Symbol.map Mon May 22 19:28:24 2017 (r318658) @@ -485,7 +485,6 @@ FBSDprivate_1.0 { _pthread_sigmask; _pthread_testcancel; _spinlock; - _spinlock_debug; _spinunlock; _rtld_addr_phdr; _rtld_atfork_pre; Modified: projects/clang500-import/lib/libc/gen/_spinlock_stub.c ============================================================================== --- projects/clang500-import/lib/libc/gen/_spinlock_stub.c Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/lib/libc/gen/_spinlock_stub.c Mon May 22 19:28:24 2017 (r318658) @@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$"); long _atomic_lock_stub(volatile long *); void _spinlock_stub(spinlock_t *); void _spinunlock_stub(spinlock_t *); -void _spinlock_debug_stub(spinlock_t *, char *, int); __weak_reference(_atomic_lock_stub, _atomic_lock); @@ -48,7 +47,6 @@ _atomic_lock_stub(volatile long *lck __u return (0L); } -__weak_reference(_spinlock, _spinlock_debug); #pragma weak _spinlock void _spinlock(spinlock_t *lck) Modified: projects/clang500-import/lib/libc/include/spinlock.h ============================================================================== --- projects/clang500-import/lib/libc/include/spinlock.h Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/lib/libc/include/spinlock.h Mon May 22 19:28:24 2017 (r318658) @@ -41,21 +41,17 @@ * Lock structure with room for debugging information. */ struct _spinlock { - volatile long access_lock; - volatile long lock_owner; - volatile char *fname; - volatile int lineno; + long spare1; + long spare2; + void *thr_extra; + int spare3; }; typedef struct _spinlock spinlock_t; #define _SPINLOCK_INITIALIZER { 0, 0, 0, 0 } #define _SPINUNLOCK(_lck) _spinunlock(_lck); -#ifdef _LOCK_DEBUG -#define _SPINLOCK(_lck) _spinlock_debug(_lck, __FILE__, __LINE__) -#else #define _SPINLOCK(_lck) _spinlock(_lck) -#endif /* * Thread function prototype definitions: @@ -64,7 +60,6 @@ __BEGIN_DECLS long _atomic_lock(volatile long *); void _spinlock(spinlock_t *); void _spinunlock(spinlock_t *); -void _spinlock_debug(spinlock_t *, char *, int); __END_DECLS #endif /* _SPINLOCK_H_ */ Modified: projects/clang500-import/lib/libcompiler_rt/Makefile.inc ============================================================================== --- projects/clang500-import/lib/libcompiler_rt/Makefile.inc Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/lib/libcompiler_rt/Makefile.inc Mon May 22 19:28:24 2017 (r318658) @@ -224,3 +224,10 @@ SRCS+= switch8.S SRCS+= switchu8.S SRCS+= sync_synchronize.S .endif + +# GCC-6.3 on mips32 requires bswap32 built-in. +.if ${MACHINE_CPUARCH} == "mips" +SRCS+= bswapdi2.c +SRCS+= bswapsi2.c +.endif + Modified: projects/clang500-import/lib/libthr/Makefile ============================================================================== --- projects/clang500-import/lib/libthr/Makefile Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/lib/libthr/Makefile Mon May 22 19:28:24 2017 (r318658) @@ -17,6 +17,7 @@ MK_SSP= no LIB=thr SHLIB_MAJOR= 3 WARNS?= 3 +NO_WTHREAD_SAFETY=1 CFLAGS+=-DPTHREAD_KERNEL CFLAGS+=-I${SRCTOP}/lib/libc/include -I${.CURDIR}/thread \ -I${SRCTOP}/include @@ -27,6 +28,12 @@ CFLAGS+=-I${SRCTOP}/libexec/rtld-elf/${M CFLAGS+=-I${SRCTOP}/lib/libthread_db CFLAGS+=-Winline +CFLAGS.thr_stack.c+= -Wno-cast-align +.include +.if !(${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} < 40300) +CFLAGS.thr_symbols.c+= -Wno-missing-variable-declarations +.endif + .ifndef NO_THREAD_UNWIND_STACK CFLAGS+=-fexceptions CFLAGS+=-D_PTHREAD_FORCED_UNWIND Modified: projects/clang500-import/lib/libthr/thread/thr_init.c ============================================================================== --- projects/clang500-import/lib/libthr/thread/thr_init.c Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/lib/libthr/thread/thr_init.c Mon May 22 19:28:24 2017 (r318658) @@ -173,7 +173,6 @@ STATIC_LIB_REQUIRE(_sigtimedwait); STATIC_LIB_REQUIRE(_sigwait); STATIC_LIB_REQUIRE(_sigwaitinfo); STATIC_LIB_REQUIRE(_spinlock); -STATIC_LIB_REQUIRE(_spinlock_debug); STATIC_LIB_REQUIRE(_spinunlock); STATIC_LIB_REQUIRE(_thread_init_hack); Modified: projects/clang500-import/lib/libthr/thread/thr_rwlock.c ============================================================================== --- projects/clang500-import/lib/libthr/thread/thr_rwlock.c Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/lib/libthr/thread/thr_rwlock.c Mon May 22 19:28:24 2017 (r318658) @@ -49,27 +49,42 @@ __weak_reference(_pthread_rwlock_unlock, __weak_reference(_pthread_rwlock_wrlock, pthread_rwlock_wrlock); __weak_reference(_pthread_rwlock_timedwrlock, pthread_rwlock_timedwrlock); -#define CHECK_AND_INIT_RWLOCK \ - if (*rwlock == THR_PSHARED_PTR) { \ - prwlock = __thr_pshared_offpage(rwlock, 0); \ - if (prwlock == NULL) \ - return (EINVAL); \ - } else if (__predict_false((prwlock = (*rwlock)) <= \ - THR_RWLOCK_DESTROYED)) { \ - if (prwlock == THR_RWLOCK_INITIALIZER) { \ - int ret; \ - ret = init_static(_get_curthread(), rwlock); \ - if (ret) \ - return (ret); \ - } else if (prwlock == THR_RWLOCK_DESTROYED) { \ - return (EINVAL); \ - } \ - prwlock = *rwlock; \ - } - -/* - * Prototypes - */ +static int init_static(struct pthread *thread, pthread_rwlock_t *rwlock); +static int init_rwlock(pthread_rwlock_t *rwlock, pthread_rwlock_t *rwlock_out); + +static int __always_inline +check_and_init_rwlock(pthread_rwlock_t *rwlock, pthread_rwlock_t *rwlock_out) +{ + if (__predict_false(*rwlock == THR_PSHARED_PTR || + *rwlock <= THR_RWLOCK_DESTROYED)) + return (init_rwlock(rwlock, rwlock_out)); + *rwlock_out = *rwlock; + return (0); +} + +static int __noinline +init_rwlock(pthread_rwlock_t *rwlock, pthread_rwlock_t *rwlock_out) +{ + pthread_rwlock_t prwlock; + int ret; + + if (*rwlock == THR_PSHARED_PTR) { + prwlock = __thr_pshared_offpage(rwlock, 0); + if (prwlock == NULL) + return (EINVAL); + } else if ((prwlock = *rwlock) <= THR_RWLOCK_DESTROYED) { + if (prwlock == THR_RWLOCK_INITIALIZER) { + ret = init_static(_get_curthread(), rwlock); + if (ret != 0) + return (ret); + } else if (prwlock == THR_RWLOCK_DESTROYED) { + return (EINVAL); + } + prwlock = *rwlock; + } + *rwlock_out = prwlock; + return (0); +} static int rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) @@ -148,7 +163,9 @@ rwlock_rdlock_common(pthread_rwlock_t *r int flags; int ret; - CHECK_AND_INIT_RWLOCK + ret = check_and_init_rwlock(rwlock, &prwlock); + if (ret != 0) + return (ret); if (curthread->rdlock_count) { /* @@ -220,7 +237,9 @@ _pthread_rwlock_tryrdlock (pthread_rwloc int flags; int ret; - CHECK_AND_INIT_RWLOCK + ret = check_and_init_rwlock(rwlock, &prwlock); + if (ret != 0) + return (ret); if (curthread->rdlock_count) { /* @@ -253,7 +272,9 @@ _pthread_rwlock_trywrlock (pthread_rwloc pthread_rwlock_t prwlock; int ret; - CHECK_AND_INIT_RWLOCK + ret = check_and_init_rwlock(rwlock, &prwlock); + if (ret != 0) + return (ret); ret = _thr_rwlock_trywrlock(&prwlock->lock); if (ret == 0) @@ -268,7 +289,9 @@ rwlock_wrlock_common (pthread_rwlock_t * pthread_rwlock_t prwlock; int ret; - CHECK_AND_INIT_RWLOCK + ret = check_and_init_rwlock(rwlock, &prwlock); + if (ret != 0) + return (ret); /* * POSIX said the validity of the abstimeout parameter need Modified: projects/clang500-import/lib/libthr/thread/thr_spinlock.c ============================================================================== --- projects/clang500-import/lib/libthr/thread/thr_spinlock.c Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/lib/libthr/thread/thr_spinlock.c Mon May 22 19:28:24 2017 (r318658) @@ -65,7 +65,7 @@ __thr_spinunlock(spinlock_t *lck) { struct spinlock_extra *_extra; - _extra = (struct spinlock_extra *)lck->fname; + _extra = lck->thr_extra; THR_UMUTEX_UNLOCK(_get_curthread(), &_extra->lock); } @@ -78,9 +78,9 @@ __thr_spinlock(spinlock_t *lck) PANIC("Spinlock called when not threaded."); if (!initialized) PANIC("Spinlocks not initialized."); - if (lck->fname == NULL) + if (lck->thr_extra == NULL) init_spinlock(lck); - _extra = (struct spinlock_extra *)lck->fname; + _extra = lck->thr_extra; THR_UMUTEX_LOCK(_get_curthread(), &_extra->lock); } @@ -90,14 +90,14 @@ init_spinlock(spinlock_t *lck) struct pthread *curthread = _get_curthread(); THR_UMUTEX_LOCK(curthread, &spinlock_static_lock); - if ((lck->fname == NULL) && (spinlock_count < MAX_SPINLOCKS)) { - lck->fname = (char *)&extra[spinlock_count]; + if ((lck->thr_extra == NULL) && (spinlock_count < MAX_SPINLOCKS)) { + lck->thr_extra = &extra[spinlock_count]; _thr_umutex_init(&extra[spinlock_count].lock); extra[spinlock_count].owner = lck; spinlock_count++; } THR_UMUTEX_UNLOCK(curthread, &spinlock_static_lock); - if (lck->fname == NULL) + if (lck->thr_extra == NULL) PANIC("Warning: exceeded max spinlocks"); } Modified: projects/clang500-import/lib/libthr/thread/thr_stack.c ============================================================================== --- projects/clang500-import/lib/libthr/thread/thr_stack.c Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/lib/libthr/thread/thr_stack.c Mon May 22 19:28:24 2017 (r318658) @@ -290,19 +290,6 @@ _thr_stack_alloc(struct pthread_attr *at return (-1); } -/* - * Disable this warning from clang: - * - * cast from 'char *' to - * 'struct stack *' increases required alignment from 1 to 8 - * [-Werror,-Wcast-align] - * spare_stack = (struct stack *) - */ -#ifdef __clang__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wcast-align" -#endif - /* This function must be called with _thread_list_lock held. */ void _thr_stack_free(struct pthread_attr *attr) @@ -329,7 +316,3 @@ _thr_stack_free(struct pthread_attr *att attr->stackaddr_attr = NULL; } } - -#ifdef __clang__ -#pragma GCC diagnostic pop -#endif Modified: projects/clang500-import/lib/libthr/thread/thr_symbols.c ============================================================================== --- projects/clang500-import/lib/libthr/thread/thr_symbols.c Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/lib/libthr/thread/thr_symbols.c Mon May 22 19:28:24 2017 (r318658) @@ -37,10 +37,6 @@ __FBSDID("$FreeBSD$"); #include "thr_private.h" -#ifdef __clang__ -#pragma GCC diagnostic ignored "-Wmissing-variable-declarations" -#endif - /* A collection of symbols needed by debugger */ /* int _libthr_debug */ Modified: projects/clang500-import/release/Makefile ============================================================================== --- projects/clang500-import/release/Makefile Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/release/Makefile Mon May 22 19:28:24 2017 (r318658) @@ -270,7 +270,7 @@ packagesystem: base.txz kernel.txz ${EXT pkg-stage: .if !defined(NOPKG) - env REPOS_DIR=${.CURDIR}/pkg_repos/ \ + env PORTSDIR=${PORTSDIR} REPOS_DIR=${.CURDIR}/pkg_repos/ \ sh ${.CURDIR}/scripts/pkg-stage.sh mkdir -p ${.OBJDIR}/dvd/packages/repos/ cp ${.CURDIR}/scripts/FreeBSD_install_cdrom.conf \ Modified: projects/clang500-import/release/scripts/pkg-stage.sh ============================================================================== --- projects/clang500-import/release/scripts/pkg-stage.sh Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/release/scripts/pkg-stage.sh Mon May 22 19:28:24 2017 (r318658) @@ -10,6 +10,7 @@ export PKG_DBDIR="/tmp/pkg" export PERMISSIVE="YES" export REPO_AUTOUPDATE="NO" export PKGCMD="/usr/sbin/pkg -d" +export PORTSDIR="${PORTSDIR:-/usr/ports}" _DVD_PACKAGES="archivers/unzip devel/subversion @@ -33,8 +34,8 @@ x11/kde4 x11/xorg" # If NOPORTS is set for the release, do not attempt to build pkg(8). -if [ ! -f /usr/ports/Makefile ]; then - echo "*** /usr/ports is missing! ***" +if [ ! -f ${PORTSDIR}/Makefile ]; then + echo "*** ${PORTSDIR} is missing! ***" echo "*** Skipping pkg-stage.sh ***" echo "*** Unset NOPORTS to fix this ***" exit 0 @@ -42,7 +43,7 @@ fi if [ ! -x /usr/local/sbin/pkg ]; then /etc/rc.d/ldconfig restart - /usr/bin/make -C /usr/ports/ports-mgmt/pkg install clean + /usr/bin/make -C ${PORTSDIR}/ports-mgmt/pkg install clean fi export DVD_DIR="dvd/packages" @@ -58,7 +59,7 @@ fi # Ensure the ports listed in _DVD_PACKAGES exist to sanitize the # final list. for _P in ${_DVD_PACKAGES}; do - if [ -d "/usr/ports/${_P}" ]; then + if [ -d "${PORTSDIR}/${_P}" ]; then DVD_PACKAGES="${DVD_PACKAGES} ${_P}" else echo "*** Skipping nonexistent port: ${_P}" Copied: projects/clang500-import/share/man/man4/ena.4 (from r318657, head/share/man/man4/ena.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/share/man/man4/ena.4 Mon May 22 19:28:24 2017 (r318658, copy of r318657, head/share/man/man4/ena.4) @@ -0,0 +1,255 @@ +.\" Copyright (c) 2015-2017 Amazon.com, Inc. or its affiliates. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in +.\" the documentation and/or other materials provided with the +.\" distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +.\" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd May 04, 2017 +.Dt ENA 4 +.Os +.Sh NAME +.Nm ena +.Nd "FreeBSD kernel driver for Elastic Network Adapter (ENA) family" +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device ena" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +if_ena_load="YES" +.Ed +.Sh DESCRIPTION +The ENA is a networking interface designed to make good use of modern CPU +features and system architectures. +.Pp +The ENA device exposes a lightweight management interface with a +minimal set of memory mapped registers and extendable command set +through an Admin Queue. +.Pp +The driver supports a range of ENA devices, is link-speed independent +(i.e., the same driver is used for 10GbE, 25GbE, 40GbE, etc.), and has +a negotiated and extendable feature set. +.Pp +Some ENA devices support SR-IOV. This driver is used for both the +SR-IOV Physical Function (PF) and Virtual Function (VF) devices. +.Pp +The ENA devices enable high speed and low overhead network traffic +processing by providing multiple Tx/Rx queue pairs (the maximum number +is advertised by the device via the Admin Queue), a dedicated MSI-X +interrupt vector per Tx/Rx queue pair, and CPU cacheline optimized +data placement. +.Pp +The +.Nm +driver supports industry standard TCP/IP offload features such +as checksum offload and TCP transmit segmentation offload (TSO). +Receive-side scaling (RSS) is supported for multi-core scaling. +.Pp +The +.Nm +driver and its corresponding devices implement health +monitoring mechanisms such as watchdog, enabling the device and driver +to recover in a manner transparent to the application, as well as +debug logs. +.Pp +Some of the ENA devices support a working mode called Low-latency +Queue (LLQ), which saves several more microseconds. This feature will +be implemented for driver in future releases. +.Sh HARDWARE +Supported PCI vendor ID/device IDs: +.Pp +.Bl -bullet -compact +.It +1d0f:0ec2 - ENA PF +.It +1d0f:1ec2 - ENA PF with LLQ support +.It +1d0f:ec20 - ENA VF +.It +1d0f:ec21 - ENA VF with LLQ support +.El +.Sh DIAGNOSTICS +.Ss Device initialization phase: +.Bl -diag +.It ena%d: failed to init mmio read less +.Pp +Error occured during initialization of the mmio register read request. +.It ena%d: Can not reset device +.Pp +Device could not be reset; device may not be responding or is already +during reset. +.It ena%d: device version is too low +.Pp +Version of the controller is too low and it is not supported by the driver. +.It ena%d: Invalid dma width value %d +.Pp +The controller is able to request dma transcation width. Device stopped +responding or it demanded invalid value. +.It ena%d: Can not initialize ena admin queue with device +.Pp +Initialization of the Admin Queue failed; device may not be responding or there +was a problem with initialization of the resources. +.It ena%d: Cannot get attribute for ena device rc: %d +.Pp +Failed to get attributes of the device from the controller. +.It ena%d: Cannot configure aenq groups rc: %d +.Pp +Errors occured when trying to configure AENQ groups. +.El +.Ss Driver initialisation/shutdown phase: +.Bl -diag +.It ena%d: PCI resource allocation failed! +.It ena%d: allocating ena_dev failed +.It ena%d: failed to pmap registers bar +.It ena%d: Error while setting up bufring +.It ena%d: Error with initialization of IO rings +.It ena%d: can not allocate ifnet structure +.It ena%d: Error with network interface setup +.It ena%d: Failed to enable and set the admin interrupts +.It ena%d: Failed to allocate %d, vectors %d +.It ena%d: Failed to enable MSIX, vectors %d rc %d +.It ena%d: Error with MSI-X enablement +.It ena%d: could not allocate irq vector: %d +.It ena%d: Unable to allocate bus resource: registers +.Pp +Resource allocation failed when initializing the device; driver will not +be attached. +.It ena%d: ENA device init failed (err: %d) +.Pp +Device initialization failed; driver will not be attached. +.It ena%d: could not activate irq vector: %d +.Pp +Error occured when trying to activate interrupt vectors for Admin Queue. +.It ena%d: failed to register interrupt handler for irq %ju: %d +.Pp +Error occured when trying to register Admin Queue interrupt handler. +.It ena%d: Cannot setup mgmnt queue intr +.Pp +Error occured during configuration of the Admin Queue interrupts. +.It ena%d: Enable MSI-X failed +.Pp +Configuration of the MSI-X for Admin Queue failed; there could be lack +of resources or interrupts could not have been configured; driver will +not be attached. +.It ena%d: VLAN is in use, detach first +.Pp +VLANs are being used when trying to detach the driver; VLANs should be detached +first and then detach routine should be called again. +.It ena%d: Unmapped RX DMA tag associations +.It ena%d: Unmapped TX DMA tag associations +.Pp +Error occured when trying to destroy RX/TX DMA tag. +.It ena%d: Cannot init RSS +.It ena%d: Cannot fill indirect table +.It ena%d: Cannot fill indirect table +.It ena%d: Cannot fill hash function +.It ena%d: Cannot fill hash control +.It ena%d: WARNING: RSS was not properly initialized, it will affect bandwidth +.Pp +Error occured during initialization of one of RSS resources; device is still +going to work but it will affect performance because all RX packets will be +passed to queue 0 and there will be no hash information. +.It ena%d: failed to tear down irq: %d +.It ena%d: dev has no parent while releasing res for irq: %d +Release of the interrupts failed. +.El +.Ss Additional diagnostic: +.Bl -diag +.It ena%d: Cannot get attribute for ena device +.Pp +This message appears when trying to change MTU and driver is unable to get +attributes from the device. +.It ena%d: Invalid MTU setting. new_mtu: %d +.Pp +Requested MTU value is not supported and will not be set. +.It ena%d: keep alive watchdog timeout +.Pp +Device stopped responding and will be reset. +.It ena%d: Found a Tx that wasn't completed on time, qid %d, index %d. +.Pp +Packet was pushed to the NIC but not sent within given time limit; it may +be caused by hang of the IO queue. +.It ena%d: The number of lost tx completion is aboce the threshold (%d > %d). Reset the device +.Pp +If too many Tx wasn't completed on time the device is going to be reset; it may +be caused by hanged queue or device. +.It ena%d: trigger reset is on +.Pp +Device will be reset; reset is triggered either by watchdog or if too many TX +packets were not completed on time. +.It ena%d: invalid value recvd +.Pp +Link status received from the device in the AENQ handler is invalid. +.It ena%d: Allocation for Tx Queue %u failed +.It ena%d: Allocation for Rx Queue %u failed +.It ena%d: Unable to create Rx DMA map for buffer %d +.It ena%d: Failed to create io TX queue #%d rc: %d +.It ena%d: Failed to get TX queue handlers. TX queue num %d rc: %d +.It ena%d: Failed to create io RX queue[%d] rc: %d +.It ena%d: Failed to get RX queue handlers. RX queue num %d rc: %d +.It ena%d: failed to request irq +.It ena%d: could not allocate irq vector: %d +.It ena%d: failed to register interrupt handler for irq %ju: %d +.Pp +IO resources initialization failed. Interface will not be brought up. +.It ena%d: LRO[%d] Initialization failed! +.Pp +Initialization of the LRO for the RX ring failed. +.It ena%d: failed to alloc buffer for rx queue +.It ena%d: failed to add buffer for rx queue %d +.It ena%d: refilled rx queue %d with %d pages only +.Pp +Allocation of resources used on RX path failed; if happened during +initialization of the IO queue, the interface will not be brought up. +.It ena%d: ioctl promisc/allmulti +.Pp +IOCTL request for the device to work in promiscuous/allmulti mode; see +.Xr ifconfig 8 +for more details. +.It ena%d: too many fragments. Last fragment: %d! +.Pp +Packet with unsupported number of segments was queued for sending to the +device; packet will be dropped. +.Sh SUPPORT +If an issue is identified with the released source code with a supported adapter +email the specific information related to the issue to +.Aq Mt mk@semihalf.com +and +.Aq Mt mw@semihalf.com . +.Sh SEE ALSO +.Xr vlan 4 , +.Xr ifconfig 8 +.Sh AUTHORS +The +.Nm +driver was written by +.An Semihalf. Modified: projects/clang500-import/sys/Makefile ============================================================================== --- projects/clang500-import/sys/Makefile Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/sys/Makefile Mon May 22 19:28:24 2017 (r318658) @@ -59,19 +59,7 @@ TAGS ${.CURDIR}/TAGS: ${.CURDIR}/cscope. rm -f ${.CURDIR}/TAGS cd ${.CURDIR}; xargs etags -a < ${.CURDIR}/cscope.files -# You need the textproc/glimpse ports for this. -glimpse: -.if !exists(${.CURDIR}/.glimpse_exclude) - echo .svn > ${.CURDIR}/.glimpse_exclude - echo /compile/ >> ${.CURDIR}/.glimpse_exclude -.endif - cd ${.CURDIR}; glimpseindex -H . -B -f -o . - -glimpse-clean: - cd ${.CURDIR}; rm -f .glimpse_* - -.if !(make(cscope) || make(cscope-clean) || make(cscope-hook) || make(TAGS) || \ - make(glimpse) || make(glimpse-clean)) +.if !(make(cscope) || make(cscope-clean) || make(cscope-hook) || make(TAGS)) .include # The boot loader Modified: projects/clang500-import/sys/arm/conf/NOTES ============================================================================== --- projects/clang500-import/sys/arm/conf/NOTES Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/sys/arm/conf/NOTES Mon May 22 19:28:24 2017 (r318658) @@ -79,6 +79,7 @@ nodevice snake_saver nodevice star_saver nodevice warp_saver +nodevice ccr nodevice cxgbe nodevice cxgbev nodevice snd_cmi Modified: projects/clang500-import/sys/compat/freebsd32/capabilities.conf ============================================================================== --- projects/clang500-import/sys/compat/freebsd32/capabilities.conf Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/sys/compat/freebsd32/capabilities.conf Mon May 22 19:28:24 2017 (r318658) @@ -188,7 +188,6 @@ renameat symlinkat unlinkat freebsd32_utimensat -open pdfork pdgetpid pdkill Modified: projects/clang500-import/sys/compat/freebsd32/freebsd32_sysent.c ============================================================================== --- projects/clang500-import/sys/compat/freebsd32/freebsd32_sysent.c Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/sys/compat/freebsd32/freebsd32_sysent.c Mon May 22 19:28:24 2017 (r318658) @@ -57,7 +57,7 @@ struct sysent freebsd32_sysent[] = { { 0, (sy_call_t *)sys_fork, AUE_FORK, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 2 = fork */ { AS(read_args), (sy_call_t *)sys_read, AUE_READ, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 3 = read */ { AS(write_args), (sy_call_t *)sys_write, AUE_WRITE, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 4 = write */ - { AS(open_args), (sy_call_t *)sys_open, AUE_OPEN_RWTC, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 5 = open */ + { AS(open_args), (sy_call_t *)sys_open, AUE_OPEN_RWTC, NULL, 0, 0, 0, SY_THR_STATIC }, /* 5 = open */ { AS(close_args), (sy_call_t *)sys_close, AUE_CLOSE, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 6 = close */ { AS(freebsd32_wait4_args), (sy_call_t *)freebsd32_wait4, AUE_WAIT4, NULL, 0, 0, 0, SY_THR_STATIC }, /* 7 = freebsd32_wait4 */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 8 = obsolete old creat */ Modified: projects/clang500-import/sys/compat/linuxkpi/common/include/asm/smp.h ============================================================================== --- projects/clang500-import/sys/compat/linuxkpi/common/include/asm/smp.h Mon May 22 19:22:06 2017 (r318657) +++ projects/clang500-import/sys/compat/linuxkpi/common/include/asm/smp.h Mon May 22 19:28:24 2017 (r318658) @@ -37,4 +37,12 @@ int linux_wbinvd_on_all_cpus(void); #endif +#define get_cpu() ({ \ + sched_pin(); \ + PCPU_GET(cpuid); \ +}) + +#define put_cpu() \ + sched_unpin() + #endif /* _ASM_SMP_H_ */ Modified: projects/clang500-import/sys/conf/files ============================================================================== --- projects/clang500-import/sys/conf/files Mon May 22 19:22:06 2017 (r318657) *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***