From owner-svn-src-head@freebsd.org Sun Mar 8 00:22:34 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1B4F925641F; Sun, 8 Mar 2020 00:22:34 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ZhrT5YcKz4Jg5; Sun, 8 Mar 2020 00:22:33 +0000 (UTC) (envelope-from mjg@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 5F65519744; Sun, 8 Mar 2020 00:22:33 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0280MXDL055806; Sun, 8 Mar 2020 00:22:33 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0280MX9j055805; Sun, 8 Mar 2020 00:22:33 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202003080022.0280MX9j055805@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 8 Mar 2020 00:22:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358733 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 358733 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2020 00:22:34 -0000 Author: mjg Date: Sun Mar 8 00:22:32 2020 New Revision: 358733 URL: https://svnweb.freebsd.org/changeset/base/358733 Log: seqc: tidy up - avoid hand-rolled read - match begin/end in terms of fence style Modified: head/sys/sys/seqc.h Modified: head/sys/sys/seqc.h ============================================================================== --- head/sys/sys/seqc.h Sat Mar 7 15:37:23 2020 (r358732) +++ head/sys/sys/seqc.h Sun Mar 8 00:22:32 2020 (r358733) @@ -66,7 +66,8 @@ static __inline void seqc_write_end(seqc_t *seqcp) { - atomic_store_rel_int(seqcp, *seqcp + 1); + atomic_thread_fence_rel(); + *seqcp += 1; MPASS(!seqc_in_modify(*seqcp)); critical_exit(); } @@ -84,7 +85,7 @@ seqc_read(const seqc_t *seqcp) seqc_t ret; for (;;) { - ret = atomic_load_acq_int(__DECONST(seqc_t *, seqcp)); + ret = seqc_read_any(seqcp); if (__predict_false(seqc_in_modify(ret))) { cpu_spinwait(); continue; From owner-svn-src-head@freebsd.org Sun Mar 8 00:23:38 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D9EF1256676; Sun, 8 Mar 2020 00:23:38 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48Zhsk441Vz4Ldc; Sun, 8 Mar 2020 00:23:38 +0000 (UTC) (envelope-from mjg@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 139B11974D; Sun, 8 Mar 2020 00:23:38 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0280NbIh055894; Sun, 8 Mar 2020 00:23:37 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0280NbiA055889; Sun, 8 Mar 2020 00:23:37 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202003080023.0280NbiA055889@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 8 Mar 2020 00:23:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358734 - in head: lib/libprocstat sys/kern sys/sys sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head: lib/libprocstat sys/kern sys/sys sys/ufs/ffs X-SVN-Commit-Revision: 358734 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2020 00:23:39 -0000 Author: mjg Date: Sun Mar 8 00:23:36 2020 New Revision: 358734 URL: https://svnweb.freebsd.org/changeset/base/358734 Log: fd: use smr for managing struct pwd This has a side effect of eliminating filedesc slock/sunlock during path lookup, which in turn removes contention vs concurrent modifications to the fd table. Reviewed by: markj, kib Differential Revision: https://reviews.freebsd.org/D23889 Modified: head/lib/libprocstat/libprocstat.c head/sys/kern/kern_descrip.c head/sys/kern/kern_linker.c head/sys/sys/filedesc.h head/sys/ufs/ffs/ffs_alloc.c Modified: head/lib/libprocstat/libprocstat.c ============================================================================== --- head/lib/libprocstat/libprocstat.c Sun Mar 8 00:22:32 2020 (r358733) +++ head/lib/libprocstat/libprocstat.c Sun Mar 8 00:23:36 2020 (r358734) @@ -460,6 +460,7 @@ procstat_getfiles_kvm(struct procstat *procstat, struc struct file file; struct filedesc filed; struct pwd pwd; + unsigned long pwd_addr; struct vm_map_entry vmentry; struct vm_object object; struct vmspace vmspace; @@ -488,10 +489,10 @@ procstat_getfiles_kvm(struct procstat *procstat, struc return (NULL); } haspwd = false; - if (filed.fd_pwd != NULL) { - if (!kvm_read_all(kd, (unsigned long)filed.fd_pwd, &pwd, - sizeof(pwd))) { - warnx("can't read fd_pwd at %p", (void *)filed.fd_pwd); + pwd_addr = (unsigned long)(FILEDESC_KVM_LOAD_PWD(&filed)); + if (pwd_addr != 0) { + if (!kvm_read_all(kd, pwd_addr, &pwd, sizeof(pwd))) { + warnx("can't read fd_pwd at %p", (void *)pwd_addr); return (NULL); } haspwd = true; Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Sun Mar 8 00:22:32 2020 (r358733) +++ head/sys/kern/kern_descrip.c Sun Mar 8 00:23:36 2020 (r358734) @@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -101,6 +102,8 @@ MALLOC_DECLARE(M_FADVISE); static __read_mostly uma_zone_t file_zone; static __read_mostly uma_zone_t filedesc0_zone; +static __read_mostly uma_zone_t pwd_zone; +static __read_mostly smr_t pwd_smr; static int closefp(struct filedesc *fdp, int fd, struct file *fp, struct thread *td, int holdleaders); @@ -1985,6 +1988,7 @@ fdinit(struct filedesc *fdp, bool prepfiles) { struct filedesc0 *newfdp0; struct filedesc *newfdp; + struct pwd *newpwd; newfdp0 = uma_zalloc(filedesc0_zone, M_WAITOK | M_ZERO); newfdp = &newfdp0->fd_fd; @@ -2000,7 +2004,8 @@ fdinit(struct filedesc *fdp, bool prepfiles) newfdp->fd_files->fdt_nfiles = NDFILE; if (fdp == NULL) { - newfdp->fd_pwd = pwd_alloc(); + newpwd = pwd_alloc(); + smr_serialized_store(&newfdp->fd_pwd, newpwd, true); return (newfdp); } @@ -2008,7 +2013,8 @@ fdinit(struct filedesc *fdp, bool prepfiles) fdgrowtable(newfdp, fdp->fd_lastfile + 1); FILEDESC_SLOCK(fdp); - newfdp->fd_pwd = pwd_hold_filedesc(fdp); + newpwd = pwd_hold_filedesc(fdp); + smr_serialized_store(&newfdp->fd_pwd, newpwd, true); if (!prepfiles) { FILEDESC_SUNLOCK(fdp); @@ -2328,7 +2334,7 @@ fdescfree(struct thread *td) return; FILEDESC_XLOCK(fdp); - pwd = fdp->fd_pwd; + pwd = FILEDESC_XLOCKED_LOAD_PWD(fdp); pwd_set(fdp, NULL); FILEDESC_XUNLOCK(fdp); @@ -2341,7 +2347,7 @@ void fdescfree_remapped(struct filedesc *fdp) { - pwd_drop(fdp->fd_pwd); + pwd_drop(smr_serialized_load(&fdp->fd_pwd, true)); fdescfree_fds(curthread, fdp, 0); } @@ -3277,7 +3283,7 @@ pwd_hold_filedesc(struct filedesc *fdp) struct pwd *pwd; FILEDESC_LOCK_ASSERT(fdp); - pwd = fdp->fd_pwd; + pwd = FILEDESC_LOCKED_LOAD_PWD(fdp); if (pwd != NULL) refcount_acquire(&pwd->pwd_refcount); return (pwd); @@ -3291,11 +3297,14 @@ pwd_hold(struct thread *td) fdp = td->td_proc->p_fd; - FILEDESC_SLOCK(fdp); - pwd = fdp->fd_pwd; - MPASS(pwd != NULL); - refcount_acquire(&pwd->pwd_refcount); - FILEDESC_SUNLOCK(fdp); + smr_enter(pwd_smr); + for (;;) { + pwd = smr_entered_load(&fdp->fd_pwd, pwd_smr); + MPASS(pwd != NULL); + if (refcount_acquire_if_not_zero(&pwd->pwd_refcount)) + break; + } + smr_exit(pwd_smr); return (pwd); } @@ -3304,7 +3313,8 @@ pwd_alloc(void) { struct pwd *pwd; - pwd = malloc(sizeof(*pwd), M_PWD, M_WAITOK | M_ZERO); + pwd = uma_zalloc_smr(pwd_zone, M_WAITOK); + bzero(pwd, sizeof(*pwd)); refcount_init(&pwd->pwd_refcount, 1); return (pwd); } @@ -3322,7 +3332,7 @@ pwd_drop(struct pwd *pwd) vrele(pwd->pwd_rdir); if (pwd->pwd_jdir != NULL) vrele(pwd->pwd_jdir); - free(pwd, M_PWD); + uma_zfree_smr(pwd_zone, pwd); } /* @@ -3340,7 +3350,7 @@ pwd_chroot(struct thread *td, struct vnode *vp) fdp = td->td_proc->p_fd; newpwd = pwd_alloc(); FILEDESC_XLOCK(fdp); - oldpwd = fdp->fd_pwd; + oldpwd = FILEDESC_XLOCKED_LOAD_PWD(fdp); if (chroot_allow_open_directories == 0 || (chroot_allow_open_directories == 1 && oldpwd->pwd_rdir != rootvnode)) { @@ -3376,7 +3386,7 @@ pwd_chdir(struct thread *td, struct vnode *vp) newpwd = pwd_alloc(); fdp = td->td_proc->p_fd; FILEDESC_XLOCK(fdp); - oldpwd = fdp->fd_pwd; + oldpwd = FILEDESC_XLOCKED_LOAD_PWD(fdp); newpwd->pwd_cdir = vp; pwd_fill(oldpwd, newpwd); pwd_set(fdp, newpwd); @@ -3392,7 +3402,7 @@ pwd_ensure_dirs(void) fdp = curproc->p_fd; FILEDESC_XLOCK(fdp); - oldpwd = fdp->fd_pwd; + oldpwd = FILEDESC_XLOCKED_LOAD_PWD(fdp); if (oldpwd->pwd_cdir != NULL && oldpwd->pwd_rdir != NULL) { FILEDESC_XUNLOCK(fdp); return; @@ -3401,7 +3411,7 @@ pwd_ensure_dirs(void) newpwd = pwd_alloc(); FILEDESC_XLOCK(fdp); - oldpwd = fdp->fd_pwd; + oldpwd = FILEDESC_XLOCKED_LOAD_PWD(fdp); pwd_fill(oldpwd, newpwd); if (newpwd->pwd_cdir == NULL) { vrefact(rootvnode); @@ -3441,7 +3451,7 @@ mountcheckdirs(struct vnode *olddp, struct vnode *newd if (fdp == NULL) continue; FILEDESC_XLOCK(fdp); - oldpwd = fdp->fd_pwd; + oldpwd = FILEDESC_XLOCKED_LOAD_PWD(fdp); if (oldpwd == NULL || (oldpwd->pwd_cdir != olddp && oldpwd->pwd_rdir != olddp && @@ -4074,6 +4084,7 @@ int kern_proc_cwd_out(struct proc *p, struct sbuf *sb, ssize_t maxlen) { struct filedesc *fdp; + struct pwd *pwd; struct export_fd_buf *efbuf; struct vnode *cdir; int error; @@ -4091,7 +4102,8 @@ kern_proc_cwd_out(struct proc *p, struct sbuf *sb, ss efbuf->remainder = maxlen; FILEDESC_SLOCK(fdp); - cdir = fdp->fd_pwd->pwd_cdir; + pwd = FILEDESC_LOCKED_LOAD_PWD(fdp); + cdir = pwd->pwd_cdir; if (cdir == NULL) { error = EINVAL; } else { @@ -4279,6 +4291,9 @@ filelistinit(void *dummy) NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); filedesc0_zone = uma_zcreate("filedesc0", sizeof(struct filedesc0), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); + pwd_zone = uma_zcreate("PWD", sizeof(struct pwd), NULL, NULL, + NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_SMR); + pwd_smr = uma_zone_get_smr(pwd_zone); mtx_init(&sigio_lock, "sigio lock", NULL, MTX_DEF); } SYSINIT(select, SI_SUB_LOCK, SI_ORDER_FIRST, filelistinit, NULL); Modified: head/sys/kern/kern_linker.c ============================================================================== --- head/sys/kern/kern_linker.c Sun Mar 8 00:22:32 2020 (r358733) +++ head/sys/kern/kern_linker.c Sun Mar 8 00:23:36 2020 (r358734) @@ -2063,6 +2063,22 @@ linker_hwpmc_list_objects(void) } #endif +/* check if root file system is not mounted */ +static bool +linker_root_mounted(void) +{ + struct pwd *pwd; + bool ret; + + if (rootvnode == NULL) + return (false); + + pwd = pwd_hold(curthread); + ret = pwd->pwd_rdir != NULL; + pwd_drop(pwd); + return (ret); +} + /* * Find a file which contains given module and load it, if "parent" is not * NULL, register a reference to it. @@ -2084,15 +2100,13 @@ linker_load_module(const char *kldname, const char *mo */ KASSERT(verinfo == NULL, ("linker_load_module: verinfo" " is not NULL")); - /* check if root file system is not mounted */ - if (rootvnode == NULL || curproc->p_fd->fd_pwd->pwd_rdir == NULL) + if (!linker_root_mounted()) return (ENXIO); pathname = linker_search_kld(kldname); } else { if (modlist_lookup2(modname, verinfo) != NULL) return (EEXIST); - /* check if root file system is not mounted */ - if (rootvnode == NULL || curproc->p_fd->fd_pwd->pwd_rdir == NULL) + if (!linker_root_mounted()) return (ENXIO); if (kldname != NULL) pathname = strdup(kldname, M_LINKER); Modified: head/sys/sys/filedesc.h ============================================================================== --- head/sys/sys/filedesc.h Sun Mar 8 00:22:32 2020 (r358733) +++ head/sys/sys/filedesc.h Sun Mar 8 00:23:36 2020 (r358734) @@ -42,6 +42,8 @@ #include #include #include +#include +#include #include @@ -76,16 +78,23 @@ struct fdescenttbl { */ #define NDSLOTTYPE u_long +/* + * This struct is copy-on-write and allocated from an SMR zone. + * All fields are constant after initialization apart from the reference count. + * + * Check pwd_* routines for usage. + */ struct pwd { volatile u_int pwd_refcount; struct vnode *pwd_cdir; /* current directory */ struct vnode *pwd_rdir; /* root directory */ struct vnode *pwd_jdir; /* jail root directory */ }; +typedef SMR_POINTER(struct pwd *) smrpwd_t; struct filedesc { struct fdescenttbl *fd_files; /* open files table */ - struct pwd *fd_pwd; /* directories */ + smrpwd_t fd_pwd; /* directories */ NDSLOTTYPE *fd_map; /* bitmap of free fds */ int fd_lastfile; /* high-water mark of fd_ofiles */ int fd_freefile; /* approx. next free file */ @@ -141,6 +150,38 @@ struct filedesc_to_leader { SX_NOTRECURSED) #define FILEDESC_UNLOCK_ASSERT(fdp) sx_assert(&(fdp)->fd_sx, SX_UNLOCKED) +#define FILEDESC_LOCKED_LOAD_PWD(fdp) ({ \ + struct filedesc *_fdp = (fdp); \ + struct pwd *_pwd; \ + _pwd = smr_serialized_load(&(_fdp)->fd_pwd, \ + (FILEDESC_LOCK_ASSERT(_fdp), true)); \ + _pwd; \ +}) + +#define FILEDESC_XLOCKED_LOAD_PWD(fdp) ({ \ + struct filedesc *_fdp = (fdp); \ + struct pwd *_pwd; \ + _pwd = smr_serialized_load(&(_fdp)->fd_pwd, \ + (FILEDESC_XLOCK_ASSERT(_fdp), true)); \ + _pwd; \ +}) + +#else + +/* + * Accessor for libkvm et al. + */ +#define FILEDESC_KVM_LOAD_PWD(fdp) ({ \ + struct filedesc *_fdp = (fdp); \ + struct pwd *_pwd; \ + _pwd = smr_kvm_load(&(_fdp)->fd_pwd); \ + _pwd; \ +}) + +#endif + +#ifdef _KERNEL + /* Operation types for kern_dup(). */ enum { FDDUP_NORMAL, /* dup() behavior. */ @@ -265,8 +306,8 @@ static inline void pwd_set(struct filedesc *fdp, struct pwd *newpwd) { - FILEDESC_XLOCK_ASSERT(fdp); - fdp->fd_pwd = newpwd; + smr_serialized_store(&fdp->fd_pwd, newpwd, + (FILEDESC_XLOCK_ASSERT(fdp), true)); } #endif /* _KERNEL */ Modified: head/sys/ufs/ffs/ffs_alloc.c ============================================================================== --- head/sys/ufs/ffs/ffs_alloc.c Sun Mar 8 00:22:32 2020 (r358733) +++ head/sys/ufs/ffs/ffs_alloc.c Sun Mar 8 00:23:36 2020 (r358734) @@ -3590,6 +3590,7 @@ buffered_write(fp, uio, active_cred, flags, td) int flags; struct thread *td; { + struct pwd *pwd; struct vnode *devvp, *vp; struct inode *ip; struct buf *bp; @@ -3610,7 +3611,8 @@ buffered_write(fp, uio, active_cred, flags, td) return (EINVAL); fdp = td->td_proc->p_fd; FILEDESC_SLOCK(fdp); - vp = fdp->fd_pwd->pwd_cdir; + pwd = FILEDESC_LOCKED_LOAD_PWD(fdp); + vp = pwd->pwd_cdir; vref(vp); FILEDESC_SUNLOCK(fdp); vn_lock(vp, LK_SHARED | LK_RETRY); From owner-svn-src-head@freebsd.org Sun Mar 8 13:24:35 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E799F26966D; Sun, 8 Mar 2020 13:24:35 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48b2Bq33c3z495b; Sun, 8 Mar 2020 13:24:35 +0000 (UTC) (envelope-from hselasky@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 3070C227D0; Sun, 8 Mar 2020 13:24:35 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 028DOZaO025076; Sun, 8 Mar 2020 13:24:35 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 028DOY7k025075; Sun, 8 Mar 2020 13:24:34 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202003081324.028DOY7k025075@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sun, 8 Mar 2020 13:24:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358738 - in head/sys/dev/usb: . controller X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in head/sys/dev/usb: . controller X-SVN-Commit-Revision: 358738 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2020 13:24:36 -0000 Author: hselasky Date: Sun Mar 8 13:24:34 2020 New Revision: 358738 URL: https://svnweb.freebsd.org/changeset/base/358738 Log: Remove the power bit from the super speed root hub port status register because it clobbers the super speed link status when a device is in super speed mode. Currently the power bit is not needed for anything in the USB hub driver. This fixes USB warm reset for super speed devices. Tested by: Shichun.Ma@dell.com MFC after: 3 days Sponsored by: Mellanox Technologies Modified: head/sys/dev/usb/controller/xhci.c head/sys/dev/usb/usb_hub.c Modified: head/sys/dev/usb/controller/xhci.c ============================================================================== --- head/sys/dev/usb/controller/xhci.c Sun Mar 8 06:09:46 2020 (r358737) +++ head/sys/dev/usb/controller/xhci.c Sun Mar 8 13:24:34 2020 (r358738) @@ -3591,13 +3591,10 @@ xhci_roothub_exec(struct usb_device *udev, i |= UPS_OVERCURRENT_INDICATOR; if (v & XHCI_PS_PR) i |= UPS_RESET; - if (v & XHCI_PS_PP) { - /* - * The USB 3.0 RH is using the - * USB 2.0's power bit - */ - i |= UPS_PORT_POWER; - } +#if 0 + if (v & XHCI_PS_PP) + /* XXX undefined */ +#endif USETW(sc->sc_hub_desc.ps.wPortStatus, i); i = 0; Modified: head/sys/dev/usb/usb_hub.c ============================================================================== --- head/sys/dev/usb/usb_hub.c Sun Mar 8 06:09:46 2020 (r358737) +++ head/sys/dev/usb/usb_hub.c Sun Mar 8 13:24:34 2020 (r358738) @@ -660,7 +660,7 @@ repeat: break; case USB_SPEED_SUPER: if (udev->parent_hub == NULL) - power_mask = UPS_PORT_POWER; + power_mask = 0; /* XXX undefined */ else power_mask = UPS_PORT_POWER_SS; break; @@ -668,7 +668,7 @@ repeat: power_mask = 0; break; } - if (!(sc->sc_st.port_status & power_mask)) { + if ((sc->sc_st.port_status & power_mask) != power_mask) { DPRINTF("WARNING: strange, connected port %d " "has no power\n", portno); } From owner-svn-src-head@freebsd.org Sun Mar 8 17:42:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2356C26FEA6; Sun, 8 Mar 2020 17:42:46 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48b7wj6Fwsz4Ngx; Sun, 8 Mar 2020 17:42:45 +0000 (UTC) (envelope-from sjg@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 A5C2F2581E; Sun, 8 Mar 2020 17:42:45 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 028Hgj7G086259; Sun, 8 Mar 2020 17:42:45 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 028HghCd086246; Sun, 8 Mar 2020 17:42:43 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <202003081742.028HghCd086246@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Sun, 8 Mar 2020 17:42:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358744 - in head: lib/libsecureboot lib/libsecureboot/h lib/libsecureboot/tests share/mk stand stand/common stand/efi/loader stand/efi/loader/arch/i386 stand/ficl stand/i386/libi386 st... X-SVN-Group: head X-SVN-Commit-Author: sjg X-SVN-Commit-Paths: in head: lib/libsecureboot lib/libsecureboot/h lib/libsecureboot/tests share/mk stand stand/common stand/efi/loader stand/efi/loader/arch/i386 stand/ficl stand/i386/libi386 stand/i386/loader stand/lib... X-SVN-Commit-Revision: 358744 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2020 17:42:46 -0000 Author: sjg Date: Sun Mar 8 17:42:42 2020 New Revision: 358744 URL: https://svnweb.freebsd.org/changeset/base/358744 Log: veloader use vectx API for kernel and modules The vectx API, computes the hash for verifying a file as it is read. This avoids the overhead of reading files twice - once to verify, then again to load. For doing an install via loader, avoiding the need to rewind large files is critical. This API is only used for modules, kernel and mdimage as these are the biggest files read by the loader. The reduction in boot time depends on how expensive the I/O is on any given platform. On a fast VM we see 6% improvement. For install via loader the first file to be verified is likely to be the kernel, so some of the prep work (finding manifest etc) done by verify_file() needs to be factored so it can be reused for vectx_open(). For missing or unrecognized fingerprint entries, we fail in vectx_open() unless verifying is disabled. Otherwise fingerprint check happens in vectx_close() and since this API is only used for files which must be verified (VE_MUST) we panic if we get an incorrect hash. Reviewed by: imp,tsoome MFC after: 1 week Sponsored by: Juniper Networks Differential Revision: https://reviews.freebsd.org//D23827 Modified: head/lib/libsecureboot/h/libsecureboot.h head/lib/libsecureboot/h/verify_file.h head/lib/libsecureboot/tests/tvo.c head/lib/libsecureboot/vectx.c head/lib/libsecureboot/verify_file.c head/share/mk/src.opts.mk head/stand/common/bootstrap.h head/stand/common/interp_forth.c head/stand/common/interp_simple.c head/stand/common/load_elf.c head/stand/common/load_elf_obj.c head/stand/common/misc.c head/stand/common/module.c head/stand/efi/loader/arch/i386/i386_copy.c head/stand/efi/loader/copy.c head/stand/efi/loader/loader_efi.h head/stand/efi/loader/main.c head/stand/ficl/loader.c head/stand/i386/libi386/i386_copy.c head/stand/i386/libi386/libi386.h head/stand/i386/loader/chain.c head/stand/libofw/libofw.h head/stand/libofw/ofw_copy.c head/stand/loader.mk head/stand/mips/beri/loader/arch.c head/stand/powerpc/kboot/main.c head/stand/uboot/lib/copy.c head/stand/uboot/lib/libuboot.h head/stand/userboot/userboot/copy.c head/stand/userboot/userboot/libuserboot.h Modified: head/lib/libsecureboot/h/libsecureboot.h ============================================================================== --- head/lib/libsecureboot/h/libsecureboot.h Sun Mar 8 16:55:34 2020 (r358743) +++ head/lib/libsecureboot/h/libsecureboot.h Sun Mar 8 17:42:42 2020 (r358744) @@ -69,12 +69,6 @@ void fingerprint_info_add(const char *, const char *, int ve_check_hash(br_hash_compat_context *, const br_hash_class *, const char *, const char *, size_t); -struct vectx; -struct vectx* vectx_open(int, const char *, off_t, struct stat *, int *); -ssize_t vectx_read(struct vectx *, void *, size_t); -off_t vectx_lseek(struct vectx *, off_t, int); -int vectx_close(struct vectx *); - char * hexdigest(char *, size_t, unsigned char *, size_t); int verify_fd(int, const char *, off_t, struct stat *); int verify_open(const char *, int); Modified: head/lib/libsecureboot/h/verify_file.h ============================================================================== --- head/lib/libsecureboot/h/verify_file.h Sun Mar 8 16:55:34 2020 (r358743) +++ head/lib/libsecureboot/h/verify_file.h Sun Mar 8 17:42:42 2020 (r358744) @@ -39,13 +39,21 @@ struct stat; -void ve_debug_set(int); -int ve_status_get(int); -void ve_efi_init(void); -int load_manifest(const char *, const char *, const char *, struct stat *); -int pass_manifest(const char *, const char *); -int pass_manifest_export_envs(void); -int verify_file(int, const char *, off_t, int); -void verify_pcr_export(void); +int verify_prep(int, const char *, off_t, struct stat *, const char *); +void ve_debug_set(int); +char *ve_error_get(void); +void ve_efi_init(void); +int ve_status_get(int); +int load_manifest(const char *, const char *, const char *, struct stat *); +int pass_manifest(const char *, const char *); +int pass_manifest_export_envs(void); +int verify_file(int, const char *, off_t, int, const char *); +void verify_pcr_export(void); + +struct vectx; +struct vectx* vectx_open(int, const char *, off_t, struct stat *, int *, const char *); +ssize_t vectx_read(struct vectx *, void *, size_t); +off_t vectx_lseek(struct vectx *, off_t, int); +int vectx_close(struct vectx *, int, const char *); #endif /* _VERIFY_FILE_H_ */ Modified: head/lib/libsecureboot/tests/tvo.c ============================================================================== --- head/lib/libsecureboot/tests/tvo.c Sun Mar 8 16:55:34 2020 (r358743) +++ head/lib/libsecureboot/tests/tvo.c Sun Mar 8 17:42:42 2020 (r358744) @@ -31,6 +31,8 @@ __FBSDID("$FreeBSD$"); #include #include +size_t DestdirLen; +char *Destdir; char *Skip; int @@ -42,7 +44,10 @@ main(int argc, char *argv[]) int Vflag; char *cp; char *prefix; + char *destdir; + Destdir = NULL; + DestdirLen = 0; prefix = NULL; Skip = NULL; @@ -50,8 +55,12 @@ main(int argc, char *argv[]) printf("Trust %d\n", n); Vflag = 0; - while ((c = getopt(argc, argv, "dp:s:T:V")) != -1) { + while ((c = getopt(argc, argv, "D:dp:s:T:V")) != -1) { switch (c) { + case 'D': + Destdir = optarg; + DestdirLen = strlen(optarg); + break; case 'd': DebugVe++; break; @@ -92,7 +101,7 @@ main(int argc, char *argv[]) */ int x; - x = verify_file(fd, argv[optind], 0, VE_GUESS); + x = verify_file(fd, argv[optind], 0, VE_GUESS, __func__); printf("verify_file(%s) = %d\n", argv[optind], x); close(fd); } @@ -147,7 +156,7 @@ main(int argc, char *argv[]) lseek(fd, 0, SEEK_SET); off = st.st_size % 512; vp = vectx_open(fd, argv[optind], off, - &st, &error); + &st, &error, __func__); if (!vp) { printf("vectx_open(%s) failed: %d %s\n", argv[optind], error, @@ -155,7 +164,8 @@ main(int argc, char *argv[]) } else { off = vectx_lseek(vp, (st.st_size % 1024), SEEK_SET); - + /* we can seek backwards! */ + off = vectx_lseek(vp, off/2, SEEK_SET); if (off < st.st_size) { n = vectx_read(vp, buf, sizeof(buf)); @@ -165,7 +175,7 @@ main(int argc, char *argv[]) off = vectx_lseek(vp, 0, SEEK_END); /* repeating that should be harmless */ off = vectx_lseek(vp, 0, SEEK_END); - error = vectx_close(vp); + error = vectx_close(vp, VE_MUST, __func__); if (error) { printf("vectx_close(%s) == %d %s\n", argv[optind], error, Modified: head/lib/libsecureboot/vectx.c ============================================================================== --- head/lib/libsecureboot/vectx.c Sun Mar 8 16:55:34 2020 (r358743) +++ head/lib/libsecureboot/vectx.c Sun Mar 8 17:42:42 2020 (r358744) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #endif #include "libsecureboot-priv.h" +#include /** * @file vectx.c @@ -50,12 +51,14 @@ struct vectx { const char *vec_path; /* path we are verifying */ const char *vec_want; /* hash value we want */ off_t vec_off; /* current offset */ + off_t vec_hashed; /* where we have hashed to */ size_t vec_size; /* size of path */ size_t vec_hashsz; /* size of hash */ int vec_fd; /* file descriptor */ int vec_status; /* verification status */ }; + /** * @brief * verify an open file as we read it @@ -86,24 +89,31 @@ struct vectx { * NULL is only returned for non-files or out-of-memory. */ struct vectx * -vectx_open(int fd, const char *path, off_t off, struct stat *stp, int *error) +vectx_open(int fd, const char *path, off_t off, struct stat *stp, + int *error, const char *caller) { struct vectx *ctx; struct stat st; size_t hashsz; char *cp; + int rc; - if (!stp) { - if (fstat(fd, &st) == 0) - stp = &st; - } + if (!stp) + stp = &st; - /* we *should* only get called for files */ - if (stp && !S_ISREG(stp->st_mode)) { - *error = 0; + rc = verify_prep(fd, path, off, stp, __func__); + + DEBUG_PRINTF(2, + ("vectx_open: caller=%s,name='%s',prep_rc=%d\n", + caller,path, rc)); + + switch (rc) { + case VE_FINGERPRINT_NONE: + case VE_FINGERPRINT_UNKNOWN: + case VE_FINGERPRINT_WRONG: + *error = rc; return (NULL); } - ctx = malloc(sizeof(struct vectx)); if (!ctx) goto enomem; @@ -111,10 +121,16 @@ vectx_open(int fd, const char *path, off_t off, struct ctx->vec_path = path; ctx->vec_size = stp->st_size; ctx->vec_off = 0; + ctx->vec_hashed = 0; ctx->vec_want = NULL; ctx->vec_status = 0; - hashsz = 0; + ctx->vec_hashsz = hashsz = 0; + if (rc == 0) { + /* we are not verifying this */ + *error = 0; + return (ctx); + } cp = fingerprint_info_lookup(fd, path); if (!cp) { ctx->vec_status = VE_FINGERPRINT_NONE; @@ -161,6 +177,10 @@ vectx_open(int fd, const char *path, off_t off, struct vectx_lseek(ctx, off, SEEK_SET); } } + DEBUG_PRINTF(2, + ("vectx_open: caller=%s,name='%s',hashsz=%lu,status=%d\n", + caller, path, (unsigned long)ctx->vec_hashsz, + ctx->vec_status)); return (ctx); enomem: /* unlikely */ @@ -175,6 +195,8 @@ enomem: /* unlikely */ * * It is critical that all file I/O comes through here. * We keep track of current offset. + * We also track what offset we have hashed to, + * so we won't replay data if we seek backwards. * * @param[in] pctx * pointer to ctx @@ -190,6 +212,8 @@ vectx_read(struct vectx *ctx, void *buf, size_t nbytes { unsigned char *bp = buf; int n; + int delta; + int x; size_t off; if (ctx->vec_hashsz == 0) /* nothing to do */ @@ -201,9 +225,20 @@ vectx_read(struct vectx *ctx, void *buf, size_t nbytes if (n < 0) return (n); if (n > 0) { - ctx->vec_md->update(&ctx->vec_ctx.vtable, &bp[off], n); - off += n; - ctx->vec_off += n; + /* we may have seeked backwards! */ + delta = ctx->vec_hashed - ctx->vec_off; + if (delta > 0) { + x = MIN(delta, n); + off += x; + n -= x; + ctx->vec_off += x; + } + if (n > 0) { + ctx->vec_md->update(&ctx->vec_ctx.vtable, &bp[off], n); + off += n; + ctx->vec_off += n; + ctx->vec_hashed += n; + } } } while (n > 0 && off < nbytes); return (off); @@ -213,10 +248,10 @@ vectx_read(struct vectx *ctx, void *buf, size_t nbytes * @brief * vectx equivalent of lseek * - * We do not actually, seek, but call vectx_read + * When seeking forwards we actually call vectx_read * to reach the desired offset. * - * We do not support seeking backwards. + * We support seeking backwards. * * @param[in] pctx * pointer to ctx @@ -225,6 +260,8 @@ vectx_read(struct vectx *ctx, void *buf, size_t nbytes * desired offset * * @param[in] whence + * We try to convert whence to ``SEEK_SET``. + * We do not support ``SEEK_DATA`` or ``SEEK_HOLE``. * * @return offset or error. */ @@ -239,22 +276,26 @@ vectx_lseek(struct vectx *ctx, off_t off, int whence) return (lseek(ctx->vec_fd, off, whence)); /* - * Try to convert whence to SEEK_SET - * but we cannot support seeking backwards! - * Nor beyond end of file. + * Convert whence to SEEK_SET */ if (whence == SEEK_END && off <= 0) { whence = SEEK_SET; off += ctx->vec_size; - } else if (whence == SEEK_CUR && off >= 0) { + } else if (whence == SEEK_CUR) { whence = SEEK_SET; off += ctx->vec_off; } - if (whence != SEEK_SET || off < ctx->vec_off || + if (whence != SEEK_SET || (size_t)off > ctx->vec_size) { - printf("ERROR: %s: unsupported operation\n", __func__); + printf("ERROR: %s: unsupported operation: whence=%d off=%lld -> %lld\n", + __func__, whence, (long long)ctx->vec_off, (long long)off); return (-1); } + if (off < ctx->vec_hashed) { + /* seeking backwards! just do it */ + ctx->vec_off = lseek(ctx->vec_fd, off, whence); + return (ctx->vec_off); + } n = 0; do { delta = off - ctx->vec_off; @@ -281,16 +322,35 @@ vectx_lseek(struct vectx *ctx, off_t off, int whence) * @return 0 or an error. */ int -vectx_close(struct vectx *ctx) +vectx_close(struct vectx *ctx, int severity, const char *caller) { int rc; if (ctx->vec_hashsz == 0) { rc = ctx->vec_status; } else { +#ifdef VE_PCR_SUPPORT + /* + * Only update pcr with things that must verify + * these tend to be processed in a more deterministic + * order, which makes our pseudo pcr more useful. + */ + ve_pcr_updating_set((severity == VE_MUST)); +#endif rc = ve_check_hash(&ctx->vec_ctx, ctx->vec_md, ctx->vec_path, ctx->vec_want, ctx->vec_hashsz); } + DEBUG_PRINTF(2, + ("vectx_close: caller=%s,name='%s',rc=%d,severity=%d\n", + caller,ctx->vec_path, rc, severity)); + if (severity > VE_WANT || rc == VE_FINGERPRINT_WRONG) + printf("%serified %s\n", (rc <= 0) ? "Unv" : "V", + ctx->vec_path); +#if !defined(UNIT_TEST) && !defined(DEBUG_VECTX) + /* we are generally called with VE_MUST */ + if (severity > VE_WANT && rc == VE_FINGERPRINT_WRONG) + panic("cannot continue"); +#endif free(ctx); return ((rc < 0) ? rc : 0); } Modified: head/lib/libsecureboot/verify_file.c ============================================================================== --- head/lib/libsecureboot/verify_file.c Sun Mar 8 16:55:34 2020 (r358743) +++ head/lib/libsecureboot/verify_file.c Sun Mar 8 17:42:42 2020 (r358744) @@ -43,6 +43,8 @@ __FBSDID("$FreeBSD$"); * define MANIFEST_SKIP to Skip - in tests/tvo.c so that * tvo can control the value we use in find_manifest() */ +extern char *Destdir; +extern size_t DestdirLen; extern char *Skip; # undef MANIFEST_SKIP # define MANIFEST_SKIP Skip @@ -167,12 +169,21 @@ load_manifest(const char *name, const char *prefix, ve_utc_set(stp->st_mtime); content = (char *)verify_signed(name, VEF_VERBOSE); if (content) { +#ifdef UNIT_TEST + if (DestdirLen > 0 && + strncmp(name, Destdir, DestdirLen) == 0) { + name += DestdirLen; + if (prefix && + strncmp(prefix, Destdir, DestdirLen) == 0) + prefix += DestdirLen; + } +#endif fingerprint_info_add(name, prefix, skip, content, stp); add_verify_status(stp, VE_VERIFIED); loaded_manifests = 1; /* we are verifying! */ DEBUG_PRINTF(3, ("loaded: %s %s %s\n", name, prefix, skip)); - rc = 0; + rc = VE_VERIFIED; } else { rc = VE_FINGERPRINT_WRONG; add_verify_status(stp, rc); /* remember */ @@ -245,13 +256,15 @@ severity_guess(const char *filename) return (VE_WANT); } +static int Verifying = -1; /* 0 if not verifying */ + static void verify_tweak(int fd, off_t off, struct stat *stp, char *tweak, int *accept_no_fp, - int *verbose, int *verifying) + int *verbose) { if (strcmp(tweak, "off") == 0) { - *verifying = 0; + Verifying = 0; } else if (strcmp(tweak, "strict") == 0) { /* anything caller wants verified must be */ *accept_no_fp = VE_WANT; @@ -314,7 +327,59 @@ getenv_int(const char *var, int def) return (int)val; } + /** + * @brief prepare to verify an open file + * + * @param[in] fd + * open descriptor + * + * @param[in] filename + * path we opened and will use to lookup fingerprint + * + * @param[in] stp + * stat pointer so we can check file type + */ +int +verify_prep(int fd, const char *filename, off_t off, struct stat *stp, + const char *caller) +{ + int rc; + + if (Verifying < 0) { + Verifying = ve_trust_init(); +#ifndef UNIT_TEST + ve_debug_set(getenv_int("VE_DEBUG_LEVEL", VE_DEBUG_LEVEL)); +#endif + /* initialize ve_status with default result */ + rc = Verifying ? VE_NOT_CHECKED : VE_NOT_VERIFYING; + ve_status_set(0, rc); + ve_status_state = VE_STATUS_NONE; + if (Verifying) { + ve_self_tests(); + ve_anchor_verbose_set(1); + } + } + if (!Verifying || fd < 0) + return (0); + if (stp) { + if (fstat(fd, stp) < 0 || !S_ISREG(stp->st_mode)) + return (0); + } + DEBUG_PRINTF(2, + ("caller=%s,fd=%d,name='%s',off=%lld,dev=%lld,ino=%lld\n", + caller, fd, filename, (long long)off, (long long)stp->st_dev, + (long long)stp->st_ino)); + rc = is_verified(stp); + if (rc == VE_NOT_CHECKED) { + rc = find_manifest(filename); + } else { + ve_status_set(fd, rc); + } + return (rc); +} + +/** * @brief verify an open file * * @param[in] fd @@ -342,45 +407,26 @@ getenv_int(const char *var, int def) * @return >= 0 on success < 0 on failure */ int -verify_file(int fd, const char *filename, off_t off, int severity) +verify_file(int fd, const char *filename, off_t off, int severity, + const char *caller) { - static int verifying = -1; + static int once; static int accept_no_fp = ACCEPT_NO_FP_DEFAULT; static int verbose = VE_VERBOSE_DEFAULT; struct stat st; char *cp; int rc; - if (verifying < 0) { - verifying = ve_trust_init(); - verbose = getenv_int("VE_VERBOSE", VE_VERBOSE_DEFAULT); - ve_debug_set(getenv_int("VE_DEBUG_LEVEL", VE_DEBUG_LEVEL)); - /* initialize ve_status with default result */ - rc = verifying ? VE_NOT_CHECKED : VE_NOT_VERIFYING; - ve_status_set(0, rc); - ve_status_state = VE_STATUS_NONE; - if (verifying) { - ve_self_tests(); - ve_anchor_verbose_set(1); - } - } - if (!verifying) - return (0); + rc = verify_prep(fd, filename, off, &st, caller); - if (fd < 0 || fstat(fd, &st) < 0 || !S_ISREG(st.st_mode)) + if (!rc) return (0); - DEBUG_PRINTF(3, ("fd=%d,name='%s',off=%lld,dev=%lld,ino=%lld\n", - fd, filename, (long long)off, (long long)st.st_dev, - (long long)st.st_ino)); - - - rc = is_verified(&st); - if (rc != VE_NOT_CHECKED) { - ve_status_set(fd, rc); - return (rc); + if (!once) { + once++; + verbose = getenv_int("VE_VERBOSE", VE_VERBOSE_DEFAULT); } - rc = find_manifest(filename); + if (rc != VE_FINGERPRINT_WRONG && loaded_manifests) { if (severity <= VE_GUESS) severity = severity_guess(filename); @@ -392,6 +438,12 @@ verify_file(int fd, const char *filename, off_t off, i */ ve_pcr_updating_set((severity == VE_MUST)); #endif +#ifdef UNIT_TEST + if (DestdirLen > 0 && + strncmp(filename, Destdir, DestdirLen) == 0) { + filename += DestdirLen; + } +#endif if ((rc = verify_fd(fd, filename, off, &st)) >= 0) { if (verbose || severity > VE_WANT) { #if defined(VE_DEBUG_LEVEL) && VE_DEBUG_LEVEL > 0 @@ -412,8 +464,7 @@ verify_file(int fd, const char *filename, off_t off, i if (strncmp(cp, "loader.ve.", 10) == 0) { cp += 10; verify_tweak(fd, off, &st, cp, - &accept_no_fp, &verbose, - &verifying); + &accept_no_fp, &verbose); } } } Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Sun Mar 8 16:55:34 2020 (r358743) +++ head/share/mk/src.opts.mk Sun Mar 8 17:42:42 2020 (r358744) @@ -222,6 +222,7 @@ __DEFAULT_DEPENDENT_OPTIONS= \ CLANG_FULL/CLANG \ LOADER_VERIEXEC/BEARSSL \ LOADER_EFI_SECUREBOOT/LOADER_VERIEXEC \ + LOADER_VERIEXEC_VECTX/LOADER_VERIEXEC \ VERIEXEC/BEARSSL \ # MK_*_SUPPORT options which default to "yes" unless their corresponding Modified: head/stand/common/bootstrap.h ============================================================================== --- head/stand/common/bootstrap.h Sun Mar 8 16:55:34 2020 (r358743) +++ head/stand/common/bootstrap.h Sun Mar 8 17:42:42 2020 (r358744) @@ -33,6 +33,8 @@ #include #include +#include "readin.h" + /* Commands and return values; nonzero return sets command_errmsg != NULL */ typedef int (bootblk_cmd_t)(int argc, char *argv[]); #define COMMAND_ERRBUFSZ (256) @@ -70,8 +72,8 @@ void hexdump(caddr_t region, size_t len); size_t strlenout(vm_offset_t str); char *strdupout(vm_offset_t str); void kern_bzero(vm_offset_t dest, size_t len); -int kern_pread(int fd, vm_offset_t dest, size_t len, off_t off); -void *alloc_pread(int fd, off_t off, size_t len); +int kern_pread(readin_handle_t fd, vm_offset_t dest, size_t len, off_t off); +void *alloc_pread(readin_handle_t fd, off_t off, size_t len); /* bcache.c */ void bcache_init(size_t nblks, size_t bsize); @@ -303,7 +305,7 @@ struct arch_switch ssize_t (*arch_copyout)(const vm_offset_t src, void *dest, const size_t len); /* Read from file to module address space, same semantics as read() */ - ssize_t (*arch_readin)(const int fd, vm_offset_t dest, + ssize_t (*arch_readin)(readin_handle_t fd, vm_offset_t dest, const size_t len); /* Perform ISA byte port I/O (only for systems with ISA) */ int (*arch_isainb)(int port); @@ -347,10 +349,6 @@ time_t time(time_t *tloc); #ifndef CTASSERT #define CTASSERT(x) _Static_assert(x, "compile-time assertion failed") -#endif - -#ifdef LOADER_VERIEXEC -#include #endif #endif /* !_BOOTSTRAP_H_ */ Modified: head/stand/common/interp_forth.c ============================================================================== --- head/stand/common/interp_forth.c Sun Mar 8 16:55:34 2020 (r358743) +++ head/stand/common/interp_forth.c Sun Mar 8 17:42:42 2020 (r358744) @@ -284,7 +284,7 @@ bf_init(void) /* try to load and run init file if present */ if ((fd = open("/boot/boot.4th", O_RDONLY)) != -1) { #ifdef LOADER_VERIEXEC - if (verify_file(fd, "/boot/boot.4th", 0, VE_GUESS) < 0) { + if (verify_file(fd, "/boot/boot.4th", 0, VE_GUESS, __func__) < 0) { close(fd); return; } @@ -386,7 +386,7 @@ interp_include(const char *filename) } #ifdef LOADER_VERIEXEC - if (verify_file(fd, filename, 0, VE_GUESS) < 0) { + if (verify_file(fd, filename, 0, VE_GUESS, __func__) < 0) { close(fd); sprintf(command_errbuf,"can't verify '%s'", filename); return(CMD_ERROR); Modified: head/stand/common/interp_simple.c ============================================================================== --- head/stand/common/interp_simple.c Sun Mar 8 16:55:34 2020 (r358743) +++ head/stand/common/interp_simple.c Sun Mar 8 17:42:42 2020 (r358744) @@ -97,7 +97,7 @@ interp_include(const char *filename) } #ifdef LOADER_VERIEXEC - if (verify_file(fd, filename, 0, VE_GUESS) < 0) { + if (verify_file(fd, filename, 0, VE_GUESS, __func__) < 0) { close(fd); sprintf(command_errbuf,"can't verify '%s'", filename); return(CMD_ERROR); Modified: head/stand/common/load_elf.c ============================================================================== --- head/stand/common/load_elf.c Sun Mar 8 16:55:34 2020 (r358743) +++ head/stand/common/load_elf.c Sun Mar 8 17:42:42 2020 (r358744) @@ -71,8 +71,17 @@ typedef struct elf_file { size_t firstlen; int kernel; uint64_t off; +#ifdef LOADER_VERIEXEC_VECTX + struct vectx *vctx; +#endif } *elf_file_t; +#ifdef LOADER_VERIEXEC_VECTX +#define VECTX_HANDLE(ef) (ef)->vctx +#else +#define VECTX_HANDLE(ef) (ef)->fd +#endif + static int __elfN(loadimage)(struct preloaded_file *mp, elf_file_t ef, uint64_t loadaddr); static int __elfN(lookup_symbol)(struct preloaded_file *mp, elf_file_t ef, @@ -214,7 +223,20 @@ __elfN(load_elf_header)(char *filename, elf_file_t ef) close(ef->fd); return (ENOMEM); } - bytes_read = read(ef->fd, ef->firstpage, PAGE_SIZE); +#ifdef LOADER_VERIEXEC_VECTX + { + int verror; + + ef->vctx = vectx_open(ef->fd, filename, 0L, NULL, &verror, __func__); + if (verror) { + printf("Unverified %s: %s\n", filename, ve_error_get()); + close(ef->fd); + free(ef->vctx); + return (EAUTH); + } + } +#endif + bytes_read = VECTX_READ(VECTX_HANDLE(ef), ef->firstpage, PAGE_SIZE); ef->firstlen = (size_t)bytes_read; if (bytes_read < 0 || ef->firstlen <= sizeof(Elf_Ehdr)) { err = EFTYPE; /* could be EIO, but may be small file */ @@ -245,10 +267,10 @@ __elfN(load_elf_header)(char *filename, elf_file_t ef) goto error; } -#ifdef LOADER_VERIEXEC - if (verify_file(ef->fd, filename, bytes_read, VE_MUST) < 0) { - err = EAUTH; - goto error; +#if defined(LOADER_VERIEXEC) && !defined(LOADER_VERIEXEC_VECTX) + if (verify_file(ef->fd, filename, bytes_read, VE_MUST, __func__) < 0) { + err = EAUTH; + goto error; } #endif return (0); @@ -259,6 +281,9 @@ error: ef->firstpage = NULL; } if (ef->fd != -1) { +#ifdef LOADER_VERIEXEC_VECTX + free(ef->vctx); +#endif close(ef->fd); ef->fd = -1; } @@ -415,8 +440,20 @@ oerr: out: if (ef.firstpage) free(ef.firstpage); - if (ef.fd != -1) + if (ef.fd != -1) { +#ifdef LOADER_VERIEXEC_VECTX + if (!err && ef.vctx) { + int verror; + + verror = vectx_close(ef.vctx, VE_MUST, __func__); + if (verror) { + err = EAUTH; + file_discard(fp); + } + } +#endif close(ef.fd); + } return (err); } @@ -562,7 +599,8 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_ phdr[i].p_vaddr + off, fpcopy); } if (phdr[i].p_filesz > fpcopy) { - if (kern_pread(ef->fd, phdr[i].p_vaddr + off + fpcopy, + if (kern_pread(VECTX_HANDLE(ef), + phdr[i].p_vaddr + off + fpcopy, phdr[i].p_filesz - fpcopy, phdr[i].p_offset + fpcopy) != 0) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) @@ -606,7 +644,7 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_ chunk = (size_t)ehdr->e_shnum * (size_t)ehdr->e_shentsize; if (chunk == 0 || ehdr->e_shoff == 0) goto nosyms; - shdr = alloc_pread(ef->fd, ehdr->e_shoff, chunk); + shdr = alloc_pread(VECTX_HANDLE(ef), ehdr->e_shoff, chunk); if (shdr == NULL) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) "_loadimage: failed to read section headers"); @@ -625,8 +663,8 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_ */ chunk = shdr[ehdr->e_shstrndx].sh_size; if (chunk) { - shstr = alloc_pread(ef->fd, shdr[ehdr->e_shstrndx].sh_offset, - chunk); + shstr = alloc_pread(VECTX_HANDLE(ef), + shdr[ehdr->e_shstrndx].sh_offset, chunk); if (shstr) { for (i = 0; i < ehdr->e_shnum; i++) { if (strcmp(shstr + shdr[i].sh_name, @@ -716,14 +754,14 @@ __elfN(loadimage)(struct preloaded_file *fp, elf_file_ printf("0x%lx+0x%lx", (long)sizeof(size), (long)size); #endif - if (lseek(ef->fd, (off_t)shdr[i].sh_offset, SEEK_SET) == -1) { + if (VECTX_LSEEK(VECTX_HANDLE(ef), (off_t)shdr[i].sh_offset, SEEK_SET) == -1) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) "_loadimage: could not seek for symbols - skipped!"); lastaddr = ssym; ssym = 0; goto nosyms; } - result = archsw.arch_readin(ef->fd, lastaddr, shdr[i].sh_size); + result = archsw.arch_readin(VECTX_HANDLE(ef), lastaddr, shdr[i].sh_size); if (result < 0 || (size_t)result != shdr[i].sh_size) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) "_loadimage: could not read symbols - skipped! " @@ -933,14 +971,14 @@ __elfN(load_modmetadata)(struct preloaded_file *fp, ui } size = (size_t)ef.ehdr->e_shnum * (size_t)ef.ehdr->e_shentsize; - shdr = alloc_pread(ef.fd, ef.ehdr->e_shoff, size); + shdr = alloc_pread(VECTX_HANDLE(&ef), ef.ehdr->e_shoff, size); if (shdr == NULL) { err = ENOMEM; goto out; } /* Load shstrtab. */ - shstrtab = alloc_pread(ef.fd, shdr[ef.ehdr->e_shstrndx].sh_offset, + shstrtab = alloc_pread(VECTX_HANDLE(&ef), shdr[ef.ehdr->e_shstrndx].sh_offset, shdr[ef.ehdr->e_shstrndx].sh_size); if (shstrtab == NULL) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) @@ -969,7 +1007,7 @@ __elfN(load_modmetadata)(struct preloaded_file *fp, ui } /* Load set_modmetadata_set into memory */ - err = kern_pread(ef.fd, dest, sh_meta->sh_size, sh_meta->sh_offset); + err = kern_pread(VECTX_HANDLE(&ef), dest, sh_meta->sh_size, sh_meta->sh_offset); if (err != 0) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) "load_modmetadata: unable to load set_modmetadata_set: %d\n", err); @@ -980,7 +1018,7 @@ __elfN(load_modmetadata)(struct preloaded_file *fp, ui dest += sh_meta->sh_size; /* Load data sections into memory. */ - err = kern_pread(ef.fd, dest, sh_data[0]->sh_size, + err = kern_pread(VECTX_HANDLE(&ef), dest, sh_data[0]->sh_size, sh_data[0]->sh_offset); if (err != 0) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) @@ -995,7 +1033,7 @@ __elfN(load_modmetadata)(struct preloaded_file *fp, ui ef.off = -(sh_data[0]->sh_addr - dest); dest += (sh_data[1]->sh_addr - sh_data[0]->sh_addr); - err = kern_pread(ef.fd, dest, sh_data[1]->sh_size, + err = kern_pread(VECTX_HANDLE(&ef), dest, sh_data[1]->sh_size, sh_data[1]->sh_offset); if (err != 0) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) @@ -1017,8 +1055,20 @@ out: free(shdr); if (ef.firstpage != NULL) free(ef.firstpage); - if (ef.fd != -1) + if (ef.fd != -1) { +#ifdef LOADER_VERIEXEC_VECTX + if (!err && ef.vctx) { + int verror; + + verror = vectx_close(ef.vctx, VE_MUST, __func__); + if (verror) { + err = EAUTH; + file_discard(fp); + } + } +#endif close(ef.fd); + } return (err); } Modified: head/stand/common/load_elf_obj.c ============================================================================== --- head/stand/common/load_elf_obj.c Sun Mar 8 16:55:34 2020 (r358743) +++ head/stand/common/load_elf_obj.c Sun Mar 8 17:42:42 2020 (r358744) @@ -60,8 +60,17 @@ typedef struct elf_file { int fd; vm_offset_t off; +#ifdef LOADER_VERIEXEC_VECTX + struct vectx *vctx; +#endif } *elf_file_t; +#ifdef LOADER_VERIEXEC_VECTX +#define VECTX_HANDLE(ef) (ef)->vctx +#else +#define VECTX_HANDLE(ef) (ef)->fd +#endif + static int __elfN(obj_loadimage)(struct preloaded_file *mp, elf_file_t ef, uint64_t loadaddr); static int __elfN(obj_lookup_set)(struct preloaded_file *mp, elf_file_t ef, @@ -100,9 +109,22 @@ __elfN(obj_loadfile)(char *filename, uint64_t dest, return(EFTYPE); if ((ef.fd = open(filename, O_RDONLY)) == -1) return(errno); +#ifdef LOADER_VERIEXEC_VECTX + { + int verror; + ef.vctx = vectx_open(ef.fd, filename, 0L, NULL, &verror, __func__); + if (verror) { + printf("Unverified %s: %s\n", filename, ve_error_get()); + close(ef.fd); + free(ef.vctx); + return (EAUTH); + } + } +#endif + hdr = &ef.hdr; - bytes_read = read(ef.fd, hdr, sizeof(*hdr)); + bytes_read = VECTX_READ(VECTX_HANDLE(&ef), hdr, sizeof(*hdr)); if (bytes_read != sizeof(*hdr)) { err = EFTYPE; /* could be EIO, but may be small file */ goto oerr; @@ -129,10 +151,10 @@ __elfN(obj_loadfile)(char *filename, uint64_t dest, goto oerr; } -#ifdef LOADER_VERIEXEC - if (verify_file(ef.fd, filename, bytes_read, VE_MUST) < 0) { - err = EAUTH; - goto oerr; +#if defined(LOADER_VERIEXEC) && !defined(LOADER_VERIEXEC_VECTX) + if (verify_file(ef.fd, filename, bytes_read, VE_MUST, __func__) < 0) { + err = EAUTH; + goto oerr; } #endif @@ -181,6 +203,17 @@ ioerr: oerr: file_discard(fp); out: +#ifdef LOADER_VERIEXEC_VECTX + if (!err && ef.vctx) { + int verror; + + verror = vectx_close(ef.vctx, VE_MUST, __func__); + if (verror) { + err = EAUTH; + file_discard(fp); + } + } +#endif close(ef.fd); if (ef.e_shdr != NULL) free(ef.e_shdr); @@ -207,7 +240,7 @@ __elfN(obj_loadimage)(struct preloaded_file *fp, elf_f /* Read in the section headers. */ shdrbytes = hdr->e_shnum * hdr->e_shentsize; - shdr = alloc_pread(ef->fd, (off_t)hdr->e_shoff, shdrbytes); + shdr = alloc_pread(VECTX_HANDLE(ef), (off_t)hdr->e_shoff, shdrbytes); if (shdr == NULL) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) "_obj_loadimage: read section headers failed\n"); @@ -328,7 +361,7 @@ __elfN(obj_loadimage)(struct preloaded_file *fp, elf_f if (cshdr == lshdr) break; - if (kern_pread(ef->fd, (vm_offset_t)cshdr->sh_addr, + if (kern_pread(VECTX_HANDLE(ef), (vm_offset_t)cshdr->sh_addr, cshdr->sh_size, (off_t)cshdr->sh_offset) != 0) { printf("\nelf" __XSTRING(__ELF_WORD_SIZE) "_obj_loadimage: read failed\n"); Modified: head/stand/common/misc.c ============================================================================== --- head/stand/common/misc.c Sun Mar 8 16:55:34 2020 (r358743) +++ head/stand/common/misc.c Sun Mar 8 17:42:42 2020 (r358744) @@ -116,10 +116,10 @@ kern_bzero(vm_offset_t dest, size_t len) * and it just returns 0 if successful. */ int -kern_pread(int fd, vm_offset_t dest, size_t len, off_t off) +kern_pread(readin_handle_t fd, vm_offset_t dest, size_t len, off_t off) { - if (lseek(fd, off, SEEK_SET) == -1) { + if (VECTX_LSEEK(fd, off, SEEK_SET) == -1) { #ifdef DEBUG printf("\nlseek failed\n"); #endif @@ -140,7 +140,7 @@ kern_pread(int fd, vm_offset_t dest, size_t len, off_t */ /* coverity[ -tainted_data_return ] */ void * -alloc_pread(int fd, off_t off, size_t len) +alloc_pread(readin_handle_t fd, off_t off, size_t len) { void *buf; @@ -152,14 +152,14 @@ alloc_pread(int fd, off_t off, size_t len) errno = ENOMEM; return (NULL); } - if (lseek(fd, off, SEEK_SET) == -1) { + if (VECTX_LSEEK(fd, off, SEEK_SET) == -1) { #ifdef DEBUG printf("\nlseek failed\n"); #endif free(buf); return (NULL); } - if ((size_t)read(fd, buf, len) != len) { + if ((size_t)VECTX_READ(fd, buf, len) != len) { #ifdef DEBUG printf("\nread failed\n"); #endif Modified: head/stand/common/module.c ============================================================================== --- head/stand/common/module.c Sun Mar 8 16:55:34 2020 (r358743) +++ head/stand/common/module.c Sun Mar 8 17:42:42 2020 (r358744) @@ -616,6 +616,14 @@ file_load_dependencies(struct preloaded_file *base_fil return (error); } + +#ifdef LOADER_VERIEXEC_VECTX +#define VECTX_HANDLE(fd) vctx +#else +#define VECTX_HANDLE(fd) fd +#endif + + /* * We've been asked to load (fname) as (type), so just suck it in, * no arguments or anything. @@ -627,6 +635,10 @@ file_loadraw(const char *fname, char *type, int insert char *name; int fd, got; vm_offset_t laddr; +#ifdef LOADER_VERIEXEC_VECTX + struct vectx *vctx; + int verror; +#endif /* We can't load first */ if ((file_findfile(NULL, NULL)) == NULL) { @@ -649,14 +661,27 @@ file_loadraw(const char *fname, char *type, int insert return(NULL); } +#ifdef LOADER_VERIEXEC_VECTX + vctx = vectx_open(fd, name, 0L, NULL, &verror, __func__); + if (verror) { + sprintf(command_errbuf, "can't verify '%s': %s", + name, ve_error_get()); + free(name); + free(vctx); + close(fd); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Sun Mar 8 18:44:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EC7802720A0; Sun, 8 Mar 2020 18:44:46 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-il1-f169.google.com (mail-il1-f169.google.com [209.85.166.169]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48b9JG4S92z4dpK; Sun, 8 Mar 2020 18:44:46 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-il1-f169.google.com with SMTP id g126so6686240ilh.2; Sun, 08 Mar 2020 11:44:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=xku9TCUotPWcccqHGTqXmMmdNOXS1j7c7BfzClpGS1E=; b=NlvUizXWBpfVtsbTUk1rzvpVkWC5+IaKY/m0MhdAl/f/Ra/ufIY2lvH8KiwZoTYJ5s 9LEHrbqIXMOuH54zcF8RGl9o3XuKYYyn33xBDxdzYXr+4T5yF5omb/8xxAemmupRCY0V 3mDthmpkZnJq1ykVNePOelaIwQdK6g2Nqna2EyJz4QKB8gaFhzegf4k2hW8JrBmAa5+d kH5Dc1vic88ViIqg4i4A0znDTkrT5jDOOIpRWjKlTddmoeD/YdhpBnRatrWDIGUL/hIo n32EQQiWa8YSbGsTywaWgIjbkCq77ADgLPRpgtLp9mIQ7MPW0m3X4ewifPp8Eq+lMz6N +uUQ== X-Gm-Message-State: ANhLgQ1EFBYPr2xrV94yL3JrOtGGnh8oltw5nSCupoP4pY9YvTYu8hqp hNp8W8IrNx1593BO8+lFiYNfyjEIPe5MVLi2RoqJLh7YddI= X-Google-Smtp-Source: ADFU+vv1MJLdRndPSmVSAAOkNLGVBzANCRhenhA+4yw2eBI7gCZ4y0U2xq1za3OeSXpP7Sjcs6lbKIPV0dNecEDIL3s= X-Received: by 2002:a92:41c7:: with SMTP id o190mr2185510ila.11.1583693084054; Sun, 08 Mar 2020 11:44:44 -0700 (PDT) MIME-Version: 1.0 References: <202003081742.028HghCd086246@repo.freebsd.org> In-Reply-To: <202003081742.028HghCd086246@repo.freebsd.org> From: Ed Maste Date: Sun, 8 Mar 2020 14:44:32 -0400 Message-ID: Subject: Re: svn commit: r358744 - in head: lib/libsecureboot lib/libsecureboot/h lib/libsecureboot/tests share/mk stand stand/common stand/efi/loader stand/efi/loader/arch/i386 stand/ficl stand/i386/libi386 st... To: "Simon J. Gerraty" Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48b9JG4S92z4dpK X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.92 / 15.00]; NEURAL_HAM_MEDIUM(-0.92)[-0.917,0]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2020 18:44:47 -0000 On Sun, 8 Mar 2020 at 13:42, Simon J. Gerraty wrote: > > Author: sjg > Date: Sun Mar 8 17:42:42 2020 > New Revision: 358744 > URL: https://svnweb.freebsd.org/changeset/base/358744 > > Log: > veloader use vectx API for kernel and modules CI reports the build is now broken: 18:12:46 --- geliboot.o --- 18:12:46 In file included from /usr/src/stand/libsa/geli/geliboot.c:33: 18:12:46 In file included from /usr/src/stand/libsa/geli/geliboot_internal.h:43: 18:12:46 /usr/src/stand/common/bootstrap.h:36:10: fatal error: 'readin.h' file not found 18:12:46 #include "readin.h" 18:12:46 ^~~~~~~~~~ From owner-svn-src-head@freebsd.org Sun Mar 8 18:48:02 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 635AB272206; Sun, 8 Mar 2020 18:48:02 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48b9N13r83z3Jnt; Sun, 8 Mar 2020 18:48:01 +0000 (UTC) (envelope-from sjg@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 70ACF2637B; Sun, 8 Mar 2020 18:48:01 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 028Im1Dr024650; Sun, 8 Mar 2020 18:48:01 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 028Im1Ov024649; Sun, 8 Mar 2020 18:48:01 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <202003081848.028Im1Ov024649@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Sun, 8 Mar 2020 18:48:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358767 - head/stand/common X-SVN-Group: head X-SVN-Commit-Author: sjg X-SVN-Commit-Paths: head/stand/common X-SVN-Commit-Revision: 358767 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2020 18:48:02 -0000 Author: sjg Date: Sun Mar 8 18:48:01 2020 New Revision: 358767 URL: https://svnweb.freebsd.org/changeset/base/358767 Log: veloader use vectx API for kernel and modules The vectx API, computes the hash for verifying a file as it is read. This avoids the overhead of reading files twice - once to verify, then again to load. For doing an install via loader, avoiding the need to rewind large files is critical. This API is only used for modules, kernel and mdimage as these are the biggest files read by the loader. The reduction in boot time depends on how expensive the I/O is on any given platform. On a fast VM we see 6% improvement. For install via loader the first file to be verified is likely to be the kernel, so some of the prep work (finding manifest etc) done by verify_file() needs to be factored so it can be reused for vectx_open(). For missing or unrecognized fingerprint entries, we fail in vectx_open() unless verifying is disabled. Otherwise fingerprint check happens in vectx_close() and since this API is only used for files which must be verified (VE_MUST) we panic if we get an incorrect hash. Reviewed by: imp,tsoome MFC after: 1 week Sponsored by: Juniper Networks Differential Revision: https://reviews.freebsd.org//D23827 Added: head/stand/common/readin.h (contents, props changed) Added: head/stand/common/readin.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/stand/common/readin.h Sun Mar 8 18:48:01 2020 (r358767) @@ -0,0 +1,43 @@ +/*- + * Copyright (c) 2020, Juniper Networks, Inc. + * + * 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$ + */ +#ifndef _READIN_H_ +#define _READIN_H_ + +#ifdef LOADER_VERIEXEC +#include +#endif +#ifdef LOADER_VERIEXEC_VECTX +typedef struct vectx * readin_handle_t; +#define VECTX_READ vectx_read +#define VECTX_LSEEK vectx_lseek +#else +typedef int readin_handle_t; +#define VECTX_READ read +#define VECTX_LSEEK lseek +#endif + +#endif /* !_READIN_H_ */ From owner-svn-src-head@freebsd.org Sun Mar 8 18:50:20 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4B8402722D1; Sun, 8 Mar 2020 18:50:20 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from mx0a-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.pphosted.com", Issuer "Thawte RSA CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48b9Qg3MlMz3Q4p; Sun, 8 Mar 2020 18:50:19 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from pps.filterd (m0108158.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 028InPXq006217; Sun, 8 Mar 2020 11:50:17 -0700 Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2104.outbound.protection.outlook.com [104.47.58.104]) by mx0a-00273201.pphosted.com with ESMTP id 2yn4wt82c4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 08 Mar 2020 11:50:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YQGC+sZo21eRwtlXyciB/za/s26cgX1aA/J9gM7lLX0+yF8SN6vlyFqn3h12wzhXVIIiLIQfwTzl/cDSl1EvZRLZZaJVcI8mlBtp9hhU0GFviqlyeyuUlcdqpYByftLYltkr49XIdGZa1v3Rf8JxyehblRVDEtmhasKvSo17bgMsAYFiz/jS1o9N0cRVIRjGpMCRUfIDsiLESDB66Ry4l1Yb1oHstPd0p5wOH589UKYHMM5vxFTwie78+EPM52g3kq6DUCIwheeLzfVnh6c+z9SGerm6B2hdj5/bUUlYX024Ugag9w0mYY6+sdRkA3H8gELUEFBncDjvCSaPkcQzqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ff5F3tTCrabfxVegpQ0E4xZC+p04ee7/iNEz5zCiEYQ=; b=PVrgK2hcIzTXbM4Wzop/u1LYOuy9UJInB7VfV7MuB8R3kiNWb5901n3ioIQmnWkQDRpmqwj25l/eVI/UrRD0eM23/2CUhPOUr86R/l5R/OJkV/IqUH/zJKy1uZihntqF3kgPyMOMt3GxWWYYBmI49CqM/cWqfvGy4ODjrfDDJqUSjN70QS9Pi7h4Dl4KT2egINODLJjcKIxetZTfTXIIeuYIS/xHQI8zeIz+KjIHu28sLgOKQF0XjcoZR1LEftToiwKHJN0Eh2nOC3o4TJBrFnoTDhfT5WnReUMcpXpVe3dcU+1NmoK+/ozou4+sggGo2IVk32QvDmS1BPrm5H1e9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 66.129.242.12) smtp.rcpttodomain=freebsd.org smtp.mailfrom=juniper.net; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=juniper.net; dkim=none (message not signed); arc=none Received: from MWHPR14CA0058.namprd14.prod.outlook.com (2603:10b6:300:81::20) by BYAPR05MB4679.namprd05.prod.outlook.com (2603:10b6:a03:4d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.6; Sun, 8 Mar 2020 18:50:14 +0000 Received: from CO1NAM05FT045.eop-nam05.prod.protection.outlook.com (2603:10b6:300:81:cafe::a8) by MWHPR14CA0058.outlook.office365.com (2603:10b6:300:81::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.17 via Frontend Transport; Sun, 8 Mar 2020 18:50:14 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.242.12 as permitted sender) Received: from P-EXFEND-EQX-01.jnpr.net (66.129.242.12) by CO1NAM05FT045.mail.protection.outlook.com (10.152.96.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2814.6 via Frontend Transport; Sun, 8 Mar 2020 18:50:14 +0000 Received: from P-EXBEND-EQX-02.jnpr.net (10.104.8.53) by P-EXFEND-EQX-01.jnpr.net (10.104.8.54) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 8 Mar 2020 11:50:13 -0700 Received: from P-EXBEND-EQX-01.jnpr.net (10.104.8.52) by P-EXBEND-EQX-02.jnpr.net (10.104.8.53) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 8 Mar 2020 11:50:13 -0700 Received: from p-mailhub01.juniper.net (10.104.20.6) by P-EXBEND-EQX-01.jnpr.net (10.104.8.52) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Sun, 8 Mar 2020 11:50:13 -0700 Received: from kaos.jnpr.net (kaos.jnpr.net [172.23.50.162]) by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id 028IoCD2017564; Sun, 8 Mar 2020 11:50:12 -0700 (envelope-from sjg@juniper.net) Received: by kaos.jnpr.net (Postfix, from userid 1377) id 4040937CA9; Sun, 8 Mar 2020 11:50:12 -0700 (PDT) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id 3E96037CA8; Sun, 8 Mar 2020 11:50:12 -0700 (PDT) To: Ed Maste CC: src-committers , svn-src-all , svn-src-head , Subject: Re: svn commit: r358744 - in head: lib/libsecureboot lib/libsecureboot/h lib/libsecureboot/tests share/mk stand stand/common stand/efi/loader stand/efi/loader/arch/i386 stand/ficl stand/i386/libi386 st... In-Reply-To: References: <202003081742.028HghCd086246@repo.freebsd.org> Comments: In-reply-to: Ed Maste message dated "Sun, 08 Mar 2020 14:44:32 -0400." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 26.3 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <11931.1583693412.1@kaos.jnpr.net> Content-Transfer-Encoding: quoted-printable Date: Sun, 8 Mar 2020 11:50:12 -0700 Message-ID: <13293.1583693412@kaos.jnpr.net> X-EXCLAIMER-MD-CONFIG: e3cb0ff2-54e7-4646-8a04-0dae4ac7b136 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:66.129.242.12; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(4636009)(376002)(136003)(396003)(39860400002)(346002)(199004)(189003)(6916009)(9686003)(7696005)(6266002)(4744005)(26005)(7126003)(316002)(86362001)(5660300002)(4326008)(8936002)(450100002)(107886003)(54906003)(8676002)(2906002)(356004)(81156014)(81166006)(336012)(70586007)(70206006)(966005)(26826003)(478600001)(186003)(55016002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR05MB4679; H:P-EXFEND-EQX-01.jnpr.net; FPR:; SPF:SoftFail; LANG:en; PTR:InfoDomainNonexistent; A:1; MX:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8a5f577b-c351-449b-0dda-08d7c39189ad X-MS-TrafficTypeDiagnostic: BYAPR05MB4679: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2150; X-Forefront-PRVS: 03361FCC43 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FlJbPrbbiEntXHm2uqk/aB7ZEDbXGAHR2Flh9b+ti3axU/hCw2+K0SGJLiWszju1hGWLfmxaR0TA8bT0KfHkM8MnQsSc7ueS08154zbT0Z+iWvQbJVOlY6IJcILZV5olrv8cfDvfo9vmblChaFiiBHUxUDkMhoeco3XwAqyY8GLdc7NUQvgyeuvPKbcZ2wXf7ry8YOYdMqY6MAhwvCFOlj1xotTHaSAvsEe7/X5DC8LTLRIAfnXgLMi1OgntiZCf6tH8MaA/dwv9TPvWUtGq6qsSRCuB2Jzrv8bLV07qzPArb1OX1LIbKHU3fgQzHIShM3hkvvk0I7Oi49HpJvd1KkXe6nk4WGK7pmjhCjY0eas6n3hE/gm32t+KOVf5TWWjWpMwjWlP4xvhDPsNDSrRuMrllkwPmqI4GhkAsM2JuiKy5IyeG1v5P7B11+i7lP07OcnXEGLUCsH+JBbyRajCrCEqPc9w3P5DCm/UNp+D4BT29bU+7MxW+g3QaiN9pNzm40D/5YXfHlLPcHSDCOTeFg== X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2020 18:50:14.2659 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8a5f577b-c351-449b-0dda-08d7c39189ad X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.242.12]; Helo=[P-EXFEND-EQX-01.jnpr.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR05MB4679 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-03-08_06:2020-03-06, 2020-03-08 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 spamscore=0 lowpriorityscore=0 malwarescore=0 mlxlogscore=838 adultscore=0 mlxscore=0 priorityscore=1501 phishscore=0 clxscore=1011 impostorscore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2001150001 definitions=main-2003080140 X-Rspamd-Queue-Id: 48b9Qg3MlMz3Q4p X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.27 / 15.00]; REPLY(-4.00)[]; NEURAL_SPAM_MEDIUM(0.72)[0.717,0]; NEURAL_HAM_LONG(-0.99)[-0.992,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2020 18:50:20 -0000 Sorry, this header was in the diff I checked just before commit, but somehow it got left behind. Should be fixed now. r358767 Ed Maste wrote: > On Sun, 8 Mar 2020 at 13:42, Simon J. Gerraty wrote: > > > > Author: sjg > > Date: Sun Mar 8 17:42:42 2020 > > New Revision: 358744 > > URL: https://urldefense.com/v3/__https://svnweb.freebsd.org/changeset/= base/358744__;!!NEt6yMaO-gk!UN1BS-3MIiR9SzEXAP4CaXw9L8Y3jVsZwKB6fbjrjIiZGg= rRXFp5uE0oPx-XgA$ = > > > > Log: > > veloader use vectx API for kernel and modules > = > CI reports the build is now broken: > 18:12:46 --- geliboot.o --- > 18:12:46 In file included from /usr/src/stand/libsa/geli/geliboot.c:33: > 18:12:46 In file included from /usr/src/stand/libsa/geli/geliboot_intern= al.h:43: > 18:12:46 /usr/src/stand/common/bootstrap.h:36:10: fatal error: > 'readin.h' file not found > 18:12:46 #include "readin.h" > 18:12:46 ^~~~~~~~~~ From owner-svn-src-head@freebsd.org Sun Mar 8 21:25:38 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 10AE9276B59; Sun, 8 Mar 2020 21:25:38 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bDss4F5kz47K7; Sun, 8 Mar 2020 21:25:37 +0000 (UTC) (envelope-from emaste@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 F042C3AB; Sun, 8 Mar 2020 21:25:36 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 028LPa4Z026495; Sun, 8 Mar 2020 21:25:36 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 028LPa8e026494; Sun, 8 Mar 2020 21:25:36 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003082125.028LPa8e026494@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sun, 8 Mar 2020 21:25:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358788 - head/share/man/man7 X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/man/man7 X-SVN-Commit-Revision: 358788 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2020 21:25:38 -0000 Author: emaste Date: Sun Mar 8 21:25:36 2020 New Revision: 358788 URL: https://svnweb.freebsd.org/changeset/base/358788 Log: arch.7: remove sparc64 references sparc64 was removed from the tree, so remove references here (except for the supported release table). Sponsored by: The FreeBSD Foundation Modified: head/share/man/man7/arch.7 Modified: head/share/man/man7/arch.7 ============================================================================== --- head/share/man/man7/arch.7 Sun Mar 8 21:21:47 2020 (r358787) +++ head/share/man/man7/arch.7 Sun Mar 8 21:25:36 2020 (r358788) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 8, 2020 +.Dd March 8, 2020 .Dt ARCH 7 .Os .Sh NAME @@ -69,7 +69,6 @@ and should be avoided. .Pp On some architectures, e.g., -.Dv sparc64 , .Dv powerpc and AIM variants of .Dv powerpc64 , @@ -210,7 +209,6 @@ Machine-dependent type sizes: .It powerpc64 Ta 8 Ta 8 Ta 8 .It riscv64 Ta 8 Ta 16 Ta 8 .It riscv64sf Ta 8 Ta 16 Ta 8 -.It sparc64 Ta 8 Ta 16 Ta 8 .El .Pp .Sy time_t @@ -237,7 +235,6 @@ is 8 bytes on all supported architectures except i386. .It powerpc64 Ta big Ta unsigned .It riscv64 Ta little Ta signed .It riscv64sf Ta little Ta signed -.It sparc64 Ta big Ta signed .El .Ss Page Size .Bl -column -offset indent "Sy Architecture" "Sy Page Sizes" @@ -261,7 +258,6 @@ is 8 bytes on all supported architectures except i386. .It powerpc64 Ta 4K .It riscv64 Ta 4K .It riscv64sf Ta 4K -.It sparc64 Ta 8K .El .Ss Floating Point .Bl -column -offset indent "Sy Architecture" "Sy float, double" "Sy long double" @@ -285,7 +281,6 @@ is 8 bytes on all supported architectures except i386. .It powerpc64 Ta hard Ta hard, double precision .It riscv64 Ta hard Ta hard, double precision .It riscv64sf Ta soft Ta soft, double precision -.It sparc64 Ta hard Ta hard, quad precision .El .Ss Default Tool Chain .Fx uses a variety of tool chain components for the supported CPU @@ -321,7 +316,6 @@ This table shows the default tool chain for each archi .It powerpc64 Ta Clang Ta lld .It riscv64 Ta Clang Ta lld .It riscv64sf Ta Clang Ta lld -.It sparc64 Ta GCC(1) Ta GNU ld(1) .El .Pp (1) External toolchain provided by ports/packages. @@ -330,7 +324,7 @@ Note that GCC 4.2.1 is deprecated, and scheduled for r Any CPU architectures not migrated by then (to either base system Clang or external toolchain) may be removed from the tree after that date. -make universe will not build mips or sparc64 +make universe will not build mips architectures unless the xtoolchain binaries have been installed for the architecture. .Ss MACHINE_ARCH vs MACHINE_CPUARCH vs MACHINE @@ -353,7 +347,6 @@ or similar things like boot sequences. .It mips Ta mips Ta mips, mipsel, mips64, mips64el, mipshf, mipselhf, mips64elhf, mipsn32 .It powerpc Ta powerpc Ta powerpc, powerpcspe, powerpc64 .It riscv Ta riscv Ta riscv64, riscv64sf -.It sparc64 Ta sparc64 Ta sparc64 .El .Ss Predefined Macros The compiler provides a number of predefined macros. @@ -399,7 +392,6 @@ Architecture-specific macros: .It powerpc64 Ta Dv __powerpc__, Dv __powerpc64__ .It riscv64 Ta Dv __riscv, Dv __riscv_xlen == 64 .It riscv64sf Ta Dv __riscv, Dv __riscv_xlen == 64 -.It sparc64 Ta Dv __sparc64__ .El .Pp Compilers may define additional variants of architecture-specific macros. From owner-svn-src-head@freebsd.org Sun Mar 8 21:30:57 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0CA0A276C6D; Sun, 8 Mar 2020 21:30:57 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bF005C6Zz4Mdl; Sun, 8 Mar 2020 21:30:56 +0000 (UTC) (envelope-from emaste@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 603123D6; Sun, 8 Mar 2020 21:30:56 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 028LUur9026888; Sun, 8 Mar 2020 21:30:56 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 028LUuBI026866; Sun, 8 Mar 2020 21:30:56 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003082130.028LUuBI026866@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sun, 8 Mar 2020 21:30:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358789 - head/share/man/man7 X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/man/man7 X-SVN-Commit-Revision: 358789 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2020 21:30:57 -0000 Author: emaste Date: Sun Mar 8 21:30:55 2020 New Revision: 358789 URL: https://svnweb.freebsd.org/changeset/base/358789 Log: arch.7: remove note about GCC 4.2.1 removal date GCC 4.2.1 was removed in r358454. Sponsored by: The FreeBSD Foundation Modified: head/share/man/man7/arch.7 Modified: head/share/man/man7/arch.7 ============================================================================== --- head/share/man/man7/arch.7 Sun Mar 8 21:25:36 2020 (r358788) +++ head/share/man/man7/arch.7 Sun Mar 8 21:30:55 2020 (r358789) @@ -319,14 +319,6 @@ This table shows the default tool chain for each archi .El .Pp (1) External toolchain provided by ports/packages. -.Pp -Note that GCC 4.2.1 is deprecated, and scheduled for removal on 2020-03-31. -Any CPU architectures not migrated by then -(to either base system Clang or external toolchain) -may be removed from the tree after that date. -make universe will not build mips -architectures unless the xtoolchain binaries have been installed for -the architecture. .Ss MACHINE_ARCH vs MACHINE_CPUARCH vs MACHINE .Dv MACHINE_CPUARCH should be preferred in Makefiles when the generic From owner-svn-src-head@freebsd.org Mon Mar 9 00:14:10 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7A510252567; Mon, 9 Mar 2020 00:14:10 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bJcL21ZYz4bsT; Mon, 9 Mar 2020 00:14:10 +0000 (UTC) (envelope-from asomers@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 365642375; Mon, 9 Mar 2020 00:14:10 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0290EAW8029652; Mon, 9 Mar 2020 00:14:10 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0290EAWs029651; Mon, 9 Mar 2020 00:14:10 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <202003090014.0290EAWs029651@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 9 Mar 2020 00:14:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358797 - head/tests/sys/fs/fusefs X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: head/tests/sys/fs/fusefs X-SVN-Commit-Revision: 358797 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 00:14:10 -0000 Author: asomers Date: Mon Mar 9 00:14:09 2020 New Revision: 358797 URL: https://svnweb.freebsd.org/changeset/base/358797 Log: [skip ci] fix typo in comment in the fusefs tests MFC after: 2 weeks Modified: head/tests/sys/fs/fusefs/notify.cc Modified: head/tests/sys/fs/fusefs/notify.cc ============================================================================== --- head/tests/sys/fs/fusefs/notify.cc Sun Mar 8 23:31:03 2020 (r358796) +++ head/tests/sys/fs/fusefs/notify.cc Mon Mar 9 00:14:09 2020 (r358797) @@ -375,7 +375,7 @@ TEST_F(Notify, inval_inode_with_clean_cache) pthread_join(th0, &thr0_value); EXPECT_EQ(0, (intptr_t)thr0_value); - /* cache attributes were been purged; this will trigger a new GETATTR */ + /* cache attributes were purged; this will trigger a new GETATTR */ ASSERT_EQ(0, stat(FULLPATH, &sb)) << strerror(errno); EXPECT_EQ(uid, sb.st_uid); EXPECT_EQ(size1, sb.st_size); From owner-svn-src-head@freebsd.org Mon Mar 9 00:56:23 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7A7EE253175; Mon, 9 Mar 2020 00:56:23 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bKY102Skz454p; Mon, 9 Mar 2020 00:56:20 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wr1-x432.google.com with SMTP id n15so8938044wrw.13; Sun, 08 Mar 2020 17:56:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=wkBBP8PwrxlCeKq3BNTpi1zSjD9vEYDgpWqKwKzu5qE=; b=N+NWIeEVgDMQp3FcZWb8dLmK2s6Jz+7vFPE6hheWCtBSU0yeii2zTOnMVMnfzGupmK y3HBmIPZpJgDPb+iN8QtXP8M0gembLSnEORUOMGIZdAC4Pkw95yjJxKz4vNB/kfQgW/7 eyXwGlHqBlei9HySHxDUOoqI6rHRpOSm/S5UowQU6MxeCxU39ZdFHGo49x80E9CyhEEz rLpNHauUc2vC7GmyWjcZ/WjLGFnSoQLt+RwPEW1etLY/mdDyU3T5yuH8ZTMuEB5KDjoX VP2EXEKQC/f12NYIG7c6upsnab5EAWK+FYVNtkf8l4K9bC5vftTVKL+SUKKtOzdE/59G bmRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=wkBBP8PwrxlCeKq3BNTpi1zSjD9vEYDgpWqKwKzu5qE=; b=Xatm9iGCMZQwxxtwXcuUC1xVcxqtE7sD9GYZJgxplIh3s71avzGdIqDQVsUF4EzP8F coKF2TtMF199Oeia+219tDuq5W03pUEPaF/3A4Uy96nKkxaw6qwX3vQMYx5AvASQjiIg y2GA54+AlPhO0hcjfj0WK1CGtF7QuOePtOMNE+QGEsrGfgxWFqNLDq3DGC36ze4atj5G qP1W5PP8fLXIm3wL69M0L7A5z4V9JsIKucAg/5gzVP1jjQis4dakp/0xvwd0XXPyjEIx JDJy7V1FqdnnM2ZsqodiZp0KmKGKoPoTWW0ToXSoESO07/UaZj8qiE/q+U95fPw6HXMP 5y/Q== X-Gm-Message-State: ANhLgQ2SnYrSesyQPbdFbEjcF5JEVXV7mvvrumyM7ablfrCAdPCvZc9u GX892PzsBhRs3KN4s+tbhw8r1hD7MPMO3w6XmsLTqQ== X-Google-Smtp-Source: ADFU+vvsgUydaXFI1u8Rgy0UGz8wcsYcHjNlsiWOVlDMwf50WVmoN9JM+RZZatdF7SPLrtfVS0zaoFoMOlNT/9v3w4U= X-Received: by 2002:a5d:5702:: with SMTP id a2mr11276618wrv.17.1583715378302; Sun, 08 Mar 2020 17:56:18 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:adf:f089:0:0:0:0:0 with HTTP; Sun, 8 Mar 2020 17:56:17 -0700 (PDT) In-Reply-To: <202003080022.0280MX9j055805@repo.freebsd.org> References: <202003080022.0280MX9j055805@repo.freebsd.org> From: Mateusz Guzik Date: Mon, 9 Mar 2020 01:56:17 +0100 Message-ID: Subject: Re: svn commit: r358733 - head/sys/sys To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48bKY102Skz454p X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=N+NWIeEV; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2a00:1450:4864:20::432 as permitted sender) smtp.mailfrom=mjguzik@gmail.com X-Spamd-Result: default: False [-3.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; IP_SCORE(0.00)[ip: (-9.27), ipnet: 2a00:1450::/32(-2.40), asn: 15169(-1.65), country: US(-0.05)]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[2.3.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 00:56:23 -0000 On 3/8/20, Mateusz Guzik wrote: > Author: mjg > Date: Sun Mar 8 00:22:32 2020 > New Revision: 358733 > URL: https://svnweb.freebsd.org/changeset/base/358733 > > Log: > seqc: tidy up > > - avoid hand-rolled read > - match begin/end in terms of fence style > There were off lists questions about this so let me clarify. The first bit is a cosmetic change, but the second one is not. > Modified: > head/sys/sys/seqc.h > > Modified: head/sys/sys/seqc.h > ============================================================================== > --- head/sys/sys/seqc.h Sat Mar 7 15:37:23 2020 (r358732) > +++ head/sys/sys/seqc.h Sun Mar 8 00:22:32 2020 (r358733) > @@ -66,7 +66,8 @@ static __inline void > seqc_write_end(seqc_t *seqcp) > { > > - atomic_store_rel_int(seqcp, *seqcp + 1); > + atomic_thread_fence_rel(); > + *seqcp += 1; > MPASS(!seqc_in_modify(*seqcp)); > critical_exit(); > } For correct operation the counter has to be modified *before* any work is done and *after* it is completed. Consider a trivial case: seqc++; foo[0] = 0; foo[1] = 1; seqc++; There are 2 ways in which this can be mucked with: - the compiler can be looking at reordering or reworking the increment (e.g., to collapse it to just += 2 instead). a compiler barrier prevents that. - even with generated machine code which increments in correct places the cpu can be looking at reordering the operation (which is heavily dependent on architecture), in particular it could end up issuing seqc++; foo[1] = 1; which would defeat the point. This is where release fences come in. With the patched code there is: seqc++; atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo starts getting modified */ foo[0] = 0; foo[1] = 1; atomic_thread_fence_rel(); /* make sure modifications to foo don't leak past this spot */ seqc++; In comparison, the previous code was: seqc++; atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo starts getting modified */ foo[0] = 0; foo[1] = 1; atomic_store_rel_int(seqcp, *seqcp + 1); /* make sure modifications to too don't leak past this spot and update seqc immediately */ There are 2 differences here -- one is an improvement and second one does not matter: the win is: the previous code forces the compiler to compute an incremented value and then store it. On amd64 this translates to the following (with rdx holding the address of the counter): mov (%rdx),%eax /* load the value */ add $0x1,%eax /* add 1 */ mov %eax,(%rdx) /* store it */ On patched kernel this is: addl $0x1,(%rdx) which is clearly much nicer. the not a problem: the code does not issue the release fence after incrementing the counter the second time, meaning that in principle it can happen arbitrarily late, possibly disturbing code which waits for the counter to become even. This is not a problem because in whoever modifies it is supposed to have a lock and release it shortly after, which also posts the release fence and consequently makes sure the counter update is visible. Also note these routines come with preemption disablement around the modification -- if the thread gets preempted as a result of critical_exit from seqc_write_end, it will also publish the updated counter. If the updater never does anything which flushes the store buffer then in the absolute worst case they will get preempted, at which point once more we are covered. Note that code which wants more deterministic behavior will want to seqc_read_any, test the counter once and if it is caught uneven resort to locking. > @@ -84,7 +85,7 @@ seqc_read(const seqc_t *seqcp) > seqc_t ret; > > for (;;) { > - ret = atomic_load_acq_int(__DECONST(seqc_t *, seqcp)); > + ret = seqc_read_any(seqcp); > if (__predict_false(seqc_in_modify(ret))) { > cpu_spinwait(); > continue; > _______________________________________________ > svn-src-all@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" > -- Mateusz Guzik From owner-svn-src-head@freebsd.org Mon Mar 9 01:57:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A84D72542B2; Mon, 9 Mar 2020 01:57:22 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bLvQ2XQQz4B9f; Mon, 9 Mar 2020 01:57:22 +0000 (UTC) (envelope-from asomers@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 0BC53373F; Mon, 9 Mar 2020 01:57:22 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0291vLQT088977; Mon, 9 Mar 2020 01:57:21 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0291vLbr088975; Mon, 9 Mar 2020 01:57:21 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <202003090157.0291vLbr088975@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 9 Mar 2020 01:57:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358798 - in head: sys/fs/fuse tests/sys/fs/fusefs X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in head: sys/fs/fuse tests/sys/fs/fusefs X-SVN-Commit-Revision: 358798 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 01:57:22 -0000 Author: asomers Date: Mon Mar 9 01:57:21 2020 New Revision: 358798 URL: https://svnweb.freebsd.org/changeset/base/358798 Log: fusefs: fix fsync for files with multiple open handles We were reusing a structure for multiple operations, but failing to reinitialize one member. The result is that a server that cares about FUSE file handle IDs would see one correct FUSE_FSYNC operation, and one with the FHID unset. PR: 244431 Reported by: Agata MFC after: 2 weeks Modified: head/sys/fs/fuse/fuse_internal.c head/tests/sys/fs/fusefs/fsync.cc Modified: head/sys/fs/fuse/fuse_internal.c ============================================================================== --- head/sys/fs/fuse/fuse_internal.c Mon Mar 9 00:14:09 2020 (r358797) +++ head/sys/fs/fuse/fuse_internal.c Mon Mar 9 01:57:21 2020 (r358798) @@ -345,6 +345,7 @@ fuse_internal_fsync(struct vnode *vp, * which file handle the caller is really referring to. */ LIST_FOREACH(fufh, &fvdat->handles, next) { + fdi.iosize = sizeof(*ffsi); if (ffsi == NULL) fdisp_make_vp(&fdi, op, vp, td, NULL); else Modified: head/tests/sys/fs/fusefs/fsync.cc ============================================================================== --- head/tests/sys/fs/fusefs/fsync.cc Mon Mar 9 00:14:09 2020 (r358797) +++ head/tests/sys/fs/fusefs/fsync.cc Mon Mar 9 01:57:21 2020 (r358798) @@ -52,7 +52,7 @@ using namespace testing; class Fsync: public FuseTest { public: -void expect_fsync(uint64_t ino, uint32_t flags, int error) +void expect_fsync(uint64_t ino, uint32_t flags, int error, int times = 1) { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -67,12 +67,13 @@ void expect_fsync(uint64_t ino, uint32_t flags, int er in.body.fsync.fsync_flags == flags); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnErrno(error))); + ).Times(times) + .WillRepeatedly(Invoke(ReturnErrno(error))); } -void expect_lookup(const char *relpath, uint64_t ino) +void expect_lookup(const char *relpath, uint64_t ino, int times = 1) { - FuseTest::expect_lookup(relpath, ino, S_IFREG | 0644, 0, 1); + FuseTest::expect_lookup(relpath, ino, S_IFREG | 0644, 0, times); } void expect_write(uint64_t ino, uint64_t size, const void *contents) @@ -257,4 +258,30 @@ TEST_F(Fsync, fsync) ASSERT_EQ(0, fsync(fd)) << strerror(errno); leak(fd); +} + +/* If multiple FUSE file handles are active, we must fsync them all */ +TEST_F(Fsync, two_handles) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const char *CONTENTS = "abcdefgh"; + ssize_t bufsize = strlen(CONTENTS); + uint64_t ino = 42; + int fd1, fd2; + + expect_lookup(RELPATH, ino, 2); + expect_open(ino, 0, 2); + expect_write(ino, bufsize, CONTENTS); + expect_fsync(ino, 0, 0, 2); + + fd1 = open(FULLPATH, O_WRONLY); + ASSERT_LE(0, fd1) << strerror(errno); + fd2 = open(FULLPATH, O_RDONLY); + ASSERT_LE(0, fd2) << strerror(errno); + ASSERT_EQ(bufsize, write(fd1, CONTENTS, bufsize)) << strerror(errno); + ASSERT_EQ(0, fsync(fd1)) << strerror(errno); + + leak(fd1); + leak(fd2); } From owner-svn-src-head@freebsd.org Mon Mar 9 02:30:18 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 29DD7254947; Mon, 9 Mar 2020 02:30:18 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bMdP17Lfz4MZN; Mon, 9 Mar 2020 02:30:17 +0000 (UTC) (envelope-from manu@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 0FDC33D59; Mon, 9 Mar 2020 02:30:17 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0292UGZ3007181; Mon, 9 Mar 2020 02:30:16 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0292UGD5007180; Mon, 9 Mar 2020 02:30:16 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202003090230.0292UGD5007180@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Mon, 9 Mar 2020 02:30:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358799 - head/sys/dev/cpufreq X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/dev/cpufreq X-SVN-Commit-Revision: 358799 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 02:30:18 -0000 Author: manu Date: Mon Mar 9 02:30:16 2020 New Revision: 358799 URL: https://svnweb.freebsd.org/changeset/base/358799 Log: cpufreq_dt: Fix r358555 Before skipping the current cpu when trying to find the ones that have the same opp, record that this one have this opp. Reported by: mmel MFC after: 2 weeks X-MFC-With: r358555 Modified: head/sys/dev/cpufreq/cpufreq_dt.c Modified: head/sys/dev/cpufreq/cpufreq_dt.c ============================================================================== --- head/sys/dev/cpufreq/cpufreq_dt.c Mon Mar 9 01:57:21 2020 (r358798) +++ head/sys/dev/cpufreq/cpufreq_dt.c Mon Mar 9 02:30:16 2020 (r358799) @@ -519,7 +519,7 @@ cpufreq_dt_attach(device_t dev) continue; if (cpu == sc->cpu) { DEBUG(dev, "Skipping our cpu\n"); - cpu++; + CPU_SET(cpu++, &sc->cpus); continue; } DEBUG(dev, "Testing CPU %d\n", cpu); From owner-svn-src-head@freebsd.org Mon Mar 9 03:34:17 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A49DB25609F; Mon, 9 Mar 2020 03:34:17 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bP3F1WXsz4DGx; Mon, 9 Mar 2020 03:34:17 +0000 (UTC) (envelope-from manu@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 B24624B21; Mon, 9 Mar 2020 03:34:16 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0293YG2X049492; Mon, 9 Mar 2020 03:34:16 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0293YG7v049491; Mon, 9 Mar 2020 03:34:16 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202003090334.0293YG7v049491@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Mon, 9 Mar 2020 03:34:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358800 - head/sys/dev/cpufreq X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/dev/cpufreq X-SVN-Commit-Revision: 358800 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 03:34:17 -0000 Author: manu Date: Mon Mar 9 03:34:16 2020 New Revision: 358800 URL: https://svnweb.freebsd.org/changeset/base/358800 Log: cpufreq: Unbreak build. Modified: head/sys/dev/cpufreq/cpufreq_dt.c Modified: head/sys/dev/cpufreq/cpufreq_dt.c ============================================================================== --- head/sys/dev/cpufreq/cpufreq_dt.c Mon Mar 9 02:30:16 2020 (r358799) +++ head/sys/dev/cpufreq/cpufreq_dt.c Mon Mar 9 03:34:16 2020 (r358800) @@ -519,7 +519,8 @@ cpufreq_dt_attach(device_t dev) continue; if (cpu == sc->cpu) { DEBUG(dev, "Skipping our cpu\n"); - CPU_SET(cpu++, &sc->cpus); + CPU_SET(cpu, &sc->cpus); + cpu++; continue; } DEBUG(dev, "Testing CPU %d\n", cpu); From owner-svn-src-head@freebsd.org Mon Mar 9 04:09:38 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4DA2C2569D0; Mon, 9 Mar 2020 04:09:38 +0000 (UTC) (envelope-from philip@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bPr12nyzz4cBP; Mon, 9 Mar 2020 04:09:37 +0000 (UTC) (envelope-from philip@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 0286850BB; Mon, 9 Mar 2020 04:09:37 +0000 (UTC) (envelope-from philip@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02949axB067642; Mon, 9 Mar 2020 04:09:36 GMT (envelope-from philip@FreeBSD.org) Received: (from philip@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02949anx067641; Mon, 9 Mar 2020 04:09:36 GMT (envelope-from philip@FreeBSD.org) Message-Id: <202003090409.02949anx067641@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: philip set sender to philip@FreeBSD.org using -f From: Philip Paeps Date: Mon, 9 Mar 2020 04:09:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358801 - head/sys/riscv/sifive X-SVN-Group: head X-SVN-Commit-Author: philip X-SVN-Commit-Paths: head/sys/riscv/sifive X-SVN-Commit-Revision: 358801 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 04:09:38 -0000 Author: philip Date: Mon Mar 9 04:09:36 2020 New Revision: 358801 URL: https://svnweb.freebsd.org/changeset/base/358801 Log: fuspi: silence build warning, plug resource leak This silences an "unused label" warning as well as fixes the attach fail path that wasn't releasing resources. Submitted by: Nicholas O'Brien Sponsored by: Axiado Differential Revision: https://reviews.freebsd.org/D24004 Modified: head/sys/riscv/sifive/fu540_spi.c Modified: head/sys/riscv/sifive/fu540_spi.c ============================================================================== --- head/sys/riscv/sifive/fu540_spi.c Mon Mar 9 03:34:16 2020 (r358800) +++ head/sys/riscv/sifive/fu540_spi.c Mon Mar 9 04:09:36 2020 (r358801) @@ -348,10 +348,8 @@ fuspi_attach(device_t dev) return (0); -fail1: - bus_release_resources(dev, fuspi_spec, &sc->res); - fail: + bus_release_resources(dev, fuspi_spec, &sc->res); mtx_destroy(&sc->mtx); return (error); } From owner-svn-src-head@freebsd.org Mon Mar 9 06:11:08 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 03D64259114; Mon, 9 Mar 2020 06:11:08 +0000 (UTC) (envelope-from ohartmann@walstatt.org) Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bSX92Yqlz3G3S; Mon, 9 Mar 2020 06:11:04 +0000 (UTC) (envelope-from ohartmann@walstatt.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1583734260; bh=jwZAb1bsetxz2T9nVH067T0TYlaEqtdXEfuORz+MSHs=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:In-Reply-To:References; b=dOXjc/NHRh5Mx8i8G7aCjNoVl+6QF2Mzu9PWFBBrVDmP9B1n5Dhj/wNNnIvP5mfJw Lfc8+drRrMao7J57EObdYIH4iQqib0MPGvI3o2/8d9qDDSsvqR3suT2JBE1RjueHNY 0cZwADwEQpMUniILAkRCgCeFCmKWwGABQ1wDronI= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from freyja ([79.192.162.249]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MCbEf-1j2hN80xHP-009cza; Mon, 09 Mar 2020 07:05:57 +0100 Date: Mon, 9 Mar 2020 07:05:46 +0100 From: "O. Hartmann" To: "Simon J. Gerraty" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r358744 - in head: lib/libsecureboot lib/libsecureboot/h lib/libsecureboot/tests share/mk stand stand/common stand/efi/loader stand/efi/loader/arch/i386 stand/ficl stand/i386/libi386 st... Message-ID: <20200309070540.7b3c9ce6@freyja> In-Reply-To: <202003081742.028HghCd086246@repo.freebsd.org> References: <202003081742.028HghCd086246@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:Uc++ZlipL9YNh+SJSCezatTCI86bwMnF8JzpGgweYmJP4+2/eyi kH4k0x0rnRT2NBv8tZtPVqlLZo0oIbuZTLJjZpXZWZdSJ2ivp0a796hhSGVFptYvUWNzF0x NAm3GcrOAzpo423X/fzCRvFgDx4SXFnEIl3aj+4wyqFOly/BngbJCQMJ9trIzuEYM8HcjHC 1mSY3OHqBom5XIBSis9UQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:OlsBZ11gDS0=:mJ/6HFUZwuOIQAHReirQru 2bv/aw4BHwGhxjY95tBf8yQmAwv6ucyleTMk8S2ENKtFqH2LSVDRP8/wdtM1Uag0WsHFVOJ1Q URH/5fRnXbwbElWXbs7KWwH5A2+Z/KtH3G9JuwLBjkbRbwvJSLogpowcewlROCjGFnYOZstwv RgREbW9UabY3blli3WtUX+G9ecOV2unWF6BVcEFxrHHQc4V4y0PnV42BgI833wUyUEWOBntpU mpyf+jKyZW8War5bfToUzNjTlGLT7jP6znUt5LTUtteD6jBvBOQkXtIlBcNp56LBP8KTp0cc5 khkpX16Umjw7I2xDhpo25ve8BDrKn+s3vENpgKcVc43Fris/HVeLs2en5Vhtj4aJlYjnFxMk4 DkMs5gSo2maqPofR5uP1r27BnQ4JEHiiWcQeQb+eDCo5GINeF0RVHL026xmNp8npzMkvycSz2 cwty2XsXLwd3wTX5dKTD19FbuBwKTvA4bmXuM0h19sY2Xk44GJvyaaEZGWKSvidcdxW9tK3Z9 0MbWdB7y+Ly5fhWw1T1P886QmgJ10vIaU6ds48YQ07CDGaOWdpT3W5K+OaJJ6JOWxNoHqbOJS 5kAFA6FoFO7KtTiRa9tqRpm3Gx6gpK3lBKyj1rrTZpH7JAlRwmXQTi2wZwS27FnmjK9NSKOrQ mqNp0I148kQxuHv7SPbtbqNI9TKVY8EP5/Gk6trdyJyNYm+iq964oZgPdU0g6pwvELcfkB02g TKL61YnY2vowV6DHdEwAtQZdaNDdTKjrEtWeau4R0u2wwIJCpOOhX9erJ6V5dwe0Gi6Evjmci iaAAJ6GbpyHg+osCOlDvdGGHd4J8Y04H/eXydg++9XbjXQPux6RBtTdFMGULzWL1gvH1GQUKI O6gUquoRyqAYKw9XuMjQshEKbLtySzwhpsj/vnK5GTRpOlcOdlJMj4iWfXhn78G7jDjeQZ0cM CmXOSYtgTwxvmIbTNx8flj6VPWsPyhjgsbKdqzQFzkBV+e9/TrrjWgCcEBcfNb32lBPiozzy5 aALDsLuZXA7Hc46PbPPlviAHtUGwz9vqhiyMhRpOwFQSXCdjj6yDJWLnI/mIZ7DVUp56TKX3W KUmNme7sx4f/ZYJb62QsOvTnO5UtoSaWJOUnwkr/LHp1AuwqtyVl4/WPQigkLpz+y1Yfphncf nfH2WNVbEH7/stTrSZzbkLeTD2IAoWkja387ZsdBLu48Q53fi43ZyIxrVAod17kK27V759xXx FYgYDH/wDlUCN13jO X-Rspamd-Queue-Id: 48bSX92Yqlz3G3S X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmx.net header.s=badeba3b8450 header.b=dOXjc/NH; dmarc=none; spf=none (mx1.freebsd.org: domain of ohartmann@walstatt.org has no SPF policy when checking 212.227.15.19) smtp.mailfrom=ohartmann@walstatt.org X-Spamd-Result: default: False [-2.95 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[gmx.net:s=badeba3b8450]; RECEIVED_SPAMHAUS_PBL(0.00)[249.162.192.79.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.10]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[walstatt.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; IP_SCORE(-1.12)[ip: (-6.65), ipnet: 212.227.0.0/16(-1.12), asn: 8560(2.17), country: DE(-0.02)]; DKIM_TRACE(0.00)[gmx.net:+]; NEURAL_HAM_MEDIUM(-0.92)[-0.922,0]; R_SPF_NA(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[19.15.227.212.list.dnswl.org : 127.0.3.1]; FROM_EQ_ENVFROM(0.00)[]; MID_RHS_NOT_FQDN(0.50)[]; ASN(0.00)[asn:8560, ipnet:212.227.0.0/16, country:DE]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 06:11:08 -0000 On Sun, 8 Mar 2020 17:42:43 +0000 (UTC) "Simon J. Gerraty" wrote: > Author: sjg > Date: Sun Mar 8 17:42:42 2020 > New Revision: 358744 > URL: https://svnweb.freebsd.org/changeset/base/358744 > > Log: > veloader use vectx API for kernel and modules > > The vectx API, computes the hash for verifying a file as it is read. > This avoids the overhead of reading files twice - once to verify, then > again to load. > > For doing an install via loader, avoiding the need to rewind > large files is critical. > > This API is only used for modules, kernel and mdimage as these are the > biggest files read by the loader. > The reduction in boot time depends on how expensive the I/O is > on any given platform. On a fast VM we see 6% improvement. > > For install via loader the first file to be verified is likely to be t= he > kernel, so some of the prep work (finding manifest etc) done by > verify_file() needs to be factored so it can be reused for > vectx_open(). > > For missing or unrecognized fingerprint entries, we fail > in vectx_open() unless verifying is disabled. > > Otherwise fingerprint check happens in vectx_close() and > since this API is only used for files which must be verified > (VE_MUST) we panic if we get an incorrect hash. > > Reviewed by: imp,tsoome > MFC after: 1 week > Sponsored by: Juniper Networks > Differential Revision: https://reviews.freebsd.org//D23827 > > Modified: > head/lib/libsecureboot/h/libsecureboot.h > head/lib/libsecureboot/h/verify_file.h > head/lib/libsecureboot/tests/tvo.c > head/lib/libsecureboot/vectx.c > head/lib/libsecureboot/verify_file.c > head/share/mk/src.opts.mk > head/stand/common/bootstrap.h > head/stand/common/interp_forth.c > head/stand/common/interp_simple.c > head/stand/common/load_elf.c > head/stand/common/load_elf_obj.c > head/stand/common/misc.c > head/stand/common/module.c > head/stand/efi/loader/arch/i386/i386_copy.c > head/stand/efi/loader/copy.c > head/stand/efi/loader/loader_efi.h > head/stand/efi/loader/main.c > head/stand/ficl/loader.c > head/stand/i386/libi386/i386_copy.c > head/stand/i386/libi386/libi386.h > head/stand/i386/loader/chain.c > head/stand/libofw/libofw.h > head/stand/libofw/ofw_copy.c > head/stand/loader.mk > head/stand/mips/beri/loader/arch.c > head/stand/powerpc/kboot/main.c > head/stand/uboot/lib/copy.c > head/stand/uboot/lib/libuboot.h > head/stand/userboot/userboot/copy.c > head/stand/userboot/userboot/libuserboot.h > > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" [... deleted ...] buildworld seems to be broken on this commit: [...] =2D-- all_subdir_stand --- =2D-- lstd.o --- /usr/src/stand/liblua/lstd.c:86:44: error: too few arguments to function c= all, expected 5, have 4 if (verify_file(fd, filename, 0, VE_GUESS) < 0) { ~~~~~~~~~~~ ^ /usr/src/lib/libsecureboot/h/verify_file.h:50:1: note: 'verify_file' decla= red here int verify_file(int, const char *, off_t, int, const char *); ^ 1 error generated. [...] Building host is CURRENT, FreeBSD 13.0-CURRENT #118 r358695: Fri Mar 6 12:48:00 CET 2020 amd64: kind regards, oh From owner-svn-src-head@freebsd.org Mon Mar 9 09:06:27 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 68BC525CA8D; Mon, 9 Mar 2020 09:06:27 +0000 (UTC) (envelope-from ohartmann@walstatt.org) Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bXQS40rhz3GCg; Mon, 9 Mar 2020 09:06:24 +0000 (UTC) (envelope-from ohartmann@walstatt.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1583744781; bh=8MKmO+VM/8SnFbOW28x72f4duXiCZkyCB2fk2t6aZZY=; h=X-UI-Sender-Class:Date:From:Cc:Subject:In-Reply-To:References; b=e70uCJSDdfqPpa3iaLs08bnBk2v7S/cjY0hBRd4+3+LqtfihM1Kkp7PC2Y0LqS0Xq gO231t0rB/cTfjjL4rkJ731/OJRinHMq8lABv6/9O0lHA22/tEKM6gK50VT+9nlcNA Xh28McIPbuW2GzkgDoMpV8sLdu2nBpcAB+MvU9Hg= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from freyja ([79.192.162.249]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MNKhm-1izm3b15sw-00Ol5K; Mon, 09 Mar 2020 10:06:21 +0100 Date: Mon, 9 Mar 2020 10:06:18 +0100 From: "O. Hartmann" Cc: "Simon J. Gerraty" , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r358744 - in head: lib/libsecureboot lib/libsecureboot/h lib/libsecureboot/tests share/mk stand stand/common stand/efi/loader stand/efi/loader/arch/i386 stand/ficl stand/i386/libi386 st... Message-ID: <20200309100614.560b808e@freyja> In-Reply-To: <20200309070540.7b3c9ce6@freyja> References: <202003081742.028HghCd086246@repo.freebsd.org> <20200309070540.7b3c9ce6@freyja> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:7ktbZT3bJgHTC1eTFhMlaoK4lIzRJdcSv0qyJqZkGgF20HcGbGS ogGCf2GKyrSvatbAu88teX5+XUtJbLrLRVkxr62nd3GPe+iC+RFjOX6hOa3ZI08Klf7itWv nrB9jbtuIY/kqwTgSnBqLr+QK5jDBIFLRlY7rmO+xIXskvXpAxnz8Bf3igG4A3B3x1p+9EC UubK31ckz7C0NNYwScLyQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:s0VYplo92D4=:GeXM0vOOdXpml49TPGJhb6 2AvIrSHXi0IQs6iWUTUNg+RYQ5LLd2ElJCD0yCpYnXUI+eLyg4l0TY0SJ4mbED8Yfzoeez2UA 08ne4O1Acz7NQ1lLWisSb+pC+fEv7Py1pe82makerPYt5jf6hFVUMGKb8Tnmpg25iDGp7ybv7 w+ru9D3EeAy1tOnJN5ytl0NadtLbbesuHbKhmhXKH9siOp81ml9FWCo7Fg6TEnRevvSn/VGUF 4t60pPjFIn/TDE2SLnaar7hoyBCHWokpjICZyfxYMtC/euLdy3A7v9ZVbuyVj7AYQPSd/UW8Q SDA1IdO4Bk5Hgv+NzBVK7rYzbrXgZTduKappyXF9YkeiQcpvE0H5LKCP1j+PeLfZ9GtlIBMBh 9+cA/X7DsUpA9EnaOjd4K8oG2uKkDvZpmjhHBt8QC7ijTH/+le9DaepAKguh9uhsAVVTpXiFR y54gUwnNGXcSX/s2Z47Sx7RWp5W7PNkJD3GLORPC9V0C5FEn855NIXjKQ90u9y3Kc/Wv9QCW+ dMqMKfuDiyEkKqO9YUK0V4LU83h0qCbjZOUWbdMgvah78ClNgo5G83B5Lhquz82a1dtpiySaR WWGkR8qqUG9U6X4TrH5WGh7cGf4b3CloMvC0UmDJPDDdVwakf1T+MId2pwRezYgar/U1yrtjW JXXEO3UBlewR4RpUYIqbD8Pb8g95NioobnACYQY/gg9n6QnbSzwS4/d28Qfw6V5Evy2crp8Pq PMKwiAT/xFlRRHj+XqHfXELAy8b0iInytHODdB9w/Bx6pnVpZFmO1r5AhSHJyUwBhGY/7lhWr Ok8w7qf3W61E+ngZGN1YY0ye2Zm3OGw2ZAyzJMbSUcqYnEmbzXhiyRzorl8fFaPB6h4Nx7XUe eAD8iydXYITg66rqsfC4ugQn4xVOc0hU+LlNxUfk1ssfjXIF8nqwt0sAk4on0RkbOcmxbEwrl nFMtnFq1PC43j8xoEnHuJ+3lXqMyNdWhaqzT5QOe++N72hPTJGI3y/OREBowk1RfqQ1+9nNMz n8OT+7lEiGzUPXtwofbtdq+pJ8haXrrrTsZ16HGQjoNlNIPWveapwb3+CPjqLGdCb8HUuOWNc xJAH7i0mS7Tdy7uj0NwcUGL3ByijOTEs0EoUebri/zooLBPCWY5N1dKRr7FgUCW/3sOAk/NXa XlgOFb9YD6zyi65M6QNJ6lotP+aTYZSwZhRksIvptZ61C858aHrkhvUNKL5h3DUffPw1B4fx5 nRuTANgdVTs0ccNK2 X-Rspamd-Queue-Id: 48bXQS40rhz3GCg X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmx.net header.s=badeba3b8450 header.b=e70uCJSD; dmarc=none; spf=none (mx1.freebsd.org: domain of ohartmann@walstatt.org has no SPF policy when checking 212.227.17.21) smtp.mailfrom=ohartmann@walstatt.org X-Spamd-Result: default: False [0.70 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[gmx.net:s=badeba3b8450]; RECEIVED_SPAMHAUS_PBL(0.00)[249.162.192.79.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.10]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[walstatt.org]; NEURAL_HAM_LONG(-0.99)[-0.995,0]; NEURAL_SPAM_MEDIUM(0.72)[0.721,0]; IP_SCORE(-1.13)[ip: (-6.68), ipnet: 212.227.0.0/16(-1.12), asn: 8560(2.17), country: DE(-0.02)]; DKIM_TRACE(0.00)[gmx.net:+]; MISSING_TO(2.00)[]; R_SPF_NA(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[21.17.227.212.list.dnswl.org : 127.0.3.1]; FROM_EQ_ENVFROM(0.00)[]; MID_RHS_NOT_FQDN(0.50)[]; ASN(0.00)[asn:8560, ipnet:212.227.0.0/16, country:DE]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 09:06:27 -0000 On Mon, 9 Mar 2020 07:05:46 +0100 "O. Hartmann" wrote: > On Sun, 8 Mar 2020 17:42:43 +0000 (UTC) > "Simon J. Gerraty" wrote: > > > Author: sjg > > Date: Sun Mar 8 17:42:42 2020 > > New Revision: 358744 > > URL: https://svnweb.freebsd.org/changeset/base/358744 > > > > Log: > > veloader use vectx API for kernel and modules > > > > The vectx API, computes the hash for verifying a file as it is read. > > This avoids the overhead of reading files twice - once to verify, th= en > > again to load. > > > > For doing an install via loader, avoiding the need to rewind > > large files is critical. > > > > This API is only used for modules, kernel and mdimage as these are t= he > > biggest files read by the loader. > > The reduction in boot time depends on how expensive the I/O is > > on any given platform. On a fast VM we see 6% improvement. > > > > For install via loader the first file to be verified is likely to be= the > > kernel, so some of the prep work (finding manifest etc) done by > > verify_file() needs to be factored so it can be reused for > > vectx_open(). > > > > For missing or unrecognized fingerprint entries, we fail > > in vectx_open() unless verifying is disabled. > > > > Otherwise fingerprint check happens in vectx_close() and > > since this API is only used for files which must be verified > > (VE_MUST) we panic if we get an incorrect hash. > > > > Reviewed by: imp,tsoome > > MFC after: 1 week > > Sponsored by: Juniper Networks > > Differential Revision: https://reviews.freebsd.org//D23827 > > > > Modified: > > head/lib/libsecureboot/h/libsecureboot.h > > head/lib/libsecureboot/h/verify_file.h > > head/lib/libsecureboot/tests/tvo.c > > head/lib/libsecureboot/vectx.c > > head/lib/libsecureboot/verify_file.c > > head/share/mk/src.opts.mk > > head/stand/common/bootstrap.h > > head/stand/common/interp_forth.c > > head/stand/common/interp_simple.c > > head/stand/common/load_elf.c > > head/stand/common/load_elf_obj.c > > head/stand/common/misc.c > > head/stand/common/module.c > > head/stand/efi/loader/arch/i386/i386_copy.c > > head/stand/efi/loader/copy.c > > head/stand/efi/loader/loader_efi.h > > head/stand/efi/loader/main.c > > head/stand/ficl/loader.c > > head/stand/i386/libi386/i386_copy.c > > head/stand/i386/libi386/libi386.h > > head/stand/i386/loader/chain.c > > head/stand/libofw/libofw.h > > head/stand/libofw/ofw_copy.c > > head/stand/loader.mk > > head/stand/mips/beri/loader/arch.c > > head/stand/powerpc/kboot/main.c > > head/stand/uboot/lib/copy.c > > head/stand/uboot/lib/libuboot.h > > head/stand/userboot/userboot/copy.c > > head/stand/userboot/userboot/libuserboot.h > > > > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org= " > [... deleted ...] > > > buildworld seems to be broken on this commit: > > [...] > --- all_subdir_stand --- > --- lstd.o --- > /usr/src/stand/liblua/lstd.c:86:44: error: too few arguments to function= call, > expected 5, have 4 if (verify_file(fd, filename, 0, VE_GUESS) < 0) { > ~~~~~~~~~~~ ^ > /usr/src/lib/libsecureboot/h/verify_file.h:50:1: note: 'verify_file' dec= lared > here int verify_file(int, const char *, off_t, int, const char *); > ^ > 1 error generated. > [...] > > Building host is CURRENT, FreeBSD 13.0-CURRENT #118 r358695: Fri Mar 6 > 12:48:00 CET 2020 amd64: > > kind regards, > > oh > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" The problem reported seems to occur when WITH_BEARSSL=3DYES is enabled in /etc/src.conf. From owner-svn-src-head@freebsd.org Mon Mar 9 13:36:45 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CC4E6262AA7; Mon, 9 Mar 2020 13:36:45 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bfQP54d8z3Ml4; Mon, 9 Mar 2020 13:36:45 +0000 (UTC) (envelope-from mmel@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 A5E77B81F; Mon, 9 Mar 2020 13:36:45 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029Dajw7010402; Mon, 9 Mar 2020 13:36:45 GMT (envelope-from mmel@FreeBSD.org) Received: (from mmel@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029Daj5S010401; Mon, 9 Mar 2020 13:36:45 GMT (envelope-from mmel@FreeBSD.org) Message-Id: <202003091336.029Daj5S010401@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mmel set sender to mmel@FreeBSD.org using -f From: Michal Meloun Date: Mon, 9 Mar 2020 13:36:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358807 - head/sys/arm64/rockchip X-SVN-Group: head X-SVN-Commit-Author: mmel X-SVN-Commit-Paths: head/sys/arm64/rockchip X-SVN-Commit-Revision: 358807 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 13:36:45 -0000 Author: mmel Date: Mon Mar 9 13:36:45 2020 New Revision: 358807 URL: https://svnweb.freebsd.org/changeset/base/358807 Log: Add the missing brackets to the logical expression. Reported by: clang10 via dim MFC with: r355755 Modified: head/sys/arm64/rockchip/rk_pcie.c Modified: head/sys/arm64/rockchip/rk_pcie.c ============================================================================== --- head/sys/arm64/rockchip/rk_pcie.c Mon Mar 9 13:35:07 2020 (r358806) +++ head/sys/arm64/rockchip/rk_pcie.c Mon Mar 9 13:36:45 2020 (r358807) @@ -895,7 +895,7 @@ rk_pcie_enable_resources(struct rk_pcie_softc *sc) /* Set basic PCIe core mode (RC, lanes, gen1 or 2) */ val = STRAP_CONF_GEN_2 << 16 | - sc->link_is_gen2 ? STRAP_CONF_GEN_2: 0; + (sc->link_is_gen2 ? STRAP_CONF_GEN_2: 0); val |= STRAP_CONF_MODE_RC << 16 | STRAP_CONF_MODE_RC; val |= STRAP_CONF_LANES(~0) << 16 | STRAP_CONF_LANES(sc->num_lanes); val |= STRAP_CONF_ARI_EN << 16 | STRAP_CONF_ARI_EN; @@ -1408,4 +1408,4 @@ DEFINE_CLASS_1(pcib, rk_pcie_driver, rk_pcie_methods, sizeof(struct rk_pcie_softc), ofw_pci_driver); static devclass_t rk_pcie_devclass; DRIVER_MODULE( rk_pcie, simplebus, rk_pcie_driver, rk_pcie_devclass, - NULL, NULL); \ No newline at end of file + NULL, NULL); From owner-svn-src-head@freebsd.org Mon Mar 9 13:44:54 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3444B262E58; Mon, 9 Mar 2020 13:44:54 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bfbn1B4Lz432Y; Mon, 9 Mar 2020 13:44:53 +0000 (UTC) (envelope-from gallatin@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 E17C0B9FB; Mon, 9 Mar 2020 13:44:52 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029DiqPl016773; Mon, 9 Mar 2020 13:44:52 GMT (envelope-from gallatin@FreeBSD.org) Received: (from gallatin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029Dipuf016764; Mon, 9 Mar 2020 13:44:51 GMT (envelope-from gallatin@FreeBSD.org) Message-Id: <202003091344.029Dipuf016764@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gallatin set sender to gallatin@FreeBSD.org using -f From: Andrew Gallatin Date: Mon, 9 Mar 2020 13:44:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358808 - in head/sys: kern net netinet X-SVN-Group: head X-SVN-Commit-Author: gallatin X-SVN-Commit-Paths: in head/sys: kern net netinet X-SVN-Commit-Revision: 358808 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 13:44:54 -0000 Author: gallatin Date: Mon Mar 9 13:44:51 2020 New Revision: 358808 URL: https://svnweb.freebsd.org/changeset/base/358808 Log: make lacp's use_numa hashing aware of send tags When I did the use_numa support, I missed the fact that there is a separate hash function for send tag nic selection. So when use_numa is enabled, ktls offload does not work properly, as it does not reliably allocate a send tag on the proper egress nic since different egress nics are selected for send-tag allocation and packet transmit. To fix this, this change: - refectors lacp_select_tx_port_by_hash() and lacp_select_tx_port() to make lacp_select_tx_port_by_hash() always called by lacp_select_tx_port() - pre-shifts flowids to convert them to hashes when calling lacp_select_tx_port_by_hash() - adds a numa_domain field to if_snd_tag_alloc_params - plumbs the numa domain into places where we allocate send tags In testing with NIC TLS setup on a NUMA machine, I see thousands of output errors before the change when enabling kern.ipc.tls.ifnet.permitted=1. After the change, I see no errors, and I see the NIC sysctl counters showing active TLS offload sessions. Reviewed by: rrs, hselasky, jhb Sponsored by: Netflix Modified: head/sys/kern/uipc_ktls.c head/sys/net/ieee8023ad_lacp.c head/sys/net/ieee8023ad_lacp.h head/sys/net/if_lagg.c head/sys/net/if_var.h head/sys/netinet/in_pcb.c head/sys/netinet/tcp_ratelimit.c Modified: head/sys/kern/uipc_ktls.c ============================================================================== --- head/sys/kern/uipc_ktls.c Mon Mar 9 13:36:45 2020 (r358807) +++ head/sys/kern/uipc_ktls.c Mon Mar 9 13:44:51 2020 (r358808) @@ -800,6 +800,7 @@ ktls_alloc_snd_tag(struct inpcb *inp, struct ktls_sess params.hdr.type = IF_SND_TAG_TYPE_TLS; params.hdr.flowid = inp->inp_flowid; params.hdr.flowtype = inp->inp_flowtype; + params.hdr.numa_domain = inp->inp_numa_domain; params.tls.inp = inp; params.tls.tls = tls; INP_RUNLOCK(inp); Modified: head/sys/net/ieee8023ad_lacp.c ============================================================================== --- head/sys/net/ieee8023ad_lacp.c Mon Mar 9 13:36:45 2020 (r358807) +++ head/sys/net/ieee8023ad_lacp.c Mon Mar 9 13:44:51 2020 (r358808) @@ -832,13 +832,12 @@ lacp_stop(struct lagg_softc *sc) } struct lagg_port * -lacp_select_tx_port(struct lagg_softc *sc, struct mbuf *m) +lacp_select_tx_port_by_hash(struct lagg_softc *sc, uint32_t hash, uint8_t numa_domain) { struct lacp_softc *lsc = LACP_SOFTC(sc); struct lacp_portmap *pm; struct lacp_port *lp; struct lacp_port **map; - uint32_t hash; int count; if (__predict_false(lsc->lsc_suppress_distributing)) { @@ -854,10 +853,10 @@ lacp_select_tx_port(struct lagg_softc *sc, struct mbuf #ifdef NUMA if ((sc->sc_opts & LAGG_OPT_USE_NUMA) && - pm->pm_num_dom > 1 && m->m_pkthdr.numa_domain < MAXMEMDOM) { - count = pm->pm_numa[m->m_pkthdr.numa_domain].count; + pm->pm_num_dom > 1 && numa_domain < MAXMEMDOM) { + count = pm->pm_numa[numa_domain].count; if (count > 0) { - map = pm->pm_numa[m->m_pkthdr.numa_domain].map; + map = pm->pm_numa[numa_domain].map; } else { /* No ports on this domain; use global hash. */ map = pm->pm_map; @@ -869,11 +868,6 @@ lacp_select_tx_port(struct lagg_softc *sc, struct mbuf map = pm->pm_map; count = pm->pm_count; } - if ((sc->sc_opts & LAGG_OPT_USE_FLOWID) && - M_HASHTYPE_GET(m) != M_HASHTYPE_NONE) - hash = m->m_pkthdr.flowid >> sc->flowid_shift; - else - hash = m_ether_tcpip_hash(sc->sc_flags, m, lsc->lsc_hashkey); hash %= count; lp = map[hash]; @@ -884,33 +878,22 @@ lacp_select_tx_port(struct lagg_softc *sc, struct mbuf return (lp->lp_lagg); } -#if defined(RATELIMIT) || defined(KERN_TLS) struct lagg_port * -lacp_select_tx_port_by_hash(struct lagg_softc *sc, uint32_t flowid) +lacp_select_tx_port(struct lagg_softc *sc, struct mbuf *m) { struct lacp_softc *lsc = LACP_SOFTC(sc); - struct lacp_portmap *pm; - struct lacp_port *lp; uint32_t hash; + uint8_t numa_domain; - if (__predict_false(lsc->lsc_suppress_distributing)) { - LACP_DPRINTF((NULL, "%s: waiting transit\n", __func__)); - return (NULL); - } + if ((sc->sc_opts & LAGG_OPT_USE_FLOWID) && + M_HASHTYPE_GET(m) != M_HASHTYPE_NONE) + hash = m->m_pkthdr.flowid >> sc->flowid_shift; + else + hash = m_ether_tcpip_hash(sc->sc_flags, m, lsc->lsc_hashkey); - pm = &lsc->lsc_pmap[lsc->lsc_activemap]; - if (pm->pm_count == 0) { - LACP_DPRINTF((NULL, "%s: no active aggregator\n", __func__)); - return (NULL); - } - - hash = flowid >> sc->flowid_shift; - hash %= pm->pm_count; - lp = pm->pm_map[hash]; - - return (lp->lp_lagg); + numa_domain = m->m_pkthdr.numa_domain; + return (lacp_select_tx_port_by_hash(sc, hash, numa_domain)); } -#endif /* * lacp_suppress_distributing: drop transmit packets for a while Modified: head/sys/net/ieee8023ad_lacp.h ============================================================================== --- head/sys/net/ieee8023ad_lacp.h Mon Mar 9 13:36:45 2020 (r358807) +++ head/sys/net/ieee8023ad_lacp.h Mon Mar 9 13:44:51 2020 (r358808) @@ -293,9 +293,7 @@ struct lacp_softc { struct mbuf *lacp_input(struct lagg_port *, struct mbuf *); struct lagg_port *lacp_select_tx_port(struct lagg_softc *, struct mbuf *); -#if defined(RATELIMIT) || defined(KERN_TLS) -struct lagg_port *lacp_select_tx_port_by_hash(struct lagg_softc *, uint32_t); -#endif +struct lagg_port *lacp_select_tx_port_by_hash(struct lagg_softc *, uint32_t, uint8_t); void lacp_attach(struct lagg_softc *); void lacp_detach(void *); void lacp_init(struct lagg_softc *); Modified: head/sys/net/if_lagg.c ============================================================================== --- head/sys/net/if_lagg.c Mon Mar 9 13:36:45 2020 (r358807) +++ head/sys/net/if_lagg.c Mon Mar 9 13:44:51 2020 (r358808) @@ -1609,12 +1609,13 @@ mst_to_lst(struct m_snd_tag *mst) * contents. */ static struct lagg_port * -lookup_snd_tag_port(struct ifnet *ifp, uint32_t flowid, uint32_t flowtype) +lookup_snd_tag_port(struct ifnet *ifp, uint32_t flowid, uint32_t flowtype, + uint8_t numa_domain) { struct lagg_softc *sc; struct lagg_port *lp; struct lagg_lb *lb; - uint32_t p; + uint32_t hash, p; sc = ifp->if_softc; @@ -1634,7 +1635,8 @@ lookup_snd_tag_port(struct ifnet *ifp, uint32_t flowid if ((sc->sc_opts & LAGG_OPT_USE_FLOWID) == 0 || flowtype == M_HASHTYPE_NONE) return (NULL); - return (lacp_select_tx_port_by_hash(sc, flowid)); + hash = flowid >> sc->flowid_shift; + return (lacp_select_tx_port_by_hash(sc, hash, numa_domain)); default: return (NULL); } @@ -1654,7 +1656,8 @@ lagg_snd_tag_alloc(struct ifnet *ifp, sc = ifp->if_softc; LAGG_RLOCK(); - lp = lookup_snd_tag_port(ifp, params->hdr.flowid, params->hdr.flowtype); + lp = lookup_snd_tag_port(ifp, params->hdr.flowid, + params->hdr.flowtype, params->hdr.numa_domain); if (lp == NULL) { LAGG_RUNLOCK(); return (EOPNOTSUPP); Modified: head/sys/net/if_var.h ============================================================================== --- head/sys/net/if_var.h Mon Mar 9 13:36:45 2020 (r358807) +++ head/sys/net/if_var.h Mon Mar 9 13:44:51 2020 (r358808) @@ -198,6 +198,7 @@ struct if_snd_tag_alloc_header { uint32_t type; /* send tag type, see IF_SND_TAG_XXX */ uint32_t flowid; /* mbuf hash value */ uint32_t flowtype; /* mbuf hash type */ + uint8_t numa_domain; /* numa domain of associated inp */ }; struct if_snd_tag_alloc_rate_limit { Modified: head/sys/netinet/in_pcb.c ============================================================================== --- head/sys/netinet/in_pcb.c Mon Mar 9 13:36:45 2020 (r358807) +++ head/sys/netinet/in_pcb.c Mon Mar 9 13:44:51 2020 (r358808) @@ -3258,6 +3258,7 @@ in_pcbattach_txrtlmt(struct inpcb *inp, struct ifnet * IF_SND_TAG_TYPE_UNLIMITED : IF_SND_TAG_TYPE_RATE_LIMIT, .rate_limit.hdr.flowid = flowid, .rate_limit.hdr.flowtype = flowtype, + .rate_limit.hdr.numa_domain = inp->inp_numa_domain, .rate_limit.max_rate = max_pacing_rate, .rate_limit.flags = M_NOWAIT, }; Modified: head/sys/netinet/tcp_ratelimit.c ============================================================================== --- head/sys/netinet/tcp_ratelimit.c Mon Mar 9 13:36:45 2020 (r358807) +++ head/sys/netinet/tcp_ratelimit.c Mon Mar 9 13:44:51 2020 (r358808) @@ -1006,6 +1006,7 @@ rt_find_real_interface(struct ifnet *ifp, struct inpcb union if_snd_tag_alloc_params params = { .rate_limit.hdr.type = IF_SND_TAG_TYPE_RATE_LIMIT, .rate_limit.hdr.flowid = 1, + .rate_limit.hdr.numa_domain = inp->inp_numa_domain, .rate_limit.max_rate = COMMON_RATE, .rate_limit.flags = M_NOWAIT, }; From owner-svn-src-head@freebsd.org Mon Mar 9 13:46:26 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EB6A0262F12; Mon, 9 Mar 2020 13:46:26 +0000 (UTC) (envelope-from gallatin@cs.duke.edu) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) (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 48bfdY1nV7z44xZ; Mon, 9 Mar 2020 13:46:24 +0000 (UTC) (envelope-from gallatin@cs.duke.edu) Received: from [192.168.1.2] (pool-74-110-182-118.rcmdva.fios.verizon.net [74.110.182.118]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: gallatin) by duke.cs.duke.edu (Postfix) with ESMTPSA id 824B627002E1; Mon, 9 Mar 2020 09:46:22 -0400 (EDT) DMARC-Filter: OpenDMARC Filter v1.3.1 duke.cs.duke.edu 824B627002E1 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=cs.duke.edu; s=mail0816; t=1583761582; bh=MZmV1UByt+s5FU5VOFGst32Di6K0kuFZHWE9lki/uJY=; h=Subject:To:From:Date:From; b=UbkKQEcMn4Wg+WBgcsvc2+pKG3DUgpXOGhQYpjgYhbJICWFh6mQ1ywbqK1AkDbe8h gtK2ifaPonBmumyvLknz3u7eU4KLpwqVOuvG0XeT1DwkaKPNfwo7PB5ZEDpZHh57tV Www2mq1B3pPtMh6/nUMsUSiUAr5uY1+Rk6YgnpIb+ORldpQVVgjHCGbkyNK0LpZi92 tHwY3Pw7HCpF9DpF6v9WeTanKEQ0OlLqaCswvvCY3BYd0wrWOQTFE+M+WdeVGsi/1k NBDpmQAgR7osuuz4Ls7Y0ppz+ziD5gzIwlTPxeZlnmCqip4Ml7NA6tb8BqaPb3dl5m C/gBBrehI6PNg== Subject: Re: svn commit: r358808 - in head/sys: kern net netinet To: Andrew Gallatin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202003091344.029Dipuf016764@repo.freebsd.org> From: Andrew Gallatin Message-ID: Date: Mon, 9 Mar 2020 09:46:21 -0400 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <202003091344.029Dipuf016764@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 48bfdY1nV7z44xZ X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.03 / 15.00]; REPLY(-4.00)[]; NEURAL_SPAM_MEDIUM(0.97)[0.969,0]; NEURAL_HAM_LONG(-0.99)[-0.994,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 13:46:27 -0000 On 2020-03-09 09:44, Andrew Gallatin wrote: > Author: gallatin > Date: Mon Mar 9 13:44:51 2020 > New Revision: 358808 > URL: https://urldefense.com/v3/__https://svnweb.freebsd.org/changeset/base/358808__;!!OToaGQ!5mmRl2ROq7G4c4x2Xe2uHppYyETGlCRsREj-jHw0ZWcNqt3GhQju3BHBkM_vsrVvkQ$ > > Log: > make lacp's use_numa hashing aware of send tags > > When I did the use_numa support, I missed the fact that there is > a separate hash function for send tag nic selection. So when > use_numa is enabled, ktls offload does not work properly, as it > does not reliably allocate a send tag on the proper egress nic > since different egress nics are selected for send-tag allocation > and packet transmit. To fix this, this change: > > - refectors lacp_select_tx_port_by_hash() and > lacp_select_tx_port() to make lacp_select_tx_port_by_hash() > always called by lacp_select_tx_port() > > - pre-shifts flowids to convert them to hashes when calling lacp_select_tx_port_by_hash() > > - adds a numa_domain field to if_snd_tag_alloc_params > > - plumbs the numa domain into places where we allocate send tags > > In testing with NIC TLS setup on a NUMA machine, I see thousands > of output errors before the change when enabling > kern.ipc.tls.ifnet.permitted=1. After the change, I see no > errors, and I see the NIC sysctl counters showing active TLS > offload sessions. > > Reviewed by: rrs, hselasky, jhb > Sponsored by: Netflix Forgot: Differential: https://reviews.freebsd.org/D23811 From owner-svn-src-head@freebsd.org Mon Mar 9 15:48:54 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4657E26628E; Mon, 9 Mar 2020 15:48:54 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bjLt0P53z3Cd4; Mon, 9 Mar 2020 15:48:54 +0000 (UTC) (envelope-from sjg@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 E9C14D1D2; Mon, 9 Mar 2020 15:48:53 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029Fmrpv092724; Mon, 9 Mar 2020 15:48:53 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029FmrBl092723; Mon, 9 Mar 2020 15:48:53 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <202003091548.029FmrBl092723@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Mon, 9 Mar 2020 15:48:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358811 - head/stand/liblua X-SVN-Group: head X-SVN-Commit-Author: sjg X-SVN-Commit-Paths: head/stand/liblua X-SVN-Commit-Revision: 358811 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 15:48:54 -0000 Author: sjg Date: Mon Mar 9 15:48:53 2020 New Revision: 358811 URL: https://svnweb.freebsd.org/changeset/base/358811 Log: veloader use vectx API for kernel and modules The vectx API, computes the hash for verifying a file as it is read. This avoids the overhead of reading files twice - once to verify, then again to load. For doing an install via loader, avoiding the need to rewind large files is critical. This API is only used for modules, kernel and mdimage as these are the biggest files read by the loader. The reduction in boot time depends on how expensive the I/O is on any given platform. On a fast VM we see 6% improvement. For install via loader the first file to be verified is likely to be the kernel, so some of the prep work (finding manifest etc) done by verify_file() needs to be factored so it can be reused for vectx_open(). For missing or unrecognized fingerprint entries, we fail in vectx_open() unless verifying is disabled. Otherwise fingerprint check happens in vectx_close() and since this API is only used for files which must be verified (VE_MUST) we panic if we get an incorrect hash. Reviewed by: imp,tsoome MFC after: 1 week Sponsored by: Juniper Networks Differential Revision: https://reviews.freebsd.org//D23827 Modified: head/stand/liblua/lstd.c Modified: head/stand/liblua/lstd.c ============================================================================== --- head/stand/liblua/lstd.c Mon Mar 9 15:28:52 2020 (r358810) +++ head/stand/liblua/lstd.c Mon Mar 9 15:48:53 2020 (r358811) @@ -83,7 +83,7 @@ fopen(const char *filename, const char *mode) #ifdef LOADER_VERIEXEC /* only regular files and only reading makes sense */ if (S_ISREG(st.st_mode) && !(m & O_WRONLY)) { - if (verify_file(fd, filename, 0, VE_GUESS) < 0) { + if (verify_file(fd, filename, 0, VE_GUESS, __func__) < 0) { free(f); close(fd); return (NULL); From owner-svn-src-head@freebsd.org Mon Mar 9 15:55:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BFA0F2664D2; Mon, 9 Mar 2020 15:55:14 +0000 (UTC) (envelope-from chs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bjVB3Rmkz40tQ; Mon, 9 Mar 2020 15:55:14 +0000 (UTC) (envelope-from chs@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 3B75BD397; Mon, 9 Mar 2020 15:55:14 +0000 (UTC) (envelope-from chs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029FtDGP098427; Mon, 9 Mar 2020 15:55:13 GMT (envelope-from chs@FreeBSD.org) Received: (from chs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029FtDOJ098426; Mon, 9 Mar 2020 15:55:13 GMT (envelope-from chs@FreeBSD.org) Message-Id: <202003091555.029FtDOJ098426@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: chs set sender to chs@FreeBSD.org using -f From: Chuck Silvers Date: Mon, 9 Mar 2020 15:55:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358812 - head/sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: chs X-SVN-Commit-Paths: head/sys/ufs/ffs X-SVN-Commit-Revision: 358812 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 15:55:14 -0000 Author: chs Date: Mon Mar 9 15:55:13 2020 New Revision: 358812 URL: https://svnweb.freebsd.org/changeset/base/358812 Log: Use the devfs vnode rather than the mntfs vnode for permissions checks. I missed this one in r358714. Reported by: pho Reviewed by: mckusick Approved by: imp (mentor) Sponsored by: Netflix Modified: head/sys/ufs/ffs/ffs_suspend.c Modified: head/sys/ufs/ffs/ffs_suspend.c ============================================================================== --- head/sys/ufs/ffs/ffs_suspend.c Mon Mar 9 15:48:53 2020 (r358811) +++ head/sys/ufs/ffs/ffs_suspend.c Mon Mar 9 15:55:13 2020 (r358812) @@ -196,10 +196,10 @@ ffs_susp_suspend(struct mount *mp) * device. The permissions can change after we unlock the vnode; * it's harmless. */ - vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY); - error = VOP_ACCESS(ump->um_devvp, VREAD | VWRITE, + vn_lock(ump->um_odevvp, LK_EXCLUSIVE | LK_RETRY); + error = VOP_ACCESS(ump->um_odevvp, VREAD | VWRITE, curthread->td_ucred, curthread); - VOP_UNLOCK(ump->um_devvp); + VOP_UNLOCK(ump->um_odevvp); if (error != 0) return (error); #ifdef MAC From owner-svn-src-head@freebsd.org Mon Mar 9 16:02:55 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B5037266919; Mon, 9 Mar 2020 16:02:55 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bjg31CMqz49tL; Mon, 9 Mar 2020 16:02:55 +0000 (UTC) (envelope-from sjg@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 05673D588; Mon, 9 Mar 2020 16:02:55 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029G2seR004351; Mon, 9 Mar 2020 16:02:54 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029G2snS004349; Mon, 9 Mar 2020 16:02:54 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <202003091602.029G2snS004349@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Mon, 9 Mar 2020 16:02:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358813 - in head/stand: ficl i386/loader X-SVN-Group: head X-SVN-Commit-Author: sjg X-SVN-Commit-Paths: in head/stand: ficl i386/loader X-SVN-Commit-Revision: 358813 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 16:02:55 -0000 Author: sjg Date: Mon Mar 9 16:02:54 2020 New Revision: 358813 URL: https://svnweb.freebsd.org/changeset/base/358813 Log: veloader use vectx API for kernel and modules The vectx API, computes the hash for verifying a file as it is read. This avoids the overhead of reading files twice - once to verify, then again to load. For doing an install via loader, avoiding the need to rewind large files is critical. This API is only used for modules, kernel and mdimage as these are the biggest files read by the loader. The reduction in boot time depends on how expensive the I/O is on any given platform. On a fast VM we see 6% improvement. For install via loader the first file to be verified is likely to be the kernel, so some of the prep work (finding manifest etc) done by verify_file() needs to be factored so it can be reused for vectx_open(). For missing or unrecognized fingerprint entries, we fail in vectx_open() unless verifying is disabled. Otherwise fingerprint check happens in vectx_close() and since this API is only used for files which must be verified (VE_MUST) we panic if we get an incorrect hash. Reviewed by: imp,tsoome MFC after: 1 week Sponsored by: Juniper Networks Differential Revision: https://reviews.freebsd.org//D23827 Modified: head/stand/ficl/fileaccess.c head/stand/i386/loader/chain.c Modified: head/stand/ficl/fileaccess.c ============================================================================== --- head/stand/ficl/fileaccess.c Mon Mar 9 15:55:13 2020 (r358812) +++ head/stand/ficl/fileaccess.c Mon Mar 9 16:02:54 2020 (r358813) @@ -69,7 +69,7 @@ static void ficlFopen(FICL_VM *pVM, char *writeMode) / else #ifdef LOADER_VERIEXEC if (*mode == 'r' && - verify_file(fileno(f), filename, 0, VE_GUESS) < 0) { + verify_file(fileno(f), filename, 0, VE_GUESS, __func__) < 0) { fclose(f); stackPushPtr(pVM->pStack, NULL); } else Modified: head/stand/i386/loader/chain.c ============================================================================== --- head/stand/i386/loader/chain.c Mon Mar 9 15:55:13 2020 (r358812) +++ head/stand/i386/loader/chain.c Mon Mar 9 16:02:54 2020 (r358813) @@ -95,7 +95,7 @@ command_chain(int argc, char *argv[]) } #else #ifdef LOADER_VERIEXEC - if (verify_file(fd, argv[1], 0, VE_MUST) < 0) { + if (verify_file(fd, argv[1], 0, VE_MUST, __func__) < 0) { sprintf(command_errbuf, "can't verify: %s", argv[1]); close(fd); return (CMD_ERROR); From owner-svn-src-head@freebsd.org Mon Mar 9 16:41:28 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 497F826731D; Mon, 9 Mar 2020 16:41:28 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.pphosted.com", Issuer "Thawte RSA CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bkWV55Sfz4fFY; Mon, 9 Mar 2020 16:41:26 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from pps.filterd (m0108160.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 029FaibJ030672; Mon, 9 Mar 2020 08:45:44 -0700 Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2177.outbound.protection.outlook.com [104.47.55.177]) by mx0b-00273201.pphosted.com with ESMTP id 2ymadqawcy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 09 Mar 2020 08:45:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dOsufdGvYnToFDvKcB6u9aG6XGAgGQqbX0Zgf2zu+P0wlQ0phg7GKPk84MgHiDxgXj+52bwbDOU2+eYJM4TJgZR/o3j+4FKQMM0DAhsOpZCaO9ESaT82EWLpRMCRfD/2rRR0ia02JjPOCV94P1JMu1jl8uR9x7nX42Wub4QPnkzWvBMztgcHWK644T+ypnCv/9FMpGYIw2EjCyTEqGbcBXTTNwzEEI9sk98QeNoL6Ij/FYIReNVwyW9FOl13HKdWhxtQN6toK7sF2Fap3lD+GVGX5Pdi0PSszHl6yDmOBa8LclDnnJ/Vk8iP8YST/7OU1IrE0N75QujZE/BQcHwaSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2zGyVfmU6o/ms5EXcK62RSxl5K6Ja+Lhlc3XbmMrSi4=; b=HT4b5ypqVOJKGSuAeZm5fGlThD4AR4SR2LSK1tcYFlWEV+ELKrv8Nkv1V8UKmPEux9hvwCP/K2muNQNQAcMkEsF/RxeqWELfou4kt/SAXq0rUdvR2kHzSvASP1jVnXtYye4aMm49Ujn6ox/D9QTvRi9TGDjCLAZOy7EDhMsyW86jMbqZ9/xqAQvKHsENelxb3nDxqDuQZjZpsx6LlufuD4oJGn3zL65JmMFDutFsX6dNUC1YL014bGSwZFE0BYVOM17SKIBFBn5DJcenlliO2UEcXzGuXBwcf2niiyGGjpFFaLfbIzknnVHkuEaYwhkFKUBdSGnyAdLfqVFFE+QYog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 66.129.242.12) smtp.rcpttodomain=freebsd.org smtp.mailfrom=juniper.net; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=juniper.net; dkim=none (message not signed); arc=none Received: from CY4PR21CA0020.namprd21.prod.outlook.com (2603:10b6:903:dd::30) by DM6PR05MB6137.namprd05.prod.outlook.com (2603:10b6:5:119::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.10; Mon, 9 Mar 2020 15:45:41 +0000 Received: from DM3NAM05FT064.eop-nam05.prod.protection.outlook.com (2603:10b6:903:dd:cafe::6) by CY4PR21CA0020.outlook.office365.com (2603:10b6:903:dd::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.5 via Frontend Transport; Mon, 9 Mar 2020 15:45:41 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.242.12 as permitted sender) Received: from P-EXFEND-EQX-01.jnpr.net (66.129.242.12) by DM3NAM05FT064.mail.protection.outlook.com (10.152.98.188) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2814.6 via Frontend Transport; Mon, 9 Mar 2020 15:45:40 +0000 Received: from P-EXBEND-EQX-01.jnpr.net (10.104.8.52) by P-EXFEND-EQX-01.jnpr.net (10.104.8.54) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 9 Mar 2020 08:44:59 -0700 Received: from p-mailhub01.juniper.net (10.104.20.6) by P-EXBEND-EQX-01.jnpr.net (10.104.8.52) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Mon, 9 Mar 2020 08:44:59 -0700 Received: from kaos.jnpr.net (kaos.jnpr.net [172.23.50.162]) by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id 029Fiw8A001613; Mon, 9 Mar 2020 08:44:58 -0700 (envelope-from sjg@juniper.net) Received: by kaos.jnpr.net (Postfix, from userid 1377) id 7BA3937F09; Mon, 9 Mar 2020 08:44:58 -0700 (PDT) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id 79D7437F08; Mon, 9 Mar 2020 08:44:58 -0700 (PDT) To: "O. Hartmann" CC: , , , Subject: Re: svn commit: r358744 - in head: lib/libsecureboot lib/libsecureboot/h lib/libsecureboot/tests share/mk stand stand/common stand/efi/loader stand/efi/loader/arch/i386 stand/ficl stand/i386/libi386 st... In-Reply-To: <20200309070540.7b3c9ce6@freyja> References: <202003081742.028HghCd086246@repo.freebsd.org> <20200309070540.7b3c9ce6@freyja> Comments: In-reply-to: "O. Hartmann" message dated "Mon, 09 Mar 2020 07:05:46 +0100." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 26.3 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <64835.1583768698.1@kaos.jnpr.net> Content-Transfer-Encoding: quoted-printable Date: Mon, 9 Mar 2020 08:44:58 -0700 Message-ID: <67003.1583768698@kaos.jnpr.net> X-EXCLAIMER-MD-CONFIG: e3cb0ff2-54e7-4646-8a04-0dae4ac7b136 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:66.129.242.12; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(4636009)(39860400002)(346002)(136003)(376002)(396003)(189003)(199004)(6916009)(7696005)(356004)(4326008)(8936002)(8676002)(81166006)(81156014)(4744005)(26826003)(70586007)(70206006)(86362001)(55016002)(107886003)(54906003)(9686003)(7126003)(2906002)(5660300002)(478600001)(6266002)(336012)(26005)(316002)(186003); DIR:OUT; SFP:1102; SCL:1; SRVR:DM6PR05MB6137; H:P-EXFEND-EQX-01.jnpr.net; FPR:; SPF:SoftFail; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a5200677-0ee2-4d86-c7c7-08d7c440ebc3 X-MS-TrafficTypeDiagnostic: DM6PR05MB6137: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:167; X-Forefront-PRVS: 0337AFFE9A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 03FO3qEReSuAiHDGFPiUivjMjWGeR/AFwHghswE4/VMDTTBZ7qSRWhMaw5m+vclxwheJUpme8RwqzWpFL5LJWF3+xzjRxK+qRJVL4NOl8KNxGltWvlkm6OaqdQ+Aqz1l+u7MFme3VGBDIcQ6Bta8ZDLCLACCo2QxIsPfjpQCea0DCt1k3oSyiDNDDw6+6fVeqvedYDKmHDlmTgD+To4E2Wa0oRrDQKcq+sLOr7NohcPp7HJUVHzoevwsZPiO4xENjYqat0AcFw+exCA90TR3PyGp+t8dSsGXyuPgIsNZwpet+WWA0Rt8rJeDmHH05Ldu/efdDqTVcANkABiyLgZgoDI6g6tQVjNbnbeFxdRFX6Me7t21wMAXnbMLV8f14ufZ23zfgeTiklXOEH01OASKzYob33cC9pyfRd550SgK9TAFPHcgyPJAtugKv4piW081 X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2020 15:45:40.7452 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a5200677-0ee2-4d86-c7c7-08d7c440ebc3 X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.242.12]; Helo=[P-EXFEND-EQX-01.jnpr.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR05MB6137 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-03-09_06:2020-03-09, 2020-03-09 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 spamscore=0 priorityscore=1501 impostorscore=0 suspectscore=2 clxscore=1011 lowpriorityscore=0 mlxlogscore=997 bulkscore=0 adultscore=0 mlxscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2001150001 definitions=main-2003090105 X-Rspamd-Queue-Id: 48bkWV55Sfz4fFY X-Spamd-Bar: ----- X-Spamd-Result: default: False [-5.78 / 15.00]; RCVD_TLS_LAST(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; R_DKIM_ALLOW(-0.20)[juniper.net:s=PPS1017,juniper.net:s=selector1]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:67.231.152.164]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(-1.68)[ip: (-4.14), ipnet: 67.231.152.0/24(-1.88), asn: 22843(-2.34), country: US(-0.05)]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[juniper.net:+]; DMARC_POLICY_ALLOW(-0.50)[juniper.net,reject]; RCVD_IN_DNSWL_LOW(-0.10)[164.152.231.67.list.dnswl.org : 127.0.3.1]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:22843, ipnet:67.231.152.0/24, country:US]; ARC_ALLOW(-1.00)[i=1]; RCVD_COUNT_SEVEN(0.00)[10] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 16:41:28 -0000 O. Hartmann wrote: > > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org= " > [... deleted ...] > = > = > buildworld seems to be broken on this commit: Ah! I did a buildworld, but build the 4th version of loader. Sorry, will fix. > = > [...] > --- all_subdir_stand --- > --- lstd.o --- > /usr/src/stand/liblua/lstd.c:86:44: error: too few arguments to function= call, > expected 5, have 4 if (verify_file(fd, filename, 0, VE_GUESS) < 0) { > ~~~~~~~~~~~ ^ > /usr/src/lib/libsecureboot/h/verify_file.h:50:1: note: 'verify_file' dec= lared > here int verify_file(int, const char *, off_t, int, const char *); > ^ From owner-svn-src-head@freebsd.org Mon Mar 9 19:01:18 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1289626A391; Mon, 9 Mar 2020 19:01:18 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bncs6qN5z4V32; Mon, 9 Mar 2020 19:01:17 +0000 (UTC) (envelope-from luporl@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 E5803F661; Mon, 9 Mar 2020 19:01:17 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029J1Hc9009104; Mon, 9 Mar 2020 19:01:17 GMT (envelope-from luporl@FreeBSD.org) Received: (from luporl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029J1Ha3009103; Mon, 9 Mar 2020 19:01:17 GMT (envelope-from luporl@FreeBSD.org) Message-Id: <202003091901.029J1Ha3009103@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: luporl set sender to luporl@FreeBSD.org using -f From: Leandro Lupori Date: Mon, 9 Mar 2020 19:01:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358814 - head/sys/dev/aacraid X-SVN-Group: head X-SVN-Commit-Author: luporl X-SVN-Commit-Paths: head/sys/dev/aacraid X-SVN-Commit-Revision: 358814 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 19:01:18 -0000 Author: luporl Date: Mon Mar 9 19:01:17 2020 New Revision: 358814 URL: https://svnweb.freebsd.org/changeset/base/358814 Log: [aacraid] Handle both AIF and SYNC interrupts Without this change, if an AIF interrupt comes at the same time a SYNC command is finished, the SYNC interrupt will be lost. This happens because all interrupt bits (bellbits) are cleared, but only one of them is handled. Debugging shows that, (at least) when !sc->msi_enabled and (sc->flags & AAC_FLAGS_SYNC_MODE) is true (sync mode), both bits may be set at the same time. PR: 237463 Reviewed by: scottl Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D23859 Modified: head/sys/dev/aacraid/aacraid.c Modified: head/sys/dev/aacraid/aacraid.c ============================================================================== --- head/sys/dev/aacraid/aacraid.c Mon Mar 9 16:02:54 2020 (r358813) +++ head/sys/dev/aacraid/aacraid.c Mon Mar 9 19:01:17 2020 (r358814) @@ -899,7 +899,7 @@ aacraid_new_intr_type1(void *arg) AAC_MEM0_SETREG4(sc, AAC_SRC_ODBR_C, bellbits); if (bellbits_shifted & AAC_DB_AIF_PENDING) mode |= AAC_INT_MODE_AIF; - else if (bellbits_shifted & AAC_DB_SYNC_COMMAND) + if (bellbits_shifted & AAC_DB_SYNC_COMMAND) mode |= AAC_INT_MODE_SYNC; } /* ODR readback, Prep #238630 */ @@ -923,7 +923,10 @@ aacraid_new_intr_type1(void *arg) sc->flags &= ~AAC_QUEUE_FRZN; sc->aac_sync_cm = NULL; } - mode = 0; + if (mode & AAC_INT_MODE_INTX) + mode &= ~AAC_INT_MODE_SYNC; + else + mode = 0; } if (mode & AAC_INT_MODE_AIF) { @@ -932,6 +935,9 @@ aacraid_new_intr_type1(void *arg) mode = 0; } } + + if (sc->flags & AAC_FLAGS_SYNC_MODE) + mode = 0; if (mode) { /* handle async. status */ From owner-svn-src-head@freebsd.org Mon Mar 9 19:43:30 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2206C26B4BF; Mon, 9 Mar 2020 19:43:30 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bpYY3kDGz3Qtc; Mon, 9 Mar 2020 19:43:29 +0000 (UTC) (envelope-from tsoome@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 58221FE36; Mon, 9 Mar 2020 19:43:29 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029JhTMF036264; Mon, 9 Mar 2020 19:43:29 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029JhT2S036262; Mon, 9 Mar 2020 19:43:29 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202003091943.029JhT2S036262@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Mon, 9 Mar 2020 19:43:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358815 - head/share/vt/fonts X-SVN-Group: head X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: head/share/vt/fonts X-SVN-Commit-Revision: 358815 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 19:43:30 -0000 Author: tsoome Date: Mon Mar 9 19:43:28 2020 New Revision: 358815 URL: https://svnweb.freebsd.org/changeset/base/358815 Log: gallant is 12x22, not 8x16 INDEX.fonts does list gallant with wrong size. Modified: head/share/vt/fonts/INDEX.fonts Modified: head/share/vt/fonts/INDEX.fonts ============================================================================== --- head/share/vt/fonts/INDEX.fonts Mon Mar 9 19:01:17 2020 (r358814) +++ head/share/vt/fonts/INDEX.fonts Mon Mar 9 19:43:28 2020 (r358815) @@ -34,9 +34,9 @@ MENU:fr:Choisissez votre fonte écran FONT:en:vgarom-8x14.fnt # -gallant.fnt:en:Gallant Character set, 8x16 -gallant.fnt:da:Gallant-tegnsæt, 8x16 -gallant.fnt:de:Gallant Zeichensatz, 8x16 +gallant.fnt:en:Gallant Character set, 12x22 +gallant.fnt:da:Gallant-tegnsæt, 12x22 +gallant.fnt:de:Gallant Zeichensatz, 12x22 terminus-b32.fnt:en:Terminus BSD Console, size 32 terminus-b32.fnt:da:Terminus BSD-konsol, størrelse 32 From owner-svn-src-head@freebsd.org Mon Mar 9 19:46:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3C16626B595; Mon, 9 Mar 2020 19:46:29 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bpd06F9Kz43lC; Mon, 9 Mar 2020 19:46:28 +0000 (UTC) (envelope-from kib@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 9A490FE3B; Mon, 9 Mar 2020 19:46:28 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029JkS5J036638; Mon, 9 Mar 2020 19:46:28 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029JkS6X036637; Mon, 9 Mar 2020 19:46:28 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003091946.029JkS6X036637@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 9 Mar 2020 19:46:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358816 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 358816 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 19:46:29 -0000 Author: kib Date: Mon Mar 9 19:46:28 2020 New Revision: 358816 URL: https://svnweb.freebsd.org/changeset/base/358816 Log: Style. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D23993 Modified: head/sys/kern/sys_pipe.c Modified: head/sys/kern/sys_pipe.c ============================================================================== --- head/sys/kern/sys_pipe.c Mon Mar 9 19:43:28 2020 (r358815) +++ head/sys/kern/sys_pipe.c Mon Mar 9 19:46:28 2020 (r358816) @@ -507,8 +507,8 @@ retry: error = vm_map_find(pipe_map, NULL, 0, (vm_offset_t *)&buffer, size, 0, VMFS_ANY_SPACE, VM_PROT_RW, VM_PROT_RW, 0); if (error != KERN_SUCCESS) { - if ((cpipe->pipe_buffer.buffer == NULL) && - (size > SMALL_PIPE_SIZE)) { + if (cpipe->pipe_buffer.buffer == NULL && + size > SMALL_PIPE_SIZE) { size = SMALL_PIPE_SIZE; pipefragretry++; goto retry; @@ -555,7 +555,7 @@ pipespace(struct pipe *cpipe, int size) { KASSERT(cpipe->pipe_state & PIPE_LOCKFL, - ("Unlocked pipe passed to pipespace")); + ("Unlocked pipe passed to pipespace")); return (pipespace_new(cpipe, size)); } @@ -660,10 +660,10 @@ pipe_read(struct file *fp, struct uio *uio, struct ucr goto locked_error; #endif if (amountpipekva > (3 * maxpipekva) / 4) { - if (!(rpipe->pipe_state & PIPE_DIRECTW) && - (rpipe->pipe_buffer.size > SMALL_PIPE_SIZE) && - (rpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE) && - (piperesizeallowed == 1)) { + if ((rpipe->pipe_state & PIPE_DIRECTW) == 0 && + rpipe->pipe_buffer.size > SMALL_PIPE_SIZE && + rpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE && + piperesizeallowed == 1) { PIPE_UNLOCK(rpipe); pipespace(rpipe, SMALL_PIPE_SIZE); PIPE_LOCK(rpipe); @@ -1011,10 +1011,9 @@ static int pipe_write(struct file *fp, struct uio *uio, struct ucred *active_cred, int flags, struct thread *td) { - int error = 0; - int desiredsize; - ssize_t orig_resid; struct pipe *wpipe, *rpipe; + ssize_t orig_resid; + int desiredsize, error; rpipe = fp->f_data; wpipe = PIPE_PEER(rpipe); @@ -1056,15 +1055,15 @@ pipe_write(struct file *fp, struct uio *uio, struct uc } /* Choose a smaller size if we're in a OOM situation */ - if ((amountpipekva > (3 * maxpipekva) / 4) && - (wpipe->pipe_buffer.size > SMALL_PIPE_SIZE) && - (wpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE) && - (piperesizeallowed == 1)) + if (amountpipekva > (3 * maxpipekva) / 4 && + wpipe->pipe_buffer.size > SMALL_PIPE_SIZE && + wpipe->pipe_buffer.cnt <= SMALL_PIPE_SIZE && + piperesizeallowed == 1) desiredsize = SMALL_PIPE_SIZE; /* Resize if the above determined that a new size was necessary */ - if ((desiredsize != wpipe->pipe_buffer.size) && - ((wpipe->pipe_state & PIPE_DIRECTW) == 0)) { + if (desiredsize != wpipe->pipe_buffer.size && + (wpipe->pipe_state & PIPE_DIRECTW) == 0) { PIPE_UNLOCK(wpipe); pipespace(wpipe, desiredsize); PIPE_LOCK(wpipe); From owner-svn-src-head@freebsd.org Mon Mar 9 20:27:26 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2D19426C0FE; Mon, 9 Mar 2020 20:27:26 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bqXF6Hr5z3CSd; Mon, 9 Mar 2020 20:27:25 +0000 (UTC) (envelope-from wulf@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 89B781857B; Mon, 9 Mar 2020 20:27:25 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029KRPbx061315; Mon, 9 Mar 2020 20:27:25 GMT (envelope-from wulf@FreeBSD.org) Received: (from wulf@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029KRP0q061314; Mon, 9 Mar 2020 20:27:25 GMT (envelope-from wulf@FreeBSD.org) Message-Id: <202003092027.029KRP0q061314@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wulf set sender to wulf@FreeBSD.org using -f From: Vladimir Kondratyev Date: Mon, 9 Mar 2020 20:27:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358818 - head/sys/dev/acpica X-SVN-Group: head X-SVN-Commit-Author: wulf X-SVN-Commit-Paths: head/sys/dev/acpica X-SVN-Commit-Revision: 358818 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 20:27:26 -0000 Author: wulf Date: Mon Mar 9 20:27:25 2020 New Revision: 358818 URL: https://svnweb.freebsd.org/changeset/base/358818 Log: acpi: Fix stalled value returned by acpi_get_device() after device deletion Newbus device reference attached to ACPI handle is not cleared when newbus device is deleted with devctl(8) delete command. Fix that with calling of AcpiDetachData() from "child_deleted" bus method like acpi_pci driver does. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D22902 Modified: head/sys/dev/acpica/acpi.c Modified: head/sys/dev/acpica/acpi.c ============================================================================== --- head/sys/dev/acpica/acpi.c Mon Mar 9 19:55:13 2020 (r358817) +++ head/sys/dev/acpica/acpi.c Mon Mar 9 20:27:25 2020 (r358818) @@ -121,6 +121,7 @@ static device_t acpi_add_child(device_t bus, u_int ord static int acpi_print_child(device_t bus, device_t child); static void acpi_probe_nomatch(device_t bus, device_t child); static void acpi_driver_added(device_t dev, driver_t *driver); +static void acpi_child_deleted(device_t dev, device_t child); static int acpi_read_ivar(device_t dev, device_t child, int index, uintptr_t *result); static int acpi_write_ivar(device_t dev, device_t child, int index, @@ -199,6 +200,7 @@ static device_method_t acpi_methods[] = { DEVMETHOD(bus_print_child, acpi_print_child), DEVMETHOD(bus_probe_nomatch, acpi_probe_nomatch), DEVMETHOD(bus_driver_added, acpi_driver_added), + DEVMETHOD(bus_child_deleted, acpi_child_deleted), DEVMETHOD(bus_read_ivar, acpi_read_ivar), DEVMETHOD(bus_write_ivar, acpi_write_ivar), DEVMETHOD(bus_get_resource_list, acpi_get_rlist), @@ -907,6 +909,18 @@ acpi_child_pnpinfo_str_method(device_t cbdev, device_t } /* + * Handle device deletion. + */ +static void +acpi_child_deleted(device_t dev, device_t child) +{ + struct acpi_device *dinfo = device_get_ivars(child); + + if (acpi_get_device(dinfo->ad_handle) == child) + AcpiDetachData(dinfo->ad_handle, acpi_fake_objhandler); +} + +/* * Handle per-device ivars */ static int @@ -1791,10 +1805,8 @@ acpi_device_scan_cb(ACPI_HANDLE h, UINT32 level, void return (status); /* Remove the old child and its connection to the handle. */ - if (old_dev != NULL) { + if (old_dev != NULL) device_delete_child(device_get_parent(old_dev), old_dev); - AcpiDetachData(h, acpi_fake_objhandler); - } /* Recreate the handle association if the user created a device. */ if (dev != NULL) From owner-svn-src-head@freebsd.org Mon Mar 9 20:28:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1CF8126C18A; Mon, 9 Mar 2020 20:28:47 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bqYp60wpz3GQP; Mon, 9 Mar 2020 20:28:46 +0000 (UTC) (envelope-from wulf@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 9817618581; Mon, 9 Mar 2020 20:28:46 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029KSkcP061414; Mon, 9 Mar 2020 20:28:46 GMT (envelope-from wulf@FreeBSD.org) Received: (from wulf@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029KSktx061412; Mon, 9 Mar 2020 20:28:46 GMT (envelope-from wulf@FreeBSD.org) Message-Id: <202003092028.029KSktx061412@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wulf set sender to wulf@FreeBSD.org using -f From: Vladimir Kondratyev Date: Mon, 9 Mar 2020 20:28:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358819 - head/sys/dev/acpica X-SVN-Group: head X-SVN-Commit-Author: wulf X-SVN-Commit-Paths: head/sys/dev/acpica X-SVN-Commit-Revision: 358819 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 20:28:47 -0000 Author: wulf Date: Mon Mar 9 20:28:45 2020 New Revision: 358819 URL: https://svnweb.freebsd.org/changeset/base/358819 Log: acpi: Export functions required by upcoming acpi_iicbus driver. Modified: head/sys/dev/acpica/acpi.c head/sys/dev/acpica/acpivar.h Modified: head/sys/dev/acpica/acpi.c ============================================================================== --- head/sys/dev/acpica/acpi.c Mon Mar 9 20:27:25 2020 (r358818) +++ head/sys/dev/acpica/acpi.c Mon Mar 9 20:28:45 2020 (r358819) @@ -150,7 +150,6 @@ static ACPI_STATUS acpi_device_scan_cb(ACPI_HANDLE h, void *context, void **retval); static ACPI_STATUS acpi_device_scan_children(device_t bus, device_t dev, int max_depth, acpi_scan_cb_t user_fn, void *arg); -static int acpi_set_powerstate(device_t child, int state); static int acpi_isa_pnp_probe(device_t bus, device_t child, struct isa_pnp_id *ids); static void acpi_probe_children(device_t bus); @@ -162,7 +161,6 @@ static ACPI_STATUS acpi_sleep_disable(struct acpi_soft static ACPI_STATUS acpi_EnterSleepState(struct acpi_softc *sc, int state); static void acpi_shutdown_final(void *arg, int howto); static void acpi_enable_fixed_events(struct acpi_softc *sc); -static BOOLEAN acpi_has_hid(ACPI_HANDLE handle); static void acpi_resync_clock(struct acpi_softc *sc); static int acpi_wake_sleep_prep(ACPI_HANDLE handle, int sstate); static int acpi_wake_run_prep(ACPI_HANDLE handle, int sstate); @@ -883,14 +881,12 @@ acpi_child_location_str_method(device_t cbdev, device_ } /* PnP information for devctl(8) */ -static int -acpi_child_pnpinfo_str_method(device_t cbdev, device_t child, char *buf, - size_t buflen) +int +acpi_pnpinfo_str(ACPI_HANDLE handle, char *buf, size_t buflen) { - struct acpi_device *dinfo = device_get_ivars(child); ACPI_DEVICE_INFO *adinfo; - if (ACPI_FAILURE(AcpiGetObjectInfo(dinfo->ad_handle, &adinfo))) { + if (ACPI_FAILURE(AcpiGetObjectInfo(handle, &adinfo))) { snprintf(buf, buflen, "unknown"); return (0); } @@ -908,6 +904,15 @@ acpi_child_pnpinfo_str_method(device_t cbdev, device_t return (0); } +static int +acpi_child_pnpinfo_str_method(device_t cbdev, device_t child, char *buf, + size_t buflen) +{ + struct acpi_device *dinfo = device_get_ivars(child); + + return (acpi_pnpinfo_str(dinfo->ad_handle, buf, buflen)); +} + /* * Handle device deletion. */ @@ -1840,7 +1845,7 @@ acpi_device_scan_children(device_t bus, device_t dev, * Even though ACPI devices are not PCI, we use the PCI approach for setting * device power states since it's close enough to ACPI. */ -static int +int acpi_set_powerstate(device_t child, int state) { ACPI_HANDLE h; @@ -2285,7 +2290,7 @@ acpi_BatteryIsPresent(device_t dev) /* * Returns true if a device has at least one valid device ID. */ -static BOOLEAN +BOOLEAN acpi_has_hid(ACPI_HANDLE h) { ACPI_DEVICE_INFO *devinfo; Modified: head/sys/dev/acpica/acpivar.h ============================================================================== --- head/sys/dev/acpica/acpivar.h Mon Mar 9 20:27:25 2020 (r358818) +++ head/sys/dev/acpica/acpivar.h Mon Mar 9 20:28:45 2020 (r358819) @@ -371,6 +371,7 @@ int acpi_bus_alloc_gas(device_t dev, int *type, int * u_int flags); void acpi_walk_subtables(void *first, void *end, acpi_subtable_handler *handler, void *arg); +BOOLEAN acpi_has_hid(ACPI_HANDLE handle); int acpi_MatchHid(ACPI_HANDLE h, const char *hid); #define ACPI_MATCHHID_NOMATCH 0 #define ACPI_MATCHHID_HID 1 @@ -434,6 +435,7 @@ ACPI_STATUS acpi_pwr_wake_enable(ACPI_HANDLE consumer, ACPI_STATUS acpi_pwr_switch_consumer(ACPI_HANDLE consumer, int state); int acpi_device_pwr_for_sleep(device_t bus, device_t dev, int *dstate); +int acpi_set_powerstate(device_t child, int state); /* APM emulation */ void acpi_apm_init(struct acpi_softc *); @@ -468,6 +470,7 @@ int acpi_wakeup_machdep(struct acpi_softc *sc, int st int sleep_result, int intr_enabled); int acpi_table_quirks(int *quirks); int acpi_machdep_quirks(int *quirks); +int acpi_pnpinfo_str(ACPI_HANDLE handle, char *buf, size_t buflen); uint32_t hpet_get_uid(device_t dev); From owner-svn-src-head@freebsd.org Mon Mar 9 20:31:40 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3796926C353; Mon, 9 Mar 2020 20:31:40 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bqd814DDz3NTy; Mon, 9 Mar 2020 20:31:40 +0000 (UTC) (envelope-from wulf@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 00244186F6; Mon, 9 Mar 2020 20:31:40 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029KVdpI065551; Mon, 9 Mar 2020 20:31:39 GMT (envelope-from wulf@FreeBSD.org) Received: (from wulf@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029KVceZ065545; Mon, 9 Mar 2020 20:31:38 GMT (envelope-from wulf@FreeBSD.org) Message-Id: <202003092031.029KVceZ065545@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wulf set sender to wulf@FreeBSD.org using -f From: Vladimir Kondratyev Date: Mon, 9 Mar 2020 20:31:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358820 - in head/sys: conf dev/ichiic dev/iicbus modules/i2c/iicbus X-SVN-Group: head X-SVN-Commit-Author: wulf X-SVN-Commit-Paths: in head/sys: conf dev/ichiic dev/iicbus modules/i2c/iicbus X-SVN-Commit-Revision: 358820 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 20:31:40 -0000 Author: wulf Date: Mon Mar 9 20:31:38 2020 New Revision: 358820 URL: https://svnweb.freebsd.org/changeset/base/358820 Log: iicbus(4): Add support for ACPI-based children enumeration When iicbus is attached as child of Designware I2C controller it scans all ACPI nodes for "I2C Serial Bus Connection Resource Descriptor" described in section 19.6.57 of ACPI specs. If such a descriptor is found, I2C child is added to iicbus, it's I2C address, IRQ resource and ACPI handle are added to ivars. Existing ACPI bus-hosted child is deleted afterwards. The driver also installs so called "I2C address space handler" which is disabled by default as nontested. Set hw.iicbus.enable_acpi_space_handler loader tunable to 1 to enable it. Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D22901 Added: head/sys/dev/iicbus/acpi_iicbus.c (contents, props changed) Modified: head/sys/conf/files head/sys/dev/ichiic/ig4_iic.c head/sys/dev/iicbus/iicbus.c head/sys/dev/iicbus/iicbus.h head/sys/modules/i2c/iicbus/Makefile Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Mon Mar 9 20:28:45 2020 (r358819) +++ head/sys/conf/files Mon Mar 9 20:31:38 2020 (r358820) @@ -1773,6 +1773,7 @@ dev/ichsmb/ichsmb_pci.c optional ichsmb pci dev/ida/ida.c optional ida dev/ida/ida_disk.c optional ida dev/ida/ida_pci.c optional ida pci +dev/iicbus/acpi_iicbus.c optional acpi iicbus dev/iicbus/ad7418.c optional ad7418 dev/iicbus/ads111x.c optional ads111x dev/iicbus/ds1307.c optional ds1307 Modified: head/sys/dev/ichiic/ig4_iic.c ============================================================================== --- head/sys/dev/ichiic/ig4_iic.c Mon Mar 9 20:28:45 2020 (r358819) +++ head/sys/dev/ichiic/ig4_iic.c Mon Mar 9 20:31:38 2020 (r358820) @@ -1201,5 +1201,9 @@ ig4iic_dump(ig4iic_softc_t *sc) devclass_t ig4iic_devclass; DRIVER_MODULE(iicbus, ig4iic, iicbus_driver, iicbus_devclass, NULL, NULL); +#ifdef DEV_ACPI +DRIVER_MODULE(acpi_iicbus, ig4iic, acpi_iicbus_driver, iicbus_devclass, NULL, + NULL); +#endif MODULE_DEPEND(ig4iic, iicbus, IICBUS_MINVER, IICBUS_PREFVER, IICBUS_MAXVER); MODULE_VERSION(ig4iic, 1); Added: head/sys/dev/iicbus/acpi_iicbus.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/iicbus/acpi_iicbus.c Mon Mar 9 20:31:38 2020 (r358820) @@ -0,0 +1,789 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2019-2020 Vladimir Kondratyev + * + * 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 AUTHOR 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 AUTHOR 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. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include + +#include +#include + +#define ACPI_IICBUS_LOCAL_BUFSIZE 32 /* Fits max SMBUS block size */ + +/* + * Make a copy of ACPI_RESOURCE_I2C_SERIALBUS type and replace "pointer to ACPI + * object name string" field with pointer to ACPI object itself. + * This saves us extra strdup()/free() pair on acpi_iicbus_get_i2cres call. + */ +typedef ACPI_RESOURCE_I2C_SERIALBUS ACPI_IICBUS_RESOURCE_I2C_SERIALBUS; +#define ResourceSource_Handle ResourceSource.StringPtr + +/* Hooks for the ACPI CA debugging infrastructure. */ +#define _COMPONENT ACPI_BUS +ACPI_MODULE_NAME("IIC") + +struct gsb_buffer { + UINT8 status; + UINT8 len; + UINT8 data[]; +} __packed; + +struct acpi_iicbus_softc { + struct iicbus_softc super_sc; + ACPI_CONNECTION_INFO space_handler_info; + bool space_handler_installed; +}; + +struct acpi_iicbus_ivars { + struct iicbus_ivar super_ivar; + ACPI_HANDLE handle; +}; + +static int install_space_handler = 0; +TUNABLE_INT("hw.iicbus.enable_acpi_space_handler", &install_space_handler); + +static inline bool +acpi_resource_is_i2c_serialbus(ACPI_RESOURCE *res) +{ + + return (res->Type == ACPI_RESOURCE_TYPE_SERIAL_BUS && + res->Data.CommonSerialBus.Type == ACPI_RESOURCE_SERIAL_TYPE_I2C); +} + +/* + * IICBUS Address space handler + */ +static int +acpi_iicbus_sendb(device_t dev, u_char slave, char byte) +{ + struct iic_msg msgs[] = { + { slave, IIC_M_WR, 1, &byte }, + }; + + return (iicbus_transfer(dev, msgs, nitems(msgs))); +} + +static int +acpi_iicbus_recvb(device_t dev, u_char slave, char *byte) +{ + char buf; + struct iic_msg msgs[] = { + { slave, IIC_M_RD, 1, &buf }, + }; + int error; + + error = iicbus_transfer(dev, msgs, nitems(msgs)); + if (error == 0) + *byte = buf; + + return (error); +} + +static int +acpi_iicbus_write(device_t dev, u_char slave, char cmd, void *buf, + uint16_t buflen) +{ + struct iic_msg msgs[] = { + { slave, IIC_M_WR | IIC_M_NOSTOP, 1, &cmd }, + { slave, IIC_M_WR | IIC_M_NOSTART, buflen, buf }, + }; + + return (iicbus_transfer(dev, msgs, nitems(msgs))); +} + +static int +acpi_iicbus_read(device_t dev, u_char slave, char cmd, void *buf, + uint16_t buflen) +{ + uint8_t local_buffer[ACPI_IICBUS_LOCAL_BUFSIZE]; + struct iic_msg msgs[] = { + { slave, IIC_M_WR | IIC_M_NOSTOP, 1, &cmd }, + { slave, IIC_M_RD, buflen, NULL }, + }; + int error; + + if (buflen <= sizeof(local_buffer)) + msgs[1].buf = local_buffer; + else + msgs[1].buf = malloc(buflen, M_DEVBUF, M_WAITOK); + error = iicbus_transfer(dev, msgs, nitems(msgs)); + if (error == 0) + memcpy(buf, msgs[1].buf, buflen); + if (msgs[1].buf != local_buffer) + free(msgs[1].buf, M_DEVBUF); + + return (error); +} + +static int +acpi_iicbus_bwrite(device_t dev, u_char slave, char cmd, u_char count, char *buf) +{ + uint8_t bytes[2] = { cmd, count }; + struct iic_msg msgs[] = { + { slave, IIC_M_WR | IIC_M_NOSTOP, nitems(bytes), bytes }, + { slave, IIC_M_WR | IIC_M_NOSTART, count, buf }, + }; + + if (count == 0) + return (errno2iic(EINVAL)); + + return (iicbus_transfer(dev, msgs, nitems(msgs))); +} + +static int +acpi_iicbus_bread(device_t dev, u_char slave, char cmd, u_char *count, char *buf) +{ + uint8_t local_buffer[ACPI_IICBUS_LOCAL_BUFSIZE]; + u_char len; + struct iic_msg msgs[] = { + { slave, IIC_M_WR | IIC_M_NOSTOP, 1, &cmd }, + { slave, IIC_M_RD | IIC_M_NOSTOP, 1, &len }, + }; + struct iic_msg block_msg[] = { + { slave, IIC_M_RD | IIC_M_NOSTART, 0, NULL }, + }; + device_t parent = device_get_parent(dev); + int error; + + /* Have to do this because the command is split in two transfers. */ + error = iicbus_request_bus(parent, dev, IIC_WAIT); + if (error == 0) + error = iicbus_transfer(dev, msgs, nitems(msgs)); + if (error == 0) { + /* + * If the slave offers an empty reply, + * read one byte to generate the stop or abort. + */ + if (len == 0) + block_msg[0].len = 1; + else + block_msg[0].len = len; + if (len <= sizeof(local_buffer)) + block_msg[0].buf = local_buffer; + else + block_msg[0].buf = malloc(len, M_DEVBUF, M_WAITOK); + error = iicbus_transfer(dev, block_msg, nitems(block_msg)); + if (len == 0) + error = errno2iic(EBADMSG); + if (error == 0) { + *count = len; + memcpy(buf, block_msg[0].buf, len); + } + if (block_msg[0].buf != local_buffer) + free(block_msg[0].buf, M_DEVBUF); + } + (void)iicbus_release_bus(parent, dev); + return (error); +} + +static ACPI_STATUS +acpi_iicbus_space_handler(UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, + UINT32 BitWidth, UINT64 *Value, void *HandlerContext, void *RegionContext) +{ + struct gsb_buffer *gsb; + struct acpi_iicbus_softc *sc; + device_t dev; + ACPI_CONNECTION_INFO *info; + ACPI_RESOURCE_I2C_SERIALBUS *sb; + ACPI_RESOURCE *res; + ACPI_STATUS s; + int val; + + gsb = (struct gsb_buffer *)Value; + if (gsb == NULL) + return (AE_BAD_PARAMETER); + + info = HandlerContext; + s = AcpiBufferToResource(info->Connection, info->Length, &res); + if (ACPI_FAILURE(s)) + return (s); + + if (!acpi_resource_is_i2c_serialbus(res)) { + s = AE_BAD_PARAMETER; + goto err; + } + + sb = &res->Data.I2cSerialBus; + + /* XXX Ignore 10bit addressing for now */ + if (sb->AccessMode == ACPI_I2C_10BIT_MODE) { + s = AE_BAD_PARAMETER; + goto err; + } + +#define AML_FIELD_ATTRIB_MASK 0x0F +#define AML_FIELD_ATTRIO(attr, io) (((attr) << 16) | (io)) + + Function &= AML_FIELD_ATTRIO(AML_FIELD_ATTRIB_MASK, ACPI_IO_MASK); + sc = __containerof(info, struct acpi_iicbus_softc, space_handler_info); + dev = sc->super_sc.dev; + + switch (Function) { + case AML_FIELD_ATTRIO(AML_FIELD_ATTRIB_SEND_RECEIVE, ACPI_READ): + val = acpi_iicbus_recvb(dev, sb->SlaveAddress, gsb->data); + break; + + case AML_FIELD_ATTRIO(AML_FIELD_ATTRIB_SEND_RECEIVE, ACPI_WRITE): + val = acpi_iicbus_sendb(dev, sb->SlaveAddress, gsb->data[0]); + break; + + case AML_FIELD_ATTRIO(AML_FIELD_ATTRIB_BYTE, ACPI_READ): + val = acpi_iicbus_read(dev, sb->SlaveAddress, Address, + gsb->data, 1); + break; + + case AML_FIELD_ATTRIO(AML_FIELD_ATTRIB_BYTE, ACPI_WRITE): + val = acpi_iicbus_write(dev, sb->SlaveAddress, Address, + gsb->data, 1); + break; + + case AML_FIELD_ATTRIO(AML_FIELD_ATTRIB_WORD, ACPI_READ): + val = acpi_iicbus_read(dev, sb->SlaveAddress, Address, + gsb->data, 2); + break; + + case AML_FIELD_ATTRIO(AML_FIELD_ATTRIB_WORD, ACPI_WRITE): + val = acpi_iicbus_write(dev, sb->SlaveAddress, Address, + gsb->data, 2); + break; + + case AML_FIELD_ATTRIO(AML_FIELD_ATTRIB_BLOCK, ACPI_READ): + val = acpi_iicbus_bread(dev, sb->SlaveAddress, Address, + &gsb->len, gsb->data); + break; + + case AML_FIELD_ATTRIO(AML_FIELD_ATTRIB_BLOCK, ACPI_WRITE): + val = acpi_iicbus_bwrite(dev, sb->SlaveAddress, Address, + gsb->len, gsb->data); + break; + + case AML_FIELD_ATTRIO(AML_FIELD_ATTRIB_BYTES, ACPI_READ): + val = acpi_iicbus_read(dev, sb->SlaveAddress, Address, + gsb->data, info->AccessLength); + break; + + case AML_FIELD_ATTRIO(AML_FIELD_ATTRIB_BYTES, ACPI_WRITE): + val = acpi_iicbus_write(dev, sb->SlaveAddress, Address, + gsb->data, info->AccessLength); + break; + + default: + device_printf(dev, "protocol(0x%04x) is not supported.\n", + Function); + s = AE_BAD_PARAMETER; + goto err; + } + + gsb->status = val; + +err: + ACPI_FREE(res); + + return (s); +} + +static int +acpi_iicbus_install_address_space_handler(struct acpi_iicbus_softc *sc) +{ + ACPI_HANDLE handle; + ACPI_STATUS s; + + handle = acpi_get_handle(device_get_parent(sc->super_sc.dev)); + s = AcpiInstallAddressSpaceHandler(handle, ACPI_ADR_SPACE_GSBUS, + &acpi_iicbus_space_handler, NULL, &sc->space_handler_info); + if (ACPI_FAILURE(s)) { + device_printf(sc->super_sc.dev, + "Failed to install GSBUS Address Space Handler in ACPI\n"); + return (ENXIO); + } + + return (0); +} + +static int +acpi_iicbus_remove_address_space_handler(struct acpi_iicbus_softc *sc) +{ + ACPI_HANDLE handle; + ACPI_STATUS s; + + handle = acpi_get_handle(device_get_parent(sc->super_sc.dev)); + s = AcpiRemoveAddressSpaceHandler(handle, ACPI_ADR_SPACE_GSBUS, + &acpi_iicbus_space_handler); + if (ACPI_FAILURE(s)) { + device_printf(sc->super_sc.dev, + "Failed to remove GSBUS Address Space Handler from ACPI\n"); + return (ENXIO); + } + + return (0); +} + +static ACPI_STATUS +acpi_iicbus_get_i2cres_cb(ACPI_RESOURCE *res, void *context) +{ + ACPI_IICBUS_RESOURCE_I2C_SERIALBUS *sb = context; + ACPI_STATUS status; + ACPI_HANDLE handle; + + if (acpi_resource_is_i2c_serialbus(res)) { + status = AcpiGetHandle(ACPI_ROOT_OBJECT, + res->Data.I2cSerialBus.ResourceSource.StringPtr, &handle); + if (ACPI_FAILURE(status)) + return (status); + memcpy(sb, &res->Data.I2cSerialBus, + sizeof(ACPI_IICBUS_RESOURCE_I2C_SERIALBUS)); + /* + * replace "pointer to ACPI object name string" field + * with pointer to ACPI object itself. + */ + sb->ResourceSource_Handle = handle; + return (AE_CTRL_TERMINATE); + } else if (res->Type == ACPI_RESOURCE_TYPE_END_TAG) + return (AE_NOT_FOUND); + + return (AE_OK); +} + +static ACPI_STATUS +acpi_iicbus_get_i2cres(ACPI_HANDLE handle, ACPI_RESOURCE_I2C_SERIALBUS *sb) +{ + + return (AcpiWalkResources(handle, "_CRS", + acpi_iicbus_get_i2cres_cb, sb)); +} + +static ACPI_STATUS +acpi_iicbus_parse_resources_cb(ACPI_RESOURCE *res, void *context) +{ + device_t dev = context; + struct iicbus_ivar *super_devi = device_get_ivars(dev); + struct resource_list *rl = &super_devi->rl; + int irq, gpio_pin; + + switch(res->Type) { + case ACPI_RESOURCE_TYPE_EXTENDED_IRQ: + if (res->Data.ExtendedIrq.InterruptCount > 0) { + irq = res->Data.ExtendedIrq.Interrupts[0]; + if (bootverbose) + printf(" IRQ: %d\n", irq); + resource_list_add_next(rl, SYS_RES_IRQ, irq, irq, 1); + return (AE_CTRL_TERMINATE); + } + break; + case ACPI_RESOURCE_TYPE_GPIO: + if (res->Data.Gpio.ConnectionType == + ACPI_RESOURCE_GPIO_TYPE_INT) { + /* Not supported by FreeBSD yet */ + gpio_pin = res->Data.Gpio.PinTable[0]; + if (bootverbose) + printf(" GPIO IRQ pin: %d\n", gpio_pin); + return (AE_CTRL_TERMINATE); + } + break; + default: + break; + } + + return (AE_OK); +} + +static ACPI_STATUS +acpi_iicbus_parse_resources(ACPI_HANDLE handle, device_t dev) +{ + + return (AcpiWalkResources(handle, "_CRS", + acpi_iicbus_parse_resources_cb, dev)); +} + +static void +acpi_iicbus_dump_res(device_t dev, ACPI_IICBUS_RESOURCE_I2C_SERIALBUS *sb) +{ + device_printf(dev, "found ACPI child\n"); + printf(" SlaveAddress: 0x%04hx\n", sb->SlaveAddress); + printf(" ConnectionSpeed: %uHz\n", sb->ConnectionSpeed); + printf(" SlaveMode: %s\n", + sb->SlaveMode == ACPI_CONTROLLER_INITIATED ? + "ControllerInitiated" : "DeviceInitiated"); + printf(" AddressingMode: %uBit\n", sb->AccessMode == 0 ? 7 : 10); + printf(" ConnectionSharing: %s\n", sb->ConnectionSharing == 0 ? + "Exclusive" : "Shared"); +} + +static device_t +acpi_iicbus_add_child(device_t dev, u_int order, const char *name, int unit) +{ + + return (iicbus_add_child_common( + dev, order, name, unit, sizeof(struct acpi_iicbus_ivars))); +} + +static ACPI_STATUS +acpi_iicbus_enumerate_child(ACPI_HANDLE handle, UINT32 level, + void *context, void **result) +{ + device_t iicbus, child, acpi_child, acpi0; + struct iicbus_softc *super_sc; + ACPI_IICBUS_RESOURCE_I2C_SERIALBUS sb; + ACPI_STATUS status; + UINT32 sta; + + iicbus = context; + super_sc = device_get_softc(iicbus); + + /* + * If no _STA method or if it failed, then assume that + * the device is present. + */ + if (!ACPI_FAILURE(acpi_GetInteger(handle, "_STA", &sta)) && + !ACPI_DEVICE_PRESENT(sta)) + return (AE_OK); + + if (!acpi_has_hid(handle)) + return (AE_OK); + + /* + * Read "I2C Serial Bus Connection Resource Descriptor" + * described in p.19.6.57 of ACPI specification. + */ + bzero(&sb, sizeof(ACPI_IICBUS_RESOURCE_I2C_SERIALBUS)); + if (ACPI_FAILURE(acpi_iicbus_get_i2cres(handle, &sb)) || + sb.SlaveAddress == 0) + return (AE_OK); + if (sb.ResourceSource_Handle != + acpi_get_handle(device_get_parent(iicbus))) + return (AE_OK); + if (bootverbose) + acpi_iicbus_dump_res(iicbus, &sb); + + /* Find out speed of the slowest slave */ + if (super_sc->bus_freq == 0 || super_sc->bus_freq > sb.ConnectionSpeed) + super_sc->bus_freq = sb.ConnectionSpeed; + + /* Delete existing child of acpi bus */ + acpi_child = acpi_get_device(handle); + if (acpi_child != NULL) { + acpi0 = devclass_get_device(devclass_find("acpi"), 0); + if (device_get_parent(acpi_child) != acpi0) + return (AE_OK); + + if (device_is_attached(acpi_child)) + return (AE_OK); + + if (device_delete_child(acpi0, acpi_child) != 0) + return (AE_OK); + } + + child = BUS_ADD_CHILD(iicbus, 0, NULL, -1); + if (child == NULL) { + device_printf(iicbus, "add child failed\n"); + return (AE_OK); + } + + iicbus_set_addr(child, sb.SlaveAddress); + acpi_set_handle(child, handle); + (void)acpi_iicbus_parse_resources(handle, child); + + /* + * Update ACPI-CA to use the IIC enumerated device_t for this handle. + */ + status = AcpiAttachData(handle, acpi_fake_objhandler, child); + if (ACPI_FAILURE(status)) + printf("WARNING: Unable to attach object data to %s - %s\n", + acpi_name(handle), AcpiFormatException(status)); + + return (AE_OK); +} + +static ACPI_STATUS +acpi_iicbus_enumerate_children(device_t dev) +{ + + return (AcpiWalkNamespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, + ACPI_UINT32_MAX, acpi_iicbus_enumerate_child, NULL, dev, NULL)); +} + +static void +acpi_iicbus_set_power_children(device_t dev, int state, bool all_children) +{ + device_t *devlist; + int i, numdevs; + + if (device_get_children(dev, &devlist, &numdevs) != 0) + return; + + for (i = 0; i < numdevs; i++) + if (all_children || device_is_attached(devlist[i]) != 0) + acpi_set_powerstate(devlist[i], state); + + free(devlist, M_TEMP); +} + +static int +acpi_iicbus_probe(device_t dev) +{ + ACPI_HANDLE handle; + device_t controller; + + if (acpi_disabled("iicbus")) + return (ENXIO); + + controller = device_get_parent(dev); + if (controller == NULL) + return (ENXIO); + + handle = acpi_get_handle(controller); + if (handle == NULL) + return (ENXIO); + + return (BUS_PROBE_DEFAULT); +} + +static int +acpi_iicbus_attach(device_t dev) +{ + struct acpi_iicbus_softc *sc = device_get_softc(dev); + int error; + + device_set_desc(dev, "Philips I2C bus (ACPI-hinted)"); + + if (ACPI_FAILURE(acpi_iicbus_enumerate_children(dev))) + device_printf(dev, "children enumeration failed\n"); + + acpi_iicbus_set_power_children(dev, ACPI_STATE_D0, true); + error = iicbus_attach_common(dev, sc->super_sc.bus_freq); + if (error == 0 && install_space_handler != 0 && + acpi_iicbus_install_address_space_handler(sc) == 0) + sc->space_handler_installed = true; + + return (error); +} + +static int +acpi_iicbus_detach(device_t dev) +{ + struct acpi_iicbus_softc *sc = device_get_softc(dev); + + if (sc->space_handler_installed) + acpi_iicbus_remove_address_space_handler(sc); + acpi_iicbus_set_power_children(dev, ACPI_STATE_D3, false); + + return (iicbus_detach(dev)); +} + +static int +acpi_iicbus_suspend(device_t dev) +{ + int error; + + error = bus_generic_suspend(dev); + if (error == 0) + acpi_iicbus_set_power_children(dev, ACPI_STATE_D3, false); + + return (error); +} + +static int +acpi_iicbus_resume(device_t dev) +{ + + acpi_iicbus_set_power_children(dev, ACPI_STATE_D0, false); + + return (bus_generic_resume(dev)); +} + +/* + * If this device is an ACPI child but no one claimed it, attempt + * to power it off. We'll power it back up when a driver is added. + */ +static void +acpi_iicbus_probe_nomatch(device_t bus, device_t child) +{ + + iicbus_probe_nomatch(bus, child); + acpi_set_powerstate(child, ACPI_STATE_D3); +} + +/* + * If a new driver has a chance to probe a child, first power it up. + */ +static void +acpi_iicbus_driver_added(device_t dev, driver_t *driver) +{ + device_t child, *devlist; + int i, numdevs; + + DEVICE_IDENTIFY(driver, dev); + if (device_get_children(dev, &devlist, &numdevs) != 0) + return; + + for (i = 0; i < numdevs; i++) { + child = devlist[i]; + if (device_get_state(child) == DS_NOTPRESENT) { + acpi_set_powerstate(child, ACPI_STATE_D0); + if (device_probe_and_attach(child) != 0) + acpi_set_powerstate(child, ACPI_STATE_D3); + } + } + free(devlist, M_TEMP); +} + +static void +acpi_iicbus_child_deleted(device_t bus, device_t child) +{ + struct acpi_iicbus_ivars *devi = device_get_ivars(child); + + if (acpi_get_device(devi->handle) == child) + AcpiDetachData(devi->handle, acpi_fake_objhandler); +} + +static int +acpi_iicbus_read_ivar(device_t bus, device_t child, int which, uintptr_t *res) +{ + struct acpi_iicbus_ivars *devi = device_get_ivars(child); + + switch (which) { + case ACPI_IVAR_HANDLE: + *res = (uintptr_t)devi->handle; + break; + default: + return (iicbus_read_ivar(bus, child, which, res)); + } + + return (0); +} + +static int +acpi_iicbus_write_ivar(device_t bus, device_t child, int which, uintptr_t val) +{ + struct acpi_iicbus_ivars *devi = device_get_ivars(child); + + switch (which) { + case ACPI_IVAR_HANDLE: + if (devi->handle != NULL) + return (EINVAL); + devi->handle = (ACPI_HANDLE)val; + break; + default: + return (iicbus_write_ivar(bus, child, which, val)); + } + + return (0); +} + +/* Location hint for devctl(8). Concatenate IIC and ACPI hints. */ +static int +acpi_iicbus_child_location_str(device_t bus, device_t child, + char *buf, size_t buflen) +{ + struct acpi_iicbus_ivars *devi = device_get_ivars(child); + int error; + + /* read IIC location hint string into the buffer. */ + error = iicbus_child_location_str(bus, child, buf, buflen); + if (error != 0) + return (error); + + /* Place ACPI string right after IIC one's terminating NUL. */ + if (devi->handle != NULL && + ((buf[0] != '\0' && strlcat(buf, " ", buflen) >= buflen) || + strlcat(buf, "handle=", buflen) >= buflen || + strlcat(buf, acpi_name(devi->handle), buflen) >= buflen)) + return (EOVERFLOW); + + return (0); +} + +/* PnP information for devctl(8). Concatenate IIC and ACPI info strings. */ +static int +acpi_iicbus_child_pnpinfo_str(device_t bus, device_t child, char *buf, + size_t buflen) +{ + struct acpi_iicbus_ivars *devi = device_get_ivars(child); + size_t acpi_offset; + int error; + + /* read IIC PnP string into the buffer. */ + error = iicbus_child_pnpinfo_str(bus, child, buf, buflen); + if (error != 0) + return (error); + + if (devi->handle == NULL) + return (0); + + /* Place ACPI string right after IIC one's terminating NUL. */ + acpi_offset = strlen(buf); + if (acpi_offset != 0) + acpi_offset++; + error = acpi_pnpinfo_str(devi->handle, buf + acpi_offset, + buflen - acpi_offset); + + /* Coalesce both strings if they are not empty. */ + if (acpi_offset > 0 && acpi_offset < buflen && buf[acpi_offset] != 0) + buf[acpi_offset - 1] = ' '; + + return (error); +} + +static device_method_t acpi_iicbus_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, acpi_iicbus_probe), + DEVMETHOD(device_attach, acpi_iicbus_attach), + DEVMETHOD(device_detach, acpi_iicbus_detach), + DEVMETHOD(device_suspend, acpi_iicbus_suspend), + DEVMETHOD(device_resume, acpi_iicbus_resume), + + /* Bus interface */ + DEVMETHOD(bus_add_child, acpi_iicbus_add_child), + DEVMETHOD(bus_probe_nomatch, acpi_iicbus_probe_nomatch), + DEVMETHOD(bus_driver_added, acpi_iicbus_driver_added), + DEVMETHOD(bus_child_deleted, acpi_iicbus_child_deleted), + DEVMETHOD(bus_read_ivar, acpi_iicbus_read_ivar), + DEVMETHOD(bus_write_ivar, acpi_iicbus_write_ivar), + DEVMETHOD(bus_child_location_str,acpi_iicbus_child_location_str), + DEVMETHOD(bus_child_pnpinfo_str,acpi_iicbus_child_pnpinfo_str), + + DEVMETHOD_END, +}; + +DEFINE_CLASS_1(iicbus, acpi_iicbus_driver, acpi_iicbus_methods, + sizeof(struct acpi_iicbus_softc), iicbus_driver); +MODULE_VERSION(acpi_iicbus, 1); +MODULE_DEPEND(acpi_iicbus, acpi, 1, 1, 1); Modified: head/sys/dev/iicbus/iicbus.c ============================================================================== --- head/sys/dev/iicbus/iicbus.c Mon Mar 9 20:28:45 2020 (r358819) +++ head/sys/dev/iicbus/iicbus.c Mon Mar 9 20:31:38 2020 (r358820) @@ -89,8 +89,8 @@ iic_probe_device(device_t dev, u_char addr) * We add all the devices which we know about. * The generic attach routine will attach them if they are alive. */ -static int -iicbus_attach(device_t dev) +int +iicbus_attach_common(device_t dev, u_int bus_freq) { #if SCAN_IICBUS unsigned char addr; @@ -100,7 +100,7 @@ iicbus_attach(device_t dev) sc->dev = dev; mtx_init(&sc->lock, "iicbus", NULL, MTX_DEF); - iicbus_init_frequency(dev, 0); + iicbus_init_frequency(dev, bus_freq); iicbus_reset(dev, IIC_FASTEST, 0, NULL); if (resource_int_value(device_get_name(dev), device_get_unit(dev), "strict", &strict) == 0) @@ -131,6 +131,13 @@ iicbus_attach(device_t dev) } static int +iicbus_attach(device_t dev) +{ + + return (iicbus_attach_common(dev, 0)); +} + +int iicbus_detach(device_t dev) { struct iicbus_softc *sc = IICBUS_SOFTC(dev); @@ -158,7 +165,7 @@ iicbus_print_child(device_t dev, device_t child) return (retval); } -static void +void iicbus_probe_nomatch(device_t bus, device_t child) { struct iicbus_ivar *devi = IICBUS_IVAR(child); @@ -166,7 +173,7 @@ iicbus_probe_nomatch(device_t bus, device_t child) device_printf(bus, " at addr %#x\n", devi->addr); } -static int +int iicbus_child_location_str(device_t bus, device_t child, char *buf, size_t buflen) { @@ -176,7 +183,7 @@ iicbus_child_location_str(device_t bus, device_t child return (0); } -static int +int iicbus_child_pnpinfo_str(device_t bus, device_t child, char *buf, size_t buflen) { @@ -184,7 +191,7 @@ iicbus_child_pnpinfo_str(device_t bus, device_t child, return (0); } -static int +int iicbus_read_ivar(device_t bus, device_t child, int which, uintptr_t *result) { struct iicbus_ivar *devi = IICBUS_IVAR(child); @@ -199,7 +206,7 @@ iicbus_read_ivar(device_t bus, device_t child, int whi return (0); } -static int +int iicbus_write_ivar(device_t bus, device_t child, int which, uintptr_t value) { struct iicbus_ivar *devi = IICBUS_IVAR(child); @@ -215,8 +222,9 @@ iicbus_write_ivar(device_t bus, device_t child, int wh return (0); } -static device_t -iicbus_add_child(device_t dev, u_int order, const char *name, int unit) +device_t +iicbus_add_child_common(device_t dev, u_int order, const char *name, int unit, + size_t ivars_size) { device_t child; struct iicbus_ivar *devi; @@ -224,7 +232,7 @@ iicbus_add_child(device_t dev, u_int order, const char child = device_add_child_ordered(dev, order, name, unit); if (child == NULL) return (child); - devi = malloc(sizeof(struct iicbus_ivar), M_DEVBUF, M_NOWAIT | M_ZERO); + devi = malloc(ivars_size, M_DEVBUF, M_NOWAIT | M_ZERO); if (devi == NULL) { device_delete_child(dev, child); return (0); @@ -232,6 +240,14 @@ iicbus_add_child(device_t dev, u_int order, const char resource_list_init(&devi->rl); device_set_ivars(child, devi); return (child); +} + +static device_t +iicbus_add_child(device_t dev, u_int order, const char *name, int unit) +{ + + return (iicbus_add_child_common( + dev, order, name, unit, sizeof(struct iicbus_ivar))); } static void Modified: head/sys/dev/iicbus/iicbus.h ============================================================================== --- head/sys/dev/iicbus/iicbus.h Mon Mar 9 20:28:45 2020 (r358819) +++ head/sys/dev/iicbus/iicbus.h Mon Mar 9 20:31:38 2020 (r358820) @@ -57,6 +57,7 @@ struct iicbus_ivar struct resource_list rl; }; +/* Value of 0x100 is reserved for ACPI_IVAR_HANDLE used by acpi_iicbus */ enum { IICBUS_IVAR_ADDR /* Address or base address */ }; @@ -79,9 +80,24 @@ IICBUS_ACCESSOR(addr, ADDR, uint32_t) int iicbus_generic_intr(device_t dev, int event, char *buf); void iicbus_init_frequency(device_t dev, u_int bus_freq); +int iicbus_attach_common(device_t dev, u_int bus_freq); +device_t iicbus_add_child_common(device_t dev, u_int order, const char *name, + int unit, size_t ivars_size); +int iicbus_detach(device_t dev); +void iicbus_probe_nomatch(device_t bus, device_t child); +int iicbus_read_ivar(device_t bus, device_t child, int which, + uintptr_t *result); +int iicbus_write_ivar(device_t bus, device_t child, int which, + uintptr_t value); +int iicbus_child_location_str(device_t bus, device_t child, char *buf, + size_t buflen); +int iicbus_child_pnpinfo_str(device_t bus, device_t child, char *buf, + size_t buflen); + extern driver_t iicbus_driver; extern devclass_t iicbus_devclass; extern driver_t ofw_iicbus_driver; extern devclass_t ofw_iicbus_devclass; +extern driver_t acpi_iicbus_driver; #endif Modified: head/sys/modules/i2c/iicbus/Makefile ============================================================================== --- head/sys/modules/i2c/iicbus/Makefile Mon Mar 9 20:28:45 2020 (r358819) +++ head/sys/modules/i2c/iicbus/Makefile Mon Mar 9 20:31:38 2020 (r358820) @@ -15,6 +15,11 @@ SRCS= \ iiconf.h \ opt_platform.h \ +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ + ${MACHINE_CPUARCH} == "i386" +SRCS+= acpi_iicbus.c opt_acpi.h acpi_if.h +.endif + .if !empty(OPT_FDT) SRCS+= ofw_iicbus.c ofw_bus_if.h .endif From owner-svn-src-head@freebsd.org Mon Mar 9 20:46:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7BE4426CC33; Mon, 9 Mar 2020 20:46:46 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bqyZ1YZfz4KGY; Mon, 9 Mar 2020 20:46:46 +0000 (UTC) (envelope-from emaste@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 D45FC18948; Mon, 9 Mar 2020 20:46:45 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029KkjSM073591; Mon, 9 Mar 2020 20:46:45 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029Kkikt073581; Mon, 9 Mar 2020 20:46:44 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003092046.029Kkikt073581@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 9 Mar 2020 20:46:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358821 - in head: . contrib/amd libexec/rc/rc.d release tools/build/mk tools/build/options usr.sbin usr.sbin/amd usr.sbin/newsyslog/newsyslog.conf.d X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: in head: . contrib/amd libexec/rc/rc.d release tools/build/mk tools/build/options usr.sbin usr.sbin/amd usr.sbin/newsyslog/newsyslog.conf.d X-SVN-Commit-Revision: 358821 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 20:46:46 -0000 Author: emaste Date: Mon Mar 9 20:46:43 2020 New Revision: 358821 URL: https://svnweb.freebsd.org/changeset/base/358821 Log: retire amd(8) autofs was introduced with FreeBSD 10.1 and is the supported method for automounting filesystems. As of r296194 the amd man page claimed that it is deprecated. Remove it from base now; the sysutils/am-utils port is still available if necessary. Discussed with: cy Relnotes: Yes Sponsored by: The FreeBSD Foundation Deleted: head/contrib/amd/ head/libexec/rc/rc.d/amd head/tools/build/options/WITHOUT_AMD head/tools/build/options/WITH_AMD head/usr.sbin/amd/ Modified: head/Makefile.inc1 head/ObsoleteFiles.inc head/UPDATING head/libexec/rc/rc.d/Makefile head/release/Makefile head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.sbin/Makefile head/usr.sbin/newsyslog/newsyslog.conf.d/Makefile Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Mon Mar 9 20:31:38 2020 (r358820) +++ head/Makefile.inc1 Mon Mar 9 20:46:43 2020 (r358821) @@ -2284,11 +2284,6 @@ _basic_bootstrap_tools+=sbin/sysctl bin/chflags # mkfifo is used by sys/conf/newvers.sh _basic_bootstrap_tools+=usr.bin/mkfifo -.if ${MK_AMD} != "no" -# unifdef is only used by usr.sbin/amd/libamu/Makefile -_basic_bootstrap_tools+=usr.bin/unifdef -.endif - .if ${MK_BOOT} != "no" _basic_bootstrap_tools+=bin/dd # xz/unxz is used by EFI Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Mon Mar 9 20:31:38 2020 (r358820) +++ head/ObsoleteFiles.inc Mon Mar 9 20:46:43 2020 (r358821) @@ -36,6 +36,28 @@ # xargs -n1 | sort | uniq -d; # done +# 20200309: amd(8) retired +OLD_FILES+=etc/amd.map +OLD_FILES+=etc/newsyslog.conf.d/amd.conf +OLD_FILES+=etc/rc.d/amd +OLD_FILES+=usr/bin/pawd +OLD_FILES+=usr/sbin/amd +OLD_FILES+=usr/sbin/amq +OLD_FILES+=usr/sbin/fixmount +OLD_FILES+=usr/sbin/fsinfo +OLD_FILES+=usr/sbin/hlfsd +OLD_FILES+=usr/sbin/mk-amd-map +OLD_FILES+=usr/sbin/wire-test +OLD_FILES+=usr/share/examples/etc/amd.map +OLD_FILES+=usr/share/man/man1/pawd.1.gz +OLD_FILES+=usr/share/man/man5/amd.conf.5.gz +OLD_FILES+=usr/share/man/man8/amd.8.gz +OLD_FILES+=usr/share/man/man8/amq.8.gz +OLD_FILES+=usr/share/man/man8/fixmount.8.gz +OLD_FILES+=usr/share/man/man8/fsinfo.8.gz +OLD_FILES+=usr/share/man/man8/hlfsd.8.gz +OLD_FILES+=usr/share/man/man8/mk-amd-map.8.gz +OLD_FILES+=usr/share/man/man8/wire-test.8.gz # 20200301: bktr removed OLD_DIRS+=usr/include/dev/bktr OLD_FILES+=usr/include/dev/bktr/ioctl_bktr.h Modified: head/UPDATING ============================================================================== --- head/UPDATING Mon Mar 9 20:31:38 2020 (r358820) +++ head/UPDATING Mon Mar 9 20:46:43 2020 (r358821) @@ -26,6 +26,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20200309: + The amd(8) automount daemon has been removed from the source tree. + As of FreeBSD 10.1 autofs(5) is the preferred tool for automounting. + amd is still available in the sysutils/am-utils port. + 20200301: Removed brooktree driver (bktr.4) from the tree. Modified: head/libexec/rc/rc.d/Makefile ============================================================================== --- head/libexec/rc/rc.d/Makefile Mon Mar 9 20:31:38 2020 (r358820) +++ head/libexec/rc/rc.d/Makefile Mon Mar 9 20:46:43 2020 (r358821) @@ -141,12 +141,6 @@ ACPIPACKAGE= acpi CONFS+= powerd .endif -.if ${MK_AMD} != "no" -CONFGROUPS+= AMD -AMD+= amd -AMDPACKAGE= amd -.endif - .if ${MK_APM} != "no" CONFGROUPS+= APM APM+= apm Modified: head/release/Makefile ============================================================================== --- head/release/Makefile Mon Mar 9 20:31:38 2020 (r358820) +++ head/release/Makefile Mon Mar 9 20:46:43 2020 (r358821) @@ -192,7 +192,7 @@ disc1: packagesystem # Install system mkdir -p ${.TARGET} cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \ - DESTDIR=${.OBJDIR}/${.TARGET} MK_AMD=no MK_AT=no \ + DESTDIR=${.OBJDIR}/${.TARGET} MK_AT=no \ MK_INSTALLLIB=no MK_LIB32=no MK_MAIL=no \ MK_TOOLCHAIN=no MK_PROFILE=no \ MK_RESCUE=no MK_DICT=no \ @@ -221,7 +221,7 @@ bootonly: packagesystem # Install system mkdir -p ${.TARGET} cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \ - DESTDIR=${.OBJDIR}/${.TARGET} MK_AMD=no MK_AT=no \ + DESTDIR=${.OBJDIR}/${.TARGET} MK_AT=no \ MK_GAMES=no \ MK_INSTALLLIB=no MK_LIB32=no MK_MAIL=no \ MK_TOOLCHAIN=no MK_PROFILE=no \ Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Mon Mar 9 20:31:38 2020 (r358820) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Mon Mar 9 20:46:43 2020 (r358821) @@ -58,30 +58,6 @@ OLD_FILES+=usr/share/man/man8/iasl.8.gz OLD_FILES+=etc/rc.d/powerd .endif -.if ${MK_AMD} == no -OLD_FILES+=etc/amd.map -OLD_FILES+=etc/newsyslog.conf.d/amd.conf -OLD_FILES+=etc/rc.d/amd -OLD_FILES+=usr/bin/pawd -OLD_FILES+=usr/sbin/amd -OLD_FILES+=usr/sbin/amq -OLD_FILES+=usr/sbin/fixmount -OLD_FILES+=usr/sbin/fsinfo -OLD_FILES+=usr/sbin/hlfsd -OLD_FILES+=usr/sbin/mk-amd-map -OLD_FILES+=usr/sbin/wire-test -OLD_FILES+=usr/share/examples/etc/amd.map -OLD_FILES+=usr/share/man/man1/pawd.1.gz -OLD_FILES+=usr/share/man/man5/amd.conf.5.gz -OLD_FILES+=usr/share/man/man8/amd.8.gz -OLD_FILES+=usr/share/man/man8/amq.8.gz -OLD_FILES+=usr/share/man/man8/fixmount.8.gz -OLD_FILES+=usr/share/man/man8/fsinfo.8.gz -OLD_FILES+=usr/share/man/man8/hlfsd.8.gz -OLD_FILES+=usr/share/man/man8/mk-amd-map.8.gz -OLD_FILES+=usr/share/man/man8/wire-test.8.gz -.endif - .if ${MK_APM} == no OLD_FILES+=etc/rc.d/apm OLD_FILES+=etc/rc.d/apmd Modified: head/usr.sbin/Makefile ============================================================================== --- head/usr.sbin/Makefile Mon Mar 9 20:31:38 2020 (r358820) +++ head/usr.sbin/Makefile Mon Mar 9 20:46:43 2020 (r358821) @@ -109,7 +109,6 @@ SUBDIR= adduser \ SUBDIR.${MK_ACCT}+= accton SUBDIR.${MK_ACCT}+= sa -SUBDIR.${MK_AMD}+= amd SUBDIR.${MK_AUDIT}+= audit SUBDIR.${MK_AUDIT}+= auditd .if ${MK_OPENSSL} != "no" Modified: head/usr.sbin/newsyslog/newsyslog.conf.d/Makefile ============================================================================== --- head/usr.sbin/newsyslog/newsyslog.conf.d/Makefile Mon Mar 9 20:31:38 2020 (r358820) +++ head/usr.sbin/newsyslog/newsyslog.conf.d/Makefile Mon Mar 9 20:46:43 2020 (r358821) @@ -6,10 +6,6 @@ CONFSDIR= /etc/newsyslog.conf.d CONFS= -.if ${MK_AMD} != "no" -CONFS+= amd.conf -.endif - .if ${MK_FTP} != "no" CONFS+= ftp.conf .endif From owner-svn-src-head@freebsd.org Mon Mar 9 20:49:07 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A647D26CD27; Mon, 9 Mar 2020 20:49:07 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48br1H1c7pz4NGh; Mon, 9 Mar 2020 20:49:07 +0000 (UTC) (envelope-from emaste@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 18A4118950; Mon, 9 Mar 2020 20:49:07 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029Kn6t3073734; Mon, 9 Mar 2020 20:49:06 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029Kn6MB073733; Mon, 9 Mar 2020 20:49:06 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003092049.029Kn6MB073733@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 9 Mar 2020 20:49:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358822 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 358822 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 20:49:07 -0000 Author: emaste Date: Mon Mar 9 20:49:06 2020 New Revision: 358822 URL: https://svnweb.freebsd.org/changeset/base/358822 Log: Remove WITH_AMD option, missed in r358821 Modified: head/share/mk/src.opts.mk Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Mon Mar 9 20:46:43 2020 (r358821) +++ head/share/mk/src.opts.mk Mon Mar 9 20:49:06 2020 (r358822) @@ -194,7 +194,6 @@ __DEFAULT_YES_OPTIONS = \ ZONEINFO __DEFAULT_NO_OPTIONS = \ - AMD \ BEARSSL \ BSD_GREP \ CLANG_EXTRAS \ From owner-svn-src-head@freebsd.org Mon Mar 9 20:50:01 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1357926CDD1; Mon, 9 Mar 2020 20:50:01 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48br2J5N22z4PKl; Mon, 9 Mar 2020 20:50:00 +0000 (UTC) (envelope-from emaste@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 3B5C418954; Mon, 9 Mar 2020 20:50:00 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029Ko02H073862; Mon, 9 Mar 2020 20:50:00 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029Ko0eN073861; Mon, 9 Mar 2020 20:50:00 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003092050.029Ko0eN073861@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 9 Mar 2020 20:50:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358823 - head/share/man/man5 X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/man/man5 X-SVN-Commit-Revision: 358823 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 20:50:01 -0000 Author: emaste Date: Mon Mar 9 20:49:59 2020 New Revision: 358823 URL: https://svnweb.freebsd.org/changeset/base/358823 Log: regen src.conf.5 after r358821, AMD option removal Also pick up LOADER_VERIEXEC_VECTX change. Modified: head/share/man/man5/src.conf.5 Modified: head/share/man/man5/src.conf.5 ============================================================================== --- head/share/man/man5/src.conf.5 Mon Mar 9 20:49:06 2020 (r358822) +++ head/share/man/man5/src.conf.5 Mon Mar 9 20:49:59 2020 (r358823) @@ -1,6 +1,6 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. .\" $FreeBSD$ -.Dd February 29, 2020 +.Dd March 9, 2020 .Dt SRC.CONF 5 .Os .Sh NAME @@ -100,13 +100,6 @@ Set to not build .Xr acpiconf 8 , .Xr acpidump 8 and related programs. -.It Va WITH_AMD -Set to build the legacy -.Xr amd 8 -automount daemon and related programs. -Note that -.Xr autofs 5 -is the preferred automount technique. .It Va WITHOUT_APM Set to not build .Xr apm 8 , @@ -162,6 +155,10 @@ is set explicitly) (unless .Va WITHOUT_LOADER_VERIEXEC is set explicitly) +.It Va WITH_LOADER_VERIEXEC_VECTX +(unless +.Va WITHOUT_LOADER_VERIEXEC_VECTX +is set explicitly) .It Va WITH_VERIEXEC (unless .Va WITHOUT_VERIEXEC @@ -1105,6 +1102,10 @@ When set, these options are also in effect: .It Va WITH_LOADER_EFI_SECUREBOOT (unless .Va WITHOUT_LOADER_EFI_SECUREBOOT +is set explicitly) +.It Va WITH_LOADER_VERIEXEC_VECTX +(unless +.Va WITHOUT_LOADER_VERIEXEC_VECTX is set explicitly) .El .It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST From owner-svn-src-head@freebsd.org Mon Mar 9 20:55:16 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0DF6626CFFC; Mon, 9 Mar 2020 20:55:16 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 48br8M4jt2z4ZX1; Mon, 9 Mar 2020 20:55:15 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id BPQdjRY7o17ZDBPQej96Cq; Mon, 09 Mar 2020 14:55:13 -0600 X-Authority-Analysis: v=2.3 cv=ZsqT1OzG c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=SS2py6AdgQ4A:10 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=u1zbKKNgZKGsdQskKZ0A:9 a=CjuIK1q_8ugA:10 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy8 [10.2.2.6]) by spqr.komquats.com (Postfix) with ESMTPS id B9E3377D; Mon, 9 Mar 2020 13:55:09 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id 029Ksojp056845; Mon, 9 Mar 2020 13:54:50 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id 029Ksosc056842; Mon, 9 Mar 2020 13:54:50 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <202003092054.029Ksosc056842@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Ed Maste cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r358821 - in head: . contrib/amd libexec/rc/rc.d release tools/build/mk tools/build/options usr.sbin usr.sbin/amd usr.sbin/newsyslog/newsyslog.conf.d In-reply-to: <202003092046.029Kkikt073581@repo.freebsd.org> References: <202003092046.029Kkikt073581@repo.freebsd.org> Comments: In-reply-to Ed Maste message dated "Mon, 09 Mar 2020 20:46:44 -0000." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 09 Mar 2020 13:54:49 -0700 X-CMAE-Envelope: MS4wfA4o0VrK0fUWj9guA6NJM01+LoRPBkF2fUjQ6R5c1f7d+x8duUFp5Eschjl4y4zxGSx7o1YjcpKyxXGCkz5mwIE8hPQ+6h4MbM+AJeCJ12ty86fgPABt 037DIwsAi5AgeoxUGmGZFYJ5A6UmruhkEgTJzo+Ziq9g6vtULn9LLXbHg268ChYv8SjC6Kq8Ket+k5La5orSihPRBOT9MXPpg8I3BheS5D72TiI2v8po4MZm HY/8zJnnsV/19leS0agGPpe1kGv2QMLUMFb4EUe1+wK7KiaWs++FVvwj5VzmI6C5 X-Rspamd-Queue-Id: 48br8M4jt2z4ZX1 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.12 / 15.00]; REPLY(-4.00)[]; NEURAL_SPAM_MEDIUM(0.88)[0.876,0]; NEURAL_HAM_LONG(-0.99)[-0.994,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 20:55:16 -0000 In message <202003092046.029Kkikt073581@repo.freebsd.org>, Ed Maste writes: > Author: emaste > Date: Mon Mar 9 20:46:43 2020 > New Revision: 358821 > URL: https://svnweb.freebsd.org/changeset/base/358821 > > Log: > retire amd(8) > > autofs was introduced with FreeBSD 10.1 and is the supported method for > automounting filesystems. As of r296194 the amd man page claimed that it > is deprecated. Remove it from base now; the sysutils/am-utils port is > still available if necessary. > > Discussed with: cy > Relnotes: Yes > Sponsored by: The FreeBSD Foundation > > Deleted: > head/contrib/amd/ > head/libexec/rc/rc.d/amd > head/tools/build/options/WITHOUT_AMD > head/tools/build/options/WITH_AMD > head/usr.sbin/amd/ > Modified: > head/Makefile.inc1 > head/ObsoleteFiles.inc > head/UPDATING > head/libexec/rc/rc.d/Makefile > head/release/Makefile > head/tools/build/mk/OptionalObsoleteFiles.inc > head/usr.sbin/Makefile > head/usr.sbin/newsyslog/newsyslog.conf.d/Makefile Can we have a __FreeBSD_version bump? -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-head@freebsd.org Mon Mar 9 21:01:23 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1C1E826D1E9; Mon, 9 Mar 2020 21:01:23 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48brHQ74Cqz3KSs; Mon, 9 Mar 2020 21:01:22 +0000 (UTC) (envelope-from wulf@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 EE1E718C7E; Mon, 9 Mar 2020 21:01:22 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029L1MZK081192; Mon, 9 Mar 2020 21:01:22 GMT (envelope-from wulf@FreeBSD.org) Received: (from wulf@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029L1MYT081191; Mon, 9 Mar 2020 21:01:22 GMT (envelope-from wulf@FreeBSD.org) Message-Id: <202003092101.029L1MYT081191@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wulf set sender to wulf@FreeBSD.org using -f From: Vladimir Kondratyev Date: Mon, 9 Mar 2020 21:01:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358824 - head/sys/dev/usb/input X-SVN-Group: head X-SVN-Commit-Author: wulf X-SVN-Commit-Paths: head/sys/dev/usb/input X-SVN-Commit-Revision: 358824 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 21:01:23 -0000 Author: wulf Date: Mon Mar 9 21:01:22 2020 New Revision: 358824 URL: https://svnweb.freebsd.org/changeset/base/358824 Log: wmt(4): Fix Synaptics Touch Digitizer V04 attachment Touch Digitizer V04 report descriptor declares 'Contact Count Maximum' usage as constant. That was not supported by descriptor parser. PR: 232040 Reported by: Sergei Akhmatdinov MFC after: 1 week Modified: head/sys/dev/usb/input/wmt.c Modified: head/sys/dev/usb/input/wmt.c ============================================================================== --- head/sys/dev/usb/input/wmt.c Mon Mar 9 20:49:59 2020 (r358823) +++ head/sys/dev/usb/input/wmt.c Mon Mar 9 21:01:22 2020 (r358824) @@ -655,9 +655,8 @@ wmt_hid_parse(struct wmt_softc *sc, const void *d_ptr, thqa_cert_rid = hi.report_ID; break; } - if (hi.collevel == 1 && touch_coll && - WMT_HI_ABSOLUTE(hi) && hi.usage == - HID_USAGE2(HUP_DIGITIZERS, HUD_CONTACT_MAX)) { + if (hi.collevel == 1 && touch_coll && hi.usage == + HID_USAGE2(HUP_DIGITIZERS, HUD_CONTACT_MAX)) { cont_count_max = hi.logical_maximum; cont_max_rid = hi.report_ID; if (sc != NULL) From owner-svn-src-head@freebsd.org Mon Mar 9 21:13:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ED37826D6B7; Mon, 9 Mar 2020 21:13:46 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 48brYj1QZKz4BnG; Mon, 9 Mar 2020 21:13:44 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id BPiXjn3j4nCigBPiZj8jq1; Mon, 09 Mar 2020 15:13:43 -0600 X-Authority-Analysis: v=2.3 cv=cZisUULM c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=SS2py6AdgQ4A:10 a=VxmjJ2MpAAAA:8 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=c9k8bTl9fK5RieMcYEIA:9 a=CjuIK1q_8ugA:10 a=SI86jko-JAkA:10 a=7gXAzLPJhVmCkEl4_tsf:22 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy8 [10.2.2.6]) by spqr.komquats.com (Postfix) with ESMTPS id EA8AA819; Mon, 9 Mar 2020 14:13:39 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id 029LDJXT059933; Mon, 9 Mar 2020 14:13:19 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id 029LDJ5M059883; Mon, 9 Mar 2020 14:13:19 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <202003092113.029LDJ5M059883@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Cy Schubert cc: Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r358821 - in head: . contrib/amd libexec/rc/rc.d release tools/build/mk tools/build/options usr.sbin usr.sbin/amd usr.sbin/newsyslog/newsyslog.conf.d In-reply-to: <202003092054.029Ksosc056842@slippy.cwsent.com> References: <202003092046.029Kkikt073581@repo.freebsd.org> <202003092054.029Ksosc056842@slippy.cwsent.com> Comments: In-reply-to Cy Schubert message dated "Mon, 09 Mar 2020 13:54:49 -0700." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 09 Mar 2020 14:13:19 -0700 X-CMAE-Envelope: MS4wfFpTA4zX9/G4cnmzWWW/NKdkpa7EN2kYOZZDL0/5oTZRl8P5cUKf3BXKQ9NABiZcwAu0MxEaT/62t1KW86PDd1lqLAHmNHACVTvy+f789DNsIdFPDZ0N xaHX7X2PjGPM1wybBLhyjEA6F0WE7dwCq7WryJxsTt3EnULVgfVO2M1IR2neq1tDPnIg+I18LyWDZ+4AJzs+bYVPbCr08BGwugRYfjUQx1CM1Ly30154ww+E tkq2RqEP8yUZEYDvZBVSKP4czxq+ArWfGbgslXLHt4r5RlHrnA4taZko9K66gR06 X-Rspamd-Queue-Id: 48brYj1QZKz4BnG X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of cy.schubert@cschubert.com has no SPF policy when checking 64.59.134.13) smtp.mailfrom=cy.schubert@cschubert.com X-Spamd-Result: default: False [-4.18 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.994,0]; RCPT_COUNT_FIVE(0.00)[5]; REPLYTO_EQ_FROM(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.11]; TO_MATCH_ENVRCPT_SOME(0.00)[]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-2.48)[ip: (-6.56), ipnet: 64.59.128.0/20(-3.24), asn: 6327(-2.53), country: CA(-0.09)]; RCVD_IN_DNSWL_LOW(-0.10)[13.134.59.64.list.dnswl.org : 127.0.5.1] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 21:13:47 -0000 In message <202003092054.029Ksosc056842@slippy.cwsent.com>, Cy Schubert writes: > In message <202003092046.029Kkikt073581@repo.freebsd.org>, Ed Maste writes: > > Author: emaste > > Date: Mon Mar 9 20:46:43 2020 > > New Revision: 358821 > > URL: https://svnweb.freebsd.org/changeset/base/358821 > > > > Log: > > retire amd(8) > > > > autofs was introduced with FreeBSD 10.1 and is the supported method for > > automounting filesystems. As of r296194 the amd man page claimed that it > > is deprecated. Remove it from base now; the sysutils/am-utils port is > > still available if necessary. > > > > Discussed with: cy > > Relnotes: Yes > > Sponsored by: The FreeBSD Foundation > > > > Deleted: > > head/contrib/amd/ > > head/libexec/rc/rc.d/amd > > head/tools/build/options/WITHOUT_AMD > > head/tools/build/options/WITH_AMD > > head/usr.sbin/amd/ > > Modified: > > head/Makefile.inc1 > > head/ObsoleteFiles.inc > > head/UPDATING > > head/libexec/rc/rc.d/Makefile > > head/release/Makefile > > head/tools/build/mk/OptionalObsoleteFiles.inc > > head/usr.sbin/Makefile > > head/usr.sbin/newsyslog/newsyslog.conf.d/Makefile > > Can we have a __FreeBSD_version bump? Sorry for being snippy. It's a bad day here, client-wise, and it's spilling over here. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-head@freebsd.org Mon Mar 9 21:35:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5822B26DC6F; Mon, 9 Mar 2020 21:35:29 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48bs2k6Nbfz3wrw; Mon, 9 Mar 2020 21:35:26 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id 029LZCHT068918 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Mon, 9 Mar 2020 23:35:15 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 029LZCHT068918 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id 029LZCI1068917; Mon, 9 Mar 2020 23:35:12 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 9 Mar 2020 23:35:12 +0200 From: Konstantin Belousov To: Mateusz Guzik Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r358733 - head/sys/sys Message-ID: <20200309213512.GS98340@kib.kiev.ua> References: <202003080022.0280MX9j055805@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on tom.home X-Rspamd-Queue-Id: 48bs2k6Nbfz3wrw X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=gmail.com (policy=none); spf=softfail (mx1.freebsd.org: 2001:470:d5e7:1::1 is neither permitted nor denied by domain of kostikbel@gmail.com) smtp.mailfrom=kostikbel@gmail.com X-Spamd-Result: default: False [-1.98 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.98)[-0.976,0]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_FROM(0.00)[gmail.com]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all:c]; IP_SCORE_FREEMAIL(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; IP_SCORE(0.00)[ip: (-3.11), ipnet: 2001:470::/32(-4.65), asn: 6939(-3.59), country: US(-0.05)]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; FREEMAIL_ENVFROM(0.00)[gmail.com]; DMARC_POLICY_SOFTFAIL(0.10)[gmail.com : No valid SPF, No valid DKIM,none] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 21:35:29 -0000 On Mon, Mar 09, 2020 at 01:56:17AM +0100, Mateusz Guzik wrote: > On 3/8/20, Mateusz Guzik wrote: > > Author: mjg > > Date: Sun Mar 8 00:22:32 2020 > > New Revision: 358733 > > URL: https://svnweb.freebsd.org/changeset/base/358733 > > > > Log: > > seqc: tidy up > > > > - avoid hand-rolled read > > - match begin/end in terms of fence style > > > > There were off lists questions about this so let me clarify. > > The first bit is a cosmetic change, but the second one is not. > > > Modified: > > head/sys/sys/seqc.h > > > > Modified: head/sys/sys/seqc.h > > ============================================================================== > > --- head/sys/sys/seqc.h Sat Mar 7 15:37:23 2020 (r358732) > > +++ head/sys/sys/seqc.h Sun Mar 8 00:22:32 2020 (r358733) > > @@ -66,7 +66,8 @@ static __inline void > > seqc_write_end(seqc_t *seqcp) > > { > > > > - atomic_store_rel_int(seqcp, *seqcp + 1); > > + atomic_thread_fence_rel(); > > + *seqcp += 1; > > MPASS(!seqc_in_modify(*seqcp)); > > critical_exit(); > > } > > For correct operation the counter has to be modified *before* any work > is done and *after* it is completed. > > Consider a trivial case: > seqc++; > foo[0] = 0; > foo[1] = 1; > seqc++; > > There are 2 ways in which this can be mucked with: > - the compiler can be looking at reordering or reworking the increment > (e.g., to collapse it to just += 2 instead). a compiler barrier > prevents that. > - even with generated machine code which increments in correct places > the cpu can be looking at reordering the operation (which is heavily > dependent on architecture), in particular it could end up issuing > seqc++; foo[1] = 1; which would defeat the point. This is where > release fences come in. > > With the patched code there is: > seqc++; > atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo > starts getting modified */ > foo[0] = 0; > foo[1] = 1; > atomic_thread_fence_rel(); /* make sure modifications to foo don't > leak past this spot */ > seqc++; > > In comparison, the previous code was: > seqc++; > atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo > starts getting modified */ > foo[0] = 0; > foo[1] = 1; > atomic_store_rel_int(seqcp, *seqcp + 1); /* make sure modifications to > too don't leak past this spot and update seqc immediately */ > > There are 2 differences here -- one is an improvement and second one > does not matter: > the win is: the previous code forces the compiler to compute an > incremented value and then store it. On amd64 this translates to the > following (with rdx holding the address of the counter): > > mov (%rdx),%eax /* load the value */ > add $0x1,%eax /* add 1 */ > mov %eax,(%rdx) /* store it */ > > On patched kernel this is: > addl $0x1,(%rdx) > > which is clearly much nicer. I am not sure that the new code on amd64 is much nicer. But the point was that on non-amd64, i.e. armv8 and potentially on powerpc 3.0, the patch substitutes release store with full barrier. The later is (much) slower. > > the not a problem: the code does not issue the release fence after > incrementing the counter the second time, meaning that in principle it > can happen arbitrarily late, possibly disturbing code which waits for > the counter to become even. This is not a problem because in whoever > modifies it is supposed to have a lock and release it shortly after, > which also posts the release fence and consequently makes sure the > counter update is visible. Also note these routines come with > preemption disablement around the modification -- if the thread gets > preempted as a result of critical_exit from seqc_write_end, it will > also publish the updated counter. If the updater never does anything > which flushes the store buffer then in the absolute worst case they > will get preempted, at which point once more we are covered. Note that > code which wants more deterministic behavior will want to > seqc_read_any, test the counter once and if it is caught uneven resort > to locking. > > > @@ -84,7 +85,7 @@ seqc_read(const seqc_t *seqcp) > > seqc_t ret; > > > > for (;;) { > > - ret = atomic_load_acq_int(__DECONST(seqc_t *, seqcp)); > > + ret = seqc_read_any(seqcp); > > if (__predict_false(seqc_in_modify(ret))) { > > cpu_spinwait(); > > continue; > > _______________________________________________ > > svn-src-all@freebsd.org mailing list > > https://lists.freebsd.org/mailman/listinfo/svn-src-all > > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" > > > > > -- > Mateusz Guzik From owner-svn-src-head@freebsd.org Mon Mar 9 21:55:28 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 85AE926E6CE; Mon, 9 Mar 2020 21:55:28 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bsTq3bygz4dV7; Mon, 9 Mar 2020 21:55:27 +0000 (UTC) (envelope-from kib@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 32E121962A; Mon, 9 Mar 2020 21:55:27 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029LtRov016061; Mon, 9 Mar 2020 21:55:27 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029LtQIX016058; Mon, 9 Mar 2020 21:55:26 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003092155.029LtQIX016058@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 9 Mar 2020 21:55:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358825 - in head/sys: fs/fifofs kern sys X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/sys: fs/fifofs kern sys X-SVN-Commit-Revision: 358825 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 21:55:28 -0000 Author: kib Date: Mon Mar 9 21:55:26 2020 New Revision: 358825 URL: https://svnweb.freebsd.org/changeset/base/358825 Log: Preallocate pipe buffers on pipe creation. Return ENOMEM if one of the buffer cannot be created even with the minimal size. This should avoid subsequent spurious ENOMEM errors from write(2) when buffer cannot be allocated on the fly, after we reported that the pipe was create succesfully. Reported by: Keno Fischer Reviewed by: markj (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D23993 Modified: head/sys/fs/fifofs/fifo_vnops.c head/sys/kern/sys_pipe.c head/sys/sys/pipe.h Modified: head/sys/fs/fifofs/fifo_vnops.c ============================================================================== --- head/sys/fs/fifofs/fifo_vnops.c Mon Mar 9 21:01:22 2020 (r358824) +++ head/sys/fs/fifofs/fifo_vnops.c Mon Mar 9 21:55:26 2020 (r358825) @@ -151,7 +151,9 @@ fifo_open(ap) if (fp == NULL || (ap->a_mode & FEXEC) != 0) return (EINVAL); if ((fip = vp->v_fifoinfo) == NULL) { - pipe_named_ctor(&fpipe, td); + error = pipe_named_ctor(&fpipe, td); + if (error != 0) + return (error); fip = malloc(sizeof(*fip), M_VNODE, M_WAITOK); fip->fi_pipe = fpipe; fpipe->pipe_wgen = fip->fi_readers = fip->fi_writers = 0; Modified: head/sys/kern/sys_pipe.c ============================================================================== --- head/sys/kern/sys_pipe.c Mon Mar 9 21:01:22 2020 (r358824) +++ head/sys/kern/sys_pipe.c Mon Mar 9 21:55:26 2020 (r358825) @@ -226,8 +226,8 @@ SYSCTL_INT(_kern_ipc, OID_AUTO, piperesizeallowed, CTL static void pipeinit(void *dummy __unused); static void pipeclose(struct pipe *cpipe); static void pipe_free_kmem(struct pipe *cpipe); -static void pipe_create(struct pipe *pipe, int backing); -static void pipe_paircreate(struct thread *td, struct pipepair **p_pp); +static int pipe_create(struct pipe *pipe, bool backing); +static int pipe_paircreate(struct thread *td, struct pipepair **p_pp); static __inline int pipelock(struct pipe *cpipe, int catch); static __inline void pipeunlock(struct pipe *cpipe); #ifndef PIPE_NODIRECT @@ -335,11 +335,12 @@ pipe_zone_fini(void *mem, int size) mtx_destroy(&pp->pp_mtx); } -static void +static int pipe_paircreate(struct thread *td, struct pipepair **p_pp) { struct pipepair *pp; struct pipe *rpipe, *wpipe; + int error; *p_pp = pp = uma_zalloc(pipe_zone, M_WAITOK); #ifdef MAC @@ -357,22 +358,44 @@ pipe_paircreate(struct thread *td, struct pipepair **p knlist_init_mtx(&rpipe->pipe_sel.si_note, PIPE_MTX(rpipe)); knlist_init_mtx(&wpipe->pipe_sel.si_note, PIPE_MTX(wpipe)); - /* Only the forward direction pipe is backed by default */ - pipe_create(rpipe, 1); - pipe_create(wpipe, 0); + /* + * Only the forward direction pipe is backed by big buffer by + * default. + */ + error = pipe_create(rpipe, true); + if (error != 0) + goto fail; + error = pipe_create(wpipe, false); + if (error != 0) { + pipe_free_kmem(rpipe); + goto fail; + } rpipe->pipe_state |= PIPE_DIRECTOK; wpipe->pipe_state |= PIPE_DIRECTOK; + return (0); + +fail: + knlist_destroy(&rpipe->pipe_sel.si_note); + knlist_destroy(&wpipe->pipe_sel.si_note); +#ifdef MAC + mac_pipe_destroy(pp); +#endif + return (error); } -void +int pipe_named_ctor(struct pipe **ppipe, struct thread *td) { struct pipepair *pp; + int error; - pipe_paircreate(td, &pp); + error = pipe_paircreate(td, &pp); + if (error != 0) + return (error); pp->pp_rpipe.pipe_state |= PIPE_NAMED; *ppipe = &pp->pp_rpipe; + return (0); } void @@ -402,7 +425,9 @@ kern_pipe(struct thread *td, int fildes[2], int flags, struct pipepair *pp; int fd, fflags, error; - pipe_paircreate(td, &pp); + error = pipe_paircreate(td, &pp); + if (error != 0) + return (error); rpipe = &pp->pp_rpipe; wpipe = &pp->pp_wpipe; error = falloc_caps(td, &rf, &fd, flags, fcaps1); @@ -616,25 +641,16 @@ pipeselwakeup(struct pipe *cpipe) * Initialize and allocate VM and memory for pipe. The structure * will start out zero'd from the ctor, so we just manage the kmem. */ -static void -pipe_create(struct pipe *pipe, int backing) +static int +pipe_create(struct pipe *pipe, bool large_backing) { + int error; - if (backing) { - /* - * Note that these functions can fail if pipe map is exhausted - * (as a result of too many pipes created), but we ignore the - * error as it is not fatal and could be provoked by - * unprivileged users. The only consequence is worse performance - * with given pipe. - */ - if (amountpipekva > maxpipekva / 2) - (void)pipespace_new(pipe, SMALL_PIPE_SIZE); - else - (void)pipespace_new(pipe, PIPE_SIZE); - } - - pipe->pipe_ino = alloc_unr64(&pipeino_unr); + error = pipespace_new(pipe, !large_backing || amountpipekva > + maxpipekva / 2 ? SMALL_PIPE_SIZE : PIPE_SIZE); + if (error == 0) + pipe->pipe_ino = alloc_unr64(&pipeino_unr); + return (error); } /* ARGSUSED */ @@ -1068,17 +1084,7 @@ pipe_write(struct file *fp, struct uio *uio, struct uc pipespace(wpipe, desiredsize); PIPE_LOCK(wpipe); } - if (wpipe->pipe_buffer.size == 0) { - /* - * This can only happen for reverse direction use of pipes - * in a complete OOM situation. - */ - error = ENOMEM; - --wpipe->pipe_busy; - pipeunlock(wpipe); - PIPE_UNLOCK(wpipe); - return (error); - } + MPASS(wpipe->pipe_buffer.size != 0); pipeunlock(wpipe); Modified: head/sys/sys/pipe.h ============================================================================== --- head/sys/sys/pipe.h Mon Mar 9 21:01:22 2020 (r358824) +++ head/sys/sys/pipe.h Mon Mar 9 21:55:26 2020 (r358825) @@ -142,6 +142,6 @@ struct pipepair { #define PIPE_LOCK_ASSERT(pipe, type) mtx_assert(PIPE_MTX(pipe), (type)) void pipe_dtor(struct pipe *dpipe); -void pipe_named_ctor(struct pipe **ppipe, struct thread *td); +int pipe_named_ctor(struct pipe **ppipe, struct thread *td); void pipeselwakeup(struct pipe *cpipe); #endif /* !_SYS_PIPE_H_ */ From owner-svn-src-head@freebsd.org Mon Mar 9 23:08:25 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BBF3D26FC27; Mon, 9 Mar 2020 23:08:25 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bv610qy5z4GSK; Mon, 9 Mar 2020 23:08:24 +0000 (UTC) (envelope-from kib@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 9F6E21A2E6; Mon, 9 Mar 2020 23:08:24 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029N8OQx058099; Mon, 9 Mar 2020 23:08:24 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029N8OnT058098; Mon, 9 Mar 2020 23:08:24 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003092308.029N8OnT058098@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 9 Mar 2020 23:08:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358826 - head/usr.bin/posixshmcontrol X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/usr.bin/posixshmcontrol X-SVN-Commit-Revision: 358826 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 23:08:25 -0000 Author: kib Date: Mon Mar 9 23:08:24 2020 New Revision: 358826 URL: https://svnweb.freebsd.org/changeset/base/358826 Log: posixshmcontrol: add an undocumented alias 'list' for the 'ls' command. Sponsored by: The FreeBSD Foundation MFC after: 3 days Modified: head/usr.bin/posixshmcontrol/posixshmcontrol.c Modified: head/usr.bin/posixshmcontrol/posixshmcontrol.c ============================================================================== --- head/usr.bin/posixshmcontrol/posixshmcontrol.c Mon Mar 9 21:55:26 2020 (r358825) +++ head/usr.bin/posixshmcontrol/posixshmcontrol.c Mon Mar 9 23:08:24 2020 (r358826) @@ -446,6 +446,7 @@ struct opmode { static const struct opmode opmodes[] = { { .cmd = "create", .impl = create_shm}, { .cmd = "rm", .impl = delete_shm, }, + { .cmd = "list", .impl = list_shm }, { .cmd = "ls", .impl = list_shm }, { .cmd = "dump", .impl = read_shm, }, { .cmd = "stat", .impl = stat_shm, }, From owner-svn-src-head@freebsd.org Mon Mar 9 23:22:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0E0AF250064; Mon, 9 Mar 2020 23:22:14 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bvPw0vbyz3CXK; Mon, 9 Mar 2020 23:22:11 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wr1-x444.google.com with SMTP id l18so3356553wru.11; Mon, 09 Mar 2020 16:22:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=DBx91N8TtDwUsF3fOOaKa0y9+kpGKFjnVrJkZBuLDZc=; b=UMBKX2f/2y+G+2Dt5Oxf8yRRZyP1Hmipi+sMnB1/QfIJHHPf9brEv81P1cSZSHOLb9 4d0TblOg22urqNUjQRi5zmrtzXACO9YChhxrdUztjQIsl0mODxeLyn8MyxjyVN0IQHOP UWgiFsbkUwHeb3ux0m/bh1+6lSLL0a4myV6LlSju9bek5inFQzVWmBklHMCTLqj3PPNt 8ye8k/38NwcWKmq/0k8FpDI5eUmi7Eww+y5EahljmwIO4BI58GsXeEJeryqTeTUNeuES 8Y3nwPAsuJfYxj7h3OqFNpOeFN7UHy7NL8xZyn8bYAuQQLOL0CkO1N3ACnomg2ipmBNZ 0hew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=DBx91N8TtDwUsF3fOOaKa0y9+kpGKFjnVrJkZBuLDZc=; b=HyhpUCp70Tb8lunljhw5W2Gzh0DjZVgDmrr+UKqB705xCuXpni4ZSZiij8qHe4Qr8S Nj0az4EsmszbybIo3gGcE83iS1WrG/fe2P4wPCEHS1AW6pPKByLImaafLiapd4Z0CHH5 gbV0i8Biz7fHUyU5AwamiZiOocs0kovvfrioY3si6eEsUGmG42w6pbTryXd+06lvXM73 7aXvQLBAykfPUX6oCeq2h9m4VkXD3bOP98YrgcOEj1AoTvu5+t3kxRFmS7CdwsRjvI6S KzdsYHT4Jdi2BNS1pn+uT41MvRxe44xg0UX+sjln/+FhTZNKjRk19WkZccaPczdE5e5D SGlg== X-Gm-Message-State: ANhLgQ2eyC5h3LlpsgQSbhf5oc1p5I2maubC2CsD/TEB3FPGGVCnfczO hB5AbtqidO8ynmpmThnsRhIVoWYX0WxUl1wkfM8= X-Google-Smtp-Source: ADFU+vsdOBwj+fh4/wnyGRHs10EjitLYze8AuA9h67FT4sjiEq+c/fWaq5HoDarICw6LVmyHDONNfQXbDA5eaKNdbow= X-Received: by 2002:a5d:628c:: with SMTP id k12mr23454512wru.237.1583796130083; Mon, 09 Mar 2020 16:22:10 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:adf:f089:0:0:0:0:0 with HTTP; Mon, 9 Mar 2020 16:22:09 -0700 (PDT) In-Reply-To: <20200309213512.GS98340@kib.kiev.ua> References: <202003080022.0280MX9j055805@repo.freebsd.org> <20200309213512.GS98340@kib.kiev.ua> From: Mateusz Guzik Date: Tue, 10 Mar 2020 00:22:09 +0100 Message-ID: Subject: Re: svn commit: r358733 - head/sys/sys To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48bvPw0vbyz3CXK X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=UMBKX2f/; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2a00:1450:4864:20::444 as permitted sender) smtp.mailfrom=mjguzik@gmail.com X-Spamd-Result: default: False [-3.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(0.00)[ip: (2.86), ipnet: 2a00:1450::/32(-2.40), asn: 15169(-1.65), country: US(-0.05)]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[4.4.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 23:22:14 -0000 On 3/9/20, Konstantin Belousov wrote: > On Mon, Mar 09, 2020 at 01:56:17AM +0100, Mateusz Guzik wrote: >> On 3/8/20, Mateusz Guzik wrote: >> > Author: mjg >> > Date: Sun Mar 8 00:22:32 2020 >> > New Revision: 358733 >> > URL: https://svnweb.freebsd.org/changeset/base/358733 >> > >> > Log: >> > seqc: tidy up >> > >> > - avoid hand-rolled read >> > - match begin/end in terms of fence style >> > >> >> There were off lists questions about this so let me clarify. >> >> The first bit is a cosmetic change, but the second one is not. >> >> > Modified: >> > head/sys/sys/seqc.h >> > >> > Modified: head/sys/sys/seqc.h >> > ============================================================================== >> > --- head/sys/sys/seqc.h Sat Mar 7 15:37:23 2020 (r358732) >> > +++ head/sys/sys/seqc.h Sun Mar 8 00:22:32 2020 (r358733) >> > @@ -66,7 +66,8 @@ static __inline void >> > seqc_write_end(seqc_t *seqcp) >> > { >> > >> > - atomic_store_rel_int(seqcp, *seqcp + 1); >> > + atomic_thread_fence_rel(); >> > + *seqcp += 1; >> > MPASS(!seqc_in_modify(*seqcp)); >> > critical_exit(); >> > } >> >> For correct operation the counter has to be modified *before* any work >> is done and *after* it is completed. >> >> Consider a trivial case: >> seqc++; >> foo[0] = 0; >> foo[1] = 1; >> seqc++; >> >> There are 2 ways in which this can be mucked with: >> - the compiler can be looking at reordering or reworking the increment >> (e.g., to collapse it to just += 2 instead). a compiler barrier >> prevents that. >> - even with generated machine code which increments in correct places >> the cpu can be looking at reordering the operation (which is heavily >> dependent on architecture), in particular it could end up issuing >> seqc++; foo[1] = 1; which would defeat the point. This is where >> release fences come in. >> >> With the patched code there is: >> seqc++; >> atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo >> starts getting modified */ >> foo[0] = 0; >> foo[1] = 1; >> atomic_thread_fence_rel(); /* make sure modifications to foo don't >> leak past this spot */ >> seqc++; >> >> In comparison, the previous code was: >> seqc++; >> atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo >> starts getting modified */ >> foo[0] = 0; >> foo[1] = 1; >> atomic_store_rel_int(seqcp, *seqcp + 1); /* make sure modifications to >> too don't leak past this spot and update seqc immediately */ >> >> There are 2 differences here -- one is an improvement and second one >> does not matter: >> the win is: the previous code forces the compiler to compute an >> incremented value and then store it. On amd64 this translates to the >> following (with rdx holding the address of the counter): >> >> mov (%rdx),%eax /* load the value */ >> add $0x1,%eax /* add 1 */ >> mov %eax,(%rdx) /* store it */ >> >> On patched kernel this is: >> addl $0x1,(%rdx) >> >> which is clearly much nicer. > I am not sure that the new code on amd64 is much nicer. > > But the point was that on non-amd64, i.e. armv8 and potentially on > powerpc 3.0, the patch substitutes release store with full barrier. The > later is (much) slower. > If an arch performs something significantly more expensive here it's probably a performance bug in the port. But perhaps more importantly there are significantly more frequent users of atomic_thread_fence_rel, like refcount(9). If the issue is real that should be looked at. >> >> the not a problem: the code does not issue the release fence after >> incrementing the counter the second time, meaning that in principle it >> can happen arbitrarily late, possibly disturbing code which waits for >> the counter to become even. This is not a problem because in whoever >> modifies it is supposed to have a lock and release it shortly after, >> which also posts the release fence and consequently makes sure the >> counter update is visible. Also note these routines come with >> preemption disablement around the modification -- if the thread gets >> preempted as a result of critical_exit from seqc_write_end, it will >> also publish the updated counter. If the updater never does anything >> which flushes the store buffer then in the absolute worst case they >> will get preempted, at which point once more we are covered. Note that >> code which wants more deterministic behavior will want to >> seqc_read_any, test the counter once and if it is caught uneven resort >> to locking. >> >> > @@ -84,7 +85,7 @@ seqc_read(const seqc_t *seqcp) >> > seqc_t ret; >> > >> > for (;;) { >> > - ret = atomic_load_acq_int(__DECONST(seqc_t *, seqcp)); >> > + ret = seqc_read_any(seqcp); >> > if (__predict_false(seqc_in_modify(ret))) { >> > cpu_spinwait(); >> > continue; >> > _______________________________________________ >> > svn-src-all@freebsd.org mailing list >> > https://lists.freebsd.org/mailman/listinfo/svn-src-all >> > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" >> > >> >> >> -- >> Mateusz Guzik > -- Mateusz Guzik From owner-svn-src-head@freebsd.org Mon Mar 9 23:40:26 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B928D2502EC; Mon, 9 Mar 2020 23:40:26 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48bvpx5Flcz4XPF; Mon, 9 Mar 2020 23:40:25 +0000 (UTC) (envelope-from kib@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 7F59E1A856; Mon, 9 Mar 2020 23:40:25 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 029NePVa076368; Mon, 9 Mar 2020 23:40:25 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 029NePpG076367; Mon, 9 Mar 2020 23:40:25 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003092340.029NePpG076367@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 9 Mar 2020 23:40:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358827 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 358827 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2020 23:40:26 -0000 Author: kib Date: Mon Mar 9 23:40:25 2020 New Revision: 358827 URL: https://svnweb.freebsd.org/changeset/base/358827 Log: pipe: explain why not deallocating inode number is fine. Suggested and reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D24009 Modified: head/sys/kern/sys_pipe.c Modified: head/sys/kern/sys_pipe.c ============================================================================== --- head/sys/kern/sys_pipe.c Mon Mar 9 23:08:24 2020 (r358826) +++ head/sys/kern/sys_pipe.c Mon Mar 9 23:40:25 2020 (r358827) @@ -367,6 +367,15 @@ pipe_paircreate(struct thread *td, struct pipepair **p goto fail; error = pipe_create(wpipe, false); if (error != 0) { + /* + * This cleanup leaves the pipe inode number for rpipe + * still allocated, but never used. We do not free + * inode numbers for opened pipes, which is required + * for correctness because numbers must be unique. + * But also it avoids any memory use by the unr + * allocator, so stashing away the transient inode + * number is reasonable. + */ pipe_free_kmem(rpipe); goto fail; } From owner-svn-src-head@freebsd.org Tue Mar 10 03:30:12 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6FD4E256995; Tue, 10 Mar 2020 03:30:12 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48c0w42j7Yz3JB2; Tue, 10 Mar 2020 03:30:12 +0000 (UTC) (envelope-from jhibbits@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 17F631D33B; Tue, 10 Mar 2020 03:30:12 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02A3UCjo018546; Tue, 10 Mar 2020 03:30:12 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02A3UChK018544; Tue, 10 Mar 2020 03:30:12 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <202003100330.02A3UChK018544@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Tue, 10 Mar 2020 03:30:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358828 - head/sys/powerpc/booke X-SVN-Group: head X-SVN-Commit-Author: jhibbits X-SVN-Commit-Paths: head/sys/powerpc/booke X-SVN-Commit-Revision: 358828 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 03:30:12 -0000 Author: jhibbits Date: Tue Mar 10 03:30:11 2020 New Revision: 358828 URL: https://svnweb.freebsd.org/changeset/base/358828 Log: powerpc/booke: Split out 32- and 64- bit pmap details from main body Summary: This is largely a straight-forward cleave of the 32-bit and 64-bit page table specifics, along with the mmu_booke_*() functions that are wholely different between the two implementations. The ultimate goal of this is to make it easier to reason about and update a specific implementation without wading through the other implementation details. This is in support of further changes to the 64-bit pmap. Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D23983 Added: head/sys/powerpc/booke/pmap_32.c (contents, props changed) head/sys/powerpc/booke/pmap_64.c (contents, props changed) Modified: head/sys/powerpc/booke/pmap.c Modified: head/sys/powerpc/booke/pmap.c ============================================================================== --- head/sys/powerpc/booke/pmap.c Mon Mar 9 23:40:25 2020 (r358827) +++ head/sys/powerpc/booke/pmap.c Tue Mar 10 03:30:11 2020 (r358828) @@ -221,25 +221,7 @@ uint32_t tlb1_entries; #define TLB1_ENTRIES (tlb1_entries) -/* - * Base of the pmap_mapdev() region. On 32-bit it immediately follows the - * userspace address range. On On 64-bit it's far above, at (1 << 63), and - * ranges up to the DMAP, giving 62 bits of PA allowed. This is far larger than - * the widest Book-E address bus, the e6500 has a 40-bit PA space. This allows - * us to map akin to the DMAP, with addresses identical to the PA, offset by the - * base. - */ -#ifdef __powerpc64__ -#define VM_MAPDEV_BASE 0x8000000000000000 -#define VM_MAPDEV_PA_MAX 0x4000000000000000 /* Don't encroach on DMAP */ -#else -#define VM_MAPDEV_BASE ((vm_offset_t)VM_MAXUSER_ADDRESS + PAGE_SIZE) -#endif - -static vm_offset_t tlb1_map_base = VM_MAPDEV_BASE; - static tlbtid_t tid_alloc(struct pmap *); -static void tid_flush(tlbtid_t tid); #ifdef DDB #ifdef __powerpc64__ @@ -254,6 +236,8 @@ static void tlb1_write_entry(tlb_entry_t *, unsigned i static int tlb1_iomapped(int, vm_paddr_t, vm_size_t, vm_offset_t *); static vm_size_t tlb1_mapin_region(vm_offset_t, vm_paddr_t, vm_size_t, int); +static __inline uint32_t tlb_calc_wimg(vm_paddr_t pa, vm_memattr_t ma); + static vm_size_t tsize2size(unsigned int); static unsigned int size2tsize(vm_size_t); static unsigned long ilog2(unsigned long); @@ -279,26 +263,6 @@ static int pv_entry_count = 0, pv_entry_max = 0, pv_en #define PMAP_SHPGPERPROC 200 #endif -#ifdef __powerpc64__ -#define PMAP_ROOT_SIZE (sizeof(pte_t***) * PP2D_NENTRIES) -static pte_t *ptbl_alloc(mmu_t, pmap_t, pte_t **, - unsigned int, boolean_t); -static void ptbl_free(mmu_t, pmap_t, pte_t **, unsigned int, vm_page_t); -static void ptbl_hold(mmu_t, pmap_t, pte_t **, unsigned int); -static int ptbl_unhold(mmu_t, pmap_t, vm_offset_t); -#else -#define PMAP_ROOT_SIZE (sizeof(pte_t**) * PDIR_NENTRIES) -static void ptbl_init(void); -static struct ptbl_buf *ptbl_buf_alloc(void); -static void ptbl_buf_free(struct ptbl_buf *); -static void ptbl_free_pmap_ptbl(pmap_t, pte_t *); - -static pte_t *ptbl_alloc(mmu_t, pmap_t, unsigned int, boolean_t); -static void ptbl_free(mmu_t, pmap_t, unsigned int); -static void ptbl_hold(mmu_t, pmap_t, unsigned int); -static int ptbl_unhold(mmu_t, pmap_t, unsigned int); -#endif - static vm_paddr_t pte_vatopa(mmu_t, pmap_t, vm_offset_t); static int pte_enter(mmu_t, pmap_t, vm_page_t, vm_offset_t, uint32_t, boolean_t); static int pte_remove(mmu_t, pmap_t, vm_offset_t, uint8_t); @@ -312,26 +276,9 @@ static void pv_remove(pmap_t, vm_offset_t, vm_page_t); static void booke_pmap_init_qpages(void); -struct ptbl_buf { - TAILQ_ENTRY(ptbl_buf) link; /* list link */ - vm_offset_t kva; /* va of mapping */ -}; +static inline void tlb_miss_lock(void); +static inline void tlb_miss_unlock(void); -#ifndef __powerpc64__ -/* Number of kva ptbl buffers, each covering one ptbl (PTBL_PAGES). */ -#define PTBL_BUFS (128 * 16) - -/* ptbl free list and a lock used for access synchronization. */ -static TAILQ_HEAD(, ptbl_buf) ptbl_buf_freelist; -static struct mtx ptbl_buf_freelist_lock; - -/* Base address of kva space allocated fot ptbl bufs. */ -static vm_offset_t ptbl_buf_pool_vabase; - -/* Pointer to ptbl_buf structures. */ -static struct ptbl_buf *ptbl_bufs; -#endif - #ifdef SMP extern tlb_entry_t __boot_tlb1[]; void pmap_bootstrap_ap(volatile uint32_t *); @@ -476,6 +423,14 @@ static mmu_method_t mmu_booke_methods[] = { MMU_DEF(booke_mmu, MMU_TYPE_BOOKE, mmu_booke_methods, 0); +#ifdef __powerpc64__ +#include "pmap_64.c" +#else +#include "pmap_32.c" +#endif + +static vm_offset_t tlb1_map_base = VM_MAPDEV_BASE; + static __inline uint32_t tlb_calc_wimg(vm_paddr_t pa, vm_memattr_t ma) { @@ -588,495 +543,6 @@ tlb1_get_tlbconf(void) /* Page table related */ /**************************************************************************/ -#ifdef __powerpc64__ -/* Initialize pool of kva ptbl buffers. */ -static void -ptbl_init(void) -{ -} - -/* Get a pointer to a PTE in a page table. */ -static __inline pte_t * -pte_find(mmu_t mmu, pmap_t pmap, vm_offset_t va) -{ - pte_t **pdir; - pte_t *ptbl; - - KASSERT((pmap != NULL), ("pte_find: invalid pmap")); - - pdir = pmap->pm_pp2d[PP2D_IDX(va)]; - if (!pdir) - return NULL; - ptbl = pdir[PDIR_IDX(va)]; - return ((ptbl != NULL) ? &ptbl[PTBL_IDX(va)] : NULL); -} - -/* - * allocate a page of pointers to page directories, do not preallocate the - * page tables - */ -static pte_t ** -pdir_alloc(mmu_t mmu, pmap_t pmap, unsigned int pp2d_idx, bool nosleep) -{ - vm_page_t m; - pte_t **pdir; - int req; - - req = VM_ALLOC_NOOBJ | VM_ALLOC_WIRED; - while ((m = vm_page_alloc(NULL, pp2d_idx, req)) == NULL) { - PMAP_UNLOCK(pmap); - if (nosleep) { - return (NULL); - } - vm_wait(NULL); - PMAP_LOCK(pmap); - } - - /* Zero whole ptbl. */ - pdir = (pte_t **)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)); - mmu_booke_zero_page(mmu, m); - - return (pdir); -} - -/* Free pdir pages and invalidate pdir entry. */ -static void -pdir_free(mmu_t mmu, pmap_t pmap, unsigned int pp2d_idx, vm_page_t m) -{ - pte_t **pdir; - - pdir = pmap->pm_pp2d[pp2d_idx]; - - KASSERT((pdir != NULL), ("pdir_free: null pdir")); - - pmap->pm_pp2d[pp2d_idx] = NULL; - - vm_wire_sub(1); - vm_page_free_zero(m); -} - -/* - * Decrement pdir pages hold count and attempt to free pdir pages. Called - * when removing directory entry from pdir. - * - * Return 1 if pdir pages were freed. - */ -static int -pdir_unhold(mmu_t mmu, pmap_t pmap, u_int pp2d_idx) -{ - pte_t **pdir; - vm_paddr_t pa; - vm_page_t m; - - KASSERT((pmap != kernel_pmap), - ("pdir_unhold: unholding kernel pdir!")); - - pdir = pmap->pm_pp2d[pp2d_idx]; - - /* decrement hold count */ - pa = DMAP_TO_PHYS((vm_offset_t) pdir); - m = PHYS_TO_VM_PAGE(pa); - - /* - * Free pdir page if there are no dir entries in this pdir. - */ - m->ref_count--; - if (m->ref_count == 0) { - pdir_free(mmu, pmap, pp2d_idx, m); - return (1); - } - return (0); -} - -/* - * Increment hold count for pdir pages. This routine is used when new ptlb - * entry is being inserted into pdir. - */ -static void -pdir_hold(mmu_t mmu, pmap_t pmap, pte_t ** pdir) -{ - vm_page_t m; - - KASSERT((pmap != kernel_pmap), - ("pdir_hold: holding kernel pdir!")); - - KASSERT((pdir != NULL), ("pdir_hold: null pdir")); - - m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pdir)); - m->ref_count++; -} - -/* Allocate page table. */ -static pte_t * -ptbl_alloc(mmu_t mmu, pmap_t pmap, pte_t ** pdir, unsigned int pdir_idx, - boolean_t nosleep) -{ - vm_page_t m; - pte_t *ptbl; - int req; - - KASSERT((pdir[pdir_idx] == NULL), - ("%s: valid ptbl entry exists!", __func__)); - - req = VM_ALLOC_NOOBJ | VM_ALLOC_WIRED; - while ((m = vm_page_alloc(NULL, pdir_idx, req)) == NULL) { - if (nosleep) - return (NULL); - PMAP_UNLOCK(pmap); - rw_wunlock(&pvh_global_lock); - vm_wait(NULL); - rw_wlock(&pvh_global_lock); - PMAP_LOCK(pmap); - } - - /* Zero whole ptbl. */ - ptbl = (pte_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)); - mmu_booke_zero_page(mmu, m); - - return (ptbl); -} - -/* Free ptbl pages and invalidate pdir entry. */ -static void -ptbl_free(mmu_t mmu, pmap_t pmap, pte_t ** pdir, unsigned int pdir_idx, vm_page_t m) -{ - pte_t *ptbl; - - ptbl = pdir[pdir_idx]; - - KASSERT((ptbl != NULL), ("ptbl_free: null ptbl")); - - pdir[pdir_idx] = NULL; - - vm_wire_sub(1); - vm_page_free_zero(m); -} - -/* - * Decrement ptbl pages hold count and attempt to free ptbl pages. Called - * when removing pte entry from ptbl. - * - * Return 1 if ptbl pages were freed. - */ -static int -ptbl_unhold(mmu_t mmu, pmap_t pmap, vm_offset_t va) -{ - pte_t *ptbl; - vm_page_t m; - u_int pp2d_idx; - pte_t **pdir; - u_int pdir_idx; - - pp2d_idx = PP2D_IDX(va); - pdir_idx = PDIR_IDX(va); - - KASSERT((pmap != kernel_pmap), - ("ptbl_unhold: unholding kernel ptbl!")); - - pdir = pmap->pm_pp2d[pp2d_idx]; - ptbl = pdir[pdir_idx]; - - /* decrement hold count */ - m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t) ptbl)); - - /* - * Free ptbl pages if there are no pte entries in this ptbl. - * ref_count has the same value for all ptbl pages, so check the - * last page. - */ - m->ref_count--; - if (m->ref_count == 0) { - ptbl_free(mmu, pmap, pdir, pdir_idx, m); - pdir_unhold(mmu, pmap, pp2d_idx); - return (1); - } - return (0); -} - -/* - * Increment hold count for ptbl pages. This routine is used when new pte - * entry is being inserted into ptbl. - */ -static void -ptbl_hold(mmu_t mmu, pmap_t pmap, pte_t ** pdir, unsigned int pdir_idx) -{ - pte_t *ptbl; - vm_page_t m; - - KASSERT((pmap != kernel_pmap), - ("ptbl_hold: holding kernel ptbl!")); - - ptbl = pdir[pdir_idx]; - - KASSERT((ptbl != NULL), ("ptbl_hold: null ptbl")); - - m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t) ptbl)); - m->ref_count++; -} -#else - -/* Initialize pool of kva ptbl buffers. */ -static void -ptbl_init(void) -{ - int i; - - CTR3(KTR_PMAP, "%s: s (ptbl_bufs = 0x%08x size 0x%08x)", __func__, - (uint32_t)ptbl_bufs, sizeof(struct ptbl_buf) * PTBL_BUFS); - CTR3(KTR_PMAP, "%s: s (ptbl_buf_pool_vabase = 0x%08x size = 0x%08x)", - __func__, ptbl_buf_pool_vabase, PTBL_BUFS * PTBL_PAGES * PAGE_SIZE); - - mtx_init(&ptbl_buf_freelist_lock, "ptbl bufs lock", NULL, MTX_DEF); - TAILQ_INIT(&ptbl_buf_freelist); - - for (i = 0; i < PTBL_BUFS; i++) { - ptbl_bufs[i].kva = - ptbl_buf_pool_vabase + i * PTBL_PAGES * PAGE_SIZE; - TAILQ_INSERT_TAIL(&ptbl_buf_freelist, &ptbl_bufs[i], link); - } -} - -/* Get a ptbl_buf from the freelist. */ -static struct ptbl_buf * -ptbl_buf_alloc(void) -{ - struct ptbl_buf *buf; - - mtx_lock(&ptbl_buf_freelist_lock); - buf = TAILQ_FIRST(&ptbl_buf_freelist); - if (buf != NULL) - TAILQ_REMOVE(&ptbl_buf_freelist, buf, link); - mtx_unlock(&ptbl_buf_freelist_lock); - - CTR2(KTR_PMAP, "%s: buf = %p", __func__, buf); - - return (buf); -} - -/* Return ptbl buff to free pool. */ -static void -ptbl_buf_free(struct ptbl_buf *buf) -{ - - CTR2(KTR_PMAP, "%s: buf = %p", __func__, buf); - - mtx_lock(&ptbl_buf_freelist_lock); - TAILQ_INSERT_TAIL(&ptbl_buf_freelist, buf, link); - mtx_unlock(&ptbl_buf_freelist_lock); -} - -/* - * Search the list of allocated ptbl bufs and find on list of allocated ptbls - */ -static void -ptbl_free_pmap_ptbl(pmap_t pmap, pte_t *ptbl) -{ - struct ptbl_buf *pbuf; - - CTR2(KTR_PMAP, "%s: ptbl = %p", __func__, ptbl); - - PMAP_LOCK_ASSERT(pmap, MA_OWNED); - - TAILQ_FOREACH(pbuf, &pmap->pm_ptbl_list, link) - if (pbuf->kva == (vm_offset_t)ptbl) { - /* Remove from pmap ptbl buf list. */ - TAILQ_REMOVE(&pmap->pm_ptbl_list, pbuf, link); - - /* Free corresponding ptbl buf. */ - ptbl_buf_free(pbuf); - break; - } -} - -/* Allocate page table. */ -static pte_t * -ptbl_alloc(mmu_t mmu, pmap_t pmap, unsigned int pdir_idx, boolean_t nosleep) -{ - vm_page_t mtbl[PTBL_PAGES]; - vm_page_t m; - struct ptbl_buf *pbuf; - unsigned int pidx; - pte_t *ptbl; - int i, j; - - CTR4(KTR_PMAP, "%s: pmap = %p su = %d pdir_idx = %d", __func__, pmap, - (pmap == kernel_pmap), pdir_idx); - - KASSERT((pdir_idx <= (VM_MAXUSER_ADDRESS / PDIR_SIZE)), - ("ptbl_alloc: invalid pdir_idx")); - KASSERT((pmap->pm_pdir[pdir_idx] == NULL), - ("pte_alloc: valid ptbl entry exists!")); - - pbuf = ptbl_buf_alloc(); - if (pbuf == NULL) - panic("pte_alloc: couldn't alloc kernel virtual memory"); - - ptbl = (pte_t *)pbuf->kva; - - CTR2(KTR_PMAP, "%s: ptbl kva = %p", __func__, ptbl); - - for (i = 0; i < PTBL_PAGES; i++) { - pidx = (PTBL_PAGES * pdir_idx) + i; - while ((m = vm_page_alloc(NULL, pidx, - VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) { - if (nosleep) { - ptbl_free_pmap_ptbl(pmap, ptbl); - for (j = 0; j < i; j++) - vm_page_free(mtbl[j]); - vm_wire_sub(i); - return (NULL); - } - PMAP_UNLOCK(pmap); - rw_wunlock(&pvh_global_lock); - vm_wait(NULL); - rw_wlock(&pvh_global_lock); - PMAP_LOCK(pmap); - } - mtbl[i] = m; - } - - /* Map allocated pages into kernel_pmap. */ - mmu_booke_qenter(mmu, (vm_offset_t)ptbl, mtbl, PTBL_PAGES); - - /* Zero whole ptbl. */ - bzero((caddr_t)ptbl, PTBL_PAGES * PAGE_SIZE); - - /* Add pbuf to the pmap ptbl bufs list. */ - TAILQ_INSERT_TAIL(&pmap->pm_ptbl_list, pbuf, link); - - return (ptbl); -} - -/* Free ptbl pages and invalidate pdir entry. */ -static void -ptbl_free(mmu_t mmu, pmap_t pmap, unsigned int pdir_idx) -{ - pte_t *ptbl; - vm_paddr_t pa; - vm_offset_t va; - vm_page_t m; - int i; - - CTR4(KTR_PMAP, "%s: pmap = %p su = %d pdir_idx = %d", __func__, pmap, - (pmap == kernel_pmap), pdir_idx); - - KASSERT((pdir_idx <= (VM_MAXUSER_ADDRESS / PDIR_SIZE)), - ("ptbl_free: invalid pdir_idx")); - - ptbl = pmap->pm_pdir[pdir_idx]; - - CTR2(KTR_PMAP, "%s: ptbl = %p", __func__, ptbl); - - KASSERT((ptbl != NULL), ("ptbl_free: null ptbl")); - - /* - * Invalidate the pdir entry as soon as possible, so that other CPUs - * don't attempt to look up the page tables we are releasing. - */ - mtx_lock_spin(&tlbivax_mutex); - tlb_miss_lock(); - - pmap->pm_pdir[pdir_idx] = NULL; - - tlb_miss_unlock(); - mtx_unlock_spin(&tlbivax_mutex); - - for (i = 0; i < PTBL_PAGES; i++) { - va = ((vm_offset_t)ptbl + (i * PAGE_SIZE)); - pa = pte_vatopa(mmu, kernel_pmap, va); - m = PHYS_TO_VM_PAGE(pa); - vm_page_free_zero(m); - vm_wire_sub(1); - mmu_booke_kremove(mmu, va); - } - - ptbl_free_pmap_ptbl(pmap, ptbl); -} - -/* - * Decrement ptbl pages hold count and attempt to free ptbl pages. - * Called when removing pte entry from ptbl. - * - * Return 1 if ptbl pages were freed. - */ -static int -ptbl_unhold(mmu_t mmu, pmap_t pmap, unsigned int pdir_idx) -{ - pte_t *ptbl; - vm_paddr_t pa; - vm_page_t m; - int i; - - CTR4(KTR_PMAP, "%s: pmap = %p su = %d pdir_idx = %d", __func__, pmap, - (pmap == kernel_pmap), pdir_idx); - - KASSERT((pdir_idx <= (VM_MAXUSER_ADDRESS / PDIR_SIZE)), - ("ptbl_unhold: invalid pdir_idx")); - KASSERT((pmap != kernel_pmap), - ("ptbl_unhold: unholding kernel ptbl!")); - - ptbl = pmap->pm_pdir[pdir_idx]; - - //debugf("ptbl_unhold: ptbl = 0x%08x\n", (u_int32_t)ptbl); - KASSERT(((vm_offset_t)ptbl >= VM_MIN_KERNEL_ADDRESS), - ("ptbl_unhold: non kva ptbl")); - - /* decrement hold count */ - for (i = 0; i < PTBL_PAGES; i++) { - pa = pte_vatopa(mmu, kernel_pmap, - (vm_offset_t)ptbl + (i * PAGE_SIZE)); - m = PHYS_TO_VM_PAGE(pa); - m->ref_count--; - } - - /* - * Free ptbl pages if there are no pte etries in this ptbl. - * ref_count has the same value for all ptbl pages, so check the last - * page. - */ - if (m->ref_count == 0) { - ptbl_free(mmu, pmap, pdir_idx); - - //debugf("ptbl_unhold: e (freed ptbl)\n"); - return (1); - } - - return (0); -} - -/* - * Increment hold count for ptbl pages. This routine is used when a new pte - * entry is being inserted into the ptbl. - */ -static void -ptbl_hold(mmu_t mmu, pmap_t pmap, unsigned int pdir_idx) -{ - vm_paddr_t pa; - pte_t *ptbl; - vm_page_t m; - int i; - - CTR3(KTR_PMAP, "%s: pmap = %p pdir_idx = %d", __func__, pmap, - pdir_idx); - - KASSERT((pdir_idx <= (VM_MAXUSER_ADDRESS / PDIR_SIZE)), - ("ptbl_hold: invalid pdir_idx")); - KASSERT((pmap != kernel_pmap), - ("ptbl_hold: holding kernel ptbl!")); - - ptbl = pmap->pm_pdir[pdir_idx]; - - KASSERT((ptbl != NULL), ("ptbl_hold: null ptbl")); - - for (i = 0; i < PTBL_PAGES; i++) { - pa = pte_vatopa(mmu, kernel_pmap, - (vm_offset_t)ptbl + (i * PAGE_SIZE)); - m = PHYS_TO_VM_PAGE(pa); - m->ref_count++; - } -} -#endif - /* Allocate pv_entry structure. */ pv_entry_t pv_alloc(void) @@ -1156,397 +622,6 @@ pv_remove(pmap_t pmap, vm_offset_t va, vm_page_t m) //debugf("pv_remove: e\n"); } -#ifdef __powerpc64__ -/* - * Clean pte entry, try to free page table page if requested. - * - * Return 1 if ptbl pages were freed, otherwise return 0. - */ -static int -pte_remove(mmu_t mmu, pmap_t pmap, vm_offset_t va, u_int8_t flags) -{ - vm_page_t m; - pte_t *pte; - - pte = pte_find(mmu, pmap, va); - KASSERT(pte != NULL, ("%s: NULL pte", __func__)); - - if (!PTE_ISVALID(pte)) - return (0); - - /* Get vm_page_t for mapped pte. */ - m = PHYS_TO_VM_PAGE(PTE_PA(pte)); - - if (PTE_ISWIRED(pte)) - pmap->pm_stats.wired_count--; - - /* Handle managed entry. */ - if (PTE_ISMANAGED(pte)) { - - /* Handle modified pages. */ - if (PTE_ISMODIFIED(pte)) - vm_page_dirty(m); - - /* Referenced pages. */ - if (PTE_ISREFERENCED(pte)) - vm_page_aflag_set(m, PGA_REFERENCED); - - /* Remove pv_entry from pv_list. */ - pv_remove(pmap, va, m); - } else if (pmap == kernel_pmap && m && m->md.pv_tracked) { - pv_remove(pmap, va, m); - if (TAILQ_EMPTY(&m->md.pv_list)) - m->md.pv_tracked = false; - } - mtx_lock_spin(&tlbivax_mutex); - tlb_miss_lock(); - - tlb0_flush_entry(va); - *pte = 0; - - tlb_miss_unlock(); - mtx_unlock_spin(&tlbivax_mutex); - - pmap->pm_stats.resident_count--; - - if (flags & PTBL_UNHOLD) { - return (ptbl_unhold(mmu, pmap, va)); - } - return (0); -} - -/* - * Insert PTE for a given page and virtual address. - */ -static int -pte_enter(mmu_t mmu, pmap_t pmap, vm_page_t m, vm_offset_t va, uint32_t flags, - boolean_t nosleep) -{ - unsigned int pp2d_idx = PP2D_IDX(va); - unsigned int pdir_idx = PDIR_IDX(va); - unsigned int ptbl_idx = PTBL_IDX(va); - pte_t *ptbl, *pte, pte_tmp; - pte_t **pdir; - - /* Get the page directory pointer. */ - pdir = pmap->pm_pp2d[pp2d_idx]; - if (pdir == NULL) - pdir = pdir_alloc(mmu, pmap, pp2d_idx, nosleep); - - /* Get the page table pointer. */ - ptbl = pdir[pdir_idx]; - - if (ptbl == NULL) { - /* Allocate page table pages. */ - ptbl = ptbl_alloc(mmu, pmap, pdir, pdir_idx, nosleep); - if (ptbl == NULL) { - KASSERT(nosleep, ("nosleep and NULL ptbl")); - return (ENOMEM); - } - pte = &ptbl[ptbl_idx]; - } else { - /* - * Check if there is valid mapping for requested va, if there - * is, remove it. - */ - pte = &ptbl[ptbl_idx]; - if (PTE_ISVALID(pte)) { - pte_remove(mmu, pmap, va, PTBL_HOLD); - } else { - /* - * pte is not used, increment hold count for ptbl - * pages. - */ - if (pmap != kernel_pmap) - ptbl_hold(mmu, pmap, pdir, pdir_idx); - } - } - - if (pdir[pdir_idx] == NULL) { - if (pmap != kernel_pmap && pmap->pm_pp2d[pp2d_idx] != NULL) - pdir_hold(mmu, pmap, pdir); - pdir[pdir_idx] = ptbl; - } - if (pmap->pm_pp2d[pp2d_idx] == NULL) - pmap->pm_pp2d[pp2d_idx] = pdir; - - /* - * Insert pv_entry into pv_list for mapped page if part of managed - * memory. - */ - if ((m->oflags & VPO_UNMANAGED) == 0) { - flags |= PTE_MANAGED; - - /* Create and insert pv entry. */ - pv_insert(pmap, va, m); - } - - pmap->pm_stats.resident_count++; - - pte_tmp = PTE_RPN_FROM_PA(VM_PAGE_TO_PHYS(m)); - pte_tmp |= (PTE_VALID | flags); - - mtx_lock_spin(&tlbivax_mutex); - tlb_miss_lock(); - - tlb0_flush_entry(va); - *pte = pte_tmp; - - tlb_miss_unlock(); - mtx_unlock_spin(&tlbivax_mutex); - - return (0); -} - -/* Return the pa for the given pmap/va. */ -static vm_paddr_t -pte_vatopa(mmu_t mmu, pmap_t pmap, vm_offset_t va) -{ - vm_paddr_t pa = 0; - pte_t *pte; - - pte = pte_find(mmu, pmap, va); - if ((pte != NULL) && PTE_ISVALID(pte)) - pa = (PTE_PA(pte) | (va & PTE_PA_MASK)); - return (pa); -} - - -/* allocate pte entries to manage (addr & mask) to (addr & mask) + size */ -static void -kernel_pte_alloc(vm_offset_t data_end, vm_offset_t addr, vm_offset_t pdir) -{ - int i, j; - vm_offset_t va; - pte_t *pte; - - va = addr; - /* Initialize kernel pdir */ - for (i = 0; i < kernel_pdirs; i++) { - kernel_pmap->pm_pp2d[i + PP2D_IDX(va)] = - (pte_t **)(pdir + (i * PAGE_SIZE * PDIR_PAGES)); - for (j = PDIR_IDX(va + (i * PAGE_SIZE * PDIR_NENTRIES * PTBL_NENTRIES)); - j < PDIR_NENTRIES; j++) { - kernel_pmap->pm_pp2d[i + PP2D_IDX(va)][j] = - (pte_t *)(pdir + (kernel_pdirs * PAGE_SIZE) + - (((i * PDIR_NENTRIES) + j) * PAGE_SIZE)); - } - } - - /* - * Fill in PTEs covering kernel code and data. They are not required - * for address translation, as this area is covered by static TLB1 - * entries, but for pte_vatopa() to work correctly with kernel area - * addresses. - */ - for (va = addr; va < data_end; va += PAGE_SIZE) { - pte = &(kernel_pmap->pm_pp2d[PP2D_IDX(va)][PDIR_IDX(va)][PTBL_IDX(va)]); - *pte = PTE_RPN_FROM_PA(kernload + (va - kernstart)); - *pte |= PTE_M | PTE_SR | PTE_SW | PTE_SX | PTE_WIRED | - PTE_VALID | PTE_PS_4KB; - } -} -#else -/* - * Clean pte entry, try to free page table page if requested. - * - * Return 1 if ptbl pages were freed, otherwise return 0. - */ -static int -pte_remove(mmu_t mmu, pmap_t pmap, vm_offset_t va, uint8_t flags) -{ - unsigned int pdir_idx = PDIR_IDX(va); - unsigned int ptbl_idx = PTBL_IDX(va); - vm_page_t m; - pte_t *ptbl; - pte_t *pte; - - //int su = (pmap == kernel_pmap); - //debugf("pte_remove: s (su = %d pmap = 0x%08x va = 0x%08x flags = %d)\n", - // su, (u_int32_t)pmap, va, flags); - - ptbl = pmap->pm_pdir[pdir_idx]; - KASSERT(ptbl, ("pte_remove: null ptbl")); - - pte = &ptbl[ptbl_idx]; - - if (pte == NULL || !PTE_ISVALID(pte)) - return (0); - - if (PTE_ISWIRED(pte)) - pmap->pm_stats.wired_count--; - - /* Get vm_page_t for mapped pte. */ - m = PHYS_TO_VM_PAGE(PTE_PA(pte)); - - /* Handle managed entry. */ - if (PTE_ISMANAGED(pte)) { - - if (PTE_ISMODIFIED(pte)) - vm_page_dirty(m); - - if (PTE_ISREFERENCED(pte)) - vm_page_aflag_set(m, PGA_REFERENCED); - - pv_remove(pmap, va, m); - } else if (pmap == kernel_pmap && m && m->md.pv_tracked) { - /* - * Always pv_insert()/pv_remove() on MPC85XX, in case DPAA is - * used. This is needed by the NCSW support code for fast - * VA<->PA translation. - */ - pv_remove(pmap, va, m); - if (TAILQ_EMPTY(&m->md.pv_list)) - m->md.pv_tracked = false; - } - - mtx_lock_spin(&tlbivax_mutex); - tlb_miss_lock(); - - tlb0_flush_entry(va); - *pte = 0; - - tlb_miss_unlock(); - mtx_unlock_spin(&tlbivax_mutex); - - pmap->pm_stats.resident_count--; - - if (flags & PTBL_UNHOLD) { - //debugf("pte_remove: e (unhold)\n"); - return (ptbl_unhold(mmu, pmap, pdir_idx)); - } - - //debugf("pte_remove: e\n"); - return (0); -} - -/* - * Insert PTE for a given page and virtual address. - */ -static int -pte_enter(mmu_t mmu, pmap_t pmap, vm_page_t m, vm_offset_t va, uint32_t flags, - boolean_t nosleep) -{ - unsigned int pdir_idx = PDIR_IDX(va); - unsigned int ptbl_idx = PTBL_IDX(va); - pte_t *ptbl, *pte, pte_tmp; - - CTR4(KTR_PMAP, "%s: su = %d pmap = %p va = %p", __func__, - pmap == kernel_pmap, pmap, va); - - /* Get the page table pointer. */ - ptbl = pmap->pm_pdir[pdir_idx]; - - if (ptbl == NULL) { - /* Allocate page table pages. */ - ptbl = ptbl_alloc(mmu, pmap, pdir_idx, nosleep); - if (ptbl == NULL) { - KASSERT(nosleep, ("nosleep and NULL ptbl")); - return (ENOMEM); - } - pmap->pm_pdir[pdir_idx] = ptbl; - pte = &ptbl[ptbl_idx]; - } else { - /* - * Check if there is valid mapping for requested - * va, if there is, remove it. - */ - pte = &pmap->pm_pdir[pdir_idx][ptbl_idx]; - if (PTE_ISVALID(pte)) { - pte_remove(mmu, pmap, va, PTBL_HOLD); - } else { - /* - * pte is not used, increment hold count - * for ptbl pages. - */ - if (pmap != kernel_pmap) - ptbl_hold(mmu, pmap, pdir_idx); - } - } - - /* - * Insert pv_entry into pv_list for mapped page if part of managed - * memory. - */ - if ((m->oflags & VPO_UNMANAGED) == 0) { - flags |= PTE_MANAGED; - - /* Create and insert pv entry. */ - pv_insert(pmap, va, m); - } - - pmap->pm_stats.resident_count++; - - pte_tmp = PTE_RPN_FROM_PA(VM_PAGE_TO_PHYS(m)); - pte_tmp |= (PTE_VALID | flags | PTE_PS_4KB); /* 4KB pages only */ - - mtx_lock_spin(&tlbivax_mutex); - tlb_miss_lock(); - - tlb0_flush_entry(va); - *pte = pte_tmp; - - tlb_miss_unlock(); - mtx_unlock_spin(&tlbivax_mutex); - return (0); -} - -/* Return the pa for the given pmap/va. */ -static vm_paddr_t -pte_vatopa(mmu_t mmu, pmap_t pmap, vm_offset_t va) -{ - vm_paddr_t pa = 0; - pte_t *pte; - - pte = pte_find(mmu, pmap, va); - if ((pte != NULL) && PTE_ISVALID(pte)) - pa = (PTE_PA(pte) | (va & PTE_PA_MASK)); - return (pa); -} - -/* Get a pointer to a PTE in a page table. */ -static pte_t * -pte_find(mmu_t mmu, pmap_t pmap, vm_offset_t va) -{ - unsigned int pdir_idx = PDIR_IDX(va); - unsigned int ptbl_idx = PTBL_IDX(va); - - KASSERT((pmap != NULL), ("pte_find: invalid pmap")); - - if (pmap->pm_pdir[pdir_idx]) - return (&(pmap->pm_pdir[pdir_idx][ptbl_idx])); - - return (NULL); -} - -/* Set up kernel page tables. */ -static void -kernel_pte_alloc(vm_offset_t data_end, vm_offset_t addr, vm_offset_t pdir) -{ - int i; - vm_offset_t va; - pte_t *pte; - - /* Initialize kernel pdir */ - for (i = 0; i < kernel_ptbls; i++) - kernel_pmap->pm_pdir[kptbl_min + i] = - (pte_t *)(pdir + (i * PAGE_SIZE * PTBL_PAGES)); - - /* - * Fill in PTEs covering kernel code and data. They are not required - * for address translation, as this area is covered by static TLB1 - * entries, but for pte_vatopa() to work correctly with kernel area - * addresses. - */ - for (va = addr; va < data_end; va += PAGE_SIZE) { - pte = &(kernel_pmap->pm_pdir[PDIR_IDX(va)][PTBL_IDX(va)]); - *pte = PTE_RPN_FROM_PA(kernload + (va - kernstart)); - *pte |= PTE_M | PTE_SR | PTE_SW | PTE_SX | PTE_WIRED | - PTE_VALID | PTE_PS_4KB; - } -} -#endif - /**************************************************************************/ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Tue Mar 10 06:28:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 823EB259CF7; Tue, 10 Mar 2020 06:28:46 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48c4t56Qr7z40Zx; Tue, 10 Mar 2020 06:28:45 +0000 (UTC) (envelope-from kp@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 BF0EB1F475; Tue, 10 Mar 2020 06:28:45 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02A6Sjkd025412; Tue, 10 Mar 2020 06:28:45 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02A6SjK1025411; Tue, 10 Mar 2020 06:28:45 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202003100628.02A6SjK1025411@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Tue, 10 Mar 2020 06:28:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358829 - head/tests/sys/net X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: head/tests/sys/net X-SVN-Commit-Revision: 358829 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 06:28:46 -0000 Author: kp Date: Tue Mar 10 06:28:45 2020 New Revision: 358829 URL: https://svnweb.freebsd.org/changeset/base/358829 Log: bridge test: spanning tree Basic test case where we create a bridge loop, verify that we really are looping and then enable spanning tree to resolve the loop. Reviewed by: philip Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23959 Modified: head/tests/sys/net/if_bridge_test.sh Modified: head/tests/sys/net/if_bridge_test.sh ============================================================================== --- head/tests/sys/net/if_bridge_test.sh Tue Mar 10 03:30:11 2020 (r358828) +++ head/tests/sys/net/if_bridge_test.sh Tue Mar 10 06:28:45 2020 (r358829) @@ -67,7 +67,76 @@ bridge_transmit_ipv4_unicast_cleanup() vnet_cleanup } +atf_test_case "stp" "cleanup" +stp_head() +{ + atf_set descr 'Spanning tree test' + atf_set require.user root + atf_set require.progs jq +} + +stp_body() +{ + vnet_init + + epair_one=$(vnet_mkepair) + epair_two=$(vnet_mkepair) + bridge_a=$(vnet_mkbridge) + bridge_b=$(vnet_mkbridge) + + vnet_mkjail a ${bridge_a} ${epair_one}a ${epair_two}a + vnet_mkjail b ${bridge_b} ${epair_one}b ${epair_two}b + + jexec a ifconfig ${bridge_a} up + jexec a ifconfig ${epair_one}a up + jexec a ifconfig ${epair_two}a up + jexec a ifconfig ${bridge_a} addm ${epair_one}a + jexec a ifconfig ${bridge_a} addm ${epair_two}a + + jexec b ifconfig ${bridge_b} up + jexec b ifconfig ${epair_one}b up + jexec b ifconfig ${epair_two}b up + jexec b ifconfig ${bridge_b} addm ${epair_one}b + jexec b ifconfig ${bridge_b} addm ${epair_two}b + + jexec a ifconfig ${bridge_a} 192.0.2.1/24 + + # Give the interfaces some time to come up and pass some traffic + sleep 5 + + # Confirm that there's looping traffic + nbr=$(jexec a netstat -I ${bridge_a} --libxo json \ + | jq ".statistics.interface[0].\"received-packets\"") + if [ ${nbr} -lt 100 ] + then + atf_fail "Expected bridging loop, but found very few packets." + fi + + # Enable spanning tree + jexec a ifconfig ${bridge_a} stp ${epair_one}a + jexec a ifconfig ${bridge_a} stp ${epair_two}a + jexec b ifconfig ${bridge_b} stp ${epair_one}b + jexec b ifconfig ${bridge_b} stp ${epair_two}b + + # Give STP time to do its thing + sleep 5 + + a_discard=$(jexec a ifconfig ${bridge_a} | grep discarding) + b_discard=$(jexec b ifconfig ${bridge_b} | grep discarding) + + if [ -z "${a_discard}" ] && [ -z "${b_discard}" ] + then + atf_fail "STP failed to detect bridging loop" + fi +} + +stp_cleanup() +{ + vnet_cleanup +} + atf_init_test_cases() { atf_add_test_case "bridge_transmit_ipv4_unicast" + atf_add_test_case "stp" } From owner-svn-src-head@freebsd.org Tue Mar 10 06:30:00 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0E128259D9B; Tue, 10 Mar 2020 06:30:00 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48c4vW5F9nz43HF; Tue, 10 Mar 2020 06:29:59 +0000 (UTC) (envelope-from kp@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 6F7A91F49A; Tue, 10 Mar 2020 06:29:59 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02A6TxRQ025514; Tue, 10 Mar 2020 06:29:59 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02A6Tx8P025513; Tue, 10 Mar 2020 06:29:59 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202003100629.02A6Tx8P025513@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Tue, 10 Mar 2020 06:29:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358830 - head/tests/sys/net X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: head/tests/sys/net X-SVN-Commit-Revision: 358830 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 06:30:00 -0000 Author: kp Date: Tue Mar 10 06:29:59 2020 New Revision: 358830 URL: https://svnweb.freebsd.org/changeset/base/358830 Log: bridge test: adding and removing static addresses Reviewed by: philip Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23960 Modified: head/tests/sys/net/if_bridge_test.sh Modified: head/tests/sys/net/if_bridge_test.sh ============================================================================== --- head/tests/sys/net/if_bridge_test.sh Tue Mar 10 06:28:45 2020 (r358829) +++ head/tests/sys/net/if_bridge_test.sh Tue Mar 10 06:29:59 2020 (r358830) @@ -135,8 +135,65 @@ stp_cleanup() vnet_cleanup } +atf_test_case "static" "cleanup" +static_head() +{ + atf_set descr 'Bridge static address test' + atf_set require.user root +} + +static_body() +{ + vnet_init + + epair=$(vnet_mkepair) + bridge=$(vnet_mkbridge) + + vnet_mkjail one ${bridge} ${epair}a + + ifconfig ${epair}b up + + jexec one ifconfig ${bridge} up + jexec one ifconfig ${epair}a up + jexec one ifconfig ${bridge} addm ${epair}a + + # Wrong interface + atf_check -s exit:1 -o ignore -e ignore \ + jexec one ifconfig ${bridge} static ${epair}b 00:01:02:03:04:05 + + # Bad address format + atf_check -s exit:1 -o ignore -e ignore \ + jexec one ifconfig ${bridge} static ${epair}a 00:01:02:03:04 + + # Correct add + atf_check -s exit:0 -o ignore \ + jexec one ifconfig ${bridge} static ${epair}a 00:01:02:03:04:05 + + # List addresses + atf_check -s exit:0 -o ignore \ + jexec one ifconfig ${bridge} addr + + # Delete with bad address format + atf_check -s exit:1 -o ignore -e ignore \ + jexec one ifconfig ${bridge} deladdr 00:01:02:03:04 + + # Delete with unlisted address + atf_check -s exit:1 -o ignore -e ignore \ + jexec one ifconfig ${bridge} deladdr 00:01:02:03:04:06 + + # Correct delete + atf_check -s exit:0 -o ignore \ + jexec one ifconfig ${bridge} deladdr 00:01:02:03:04:05 +} + +static_cleanup() +{ + vnet_cleanup +} + atf_init_test_cases() { atf_add_test_case "bridge_transmit_ipv4_unicast" atf_add_test_case "stp" + atf_add_test_case "static" } From owner-svn-src-head@freebsd.org Tue Mar 10 13:39:07 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C70DD263F7B; Tue, 10 Mar 2020 13:39:07 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cGQg1cqhz3x8r; Tue, 10 Mar 2020 13:39:07 +0000 (UTC) (envelope-from emaste@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 31ADA24303; Tue, 10 Mar 2020 13:39:06 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ADd6l1083171; Tue, 10 Mar 2020 13:39:06 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ADd6lH083170; Tue, 10 Mar 2020 13:39:06 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003101339.02ADd6lH083170@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 10 Mar 2020 13:39:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358834 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 358834 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 13:39:07 -0000 Author: emaste Date: Tue Mar 10 13:39:05 2020 New Revision: 358834 URL: https://svnweb.freebsd.org/changeset/base/358834 Log: Bump __FreeBSD_version after amd(8) removal, r358821 Reported by: cy Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Tue Mar 10 07:05:04 2020 (r358833) +++ head/sys/sys/param.h Tue Mar 10 13:39:05 2020 (r358834) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1300082 /* Master, propagated to newvers */ +#define __FreeBSD_version 1300083 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-head@freebsd.org Tue Mar 10 13:42:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9BF31264342; Tue, 10 Mar 2020 13:42:47 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-il1-f172.google.com (mail-il1-f172.google.com [209.85.166.172]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cGVr6Gvwz437g; Tue, 10 Mar 2020 13:42:44 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-il1-f172.google.com with SMTP id c8so11629477ilm.1; Tue, 10 Mar 2020 06:42:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=iKFhGHxib/dC8RLGaEBuNiV2pOIJgqOt1OE79bTNhvg=; b=IVei4YBiIO/iFE7WJWH7X/ASSaXejs/tl4Yq5flsy4NhSPZ2qMKgpWv7Uwp/UbvLhT wwX70TTNwgtGN1MGuleOR2Awi8eInzYE7bBRGvK5HxLORpCPNTdARxtDFR9rylTDkRhA wPpcEqMTZEkfDy1ugAaReMgKJEkwu/l6jGtMXPThb1JQzyBJ2+ETNew0vEWC9mdtnm5D 4aLbFtUbcqDlEgFXDEjOqCOH5+7WexqAauxYFaOkehldesqOuWb70QKWdUHi9UyAsPfF HU1u1l4aU+rvOLuj7tPJzMg4I5OrVuImlz8EHVKIVhj2wgR7WozaVZEsPV+dQfMhhpIk gVzQ== X-Gm-Message-State: ANhLgQ00znWpeWSf3OeqrCfRSoDsNiXZzq1q9C4s6WEF634FEHqF8dcs jizJdA0ukVlSXB4w7DvBNBm7MCV+Qd1SbhGR6qMxww== X-Google-Smtp-Source: ADFU+vtbDYGdiRhNEWq7PIpj57edtFKVl5cA7yFl+EDiugq8ClnsgZggO1QVV6LBWHXwnnw1fu9rCZvcxPr1WysACVg= X-Received: by 2002:a92:41c7:: with SMTP id o190mr9971428ila.11.1583847763287; Tue, 10 Mar 2020 06:42:43 -0700 (PDT) MIME-Version: 1.0 References: <202003092046.029Kkikt073581@repo.freebsd.org> <202003092054.029Ksosc056842@slippy.cwsent.com> <202003092113.029LDJ5M059883@slippy.cwsent.com> In-Reply-To: <202003092113.029LDJ5M059883@slippy.cwsent.com> From: Ed Maste Date: Tue, 10 Mar 2020 09:42:30 -0400 Message-ID: Subject: Re: svn commit: r358821 - in head: . contrib/amd libexec/rc/rc.d release tools/build/mk tools/build/options usr.sbin usr.sbin/amd usr.sbin/newsyslog/newsyslog.conf.d To: Cy Schubert Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48cGVr6Gvwz437g X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of carpeddiem@gmail.com designates 209.85.166.172 as permitted sender) smtp.mailfrom=carpeddiem@gmail.com X-Spamd-Result: default: False [-4.25 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[172.166.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-2.25)[ip: (-6.57), ipnet: 209.85.128.0/17(-2.98), asn: 15169(-1.65), country: US(-0.05)]; FORGED_SENDER(0.30)[emaste@freebsd.org,carpeddiem@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[172.166.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[emaste@freebsd.org,carpeddiem@gmail.com]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 13:42:47 -0000 > Sorry for being snippy. It's a bad day here, client-wise, and it's spilling > over here. No apology necessary, I'm sorry I didn't coordinate more closely with you on the actual svn commit. I had this change in my WIP tree since November and just got back to it. Given the elapsed time since we last discussed it I ought to have sent a reminder/refreshed the discussion. From owner-svn-src-head@freebsd.org Tue Mar 10 15:04:24 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2484226677A; Tue, 10 Mar 2020 15:04:24 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cJK35Psvz41Pn; Tue, 10 Mar 2020 15:04:23 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id BgQdjtPByRnrKBgQfjpPMP; Tue, 10 Mar 2020 09:04:21 -0600 X-Authority-Analysis: v=2.3 cv=L7FjvNb8 c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=IkcTkHD0fZMA:10 a=SS2py6AdgQ4A:10 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=6UEaUF7UQfDeVFWbkcAA:9 a=QEXdDO2ut3YA:10 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from Resas-iPad.esitwifi.local (S0106788a207e2972.gv.shawcable.net [70.66.154.233]) by spqr.komquats.com (Postfix) with ESMTPSA id 283CA746; Tue, 10 Mar 2020 08:04:19 -0700 (PDT) Date: Tue, 10 Mar 2020 08:03:56 -0700 User-Agent: K-9 Mail for Android In-Reply-To: References: <202003092046.029Kkikt073581@repo.freebsd.org> <202003092054.029Ksosc056842@slippy.cwsent.com> <202003092113.029LDJ5M059883@slippy.cwsent.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: svn commit: r358821 - in head: . contrib/amd libexec/rc/rc.d release tools/build/mk tools/build/options usr.sbin usr.sbin/amd usr.sbin/newsyslog/newsyslog.conf.d To: Ed Maste CC: src-committers , svn-src-all , svn-src-head From: Cy Schubert Message-ID: <542C3168-5D5D-4C99-970E-4A2CC3FEFC87@cschubert.com> X-CMAE-Envelope: MS4wfNVMElQ9vReEUAoCb7sNO+X3tbUrDUI6QDN3sTF6OeIUEhRI6VFi1G3vdAgegy+GuGztHNq41l7XwcHNNOPoZUCZ0ekE03yrHvNseV8VOKTHsOm8To6s KzLMvGIilY/SspmHaONBCYlNTtmIKzOswSRLHHxju/PZcqm61JafYHWAUSzF6z7fRJ2u135PRWUqNDfIaQ0iZX8FfI5HGJYavdVtBbTPqmemyKaEQE8OT9lr J6xKrHYzr3G8MmFeHVJt6OWEutierMClGnZIlzRLtLuM2dX4OgzIi1ql0Mle1FJe X-Rspamd-Queue-Id: 48cJK35Psvz41Pn X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.05 / 15.00]; REPLY(-4.00)[]; NEURAL_SPAM_MEDIUM(0.94)[0.944,0]; NEURAL_HAM_LONG(-1.00)[-0.996,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 15:04:24 -0000 On March 10, 2020 6:42:30 AM PDT, Ed Maste wrote: >> Sorry for being snippy=2E It's a bad day here, client-wise, and it's >spilling >> over here=2E > >No apology necessary, I'm sorry I didn't coordinate more closely with >you on the actual svn commit=2E I had this change in my WIP tree since >November and just got back to it=2E Given the elapsed time since we last >discussed it I ought to have sent a reminder/refreshed the discussion=2E I think a FreeBSD version bump might still be needed=2E Though ports or ot= her software might simply check for the existence of /usr/sbin/amd instead= =2E=20 I should put a deprecation flag into the port though I haven't thought abo= ut the expiry date yet=2E Probably at 12 EOL=2E --=20 Pardon the typos and autocorrect, small keyboard in use=2E=20 Cy Schubert FreeBSD UNIX: Web: https://www=2EFreeBSD=2Eorg The need of the many outweighs the greed of the few=2E Sent from my Android device with K-9 Mail=2E Please excuse my brevity=2E From owner-svn-src-head@freebsd.org Tue Mar 10 15:10:51 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7152D266AD1; Tue, 10 Mar 2020 15:10:51 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-il1-f196.google.com (mail-il1-f196.google.com [209.85.166.196]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cJST2nBtz4CNn; Tue, 10 Mar 2020 15:10:49 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-il1-f196.google.com with SMTP id o18so12263417ilg.10; Tue, 10 Mar 2020 08:10:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GCfE7gKt7SbZJI/EkDBWy2LN0HOcmLBs5igZUeoK0kA=; b=Lnn6VhIuBlR7ris94PQEcq8CnhdlQWQEHWE2c8ZIeeIWcjBYiWXgcKmCRql67+4Q5y opE5TvG+1IehOpE2umYByIYvNtXTM7+lYOdEFYM9eufxGBpUKD/xYY0gjeBEWHybmT0J mHjBk9bQvbEvu2SddCzYLNg6vXTuMEk5K92vBdF7tZqlECPnDtYZab2/spOL68hlkEfP M+AHoAQ1MI9mKvOXvbwTg/nAotltVoF7J24LFQmQe5mPVr/qoXYvjakbTjcu3eq5VG3M OoGdIhzDUCIo8ZkJgCZS+Oid6t5+FxavQuryjlpXW9WFzdMXX8ifhSvRA5Uk5WifJSu3 1csQ== X-Gm-Message-State: ANhLgQ0bajTHhMz0EF+i4Bi5DdV5bWQdWwed8jXs00EmVBm2qwQ8udP2 PR2E+IjmvTRWzc0bgC1v7ZDuv6014RayYx/XMMI= X-Google-Smtp-Source: ADFU+vtOinwgs2IWfDK4a/kc5b2+IBA1gV20pYoXaOyeTrbDxcnM0GPElMjol/xmQPlYRNvMK1xsGWovYVJUqM7G4Kk= X-Received: by 2002:a92:c110:: with SMTP id p16mr7867642ile.100.1583853047812; Tue, 10 Mar 2020 08:10:47 -0700 (PDT) MIME-Version: 1.0 References: <202003092046.029Kkikt073581@repo.freebsd.org> <202003092054.029Ksosc056842@slippy.cwsent.com> <202003092113.029LDJ5M059883@slippy.cwsent.com> <542C3168-5D5D-4C99-970E-4A2CC3FEFC87@cschubert.com> In-Reply-To: <542C3168-5D5D-4C99-970E-4A2CC3FEFC87@cschubert.com> From: Ed Maste Date: Tue, 10 Mar 2020 11:10:35 -0400 Message-ID: Subject: Re: svn commit: r358821 - in head: . contrib/amd libexec/rc/rc.d release tools/build/mk tools/build/options usr.sbin usr.sbin/amd usr.sbin/newsyslog/newsyslog.conf.d To: Cy Schubert Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48cJST2nBtz4CNn X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of carpeddiem@gmail.com designates 209.85.166.196 as permitted sender) smtp.mailfrom=carpeddiem@gmail.com X-Spamd-Result: default: False [-3.03 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[196.166.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-1.03)[ip: (-0.47), ipnet: 209.85.128.0/17(-2.98), asn: 15169(-1.65), country: US(-0.05)]; FORGED_SENDER(0.30)[emaste@freebsd.org,carpeddiem@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[196.166.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[emaste@freebsd.org,carpeddiem@gmail.com]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 15:10:51 -0000 On Tue, 10 Mar 2020 at 11:04, Cy Schubert wrote: > > I think a FreeBSD version bump might still be needed. Yeah, I did it in r358834. Integers are cheap :) (And even if rebuilding everything isn't, that's going to happen shortly with a Clang update anyway.) From owner-svn-src-head@freebsd.org Tue Mar 10 15:42:01 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DD7C02678FA; Tue, 10 Mar 2020 15:42:01 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48cK8R4f4zz4cBw; Tue, 10 Mar 2020 15:41:59 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 02AFfpoF065654; Tue, 10 Mar 2020 08:41:51 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 02AFfpiY065653; Tue, 10 Mar 2020 08:41:51 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202003101541.02AFfpiY065653@gndrsh.dnsmgr.net> Subject: Re: svn commit: r358821 - in head: . contrib/amd libexec/rc/rc.d release tools/build/mk tools/build/options usr.sbin usr.sbin/amd usr.sbin/newsyslog/newsyslog.conf.d In-Reply-To: <542C3168-5D5D-4C99-970E-4A2CC3FEFC87@cschubert.com> To: Cy Schubert Date: Tue, 10 Mar 2020 08:41:51 -0700 (PDT) CC: Ed Maste , src-committers , svn-src-all , svn-src-head Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 48cK8R4f4zz4cBw X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of freebsd@gndrsh.dnsmgr.net has no SPF policy when checking 69.59.192.140) smtp.mailfrom=freebsd@gndrsh.dnsmgr.net X-Spamd-Result: default: False [-0.44 / 15.00]; ARC_NA(0.00)[]; HAS_REPLYTO(0.00)[rgrimes@freebsd.org]; NEURAL_HAM_MEDIUM(-0.88)[-0.881,0]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-0.49)[-0.492,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[dnsmgr.net]; AUTH_NA(1.00)[]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; REPLYTO_DOM_NEQ_FROM_DOM(0.00)[]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US]; MID_RHS_MATCH_FROM(0.00)[]; IP_SCORE(0.03)[ip: (0.13), ipnet: 69.59.192.0/19(0.07), asn: 13868(0.03), country: US(-0.05)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 15:42:02 -0000 > On March 10, 2020 6:42:30 AM PDT, Ed Maste wrote: > >> Sorry for being snippy. It's a bad day here, client-wise, and it's > >spilling > >> over here. > > > >No apology necessary, I'm sorry I didn't coordinate more closely with > >you on the actual svn commit. I had this change in my WIP tree since > >November and just got back to it. Given the elapsed time since we last > >discussed it I ought to have sent a reminder/refreshed the discussion. > > I think a FreeBSD version bump might still be needed. Though ports or other software might simply check for the existence of /usr/sbin/amd instead. > > I should put a deprecation flag into the port though I haven't thought about the expiry date yet. Probably at 12 EOL. Since 13 is not going to include amd that would be ending both the base and port version at the same time, perhaps keep the port to 13.0 EOL to give a slight window when someone upgrades to 13 and finds out amd is gone they can go to the port for a quick but short lived fixed. Perhaps big giant warnings all over the port too that it is about to EOL? -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-head@freebsd.org Tue Mar 10 15:56:51 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 06A63268253; Tue, 10 Mar 2020 15:56:51 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cKTZ1j3Yz3PRg; Tue, 10 Mar 2020 15:56:50 +0000 (UTC) (envelope-from hselasky@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 2FC2025D2E; Tue, 10 Mar 2020 15:56:50 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02AFuoYA068266; Tue, 10 Mar 2020 15:56:50 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AFunkf068264; Tue, 10 Mar 2020 15:56:49 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202003101556.02AFunkf068264@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Tue, 10 Mar 2020 15:56:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358838 - head/sys/compat/linux X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/compat/linux X-SVN-Commit-Revision: 358838 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 15:56:51 -0000 Author: hselasky Date: Tue Mar 10 15:56:49 2020 New Revision: 358838 URL: https://svnweb.freebsd.org/changeset/base/358838 Log: Add support for the device statistics IOCTL, needed by the coming linux_libusb upgrade. MFC after: 3 days Sponsored by: Mellanox Technologies Modified: head/sys/compat/linux/linux_ioctl.c head/sys/compat/linux/linux_ioctl.h Modified: head/sys/compat/linux/linux_ioctl.c ============================================================================== --- head/sys/compat/linux/linux_ioctl.c Tue Mar 10 15:51:33 2020 (r358837) +++ head/sys/compat/linux/linux_ioctl.c Tue Mar 10 15:56:49 2020 (r358838) @@ -3488,6 +3488,9 @@ linux_ioctl_fbsd_usb(struct thread *td, struct linux_i case FBSD_LUSB_GET_POWER_USAGE: args->cmd = USB_GET_POWER_USAGE; break; + case FBSD_LUSB_DEVICESTATS: + args->cmd = USB_DEVICESTATS; + break; default: error = ENOIOCTL; } Modified: head/sys/compat/linux/linux_ioctl.h ============================================================================== --- head/sys/compat/linux/linux_ioctl.h Tue Mar 10 15:51:33 2020 (r358837) +++ head/sys/compat/linux/linux_ioctl.h Tue Mar 10 15:56:49 2020 (r358838) @@ -743,9 +743,10 @@ #define FBSD_LUSB_FS_OPEN_STREAM 0xffdf #define FBSD_LUSB_GET_DEV_PORT_PATH 0xffde #define FBSD_LUSB_GET_POWER_USAGE 0xffdd +#define FBSD_LUSB_DEVICESTATS 0xffdc #define FBSD_LUSB_MAX 0xffff -#define FBSD_LUSB_MIN 0xffdd +#define FBSD_LUSB_MIN 0xffdc /* * Linux btrfs clone operation From owner-svn-src-head@freebsd.org Tue Mar 10 15:58:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 881C42683FE; Tue, 10 Mar 2020 15:58:14 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cKW8292Zz3wv0; Tue, 10 Mar 2020 15:58:11 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id BhGgjtobrRnrKBhGijperS; Tue, 10 Mar 2020 09:58:08 -0600 X-Authority-Analysis: v=2.3 cv=L7FjvNb8 c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=SS2py6AdgQ4A:10 a=iKhvJSA4AAAA:8 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=1j011BbfBSDCQ1h5n3kA:9 a=CjuIK1q_8ugA:10 a=DoawHyg_QpkA:10 a=odh9cflL3HIXMm4fY7Wr:22 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy8 [10.2.2.6]) by spqr.komquats.com (Postfix) with ESMTPS id 023E07DC; Tue, 10 Mar 2020 08:58:05 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id 02AFvkmQ048711; Tue, 10 Mar 2020 08:57:46 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id 02AFvkPH048708; Tue, 10 Mar 2020 08:57:46 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <202003101557.02AFvkPH048708@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: rgrimes@freebsd.org cc: Cy Schubert , Ed Maste , src-committers , svn-src-all , svn-src-head Subject: Re: svn commit: r358821 - in head: . contrib/amd libexec/rc/rc.d release tools/build/mk tools/build/options usr.sbin usr.sbin/amd usr.sbin/newsyslog/newsyslog.conf.d In-reply-to: <202003101541.02AFfpiY065653@gndrsh.dnsmgr.net> References: <202003101541.02AFfpiY065653@gndrsh.dnsmgr.net> Comments: In-reply-to "Rodney W. Grimes" message dated "Tue, 10 Mar 2020 08:41:51 -0700." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 10 Mar 2020 08:57:46 -0700 X-CMAE-Envelope: MS4wfKru2PL89uP9VkmvUR5DASQF30EFNHy+TrnRjlZRkK2Un1lfXH9Gu2e8CEdkWdfKXDR7UeI81YzKneh5unqDzXz/HvpopYsPh4TlpyONdkKIM4wNVGgD /SQ9Y/pEPBS/uLzaWrCp255SPILr22eXZAfSQ31ui3SjVEiCopHANoDpS6Wci9vdvzpU50+i+vydI/lubHZGtMuCMAlFj/m8owXo7tQJlGWu/3fyS+rh2rPK uSCWi1B0rC7hBfmhMnanyi7C/PET8C6pw3h9uCvInsRndNURTkbN1rJQOGQvlPI7H68jCfM4VJJnk3pjZt5Hxg== X-Rspamd-Queue-Id: 48cKW8292Zz3wv0 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of cy.schubert@cschubert.com has no SPF policy when checking 64.59.136.138) smtp.mailfrom=cy.schubert@cschubert.com X-Spamd-Result: default: False [-4.16 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; RCPT_COUNT_FIVE(0.00)[6]; REPLYTO_EQ_FROM(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.11]; TO_MATCH_ENVRCPT_SOME(0.00)[]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-2.46)[ip: (-6.44), ipnet: 64.59.128.0/20(-3.24), asn: 6327(-2.53), country: CA(-0.09)]; RCVD_IN_DNSWL_LOW(-0.10)[138.136.59.64.list.dnswl.org : 127.0.5.1] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 15:58:14 -0000 In message <202003101541.02AFfpiY065653@gndrsh.dnsmgr.net>, "Rodney W. Grimes" writes: > > On March 10, 2020 6:42:30 AM PDT, Ed Maste wrote: > > >> Sorry for being snippy. It's a bad day here, client-wise, and it's > > >spilling > > >> over here. > > > > > >No apology necessary, I'm sorry I didn't coordinate more closely with > > >you on the actual svn commit. I had this change in my WIP tree since > > >November and just got back to it. Given the elapsed time since we last > > >discussed it I ought to have sent a reminder/refreshed the discussion. > > > > I think a FreeBSD version bump might still be needed. Though ports or other > software might simply check for the existence of /usr/sbin/amd instead. > > > > I should put a deprecation flag into the port though I haven't thought abou > t the expiry date yet. Probably at 12 EOL. > > Since 13 is not going to include amd that would be ending both the base and p > ort version at the same time, perhaps keep the port to 13.0 EOL to give a sli > ght window when someone upgrades to 13 and finds out amd is gone they can go > to the port for a quick but short lived fixed. > > Perhaps big giant warnings all over the port too that it is about to EOL? Does adding DEPRECATED= without EXPIRATION_DATE= and a comment to add EXPIRATION_DATE for 13 EOL date sound ok? DEPRECATED prints warnings. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-head@freebsd.org Tue Mar 10 15:59:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8AA6A26849E; Tue, 10 Mar 2020 15:59:21 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cKXT2NN5z3ywq; Tue, 10 Mar 2020 15:59:21 +0000 (UTC) (envelope-from hselasky@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 D947525D31; Tue, 10 Mar 2020 15:59:20 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02AFxKZ0068515; Tue, 10 Mar 2020 15:59:20 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AFxKPD068514; Tue, 10 Mar 2020 15:59:20 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202003101559.02AFxKPD068514@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Tue, 10 Mar 2020 15:59:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358841 - head/lib/libusb X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/lib/libusb X-SVN-Commit-Revision: 358841 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 15:59:21 -0000 Author: hselasky Date: Tue Mar 10 15:59:20 2020 New Revision: 358841 URL: https://svnweb.freebsd.org/changeset/base/358841 Log: Fix for building libusb under Linux. MFC after: 3 days Sponsored by: Mellanox Technologies Modified: head/lib/libusb/libusb_global_linux.h Modified: head/lib/libusb/libusb_global_linux.h ============================================================================== --- head/lib/libusb/libusb_global_linux.h Tue Mar 10 15:57:41 2020 (r358840) +++ head/lib/libusb/libusb_global_linux.h Tue Mar 10 15:59:20 2020 (r358841) @@ -77,4 +77,11 @@ } while (0) #endif +#ifndef TAILQ_FOREACH_SAFE +#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = TAILQ_FIRST((head)); \ + (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ + (var) = (tvar)) +#endif + #endif /* _LIBUSB_GLOBAL_LINUX_H_ */ From owner-svn-src-head@freebsd.org Tue Mar 10 16:08:20 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A218D26898F; Tue, 10 Mar 2020 16:08:20 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48cKkp2VH3z47XY; Tue, 10 Mar 2020 16:08:18 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 02AG8DWK065807; Tue, 10 Mar 2020 09:08:13 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 02AG8DEk065806; Tue, 10 Mar 2020 09:08:13 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202003101608.02AG8DEk065806@gndrsh.dnsmgr.net> Subject: Re: svn commit: r358821 - in head: . contrib/amd libexec/rc/rc.d release tools/build/mk tools/build/options usr.sbin usr.sbin/amd usr.sbin/newsyslog/newsyslog.conf.d In-Reply-To: <202003101557.02AFvkPH048708@slippy.cwsent.com> To: Cy Schubert Date: Tue, 10 Mar 2020 09:08:13 -0700 (PDT) CC: rgrimes@freebsd.org, Ed Maste , src-committers , svn-src-all , svn-src-head Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 48cKkp2VH3z47XY X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of freebsd@gndrsh.dnsmgr.net has no SPF policy when checking 69.59.192.140) smtp.mailfrom=freebsd@gndrsh.dnsmgr.net X-Spamd-Result: default: False [-0.45 / 15.00]; ARC_NA(0.00)[]; HAS_REPLYTO(0.00)[rgrimes@freebsd.org]; NEURAL_HAM_MEDIUM(-0.90)[-0.900,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-0.48)[-0.480,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[dnsmgr.net]; AUTH_NA(1.00)[]; RCPT_COUNT_FIVE(0.00)[6]; TO_MATCH_ENVRCPT_SOME(0.00)[]; REPLYTO_DOM_NEQ_FROM_DOM(0.00)[]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US]; MID_RHS_MATCH_FROM(0.00)[]; IP_SCORE(0.03)[ip: (0.13), ipnet: 69.59.192.0/19(0.07), asn: 13868(0.03), country: US(-0.05)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 16:08:20 -0000 > In message <202003101541.02AFfpiY065653@gndrsh.dnsmgr.net>, "Rodney W. > Grimes" > writes: > > > On March 10, 2020 6:42:30 AM PDT, Ed Maste wrote: > > > >> Sorry for being snippy. It's a bad day here, client-wise, and it's > > > >spilling > > > >> over here. > > > > > > > >No apology necessary, I'm sorry I didn't coordinate more closely with > > > >you on the actual svn commit. I had this change in my WIP tree since > > > >November and just got back to it. Given the elapsed time since we last > > > >discussed it I ought to have sent a reminder/refreshed the discussion. > > > > > > I think a FreeBSD version bump might still be needed. Though ports or other > > software might simply check for the existence of /usr/sbin/amd instead. > > > > > > I should put a deprecation flag into the port though I haven't thought abou > > t the expiry date yet. Probably at 12 EOL. > > > > Since 13 is not going to include amd that would be ending both the base and p > > ort version at the same time, perhaps keep the port to 13.0 EOL to give a sli > > ght window when someone upgrades to 13 and finds out amd is gone they can go > > to the port for a quick but short lived fixed. > > > > Perhaps big giant warnings all over the port too that it is about to EOL? > > Does adding DEPRECATED= without EXPIRATION_DATE= and a comment to add > EXPIRATION_DATE for 13 EOL date sound ok? Sounds ok, but I was thinking 13.0 EOL, vs 13 EOL, unless you want to support it for 5 more years?? Or even 13.1 EOL if it is desirable to give them just a wee bit more time. > DEPRECATED prints warnings. Ok -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-head@freebsd.org Tue Mar 10 16:24:58 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 21CEA26944B; Tue, 10 Mar 2020 16:24:58 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cL6162PXz3NDc; Tue, 10 Mar 2020 16:24:57 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-7.local (ralph.baldwin.cx [66.234.199.215]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id E87B71985E; Tue, 10 Mar 2020 16:24:56 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r358789 - head/share/man/man7 To: Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202003082130.028LUuBI026866@repo.freebsd.org> From: John Baldwin Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: Date: Tue, 10 Mar 2020 09:24:56 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <202003082130.028LUuBI026866@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 16:24:58 -0000 On 3/8/20 2:30 PM, Ed Maste wrote: > Author: emaste > Date: Sun Mar 8 21:30:55 2020 > New Revision: 358789 > URL: https://svnweb.freebsd.org/changeset/base/358789 > > Log: > arch.7: remove note about GCC 4.2.1 removal date > > GCC 4.2.1 was removed in r358454. > > Sponsored by: The FreeBSD Foundation Can you update the platforms page on the website as well? -- John Baldwin From owner-svn-src-head@freebsd.org Tue Mar 10 16:50:23 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A222A26A039; Tue, 10 Mar 2020 16:50:23 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cLgK5yC2z410Z; Tue, 10 Mar 2020 16:50:21 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id Bi5BjuEpMRnrKBi5DjpvRp; Tue, 10 Mar 2020 10:50:19 -0600 X-Authority-Analysis: v=2.3 cv=L7FjvNb8 c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=SS2py6AdgQ4A:10 a=iKhvJSA4AAAA:8 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=_IT53soDOL1HBEsq6UcA:9 a=CjuIK1q_8ugA:10 a=-DkilYVVYq0A:10 a=odh9cflL3HIXMm4fY7Wr:22 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy8 [10.2.2.6]) by spqr.komquats.com (Postfix) with ESMTPS id B1DA9970; Tue, 10 Mar 2020 09:50:16 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id 02AGnvgm052006; Tue, 10 Mar 2020 09:49:57 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id 02AGnvtD052003; Tue, 10 Mar 2020 09:49:57 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <202003101649.02AGnvtD052003@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: rgrimes@freebsd.org cc: Cy Schubert , Ed Maste , src-committers , svn-src-all , svn-src-head Subject: Re: svn commit: r358821 - in head: . contrib/amd libexec/rc/rc.d release tools/build/mk tools/build/options usr.sbin usr.sbin/amd usr.sbin/newsyslog/newsyslog.conf.d In-reply-to: <202003101608.02AG8DEk065806@gndrsh.dnsmgr.net> References: <202003101608.02AG8DEk065806@gndrsh.dnsmgr.net> Comments: In-reply-to "Rodney W. Grimes" message dated "Tue, 10 Mar 2020 09:08:13 -0700." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 10 Mar 2020 09:49:57 -0700 X-CMAE-Envelope: MS4wfO0wBQImjv5RWHc+IUh6XJzbk6hc1fcHig7W6enxgr2gM2ecoCNcnvK4cJO4TwqWroVMro2dSuvdRKsDK1+c3kAtORiARz+ZQl+FJpfjkHiCu3SC9oRU xTSM0hZ66UkxU9q3B3HG5EfGTKo9JXVxSi5sQDS9ARecq2BxISPXLOPLmdYdFZQxttYKtya9E9eId1o7rb1lvdC13W32HQKIbzCCMIFILOZRyUh18iv+yu5F 6DRYwhobQrpr1TKGKJyvNtpvnsh7ZjAJZOl+VhM8EzmIjBvWGtdDuL2uuN591IUpNNYmUBRqmsp+IMuuFK1qRQ== X-Rspamd-Queue-Id: 48cLgK5yC2z410Z X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of cy.schubert@cschubert.com has no SPF policy when checking 64.59.136.139) smtp.mailfrom=cy.schubert@cschubert.com X-Spamd-Result: default: False [-4.09 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.11]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; RCPT_COUNT_FIVE(0.00)[6]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-2.39)[ip: (-6.11), ipnet: 64.59.128.0/20(-3.24), asn: 6327(-2.53), country: CA(-0.09)]; RCVD_IN_DNSWL_LOW(-0.10)[139.136.59.64.list.dnswl.org : 127.0.5.1] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 16:50:23 -0000 In message <202003101608.02AG8DEk065806@gndrsh.dnsmgr.net>, "Rodney W. Grimes" writes: > > In message <202003101541.02AFfpiY065653@gndrsh.dnsmgr.net>, "Rodney W. > > Grimes" > > writes: > > > > On March 10, 2020 6:42:30 AM PDT, Ed Maste wrote: > > > > >> Sorry for being snippy. It's a bad day here, client-wise, and it's > > > > >spilling > > > > >> over here. > > > > > > > > > >No apology necessary, I'm sorry I didn't coordinate more closely with > > > > >you on the actual svn commit. I had this change in my WIP tree since > > > > >November and just got back to it. Given the elapsed time since we last > > > > >discussed it I ought to have sent a reminder/refreshed the discussion. > > > > > > > > I think a FreeBSD version bump might still be needed. Though ports or o > ther > > > software might simply check for the existence of /usr/sbin/amd instead. > > > > > > > > I should put a deprecation flag into the port though I haven't thought > abou > > > t the expiry date yet. Probably at 12 EOL. > > > > > > Since 13 is not going to include amd that would be ending both the base a > nd p > > > ort version at the same time, perhaps keep the port to 13.0 EOL to give a > sli > > > ght window when someone upgrades to 13 and finds out amd is gone they can > go > > > to the port for a quick but short lived fixed. > > > > > > Perhaps big giant warnings all over the port too that it is about to EOL? > > > > Does adding DEPRECATED= without EXPIRATION_DATE= and a comment to add > > EXPIRATION_DATE for 13 EOL date sound ok? > > Sounds ok, but I was thinking 13.0 EOL, vs 13 EOL, unless you want > to support it for 5 more years?? Or even 13.1 EOL if it is desirable > to give them just a wee bit more time. Gotcha. 13.0 is better. > > > DEPRECATED prints warnings. > Ok > > > -- > Rod Grimes rgrimes@freebsd.or > g -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-head@freebsd.org Tue Mar 10 16:53:51 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D143226A2A1; Tue, 10 Mar 2020 16:53:51 +0000 (UTC) (envelope-from mr@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cLlL6rxCz48Mn; Tue, 10 Mar 2020 16:53:50 +0000 (UTC) (envelope-from mr@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 8CE2426839; Tue, 10 Mar 2020 16:53:50 +0000 (UTC) (envelope-from mr@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02AGro4i005257; Tue, 10 Mar 2020 16:53:50 GMT (envelope-from mr@FreeBSD.org) Received: (from mr@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AGroUB005254; Tue, 10 Mar 2020 16:53:50 GMT (envelope-from mr@FreeBSD.org) Message-Id: <202003101653.02AGroUB005254@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mr set sender to mr@FreeBSD.org using -f From: Michael Reifenberger Date: Tue, 10 Mar 2020 16:53:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358848 - in head/sys/amd64/vmm: intel io X-SVN-Group: head X-SVN-Commit-Author: mr X-SVN-Commit-Paths: in head/sys/amd64/vmm: intel io X-SVN-Commit-Revision: 358848 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 16:53:51 -0000 Author: mr Date: Tue Mar 10 16:53:49 2020 New Revision: 358848 URL: https://svnweb.freebsd.org/changeset/base/358848 Log: Untangle TPR shadowing and APIC virtualization. This speeds up Windows guests tremendously. The patch does: Add a new tuneable 'hw.vmm.vmx.use_tpr_shadowing' to disable TLP shadowing. Also add 'hw.vmm.vmx.cap.tpr_shadowing' to be able to query if TPR shadowing is used. Detach the initialization of TPR shadowing from the initialization of APIC virtualization. APIC virtualization still needs TPR shadowing, but not vice versa. Any CPU that supports APIC virtualization should also support TPR shadowing. When TPR shadowing is used, the APIC page of each vCPU is written to the VMCS_VIRTUAL_APIC field of the VMCS so that the CPU can write directly to the page without intercept. On vm exit, vlapic_update_ppr() is called to update the PPR. Submitted by: Yamagi Burmeister MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D22942 Modified: head/sys/amd64/vmm/intel/vmx.c head/sys/amd64/vmm/io/vlapic.c head/sys/amd64/vmm/io/vlapic.h Modified: head/sys/amd64/vmm/intel/vmx.c ============================================================================== --- head/sys/amd64/vmm/intel/vmx.c Tue Mar 10 16:36:07 2020 (r358847) +++ head/sys/amd64/vmm/intel/vmx.c Tue Mar 10 16:53:49 2020 (r358848) @@ -175,6 +175,10 @@ static int cap_invpcid; SYSCTL_INT(_hw_vmm_vmx_cap, OID_AUTO, invpcid, CTLFLAG_RD, &cap_invpcid, 0, "Guests are allowed to use INVPCID"); +static int tpr_shadowing; +SYSCTL_INT(_hw_vmm_vmx_cap, OID_AUTO, tpr_shadowing, CTLFLAG_RD, + &tpr_shadowing, 0, "TPR shadowing support"); + static int virtual_interrupt_delivery; SYSCTL_INT(_hw_vmm_vmx_cap, OID_AUTO, virtual_interrupt_delivery, CTLFLAG_RD, &virtual_interrupt_delivery, 0, "APICv virtual interrupt delivery support"); @@ -630,7 +634,7 @@ vmx_restore(void) static int vmx_init(int ipinum) { - int error, use_tpr_shadow; + int error; uint64_t basic, fixed0, fixed1, feature_control; uint32_t tmp, procbased2_vid_bits; @@ -754,6 +758,24 @@ vmx_init(int ipinum) &tmp) == 0); /* + * Check support for TPR shadow. + */ + error = vmx_set_ctlreg(MSR_VMX_PROCBASED_CTLS, + MSR_VMX_TRUE_PROCBASED_CTLS, PROCBASED_USE_TPR_SHADOW, 0, + &tmp); + if (error == 0) { + tpr_shadowing = 1; + TUNABLE_INT_FETCH("hw.vmm.vmx.use_tpr_shadowing", + &tpr_shadowing); + } + + if (tpr_shadowing) { + procbased_ctls |= PROCBASED_USE_TPR_SHADOW; + procbased_ctls &= ~PROCBASED_CR8_LOAD_EXITING; + procbased_ctls &= ~PROCBASED_CR8_STORE_EXITING; + } + + /* * Check support for virtual interrupt delivery. */ procbased2_vid_bits = (PROCBASED2_VIRTUALIZE_APIC_ACCESSES | @@ -761,13 +783,9 @@ vmx_init(int ipinum) PROCBASED2_APIC_REGISTER_VIRTUALIZATION | PROCBASED2_VIRTUAL_INTERRUPT_DELIVERY); - use_tpr_shadow = (vmx_set_ctlreg(MSR_VMX_PROCBASED_CTLS, - MSR_VMX_TRUE_PROCBASED_CTLS, PROCBASED_USE_TPR_SHADOW, 0, - &tmp) == 0); - error = vmx_set_ctlreg(MSR_VMX_PROCBASED_CTLS2, MSR_VMX_PROCBASED_CTLS2, procbased2_vid_bits, 0, &tmp); - if (error == 0 && use_tpr_shadow) { + if (error == 0 && tpr_shadowing) { virtual_interrupt_delivery = 1; TUNABLE_INT_FETCH("hw.vmm.vmx.use_apic_vid", &virtual_interrupt_delivery); @@ -779,13 +797,6 @@ vmx_init(int ipinum) procbased_ctls2 &= ~PROCBASED2_VIRTUALIZE_X2APIC_MODE; /* - * No need to emulate accesses to %CR8 if virtual - * interrupt delivery is enabled. - */ - procbased_ctls &= ~PROCBASED_CR8_LOAD_EXITING; - procbased_ctls &= ~PROCBASED_CR8_STORE_EXITING; - - /* * Check for Posted Interrupts only if Virtual Interrupt * Delivery is enabled. */ @@ -1054,10 +1065,13 @@ vmx_vminit(struct vm *vm, pmap_t pmap) vmx->ctx[i].guest_dr6 = DBREG_DR6_RESERVED1; error += vmwrite(VMCS_GUEST_DR7, DBREG_DR7_RESERVED1); - if (virtual_interrupt_delivery) { - error += vmwrite(VMCS_APIC_ACCESS, APIC_ACCESS_ADDRESS); + if (tpr_shadowing) { error += vmwrite(VMCS_VIRTUAL_APIC, vtophys(&vmx->apic_page[i])); + } + + if (virtual_interrupt_delivery) { + error += vmwrite(VMCS_APIC_ACCESS, APIC_ACCESS_ADDRESS); error += vmwrite(VMCS_EOI_EXIT0, 0); error += vmwrite(VMCS_EOI_EXIT1, 0); error += vmwrite(VMCS_EOI_EXIT2, 0); @@ -2661,6 +2675,12 @@ vmx_exit_process(struct vmx *vmx, int vcpu, struct vm_ SDT_PROBE3(vmm, vmx, exit, mwait, vmx, vcpu, vmexit); vmexit->exitcode = VM_EXITCODE_MWAIT; break; + case EXIT_REASON_TPR: + vlapic = vm_lapic(vmx->vm, vcpu); + vlapic_sync_tpr(vlapic); + vmexit->inst_length = 0; + handled = HANDLED; + break; case EXIT_REASON_VMCALL: case EXIT_REASON_VMCLEAR: case EXIT_REASON_VMLAUNCH: @@ -2947,6 +2967,16 @@ vmx_run(void *arg, int vcpu, register_t rip, pmap_t pm } /* + * If TPR Shadowing is enabled, the TPR Threshold + * must be updated right before entering the guest. + */ + if (tpr_shadowing && !virtual_interrupt_delivery) { + if ((vmx->cap[vcpu].proc_ctls & PROCBASED_USE_TPR_SHADOW) != 0) { + vmcs_write(VMCS_TPR_THRESHOLD, vlapic_get_cr8(vlapic)); + } + } + + /* * VM exits restore the base address but not the * limits of GDTR and IDTR. The VMCS only stores the * base address, so VM exits set the limits to 0xffff. @@ -3634,10 +3664,33 @@ vmx_set_tmr(struct vlapic *vlapic, int vector, bool le } static void -vmx_enable_x2apic_mode(struct vlapic *vlapic) +vmx_enable_x2apic_mode_ts(struct vlapic *vlapic) { struct vmx *vmx; struct vmcs *vmcs; + uint32_t proc_ctls; + int vcpuid; + + vcpuid = vlapic->vcpuid; + vmx = ((struct vlapic_vtx *)vlapic)->vmx; + vmcs = &vmx->vmcs[vcpuid]; + + proc_ctls = vmx->cap[vcpuid].proc_ctls; + proc_ctls &= ~PROCBASED_USE_TPR_SHADOW; + proc_ctls |= PROCBASED_CR8_LOAD_EXITING; + proc_ctls |= PROCBASED_CR8_STORE_EXITING; + vmx->cap[vcpuid].proc_ctls = proc_ctls; + + VMPTRLD(vmcs); + vmcs_write(VMCS_PRI_PROC_BASED_CTLS, proc_ctls); + VMCLEAR(vmcs); +} + +static void +vmx_enable_x2apic_mode_vid(struct vlapic *vlapic) +{ + struct vmx *vmx; + struct vmcs *vmcs; uint32_t proc_ctls2; int vcpuid, error; @@ -3795,12 +3848,16 @@ vmx_vlapic_init(void *arg, int vcpuid) vlapic_vtx->pir_desc = &vmx->pir_desc[vcpuid]; vlapic_vtx->vmx = vmx; + if (tpr_shadowing) { + vlapic->ops.enable_x2apic_mode = vmx_enable_x2apic_mode_ts; + } + if (virtual_interrupt_delivery) { vlapic->ops.set_intr_ready = vmx_set_intr_ready; vlapic->ops.pending_intr = vmx_pending_intr; vlapic->ops.intr_accepted = vmx_intr_accepted; vlapic->ops.set_tmr = vmx_set_tmr; - vlapic->ops.enable_x2apic_mode = vmx_enable_x2apic_mode; + vlapic->ops.enable_x2apic_mode = vmx_enable_x2apic_mode_vid; } if (posted_interrupts) Modified: head/sys/amd64/vmm/io/vlapic.c ============================================================================== --- head/sys/amd64/vmm/io/vlapic.c Tue Mar 10 16:36:07 2020 (r358847) +++ head/sys/amd64/vmm/io/vlapic.c Tue Mar 10 16:53:49 2020 (r358848) @@ -555,6 +555,12 @@ vlapic_update_ppr(struct vlapic *vlapic) VLAPIC_CTR1(vlapic, "vlapic_update_ppr 0x%02x", ppr); } +void +vlapic_sync_tpr(struct vlapic *vlapic) +{ + vlapic_update_ppr(vlapic); +} + static VMM_STAT(VLAPIC_GRATUITOUS_EOI, "EOI without any in-service interrupt"); static void @@ -1079,6 +1085,8 @@ vlapic_pending_intr(struct vlapic *vlapic, int *vecptr int idx, i, bitpos, vector; uint32_t *irrptr, val; + vlapic_update_ppr(vlapic); + if (vlapic->ops.pending_intr) return ((*vlapic->ops.pending_intr)(vlapic, vecptr)); @@ -1136,7 +1144,6 @@ vlapic_intr_accepted(struct vlapic *vlapic, int vector panic("isrvec_stk_top overflow %d", stk_top); vlapic->isrvec_stk[stk_top] = vector; - vlapic_update_ppr(vlapic); } void Modified: head/sys/amd64/vmm/io/vlapic.h ============================================================================== --- head/sys/amd64/vmm/io/vlapic.h Tue Mar 10 16:36:07 2020 (r358847) +++ head/sys/amd64/vmm/io/vlapic.h Tue Mar 10 16:53:49 2020 (r358848) @@ -74,6 +74,8 @@ void vlapic_post_intr(struct vlapic *vlapic, int hostc void vlapic_fire_cmci(struct vlapic *vlapic); int vlapic_trigger_lvt(struct vlapic *vlapic, int vector); +void vlapic_sync_tpr(struct vlapic *vlapic); + uint64_t vlapic_get_apicbase(struct vlapic *vlapic); int vlapic_set_apicbase(struct vlapic *vlapic, uint64_t val); void vlapic_set_x2apic_state(struct vm *vm, int vcpuid, enum x2apic_state s); From owner-svn-src-head@freebsd.org Tue Mar 10 18:16:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 246DF26C1D6; Tue, 10 Mar 2020 18:16:46 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cNb205D2z44SJ; Tue, 10 Mar 2020 18:16:46 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-7.local (ralph.baldwin.cx [66.234.199.215]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 77B891A559; Tue, 10 Mar 2020 18:16:45 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r358848 - in head/sys/amd64/vmm: intel io To: Michael Reifenberger , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202003101653.02AGroUB005254@repo.freebsd.org> From: John Baldwin Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: <961b3c75-49d9-824f-b3c4-a7df1f6472a4@FreeBSD.org> Date: Tue, 10 Mar 2020 11:16:40 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <202003101653.02AGroUB005254@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 18:16:46 -0000 On 3/10/20 9:53 AM, Michael Reifenberger wrote: > Author: mr > Date: Tue Mar 10 16:53:49 2020 > New Revision: 358848 > URL: https://svnweb.freebsd.org/changeset/base/358848 > > Log: > Untangle TPR shadowing and APIC virtualization. > This speeds up Windows guests tremendously. > > The patch does: > Add a new tuneable 'hw.vmm.vmx.use_tpr_shadowing' to disable TLP shadowing. > Also add 'hw.vmm.vmx.cap.tpr_shadowing' to be able to query if TPR shadowing is used. > > Detach the initialization of TPR shadowing from the initialization of APIC virtualization. > APIC virtualization still needs TPR shadowing, but not vice versa. > Any CPU that supports APIC virtualization should also support TPR shadowing. > > When TPR shadowing is used, the APIC page of each vCPU is written to the VMCS_VIRTUAL_APIC field of the VMCS > so that the CPU can write directly to the page without intercept. > > On vm exit, vlapic_update_ppr() is called to update the PPR. > > Submitted by: Yamagi Burmeister > MFC after: 2 weeks > Differential Revision: https://reviews.freebsd.org/D22942 Reviewed by: grehan Also, it is still good form to wrap the commit logs to fit in 80 cols. -- John Baldwin From owner-svn-src-head@freebsd.org Tue Mar 10 18:17:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D174426C28F; Tue, 10 Mar 2020 18:17: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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cNbr1SwCz45Wl; Tue, 10 Mar 2020 18:17: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 278E327795; Tue, 10 Mar 2020 18:17:27 +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 02AIHQ1c053127; Tue, 10 Mar 2020 18:17:26 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AIHNGS053110; Tue, 10 Mar 2020 18:17:23 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003101817.02AIHNGS053110@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 10 Mar 2020 18:17:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358851 - in head: . contrib/llvm-project contrib/llvm-project/clang/include/clang contrib/llvm-project/clang/include/clang-c contrib/llvm-project/clang/include/clang/AST contrib/llvm-p... X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in head: . contrib/llvm-project contrib/llvm-project/clang/include/clang contrib/llvm-project/clang/include/clang-c contrib/llvm-project/clang/include/clang/AST contrib/llvm-project/clang/include/clan... X-SVN-Commit-Revision: 358851 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 18:17:30 -0000 Author: dim Date: Tue Mar 10 18:17:17 2020 New Revision: 358851 URL: https://svnweb.freebsd.org/changeset/base/358851 Log: Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 10.0.0-rc3 c290cb61fdc. Release notes for llvm, clang, lld and libc++ 10.0.0 will become available here: https://releases.llvm.org/10.0.0/docs/ReleaseNotes.html https://releases.llvm.org/10.0.0/tools/clang/docs/ReleaseNotes.html https://releases.llvm.org/10.0.0/tools/lld/docs/ReleaseNotes.html https://releases.llvm.org/10.0.0/projects/libcxx/docs/ReleaseNotes.html PR: 244251 MFC after: 6 weeks Added: head/contrib/llvm-project/clang/include/clang-c/ExternC.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/ExternC.h head/contrib/llvm-project/clang/include/clang-c/FatalErrorHandler.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/FatalErrorHandler.h head/contrib/llvm-project/clang/include/clang/AST/ASTConcept.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTConcept.h head/contrib/llvm-project/clang/include/clang/AST/AbstractBasicReader.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/AbstractBasicReader.h head/contrib/llvm-project/clang/include/clang/AST/AbstractBasicWriter.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/AbstractBasicWriter.h head/contrib/llvm-project/clang/include/clang/AST/AbstractTypeReader.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/AbstractTypeReader.h head/contrib/llvm-project/clang/include/clang/AST/AbstractTypeWriter.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/AbstractTypeWriter.h head/contrib/llvm-project/clang/include/clang/AST/CXXRecordDeclDefinitionBits.def - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/CXXRecordDeclDefinitionBits.def head/contrib/llvm-project/clang/include/clang/AST/ExprConcepts.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ExprConcepts.h head/contrib/llvm-project/clang/include/clang/AST/OptionalDiagnostic.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/OptionalDiagnostic.h head/contrib/llvm-project/clang/include/clang/AST/PropertiesBase.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/PropertiesBase.td head/contrib/llvm-project/clang/include/clang/AST/TypeProperties.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/TypeProperties.td head/contrib/llvm-project/clang/include/clang/Analysis/PathDiagnostic.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Analysis/PathDiagnostic.h head/contrib/llvm-project/clang/include/clang/Basic/AArch64SVEACLETypes.def - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/AArch64SVEACLETypes.def head/contrib/llvm-project/clang/include/clang/Basic/ASTNode.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/ASTNode.td head/contrib/llvm-project/clang/include/clang/Basic/AttributeCommonInfo.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/AttributeCommonInfo.h head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsBPF.def - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsBPF.def head/contrib/llvm-project/clang/include/clang/Basic/LangStandard.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/LangStandard.h head/contrib/llvm-project/clang/include/clang/Basic/LangStandards.def - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/LangStandards.def head/contrib/llvm-project/clang/include/clang/Basic/TypeNodes.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/TypeNodes.td head/contrib/llvm-project/clang/include/clang/Basic/arm_mve.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/arm_mve.td head/contrib/llvm-project/clang/include/clang/Basic/arm_mve_defs.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/arm_mve_defs.td head/contrib/llvm-project/clang/include/clang/Driver/OptionUtils.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/OptionUtils.h head/contrib/llvm-project/clang/include/clang/Index/IndexingOptions.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Index/IndexingOptions.h head/contrib/llvm-project/clang/include/clang/Lex/PreprocessorExcludedConditionalDirectiveSkipMapping.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/PreprocessorExcludedConditionalDirectiveSkipMapping.h head/contrib/llvm-project/clang/include/clang/Sema/SemaConcept.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/SemaConcept.h head/contrib/llvm-project/clang/include/clang/Serialization/ASTRecordReader.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Serialization/ASTRecordReader.h head/contrib/llvm-project/clang/include/clang/Serialization/ASTRecordWriter.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Serialization/ASTRecordWriter.h head/contrib/llvm-project/clang/include/clang/Serialization/ModuleFile.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Serialization/ModuleFile.h head/contrib/llvm-project/clang/include/clang/Serialization/TypeBitCodes.def - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Serialization/TypeBitCodes.def head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicCastInfo.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicCastInfo.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h head/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h head/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h head/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h head/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h head/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h head/contrib/llvm-project/clang/include/clang/Tooling/Syntax/Mutations.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Syntax/Mutations.h head/contrib/llvm-project/clang/include/clang/Tooling/Transformer/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Transformer/ head/contrib/llvm-project/clang/lib/AST/ASTConcept.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTConcept.cpp head/contrib/llvm-project/clang/lib/AST/ExprConcepts.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ExprConcepts.cpp head/contrib/llvm-project/clang/lib/AST/Interp/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Interp/ head/contrib/llvm-project/clang/lib/Analysis/PathDiagnostic.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/PathDiagnostic.cpp head/contrib/llvm-project/clang/lib/Basic/LangStandards.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/LangStandards.cpp head/contrib/llvm-project/clang/lib/Basic/Stack.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Stack.cpp head/contrib/llvm-project/clang/lib/DirectoryWatcher/windows/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/DirectoryWatcher/windows/ head/contrib/llvm-project/clang/lib/Driver/OptionUtils.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/OptionUtils.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/AIX.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/AIX.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/AIX.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/AIX.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Flang.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Flang.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Flang.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Flang.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/InterfaceStubs.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/InterfaceStubs.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/InterfaceStubs.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/InterfaceStubs.h head/contrib/llvm-project/clang/lib/Headers/arm_cmse.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/arm_cmse.h head/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/pmmintrin.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/pmmintrin.h head/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/smmintrin.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/smmintrin.h head/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/tmmintrin.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/tmmintrin.h head/contrib/llvm-project/clang/lib/Sema/SemaConcept.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaConcept.cpp head/contrib/llvm-project/clang/lib/Serialization/ModuleFile.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/ModuleFile.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Iterator.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Iterator.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Iterator.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Iterator.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Yaml.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Yaml.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/DynamicType.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/DynamicType.cpp head/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp head/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp head/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp head/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp head/contrib/llvm-project/clang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/ComputeReplacements.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Syntax/ComputeReplacements.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/Mutations.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Syntax/Mutations.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/Synthesis.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Syntax/Synthesis.cpp head/contrib/llvm-project/clang/lib/Tooling/Transformer/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Transformer/ head/contrib/llvm-project/clang/utils/TableGen/ASTTableGen.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ASTTableGen.cpp head/contrib/llvm-project/clang/utils/TableGen/ASTTableGen.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ASTTableGen.h head/contrib/llvm-project/clang/utils/TableGen/ClangASTPropertiesEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangASTPropertiesEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangOpcodesEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangOpcodesEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangTypeNodesEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangTypeNodesEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/MveEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/MveEmitter.cpp head/contrib/llvm-project/compiler-rt/include/fuzzer/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/include/fuzzer/ head/contrib/llvm-project/compiler-rt/include/profile/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/include/profile/ head/contrib/llvm-project/compiler-rt/include/sanitizer/ubsan_interface.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/include/sanitizer/ubsan_interface.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_activation.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_activation.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_allocator.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_debugging.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_debugging.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_descriptions.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_descriptions.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_errors.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_errors.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_fake_stack.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_fake_stack.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_flags.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_flags.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_fuchsia.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_globals.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_globals.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_globals_win.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_globals_win.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_linux.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_linux.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_mac.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_malloc_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_malloc_mac.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_malloc_win.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_malloc_win.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_memory_profile.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_memory_profile.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_poisoning.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_poisoning.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_posix.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_posix.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_preinit.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_preinit.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_premap_shadow.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_premap_shadow.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_report.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_report.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_rtems.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_rtems.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_shadow_setup.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_shadow_setup.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_stack.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_stack.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_stats.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_stats.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_suppressions.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_suppressions.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_thread.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_thread.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_win.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_win.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_win_dll_thunk.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_win_dll_thunk.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_win_dynamic_runtime_thunk.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_win_dynamic_runtime_thunk.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_win_weak_interception.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/asan/asan_win_weak_interception.cpp head/contrib/llvm-project/compiler-rt/lib/builtins/aarch64/fp_mode.c - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/builtins/aarch64/fp_mode.c head/contrib/llvm-project/compiler-rt/lib/builtins/arm/fp_mode.c - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/builtins/arm/fp_mode.c head/contrib/llvm-project/compiler-rt/lib/builtins/fp_mode.c - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/builtins/fp_mode.c head/contrib/llvm-project/compiler-rt/lib/builtins/fp_mode.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/builtins/fp_mode.h head/contrib/llvm-project/compiler-rt/lib/builtins/i386/fp_mode.c - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/builtins/i386/fp_mode.c head/contrib/llvm-project/compiler-rt/lib/builtins/ppc/fixtfti.c - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/builtins/ppc/fixtfti.c head/contrib/llvm-project/compiler-rt/lib/dfsan/dfsan.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/dfsan/dfsan.cpp head/contrib/llvm-project/compiler-rt/lib/dfsan/dfsan_custom.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/dfsan/dfsan_custom.cpp head/contrib/llvm-project/compiler-rt/lib/dfsan/dfsan_interceptors.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/dfsan/dfsan_interceptors.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/stack_trace_compressor.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/gwp_asan/stack_trace_compressor.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/stack_trace_compressor.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/gwp_asan/stack_trace_compressor.h head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_exceptions.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_exceptions.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_setjmp.S - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_setjmp.S head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_type_test.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_type_test.cpp head/contrib/llvm-project/compiler-rt/lib/interception/interception_linux.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/interception/interception_linux.cpp head/contrib/llvm-project/compiler-rt/lib/interception/interception_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/interception/interception_mac.cpp head/contrib/llvm-project/compiler-rt/lib/interception/interception_type_test.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/interception/interception_type_test.cpp head/contrib/llvm-project/compiler-rt/lib/interception/interception_win.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/interception/interception_win.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_allocator.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common_linux.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common_linux.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common_mac.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_linux.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_linux.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_mac.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_malloc_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_malloc_mac.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_preinit.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_preinit.cpp head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_thread.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/lsan/lsan_thread.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/msan/msan.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan_allocator.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/msan/msan_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan_chained_origin_depot.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/msan/msan_chained_origin_depot.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan_linux.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/msan/msan_linux.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan_new_delete.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/msan/msan_new_delete.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan_poisoning.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/msan/msan_poisoning.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan_report.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/msan/msan_report.cpp head/contrib/llvm-project/compiler-rt/lib/msan/msan_thread.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/msan/msan_thread.cpp head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingRuntime.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingRuntime.cpp head/contrib/llvm-project/compiler-rt/lib/safestack/safestack.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/safestack/safestack.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sancov_flags.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sancov_flags.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator_checks.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator_checks.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator_report.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator_report.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_netbsd_compat.inc - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_netbsd_compat.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_nolibc.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_nolibc.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dll_thunk.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dll_thunk.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dynamic_runtime_thunk.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dynamic_runtime_thunk.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_sections.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_sections.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_weak_interception.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_weak_interception.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector1.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector1.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector2.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector2.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_errno.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_errno.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_file.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_file.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_flags.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_flags.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_glibc_version.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_glibc_version.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_libc.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_libc.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_mac_libcdep.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_mac_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_openbsd.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_openbsd.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_persistent_allocator.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_persistent_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_linux.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_linux.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_rtems.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_rtems.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_sparc.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_sparc.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_mac.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_termination.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_termination.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_type_traits.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_type_traits.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win_dynamic_runtime_thunk.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win_dynamic_runtime_thunk.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cpp head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/checksum.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/checksum.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/common.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/common.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/crc32_hw.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/crc32_hw.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/flags.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/flags.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/flags_parser.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/flags_parser.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/fuchsia.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/fuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/linux.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/linux.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/report.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/report.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/string_utils.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/string_utils.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_c.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_c.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_cpp.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_cpp.cpp head/contrib/llvm-project/compiler-rt/lib/stats/stats.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/stats/stats.cpp head/contrib/llvm-project/compiler-rt/lib/stats/stats_client.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/stats/stats_client.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/func_entry_exit.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/func_entry_exit.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/mini_bench_local.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/mini_bench_local.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/mini_bench_shared.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/mini_bench_shared.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/mop.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/mop.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/start_many_threads.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/start_many_threads.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/vts_many_threads_bench.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/vts_many_threads_bench.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/dd/dd_interceptors.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/dd/dd_interceptors.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/dd/dd_rtl.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/dd/dd_rtl.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/go/tsan_go.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/go/tsan_go.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_clock.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_clock.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_debugging.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_debugging.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_external.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_external.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_fd.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_fd.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_flags.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_flags.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_ignoreset.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_ignoreset.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_mach_vm.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_mach_vm.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_java.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_java.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_malloc_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_malloc_mac.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_md5.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_md5.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_mman.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_mman.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_mutex.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_mutex.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_mutexset.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_mutexset.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_new_delete.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_new_delete.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_windows.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_windows.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_preinit.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_preinit.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_report.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_report.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_proc.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_proc.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_stack_trace.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_stack_trace.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_stat.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_stat.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_suppressions.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_suppressions.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_symbolize.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_symbolize.cpp head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_sync.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_sync.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_diag.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_diag.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_diag_standalone.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_diag_standalone.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_flags.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_flags.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_handlers.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_handlers.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_handlers_cxx.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_handlers_cxx.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_init.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_init.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_init_standalone.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_init_standalone.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_init_standalone_preinit.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_init_standalone_preinit.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_monitor.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_monitor.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_signals_standalone.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_signals_standalone.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_type_hash.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_type_hash.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_type_hash_win.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_type_hash_win.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_value.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_value.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_win_dll_thunk.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_win_dll_thunk.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_win_dynamic_runtime_thunk.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_win_dynamic_runtime_thunk.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_win_weak_interception.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_win_weak_interception.cpp head/contrib/llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_AArch64.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_AArch64.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_arm.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_arm.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_basic_flags.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_basic_flags.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_basic_logging.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_basic_logging.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_buffer_queue.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_buffer_queue.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_fdr_flags.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_fdr_flags.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_fdr_logging.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_fdr_logging.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_flags.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_flags.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_init.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_init.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_interface.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_interface.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_log_interface.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_log_interface.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_mips.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_mips.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_mips64.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_mips64.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_powerpc64.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_powerpc64.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_profile_collector.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_profile_collector.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_profiling.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_profiling.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_profiling_flags.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_profiling_flags.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_trampoline_powerpc64.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_trampoline_powerpc64.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_utils.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_utils.cpp head/contrib/llvm-project/compiler-rt/lib/xray/xray_x86_64.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/xray/xray_x86_64.cpp head/contrib/llvm-project/libcxx/include/execution - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/libcxx/include/execution head/contrib/llvm-project/lld/Common/DWARF.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lld/Common/DWARF.cpp head/contrib/llvm-project/lld/ELF/ARMErrataFix.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lld/ELF/ARMErrataFix.cpp head/contrib/llvm-project/lld/ELF/ARMErrataFix.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lld/ELF/ARMErrataFix.h head/contrib/llvm-project/lld/include/lld/Common/DWARF.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lld/include/lld/Common/DWARF.h head/contrib/llvm-project/lldb/docs/man/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/lldb/docs/man/ head/contrib/llvm-project/lldb/include/lldb/API/SBFile.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/include/lldb/API/SBFile.h head/contrib/llvm-project/lldb/include/lldb/Core/IOHandlerCursesGUI.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/include/lldb/Core/IOHandlerCursesGUI.h head/contrib/llvm-project/lldb/include/lldb/Core/PropertiesBase.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/include/lldb/Core/PropertiesBase.td head/contrib/llvm-project/lldb/include/lldb/Host/LZMA.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/include/lldb/Host/LZMA.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupPythonClassWithDict.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionGroupPythonClassWithDict.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CallFrameInfo.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/include/lldb/Symbol/CallFrameInfo.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ClangASTMetadata.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/include/lldb/Symbol/ClangASTMetadata.h head/contrib/llvm-project/lldb/include/lldb/Utility/GDBRemote.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/include/lldb/Utility/GDBRemote.h head/contrib/llvm-project/lldb/source/API/SBFile.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/API/SBFile.cpp head/contrib/llvm-project/lldb/source/Core/CoreProperties.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Core/CoreProperties.td head/contrib/llvm-project/lldb/source/Core/IOHandlerCursesGUI.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Core/IOHandlerCursesGUI.cpp head/contrib/llvm-project/lldb/source/Host/common/LZMA.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Host/common/LZMA.cpp head/contrib/llvm-project/lldb/source/Host/posix/FileSystemPosix.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Host/posix/FileSystemPosix.cpp head/contrib/llvm-project/lldb/source/Interpreter/InterpreterProperties.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Interpreter/InterpreterProperties.td head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupPythonClassWithDict.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Interpreter/OptionGroupPythonClassWithDict.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueFileSpecList.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Interpreter/OptionValueFileSpecList.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-arc/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-arc/ head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.h head/contrib/llvm-project/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDBProperties.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDBProperties.td head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteProperties.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteProperties.td head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Lua/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Lua/ head/contrib/llvm-project/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLogProperties.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLogProperties.td head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td head/contrib/llvm-project/lldb/source/Symbol/ClangASTMetadata.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Symbol/ClangASTMetadata.cpp head/contrib/llvm-project/lldb/source/Target/MemoryRegionInfo.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Target/MemoryRegionInfo.cpp head/contrib/llvm-project/lldb/source/Target/TargetProperties.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Target/TargetProperties.td head/contrib/llvm-project/lldb/source/Utility/GDBRemote.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/source/Utility/GDBRemote.cpp head/contrib/llvm-project/lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp head/contrib/llvm-project/lldb/utils/TableGen/LLDBTableGenUtils.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/utils/TableGen/LLDBTableGenUtils.cpp head/contrib/llvm-project/lldb/utils/TableGen/LLDBTableGenUtils.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/lldb/utils/TableGen/LLDBTableGenUtils.h head/contrib/llvm-project/llvm/include/llvm-c/ExternC.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm-c/ExternC.h head/contrib/llvm-project/llvm/include/llvm/ADT/DirectedGraph.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ADT/DirectedGraph.h head/contrib/llvm-project/llvm/include/llvm/ADT/EnumeratedArray.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ADT/EnumeratedArray.h head/contrib/llvm-project/llvm/include/llvm/ADT/FloatingPointMode.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ADT/FloatingPointMode.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DDG.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Analysis/DDG.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DependenceGraphBuilder.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Analysis/DependenceGraphBuilder.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopCacheAnalysis.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Analysis/LoopCacheAnalysis.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveRangeCalc.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveRangeCalc.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MIRFormatter.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/CodeGen/MIRFormatter.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineLoopUtils.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineLoopUtils.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineSizeOpts.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineSizeOpts.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ModuloSchedule.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/CodeGen/ModuloSchedule.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/NonRelocatableStringpool.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/CodeGen/NonRelocatableStringpool.h head/contrib/llvm-project/llvm/include/llvm/DWARFLinker/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/DWARFLinker/ head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/FileWriter.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/FileWriter.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/GsymReader.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/GsymReader.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/Header.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/Header.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/LineTable.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/LineTable.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/LookupResult.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/LookupResult.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/MachO_arm64.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/MachO_arm64.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/RPC/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/RPC/ head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Speculation.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Speculation.h head/contrib/llvm-project/llvm/include/llvm/Frontend/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Frontend/ head/contrib/llvm-project/llvm/include/llvm/IR/ConstrainedOps.def - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/IR/ConstrainedOps.def head/contrib/llvm-project/llvm/include/llvm/IR/FPEnv.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/IR/FPEnv.h head/contrib/llvm-project/llvm/include/llvm/IR/FixedMetadataKinds.def - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/IR/FixedMetadataKinds.def head/contrib/llvm-project/llvm/include/llvm/MC/MCRegister.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/MC/MCRegister.h head/contrib/llvm-project/llvm/include/llvm/MCA/CodeEmitter.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/MCA/CodeEmitter.h head/contrib/llvm-project/llvm/include/llvm/Object/TapiFile.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Object/TapiFile.h head/contrib/llvm-project/llvm/include/llvm/Object/TapiUniversal.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Object/TapiUniversal.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/yaml2obj.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ObjectYAML/yaml2obj.h head/contrib/llvm-project/llvm/include/llvm/Remarks/BitstreamRemarkContainer.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Remarks/BitstreamRemarkContainer.h head/contrib/llvm-project/llvm/include/llvm/Remarks/BitstreamRemarkParser.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Remarks/BitstreamRemarkParser.h head/contrib/llvm-project/llvm/include/llvm/Remarks/BitstreamRemarkSerializer.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Remarks/BitstreamRemarkSerializer.h head/contrib/llvm-project/llvm/include/llvm/Remarks/RemarkLinker.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Remarks/RemarkLinker.h head/contrib/llvm-project/llvm/include/llvm/Remarks/YAMLRemarkSerializer.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Remarks/YAMLRemarkSerializer.h head/contrib/llvm-project/llvm/include/llvm/Support/Alignment.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Support/Alignment.h head/contrib/llvm-project/llvm/include/llvm/Support/Automaton.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Support/Automaton.h head/contrib/llvm-project/llvm/include/llvm/Support/FileCollector.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Support/FileCollector.h head/contrib/llvm-project/llvm/include/llvm/Support/TypeSize.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Support/TypeSize.h head/contrib/llvm-project/llvm/include/llvm/Support/Windows/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Support/Windows/ head/contrib/llvm-project/llvm/include/llvm/TableGen/Automaton.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/TableGen/Automaton.td head/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/Combine.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/Combine.td head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/Platform.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/Platform.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/Target.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/Target.h head/contrib/llvm-project/llvm/include/llvm/Transforms/CFGuard.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Transforms/CFGuard.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/MergeFunctions.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/MergeFunctions.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/LowerMatrixIntrinsics.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/LowerMatrixIntrinsics.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/CodeMoverUtils.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/CodeMoverUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/Debugify.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/Debugify.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/InjectTLIMappings.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/InjectTLIMappings.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/MisExpect.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/MisExpect.h head/contrib/llvm-project/llvm/lib/Analysis/DDG.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Analysis/DDG.cpp head/contrib/llvm-project/llvm/lib/Analysis/DependenceGraphBuilder.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Analysis/DependenceGraphBuilder.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopCacheAnalysis.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Analysis/LoopCacheAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/VFABIDemangling.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Analysis/VFABIDemangling.cpp head/contrib/llvm-project/llvm/lib/BinaryFormat/XCOFF.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/BinaryFormat/XCOFF.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CFGuardLongjmp.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/CFGuardLongjmp.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRNamerPass.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/MIRNamerPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRVRegNamerUtils.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/MIRVRegNamerUtils.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRVRegNamerUtils.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/MIRVRegNamerUtils.h head/contrib/llvm-project/llvm/lib/CodeGen/MachineLoopUtils.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/MachineLoopUtils.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineSizeOpts.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/MachineSizeOpts.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ModuloSchedule.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/ModuloSchedule.cpp head/contrib/llvm-project/llvm/lib/CodeGen/NonRelocatableStringpool.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/NonRelocatableStringpool.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp head/contrib/llvm-project/llvm/lib/DWARFLinker/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/DWARFLinker/ head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFLocationExpression.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFLocationExpression.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/FileWriter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/FileWriter.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/GsymCreator.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/GsymCreator.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/GsymReader.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/GsymReader.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/Header.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/Header.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/LineTable.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/LineTable.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/LookupResult.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/LookupResult.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Speculation.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Speculation.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/OrcError/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/OrcError/ head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h head/contrib/llvm-project/llvm/lib/Frontend/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Frontend/ head/contrib/llvm-project/llvm/lib/IR/FPEnv.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/IR/FPEnv.cpp head/contrib/llvm-project/llvm/lib/MCA/CodeEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/MCA/CodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Object/TapiFile.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Object/TapiFile.cpp head/contrib/llvm-project/llvm/lib/Object/TapiUniversal.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Object/TapiUniversal.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/COFFEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ObjectYAML/COFFEmitter.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/ELFEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ObjectYAML/ELFEmitter.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/MachOEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ObjectYAML/MachOEmitter.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/MinidumpEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ObjectYAML/MinidumpEmitter.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/WasmEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ObjectYAML/WasmEmitter.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/yaml2obj.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/ObjectYAML/yaml2obj.cpp head/contrib/llvm-project/llvm/lib/Remarks/BitstreamRemarkParser.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Remarks/BitstreamRemarkParser.cpp head/contrib/llvm-project/llvm/lib/Remarks/BitstreamRemarkParser.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Remarks/BitstreamRemarkParser.h head/contrib/llvm-project/llvm/lib/Remarks/BitstreamRemarkSerializer.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Remarks/BitstreamRemarkSerializer.cpp head/contrib/llvm-project/llvm/lib/Remarks/RemarkLinker.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Remarks/RemarkLinker.cpp head/contrib/llvm-project/llvm/lib/Remarks/RemarkSerializer.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Remarks/RemarkSerializer.cpp head/contrib/llvm-project/llvm/lib/Support/ABIBreak.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Support/ABIBreak.cpp head/contrib/llvm-project/llvm/lib/Support/FileCheckImpl.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Support/FileCheckImpl.h head/contrib/llvm-project/llvm/lib/Support/FileCollector.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Support/FileCollector.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64Combine.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64Combine.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64StackOffset.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64StackOffset.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MVETailPredication.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/ARM/MVETailPredication.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MVEVPTBlockPass.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/ARM/MVEVPTBlockPass.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsPfmCounters.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/Mips/MipsPfmCounters.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVCallLowering.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVCallLowering.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVCallLowering.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVCallLowering.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstructionSelector.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVLegalizerInfo.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVLegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVLegalizerInfo.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVLegalizerInfo.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterBankInfo.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterBankInfo.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterBankInfo.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterBankInfo.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterBanks.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterBanks.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedRocket32.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedRocket32.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedRocket64.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedRocket64.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedule.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedule.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZScheduleZ15.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZScheduleZ15.td head/contrib/llvm-project/llvm/lib/Target/VE/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/VE/ head/contrib/llvm-project/llvm/lib/Target/X86/X86AvoidTrailingCall.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/X86/X86AvoidTrailingCall.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleZnver2.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleZnver2.td head/contrib/llvm-project/llvm/lib/TextAPI/MachO/Platform.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/TextAPI/MachO/Platform.cpp head/contrib/llvm-project/llvm/lib/TextAPI/MachO/Target.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/TextAPI/MachO/Target.cpp head/contrib/llvm-project/llvm/lib/Transforms/CFGuard/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/CFGuard/ head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ValueProfileCollector.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ValueProfileCollector.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ValueProfileCollector.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ValueProfileCollector.h head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/CodeMoverUtils.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Utils/CodeMoverUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/Debugify.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Utils/Debugify.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/InjectTLIMappings.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Utils/InjectTLIMappings.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/MisExpect.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Utils/MisExpect.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/CommonOpts.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/tools/llvm-objcopy/CommonOpts.td head/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/ELFConfig.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/ELFConfig.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/ELFConfig.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/ELFConfig.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/InstallNameToolOpts.td - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/tools/llvm-objcopy/InstallNameToolOpts.td head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.h head/contrib/llvm-project/llvm/utils/TableGen/DFAEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/utils/TableGen/DFAEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/DFAEmitter.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/utils/TableGen/DFAEmitter.h head/contrib/llvm-project/llvm/utils/TableGen/GICombinerEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/utils/TableGen/GICombinerEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/GlobalISel/ - copied from r358850, projects/clang1000-import/contrib/llvm-project/llvm/utils/TableGen/GlobalISel/ head/contrib/llvm-project/llvm/utils/TableGen/OptEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/utils/TableGen/OptEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/OptEmitter.h - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/utils/TableGen/OptEmitter.h head/contrib/llvm-project/llvm/utils/TableGen/OptRSTEmitter.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/llvm/utils/TableGen/OptRSTEmitter.cpp head/contrib/llvm-project/openmp/runtime/src/thirdparty/ittnotify/ittnotify_static.cpp - copied unchanged from r358850, projects/clang1000-import/contrib/llvm-project/openmp/runtime/src/thirdparty/ittnotify/ittnotify_static.cpp head/lib/clang/include/llvm/Support/Extension.def - copied unchanged from r358850, projects/clang1000-import/lib/clang/include/llvm/Support/Extension.def head/usr.bin/clang/lldb/lldb.1 - copied unchanged from r358850, projects/clang1000-import/usr.bin/clang/lldb/lldb.1 Deleted: head/contrib/llvm-project/clang/include/clang/AST/TypeNodes.def head/contrib/llvm-project/clang/include/clang/Frontend/LangStandard.h head/contrib/llvm-project/clang/include/clang/Frontend/LangStandards.def head/contrib/llvm-project/clang/include/clang/Index/CodegenNameGenerator.h head/contrib/llvm-project/clang/include/clang/Serialization/Module.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeMap.h head/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/RangeSelector.h head/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/SourceCode.h head/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/Stencil.h head/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/Transformer.h head/contrib/llvm-project/clang/lib/Frontend/LangStandards.cpp head/contrib/llvm-project/clang/lib/Index/CodegenNameGenerator.cpp head/contrib/llvm-project/clang/lib/Serialization/Module.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/DynamicTypeMap.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Extract/SourceExtraction.h head/contrib/llvm-project/clang/lib/Tooling/Refactoring/RangeSelector.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/SourceCode.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Stencil.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Transformer.cpp head/contrib/llvm-project/compiler-rt/lib/asan/asan_activation.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_allocator.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_debugging.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_descriptions.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_errors.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_fake_stack.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_flags.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_fuchsia.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_globals.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_globals_win.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_linux.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_mac.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_malloc_mac.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_malloc_win.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_memory_profile.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_new_delete.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_poisoning.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_posix.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_preinit.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_premap_shadow.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_report.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_rtems.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_rtl.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_shadow_setup.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_stack.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_stats.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_suppressions.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_thread.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_win.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_win_dll_thunk.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_win_dynamic_runtime_thunk.cc head/contrib/llvm-project/compiler-rt/lib/asan/asan_win_weak_interception.cc head/contrib/llvm-project/compiler-rt/lib/dfsan/dfsan.cc head/contrib/llvm-project/compiler-rt/lib/dfsan/dfsan_custom.cc head/contrib/llvm-project/compiler-rt/lib/dfsan/dfsan_interceptors.cc head/contrib/llvm-project/compiler-rt/lib/fuzzer/utils/ head/contrib/llvm-project/compiler-rt/lib/interception/interception_linux.cc head/contrib/llvm-project/compiler-rt/lib/interception/interception_mac.cc head/contrib/llvm-project/compiler-rt/lib/interception/interception_type_test.cc head/contrib/llvm-project/compiler-rt/lib/interception/interception_win.cc head/contrib/llvm-project/compiler-rt/lib/lsan/lsan.cc head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_allocator.cc head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common.cc head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common_linux.cc head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common_mac.cc head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cc head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_linux.cc head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_mac.cc head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_malloc_mac.cc head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_preinit.cc head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_thread.cc head/contrib/llvm-project/compiler-rt/lib/msan/msan.cc head/contrib/llvm-project/compiler-rt/lib/msan/msan_allocator.cc head/contrib/llvm-project/compiler-rt/lib/msan/msan_chained_origin_depot.cc head/contrib/llvm-project/compiler-rt/lib/msan/msan_interceptors.cc head/contrib/llvm-project/compiler-rt/lib/msan/msan_linux.cc head/contrib/llvm-project/compiler-rt/lib/msan/msan_new_delete.cc head/contrib/llvm-project/compiler-rt/lib/msan/msan_poisoning.cc head/contrib/llvm-project/compiler-rt/lib/msan/msan_report.cc head/contrib/llvm-project/compiler-rt/lib/msan/msan_thread.cc head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfData.inc head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingRuntime.cc head/contrib/llvm-project/compiler-rt/lib/safestack/safestack.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sancov_flags.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator_checks.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator_report.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_nolibc.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dll_thunk.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dynamic_runtime_thunk.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_sections.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_weak_interception.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector1.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector2.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_errno.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_file.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_flags.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_libc.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_libignore.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_mac_libcdep.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_openbsd.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_persistent_allocator.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_posix.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_printf.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_linux.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_rtems.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_sparc.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_mac.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_termination.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_type_traits.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win_dynamic_runtime_thunk.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/checksum.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/common.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/crc32_hw.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/flags.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/flags_parser.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/fuchsia.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/linux.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/report.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/secondary.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/string_utils.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_c.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_cpp.cc head/contrib/llvm-project/compiler-rt/lib/stats/stats.cc head/contrib/llvm-project/compiler-rt/lib/stats/stats_client.cc head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/func_entry_exit.cc head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/mini_bench_local.cc head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/mini_bench_shared.cc head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/mop.cc head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/start_many_threads.cc head/contrib/llvm-project/compiler-rt/lib/tsan/benchmarks/vts_many_threads_bench.cc head/contrib/llvm-project/compiler-rt/lib/tsan/dd/dd_interceptors.cc head/contrib/llvm-project/compiler-rt/lib/tsan/dd/dd_rtl.cc head/contrib/llvm-project/compiler-rt/lib/tsan/go/tsan_go.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_clock.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_debugging.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_external.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_fd.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_flags.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_ignoreset.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_java.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_libdispatch.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_malloc_mac.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_md5.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_mman.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_mutex.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_mutexset.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_posix.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_windows.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_preinit.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_report.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_proc.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_stack_trace.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_stat.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_symbolize.cc head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_sync.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_diag.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_diag_standalone.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_flags.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_handlers.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_handlers_cxx.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_init.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_init_standalone.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_init_standalone_preinit.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_monitor.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_signals_standalone.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_type_hash.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_type_hash_win.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_value.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_win_dll_thunk.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_win_dynamic_runtime_thunk.cc head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_win_weak_interception.cc head/contrib/llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_AArch64.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_arm.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_basic_flags.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_basic_logging.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_buffer_queue.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_fdr_flags.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_fdr_logging.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_flags.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_init.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_interface.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_log_interface.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_mips.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_mips64.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_powerpc64.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_profile_collector.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_profiling.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_profiling_flags.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_trampoline_powerpc64.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_utils.cc head/contrib/llvm-project/compiler-rt/lib/xray/xray_x86_64.cc head/contrib/llvm-project/libcxx/src/CMakeLists.txt head/contrib/llvm-project/lld/CMakeLists.txt head/contrib/llvm-project/lld/COFF/CMakeLists.txt head/contrib/llvm-project/lld/Common/CMakeLists.txt head/contrib/llvm-project/lld/ELF/CMakeLists.txt head/contrib/llvm-project/lld/docs/CMakeLists.txt head/contrib/llvm-project/lld/lib/CMakeLists.txt head/contrib/llvm-project/lld/lib/Core/CMakeLists.txt head/contrib/llvm-project/lld/lib/Driver/CMakeLists.txt head/contrib/llvm-project/lld/lib/ReaderWriter/CMakeLists.txt head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/CMakeLists.txt head/contrib/llvm-project/lld/lib/ReaderWriter/YAML/CMakeLists.txt head/contrib/llvm-project/lld/tools/lld/CMakeLists.txt head/contrib/llvm-project/lldb/docs/lldb.1 head/contrib/llvm-project/lldb/include/lldb/Core/STLUtils.h head/contrib/llvm-project/lldb/include/lldb/Core/ThreadSafeSTLMap.h head/contrib/llvm-project/lldb/include/lldb/Core/ThreadSafeSTLVector.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/TypeValidator.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h head/contrib/llvm-project/lldb/include/lldb/Symbol/VerifyDecl.h head/contrib/llvm-project/lldb/include/lldb/Utility/CleanUp.h head/contrib/llvm-project/lldb/include/lldb/Utility/FileCollector.h head/contrib/llvm-project/lldb/include/lldb/Utility/JSON.h head/contrib/llvm-project/lldb/include/lldb/Utility/StreamGDBRemote.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectBugreport.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectBugreport.h head/contrib/llvm-project/lldb/source/DataFormatters/TypeValidator.cpp head/contrib/llvm-project/lldb/source/Host/posix/FileSystem.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueFileSpecLIst.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.h head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.cpp head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h head/contrib/llvm-project/lldb/source/Symbol/ClangExternalASTSourceCommon.cpp head/contrib/llvm-project/lldb/source/Symbol/VerifyDecl.cpp head/contrib/llvm-project/lldb/source/Utility/FileCollector.cpp head/contrib/llvm-project/lldb/source/Utility/JSON.cpp head/contrib/llvm-project/lldb/source/Utility/PPC64LE_ehframe_Registers.h head/contrib/llvm-project/lldb/source/Utility/StreamGDBRemote.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgContext.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgContext.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgSet.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgSet.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValBase.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValBase.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValConsume.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValConsume.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValFile.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValFile.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValListBase.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValListBase.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValListOfN.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValListOfN.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValNumber.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValNumber.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValOptionLong.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValOptionLong.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValOptionShort.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValOptionShort.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValPrintValues.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValPrintValues.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValString.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValString.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValThreadGrp.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdArgValThreadGrp.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdBase.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdBase.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmd.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmd.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdBreak.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdBreak.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdData.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdData.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdEnviro.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdEnviro.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdExec.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdExec.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdFile.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdFile.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdGdbInfo.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdGdbInfo.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdGdbSet.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdGdbSet.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdGdbShow.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdGdbShow.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdGdbThread.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdGdbThread.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdMiscellanous.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdMiscellanous.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdStack.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdStack.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdSupportInfo.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdSupportInfo.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdSupportList.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdSupportList.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdSymbol.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdSymbol.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdTarget.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdTarget.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdThread.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdThread.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdTrace.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdTrace.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdVar.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCmdVar.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCommands.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdCommands.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdData.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdData.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdFactory.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdFactory.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdInterpreter.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdInterpreter.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdInvoker.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdInvoker.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdMgr.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdMgr.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdMgrSetCmdDeleteCallback.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmdMgrSetCmdDeleteCallback.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnBase.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnBase.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnConfig.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBBroadcaster.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBBroadcaster.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBDebugSessionInfo.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBDebugSessionInfo.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBDebugger.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBDebugger.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBProxySBValue.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBProxySBValue.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBUtilSBValue.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLLDBUtilSBValue.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLog.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLog.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLogMediumFile.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnLogMediumFile.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIOutOfBandRecord.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIOutOfBandRecord.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIResultRecord.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIResultRecord.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIValue.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIValue.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIValueConst.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIValueConst.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIValueList.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIValueList.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIValueResult.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIValueResult.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIValueTuple.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnMIValueTuple.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnResources.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnResources.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnStreamStderr.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnStreamStderr.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnStreamStdin.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnStreamStdin.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnStreamStdout.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnStreamStdout.h head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnThreadMgrStd.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MICmnThreadMgrStd.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIDataTypes.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIDriver.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MIDriver.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIDriverBase.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MIDriverBase.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIDriverMain.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MIDriverMgr.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MIDriverMgr.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIExtensions.txt head/contrib/llvm-project/lldb/tools/lldb-mi/MIReadMe.txt head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilDateTimeStd.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilDateTimeStd.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilDebug.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilDebug.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilFileStd.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilFileStd.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilMapIdToVariant.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilMapIdToVariant.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilSingletonBase.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilSingletonHelper.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilString.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilString.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilThreadBaseStd.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilThreadBaseStd.h head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilVariant.cpp head/contrib/llvm-project/lldb/tools/lldb-mi/MIUtilVariant.h head/contrib/llvm-project/lldb/tools/lldb-mi/Platform.h head/contrib/llvm-project/lldb/tools/lldb-mi/module.modulemap head/contrib/llvm-project/llvm/include/llvm/ADT/VariadicFunction.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/RPCSerialization.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/RawByteChannel.h head/contrib/llvm-project/llvm/include/llvm/MC/MCCodePadder.h head/contrib/llvm-project/llvm/include/llvm/Support/JamCRC.h head/contrib/llvm-project/llvm/include/llvm/Support/MutexGuard.h head/contrib/llvm-project/llvm/include/llvm/Support/Options.h head/contrib/llvm-project/llvm/include/llvm/Support/ScalableSize.h head/contrib/llvm-project/llvm/include/llvm/Support/UniqueLock.h head/contrib/llvm-project/llvm/lib/CodeGen/LiveRangeCalc.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/OrcError.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/RPCUtils.cpp head/contrib/llvm-project/llvm/lib/MC/MCCodePadder.cpp head/contrib/llvm-project/llvm/lib/Support/JamCRC.cpp head/contrib/llvm-project/llvm/lib/Support/Mutex.cpp head/contrib/llvm-project/llvm/lib/Support/Options.cpp head/contrib/llvm-project/llvm/lib/Support/Unix/Mutex.inc head/contrib/llvm-project/llvm/lib/Support/Unix/RWMutex.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Mutex.inc head/contrib/llvm-project/llvm/lib/Support/Windows/RWMutex.inc head/contrib/llvm-project/llvm/lib/Support/Windows/WindowsSupport.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedExynosM1.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMCodeGenPrepare.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCLoopPreIncPrep.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZExpandPseudo.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZScheduleArch13.td head/contrib/llvm-project/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.h head/contrib/llvm-project/llvm/tools/opt/Debugify.cpp head/contrib/llvm-project/llvm/tools/opt/Debugify.h head/contrib/llvm-project/openmp/runtime/src/kmp_taskq.cpp head/contrib/llvm-project/openmp/runtime/src/thirdparty/ittnotify/ittnotify_static.c Modified: head/ObsoleteFiles.inc head/UPDATING head/contrib/llvm-project/FREEBSD-Xlist head/contrib/llvm-project/clang/include/clang-c/BuildSystem.h head/contrib/llvm-project/clang/include/clang-c/CXCompilationDatabase.h head/contrib/llvm-project/clang/include/clang-c/CXErrorCode.h head/contrib/llvm-project/clang/include/clang-c/CXString.h head/contrib/llvm-project/clang/include/clang-c/Documentation.h head/contrib/llvm-project/clang/include/clang-c/Index.h head/contrib/llvm-project/clang/include/clang-c/Platform.h head/contrib/llvm-project/clang/include/clang/AST/APValue.h head/contrib/llvm-project/clang/include/clang/AST/ASTConsumer.h head/contrib/llvm-project/clang/include/clang/AST/ASTContext.h head/contrib/llvm-project/clang/include/clang/AST/ASTFwd.h head/contrib/llvm-project/clang/include/clang/AST/ASTImporter.h head/contrib/llvm-project/clang/include/clang/AST/ASTImporterSharedState.h head/contrib/llvm-project/clang/include/clang/AST/ASTLambda.h head/contrib/llvm-project/clang/include/clang/AST/ASTNodeTraverser.h head/contrib/llvm-project/clang/include/clang/AST/ASTStructuralEquivalence.h head/contrib/llvm-project/clang/include/clang/AST/ASTTypeTraits.h head/contrib/llvm-project/clang/include/clang/AST/Attr.h head/contrib/llvm-project/clang/include/clang/AST/CXXInheritance.h head/contrib/llvm-project/clang/include/clang/AST/CharUnits.h head/contrib/llvm-project/clang/include/clang/AST/Comment.h head/contrib/llvm-project/clang/include/clang/AST/CommentCommands.td head/contrib/llvm-project/clang/include/clang/AST/CommentLexer.h head/contrib/llvm-project/clang/include/clang/AST/ComparisonCategories.h head/contrib/llvm-project/clang/include/clang/AST/Decl.h head/contrib/llvm-project/clang/include/clang/AST/DeclBase.h head/contrib/llvm-project/clang/include/clang/AST/DeclCXX.h head/contrib/llvm-project/clang/include/clang/AST/DeclObjC.h head/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h head/contrib/llvm-project/clang/include/clang/AST/DeclarationName.h head/contrib/llvm-project/clang/include/clang/AST/Expr.h head/contrib/llvm-project/clang/include/clang/AST/ExprCXX.h head/contrib/llvm-project/clang/include/clang/AST/ExprObjC.h head/contrib/llvm-project/clang/include/clang/AST/ExternalASTMerger.h head/contrib/llvm-project/clang/include/clang/AST/ExternalASTSource.h head/contrib/llvm-project/clang/include/clang/AST/FormatString.h head/contrib/llvm-project/clang/include/clang/AST/GlobalDecl.h head/contrib/llvm-project/clang/include/clang/AST/JSONNodeDumper.h head/contrib/llvm-project/clang/include/clang/AST/Mangle.h head/contrib/llvm-project/clang/include/clang/AST/NSAPI.h head/contrib/llvm-project/clang/include/clang/AST/OpenMPClause.h head/contrib/llvm-project/clang/include/clang/AST/OperationKinds.def head/contrib/llvm-project/clang/include/clang/AST/PrettyPrinter.h head/contrib/llvm-project/clang/include/clang/AST/RawCommentList.h head/contrib/llvm-project/clang/include/clang/AST/RecursiveASTVisitor.h head/contrib/llvm-project/clang/include/clang/AST/Stmt.h head/contrib/llvm-project/clang/include/clang/AST/StmtDataCollectors.td head/contrib/llvm-project/clang/include/clang/AST/StmtOpenMP.h head/contrib/llvm-project/clang/include/clang/AST/StmtVisitor.h head/contrib/llvm-project/clang/include/clang/AST/TemplateBase.h head/contrib/llvm-project/clang/include/clang/AST/TemplateName.h head/contrib/llvm-project/clang/include/clang/AST/TextNodeDumper.h head/contrib/llvm-project/clang/include/clang/AST/Type.h head/contrib/llvm-project/clang/include/clang/AST/TypeLoc.h head/contrib/llvm-project/clang/include/clang/AST/TypeLocNodes.def head/contrib/llvm-project/clang/include/clang/AST/TypeVisitor.h head/contrib/llvm-project/clang/include/clang/AST/UnresolvedSet.h head/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchFinder.h head/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h head/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h head/contrib/llvm-project/clang/include/clang/ASTMatchers/Dynamic/Parser.h head/contrib/llvm-project/clang/include/clang/Analysis/AnalysisDeclContext.h head/contrib/llvm-project/clang/include/clang/Analysis/CFG.h head/contrib/llvm-project/clang/include/clang/Analysis/CallGraph.h head/contrib/llvm-project/clang/include/clang/Basic/AddressSpaces.h head/contrib/llvm-project/clang/include/clang/Basic/Attr.td head/contrib/llvm-project/clang/include/clang/Basic/AttrDocs.td head/contrib/llvm-project/clang/include/clang/Basic/Builtins.def head/contrib/llvm-project/clang/include/clang/Basic/Builtins.h head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsAArch64.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsAMDGPU.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsARM.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsPPC.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsWebAssembly.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsX86.def head/contrib/llvm-project/clang/include/clang/Basic/BuiltinsX86_64.def head/contrib/llvm-project/clang/include/clang/Basic/CodeGenOptions.def head/contrib/llvm-project/clang/include/clang/Basic/CodeGenOptions.h head/contrib/llvm-project/clang/include/clang/Basic/CommentNodes.td head/contrib/llvm-project/clang/include/clang/Basic/Cuda.h head/contrib/llvm-project/clang/include/clang/Basic/DebugInfoOptions.h head/contrib/llvm-project/clang/include/clang/Basic/DeclNodes.td head/contrib/llvm-project/clang/include/clang/Basic/Diagnostic.h head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticASTKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticCommentKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticCommonKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticDriverKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticFrontendKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticGroups.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticLexKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticOptions.def head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td head/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSerializationKinds.td head/contrib/llvm-project/clang/include/clang/Basic/Features.def head/contrib/llvm-project/clang/include/clang/Basic/FileManager.h head/contrib/llvm-project/clang/include/clang/Basic/IdentifierTable.h head/contrib/llvm-project/clang/include/clang/Basic/LangOptions.def head/contrib/llvm-project/clang/include/clang/Basic/LangOptions.h head/contrib/llvm-project/clang/include/clang/Basic/Linkage.h head/contrib/llvm-project/clang/include/clang/Basic/ObjCRuntime.h head/contrib/llvm-project/clang/include/clang/Basic/OpenCLOptions.h head/contrib/llvm-project/clang/include/clang/Basic/OpenMPKinds.def head/contrib/llvm-project/clang/include/clang/Basic/OpenMPKinds.h head/contrib/llvm-project/clang/include/clang/Basic/OperatorKinds.h head/contrib/llvm-project/clang/include/clang/Basic/PartialDiagnostic.h head/contrib/llvm-project/clang/include/clang/Basic/SanitizerSpecialCaseList.h head/contrib/llvm-project/clang/include/clang/Basic/Sanitizers.h head/contrib/llvm-project/clang/include/clang/Basic/SourceLocation.h head/contrib/llvm-project/clang/include/clang/Basic/SourceManager.h head/contrib/llvm-project/clang/include/clang/Basic/Specifiers.h head/contrib/llvm-project/clang/include/clang/Basic/Stack.h head/contrib/llvm-project/clang/include/clang/Basic/StmtNodes.td head/contrib/llvm-project/clang/include/clang/Basic/SyncScope.h head/contrib/llvm-project/clang/include/clang/Basic/TargetBuiltins.h head/contrib/llvm-project/clang/include/clang/Basic/TargetCXXABI.h head/contrib/llvm-project/clang/include/clang/Basic/TargetInfo.h head/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.def head/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.h head/contrib/llvm-project/clang/include/clang/Basic/X86Target.def head/contrib/llvm-project/clang/include/clang/Basic/arm_fp16.td head/contrib/llvm-project/clang/include/clang/Basic/arm_neon.td head/contrib/llvm-project/clang/include/clang/Basic/arm_neon_incl.td head/contrib/llvm-project/clang/include/clang/CodeGen/CGFunctionInfo.h head/contrib/llvm-project/clang/include/clang/CrossTU/CrossTranslationUnit.h head/contrib/llvm-project/clang/include/clang/DirectoryWatcher/DirectoryWatcher.h head/contrib/llvm-project/clang/include/clang/Driver/Action.h head/contrib/llvm-project/clang/include/clang/Driver/CC1Options.td head/contrib/llvm-project/clang/include/clang/Driver/CLCompatOptions.td head/contrib/llvm-project/clang/include/clang/Driver/Distro.h head/contrib/llvm-project/clang/include/clang/Driver/Driver.h head/contrib/llvm-project/clang/include/clang/Driver/Job.h head/contrib/llvm-project/clang/include/clang/Driver/Options.h head/contrib/llvm-project/clang/include/clang/Driver/Options.td head/contrib/llvm-project/clang/include/clang/Driver/Phases.h head/contrib/llvm-project/clang/include/clang/Driver/SanitizerArgs.h head/contrib/llvm-project/clang/include/clang/Driver/ToolChain.h head/contrib/llvm-project/clang/include/clang/Driver/Types.def head/contrib/llvm-project/clang/include/clang/Driver/Types.h head/contrib/llvm-project/clang/include/clang/Format/Format.h head/contrib/llvm-project/clang/include/clang/Frontend/ASTUnit.h head/contrib/llvm-project/clang/include/clang/Frontend/CompilerInstance.h head/contrib/llvm-project/clang/include/clang/Frontend/CompilerInvocation.h head/contrib/llvm-project/clang/include/clang/Frontend/FrontendActions.h head/contrib/llvm-project/clang/include/clang/Frontend/FrontendOptions.h head/contrib/llvm-project/clang/include/clang/Frontend/MultiplexConsumer.h head/contrib/llvm-project/clang/include/clang/Frontend/PrecompiledPreamble.h head/contrib/llvm-project/clang/include/clang/Frontend/Utils.h head/contrib/llvm-project/clang/include/clang/Index/IndexDataConsumer.h head/contrib/llvm-project/clang/include/clang/Index/IndexingAction.h head/contrib/llvm-project/clang/include/clang/Lex/DependencyDirectivesSourceMinimizer.h head/contrib/llvm-project/clang/include/clang/Lex/DirectoryLookup.h head/contrib/llvm-project/clang/include/clang/Lex/HeaderMap.h head/contrib/llvm-project/clang/include/clang/Lex/HeaderSearch.h head/contrib/llvm-project/clang/include/clang/Lex/HeaderSearchOptions.h head/contrib/llvm-project/clang/include/clang/Lex/Lexer.h head/contrib/llvm-project/clang/include/clang/Lex/MacroArgs.h head/contrib/llvm-project/clang/include/clang/Lex/ModuleLoader.h head/contrib/llvm-project/clang/include/clang/Lex/ModuleMap.h head/contrib/llvm-project/clang/include/clang/Lex/PPCallbacks.h head/contrib/llvm-project/clang/include/clang/Lex/Preprocessor.h head/contrib/llvm-project/clang/include/clang/Lex/PreprocessorOptions.h head/contrib/llvm-project/clang/include/clang/Parse/Parser.h head/contrib/llvm-project/clang/include/clang/Parse/RAIIObjectsForParser.h head/contrib/llvm-project/clang/include/clang/Rewrite/Core/Rewriter.h head/contrib/llvm-project/clang/include/clang/Sema/CodeCompleteConsumer.h head/contrib/llvm-project/clang/include/clang/Sema/DeclSpec.h head/contrib/llvm-project/clang/include/clang/Sema/ExternalSemaSource.h head/contrib/llvm-project/clang/include/clang/Sema/MultiplexExternalSemaSource.h head/contrib/llvm-project/clang/include/clang/Sema/ObjCMethodList.h head/contrib/llvm-project/clang/include/clang/Sema/Overload.h head/contrib/llvm-project/clang/include/clang/Sema/ParsedAttr.h head/contrib/llvm-project/clang/include/clang/Sema/ParsedTemplate.h head/contrib/llvm-project/clang/include/clang/Sema/Scope.h head/contrib/llvm-project/clang/include/clang/Sema/ScopeInfo.h head/contrib/llvm-project/clang/include/clang/Sema/Sema.h head/contrib/llvm-project/clang/include/clang/Sema/SemaInternal.h head/contrib/llvm-project/clang/include/clang/Sema/Template.h head/contrib/llvm-project/clang/include/clang/Sema/TemplateDeduction.h head/contrib/llvm-project/clang/include/clang/Sema/TypoCorrection.h head/contrib/llvm-project/clang/include/clang/Serialization/ASTBitCodes.h head/contrib/llvm-project/clang/include/clang/Serialization/ASTReader.h head/contrib/llvm-project/clang/include/clang/Serialization/ASTWriter.h head/contrib/llvm-project/clang/include/clang/Serialization/ContinuousRangeMap.h head/contrib/llvm-project/clang/include/clang/Serialization/ModuleManager.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/Checker.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h head/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h head/contrib/llvm-project/clang/include/clang/Tooling/ASTDiff/ASTDiff.h head/contrib/llvm-project/clang/include/clang/Tooling/AllTUsExecution.h head/contrib/llvm-project/clang/include/clang/Tooling/ArgumentsAdjusters.h head/contrib/llvm-project/clang/include/clang/Tooling/CompilationDatabase.h head/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h head/contrib/llvm-project/clang/include/clang/Tooling/Execution.h head/contrib/llvm-project/clang/include/clang/Tooling/Inclusions/HeaderIncludes.h head/contrib/llvm-project/clang/include/clang/Tooling/Inclusions/IncludeStyle.h head/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/ASTSelection.h head/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h head/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/RefactoringActionRulesInternal.h head/contrib/llvm-project/clang/include/clang/Tooling/StandaloneExecution.h head/contrib/llvm-project/clang/include/clang/Tooling/Syntax/BuildTree.h head/contrib/llvm-project/clang/include/clang/Tooling/Syntax/Nodes.h head/contrib/llvm-project/clang/include/clang/Tooling/Syntax/Tokens.h head/contrib/llvm-project/clang/include/clang/Tooling/Syntax/Tree.h head/contrib/llvm-project/clang/include/clang/Tooling/Tooling.h head/contrib/llvm-project/clang/include/clang/module.modulemap head/contrib/llvm-project/clang/lib/ARCMigrate/ARCMT.cpp head/contrib/llvm-project/clang/lib/ARCMigrate/FileRemapper.cpp head/contrib/llvm-project/clang/lib/ARCMigrate/ObjCMT.cpp head/contrib/llvm-project/clang/lib/ARCMigrate/PlistReporter.cpp head/contrib/llvm-project/clang/lib/AST/APValue.cpp head/contrib/llvm-project/clang/lib/AST/ASTContext.cpp head/contrib/llvm-project/clang/lib/AST/ASTDiagnostic.cpp head/contrib/llvm-project/clang/lib/AST/ASTImporter.cpp head/contrib/llvm-project/clang/lib/AST/ASTStructuralEquivalence.cpp head/contrib/llvm-project/clang/lib/AST/ASTTypeTraits.cpp head/contrib/llvm-project/clang/lib/AST/CXXInheritance.cpp head/contrib/llvm-project/clang/lib/AST/Comment.cpp head/contrib/llvm-project/clang/lib/AST/CommentLexer.cpp head/contrib/llvm-project/clang/lib/AST/CommentParser.cpp head/contrib/llvm-project/clang/lib/AST/CommentSema.cpp head/contrib/llvm-project/clang/lib/AST/ComparisonCategories.cpp head/contrib/llvm-project/clang/lib/AST/Decl.cpp head/contrib/llvm-project/clang/lib/AST/DeclBase.cpp head/contrib/llvm-project/clang/lib/AST/DeclCXX.cpp head/contrib/llvm-project/clang/lib/AST/DeclObjC.cpp head/contrib/llvm-project/clang/lib/AST/DeclPrinter.cpp head/contrib/llvm-project/clang/lib/AST/DeclTemplate.cpp head/contrib/llvm-project/clang/lib/AST/DeclarationName.cpp head/contrib/llvm-project/clang/lib/AST/Expr.cpp head/contrib/llvm-project/clang/lib/AST/ExprCXX.cpp head/contrib/llvm-project/clang/lib/AST/ExprClassification.cpp head/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp head/contrib/llvm-project/clang/lib/AST/ExternalASTMerger.cpp head/contrib/llvm-project/clang/lib/AST/ExternalASTSource.cpp head/contrib/llvm-project/clang/lib/AST/FormatString.cpp head/contrib/llvm-project/clang/lib/AST/FormatStringParsing.h head/contrib/llvm-project/clang/lib/AST/InheritViz.cpp head/contrib/llvm-project/clang/lib/AST/ItaniumCXXABI.cpp head/contrib/llvm-project/clang/lib/AST/ItaniumMangle.cpp head/contrib/llvm-project/clang/lib/AST/JSONNodeDumper.cpp head/contrib/llvm-project/clang/lib/AST/Mangle.cpp head/contrib/llvm-project/clang/lib/AST/MicrosoftCXXABI.cpp head/contrib/llvm-project/clang/lib/AST/MicrosoftMangle.cpp head/contrib/llvm-project/clang/lib/AST/NSAPI.cpp head/contrib/llvm-project/clang/lib/AST/NestedNameSpecifier.cpp head/contrib/llvm-project/clang/lib/AST/ODRHash.cpp head/contrib/llvm-project/clang/lib/AST/OpenMPClause.cpp head/contrib/llvm-project/clang/lib/AST/PrintfFormatString.cpp head/contrib/llvm-project/clang/lib/AST/QualTypeNames.cpp head/contrib/llvm-project/clang/lib/AST/RawCommentList.cpp head/contrib/llvm-project/clang/lib/AST/RecordLayoutBuilder.cpp head/contrib/llvm-project/clang/lib/AST/Stmt.cpp head/contrib/llvm-project/clang/lib/AST/StmtOpenMP.cpp head/contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp head/contrib/llvm-project/clang/lib/AST/StmtProfile.cpp head/contrib/llvm-project/clang/lib/AST/TemplateBase.cpp head/contrib/llvm-project/clang/lib/AST/TextNodeDumper.cpp head/contrib/llvm-project/clang/lib/AST/Type.cpp head/contrib/llvm-project/clang/lib/AST/TypeLoc.cpp head/contrib/llvm-project/clang/lib/AST/TypePrinter.cpp head/contrib/llvm-project/clang/lib/AST/VTTBuilder.cpp head/contrib/llvm-project/clang/lib/AST/VTableBuilder.cpp head/contrib/llvm-project/clang/lib/ASTMatchers/ASTMatchFinder.cpp head/contrib/llvm-project/clang/lib/ASTMatchers/ASTMatchersInternal.cpp head/contrib/llvm-project/clang/lib/ASTMatchers/Dynamic/Marshallers.h head/contrib/llvm-project/clang/lib/ASTMatchers/Dynamic/Parser.cpp head/contrib/llvm-project/clang/lib/ASTMatchers/Dynamic/Registry.cpp head/contrib/llvm-project/clang/lib/Analysis/AnalysisDeclContext.cpp head/contrib/llvm-project/clang/lib/Analysis/BodyFarm.cpp head/contrib/llvm-project/clang/lib/Analysis/CFG.cpp head/contrib/llvm-project/clang/lib/Analysis/CallGraph.cpp head/contrib/llvm-project/clang/lib/Analysis/CloneDetection.cpp head/contrib/llvm-project/clang/lib/Analysis/CocoaConventions.cpp head/contrib/llvm-project/clang/lib/Analysis/Consumed.cpp head/contrib/llvm-project/clang/lib/Analysis/ProgramPoint.cpp head/contrib/llvm-project/clang/lib/Analysis/ReachableCode.cpp head/contrib/llvm-project/clang/lib/Analysis/RetainSummaryManager.cpp head/contrib/llvm-project/clang/lib/Analysis/ThreadSafety.cpp head/contrib/llvm-project/clang/lib/Analysis/ThreadSafetyCommon.cpp head/contrib/llvm-project/clang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp head/contrib/llvm-project/clang/lib/Basic/Attributes.cpp head/contrib/llvm-project/clang/lib/Basic/Builtins.cpp head/contrib/llvm-project/clang/lib/Basic/Cuda.cpp head/contrib/llvm-project/clang/lib/Basic/Diagnostic.cpp head/contrib/llvm-project/clang/lib/Basic/FileManager.cpp head/contrib/llvm-project/clang/lib/Basic/IdentifierTable.cpp head/contrib/llvm-project/clang/lib/Basic/Module.cpp head/contrib/llvm-project/clang/lib/Basic/OpenMPKinds.cpp head/contrib/llvm-project/clang/lib/Basic/SanitizerBlacklist.cpp head/contrib/llvm-project/clang/lib/Basic/SanitizerSpecialCaseList.cpp head/contrib/llvm-project/clang/lib/Basic/SourceManager.cpp head/contrib/llvm-project/clang/lib/Basic/TargetInfo.cpp head/contrib/llvm-project/clang/lib/Basic/Targets.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.h head/contrib/llvm-project/clang/lib/Basic/Targets/AMDGPU.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/ARM.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/ARM.h head/contrib/llvm-project/clang/lib/Basic/Targets/BPF.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/BPF.h head/contrib/llvm-project/clang/lib/Basic/Targets/Hexagon.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/Mips.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/NVPTX.h head/contrib/llvm-project/clang/lib/Basic/Targets/OSTargets.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/OSTargets.h head/contrib/llvm-project/clang/lib/Basic/Targets/PPC.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/PPC.h head/contrib/llvm-project/clang/lib/Basic/Targets/RISCV.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/SPIR.h head/contrib/llvm-project/clang/lib/Basic/Targets/Sparc.h head/contrib/llvm-project/clang/lib/Basic/Targets/SystemZ.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/TCE.h head/contrib/llvm-project/clang/lib/Basic/Targets/X86.cpp head/contrib/llvm-project/clang/lib/Basic/Targets/X86.h head/contrib/llvm-project/clang/lib/Basic/TokenKinds.cpp head/contrib/llvm-project/clang/lib/Basic/Version.cpp head/contrib/llvm-project/clang/lib/Basic/XRayLists.cpp head/contrib/llvm-project/clang/lib/CodeGen/BackendUtil.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGAtomic.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGBlocks.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGBuilder.h head/contrib/llvm-project/clang/lib/CodeGen/CGBuiltin.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCUDANV.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCXX.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.h head/contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCall.h head/contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGCleanup.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGDebugInfo.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGDebugInfo.h head/contrib/llvm-project/clang/lib/CodeGen/CGDecl.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGException.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExprAgg.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExprCXX.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExprComplex.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExprConstant.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGLoopInfo.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGLoopInfo.h head/contrib/llvm-project/clang/lib/CodeGen/CGNonTrivialStruct.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGObjC.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGObjCMac.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGObjCRuntime.h head/contrib/llvm-project/clang/lib/CodeGen/CGOpenCLRuntime.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.h head/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h head/contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGVTables.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGValue.h head/contrib/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.h head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.h head/contrib/llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenPGO.h head/contrib/llvm-project/clang/lib/CodeGen/CodeGenTBAA.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp head/contrib/llvm-project/clang/lib/CodeGen/ConstantEmitter.h head/contrib/llvm-project/clang/lib/CodeGen/ConstantInitBuilder.cpp head/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp head/contrib/llvm-project/clang/lib/CodeGen/EHScopeStack.h head/contrib/llvm-project/clang/lib/CodeGen/ItaniumCXXABI.cpp head/contrib/llvm-project/clang/lib/CodeGen/MicrosoftCXXABI.cpp head/contrib/llvm-project/clang/lib/CodeGen/ModuleBuilder.cpp head/contrib/llvm-project/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp head/contrib/llvm-project/clang/lib/CodeGen/SanitizerMetadata.cpp head/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp head/contrib/llvm-project/clang/lib/CrossTU/CrossTranslationUnit.cpp head/contrib/llvm-project/clang/lib/DirectoryWatcher/default/DirectoryWatcher-not-implemented.cpp head/contrib/llvm-project/clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp head/contrib/llvm-project/clang/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp head/contrib/llvm-project/clang/lib/Driver/Action.cpp head/contrib/llvm-project/clang/lib/Driver/Compilation.cpp head/contrib/llvm-project/clang/lib/Driver/Distro.cpp head/contrib/llvm-project/clang/lib/Driver/Driver.cpp head/contrib/llvm-project/clang/lib/Driver/DriverOptions.cpp head/contrib/llvm-project/clang/lib/Driver/Job.cpp head/contrib/llvm-project/clang/lib/Driver/Phases.cpp head/contrib/llvm-project/clang/lib/Driver/SanitizerArgs.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChain.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/AMDGPU.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/AMDGPU.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/AVR.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Ananas.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/AArch64.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/ARM.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/Mips.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/PPC.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/SystemZ.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/SystemZ.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/X86.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/BareMetal.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/CloudABI.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/CrossWindows.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/DragonFly.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Fuchsia.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Fuchsia.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/HIP.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/HIP.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/MSP430.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/MSVC.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/MSVC.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/MinGW.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/MinGW.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Minix.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/Myriad.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/NaCl.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/NetBSD.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/OpenBSD.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/OpenBSD.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/PPCLinux.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/PS4CPU.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/PS4CPU.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/RISCVToolchain.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/RISCVToolchain.h head/contrib/llvm-project/clang/lib/Driver/ToolChains/Solaris.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/WebAssembly.cpp head/contrib/llvm-project/clang/lib/Driver/ToolChains/XCore.cpp head/contrib/llvm-project/clang/lib/Driver/Types.cpp head/contrib/llvm-project/clang/lib/Driver/XRayArgs.cpp head/contrib/llvm-project/clang/lib/Format/BreakableToken.cpp head/contrib/llvm-project/clang/lib/Format/BreakableToken.h head/contrib/llvm-project/clang/lib/Format/ContinuationIndenter.cpp head/contrib/llvm-project/clang/lib/Format/Encoding.h head/contrib/llvm-project/clang/lib/Format/Format.cpp head/contrib/llvm-project/clang/lib/Format/FormatToken.h head/contrib/llvm-project/clang/lib/Format/FormatTokenLexer.cpp head/contrib/llvm-project/clang/lib/Format/FormatTokenLexer.h head/contrib/llvm-project/clang/lib/Format/NamespaceEndCommentsFixer.cpp head/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp head/contrib/llvm-project/clang/lib/Format/TokenAnnotator.h head/contrib/llvm-project/clang/lib/Format/UnwrappedLineFormatter.cpp head/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.cpp head/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.h head/contrib/llvm-project/clang/lib/Format/WhitespaceManager.cpp head/contrib/llvm-project/clang/lib/Frontend/ASTConsumers.cpp head/contrib/llvm-project/clang/lib/Frontend/ASTUnit.cpp head/contrib/llvm-project/clang/lib/Frontend/ChainedIncludesSource.cpp head/contrib/llvm-project/clang/lib/Frontend/CompilerInstance.cpp head/contrib/llvm-project/clang/lib/Frontend/CompilerInvocation.cpp head/contrib/llvm-project/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp head/contrib/llvm-project/clang/lib/Frontend/DependencyFile.cpp head/contrib/llvm-project/clang/lib/Frontend/DependencyGraph.cpp head/contrib/llvm-project/clang/lib/Frontend/FrontendAction.cpp head/contrib/llvm-project/clang/lib/Frontend/FrontendActions.cpp head/contrib/llvm-project/clang/lib/Frontend/FrontendOptions.cpp head/contrib/llvm-project/clang/lib/Frontend/HeaderIncludeGen.cpp head/contrib/llvm-project/clang/lib/Frontend/InitHeaderSearch.cpp head/contrib/llvm-project/clang/lib/Frontend/InitPreprocessor.cpp head/contrib/llvm-project/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp head/contrib/llvm-project/clang/lib/Frontend/ModuleDependencyCollector.cpp head/contrib/llvm-project/clang/lib/Frontend/MultiplexConsumer.cpp head/contrib/llvm-project/clang/lib/Frontend/PrecompiledPreamble.cpp head/contrib/llvm-project/clang/lib/Frontend/PrintPreprocessedOutput.cpp head/contrib/llvm-project/clang/lib/Frontend/Rewrite/FixItRewriter.cpp head/contrib/llvm-project/clang/lib/Frontend/Rewrite/FrontendActions.cpp head/contrib/llvm-project/clang/lib/Frontend/Rewrite/HTMLPrint.cpp head/contrib/llvm-project/clang/lib/Frontend/Rewrite/InclusionRewriter.cpp head/contrib/llvm-project/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp head/contrib/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp head/contrib/llvm-project/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp head/contrib/llvm-project/clang/lib/Frontend/TextDiagnostic.cpp head/contrib/llvm-project/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp head/contrib/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp head/contrib/llvm-project/clang/lib/Headers/__clang_cuda_intrinsics.h head/contrib/llvm-project/clang/lib/Headers/__clang_cuda_runtime_wrapper.h head/contrib/llvm-project/clang/lib/Headers/altivec.h head/contrib/llvm-project/clang/lib/Headers/arm_acle.h head/contrib/llvm-project/clang/lib/Headers/avx512bwintrin.h head/contrib/llvm-project/clang/lib/Headers/avx512fintrin.h head/contrib/llvm-project/clang/lib/Headers/avx512vlbwintrin.h head/contrib/llvm-project/clang/lib/Headers/avx512vlintrin.h head/contrib/llvm-project/clang/lib/Headers/avxintrin.h head/contrib/llvm-project/clang/lib/Headers/bmiintrin.h head/contrib/llvm-project/clang/lib/Headers/cpuid.h head/contrib/llvm-project/clang/lib/Headers/emmintrin.h head/contrib/llvm-project/clang/lib/Headers/ia32intrin.h head/contrib/llvm-project/clang/lib/Headers/immintrin.h head/contrib/llvm-project/clang/lib/Headers/intrin.h head/contrib/llvm-project/clang/lib/Headers/mwaitxintrin.h head/contrib/llvm-project/clang/lib/Headers/opencl-c-base.h head/contrib/llvm-project/clang/lib/Headers/pmmintrin.h head/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/emmintrin.h head/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/mm_malloc.h head/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/mmintrin.h head/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/xmmintrin.h head/contrib/llvm-project/clang/lib/Headers/xmmintrin.h head/contrib/llvm-project/clang/lib/Index/CommentToXML.cpp head/contrib/llvm-project/clang/lib/Index/IndexDecl.cpp head/contrib/llvm-project/clang/lib/Index/IndexSymbol.cpp head/contrib/llvm-project/clang/lib/Index/IndexingAction.cpp head/contrib/llvm-project/clang/lib/Index/IndexingContext.cpp head/contrib/llvm-project/clang/lib/Index/USRGeneration.cpp head/contrib/llvm-project/clang/lib/Lex/DependencyDirectivesSourceMinimizer.cpp head/contrib/llvm-project/clang/lib/Lex/HeaderMap.cpp head/contrib/llvm-project/clang/lib/Lex/HeaderSearch.cpp head/contrib/llvm-project/clang/lib/Lex/Lexer.cpp head/contrib/llvm-project/clang/lib/Lex/LiteralSupport.cpp head/contrib/llvm-project/clang/lib/Lex/MacroArgs.cpp head/contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp head/contrib/llvm-project/clang/lib/Lex/PPDirectives.cpp head/contrib/llvm-project/clang/lib/Lex/PPLexerChange.cpp head/contrib/llvm-project/clang/lib/Lex/PPMacroExpansion.cpp head/contrib/llvm-project/clang/lib/Lex/Pragma.cpp head/contrib/llvm-project/clang/lib/Lex/Preprocessor.cpp head/contrib/llvm-project/clang/lib/Lex/TokenLexer.cpp head/contrib/llvm-project/clang/lib/Lex/UnicodeCharSets.h head/contrib/llvm-project/clang/lib/Parse/ParseAST.cpp head/contrib/llvm-project/clang/lib/Parse/ParseCXXInlineMethods.cpp head/contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp head/contrib/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp head/contrib/llvm-project/clang/lib/Parse/ParseExpr.cpp head/contrib/llvm-project/clang/lib/Parse/ParseExprCXX.cpp head/contrib/llvm-project/clang/lib/Parse/ParseInit.cpp head/contrib/llvm-project/clang/lib/Parse/ParseObjc.cpp head/contrib/llvm-project/clang/lib/Parse/ParseOpenMP.cpp head/contrib/llvm-project/clang/lib/Parse/ParsePragma.cpp head/contrib/llvm-project/clang/lib/Parse/ParseStmt.cpp head/contrib/llvm-project/clang/lib/Parse/ParseStmtAsm.cpp head/contrib/llvm-project/clang/lib/Parse/ParseTemplate.cpp head/contrib/llvm-project/clang/lib/Parse/ParseTentative.cpp head/contrib/llvm-project/clang/lib/Parse/Parser.cpp head/contrib/llvm-project/clang/lib/Rewrite/Rewriter.cpp head/contrib/llvm-project/clang/lib/Sema/AnalysisBasedWarnings.cpp head/contrib/llvm-project/clang/lib/Sema/DeclSpec.cpp head/contrib/llvm-project/clang/lib/Sema/JumpDiagnostics.cpp head/contrib/llvm-project/clang/lib/Sema/MultiplexExternalSemaSource.cpp head/contrib/llvm-project/clang/lib/Sema/OpenCLBuiltins.td head/contrib/llvm-project/clang/lib/Sema/ParsedAttr.cpp head/contrib/llvm-project/clang/lib/Sema/Sema.cpp head/contrib/llvm-project/clang/lib/Sema/SemaAccess.cpp head/contrib/llvm-project/clang/lib/Sema/SemaAttr.cpp head/contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp head/contrib/llvm-project/clang/lib/Sema/SemaCXXScopeSpec.cpp head/contrib/llvm-project/clang/lib/Sema/SemaCast.cpp head/contrib/llvm-project/clang/lib/Sema/SemaChecking.cpp head/contrib/llvm-project/clang/lib/Sema/SemaCodeComplete.cpp head/contrib/llvm-project/clang/lib/Sema/SemaCoroutine.cpp head/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp head/contrib/llvm-project/clang/lib/Sema/SemaDeclAttr.cpp head/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp head/contrib/llvm-project/clang/lib/Sema/SemaDeclObjC.cpp head/contrib/llvm-project/clang/lib/Sema/SemaExceptionSpec.cpp head/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp head/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp head/contrib/llvm-project/clang/lib/Sema/SemaExprMember.cpp head/contrib/llvm-project/clang/lib/Sema/SemaExprObjC.cpp head/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp head/contrib/llvm-project/clang/lib/Sema/SemaLambda.cpp head/contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp head/contrib/llvm-project/clang/lib/Sema/SemaObjCProperty.cpp head/contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp head/contrib/llvm-project/clang/lib/Sema/SemaOverload.cpp head/contrib/llvm-project/clang/lib/Sema/SemaPseudoObject.cpp head/contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp head/contrib/llvm-project/clang/lib/Sema/SemaStmtAsm.cpp head/contrib/llvm-project/clang/lib/Sema/SemaStmtAttr.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp head/contrib/llvm-project/clang/lib/Sema/SemaTemplateVariadic.cpp head/contrib/llvm-project/clang/lib/Sema/SemaType.cpp head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h head/contrib/llvm-project/clang/lib/Sema/TypeLocBuilder.cpp head/contrib/llvm-project/clang/lib/Sema/TypeLocBuilder.h head/contrib/llvm-project/clang/lib/Serialization/ASTCommon.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTReader.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTReaderStmt.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTWriter.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTWriterDecl.cpp head/contrib/llvm-project/clang/lib/Serialization/ASTWriterStmt.cpp head/contrib/llvm-project/clang/lib/Serialization/GlobalModuleIndex.cpp head/contrib/llvm-project/clang/lib/Serialization/ModuleManager.cpp head/contrib/llvm-project/clang/lib/Serialization/PCHContainerOperations.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Taint.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Taint.h head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/BugReporter.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CallEvent.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/Checker.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CommonBugCategories.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/Environment.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/MemRegion.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ProgramState.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/SMTConstraintManager.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/Store.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/WorkList.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/FrontendActions.cpp head/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp head/contrib/llvm-project/clang/lib/Tooling/ASTDiff/ASTDiff.cpp head/contrib/llvm-project/clang/lib/Tooling/AllTUsExecution.cpp head/contrib/llvm-project/clang/lib/Tooling/ArgumentsAdjusters.cpp head/contrib/llvm-project/clang/lib/Tooling/CommonOptionsParser.cpp head/contrib/llvm-project/clang/lib/Tooling/CompilationDatabase.cpp head/contrib/llvm-project/clang/lib/Tooling/Core/Replacement.cpp head/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp head/contrib/llvm-project/clang/lib/Tooling/GuessTargetAndModeCompilationDatabase.cpp head/contrib/llvm-project/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp head/contrib/llvm-project/clang/lib/Tooling/Inclusions/IncludeStyle.cpp head/contrib/llvm-project/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp head/contrib/llvm-project/clang/lib/Tooling/JSONCompilationDatabase.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Extract/Extract.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/RefactoringActions.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Rename/RenamingAction.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Rename/SymbolOccurrences.cpp head/contrib/llvm-project/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp head/contrib/llvm-project/clang/lib/Tooling/RefactoringCallbacks.cpp head/contrib/llvm-project/clang/lib/Tooling/StandaloneExecution.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/BuildTree.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/Nodes.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/Tokens.cpp head/contrib/llvm-project/clang/lib/Tooling/Syntax/Tree.cpp head/contrib/llvm-project/clang/lib/Tooling/Tooling.cpp head/contrib/llvm-project/clang/tools/clang-format/ClangFormat.cpp head/contrib/llvm-project/clang/tools/driver/cc1_main.cpp head/contrib/llvm-project/clang/tools/driver/cc1as_main.cpp head/contrib/llvm-project/clang/tools/driver/driver.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangASTNodesEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangAttrEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangDataCollectorsEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangOptionDocEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/ClangSACheckersEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/NeonEmitter.cpp head/contrib/llvm-project/clang/utils/TableGen/TableGen.cpp head/contrib/llvm-project/clang/utils/TableGen/TableGenBackends.h head/contrib/llvm-project/compiler-rt/include/sanitizer/asan_interface.h head/contrib/llvm-project/compiler-rt/include/sanitizer/dfsan_interface.h head/contrib/llvm-project/compiler-rt/include/sanitizer/netbsd_syscall_hooks.h head/contrib/llvm-project/compiler-rt/include/sanitizer/tsan_interface_atomic.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_allocator.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_descriptions.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_errors.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_fake_stack.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_flags.inc head/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_interface.inc head/contrib/llvm-project/compiler-rt/lib/asan/asan_interface_internal.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_internal.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_scariness_score.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_stack.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_suppressions.h head/contrib/llvm-project/compiler-rt/lib/asan/asan_thread.h head/contrib/llvm-project/compiler-rt/lib/builtins/adddf3.c head/contrib/llvm-project/compiler-rt/lib/builtins/addsf3.c head/contrib/llvm-project/compiler-rt/lib/builtins/addtf3.c head/contrib/llvm-project/compiler-rt/lib/builtins/atomic.c head/contrib/llvm-project/compiler-rt/lib/builtins/clear_cache.c head/contrib/llvm-project/compiler-rt/lib/builtins/cpu_model.c head/contrib/llvm-project/compiler-rt/lib/builtins/divtf3.c head/contrib/llvm-project/compiler-rt/lib/builtins/emutls.c head/contrib/llvm-project/compiler-rt/lib/builtins/extenddftf2.c head/contrib/llvm-project/compiler-rt/lib/builtins/extendsftf2.c head/contrib/llvm-project/compiler-rt/lib/builtins/fixunsxfdi.c head/contrib/llvm-project/compiler-rt/lib/builtins/fixunsxfsi.c head/contrib/llvm-project/compiler-rt/lib/builtins/fixxfdi.c head/contrib/llvm-project/compiler-rt/lib/builtins/fp_add_impl.inc head/contrib/llvm-project/compiler-rt/lib/builtins/fp_lib.h head/contrib/llvm-project/compiler-rt/lib/builtins/fp_trunc_impl.inc head/contrib/llvm-project/compiler-rt/lib/builtins/ppc/fixunstfti.c head/contrib/llvm-project/compiler-rt/lib/builtins/subdf3.c head/contrib/llvm-project/compiler-rt/lib/builtins/subsf3.c head/contrib/llvm-project/compiler-rt/lib/builtins/subtf3.c head/contrib/llvm-project/compiler-rt/lib/builtins/udivmoddi4.c head/contrib/llvm-project/compiler-rt/lib/crt/crtbegin.c head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerBuiltinsMsvc.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerDefs.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerExtFunctions.def head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerFlags.def head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerIO.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerIO.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerIOPosix.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerIOWindows.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerInternal.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerMerge.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerOptions.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerTracePC.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtil.h head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtilDarwin.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp head/contrib/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/definitions.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/guarded_pool_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/guarded_pool_allocator.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/optional/backtrace.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/optional/backtrace_linux_libc.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/optional/backtrace_sanitizer_common.cpp head/contrib/llvm-project/compiler-rt/lib/gwp_asan/options.h head/contrib/llvm-project/compiler-rt/lib/gwp_asan/options.inc head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan.h head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_allocator.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_allocator.h head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_flags.inc head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_interceptors.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_interface_internal.h head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_linux.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_new_delete.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_report.cpp head/contrib/llvm-project/compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S head/contrib/llvm-project/compiler-rt/lib/interception/interception.h head/contrib/llvm-project/compiler-rt/lib/lsan/lsan_common.h head/contrib/llvm-project/compiler-rt/lib/msan/msan.h head/contrib/llvm-project/compiler-rt/lib/msan/msan_blacklist.txt head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfiling.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfiling.h head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingBuffer.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingFile.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingInternal.h head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingMerge.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingMergeFile.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingPlatformFuchsia.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingPort.h head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingUtil.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingUtil.h head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingValue.c head/contrib/llvm-project/compiler-rt/lib/profile/InstrProfilingWriter.c head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator_checks.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_asm.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_atomic_msvc.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_getauxval.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_posix.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_internal.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_syscalls_netbsd.inc head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_vector.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_win_defs.h head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh head/contrib/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt head/contrib/llvm-project/compiler-rt/lib/scudo/scudo_allocator_secondary.h head/contrib/llvm-project/compiler-rt/lib/scudo/scudo_errors.cpp head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/allocator_config.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/atomic_helpers.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/bytemap.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/checksum.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/chunk.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/combined.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/common.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/flags.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/flags_parser.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/internal_defs.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/linux.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/list.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/local_cache.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/mutex.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/platform.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/primary32.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/primary64.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/quarantine.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/release.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/secondary.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/size_class_map.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/stats.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/string_utils.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/tsd.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/tsd_exclusive.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/tsd_shared.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/vector.h head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_c.inc head/contrib/llvm-project/compiler-rt/lib/scudo/standalone/wrappers_c_checks.h head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_dispatch_defs.h head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface.h head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_inl.h head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_java.h head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_mman.h head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform.h head/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_rtl.h head/contrib/llvm-project/compiler-rt/lib/ubsan/ubsan_checks.inc head/contrib/llvm-project/libcxx/CREDITS.TXT head/contrib/llvm-project/libcxx/include/__bit_reference head/contrib/llvm-project/libcxx/include/__config head/contrib/llvm-project/libcxx/include/__debug head/contrib/llvm-project/libcxx/include/__functional_03 head/contrib/llvm-project/libcxx/include/__functional_base head/contrib/llvm-project/libcxx/include/__hash_table head/contrib/llvm-project/libcxx/include/__libcpp_version head/contrib/llvm-project/libcxx/include/__mutex_base head/contrib/llvm-project/libcxx/include/__split_buffer head/contrib/llvm-project/libcxx/include/__string head/contrib/llvm-project/libcxx/include/__threading_support head/contrib/llvm-project/libcxx/include/__tree head/contrib/llvm-project/libcxx/include/__tuple head/contrib/llvm-project/libcxx/include/algorithm head/contrib/llvm-project/libcxx/include/atomic head/contrib/llvm-project/libcxx/include/bit head/contrib/llvm-project/libcxx/include/chrono head/contrib/llvm-project/libcxx/include/cstdlib head/contrib/llvm-project/libcxx/include/ctime head/contrib/llvm-project/libcxx/include/deque head/contrib/llvm-project/libcxx/include/experimental/coroutine head/contrib/llvm-project/libcxx/include/experimental/functional head/contrib/llvm-project/libcxx/include/experimental/iterator head/contrib/llvm-project/libcxx/include/experimental/propagate_const head/contrib/llvm-project/libcxx/include/experimental/type_traits head/contrib/llvm-project/libcxx/include/ext/hash_map head/contrib/llvm-project/libcxx/include/ext/hash_set head/contrib/llvm-project/libcxx/include/filesystem head/contrib/llvm-project/libcxx/include/forward_list head/contrib/llvm-project/libcxx/include/fstream head/contrib/llvm-project/libcxx/include/functional head/contrib/llvm-project/libcxx/include/future head/contrib/llvm-project/libcxx/include/istream head/contrib/llvm-project/libcxx/include/iterator head/contrib/llvm-project/libcxx/include/list head/contrib/llvm-project/libcxx/include/map head/contrib/llvm-project/libcxx/include/math.h head/contrib/llvm-project/libcxx/include/memory head/contrib/llvm-project/libcxx/include/module.modulemap head/contrib/llvm-project/libcxx/include/mutex head/contrib/llvm-project/libcxx/include/new head/contrib/llvm-project/libcxx/include/numeric head/contrib/llvm-project/libcxx/include/ostream head/contrib/llvm-project/libcxx/include/queue head/contrib/llvm-project/libcxx/include/random head/contrib/llvm-project/libcxx/include/regex head/contrib/llvm-project/libcxx/include/set head/contrib/llvm-project/libcxx/include/span head/contrib/llvm-project/libcxx/include/string head/contrib/llvm-project/libcxx/include/string_view head/contrib/llvm-project/libcxx/include/thread head/contrib/llvm-project/libcxx/include/tuple head/contrib/llvm-project/libcxx/include/type_traits head/contrib/llvm-project/libcxx/include/utility head/contrib/llvm-project/libcxx/include/vector head/contrib/llvm-project/libcxx/include/version head/contrib/llvm-project/libcxx/src/algorithm.cpp head/contrib/llvm-project/libcxx/src/chrono.cpp head/contrib/llvm-project/libcxx/src/condition_variable.cpp head/contrib/llvm-project/libcxx/src/debug.cpp head/contrib/llvm-project/libcxx/src/experimental/memory_resource.cpp head/contrib/llvm-project/libcxx/src/filesystem/directory_iterator.cpp head/contrib/llvm-project/libcxx/src/filesystem/int128_builtins.cpp head/contrib/llvm-project/libcxx/src/filesystem/operations.cpp head/contrib/llvm-project/libcxx/src/iostream.cpp head/contrib/llvm-project/libcxx/src/locale.cpp head/contrib/llvm-project/libcxx/src/memory.cpp head/contrib/llvm-project/libcxx/src/mutex.cpp head/contrib/llvm-project/libcxx/src/mutex_destructor.cpp head/contrib/llvm-project/libcxx/src/regex.cpp head/contrib/llvm-project/libcxx/src/shared_mutex.cpp head/contrib/llvm-project/libcxx/src/thread.cpp head/contrib/llvm-project/libcxx/src/utility.cpp head/contrib/llvm-project/libcxx/src/valarray.cpp head/contrib/llvm-project/libunwind/include/__libunwind_config.h head/contrib/llvm-project/libunwind/include/libunwind.h head/contrib/llvm-project/libunwind/src/AddressSpace.hpp head/contrib/llvm-project/libunwind/src/DwarfInstructions.hpp head/contrib/llvm-project/libunwind/src/RWMutex.hpp head/contrib/llvm-project/libunwind/src/Registers.hpp head/contrib/llvm-project/libunwind/src/Unwind-EHABI.cpp head/contrib/llvm-project/libunwind/src/UnwindCursor.hpp head/contrib/llvm-project/libunwind/src/UnwindLevel1-gcc-ext.c head/contrib/llvm-project/libunwind/src/UnwindRegistersRestore.S head/contrib/llvm-project/libunwind/src/UnwindRegistersSave.S head/contrib/llvm-project/libunwind/src/libunwind.cpp head/contrib/llvm-project/lld/COFF/Chunks.h head/contrib/llvm-project/lld/COFF/Config.h head/contrib/llvm-project/lld/COFF/DLL.cpp head/contrib/llvm-project/lld/COFF/DebugTypes.cpp head/contrib/llvm-project/lld/COFF/Driver.cpp head/contrib/llvm-project/lld/COFF/Driver.h head/contrib/llvm-project/lld/COFF/DriverUtils.cpp head/contrib/llvm-project/lld/COFF/ICF.cpp head/contrib/llvm-project/lld/COFF/InputFiles.cpp head/contrib/llvm-project/lld/COFF/InputFiles.h head/contrib/llvm-project/lld/COFF/LTO.cpp head/contrib/llvm-project/lld/COFF/MapFile.cpp head/contrib/llvm-project/lld/COFF/MinGW.cpp head/contrib/llvm-project/lld/COFF/MinGW.h head/contrib/llvm-project/lld/COFF/Options.td head/contrib/llvm-project/lld/COFF/PDB.cpp head/contrib/llvm-project/lld/COFF/PDB.h head/contrib/llvm-project/lld/COFF/SymbolTable.cpp head/contrib/llvm-project/lld/COFF/SymbolTable.h head/contrib/llvm-project/lld/COFF/Symbols.cpp head/contrib/llvm-project/lld/COFF/Symbols.h head/contrib/llvm-project/lld/COFF/Writer.cpp head/contrib/llvm-project/lld/Common/ErrorHandler.cpp head/contrib/llvm-project/lld/Common/Filesystem.cpp head/contrib/llvm-project/lld/Common/Strings.cpp head/contrib/llvm-project/lld/Common/TargetOptionsCommandFlags.cpp head/contrib/llvm-project/lld/ELF/AArch64ErrataFix.cpp head/contrib/llvm-project/lld/ELF/Arch/AArch64.cpp head/contrib/llvm-project/lld/ELF/Arch/AMDGPU.cpp head/contrib/llvm-project/lld/ELF/Arch/ARM.cpp head/contrib/llvm-project/lld/ELF/Arch/AVR.cpp head/contrib/llvm-project/lld/ELF/Arch/Hexagon.cpp head/contrib/llvm-project/lld/ELF/Arch/MSP430.cpp head/contrib/llvm-project/lld/ELF/Arch/Mips.cpp head/contrib/llvm-project/lld/ELF/Arch/MipsArchTree.cpp head/contrib/llvm-project/lld/ELF/Arch/PPC.cpp head/contrib/llvm-project/lld/ELF/Arch/PPC64.cpp head/contrib/llvm-project/lld/ELF/Arch/RISCV.cpp head/contrib/llvm-project/lld/ELF/Arch/SPARCV9.cpp head/contrib/llvm-project/lld/ELF/Arch/X86.cpp head/contrib/llvm-project/lld/ELF/Arch/X86_64.cpp head/contrib/llvm-project/lld/ELF/CallGraphSort.cpp head/contrib/llvm-project/lld/ELF/Config.h head/contrib/llvm-project/lld/ELF/DWARF.cpp head/contrib/llvm-project/lld/ELF/DWARF.h head/contrib/llvm-project/lld/ELF/Driver.cpp head/contrib/llvm-project/lld/ELF/DriverUtils.cpp head/contrib/llvm-project/lld/ELF/EhFrame.cpp head/contrib/llvm-project/lld/ELF/ICF.cpp head/contrib/llvm-project/lld/ELF/InputFiles.cpp head/contrib/llvm-project/lld/ELF/InputFiles.h head/contrib/llvm-project/lld/ELF/InputSection.cpp head/contrib/llvm-project/lld/ELF/InputSection.h head/contrib/llvm-project/lld/ELF/LTO.cpp head/contrib/llvm-project/lld/ELF/LinkerScript.cpp head/contrib/llvm-project/lld/ELF/LinkerScript.h head/contrib/llvm-project/lld/ELF/MapFile.cpp head/contrib/llvm-project/lld/ELF/MarkLive.cpp head/contrib/llvm-project/lld/ELF/Options.td head/contrib/llvm-project/lld/ELF/OutputSections.cpp head/contrib/llvm-project/lld/ELF/OutputSections.h head/contrib/llvm-project/lld/ELF/Relocations.cpp head/contrib/llvm-project/lld/ELF/Relocations.h head/contrib/llvm-project/lld/ELF/ScriptLexer.cpp head/contrib/llvm-project/lld/ELF/ScriptParser.cpp head/contrib/llvm-project/lld/ELF/SymbolTable.cpp head/contrib/llvm-project/lld/ELF/SymbolTable.h head/contrib/llvm-project/lld/ELF/Symbols.cpp head/contrib/llvm-project/lld/ELF/Symbols.h head/contrib/llvm-project/lld/ELF/SyntheticSections.cpp head/contrib/llvm-project/lld/ELF/SyntheticSections.h head/contrib/llvm-project/lld/ELF/Target.cpp head/contrib/llvm-project/lld/ELF/Target.h head/contrib/llvm-project/lld/ELF/Thunks.cpp head/contrib/llvm-project/lld/ELF/Thunks.h head/contrib/llvm-project/lld/ELF/Writer.cpp head/contrib/llvm-project/lld/ELF/Writer.h head/contrib/llvm-project/lld/docs/Driver.rst head/contrib/llvm-project/lld/docs/NewLLD.rst head/contrib/llvm-project/lld/docs/ReleaseNotes.rst head/contrib/llvm-project/lld/docs/WebAssembly.rst head/contrib/llvm-project/lld/docs/conf.py head/contrib/llvm-project/lld/docs/index.rst head/contrib/llvm-project/lld/docs/ld.lld.1 head/contrib/llvm-project/lld/docs/windows_support.rst head/contrib/llvm-project/lld/include/lld/Common/Driver.h head/contrib/llvm-project/lld/include/lld/Common/ErrorHandler.h head/contrib/llvm-project/lld/include/lld/Common/LLVM.h head/contrib/llvm-project/lld/include/lld/Common/Strings.h head/contrib/llvm-project/lld/include/lld/Common/TargetOptionsCommandFlags.h head/contrib/llvm-project/lld/include/lld/Core/Atom.h head/contrib/llvm-project/lld/include/lld/Core/Error.h head/contrib/llvm-project/lld/include/lld/Core/File.h head/contrib/llvm-project/lld/include/lld/Core/Instrumentation.h head/contrib/llvm-project/lld/include/lld/Core/Reference.h head/contrib/llvm-project/lld/include/lld/Core/UndefinedAtom.h head/contrib/llvm-project/lld/include/lld/ReaderWriter/MachOLinkingContext.h head/contrib/llvm-project/lld/lib/Core/Resolver.cpp head/contrib/llvm-project/lld/lib/Core/SymbolTable.cpp head/contrib/llvm-project/lld/lib/Driver/DarwinLdDriver.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/FileArchive.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/DebugInfo.h head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/File.h head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/GOTPass.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/LayoutPass.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/ObjCPass.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/ShimPass.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/MachO/TLVPass.cpp head/contrib/llvm-project/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp head/contrib/llvm-project/lld/tools/lld/lld.cpp head/contrib/llvm-project/lldb/include/lldb/API/LLDB.h head/contrib/llvm-project/lldb/include/lldb/API/SBBreakpoint.h head/contrib/llvm-project/lldb/include/lldb/API/SBBreakpointLocation.h head/contrib/llvm-project/lldb/include/lldb/API/SBBreakpointName.h head/contrib/llvm-project/lldb/include/lldb/API/SBCommandReturnObject.h head/contrib/llvm-project/lldb/include/lldb/API/SBDebugger.h head/contrib/llvm-project/lldb/include/lldb/API/SBDefines.h head/contrib/llvm-project/lldb/include/lldb/API/SBError.h head/contrib/llvm-project/lldb/include/lldb/API/SBInstruction.h head/contrib/llvm-project/lldb/include/lldb/API/SBInstructionList.h head/contrib/llvm-project/lldb/include/lldb/API/SBProcess.h head/contrib/llvm-project/lldb/include/lldb/API/SBReproducer.h head/contrib/llvm-project/lldb/include/lldb/API/SBStream.h head/contrib/llvm-project/lldb/include/lldb/API/SBStructuredData.h head/contrib/llvm-project/lldb/include/lldb/API/SBThread.h head/contrib/llvm-project/lldb/include/lldb/API/SBThreadPlan.h head/contrib/llvm-project/lldb/include/lldb/API/SBValue.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/Breakpoint.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointID.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointList.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointLocation.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointLocationList.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointOptions.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolver.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolverAddress.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolverFileRegex.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolverName.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/BreakpointSite.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/Watchpoint.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/WatchpointList.h head/contrib/llvm-project/lldb/include/lldb/Breakpoint/WatchpointOptions.h head/contrib/llvm-project/lldb/include/lldb/Core/Address.h head/contrib/llvm-project/lldb/include/lldb/Core/AddressRange.h head/contrib/llvm-project/lldb/include/lldb/Core/AddressResolverFileLine.h head/contrib/llvm-project/lldb/include/lldb/Core/AddressResolverName.h head/contrib/llvm-project/lldb/include/lldb/Core/ClangForward.h head/contrib/llvm-project/lldb/include/lldb/Core/Debugger.h head/contrib/llvm-project/lldb/include/lldb/Core/Disassembler.h head/contrib/llvm-project/lldb/include/lldb/Core/FileLineResolver.h head/contrib/llvm-project/lldb/include/lldb/Core/FileSpecList.h head/contrib/llvm-project/lldb/include/lldb/Core/FormatEntity.h head/contrib/llvm-project/lldb/include/lldb/Core/Highlighter.h head/contrib/llvm-project/lldb/include/lldb/Core/IOHandler.h head/contrib/llvm-project/lldb/include/lldb/Core/LoadedModuleInfoList.h head/contrib/llvm-project/lldb/include/lldb/Core/Mangled.h head/contrib/llvm-project/lldb/include/lldb/Core/Module.h head/contrib/llvm-project/lldb/include/lldb/Core/ModuleChild.h head/contrib/llvm-project/lldb/include/lldb/Core/ModuleList.h head/contrib/llvm-project/lldb/include/lldb/Core/ModuleSpec.h head/contrib/llvm-project/lldb/include/lldb/Core/PluginManager.h head/contrib/llvm-project/lldb/include/lldb/Core/SearchFilter.h head/contrib/llvm-project/lldb/include/lldb/Core/Section.h head/contrib/llvm-project/lldb/include/lldb/Core/SourceManager.h head/contrib/llvm-project/lldb/include/lldb/Core/StreamFile.h head/contrib/llvm-project/lldb/include/lldb/Core/StructuredDataImpl.h head/contrib/llvm-project/lldb/include/lldb/Core/ThreadSafeDenseMap.h head/contrib/llvm-project/lldb/include/lldb/Core/Value.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObject.h head/contrib/llvm-project/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h head/contrib/llvm-project/lldb/include/lldb/Core/dwarf.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/DataVisualization.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/FormatCache.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/FormatClasses.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/FormatManager.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/FormattersContainer.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/LanguageCategory.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/StringPrinter.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/TypeCategory.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/TypeCategoryMap.h head/contrib/llvm-project/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h head/contrib/llvm-project/lldb/include/lldb/Expression/DWARFExpression.h head/contrib/llvm-project/lldb/include/lldb/Expression/DiagnosticManager.h head/contrib/llvm-project/lldb/include/lldb/Expression/Expression.h head/contrib/llvm-project/lldb/include/lldb/Expression/ExpressionParser.h head/contrib/llvm-project/lldb/include/lldb/Expression/ExpressionSourceCode.h head/contrib/llvm-project/lldb/include/lldb/Expression/ExpressionVariable.h head/contrib/llvm-project/lldb/include/lldb/Expression/FunctionCaller.h head/contrib/llvm-project/lldb/include/lldb/Expression/IRExecutionUnit.h head/contrib/llvm-project/lldb/include/lldb/Expression/LLVMUserExpression.h head/contrib/llvm-project/lldb/include/lldb/Expression/Materializer.h head/contrib/llvm-project/lldb/include/lldb/Expression/REPL.h head/contrib/llvm-project/lldb/include/lldb/Expression/UserExpression.h head/contrib/llvm-project/lldb/include/lldb/Expression/UtilityFunction.h head/contrib/llvm-project/lldb/include/lldb/Host/Config.h.cmake head/contrib/llvm-project/lldb/include/lldb/Host/Editline.h head/contrib/llvm-project/lldb/include/lldb/Host/File.h head/contrib/llvm-project/lldb/include/lldb/Host/FileCache.h head/contrib/llvm-project/lldb/include/lldb/Host/FileSystem.h head/contrib/llvm-project/lldb/include/lldb/Host/HostInfoBase.h head/contrib/llvm-project/lldb/include/lldb/Host/HostProcess.h head/contrib/llvm-project/lldb/include/lldb/Host/PseudoTerminal.h head/contrib/llvm-project/lldb/include/lldb/Host/Socket.h head/contrib/llvm-project/lldb/include/lldb/Host/SocketAddress.h head/contrib/llvm-project/lldb/include/lldb/Host/Terminal.h head/contrib/llvm-project/lldb/include/lldb/Host/XML.h head/contrib/llvm-project/lldb/include/lldb/Host/common/NativeProcessProtocol.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandAlias.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandCompletions.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandInterpreter.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandObject.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandObjectMultiword.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandObjectRegexCommand.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/CommandReturnObject.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValue.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueArch.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueBoolean.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueEnumeration.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueFileSpec.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueFormatEntity.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueProperties.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueRegex.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/OptionValueUUID.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/Options.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/Property.h head/contrib/llvm-project/lldb/include/lldb/Interpreter/ScriptInterpreter.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Block.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ClangASTContext.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ClangASTImporter.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ClangUtil.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CompileUnit.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CompilerDecl.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CompilerDeclContext.h head/contrib/llvm-project/lldb/include/lldb/Symbol/CompilerType.h head/contrib/llvm-project/lldb/include/lldb/Symbol/DebugMacros.h head/contrib/llvm-project/lldb/include/lldb/Symbol/DeclVendor.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Declaration.h head/contrib/llvm-project/lldb/include/lldb/Symbol/FuncUnwinders.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Function.h head/contrib/llvm-project/lldb/include/lldb/Symbol/LineEntry.h head/contrib/llvm-project/lldb/include/lldb/Symbol/LineTable.h head/contrib/llvm-project/lldb/include/lldb/Symbol/ObjectFile.h head/contrib/llvm-project/lldb/include/lldb/Symbol/PostfixExpression.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Symbol.h head/contrib/llvm-project/lldb/include/lldb/Symbol/SymbolContext.h head/contrib/llvm-project/lldb/include/lldb/Symbol/SymbolFile.h head/contrib/llvm-project/lldb/include/lldb/Symbol/SymbolVendor.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Symtab.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Type.h head/contrib/llvm-project/lldb/include/lldb/Symbol/TypeList.h head/contrib/llvm-project/lldb/include/lldb/Symbol/TypeSystem.h head/contrib/llvm-project/lldb/include/lldb/Symbol/UnwindPlan.h head/contrib/llvm-project/lldb/include/lldb/Symbol/UnwindTable.h head/contrib/llvm-project/lldb/include/lldb/Symbol/Variable.h head/contrib/llvm-project/lldb/include/lldb/Symbol/VariableList.h head/contrib/llvm-project/lldb/include/lldb/Target/ABI.h head/contrib/llvm-project/lldb/include/lldb/Target/DynamicLoader.h head/contrib/llvm-project/lldb/include/lldb/Target/Language.h head/contrib/llvm-project/lldb/include/lldb/Target/MemoryRegionInfo.h head/contrib/llvm-project/lldb/include/lldb/Target/Platform.h head/contrib/llvm-project/lldb/include/lldb/Target/Process.h head/contrib/llvm-project/lldb/include/lldb/Target/Queue.h head/contrib/llvm-project/lldb/include/lldb/Target/RemoteAwarePlatform.h head/contrib/llvm-project/lldb/include/lldb/Target/StackFrame.h head/contrib/llvm-project/lldb/include/lldb/Target/StopInfo.h head/contrib/llvm-project/lldb/include/lldb/Target/Target.h head/contrib/llvm-project/lldb/include/lldb/Target/TargetList.h head/contrib/llvm-project/lldb/include/lldb/Target/Thread.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanPython.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStepOut.h head/contrib/llvm-project/lldb/include/lldb/Target/ThreadPlanStepRange.h head/contrib/llvm-project/lldb/include/lldb/Target/Unwind.h head/contrib/llvm-project/lldb/include/lldb/Utility/AnsiTerminal.h head/contrib/llvm-project/lldb/include/lldb/Utility/ArchSpec.h head/contrib/llvm-project/lldb/include/lldb/Utility/Args.h head/contrib/llvm-project/lldb/include/lldb/Utility/Baton.h head/contrib/llvm-project/lldb/include/lldb/Utility/Broadcaster.h head/contrib/llvm-project/lldb/include/lldb/Utility/CompletionRequest.h head/contrib/llvm-project/lldb/include/lldb/Utility/Connection.h head/contrib/llvm-project/lldb/include/lldb/Utility/ConstString.h head/contrib/llvm-project/lldb/include/lldb/Utility/DataEncoder.h head/contrib/llvm-project/lldb/include/lldb/Utility/DataExtractor.h head/contrib/llvm-project/lldb/include/lldb/Utility/FileSpec.h head/contrib/llvm-project/lldb/include/lldb/Utility/Flags.h head/contrib/llvm-project/lldb/include/lldb/Utility/IOObject.h head/contrib/llvm-project/lldb/include/lldb/Utility/Log.h head/contrib/llvm-project/lldb/include/lldb/Utility/Logging.h head/contrib/llvm-project/lldb/include/lldb/Utility/Predicate.h head/contrib/llvm-project/lldb/include/lldb/Utility/ProcessInfo.h head/contrib/llvm-project/lldb/include/lldb/Utility/RangeMap.h head/contrib/llvm-project/lldb/include/lldb/Utility/RegularExpression.h head/contrib/llvm-project/lldb/include/lldb/Utility/Reproducer.h head/contrib/llvm-project/lldb/include/lldb/Utility/ReproducerInstrumentation.h head/contrib/llvm-project/lldb/include/lldb/Utility/Scalar.h head/contrib/llvm-project/lldb/include/lldb/Utility/Status.h head/contrib/llvm-project/lldb/include/lldb/Utility/Stream.h head/contrib/llvm-project/lldb/include/lldb/Utility/StringExtractor.h head/contrib/llvm-project/lldb/include/lldb/Utility/StringExtractorGDBRemote.h head/contrib/llvm-project/lldb/include/lldb/Utility/StringLexer.h head/contrib/llvm-project/lldb/include/lldb/Utility/StringList.h head/contrib/llvm-project/lldb/include/lldb/Utility/StructuredData.h head/contrib/llvm-project/lldb/include/lldb/Utility/UUID.h head/contrib/llvm-project/lldb/include/lldb/Utility/VMRange.h head/contrib/llvm-project/lldb/include/lldb/lldb-enumerations.h head/contrib/llvm-project/lldb/include/lldb/lldb-forward.h head/contrib/llvm-project/lldb/include/lldb/lldb-private-enumerations.h head/contrib/llvm-project/lldb/include/lldb/lldb-private-interfaces.h head/contrib/llvm-project/lldb/source/API/SBAddress.cpp head/contrib/llvm-project/lldb/source/API/SBBreakpoint.cpp head/contrib/llvm-project/lldb/source/API/SBBreakpointLocation.cpp head/contrib/llvm-project/lldb/source/API/SBBreakpointName.cpp head/contrib/llvm-project/lldb/source/API/SBBreakpointOptionCommon.cpp head/contrib/llvm-project/lldb/source/API/SBCommandInterpreter.cpp head/contrib/llvm-project/lldb/source/API/SBCommandReturnObject.cpp head/contrib/llvm-project/lldb/source/API/SBCompileUnit.cpp head/contrib/llvm-project/lldb/source/API/SBDebugger.cpp head/contrib/llvm-project/lldb/source/API/SBDeclaration.cpp head/contrib/llvm-project/lldb/source/API/SBEvent.cpp head/contrib/llvm-project/lldb/source/API/SBFileSpec.cpp head/contrib/llvm-project/lldb/source/API/SBFrame.cpp head/contrib/llvm-project/lldb/source/API/SBHostOS.cpp head/contrib/llvm-project/lldb/source/API/SBInstruction.cpp head/contrib/llvm-project/lldb/source/API/SBInstructionList.cpp head/contrib/llvm-project/lldb/source/API/SBLineEntry.cpp head/contrib/llvm-project/lldb/source/API/SBModule.cpp head/contrib/llvm-project/lldb/source/API/SBProcess.cpp head/contrib/llvm-project/lldb/source/API/SBReproducer.cpp head/contrib/llvm-project/lldb/source/API/SBReproducerPrivate.h head/contrib/llvm-project/lldb/source/API/SBStream.cpp head/contrib/llvm-project/lldb/source/API/SBStringList.cpp head/contrib/llvm-project/lldb/source/API/SBSymbolContext.cpp head/contrib/llvm-project/lldb/source/API/SBTarget.cpp head/contrib/llvm-project/lldb/source/API/SBThread.cpp head/contrib/llvm-project/lldb/source/API/SBThreadPlan.cpp head/contrib/llvm-project/lldb/source/API/SBType.cpp head/contrib/llvm-project/lldb/source/API/SBTypeCategory.cpp head/contrib/llvm-project/lldb/source/API/SBValue.cpp head/contrib/llvm-project/lldb/source/API/SystemInitializerFull.cpp head/contrib/llvm-project/lldb/source/API/Utils.h head/contrib/llvm-project/lldb/source/Breakpoint/Breakpoint.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointIDList.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointList.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointLocation.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointOptions.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolver.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolverAddress.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolverName.cpp head/contrib/llvm-project/lldb/source/Breakpoint/BreakpointResolverScripted.cpp head/contrib/llvm-project/lldb/source/Breakpoint/Watchpoint.cpp head/contrib/llvm-project/lldb/source/Breakpoint/WatchpointOptions.cpp head/contrib/llvm-project/lldb/source/Commands/CommandCompletions.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectApropos.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectBreakpoint.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectBreakpoint.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectBreakpointCommand.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectBreakpointCommand.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectCommands.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectCommands.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectDisassemble.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectFrame.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectFrame.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectGUI.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectHelp.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectHelp.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectLanguage.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectLanguage.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectLog.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectLog.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectMemory.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectMultiword.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectPlatform.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectPlatform.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectPlugin.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectPlugin.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectProcess.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectRegister.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectReproducer.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectReproducer.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectSettings.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectSettings.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectSource.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectSource.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectStats.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectStats.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectTarget.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectTarget.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectThread.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectType.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectType.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectVersion.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectWatchpoint.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectWatchpoint.h head/contrib/llvm-project/lldb/source/Commands/CommandObjectWatchpointCommand.cpp head/contrib/llvm-project/lldb/source/Commands/CommandObjectWatchpointCommand.h head/contrib/llvm-project/lldb/source/Commands/Options.td head/contrib/llvm-project/lldb/source/Commands/OptionsBase.td head/contrib/llvm-project/lldb/source/Core/Address.cpp head/contrib/llvm-project/lldb/source/Core/AddressRange.cpp head/contrib/llvm-project/lldb/source/Core/AddressResolverFileLine.cpp head/contrib/llvm-project/lldb/source/Core/AddressResolverName.cpp head/contrib/llvm-project/lldb/source/Core/Communication.cpp head/contrib/llvm-project/lldb/source/Core/Debugger.cpp head/contrib/llvm-project/lldb/source/Core/Disassembler.cpp head/contrib/llvm-project/lldb/source/Core/DumpDataExtractor.cpp head/contrib/llvm-project/lldb/source/Core/FileLineResolver.cpp head/contrib/llvm-project/lldb/source/Core/FileSpecList.cpp head/contrib/llvm-project/lldb/source/Core/FormatEntity.cpp head/contrib/llvm-project/lldb/source/Core/Highlighter.cpp head/contrib/llvm-project/lldb/source/Core/IOHandler.cpp head/contrib/llvm-project/lldb/source/Core/Mangled.cpp head/contrib/llvm-project/lldb/source/Core/Module.cpp head/contrib/llvm-project/lldb/source/Core/ModuleList.cpp head/contrib/llvm-project/lldb/source/Core/PluginManager.cpp head/contrib/llvm-project/lldb/source/Core/SearchFilter.cpp head/contrib/llvm-project/lldb/source/Core/Section.cpp head/contrib/llvm-project/lldb/source/Core/SourceManager.cpp head/contrib/llvm-project/lldb/source/Core/StreamFile.cpp head/contrib/llvm-project/lldb/source/Core/Value.cpp head/contrib/llvm-project/lldb/source/Core/ValueObject.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectCast.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectChild.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectConstResult.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectDynamicValue.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectMemory.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectRegister.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectSyntheticFilter.cpp head/contrib/llvm-project/lldb/source/Core/ValueObjectVariable.cpp head/contrib/llvm-project/lldb/source/DataFormatters/DataVisualization.cpp head/contrib/llvm-project/lldb/source/DataFormatters/FormatCache.cpp head/contrib/llvm-project/lldb/source/DataFormatters/FormatClasses.cpp head/contrib/llvm-project/lldb/source/DataFormatters/FormatManager.cpp head/contrib/llvm-project/lldb/source/DataFormatters/FormattersHelpers.cpp head/contrib/llvm-project/lldb/source/DataFormatters/LanguageCategory.cpp head/contrib/llvm-project/lldb/source/DataFormatters/TypeCategory.cpp head/contrib/llvm-project/lldb/source/DataFormatters/TypeCategoryMap.cpp head/contrib/llvm-project/lldb/source/DataFormatters/TypeFormat.cpp head/contrib/llvm-project/lldb/source/DataFormatters/ValueObjectPrinter.cpp head/contrib/llvm-project/lldb/source/DataFormatters/VectorType.cpp head/contrib/llvm-project/lldb/source/Expression/DWARFExpression.cpp head/contrib/llvm-project/lldb/source/Expression/DiagnosticManager.cpp head/contrib/llvm-project/lldb/source/Expression/Expression.cpp head/contrib/llvm-project/lldb/source/Expression/ExpressionVariable.cpp head/contrib/llvm-project/lldb/source/Expression/FunctionCaller.cpp head/contrib/llvm-project/lldb/source/Expression/IRExecutionUnit.cpp head/contrib/llvm-project/lldb/source/Expression/IRInterpreter.cpp head/contrib/llvm-project/lldb/source/Expression/IRMemoryMap.cpp head/contrib/llvm-project/lldb/source/Expression/LLVMUserExpression.cpp head/contrib/llvm-project/lldb/source/Expression/Materializer.cpp head/contrib/llvm-project/lldb/source/Expression/REPL.cpp head/contrib/llvm-project/lldb/source/Expression/UserExpression.cpp head/contrib/llvm-project/lldb/source/Expression/UtilityFunction.cpp head/contrib/llvm-project/lldb/source/Host/common/Editline.cpp head/contrib/llvm-project/lldb/source/Host/common/File.cpp head/contrib/llvm-project/lldb/source/Host/common/FileCache.cpp head/contrib/llvm-project/lldb/source/Host/common/FileSystem.cpp head/contrib/llvm-project/lldb/source/Host/common/Host.cpp head/contrib/llvm-project/lldb/source/Host/common/HostInfoBase.cpp head/contrib/llvm-project/lldb/source/Host/common/HostNativeThreadBase.cpp head/contrib/llvm-project/lldb/source/Host/common/MainLoop.cpp head/contrib/llvm-project/lldb/source/Host/common/NativeProcessProtocol.cpp head/contrib/llvm-project/lldb/source/Host/common/NativeRegisterContext.cpp head/contrib/llvm-project/lldb/source/Host/common/PseudoTerminal.cpp head/contrib/llvm-project/lldb/source/Host/common/Socket.cpp head/contrib/llvm-project/lldb/source/Host/common/SocketAddress.cpp head/contrib/llvm-project/lldb/source/Host/common/TCPSocket.cpp head/contrib/llvm-project/lldb/source/Host/common/Terminal.cpp head/contrib/llvm-project/lldb/source/Host/common/UDPSocket.cpp head/contrib/llvm-project/lldb/source/Host/common/XML.cpp head/contrib/llvm-project/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp head/contrib/llvm-project/lldb/source/Host/netbsd/Host.cpp head/contrib/llvm-project/lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp head/contrib/llvm-project/lldb/source/Host/posix/HostInfoPosix.cpp head/contrib/llvm-project/lldb/source/Host/posix/PipePosix.cpp head/contrib/llvm-project/lldb/source/Initialization/SystemInitializerCommon.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandAlias.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandObject.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandObjectRegexCommand.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandObjectScript.cpp head/contrib/llvm-project/lldb/source/Interpreter/CommandReturnObject.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionArgParser.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupArchitecture.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupFormat.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupOutputFile.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupPlatform.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupUUID.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupVariable.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionGroupWatchpoint.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValue.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueArch.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueBoolean.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueDictionary.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueEnumeration.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueFileSpec.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueFormatEntity.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueLanguage.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueProperties.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueRegex.cpp head/contrib/llvm-project/lldb/source/Interpreter/OptionValueUUID.cpp head/contrib/llvm-project/lldb/source/Interpreter/Options.cpp head/contrib/llvm-project/lldb/source/Interpreter/Property.cpp head/contrib/llvm-project/lldb/source/Interpreter/ScriptInterpreter.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h head/contrib/llvm-project/lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h head/contrib/llvm-project/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.h head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.h head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.h head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.h head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.h head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.h head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.h head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.h head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/ABI/Windows-x86_64/ABIWindows_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/ABI/Windows-x86_64/ABIWindows_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp head/contrib/llvm-project/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp head/contrib/llvm-project/lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.h head/contrib/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ModuleDependencyCollector.h head/contrib/llvm-project/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp head/contrib/llvm-project/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp head/contrib/llvm-project/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp head/contrib/llvm-project/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp head/contrib/llvm-project/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/ASan/ASanRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxBitset.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxOptional.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/Cocoa.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/CoreMedia.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSArray.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSDictionary.h head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSError.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSException.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/NSString.cpp head/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h head/contrib/llvm-project/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.h head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp head/contrib/llvm-project/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h head/contrib/llvm-project/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp head/contrib/llvm-project/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h head/contrib/llvm-project/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp head/contrib/llvm-project/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp head/contrib/llvm-project/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h head/contrib/llvm-project/lldb/source/Plugins/Process/Darwin/DarwinProcessLauncher.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Darwin/MachException.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Darwin/NativeProcessDarwin.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Darwin/NativeThreadListDarwin.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.h head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD.h head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.h head/contrib/llvm-project/lldb/source/Plugins/Process/POSIX/CrashReason.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/POSIX/NativeProcessELF.h head/contrib/llvm-project/lldb/source/Plugins/Process/POSIX/ProcessMessage.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/AuxVector.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/HistoryThread.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/HistoryUnwind.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/UnwindLLDB.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.h head/contrib/llvm-project/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/RegisterUtilities.h head/contrib/llvm-project/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h head/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/MinidumpParser.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/MinidumpParser.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/MinidumpTypes.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/ProcessMinidump.h head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp head/contrib/llvm-project/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.h head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.cpp head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h head/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h head/contrib/llvm-project/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwoDwp.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwoDwp.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/PDBLocationToDWARFExpression.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp head/contrib/llvm-project/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h head/contrib/llvm-project/lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp head/contrib/llvm-project/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp head/contrib/llvm-project/lldb/source/Symbol/ArmUnwindInfo.cpp head/contrib/llvm-project/lldb/source/Symbol/Block.cpp head/contrib/llvm-project/lldb/source/Symbol/ClangASTContext.cpp head/contrib/llvm-project/lldb/source/Symbol/ClangASTImporter.cpp head/contrib/llvm-project/lldb/source/Symbol/ClangExternalASTSourceCallbacks.cpp head/contrib/llvm-project/lldb/source/Symbol/ClangUtil.cpp head/contrib/llvm-project/lldb/source/Symbol/CompactUnwindInfo.cpp head/contrib/llvm-project/lldb/source/Symbol/CompileUnit.cpp head/contrib/llvm-project/lldb/source/Symbol/CompilerDecl.cpp head/contrib/llvm-project/lldb/source/Symbol/CompilerDeclContext.cpp head/contrib/llvm-project/lldb/source/Symbol/CompilerType.cpp head/contrib/llvm-project/lldb/source/Symbol/CxxModuleHandler.cpp head/contrib/llvm-project/lldb/source/Symbol/DWARFCallFrameInfo.cpp head/contrib/llvm-project/lldb/source/Symbol/DeclVendor.cpp head/contrib/llvm-project/lldb/source/Symbol/Declaration.cpp head/contrib/llvm-project/lldb/source/Symbol/FuncUnwinders.cpp head/contrib/llvm-project/lldb/source/Symbol/Function.cpp head/contrib/llvm-project/lldb/source/Symbol/LineEntry.cpp head/contrib/llvm-project/lldb/source/Symbol/LineTable.cpp head/contrib/llvm-project/lldb/source/Symbol/LocateSymbolFile.cpp head/contrib/llvm-project/lldb/source/Symbol/LocateSymbolFileMacOSX.cpp head/contrib/llvm-project/lldb/source/Symbol/ObjectFile.cpp head/contrib/llvm-project/lldb/source/Symbol/PostfixExpression.cpp head/contrib/llvm-project/lldb/source/Symbol/Symbol.cpp head/contrib/llvm-project/lldb/source/Symbol/SymbolContext.cpp head/contrib/llvm-project/lldb/source/Symbol/SymbolFile.cpp head/contrib/llvm-project/lldb/source/Symbol/SymbolVendor.cpp head/contrib/llvm-project/lldb/source/Symbol/Symtab.cpp head/contrib/llvm-project/lldb/source/Symbol/Type.cpp head/contrib/llvm-project/lldb/source/Symbol/TypeMap.cpp head/contrib/llvm-project/lldb/source/Symbol/TypeSystem.cpp head/contrib/llvm-project/lldb/source/Symbol/UnwindPlan.cpp head/contrib/llvm-project/lldb/source/Symbol/UnwindTable.cpp head/contrib/llvm-project/lldb/source/Symbol/Variable.cpp head/contrib/llvm-project/lldb/source/Target/ABI.cpp head/contrib/llvm-project/lldb/source/Target/ExecutionContext.cpp head/contrib/llvm-project/lldb/source/Target/Language.cpp head/contrib/llvm-project/lldb/source/Target/LanguageRuntime.cpp head/contrib/llvm-project/lldb/source/Target/Memory.cpp head/contrib/llvm-project/lldb/source/Target/ModuleCache.cpp head/contrib/llvm-project/lldb/source/Target/Platform.cpp head/contrib/llvm-project/lldb/source/Target/Process.cpp head/contrib/llvm-project/lldb/source/Target/RegisterContext.cpp head/contrib/llvm-project/lldb/source/Target/RemoteAwarePlatform.cpp head/contrib/llvm-project/lldb/source/Target/SectionLoadList.cpp head/contrib/llvm-project/lldb/source/Target/StackFrame.cpp head/contrib/llvm-project/lldb/source/Target/StackFrameList.cpp head/contrib/llvm-project/lldb/source/Target/StackFrameRecognizer.cpp head/contrib/llvm-project/lldb/source/Target/StopInfo.cpp head/contrib/llvm-project/lldb/source/Target/Target.cpp head/contrib/llvm-project/lldb/source/Target/TargetList.cpp head/contrib/llvm-project/lldb/source/Target/Thread.cpp head/contrib/llvm-project/lldb/source/Target/ThreadList.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlan.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanBase.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanCallUserExpression.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanPython.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanRunToAddress.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanShouldStopHere.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepInRange.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepInstruction.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepOut.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepOverRange.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepRange.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepThrough.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanStepUntil.cpp head/contrib/llvm-project/lldb/source/Target/ThreadPlanTracer.cpp head/contrib/llvm-project/lldb/source/Utility/ArchSpec.cpp head/contrib/llvm-project/lldb/source/Utility/Args.cpp head/contrib/llvm-project/lldb/source/Utility/Baton.cpp head/contrib/llvm-project/lldb/source/Utility/Broadcaster.cpp head/contrib/llvm-project/lldb/source/Utility/CompletionRequest.cpp head/contrib/llvm-project/lldb/source/Utility/ConstString.cpp head/contrib/llvm-project/lldb/source/Utility/DataBufferLLVM.cpp head/contrib/llvm-project/lldb/source/Utility/DataEncoder.cpp head/contrib/llvm-project/lldb/source/Utility/DataExtractor.cpp head/contrib/llvm-project/lldb/source/Utility/Environment.cpp head/contrib/llvm-project/lldb/source/Utility/FileSpec.cpp head/contrib/llvm-project/lldb/source/Utility/LLDBAssert.cpp head/contrib/llvm-project/lldb/source/Utility/Listener.cpp head/contrib/llvm-project/lldb/source/Utility/Log.cpp head/contrib/llvm-project/lldb/source/Utility/Logging.cpp head/contrib/llvm-project/lldb/source/Utility/ProcessInfo.cpp head/contrib/llvm-project/lldb/source/Utility/RegisterValue.cpp head/contrib/llvm-project/lldb/source/Utility/RegularExpression.cpp head/contrib/llvm-project/lldb/source/Utility/Reproducer.cpp head/contrib/llvm-project/lldb/source/Utility/Scalar.cpp head/contrib/llvm-project/lldb/source/Utility/SelectHelper.cpp head/contrib/llvm-project/lldb/source/Utility/Status.cpp head/contrib/llvm-project/lldb/source/Utility/Stream.cpp head/contrib/llvm-project/lldb/source/Utility/StreamString.cpp head/contrib/llvm-project/lldb/source/Utility/StringExtractor.cpp head/contrib/llvm-project/lldb/source/Utility/StringLexer.cpp head/contrib/llvm-project/lldb/source/Utility/StringList.cpp head/contrib/llvm-project/lldb/source/Utility/StructuredData.cpp head/contrib/llvm-project/lldb/source/Utility/VMRange.cpp head/contrib/llvm-project/lldb/tools/argdumper/argdumper.cpp head/contrib/llvm-project/lldb/tools/compact-unwind/compact-unwind-dumper.c head/contrib/llvm-project/lldb/tools/driver/Driver.cpp head/contrib/llvm-project/lldb/tools/driver/Options.td head/contrib/llvm-project/lldb/tools/driver/Platform.h head/contrib/llvm-project/lldb/tools/lldb-instr/Instrument.cpp head/contrib/llvm-project/lldb/tools/lldb-server/LLDBServerUtilities.cpp head/contrib/llvm-project/lldb/tools/lldb-server/lldb-gdbserver.cpp head/contrib/llvm-project/lldb/tools/lldb-server/lldb-platform.cpp head/contrib/llvm-project/lldb/tools/lldb-server/lldb-server.cpp head/contrib/llvm-project/lldb/utils/TableGen/LLDBOptionDefEmitter.cpp head/contrib/llvm-project/lldb/utils/TableGen/LLDBTableGen.cpp head/contrib/llvm-project/lldb/utils/TableGen/LLDBTableGenBackends.h head/contrib/llvm-project/llvm/include/llvm-c/Analysis.h head/contrib/llvm-project/llvm/include/llvm-c/BitReader.h head/contrib/llvm-project/llvm/include/llvm-c/BitWriter.h head/contrib/llvm-project/llvm/include/llvm-c/Comdat.h head/contrib/llvm-project/llvm/include/llvm-c/Core.h head/contrib/llvm-project/llvm/include/llvm-c/DebugInfo.h head/contrib/llvm-project/llvm/include/llvm-c/Disassembler.h head/contrib/llvm-project/llvm/include/llvm-c/Error.h head/contrib/llvm-project/llvm/include/llvm-c/ErrorHandling.h head/contrib/llvm-project/llvm/include/llvm-c/ExecutionEngine.h head/contrib/llvm-project/llvm/include/llvm-c/IRReader.h head/contrib/llvm-project/llvm/include/llvm-c/Initialization.h head/contrib/llvm-project/llvm/include/llvm-c/LinkTimeOptimizer.h head/contrib/llvm-project/llvm/include/llvm-c/Linker.h head/contrib/llvm-project/llvm/include/llvm-c/Object.h head/contrib/llvm-project/llvm/include/llvm-c/OrcBindings.h head/contrib/llvm-project/llvm/include/llvm-c/Remarks.h head/contrib/llvm-project/llvm/include/llvm-c/Support.h head/contrib/llvm-project/llvm/include/llvm-c/Target.h head/contrib/llvm-project/llvm/include/llvm-c/TargetMachine.h head/contrib/llvm-project/llvm/include/llvm-c/Transforms/AggressiveInstCombine.h head/contrib/llvm-project/llvm/include/llvm-c/Transforms/Coroutines.h head/contrib/llvm-project/llvm/include/llvm-c/Transforms/IPO.h head/contrib/llvm-project/llvm/include/llvm-c/Transforms/InstCombine.h head/contrib/llvm-project/llvm/include/llvm-c/Transforms/PassManagerBuilder.h head/contrib/llvm-project/llvm/include/llvm-c/Transforms/Scalar.h head/contrib/llvm-project/llvm/include/llvm-c/Transforms/Utils.h head/contrib/llvm-project/llvm/include/llvm-c/Transforms/Vectorize.h head/contrib/llvm-project/llvm/include/llvm-c/Types.h head/contrib/llvm-project/llvm/include/llvm-c/lto.h head/contrib/llvm-project/llvm/include/llvm/ADT/APFloat.h head/contrib/llvm-project/llvm/include/llvm/ADT/APInt.h head/contrib/llvm-project/llvm/include/llvm/ADT/Any.h head/contrib/llvm-project/llvm/include/llvm/ADT/ArrayRef.h head/contrib/llvm-project/llvm/include/llvm/ADT/BitVector.h head/contrib/llvm-project/llvm/include/llvm/ADT/DenseMap.h head/contrib/llvm-project/llvm/include/llvm/ADT/DenseMapInfo.h head/contrib/llvm-project/llvm/include/llvm/ADT/FoldingSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/Hashing.h head/contrib/llvm-project/llvm/include/llvm/ADT/ImmutableSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/IntervalMap.h head/contrib/llvm-project/llvm/include/llvm/ADT/Optional.h head/contrib/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h head/contrib/llvm-project/llvm/include/llvm/ADT/PointerUnion.h head/contrib/llvm-project/llvm/include/llvm/ADT/SCCIterator.h head/contrib/llvm-project/llvm/include/llvm/ADT/STLExtras.h head/contrib/llvm-project/llvm/include/llvm/ADT/SmallBitVector.h head/contrib/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/SmallSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/SmallVector.h head/contrib/llvm-project/llvm/include/llvm/ADT/Statistic.h head/contrib/llvm-project/llvm/include/llvm/ADT/StringExtras.h head/contrib/llvm-project/llvm/include/llvm/ADT/StringMap.h head/contrib/llvm-project/llvm/include/llvm/ADT/StringRef.h head/contrib/llvm-project/llvm/include/llvm/ADT/StringSet.h head/contrib/llvm-project/llvm/include/llvm/ADT/TinyPtrVector.h head/contrib/llvm-project/llvm/include/llvm/ADT/Triple.h head/contrib/llvm-project/llvm/include/llvm/ADT/Twine.h head/contrib/llvm-project/llvm/include/llvm/ADT/iterator.h head/contrib/llvm-project/llvm/include/llvm/ADT/iterator_range.h head/contrib/llvm-project/llvm/include/llvm/Analysis/AliasAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/AliasSetTracker.h head/contrib/llvm-project/llvm/include/llvm/Analysis/AssumptionCache.h head/contrib/llvm-project/llvm/include/llvm/Analysis/BranchProbabilityInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CFG.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CGSCCPassManager.h head/contrib/llvm-project/llvm/include/llvm/Analysis/CaptureTracking.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DOTGraphTraitsPass.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DependenceAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/DivergenceAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/GlobalsModRef.h head/contrib/llvm-project/llvm/include/llvm/Analysis/GuardUtils.h head/contrib/llvm-project/llvm/include/llvm/Analysis/InstructionSimplify.h head/contrib/llvm-project/llvm/include/llvm/Analysis/IntervalPartition.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LazyCallGraph.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LazyValueInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LegacyDivergenceAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/Loads.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopAccessAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopAnalysisManager.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopInfoImpl.h head/contrib/llvm-project/llvm/include/llvm/Analysis/LoopPass.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MemoryBuiltins.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MemorySSA.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MemorySSAUpdater.h head/contrib/llvm-project/llvm/include/llvm/Analysis/MustExecute.h head/contrib/llvm-project/llvm/include/llvm/Analysis/Passes.h head/contrib/llvm-project/llvm/include/llvm/Analysis/PhiValues.h head/contrib/llvm-project/llvm/include/llvm/Analysis/PostDominators.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ProfileSummaryInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/PtrUseVisitor.h head/contrib/llvm-project/llvm/include/llvm/Analysis/RegionInfoImpl.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ScalarEvolution.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h head/contrib/llvm-project/llvm/include/llvm/Analysis/TargetLibraryInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/TargetTransformInfo.h head/contrib/llvm-project/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h head/contrib/llvm-project/llvm/include/llvm/Analysis/TypeMetadataUtils.h head/contrib/llvm-project/llvm/include/llvm/Analysis/Utils/Local.h head/contrib/llvm-project/llvm/include/llvm/Analysis/ValueTracking.h head/contrib/llvm-project/llvm/include/llvm/Analysis/VecFuncs.def head/contrib/llvm-project/llvm/include/llvm/Analysis/VectorUtils.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/COFF.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/Dwarf.def head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/Dwarf.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ELF.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/MachO.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/Magic.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/Minidump.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/MinidumpConstants.def head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/Wasm.h head/contrib/llvm-project/llvm/include/llvm/BinaryFormat/XCOFF.h head/contrib/llvm-project/llvm/include/llvm/Bitcode/BitcodeAnalyzer.h head/contrib/llvm-project/llvm/include/llvm/Bitcode/BitcodeWriter.h head/contrib/llvm-project/llvm/include/llvm/Bitcode/LLVMBitCodes.h head/contrib/llvm-project/llvm/include/llvm/Bitstream/BitCodes.h head/contrib/llvm-project/llvm/include/llvm/Bitstream/BitstreamReader.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/AccelTable.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/AsmPrinter.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/BasicTTIImpl.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/CallingConvLower.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/CommandFlags.inc head/contrib/llvm-project/llvm/include/llvm/CodeGen/DFAPacketizer.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/DIE.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/FastISel.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/FaultMaps.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/CombinerInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/Localizer.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/Utils.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ISDOpcodes.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveInterval.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveIntervalUnion.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveIntervals.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LivePhysRegs.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveRegUnits.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveStacks.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LiveVariables.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/LowLevelType.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MIRParser/MIParser.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MIRParser/MIRParser.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MIRYamlMapping.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineBasicBlock.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineCombinerPattern.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineDominators.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineFrameInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineFunction.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineInstr.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineInstrBuilder.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineInstrBundle.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineLoopInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineMemOperand.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineModuleInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineOutliner.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachinePipeliner.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachinePostDominators.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineRegionInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineRegisterInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/MachineScheduler.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/PBQP/Math.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ParallelCG.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/Passes.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/PseudoSourceValue.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ReachingDefAnalysis.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/Register.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/RegisterClassInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/RegisterPressure.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/RegisterScavenging.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/RegisterUsageInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/SelectionDAG.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/SelectionDAGISel.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/SelectionDAGNodes.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/SlotIndexes.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/StackMaps.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/StackProtector.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/SwitchLoweringUtils.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TailDuplicator.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetCallingConv.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetFrameLowering.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetInstrInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetLowering.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetPassConfig.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetRegisterInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetSchedule.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/TargetSubtargetInfo.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ValueTypes.h head/contrib/llvm-project/llvm/include/llvm/CodeGen/ValueTypes.td head/contrib/llvm-project/llvm/include/llvm/CodeGen/VirtRegMap.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/EnumTables.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/TypeDeserializer.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/TypeRecordHelpers.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DIContext.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFAttribute.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFListTable.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFObject.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/FileEntry.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/LineEntry.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/Range.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/GSYM/StringTable.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/GenericError.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/HashTable.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/PDBSymbol.h head/contrib/llvm-project/llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h head/contrib/llvm-project/llvm/include/llvm/Demangle/Demangle.h head/contrib/llvm-project/llvm/include/llvm/Demangle/DemangleConfig.h head/contrib/llvm-project/llvm/include/llvm/Demangle/ItaniumDemangle.h head/contrib/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangle.h head/contrib/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h head/contrib/llvm-project/llvm/include/llvm/Demangle/Utility.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITSymbol.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Core.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/LambdaResolver.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Layer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Legacy.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/OrcError.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h head/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h head/contrib/llvm-project/llvm/include/llvm/IR/Argument.h head/contrib/llvm-project/llvm/include/llvm/IR/Attributes.h head/contrib/llvm-project/llvm/include/llvm/IR/Attributes.td head/contrib/llvm-project/llvm/include/llvm/IR/AutoUpgrade.h head/contrib/llvm-project/llvm/include/llvm/IR/BasicBlock.h head/contrib/llvm-project/llvm/include/llvm/IR/CallSite.h head/contrib/llvm-project/llvm/include/llvm/IR/CallingConv.h head/contrib/llvm-project/llvm/include/llvm/IR/Constant.h head/contrib/llvm-project/llvm/include/llvm/IR/ConstantRange.h head/contrib/llvm-project/llvm/include/llvm/IR/Constants.h head/contrib/llvm-project/llvm/include/llvm/IR/DIBuilder.h head/contrib/llvm-project/llvm/include/llvm/IR/DataLayout.h head/contrib/llvm-project/llvm/include/llvm/IR/DebugInfoFlags.def head/contrib/llvm-project/llvm/include/llvm/IR/DebugInfoMetadata.h head/contrib/llvm-project/llvm/include/llvm/IR/DerivedTypes.h head/contrib/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h head/contrib/llvm-project/llvm/include/llvm/IR/Dominators.h head/contrib/llvm-project/llvm/include/llvm/IR/Function.h head/contrib/llvm-project/llvm/include/llvm/IR/GlobalAlias.h head/contrib/llvm-project/llvm/include/llvm/IR/GlobalIFunc.h head/contrib/llvm-project/llvm/include/llvm/IR/GlobalIndirectSymbol.h head/contrib/llvm-project/llvm/include/llvm/IR/GlobalObject.h head/contrib/llvm-project/llvm/include/llvm/IR/GlobalValue.h head/contrib/llvm-project/llvm/include/llvm/IR/GlobalVariable.h head/contrib/llvm-project/llvm/include/llvm/IR/IRBuilder.h head/contrib/llvm-project/llvm/include/llvm/IR/IRPrintingPasses.h head/contrib/llvm-project/llvm/include/llvm/IR/InstVisitor.h head/contrib/llvm-project/llvm/include/llvm/IR/InstrTypes.h head/contrib/llvm-project/llvm/include/llvm/IR/Instruction.def head/contrib/llvm-project/llvm/include/llvm/IR/Instruction.h head/contrib/llvm-project/llvm/include/llvm/IR/Instructions.h head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicInst.h head/contrib/llvm-project/llvm/include/llvm/IR/Intrinsics.h head/contrib/llvm-project/llvm/include/llvm/IR/Intrinsics.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsAArch64.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsAMDGPU.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsARM.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsBPF.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsMips.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsNVVM.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsRISCV.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsWebAssembly.td head/contrib/llvm-project/llvm/include/llvm/IR/IntrinsicsX86.td head/contrib/llvm-project/llvm/include/llvm/IR/LLVMContext.h head/contrib/llvm-project/llvm/include/llvm/IR/LegacyPassManager.h head/contrib/llvm-project/llvm/include/llvm/IR/LegacyPassManagers.h head/contrib/llvm-project/llvm/include/llvm/IR/MDBuilder.h head/contrib/llvm-project/llvm/include/llvm/IR/Metadata.h head/contrib/llvm-project/llvm/include/llvm/IR/Module.h head/contrib/llvm-project/llvm/include/llvm/IR/ModuleSummaryIndex.h head/contrib/llvm-project/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h head/contrib/llvm-project/llvm/include/llvm/IR/NoFolder.h head/contrib/llvm-project/llvm/include/llvm/IR/Operator.h head/contrib/llvm-project/llvm/include/llvm/IR/PassManager.h head/contrib/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h head/contrib/llvm-project/llvm/include/llvm/IR/PatternMatch.h head/contrib/llvm-project/llvm/include/llvm/IR/RemarkStreamer.h head/contrib/llvm-project/llvm/include/llvm/IR/RuntimeLibcalls.def head/contrib/llvm-project/llvm/include/llvm/IR/Type.h head/contrib/llvm-project/llvm/include/llvm/IR/User.h head/contrib/llvm-project/llvm/include/llvm/IR/Value.h head/contrib/llvm-project/llvm/include/llvm/IR/ValueHandle.h head/contrib/llvm-project/llvm/include/llvm/IR/ValueMap.h head/contrib/llvm-project/llvm/include/llvm/InitializePasses.h head/contrib/llvm-project/llvm/include/llvm/LTO/Config.h head/contrib/llvm-project/llvm/include/llvm/LTO/LTO.h head/contrib/llvm-project/llvm/include/llvm/LTO/LTOBackend.h head/contrib/llvm-project/llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h head/contrib/llvm-project/llvm/include/llvm/LinkAllPasses.h head/contrib/llvm-project/llvm/include/llvm/MC/MCAsmBackend.h head/contrib/llvm-project/llvm/include/llvm/MC/MCAsmInfo.h head/contrib/llvm-project/llvm/include/llvm/MC/MCAsmInfoELF.h head/contrib/llvm-project/llvm/include/llvm/MC/MCAsmInfoXCOFF.h head/contrib/llvm-project/llvm/include/llvm/MC/MCAsmMacro.h head/contrib/llvm-project/llvm/include/llvm/MC/MCAssembler.h head/contrib/llvm-project/llvm/include/llvm/MC/MCCodeEmitter.h head/contrib/llvm-project/llvm/include/llvm/MC/MCContext.h head/contrib/llvm-project/llvm/include/llvm/MC/MCDirectives.h head/contrib/llvm-project/llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h head/contrib/llvm-project/llvm/include/llvm/MC/MCDwarf.h head/contrib/llvm-project/llvm/include/llvm/MC/MCELFStreamer.h head/contrib/llvm-project/llvm/include/llvm/MC/MCExpr.h head/contrib/llvm-project/llvm/include/llvm/MC/MCFixup.h head/contrib/llvm-project/llvm/include/llvm/MC/MCFixupKindInfo.h head/contrib/llvm-project/llvm/include/llvm/MC/MCFragment.h head/contrib/llvm-project/llvm/include/llvm/MC/MCInst.h head/contrib/llvm-project/llvm/include/llvm/MC/MCInstPrinter.h head/contrib/llvm-project/llvm/include/llvm/MC/MCInstrAnalysis.h head/contrib/llvm-project/llvm/include/llvm/MC/MCInstrDesc.h head/contrib/llvm-project/llvm/include/llvm/MC/MCLinkerOptimizationHint.h head/contrib/llvm-project/llvm/include/llvm/MC/MCMachObjectWriter.h head/contrib/llvm-project/llvm/include/llvm/MC/MCObjectFileInfo.h head/contrib/llvm-project/llvm/include/llvm/MC/MCObjectStreamer.h head/contrib/llvm-project/llvm/include/llvm/MC/MCParser/AsmCond.h head/contrib/llvm-project/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h head/contrib/llvm-project/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h head/contrib/llvm-project/llvm/include/llvm/MC/MCRegisterInfo.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSection.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSectionXCOFF.h head/contrib/llvm-project/llvm/include/llvm/MC/MCStreamer.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSubtargetInfo.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSymbol.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSymbolWasm.h head/contrib/llvm-project/llvm/include/llvm/MC/MCSymbolXCOFF.h head/contrib/llvm-project/llvm/include/llvm/MC/MCTargetOptions.h head/contrib/llvm-project/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.inc head/contrib/llvm-project/llvm/include/llvm/MC/MCWasmObjectWriter.h head/contrib/llvm-project/llvm/include/llvm/MC/MCXCOFFStreamer.h head/contrib/llvm-project/llvm/include/llvm/MC/StringTableBuilder.h head/contrib/llvm-project/llvm/include/llvm/MC/SubtargetFeature.h head/contrib/llvm-project/llvm/include/llvm/MCA/Context.h head/contrib/llvm-project/llvm/include/llvm/MCA/HardwareUnits/LSUnit.h head/contrib/llvm-project/llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h head/contrib/llvm-project/llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h head/contrib/llvm-project/llvm/include/llvm/MCA/HardwareUnits/RetireControlUnit.h head/contrib/llvm-project/llvm/include/llvm/MCA/HardwareUnits/Scheduler.h head/contrib/llvm-project/llvm/include/llvm/MCA/Instruction.h head/contrib/llvm-project/llvm/include/llvm/MCA/SourceMgr.h head/contrib/llvm-project/llvm/include/llvm/MCA/Stages/RetireStage.h head/contrib/llvm-project/llvm/include/llvm/Object/Archive.h head/contrib/llvm-project/llvm/include/llvm/Object/Binary.h head/contrib/llvm-project/llvm/include/llvm/Object/COFF.h head/contrib/llvm-project/llvm/include/llvm/Object/ELF.h head/contrib/llvm-project/llvm/include/llvm/Object/ELFObjectFile.h head/contrib/llvm-project/llvm/include/llvm/Object/ELFTypes.h head/contrib/llvm-project/llvm/include/llvm/Object/MachO.h head/contrib/llvm-project/llvm/include/llvm/Object/MachOUniversal.h head/contrib/llvm-project/llvm/include/llvm/Object/Minidump.h head/contrib/llvm-project/llvm/include/llvm/Object/ObjectFile.h head/contrib/llvm-project/llvm/include/llvm/Object/StackMapParser.h head/contrib/llvm-project/llvm/include/llvm/Object/Wasm.h head/contrib/llvm-project/llvm/include/llvm/Object/WindowsResource.h head/contrib/llvm-project/llvm/include/llvm/Object/XCOFFObjectFile.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/DWARFYAML.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/ELFYAML.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/MachOYAML.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/MinidumpYAML.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/WasmYAML.h head/contrib/llvm-project/llvm/include/llvm/ObjectYAML/YAML.h head/contrib/llvm-project/llvm/include/llvm/Pass.h head/contrib/llvm-project/llvm/include/llvm/Passes/PassBuilder.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/InstrProf.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/InstrProfData.inc head/contrib/llvm-project/llvm/include/llvm/ProfileData/InstrProfReader.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/SampleProf.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/SampleProfReader.h head/contrib/llvm-project/llvm/include/llvm/ProfileData/SampleProfWriter.h head/contrib/llvm-project/llvm/include/llvm/Remarks/Remark.h head/contrib/llvm-project/llvm/include/llvm/Remarks/RemarkFormat.h head/contrib/llvm-project/llvm/include/llvm/Remarks/RemarkParser.h head/contrib/llvm-project/llvm/include/llvm/Remarks/RemarkSerializer.h head/contrib/llvm-project/llvm/include/llvm/Remarks/RemarkStringTable.h head/contrib/llvm-project/llvm/include/llvm/Support/AArch64TargetParser.def head/contrib/llvm-project/llvm/include/llvm/Support/AArch64TargetParser.h head/contrib/llvm-project/llvm/include/llvm/Support/AMDGPUMetadata.h head/contrib/llvm-project/llvm/include/llvm/Support/ARMTargetParser.def head/contrib/llvm-project/llvm/include/llvm/Support/AlignOf.h head/contrib/llvm-project/llvm/include/llvm/Support/Allocator.h head/contrib/llvm-project/llvm/include/llvm/Support/BinaryStreamArray.h head/contrib/llvm-project/llvm/include/llvm/Support/BinaryStreamReader.h head/contrib/llvm-project/llvm/include/llvm/Support/BinaryStreamRef.h head/contrib/llvm-project/llvm/include/llvm/Support/CRC.h head/contrib/llvm-project/llvm/include/llvm/Support/CodeGen.h head/contrib/llvm-project/llvm/include/llvm/Support/CommandLine.h head/contrib/llvm-project/llvm/include/llvm/Support/Compiler.h head/contrib/llvm-project/llvm/include/llvm/Support/CrashRecoveryContext.h head/contrib/llvm-project/llvm/include/llvm/Support/DataExtractor.h head/contrib/llvm-project/llvm/include/llvm/Support/Endian.h head/contrib/llvm-project/llvm/include/llvm/Support/Error.h head/contrib/llvm-project/llvm/include/llvm/Support/FileCheck.h head/contrib/llvm-project/llvm/include/llvm/Support/FileOutputBuffer.h head/contrib/llvm-project/llvm/include/llvm/Support/FileSystem.h head/contrib/llvm-project/llvm/include/llvm/Support/FileUtilities.h head/contrib/llvm-project/llvm/include/llvm/Support/Format.h head/contrib/llvm-project/llvm/include/llvm/Support/FormatVariadic.h head/contrib/llvm-project/llvm/include/llvm/Support/GenericDomTree.h head/contrib/llvm-project/llvm/include/llvm/Support/GenericDomTreeConstruction.h head/contrib/llvm-project/llvm/include/llvm/Support/GlobPattern.h head/contrib/llvm-project/llvm/include/llvm/Support/Host.h head/contrib/llvm-project/llvm/include/llvm/Support/InitLLVM.h head/contrib/llvm-project/llvm/include/llvm/Support/JSON.h head/contrib/llvm-project/llvm/include/llvm/Support/KnownBits.h head/contrib/llvm-project/llvm/include/llvm/Support/LineIterator.h head/contrib/llvm-project/llvm/include/llvm/Support/LockFileManager.h head/contrib/llvm-project/llvm/include/llvm/Support/LowLevelTypeImpl.h head/contrib/llvm-project/llvm/include/llvm/Support/MachineValueType.h head/contrib/llvm-project/llvm/include/llvm/Support/MathExtras.h head/contrib/llvm-project/llvm/include/llvm/Support/Memory.h head/contrib/llvm-project/llvm/include/llvm/Support/Mutex.h head/contrib/llvm-project/llvm/include/llvm/Support/OnDiskHashTable.h head/contrib/llvm-project/llvm/include/llvm/Support/Parallel.h head/contrib/llvm-project/llvm/include/llvm/Support/Path.h head/contrib/llvm-project/llvm/include/llvm/Support/Process.h head/contrib/llvm-project/llvm/include/llvm/Support/RWMutex.h head/contrib/llvm-project/llvm/include/llvm/Support/Regex.h head/contrib/llvm-project/llvm/include/llvm/Support/Registry.h head/contrib/llvm-project/llvm/include/llvm/Support/SHA1.h head/contrib/llvm-project/llvm/include/llvm/Support/Signals.h head/contrib/llvm-project/llvm/include/llvm/Support/SourceMgr.h head/contrib/llvm-project/llvm/include/llvm/Support/SpecialCaseList.h head/contrib/llvm-project/llvm/include/llvm/Support/SwapByteOrder.h head/contrib/llvm-project/llvm/include/llvm/Support/TargetOpcodes.def head/contrib/llvm-project/llvm/include/llvm/Support/TargetRegistry.h head/contrib/llvm-project/llvm/include/llvm/Support/Threading.h head/contrib/llvm-project/llvm/include/llvm/Support/TimeProfiler.h head/contrib/llvm-project/llvm/include/llvm/Support/Timer.h head/contrib/llvm-project/llvm/include/llvm/Support/TrailingObjects.h head/contrib/llvm-project/llvm/include/llvm/Support/UnicodeCharRanges.h head/contrib/llvm-project/llvm/include/llvm/Support/VersionTuple.h head/contrib/llvm-project/llvm/include/llvm/Support/VirtualFileSystem.h head/contrib/llvm-project/llvm/include/llvm/Support/Win64EH.h head/contrib/llvm-project/llvm/include/llvm/Support/X86TargetParser.def head/contrib/llvm-project/llvm/include/llvm/Support/YAMLTraits.h head/contrib/llvm-project/llvm/include/llvm/Support/circular_raw_ostream.h head/contrib/llvm-project/llvm/include/llvm/Support/raw_ostream.h head/contrib/llvm-project/llvm/include/llvm/Support/type_traits.h head/contrib/llvm-project/llvm/include/llvm/TableGen/Error.h head/contrib/llvm-project/llvm/include/llvm/TableGen/Record.h head/contrib/llvm-project/llvm/include/llvm/Target/GenericOpcodes.td head/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td head/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/Target.td head/contrib/llvm-project/llvm/include/llvm/Target/Target.td head/contrib/llvm-project/llvm/include/llvm/Target/TargetCallingConv.td head/contrib/llvm-project/llvm/include/llvm/Target/TargetItinerary.td head/contrib/llvm-project/llvm/include/llvm/Target/TargetLoweringObjectFile.h head/contrib/llvm-project/llvm/include/llvm/Target/TargetMachine.h head/contrib/llvm-project/llvm/include/llvm/Target/TargetOptions.h head/contrib/llvm-project/llvm/include/llvm/Target/TargetSchedule.td head/contrib/llvm-project/llvm/include/llvm/Target/TargetSelectionDAG.td head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/Architecture.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/ArchitectureSet.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/InterfaceFile.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/Symbol.h head/contrib/llvm-project/llvm/include/llvm/TextAPI/MachO/TextAPIReader.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Coroutines.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/Attributor.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/GlobalDCE.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/HotColdSplitting.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/LowerTypeTests.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h head/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h head/contrib/llvm-project/llvm/include/llvm/Transforms/InstCombine/InstCombine.h head/contrib/llvm-project/llvm/include/llvm/Transforms/InstCombine/InstCombineWorklist.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/ThreadSanitizer.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/CallSiteSplitting.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/Float2Int.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/GVN.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/GVNExpression.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/JumpThreading.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/LICM.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/LoopUnrollAndJamPass.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/Reassociate.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/SCCP.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/CodeExtractor.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/GuardUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/Local.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/LoopUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ModuleUtils.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/PredicateInfo.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/SizeOpts.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/UnrollLoop.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ValueMapper.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h head/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h head/contrib/llvm-project/llvm/include/llvm/XRay/FDRRecordProducer.h head/contrib/llvm-project/llvm/include/llvm/XRay/FDRRecords.h head/contrib/llvm-project/llvm/include/llvm/XRay/FileHeaderReader.h head/contrib/llvm-project/llvm/include/llvm/module.modulemap head/contrib/llvm-project/llvm/lib/Analysis/AliasAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp head/contrib/llvm-project/llvm/lib/Analysis/AliasSetTracker.cpp head/contrib/llvm-project/llvm/lib/Analysis/Analysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/AssumptionCache.cpp head/contrib/llvm-project/llvm/lib/Analysis/BasicAliasAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/BlockFrequencyInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/BranchProbabilityInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/CFG.cpp head/contrib/llvm-project/llvm/lib/Analysis/CFGPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/CallGraph.cpp head/contrib/llvm-project/llvm/lib/Analysis/CallPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/CaptureTracking.cpp head/contrib/llvm-project/llvm/lib/Analysis/ConstantFolding.cpp head/contrib/llvm-project/llvm/lib/Analysis/CostModel.cpp head/contrib/llvm-project/llvm/lib/Analysis/Delinearization.cpp head/contrib/llvm-project/llvm/lib/Analysis/DemandedBits.cpp head/contrib/llvm-project/llvm/lib/Analysis/DependenceAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/DivergenceAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/DomPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/DomTreeUpdater.cpp head/contrib/llvm-project/llvm/lib/Analysis/DominanceFrontier.cpp head/contrib/llvm-project/llvm/lib/Analysis/GlobalsModRef.cpp head/contrib/llvm-project/llvm/lib/Analysis/GuardUtils.cpp head/contrib/llvm-project/llvm/lib/Analysis/IVDescriptors.cpp head/contrib/llvm-project/llvm/lib/Analysis/IVUsers.cpp head/contrib/llvm-project/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/InlineCost.cpp head/contrib/llvm-project/llvm/lib/Analysis/InstCount.cpp head/contrib/llvm-project/llvm/lib/Analysis/InstructionPrecedenceTracking.cpp head/contrib/llvm-project/llvm/lib/Analysis/InstructionSimplify.cpp head/contrib/llvm-project/llvm/lib/Analysis/IntervalPartition.cpp head/contrib/llvm-project/llvm/lib/Analysis/LazyBlockFrequencyInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/LazyBranchProbabilityInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/LazyCallGraph.cpp head/contrib/llvm-project/llvm/lib/Analysis/LazyValueInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/Lint.cpp head/contrib/llvm-project/llvm/lib/Analysis/Loads.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopAccessAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopAnalysisManager.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopPass.cpp head/contrib/llvm-project/llvm/lib/Analysis/LoopUnrollAnalyzer.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemDepPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemDerefPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemoryBuiltins.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemoryLocation.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemorySSA.cpp head/contrib/llvm-project/llvm/lib/Analysis/MemorySSAUpdater.cpp head/contrib/llvm-project/llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/MustExecute.cpp head/contrib/llvm-project/llvm/lib/Analysis/OptimizationRemarkEmitter.cpp head/contrib/llvm-project/llvm/lib/Analysis/OrderedInstructions.cpp head/contrib/llvm-project/llvm/lib/Analysis/PhiValues.cpp head/contrib/llvm-project/llvm/lib/Analysis/PostDominators.cpp head/contrib/llvm-project/llvm/lib/Analysis/ProfileSummaryInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/RegionInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/RegionPrinter.cpp head/contrib/llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp head/contrib/llvm-project/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/ScalarEvolutionExpander.cpp head/contrib/llvm-project/llvm/lib/Analysis/ScopedNoAliasAA.cpp head/contrib/llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/SyncDependenceAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/TargetLibraryInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/TargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp head/contrib/llvm-project/llvm/lib/Analysis/TypeMetadataUtils.cpp head/contrib/llvm-project/llvm/lib/Analysis/ValueTracking.cpp head/contrib/llvm-project/llvm/lib/Analysis/VectorUtils.cpp head/contrib/llvm-project/llvm/lib/AsmParser/LLLexer.cpp head/contrib/llvm-project/llvm/lib/AsmParser/LLParser.cpp head/contrib/llvm-project/llvm/lib/AsmParser/LLParser.h head/contrib/llvm-project/llvm/lib/AsmParser/LLToken.h head/contrib/llvm-project/llvm/lib/AsmParser/Parser.cpp head/contrib/llvm-project/llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp head/contrib/llvm-project/llvm/lib/BinaryFormat/Dwarf.cpp head/contrib/llvm-project/llvm/lib/BinaryFormat/Magic.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Reader/BitcodeReader.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Reader/MetadataLoader.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Writer/BitWriter.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp head/contrib/llvm-project/llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp head/contrib/llvm-project/llvm/lib/Bitstream/Reader/BitstreamReader.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp head/contrib/llvm-project/llvm/lib/CodeGen/Analysis.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/ByteStreamer.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DIE.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DebugLocStream.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DebugLocStream.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/WinCFGuard.h head/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/WinException.cpp head/contrib/llvm-project/llvm/lib/CodeGen/AtomicExpandPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/BranchFolding.cpp head/contrib/llvm-project/llvm/lib/CodeGen/BranchFolding.h head/contrib/llvm-project/llvm/lib/CodeGen/BranchRelaxation.cpp head/contrib/llvm-project/llvm/lib/CodeGen/BreakFalseDeps.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CFIInstrInserter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CalcSpillWeights.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CallingConvLower.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CodeGen.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CodeGenPrepare.cpp head/contrib/llvm-project/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp head/contrib/llvm-project/llvm/lib/CodeGen/DFAPacketizer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp head/contrib/llvm-project/llvm/lib/CodeGen/DetectDeadLanes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/DwarfEHPrepare.cpp head/contrib/llvm-project/llvm/lib/CodeGen/EarlyIfConversion.cpp head/contrib/llvm-project/llvm/lib/CodeGen/EdgeBundles.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ExecutionDomainFix.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ExpandMemCmp.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ExpandReductions.cpp head/contrib/llvm-project/llvm/lib/CodeGen/FEntryInserter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/FaultMaps.cpp head/contrib/llvm-project/llvm/lib/CodeGen/FinalizeISel.cpp head/contrib/llvm-project/llvm/lib/CodeGen/FuncletLayout.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GCMetadata.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GCRootLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/Combiner.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/Legalizer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/Localizer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/RegisterBank.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/Utils.cpp head/contrib/llvm-project/llvm/lib/CodeGen/GlobalMerge.cpp head/contrib/llvm-project/llvm/lib/CodeGen/HardwareLoops.cpp head/contrib/llvm-project/llvm/lib/CodeGen/IfConversion.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ImplicitNullChecks.cpp head/contrib/llvm-project/llvm/lib/CodeGen/IndirectBrExpandPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/InlineSpiller.cpp head/contrib/llvm-project/llvm/lib/CodeGen/InterleavedAccessPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/IntrinsicLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LLVMTargetMachine.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LexicalScopes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveDebugVariables.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveInterval.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveIntervals.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LivePhysRegs.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveRangeCalc.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveRangeEdit.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveRangeShrink.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveRegMatrix.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveRegUnits.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveStacks.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LiveVariables.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LowLevelType.cpp head/contrib/llvm-project/llvm/lib/CodeGen/LowerEmuTLS.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRCanonicalizerPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRParser/MILexer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRParser/MILexer.h head/contrib/llvm-project/llvm/lib/CodeGen/MIRParser/MIParser.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRParser/MIRParser.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRPrinter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MIRPrintingPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineBasicBlock.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineBlockPlacement.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineCSE.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineCombiner.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineCopyPropagation.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineDominanceFrontier.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineDominators.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineFrameInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineFunction.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineInstr.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineInstrBundle.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineLICM.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineLoopInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineModuleInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineOperand.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineOutliner.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachinePostDominators.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineRegionInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineSSAUpdater.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineScheduler.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineSink.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineTraceMetrics.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp head/contrib/llvm-project/llvm/lib/CodeGen/MacroFusion.cpp head/contrib/llvm-project/llvm/lib/CodeGen/OptimizePHIs.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PHIElimination.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ParallelCG.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PatchableFunction.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PeepholeOptimizer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PostRAHazardRecognizer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PostRASchedulerList.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ProcessImplicitDefs.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/PseudoSourceValue.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ReachingDefAnalysis.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegAllocBase.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegAllocGreedy.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegAllocPBQP.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegUsageInfoCollector.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegUsageInfoPropagate.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegisterClassInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegisterCoalescer.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegisterPressure.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RegisterScavenging.cpp head/contrib/llvm-project/llvm/lib/CodeGen/RenameIndependentSubregs.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ResetMachineFunctionPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SafeStack.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ShadowStackGCLowering.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ShrinkWrap.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SjLjEHPrepare.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SlotIndexes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SpillPlacement.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SplitKit.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SplitKit.h head/contrib/llvm-project/llvm/lib/CodeGen/StackColoring.cpp head/contrib/llvm-project/llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp head/contrib/llvm-project/llvm/lib/CodeGen/StackMaps.cpp head/contrib/llvm-project/llvm/lib/CodeGen/StackProtector.cpp head/contrib/llvm-project/llvm/lib/CodeGen/StackSlotColoring.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SwiftErrorValueTracking.cpp head/contrib/llvm-project/llvm/lib/CodeGen/SwitchLoweringUtils.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TailDuplication.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TailDuplicator.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetInstrInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetLoweringBase.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetOptionsImpl.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetPassConfig.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetSchedule.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TargetSubtargetInfo.cpp head/contrib/llvm-project/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp head/contrib/llvm-project/llvm/lib/CodeGen/UnreachableBlockElim.cpp head/contrib/llvm-project/llvm/lib/CodeGen/ValueTypes.cpp head/contrib/llvm-project/llvm/lib/CodeGen/VirtRegMap.cpp head/contrib/llvm-project/llvm/lib/CodeGen/WasmEHPrepare.cpp head/contrib/llvm-project/llvm/lib/CodeGen/WinEHPrepare.cpp head/contrib/llvm-project/llvm/lib/CodeGen/XRayInstrumentation.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/EnumTables.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/SymbolRecordHelpers.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFAddressRange.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/InlineInfo.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/GSYM/Range.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/MSF/MappedBlockStream.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/DIA/DIASectionContrib.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/GenericError.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptor.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/Hash.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeEnumInjectedSources.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeTypeEnum.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeTypeFunctionSig.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/TpiHashing.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/TpiStream.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/TpiStreamBuilder.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/PDBSymbolFunc.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/UDTLayout.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp head/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.h head/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp head/contrib/llvm-project/llvm/lib/Demangle/ItaniumDemangle.cpp head/contrib/llvm-project/llvm/lib/Demangle/MicrosoftDemangle.cpp head/contrib/llvm-project/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/ExecutionEngine.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/BasicGOTAndStubsBuilder.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLink.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/OProfileJIT/OProfileWrapper.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Layer.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Legacy.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/ObjectTransformLayer.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/ThreadSafeModule.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h head/contrib/llvm-project/llvm/lib/ExecutionEngine/TargetSelect.cpp head/contrib/llvm-project/llvm/lib/FuzzMutate/FuzzerCLI.cpp head/contrib/llvm-project/llvm/lib/IR/AbstractCallSite.cpp head/contrib/llvm-project/llvm/lib/IR/AsmWriter.cpp head/contrib/llvm-project/llvm/lib/IR/AttributeImpl.h head/contrib/llvm-project/llvm/lib/IR/Attributes.cpp head/contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp head/contrib/llvm-project/llvm/lib/IR/BasicBlock.cpp head/contrib/llvm-project/llvm/lib/IR/ConstantFold.cpp head/contrib/llvm-project/llvm/lib/IR/ConstantRange.cpp head/contrib/llvm-project/llvm/lib/IR/Constants.cpp head/contrib/llvm-project/llvm/lib/IR/ConstantsContext.h head/contrib/llvm-project/llvm/lib/IR/Core.cpp head/contrib/llvm-project/llvm/lib/IR/DIBuilder.cpp head/contrib/llvm-project/llvm/lib/IR/DataLayout.cpp head/contrib/llvm-project/llvm/lib/IR/DebugInfo.cpp head/contrib/llvm-project/llvm/lib/IR/DebugInfoMetadata.cpp head/contrib/llvm-project/llvm/lib/IR/DiagnosticInfo.cpp head/contrib/llvm-project/llvm/lib/IR/Dominators.cpp head/contrib/llvm-project/llvm/lib/IR/Function.cpp head/contrib/llvm-project/llvm/lib/IR/Globals.cpp head/contrib/llvm-project/llvm/lib/IR/IRBuilder.cpp head/contrib/llvm-project/llvm/lib/IR/IRPrintingPasses.cpp head/contrib/llvm-project/llvm/lib/IR/InlineAsm.cpp head/contrib/llvm-project/llvm/lib/IR/Instruction.cpp head/contrib/llvm-project/llvm/lib/IR/Instructions.cpp head/contrib/llvm-project/llvm/lib/IR/IntrinsicInst.cpp head/contrib/llvm-project/llvm/lib/IR/LLVMContext.cpp head/contrib/llvm-project/llvm/lib/IR/LLVMContextImpl.cpp head/contrib/llvm-project/llvm/lib/IR/LLVMContextImpl.h head/contrib/llvm-project/llvm/lib/IR/LegacyPassManager.cpp head/contrib/llvm-project/llvm/lib/IR/MDBuilder.cpp head/contrib/llvm-project/llvm/lib/IR/Metadata.cpp head/contrib/llvm-project/llvm/lib/IR/Module.cpp head/contrib/llvm-project/llvm/lib/IR/ModuleSummaryIndex.cpp head/contrib/llvm-project/llvm/lib/IR/Pass.cpp head/contrib/llvm-project/llvm/lib/IR/RemarkStreamer.cpp head/contrib/llvm-project/llvm/lib/IR/SafepointIRVerifier.cpp head/contrib/llvm-project/llvm/lib/IR/Type.cpp head/contrib/llvm-project/llvm/lib/IR/TypeFinder.cpp head/contrib/llvm-project/llvm/lib/IR/User.cpp head/contrib/llvm-project/llvm/lib/IR/Value.cpp head/contrib/llvm-project/llvm/lib/IR/Verifier.cpp head/contrib/llvm-project/llvm/lib/LTO/Caching.cpp head/contrib/llvm-project/llvm/lib/LTO/LTO.cpp head/contrib/llvm-project/llvm/lib/LTO/LTOBackend.cpp head/contrib/llvm-project/llvm/lib/LTO/LTOCodeGenerator.cpp head/contrib/llvm-project/llvm/lib/LTO/LTOModule.cpp head/contrib/llvm-project/llvm/lib/LTO/SummaryBasedOptimizations.cpp head/contrib/llvm-project/llvm/lib/LTO/ThinLTOCodeGenerator.cpp head/contrib/llvm-project/llvm/lib/Linker/IRMover.cpp head/contrib/llvm-project/llvm/lib/Linker/LinkModules.cpp head/contrib/llvm-project/llvm/lib/MC/ELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/MC/MCAsmBackend.cpp head/contrib/llvm-project/llvm/lib/MC/MCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/MC/MCAsmInfoELF.cpp head/contrib/llvm-project/llvm/lib/MC/MCAsmInfoXCOFF.cpp head/contrib/llvm-project/llvm/lib/MC/MCAsmMacro.cpp head/contrib/llvm-project/llvm/lib/MC/MCAsmStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCAssembler.cpp head/contrib/llvm-project/llvm/lib/MC/MCContext.cpp head/contrib/llvm-project/llvm/lib/MC/MCDisassembler/Disassembler.cpp head/contrib/llvm-project/llvm/lib/MC/MCDisassembler/MCDisassembler.cpp head/contrib/llvm-project/llvm/lib/MC/MCDwarf.cpp head/contrib/llvm-project/llvm/lib/MC/MCELFStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCExpr.cpp head/contrib/llvm-project/llvm/lib/MC/MCFragment.cpp head/contrib/llvm-project/llvm/lib/MC/MCInstPrinter.cpp head/contrib/llvm-project/llvm/lib/MC/MCInstrAnalysis.cpp head/contrib/llvm-project/llvm/lib/MC/MCMachOStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCObjectFileInfo.cpp head/contrib/llvm-project/llvm/lib/MC/MCObjectStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/AsmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/COFFAsmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/DarwinAsmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCParser/WasmAsmParser.cpp head/contrib/llvm-project/llvm/lib/MC/MCRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/MC/MCSection.cpp head/contrib/llvm-project/llvm/lib/MC/MCSectionXCOFF.cpp head/contrib/llvm-project/llvm/lib/MC/MCStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCSubtargetInfo.cpp head/contrib/llvm-project/llvm/lib/MC/MCSymbolELF.cpp head/contrib/llvm-project/llvm/lib/MC/MCTargetOptions.cpp head/contrib/llvm-project/llvm/lib/MC/MCValue.cpp head/contrib/llvm-project/llvm/lib/MC/MCWasmObjectTargetWriter.cpp head/contrib/llvm-project/llvm/lib/MC/MCWasmStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCWinCOFFStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MCXCOFFStreamer.cpp head/contrib/llvm-project/llvm/lib/MC/MachObjectWriter.cpp head/contrib/llvm-project/llvm/lib/MC/StringTableBuilder.cpp head/contrib/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp head/contrib/llvm-project/llvm/lib/MC/WinCOFFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/MC/XCOFFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/MCA/Context.cpp head/contrib/llvm-project/llvm/lib/MCA/HardwareUnits/LSUnit.cpp head/contrib/llvm-project/llvm/lib/MCA/HardwareUnits/RegisterFile.cpp head/contrib/llvm-project/llvm/lib/MCA/HardwareUnits/ResourceManager.cpp head/contrib/llvm-project/llvm/lib/MCA/HardwareUnits/RetireControlUnit.cpp head/contrib/llvm-project/llvm/lib/MCA/HardwareUnits/Scheduler.cpp head/contrib/llvm-project/llvm/lib/MCA/InstrBuilder.cpp head/contrib/llvm-project/llvm/lib/MCA/Instruction.cpp head/contrib/llvm-project/llvm/lib/MCA/Stages/DispatchStage.cpp head/contrib/llvm-project/llvm/lib/MCA/Stages/EntryStage.cpp head/contrib/llvm-project/llvm/lib/MCA/Stages/ExecuteStage.cpp head/contrib/llvm-project/llvm/lib/MCA/Stages/InstructionTables.cpp head/contrib/llvm-project/llvm/lib/MCA/Stages/RetireStage.cpp head/contrib/llvm-project/llvm/lib/Object/Archive.cpp head/contrib/llvm-project/llvm/lib/Object/ArchiveWriter.cpp head/contrib/llvm-project/llvm/lib/Object/Binary.cpp head/contrib/llvm-project/llvm/lib/Object/COFFObjectFile.cpp head/contrib/llvm-project/llvm/lib/Object/Decompressor.cpp head/contrib/llvm-project/llvm/lib/Object/ELF.cpp head/contrib/llvm-project/llvm/lib/Object/ELFObjectFile.cpp head/contrib/llvm-project/llvm/lib/Object/MachOObjectFile.cpp head/contrib/llvm-project/llvm/lib/Object/MachOUniversal.cpp head/contrib/llvm-project/llvm/lib/Object/Minidump.cpp head/contrib/llvm-project/llvm/lib/Object/ModuleSymbolTable.cpp head/contrib/llvm-project/llvm/lib/Object/Object.cpp head/contrib/llvm-project/llvm/lib/Object/ObjectFile.cpp head/contrib/llvm-project/llvm/lib/Object/RelocationResolver.cpp head/contrib/llvm-project/llvm/lib/Object/SymbolicFile.cpp head/contrib/llvm-project/llvm/lib/Object/WasmObjectFile.cpp head/contrib/llvm-project/llvm/lib/Object/WindowsResource.cpp head/contrib/llvm-project/llvm/lib/Object/XCOFFObjectFile.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/DWARFEmitter.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/ELFYAML.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/MachOYAML.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/MinidumpYAML.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/WasmYAML.cpp head/contrib/llvm-project/llvm/lib/ObjectYAML/YAML.cpp head/contrib/llvm-project/llvm/lib/Option/ArgList.cpp head/contrib/llvm-project/llvm/lib/Passes/PassBuilder.cpp head/contrib/llvm-project/llvm/lib/Passes/PassRegistry.def head/contrib/llvm-project/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp head/contrib/llvm-project/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp head/contrib/llvm-project/llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp head/contrib/llvm-project/llvm/lib/ProfileData/GCOV.cpp head/contrib/llvm-project/llvm/lib/ProfileData/InstrProf.cpp head/contrib/llvm-project/llvm/lib/ProfileData/InstrProfReader.cpp head/contrib/llvm-project/llvm/lib/ProfileData/InstrProfWriter.cpp head/contrib/llvm-project/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp head/contrib/llvm-project/llvm/lib/ProfileData/SampleProf.cpp head/contrib/llvm-project/llvm/lib/ProfileData/SampleProfReader.cpp head/contrib/llvm-project/llvm/lib/ProfileData/SampleProfWriter.cpp head/contrib/llvm-project/llvm/lib/Remarks/RemarkFormat.cpp head/contrib/llvm-project/llvm/lib/Remarks/RemarkParser.cpp head/contrib/llvm-project/llvm/lib/Remarks/RemarkStringTable.cpp head/contrib/llvm-project/llvm/lib/Remarks/YAMLRemarkParser.cpp head/contrib/llvm-project/llvm/lib/Remarks/YAMLRemarkParser.h head/contrib/llvm-project/llvm/lib/Remarks/YAMLRemarkSerializer.cpp head/contrib/llvm-project/llvm/lib/Support/AArch64TargetParser.cpp head/contrib/llvm-project/llvm/lib/Support/AMDGPUMetadata.cpp head/contrib/llvm-project/llvm/lib/Support/APFloat.cpp head/contrib/llvm-project/llvm/lib/Support/APInt.cpp head/contrib/llvm-project/llvm/lib/Support/ARMAttributeParser.cpp head/contrib/llvm-project/llvm/lib/Support/ARMTargetParser.cpp head/contrib/llvm-project/llvm/lib/Support/BinaryStreamReader.cpp head/contrib/llvm-project/llvm/lib/Support/CRC.cpp head/contrib/llvm-project/llvm/lib/Support/CachePruning.cpp head/contrib/llvm-project/llvm/lib/Support/CodeGenCoverage.cpp head/contrib/llvm-project/llvm/lib/Support/CommandLine.cpp head/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp head/contrib/llvm-project/llvm/lib/Support/DataExtractor.cpp head/contrib/llvm-project/llvm/lib/Support/DebugCounter.cpp head/contrib/llvm-project/llvm/lib/Support/Error.cpp head/contrib/llvm-project/llvm/lib/Support/ErrorHandling.cpp head/contrib/llvm-project/llvm/lib/Support/FileCheck.cpp head/contrib/llvm-project/llvm/lib/Support/FileOutputBuffer.cpp head/contrib/llvm-project/llvm/lib/Support/FileUtilities.cpp head/contrib/llvm-project/llvm/lib/Support/GlobPattern.cpp head/contrib/llvm-project/llvm/lib/Support/Host.cpp head/contrib/llvm-project/llvm/lib/Support/InitLLVM.cpp head/contrib/llvm-project/llvm/lib/Support/ItaniumManglingCanonicalizer.cpp head/contrib/llvm-project/llvm/lib/Support/JSON.cpp head/contrib/llvm-project/llvm/lib/Support/KnownBits.cpp head/contrib/llvm-project/llvm/lib/Support/LockFileManager.cpp head/contrib/llvm-project/llvm/lib/Support/ManagedStatic.cpp head/contrib/llvm-project/llvm/lib/Support/MemoryBuffer.cpp head/contrib/llvm-project/llvm/lib/Support/Parallel.cpp head/contrib/llvm-project/llvm/lib/Support/Path.cpp head/contrib/llvm-project/llvm/lib/Support/PrettyStackTrace.cpp head/contrib/llvm-project/llvm/lib/Support/Process.cpp head/contrib/llvm-project/llvm/lib/Support/RWMutex.cpp head/contrib/llvm-project/llvm/lib/Support/RandomNumberGenerator.cpp head/contrib/llvm-project/llvm/lib/Support/Regex.cpp head/contrib/llvm-project/llvm/lib/Support/SHA1.cpp head/contrib/llvm-project/llvm/lib/Support/Signals.cpp head/contrib/llvm-project/llvm/lib/Support/Signposts.cpp head/contrib/llvm-project/llvm/lib/Support/SpecialCaseList.cpp head/contrib/llvm-project/llvm/lib/Support/Statistic.cpp head/contrib/llvm-project/llvm/lib/Support/StringExtras.cpp head/contrib/llvm-project/llvm/lib/Support/StringRef.cpp head/contrib/llvm-project/llvm/lib/Support/TargetParser.cpp head/contrib/llvm-project/llvm/lib/Support/Threading.cpp head/contrib/llvm-project/llvm/lib/Support/TimeProfiler.cpp head/contrib/llvm-project/llvm/lib/Support/Timer.cpp head/contrib/llvm-project/llvm/lib/Support/Triple.cpp head/contrib/llvm-project/llvm/lib/Support/Unix/Memory.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Path.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Process.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Program.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Threading.inc head/contrib/llvm-project/llvm/lib/Support/Unix/Unix.h head/contrib/llvm-project/llvm/lib/Support/VirtualFileSystem.cpp head/contrib/llvm-project/llvm/lib/Support/Windows/DynamicLibrary.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Host.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Memory.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Path.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Process.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Program.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Signals.inc head/contrib/llvm-project/llvm/lib/Support/Windows/ThreadLocal.inc head/contrib/llvm-project/llvm/lib/Support/Windows/Threading.inc head/contrib/llvm-project/llvm/lib/Support/Windows/explicit_symbols.inc head/contrib/llvm-project/llvm/lib/Support/YAMLParser.cpp head/contrib/llvm-project/llvm/lib/Support/YAMLTraits.cpp head/contrib/llvm-project/llvm/lib/Support/Z3Solver.cpp head/contrib/llvm-project/llvm/lib/Support/raw_ostream.cpp head/contrib/llvm-project/llvm/lib/Support/regcomp.c head/contrib/llvm-project/llvm/lib/TableGen/Error.cpp head/contrib/llvm-project/llvm/lib/TableGen/Main.cpp head/contrib/llvm-project/llvm/lib/TableGen/Record.cpp head/contrib/llvm-project/llvm/lib/TableGen/SetTheory.cpp head/contrib/llvm-project/llvm/lib/TableGen/TGLexer.cpp head/contrib/llvm-project/llvm/lib/TableGen/TGLexer.h head/contrib/llvm-project/llvm/lib/TableGen/TGParser.cpp head/contrib/llvm-project/llvm/lib/TableGen/TGParser.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CallLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CallLowering.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CallingConvention.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CallingConvention.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CallingConvention.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64FastISel.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstrAtomics.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstrFormats.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64LegalizerInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64RegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedPredicates.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64StackTagging.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64Subtarget.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64Subtarget.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64SystemOperands.td head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetObjectFile.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.h head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/SVEInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGISel.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.def head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInline.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/BUFInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/CaymanInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/DSInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/EvergreenInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/FLATInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNILPSched.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNRegPressure.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNSchedStrategy.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/MIMGInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600AsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600FrameLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600Instructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600MachineScheduler.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600Packetizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600RegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIAddIMGInit.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIDefines.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIFixupVectorISel.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIISelLowering.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIMachineScheduler.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIModeRegister.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIProgramInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SMInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/SOPInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h head/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOP1Instructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOP2Instructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOP3Instructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOP3PInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOPCInstructions.td head/contrib/llvm-project/llvm/lib/Target/AMDGPU/VOPInstructions.td head/contrib/llvm-project/llvm/lib/Target/ARC/ARCAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/ARCBranchFinalize.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/ARCFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/ARC/ARCISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/ARCInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/ARCInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/ARC/ARCMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/ARC/ARCOptAddrMode.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/ARCRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/ARCTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/Disassembler/ARCDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/ARC/TargetInfo/ARCTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/A15SDOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARM.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARM.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBaseInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBasicBlockInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMBasicBlockInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMCallLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMCallLowering.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMCallingConv.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMCallingConv.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMCallingConv.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMConstantPoolValue.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMFastISel.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMHazardRecognizer.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrMVE.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrNEON.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrThumb.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrThumb2.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrVFP.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMMCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMParallelDSP.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMPredicates.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMRegisterBankInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMScheduleA9.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMScheduleM4.td head/contrib/llvm-project/llvm/lib/Target/ARM/ARMSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMSubtarget.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMTargetMachine.h head/contrib/llvm-project/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ARMTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/MLxExpansionPass.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb1InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb1InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb2InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/ThumbRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/ARM/Utils/ARMBaseInfo.h head/contrib/llvm-project/llvm/lib/Target/AVR/AVRAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRISelLowering.h head/contrib/llvm-project/llvm/lib/Target/AVR/AVRInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/AVR/AVRInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/AVR/AVRInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/AVR/AVRRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AVRTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/AVR/TargetInfo/AVRTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPF.h head/contrib/llvm-project/llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFCORE.h head/contrib/llvm-project/llvm/lib/Target/BPF/BPFFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFISelLowering.h head/contrib/llvm-project/llvm/lib/Target/BPF/BPFInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/BPF/BPFInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/BPF/BPFMIChecking.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFMIPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BPFTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BTF.h head/contrib/llvm-project/llvm/lib/Target/BPF/BTFDebug.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/BTFDebug.h head/contrib/llvm-project/llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/BitTracker.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonBitTracker.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonBranchRelaxation.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonDepOperands.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonGenExtract.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonGenInsert.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonGenMux.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonIntrinsics.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonPatterns.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonPatternsHVX.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonPseudo.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonSplitConst32AndConst64.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonStoreWidening.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonSubtarget.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonVExtract.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCompound.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/RDFCopy.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/RDFDeadCode.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/RDFGraph.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/RDFLiveness.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/RDFRegisters.cpp head/contrib/llvm-project/llvm/lib/Target/Hexagon/RDFRegisters.h head/contrib/llvm-project/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiDelaySlotFiller.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiISelLowering.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430BranchSelector.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430FrameLowering.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430ISelLowering.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430MachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430Subtarget.h head/contrib/llvm-project/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/MSP430/TargetInfo/MSP430TargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MicroMips32r6InstrFormats.td head/contrib/llvm-project/llvm/lib/Target/Mips/MicroMips32r6InstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MicroMipsDSPInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MicroMipsInstrFPU.td head/contrib/llvm-project/llvm/lib/Target/Mips/MicroMipsInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Mips.td head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16ISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/Mips16InstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/Mips32r6InstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/Mips64InstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/Mips64r6InstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsCallLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsCallLowering.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsCallingConv.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsCondMov.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsDSPInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsExpandPseudo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsFastISel.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsISelDAGToDAG.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsISelLowering.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstrFPU.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsInstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsLegalizerInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsMCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsMCInstLower.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsMSAInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsOptimizePICCall.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsRegisterBankInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsRegisterBanks.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSEInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsScheduleGeneric.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsScheduleP5600.td head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsSubtarget.h head/contrib/llvm-project/llvm/lib/Target/Mips/MipsTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/Mips/MipsTargetStreamer.h head/contrib/llvm-project/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/ManagedStringPool.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTX.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXISelLowering.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXIntrinsics.td head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXUtilities.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVVMIntrRange.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/NVVMReflect.cpp head/contrib/llvm-project/llvm/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/P9InstrResources.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCBranchCoalescing.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCBranchSelector.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCFastISel.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstr64Bit.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrAltivec.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrHTM.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrVSX.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCQPXLoadSplat.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCVSXCopy.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h head/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVCallingConv.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoA.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoC.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoD.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoF.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoM.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVRegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSubtarget.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSubtarget.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVTargetMachine.h head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp head/contrib/llvm-project/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.h head/contrib/llvm-project/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/DelaySlotFiller.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/LeonPasses.h head/contrib/llvm-project/llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcISelLowering.h head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcInstr64Bit.td head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/SparcTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZ.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZAsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZCallingConv.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZCallingConv.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZElimCompare.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrFP.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrFormats.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZInstrVector.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZLongBranch.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZOperands.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZOperators.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZPatterns.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZProcessors.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZSchedule.td head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZShortenInst.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZTDC.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/TargetLoweringObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/TargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/TargetMachineC.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssembly.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyISD.def head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrConv.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyPeephole.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp head/contrib/llvm-project/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp head/contrib/llvm-project/llvm/lib/Target/X86/AsmParser/X86AsmParserCommon.h head/contrib/llvm-project/llvm/lib/Target/X86/AsmParser/X86Operand.h head/contrib/llvm-project/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp head/contrib/llvm-project/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp head/contrib/llvm-project/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86.h head/contrib/llvm-project/llvm/lib/Target/X86/X86.td head/contrib/llvm-project/llvm/lib/Target/X86/X86AsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86AsmPrinter.h head/contrib/llvm-project/llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86CallFrameOptimization.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86CallLowering.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86CallLowering.h head/contrib/llvm-project/llvm/lib/Target/X86/X86CallingConv.td head/contrib/llvm-project/llvm/lib/Target/X86/X86CmovConversion.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86CondBrFolding.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86DomainReassignment.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86EvexToVex.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86ExpandPseudo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FastISel.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FixupBWInsts.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FixupLEAs.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FixupSetCC.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FloatingPoint.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86FrameLowering.h head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.h head/contrib/llvm-project/llvm/lib/Target/X86/X86IndirectBranchTracking.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86InsertPrefetch.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrAVX512.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrArithmetic.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrBuilder.h head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrCMovSetCC.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrCompiler.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrControl.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrExtension.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFMA.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFPStack.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFoldTables.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFoldTables.h head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFormats.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrInfo.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrMMX.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrMPX.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrSSE.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrSystem.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrTSX.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstrXOP.td head/contrib/llvm-project/llvm/lib/Target/X86/X86InstructionSelector.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86IntrinsicsInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86LegalizerInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86LegalizerInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86MCInstLower.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86MacroFusion.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86OptimizeLEAs.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86PadShortFunction.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86PfmCounters.td head/contrib/llvm-project/llvm/lib/Target/X86/X86RegisterBankInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86RegisterBankInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86RegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86RegisterInfo.td head/contrib/llvm-project/llvm/lib/Target/X86/X86RetpolineThunks.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86SchedBroadwell.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SchedHaswell.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SchedPredicates.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SchedSandyBridge.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SchedSkylakeClient.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SchedSkylakeServer.td head/contrib/llvm-project/llvm/lib/Target/X86/X86Schedule.td head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleAtom.td head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleBdVer2.td head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleBtVer2.td head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleSLM.td head/contrib/llvm-project/llvm/lib/Target/X86/X86ScheduleZnver1.td head/contrib/llvm-project/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86Subtarget.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86Subtarget.h head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetMachine.h head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetObjectFile.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetObjectFile.h head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetTransformInfo.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetTransformInfo.h head/contrib/llvm-project/llvm/lib/Target/X86/X86VZeroUpper.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86WinAllocaExpander.cpp head/contrib/llvm-project/llvm/lib/Target/X86/X86WinEHState.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.h head/contrib/llvm-project/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/TargetInfo/XCoreTargetInfo.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreFrameLowering.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreFrameToArgsOffsetElim.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreInstrInfo.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreInstrInfo.h head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreTargetMachine.cpp head/contrib/llvm-project/llvm/lib/Target/XCore/XCoreTargetTransformInfo.h head/contrib/llvm-project/llvm/lib/TextAPI/MachO/Architecture.cpp head/contrib/llvm-project/llvm/lib/TextAPI/MachO/InterfaceFile.cpp head/contrib/llvm-project/llvm/lib/TextAPI/MachO/Symbol.cpp head/contrib/llvm-project/llvm/lib/TextAPI/MachO/TextStub.cpp head/contrib/llvm-project/llvm/lib/TextAPI/MachO/TextStubCommon.cpp head/contrib/llvm-project/llvm/lib/TextAPI/MachO/TextStubCommon.h head/contrib/llvm-project/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp head/contrib/llvm-project/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp head/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroCleanup.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroEarly.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroElide.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroFrame.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroInstr.h head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroInternal.h head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/Coroutines.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/AlwaysInliner.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/BlockExtractor.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/CalledValuePropagation.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/ConstantMerge.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/CrossDSOCFI.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/ElimAvailExtern.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/FunctionAttrs.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/FunctionImport.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/GlobalDCE.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/GlobalOpt.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/GlobalSplit.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/HotColdSplitting.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/IPO.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/InferFunctionAttrs.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/InlineSimple.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/Inliner.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/Internalize.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/LoopExtractor.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/LowerTypeTests.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/MergeFunctions.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/PartialInlining.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/PruneEH.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/SCCP.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/SampleProfile.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/StripDeadPrototypes.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/StripSymbols.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp head/contrib/llvm-project/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineInternal.h head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/CFGMST.h head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/InstrOrderFile.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/Instrumentation.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARCAPElim.cpp head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARCExpand.cpp head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp head/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/PtrState.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/ADCE.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/BDCE.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/ConstantProp.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/DCE.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/DivRemPairs.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/EarlyCSE.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/FlattenCFGPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/Float2Int.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVN.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVNHoist.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVNSink.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/GuardWidening.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/InstSimplifyPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/JumpThreading.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LICM.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopDeletion.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopDistribute.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopFuse.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopInterchange.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopPredication.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopRotation.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopSink.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerAtomic.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/LowerWidenableCondition.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/MergeICmps.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/NaryReassociate.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/NewGVN.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/Reassociate.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/Reg2Mem.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SCCP.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/Scalar.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/Scalarizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/Sink.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SpeculateAroundPHIs.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp head/contrib/llvm-project/llvm/lib/Transforms/Scalar/WarnMissedTransforms.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/AddDiscriminators.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/BuildLibCalls.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/CanonicalizeAliases.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/CloneFunction.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/CloneModule.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/CodeExtractor.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/Evaluator.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/FlattenCFG.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/GuardUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/InlineFunction.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/InstructionNamer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LCSSA.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/Local.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopRotationUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopSimplify.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopUnroll.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LoopVersioning.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LowerInvoke.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/LowerSwitch.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/Mem2Reg.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/MetaRenamer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/ModuleUtils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/NameAnonGlobals.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/PredicateInfo.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/SizeOpts.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/StripGCRelocates.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/SymbolRewriter.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/Utils.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/VNCoercion.cpp head/contrib/llvm-project/llvm/lib/Transforms/Utils/ValueMapper.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlan.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlan.h head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanSLP.cpp head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanValue.h head/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp head/contrib/llvm-project/llvm/lib/WindowsManifest/WindowsManifestMerger.cpp head/contrib/llvm-project/llvm/lib/XRay/FDRRecordProducer.cpp head/contrib/llvm-project/llvm/lib/XRay/FileHeaderReader.cpp head/contrib/llvm-project/llvm/lib/XRay/InstrumentationMap.cpp head/contrib/llvm-project/llvm/lib/XRay/Profile.cpp head/contrib/llvm-project/llvm/lib/XRay/RecordInitializer.cpp head/contrib/llvm-project/llvm/lib/XRay/Trace.cpp head/contrib/llvm-project/llvm/tools/bugpoint/BugDriver.h head/contrib/llvm-project/llvm/tools/bugpoint/CrashDebugger.cpp head/contrib/llvm-project/llvm/tools/bugpoint/ExtractFunction.cpp head/contrib/llvm-project/llvm/tools/bugpoint/OptimizerDriver.cpp head/contrib/llvm-project/llvm/tools/bugpoint/ToolRunner.cpp head/contrib/llvm-project/llvm/tools/bugpoint/bugpoint.cpp head/contrib/llvm-project/llvm/tools/llc/llc.cpp head/contrib/llvm-project/llvm/tools/lli/RemoteJITUtils.h head/contrib/llvm-project/llvm/tools/lli/lli.cpp head/contrib/llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp head/contrib/llvm-project/llvm/tools/llvm-as/llvm-as.cpp head/contrib/llvm-project/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/CodeCoverage.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/CoverageExporterJson.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/SourceCoverageView.cpp head/contrib/llvm-project/llvm/tools/llvm-cov/TestingSupport.cpp head/contrib/llvm-project/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp head/contrib/llvm-project/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp head/contrib/llvm-project/llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp head/contrib/llvm-project/llvm/tools/llvm-diff/DifferenceEngine.cpp head/contrib/llvm-project/llvm/tools/llvm-dis/llvm-dis.cpp head/contrib/llvm-project/llvm/tools/llvm-dwarfdump/Statistics.cpp head/contrib/llvm-project/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp head/contrib/llvm-project/llvm/tools/llvm-extract/llvm-extract.cpp head/contrib/llvm-project/llvm/tools/llvm-link/llvm-link.cpp head/contrib/llvm-project/llvm/tools/llvm-lto/llvm-lto.cpp head/contrib/llvm-project/llvm/tools/llvm-lto2/llvm-lto2.cpp head/contrib/llvm-project/llvm/tools/llvm-mc/Disassembler.cpp head/contrib/llvm-project/llvm/tools/llvm-mc/Disassembler.h head/contrib/llvm-project/llvm/tools/llvm-mc/llvm-mc.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/CodeRegion.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/CodeRegionGenerator.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/Views/BottleneckAnalysis.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/Views/BottleneckAnalysis.h head/contrib/llvm-project/llvm/tools/llvm-mca/Views/DispatchStatistics.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/Views/InstructionInfoView.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/Views/InstructionInfoView.h head/contrib/llvm-project/llvm/tools/llvm-mca/Views/ResourcePressureView.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/Views/RetireControlUnitStatistics.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/Views/SchedulerStatistics.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/Views/SummaryView.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/Views/TimelineView.cpp head/contrib/llvm-project/llvm/tools/llvm-mca/Views/TimelineView.h head/contrib/llvm-project/llvm/tools/llvm-mca/llvm-mca.cpp head/contrib/llvm-project/llvm/tools/llvm-modextract/llvm-modextract.cpp head/contrib/llvm-project/llvm/tools/llvm-nm/llvm-nm.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/COFF/Object.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/COFF/Reader.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/COFF/Writer.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/CopyConfig.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/CopyConfig.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/Object.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/Object.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOReader.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOReader.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOWriter.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/MachOWriter.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/Object.cpp head/contrib/llvm-project/llvm/tools/llvm-objcopy/MachO/Object.h head/contrib/llvm-project/llvm/tools/llvm-objcopy/ObjcopyOpts.td head/contrib/llvm-project/llvm/tools/llvm-objcopy/StripOpts.td head/contrib/llvm-project/llvm/tools/llvm-objcopy/llvm-objcopy.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/COFFDump.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/ELFDump.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/MachODump.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/llvm-objdump.cpp head/contrib/llvm-project/llvm/tools/llvm-objdump/llvm-objdump.h head/contrib/llvm-project/llvm/tools/llvm-pdbutil/BytesOutputStyle.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/InputFile.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/InputFile.h head/contrib/llvm-project/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp head/contrib/llvm-project/llvm/tools/llvm-profdata/llvm-profdata.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/ARMEHABIPrinter.h head/contrib/llvm-project/llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/COFFDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h head/contrib/llvm-project/llvm/tools/llvm-readobj/ELFDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/MachODumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/ObjDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/ObjDumper.h head/contrib/llvm-project/llvm/tools/llvm-readobj/WasmDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/Win64EHDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/WindowsResourceDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/XCOFFDumper.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/llvm-readobj.cpp head/contrib/llvm-project/llvm/tools/llvm-readobj/llvm-readobj.h head/contrib/llvm-project/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp head/contrib/llvm-project/llvm/tools/llvm-stress/llvm-stress.cpp head/contrib/llvm-project/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/func-id-helper.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/xray-account.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/xray-converter.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/xray-extract.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/xray-fdr-dump.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/xray-graph-diff.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/xray-graph.cpp head/contrib/llvm-project/llvm/tools/llvm-xray/xray-stacks.cpp head/contrib/llvm-project/llvm/tools/opt/NewPMDriver.cpp head/contrib/llvm-project/llvm/tools/opt/PassPrinters.cpp head/contrib/llvm-project/llvm/tools/opt/PassPrinters.h head/contrib/llvm-project/llvm/tools/opt/opt.cpp head/contrib/llvm-project/llvm/utils/TableGen/AsmMatcherEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/AsmWriterEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/AsmWriterInst.h head/contrib/llvm-project/llvm/utils/TableGen/CallingConvEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeEmitterGen.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.h head/contrib/llvm-project/llvm/utils/TableGen/CodeGenInstruction.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenInstruction.h head/contrib/llvm-project/llvm/utils/TableGen/CodeGenIntrinsics.h head/contrib/llvm-project/llvm/utils/TableGen/CodeGenMapTable.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenRegisters.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenRegisters.h head/contrib/llvm-project/llvm/utils/TableGen/CodeGenSchedule.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenTarget.cpp head/contrib/llvm-project/llvm/utils/TableGen/CodeGenTarget.h head/contrib/llvm-project/llvm/utils/TableGen/DAGISelEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/DAGISelMatcher.h head/contrib/llvm-project/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/DAGISelMatcherGen.cpp head/contrib/llvm-project/llvm/utils/TableGen/DAGISelMatcherOpt.cpp head/contrib/llvm-project/llvm/utils/TableGen/DFAPacketizerEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/DisassemblerEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/InfoByHwMode.cpp head/contrib/llvm-project/llvm/utils/TableGen/InfoByHwMode.h head/contrib/llvm-project/llvm/utils/TableGen/InstrDocsEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/InstrInfoEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/IntrinsicEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/OptParserEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/RISCVCompressInstEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/RegisterInfoEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/SearchableTableEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/SequenceToOffsetTable.h head/contrib/llvm-project/llvm/utils/TableGen/SubtargetEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/SubtargetFeatureInfo.cpp head/contrib/llvm-project/llvm/utils/TableGen/TableGen.cpp head/contrib/llvm-project/llvm/utils/TableGen/TableGenBackends.h head/contrib/llvm-project/llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/X86DisassemblerTables.cpp head/contrib/llvm-project/llvm/utils/TableGen/X86EVEX2VEXTablesEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/X86FoldTablesEmitter.cpp head/contrib/llvm-project/llvm/utils/TableGen/X86RecognizableInstr.cpp head/contrib/llvm-project/openmp/CREDITS.txt head/contrib/llvm-project/openmp/runtime/src/extractExternal.cpp head/contrib/llvm-project/openmp/runtime/src/i18n/en_US.txt head/contrib/llvm-project/openmp/runtime/src/include/omp_lib.f.var head/contrib/llvm-project/openmp/runtime/src/kmp.h head/contrib/llvm-project/openmp/runtime/src/kmp_affinity.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_affinity.h head/contrib/llvm-project/openmp/runtime/src/kmp_alloc.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_atomic.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_barrier.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_csupport.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_dispatch.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_dispatch_hier.h head/contrib/llvm-project/openmp/runtime/src/kmp_ftn_entry.h head/contrib/llvm-project/openmp/runtime/src/kmp_ftn_os.h head/contrib/llvm-project/openmp/runtime/src/kmp_global.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_gsupport.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_itt.inl head/contrib/llvm-project/openmp/runtime/src/kmp_lock.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_lock.h head/contrib/llvm-project/openmp/runtime/src/kmp_os.h head/contrib/llvm-project/openmp/runtime/src/kmp_platform.h head/contrib/llvm-project/openmp/runtime/src/kmp_runtime.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_settings.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_stats.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_str.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_stub.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_taskdeps.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_tasking.cpp head/contrib/llvm-project/openmp/runtime/src/kmp_wait_release.h head/contrib/llvm-project/openmp/runtime/src/kmp_wrapper_getpid.h head/contrib/llvm-project/openmp/runtime/src/kmp_wrapper_malloc.h head/contrib/llvm-project/openmp/runtime/src/ompt-event-specific.h head/contrib/llvm-project/openmp/runtime/src/ompt-general.cpp head/contrib/llvm-project/openmp/runtime/src/ompt-internal.h head/contrib/llvm-project/openmp/runtime/src/ompt-specific.cpp head/contrib/llvm-project/openmp/runtime/src/ompt-specific.h head/contrib/llvm-project/openmp/runtime/src/thirdparty/ittnotify/ittnotify.h head/contrib/llvm-project/openmp/runtime/src/thirdparty/ittnotify/ittnotify_config.h head/contrib/llvm-project/openmp/runtime/src/thirdparty/ittnotify/legacy/ittnotify.h head/contrib/llvm-project/openmp/runtime/src/z_Linux_asm.S head/contrib/llvm-project/openmp/runtime/src/z_Linux_util.cpp head/contrib/llvm-project/openmp/runtime/src/z_Windows_NT_util.cpp head/etc/mtree/BSD.debug.dist head/etc/mtree/BSD.usr.dist head/lib/clang/freebsd_cc_version.h head/lib/clang/headers/Makefile head/lib/clang/include/VCSVersion.inc head/lib/clang/include/clang/Basic/Version.inc head/lib/clang/include/clang/Config/config.h head/lib/clang/include/lld/Common/Version.inc head/lib/clang/include/lldb/Host/Config.h head/lib/clang/include/llvm/Config/config.h head/lib/clang/include/llvm/Config/llvm-config.h head/lib/clang/include/llvm/Support/VCSRevision.h head/lib/clang/libclang/Makefile head/lib/clang/liblldb/Makefile head/lib/clang/libllvm/Makefile head/lib/clang/libllvmminimal/Makefile head/lib/clang/llvm.build.mk head/lib/csu/arm/Makefile head/lib/libc++/Makefile head/lib/libclang_rt/Makefile.inc head/lib/libclang_rt/asan-preinit/Makefile head/lib/libclang_rt/asan/Makefile head/lib/libclang_rt/asan_cxx/Makefile head/lib/libclang_rt/asan_dynamic/Makefile head/lib/libclang_rt/cfi/Makefile head/lib/libclang_rt/cfi_diag/Makefile head/lib/libclang_rt/dd/Makefile head/lib/libclang_rt/fuzzer/Makefile head/lib/libclang_rt/fuzzer_no_main/Makefile head/lib/libclang_rt/include/Makefile head/lib/libclang_rt/msan/Makefile head/lib/libclang_rt/msan_cxx/Makefile head/lib/libclang_rt/profile/Makefile head/lib/libclang_rt/safestack/Makefile head/lib/libclang_rt/stats/Makefile head/lib/libclang_rt/stats_client/Makefile head/lib/libclang_rt/tsan/Makefile head/lib/libclang_rt/tsan_cxx/Makefile head/lib/libclang_rt/ubsan_minimal/Makefile head/lib/libclang_rt/ubsan_standalone/Makefile head/lib/libclang_rt/ubsan_standalone_cxx/Makefile head/lib/libclang_rt/xray-basic/Makefile head/lib/libclang_rt/xray-fdr/Makefile head/lib/libclang_rt/xray-profiling/Makefile head/lib/libclang_rt/xray/Makefile head/lib/libcompiler_rt/Makefile.inc head/lib/libomp/Makefile head/share/mk/bsd.linker.mk head/sys/sys/param.h head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.bin/clang/clang-tblgen/Makefile head/usr.bin/clang/clang/Makefile head/usr.bin/clang/lld/Makefile head/usr.bin/clang/lldb-tblgen/Makefile head/usr.bin/clang/lldb/Makefile head/usr.bin/clang/llvm-objcopy/Makefile head/usr.bin/clang/llvm-pdbutil/Makefile head/usr.bin/clang/llvm-tblgen/Makefile head/usr.bin/clang/opt/Makefile Directory Properties: head/ (props changed) head/cddl/ (props changed) head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) head/contrib/apr/ (props changed) head/contrib/binutils/ (props changed) head/contrib/bmake/ (props changed) head/contrib/elftoolchain/ (props changed) head/contrib/file/ (props changed) head/contrib/ipfilter/ (props changed) head/contrib/libarchive/ (props changed) head/contrib/libxo/ (props changed) head/contrib/llvm-project/ (props changed) head/contrib/llvm-project/clang/ (props changed) head/contrib/llvm-project/compiler-rt/ (props changed) head/contrib/llvm-project/libcxx/ (props changed) head/contrib/llvm-project/libunwind/ (props changed) head/contrib/llvm-project/lld/ (props changed) head/contrib/llvm-project/lldb/ (props changed) head/contrib/llvm-project/llvm/ (props changed) head/contrib/llvm-project/openmp/ (props changed) head/contrib/ncurses/ (props changed) head/contrib/netbsd-tests/ (props changed) head/contrib/ntp/ (props changed) head/contrib/sendmail/ (props changed) head/contrib/sqlite3/ (props changed) head/contrib/tnftp/ (props changed) head/contrib/xz/ (props changed) head/crypto/openssh/ (props changed) head/gnu/lib/ (props changed) head/gnu/usr.bin/binutils/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) head/sys/contrib/ck/ (props changed) head/sys/contrib/dev/acpica/ (props changed) head/sys/contrib/ipfilter/ (props changed) head/sys/dev/syscons/scterm-dumb.c (props changed) head/sys/dev/syscons/scterm-sc.c (props changed) head/sys/gnu/dts/arm/ (props changed) head/sys/gnu/dts/arm64/ (props changed) head/sys/gnu/dts/include/ (props changed) head/sys/gnu/dts/riscv/ (props changed) head/usr.sbin/bhyve/rfb.c (props changed) Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Tue Mar 10 17:55:48 2020 (r358850) +++ head/ObsoleteFiles.inc Tue Mar 10 18:17:17 2020 (r358851) @@ -36,6 +36,243 @@ # xargs -n1 | sort | uniq -d; # done +# 20200310: new clang import which bumps version from 9.0.1 to 10.0.0. +OLD_FILES+=usr/lib/clang/9.0.1/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/9.0.1/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/9.0.1/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/9.0.1/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/9.0.1/include/openmp_wrappers/__clang_openmp_math.h +OLD_FILES+=usr/lib/clang/9.0.1/include/openmp_wrappers/__clang_openmp_math_declares.h +OLD_FILES+=usr/lib/clang/9.0.1/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/9.0.1/include/openmp_wrappers/math.h +OLD_DIRS+=usr/lib/clang/9.0.1/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/9.0.1/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/9.0.1/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/9.0.1/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sanitizer/tsan_interface_atomic.h +OLD_DIRS+=usr/lib/clang/9.0.1/include/sanitizer +OLD_FILES+=usr/lib/clang/9.0.1/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/9.0.1/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/9.0.1/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/9.0.1/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/9.0.1/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/9.0.1/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/9.0.1/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/9.0.1/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/9.0.1/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/9.0.1/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/9.0.1/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/9.0.1/include/adxintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/altivec.h +OLD_FILES+=usr/lib/clang/9.0.1/include/ammintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/arm64intr.h +OLD_FILES+=usr/lib/clang/9.0.1/include/arm_acle.h +OLD_FILES+=usr/lib/clang/9.0.1/include/arm_fp16.h +OLD_FILES+=usr/lib/clang/9.0.1/include/arm_neon.h +OLD_FILES+=usr/lib/clang/9.0.1/include/armintr.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512bf16intrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512bitalgintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512ifmaintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512ifmavlintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512pfintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vbmi2intrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vbmiintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vbmivlintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vlbf16intrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vlbitalgintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vlcdintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vlvbmi2intrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vlvnniintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vlvp2intersectintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vnniintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vp2intersectintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vpopcntdqintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avx512vpopcntdqvlintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/avxintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/cetintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/cldemoteintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/clflushoptintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/clwbintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/clzerointrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/cpuid.h +OLD_FILES+=usr/lib/clang/9.0.1/include/emmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/enqcmdintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/gfniintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/htmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/immintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/invpcidintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/lwpintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/9.0.1/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/9.0.1/include/mmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/module.modulemap +OLD_FILES+=usr/lib/clang/9.0.1/include/movdirintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/msa.h +OLD_FILES+=usr/lib/clang/9.0.1/include/mwaitxintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/opencl-c-base.h +OLD_FILES+=usr/lib/clang/9.0.1/include/opencl-c.h +OLD_FILES+=usr/lib/clang/9.0.1/include/pconfigintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/pkuintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/ptwriteintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/s390intrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/sgxintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/shaintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/smmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/vadefs.h +OLD_FILES+=usr/lib/clang/9.0.1/include/vaesintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/vecintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/vpclmulqdqintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/waitpkgintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/wbnoinvdintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/x86intrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/xopintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/xsavecintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/xsaveintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/xsaveoptintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/xsavesintrin.h +OLD_FILES+=usr/lib/clang/9.0.1/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/9.0.1/include +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-aarch64.so +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-arm.so +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-armhf.so +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-preinit-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-preinit-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-preinit-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan-x86_64.so +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan_cxx-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan_cxx-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.cfi-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.cfi-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.cfi-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.cfi-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.cfi-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.cfi_diag-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.cfi_diag-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.cfi_diag-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.cfi_diag-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.cfi_diag-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.dd-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.dd-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.fuzzer-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.msan-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.msan-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.msan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.msan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.profile-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.profile-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.profile-powerpc.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.profile-powerpc64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.safestack-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.stats-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.stats-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.stats-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.stats-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.stats_client-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.stats_client-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.stats_client-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.stats_client-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.tsan-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.tsan-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_minimal-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_minimal-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_standalone-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-basic-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-basic-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-basic-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-basic-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-fdr-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-fdr-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-fdr-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-fdr-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-profiling-aarch64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-profiling-arm.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-profiling-armhf.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-profiling-x86_64.a +OLD_FILES+=usr/lib/clang/9.0.1/lib/freebsd/libclang_rt.xray-x86_64.a +OLD_DIRS+=usr/lib/clang/9.0.1/lib/freebsd +OLD_DIRS+=usr/lib/clang/9.0.1/lib +OLD_DIRS+=usr/lib/clang/9.0.1 + # 20200309: amd(8) retired OLD_FILES+=etc/amd.map OLD_FILES+=etc/newsyslog.conf.d/amd.conf Modified: head/UPDATING ============================================================================== --- head/UPDATING Tue Mar 10 17:55:48 2020 (r358850) +++ head/UPDATING Tue Mar 10 18:17:17 2020 (r358851) @@ -26,6 +26,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20200310: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 10.0.0. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + 20200309: The amd(8) automount daemon has been removed from the source tree. As of FreeBSD 10.1 autofs(5) is the preferred tool for automounting. Modified: head/contrib/llvm-project/FREEBSD-Xlist ============================================================================== --- head/contrib/llvm-project/FREEBSD-Xlist Tue Mar 10 17:55:48 2020 (r358850) +++ head/contrib/llvm-project/FREEBSD-Xlist Tue Mar 10 18:17:17 2020 (r358851) @@ -2,7 +2,9 @@ .arcconfig .clang-format .clang-tidy +.git-blame-ignore-revs .gitignore +CONTRIBUTING.md README.md clang/.arcconfig clang/.clang-format @@ -70,6 +72,7 @@ clang/lib/Tooling/DependencyScanning/CMakeLists.txt clang/lib/Tooling/Inclusions/CMakeLists.txt clang/lib/Tooling/Refactoring/CMakeLists.txt clang/lib/Tooling/Syntax/CMakeLists.txt +clang/lib/Tooling/Transformer/CMakeLists.txt clang/runtime/ clang/test/ clang/tools/CMakeLists.txt @@ -92,6 +95,7 @@ clang/tools/clang-format-vs/ clang/tools/clang-fuzzer/ clang/tools/clang-import-test/ clang/tools/clang-offload-bundler/ +clang/tools/clang-offload-wrapper/ clang/tools/clang-refactor/ clang/tools/clang-rename/ clang/tools/clang-scan-deps/ @@ -121,6 +125,7 @@ clang/utils/bash-autocomplete.sh clang/utils/builtin-defines.c clang/utils/check_cfc/ clang/utils/clangdiag.py +clang/utils/convert_arm_neon.py clang/utils/creduce-clang-crash.py clang/utils/find-unused-diagnostics.sh clang/utils/hmaptool/ @@ -159,9 +164,11 @@ compiler-rt/lib/fuzzer/scripts/ compiler-rt/lib/fuzzer/standalone/ compiler-rt/lib/fuzzer/tests/ compiler-rt/lib/gwp_asan/CMakeLists.txt +compiler-rt/lib/gwp_asan/scripts/ compiler-rt/lib/gwp_asan/tests/ compiler-rt/lib/hwasan/.clang-format compiler-rt/lib/hwasan/CMakeLists.txt +compiler-rt/lib/hwasan/scripts/ compiler-rt/lib/interception/.clang-format compiler-rt/lib/interception/CMakeLists.txt compiler-rt/lib/interception/tests/ @@ -180,6 +187,7 @@ compiler-rt/lib/sanitizer_common/scripts/ compiler-rt/lib/sanitizer_common/tests/ compiler-rt/lib/scudo/CMakeLists.txt compiler-rt/lib/scudo/standalone/CMakeLists.txt +compiler-rt/lib/scudo/standalone/benchmarks/ compiler-rt/lib/scudo/standalone/tests/ compiler-rt/lib/stats/CMakeLists.txt compiler-rt/lib/tsan/.clang-format @@ -196,10 +204,12 @@ compiler-rt/lib/ubsan_minimal/CMakeLists.txt compiler-rt/lib/xray/CMakeLists.txt compiler-rt/lib/xray/tests/ compiler-rt/test/ +compiler-rt/tools/ compiler-rt/unittests/ compiler-rt/utils/ compiler-rt/www/ debuginfo-tests/ +libc/ libclc/ libcxx/.arcconfig libcxx/.clang-format @@ -217,6 +227,7 @@ libcxx/include/CMakeLists.txt libcxx/include/__config_site.in libcxx/include/support/ libcxx/lib/ +libcxx/src/CMakeLists.txt libcxx/src/support/solaris/ libcxx/src/support/win32/ libcxx/test/ @@ -230,9 +241,21 @@ libunwind/cmake/ libunwind/docs/ libunwind/src/CMakeLists.txt libunwind/test/ +lld/CMakeLists.txt +lld/COFF/CMakeLists.txt +lld/Common/CMakeLists.txt +lld/ELF/CMakeLists.txt lld/MinGW/ lld/cmake/ +lld/docs/CMakeLists.txt +lld/lib/CMakeLists.txt +lld/lib/Core/CMakeLists.txt +lld/lib/Driver/CMakeLists.txt +lld/lib/ReaderWriter/CMakeLists.txt +lld/lib/ReaderWriter/MachO/CMakeLists.txt +lld/lib/ReaderWriter/YAML/CMakeLists.txt lld/test/ +lld/tools/lld/CMakeLists.txt lld/unittests/ lld/utils/ lld/wasm/ @@ -241,7 +264,7 @@ lldb/.clang-format lldb/.gitignore lldb/CMakeLists.txt lldb/CODE_OWNERS.txt -lldb/INSTALL.txt +lldb/bindings/ lldb/cmake/ lldb/docs/.htaccess lldb/docs/CMakeLists.txt @@ -259,14 +282,10 @@ lldb/docs/structured_data/ lldb/docs/testsuite/ lldb/docs/use/ lldb/examples/ -lldb/include/lldb/Host/Config.h lldb/include/lldb/Host/android/ lldb/include/lldb/Host/linux/ lldb/include/lldb/Host/macosx/ lldb/include/lldb/Host/windows/ -lldb/lit/ -lldb/lldb.xcodeproj/ -lldb/lldb.xcworkspace/ lldb/packages/ lldb/resources/ lldb/scripts/ @@ -288,6 +307,7 @@ lldb/source/Plugins/ABI/CMakeLists.txt lldb/source/Plugins/ABI/MacOSX-arm/CMakeLists.txt lldb/source/Plugins/ABI/MacOSX-arm64/CMakeLists.txt lldb/source/Plugins/ABI/MacOSX-i386/CMakeLists.txt +lldb/source/Plugins/ABI/SysV-arc/CMakeLists.txt lldb/source/Plugins/ABI/SysV-arm/CMakeLists.txt lldb/source/Plugins/ABI/SysV-arm64/CMakeLists.txt lldb/source/Plugins/ABI/SysV-hexagon/CMakeLists.txt @@ -377,6 +397,7 @@ lldb/source/Plugins/Process/gdb-remote/CMakeLists.txt lldb/source/Plugins/Process/mach-core/ lldb/source/Plugins/Process/minidump/CMakeLists.txt lldb/source/Plugins/ScriptInterpreter/CMakeLists.txt +lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt lldb/source/Plugins/ScriptInterpreter/None/CMakeLists.txt lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt lldb/source/Plugins/StructuredData/CMakeLists.txt @@ -405,11 +426,9 @@ lldb/tools/darwin-debug/ lldb/tools/darwin-threads/ lldb/tools/debugserver/ lldb/tools/driver/CMakeLists.txt -lldb/tools/driver/lldb-Info.plist +lldb/tools/driver/lldb-Info.plist.in lldb/tools/intel-features/ lldb/tools/lldb-instr/CMakeLists.txt -lldb/tools/lldb-mi/CMakeLists.txt -lldb/tools/lldb-mi/lldb-Info.plist lldb/tools/lldb-perf/ lldb/tools/lldb-server/CMakeLists.txt lldb/tools/lldb-test/ @@ -417,14 +436,10 @@ lldb/tools/lldb-vscode/ lldb/unittests/ lldb/use_lldb_suite_root.py lldb/utils/TableGen/CMakeLists.txt -lldb/utils/git-svn/ lldb/utils/lit-cpuid/ lldb/utils/lldb-dotest/ lldb/utils/lui/ -lldb/utils/misc/ -lldb/utils/sync-source/ lldb/utils/test/ -lldb/utils/vim-lldb/ llgo/ llvm/.arcconfig llvm/.clang-format @@ -477,6 +492,8 @@ llvm/lib/CodeGen/MIRParser/LLVMBuild.txt llvm/lib/CodeGen/README.txt llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt llvm/lib/CodeGen/SelectionDAG/LLVMBuild.txt +llvm/lib/DWARFLinker/CMakeLists.txt +llvm/lib/DWARFLinker/LLVMBuild.txt llvm/lib/DebugInfo/CMakeLists.txt llvm/lib/DebugInfo/CodeView/CMakeLists.txt llvm/lib/DebugInfo/CodeView/LLVMBuild.txt @@ -507,10 +524,16 @@ llvm/lib/ExecutionEngine/OProfileJIT/CMakeLists.txt llvm/lib/ExecutionEngine/OProfileJIT/LLVMBuild.txt llvm/lib/ExecutionEngine/Orc/CMakeLists.txt llvm/lib/ExecutionEngine/Orc/LLVMBuild.txt +llvm/lib/ExecutionEngine/OrcError/CMakeLists.txt +llvm/lib/ExecutionEngine/OrcError/LLVMBuild.txt llvm/lib/ExecutionEngine/PerfJITEvents/CMakeLists.txt llvm/lib/ExecutionEngine/PerfJITEvents/LLVMBuild.txt llvm/lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt llvm/lib/ExecutionEngine/RuntimeDyld/LLVMBuild.txt +llvm/lib/Frontend/CMakeLists.txt +llvm/lib/Frontend/LLVMBuild.txt +llvm/lib/Frontend/OpenMP/CMakeLists.txt +llvm/lib/Frontend/OpenMP/LLVMBuild.txt llvm/lib/FuzzMutate/CMakeLists.txt llvm/lib/FuzzMutate/LLVMBuild.txt llvm/lib/Fuzzer/ @@ -713,6 +736,14 @@ llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt llvm/lib/Target/SystemZ/MCTargetDesc/LLVMBuild.txt llvm/lib/Target/SystemZ/TargetInfo/CMakeLists.txt llvm/lib/Target/SystemZ/TargetInfo/LLVMBuild.txt +llvm/lib/Target/VE/CMakeLists.txt +llvm/lib/Target/VE/InstPrinter/CMakeLists.txt +llvm/lib/Target/VE/InstPrinter/LLVMBuild.txt +llvm/lib/Target/VE/LLVMBuild.txt +llvm/lib/Target/VE/MCTargetDesc/CMakeLists.txt +llvm/lib/Target/VE/MCTargetDesc/LLVMBuild.txt +llvm/lib/Target/VE/TargetInfo/CMakeLists.txt +llvm/lib/Target/VE/TargetInfo/LLVMBuild.txt llvm/lib/Target/WebAssembly/AsmParser/CMakeLists.txt llvm/lib/Target/WebAssembly/AsmParser/LLVMBuild.txt llvm/lib/Target/WebAssembly/CMakeLists.txt @@ -762,6 +793,8 @@ llvm/lib/ToolDrivers/llvm-lib/CMakeLists.txt llvm/lib/ToolDrivers/llvm-lib/LLVMBuild.txt llvm/lib/Transforms/AggressiveInstCombine/CMakeLists.txt llvm/lib/Transforms/AggressiveInstCombine/LLVMBuild.txt +llvm/lib/Transforms/CFGuard/CMakeLists.txt +llvm/lib/Transforms/CFGuard/LLVMBuild.txt llvm/lib/Transforms/CMakeLists.txt llvm/lib/Transforms/Coroutines/CMakeLists.txt llvm/lib/Transforms/Coroutines/LLVMBuild.txt @@ -835,6 +868,7 @@ llvm/tools/llvm-exegesis/ llvm/tools/llvm-extract/CMakeLists.txt llvm/tools/llvm-extract/LLVMBuild.txt llvm/tools/llvm-go/ +llvm/tools/llvm-ifs/ llvm/tools/llvm-isel-fuzzer/ llvm/tools/llvm-itanium-demangle-fuzzer/ llvm/tools/llvm-jitlink/ @@ -871,6 +905,7 @@ llvm/tools/llvm-profdata/LLVMBuild.txt llvm/tools/llvm-rc/ llvm/tools/llvm-readobj/CMakeLists.txt llvm/tools/llvm-readobj/LLVMBuild.txt +llvm/tools/llvm-reduce/ llvm/tools/llvm-rtdyld/CMakeLists.txt llvm/tools/llvm-rtdyld/LLVMBuild.txt llvm/tools/llvm-shlib/ @@ -894,6 +929,7 @@ llvm/tools/remarks-shlib/ llvm/tools/sancov/ llvm/tools/sanstats/ llvm/tools/verify-uselistorder/ +llvm/tools/vfabi-demangle-fuzzer/ llvm/tools/xcode-toolchain/ llvm/tools/yaml2obj/ llvm/unittests/ @@ -910,12 +946,14 @@ llvm/utils/Misc/ llvm/utils/PerfectShuffle/ llvm/utils/Reviewing/ llvm/utils/TableGen/CMakeLists.txt +llvm/utils/TableGen/GlobalISel/CMakeLists.txt llvm/utils/TableGen/LLVMBuild.txt llvm/utils/TableGen/tdtags llvm/utils/Target/ llvm/utils/UpdateCMakeLists.pl llvm/utils/UpdateTestChecks/ llvm/utils/abtest.py +llvm/utils/add_argument_names.py llvm/utils/benchmark/ llvm/utils/bisect llvm/utils/bisect-skip-count @@ -953,6 +991,7 @@ llvm/utils/llvm-build/ llvm/utils/llvm-compilers-check llvm/utils/llvm-gisel-cov.py llvm/utils/llvm-lit/ +llvm/utils/llvm-locstats/ llvm/utils/llvm-native-gxx llvm/utils/llvm.grm llvm/utils/llvmdo @@ -980,6 +1019,7 @@ llvm/utils/vim/ llvm/utils/vscode/ llvm/utils/wciia.py llvm/utils/yaml-bench/ +mlir/ openmp/.arcconfig openmp/.gitignore openmp/CMakeLists.txt @@ -994,6 +1034,7 @@ openmp/runtime/doc/ openmp/runtime/src/CMakeLists.txt openmp/runtime/test/ openmp/runtime/tools/ +openmp/tools/ openmp/www/ parallel-libs/ polly/ Modified: head/contrib/llvm-project/clang/include/clang-c/BuildSystem.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang-c/BuildSystem.h Tue Mar 10 17:55:48 2020 (r358850) +++ head/contrib/llvm-project/clang/include/clang-c/BuildSystem.h Tue Mar 10 18:17:17 2020 (r358851) @@ -14,13 +14,12 @@ #ifndef LLVM_CLANG_C_BUILDSYSTEM_H #define LLVM_CLANG_C_BUILDSYSTEM_H -#include "clang-c/Platform.h" #include "clang-c/CXErrorCode.h" #include "clang-c/CXString.h" +#include "clang-c/ExternC.h" +#include "clang-c/Platform.h" -#ifdef __cplusplus -extern "C" { -#endif +LLVM_CLANG_C_EXTERN_C_BEGIN /** * \defgroup BUILD_SYSTEM Build system utilities @@ -148,9 +147,7 @@ CINDEX_LINKAGE void clang_ModuleMapDescriptor_dispose( * @} */ -#ifdef __cplusplus -} -#endif +LLVM_CLANG_C_EXTERN_C_END #endif /* CLANG_C_BUILD_SYSTEM_H */ Modified: head/contrib/llvm-project/clang/include/clang-c/CXCompilationDatabase.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang-c/CXCompilationDatabase.h Tue Mar 10 17:55:48 2020 (r358850) +++ head/contrib/llvm-project/clang/include/clang-c/CXCompilationDatabase.h Tue Mar 10 18:17:17 2020 (r358851) @@ -15,12 +15,11 @@ #ifndef LLVM_CLANG_C_CXCOMPILATIONDATABASE_H #define LLVM_CLANG_C_CXCOMPILATIONDATABASE_H -#include "clang-c/Platform.h" #include "clang-c/CXString.h" +#include "clang-c/ExternC.h" +#include "clang-c/Platform.h" -#ifdef __cplusplus -extern "C" { -#endif +LLVM_CLANG_C_EXTERN_C_BEGIN /** \defgroup COMPILATIONDB CompilationDatabase functions * \ingroup CINDEX @@ -169,8 +168,7 @@ clang_CompileCommand_getMappedSourceContent(CXCompileC * @} */ -#ifdef __cplusplus -} -#endif +LLVM_CLANG_C_EXTERN_C_END + #endif Modified: head/contrib/llvm-project/clang/include/clang-c/CXErrorCode.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang-c/CXErrorCode.h Tue Mar 10 17:55:48 2020 (r358850) +++ head/contrib/llvm-project/clang/include/clang-c/CXErrorCode.h Tue Mar 10 18:17:17 2020 (r358851) @@ -14,11 +14,10 @@ #ifndef LLVM_CLANG_C_CXERRORCODE_H #define LLVM_CLANG_C_CXERRORCODE_H +#include "clang-c/ExternC.h" #include "clang-c/Platform.h" -#ifdef __cplusplus -extern "C" { -#endif +LLVM_CLANG_C_EXTERN_C_BEGIN /** * Error codes returned by libclang routines. @@ -57,8 +56,7 @@ enum CXErrorCode { CXError_ASTReadError = 4 }; -#ifdef __cplusplus -} -#endif +LLVM_CLANG_C_EXTERN_C_END + #endif Modified: head/contrib/llvm-project/clang/include/clang-c/CXString.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang-c/CXString.h Tue Mar 10 17:55:48 2020 (r358850) +++ head/contrib/llvm-project/clang/include/clang-c/CXString.h Tue Mar 10 18:17:17 2020 (r358851) @@ -14,11 +14,10 @@ #ifndef LLVM_CLANG_C_CXSTRING_H #define LLVM_CLANG_C_CXSTRING_H +#include "clang-c/ExternC.h" #include "clang-c/Platform.h" -#ifdef __cplusplus -extern "C" { -#endif +LLVM_CLANG_C_EXTERN_C_BEGIN /** * \defgroup CINDEX_STRING String manipulation routines @@ -64,8 +63,7 @@ CINDEX_LINKAGE void clang_disposeStringSet(CXStringSet * @} */ -#ifdef __cplusplus -} -#endif +LLVM_CLANG_C_EXTERN_C_END + #endif Modified: head/contrib/llvm-project/clang/include/clang-c/Documentation.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang-c/Documentation.h Tue Mar 10 17:55:48 2020 (r358850) +++ head/contrib/llvm-project/clang/include/clang-c/Documentation.h Tue Mar 10 18:17:17 2020 (r358851) @@ -15,11 +15,10 @@ #ifndef LLVM_CLANG_C_DOCUMENTATION_H #define LLVM_CLANG_C_DOCUMENTATION_H +#include "clang-c/ExternC.h" #include "clang-c/Index.h" -#ifdef __cplusplus -extern "C" { -#endif +LLVM_CLANG_C_EXTERN_C_BEGIN /** * \defgroup CINDEX_COMMENT Comment introspection @@ -182,7 +181,12 @@ enum CXCommentInlineCommandRenderKind { * Command argument should be rendered emphasized (typically italic * font). */ - CXCommentInlineCommandRenderKind_Emphasized + CXCommentInlineCommandRenderKind_Emphasized, + + /** + * Command argument should not be rendered (since it only defines an anchor). + */ + CXCommentInlineCommandRenderKind_Anchor }; /** @@ -545,10 +549,7 @@ CINDEX_LINKAGE CXString clang_FullComment_getAsXML(CXC * @} */ - -#ifdef __cplusplus -} -#endif +LLVM_CLANG_C_EXTERN_C_END #endif /* CLANG_C_DOCUMENTATION_H */ Copied: head/contrib/llvm-project/clang/include/clang-c/ExternC.h (from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/ExternC.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/llvm-project/clang/include/clang-c/ExternC.h Tue Mar 10 18:17:17 2020 (r358851, copy of r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/ExternC.h) @@ -0,0 +1,39 @@ +/*===- clang-c/ExternC.h - Wrapper for 'extern "C"' ---------------*- C -*-===*\ +|* *| +|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| +|* Exceptions. *| +|* See https://llvm.org/LICENSE.txt for license information. *| +|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| +|* *| +|*===----------------------------------------------------------------------===*| +|* *| +|* This file defines an 'extern "C"' wrapper. *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_CLANG_C_EXTERN_C_H +#define LLVM_CLANG_C_EXTERN_C_H + +#ifdef __clang__ +#define LLVM_CLANG_C_STRICT_PROTOTYPES_BEGIN \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic error \"-Wstrict-prototypes\"") +#define LLVM_CLANG_C_STRICT_PROTOTYPES_END _Pragma("clang diagnostic pop") +#else +#define LLVM_CLANG_C_STRICT_PROTOTYPES_BEGIN +#define LLVM_CLANG_C_STRICT_PROTOTYPES_END +#endif + +#ifdef __cplusplus +#define LLVM_CLANG_C_EXTERN_C_BEGIN \ + extern "C" { \ + LLVM_CLANG_C_STRICT_PROTOTYPES_BEGIN +#define LLVM_CLANG_C_EXTERN_C_END \ + LLVM_CLANG_C_STRICT_PROTOTYPES_END \ + } +#else +#define LLVM_CLANG_C_EXTERN_C_BEGIN LLVM_CLANG_C_STRICT_PROTOTYPES_BEGIN +#define LLVM_CLANG_C_EXTERN_C_END LLVM_CLANG_C_STRICT_PROTOTYPES_END +#endif + +#endif Copied: head/contrib/llvm-project/clang/include/clang-c/FatalErrorHandler.h (from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/FatalErrorHandler.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/llvm-project/clang/include/clang-c/FatalErrorHandler.h Tue Mar 10 18:17:17 2020 (r358851, copy of r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/FatalErrorHandler.h) @@ -0,0 +1,32 @@ +/*===-- clang-c/FatalErrorHandler.h - Fatal Error Handling --------*- C -*-===*\ +|* *| +|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| +|* Exceptions. *| +|* See https://llvm.org/LICENSE.txt for license information. *| +|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_CLANG_C_FATAL_ERROR_HANDLER_H +#define LLVM_CLANG_C_FATAL_ERROR_HANDLER_H + +#include "clang-c/ExternC.h" + +LLVM_CLANG_C_EXTERN_C_BEGIN + +/** + * Installs error handler that prints error message to stderr and calls abort(). + * Replaces currently installed error handler (if any). + */ +void clang_install_aborting_llvm_fatal_error_handler(void); + +/** + * Removes currently installed error handler (if any). + * If no error handler is intalled, the default strategy is to print error + * message to stderr and call exit(1). + */ +void clang_uninstall_llvm_fatal_error_handler(void); + +LLVM_CLANG_C_EXTERN_C_END + +#endif Modified: head/contrib/llvm-project/clang/include/clang-c/Index.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang-c/Index.h Tue Mar 10 17:55:48 2020 (r358850) +++ head/contrib/llvm-project/clang/include/clang-c/Index.h Tue Mar 10 18:17:17 2020 (r358851) @@ -18,10 +18,11 @@ #include -#include "clang-c/Platform.h" +#include "clang-c/BuildSystem.h" #include "clang-c/CXErrorCode.h" #include "clang-c/CXString.h" -#include "clang-c/BuildSystem.h" +#include "clang-c/ExternC.h" +#include "clang-c/Platform.h" /** * The version constants for the libclang API. @@ -51,9 +52,7 @@ CINDEX_VERSION_MAJOR, \ CINDEX_VERSION_MINOR) -#ifdef __cplusplus -extern "C" { -#endif +LLVM_CLANG_C_EXTERN_C_BEGIN /** \defgroup CINDEX libclang: C Interface to Clang * @@ -1356,7 +1355,12 @@ enum CXTranslationUnit_Flags { * the case where these warnings are not of interest, as for an IDE for * example, which typically shows only the diagnostics in the main file. */ - CXTranslationUnit_IgnoreNonErrorsFromIncludedFiles = 0x4000 + CXTranslationUnit_IgnoreNonErrorsFromIncludedFiles = 0x4000, + + /** + * Tells the preprocessor not to skip excluded conditional blocks. + */ + CXTranslationUnit_RetainExcludedConditionalBlocks = 0x8000 }; /** @@ -2550,8 +2554,28 @@ enum CXCursorKind { */ CXCursor_BuiltinBitCastExpr = 280, - CXCursor_LastStmt = CXCursor_BuiltinBitCastExpr, + /** OpenMP master taskloop directive. + */ + CXCursor_OMPMasterTaskLoopDirective = 281, + /** OpenMP parallel master taskloop directive. + */ + CXCursor_OMPParallelMasterTaskLoopDirective = 282, + + /** OpenMP master taskloop simd directive. + */ + CXCursor_OMPMasterTaskLoopSimdDirective = 283, + + /** OpenMP parallel master taskloop simd directive. + */ + CXCursor_OMPParallelMasterTaskLoopSimdDirective = 284, + + /** OpenMP parallel master directive. + */ + CXCursor_OMPParallelMasterDirective = 285, + + CXCursor_LastStmt = CXCursor_OMPParallelMasterDirective, + /** * Cursor that represents the translation unit itself. * @@ -6753,7 +6777,6 @@ CINDEX_LINKAGE unsigned clang_Type_visitFields(CXType * @} */ -#ifdef __cplusplus -} -#endif +LLVM_CLANG_C_EXTERN_C_END + #endif Modified: head/contrib/llvm-project/clang/include/clang-c/Platform.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang-c/Platform.h Tue Mar 10 17:55:48 2020 (r358850) +++ head/contrib/llvm-project/clang/include/clang-c/Platform.h Tue Mar 10 18:17:17 2020 (r358851) @@ -14,10 +14,10 @@ #ifndef LLVM_CLANG_C_PLATFORM_H #define LLVM_CLANG_C_PLATFORM_H -#ifdef __cplusplus -extern "C" { -#endif +#include "clang-c/ExternC.h" +LLVM_CLANG_C_EXTERN_C_BEGIN + /* MSVC DLL import/export. */ #ifdef _MSC_VER #ifdef _CINDEX_LIB_ @@ -39,7 +39,6 @@ extern "C" { #endif #endif -#ifdef __cplusplus -} -#endif +LLVM_CLANG_C_EXTERN_C_END + #endif Modified: head/contrib/llvm-project/clang/include/clang/AST/APValue.h ============================================================================== --- head/contrib/llvm-project/clang/include/clang/AST/APValue.h Tue Mar 10 17:55:48 2020 (r358850) +++ head/contrib/llvm-project/clang/include/clang/AST/APValue.h Tue Mar 10 18:17:17 2020 (r358851) @@ -53,6 +53,34 @@ class TypeInfoLValue { (public) void print(llvm::raw_ostream &Out, const PrintingPolicy &Policy) const; }; + +/// Symbolic representation of a dynamic allocation. +class DynamicAllocLValue { + unsigned Index; + +public: + DynamicAllocLValue() : Index(0) {} + explicit DynamicAllocLValue(unsigned Index) : Index(Index + 1) {} + unsigned getIndex() { return Index - 1; } + + explicit operator bool() const { return Index != 0; } + + void *getOpaqueValue() { + return reinterpret_cast(static_cast(Index) + << NumLowBitsAvailable); + } + static DynamicAllocLValue getFromOpaqueValue(void *Value) { + DynamicAllocLValue V; + V.Index = reinterpret_cast(Value) >> NumLowBitsAvailable; + return V; + } + + static unsigned getMaxIndex() { + return (std::numeric_limits::max() >> NumLowBitsAvailable) - 1; + } + + static constexpr int NumLowBitsAvailable = 3; +}; } namespace llvm { @@ -67,6 +95,17 @@ template<> struct PointerLikeTypeTraits struct PointerLikeTypeTraits { + static void *getAsVoidPointer(clang::DynamicAllocLValue V) { + return V.getOpaqueValue(); + } + static clang::DynamicAllocLValue getFromVoidPointer(void *P) { + return clang::DynamicAllocLValue::getFromOpaqueValue(P); + } + static constexpr int NumLowBitsAvailable = + clang::DynamicAllocLValue::NumLowBitsAvailable; +}; } namespace clang { @@ -97,13 +136,15 @@ class APValue { (public) }; class LValueBase { - typedef llvm::PointerUnion + typedef llvm::PointerUnion PtrTy; public: LValueBase() : Local{} {} LValueBase(const ValueDecl *P, unsigned I = 0, unsigned V = 0); LValueBase(const Expr *P, unsigned I = 0, unsigned V = 0); + static LValueBase getDynamicAlloc(DynamicAllocLValue LV, QualType Type); static LValueBase getTypeInfo(TypeInfoLValue LV, QualType TypeInfo); template @@ -124,6 +165,7 @@ class APValue { (public) unsigned getCallIndex() const; unsigned getVersion() const; QualType getTypeInfoType() const; + QualType getDynamicAllocType() const; friend bool operator==(const LValueBase &LHS, const LValueBase &RHS); friend bool operator!=(const LValueBase &LHS, const LValueBase &RHS) { @@ -140,6 +182,8 @@ class APValue { (public) LocalState Local; /// The type std::type_info, if this is a TypeInfoLValue. void *TypeInfoType; + /// The QualType, if this is a DynamicAllocLValue. + void *DynamicAllocType; }; }; Copied: head/contrib/llvm-project/clang/include/clang/AST/ASTConcept.h (from r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTConcept.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/llvm-project/clang/include/clang/AST/ASTConcept.h Tue Mar 10 18:17:17 2020 (r358851, copy of r358850, projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTConcept.h) @@ -0,0 +1,196 @@ +//===--- ASTConcept.h - Concepts Related AST Data Structures ----*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +/// +/// \file +/// \brief This file provides AST data structures related to concepts. +/// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_AST_ASTCONCEPT_H +#define LLVM_CLANG_AST_ASTCONCEPT_H +#include "clang/AST/Expr.h" +#include "clang/Basic/SourceLocation.h" +#include "llvm/ADT/PointerUnion.h" +#include "llvm/ADT/SmallVector.h" +#include +#include +namespace clang { +class ConceptDecl; +class ConceptSpecializationExpr; + +/// The result of a constraint satisfaction check, containing the necessary +/// information to diagnose an unsatisfied constraint. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Tue Mar 10 19:18:25 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F0DCE26DB9E; Tue, 10 Mar 2020 19:18:25 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cPy93m4Kz48Gt; Tue, 10 Mar 2020 19:18:25 +0000 (UTC) (envelope-from lwhsu@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 2323D31A; Tue, 10 Mar 2020 19:18:25 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02AJIPdl089460; Tue, 10 Mar 2020 19:18:25 GMT (envelope-from lwhsu@FreeBSD.org) Received: (from lwhsu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AJIOcm089458; Tue, 10 Mar 2020 19:18:24 GMT (envelope-from lwhsu@FreeBSD.org) Message-Id: <202003101918.02AJIOcm089458@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: lwhsu set sender to lwhsu@FreeBSD.org using -f From: Li-Wen Hsu Date: Tue, 10 Mar 2020 19:18:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358852 - head/tests/sys/netpfil/pf X-SVN-Group: head X-SVN-Commit-Author: lwhsu X-SVN-Commit-Paths: head/tests/sys/netpfil/pf X-SVN-Commit-Revision: 358852 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 19:18:26 -0000 Author: lwhsu Date: Tue Mar 10 19:18:24 2020 New Revision: 358852 URL: https://svnweb.freebsd.org/changeset/base/358852 Log: Skip sys.netpfil.pf.nat.exhaust on amd64 in CI as it sometimes panics kernel PR: 244703 Sponsored by: The FreeBSD Foundation Modified: head/tests/sys/netpfil/pf/nat.sh Modified: head/tests/sys/netpfil/pf/nat.sh ============================================================================== --- head/tests/sys/netpfil/pf/nat.sh Tue Mar 10 18:17:17 2020 (r358851) +++ head/tests/sys/netpfil/pf/nat.sh Tue Mar 10 19:18:24 2020 (r358852) @@ -36,6 +36,11 @@ exhaust_head() exhaust_body() { + if [ "$(atf_config_get ci false)" = "true" ] && \ + [ "$(uname -p)" = "amd64" ]; then + atf_skip "https://bugs.freebsd.org/244703" + fi + pft_init epair_nat=$(vnet_mkepair) From owner-svn-src-head@freebsd.org Tue Mar 10 19:23:37 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 98E4A26DDD4; Tue, 10 Mar 2020 19:23:37 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48cQ475CnBz4N5L; Tue, 10 Mar 2020 19:23:35 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id 02AJNQ50052679 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 10 Mar 2020 21:23:29 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 02AJNQ50052679 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id 02AJNQRN052678; Tue, 10 Mar 2020 21:23:26 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 10 Mar 2020 21:23:26 +0200 From: Konstantin Belousov To: Mateusz Guzik Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r358733 - head/sys/sys Message-ID: <20200310192326.GC1992@kib.kiev.ua> References: <202003080022.0280MX9j055805@repo.freebsd.org> <20200309213512.GS98340@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on tom.home X-Rspamd-Queue-Id: 48cQ475CnBz4N5L X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=gmail.com (policy=none); spf=softfail (mx1.freebsd.org: 2001:470:d5e7:1::1 is neither permitted nor denied by domain of kostikbel@gmail.com) smtp.mailfrom=kostikbel@gmail.com X-Spamd-Result: default: False [-2.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_FROM(0.00)[gmail.com]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all]; IP_SCORE_FREEMAIL(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; IP_SCORE(0.00)[ip: (-3.10), ipnet: 2001:470::/32(-4.65), asn: 6939(-3.59), country: US(-0.05)]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; FREEMAIL_ENVFROM(0.00)[gmail.com]; DMARC_POLICY_SOFTFAIL(0.10)[gmail.com : No valid SPF, No valid DKIM,none] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 19:23:37 -0000 On Tue, Mar 10, 2020 at 12:22:09AM +0100, Mateusz Guzik wrote: > On 3/9/20, Konstantin Belousov wrote: > > On Mon, Mar 09, 2020 at 01:56:17AM +0100, Mateusz Guzik wrote: > >> On 3/8/20, Mateusz Guzik wrote: > >> > Author: mjg > >> > Date: Sun Mar 8 00:22:32 2020 > >> > New Revision: 358733 > >> > URL: https://svnweb.freebsd.org/changeset/base/358733 > >> > > >> > Log: > >> > seqc: tidy up > >> > > >> > - avoid hand-rolled read > >> > - match begin/end in terms of fence style > >> > > >> > >> There were off lists questions about this so let me clarify. > >> > >> The first bit is a cosmetic change, but the second one is not. > >> > >> > Modified: > >> > head/sys/sys/seqc.h > >> > > >> > Modified: head/sys/sys/seqc.h > >> > ============================================================================== > >> > --- head/sys/sys/seqc.h Sat Mar 7 15:37:23 2020 (r358732) > >> > +++ head/sys/sys/seqc.h Sun Mar 8 00:22:32 2020 (r358733) > >> > @@ -66,7 +66,8 @@ static __inline void > >> > seqc_write_end(seqc_t *seqcp) > >> > { > >> > > >> > - atomic_store_rel_int(seqcp, *seqcp + 1); > >> > + atomic_thread_fence_rel(); > >> > + *seqcp += 1; > >> > MPASS(!seqc_in_modify(*seqcp)); > >> > critical_exit(); > >> > } > >> > >> For correct operation the counter has to be modified *before* any work > >> is done and *after* it is completed. > >> > >> Consider a trivial case: > >> seqc++; > >> foo[0] = 0; > >> foo[1] = 1; > >> seqc++; > >> > >> There are 2 ways in which this can be mucked with: > >> - the compiler can be looking at reordering or reworking the increment > >> (e.g., to collapse it to just += 2 instead). a compiler barrier > >> prevents that. > >> - even with generated machine code which increments in correct places > >> the cpu can be looking at reordering the operation (which is heavily > >> dependent on architecture), in particular it could end up issuing > >> seqc++; foo[1] = 1; which would defeat the point. This is where > >> release fences come in. > >> > >> With the patched code there is: > >> seqc++; > >> atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo > >> starts getting modified */ > >> foo[0] = 0; > >> foo[1] = 1; > >> atomic_thread_fence_rel(); /* make sure modifications to foo don't > >> leak past this spot */ > >> seqc++; > >> > >> In comparison, the previous code was: > >> seqc++; > >> atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo > >> starts getting modified */ > >> foo[0] = 0; > >> foo[1] = 1; > >> atomic_store_rel_int(seqcp, *seqcp + 1); /* make sure modifications to > >> too don't leak past this spot and update seqc immediately */ > >> > >> There are 2 differences here -- one is an improvement and second one > >> does not matter: > >> the win is: the previous code forces the compiler to compute an > >> incremented value and then store it. On amd64 this translates to the > >> following (with rdx holding the address of the counter): > >> > >> mov (%rdx),%eax /* load the value */ > >> add $0x1,%eax /* add 1 */ > >> mov %eax,(%rdx) /* store it */ > >> > >> On patched kernel this is: > >> addl $0x1,(%rdx) > >> > >> which is clearly much nicer. > > I am not sure that the new code on amd64 is much nicer. > > > > But the point was that on non-amd64, i.e. armv8 and potentially on > > powerpc 3.0, the patch substitutes release store with full barrier. The > > later is (much) slower. > > > > If an arch performs something significantly more expensive here it's > probably a performance bug in the port. It is a question of how much hardware support for fine-grained fences. Relaxed architectures add some optimized operations already, but did not (yet) implemented complete C11 optimized set. I think they eventually converge. Until they did not, I think it is more important to not pessimize to-be Tier1 arches than to collapse three fast integer instructions on amd64 into one rw op. > But perhaps more importantly > there are significantly more frequent users of > atomic_thread_fence_rel, like refcount(9). If the issue is real that > should be looked at. For refcount(9) use of release fence removal, we would need atomic_fetchadd_rel_int(). > > >> > >> the not a problem: the code does not issue the release fence after > >> incrementing the counter the second time, meaning that in principle it > >> can happen arbitrarily late, possibly disturbing code which waits for > >> the counter to become even. This is not a problem because in whoever > >> modifies it is supposed to have a lock and release it shortly after, > >> which also posts the release fence and consequently makes sure the > >> counter update is visible. Also note these routines come with > >> preemption disablement around the modification -- if the thread gets > >> preempted as a result of critical_exit from seqc_write_end, it will > >> also publish the updated counter. If the updater never does anything > >> which flushes the store buffer then in the absolute worst case they > >> will get preempted, at which point once more we are covered. Note that > >> code which wants more deterministic behavior will want to > >> seqc_read_any, test the counter once and if it is caught uneven resort > >> to locking. > >> > >> > @@ -84,7 +85,7 @@ seqc_read(const seqc_t *seqcp) > >> > seqc_t ret; > >> > > >> > for (;;) { > >> > - ret = atomic_load_acq_int(__DECONST(seqc_t *, seqcp)); > >> > + ret = seqc_read_any(seqcp); > >> > if (__predict_false(seqc_in_modify(ret))) { > >> > cpu_spinwait(); > >> > continue; > >> > _______________________________________________ > >> > svn-src-all@freebsd.org mailing list > >> > https://lists.freebsd.org/mailman/listinfo/svn-src-all > >> > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" > >> > > >> > >> > >> -- > >> Mateusz Guzik > > > > > -- > Mateusz Guzik From owner-svn-src-head@freebsd.org Tue Mar 10 19:52:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6F13226E8E3; Tue, 10 Mar 2020 19:52:21 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cQjK190Pz4XYr; Tue, 10 Mar 2020 19:52:21 +0000 (UTC) (envelope-from melifaro@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 0A41BADB; Tue, 10 Mar 2020 19:52:21 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02AJqL7L009934; Tue, 10 Mar 2020 19:52:21 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AJqJbe009927; Tue, 10 Mar 2020 19:52:19 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202003101952.02AJqJbe009927@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Tue, 10 Mar 2020 19:52:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358853 - in head/tests/sys: common netinet netinet6 X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: in head/tests/sys: common netinet netinet6 X-SVN-Commit-Revision: 358853 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 19:52:21 -0000 Author: melifaro Date: Tue Mar 10 19:52:19 2020 New Revision: 358853 URL: https://svnweb.freebsd.org/changeset/base/358853 Log: Add basic IPv4/IPv6 forwarding tests. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24002 Added: head/tests/sys/common/sender.py (contents, props changed) head/tests/sys/netinet/forward.sh (contents, props changed) head/tests/sys/netinet6/forward6.sh (contents, props changed) Modified: head/tests/sys/common/Makefile head/tests/sys/netinet/Makefile head/tests/sys/netinet6/Makefile Modified: head/tests/sys/common/Makefile ============================================================================== --- head/tests/sys/common/Makefile Tue Mar 10 19:18:24 2020 (r358852) +++ head/tests/sys/common/Makefile Tue Mar 10 19:52:19 2020 (r358853) @@ -4,7 +4,9 @@ PACKAGE= tests TESTSDIR= ${TESTSBASE}/sys/common ${PACKAGE}FILES+= vnet.subr ${PACKAGE}FILES+= divert.py +${PACKAGE}FILES+= sender.py ${PACKAGE}FILESMODE_divert.py=0555 +${PACKAGE}FILESMODE_sender.py=0555 .include Added: head/tests/sys/common/sender.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tests/sys/common/sender.py Tue Mar 10 19:52:19 2020 (r358853) @@ -0,0 +1,201 @@ +#!/usr/bin/env python +# - +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2020 Alexander V. Chernikov +# +# 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 AUTHOR 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 AUTHOR 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$ +# + + +from functools import partial +import socket +import scapy.all as sc +import argparse +import time + + +def parse_args(): + parser = argparse.ArgumentParser(description='divert socket tester') + parser.add_argument('--dip', type=str, help='destination packet IP') + parser.add_argument('--sip', type=str, help='source packet IP') + parser.add_argument('--dmac', type=str, help='packet dst mac') + parser.add_argument('--smac', type=str, help='packet src mac') + parser.add_argument('--iface', type=str, help='interface to use') + parser.add_argument('--test_name', type=str, required=True, + help='test name to run') + return parser.parse_args() + + +def send_packet(args, pkt): + sc.sendp(pkt, iface=args.iface, verbose=False) + + +def is_icmp6_echo_request(pkt): + return pkt.type == 0x86DD and pkt.payload.nh == 58 and \ + pkt.payload.payload.type == 128 + + +def check_forwarded_ip_packet(orig_pkt, fwd_pkt): + """ + Checks that forwarded ICMP packet @fwd_ptk is the same as + @orig_pkt. Assumes router-on-the-stick forwarding behaviour: + * src/dst macs are swapped + * TTL is decremented + """ + # Check ether fields + assert orig_pkt.src == fwd_pkt.dst + assert orig_pkt.dst == fwd_pkt.src + assert len(orig_pkt) == len(fwd_pkt) + # Check IP + fwd_ip = fwd_pkt[sc.IP] + orig_ip = orig_pkt[sc.IP] + assert orig_ip.src == orig_ip.src + assert orig_ip.dst == fwd_ip.dst + assert orig_ip.ttl == fwd_ip.ttl + 1 + # Check ICMP + fwd_icmp = fwd_ip[sc.ICMP] + orig_icmp = orig_ip[sc.ICMP] + assert bytes(orig_ip.payload) == bytes(fwd_ip.payload) + + +def fwd_ip_icmp_fast(args): + """ + Sends ICMP packet via args.iface interface. + Receives and checks the forwarded packet. + Assumes forwarding router decrements TTL + """ + + def filter_f(x): + return x.src == args.dmac and x.type == 0x0800 + + e = sc.Ether(src=args.smac, dst=args.dmac) + ip = sc.IP(src=args.sip, dst=args.dip) + icmp = sc.ICMP(type='echo-request') + pkt = e / ip / icmp + + send_cb = partial(send_packet, args, pkt) + packets = sc.sniff(iface=args.iface, started_callback=send_cb, + stop_filter=filter_f, lfilter=filter_f, timeout=5) + assert len(packets) > 0 + fwd_pkt = packets[-1] + try: + check_forwarded_ip_packet(pkt, fwd_pkt) + except Exception as e: + print('Original packet:') + pkt.show() + print('Forwarded packet:') + fwd_pkt.show() + for a_packet in packets: + a_packet.summary() + raise Exception from e + + +def fwd_ip_icmp_slow(args): + """ + Sends ICMP packet via args.iface interface. + Forces slow path processing by introducing IP option. + Receives and checks the forwarded packet. + Assumes forwarding router decrements TTL + """ + + def filter_f(x): + return x.src == args.dmac and x.type == 0x0800 + + e = sc.Ether(src=args.smac, dst=args.dmac) + # Add IP option to switch to 'normal' IP processing + stream_id = sc.IPOption_Stream_Id(security=0xFFFF) + ip = sc.IP(src=args.sip, dst=args.dip, + options=[sc.IPOption_Stream_Id(security=0xFFFF)]) + icmp = sc.ICMP(type='echo-request') + pkt = e / ip / icmp + + send_cb = partial(send_packet, args, pkt) + packets = sc.sniff(iface=args.iface, started_callback=send_cb, + stop_filter=filter_f, lfilter=filter_f, timeout=5) + assert len(packets) > 0 + check_forwarded_ip_packet(pkt, packets[-1]) + + +def check_forwarded_ip6_packet(orig_pkt, fwd_pkt): + """ + Checks that forwarded ICMP packet @fwd_ptk is the same as + @orig_pkt. Assumes router-on-the-stick forwarding behaviour: + * src/dst macs are swapped + * TTL is decremented + """ + # Check ether fields + assert orig_pkt.src == fwd_pkt.dst + assert orig_pkt.dst == fwd_pkt.src + assert len(orig_pkt) == len(fwd_pkt) + # Check IP + fwd_ip = fwd_pkt[sc.IPv6] + orig_ip = orig_pkt[sc.IPv6] + assert orig_ip.src == orig_ip.src + assert orig_ip.dst == fwd_ip.dst + assert orig_ip.hlim == fwd_ip.hlim + 1 + # Check ICMPv6 + assert bytes(orig_ip.payload) == bytes(fwd_ip.payload) + + +def fwd_ip6_icmp(args): + """ + Sends ICMPv6 packet via args.iface interface. + Receives and checks the forwarded packet. + Assumes forwarding router decrements TTL + """ + + def filter_f(x): + return x.src == args.dmac and is_icmp6_echo_request(x) + + e = sc.Ether(src=args.smac, dst=args.dmac) + ip = sc.IPv6(src=args.sip, dst=args.dip) + icmp = sc.ICMPv6EchoRequest() + pkt = e / ip / icmp + + send_cb = partial(send_packet, args, pkt) + packets = sc.sniff(iface=args.iface, started_callback=send_cb, + stop_filter=filter_f, lfilter=filter_f, timeout=5) + assert len(packets) > 0 + fwd_pkt = packets[-1] + try: + check_forwarded_ip6_packet(pkt, fwd_pkt) + except Exception as e: + print('Original packet:') + pkt.show() + print('Forwarded packet:') + fwd_pkt.show() + for idx, a_packet in enumerate(packets): + print('{}: {}'.format(idx, a_packet.summary())) + raise Exception from e + + +def main(): + args = parse_args() + test_ptr = globals()[args.test_name] + test_ptr(args) + + +if __name__ == '__main__': + main() Modified: head/tests/sys/netinet/Makefile ============================================================================== --- head/tests/sys/netinet/Makefile Tue Mar 10 19:18:24 2020 (r358852) +++ head/tests/sys/netinet/Makefile Tue Mar 10 19:52:19 2020 (r358853) @@ -9,7 +9,7 @@ ATF_TESTS_C= ip_reass_test \ so_reuseport_lb_test \ socket_afinet -ATF_TESTS_SH= fibs_test redirect divert +ATF_TESTS_SH= fibs_test redirect divert forward PROGS= udp_dontroute tcp_user_cookie Added: head/tests/sys/netinet/forward.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tests/sys/netinet/forward.sh Tue Mar 10 19:52:19 2020 (r358853) @@ -0,0 +1,273 @@ +#!/usr/bin/env atf-sh +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2020 Alexander V. Chernikov +# +# 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 AUTHOR 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 AUTHOR 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$ +# + +. $(atf_get_srcdir)/../common/vnet.subr + +atf_test_case "fwd_ip_icmp_iface_fast_success" "cleanup" +fwd_ip_icmp_iface_fast_success_head() { + + atf_set descr 'Test valid IPv4 on-stick fastforwarding to iface' + atf_set require.user root + atf_set require.progs scapy +} + +fwd_ip_icmp_iface_fast_success_body() { + + vnet_init + + ip4a="192.0.2.1" + ip4b="192.0.2.2" + plen=29 + src_ip="192.0.2.3" + + script_name="../common/sender.py" + + epair=$(vnet_mkepair) + ifconfig ${epair}a up + ifconfig ${epair}a inet ${ip4a}/${plen} + + jname="v4t-fwd_ip_icmp_iface_fast_success" + vnet_mkjail ${jname} ${epair}b + jexec ${jname} ifconfig ${epair}b up + jexec ${jname} ifconfig ${epair}b inet ${ip4b}/${plen} + + # Get router ip/mac + jail_ip=${ip4b} + jail_mac=`jexec ${jname} ifconfig ${epair}b ether | awk '$1~/ether/{print$2}'` + + our_mac=`ifconfig ${epair}a ether | awk '$1~/ether/{print$2}'` + + jexec ${jname} sysctl net.inet.ip.forwarding=1 + # As we're doing router-on-the-stick, turn sending IP redirects off: + jexec ${jname} sysctl net.inet.ip.redirect=0 + + # echo "LOCAL: ${local_ip} ${local_mac}" + # echo "REMOTE: ${remote_rtr_ip} ${remote_rtr_mac}" + + atf_check -s exit:0 $(atf_get_srcdir)/${script_name} \ + --test_name fwd_ip_icmp_fast \ + --smac ${our_mac} --dmac ${jail_mac} \ + --sip ${src_ip} --dip ${ip4a} \ + --iface ${epair}a + + # check counters are valid + atf_check -o match:'1 packet forwarded \(1 packet fast forwarded\)' jexec ${jname} netstat -sp ip +} + +fwd_ip_icmp_iface_fast_success_cleanup() { + + vnet_cleanup +} + +atf_test_case "fwd_ip_icmp_gw_fast_success" "cleanup" +fwd_ip_icmp_gw_fast_success_head() { + + atf_set descr 'Test valid IPv4 on-stick fastforwarding to gw' + atf_set require.user root + atf_set require.progs scapy +} + +fwd_ip_icmp_gw_fast_success_body() { + + vnet_init + + ip4a="192.0.2.1" + ip4b="192.0.2.2" + plen=29 + src_ip="192.0.2.3" + dst_ip="192.0.2.4" + + script_name="../common/sender.py" + + epair=$(vnet_mkepair) + ifconfig ${epair}a up + ifconfig ${epair}a inet ${ip4a}/${plen} + + jname="v4t-fwd_ip_icmp_gw_fast_success" + vnet_mkjail ${jname} ${epair}b + jexec ${jname} ifconfig ${epair}b up + jexec ${jname} ifconfig ${epair}b inet ${ip4b}/${plen} + + # Get router ip/mac + jail_ip=${ip4b} + jail_mac=`jexec ${jname} ifconfig ${epair}b ether | awk '$1~/ether/{print$2}'` + + our_mac=`ifconfig ${epair}a ether | awk '$1~/ether/{print$2}'` + + jexec ${jname} sysctl net.inet.ip.forwarding=1 + # As we're doing router-on-the-stick, turn sending IP redirects off: + jexec ${jname} sysctl net.inet.ip.redirect=0 + + # Add host route + jexec ${jname} route -4 add -host ${dst_ip} ${ip4a} + + # echo "LOCAL: ${local_ip} ${local_mac}" + # echo "REMOTE: ${remote_rtr_ip} ${remote_rtr_mac}" + + atf_check -s exit:0 $(atf_get_srcdir)/${script_name} \ + --test_name fwd_ip_icmp_fast \ + --smac ${our_mac} --dmac ${jail_mac} \ + --sip ${src_ip} --dip ${dst_ip} \ + --iface ${epair}a + + # check counters are valid + atf_check -o match:'1 packet forwarded \(1 packet fast forwarded\)' jexec ${jname} netstat -sp ip +} + +fwd_ip_icmp_gw_fast_success_cleanup() { + + vnet_cleanup +} + +atf_test_case "fwd_ip_icmp_iface_slow_success" "cleanup" +fwd_ip_icmp_iface_slow_success_head() { + + atf_set descr 'Test valid IPv4 on-stick "slow" forwarding to iface' + atf_set require.user root + atf_set require.progs scapy +} + +fwd_ip_icmp_iface_slow_success_body() { + + vnet_init + + ip4a="192.0.2.1" + ip4b="192.0.2.2" + plen=29 + src_ip="192.0.2.3" + + script_name="../common/sender.py" + + epair=$(vnet_mkepair) + ifconfig ${epair}a up + ifconfig ${epair}a inet ${ip4a}/${plen} + + jname="v4t-fwd_ip_icmp_iface_slow_success" + vnet_mkjail ${jname} ${epair}b + jexec ${jname} ifconfig ${epair}b up + jexec ${jname} ifconfig ${epair}b inet ${ip4b}/${plen} + + # Get router ip/mac + jail_ip=${ip4b} + jail_mac=`jexec ${jname} ifconfig ${epair}b ether | awk '$1~/ether/{print$2}'` + + our_mac=`ifconfig ${epair}a ether | awk '$1~/ether/{print$2}'` + + jexec ${jname} sysctl net.inet.ip.forwarding=1 + # As we're doing router-on-the-stick, turn sending IP redirects off: + jexec ${jname} sysctl net.inet.ip.redirect=0 + + # Generate packet with options to force slow-path + atf_check -s exit:0 $(atf_get_srcdir)/${script_name} \ + --test_name fwd_ip_icmp_slow \ + --smac ${our_mac} --dmac ${jail_mac} \ + --sip ${src_ip} --dip ${ip4a} \ + --iface ${epair}a + + # check counters are valid + atf_check -o match:'1 packet forwarded \(0 packets fast forwarded\)' jexec ${jname} netstat -sp ip +} + +fwd_ip_icmp_iface_slow_success_cleanup() { + + vnet_cleanup +} + +atf_test_case "fwd_ip_icmp_gw_slow_success" "cleanup" +fwd_ip_icmp_gw_slow_success_head() { + + atf_set descr 'Test valid IPv4 on-stick "slow" forwarding to gw' + atf_set require.user root + atf_set require.progs scapy +} + +fwd_ip_icmp_gw_slow_success_body() { + + vnet_init + + ip4a="192.0.2.1" + ip4b="192.0.2.2" + plen=29 + src_ip="192.0.2.3" + dst_ip="192.0.2.4" + + script_name="../common/sender.py" + + epair=$(vnet_mkepair) + ifconfig ${epair}a up + ifconfig ${epair}a inet ${ip4a}/${plen} + + jname="v4t-fwd_ip_icmp_gw_slow_success" + vnet_mkjail ${jname} ${epair}b + jexec ${jname} ifconfig ${epair}b up + jexec ${jname} ifconfig ${epair}b inet ${ip4b}/${plen} + + # Get router ip/mac + jail_ip=${ip4b} + jail_mac=`jexec ${jname} ifconfig ${epair}b ether | awk '$1~/ether/{print$2}'` + + our_mac=`ifconfig ${epair}a ether | awk '$1~/ether/{print$2}'` + + jexec ${jname} sysctl net.inet.ip.forwarding=1 + # As we're doing router-on-the-stick, turn sending IP redirects off: + jexec ${jname} sysctl net.inet.ip.redirect=0 + + # Add host route + jexec ${jname} route -4 add -host ${dst_ip} ${ip4a} + + # echo "LOCAL: ${local_ip} ${local_mac}" + # echo "REMOTE: ${remote_rtr_ip} ${remote_rtr_mac}" + + atf_check -s exit:0 $(atf_get_srcdir)/${script_name} \ + --test_name fwd_ip_icmp_fast \ + --smac ${our_mac} --dmac ${jail_mac} \ + --sip ${src_ip} --dip ${dst_ip} \ + --iface ${epair}a + + # check counters are valid + atf_check -o match:'1 packet forwarded \(1 packet fast forwarded\)' jexec ${jname} netstat -sp ip +} + +fwd_ip_icmp_gw_slow_success_cleanup() { + + vnet_cleanup +} + +atf_init_test_cases() +{ + + atf_add_test_case "fwd_ip_icmp_iface_fast_success" + atf_add_test_case "fwd_ip_icmp_gw_fast_success" + atf_add_test_case "fwd_ip_icmp_iface_slow_success" + atf_add_test_case "fwd_ip_icmp_gw_slow_success" +} + +# end + Modified: head/tests/sys/netinet6/Makefile ============================================================================== --- head/tests/sys/netinet6/Makefile Tue Mar 10 19:18:24 2020 (r358852) +++ head/tests/sys/netinet6/Makefile Tue Mar 10 19:52:19 2020 (r358853) @@ -10,7 +10,8 @@ ATF_TESTS_SH= \ mld \ scapyi386 \ redirect \ - divert + divert \ + forward6 ${PACKAGE}FILES+= exthdr.py ${PACKAGE}FILES+= mld.py Added: head/tests/sys/netinet6/forward6.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tests/sys/netinet6/forward6.sh Tue Mar 10 19:52:19 2020 (r358853) @@ -0,0 +1,482 @@ +#!/usr/bin/env atf-sh +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2020 Alexander V. Chernikov +# +# 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 AUTHOR 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 AUTHOR 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$ +# + +. $(atf_get_srcdir)/../common/vnet.subr + +atf_test_case "fwd_ip6_gu_icmp_iface_fast_success" "cleanup" +fwd_ip6_gu_icmp_iface_fast_success_head() { + + atf_set descr 'Test valid IPv6 global unicast fast-forwarding to interface' + atf_set require.user root + atf_set require.progs scapy +} + +fwd_ip6_gu_icmp_iface_fast_success_body() { + + ids=65529 + id=`printf "%x" ${ids}` + if [ $$ -gt 65535 ]; then + xl=`printf "%x" $(($$ - 65535))` + yl="1" + else + xl=`printf "%x" $$` + yl="" + fi + + vnet_init + + ip6a="2001:db8:6666:0000:${yl}:${id}:1:${xl}" + ip6b="2001:db8:6666:0000:${yl}:${id}:2:${xl}" + plen=96 + + src_ip="2001:db8:6666:0000:${yl}:${id}:3:${xl}" + + script_name="../common/sender.py" + + epair=$(vnet_mkepair) + ifconfig ${epair}a up + ifconfig ${epair}a inet6 ${ip6a}/${plen} + + jname="v6t-${id}-${yl}-${xl}" + vnet_mkjail ${jname} ${epair}b + jexec ${jname} ifconfig ${epair}b up + jexec ${jname} ifconfig ${epair}b inet6 ${ip6b}/${plen} + + jail_mac=`jexec ${jname} ifconfig ${epair}b ether | awk '$1~/ether/{print$2}'` + + our_mac=`ifconfig ${epair}a ether | awk '$1~/ether/{print$2}'` + + # wait for DAD to complete + while [ `jexec ${jname} ifconfig ${epair}b inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + while [ `ifconfig ${epair}a inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + + jexec ${jname} sysctl net.inet6.ip6.forwarding=1 + # As we're doing router-on-the-stick, turn sending IP redirects off: + jexec ${jname} sysctl net.inet6.ip6.redirect=0 + + atf_check -s exit:0 $(atf_get_srcdir)/${script_name} \ + --test_name fwd_ip6_icmp \ + --smac ${our_mac} --dmac ${jail_mac} \ + --sip ${src_ip} --dip ${ip6a} \ + --iface ${epair}a + + # check counters are valid + atf_check -o match:'1 packet forwarded' jexec ${jname} netstat -sp ip6 +} + +fwd_ip6_gu_icmp_iface_fast_success_cleanup() { + + vnet_cleanup +} + +atf_test_case "fwd_ip6_gu_icmp_gw_gu_fast_success" "cleanup" +fwd_ip6_gu_icmp_gw_gu_fast_success_head() { + + atf_set descr 'Test valid IPv6 global unicast fast-forwarding to GU gw' + atf_set require.user root + atf_set require.progs scapy +} + +fwd_ip6_gu_icmp_gw_gu_fast_success_body() { + + ids=65528 + id=`printf "%x" ${ids}` + if [ $$ -gt 65535 ]; then + xl=`printf "%x" $(($$ - 65535))` + yl="1" + else + xl=`printf "%x" $$` + yl="" + fi + + vnet_init + + ip6a="2001:db8:6666:0000:${yl}:${id}:1:${xl}" + ip6b="2001:db8:6666:0000:${yl}:${id}:2:${xl}" + plen=96 + + src_ip="2001:db8:6666:0000:${yl}:${id}:3:${xl}" + dst_ip="2001:db8:6666:0000:${yl}:${id}:4:${xl}" + + script_name="../common/sender.py" + + epair=$(vnet_mkepair) + ifconfig ${epair}a up + ifconfig ${epair}a inet6 ${ip6a}/${plen} + + jname="v6t-${id}-${yl}-${xl}" + vnet_mkjail ${jname} ${epair}b + jexec ${jname} ifconfig ${epair}b up + jexec ${jname} ifconfig ${epair}b inet6 ${ip6b}/${plen} + + jail_mac=`jexec ${jname} ifconfig ${epair}b ether | awk '$1~/ether/{print$2}'` + + our_mac=`ifconfig ${epair}a ether | awk '$1~/ether/{print$2}'` + + # wait for DAD to complete + while [ `jexec ${jname} ifconfig ${epair}b inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + while [ `ifconfig ${epair}a inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + + # Add static route back to us + jexec ${jname} route add -6 -host ${dst_ip} ${ip6a} + + jexec ${jname} sysctl net.inet6.ip6.forwarding=1 + # As we're doing router-on-the-stick, turn sending IP redirects off: + jexec ${jname} sysctl net.inet6.ip6.redirect=0 + + atf_check -s exit:0 $(atf_get_srcdir)/${script_name} \ + --test_name fwd_ip6_icmp \ + --smac ${our_mac} --dmac ${jail_mac} \ + --sip ${src_ip} --dip ${dst_ip} \ + --iface ${epair}a + + # check counters are valid + atf_check -o match:'1 packet forwarded' jexec ${jname} netstat -sp ip6 +} + +fwd_ip6_gu_icmp_gw_gu_fast_success_cleanup() { + + vnet_cleanup +} + +atf_test_case "fwd_ip6_gu_icmp_gw_ll_fast_success" "cleanup" +fwd_ip6_gu_icmp_gw_ll_fast_success_head() { + + atf_set descr 'Test valid IPv6 global unicast fast-forwarding to LL gw' + atf_set require.user root + atf_set require.progs scapy +} + +fwd_ip6_gu_icmp_gw_ll_fast_success_body() { + + ids=65527 + id=`printf "%x" ${ids}` + if [ $$ -gt 65535 ]; then + xl=`printf "%x" $(($$ - 65535))` + yl="1" + else + xl=`printf "%x" $$` + yl="" + fi + + vnet_init + + ip6a="2001:db8:6666:0000:${yl}:${id}:1:${xl}" + ip6b="2001:db8:6666:0000:${yl}:${id}:2:${xl}" + plen=96 + + src_ip="2001:db8:6666:0000:${yl}:${id}:3:${xl}" + dst_ip="2001:db8:6666:0000:${yl}:${id}:4:${xl}" + + script_name="../common/sender.py" + + epair=$(vnet_mkepair) + ifconfig ${epair}a up + ifconfig ${epair}a inet6 ${ip6a}/${plen} + + jname="v6t-${id}-${yl}-${xl}" + vnet_mkjail ${jname} ${epair}b + jexec ${jname} ifconfig ${epair}b up + jexec ${jname} ifconfig ${epair}b inet6 ${ip6b}/${plen} + + jail_mac=`jexec ${jname} ifconfig ${epair}b ether | awk '$1~/ether/{print$2}'` + + our_mac=`ifconfig ${epair}a ether | awk '$1~/ether/{print$2}'` + our_ll_ip=`ifconfig ${epair}a inet6 | awk '$1~/inet6/&& $2~/^fe80:/{print$2}' | awk -F% '{print$1}'` + + # wait for DAD to complete + while [ `jexec ${jname} ifconfig ${epair}b inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + while [ `ifconfig ${epair}a inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + + # Add static route back to us + atf_check -s exit:0 -o ignore jexec ${jname} route add -6 -host ${dst_ip} ${our_ll_ip}%${epair}b + + jexec ${jname} sysctl net.inet6.ip6.forwarding=1 + # As we're doing router-on-the-stick, turn sending IP redirects off: + jexec ${jname} sysctl net.inet6.ip6.redirect=0 + + atf_check -s exit:0 $(atf_get_srcdir)/${script_name} \ + --test_name fwd_ip6_icmp \ + --smac ${our_mac} --dmac ${jail_mac} \ + --sip ${src_ip} --dip ${dst_ip} \ + --iface ${epair}a + + # check counters are valid + atf_check -o match:'1 packet forwarded' jexec ${jname} netstat -sp ip6 +} + +fwd_ip6_gu_icmp_gw_ll_fast_success_cleanup() { + + vnet_cleanup +} + +atf_test_case "fwd_ip6_gu_icmp_iface_slow_success" "cleanup" +fwd_ip6_gu_icmp_iface_slow_success_head() { + + atf_set descr 'Test valid IPv6 global unicast fast-forwarding to interface' + atf_set require.user root + atf_set require.progs scapy +} + +fwd_ip6_gu_icmp_iface_slow_success_body() { + + ids=65526 + id=`printf "%x" ${ids}` + if [ $$ -gt 65535 ]; then + xl=`printf "%x" $(($$ - 65535))` + yl="1" + else + xl=`printf "%x" $$` + yl="" + fi + + vnet_init + + ip6a="2001:db8:6666:0000:${yl}:${id}:1:${xl}" + ip6b="2001:db8:6666:0000:${yl}:${id}:2:${xl}" + plen=96 + + src_ip="2001:db8:6666:0000:${yl}:${id}:3:${xl}" + + script_name="../common/sender.py" + + epair=$(vnet_mkepair) + ifconfig ${epair}a up + ifconfig ${epair}a inet6 ${ip6a}/${plen} + + jname="v6t-${id}-${yl}-${xl}" + vnet_mkjail ${jname} ${epair}b + jexec ${jname} ifconfig ${epair}b up + jexec ${jname} ifconfig ${epair}b inet6 ${ip6b}/${plen} + + jail_mac=`jexec ${jname} ifconfig ${epair}b ether | awk '$1~/ether/{print$2}'` + + our_mac=`ifconfig ${epair}a ether | awk '$1~/ether/{print$2}'` + + # wait for DAD to complete + while [ `jexec ${jname} ifconfig ${epair}b inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + while [ `ifconfig ${epair}a inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + + jexec ${jname} sysctl net.inet6.ip6.forwarding=1 + # Do not turn off route redirects to ensure slow path is on + + atf_check -s exit:0 $(atf_get_srcdir)/${script_name} \ + --test_name fwd_ip6_icmp \ + --smac ${our_mac} --dmac ${jail_mac} \ + --sip ${src_ip} --dip ${ip6a} \ + --iface ${epair}a + + # check counters are valid + atf_check -o match:'1 packet forwarded' jexec ${jname} netstat -sp ip6 +} + +fwd_ip6_gu_icmp_iface_slow_success_cleanup() { + + vnet_cleanup +} + +atf_test_case "fwd_ip6_gu_icmp_gw_gu_slow_success" "cleanup" +fwd_ip6_gu_icmp_gw_gu_slow_success_head() { + + atf_set descr 'Test valid IPv6 global unicast fast-forwarding to GU gw' + atf_set require.user root + atf_set require.progs scapy +} + +fwd_ip6_gu_icmp_gw_gu_slow_success_body() { + + ids=65525 + id=`printf "%x" ${ids}` + if [ $$ -gt 65535 ]; then + xl=`printf "%x" $(($$ - 65535))` + yl="1" + else + xl=`printf "%x" $$` + yl="" + fi + + vnet_init + + ip6a="2001:db8:6666:0000:${yl}:${id}:1:${xl}" + ip6b="2001:db8:6666:0000:${yl}:${id}:2:${xl}" + plen=96 + + src_ip="2001:db8:6666:0000:${yl}:${id}:3:${xl}" + dst_ip="2001:db8:6666:0000:${yl}:${id}:4:${xl}" + + script_name="../common/sender.py" + + epair=$(vnet_mkepair) + ifconfig ${epair}a up + ifconfig ${epair}a inet6 ${ip6a}/${plen} + + jname="v6t-${id}-${yl}-${xl}" + vnet_mkjail ${jname} ${epair}b + jexec ${jname} ifconfig ${epair}b up + jexec ${jname} ifconfig ${epair}b inet6 ${ip6b}/${plen} + + jail_mac=`jexec ${jname} ifconfig ${epair}b ether | awk '$1~/ether/{print$2}'` + + our_mac=`ifconfig ${epair}a ether | awk '$1~/ether/{print$2}'` + + # wait for DAD to complete + while [ `jexec ${jname} ifconfig ${epair}b inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + while [ `ifconfig ${epair}a inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + + # Add static route back to us + jexec ${jname} route add -6 -host ${dst_ip} ${ip6a} + + jexec ${jname} sysctl net.inet6.ip6.forwarding=1 + # Do not turn off route redirects to ensure slow path is on + + # atf_check -s exit:0 + $(atf_get_srcdir)/${script_name} \ + --test_name fwd_ip6_icmp \ + --smac ${our_mac} --dmac ${jail_mac} \ + --sip ${src_ip} --dip ${dst_ip} \ + --iface ${epair}a + jexec ${jname} netstat -sp ip6 + + # check counters are valid + atf_check -o match:'1 packet forwarded' jexec ${jname} netstat -sp ip6 +} + +fwd_ip6_gu_icmp_gw_gu_slow_success_cleanup() { + + vnet_cleanup +} + +atf_test_case "fwd_ip6_gu_icmp_gw_ll_slow_success" "cleanup" +fwd_ip6_gu_icmp_gw_ll_slow_success_head() { + + atf_set descr 'Test valid IPv6 global unicast fast-forwarding to LL gw' + atf_set require.user root + atf_set require.progs scapy +} + +fwd_ip6_gu_icmp_gw_ll_slow_success_body() { + + ids=65524 + id=`printf "%x" ${ids}` + if [ $$ -gt 65535 ]; then + xl=`printf "%x" $(($$ - 65535))` + yl="1" + else + xl=`printf "%x" $$` + yl="" + fi + + vnet_init + + ip6a="2001:db8:6666:0000:${yl}:${id}:1:${xl}" + ip6b="2001:db8:6666:0000:${yl}:${id}:2:${xl}" + plen=96 + + src_ip="2001:db8:6666:0000:${yl}:${id}:3:${xl}" + dst_ip="2001:db8:6666:0000:${yl}:${id}:4:${xl}" + + script_name="../common/sender.py" + + epair=$(vnet_mkepair) + ifconfig ${epair}a up + ifconfig ${epair}a inet6 ${ip6a}/${plen} + + jname="v6t-${id}-${yl}-${xl}" + vnet_mkjail ${jname} ${epair}b + jexec ${jname} ifconfig ${epair}b up + jexec ${jname} ifconfig ${epair}b inet6 ${ip6b}/${plen} + + jail_mac=`jexec ${jname} ifconfig ${epair}b ether | awk '$1~/ether/{print$2}'` + + our_mac=`ifconfig ${epair}a ether | awk '$1~/ether/{print$2}'` + our_ll_ip=`ifconfig ${epair}a inet6 | awk '$1~/inet6/&& $2~/^fe80:/{print$2}' | awk -F% '{print$1}'` + + # wait for DAD to complete + while [ `jexec ${jname} ifconfig ${epair}b inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + while [ `ifconfig ${epair}a inet6 | grep -c tentative` != "0" ]; do + sleep 0.1 + done + + # Add static route back to us + atf_check -s exit:0 -o ignore jexec ${jname} route add -6 -host ${dst_ip} ${our_ll_ip}%${epair}b + + jexec ${jname} sysctl net.inet6.ip6.forwarding=1 + # Do not turn off route redirects to ensure slow path is on + + atf_check -s exit:0 $(atf_get_srcdir)/${script_name} \ + --test_name fwd_ip6_icmp \ + --smac ${our_mac} --dmac ${jail_mac} \ + --sip ${src_ip} --dip ${dst_ip} \ + --iface ${epair}a + + # check counters are valid + atf_check -o match:'1 packet forwarded' jexec ${jname} netstat -sp ip6 +} + +fwd_ip6_gu_icmp_gw_ll_slow_success_cleanup() { + + vnet_cleanup +} + +atf_init_test_cases() +{ + + atf_add_test_case "fwd_ip6_gu_icmp_iface_fast_success" + atf_add_test_case "fwd_ip6_gu_icmp_gw_gu_fast_success" + atf_add_test_case "fwd_ip6_gu_icmp_gw_ll_fast_success" + atf_add_test_case "fwd_ip6_gu_icmp_iface_slow_success" + atf_add_test_case "fwd_ip6_gu_icmp_gw_gu_slow_success" + atf_add_test_case "fwd_ip6_gu_icmp_gw_ll_slow_success" +} + +# end + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Tue Mar 10 20:01:53 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4FD4826ED30; Tue, 10 Mar 2020 20:01:53 +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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cQwK1W3zz3NLt; Tue, 10 Mar 2020 20:01:53 +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 2EF27BE8; Tue, 10 Mar 2020 20:01:53 +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 02AK1rKj016588; Tue, 10 Mar 2020 20:01:53 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AK1rVl016587; Tue, 10 Mar 2020 20:01:53 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003102001.02AK1rVl016587@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 10 Mar 2020 20:01:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358854 - head/lib/clang/libllvmminimal X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/lib/clang/libllvmminimal X-SVN-Commit-Revision: 358854 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 20:01:53 -0000 Author: dim Date: Tue Mar 10 20:01:52 2020 New Revision: 358854 URL: https://svnweb.freebsd.org/changeset/base/358854 Log: Add one additional file to libllvmminimal, to help the ppc64 bootstrap. Reported by: bdragon PR: 244251 MFC after: 6 weeks X-MFC-With: 358851 Modified: head/lib/clang/libllvmminimal/Makefile Modified: head/lib/clang/libllvmminimal/Makefile ============================================================================== --- head/lib/clang/libllvmminimal/Makefile Tue Mar 10 19:52:19 2020 (r358853) +++ head/lib/clang/libllvmminimal/Makefile Tue Mar 10 20:01:52 2020 (r358854) @@ -58,6 +58,7 @@ SRCS+= Support/Unicode.cpp SRCS+= Support/VirtualFileSystem.cpp SRCS+= Support/Watchdog.cpp SRCS+= Support/WithColor.cpp +SRCS+= Support/YAMLParser.cpp SRCS+= Support/circular_raw_ostream.cpp SRCS+= Support/raw_ostream.cpp SRCS+= Support/regcomp.c From owner-svn-src-head@freebsd.org Tue Mar 10 20:04:40 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 18BC426EE90; Tue, 10 Mar 2020 20:04:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cQzW4x07z3PkX; Tue, 10 Mar 2020 20:04:39 +0000 (UTC) (envelope-from kib@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 A4968D7C; Tue, 10 Mar 2020 20:04:39 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02AK4drV019025; Tue, 10 Mar 2020 20:04:39 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AK4dhB019022; Tue, 10 Mar 2020 20:04:39 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003102004.02AK4dhB019022@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Tue, 10 Mar 2020 20:04:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358855 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 358855 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 20:04:40 -0000 Author: kib Date: Tue Mar 10 20:04:38 2020 New Revision: 358855 URL: https://svnweb.freebsd.org/changeset/base/358855 Log: Return reschedule_signals() to being static again. It was used after sigfastblock_setpend() call in in ast() when current thread fast-blocks signals. Add a flag to sigfastblock_setpend() to request reschedule, and remove the direct use of the function from subr_trap.c Tested by: pho Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/kern_sig.c head/sys/kern/subr_trap.c head/sys/sys/signalvar.h Modified: head/sys/kern/kern_sig.c ============================================================================== --- head/sys/kern/kern_sig.c Tue Mar 10 20:01:52 2020 (r358854) +++ head/sys/kern/kern_sig.c Tue Mar 10 20:04:38 2020 (r358855) @@ -108,6 +108,7 @@ static int coredump(struct thread *); static int killpg1(struct thread *td, int sig, int pgid, int all, ksiginfo_t *ksi); static int issignal(struct thread *td); +static void reschedule_signals(struct proc *p, sigset_t block, int flags); static int sigprop(int sig); static void tdsigwakeup(struct thread *, int, sig_t, int); static int sig_suspend_threads(struct thread *, struct proc *, int); @@ -2683,7 +2684,7 @@ stopme: return (td->td_xsig); } -void +static void reschedule_signals(struct proc *p, sigset_t block, int flags) { struct sigacts *ps; @@ -4124,8 +4125,8 @@ sigfastblock_fetch(struct thread *td) (void)sigfastblock_fetch_sig(td, true, &val); } -void -sigfastblock_setpend(struct thread *td) +static void +sigfastblock_setpend1(struct thread *td) { int res; uint32_t oldval; @@ -4152,5 +4153,19 @@ sigfastblock_setpend(struct thread *td) MPASS(res == 1); if (thread_check_susp(td, false) != 0) break; + } +} + +void +sigfastblock_setpend(struct thread *td, bool resched) +{ + struct proc *p; + + sigfastblock_setpend1(td); + if (resched) { + p = td->td_proc; + PROC_LOCK(p); + reschedule_signals(p, fastblock_mask, SIGPROCMASK_FASTBLK); + PROC_UNLOCK(p); } } Modified: head/sys/kern/subr_trap.c ============================================================================== --- head/sys/kern/subr_trap.c Tue Mar 10 20:01:52 2020 (r358854) +++ head/sys/kern/subr_trap.c Tue Mar 10 20:04:38 2020 (r358855) @@ -328,11 +328,7 @@ ast(struct trapframe *framep) sigfastblock_fetch(td); if ((td->td_pflags & TDP_SIGFASTBLOCK) != 0 && td->td_sigblock_val != 0) { - sigfastblock_setpend(td); - PROC_LOCK(p); - reschedule_signals(p, fastblock_mask, - SIGPROCMASK_FASTBLK); - PROC_UNLOCK(p); + sigfastblock_setpend(td, true); } else { PROC_LOCK(p); mtx_lock(&p->p_sigacts->ps_mtx); @@ -350,7 +346,7 @@ ast(struct trapframe *framep) * the postsig() loop was performed. */ if (td->td_pflags & TDP_SIGFASTPENDING) - sigfastblock_setpend(td); + sigfastblock_setpend(td, false); /* * We need to check to see if we have to exit or wait due to a Modified: head/sys/sys/signalvar.h ============================================================================== --- head/sys/sys/signalvar.h Tue Mar 10 20:01:52 2020 (r358854) +++ head/sys/sys/signalvar.h Tue Mar 10 20:04:38 2020 (r358855) @@ -393,7 +393,6 @@ void pgsignal(struct pgrp *pgrp, int sig, int checkctt int postsig(int sig); void kern_psignal(struct proc *p, int sig); int ptracestop(struct thread *td, int sig, ksiginfo_t *si); -void reschedule_signals(struct proc *p, sigset_t block, int flags); void sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *retmask); struct sigacts *sigacts_alloc(void); void sigacts_copy(struct sigacts *dest, struct sigacts *src); @@ -406,7 +405,7 @@ int sigev_findtd(struct proc *p, struct sigevent *sige int sig_ffs(sigset_t *set); void sigfastblock_clear(struct thread *td); void sigfastblock_fetch(struct thread *td); -void sigfastblock_setpend(struct thread *td); +void sigfastblock_setpend(struct thread *td, bool resched); void siginit(struct proc *p); void signotify(struct thread *td); void sigqueue_delete(struct sigqueue *queue, int sig); From owner-svn-src-head@freebsd.org Tue Mar 10 20:25:04 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1FF7A26F591; Tue, 10 Mar 2020 20:25:04 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cRR36tp5z4hKc; Tue, 10 Mar 2020 20:25:03 +0000 (UTC) (envelope-from kib@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 E1FAC1184; Tue, 10 Mar 2020 20:25:03 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02AKP3f1031012; Tue, 10 Mar 2020 20:25:03 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AKP39m031011; Tue, 10 Mar 2020 20:25:03 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202003102025.02AKP39m031011@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Tue, 10 Mar 2020 20:25:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358856 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 358856 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 20:25:04 -0000 Author: kib Date: Tue Mar 10 20:25:03 2020 New Revision: 358856 URL: https://svnweb.freebsd.org/changeset/base/358856 Log: Fix signal delivery might be on sigfastblock clearing. When clearing sigfastblock, either by sigfastblock(UNSETPTR) call or implicitly on execve(2), kernel must check for pending signals and reschedule them if needed. E.g. on execve, all other threads are terminated, and current thread fast block pointer is cleaned. If any signal was left pending, it can now be delivered to the current thread, and we should prepare for ast() on return to userspace to notice the signals. Reported and tested by: pho Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/kern_sig.c Modified: head/sys/kern/kern_sig.c ============================================================================== --- head/sys/kern/kern_sig.c Tue Mar 10 20:04:38 2020 (r358855) +++ head/sys/kern/kern_sig.c Tue Mar 10 20:25:03 2020 (r358856) @@ -4107,7 +4107,8 @@ sigfastblock_clear(struct thread *td) if ((td->td_pflags & TDP_SIGFASTBLOCK) == 0) return; td->td_sigblock_val = 0; - resched = (td->td_pflags & TDP_SIGFASTPENDING) != 0; + resched = (td->td_pflags & TDP_SIGFASTPENDING) != 0 || + SIGPENDING(td); td->td_pflags &= ~(TDP_SIGFASTBLOCK | TDP_SIGFASTPENDING); if (resched) { p = td->td_proc; From owner-svn-src-head@freebsd.org Tue Mar 10 20:25:38 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1313A26F60C; Tue, 10 Mar 2020 20:25:38 +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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cRRj3jskz4jVB; Tue, 10 Mar 2020 20:25:37 +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 D548E1186; Tue, 10 Mar 2020 20:25:36 +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 02AKPa22031079; Tue, 10 Mar 2020 20:25:36 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AKPaPE031078; Tue, 10 Mar 2020 20:25:36 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003102025.02AKPaPE031078@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 10 Mar 2020 20:25:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358857 - head/lib/clang/libllvm X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/lib/clang/libllvm X-SVN-Commit-Revision: 358857 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 20:25:38 -0000 Author: dim Date: Tue Mar 10 20:25:36 2020 New Revision: 358857 URL: https://svnweb.freebsd.org/changeset/base/358857 Log: Move another file in libllvm from sources required for world, to sources required for bootstrap, as the PowerPC builds need this. Reported by: bdragon PR: 244251 MFC after: 6 weeks X-MFC-With: 358851 Modified: head/lib/clang/libllvm/Makefile Modified: head/lib/clang/libllvm/Makefile ============================================================================== --- head/lib/clang/libllvm/Makefile Tue Mar 10 20:25:03 2020 (r358856) +++ head/lib/clang/libllvm/Makefile Tue Mar 10 20:25:36 2020 (r358857) @@ -842,7 +842,7 @@ SRCS_MIN+= Support/BranchProbability.cpp SRCS_MIN+= Support/BuryPointer.cpp SRCS_MIN+= Support/CachePruning.cpp SRCS_MIW+= Support/COM.cpp -SRCS_MIW+= Support/CRC.cpp +SRCS_MIN+= Support/CRC.cpp SRCS_MIN+= Support/Chrono.cpp SRCS_MIN+= Support/CodeGenCoverage.cpp SRCS_MIN+= Support/CommandLine.cpp From owner-svn-src-head@freebsd.org Tue Mar 10 20:30:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 778BD26F8CE; Tue, 10 Mar 2020 20:30:22 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cRY94QfRz4tn5; Tue, 10 Mar 2020 20:30:21 +0000 (UTC) (envelope-from melifaro@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 6BCB11193; Tue, 10 Mar 2020 20:30:21 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02AKULrI031392; Tue, 10 Mar 2020 20:30:21 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AKUL0q031391; Tue, 10 Mar 2020 20:30:21 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202003102030.02AKUL0q031391@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Tue, 10 Mar 2020 20:30:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358858 - head/sbin/ipfw X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sbin/ipfw X-SVN-Commit-Revision: 358858 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 20:30:22 -0000 Author: melifaro Date: Tue Mar 10 20:30:21 2020 New Revision: 358858 URL: https://svnweb.freebsd.org/changeset/base/358858 Log: Don't assume !IPv6 is IPv4 in ipfw(8) add_src() and add_dst(). Submitted by: Neel Chauhan MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D21812 Modified: head/sbin/ipfw/ipfw2.c Modified: head/sbin/ipfw/ipfw2.c ============================================================================== --- head/sbin/ipfw/ipfw2.c Tue Mar 10 20:25:36 2020 (r358857) +++ head/sbin/ipfw/ipfw2.c Tue Mar 10 20:30:21 2020 (r358858) @@ -3717,11 +3717,10 @@ add_src(ipfw_insn *cmd, char *av, u_char proto, int cb if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 || inet_pton(AF_INET6, host, &a) == 1) ret = add_srcip6(cmd, av, cblen, tstate); - /* XXX: should check for IPv4, not !IPv6 */ - if (ret == NULL && (proto == IPPROTO_IP || strcmp(av, "me") == 0 || - inet_pton(AF_INET6, host, &a) != 1)) + else if (proto == IPPROTO_IP || strcmp(av, "me") == 0 || + inet_pton(AF_INET, host, &a) == 1) ret = add_srcip(cmd, av, cblen, tstate); - if (ret == NULL && strcmp(av, "any") != 0) + else if (ret == NULL && strcmp(av, "any") != 0) ret = cmd; return ret; @@ -3748,11 +3747,10 @@ add_dst(ipfw_insn *cmd, char *av, u_char proto, int cb if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 || inet_pton(AF_INET6, host, &a) == 1) ret = add_dstip6(cmd, av, cblen, tstate); - /* XXX: should check for IPv4, not !IPv6 */ - if (ret == NULL && (proto == IPPROTO_IP || strcmp(av, "me") == 0 || - inet_pton(AF_INET6, host, &a) != 1)) + else if (proto == IPPROTO_IP || strcmp(av, "me") == 0 || + inet_pton(AF_INET, host, &a) == 1) ret = add_dstip(cmd, av, cblen, tstate); - if (ret == NULL && strcmp(av, "any") != 0) + else if (ret == NULL && strcmp(av, "any") != 0) ret = cmd; return ret; From owner-svn-src-head@freebsd.org Tue Mar 10 21:44:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D98AC270F9A; Tue, 10 Mar 2020 21:44:21 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cTBX5jclz4PdM; Tue, 10 Mar 2020 21:44:20 +0000 (UTC) (envelope-from np@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 956AC2040; Tue, 10 Mar 2020 21:44:20 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ALiK65078923; Tue, 10 Mar 2020 21:44:20 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ALiKx6078922; Tue, 10 Mar 2020 21:44:20 GMT (envelope-from np@FreeBSD.org) Message-Id: <202003102144.02ALiKx6078922@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 10 Mar 2020 21:44:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358859 - head/sys/dev/cxgbe X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe X-SVN-Commit-Revision: 358859 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 21:44:22 -0000 Author: np Date: Tue Mar 10 21:44:20 2020 New Revision: 358859 URL: https://svnweb.freebsd.org/changeset/base/358859 Log: cxgbe(4): Do not try to use 0 as an rx buffer address when the driver is already allocating from the safe zone and the allocation fails. This bug was introduced in r357481. MFC after: 3 days Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/t4_sge.c Modified: head/sys/dev/cxgbe/t4_sge.c ============================================================================== --- head/sys/dev/cxgbe/t4_sge.c Tue Mar 10 20:30:21 2020 (r358858) +++ head/sys/dev/cxgbe/t4_sge.c Tue Mar 10 21:44:20 2020 (r358859) @@ -4382,10 +4382,12 @@ refill_fl(struct adapter *sc, struct sge_fl *fl, int n MPASS(sd->cl == NULL); rxb = &sc->sge.rx_buf_info[fl->zidx]; cl = uma_zalloc(rxb->zone, M_NOWAIT); - if (__predict_false(cl == NULL) && fl->zidx != fl->safe_zidx) { - rxb = &sc->sge.rx_buf_info[fl->safe_zidx]; - cl = uma_zalloc(rxb->zone, M_NOWAIT); - if (__predict_false(cl == NULL)) + if (__predict_false(cl == NULL)) { + if (fl->zidx != fl->safe_zidx) { + rxb = &sc->sge.rx_buf_info[fl->safe_zidx]; + cl = uma_zalloc(rxb->zone, M_NOWAIT); + } + if (cl == NULL) break; } fl->cl_allocated++; From owner-svn-src-head@freebsd.org Tue Mar 10 21:49:58 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8119627125C; Tue, 10 Mar 2020 21:49:58 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cTK15wHSz4dZ6; Tue, 10 Mar 2020 21:49:57 +0000 (UTC) (envelope-from np@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 124CA206C; Tue, 10 Mar 2020 21:49:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ALnueo079546; Tue, 10 Mar 2020 21:49:56 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ALnuSi079545; Tue, 10 Mar 2020 21:49:56 GMT (envelope-from np@FreeBSD.org) Message-Id: <202003102149.02ALnuSi079545@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 10 Mar 2020 21:49:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358860 - head/sys/dev/cxgbe/tom X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe/tom X-SVN-Commit-Revision: 358860 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 21:49:58 -0000 Author: np Date: Tue Mar 10 21:49:56 2020 New Revision: 358860 URL: https://svnweb.freebsd.org/changeset/base/358860 Log: cxgbe/t4_tom: The MSS in a FLOWC work request must not be 0. Submitted by: jhb@ MFC after: 1 week Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/tom/t4_cpl_io.c Modified: head/sys/dev/cxgbe/tom/t4_cpl_io.c ============================================================================== --- head/sys/dev/cxgbe/tom/t4_cpl_io.c Tue Mar 10 21:44:20 2020 (r358859) +++ head/sys/dev/cxgbe/tom/t4_cpl_io.c Tue Mar 10 21:49:56 2020 (r358860) @@ -135,11 +135,12 @@ send_flowc_wr(struct toepcb *toep, struct tcpcb *tp) FLOWC_PARAM(PORT, pi->tx_chan); FLOWC_PARAM(IQID, toep->ofld_rxq->iq.abs_id); FLOWC_PARAM(SNDBUF, toep->params.sndbuf); - FLOWC_PARAM(MSS, toep->params.emss); if (tp) { + FLOWC_PARAM(MSS, toep->params.emss); FLOWC_PARAM(SNDNXT, tp->snd_nxt); FLOWC_PARAM(RCVNXT, tp->rcv_nxt); - } + } else + FLOWC_PARAM(MSS, 512); CTR6(KTR_CXGBE, "%s: tid %u, mss %u, sndbuf %u, snd_nxt 0x%x, rcv_nxt 0x%x", __func__, toep->tid, toep->params.emss, toep->params.sndbuf, From owner-svn-src-head@freebsd.org Tue Mar 10 22:59:02 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C4BC3272A82; Tue, 10 Mar 2020 22:59:02 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cVrk1cwDz4WLs; Tue, 10 Mar 2020 22:59:02 +0000 (UTC) (envelope-from jkim@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 AB6952D8D; Tue, 10 Mar 2020 22:59:01 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02AMx1fb021611; Tue, 10 Mar 2020 22:59:01 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02AMx15j021610; Tue, 10 Mar 2020 22:59:01 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <202003102259.02AMx15j021610@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Tue, 10 Mar 2020 22:59:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358861 - head/share/examples/etc X-SVN-Group: head X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: head/share/examples/etc X-SVN-Commit-Revision: 358861 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 22:59:02 -0000 Author: jkim Date: Tue Mar 10 22:59:01 2020 New Revision: 358861 URL: https://svnweb.freebsd.org/changeset/base/358861 Log: - Remove CPUTYPE examples for sparc64. It is not supported since r358345. - Clean up CPUTYPE examples for x86. GCC 4.2.1 was removed by r358454. Modified: head/share/examples/etc/make.conf Modified: head/share/examples/etc/make.conf ============================================================================== --- head/share/examples/etc/make.conf Tue Mar 10 21:49:56 2020 (r358860) +++ head/share/examples/etc/make.conf Tue Mar 10 22:59:01 2020 (r358861) @@ -30,27 +30,19 @@ # NO_CPU_CFLAGS variable below. # Currently the following CPU types are recognized: # Intel x86 architecture: -# (AMD CPUs) amdfam10, opteron-sse3, athlon64-sse3, k8-sse3, -# opteron, athlon64, athlon-fx, k8, athlon-mp, -# athlon-xp, athlon-4, athlon-tbird, athlon, k7, -# geode, k6-3, k6-2, k6 -# (Intel CPUs) core2, core, nocona, pentium4m, pentium4, prescott, -# pentium3m, pentium3, pentium-m, pentium2, -# pentiumpro, pentium-mmx, pentium, i486 -# (VIA CPUs) c7, c3-2, c3 -# AMD64 architecture: amdfam10, opteron-sse3, athlon64-sse3, k8-sse3, -# opteron, athlon64, k8, core2, nocona -# SPARC-V9 architecture: v9 (generic 64-bit V9), ultrasparc (default -# if omitted), ultrasparc3 -# Additionally the following CPU types are recognized by clang: -# Intel x86 architecture (for both amd64 and i386): # (AMD CPUs) znver2, znver1, bdver4, bdver3, bdver2, bdver1, -# btver2, btver1 +# btver2, btver1, amdfam10, opteron-sse3, athlon64-sse3, +# k8-sse3, opteron, athlon64, athlon-fx, k8, athlon-mp, +# athlon-xp, athlon-4, athlon-tbird, athlon, k7, geode, +# k6-3, k6-2, k6 # (Intel CPUs) cooperlake, cascadelake, tremont, goldmont-plus, # icelake-server, icelake-client, cannonlake, knm, # skylake-avx512, knl, goldmont, skylake, broadwell, # haswell, ivybridge, sandybridge, westmere, nehalem, -# silvermont, bonnell +# silvermont, bonnell, core2, core, nocona, pentium4m, +# pentium4, prescott, pentium3m, pentium3, pentium-m, +# pentium2, pentiumpro, pentium-mmx, pentium, i486 +# (VIA CPUs) c7, c3-2, c3 # ARM architecture: armv5, armv5te, armv6, armv6t2, arm1176jzf-s, armv7, # armv7-a, armv7ve, generic-armv7-a, cortex-a5, # cortex-a7, cortex-a8, cortex-a9, cortex-a12, From owner-svn-src-head@freebsd.org Tue Mar 10 23:12:57 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6EDDF272FE3; Tue, 10 Mar 2020 23:12:57 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cW8m5SRLz3QF6; Tue, 10 Mar 2020 23:12:56 +0000 (UTC) (envelope-from jkim@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 828B13119; Tue, 10 Mar 2020 23:12:56 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ANCuq4033200; Tue, 10 Mar 2020 23:12:56 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ANCu1U033198; Tue, 10 Mar 2020 23:12:56 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <202003102312.02ANCu1U033198@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Tue, 10 Mar 2020 23:12:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358862 - in head/share: examples/etc mk X-SVN-Group: head X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: in head/share: examples/etc mk X-SVN-Commit-Revision: 358862 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 23:12:57 -0000 Author: jkim Date: Tue Mar 10 23:12:55 2020 New Revision: 358862 URL: https://svnweb.freebsd.org/changeset/base/358862 Log: Add "tigerlake" CPUTYPE for x86 to catch up with Clang 10.0. Modified: head/share/examples/etc/make.conf head/share/mk/bsd.cpu.mk Modified: head/share/examples/etc/make.conf ============================================================================== --- head/share/examples/etc/make.conf Tue Mar 10 22:59:01 2020 (r358861) +++ head/share/examples/etc/make.conf Tue Mar 10 23:12:55 2020 (r358862) @@ -35,13 +35,14 @@ # k8-sse3, opteron, athlon64, athlon-fx, k8, athlon-mp, # athlon-xp, athlon-4, athlon-tbird, athlon, k7, geode, # k6-3, k6-2, k6 -# (Intel CPUs) cooperlake, cascadelake, tremont, goldmont-plus, -# icelake-server, icelake-client, cannonlake, knm, -# skylake-avx512, knl, goldmont, skylake, broadwell, -# haswell, ivybridge, sandybridge, westmere, nehalem, -# silvermont, bonnell, core2, core, nocona, pentium4m, -# pentium4, prescott, pentium3m, pentium3, pentium-m, -# pentium2, pentiumpro, pentium-mmx, pentium, i486 +# (Intel CPUs) tigerlake, cooperlake, cascadelake, tremont, +# goldmont-plus, icelake-server, icelake-client, +# cannonlake, knm, skylake-avx512, knl, goldmont, +# skylake, broadwell, haswell, ivybridge, sandybridge, +# westmere, nehalem, silvermont, bonnell, core2, core, +# nocona, pentium4m, pentium4, prescott, pentium3m, +# pentium3, pentium-m, pentium2, pentiumpro, pentium-mmx, +# pentium, i486 # (VIA CPUs) c7, c3-2, c3 # ARM architecture: armv5, armv5te, armv6, armv6t2, arm1176jzf-s, armv7, # armv7-a, armv7ve, generic-armv7-a, cortex-a5, Modified: head/share/mk/bsd.cpu.mk ============================================================================== --- head/share/mk/bsd.cpu.mk Tue Mar 10 22:59:01 2020 (r358861) +++ head/share/mk/bsd.cpu.mk Tue Mar 10 23:12:55 2020 (r358862) @@ -183,10 +183,10 @@ MACHINE_CPU = 3dnow mmx k6 k5 i586 MACHINE_CPU = mmx k6 k5 i586 . elif ${CPUTYPE} == "k5" MACHINE_CPU = k5 i586 -. elif ${CPUTYPE} == "cooperlake" || ${CPUTYPE} == "cascadelake" || \ - ${CPUTYPE} == "icelake-server" || ${CPUTYPE} == "icelake-client" || \ - ${CPUTYPE} == "cannonlake" || ${CPUTYPE} == "knm" || \ - ${CPUTYPE} == "skylake-avx512" || ${CPUTYPE} == "knl" +. elif ${CPUTYPE} == "tigerlake" || ${CPUTYPE} == "cooperlake" || \ + ${CPUTYPE} == "cascadelake" || ${CPUTYPE} == "icelake-server" || \ + ${CPUTYPE} == "icelake-client" || ${CPUTYPE} == "cannonlake" || \ + ${CPUTYPE} == "knm" || ${CPUTYPE} == "skylake-avx512" || ${CPUTYPE} == "knl" MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 . elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "broadwell" || \ ${CPUTYPE} == "haswell" @@ -249,10 +249,10 @@ MACHINE_CPU = k8 3dnow sse3 . elif ${CPUTYPE} == "opteron" || ${CPUTYPE} == "athlon64" || \ ${CPUTYPE} == "athlon-fx" || ${CPUTYPE} == "k8" MACHINE_CPU = k8 3dnow -. elif ${CPUTYPE} == "cooperlake" || ${CPUTYPE} == "cascadelake" || \ - ${CPUTYPE} == "icelake-server" || ${CPUTYPE} == "icelake-client" || \ - ${CPUTYPE} == "cannonlake" || ${CPUTYPE} == "knm" || \ - ${CPUTYPE} == "skylake-avx512" || ${CPUTYPE} == "knl" +. elif ${CPUTYPE} == "tigerlake" || ${CPUTYPE} == "cooperlake" || \ + ${CPUTYPE} == "cascadelake" || ${CPUTYPE} == "icelake-server" || \ + ${CPUTYPE} == "icelake-client" || ${CPUTYPE} == "cannonlake" || \ + ${CPUTYPE} == "knm" || ${CPUTYPE} == "skylake-avx512" || ${CPUTYPE} == "knl" MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 . elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "broadwell" || \ ${CPUTYPE} == "haswell" From owner-svn-src-head@freebsd.org Tue Mar 10 23:58:42 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A34D2273EDA; Tue, 10 Mar 2020 23:58:42 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cX9Z3j0Qz3xd0; Tue, 10 Mar 2020 23:58:42 +0000 (UTC) (envelope-from imp@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 415933A6F; Tue, 10 Mar 2020 23:58:42 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ANwgXO057149; Tue, 10 Mar 2020 23:58:42 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ANwfD3057147; Tue, 10 Mar 2020 23:58:41 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003102358.02ANwfD3057147@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 10 Mar 2020 23:58:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358863 - in head: lib/libcam sys/cam sys/cam/ctl X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head: lib/libcam sys/cam sys/cam/ctl X-SVN-Commit-Revision: 358863 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 23:58:42 -0000 Author: imp Date: Tue Mar 10 23:58:41 2020 New Revision: 358863 URL: https://svnweb.freebsd.org/changeset/base/358863 Log: Remove unused cam ccb flags These flags have been unused for some time. Some of them were in the CAM2 specification, but CAM has moved on a bit from that. Some were used in the old Pluto VideoSpace (and AirSpace) systems which had the video playback I/O scheduler in userspace, but have been unused since then. Reviewed by: chuck, ken Differential Revision: https://reviews.freebsd.org/D24008 Modified: head/lib/libcam/cam_cdbparse.3 head/sys/cam/cam_ccb.h head/sys/cam/ctl/ctl_frontend_cam_sim.c Modified: head/lib/libcam/cam_cdbparse.3 ============================================================================== --- head/lib/libcam/cam_cdbparse.3 Tue Mar 10 23:12:55 2020 (r358862) +++ head/lib/libcam/cam_cdbparse.3 Tue Mar 10 23:58:41 2020 (r358863) @@ -212,8 +212,6 @@ are the flags defined in /* CAM CCB flags */ typedef enum { CAM_CDB_POINTER = 0x00000001,/* The CDB field is a pointer */ - CAM_QUEUE_ENABLE = 0x00000002,/* SIM queue actions are enabled */ - CAM_CDB_LINKED = 0x00000004,/* CCB contains a linked CDB */ CAM_SCATTER_VALID = 0x00000010,/* Scatter/gather list is valid */ CAM_DIS_AUTOSENSE = 0x00000020,/* Disable autosense feature */ CAM_DIR_RESV = 0x00000000,/* Data direction (00:reserved) */ @@ -221,8 +219,6 @@ typedef enum { CAM_DIR_OUT = 0x00000080,/* Data direction (10:DATA OUT) */ CAM_DIR_NONE = 0x000000C0,/* Data direction (11:no data) */ CAM_DIR_MASK = 0x000000C0,/* Data direction Mask */ - CAM_SOFT_RST_OP = 0x00000100,/* Use Soft reset alternative */ - CAM_ENG_SYNC = 0x00000200,/* Flush resid bytes on complete */ CAM_DEV_QFRZDIS = 0x00000400,/* Disable DEV Q freezing */ CAM_DEV_QFREEZE = 0x00000800,/* Freeze DEV Q on execution */ CAM_HIGH_POWER = 0x00001000,/* Command takes a lot of power */ @@ -232,24 +228,11 @@ typedef enum { CAM_PASS_ERR_RECOVER = 0x00010000,/* Pass driver does err. recovery*/ CAM_DIS_DISCONNECT = 0x00020000,/* Disable disconnect */ CAM_SG_LIST_PHYS = 0x00040000,/* SG list has physical addrs. */ - CAM_MSG_BUF_PHYS = 0x00080000,/* Message buffer ptr is physical*/ - CAM_SNS_BUF_PHYS = 0x00100000,/* Autosense data ptr is physical*/ CAM_DATA_PHYS = 0x00200000,/* SG/Buffer data ptrs are phys. */ CAM_CDB_PHYS = 0x00400000,/* CDB pointer is physical */ - CAM_ENG_SGLIST = 0x00800000,/* SG list is for the HBA engine */ -/* Phase cognizant mode flags */ - CAM_DIS_AUTOSRP = 0x01000000,/* Disable autosave/restore ptrs */ - CAM_DIS_AUTODISC = 0x02000000,/* Disable auto disconnect */ - CAM_TGT_CCB_AVAIL = 0x04000000,/* Target CCB available */ - CAM_TGT_PHASE_MODE = 0x08000000,/* The SIM runs in phase mode */ - CAM_MSGB_VALID = 0x20000000,/* Message buffer valid */ - CAM_STATUS_VALID = 0x40000000,/* Status buffer valid */ - CAM_DATAB_VALID = 0x80000000,/* Data buffer valid */ - /* Host target Mode flags */ - CAM_TERM_IO = 0x20000000,/* Terminate I/O Message sup. */ - CAM_DISCONNECT = 0x40000000,/* Disconnects are mandatory */ + CAM_SEND_SENSE = 0x08000000,/* Send sense data with status */ CAM_SEND_STATUS = 0x80000000,/* Send status after data phase */ } ccb_flags; .Ed Modified: head/sys/cam/cam_ccb.h ============================================================================== --- head/sys/cam/cam_ccb.h Tue Mar 10 23:12:55 2020 (r358862) +++ head/sys/cam/cam_ccb.h Tue Mar 10 23:58:41 2020 (r358863) @@ -61,8 +61,8 @@ /* CAM CCB flags */ typedef enum { CAM_CDB_POINTER = 0x00000001,/* The CDB field is a pointer */ - CAM_QUEUE_ENABLE = 0x00000002,/* SIM queue actions are enabled */ - CAM_CDB_LINKED = 0x00000004,/* CCB contains a linked CDB */ + CAM_unused1 = 0x00000002, + CAM_unused2 = 0x00000004, CAM_NEGOTIATE = 0x00000008,/* * Perform transport negotiation * with this command. @@ -80,8 +80,8 @@ typedef enum { CAM_DATA_SG_PADDR = 0x00040010,/* Data type (011:sglist phys) */ CAM_DATA_BIO = 0x00200000,/* Data type (100:bio) */ CAM_DATA_MASK = 0x00240010,/* Data type mask */ - CAM_SOFT_RST_OP = 0x00000100,/* Use Soft reset alternative */ - CAM_ENG_SYNC = 0x00000200,/* Flush resid bytes on complete */ + CAM_unused3 = 0x00000100, + CAM_unused4 = 0x00000200, CAM_DEV_QFRZDIS = 0x00000400,/* Disable DEV Q freezing */ CAM_DEV_QFREEZE = 0x00000800,/* Freeze DEV Q on execution */ CAM_HIGH_POWER = 0x00001000,/* Command takes a lot of power */ @@ -90,24 +90,24 @@ typedef enum { CAM_TAG_ACTION_VALID = 0x00008000,/* Use the tag action in this ccb*/ CAM_PASS_ERR_RECOVER = 0x00010000,/* Pass driver does err. recovery*/ CAM_DIS_DISCONNECT = 0x00020000,/* Disable disconnect */ - CAM_MSG_BUF_PHYS = 0x00080000,/* Message buffer ptr is physical*/ - CAM_SNS_BUF_PHYS = 0x00100000,/* Autosense data ptr is physical*/ + CAM_unused5 = 0x00080000, + CAM_unused6 = 0x00100000, CAM_CDB_PHYS = 0x00400000,/* CDB poiner is physical */ - CAM_ENG_SGLIST = 0x00800000,/* SG list is for the HBA engine */ + CAM_unused7 = 0x00800000, /* Phase cognizant mode flags */ - CAM_DIS_AUTOSRP = 0x01000000,/* Disable autosave/restore ptrs */ - CAM_DIS_AUTODISC = 0x02000000,/* Disable auto disconnect */ - CAM_TGT_CCB_AVAIL = 0x04000000,/* Target CCB available */ - CAM_TGT_PHASE_MODE = 0x08000000,/* The SIM runs in phase mode */ - CAM_MSGB_VALID = 0x10000000,/* Message buffer valid */ - CAM_STATUS_VALID = 0x20000000,/* Status buffer valid */ - CAM_DATAB_VALID = 0x40000000,/* Data buffer valid */ + CAM_unused8 = 0x01000000, + CAM_unused9 = 0x02000000, + CAM_unused10 = 0x04000000, + CAM_unused11 = 0x08000000, + CAM_unused12 = 0x10000000, + CAM_unused13 = 0x20000000, + CAM_unused14 = 0x40000000, /* Host target Mode flags */ CAM_SEND_SENSE = 0x08000000,/* Send sense data with status */ - CAM_TERM_IO = 0x10000000,/* Terminate I/O Message sup. */ - CAM_DISCONNECT = 0x20000000,/* Disconnects are mandatory */ + CAM_unused15 = 0x10000000, + CAM_unused16 = 0x20000000, CAM_SEND_STATUS = 0x40000000,/* Send status after data phase */ CAM_UNLOCKED = 0x80000000 /* Call callback without lock. */ Modified: head/sys/cam/ctl/ctl_frontend_cam_sim.c ============================================================================== --- head/sys/cam/ctl/ctl_frontend_cam_sim.c Tue Mar 10 23:12:55 2020 (r358862) +++ head/sys/cam/ctl/ctl_frontend_cam_sim.c Tue Mar 10 23:58:41 2020 (r358863) @@ -88,8 +88,7 @@ struct cfcs_softc { * handle physical addresses yet. That would require mapping things in * order to do the copy. */ -#define CFCS_BAD_CCB_FLAGS (CAM_DATA_ISPHYS | CAM_MSG_BUF_PHYS | \ - CAM_SNS_BUF_PHYS | CAM_CDB_PHYS | CAM_SENSE_PTR | \ +#define CFCS_BAD_CCB_FLAGS (CAM_DATA_ISPHYS | CAM_CDB_PHYS | CAM_SENSE_PTR | \ CAM_SENSE_PHYS) static int cfcs_init(void); From owner-svn-src-head@freebsd.org Tue Mar 10 23:59:59 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6DABC273FF5; Tue, 10 Mar 2020 23:59:59 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cXC31gWYz41bm; Tue, 10 Mar 2020 23:59:59 +0000 (UTC) (envelope-from imp@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 212B83AA8; Tue, 10 Mar 2020 23:59:59 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02ANxxUk057254; Tue, 10 Mar 2020 23:59:59 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02ANxwLj057251; Tue, 10 Mar 2020 23:59:58 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003102359.02ANxwLj057251@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 10 Mar 2020 23:59:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358864 - head/sys/cam X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/cam X-SVN-Commit-Revision: 358864 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Mar 2020 23:59:59 -0000 Author: imp Date: Tue Mar 10 23:59:58 2020 New Revision: 358864 URL: https://svnweb.freebsd.org/changeset/base/358864 Log: Eliminate xpt_copy_path. It's used in exactly one place. In that place it's used so we can hold the lock on the device associated with the path (since we do a xpt_path_lock and unlock pair around the callback). Instead, inline taking and dropping the reference to the device so we can ensure we can unlock the mutex after the callback finishes if the path in the ccb that's queued to be processed by xpt_scanner_thread is destroyed while being processed. We don't actually need the path itself for anything other than dereferencing it to get the device to do the lock and unlock. This also makes the locking / use model for cam_path a little cleaner by eliminating a case where we needlessly copy the object. Reviewed by: chuck, chs, ken Differential Revision: https://reviews.freebsd.org/D24008 Modified: head/sys/cam/cam_xpt.c head/sys/cam/cam_xpt.h Modified: head/sys/cam/cam_xpt.c ============================================================================== --- head/sys/cam/cam_xpt.c Tue Mar 10 23:58:41 2020 (r358863) +++ head/sys/cam/cam_xpt.c Tue Mar 10 23:59:58 2020 (r358864) @@ -803,7 +803,8 @@ static void xpt_scanner_thread(void *dummy) { union ccb *ccb; - struct cam_path path; + struct mtx *mtx; + struct cam_ed *device; xpt_lock_buses(); for (;;) { @@ -815,15 +816,22 @@ xpt_scanner_thread(void *dummy) xpt_unlock_buses(); /* - * Since lock can be dropped inside and path freed - * by completion callback even before return here, - * take our own path copy for reference. + * We need to lock the device's mutex which we use as + * the path mutex. We can't do it directly because the + * cam_path in the ccb may wind up going away because + * the path lock may be dropped and the path retired in + * the completion callback. We do this directly to keep + * the reference counts in cam_path sane. We also have + * to copy the device pointer because ccb_h.path may + * be freed in the callback. */ - xpt_copy_path(&path, ccb->ccb_h.path); - xpt_path_lock(&path); + mtx = xpt_path_mtx(ccb->ccb_h.path); + device = ccb->ccb_h.path->device; + xpt_acquire_device(device); + mtx_lock(mtx); xpt_action(ccb); - xpt_path_unlock(&path); - xpt_release_path(&path); + mtx_unlock(mtx); + xpt_release_device(device); xpt_lock_buses(); } @@ -3686,15 +3694,6 @@ xpt_clone_path(struct cam_path **new_path_ptr, struct new_path = (struct cam_path *)malloc(sizeof(*path), M_CAMPATH, M_NOWAIT); if (new_path == NULL) return(CAM_RESRC_UNAVAIL); - xpt_copy_path(new_path, path); - *new_path_ptr = new_path; - return (CAM_REQ_CMP); -} - -void -xpt_copy_path(struct cam_path *new_path, struct cam_path *path) -{ - *new_path = *path; if (path->bus != NULL) xpt_acquire_bus(path->bus); @@ -3702,6 +3701,8 @@ xpt_copy_path(struct cam_path *new_path, struct cam_pa xpt_acquire_target(path->target); if (path->device != NULL) xpt_acquire_device(path->device); + *new_path_ptr = new_path; + return (CAM_REQ_CMP); } void Modified: head/sys/cam/cam_xpt.h ============================================================================== --- head/sys/cam/cam_xpt.h Tue Mar 10 23:58:41 2020 (r358863) +++ head/sys/cam/cam_xpt.h Tue Mar 10 23:59:58 2020 (r358864) @@ -140,8 +140,6 @@ cam_status xpt_compile_path(struct cam_path *new_path lun_id_t lun_id); cam_status xpt_clone_path(struct cam_path **new_path, struct cam_path *path); -void xpt_copy_path(struct cam_path *new_path, - struct cam_path *path); void xpt_release_path(struct cam_path *path); From owner-svn-src-head@freebsd.org Wed Mar 11 00:00:04 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B3E1C274034; Wed, 11 Mar 2020 00:00:04 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cXC83jq7z41js; Wed, 11 Mar 2020 00:00:04 +0000 (UTC) (envelope-from imp@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 715E63AB8; Wed, 11 Mar 2020 00:00:04 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02B004dF057384; Wed, 11 Mar 2020 00:00:04 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02B004to057383; Wed, 11 Mar 2020 00:00:04 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003110000.02B004to057383@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Wed, 11 Mar 2020 00:00:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358865 - head/sys/cam X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/cam X-SVN-Commit-Revision: 358865 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 00:00:04 -0000 Author: imp Date: Wed Mar 11 00:00:03 2020 New Revision: 358865 URL: https://svnweb.freebsd.org/changeset/base/358865 Log: Eliminate camq_alloc() and camq_free() These are no longer needed now that it's embedded in cam_ccbq. They are also unused. Reviewed by: ken, chuck Differential Revision: https://reviews.freebsd.org/D24008 Modified: head/sys/cam/cam_queue.c head/sys/cam/cam_queue.h Modified: head/sys/cam/cam_queue.c ============================================================================== --- head/sys/cam/cam_queue.c Tue Mar 10 23:59:58 2020 (r358864) +++ head/sys/cam/cam_queue.c Wed Mar 11 00:00:03 2020 (r358865) @@ -54,21 +54,6 @@ static void heap_up(cam_pinfo **queue_array, int new_i static void heap_down(cam_pinfo **queue_array, int index, int last_index); -struct camq * -camq_alloc(int size) -{ - struct camq *camq; - - camq = (struct camq *)malloc(sizeof(*camq), M_CAMQ, M_NOWAIT); - if (camq != NULL) { - if (camq_init(camq, size) != 0) { - free(camq, M_CAMQ); - camq = NULL; - } - } - return (camq); -} - int camq_init(struct camq *camq, int size) { @@ -96,15 +81,6 @@ camq_init(struct camq *camq, int size) * obtained a camq structure. The XPT should ensure that the queue * is empty before calling this routine. */ -void -camq_free(struct camq *queue) -{ - if (queue != NULL) { - camq_fini(queue); - free(queue, M_CAMQ); - } -} - void camq_fini(struct camq *queue) { Modified: head/sys/cam/cam_queue.h ============================================================================== --- head/sys/cam/cam_queue.h Tue Mar 10 23:59:58 2020 (r358864) +++ head/sys/cam/cam_queue.h Wed Mar 11 00:00:03 2020 (r358865) @@ -102,11 +102,6 @@ void cam_ccbq_free(struct cam_ccbq *ccbq); void cam_ccbq_fini(struct cam_ccbq *ccbq); /* - * Allocate and initialize a cam_queue structure. - */ -struct camq *camq_alloc(int size); - -/* * Resize a cam queue */ u_int32_t camq_resize(struct camq *queue, int new_size); @@ -115,13 +110,6 @@ u_int32_t camq_resize(struct camq *queue, int new_size * Initialize a camq structure. Return 0 on success, 1 on failure. */ int camq_init(struct camq *camq, int size); - -/* - * Free a cam_queue structure. This should only be called if a controller - * driver failes somehow during its attach routine or is unloaded and has - * obtained a cam_queue structure. - */ -void camq_free(struct camq *queue); /* * Finialize any internal storage or state of a cam_queue. From owner-svn-src-head@freebsd.org Wed Mar 11 01:27:01 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 84AA52764B7; Wed, 11 Mar 2020 01:27:01 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cZ7R4gs0z48hV; Wed, 11 Mar 2020 01:26:59 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-oi1-f176.google.com with SMTP id r7so285276oij.0; Tue, 10 Mar 2020 18:26:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=qQK+4fLkB3gEGiBGahPc29gTFftRN+mv2eh/7T9pCdc=; b=O2Mlr531r34DRVBnr2jO5LMJ4eADzoGMmaofqGXQnNKOxp1UkRlso2zDK+AV89pIJH PUhqtcXz+6TNwL85jd8OnmJQmyE1HAQLNNfhg6cOPOcnbHdUxrch8V3/FjjxKm/AWLEF d8DPFC54Ey+Pi5NJ0UfR4TCOtPOUVFiXFr/PtxUn3L2DqN9IQeD95Sx8iuDIlDc+25Hk FiT+vkXoB3U73SIzyK45Vd9sEK3FJY8JBmdzlc6YBHRLzy4Mp6kDSxwpynyT8siZxWmk c2OfTOt80IOXhGWoYkAS5C7BH0MtDVmu/vVh0oPRq1mFpIceXAOr6pylq5XHD3KnDPZs KlbQ== X-Gm-Message-State: ANhLgQ2p+GRcXo0LeGionKYntcd3+HLlYNqpdxB661m59IwzMuYjO2xk hRzuE2WtavswI5M2lq0FmRr1RGMp X-Google-Smtp-Source: ADFU+vu5uWMDLKvXP/f2a+of7YYp4FD2BgpHHLlR4gSamKrG+S3onKiaXnNkrLD6ojeGGOuMX3BQ5w== X-Received: by 2002:a05:6808:3d0:: with SMTP id o16mr347889oie.12.1583890018050; Tue, 10 Mar 2020 18:26:58 -0700 (PDT) Received: from mail-ot1-f41.google.com (mail-ot1-f41.google.com. [209.85.210.41]) by smtp.gmail.com with ESMTPSA id f7sm5840642otq.25.2020.03.10.18.26.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 10 Mar 2020 18:26:57 -0700 (PDT) Received: by mail-ot1-f41.google.com with SMTP id a9so291257otl.6; Tue, 10 Mar 2020 18:26:57 -0700 (PDT) X-Received: by 2002:a9d:264:: with SMTP id 91mr492003otb.216.1583890017346; Tue, 10 Mar 2020 18:26:57 -0700 (PDT) MIME-Version: 1.0 References: <201711210814.vAL8EUgM047088@repo.freebsd.org> In-Reply-To: <201711210814.vAL8EUgM047088@repo.freebsd.org> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Tue, 10 Mar 2020 18:26:46 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r326052 - head/usr.bin/gzip To: Xin LI Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48cZ7R4gs0z48hV X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of csecem@gmail.com designates 209.85.167.176 as permitted sender) smtp.mailfrom=csecem@gmail.com X-Spamd-Result: default: False [-3.01 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_NEQ_ENVFROM(0.00)[cem@freebsd.org,csecem@gmail.com]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; HAS_REPLYTO(0.00)[cem@freebsd.org]; RCVD_TLS_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[4]; REPLYTO_ADDR_EQ_FROM(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[176.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; IP_SCORE(-1.01)[ip: (-0.36), ipnet: 209.85.128.0/17(-2.98), asn: 15169(-1.65), country: US(-0.05)]; FORGED_SENDER(0.30)[cem@freebsd.org,csecem@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[176.167.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TAGGED_FROM(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 01:27:01 -0000 Hi Xin Li, Sorry to reply to an old commit. On Tue, Nov 21, 2017 at 12:14 AM Xin LI wrote: > > Author: delphij > Date: Tue Nov 21 08:14:30 2017 > New Revision: 326052 > URL: https://svnweb.freebsd.org/changeset/base/326052 > > Log: > Support SIGINFO. > ... > --- head/usr.bin/gzip/unpack.c Tue Nov 21 07:35:29 2017 (r326051) > +++ head/usr.bin/gzip/unpack.c Tue Nov 21 08:14:30 2017 (r326052) > ... > @@ -152,6 +155,9 @@ unpack_parse_header(int in, int out, char *pre, size_t > ssize_t bytesread; /* Bytes read from the file */ > int i, j, thisbyte; > > + if (prelen > sizeof hdr) > + maybe_err("prelen too long"); This check should perhaps be >=, rather than >. > + > /* Prepend the header buffer if we already read some data */ > if (prelen != 0) > memcpy(hdr, pre, prelen); > @@ -160,6 +166,7 @@ unpack_parse_header(int in, int out, char *pre, size_t > bytesread = read(in, hdr + prelen, PACK_HEADER_LENGTH - prelen); In the case where prelen == sizeof(hdr), we invoke read(, pointer past end of hdr, 0) above. This should have no effect, but looks unintended, and tickles Coverity (CID 1383554). > if (bytesread < 0) > maybe_err("Error reading pack header"); Best, Conrad From owner-svn-src-head@freebsd.org Wed Mar 11 04:29:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EBAEC25230F; Wed, 11 Mar 2020 04:29:47 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cfBM6W9Xz3Q5B; Wed, 11 Mar 2020 04:29:47 +0000 (UTC) (envelope-from asomers@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 B4F826DFA; Wed, 11 Mar 2020 04:29:47 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02B4TlmV019066; Wed, 11 Mar 2020 04:29:47 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02B4Tjca019056; Wed, 11 Mar 2020 04:29:45 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <202003110429.02B4Tjca019056@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Wed, 11 Mar 2020 04:29:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358867 - in head: sys/fs/fuse tests/sys/fs/fusefs X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in head: sys/fs/fuse tests/sys/fs/fusefs X-SVN-Commit-Revision: 358867 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 04:29:48 -0000 Author: asomers Date: Wed Mar 11 04:29:45 2020 New Revision: 358867 URL: https://svnweb.freebsd.org/changeset/base/358867 Log: fusefs: avoid cache corruption with buggy fuse servers The FUSE protocol allows the client (kernel) to cache a file's size, if the server (userspace daemon) allows it. A well-behaved daemon obviously should not change a file's size while a client has it cached. But a buggy daemon might. If the kernel ever detects that that has happened, then it should invalidate the entire cache for that file. Previously, we would not only cache stale data, but in the case of a file extension while we had the size cached, we accidentally extended the cache with zeros. PR: 244178 Reported by: Ben RUBSON Reviewed by: cem MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24012 Added: head/tests/sys/fs/fusefs/cache.cc (contents, props changed) Modified: head/sys/fs/fuse/fuse_internal.c head/sys/fs/fuse/fuse_node.c head/sys/fs/fuse/fuse_node.h head/sys/fs/fuse/fuse_vnops.c head/tests/sys/fs/fusefs/Makefile head/tests/sys/fs/fusefs/getattr.cc head/tests/sys/fs/fusefs/io.cc head/tests/sys/fs/fusefs/utils.cc head/tests/sys/fs/fusefs/utils.hh Modified: head/sys/fs/fuse/fuse_internal.c ============================================================================== --- head/sys/fs/fuse/fuse_internal.c Wed Mar 11 03:45:32 2020 (r358866) +++ head/sys/fs/fuse/fuse_internal.c Wed Mar 11 04:29:45 2020 (r358867) @@ -857,6 +857,9 @@ fuse_internal_forget_send(struct mount *mp, fdisp_destroy(&fdi); } +SDT_PROBE_DEFINE2(fusefs, , internal, getattr_cache_incoherent, + "struct vnode*", "struct fuse_attr_out*"); + /* Fetch the vnode's attributes from the daemon*/ int fuse_internal_do_getattr(struct vnode *vp, struct vattr *vap, @@ -898,6 +901,24 @@ fuse_internal_do_getattr(struct vnode *vp, struct vatt if (fvdat->flag & FN_MTIMECHANGE) { fao->attr.mtime = old_mtime.tv_sec; fao->attr.mtimensec = old_mtime.tv_nsec; + } + if (vnode_isreg(vp) && + fvdat->cached_attrs.va_size != VNOVAL && + fao->attr.size != fvdat->cached_attrs.va_size) { + /* + * The server changed the file's size even though we had it + * cached! That's a server bug. + */ + SDT_PROBE2(fusefs, , internal, getattr_cache_incoherent, vp, + fao); + printf("%s: cache incoherent on %s! " + "Buggy FUSE server detected. To prevent data corruption, " + "disable the data cache by mounting with -o direct_io, or " + "as directed otherwise by your FUSE server's " + "documentation\n", __func__, + vnode_mount(vp)->mnt_stat.f_mntonname); + int iosize = fuse_iosize(vp); + v_inval_buf_range(vp, 0, INT64_MAX, iosize); } fuse_internal_cache_attrs(vp, &fao->attr, fao->attr_valid, fao->attr_valid_nsec, vap); Modified: head/sys/fs/fuse/fuse_node.c ============================================================================== --- head/sys/fs/fuse/fuse_node.c Wed Mar 11 03:45:32 2020 (r358866) +++ head/sys/fs/fuse/fuse_node.c Wed Mar 11 04:29:45 2020 (r358867) @@ -450,7 +450,8 @@ fuse_vnode_size(struct vnode *vp, off_t *filesize, str int error = 0; if (!(fvdat->flag & FN_SIZECHANGE) && - (VTOVA(vp) == NULL || fvdat->cached_attrs.va_size == VNOVAL)) + (!fuse_vnode_attr_cache_valid(vp) || + fvdat->cached_attrs.va_size == VNOVAL)) error = fuse_internal_do_getattr(vp, NULL, cred, td); if (!error) Modified: head/sys/fs/fuse/fuse_node.h ============================================================================== --- head/sys/fs/fuse/fuse_node.h Wed Mar 11 03:45:32 2020 (r358866) +++ head/sys/fs/fuse/fuse_node.h Wed Mar 11 04:29:45 2020 (r358867) @@ -134,13 +134,19 @@ struct fuse_fid { #define VTOFUD(vp) \ ((struct fuse_vnode_data *)((vp)->v_data)) #define VTOI(vp) (VTOFUD(vp)->nid) -static inline struct vattr* -VTOVA(struct vnode *vp) +static inline bool +fuse_vnode_attr_cache_valid(struct vnode *vp) { struct bintime now; getbinuptime(&now); - if (bintime_cmp(&(VTOFUD(vp)->attr_cache_timeout), &now, >)) + return (bintime_cmp(&(VTOFUD(vp)->attr_cache_timeout), &now, >)); +} + +static inline struct vattr* +VTOVA(struct vnode *vp) +{ + if (fuse_vnode_attr_cache_valid(vp)) return &(VTOFUD(vp)->cached_attrs); else return NULL; Modified: head/sys/fs/fuse/fuse_vnops.c ============================================================================== --- head/sys/fs/fuse/fuse_vnops.c Wed Mar 11 03:45:32 2020 (r358866) +++ head/sys/fs/fuse/fuse_vnops.c Wed Mar 11 04:29:45 2020 (r358867) @@ -961,6 +961,8 @@ fuse_lookup_alloc(struct mount *mp, void *arg, int lkf SDT_PROBE_DEFINE3(fusefs, , vnops, cache_lookup, "int", "struct timespec*", "struct timespec*"); +SDT_PROBE_DEFINE2(fusefs, , vnops, lookup_cache_incoherent, + "struct vnode*", "struct fuse_entry_out*"); /* struct vnop_lookup_args { struct vnodeop_desc *a_desc; @@ -1137,6 +1139,7 @@ fuse_vnop_lookup(struct vop_lookup_args *ap) *vpp = dvp; } else { struct fuse_vnode_data *fvdat; + struct vattr *vap; err = fuse_vnode_get(vnode_mount(dvp), feo, nid, dvp, &vp, cnp, vtyp); @@ -1157,22 +1160,27 @@ fuse_vnop_lookup(struct vop_lookup_args *ap) */ fvdat = VTOFUD(vp); if (vnode_isreg(vp) && - filesize != fvdat->cached_attrs.va_size && - fvdat->flag & FN_SIZECHANGE) { + ((filesize != fvdat->cached_attrs.va_size && + fvdat->flag & FN_SIZECHANGE) || + ((vap = VTOVA(vp)) && + filesize != vap->va_size))) + { + SDT_PROBE2(fusefs, , vnops, lookup_cache_incoherent, vp, feo); + fvdat->flag &= ~FN_SIZECHANGE; /* - * The FN_SIZECHANGE flag reflects a dirty - * append. If userspace lets us know our cache - * is invalid, that write was lost. (Dirty - * writes that do not cause append are also - * lost, but we don't detect them here.) - * - * XXX: Maybe disable WB caching on this mount. + * The server changed the file's size even + * though we had it cached, or had dirty writes + * in the WB cache! */ - printf("%s: WB cache incoherent on %s!\n", - __func__, + printf("%s: cache incoherent on %s! " + "Buggy FUSE server detected. To prevent " + "data corruption, disable the data cache " + "by mounting with -o direct_io, or as " + "directed otherwise by your FUSE server's " + "documentation\n", __func__, vnode_mount(vp)->mnt_stat.f_mntonname); - - fvdat->flag &= ~FN_SIZECHANGE; + int iosize = fuse_iosize(vp); + v_inval_buf_range(vp, 0, INT64_MAX, iosize); } MPASS(feo != NULL); Modified: head/tests/sys/fs/fusefs/Makefile ============================================================================== --- head/tests/sys/fs/fusefs/Makefile Wed Mar 11 03:45:32 2020 (r358866) +++ head/tests/sys/fs/fusefs/Makefile Wed Mar 11 04:29:45 2020 (r358867) @@ -12,6 +12,7 @@ TESTSDIR= ${TESTSBASE}/sys/fs/fusefs GTESTS+= access GTESTS+= allow_other GTESTS+= bmap +GTESTS+= cache GTESTS+= create GTESTS+= default_permissions GTESTS+= default_permissions_privileged Added: head/tests/sys/fs/fusefs/cache.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tests/sys/fs/fusefs/cache.cc Wed Mar 11 04:29:45 2020 (r358867) @@ -0,0 +1,219 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2020 Alan Somers + * + * 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 AUTHOR 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 AUTHOR 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$ + */ + +extern "C" { +#include +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +/* + * Tests for thorny cache problems not specific to any one opcode + */ + +using namespace testing; + +/* + * Parameters + * - reopen file - If true, close and reopen the file between reads + * - cache lookups - If true, allow lookups to be cached + * - cache attrs - If true, allow file attributes to be cached + * - cache_mode - uncached, writeback, or writethrough + * - initial size - File size before truncation + * - truncated size - File size after truncation + */ +typedef tuple, cache_mode, ssize_t, ssize_t> CacheParam; + +class Cache: public FuseTest, public WithParamInterface { +public: +bool m_direct_io; + +Cache(): m_direct_io(false) {}; + +virtual void SetUp() { + int cache_mode = get<1>(GetParam()); + switch (cache_mode) { + case Uncached: + m_direct_io = true; + break; + case WritebackAsync: + m_async = true; + /* FALLTHROUGH */ + case Writeback: + m_init_flags |= FUSE_WRITEBACK_CACHE; + /* FALLTHROUGH */ + case Writethrough: + break; + default: + FAIL() << "Unknown cache mode"; + } + + FuseTest::SetUp(); + if (IsSkipped()) + return; +} + +void expect_getattr(uint64_t ino, int times, uint64_t size, uint64_t attr_valid) +{ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in.header.opcode == FUSE_GETATTR && + in.header.nodeid == ino); + }, Eq(true)), + _) + ).Times(times) + .WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto& out) { + SET_OUT_HEADER_LEN(out, attr); + out.body.attr.attr_valid = attr_valid; + out.body.attr.attr.ino = ino; + out.body.attr.attr.mode = S_IFREG | 0644; + out.body.attr.attr.size = size; + }))); +} + +void expect_lookup(const char *relpath, uint64_t ino, + uint64_t size, uint64_t entry_valid, uint64_t attr_valid) +{ + EXPECT_LOOKUP(FUSE_ROOT_ID, relpath) + .WillRepeatedly(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { + SET_OUT_HEADER_LEN(out, entry); + out.body.entry.attr.mode = S_IFREG | 0644; + out.body.entry.nodeid = ino; + out.body.entry.attr.nlink = 1; + out.body.entry.attr_valid = attr_valid; + out.body.entry.attr.size = size; + out.body.entry.entry_valid = entry_valid; + }))); +} + +void expect_open(uint64_t ino, int times) +{ + FuseTest::expect_open(ino, m_direct_io ? FOPEN_DIRECT_IO: 0, times); +} + +void expect_release(uint64_t ino, ProcessMockerT r) +{ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in.header.opcode == FUSE_RELEASE && + in.header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke(r)); +} + +}; + +// If the server truncates the file behind the kernel's back, the kernel should +// invalidate cached pages beyond the new EOF +TEST_P(Cache, truncate_by_surprise_invalidates_cache) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const char *CONTENTS = "abcdefghijklmnopqrstuvwxyz"; + uint64_t ino = 42; + uint64_t attr_valid, entry_valid; + int fd; + ssize_t bufsize = strlen(CONTENTS); + uint8_t buf[bufsize]; + bool reopen = get<0>(get<0>(GetParam())); + bool cache_lookups = get<1>(get<0>(GetParam())); + bool cache_attrs = get<2>(get<0>(GetParam())); + ssize_t osize = get<2>(GetParam()); + ssize_t nsize = get<3>(GetParam()); + + ASSERT_LE(osize, bufsize); + ASSERT_LE(nsize, bufsize); + if (cache_attrs) + attr_valid = UINT64_MAX; + else + attr_valid = 0; + if (cache_lookups) + entry_valid = UINT64_MAX; + else + entry_valid = 0; + + expect_lookup(RELPATH, ino, osize, entry_valid, attr_valid); + expect_open(ino, 1); + if (!cache_attrs) + expect_getattr(ino, 2, osize, attr_valid); + expect_read(ino, 0, osize, osize, CONTENTS); + + fd = open(FULLPATH, O_RDONLY); + ASSERT_LE(0, fd) << strerror(errno); + + ASSERT_EQ(osize, read(fd, buf, bufsize)) << strerror(errno); + ASSERT_EQ(0, memcmp(buf, CONTENTS, osize)); + + // Now truncate the file behind the kernel's back. The next read + // should discard cache and fetch from disk again. + if (reopen) { + // Close and reopen the file + expect_flush(ino, 1, ReturnErrno(ENOSYS)); + expect_release(ino, ReturnErrno(0)); + ASSERT_EQ(0, close(fd)); + expect_lookup(RELPATH, ino, nsize, entry_valid, attr_valid); + expect_open(ino, 1); + fd = open(FULLPATH, O_RDONLY); + ASSERT_LE(0, fd) << strerror(errno); + } + + if (!cache_attrs) + expect_getattr(ino, 1, nsize, attr_valid); + expect_read(ino, 0, nsize, nsize, CONTENTS); + ASSERT_EQ(0, lseek(fd, 0, SEEK_SET)); + ASSERT_EQ(nsize, read(fd, buf, bufsize)) << strerror(errno); + ASSERT_EQ(0, memcmp(buf, CONTENTS, nsize)); + + leak(fd); +} + +INSTANTIATE_TEST_CASE_P(Cache, Cache, + Combine( + /* Test every combination that: + * - does not cache at least one of entries and attrs + * - either doesn't cache attrs, or reopens the file + * In the other combinations, the kernel will never learn that + * the file's size has changed. + */ + Values( + std::make_tuple(false, false, false), + std::make_tuple(false, true, false), + std::make_tuple(true, false, false), + std::make_tuple(true, false, true), + std::make_tuple(true, true, false) + ), + Values(Writethrough, Writeback), + /* Test both reductions and extensions to file size */ + Values(20), + Values(10, 25) + ) +); Modified: head/tests/sys/fs/fusefs/getattr.cc ============================================================================== --- head/tests/sys/fs/fusefs/getattr.cc Wed Mar 11 03:45:32 2020 (r358866) +++ head/tests/sys/fs/fusefs/getattr.cc Wed Mar 11 04:29:45 2020 (r358867) @@ -159,6 +159,7 @@ TEST_F(Getattr, blksize_zero) out.body.attr.attr.mode = S_IFREG | 0644; out.body.attr.attr.ino = ino; // Must match nodeid out.body.attr.attr.blksize = 0; + out.body.attr.attr.size = 1; }))); ASSERT_EQ(0, stat(FULLPATH, &sb)) << strerror(errno); Modified: head/tests/sys/fs/fusefs/io.cc ============================================================================== --- head/tests/sys/fs/fusefs/io.cc Wed Mar 11 03:45:32 2020 (r358866) +++ head/tests/sys/fs/fusefs/io.cc Wed Mar 11 04:29:45 2020 (r358867) @@ -50,28 +50,6 @@ extern "C" { using namespace testing; -enum cache_mode { - Uncached, - Writethrough, - Writeback, - WritebackAsync -}; - -const char *cache_mode_to_s(enum cache_mode cm) { - switch (cm) { - case Uncached: - return "Uncached"; - case Writethrough: - return "Writethrough"; - case Writeback: - return "Writeback"; - case WritebackAsync: - return "WritebackAsync"; - default: - return "Unknown"; - } -} - const char FULLPATH[] = "mountpoint/some_file.txt"; const char RELPATH[] = "some_file.txt"; const uint64_t ino = 42; Modified: head/tests/sys/fs/fusefs/utils.cc ============================================================================== --- head/tests/sys/fs/fusefs/utils.cc Wed Mar 11 03:45:32 2020 (r358866) +++ head/tests/sys/fs/fusefs/utils.cc Wed Mar 11 04:29:45 2020 (r358867) @@ -90,6 +90,21 @@ void check_environment() GTEST_SKIP() << "current user is not allowed to mount"; } +const char *cache_mode_to_s(enum cache_mode cm) { + switch (cm) { + case Uncached: + return "Uncached"; + case Writethrough: + return "Writethrough"; + case Writeback: + return "Writeback"; + case WritebackAsync: + return "WritebackAsync"; + default: + return "Unknown"; + } +} + bool is_unsafe_aio_enabled(void) { const char *node = "vfs.aio.enable_unsafe"; int val = 0; Modified: head/tests/sys/fs/fusefs/utils.hh ============================================================================== --- head/tests/sys/fs/fusefs/utils.hh Wed Mar 11 03:45:32 2020 (r358866) +++ head/tests/sys/fs/fusefs/utils.hh Wed Mar 11 04:29:45 2020 (r358867) @@ -44,6 +44,14 @@ inline void nap() usleep(NAP_NS / 1000); } +enum cache_mode { + Uncached, + Writethrough, + Writeback, + WritebackAsync +}; + +const char *cache_mode_to_s(enum cache_mode cm); bool is_unsafe_aio_enabled(void); extern const uint32_t libfuse_max_write; From owner-svn-src-head@freebsd.org Wed Mar 11 07:14:03 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C0D512563A9; Wed, 11 Mar 2020 07:14:03 +0000 (UTC) (envelope-from o.hartmann@walstatt.org) Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cjqs4TYvz4SRj; Wed, 11 Mar 2020 07:14:01 +0000 (UTC) (envelope-from o.hartmann@walstatt.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1583910838; bh=AJz/CF7fvK+smSRHyMfjW/sY4BEvcvYNNloj464SjDE=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:In-Reply-To:References; b=K+oPS937kx39dr9qB2DlTBjPNwljWJIXBfPm0+lzvE9dcCMVInUiILXnF8xP4Kfbc 3EXqB3vBh1q/7rK239NBPFw3QNnDwocaSiHi+NXjR/Qcp1DAhyipXHiE29SOBe0XD2 XZXi1CYsJs3UZOxlqPQ3HhuGoLduPMiClXbrQZoM= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from freyja ([79.192.162.249]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MUosN-1iluFj0vlR-00QkTC; Wed, 11 Mar 2020 08:13:58 +0100 Date: Wed, 11 Mar 2020 08:13:51 +0100 From: "O. Hartmann" To: "Alexander V. Chernikov" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r358858 - head/sbin/ipfw Message-ID: <20200311081346.0e78d715@freyja> In-Reply-To: <202003102030.02AKUL0q031391@repo.freebsd.org> References: <202003102030.02AKUL0q031391@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:icEvsQQ7dEV8ixH0fkHPD4PuMRPJVPdmCcf5AoA56b4Qckk0Brs 9TPgkE4J+3HE42UIMQwIgTwcL9F/t08sEyKnGXkZbTJgxKWpuoPTGGE5hjeQHHVbArwKz80 hd3lxljlGgJWJkFMonI6uzIrcCEXoVTZA7MOG2VGpEjVhqMMTNhOtoeyXOcD0H9HcQvYP2Y NjUt1EKJNT9R6iUqFEfKA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:gBcqfmMv/xE=:Vx5cTAWffBKbYL3AcypQZI kgEYSzZ0hsqN19VDGRi77MCkX5IrEGK60gR0jZl04GJbRTk0ny9/JEKMzNL+X1uSnqRmEefrM h1CUOLiQ4mbKhNyFU5O5XyL1gWCbnw3RwQmyh5wgFKqcpMjTtJj2DHnyYrLoUOiW8DMOZaZzO j3OSfQ6q7LLbJgtOHWG/fklJpo2NC3OrjaB4jINV6WKVz3zc+/NPzIBN0qDhQRYHEvAW+63la VxPOZ1gWCRv7iorXRpuLYI90QcB3pY5Y0tn2ZDjiviKMUFHv86v102u6SXZa7V535HgwTMUMp beHWuPb+Ke+tBG2RBTQevlX3RtCEJzeGYTkPIEHalKaR+MlrNK8A/jVPV/HVgfthgrMoZFQ8H lNAEUPFaTHlYnhfI4vBFpB5wxClUfyGyUmmvZlbMLd3vxUkmv6oOBQzTPrFc+VWwMiaUbtywe LtHBURdryBdEtG4pdcv1bb8/uYqlX0l8SDn7MYCS3fb5mscZA3y2J+bDgfxD8pGzkNR55at+g lLRpVMehUH+7enCVNgdSirg9NF8q40zzeHlOC5wpqRm5bvwLphd0gFvBTmsdTlU7j84zHM6QW M2/e7GDuJprtOuacW2XPFVeDu2gmdGYfu7bnl6pCwu1J4Ncut1BxFrSzf1rZ3jPySu0Zdyx05 QfAvfJt5mtoiALw+JlzTJ2iIQwabQDPb72ktBqYo2sxIMyY0otJ5kgqeXNjEkd6ooF/GlU7w8 aiyLOklfMMTrHKikHNA186SoBbhKucPLisAzfBOxT7zXboUweD2bao/QldVGAYqTjqXbLEndP EUw9ud7xJVaqtKu9U8Wh/2/iPjEdWlJdYXEDq5CwxS7Gfqf6h6qK6P0Tl6nZVCumZc2uiwcAo SdWMLQ2+eJu0DcQwXuFHGJvj+WBM39xaUQsaOrtd1EY2iZ4iqWckJ5iHFibOUWopZ3IoE7p+W E7Rd2UJdHQEpti5/UB1grDp2o6s85DMWynykbvNnjWON2Bzx36yes/UYX2vHX0WFiCTAd2ffP jEIRnTrl9sV17sstOy6Idg+NHc3JAvyo1Ya7Wpu+EXF0jvJuU23lbOv/TJVNOJZmwj0KxZoIu JLi2Od7rC7KQS0cglwglqniYEqcJW9YpOtgHJ1ry7ywkJiDdNpiQ/nySAM7swnPRRbRIFwX0h DhKhu085kFIUjWqDusYrCMPlpTDpdf23FcekGoSE7RNWjx1/A024KtlSquhAPc/A/I/IDvm4N 3bkou5cnNMur0a97v X-Rspamd-Queue-Id: 48cjqs4TYvz4SRj X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmx.net header.s=badeba3b8450 header.b=K+oPS937; dmarc=none; spf=none (mx1.freebsd.org: domain of o.hartmann@walstatt.org has no SPF policy when checking 212.227.15.15) smtp.mailfrom=o.hartmann@walstatt.org X-Spamd-Result: default: False [-3.07 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[gmx.net:s=badeba3b8450]; RECEIVED_SPAMHAUS_PBL(0.00)[249.162.192.79.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.10]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[walstatt.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; IP_SCORE(-1.18)[ip: (-6.92), ipnet: 212.227.0.0/16(-1.12), asn: 8560(2.17), country: DE(-0.02)]; DKIM_TRACE(0.00)[gmx.net:+]; NEURAL_HAM_MEDIUM(-0.99)[-0.990,0]; R_SPF_NA(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[15.15.227.212.list.dnswl.org : 127.0.3.1]; FROM_EQ_ENVFROM(0.00)[]; MID_RHS_NOT_FQDN(0.50)[]; ASN(0.00)[asn:8560, ipnet:212.227.0.0/16, country:DE]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 07:14:03 -0000 On Tue, 10 Mar 2020 20:30:21 +0000 (UTC) "Alexander V. Chernikov" wrote: > Author: melifaro > Date: Tue Mar 10 20:30:21 2020 > New Revision: 358858 > URL: https://svnweb.freebsd.org/changeset/base/358858 > > Log: > Don't assume !IPv6 is IPv4 in ipfw(8) add_src() and add_dst(). > > Submitted by: Neel Chauhan > MFC after: 2 weeks > Differential Revision: https://reviews.freebsd.org/D21812 > > Modified: > head/sbin/ipfw/ipfw2.c > > Modified: head/sbin/ipfw/ipfw2.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > --- head/sbin/ipfw/ipfw2.c Tue Mar 10 20:25:36 2020 (r358857) > +++ head/sbin/ipfw/ipfw2.c Tue Mar 10 20:30:21 2020 (r358858) > @@ -3717,11 +3717,10 @@ add_src(ipfw_insn *cmd, char *av, u_char proto, = int cb > if (proto =3D=3D IPPROTO_IPV6 || strcmp(av, "me6") =3D=3D 0 || > inet_pton(AF_INET6, host, &a) =3D=3D 1) > ret =3D add_srcip6(cmd, av, cblen, tstate); > - /* XXX: should check for IPv4, not !IPv6 */ > - if (ret =3D=3D NULL && (proto =3D=3D IPPROTO_IP || strcmp(av, "me") = =3D=3D 0 || > - inet_pton(AF_INET6, host, &a) !=3D 1)) > + else if (proto =3D=3D IPPROTO_IP || strcmp(av, "me") =3D=3D 0 || > + inet_pton(AF_INET, host, &a) =3D=3D 1) > ret =3D add_srcip(cmd, av, cblen, tstate); > - if (ret =3D=3D NULL && strcmp(av, "any") !=3D 0) > + else if (ret =3D=3D NULL && strcmp(av, "any") !=3D 0) > ret =3D cmd; > > return ret; > @@ -3748,11 +3747,10 @@ add_dst(ipfw_insn *cmd, char *av, u_char proto, = int cb > if (proto =3D=3D IPPROTO_IPV6 || strcmp(av, "me6") =3D=3D 0 || > inet_pton(AF_INET6, host, &a) =3D=3D 1) > ret =3D add_dstip6(cmd, av, cblen, tstate); > - /* XXX: should check for IPv4, not !IPv6 */ > - if (ret =3D=3D NULL && (proto =3D=3D IPPROTO_IP || strcmp(av, "me") = =3D=3D 0 || > - inet_pton(AF_INET6, host, &a) !=3D 1)) > + else if (proto =3D=3D IPPROTO_IP || strcmp(av, "me") =3D=3D 0 || > + inet_pton(AF_INET, host, &a) =3D=3D 1) > ret =3D add_dstip(cmd, av, cblen, tstate); > - if (ret =3D=3D NULL && strcmp(av, "any") !=3D 0) > + else if (ret =3D=3D NULL && strcmp(av, "any") !=3D 0) > ret =3D cmd; > > return ret; > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" This seems to trigger some issues in CURRENT's ipfw script handling rules= . On all CURRENT boxes running > FreeBSD 13.0-CURRENT #0 r358851: Tue Mar 10 21:17:39 CET 2020 amd64, the= boxes aren't accessible via net due to errors occuring when loading ipfw rules: [/etc/rc.conf] firewall_type=3D"WORKSTATION" firewall_myservices=3D"22/tcp 80/tcp 443/tcp" # List of TCP ports= on which this host # offers services for "workstation" firewa= ll. firewall_allowservices=3D"192.168.0.0/24 fd11:43:2::/64" # List of IPs which have access to # $firewall_myservices for "workstation" # firewall. firewall_trusted=3D"" # List of IPs which have full access to = this # host for "workstation" firewall. [...] # service ipfw restart Flushed all rules. 00100 allow ip from any to any via lo0 00200 deny ip from any to 127.0.0.0/8 00300 deny ip from 127.0.0.0/8 to any 00400 deny ip from any to ::1 00500 deny ip from ::1 to any 00600 allow ipv6-icmp from :: to ff02::/16 00700 allow ipv6-icmp from fe80::/10 to fe80::/10 00800 allow ipv6-icmp from fe80::/10 to ff02::/16 ipfw: bad source address any ipfw: bad source address any 00000 check-state :default ipfw: bad destination address any ipfw: bad destination address any ipfw: bad destination address any ipfw: bad destination address any ipfw: bad destination address any 01000 allow udp from 0.0.0.0 68 to 255.255.255.255 67 out ipfw: bad source address any ipfw: bad source address any 01100 allow udp from fe80::/10 to me 546 in ipfw: bad source address any ipfw: bad source address any ipfw: bad source address any ipfw: bad source address any [...] The problem also occur if set firewall_allowservices=3D"any" in /etc/rc.conf From owner-svn-src-head@freebsd.org Wed Mar 11 08:08:55 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D486D257EFF; Wed, 11 Mar 2020 08:08:55 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cl3C2nyvz4XxX; Wed, 11 Mar 2020 08:08:54 +0000 (UTC) (envelope-from melifaro@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 49ABB9689; Wed, 11 Mar 2020 08:08:54 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02B88srY052316; Wed, 11 Mar 2020 08:08:54 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02B88sst052315; Wed, 11 Mar 2020 08:08:54 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202003110808.02B88sst052315@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Wed, 11 Mar 2020 08:08:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358871 - head/sbin/ipfw X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sbin/ipfw X-SVN-Commit-Revision: 358871 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 08:08:55 -0000 Author: melifaro Date: Wed Mar 11 08:08:53 2020 New Revision: 358871 URL: https://svnweb.freebsd.org/changeset/base/358871 Log: Revert r358858 as it breaks some ipfw(8) setups. Reported by: O. Hartmann Modified: head/sbin/ipfw/ipfw2.c Modified: head/sbin/ipfw/ipfw2.c ============================================================================== --- head/sbin/ipfw/ipfw2.c Wed Mar 11 05:45:33 2020 (r358870) +++ head/sbin/ipfw/ipfw2.c Wed Mar 11 08:08:53 2020 (r358871) @@ -3717,10 +3717,11 @@ add_src(ipfw_insn *cmd, char *av, u_char proto, int cb if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 || inet_pton(AF_INET6, host, &a) == 1) ret = add_srcip6(cmd, av, cblen, tstate); - else if (proto == IPPROTO_IP || strcmp(av, "me") == 0 || - inet_pton(AF_INET, host, &a) == 1) + /* XXX: should check for IPv4, not !IPv6 */ + if (ret == NULL && (proto == IPPROTO_IP || strcmp(av, "me") == 0 || + inet_pton(AF_INET6, host, &a) != 1)) ret = add_srcip(cmd, av, cblen, tstate); - else if (ret == NULL && strcmp(av, "any") != 0) + if (ret == NULL && strcmp(av, "any") != 0) ret = cmd; return ret; @@ -3747,10 +3748,11 @@ add_dst(ipfw_insn *cmd, char *av, u_char proto, int cb if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 || inet_pton(AF_INET6, host, &a) == 1) ret = add_dstip6(cmd, av, cblen, tstate); - else if (proto == IPPROTO_IP || strcmp(av, "me") == 0 || - inet_pton(AF_INET, host, &a) == 1) + /* XXX: should check for IPv4, not !IPv6 */ + if (ret == NULL && (proto == IPPROTO_IP || strcmp(av, "me") == 0 || + inet_pton(AF_INET6, host, &a) != 1)) ret = add_dstip(cmd, av, cblen, tstate); - else if (ret == NULL && strcmp(av, "any") != 0) + if (ret == NULL && strcmp(av, "any") != 0) ret = cmd; return ret; From owner-svn-src-head@freebsd.org Wed Mar 11 08:10:25 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 39510257FE6; Wed, 11 Mar 2020 08:10:25 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from forward500p.mail.yandex.net (forward500p.mail.yandex.net [77.88.28.110]) (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 48cl4r3jr6z4Z40; Wed, 11 Mar 2020 08:10:19 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from mxback14j.mail.yandex.net (mxback14j.mail.yandex.net [IPv6:2a02:6b8:0:1619::90]) by forward500p.mail.yandex.net (Yandex) with ESMTP id 99AF6940A08; Wed, 11 Mar 2020 11:10:14 +0300 (MSK) Received: from localhost (localhost [::1]) by mxback14j.mail.yandex.net (mxback/Yandex) with ESMTP id 6Qj08Nw8Ur-ADuiNlB7; Wed, 11 Mar 2020 11:10:13 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfw.ru; s=mail; t=1583914213; bh=raAvPRP1wbj4NaNqgLyrXxbZUthSspmBypORolh8YCE=; h=Message-Id:Cc:Subject:In-Reply-To:Date:References:To:From; b=c5U/rSjYBFt1lBol7ucj9UqOoIWtOot/TbISINXYf8mAIYH9h4p9TJKs0Du5Mrup9 Dt1L6s3HOcdROxwiljE9xgy5AAfjtzDrH08/PyMJCX81qsXE9wjHOJrN0JwX7ZOtvW woU5iS0VC0iDDMROveaD4vZqfVCKWtC6rs5EMVLM= Received: by iva2-fa9fd5fad11f.qloud-c.yandex.net with HTTP; Wed, 11 Mar 2020 11:10:13 +0300 From: Alexander V. Chernikov Envelope-From: melifaro@ipfw.ru To: O. Hartmann Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" In-Reply-To: <20200311081346.0e78d715@freyja> References: <202003102030.02AKUL0q031391@repo.freebsd.org> <20200311081346.0e78d715@freyja> Subject: Re: svn commit: r358858 - head/sbin/ipfw MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Wed, 11 Mar 2020 08:10:13 +0000 Message-Id: <7819601583914172@iva8-5e86d95f65ab.qloud-c.yandex.net> Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 X-Rspamd-Queue-Id: 48cl4r3jr6z4Z40 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ipfw.ru header.s=mail header.b=c5U/rSjY; dmarc=none; spf=pass (mx1.freebsd.org: domain of melifaro@ipfw.ru designates 77.88.28.110 as permitted sender) smtp.mailfrom=melifaro@ipfw.ru X-Spamd-Result: default: False [-4.03 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; R_DKIM_ALLOW(-0.20)[ipfw.ru:s=mail]; NEURAL_HAM_MEDIUM(-0.99)[-0.994,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:77.88.0.0/18]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[ipfw.ru:+]; IP_SCORE(-1.74)[ipnet: 77.88.0.0/18(-4.85), asn: 13238(-3.84), country: RU(0.01)]; FORGED_SENDER(0.30)[melifaro@freebsd.org,melifaro@ipfw.ru]; RCVD_IN_DNSWL_LOW(-0.10)[110.28.88.77.list.dnswl.org : 127.0.5.1]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:13238, ipnet:77.88.0.0/18, country:RU]; FROM_NEQ_ENVFROM(0.00)[melifaro@freebsd.org,melifaro@ipfw.ru] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 08:10:25 -0000 11.03.2020, 07:14, "O. Hartmann" : > On Tue, 10 Mar 2020 20:30:21 +0000 (UTC) > "Alexander V. Chernikov" wrote: > >>  Author: melifaro >>  Date: Tue Mar 10 20:30:21 2020 >>  New Revision: 358858 >>  URL: https://svnweb.freebsd.org/changeset/base/358858 >> >>  Log: >>    Don't assume !IPv6 is IPv4 in ipfw(8) add_src() and add_dst(). >> >>    Submitted by: Neel Chauhan >>    MFC after: 2 weeks >>    Differential Revision: https://reviews.freebsd.org/D21812 >> >>  Modified: >>    head/sbin/ipfw/ipfw2.c >> >>  Modified: head/sbin/ipfw/ipfw2.c >>  ============================================================================== >>  --- head/sbin/ipfw/ipfw2.c Tue Mar 10 20:25:36 2020 (r358857) >>  +++ head/sbin/ipfw/ipfw2.c Tue Mar 10 20:30:21 2020 (r358858) >>  @@ -3717,11 +3717,10 @@ add_src(ipfw_insn *cmd, char *av, u_char proto, int cb >>           if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 || >>               inet_pton(AF_INET6, host, &a) == 1) >>                   ret = add_srcip6(cmd, av, cblen, tstate); >>  - /* XXX: should check for IPv4, not !IPv6 */ >>  - if (ret == NULL && (proto == IPPROTO_IP || strcmp(av, "me") == 0 || >>  - inet_pton(AF_INET6, host, &a) != 1)) >>  + else if (proto == IPPROTO_IP || strcmp(av, "me") == 0 || >>  + inet_pton(AF_INET, host, &a) == 1) >>                   ret = add_srcip(cmd, av, cblen, tstate); >>  - if (ret == NULL && strcmp(av, "any") != 0) >>  + else if (ret == NULL && strcmp(av, "any") != 0) >>                   ret = cmd; >> >>           return ret; >>  @@ -3748,11 +3747,10 @@ add_dst(ipfw_insn *cmd, char *av, u_char proto, int cb >>           if (proto == IPPROTO_IPV6 || strcmp(av, "me6") == 0 || >>               inet_pton(AF_INET6, host, &a) == 1) >>                   ret = add_dstip6(cmd, av, cblen, tstate); >>  - /* XXX: should check for IPv4, not !IPv6 */ >>  - if (ret == NULL && (proto == IPPROTO_IP || strcmp(av, "me") == 0 || >>  - inet_pton(AF_INET6, host, &a) != 1)) >>  + else if (proto == IPPROTO_IP || strcmp(av, "me") == 0 || >>  + inet_pton(AF_INET, host, &a) == 1) >>                   ret = add_dstip(cmd, av, cblen, tstate); >>  - if (ret == NULL && strcmp(av, "any") != 0) >>  + else if (ret == NULL && strcmp(av, "any") != 0) >>                   ret = cmd; >> >>           return ret; >>  _______________________________________________ >>  svn-src-head@freebsd.org mailing list >>  https://lists.freebsd.org/mailman/listinfo/svn-src-head >>  To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" > > This seems to trigger some issues in CURRENT's ipfw script handling rules. On > all CURRENT boxes running >>  FreeBSD 13.0-CURRENT #0 r358851: Tue Mar 10 21:17:39 CET 2020 amd64, the boxes > > aren't accessible via net due to errors occuring when loading ipfw rules: Whoops. Terribly sorry for breaking your setup. Reverted in r358871. > > [/etc/rc.conf] > firewall_type="WORKSTATION" > firewall_myservices="22/tcp 80/tcp 443/tcp" # List of TCP ports on > which this host >                                 # offers services for "workstation" firewall. > firewall_allowservices="192.168.0.0/24 fd11:43:2::/64" # List of > IPs which have access to >                                 # $firewall_myservices for "workstation" >                                 # firewall. > firewall_trusted="" # List of IPs which have full access to this >                                 # host for "workstation" firewall. > > [...] > # service ipfw restart > Flushed all rules. > 00100 allow ip from any to any via lo0 > 00200 deny ip from any to 127.0.0.0/8 > 00300 deny ip from 127.0.0.0/8 to any > 00400 deny ip from any to ::1 > 00500 deny ip from ::1 to any > 00600 allow ipv6-icmp from :: to ff02::/16 > 00700 allow ipv6-icmp from fe80::/10 to fe80::/10 > 00800 allow ipv6-icmp from fe80::/10 to ff02::/16 > ipfw: bad source address any > ipfw: bad source address any > 00000 check-state :default > ipfw: bad destination address any > ipfw: bad destination address any > ipfw: bad destination address any > ipfw: bad destination address any > ipfw: bad destination address any > 01000 allow udp from 0.0.0.0 68 to 255.255.255.255 67 out > ipfw: bad source address any > ipfw: bad source address any > 01100 allow udp from fe80::/10 to me 546 in > ipfw: bad source address any > ipfw: bad source address any > ipfw: bad source address any > ipfw: bad source address any > [...] > > The problem also occur if set > > firewall_allowservices="any" > > in /etc/rc.conf From owner-svn-src-head@freebsd.org Wed Mar 11 08:14:55 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 33CF0258325 for ; Wed, 11 Mar 2020 08:14:55 +0000 (UTC) (envelope-from sent64627@spread5send1.com) Received: from mail228081.app5.reasonable5.com (mail228081.app5.reasonable5.com [103.71.228.81]) (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 48clB44v00z4fGg for ; Wed, 11 Mar 2020 08:14:52 +0000 (UTC) (envelope-from sent64627@spread5send1.com) Received: from WIN-1D67MVONS8I (mail58251.app1.reasonables3.com [103.95.58.251]) by mail228081.app5.reasonable5.com (Postfix) with ESMTPA id 8BEA51E2268 for ; Wed, 11 Mar 2020 15:57:14 +0800 (HKT) From: "Eason" To: "svn-src-head@freebsd.org" Date: Wed, 11 Mar 2020 16:00:08 +0800 Subject: PU Coated Fabric X-Mailer: aspNetEmail ver 3.7.0.19 X-Spread-CampaignId: 210039 X-Spread-SubscriberId: 126010424 X-Spread-SpreaderId: 64627 X-Spread-Engine-Build: 4.0.7172.26848 Message-ID: X-Rspamd-Queue-Id: 48clB44v00z4fGg X-Spamd-Bar: ++++++++ Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of sent64627@spread5send1.com designates 103.71.228.81 as permitted sender) smtp.mailfrom=sent64627@spread5send1.com X-Spamd-Result: default: False [8.09 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:103.71.228.0/22:c]; MIME_MA_MISSING_TEXT(2.00)[]; URI_COUNT_ODD(1.00)[9]; FORGED_SENDER(0.30)[lona@lonatarp.com,sent64627@spread5send1.com]; MIME_TRACE(0.00)[0:+,1:~]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:133054, ipnet:103.71.228.0/22, country:HK]; RCVD_TLS_LAST(0.00)[]; FROM_NEQ_ENVFROM(0.00)[lona@lonatarp.com,sent64627@spread5send1.com]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; HTML_SHORT_LINK_IMG_1(2.00)[]; MIME_GOOD(-0.10)[multipart/alternative]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[lonatarp.com]; HAS_LIST_UNSUB(-0.01)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_SPAM_MEDIUM(1.00)[1.000,0]; IP_SCORE(0.40)[ipnet: 103.71.228.0/22(0.98), asn: 133054(0.91), country: HK(0.09)]; NEURAL_SPAM_LONG(1.00)[1.000,0]; TO_DN_EQ_ADDR_ALL(0.00)[]; MIME_HTML_ONLY(0.20)[]; MID_RHS_NOT_FQDN(0.50)[]; RCVD_COUNT_TWO(0.00)[2]; GREYLIST(0.00)[pass,body] X-Spam: Yes MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 08:14:55 -0000 From owner-svn-src-head@freebsd.org Wed Mar 11 08:16:16 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CA30A2584C6; Wed, 11 Mar 2020 08:16:16 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48clCh1y8rz4gFT; Wed, 11 Mar 2020 08:16:15 +0000 (UTC) (envelope-from hselasky@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 75D739888; Wed, 11 Mar 2020 08:16:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02B8GEGb058471; Wed, 11 Mar 2020 08:16:14 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02B8GE6R058470; Wed, 11 Mar 2020 08:16:14 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202003110816.02B8GE6R058470@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 11 Mar 2020 08:16:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358872 - head/sys/dev/usb/input X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/usb/input X-SVN-Commit-Revision: 358872 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 08:16:16 -0000 Author: hselasky Date: Wed Mar 11 08:16:13 2020 New Revision: 358872 URL: https://svnweb.freebsd.org/changeset/base/358872 Log: If the USB frame length is set to 1024 bytes, WMT_BSIZE, the EETI controller will pack multiple touch events in the packet and the current code will only process the first touch event. As a result some important events are lost like releasing the finger from the touchscreen. Use the maximum maximum packet size as buffer size instead. Submitted by: Oskar Holmlund PR: 244718 MFC after: 3 days Sponsored by: Mellanox Technologies Modified: head/sys/dev/usb/input/wmt.c Modified: head/sys/dev/usb/input/wmt.c ============================================================================== --- head/sys/dev/usb/input/wmt.c Wed Mar 11 08:08:53 2020 (r358871) +++ head/sys/dev/usb/input/wmt.c Wed Mar 11 08:16:13 2020 (r358872) @@ -251,7 +251,7 @@ static const struct usb_config wmt_config[WMT_N_TRANSF .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, .flags = { .pipe_bof = 1, .short_xfer_ok = 1 }, - .bufsize = WMT_BSIZE, + .bufsize = 0, /* use wMaxPacketSize */ .callback = &wmt_intr_callback, }, }; From owner-svn-src-head@freebsd.org Wed Mar 11 10:33:40 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9731925CED7; Wed, 11 Mar 2020 10:33:40 +0000 (UTC) (envelope-from ohartmann@walstatt.org) Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cpGC6lJMz4dxT; Wed, 11 Mar 2020 10:33:39 +0000 (UTC) (envelope-from ohartmann@walstatt.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1583922817; bh=Y3TMaJWyyPmK9CCBdbo1cRuiZsbtFt4Z8QgGLEE09FE=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:In-Reply-To:References; b=XzkISAn8bEZkOx+7n3OzWG+f88DqA3Oz8az0oXIY6dFLUlVJaybT1RbeIukv/5Htc 7LYCoEMmOyVjCRJJjDR0JISRVbkhgctGzAkFEUBEnPpw21m1qXNzaKBPrMzhF718GL n2TWD+foydiIwU/IexgP4F1ZlkkzR/2W9Sx4g7mY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from freyja ([79.192.162.249]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N63Vi-1jMqdt0vTE-016Q6I; Wed, 11 Mar 2020 11:33:37 +0100 Date: Wed, 11 Mar 2020 11:33:30 +0100 From: "O. Hartmann" To: "Alexander V. Chernikov" Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r358858 - head/sbin/ipfw Message-ID: <20200311113327.2b3ffaa2@freyja> In-Reply-To: <7819601583914172@iva8-5e86d95f65ab.qloud-c.yandex.net> References: <202003102030.02AKUL0q031391@repo.freebsd.org> <20200311081346.0e78d715@freyja> <7819601583914172@iva8-5e86d95f65ab.qloud-c.yandex.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:5CCmZUnUgfD/Sh7lMgJ7WwlTlMDGKswQUUWanPtGqvp7qgY//6c mhb2vju/mHCRMzYzGjeUXWtnwxKvzIrny4NIhTkLqDl7J9/ItW0Q9dYwZ2tDMbV7kM2eNXr K5jUObqMdHzufu2FqnEtTr1+xP3yrSDmf3w4kwnvoXGHiNUWla5aBzKo9B0TmrDUdtG5vz0 UCLJo9Sd4WANr6hQwgTWg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:exqEeJRaBc8=:dNAP4PNIVZeBUISFB0JKer 0BAbHO6XJ1j16wFUNpoIGsTqrUsm+OjG2ebsRzG6LZ+4w6AOqu+gbYfUDICh+flIlUqSKriLW b+dKJuk14pBE0aMBQE+e5Gz9qDH/dzL2tCK87mY3zKFksnjF6dN47oJqEJepHt9AxDdOPIjSb psUvq61XDLdnlAVBq9tjtNpTdss7+whu65bhgLUZKGzc4JTuQqHl4f2qRH9bh6J3+pb9vIPEP s57ux+sN5Z8WgafbQNJVRuPHDLlzORFS3t0xjo7kUv7QakdQ0cuRBDs3HwBE5N3aBVB2ZvyFJ W29ou6U+6OTsalky6na3vuZT+zkIXJd0IpfHDebS/4lsh/6I64KGnkW9J5Z7vB7NEKZ6rOHfG Hq6sT1CruVECS6cYAvKbayeh9FluVlnlVdVwtoZpqnLdVkvwFjjV2Jkn4dJifMxqM2MxssZgJ C/g3ore00AWjdHIshWIGcstucKV3+DDtwEDSOOvZuP5Y5ZRcz3NRjCjC4lVPtGwsiJ1xynygx u8Jcut26EDzpbwO0EvbeDp34oGGBRY87mGeiX7v1bWbpOGS/FK2C00BuA+82HC5bh2vaxWwTx PmwY7E8w94EvWN8xSHlJ1HQbO9SJbAgzFZnVSpQ+e9uvY+0hF9l4nj9cKQzYqFRVD8+wzodHM vhQuWaJWxvsGeBmptSq6NqFERGqfzDIU1ezSztBkdzVhdwAL8t71iKkvE0CKsGLgx0yopYiBB hP920Gj4/CvL0XW7H4rWHnTxtj9ele4flxOoK0ZnkeHd6wLWXAFXZlQJ3iPZTCz9+ALSOEp5R sS2+8zynXUo/cMNKGnmeky/4jdb/CTwhbUxzyVkZpEXXQcQ3zTzuY25MjCOXGoAyec2I0cEcK dV1FBcKXWbWPQw4bOXADrUyZPA0l9PiqtvheUzE0IwFYwZtl9T0y3H9YWNmWxXKeyrY+/B6h3 ivJ3sgiIuTrZStpeS/yFVc5sSdd1rL+MMzRduOqiilGfoHVtjKiA/ZdIS1H2hA5WA39zbdg4W VW6M9b23NyAPXj/mVsRWbdfOMrwCPEdBhzb48yzKq65Si3dJDytSnCs9URuftBiAHFj0gsFT4 XEdzfFJYw5p3ZrMakBfPTzAogqpHa5B5AqDPu9c0wdHmZt11tfJxS2S6IrJOnYydBrOE72THj ouD7kO/ANR/iW1TIBLcV6m04wBO8yk6LTeshE2FeX94FWpuNxomRtHF8No3nRPs9TQQxwX2wl 5R4OhI4LqczZJ/p4M X-Rspamd-Queue-Id: 48cpGC6lJMz4dxT X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.20 / 15.00]; NEURAL_SPAM_MEDIUM(0.79)[0.792,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-0.99)[-0.993,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 10:33:40 -0000 On Wed, 11 Mar 2020 08:10:13 +0000 Alexander V. Chernikov wrote: > 11.03.2020, 07:14, "O. Hartmann" : > > On Tue, 10 Mar 2020 20:30:21 +0000 (UTC) > > "Alexander V. Chernikov" wrote: > > =20 > >> =C2=A0Author: melifaro > >> =C2=A0Date: Tue Mar 10 20:30:21 2020 > >> =C2=A0New Revision: 358858 > >> =C2=A0URL: https://svnweb.freebsd.org/changeset/base/358858 > >> > >> =C2=A0Log: > >> =C2=A0=C2=A0=C2=A0Don't assume !IPv6 is IPv4 in ipfw(8) add_src() and = add_dst(). > >> > >> =C2=A0=C2=A0=C2=A0Submitted by: Neel Chauhan > >> =C2=A0=C2=A0=C2=A0MFC after: 2 weeks > >> =C2=A0=C2=A0=C2=A0Differential Revision: https://reviews.freebsd.org/D= 21812 > >> > >> =C2=A0Modified: > >> =C2=A0=C2=A0=C2=A0head/sbin/ipfw/ipfw2.c > >> > >> =C2=A0Modified: head/sbin/ipfw/ipfw2.c > >> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D > >> =C2=A0--- head/sbin/ipfw/ipfw2.c Tue Mar 10 20:25:36 2020 (r358857) > >> =C2=A0+++ head/sbin/ipfw/ipfw2.c Tue Mar 10 20:30:21 2020 (r358858) > >> =C2=A0@@ -3717,11 +3717,10 @@ add_src(ipfw_insn *cmd, char *av, u_char= proto, > >> int cb if (proto =3D=3D IPPROTO_IPV6 || strcmp(av, "me6") =3D=3D 0 || > >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0inet_pton(AF_INET6, host, &a) =3D=3D 1) > >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0ret =3D add_srcip6(cmd, av, cblen, t= state); > >> =C2=A0- /* XXX: should check for IPv4, not !IPv6 */ > >> =C2=A0- if (ret =3D=3D NULL && (proto =3D=3D IPPROTO_IP || strcmp(av, = "me") =3D=3D 0 || > >> =C2=A0- inet_pton(AF_INET6, host, &a) !=3D 1)) > >> =C2=A0+ else if (proto =3D=3D IPPROTO_IP || strcmp(av, "me") =3D=3D 0 = || > >> =C2=A0+ inet_pton(AF_INET, host, &a) =3D=3D 1) > >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0ret =3D add_srcip(cmd, av, cblen, ts= tate); > >> =C2=A0- if (ret =3D=3D NULL && strcmp(av, "any") !=3D 0) > >> =C2=A0+ else if (ret =3D=3D NULL && strcmp(av, "any") !=3D 0) > >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0ret =3D cmd; > >> > >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0return ret; > >> =C2=A0@@ -3748,11 +3747,10 @@ add_dst(ipfw_insn *cmd, char *av, u_char= proto, > >> int cb if (proto =3D=3D IPPROTO_IPV6 || strcmp(av, "me6") =3D=3D 0 || > >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0inet_pton(AF_INET6, host, &a) =3D=3D 1) > >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0ret =3D add_dstip6(cmd, av, cblen, t= state); > >> =C2=A0- /* XXX: should check for IPv4, not !IPv6 */ > >> =C2=A0- if (ret =3D=3D NULL && (proto =3D=3D IPPROTO_IP || strcmp(av, = "me") =3D=3D 0 || > >> =C2=A0- inet_pton(AF_INET6, host, &a) !=3D 1)) > >> =C2=A0+ else if (proto =3D=3D IPPROTO_IP || strcmp(av, "me") =3D=3D 0 = || > >> =C2=A0+ inet_pton(AF_INET, host, &a) =3D=3D 1) > >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0ret =3D add_dstip(cmd, av, cblen, ts= tate); > >> =C2=A0- if (ret =3D=3D NULL && strcmp(av, "any") !=3D 0) > >> =C2=A0+ else if (ret =3D=3D NULL && strcmp(av, "any") !=3D 0) > >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0ret =3D cmd; > >> > >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0return ret; > >> =C2=A0_______________________________________________ > >> =C2=A0svn-src-head@freebsd.org mailing list > >> =C2=A0https://lists.freebsd.org/mailman/listinfo/svn-src-head > >> =C2=A0To unsubscribe, send any mail to "svn-src-head-unsubscribe@freeb= sd.org" =20 > > > > This seems to trigger some issues in CURRENT's ipfw script handling rul= es. > > On all CURRENT boxes running =20 > >> =C2=A0FreeBSD 13.0-CURRENT #0 r358851: Tue Mar 10 21:17:39 CET 2020 am= d64, the > >> boxes =20 > > > > aren't accessible via net due to errors occuring when loading ipfw rule= s: =20 > Whoops. > Terribly sorry for breaking your setup. Reverted in r358871. It is not a specific setup of mine, since we use the standard supplied by FreeBSD, just filling some variables. So, in theory, the patch should have broken much more setups if people use FreeBSD's ipfw. Thanks for reverting. > > > > [/etc/rc.conf] > > firewall_type=3D"WORKSTATION" > > firewall_myservices=3D"22/tcp 80/tcp 443/tcp" # List of TCP ports on > > which this host > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0# offers services for "work= station" > > firewall. firewall_allowservices=3D"192.168.0.0/24 fd11:43:2::/64" # Li= st of > > IPs which have access to > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0# $firewall_myservices for = "workstation" > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0# firewall. > > firewall_trusted=3D"" # List of IPs which have full access to this > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0# host for "workstation" fi= rewall. > > > > [...] > > # service ipfw restart > > Flushed all rules. > > 00100 allow ip from any to any via lo0 > > 00200 deny ip from any to 127.0.0.0/8 > > 00300 deny ip from 127.0.0.0/8 to any > > 00400 deny ip from any to ::1 > > 00500 deny ip from ::1 to any > > 00600 allow ipv6-icmp from :: to ff02::/16 > > 00700 allow ipv6-icmp from fe80::/10 to fe80::/10 > > 00800 allow ipv6-icmp from fe80::/10 to ff02::/16 > > ipfw: bad source address any > > ipfw: bad source address any > > 00000 check-state :default > > ipfw: bad destination address any > > ipfw: bad destination address any > > ipfw: bad destination address any > > ipfw: bad destination address any > > ipfw: bad destination address any > > 01000 allow udp from 0.0.0.0 68 to 255.255.255.255 67 out > > ipfw: bad source address any > > ipfw: bad source address any > > 01100 allow udp from fe80::/10 to me 546 in > > ipfw: bad source address any > > ipfw: bad source address any > > ipfw: bad source address any > > ipfw: bad source address any > > [...] > > > > The problem also occur if set > > > > firewall_allowservices=3D"any" > > > > in /etc/rc.conf =20 From owner-svn-src-head@freebsd.org Wed Mar 11 10:42:06 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E738925D017; Wed, 11 Mar 2020 10:42:06 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cpRy054xz43F6; Wed, 11 Mar 2020 10:42:05 +0000 (UTC) (envelope-from lwhsu@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 AE992B2DB; Wed, 11 Mar 2020 10:42:05 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BAg5Vs048752; Wed, 11 Mar 2020 10:42:05 GMT (envelope-from lwhsu@FreeBSD.org) Received: (from lwhsu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BAg5Gl048751; Wed, 11 Mar 2020 10:42:05 GMT (envelope-from lwhsu@FreeBSD.org) Message-Id: <202003111042.02BAg5Gl048751@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: lwhsu set sender to lwhsu@FreeBSD.org using -f From: Li-Wen Hsu Date: Wed, 11 Mar 2020 10:42:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358886 - head/tests/sys/geom/class/gate X-SVN-Group: head X-SVN-Commit-Author: lwhsu X-SVN-Commit-Paths: head/tests/sys/geom/class/gate X-SVN-Commit-Revision: 358886 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 10:42:07 -0000 Author: lwhsu Date: Wed Mar 11 10:42:05 2020 New Revision: 358886 URL: https://svnweb.freebsd.org/changeset/base/358886 Log: Temporarily skip sys.geom.class.gate.ggate_test.ggated in CI PR: 244737 Sponsored by: The FreeBSD Foundation Modified: head/tests/sys/geom/class/gate/ggate_test.sh Modified: head/tests/sys/geom/class/gate/ggate_test.sh ============================================================================== --- head/tests/sys/geom/class/gate/ggate_test.sh Wed Mar 11 08:51:19 2020 (r358885) +++ head/tests/sys/geom/class/gate/ggate_test.sh Wed Mar 11 10:42:05 2020 (r358886) @@ -16,6 +16,10 @@ ggated_head() ggated_body() { + if [ "$(atf_config_get ci false)" = "true" ]; then + atf_skip "https://bugs.freebsd.org/244737" + fi + load_ggate us=$(alloc_ggate_dev) From owner-svn-src-head@freebsd.org Wed Mar 11 12:43:55 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DD5BC260296; Wed, 11 Mar 2020 12:43:55 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cs8W2t4Tz47Jq; Wed, 11 Mar 2020 12:43:55 +0000 (UTC) (envelope-from lwhsu@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 209FCCBD8; Wed, 11 Mar 2020 12:43:55 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BChtB8020621; Wed, 11 Mar 2020 12:43:55 GMT (envelope-from lwhsu@FreeBSD.org) Received: (from lwhsu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BChsdw020619; Wed, 11 Mar 2020 12:43:54 GMT (envelope-from lwhsu@FreeBSD.org) Message-Id: <202003111243.02BChsdw020619@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: lwhsu set sender to lwhsu@FreeBSD.org using -f From: Li-Wen Hsu Date: Wed, 11 Mar 2020 12:43:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358887 - in head/lib: libproc/tests msun/tests X-SVN-Group: head X-SVN-Commit-Author: lwhsu X-SVN-Commit-Paths: in head/lib: libproc/tests msun/tests X-SVN-Commit-Revision: 358887 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 12:43:56 -0000 Author: lwhsu Date: Wed Mar 11 12:43:54 2020 New Revision: 358887 URL: https://svnweb.freebsd.org/changeset/base/358887 Log: Temporarily skip 2 failing tests after llvm10 import PR: 244732 Sponsored by: The FreeBSD Foundation Modified: head/lib/libproc/tests/proc_test.c head/lib/msun/tests/ctrig_test.c Modified: head/lib/libproc/tests/proc_test.c ============================================================================== --- head/lib/libproc/tests/proc_test.c Wed Mar 11 10:42:05 2020 (r358886) +++ head/lib/libproc/tests/proc_test.c Wed Mar 11 12:43:54 2020 (r358887) @@ -270,6 +270,9 @@ ATF_TC_BODY(symbol_lookup, tc) u_long saved; int error; + if (atf_tc_get_config_var_as_bool_wd(tc, "ci", false)) + atf_tc_skip("https://bugs.freebsd.org/244732"); + phdl = start_prog(tc, false); error = proc_name2sym(phdl, target_prog_file, "main", &main_sym, NULL); Modified: head/lib/msun/tests/ctrig_test.c ============================================================================== --- head/lib/msun/tests/ctrig_test.c Wed Mar 11 10:42:05 2020 (r358886) +++ head/lib/msun/tests/ctrig_test.c Wed Mar 11 12:43:54 2020 (r358887) @@ -248,6 +248,9 @@ ATF_TC_BODY(test_inf_inputs, tc) long double complex z, c, s; unsigned i; + if (atf_tc_get_config_var_as_bool_wd(tc, "ci", false)) + atf_tc_skip("https://bugs.freebsd.org/244732"); + /* * IN CSINH CCOSH CTANH * Inf,Inf +-Inf,NaN inval +-Inf,NaN inval 1,+-0 From owner-svn-src-head@freebsd.org Wed Mar 11 13:51:02 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AE5CC2619DD; Wed, 11 Mar 2020 13:51:02 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ctdy2pGKz4tCQ; Wed, 11 Mar 2020 13:51:02 +0000 (UTC) (envelope-from emaste@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 E2AB7D74A; Wed, 11 Mar 2020 13:51:01 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BDp1Y6058606; Wed, 11 Mar 2020 13:51:01 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BDp1fX058605; Wed, 11 Mar 2020 13:51:01 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003111351.02BDp1fX058605@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 11 Mar 2020 13:51:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358889 - head/usr.bin/elfctl X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/usr.bin/elfctl X-SVN-Commit-Revision: 358889 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 13:51:02 -0000 Author: emaste Date: Wed Mar 11 13:51:01 2020 New Revision: 358889 URL: https://svnweb.freebsd.org/changeset/base/358889 Log: elfctl: remove memory leak CID: 1420356 Reported by: Coverity Scan Sponsored by: The FreeBSD Foundation Modified: head/usr.bin/elfctl/elfctl.c Modified: head/usr.bin/elfctl/elfctl.c ============================================================================== --- head/usr.bin/elfctl/elfctl.c Wed Mar 11 13:45:53 2020 (r358888) +++ head/usr.bin/elfctl/elfctl.c Wed Mar 11 13:51:01 2020 (r358889) @@ -352,6 +352,7 @@ get_file_features(Elf *elf, int phcount, int fd, uint3 descsz = roundup2(note.n_descsz, 4); if (read(fd, name, namesz) < namesz) { warnx("elf note name too short"); + free(name); return (false); } read_total += namesz; @@ -386,6 +387,7 @@ get_file_features(Elf *elf, int phcount, int fd, uint3 if (read(fd, features, sizeof(uint32_t)) < (ssize_t)sizeof(uint32_t)) { warnx("feature note data too short"); + free(name); return (false); } if (off != NULL) From owner-svn-src-head@freebsd.org Wed Mar 11 14:02:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0932D26209D; Wed, 11 Mar 2020 14:02:29 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-il1-f180.google.com (mail-il1-f180.google.com [209.85.166.180]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ctv86SXyz41Bm; Wed, 11 Mar 2020 14:02:28 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-il1-f180.google.com with SMTP id g6so2077596ilc.7; Wed, 11 Mar 2020 07:02:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yjUlGrQyoC4TCTYxLmbDaoz+UMTq9D3sIxJscIh8Fwc=; b=LP+u+M+QiVR8noMvgQioGBzX3s6Ntlbv3qKt18DuxuYAvhclnRhad3/RVbzug1CwiA +DP8e+K9rPigNP2vyQcxnV3E7VTSKf5z620i7ugW8NLygWnBZYM+w6Se9P3Y06BMe9tI 2Yrgj//nI24siBtw7LlcA0syWIaWd3RLrXEeL1NfexZGwJ+wCfjp25YiBFNtIU+6h+l3 o8JWak7CvnkvIGycy/f+/Tv3VLWrHkdAEMQec5DVoZubAkhUsQnRlC41kIn+d00rtks7 9e3HwyikJh3a4+B2PIISKHp7zS1mkmf6GnbIMbHwjL4Xdb+Jj/biDuKm3DviOEr90ONs +wDA== X-Gm-Message-State: ANhLgQ2YwhbO31ztZoh0TqrB2Fw/7hlnh83BiQWhCgwuG4vS8T+BAx6h 2o9z53M0OYKhqI+2vE1s/QEAGqAz9vVWTpMvznTBsw== X-Google-Smtp-Source: ADFU+vtIfvXK//nFTAUDMtQjvErPHNohYU9avRL9ehiHd5beR5WZlmndX8nul9THj8572VifCjyIDadGUC4ZaCQBsLQ= X-Received: by 2002:a92:778e:: with SMTP id s136mr3323243ilc.256.1583935347225; Wed, 11 Mar 2020 07:02:27 -0700 (PDT) MIME-Version: 1.0 References: <202003102259.02AMx15j021610@repo.freebsd.org> In-Reply-To: <202003102259.02AMx15j021610@repo.freebsd.org> From: Ed Maste Date: Wed, 11 Mar 2020 10:02:15 -0400 Message-ID: Subject: Re: svn commit: r358861 - head/share/examples/etc To: Jung-uk Kim Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48ctv86SXyz41Bm X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.99 / 15.00]; NEURAL_HAM_MEDIUM(-0.99)[-0.993,0]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 14:02:29 -0000 On Tue, 10 Mar 2020 at 18:59, Jung-uk Kim wrote: > > Author: jkim > Date: Tue Mar 10 22:59:01 2020 > New Revision: 358861 > URL: https://svnweb.freebsd.org/changeset/base/358861 > > Log: > - Remove CPUTYPE examples for sparc64. It is not supported since r358345. > - Clean up CPUTYPE examples for x86. GCC 4.2.1 was removed by r358454. Thanks! From owner-svn-src-head@freebsd.org Wed Mar 11 15:12:33 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 862D72636BC; Wed, 11 Mar 2020 15:12:33 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48cwS11hdNz4Y3G; Wed, 11 Mar 2020 15:12:33 +0000 (UTC) (envelope-from imp@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 06749E771; Wed, 11 Mar 2020 15:12:33 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BFCWre010052; Wed, 11 Mar 2020 15:12:32 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BFCWGR010049; Wed, 11 Mar 2020 15:12:32 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003111512.02BFCWGR010049@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Wed, 11 Mar 2020 15:12:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358890 - in head/sys/cam: . scsi X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head/sys/cam: . scsi X-SVN-Commit-Revision: 358890 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 15:12:33 -0000 Author: imp Date: Wed Mar 11 15:12:31 2020 New Revision: 358890 URL: https://svnweb.freebsd.org/changeset/base/358890 Log: Remove redundantly repetitive static __inline forward function declarations. We typically don't use them elsewhere in the kernel, and they aren't needed here: the actual functions are a few lines away and aren't mutually recursive. Modified: head/sys/cam/cam.h head/sys/cam/cam_sim.h head/sys/cam/cam_xpt.c head/sys/cam/scsi/scsi_all.h Modified: head/sys/cam/cam.h ============================================================================== --- head/sys/cam/cam.h Wed Mar 11 13:51:01 2020 (r358889) +++ head/sys/cam/cam.h Wed Mar 11 15:12:31 2020 (r358890) @@ -403,11 +403,9 @@ void cam_error_print(struct cam_device *device, union __END_DECLS #ifdef _KERNEL -static __inline void cam_init_pinfo(cam_pinfo *pinfo); - static __inline void cam_init_pinfo(cam_pinfo *pinfo) { - pinfo->priority = CAM_PRIORITY_NONE; + pinfo->priority = CAM_PRIORITY_NONE; pinfo->index = CAM_UNQUEUED_INDEX; } #endif Modified: head/sys/cam/cam_sim.h ============================================================================== --- head/sys/cam/cam_sim.h Wed Mar 11 13:51:01 2020 (r358889) +++ head/sys/cam/cam_sim.h Wed Mar 11 15:12:31 2020 (r358890) @@ -79,16 +79,6 @@ void cam_sim_release(struct cam_sim *sim); void cam_sim_set_path(struct cam_sim *sim, u_int32_t path_id); - -/* Convenience routines for accessing sim attributes. */ -static __inline u_int32_t cam_sim_path(const struct cam_sim *sim); -static __inline const char * cam_sim_name(const struct cam_sim *sim); -static __inline void * cam_sim_softc(const struct cam_sim *sim); -static __inline u_int32_t cam_sim_unit(const struct cam_sim *sim); -static __inline u_int32_t cam_sim_bus(const struct cam_sim *sim); - - - /* Generically useful offsets into the sim private area */ #define spriv_ptr0 sim_priv.entries[0].ptr #define spriv_ptr1 sim_priv.entries[1].ptr Modified: head/sys/cam/cam_xpt.c ============================================================================== --- head/sys/cam/cam_xpt.c Wed Mar 11 13:51:01 2020 (r358889) +++ head/sys/cam/cam_xpt.c Wed Mar 11 15:12:31 2020 (r358890) @@ -323,7 +323,6 @@ static xpt_devicefunc_t xptsetasyncfunc; static xpt_busfunc_t xptsetasyncbusfunc; static cam_status xptregister(struct cam_periph *periph, void *arg); -static __inline int device_is_queued(struct cam_ed *device); static __inline int xpt_schedule_devq(struct cam_devq *devq, struct cam_ed *dev) Modified: head/sys/cam/scsi/scsi_all.h ============================================================================== --- head/sys/cam/scsi/scsi_all.h Wed Mar 11 13:51:01 2020 (r358889) +++ head/sys/cam/scsi/scsi_all.h Wed Mar 11 15:12:31 2020 (r358890) @@ -4324,17 +4324,6 @@ int scsi_get_asc(struct scsi_sense_data *sense, u_int int show_errors); int scsi_get_ascq(struct scsi_sense_data *sense, u_int sense_len, int show_errors); -static __inline void scsi_ulto2b(u_int32_t val, u_int8_t *bytes); -static __inline void scsi_ulto3b(u_int32_t val, u_int8_t *bytes); -static __inline void scsi_ulto4b(u_int32_t val, u_int8_t *bytes); -static __inline void scsi_u64to8b(u_int64_t val, u_int8_t *bytes); -static __inline uint32_t scsi_2btoul(const uint8_t *bytes); -static __inline uint32_t scsi_3btoul(const uint8_t *bytes); -static __inline int32_t scsi_3btol(const uint8_t *bytes); -static __inline uint32_t scsi_4btoul(const uint8_t *bytes); -static __inline uint64_t scsi_8btou64(const uint8_t *bytes); -static __inline void *find_mode_page_6(struct scsi_mode_header_6 *mode_header); -static __inline void *find_mode_page_10(struct scsi_mode_header_10 *mode_header); static __inline void scsi_ulto2b(u_int32_t val, u_int8_t *bytes) From owner-svn-src-head@freebsd.org Wed Mar 11 18:15:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 99034266B5B; Wed, 11 Mar 2020 18:15:19 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d0Vv31XWz3Qmn; Wed, 11 Mar 2020 18:15:19 +0000 (UTC) (envelope-from emaste@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 042B1188F9; Wed, 11 Mar 2020 18:15:19 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BIFIUZ018548; Wed, 11 Mar 2020 18:15:18 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BIFIux018547; Wed, 11 Mar 2020 18:15:18 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003111815.02BIFIux018547@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 11 Mar 2020 18:15:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358891 - head/share/man/man5 X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/man/man5 X-SVN-Commit-Revision: 358891 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 18:15:19 -0000 Author: emaste Date: Wed Mar 11 18:15:18 2020 New Revision: 358891 URL: https://svnweb.freebsd.org/changeset/base/358891 Log: elf.5: start documenting ELF note sections I intend to document FreeBSD's ELF notes (see review D23982), but start with a section documenting the format of the note section itself. Sponsored by: The FreeBSD Foundation Modified: head/share/man/man5/elf.5 Modified: head/share/man/man5/elf.5 ============================================================================== --- head/share/man/man5/elf.5 Wed Mar 11 15:12:31 2020 (r358890) +++ head/share/man/man5/elf.5 Wed Mar 11 18:15:18 2020 (r358891) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 18, 2005 +.Dd March 11, 2020 .Dt ELF 5 .Os .Sh NAME @@ -1276,6 +1276,26 @@ member. This member specifies a constant addend used to compute the value to be stored into the relocatable field. .El +.Ss Note Section +ELF note sections consist of entries with the following format. +.Bl -column -offset indent "Sy Field" "Sy Size" "Sy Description" +.It Sy Field Ta Sy Size Ta Sy Description +.It namesz Ta 32 bits Ta Size of "name" +.It descsz Ta 32 bits Ta Size of "desc" +.It type Ta 32 bits Ta OS-dependent note type +.It name Ta namesz Ta Null-terminated originator name +.It desc Ta descsz Ta OS-dependent note data +.El +.Pp +The +.Sy name +and +.Sy desc +fields are padded to ensure 4-byte alignemnt. +.Sy namesz +and +.Sy descsz +specify the unpadded length. .Sh SEE ALSO .Xr as 1 , .Xr gdb 1 , From owner-svn-src-head@freebsd.org Wed Mar 11 19:07:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 927E5267FFD; Wed, 11 Mar 2020 19:07:19 +0000 (UTC) (envelope-from mpp302@gmail.com) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d1fs1zFwz3LPG; Wed, 11 Mar 2020 19:07:16 +0000 (UTC) (envelope-from mpp302@gmail.com) Received: by mail-wm1-f46.google.com with SMTP id 11so3323273wmo.2; Wed, 11 Mar 2020 12:07:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=iUZRv/h+oHL5fkgh9NpIBuEsgcEwqeX8AIAWjmsju/Q=; b=kVhKaqE3l3k5NAK2uIeq8b8JksHZgVIVOJHEREjTRTOAO0ZGVkQ5DW5IeNyX0iC8aZ a8B3UHD8gDBQeP7InyAsNXyFcOt/teQ1yoTRxZM1sgamVD0+iwb67nNZ4sS2dgwDVJPW C0twNjJFaxxNVUfx7SxJRmlmBttyDeolSBRAuF5s589gdmhCYuavohIQY3WBdvyUeV8p ORDiLYVir0yfJXtN7GRYRBWvpcgK34iUuPneGZIH+WgS1E/txmZIWxz4EXeZ5zhICNlS u2wCyDQc/Pkr98W59bRgY7nXxwrsAzk5Ykyvx3/pls0a3avtk+YL84wYXrDLkY503s9s W9/Q== X-Gm-Message-State: ANhLgQ1EWBKkdFaiW+kfiaeSLxvEIzuRk6+ZFmpHCsVxdtjAeqmmwE9H j8jZTjJCikX6thdCiUnXRd6jbZSH X-Google-Smtp-Source: ADFU+vtk22sDaQJKyqL8PO64CrKH9cRC/sD9oc8RKn+flgr+yI9S9XBZ2GW7ol9Wlf3zHHBhwR9wuw== X-Received: by 2002:a1c:1b4c:: with SMTP id b73mr185061wmb.17.1583953603969; Wed, 11 Mar 2020 12:06:43 -0700 (PDT) Received: from ?IPv6:2a02:8109:98c0:40ee:5e5f:67ff:fef4:ffd8? ([2a02:8109:98c0:40ee:5e5f:67ff:fef4:ffd8]) by smtp.gmail.com with ESMTPSA id a7sm16737488wrn.25.2020.03.11.12.06.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 11 Mar 2020 12:06:43 -0700 (PDT) Subject: Re: svn commit: r358891 - head/share/man/man5 To: Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202003111815.02BIFIux018547@repo.freebsd.org> From: Mateusz Piotrowski <0mp@FreeBSD.org> Message-ID: Date: Wed, 11 Mar 2020 20:07:08 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <202003111815.02BIFIux018547@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Rspamd-Queue-Id: 48d1fs1zFwz3LPG X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of mpp302@gmail.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=mpp302@gmail.com X-Spamd-Result: default: False [-3.33 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[FreeBSD.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; IP_SCORE(-1.33)[ip: (-1.99), ipnet: 209.85.128.0/17(-2.98), asn: 15169(-1.65), country: US(-0.05)]; RCVD_IN_DNSWL_NONE(0.00)[46.128.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FORGED_SENDER(0.30)[0mp@FreeBSD.org,mpp302@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[46.128.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[0mp@FreeBSD.org,mpp302@gmail.com] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 19:07:19 -0000 Hi, On 3/11/20 7:15 PM, Ed Maste wrote: > Author: emaste > Date: Wed Mar 11 18:15:18 2020 > New Revision: 358891 > URL: https://svnweb.freebsd.org/changeset/base/358891 > > Log: > elf.5: start documenting ELF note sections ... > Modified: head/share/man/man5/elf.5 > ============================================================================== > --- head/share/man/man5/elf.5 Wed Mar 11 15:12:31 2020 (r358890) > +++ head/share/man/man5/elf.5 Wed Mar 11 18:15:18 2020 (r358891) > @@ -24,7 +24,7 @@ ... > +.Bl -column -offset indent "Sy Field" "Sy Size" "Sy Description" The "Sy" macros can be dropped from those strings specifying the width of columns. They are not expanded there anyway. Cheers, Mateusz Piotrowski From owner-svn-src-head@freebsd.org Wed Mar 11 19:57:44 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3A790268F66; Wed, 11 Mar 2020 19:57:44 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d2n40bb7z3L9V; Wed, 11 Mar 2020 19:57:44 +0000 (UTC) (envelope-from wulf@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 0507F19B5B; Wed, 11 Mar 2020 19:57:44 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BJvh3L078994; Wed, 11 Mar 2020 19:57:43 GMT (envelope-from wulf@FreeBSD.org) Received: (from wulf@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BJvhWY078993; Wed, 11 Mar 2020 19:57:43 GMT (envelope-from wulf@FreeBSD.org) Message-Id: <202003111957.02BJvhWY078993@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wulf set sender to wulf@FreeBSD.org using -f From: Vladimir Kondratyev Date: Wed, 11 Mar 2020 19:57:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358892 - head/sys/dev/usb/input X-SVN-Group: head X-SVN-Commit-Author: wulf X-SVN-Commit-Paths: head/sys/dev/usb/input X-SVN-Commit-Revision: 358892 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 19:57:44 -0000 Author: wulf Date: Wed Mar 11 19:57:43 2020 New Revision: 358892 URL: https://svnweb.freebsd.org/changeset/base/358892 Log: wmt(4): revert r358872 (by hselasky) Limiting frame size to maximum packet size breaks devices which have input report size larger than wMaxPacketSize. Maximal input report size should be used instead. Revert the commit as it have not been MFC-ed yet. Discussed with: hselasky Modified: head/sys/dev/usb/input/wmt.c Modified: head/sys/dev/usb/input/wmt.c ============================================================================== --- head/sys/dev/usb/input/wmt.c Wed Mar 11 18:15:18 2020 (r358891) +++ head/sys/dev/usb/input/wmt.c Wed Mar 11 19:57:43 2020 (r358892) @@ -251,7 +251,7 @@ static const struct usb_config wmt_config[WMT_N_TRANSF .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, .flags = { .pipe_bof = 1, .short_xfer_ok = 1 }, - .bufsize = 0, /* use wMaxPacketSize */ + .bufsize = WMT_BSIZE, .callback = &wmt_intr_callback, }, }; From owner-svn-src-head@freebsd.org Wed Mar 11 20:02:08 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A8EA526920C; Wed, 11 Mar 2020 20:02:08 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-il1-f196.google.com (mail-il1-f196.google.com [209.85.166.196]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d2t80zb9z3Pyc; Wed, 11 Mar 2020 20:02:07 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-il1-f196.google.com with SMTP id j69so3251321ila.11; Wed, 11 Mar 2020 13:02:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=LtBRpcmrQq2/LAGhdnq5JGN/lZxaNoLF4jon63KHSnU=; b=JjgoM708d2Nq2lGjPTXtjKYQRAla7TJJEE3p1plT6q8qYTYfT7vxsVEHTkM5pwHMa+ mbsruduHH8clUZX3uZ0xLWjd0AU7G1l7vOP0C/qC5Lc52iy2w1CIed2uJvYOJJqYxwPi HpwlCoOenUzkRpYArjxqUXWbf2/efSL4OebTUR8keKjSAwtM+ucGcIaez0re4lO2fAyB bwRFr/2iZanTTdrquBpmB3kxr9YwgOWeomVhfYAJeVTyC9ql353knClUfRHsrlq6IvkG egfPbH12EGdsZz+XmhDE307dtVDJhKk32rH7l4dePq3v3W0hD3SFC7RF5xngFU2u3+Mc 7MUw== X-Gm-Message-State: ANhLgQ2/Xe4RbX1Wy21TU3yux9jzd5h0YjHSEZ1GxwS6SCRGU9/hHheH 9bbAYOr6NwKsiEhggSWNMIIhb/ICCo9EK/gPDd16aDJv X-Google-Smtp-Source: ADFU+vsZQMn2V/VwMt22ZZGd87vel6RMLh5oQ76Y+cJKm+V1GL7dT3Hg6cJadNb7SdgTYsHkSW8CkwIxOtIhFpv8eiY= X-Received: by 2002:a92:c110:: with SMTP id p16mr4894123ile.100.1583956926547; Wed, 11 Mar 2020 13:02:06 -0700 (PDT) MIME-Version: 1.0 References: <202003111815.02BIFIux018547@repo.freebsd.org> In-Reply-To: From: Ed Maste Date: Wed, 11 Mar 2020 16:01:54 -0400 Message-ID: Subject: Re: svn commit: r358891 - head/share/man/man5 To: Mateusz Piotrowski <0mp@freebsd.org> Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48d2t80zb9z3Pyc X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.99 / 15.00]; NEURAL_HAM_MEDIUM(-0.99)[-0.993,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 20:02:08 -0000 On Wed, 11 Mar 2020 at 15:07, Mateusz Piotrowski <0mp@freebsd.org> wrote: > > Hi, > > On 3/11/20 7:15 PM, Ed Maste wrote: > > Author: emaste > > Date: Wed Mar 11 18:15:18 2020 > > New Revision: 358891 > > URL: https://svnweb.freebsd.org/changeset/base/358891 > > > > Log: > > elf.5: start documenting ELF note sections > ... > > Modified: head/share/man/man5/elf.5 > > ============================================================================== > > --- head/share/man/man5/elf.5 Wed Mar 11 15:12:31 2020 (r358890) > > +++ head/share/man/man5/elf.5 Wed Mar 11 18:15:18 2020 (r358891) > > @@ -24,7 +24,7 @@ > ... > > +.Bl -column -offset indent "Sy Field" "Sy Size" "Sy Description" > > The "Sy" macros can be dropped from those strings specifying the width > of columns. They are not expanded there anyway. Interesting, thanks for the note. I probably copied them from arch.7, so it might need similar treatment. They did have a side-effect of putting more space between columns though; with extra Sy: Field Size Description namesz 32 bits Size of name descsz 32 bits Size of desc type 32 bits OS-dependent note type name namesz Null-terminated originator name desc descsz OS-dependent note data Without: Field Size Description namesz 32 bits Size of name descsz 32 bits Size of desc type 32 bits OS-dependent note type name namesz Null-terminated originator name desc descsz OS-dependent note data From owner-svn-src-head@freebsd.org Wed Mar 11 20:05:06 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D257426933A; Wed, 11 Mar 2020 20:05:06 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d2xZ5JXGz3wg5; Wed, 11 Mar 2020 20:05:06 +0000 (UTC) (envelope-from emaste@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 B108619D36; Wed, 11 Mar 2020 20:05:06 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BK56He084869; Wed, 11 Mar 2020 20:05:06 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BK56q4084868; Wed, 11 Mar 2020 20:05:06 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003112005.02BK56q4084868@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 11 Mar 2020 20:05:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358894 - head/share/man/man5 X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/man/man5 X-SVN-Commit-Revision: 358894 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 20:05:06 -0000 Author: emaste Date: Wed Mar 11 20:05:06 2020 New Revision: 358894 URL: https://svnweb.freebsd.org/changeset/base/358894 Log: Remove extra Sy from table header Reported by: 0mp Modified: head/share/man/man5/elf.5 Modified: head/share/man/man5/elf.5 ============================================================================== --- head/share/man/man5/elf.5 Wed Mar 11 19:59:29 2020 (r358893) +++ head/share/man/man5/elf.5 Wed Mar 11 20:05:06 2020 (r358894) @@ -1278,7 +1278,7 @@ stored into the relocatable field. .El .Ss Note Section ELF note sections consist of entries with the following format. -.Bl -column -offset indent "Sy Field" "Sy Size" "Sy Description" +.Bl -column -offset indent "Field" "Size" "Description" .It Sy Field Ta Sy Size Ta Sy Description .It namesz Ta 32 bits Ta Size of "name" .It descsz Ta 32 bits Ta Size of "desc" From owner-svn-src-head@freebsd.org Wed Mar 11 20:05:50 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A716E269422; Wed, 11 Mar 2020 20:05:50 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d2yQ3xggz3x4D; Wed, 11 Mar 2020 20:05:50 +0000 (UTC) (envelope-from wulf@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 8197619D37; Wed, 11 Mar 2020 20:05:50 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BK5oqt084948; Wed, 11 Mar 2020 20:05:50 GMT (envelope-from wulf@FreeBSD.org) Received: (from wulf@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BK5o9B084947; Wed, 11 Mar 2020 20:05:50 GMT (envelope-from wulf@FreeBSD.org) Message-Id: <202003112005.02BK5o9B084947@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wulf set sender to wulf@FreeBSD.org using -f From: Vladimir Kondratyev Date: Wed, 11 Mar 2020 20:05:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358895 - head/sys/dev/usb/input X-SVN-Group: head X-SVN-Commit-Author: wulf X-SVN-Commit-Paths: head/sys/dev/usb/input X-SVN-Commit-Revision: 358895 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 20:05:50 -0000 Author: wulf Date: Wed Mar 11 20:05:49 2020 New Revision: 358895 URL: https://svnweb.freebsd.org/changeset/base/358895 Log: wmt(4): Reapply r358872 (by hselasky) modified to use maximal input report size instead of wMaxPacketSize. If the USB frame length is set to 1024 bytes, WMT_BSIZE, the EETI controller will pack multiple touch events in the packet and the current code will only process the first touch event. As a result some important events are lost like releasing the finger from the touchscreen. Use the maximal input report size as buffer size instead. PR: 244718 Tested by: Oskar Holmlund , wulf MFC after: 3 days Discussed with: hselasky Modified: head/sys/dev/usb/input/wmt.c Modified: head/sys/dev/usb/input/wmt.c ============================================================================== --- head/sys/dev/usb/input/wmt.c Wed Mar 11 20:05:06 2020 (r358894) +++ head/sys/dev/usb/input/wmt.c Wed Mar 11 20:05:49 2020 (r358895) @@ -201,6 +201,7 @@ struct wmt_softc uint32_t caps; uint32_t isize; uint32_t nconts_max; + uint32_t report_len; uint8_t report_id; struct hid_location cont_max_loc; @@ -492,10 +493,11 @@ wmt_intr_callback(struct usb_xfer *xfer, usb_error_t e DPRINTFN(6, "sc=%p actlen=%d\n", sc, len); - if (len >= (int)sc->isize || (len > 0 && sc->report_id != 0)) { + if (len >= (int)sc->report_len || + (len > 0 && sc->report_id != 0)) { /* Limit report length to the maximum */ - if (len > (int)sc->isize) - len = sc->isize; + if (len > (int)sc->report_len) + len = sc->report_len; usbd_copy_out(pc, 0, buf, len); @@ -504,8 +506,8 @@ wmt_intr_callback(struct usb_xfer *xfer, usb_error_t e goto tr_ignore; /* Make sure we don't process old data */ - if (len < sc->isize) - bzero(buf + len, sc->isize - len); + if (len < sc->report_len) + bzero(buf + len, sc->report_len - len); /* Strip leading "report ID" byte */ if (sc->report_id) { @@ -521,7 +523,7 @@ tr_ignore: case USB_ST_SETUP: tr_setup: - usbd_xfer_set_frame_len(xfer, 0, usbd_xfer_max_len(xfer)); + usbd_xfer_set_frame_len(xfer, 0, sc->isize); usbd_transfer_submit(xfer); break; default: @@ -807,7 +809,9 @@ wmt_hid_parse(struct wmt_softc *sc, const void *d_ptr, sc->ai[WMT_ORIENTATION].max = 1; } - sc->isize = wmt_hid_report_size(d_ptr, d_len, hid_input, report_id); + sc->isize = hid_report_size(d_ptr, d_len, hid_input, NULL); + sc->report_len = wmt_hid_report_size(d_ptr, d_len, hid_input, + report_id); sc->cont_max_rlen = wmt_hid_report_size(d_ptr, d_len, hid_feature, cont_max_rid); if (thqa_cert_rid > 0) From owner-svn-src-head@freebsd.org Wed Mar 11 20:23:37 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E51D7269A92; Wed, 11 Mar 2020 20:23:37 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d3Lx4W8xz3Dyy; Wed, 11 Mar 2020 20:23:37 +0000 (UTC) (envelope-from bz@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 557991A107; Wed, 11 Mar 2020 20:23:37 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BKNbHD097151; Wed, 11 Mar 2020 20:23:37 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BKNbOP097150; Wed, 11 Mar 2020 20:23:37 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202003112023.02BKNbOP097150@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Wed, 11 Mar 2020 20:23:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358897 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 358897 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 20:23:38 -0000 Author: bz Date: Wed Mar 11 20:23:36 2020 New Revision: 358897 URL: https://svnweb.freebsd.org/changeset/base/358897 Log: Correctly spell TUNABLES. Modified: head/share/man/man4/liquidio.4 Modified: head/share/man/man4/liquidio.4 ============================================================================== --- head/share/man/man4/liquidio.4 Wed Mar 11 20:20:21 2020 (r358896) +++ head/share/man/man4/liquidio.4 Wed Mar 11 20:23:36 2020 (r358897) @@ -77,7 +77,7 @@ LiquidIO II CN2350 210SV/225SV .It LiquidIO II CN2360 210SV/225SV .El -.Sh LOADER TUBABLES +.Sh LOADER TUNABLES Tunables can be set at the .Xr loader 8 prompt before booting the kernel or stored in From owner-svn-src-head@freebsd.org Wed Mar 11 20:27:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6F5C0269B69 for ; Wed, 11 Mar 2020 20:27:29 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound2m.ore.mailhop.org (outbound2m.ore.mailhop.org [54.149.155.156]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48d3RP0jtQz3PL3 for ; Wed, 11 Mar 2020 20:27:29 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1583958447; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=hPD0NmbJrbmEv51uz51dNx8T26tQFZrItoSsBIjXfUndUUSGEdzG2V1pjQS/imENBmlG2cHIa93Te saLF/41qvtHIB/CvIjyqTfxlxlG1QpNB2v8NDKKv9bJTKEjBPQ4v04sDdxUsKSRkyaP2GKGBpYuInk 6wWQBzeww9Yc4x+B2rUnZnHDG4nQ+liRiFpnPP6VFlPQLERKg9Y5CclmUuue66U6uFOhiSOJSY8Jd+ h2OwuGO0kyGNBhvLB92CFP8QU5AqEfBhLcoZlmUEeMJ51/4AsYF6uWha8Z2/VGTpsx8Tl8hPp18KBO GZIMDtOjnQ7kvRt3UzFNvMrnCNDya9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:dkim-signature:from; bh=sDCEiwX5GMI4hS05647e4PcR5oCx+c4MMn7sVAkBjoM=; b=r4urP75EXN9Ff6QLRIVNlbFm3J2hxUFlIx7Aeoq8ql2szCZx5693XCaQpjT5tm63TsxBCYdtKBuxd Pq1nJGQ3M3IHBhHEZLBDRKICiHmRRibF45b4MeoSQxxu3+TGmuuLLy32pRndS9SUcuQq1Zyxq0qnb5 MByRQyYJqlYuuPhXerV1qET0gLGpn7E+vsfy72JMwTzw+RsSNLpm3DEDt7FqVboa8Ahv8iit636B9g pWRhAjNry/gfpR1MYp4qXuL1oRRrQse4dCHu8HixUdG/t0ZvcUSRdrofLYxXj5SA9IUTbl/r5hFrjD i2xQZSKfUiOUKzRyDumOfwG/bJRpsZw== ARC-Authentication-Results: i=1; outbound4.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:from; bh=sDCEiwX5GMI4hS05647e4PcR5oCx+c4MMn7sVAkBjoM=; b=HH89i1oIY4sWkV9j42duyi6XBl9mg13yFCW3IXkvGk2TqWnQE5aeyl4lHhb23Uruqogr/5/9SsYW6 1yuG509bfIimgPiX5tScYAmoiHlwU0L5d4HWOm/Oh0h5uT1edWpIWipwU+P/FrGx5JOLRpFgLGzdJ8 dIEKT0g2Y1H2z0WjCqWxdB4BxOUDG3ZpLKxb791iTHdA+K/tQ5jvdIiVFnj59Z6X3e+bEF0WddOz5L 1DfHw7qjGhbI4rZFAh+AebepcRWWPfMdr5kWnEq798TTYHXZAmqV0ldKUmsWtPFUOYS6hpoUQvMY/w NI0jRhR15p5VK3x22ellXCFvo0HAXaw== X-MHO-RoutePath: aGlwcGll X-MHO-User: b7f26c2e-63d6-11ea-9eb3-25e2dfa9fa8d X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [67.177.211.60]) by outbound4.ore.mailhop.org (Halon) with ESMTPSA id b7f26c2e-63d6-11ea-9eb3-25e2dfa9fa8d; Wed, 11 Mar 2020 20:27:25 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 02BKROSk049818; Wed, 11 Mar 2020 14:27:24 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: Subject: Re: svn commit: r358891 - head/share/man/man5 From: Ian Lepore To: Ed Maste , Mateusz Piotrowski <0mp@freebsd.org> Cc: src-committers , svn-src-all , svn-src-head Date: Wed, 11 Mar 2020 14:27:24 -0600 In-Reply-To: References: <202003111815.02BIFIux018547@repo.freebsd.org> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 48d3RP0jtQz3PL3 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-0.13 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_SPAM_MEDIUM(0.85)[0.855,0]; ASN(0.00)[asn:16509, ipnet:54.148.0.0/15, country:US]; NEURAL_HAM_LONG(-0.98)[-0.983,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 20:27:29 -0000 On Wed, 2020-03-11 at 16:01 -0400, Ed Maste wrote: > On Wed, 11 Mar 2020 at 15:07, Mateusz Piotrowski <0mp@freebsd.org> > wrote: > > > > Hi, > > > > On 3/11/20 7:15 PM, Ed Maste wrote: > > > Author: emaste > > > Date: Wed Mar 11 18:15:18 2020 > > > New Revision: 358891 > > > URL: https://svnweb.freebsd.org/changeset/base/358891 > > > > > > Log: > > > elf.5: start documenting ELF note sections > > > > ... > > > Modified: head/share/man/man5/elf.5 > > > ================================================================= > > > ============= > > > --- head/share/man/man5/elf.5 Wed Mar 11 15:12:31 > > > 2020 (r358890) > > > +++ head/share/man/man5/elf.5 Wed Mar 11 18:15:18 > > > 2020 (r358891) > > > @@ -24,7 +24,7 @@ > > > > ... > > > +.Bl -column -offset indent "Sy Field" "Sy Size" "Sy Description" > > > > The "Sy" macros can be dropped from those strings specifying the > > width > > of columns. They are not expanded there anyway. > > Interesting, thanks for the note. I probably copied them from arch.7, > so it might need similar treatment. > > They did have a side-effect of putting more space between columns > though; with extra Sy: > > Field Size Description > namesz 32 bits Size of name > descsz 32 bits Size of desc > type 32 bits OS-dependent note type > name namesz Null-terminated originator name > desc descsz OS-dependent note data > > Without: > > Field Size Description > namesz 32 bits Size of name > descsz 32 bits Size of desc > type 32 bits OS-dependent note type > name namesz Null-terminated originator name > desc descsz OS-dependent note data With, there are 3 extra spaces. "Sy ". -- Ian From owner-svn-src-head@freebsd.org Wed Mar 11 20:37:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E6F34269EFA; Wed, 11 Mar 2020 20:37:19 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-il1-f181.google.com (mail-il1-f181.google.com [209.85.166.181]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d3fl58GMz4Kt0; Wed, 11 Mar 2020 20:37:19 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-il1-f181.google.com with SMTP id c8so3397156ilm.1; Wed, 11 Mar 2020 13:37:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=sh47bb5Do6a+liYtj27X/aeJf+f8uxgjW14c/BwzYUc=; b=akMtczmAGUlCo5wgtwi8X//GvufIC+yjPOseHNFKraJRPWG19wu0HmNO1d4Tdp/npi 17AKyeyJiKoIGW8e/ZL4XgBj1qcQaP9FVkfjtYapvbpor/nKv/MuEwt2xMoTVeETXUaF MvOSNcZDcTGMdpzKW863KWe9kGz4aUIZd7KTbW3vB+kB7xQ/yBMO5mOshsAj6YsJ2Kr4 m2/8xQqH/FXi/ZJcFjPr771hUCPMQsabYe2hpfXi+3r0VzzYmVpMrxE6hjlsgK6Bwx// vQ+aOUSse6YbgkcldX5WyarHlYsVjJIiyYlOHf1dGlcDb+mPJGwuziPi7zPkSCmO6vXM ccrQ== X-Gm-Message-State: ANhLgQ3tZ9uSUHI/9yagvtEho9xV1Apa1gKInDHRnQoT0JlmdPwroS4y i46vAL5+JQ0NYbfDgsuVxPenn89RplU1Jwk4aYng7A== X-Google-Smtp-Source: ADFU+vvxaufyFlQCVWOxackkK/EfyZIqHuGqaIjvB0AplBisTadxcD/fTLs4EvKEFPiqpagBKyc+D5J+JaQhgSK4sSw= X-Received: by 2002:a92:cc45:: with SMTP id t5mr4668397ilq.182.1583959037477; Wed, 11 Mar 2020 13:37:17 -0700 (PDT) MIME-Version: 1.0 References: <202003111815.02BIFIux018547@repo.freebsd.org> In-Reply-To: From: Ed Maste Date: Wed, 11 Mar 2020 16:37:05 -0400 Message-ID: Subject: Re: svn commit: r358891 - head/share/man/man5 To: Ian Lepore Cc: Mateusz Piotrowski <0mp@freebsd.org>, src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48d3fl58GMz4Kt0 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.99 / 15.00]; NEURAL_HAM_MEDIUM(-0.99)[-0.994,0]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 20:37:20 -0000 On Wed, 11 Mar 2020 at 16:27, Ian Lepore wrote: > > With, there are 3 extra spaces. "Sy ". Right, I mean the extraneous Sy had the side effect of improving (in my opinion) the rendered table. Anyhow, they're removed now. From owner-svn-src-head@freebsd.org Wed Mar 11 20:40:26 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0B642269FCC; Wed, 11 Mar 2020 20:40:26 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d3kK5JtFz4Sxb; Wed, 11 Mar 2020 20:40:25 +0000 (UTC) (envelope-from emaste@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 4E5311A337; Wed, 11 Mar 2020 20:40:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BKePfU003777; Wed, 11 Mar 2020 20:40:25 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BKePA3003776; Wed, 11 Mar 2020 20:40:25 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003112040.02BKePA3003776@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 11 Mar 2020 20:40:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358898 - head/share/man/man7 X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/man/man7 X-SVN-Commit-Revision: 358898 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 20:40:26 -0000 Author: emaste Date: Wed Mar 11 20:40:24 2020 New Revision: 358898 URL: https://svnweb.freebsd.org/changeset/base/358898 Log: arch.7: remove extraneous markup from header table sizing Reported by: 0mp (in response to r358891) Modified: head/share/man/man7/arch.7 Modified: head/share/man/man7/arch.7 ============================================================================== --- head/share/man/man7/arch.7 Wed Mar 11 20:23:36 2020 (r358897) +++ head/share/man/man7/arch.7 Wed Mar 11 20:40:24 2020 (r358898) @@ -87,7 +87,7 @@ This table shows the first release to support each architecture, and, for discontinued architectures, the final release. .Pp -.Bl -column -offset indent "Sy Architecture" "Sy Initial Release" "Sy Final Release" +.Bl -column -offset indent "Architecture" "Initial Release" "Final Release" .It Sy Architecture Ta Sy Initial Release Ta Sy Final Release .It aarch64 Ta 11.0 .It alpha Ta 3.2 Ta 6.4 @@ -150,7 +150,7 @@ execution environment is accompanied by the .Dv ILP32 environment, which was the historical 32-bit predecessor for 64-bit evolution. Examples are: -.Bl -column -offset indent "Dv powerpc64" "Sy ILP32 counterpart" +.Bl -column -offset indent "powerpc64" "ILP32 counterpart" .It Sy LP64 Ta Sy ILP32 counterpart .It Dv amd64 Ta Dv i386 .It Dv powerpc64 Ta Dv powerpc @@ -188,7 +188,7 @@ Most ILP32 ABIs, except require only 4-byte alignment for 64-bit integers. .Pp Machine-dependent type sizes: -.Bl -column -offset indent "Sy Architecture" "Sy void *" "Sy long double" "Sy time_t" +.Bl -column -offset indent "Architecture" "void *" "long double" "time_t" .It Sy Architecture Ta Sy void * Ta Sy long double Ta Sy time_t .It aarch64 Ta 8 Ta 16 Ta 8 .It amd64 Ta 8 Ta 16 Ta 8 @@ -214,7 +214,7 @@ Machine-dependent type sizes: .Sy time_t is 8 bytes on all supported architectures except i386. .Ss Endianness and Char Signedness -.Bl -column -offset indent "Sy Architecture" "Sy Endianness" "Sy char Signedness" +.Bl -column -offset indent "Architecture" "Endianness" "char Signedness" .It Sy Architecture Ta Sy Endianness Ta Sy char Signedness .It aarch64 Ta little Ta unsigned .It amd64 Ta little Ta signed @@ -237,7 +237,7 @@ is 8 bytes on all supported architectures except i386. .It riscv64sf Ta little Ta signed .El .Ss Page Size -.Bl -column -offset indent "Sy Architecture" "Sy Page Sizes" +.Bl -column -offset indent "Architecture" "Page Sizes" .It Sy Architecture Ta Sy Page Sizes .It aarch64 Ta 4K, 2M, 1G .It amd64 Ta 4K, 2M, 1G @@ -260,7 +260,7 @@ is 8 bytes on all supported architectures except i386. .It riscv64sf Ta 4K .El .Ss Floating Point -.Bl -column -offset indent "Sy Architecture" "Sy float, double" "Sy long double" +.Bl -column -offset indent "Architecture" "float, double" "long double" .It Sy Architecture Ta Sy float, double Ta Sy long double .It aarch64 Ta hard Ta soft, quad precision .It amd64 Ta hard Ta hard, 80 bit @@ -295,7 +295,7 @@ and Binutils .Xr ld 1 , or an external toolchain compiler and linker provided by a port or package. This table shows the default tool chain for each architecture. -.Bl -column -offset indent "Sy Architecture" "Sy Compiler" "Sy Linker" +.Bl -column -offset indent "Architecture" "Compiler" "Linker" .It Sy Architecture Ta Sy Compiler Ta Sy Linker .It aarch64 Ta Clang Ta lld .It amd64 Ta Clang Ta lld @@ -352,7 +352,7 @@ cc -x c -dM -E /dev/null .Ed .Pp Common type size and endianness macros: -.Bl -column -offset indent "BYTE_ORDER" "Sy Meaning" +.Bl -column -offset indent "BYTE_ORDER" "Meaning" .It Sy Macro Ta Sy Meaning .It Dv __LP64__ Ta 64-bit (8-byte) long and pointer, 32-bit (4-byte) int .It Dv __ILP32__ Ta 32-bit (4-byte) int, long and pointer @@ -363,7 +363,7 @@ is not used on .El .Pp Architecture-specific macros: -.Bl -column -offset indent "Sy Architecture" "Sy Predefined macros" +.Bl -column -offset indent "Architecture" "Predefined macros" .It Sy Architecture Ta Sy Predefined macros .It aarch64 Ta Dv __aarch64__ .It amd64 Ta Dv __amd64__, Dv __x86_64__ From owner-svn-src-head@freebsd.org Wed Mar 11 20:42:58 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0073D26A22A for ; Wed, 11 Mar 2020 20:42:58 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound3d.ore.mailhop.org (outbound3d.ore.mailhop.org [54.186.57.195]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48d3nF1D1nz4Zck for ; Wed, 11 Mar 2020 20:42:56 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1583959375; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=NVSYiWbY42c/LlbFa77XJCO+TXAb/ukZ01DtINWNxAPsFY4NVNnTul3VM22n65L43mHRh81AnBVCc dzSowm5yhQWhIzqbup7hruIdrxRe4gxiGCzLsS6rG639MirgKEOm1XNdmEWD7fzm4wc1yWAgJalktJ 4G+9wrVQY3hORa9/zB3AUXhMC27FrmUIEAcGZ0UWe91Xfyr9CBE6A05Orui0sHPKUeHyzKfjP+hlRy vkbNG5LmqLLQi2Y7IgRDPPn8M43mD09rO32IxoRkiZGJJZmC5CeV/WOaS7fRCi5Jh1Z2K+Kjy25zLE yfX5VLoO10tExLI4prUQwITsxZCZo/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:dkim-signature:from; bh=LOQ5VISUK+o9frTms5uFMYkyhbF6nsNR5kzC9k+QB4A=; b=j4tMzBCfUYPDtWt6Qww6E/kNC/nmeD+CtsSJKhLlbeMQTNsAH1rYmMYbb2SZFLXx+5qZwgKRLlOjF R2oHiTa9tCPeHC9Dw888Jo3tpEcI99UxcihIc9BwA9wZG+HG1wIaKXUlx3ifo4cE+0N19T9xg/kJpz UNZCnVfCQHmQV/rmdUK3Qo4bDqlRqPJ/GAZ01xsWXmAT0MHFCT6cJDp5jGUqqWtPqD3fBuhNJvyKWa Bwz2RRpVxkP/gCVgB3FZTPeJvVxBFs4fqjKoW2AWXK3Ju37Du/DarsKuZUa7YaSe7YyPzKsakfBFRh lbdntD7IKiFpGELRTbpVcRyKSFjuQ7A== ARC-Authentication-Results: i=1; outbound3.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:from; bh=LOQ5VISUK+o9frTms5uFMYkyhbF6nsNR5kzC9k+QB4A=; b=bcd9m/AE5pXi2pqlZ1XnOeyIIozBpINMcI9CjXH5gu2XRNPz5WrjkHHzuBMOWJIlx1cKegFPUIgmJ z17vn1+NefbMRwAHtOmYnHR2Nh3mFZhLk/D2W8zy5zk4suUjgKxKqJ+SIMZZmn1N6wsgUtHmaUv0nO rP7VHNZuUVcAXwYamHXMFerIzWgzI19B7q2ZCioZeNpS9qqzlkfxg8KoUcqoyXGq53e1pieJbq17Rk +wBJJrKatf1S9RNYgN4R5qJ+zaYjF+FG6+QtJKH8p5S1mafoHrfH9epwkiDUaa+c86HFDmVdytWf4Y M58AV3WhZbGjvWM6k7XfZYI8sLNyZ0Q== X-MHO-RoutePath: aGlwcGll X-MHO-User: e18b0b48-63d8-11ea-b80e-052b4a66b6b2 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [67.177.211.60]) by outbound3.ore.mailhop.org (Halon) with ESMTPSA id e18b0b48-63d8-11ea-b80e-052b4a66b6b2; Wed, 11 Mar 2020 20:42:54 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 02BKgrXV049859; Wed, 11 Mar 2020 14:42:53 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <75e642f39519e068833227fa6c0b542ed8982cfa.camel@freebsd.org> Subject: Re: svn commit: r358891 - head/share/man/man5 From: Ian Lepore To: Ed Maste Cc: Mateusz Piotrowski <0mp@freebsd.org>, src-committers , svn-src-all , svn-src-head Date: Wed, 11 Mar 2020 14:42:53 -0600 In-Reply-To: References: <202003111815.02BIFIux018547@repo.freebsd.org> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 48d3nF1D1nz4Zck X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-0.13 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_LONG(-0.98)[-0.983,0]; NEURAL_SPAM_MEDIUM(0.85)[0.855,0]; ASN(0.00)[asn:16509, ipnet:54.186.0.0/15, country:US] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 20:42:58 -0000 On Wed, 2020-03-11 at 16:37 -0400, Ed Maste wrote: > On Wed, 11 Mar 2020 at 16:27, Ian Lepore wrote: > > > > With, there are 3 extra spaces. "Sy ". > > Right, I mean the extraneous Sy had the side effect of improving (in > my opinion) the rendered table. Anyhow, they're removed now. Well, my point is that it looked better because there were 3 extra spaces, so you can get that spacing by adding 3 extra chars to the column headings in the .Bl line. They don't have be "Sy " at the front, I think just spaces at the end of each heading (inside the quotes) would do it. -- Ian From owner-svn-src-head@freebsd.org Wed Mar 11 21:00:41 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0802226A70B; Wed, 11 Mar 2020 21:00:41 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d49h6M1Rz49gf; Wed, 11 Mar 2020 21:00:40 +0000 (UTC) (envelope-from mckusick@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 D564E1A7FC; Wed, 11 Mar 2020 21:00:40 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BL0eNJ016368; Wed, 11 Mar 2020 21:00:40 GMT (envelope-from mckusick@FreeBSD.org) Received: (from mckusick@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BL0esU016367; Wed, 11 Mar 2020 21:00:40 GMT (envelope-from mckusick@FreeBSD.org) Message-Id: <202003112100.02BL0esU016367@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mckusick set sender to mckusick@FreeBSD.org using -f From: Kirk McKusick Date: Wed, 11 Mar 2020 21:00:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358899 - in head: lib/libc/sys sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: mckusick X-SVN-Commit-Paths: in head: lib/libc/sys sys/ufs/ffs X-SVN-Commit-Revision: 358899 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 21:00:41 -0000 Author: mckusick Date: Wed Mar 11 21:00:40 2020 New Revision: 358899 URL: https://svnweb.freebsd.org/changeset/base/358899 Log: When mounting a UFS filesystem, return EINTEGRITY rather than EIO when a superblock check-hash error is detected. This change clarifies a mount that failed due to media hardware failures (EIO) from a mount that failed due to media errors (EINTEGRITY) that can be corrected by running fsck(8). Sponsored by: Netflix Modified: head/lib/libc/sys/mount.2 head/sys/ufs/ffs/ffs_subr.c Modified: head/lib/libc/sys/mount.2 ============================================================================== --- head/lib/libc/sys/mount.2 Wed Mar 11 20:40:24 2020 (r358898) +++ head/lib/libc/sys/mount.2 Wed Mar 11 21:00:40 2020 (r358899) @@ -307,6 +307,10 @@ No space remains in the mount table. .It Bq Er EINVAL The super block for the file system had a bad magic number or an out of range block size. +.It Bq Er EINTEGRITY +The super block for the file system had a bad check hash. +The check hash can usually be corrected by running +.Xr fsck 8 . .It Bq Er ENOMEM Not enough memory was available to read the cylinder group information for the file system. Modified: head/sys/ufs/ffs/ffs_subr.c ============================================================================== --- head/sys/ufs/ffs/ffs_subr.c Wed Mar 11 20:40:24 2020 (r358898) +++ head/sys/ufs/ffs/ffs_subr.c Wed Mar 11 21:00:40 2020 (r358899) @@ -416,7 +416,7 @@ readsuper(void *devfd, struct fs **fsp, off_t sblocklo return (0); } fs->fs_fmod = 0; - return (EINVAL); + return (EINTEGRITY); } /* Have to set for old filesystems that predate this field */ fs->fs_sblockactualloc = sblockloc; From owner-svn-src-head@freebsd.org Wed Mar 11 21:09:04 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0E3C926AB43; Wed, 11 Mar 2020 21:09:04 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d4MM5DYvz4MHQ; Wed, 11 Mar 2020 21:09:03 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from odin.corp.delphij.net (unknown [IPv6:2601:646:8600:58ba:3030:219a:bc3:27a4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: delphij/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id E380A2EA7F; Wed, 11 Mar 2020 21:09:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) From: Xin Li Subject: Re: svn commit: r326052 - head/usr.bin/gzip To: cem@freebsd.org Cc: src-committers , svn-src-all , svn-src-head References: <201711210814.vAL8EUgM047088@repo.freebsd.org> Autocrypt: addr=delphij@FreeBSD.org; prefer-encrypt=mutual; keydata= mQINBFuSR4oBEACvvEgwRIHs6IcSP/yaDtySF78Ji3rP29qdiQsxhMsOtvtffdbS56VApIWO UFb3/iN2gA8HwLvrmjijN0HEoLVX7na1WARmxRYzQMtApsZIUTtx7hnUYlsi2F5odZa6CDW9 a954DLRzYxiUwYDcu5Zjl9bglK1H8e/N9uC0Vuigr4teWfh86brzOyf819QzwFVYfMIK4ihw QGwMvTzbyVuCFy+LENkmcVYni70oQy6rZ5ktSuYbuOFvu7inRRfhSWPHziV7k+bW88sJ7xhv lBlegcnhkSudWX2M8tZ3MO1PJOcyys0CJlsBY5Weiog2lIPi05h/E9pZ9mc1Vud17iqDaL6w RaggOUhuPfDGCdO5ro82W4BZGeQMRnRF5Ntk+t2ShIH4nn3xRLV0E5nziCiKlgiMqOrz/ZTL QTVbHrCuiwD+fSK14y0oHbkOLYTYLlgh1JbwfY2Ty7elOYiWzyeJ7sJh2dF91NSEneWIOys3 mBpuvtU3nSzzTvAB48VV+Nbg1CpIOgNlPjj7uhIum/Z/VjUaJEyaLpTIRh0MVJVcbP7hXSqZ NA35EEZZVnWEOYdycm4CmEdeNPWkrAf2Ya77iR5VLGypwMlsUMQPh+sKVWDD38M8stFGBBNm d01Hi74Bsq5hKan654dOqMt5eYklrVj0ucMzFQtus7oE502UswARAQABtBxYaW4gTEkgPGRl bHBoaWpARnJlZUJTRC5vcmc+iQJXBBMBCgBBAhsDBQkJroQABQsJCAcDBRUKCQgLBRYCAwEA Ah4BAheAFiEEceNg5NEMZIki80nQQHl/fJX0g08FAluSUkoCGQEACgkQQHl/fJX0g08OIxAA pcCm2QCi6IM0o5N5ro5rTodh2rlMuf31TTYBjdf9laZvpnA8a80XBLgx7bxASxH0EOaxcJZk Hl6D0Ex8jcrwOoe9kmbzJ1ZrqBBJBup+mTrf4SwRceSqo6OGHrun8C6kOnq4X62RsvJ9j9nU PqowhXJ4zZHNk9ZXLDzWbrNvYNXxhb+GgK5SniIKMM5Jw/qlMYvxaiIwnS5So+UzIbNsycnk CLbzZxE0d9pe97G3zDvCCwUYoo6LmSx7R20yRnGgO0BlvTPHeWn5WtK1ku3aiarHJW7mRMbD 617GLdc2vuT3bDSd3XwQztgZdiOZkYCdNZVQvuOqMdTtg+phCoQyvEB0+OWoIc/9Cam826nG lazUzURU/FNKJMcxP+1eFI+D/Kl8lpLTtmcjZNbmxeYR2OG6gz7fkyX2D3Is7GEcxuAi6j8f 3OpyFxb9IX4ZsP54/C41bzbcZtQgsU30Ptp/AhJpThHzYHrskfIcLNdmu2ngD5GvrBNX/x4W dO0SgI8tsdY7UQqU9IMWYdkVP8smIUDypMS5x/VZe47afq+VxACOhL0hSixWJDt6Rbl/4iyM EE6Cgu3/YAWQhAK7B97wJj5vPxqdAtPQjkUZGtlTOJWm/NIf4MCYjoHlfan07zatzJ2XF6y6 XcRiCQXULUYpshhY7mXOTSHXZ8n6HB+Z1ri5Ag0EW5JHigEQANiBmIFAfRNH3nzYNWC0yC+t fx3zsUwAsH1VaBM/cTib+yKtbBOSIlXWjJZWX3MHwoI/1LeGghB2mxkkX1L0pJ/vj1eXNR+s FZ320pYcl61Fxg/5fioG4QDTM4i3i7NR5PxDnc6UVaynSlII93DedRhZ1ROtdn4vyMgzsDiq hbL7BthDOt5KxjqdRk4qRPSw7BovEqZLOcG5IJtf/zZUzRbM7SBljEbOAfekDGx1Br+RrYSD 7/EfPwwzou9T8315IpBpIHyQF/dZNk3iFiB9Ed5CA71ZRYV5YoLWE9lL0j9kxOLQ5vHnX3mV q7QZBc7nzwZ6UhQgYmrG5+RWvuiPpGwvDRIsugJUGXucYkAQh5kuNblmkwpv6u9rNMjCNbzA ylOaqdogra5EW+RUSbRz0b4iIr8nnZeAlh7BihCe7JjOwbDjoBEEEtSfVc4hD/LENqpcYVrC hphfaOLB9YIXhnVDTVvMc9OklWT/81HzAaDQqOQCzEfY92199Ct9/CwRoQ2OpO8TO5+8A7b9 Nb33nmxMn09mb48ruRacMrfHxCWbgU4w9SEfbip4GcS5wGG6yTC+hw55Iwnnwus40NrJ0GEr 8a4rcdsLbkvlyoNHB8ZGgyJ4aFCQ1V4qE1BnlTk7Z8BYBUkJM1odPSkVvHpCnMUjVpJ3hEOC +73ZYH1dh7lZABEBAAGJAjwEGAEKACYWIQRx42Dk0QxkiSLzSdBAeX98lfSDTwUCW5JHigIb DAUJCa6EAAAKCRBAeX98lfSDTz8DEACMh3poeUb+gWNF4RWFZuLteZVo0+E1JLYXQkmtrRBL XviP+Qy0pXyFAVxLM4hNIBoIDYfK9BcwrBYf7AwSKrH0GiNwFpgHCkbZd6qoZy2gB+adTnCp VCTJKJetsH/8awkrChJWMK0ckGf3EeWMPvawG7kW7FBz70NYEZ0pOMiaEZNVtzD3wwbYWUiD FYth83XGglOExg+1ShTW5XjQPRrdyJAO+aUW4o3lVjfyUJXMgI4rmhMiLVm06GuNrbpKIF0s +4VdjQAjhrDQjfoXi9CkfsA/cONseuHNv1JGj3RqHiqHJq1dbrpodXp925zGDAnUGxCOBPoF opAHgVzR89GTut059GpwqsddZmU6y7rqifuam/ekJ+QRwc16vgt7pHqCrTY8WPxRZr2UpFU1 wlToCOdeiFep1gq1F9jzFjJnoMaAdmC6k7bgAA+RQusOgIhJL0jIej7DoAHxmxFFCfRy+lDt pXwFgQ8HMvzHI65QWmQnMo7s6SQH/ZH5s1yR6SJq8+3lDz+dCuT42qJVqIPVvxd10LW0FNN+ t7HFeLadU6ekSgD13/EYMYXlvNHkw7dAItSDxIzgRyykLz0bCU9xwNWoS4Z43+ifF9anJ+uR 0ltWEl1j++h6ZrD3LLuCgJIt1so0m49GzdcSpOI7LCwMlacyvafiEyjUn+tSNDsnfw== Organization: The FreeBSD Project Message-ID: <3e0f2ee3-5406-76ae-9042-4edd9301db23@FreeBSD.org> Date: Wed, 11 Mar 2020 14:09:00 -0700 User-Agent: Thunderbird MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="rkFxnE0IqRTRPJcY9ZbwJJI5dOMJIYTzL" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 21:09:04 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --rkFxnE0IqRTRPJcY9ZbwJJI5dOMJIYTzL Content-Type: multipart/mixed; boundary="impGTs6glpXYcbLNKmoQ07PPD9lZi9D3J"; protected-headers="v1" From: Xin Li To: cem@freebsd.org Cc: src-committers , svn-src-all , svn-src-head Message-ID: <3e0f2ee3-5406-76ae-9042-4edd9301db23@FreeBSD.org> Subject: Re: svn commit: r326052 - head/usr.bin/gzip References: <201711210814.vAL8EUgM047088@repo.freebsd.org> In-Reply-To: --impGTs6glpXYcbLNKmoQ07PPD9lZi9D3J Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 3/10/20 18:26, Conrad Meyer wrote: > Hi Xin Li, >=20 > Sorry to reply to an old commit. >=20 > On Tue, Nov 21, 2017 at 12:14 AM Xin LI wrote: >> >> Author: delphij >> Date: Tue Nov 21 08:14:30 2017 >> New Revision: 326052 >> URL: https://svnweb.freebsd.org/changeset/base/326052 >> >> Log: >> Support SIGINFO. >> ... >> --- head/usr.bin/gzip/unpack.c Tue Nov 21 07:35:29 2017 (r3260= 51) >> +++ head/usr.bin/gzip/unpack.c Tue Nov 21 08:14:30 2017 (r3260= 52) >> ... >> @@ -152,6 +155,9 @@ unpack_parse_header(int in, int out, char *pre, si= ze_t >> ssize_t bytesread; /* Bytes read from the file */= >> int i, j, thisbyte; >> >> + if (prelen > sizeof hdr) >> + maybe_err("prelen too long"); >=20 > This check should perhaps be >=3D, rather than >. >=20 >> + >> /* Prepend the header buffer if we already read some data */ >> if (prelen !=3D 0) >> memcpy(hdr, pre, prelen); >> @@ -160,6 +166,7 @@ unpack_parse_header(int in, int out, char *pre, si= ze_t >> bytesread =3D read(in, hdr + prelen, PACK_HEADER_LENGTH - prel= en); >=20 > In the case where prelen =3D=3D sizeof(hdr), we invoke read(, pointer p= ast > end of hdr, 0) above. This should have no effect, but looks > unintended, and tickles Coverity (CID 1383554). Thanks for the analysis. It seems that this is a false positive because the situation can never happen with the current code (the passed prelen has to be either 0 or 4). I've created a changeset at: https://reviews.freebsd.org/D24034 to address it. Cheers, --impGTs6glpXYcbLNKmoQ07PPD9lZi9D3J-- --rkFxnE0IqRTRPJcY9ZbwJJI5dOMJIYTzL Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.2.19 (Darwin) iQIzBAEBCgAdFiEEceNg5NEMZIki80nQQHl/fJX0g08FAl5pU20ACgkQQHl/fJX0 g0+JmQ//VgudTnNlDVjUPvCkEcpR5a0JJdVYkPa+8czUMBNw//AzKwOpgK7vfOA9 8ytYk+RDfDlu57cuSPdUuAHUcOi0iZFEVD8iIbGDawruAt1Oo3fi6pKD5HQRWG4j PJpibiSuStmCexoPyVdV7KE0IIh/ozDZHqyhbRF9woqHfMmTj4KnjXgAcB3XbG87 d0QD4mqBiNt/yEy2oEvOWFP+09tYeCsny7PmV91XtV2D9lSYrZ+AFUX+OXo3yqbt gS+f0VBdafJ04u9C+uk5g0s6qi2fWLcaD+jyDL2iZllZ1Z5PR0gBYhgaSDVjBY7o oDKYg6OmaPBrUh9piM/yqnMnBham6a/5KR6rJFm3ebJq/E6I/z3L9h217ULv75kM vQ6BkXlGiAhULHXZzxmOGPuJFp3otatllauKLLQOAj0VST8L/zOhnO1HGYlaJAWX 4WFM2q7mH8sLqgjqZv2cAKde2/JFISPqqYvjoJLx/hVKYyYSfb20NGrXD661bk6S aSxp48QkilnLAYyYWB9uaHcD4xGJy3dm0LFLl+g1ATKf2ckM1hmnfdEFzJEOBk/K 5YhFGbivZt5GJzrslCcANTSe/+mYtrXAY3hAZ6W5CAPS1of36QROSFm3odDrS1fe /QoA1+OGMZKiovw4CpNHhzHTYO3pcsKEETX49UBGV3tIy/s6L5A= =dWwZ -----END PGP SIGNATURE----- --rkFxnE0IqRTRPJcY9ZbwJJI5dOMJIYTzL-- From owner-svn-src-head@freebsd.org Wed Mar 11 22:25:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2C9A526C90E; Wed, 11 Mar 2020 22:25:47 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d63t2lG6z414B; Wed, 11 Mar 2020 22:25:46 +0000 (UTC) (envelope-from jeff@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 29BBC1B7FE; Wed, 11 Mar 2020 22:25:46 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BMPjAG068675; Wed, 11 Mar 2020 22:25:45 GMT (envelope-from jeff@FreeBSD.org) Received: (from jeff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BMPjVO068674; Wed, 11 Mar 2020 22:25:45 GMT (envelope-from jeff@FreeBSD.org) Message-Id: <202003112225.02BMPjVO068674@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jeff set sender to jeff@FreeBSD.org using -f From: Jeff Roberson Date: Wed, 11 Mar 2020 22:25:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358901 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: jeff X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 358901 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 22:25:47 -0000 Author: jeff Date: Wed Mar 11 22:25:45 2020 New Revision: 358901 URL: https://svnweb.freebsd.org/changeset/base/358901 Log: Check for busy or wired in vm_page_relookup(). Some callers will only keep a page wired and expect it to still be present. Reported by: delphij@FreeBSD.org Reviewed by: kib Modified: head/sys/vm/vm_page.c Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Wed Mar 11 22:05:41 2020 (r358900) +++ head/sys/vm/vm_page.c Wed Mar 11 22:25:45 2020 (r358901) @@ -1672,7 +1672,7 @@ vm_page_relookup(vm_object_t object, vm_pindex_t pinde vm_page_t m; m = vm_radix_lookup_unlocked(&object->rtree, pindex); - KASSERT(m != NULL && vm_page_busied(m) && + KASSERT(m != NULL && (vm_page_busied(m) || vm_page_wired(m)) && m->object == object && m->pindex == pindex, ("vm_page_relookup: Invalid page %p", m)); return (m); From owner-svn-src-head@freebsd.org Wed Mar 11 23:34:45 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 26A6326E337; Wed, 11 Mar 2020 23:34:45 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48d7bS68f4z42jh; Wed, 11 Mar 2020 23:34:44 +0000 (UTC) (envelope-from bdragon@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 A17311C4A6; Wed, 11 Mar 2020 23:34:44 +0000 (UTC) (envelope-from bdragon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02BNYiQ2010230; Wed, 11 Mar 2020 23:34:44 GMT (envelope-from bdragon@FreeBSD.org) Received: (from bdragon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02BNYiZs010229; Wed, 11 Mar 2020 23:34:44 GMT (envelope-from bdragon@FreeBSD.org) Message-Id: <202003112334.02BNYiZs010229@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdragon set sender to bdragon@FreeBSD.org using -f From: Brandon Bergren Date: Wed, 11 Mar 2020 23:34:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358902 - head/lib/libc/powerpc64/string X-SVN-Group: head X-SVN-Commit-Author: bdragon X-SVN-Commit-Paths: head/lib/libc/powerpc64/string X-SVN-Commit-Revision: 358902 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Mar 2020 23:34:45 -0000 Author: bdragon Date: Wed Mar 11 23:34:44 2020 New Revision: 358902 URL: https://svnweb.freebsd.org/changeset/base/358902 Log: Fix r358688 -- Remember to actually save r3 before processing. Crash was noticed by pkubaj building gcc9. Apparently non dword-aligned char pointers are somewhat rare in the wild. Reported by: pkubaj Sponsored by: Tag1 Consulting, Inc. Modified: head/lib/libc/powerpc64/string/memcpy.S Modified: head/lib/libc/powerpc64/string/memcpy.S ============================================================================== --- head/lib/libc/powerpc64/string/memcpy.S Wed Mar 11 22:25:45 2020 (r358901) +++ head/lib/libc/powerpc64/string/memcpy.S Wed Mar 11 23:34:44 2020 (r358902) @@ -58,8 +58,8 @@ ENTRY(FN_NAME) andi. %r7, %r4, ALIGN_MASK cmpd %r8, %r7 mr %r7, %r5 - bne .Lcopy_remaining_fix_index_byte mr %r8, %r3 /* save dst */ + bne .Lcopy_remaining_fix_index_byte /* align src */ .Lalignment_loop: From owner-svn-src-head@freebsd.org Thu Mar 12 02:16:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 36223272073; Thu, 12 Mar 2020 02:16:21 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dC9v44k2z4Sr3; Thu, 12 Mar 2020 02:16:19 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wm1-x344.google.com with SMTP id h83so979625wmf.3; Wed, 11 Mar 2020 19:16:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=9Rc+IkO89V8i3yttOjoFQ67aVR1M7BknWa4hXEWDJeQ=; b=aLc1pUHPy9I00VB52KwdXAvAzVLGhtBqTqf76QwVdCaK1O4/NKG4wIqR/sMCa6HLJ6 /Tbg3yM240NgDgpQwn9z00KU3CUyEnQiXVu9beI+1u4moeRWUYj2fJdWChbjD+1d2BWk RQnnB7PX/Urx26wPEjmk3z42ygi0woneKA1wjYbYJJQQ2SxGwHyPfZulPSrWNfI1orC3 3z/5RVTvCmLktaNlo3khsoLrtml4PQeUti0xQA6yAWb5TSjCPycn4W2tfh5K9yPzSjOj jz6n96SfitFJZfNxQHFlY89eD0jrQdmLwLdRR8Ft1UybiA7XFKC/H4H7n2s0cJzvEkFN 0Byg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=9Rc+IkO89V8i3yttOjoFQ67aVR1M7BknWa4hXEWDJeQ=; b=M0st8EVI48rltzV2zFSWvaeoBqNKzKrWXBML7Fexco0nFzKkw60tgWV1cB2wf+vbHg 0lgaTx9ahMAt/i4yvi05pJiiY+VmhzUgznOBZmhQlf0IT0IEoFU7gE4VyG5tpnT8sLa0 nZwPSfw9nh/zDRyfDyYq4Cac+FtcllQxQvACGEgfKJS1Yh11uEgNOF8JtEz7mQqHQfFC slmLpuSshPhhAVBdtiL3aSurvFDP007OOsEmS+aAR9E+DKVhZ940k10FnLwIOmCe9I6J OB6UAfultOHsFl4X1BGiQQOWDV6T30gqW37fPsN7NM2ymEHdjn4tsYaXUBxRekYd2Uoi IlaA== X-Gm-Message-State: ANhLgQ0Sa08xvcPDTMRwLgk8dv8mR2BcrHBn8jyjH6V5jo1XhUr77uIT /s7PctCGf+GQfmUOCWy4ZQJNSj4yOMbun0KO4MU= X-Google-Smtp-Source: ADFU+vufR0worly8Rm9QUhw8/+cpLU2pw4bAcLg6GZ7Y+XI6iWeSYnZAdDEFSXoI6OSMlcmuRq4vFYbSd8tdWEErHTQ= X-Received: by 2002:a05:600c:20c9:: with SMTP id y9mr1864032wmm.83.1583979376887; Wed, 11 Mar 2020 19:16:16 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:adf:f089:0:0:0:0:0 with HTTP; Wed, 11 Mar 2020 19:16:15 -0700 (PDT) In-Reply-To: <20200310192326.GC1992@kib.kiev.ua> References: <202003080022.0280MX9j055805@repo.freebsd.org> <20200309213512.GS98340@kib.kiev.ua> <20200310192326.GC1992@kib.kiev.ua> From: Mateusz Guzik Date: Thu, 12 Mar 2020 03:16:15 +0100 Message-ID: Subject: Re: svn commit: r358733 - head/sys/sys To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48dC9v44k2z4Sr3 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=aLc1pUHP; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2a00:1450:4864:20::344 as permitted sender) smtp.mailfrom=mjguzik@gmail.com X-Spamd-Result: default: False [-3.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(0.00)[ip: (2.61), ipnet: 2a00:1450::/32(-2.40), asn: 15169(-1.65), country: US(-0.05)]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[4.4.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 02:16:21 -0000 On 3/10/20, Konstantin Belousov wrote: > On Tue, Mar 10, 2020 at 12:22:09AM +0100, Mateusz Guzik wrote: >> On 3/9/20, Konstantin Belousov wrote: >> > On Mon, Mar 09, 2020 at 01:56:17AM +0100, Mateusz Guzik wrote: >> >> On 3/8/20, Mateusz Guzik wrote: >> >> > Author: mjg >> >> > Date: Sun Mar 8 00:22:32 2020 >> >> > New Revision: 358733 >> >> > URL: https://svnweb.freebsd.org/changeset/base/358733 >> >> > >> >> > Log: >> >> > seqc: tidy up >> >> > >> >> > - avoid hand-rolled read >> >> > - match begin/end in terms of fence style >> >> > >> >> >> >> There were off lists questions about this so let me clarify. >> >> >> >> The first bit is a cosmetic change, but the second one is not. >> >> >> >> > Modified: >> >> > head/sys/sys/seqc.h >> >> > >> >> > Modified: head/sys/sys/seqc.h >> >> > ============================================================================== >> >> > --- head/sys/sys/seqc.h Sat Mar 7 15:37:23 2020 (r358732) >> >> > +++ head/sys/sys/seqc.h Sun Mar 8 00:22:32 2020 (r358733) >> >> > @@ -66,7 +66,8 @@ static __inline void >> >> > seqc_write_end(seqc_t *seqcp) >> >> > { >> >> > >> >> > - atomic_store_rel_int(seqcp, *seqcp + 1); >> >> > + atomic_thread_fence_rel(); >> >> > + *seqcp += 1; >> >> > MPASS(!seqc_in_modify(*seqcp)); >> >> > critical_exit(); >> >> > } >> >> >> >> For correct operation the counter has to be modified *before* any work >> >> is done and *after* it is completed. >> >> >> >> Consider a trivial case: >> >> seqc++; >> >> foo[0] = 0; >> >> foo[1] = 1; >> >> seqc++; >> >> >> >> There are 2 ways in which this can be mucked with: >> >> - the compiler can be looking at reordering or reworking the increment >> >> (e.g., to collapse it to just += 2 instead). a compiler barrier >> >> prevents that. >> >> - even with generated machine code which increments in correct places >> >> the cpu can be looking at reordering the operation (which is heavily >> >> dependent on architecture), in particular it could end up issuing >> >> seqc++; foo[1] = 1; which would defeat the point. This is where >> >> release fences come in. >> >> >> >> With the patched code there is: >> >> seqc++; >> >> atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo >> >> starts getting modified */ >> >> foo[0] = 0; >> >> foo[1] = 1; >> >> atomic_thread_fence_rel(); /* make sure modifications to foo don't >> >> leak past this spot */ >> >> seqc++; >> >> >> >> In comparison, the previous code was: >> >> seqc++; >> >> atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo >> >> starts getting modified */ >> >> foo[0] = 0; >> >> foo[1] = 1; >> >> atomic_store_rel_int(seqcp, *seqcp + 1); /* make sure modifications to >> >> too don't leak past this spot and update seqc immediately */ >> >> >> >> There are 2 differences here -- one is an improvement and second one >> >> does not matter: >> >> the win is: the previous code forces the compiler to compute an >> >> incremented value and then store it. On amd64 this translates to the >> >> following (with rdx holding the address of the counter): >> >> >> >> mov (%rdx),%eax /* load the value */ >> >> add $0x1,%eax /* add 1 */ >> >> mov %eax,(%rdx) /* store it */ >> >> >> >> On patched kernel this is: >> >> addl $0x1,(%rdx) >> >> >> >> which is clearly much nicer. >> > I am not sure that the new code on amd64 is much nicer. >> > >> > But the point was that on non-amd64, i.e. armv8 and potentially on >> > powerpc 3.0, the patch substitutes release store with full barrier. The >> > later is (much) slower. >> > >> >> If an arch performs something significantly more expensive here it's >> probably a performance bug in the port. > It is a question of how much hardware support for fine-grained fences. > Relaxed architectures add some optimized operations already, but did not > (yet) implemented complete C11 optimized set. > I think they eventually converge. > > Until they did not, I think it is more important to not pessimize > to-be Tier1 arches than to collapse three fast integer instructions > on amd64 into one rw op. > >> But perhaps more importantly >> there are significantly more frequent users of >> atomic_thread_fence_rel, like refcount(9). If the issue is real that >> should be looked at. > For refcount(9) use of release fence removal, we would need > atomic_fetchadd_rel_int(). > To reiterate, if atomic_thread_fence_rel is indeed very expensive on certain architectures compared to other _rel variants, the kernel is already heavily pessimized because of use of said standalone fence in refcount(9) and few other places and this needs to be fixed. If the cost can't be reduced (e.g., perhaps this can do a no-op store + fence somewhere akin to how lock xadd 0,(%esp) trickery used to work), then the atomic APIs do indeed not to be completed w.r.t. adding all the missing acq/rel variants (that's at least fetchadd and swap). We can also extend the API to do relevant addition/subtraction without guaranteeing atomicity vs concurrent updates, but while providing relevant fences. This would preserve the intended state achieved with this commit while not interfering with others. I can add the missing amd64 bits if other people cover their architectures, but otherwise I'm not interested in doing anything here. seqc itself, apart from being a minor consumer compared to refcount, was already using the standalone fence even prior to this change thus I don't think there is any rush to do anything with regards to this particular commit. >> >> >> >> >> the not a problem: the code does not issue the release fence after >> >> incrementing the counter the second time, meaning that in principle it >> >> can happen arbitrarily late, possibly disturbing code which waits for >> >> the counter to become even. This is not a problem because in whoever >> >> modifies it is supposed to have a lock and release it shortly after, >> >> which also posts the release fence and consequently makes sure the >> >> counter update is visible. Also note these routines come with >> >> preemption disablement around the modification -- if the thread gets >> >> preempted as a result of critical_exit from seqc_write_end, it will >> >> also publish the updated counter. If the updater never does anything >> >> which flushes the store buffer then in the absolute worst case they >> >> will get preempted, at which point once more we are covered. Note that >> >> code which wants more deterministic behavior will want to >> >> seqc_read_any, test the counter once and if it is caught uneven resort >> >> to locking. >> >> >> >> > @@ -84,7 +85,7 @@ seqc_read(const seqc_t *seqcp) >> >> > seqc_t ret; >> >> > >> >> > for (;;) { >> >> > - ret = atomic_load_acq_int(__DECONST(seqc_t *, seqcp)); >> >> > + ret = seqc_read_any(seqcp); >> >> > if (__predict_false(seqc_in_modify(ret))) { >> >> > cpu_spinwait(); >> >> > continue; >> >> > _______________________________________________ >> >> > svn-src-all@freebsd.org mailing list >> >> > https://lists.freebsd.org/mailman/listinfo/svn-src-all >> >> > To unsubscribe, send any mail to >> >> > "svn-src-all-unsubscribe@freebsd.org" >> >> > >> >> >> >> >> >> -- >> >> Mateusz Guzik >> > >> >> >> -- >> Mateusz Guzik > -- Mateusz Guzik From owner-svn-src-head@freebsd.org Thu Mar 12 03:08:32 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EE4492734E3; Thu, 12 Mar 2020 03:08:32 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dDL72j5wz4GnZ; Thu, 12 Mar 2020 03:08:31 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-io1-f51.google.com with SMTP id h8so4185195iob.2; Wed, 11 Mar 2020 20:08:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1DgiUGuF60hHaXWTUyCcv/gYNCCuq0/5iFOpFX0Lntg=; b=lc0g3EjoDW+WF04S04SEXILYbs8uV0Ijnj72I/uvSVNlUu9r6rX6hF4RzhZ0+y8JOs X1yzNoKwHqxXgr+YDiR+9njlv/Wyy4ZS3C+H/Z5JaPGrDYRPTc/j/d9IkpdYZ1ncb7HZ YvRGhPWnaXu3FD8mecXzPLj93LF4W/QQefqa0iUf4KAigRfTeZloiD+Y3lx4PJxDXHD5 T7Klo6O3SwlwC53b4W0RMS0Cr9QMJ125OFGDOSc1r8RfWLHuYl2Z70+SyKY6epH6D575 vbchQi/zgZeep9UZ7Rpd3izyNlzzNrGo726StsCKcocKN3cCW3+s2rVxtC5OT0RjukR+ bJFQ== X-Gm-Message-State: ANhLgQ0TfEDh/qC7jedaSSUpOXacDx/6rV3FhlNHajgiXTecBHYTNZjF XNYBkNwqjFHmTa7r4SRI9nOL+BOs0wCwZTkcIAYnhA== X-Google-Smtp-Source: ADFU+vs3ZtQOBPxYAtyIgYay4cT+MYjTIiP46BKQfJteq/0Zmi/0PGfP2QneCOWdZnPzMSO9W/uhQQVofwGrU+43b88= X-Received: by 2002:a6b:9386:: with SMTP id v128mr5763866iod.15.1583982509496; Wed, 11 Mar 2020 20:08:29 -0700 (PDT) MIME-Version: 1.0 References: <202003111815.02BIFIux018547@repo.freebsd.org> <75e642f39519e068833227fa6c0b542ed8982cfa.camel@freebsd.org> In-Reply-To: <75e642f39519e068833227fa6c0b542ed8982cfa.camel@freebsd.org> From: Ed Maste Date: Wed, 11 Mar 2020 23:08:16 -0400 Message-ID: Subject: Re: svn commit: r358891 - head/share/man/man5 To: Ian Lepore Cc: Mateusz Piotrowski <0mp@freebsd.org>, src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48dDL72j5wz4GnZ X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of carpeddiem@gmail.com designates 209.85.166.51 as permitted sender) smtp.mailfrom=carpeddiem@gmail.com X-Spamd-Result: default: False [-3.98 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCPT_COUNT_FIVE(0.00)[5]; IP_SCORE(-1.98)[ip: (-5.24), ipnet: 209.85.128.0/17(-2.98), asn: 15169(-1.65), country: US(-0.05)]; TO_DN_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[51.166.85.209.list.dnswl.org : 127.0.5.0]; FORGED_SENDER(0.30)[emaste@freebsd.org,carpeddiem@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[51.166.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[emaste@freebsd.org,carpeddiem@gmail.com]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 03:08:33 -0000 On Wed, 11 Mar 2020 at 16:42, Ian Lepore wrote: > > Well, my point is that it looked better because there were 3 extra > spaces, so you can get that spacing by adding 3 extra chars to the > column headings in the .Bl line. They don't have be "Sy " at the > front, I think just spaces at the end of each heading (inside the > quotes) would do it. Oh, good point - thanks. Intentional extra space to improve the rendered output would be better than an unintended side effect, but anyhow I think it's not worth changing it again. From owner-svn-src-head@freebsd.org Thu Mar 12 03:56:55 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 907FB273F3E; Thu, 12 Mar 2020 03:56:55 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dFPz1QdPz3yvK; Thu, 12 Mar 2020 03:56:55 +0000 (UTC) (envelope-from pfg@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 96F061F4EE; Thu, 12 Mar 2020 03:56:54 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02C3us9J068050; Thu, 12 Mar 2020 03:56:54 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02C3us73068049; Thu, 12 Mar 2020 03:56:54 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <202003120356.02C3us73068049@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Thu, 12 Mar 2020 03:56:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358904 - head/usr.sbin/services_mkdb X-SVN-Group: head X-SVN-Commit-Author: pfg X-SVN-Commit-Paths: head/usr.sbin/services_mkdb X-SVN-Commit-Revision: 358904 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 03:56:55 -0000 Author: pfg Date: Thu Mar 12 03:56:54 2020 New Revision: 358904 URL: https://svnweb.freebsd.org/changeset/base/358904 Log: style(9): Fix space after #define. No functional change. Modified: head/usr.sbin/services_mkdb/services_mkdb.c Modified: head/usr.sbin/services_mkdb/services_mkdb.c ============================================================================== --- head/usr.sbin/services_mkdb/services_mkdb.c Thu Mar 12 03:03:38 2020 (r358903) +++ head/usr.sbin/services_mkdb/services_mkdb.c Thu Mar 12 03:56:54 2020 (r358904) @@ -56,7 +56,7 @@ __FBSDID("$FreeBSD$"); static char tname[MAXPATHLEN]; #define PMASK 0xffff -#define PROTOMAX 6 +#define PROTOMAX 6 static void add(DB *, StringList *, size_t, const char *, size_t *, int); static StringList ***parseservices(const char *, StringList *); From owner-svn-src-head@freebsd.org Thu Mar 12 06:45:11 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F1AD8276749; Thu, 12 Mar 2020 06:45:10 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dK846cq1z3PJ5; Thu, 12 Mar 2020 06:45:08 +0000 (UTC) (envelope-from tsoome@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 A5EEA213AC; Thu, 12 Mar 2020 06:45:08 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02C6j8A4068981; Thu, 12 Mar 2020 06:45:08 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02C6j8Yj068980; Thu, 12 Mar 2020 06:45:08 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202003120645.02C6j8Yj068980@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Thu, 12 Mar 2020 06:45:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358906 - head/stand/i386/libi386 X-SVN-Group: head X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: head/stand/i386/libi386 X-SVN-Commit-Revision: 358906 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 06:45:11 -0000 Author: tsoome Date: Thu Mar 12 06:45:08 2020 New Revision: 358906 URL: https://svnweb.freebsd.org/changeset/base/358906 Log: test if port does exist via using scratch register The SCR, scratch register was not present on the 8250 and 8250B UART, so we can use to test if we actually do have serial port. We need this test because some systems will get long delays while attempting to write to non-existing port and this will slow down the console IO to extreme. MFC after: 1 week Modified: head/stand/i386/libi386/comconsole.c Modified: head/stand/i386/libi386/comconsole.c ============================================================================== --- head/stand/i386/libi386/comconsole.c Thu Mar 12 03:59:51 2020 (r358905) +++ head/stand/i386/libi386/comconsole.c Thu Mar 12 06:45:08 2020 (r358906) @@ -330,6 +330,16 @@ comc_setup(int speed, int port) if ((comconsole.c_flags & (C_ACTIVEIN | C_ACTIVEOUT)) == 0) return; +#define COMC_TEST 0xbb + /* + * Write byte to scratch register and read it out. + */ + outb(comc_port + com_scr, COMC_TEST); + if (inb(comc_port + com_scr) != COMC_TEST) { + comconsole.c_flags &= ~(C_PRESENTIN | C_PRESENTOUT); + return; + } + outb(comc_port + com_cfcr, CFCR_DLAB | COMC_FMT); outb(comc_port + com_dlbl, COMC_BPS(speed) & 0xff); outb(comc_port + com_dlbh, COMC_BPS(speed) >> 8); From owner-svn-src-head@freebsd.org Thu Mar 12 07:48:15 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 68B662774FF; Thu, 12 Mar 2020 07:48:14 +0000 (UTC) (envelope-from alc@rice.edu) Received: from mx0a-0010f301.pphosted.com (mx0a-0010f301.pphosted.com [148.163.149.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.pphosted.com", Issuer "Thawte RSA CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dLXr3HLBz48x2; Thu, 12 Mar 2020 07:48:10 +0000 (UTC) (envelope-from alc@rice.edu) Received: from pps.filterd (m0102857.ppops.net [127.0.0.1]) by mx0b-0010f301.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 02C7kdsT028076; Thu, 12 Mar 2020 02:48:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rice.edu; h=subject : to : cc : references : from : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=ricemail; bh=wrAtbxld4X+vJo8e4JaHu+WXOLqRV4Wdm2+Lf8H2Uxg=; b=Iri7FVmTUYtTCTHmmd5UEoril9G+COOcmxFNTkCzJvYGjuTGbMlMRnHTVDZu9gtrMVau K55GC9BuGC3okLzRhMRT5tgflwr1oyUF37DN0/JCevl0k2fFETRX1egcLz4/1dVYX/u+ 7oAy1DPmlAkSTbstLXaXJtAoMPe6HrcR1sXdJ40xFMf6mUt8a4zn+YhmzWhpAIz4Zwdp NGg2zIJeo4fgN4T63GH5IKYmRqHFeryPtZRv4NRcKrsDYKLBqPX8kYXS8gq7LA6SQwlx ePjgv7BRTxIQ4MeKmvbHCV54nScHilchHvvzzFgsLXV0N15DDPc9mNlJQUgkwqw7wpFw 7g== Received: from mh11.mail.rice.edu (mh11.mail.rice.edu [128.42.199.30]) by mx0b-0010f301.pphosted.com with ESMTP id 2ypk1tj08r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 12 Mar 2020 02:48:08 -0500 Received-X: from mh11.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh11.mail.rice.edu (Postfix) with ESMTP id A13CA4C0664; Thu, 12 Mar 2020 02:48:07 -0500 (CDT) Received-X: from mh11.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh11.mail.rice.edu (Postfix) with ESMTP id 9C90F4C08E9; Thu, 12 Mar 2020 02:48:07 -0500 (CDT) X-Virus-Scanned: by amavis-2.7.0 at mh11.mail.rice.edu, auth channel Received-X: from mh11.mail.rice.edu ([127.0.0.1]) by mh11.mail.rice.edu (mh11.mail.rice.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id ehh8NBp04wms; Thu, 12 Mar 2020 02:48:07 -0500 (CDT) Received: from 108-254-203-201.lightspeed.hstntx.sbcglobal.net (108-254-203-201.lightspeed.hstntx.sbcglobal.net [108.254.203.201]) (using TLSv1.2 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: alc) by mh11.mail.rice.edu (Postfix) with ESMTPSA id 2C86C4C0664; Thu, 12 Mar 2020 02:48:07 -0500 (CDT) Subject: Re: svn commit: r358733 - head/sys/sys To: Mateusz Guzik , Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202003080022.0280MX9j055805@repo.freebsd.org> <20200309213512.GS98340@kib.kiev.ua> <20200310192326.GC1992@kib.kiev.ua> From: Alan Cox Message-ID: <0d1145b3-1c29-aa21-1bd5-1129fdb88144@rice.edu> Date: Thu, 12 Mar 2020 02:48:06 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:68.0) Gecko/20100101 Thunderbird/68.4.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-03-11_15:2020-03-11, 2020-03-11 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 adultscore=0 priorityscore=1501 spamscore=0 malwarescore=0 suspectscore=1 phishscore=0 clxscore=1011 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2001150001 definitions=main-2003120041 X-Rspamd-Queue-Id: 48dLXr3HLBz48x2 X-Spamd-Bar: ------- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=rice.edu header.s=ricemail header.b=Iri7FVmT; dmarc=pass (policy=none) header.from=rice.edu; spf=pass (mx1.freebsd.org: domain of alc@rice.edu designates 148.163.149.254 as permitted sender) smtp.mailfrom=alc@rice.edu X-Spamd-Result: default: False [-7.53 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[rice.edu:s=ricemail]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+a:a32.spf.rice.edu]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; DWL_DNSWL_LOW(-1.00)[rice.edu.dwl.dnswl.org : 127.0.11.1]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[rice.edu:+]; DMARC_POLICY_ALLOW(-0.50)[rice.edu,none]; IP_SCORE(-3.43)[ip: (-9.90), ipnet: 148.163.148.0/22(-4.85), asn: 26211(-2.36), country: US(-0.05)]; FREEMAIL_TO(0.00)[gmail.com]; RCVD_IN_DNSWL_LOW(-0.10)[254.149.163.148.list.dnswl.org : 127.0.3.1]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:26211, ipnet:148.163.148.0/22, country:US]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 07:48:16 -0000 On 3/11/20 9:16 PM, Mateusz Guzik wrote: > On 3/10/20, Konstantin Belousov wrote: >> On Tue, Mar 10, 2020 at 12:22:09AM +0100, Mateusz Guzik wrote: >>> On 3/9/20, Konstantin Belousov wrote: >>>> On Mon, Mar 09, 2020 at 01:56:17AM +0100, Mateusz Guzik wrote: >>>>> On 3/8/20, Mateusz Guzik wrote: >>>>>> Author: mjg >>>>>> Date: Sun Mar 8 00:22:32 2020 >>>>>> New Revision: 358733 >>>>>> URL: https://svnweb.freebsd.org/changeset/base/358733 >>>>>> >>>>>> Log: >>>>>> seqc: tidy up >>>>>> >>>>>> - avoid hand-rolled read >>>>>> - match begin/end in terms of fence style >>>>>> >>>>> There were off lists questions about this so let me clarify. >>>>> >>>>> The first bit is a cosmetic change, but the second one is not. >>>>> >>>>>> Modified: >>>>>> head/sys/sys/seqc.h >>>>>> >>>>>> Modified: head/sys/sys/seqc.h >>>>>> ============================================================================== >>>>>> --- head/sys/sys/seqc.h Sat Mar 7 15:37:23 2020 (r358732) >>>>>> +++ head/sys/sys/seqc.h Sun Mar 8 00:22:32 2020 (r358733) >>>>>> @@ -66,7 +66,8 @@ static __inline void >>>>>> seqc_write_end(seqc_t *seqcp) >>>>>> { >>>>>> >>>>>> - atomic_store_rel_int(seqcp, *seqcp + 1); >>>>>> + atomic_thread_fence_rel(); >>>>>> + *seqcp += 1; >>>>>> MPASS(!seqc_in_modify(*seqcp)); >>>>>> critical_exit(); >>>>>> } >>>>> For correct operation the counter has to be modified *before* any work >>>>> is done and *after* it is completed. >>>>> >>>>> Consider a trivial case: >>>>> seqc++; >>>>> foo[0] = 0; >>>>> foo[1] = 1; >>>>> seqc++; >>>>> >>>>> There are 2 ways in which this can be mucked with: >>>>> - the compiler can be looking at reordering or reworking the increment >>>>> (e.g., to collapse it to just += 2 instead). a compiler barrier >>>>> prevents that. >>>>> - even with generated machine code which increments in correct places >>>>> the cpu can be looking at reordering the operation (which is heavily >>>>> dependent on architecture), in particular it could end up issuing >>>>> seqc++; foo[1] = 1; which would defeat the point. This is where >>>>> release fences come in. >>>>> >>>>> With the patched code there is: >>>>> seqc++; >>>>> atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo >>>>> starts getting modified */ >>>>> foo[0] = 0; >>>>> foo[1] = 1; >>>>> atomic_thread_fence_rel(); /* make sure modifications to foo don't >>>>> leak past this spot */ >>>>> seqc++; >>>>> >>>>> In comparison, the previous code was: >>>>> seqc++; >>>>> atomic_thread_fence_rel(); /* make sure seqc++ is issued before foo >>>>> starts getting modified */ >>>>> foo[0] = 0; >>>>> foo[1] = 1; >>>>> atomic_store_rel_int(seqcp, *seqcp + 1); /* make sure modifications to >>>>> too don't leak past this spot and update seqc immediately */ >>>>> >>>>> There are 2 differences here -- one is an improvement and second one >>>>> does not matter: >>>>> the win is: the previous code forces the compiler to compute an >>>>> incremented value and then store it. On amd64 this translates to the >>>>> following (with rdx holding the address of the counter): >>>>> >>>>> mov (%rdx),%eax /* load the value */ >>>>> add $0x1,%eax /* add 1 */ >>>>> mov %eax,(%rdx) /* store it */ >>>>> >>>>> On patched kernel this is: >>>>> addl $0x1,(%rdx) >>>>> >>>>> which is clearly much nicer. >>>> I am not sure that the new code on amd64 is much nicer. >>>> >>>> But the point was that on non-amd64, i.e. armv8 and potentially on >>>> powerpc 3.0, the patch substitutes release store with full barrier. The >>>> later is (much) slower. >>>> >>> If an arch performs something significantly more expensive here it's >>> probably a performance bug in the port. >> It is a question of how much hardware support for fine-grained fences. >> Relaxed architectures add some optimized operations already, but did not >> (yet) implemented complete C11 optimized set. >> I think they eventually converge. >> >> Until they did not, I think it is more important to not pessimize >> to-be Tier1 arches than to collapse three fast integer instructions >> on amd64 into one rw op. >> >>> But perhaps more importantly >>> there are significantly more frequent users of >>> atomic_thread_fence_rel, like refcount(9). If the issue is real that >>> should be looked at. >> For refcount(9) use of release fence removal, we would need >> atomic_fetchadd_rel_int(). >> > To reiterate, if atomic_thread_fence_rel is indeed very expensive on > certain architectures compared to other _rel variants, the kernel is > already heavily pessimized because of use of said standalone fence in > refcount(9) and few other places and this needs to be fixed. Just to be clear, this is not just a matter of whether our release fences are poorly or inefficiently implemented.  Release fences (as defined by the C/C++ standards that inspire our atomics) have *different* semantics than release stores. Specifically, a release fence places more ordering restrictions on the nearby store accesses than a release store does.  (In fact, "man 9 atomic" describes this.)  Thus, it is almost inevitable that a release fence will have a higher cost than the best possible implementation of a release store. > If the cost can't be reduced (e.g., perhaps this can do a no-op store > + fence somewhere akin to how lock xadd 0,(%esp) trickery used to > work), then the atomic APIs do indeed not to be completed w.r.t. > adding all the missing acq/rel variants (that's at least fetchadd and > swap). > > We can also extend the API to do relevant addition/subtraction without > guaranteeing atomicity vs concurrent updates, but while providing > relevant fences. This would preserve the intended state achieved with > this commit while not interfering with others. > > I can add the missing amd64 bits if other people cover their > architectures, but otherwise I'm not interested in doing anything > here. > > seqc itself, apart from being a minor consumer compared to refcount, > was already using the standalone fence even prior to this change thus > I don't think there is any rush to do anything with regards to this > particular commit. Indeed, it was.  It was using a release fence where it was semantically required to do so for *correctness*.  Specifically, where the extra ordering restrictions of a release fence were needed.  But, it was also using the simpler release store where the extra ordering restrictions were not needed. > >>>>> the not a problem: the code does not issue the release fence after >>>>> incrementing the counter the second time, meaning that in principle it >>>>> can happen arbitrarily late, possibly disturbing code which waits for >>>>> the counter to become even. This is not a problem because in whoever >>>>> modifies it is supposed to have a lock and release it shortly after, >>>>> which also posts the release fence and consequently makes sure the >>>>> counter update is visible. Also note these routines come with >>>>> preemption disablement around the modification -- if the thread gets >>>>> preempted as a result of critical_exit from seqc_write_end, it will >>>>> also publish the updated counter. If the updater never does anything >>>>> which flushes the store buffer then in the absolute worst case they >>>>> will get preempted, at which point once more we are covered. Note that >>>>> code which wants more deterministic behavior will want to >>>>> seqc_read_any, test the counter once and if it is caught uneven resort >>>>> to locking. >>>>> >>>>>> @@ -84,7 +85,7 @@ seqc_read(const seqc_t *seqcp) >>>>>> seqc_t ret; >>>>>> >>>>>> for (;;) { >>>>>> - ret = atomic_load_acq_int(__DECONST(seqc_t *, seqcp)); >>>>>> + ret = seqc_read_any(seqcp); >>>>>> if (__predict_false(seqc_in_modify(ret))) { >>>>>> cpu_spinwait(); >>>>>> continue; >>>>>> _______________________________________________ >>>>>> svn-src-all@freebsd.org mailing list >>>>>> https://lists.freebsd.org/mailman/listinfo/svn-src-all >>>>>> To unsubscribe, send any mail to >>>>>> "svn-src-all-unsubscribe@freebsd.org" >>>>>> >>>>> >>>>> -- >>>>> Mateusz Guzik >>> >>> -- >>> Mateusz Guzik > From owner-svn-src-head@freebsd.org Thu Mar 12 08:08:27 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6D01D2581EC; Thu, 12 Mar 2020 08:08:27 +0000 (UTC) (envelope-from agapon@gmail.com) Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dM094zFLz4P6T; Thu, 12 Mar 2020 08:08:24 +0000 (UTC) (envelope-from agapon@gmail.com) Received: by mail-lf1-f46.google.com with SMTP id l7so3979543lfe.13; Thu, 12 Mar 2020 01:08:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=dLnFQY11C+KFauQ1FpuE2FD1pKv6bV2s7MCjNfDs7Dw=; b=D9GpSOGLJGn093CxLnTaeOdMDjJU1dW/s1Efxr86KOlKztaDUvy5IFKNP6Vl/JEIZ3 wRSLWp93u/HgQma+iyNWosy8K2bLUovVHl6dawUDeYCMUNxmRtv4f3/jvPRis2apBmN6 pKUQVI3M02YW5cuQPhJfbwf/ShfTJGjvSXIWXLtVFIsetQNYvGyvlHP8g4vz7ZLVHwmO 99UQZjIEqynYhaXMoDD6CqD7ofRMdbKiBuwFMAQdNTiofO4+5L1LPGjv2y6Es2vpHcVK nAxyXiLZGv7UeuR233B+AKjtWgpI7pkiRmN+nLAvZhht8L3P12Lf8FE0GdMzA7Si/yJL 7Kxw== X-Gm-Message-State: ANhLgQ2vKWkQI0D9/oDqEZOjZwmWMTfKmGnAUV5clcx68j44KY5nS2Jk jgjWmU1qLk8FkzM+IFbnMcliLKSN X-Google-Smtp-Source: ADFU+vsz6GHihLW+adzoPRMo/zgUxquKsHDPKLbgwoJe0HqiHM69tHe4bQg1NQgrHMo+gUX6WIK0kQ== X-Received: by 2002:a19:4314:: with SMTP id q20mr4671813lfa.202.1584000500648; Thu, 12 Mar 2020 01:08:20 -0700 (PDT) Received: from [192.168.0.88] (east.meadow.volia.net. [93.72.151.96]) by smtp.googlemail.com with ESMTPSA id f26sm27350179lfk.84.2020.03.12.01.08.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 12 Mar 2020 01:08:19 -0700 (PDT) Subject: Re: svn commit: r358733 - head/sys/sys To: src-committers@freebsd.org Cc: svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202003080022.0280MX9j055805@repo.freebsd.org> <20200309213512.GS98340@kib.kiev.ua> <20200310192326.GC1992@kib.kiev.ua> <0d1145b3-1c29-aa21-1bd5-1129fdb88144@rice.edu> From: Andriy Gapon Openpgp: preference=signencrypt Autocrypt: addr=avg@FreeBSD.org; prefer-encrypt=mutual; keydata= mQINBFm4LIgBEADNB/3lT7f15UKeQ52xCFQx/GqHkSxEdVyLFZTmY3KyNPQGBtyvVyBfprJ7 mAeXZWfhat6cKNRAGZcL5EmewdQuUfQfBdYmKjbw3a9GFDsDNuhDA2QwFt8BmkiVMRYyvI7l N0eVzszWCUgdc3qqM6qqcgBaqsVmJluwpvwp4ZBXmch5BgDDDb1MPO8AZ2QZfIQmplkj8Y6Z AiNMknkmgaekIINSJX8IzRzKD5WwMsin70psE8dpL/iBsA2cpJGzWMObVTtCxeDKlBCNqM1i gTXta1ukdUT7JgLEFZk9ceYQQMJJtUwzWu1UHfZn0Fs29HTqawfWPSZVbulbrnu5q55R4PlQ /xURkWQUTyDpqUvb4JK371zhepXiXDwrrpnyyZABm3SFLkk2bHlheeKU6Yql4pcmSVym1AS4 dV8y0oHAfdlSCF6tpOPf2+K9nW1CFA8b/tw4oJBTtfZ1kxXOMdyZU5fiG7xb1qDgpQKgHUX8 7Rd2T1UVLVeuhYlXNw2F+a2ucY+cMoqz3LtpksUiBppJhw099gEXehcN2JbUZ2TueJdt1FdS ztnZmsHUXLxrRBtGwqnFL7GSd6snpGIKuuL305iaOGODbb9c7ne1JqBbkw1wh8ci6vvwGlzx rexzimRaBzJxlkjNfMx8WpCvYebGMydNoeEtkWldtjTNVsUAtQARAQABtB5BbmRyaXkgR2Fw b24gPGF2Z0BGcmVlQlNELm9yZz6JAlQEEwEIAD4WIQS+LEO7ngQnXA4Bjr538m7TUc1yjwUC WbgsiAIbIwUJBaOagAULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRB38m7TUc1yj+JAEACV l9AK/nOWAt/9cufV2fRj0hdOqB1aCshtSrwHk/exXsDa4/FkmegxXQGY+3GWX3deIyesbVRL rYdtdK0dqJyT1SBqXK1h3/at9rxr9GQA6KWOxTjUFURsU7ok/6SIlm8uLRPNKO+yq0GDjgaO LzN+xykuBA0FlhQAXJnpZLcVfPJdWv7sSHGedL5ln8P8rxR+XnmsA5TUaaPcbhTB+mG+iKFj GghASDSfGqLWFPBlX/fpXikBDZ1gvOr8nyMY9nXhgfXpq3B6QCRYKPy58ChrZ5weeJZ29b7/ QdEO8NFNWHjSD9meiLdWQaqo9Y7uUxN3wySc/YUZxtS0bhAd8zJdNPsJYG8sXgKjeBQMVGuT eCAJFEYJqbwWvIXMfVWop4+O4xB+z2YE3jAbG/9tB/GSnQdVSj3G8MS80iLS58frnt+RSEw/ psahrfh0dh6SFHttE049xYiC+cM8J27Aaf0i9RflyITq57NuJm+AHJoU9SQUkIF0nc6lfA+o JRiyRlHZHKoRQkIg4aiKaZSWjQYRl5Txl0IZUP1dSWMX4s3XTMurC/pnja45dge/4ESOtJ9R 8XuIWg45Oq6MeIWdjKddGhRj3OohsltKgkEU3eLKYtB6qRTQypHHUawCXz88uYt5e3w4V16H lCpSTZV/EVHnNe45FVBlvK7k7HFfDDkryLkCDQRZuCyIARAAlq0slcsVboY/+IUJdcbEiJRW be9HKVz4SUchq0z9MZPX/0dcnvz/gkyYA+OuM78dNS7Mbby5dTvOqfpLJfCuhaNYOhlE0wY+ 1T6Tf1f4c/uA3U/YiadukQ3+6TJuYGAdRZD5EqYFIkreARTVWg87N9g0fT9BEqLw9lJtEGDY EWUE7L++B8o4uu3LQFEYxcrb4K/WKmgtmFcm77s0IKDrfcX4doV92QTIpLiRxcOmCC/OCYuO jB1oaaqXQzZrCutXRK0L5XN1Y1PYjIrEzHMIXmCDlLYnpFkK+itlXwlE2ZQxkfMruCWdQXye syl2fynAe8hvp7Mms9qU2r2K9EcJiR5N1t1C2/kTKNUhcRv7Yd/vwusK7BqJbhlng5ZgRx0m WxdntU/JLEntz3QBsBsWM9Y9wf2V4tLv6/DuDBta781RsCB/UrU2zNuOEkSixlUiHxw1dccI 6CVlaWkkJBxmHX22GdDFrcjvwMNIbbyfQLuBq6IOh8nvu9vuItup7qemDG3Ms6TVwA7BD3j+ 3fGprtyW8Fd/RR2bW2+LWkMrqHffAr6Y6V3h5kd2G9Q8ZWpEJk+LG6Mk3fhZhmCnHhDu6CwN MeUvxXDVO+fqc3JjFm5OxhmfVeJKrbCEUJyM8ESWLoNHLqjywdZga4Q7P12g8DUQ1mRxYg/L HgZY3zfKOqcAEQEAAYkCPAQYAQgAJhYhBL4sQ7ueBCdcDgGOvnfybtNRzXKPBQJZuCyIAhsM BQkFo5qAAAoJEHfybtNRzXKPBVwQAKfFy9P7N3OsLDMB56A4Kf+ZT+d5cIx0Yiaf4n6w7m3i ImHHHk9FIetI4Xe54a2IXh4Bq5UkAGY0667eIs+Z1Ea6I2i27Sdo7DxGwq09Qnm/Y65ADvXs 3aBvokCcm7FsM1wky395m8xUos1681oV5oxgqeRI8/76qy0hD9WR65UW+HQgZRIcIjSel9vR XDaD2HLGPTTGr7u4v00UeTMs6qvPsa2PJagogrKY8RXdFtXvweQFz78NbXhluwix2Tb9ETPk LIpDrtzV73CaE2aqBG/KrboXT2C67BgFtnk7T7Y7iKq4/XvEdDWscz2wws91BOXuMMd4c/c4 OmGW9m3RBLufFrOag1q5yUS9QbFfyqL6dftJP3Zq/xe+mr7sbWbhPVCQFrH3r26mpmy841ym dwQnNcsbIGiBASBSKksOvIDYKa2Wy8htPmWFTEOPRpFXdGQ27awcjjnB42nngyCK5ukZDHi6 w0qK5DNQQCkiweevCIC6wc3p67jl1EMFY5+z+zdTPb3h7LeVnGqW0qBQl99vVFgzLxchKcl0 R/paSFgwqXCZhAKMuUHncJuynDOP7z5LirUeFI8qsBAJi1rXpQoLJTVcW72swZ42IdPiboqx NbTMiNOiE36GqMcTPfKylCbF45JNX4nF9ElM0E+Y8gi4cizJYBRr2FBJgay0b9Cp Message-ID: <2de9469e-591a-f9ff-b1ed-ffdd39ee4335@FreeBSD.org> Date: Thu, 12 Mar 2020 10:08:18 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Firefox/60.0 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <0d1145b3-1c29-aa21-1bd5-1129fdb88144@rice.edu> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 48dM094zFLz4P6T X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of agapon@gmail.com designates 209.85.167.46 as permitted sender) smtp.mailfrom=agapon@gmail.com X-Spamd-Result: default: False [-3.03 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; DMARC_NA(0.00)[FreeBSD.org]; RCVD_TLS_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[3]; IP_SCORE(-1.03)[ip: (-0.46), ipnet: 209.85.128.0/17(-2.98), asn: 15169(-1.65), country: US(-0.05)]; RCVD_IN_DNSWL_NONE(0.00)[46.167.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; FORGED_SENDER(0.30)[avg@FreeBSD.org,agapon@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[46.167.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[avg@FreeBSD.org,agapon@gmail.com]; RECEIVED_SPAMHAUS_PBL(0.00)[96.151.72.93.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.10] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 08:08:27 -0000 On 12/03/2020 09:48, Alan Cox wrote: > Just to be clear, this is not just a matter of whether our release fences are > poorly or inefficiently implemented.  Release fences (as defined by the C/C++ > standards that inspire our atomics) have *different* semantics than release > stores. Specifically, a release fence places more ordering restrictions on the > nearby store accesses than a release store does.  (In fact, "man 9 atomic" > describes this.)  Thus, it is almost inevitable that a release fence will have a > higher cost than the best possible implementation of a release store. For people like me who are new to these things here is a good explanation (perhaps a bad title, though): https://preshing.com/20131125/acquire-and-release-fences-dont-work-the-way-youd-expect/ -- Andriy Gapon From owner-svn-src-head@freebsd.org Thu Mar 12 11:39:06 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E220C25D95E; Thu, 12 Mar 2020 11:39: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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dRgG03jKz4MFx; Thu, 12 Mar 2020 11:39:05 +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 27A3F249D2; Thu, 12 Mar 2020 11:39:05 +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 02CBd5qo043946; Thu, 12 Mar 2020 11:39:05 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02CBd4jr043945; Thu, 12 Mar 2020 11:39:04 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202003121139.02CBd4jr043945@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 12 Mar 2020 11:39:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358907 - head X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 358907 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 11:39:07 -0000 Author: dim Date: Thu Mar 12 11:39:04 2020 New Revision: 358907 URL: https://svnweb.freebsd.org/changeset/base/358907 Log: Allow -DNO_CLEAN build across r358851. The openmp 10.0.0 import renamed one .c file to .cpp, and this is something our dependency system does not handle correctly. Add another ad-hoc cleanup to get rid of the stale dependency. PR: 244251 MFC after: 6 weeks X-MFC-With: 358851 Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Thu Mar 12 06:45:08 2020 (r358906) +++ head/Makefile.inc1 Thu Mar 12 11:39:04 2020 (r358907) @@ -924,6 +924,15 @@ _sanity_check: .PHONY .MAKE _cleanobj_fast_depend_hack: .PHONY # Syscall stubs rewritten in C and obsolete MD assembly implementations # Date SVN Rev Syscalls/Changes +# 20200310 r358851 rename of openmp's ittnotify_static.c to .cpp +.for f in ittnotify_static + @if [ -e "${OBJTOP}/lib/libomp/.depend.${f}.pico" ] && \ + egrep -qw '${f}\.c' ${OBJTOP}/lib/libomp/.depend.${f}.pico; then \ + echo "Removing stale dependencies for ${f}"; \ + rm -f ${OBJTOP}/lib/libomp/.depend.${f}.* \ + ${LIBCOMPAT:D${LIBCOMPAT_OBJTOP}/lib/libomp/.depend.${f}.*}; \ + fi +.endfor # 20191009 r353340 removal of opensolaris_atomic.S (also r353381) .if ${MACHINE} != i386 .for f in opensolaris_atomic From owner-svn-src-head@freebsd.org Thu Mar 12 12:47:13 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B29F4260538; Thu, 12 Mar 2020 12:47:13 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dT9r6kzWz4GQq; Thu, 12 Mar 2020 12:47:12 +0000 (UTC) (envelope-from luporl@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 DB680256CB; Thu, 12 Mar 2020 12:47:11 +0000 (UTC) (envelope-from luporl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02CClBCi085921; Thu, 12 Mar 2020 12:47:11 GMT (envelope-from luporl@FreeBSD.org) Received: (from luporl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02CClANv085918; Thu, 12 Mar 2020 12:47:10 GMT (envelope-from luporl@FreeBSD.org) Message-Id: <202003121247.02CClANv085918@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: luporl set sender to luporl@FreeBSD.org using -f From: Leandro Lupori Date: Thu, 12 Mar 2020 12:47:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358908 - in head/sys: conf modules powerpc/conf X-SVN-Group: head X-SVN-Commit-Author: luporl X-SVN-Commit-Paths: in head/sys: conf modules powerpc/conf X-SVN-Commit-Revision: 358908 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 12:47:14 -0000 Author: luporl Date: Thu Mar 12 12:47:10 2020 New Revision: 358908 URL: https://svnweb.freebsd.org/changeset/base/358908 Log: Enable ixl device on PowerPC64 The ixl driver now works on PowerPC64 and may be compiled in-kernel and as a module. Reviewed by: alfredo, erj Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D23974 Modified: head/sys/conf/files.powerpc head/sys/conf/options.powerpc head/sys/modules/Makefile head/sys/powerpc/conf/GENERIC64 Modified: head/sys/conf/files.powerpc ============================================================================== --- head/sys/conf/files.powerpc Thu Mar 12 11:39:04 2020 (r358907) +++ head/sys/conf/files.powerpc Thu Mar 12 12:47:10 2020 (r358908) @@ -38,6 +38,43 @@ dev/iicbus/max6690.c optional max6690 powermac dev/iicbus/ofw_iicbus.c optional iicbus aim dev/ipmi/ipmi.c optional ipmi dev/ipmi/ipmi_opal.c optional powernv ipmi +dev/ixl/if_ixl.c optional ixl pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/ixl_pf_main.c optional ixl pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/ixl_pf_qmgr.c optional ixl pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/ixl_pf_iov.c optional ixl pci pci_iov powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/ixl_pf_i2c.c optional ixl pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/if_iavf.c optional iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/iavf_vc.c optional iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/ixl_txrx.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_osdep.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_lan_hmc.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_hmc.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_common.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_nvm.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_adminq.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_dcb.c optional ixl pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" # Most ofw stuff below is brought in by conf/files for options FDT, but # we always want it, even on non-FDT platforms. dev/fdt/simplebus.c standard Modified: head/sys/conf/options.powerpc ============================================================================== --- head/sys/conf/options.powerpc Thu Mar 12 11:39:04 2020 (r358907) +++ head/sys/conf/options.powerpc Thu Mar 12 12:47:10 2020 (r358908) @@ -37,3 +37,5 @@ OFWCONS_POLL_HZ opt_ofw.h # AGP debugging support AGP_DEBUG opt_agp.h +# iWARP client interface support in ixl +IXL_IW opt_ixl.h Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Thu Mar 12 11:39:04 2020 (r358907) +++ head/sys/modules/Makefile Thu Mar 12 12:47:10 2020 (r358908) @@ -766,6 +766,7 @@ _virtio= virtio .if ${MACHINE_ARCH} == "powerpc64" _ipmi= ipmi +_ixl= ixl _nvram= opal_nvram .endif .if ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "powerpc" Modified: head/sys/powerpc/conf/GENERIC64 ============================================================================== --- head/sys/powerpc/conf/GENERIC64 Thu Mar 12 11:39:04 2020 (r358907) +++ head/sys/powerpc/conf/GENERIC64 Thu Mar 12 12:47:10 2020 (r358908) @@ -168,6 +168,7 @@ device iflib # Ethernet hardware device em # Intel PRO/1000 Gigabit Ethernet Family device ix # Intel PRO/10GbE PCIE PF Ethernet Family +device ixl # Intel 700 Series Physical Function device ixv # Intel PRO/10GbE PCIE VF Ethernet Family device glc # Sony Playstation 3 Ethernet device llan # IBM pSeries Virtual Ethernet From owner-svn-src-head@freebsd.org Thu Mar 12 13:42:09 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2D3362615E8; Thu, 12 Mar 2020 13:42:09 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dVPD72YGz4B28; Thu, 12 Mar 2020 13:42:08 +0000 (UTC) (envelope-from emaste@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 878D226077; Thu, 12 Mar 2020 13:42:08 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02CDg8YD021514; Thu, 12 Mar 2020 13:42:08 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02CDg88d021513; Thu, 12 Mar 2020 13:42:08 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003121342.02CDg88d021513@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 12 Mar 2020 13:42:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358909 - head X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 358909 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 13:42:09 -0000 Author: emaste Date: Thu Mar 12 13:42:08 2020 New Revision: 358909 URL: https://svnweb.freebsd.org/changeset/base/358909 Log: Extend r358907 to explicitly remove stale lib32 dependency After r325072 stale lib32 dependencies were not remooved. A more holistic approach is needed to address this but for the immediate issue (-DNO_CLEAN builds across r358851) just readd the explicit lib32 path. Reported by: dim Sponsored by: The FreeBSD Foundation Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Thu Mar 12 12:47:10 2020 (r358908) +++ head/Makefile.inc1 Thu Mar 12 13:42:08 2020 (r358909) @@ -930,6 +930,7 @@ _cleanobj_fast_depend_hack: .PHONY egrep -qw '${f}\.c' ${OBJTOP}/lib/libomp/.depend.${f}.pico; then \ echo "Removing stale dependencies for ${f}"; \ rm -f ${OBJTOP}/lib/libomp/.depend.${f}.* \ + ${OBJTOP}/obj-lib32/lib/libomp/.depend.${f}.* \ ${LIBCOMPAT:D${LIBCOMPAT_OBJTOP}/lib/libomp/.depend.${f}.*}; \ fi .endfor From owner-svn-src-head@freebsd.org Thu Mar 12 14:01:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 02A1C261B44; Thu, 12 Mar 2020 14:01:19 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dVqL2k2lz3G6v; Thu, 12 Mar 2020 14:01:18 +0000 (UTC) (envelope-from emaste@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 5895E264E0; Thu, 12 Mar 2020 14:01:18 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02CE1I2O032051; Thu, 12 Mar 2020 14:01:18 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02CE1IHa032050; Thu, 12 Mar 2020 14:01:18 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003121401.02CE1IHa032050@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 12 Mar 2020 14:01:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358910 - head X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 358910 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 14:01:19 -0000 Author: emaste Date: Thu Mar 12 14:01:17 2020 New Revision: 358910 URL: https://svnweb.freebsd.org/changeset/base/358910 Log: Makefile.inc1: move dependency hack comment to the block it applies to Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Thu Mar 12 13:42:08 2020 (r358909) +++ head/Makefile.inc1 Thu Mar 12 14:01:17 2020 (r358910) @@ -922,7 +922,6 @@ _sanity_check: .PHONY .MAKE # tree changes, particularly with respect to removing source files and # replacing generated files. Handle these cases here in an ad-hoc fashion. _cleanobj_fast_depend_hack: .PHONY -# Syscall stubs rewritten in C and obsolete MD assembly implementations # Date SVN Rev Syscalls/Changes # 20200310 r358851 rename of openmp's ittnotify_static.c to .cpp .for f in ittnotify_static @@ -934,6 +933,7 @@ _cleanobj_fast_depend_hack: .PHONY ${LIBCOMPAT:D${LIBCOMPAT_OBJTOP}/lib/libomp/.depend.${f}.*}; \ fi .endfor +# Syscall stubs rewritten in C and obsolete MD assembly implementations # 20191009 r353340 removal of opensolaris_atomic.S (also r353381) .if ${MACHINE} != i386 .for f in opensolaris_atomic From owner-svn-src-head@freebsd.org Thu Mar 12 15:37:43 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6E784263B8B; Thu, 12 Mar 2020 15:37:43 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dXyb1z5Qz4GCN; Thu, 12 Mar 2020 15:37:43 +0000 (UTC) (envelope-from tuexen@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 045E52760B; Thu, 12 Mar 2020 15:37:43 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02CFbgbM088280; Thu, 12 Mar 2020 15:37:42 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02CFbgtd088276; Thu, 12 Mar 2020 15:37:42 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202003121537.02CFbgtd088276@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 12 Mar 2020 15:37:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358911 - in head/sys/netinet: . tcp_stacks X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: in head/sys/netinet: . tcp_stacks X-SVN-Commit-Revision: 358911 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 15:37:43 -0000 Author: tuexen Date: Thu Mar 12 15:37:41 2020 New Revision: 358911 URL: https://svnweb.freebsd.org/changeset/base/358911 Log: Use KMOD_TCPSTAT_INC instead of TCPSTAT_INC for RACK and BBR, since these are kernel modules. Also add a KMOD_TCPSTAT_ADD and use that instead of TCPSTAT_ADD. Reviewed by: jtl@, rrs@ MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D23904 Modified: head/sys/netinet/tcp_input.c head/sys/netinet/tcp_stacks/bbr.c head/sys/netinet/tcp_stacks/rack.c head/sys/netinet/tcp_stacks/rack_bbr_common.c head/sys/netinet/tcp_var.h Modified: head/sys/netinet/tcp_input.c ============================================================================== --- head/sys/netinet/tcp_input.c Thu Mar 12 14:01:17 2020 (r358910) +++ head/sys/netinet/tcp_input.c Thu Mar 12 15:37:41 2020 (r358911) @@ -266,14 +266,14 @@ VNET_SYSUNINIT(tcp_vnet_uninit, SI_SUB_PROTO_IFATTACHD #endif /* VIMAGE */ /* - * Kernel module interface for updating tcpstat. The argument is an index + * Kernel module interface for updating tcpstat. The first argument is an index * into tcpstat treated as an array. */ void -kmod_tcpstat_inc(int statnum) +kmod_tcpstat_add(int statnum, int val) { - counter_u64_add(VNET(tcpstat)[statnum], 1); + counter_u64_add(VNET(tcpstat)[statnum], val); } #ifdef TCP_HHOOK Modified: head/sys/netinet/tcp_stacks/bbr.c ============================================================================== --- head/sys/netinet/tcp_stacks/bbr.c Thu Mar 12 14:01:17 2020 (r358910) +++ head/sys/netinet/tcp_stacks/bbr.c Thu Mar 12 15:37:41 2020 (r358911) @@ -1866,7 +1866,7 @@ bbr_progress_timeout_check(struct tcp_bbr *bbr) bbr_log_progress_event(bbr, bbr->rc_tp, ticks, PROGRESS_DROP, __LINE__); BBR_STAT_INC(bbr_progress_drops); #ifdef NETFLIX_STATS - TCPSTAT_INC(tcps_progdrops); + KMOD_TCPSTAT_INC(tcps_progdrops); #endif return (1); } @@ -4067,7 +4067,7 @@ bbr_cong_signal(struct tcpcb *tp, struct tcphdr *th, u } break; case CC_RTO_ERR: - TCPSTAT_INC(tcps_sndrexmitbad); + KMOD_TCPSTAT_INC(tcps_sndrexmitbad); /* RTO was unnecessary, so reset everything. */ bbr_reset_lt_bw_sampling(bbr, bbr->r_ctl.rc_rcvtime); if (bbr->rc_bbr_state != BBR_STATE_PROBE_RTT) { @@ -4808,7 +4808,7 @@ bbr_timeout_delack(struct tcpcb *tp, struct tcp_bbr *b bbr_log_to_event(bbr, cts, BBR_TO_FRM_DELACK); tp->t_flags &= ~TF_DELACK; tp->t_flags |= TF_ACKNOW; - TCPSTAT_INC(tcps_delack); + KMOD_TCPSTAT_INC(tcps_delack); bbr->r_ctl.rc_hpts_flags &= ~PACE_TMR_DELACK; return (0); } @@ -4840,7 +4840,7 @@ bbr_timeout_persist(struct tcpcb *tp, struct tcp_bbr * */ bbr_log_to_event(bbr, cts, BBR_TO_FRM_PERSIST); bbr->r_ctl.rc_hpts_flags &= ~PACE_TMR_PERSIT; - TCPSTAT_INC(tcps_persisttimeo); + KMOD_TCPSTAT_INC(tcps_persisttimeo); /* * Have we exceeded the user specified progress time? */ @@ -4857,7 +4857,7 @@ bbr_timeout_persist(struct tcpcb *tp, struct tcp_bbr * if (tp->t_rxtshift == TCP_MAXRXTSHIFT && (ticks - tp->t_rcvtime >= tcp_maxpersistidle || ticks - tp->t_rcvtime >= TCP_REXMTVAL(tp) * tcp_totbackoff)) { - TCPSTAT_INC(tcps_persistdrop); + KMOD_TCPSTAT_INC(tcps_persistdrop); tcp_set_inp_to_drop(bbr->rc_inp, ETIMEDOUT); goto out; } @@ -4873,7 +4873,7 @@ bbr_timeout_persist(struct tcpcb *tp, struct tcp_bbr * */ if (tp->t_state > TCPS_CLOSE_WAIT && (ticks - tp->t_rcvtime) >= TCPTV_PERSMAX) { - TCPSTAT_INC(tcps_persistdrop); + KMOD_TCPSTAT_INC(tcps_persistdrop); tcp_set_inp_to_drop(bbr->rc_inp, ETIMEDOUT); goto out; } @@ -4916,7 +4916,7 @@ bbr_timeout_keepalive(struct tcpcb *tp, struct tcp_bbr * Keep-alive timer went off; send something or drop connection if * idle for too long. */ - TCPSTAT_INC(tcps_keeptimeo); + KMOD_TCPSTAT_INC(tcps_keeptimeo); if (tp->t_state < TCPS_ESTABLISHED) goto dropit; if ((V_tcp_always_keepalive || inp->inp_socket->so_options & SO_KEEPALIVE) && @@ -4933,7 +4933,7 @@ bbr_timeout_keepalive(struct tcpcb *tp, struct tcp_bbr * protocol spec, this requires the correspondent TCP to * respond. */ - TCPSTAT_INC(tcps_keepprobe); + KMOD_TCPSTAT_INC(tcps_keepprobe); t_template = tcpip_maketemplate(inp); if (t_template) { tcp_respond(tp, t_template->tt_ipgen, @@ -4945,7 +4945,7 @@ bbr_timeout_keepalive(struct tcpcb *tp, struct tcp_bbr bbr_start_hpts_timer(bbr, tp, cts, 4, 0, 0); return (1); dropit: - TCPSTAT_INC(tcps_keepdrops); + KMOD_TCPSTAT_INC(tcps_keepdrops); tcp_set_inp_to_drop(bbr->rc_inp, ETIMEDOUT); return (1); } @@ -5074,7 +5074,7 @@ bbr_timeout_rxt(struct tcpcb *tp, struct tcp_bbr *bbr, } if (tp->t_rxtshift > TCP_MAXRXTSHIFT) { tp->t_rxtshift = TCP_MAXRXTSHIFT; - TCPSTAT_INC(tcps_timeoutdrop); + KMOD_TCPSTAT_INC(tcps_timeoutdrop); retval = 1; tcp_set_inp_to_drop(bbr->rc_inp, (tp->t_softerror ? (uint16_t) tp->t_softerror : ETIMEDOUT)); @@ -5111,7 +5111,7 @@ bbr_timeout_rxt(struct tcpcb *tp, struct tcp_bbr *bbr, tp->snd_cwnd = tp->t_maxseg - bbr->rc_last_options; tp->t_flags &= ~TF_PREVVALID; } - TCPSTAT_INC(tcps_rexmttimeo); + KMOD_TCPSTAT_INC(tcps_rexmttimeo); if ((tp->t_state == TCPS_SYN_SENT) || (tp->t_state == TCPS_SYN_RECEIVED)) rexmt = USEC_2_TICKS(BBR_INITIAL_RTO) * tcp_backoff[tp->t_rxtshift]; @@ -5168,7 +5168,7 @@ bbr_timeout_rxt(struct tcpcb *tp, struct tcp_bbr *bbr, tp->t_maxseg > V_tcp_v6pmtud_blackhole_mss) { /* Use the sysctl tuneable blackhole MSS. */ tp->t_maxseg = V_tcp_v6pmtud_blackhole_mss; - TCPSTAT_INC(tcps_pmtud_blackhole_activated); + KMOD_TCPSTAT_INC(tcps_pmtud_blackhole_activated); } else if (isipv6) { /* Use the default MSS. */ tp->t_maxseg = V_tcp_v6mssdflt; @@ -5177,7 +5177,7 @@ bbr_timeout_rxt(struct tcpcb *tp, struct tcp_bbr *bbr, * to minmss. */ tp->t_flags2 &= ~TF2_PLPMTU_PMTUD; - TCPSTAT_INC(tcps_pmtud_blackhole_activated_min_mss); + KMOD_TCPSTAT_INC(tcps_pmtud_blackhole_activated_min_mss); } #endif #if defined(INET6) && defined(INET) @@ -5187,7 +5187,7 @@ bbr_timeout_rxt(struct tcpcb *tp, struct tcp_bbr *bbr, if (tp->t_maxseg > V_tcp_pmtud_blackhole_mss) { /* Use the sysctl tuneable blackhole MSS. */ tp->t_maxseg = V_tcp_pmtud_blackhole_mss; - TCPSTAT_INC(tcps_pmtud_blackhole_activated); + KMOD_TCPSTAT_INC(tcps_pmtud_blackhole_activated); } else { /* Use the default MSS. */ tp->t_maxseg = V_tcp_mssdflt; @@ -5196,7 +5196,7 @@ bbr_timeout_rxt(struct tcpcb *tp, struct tcp_bbr *bbr, * to minmss. */ tp->t_flags2 &= ~TF2_PLPMTU_PMTUD; - TCPSTAT_INC(tcps_pmtud_blackhole_activated_min_mss); + KMOD_TCPSTAT_INC(tcps_pmtud_blackhole_activated_min_mss); } #endif } else { @@ -5213,7 +5213,7 @@ bbr_timeout_rxt(struct tcpcb *tp, struct tcp_bbr *bbr, tp->t_flags2 |= TF2_PLPMTU_PMTUD; tp->t_flags2 &= ~TF2_PLPMTU_BLACKHOLE; tp->t_maxseg = tp->t_pmtud_saved_maxseg; - TCPSTAT_INC(tcps_pmtud_blackhole_failed); + KMOD_TCPSTAT_INC(tcps_pmtud_blackhole_failed); } } } @@ -6508,7 +6508,7 @@ tcp_bbr_xmit_timer_commit(struct tcp_bbr *bbr, struct tp->t_rttvar = rtt_ticks << (TCP_RTTVAR_SHIFT - 1); tp->t_rttbest = tp->t_srtt + tp->t_rttvar; } - TCPSTAT_INC(tcps_rttupdated); + KMOD_TCPSTAT_INC(tcps_rttupdated); tp->t_rttupdated++; #ifdef STATS stats_voi_update_abs_u32(tp->t_stats, VOI_TCP_RTT, imax(0, rtt_ticks)); @@ -7973,8 +7973,8 @@ bbr_process_ack(struct mbuf *m, struct tcphdr *th, str INP_WLOCK_ASSERT(tp->t_inpcb); acked = BYTES_THIS_ACK(tp, th); - TCPSTAT_ADD(tcps_rcvackpack, (int)nsegs); - TCPSTAT_ADD(tcps_rcvackbyte, acked); + KMOD_TCPSTAT_ADD(tcps_rcvackpack, (int)nsegs); + KMOD_TCPSTAT_ADD(tcps_rcvackbyte, acked); /* * If we just performed our first retransmit, and the ACK arrives @@ -8336,7 +8336,7 @@ bbr_process_data(struct mbuf *m, struct tcphdr *th, st /* keep track of pure window updates */ if (tlen == 0 && tp->snd_wl2 == th->th_ack && tiwin > tp->snd_wnd) - TCPSTAT_INC(tcps_rcvwinupd); + KMOD_TCPSTAT_INC(tcps_rcvwinupd); tp->snd_wnd = tiwin; tp->snd_wl1 = th->th_seq; tp->snd_wl2 = th->th_ack; @@ -8502,8 +8502,8 @@ dodata: /* XXX */ } tp->rcv_nxt += tlen; thflags = th->th_flags & TH_FIN; - TCPSTAT_ADD(tcps_rcvpack, (int)nsegs); - TCPSTAT_ADD(tcps_rcvbyte, tlen); + KMOD_TCPSTAT_ADD(tcps_rcvpack, (int)nsegs); + KMOD_TCPSTAT_ADD(tcps_rcvbyte, tlen); SOCKBUF_LOCK(&so->so_rcv); if (so->so_rcv.sb_state & SBS_CANTRCVMORE) m_freem(m); @@ -8715,7 +8715,7 @@ bbr_do_fastnewdata(struct mbuf *m, struct tcphdr *th, /* Clean receiver SACK report if present */ if (tp->rcv_numsacks) tcp_clean_sackreport(tp); - TCPSTAT_INC(tcps_preddat); + KMOD_TCPSTAT_INC(tcps_preddat); tp->rcv_nxt += tlen; /* * Pull snd_wl1 up to prevent seq wrap relative to th_seq. @@ -8725,8 +8725,8 @@ bbr_do_fastnewdata(struct mbuf *m, struct tcphdr *th, * Pull rcv_up up to prevent seq wrap relative to rcv_nxt. */ tp->rcv_up = tp->rcv_nxt; - TCPSTAT_ADD(tcps_rcvpack, (int)nsegs); - TCPSTAT_ADD(tcps_rcvbyte, tlen); + KMOD_TCPSTAT_ADD(tcps_rcvpack, (int)nsegs); + KMOD_TCPSTAT_ADD(tcps_rcvbyte, tlen); #ifdef TCPDEBUG if (so->so_options & SO_DEBUG) tcp_trace(TA_INPUT, ostate, tp, @@ -8886,7 +8886,7 @@ bbr_fastack(struct mbuf *m, struct tcphdr *th, struct /* * This is a pure ack for outstanding data. */ - TCPSTAT_INC(tcps_predack); + KMOD_TCPSTAT_INC(tcps_predack); /* * "bad retransmit" recovery. @@ -8911,8 +8911,8 @@ bbr_fastack(struct mbuf *m, struct tcphdr *th, struct hhook_run_tcp_est_in(tp, th, to); #endif - TCPSTAT_ADD(tcps_rcvackpack, (int)nsegs); - TCPSTAT_ADD(tcps_rcvackbyte, acked); + KMOD_TCPSTAT_ADD(tcps_rcvackpack, (int)nsegs); + KMOD_TCPSTAT_ADD(tcps_rcvackbyte, acked); sbdrop(&so->so_snd, acked); if (SEQ_GT(th->th_ack, tp->snd_una)) @@ -9026,7 +9026,7 @@ bbr_do_syn_sent(struct mbuf *m, struct tcphdr *th, str if (thflags & TH_ACK) { int tfo_partial = 0; - TCPSTAT_INC(tcps_connects); + KMOD_TCPSTAT_INC(tcps_connects); soisconnected(so); #ifdef MAC mac_socketpeer_set_from_mbuf(m, so); @@ -9119,8 +9119,8 @@ bbr_do_syn_sent(struct mbuf *m, struct tcphdr *th, str m_adj(m, -todrop); tlen = tp->rcv_wnd; thflags &= ~TH_FIN; - TCPSTAT_INC(tcps_rcvpackafterwin); - TCPSTAT_ADD(tcps_rcvbyteafterwin, todrop); + KMOD_TCPSTAT_INC(tcps_rcvpackafterwin); + KMOD_TCPSTAT_ADD(tcps_rcvbyteafterwin, todrop); } tp->snd_wl1 = th->th_seq - 1; tp->rcv_up = th->th_seq; @@ -9287,7 +9287,7 @@ bbr_do_syn_recv(struct mbuf *m, struct tcphdr *th, str return (bbr_process_data(m, th, so, tp, drop_hdrlen, tlen, tiwin, thflags, nxt_pkt)); } - TCPSTAT_INC(tcps_connects); + KMOD_TCPSTAT_INC(tcps_connects); soisconnected(so); /* Do window scaling? */ if ((tp->t_flags & (TF_RCVD_SCALE | TF_REQ_SCALE)) == @@ -9624,7 +9624,7 @@ bbr_check_data_after_close(struct mbuf *m, struct tcp_ if (bbr->rc_allow_data_af_clo == 0) { close_now: tp = tcp_close(tp); - TCPSTAT_INC(tcps_rcvafterclose); + KMOD_TCPSTAT_INC(tcps_rcvafterclose); ctf_do_dropwithreset(m, tp, th, BANDLIM_UNLIMITED, (*tlen)); return (1); } @@ -11948,8 +11948,8 @@ static inline void bbr_do_error_accounting(struct tcpcb *tp, struct tcp_bbr *bbr, struct bbr_sendmap *rsm, int32_t len, int32_t error) { #ifdef NETFLIX_STATS - TCPSTAT_INC(tcps_sndpack_error); - TCPSTAT_ADD(tcps_sndbyte_error, len); + KMOD_TCPSTAT_INC(tcps_sndpack_error); + KMOD_TCPSTAT_ADD(tcps_sndbyte_error, len); #endif } @@ -11962,7 +11962,7 @@ bbr_do_send_accounting(struct tcpcb *tp, struct tcp_bb } if ((tp->t_flags & TF_FORCEDATA) && len == 1) { /* Window probe */ - TCPSTAT_INC(tcps_sndprobe); + KMOD_TCPSTAT_INC(tcps_sndprobe); #ifdef STATS stats_voi_update_abs_u32(tp->t_stats, VOI_TCP_RETXPB, len); @@ -11976,14 +11976,14 @@ bbr_do_send_accounting(struct tcpcb *tp, struct tcp_bb #ifdef NETFLIX_STATS tp->t_sndtlppack++; tp->t_sndtlpbyte += len; - TCPSTAT_INC(tcps_tlpresends); - TCPSTAT_ADD(tcps_tlpresend_bytes, len); + KMOD_TCPSTAT_INC(tcps_tlpresends); + KMOD_TCPSTAT_ADD(tcps_tlpresend_bytes, len); #endif } else { /* Retransmit */ tp->t_sndrexmitpack++; - TCPSTAT_INC(tcps_sndrexmitpack); - TCPSTAT_ADD(tcps_sndrexmitbyte, len); + KMOD_TCPSTAT_INC(tcps_sndrexmitpack); + KMOD_TCPSTAT_ADD(tcps_sndrexmitbyte, len); #ifdef STATS stats_voi_update_abs_u32(tp->t_stats, VOI_TCP_RETXPB, len); @@ -12015,8 +12015,8 @@ bbr_do_send_accounting(struct tcpcb *tp, struct tcp_bb } else { /* New sends */ - TCPSTAT_INC(tcps_sndpack); - TCPSTAT_ADD(tcps_sndbyte, len); + KMOD_TCPSTAT_INC(tcps_sndpack); + KMOD_TCPSTAT_ADD(tcps_sndbyte, len); /* Place in 17's the total sent */ counter_u64_add(bbr_state_resend[17], len); counter_u64_add(bbr_state_lost[17], len); @@ -12480,8 +12480,8 @@ recheck_resend: sb_offset = rsm->r_start - tp->snd_una; if (len > 0) { sack_rxmit = 1; - TCPSTAT_INC(tcps_sack_rexmits); - TCPSTAT_ADD(tcps_sack_rexmit_bytes, + KMOD_TCPSTAT_INC(tcps_sack_rexmits); + KMOD_TCPSTAT_ADD(tcps_sack_rexmit_bytes, min(len, maxseg)); } else { /* I dont think this can happen */ @@ -13574,13 +13574,13 @@ send: } else { SOCKBUF_UNLOCK(sb); if (tp->t_flags & TF_ACKNOW) - TCPSTAT_INC(tcps_sndacks); + KMOD_TCPSTAT_INC(tcps_sndacks); else if (flags & (TH_SYN | TH_FIN | TH_RST)) - TCPSTAT_INC(tcps_sndctrl); + KMOD_TCPSTAT_INC(tcps_sndctrl); else if (SEQ_GT(tp->snd_up, tp->snd_una)) - TCPSTAT_INC(tcps_sndurg); + KMOD_TCPSTAT_INC(tcps_sndurg); else - TCPSTAT_INC(tcps_sndwinup); + KMOD_TCPSTAT_INC(tcps_sndwinup); m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) { @@ -14290,7 +14290,7 @@ nomore: tp->t_flags |= TF_GPUTINPROG; #endif } - TCPSTAT_INC(tcps_sndtotal); + KMOD_TCPSTAT_INC(tcps_sndtotal); if ((bbr->bbr_hdw_pace_ena) && (bbr->bbr_attempt_hdwr_pace == 0) && (bbr->rc_past_init_win) && Modified: head/sys/netinet/tcp_stacks/rack.c ============================================================================== --- head/sys/netinet/tcp_stacks/rack.c Thu Mar 12 14:01:17 2020 (r358910) +++ head/sys/netinet/tcp_stacks/rack.c Thu Mar 12 15:37:41 2020 (r358911) @@ -1104,7 +1104,7 @@ rack_progress_timeout_check(struct tcpcb *tp) rack = (struct tcp_rack *)tp->t_fb_ptr; counter_u64_add(rack_progress_drops, 1); #ifdef NETFLIX_STATS - TCPSTAT_INC(tcps_progdrops); + KMOD_TCPSTAT_INC(tcps_progdrops); #endif rack_log_progress_event(rack, tp, ticks, PROGRESS_DROP, __LINE__); return (1); @@ -1801,7 +1801,7 @@ rack_cong_signal(struct tcpcb *tp, struct tcphdr *th, break; case CC_ECN: if (!IN_CONGRECOVERY(tp->t_flags)) { - TCPSTAT_INC(tcps_ecn_rcwnd); + KMOD_TCPSTAT_INC(tcps_ecn_rcwnd); tp->snd_recover = tp->snd_max; if (tp->t_flags2 & TF2_ECN_PERMIT) tp->t_flags2 |= TF2_ECN_SND_CWR; @@ -1818,7 +1818,7 @@ rack_cong_signal(struct tcpcb *tp, struct tcphdr *th, tp->t_flags2 |= TF2_ECN_SND_CWR; break; case CC_RTO_ERR: - TCPSTAT_INC(tcps_sndrexmitbad); + KMOD_TCPSTAT_INC(tcps_sndrexmitbad); /* RTO was unnecessary, so reset everything. */ tp->snd_cwnd = tp->snd_cwnd_prev; tp->snd_ssthresh = tp->snd_ssthresh_prev; @@ -1853,9 +1853,9 @@ rack_cc_after_idle(struct tcpcb *tp) INP_WLOCK_ASSERT(tp->t_inpcb); #ifdef NETFLIX_STATS - TCPSTAT_INC(tcps_idle_restarts); + KMOD_TCPSTAT_INC(tcps_idle_restarts); if (tp->t_state == TCPS_ESTABLISHED) - TCPSTAT_INC(tcps_idle_estrestarts); + KMOD_TCPSTAT_INC(tcps_idle_estrestarts); #endif if (CC_ALGO(tp)->after_idle != NULL) CC_ALGO(tp)->after_idle(tp->ccv); @@ -2915,7 +2915,7 @@ rack_timeout_delack(struct tcpcb *tp, struct tcp_rack rack_log_to_event(rack, RACK_TO_FRM_DELACK, 0); tp->t_flags &= ~TF_DELACK; tp->t_flags |= TF_ACKNOW; - TCPSTAT_INC(tcps_delack); + KMOD_TCPSTAT_INC(tcps_delack); rack->r_ctl.rc_hpts_flags &= ~PACE_TMR_DELACK; return (0); } @@ -2951,7 +2951,7 @@ rack_timeout_persist(struct tcpcb *tp, struct tcp_rack * Persistence timer into zero window. Force a byte to be output, if * possible. */ - TCPSTAT_INC(tcps_persisttimeo); + KMOD_TCPSTAT_INC(tcps_persisttimeo); /* * Hack: if the peer is dead/unreachable, we do not time out if the * window is closed. After a full backoff, drop the connection if @@ -2961,7 +2961,7 @@ rack_timeout_persist(struct tcpcb *tp, struct tcp_rack if (tp->t_rxtshift == TCP_MAXRXTSHIFT && (ticks - tp->t_rcvtime >= tcp_maxpersistidle || ticks - tp->t_rcvtime >= TCP_REXMTVAL(tp) * tcp_totbackoff)) { - TCPSTAT_INC(tcps_persistdrop); + KMOD_TCPSTAT_INC(tcps_persistdrop); retval = 1; tcp_set_inp_to_drop(rack->rc_inp, ETIMEDOUT); goto out; @@ -2977,7 +2977,7 @@ rack_timeout_persist(struct tcpcb *tp, struct tcp_rack if (tp->t_state > TCPS_CLOSE_WAIT && (ticks - tp->t_rcvtime) >= TCPTV_PERSMAX) { retval = 1; - TCPSTAT_INC(tcps_persistdrop); + KMOD_TCPSTAT_INC(tcps_persistdrop); tcp_set_inp_to_drop(rack->rc_inp, ETIMEDOUT); goto out; } @@ -3022,7 +3022,7 @@ rack_timeout_keepalive(struct tcpcb *tp, struct tcp_ra * Keep-alive timer went off; send something or drop connection if * idle for too long. */ - TCPSTAT_INC(tcps_keeptimeo); + KMOD_TCPSTAT_INC(tcps_keeptimeo); if (tp->t_state < TCPS_ESTABLISHED) goto dropit; if ((V_tcp_always_keepalive || inp->inp_socket->so_options & SO_KEEPALIVE) && @@ -3039,7 +3039,7 @@ rack_timeout_keepalive(struct tcpcb *tp, struct tcp_ra * protocol spec, this requires the correspondent TCP to * respond. */ - TCPSTAT_INC(tcps_keepprobe); + KMOD_TCPSTAT_INC(tcps_keepprobe); t_template = tcpip_maketemplate(inp); if (t_template) { tcp_respond(tp, t_template->tt_ipgen, @@ -3051,7 +3051,7 @@ rack_timeout_keepalive(struct tcpcb *tp, struct tcp_ra rack_start_hpts_timer(rack, tp, cts, 0, 0, 0); return (1); dropit: - TCPSTAT_INC(tcps_keepdrops); + KMOD_TCPSTAT_INC(tcps_keepdrops); tcp_set_inp_to_drop(rack->rc_inp, ETIMEDOUT); return (1); } @@ -3156,7 +3156,7 @@ rack_timeout_rxt(struct tcpcb *tp, struct tcp_rack *ra } if (tp->t_rxtshift > TCP_MAXRXTSHIFT) { tp->t_rxtshift = TCP_MAXRXTSHIFT; - TCPSTAT_INC(tcps_timeoutdrop); + KMOD_TCPSTAT_INC(tcps_timeoutdrop); retval = 1; tcp_set_inp_to_drop(rack->rc_inp, (tp->t_softerror ? (uint16_t) tp->t_softerror : ETIMEDOUT)); @@ -3193,7 +3193,7 @@ rack_timeout_rxt(struct tcpcb *tp, struct tcp_rack *ra tp->t_flags |= TF_PREVVALID; } else tp->t_flags &= ~TF_PREVVALID; - TCPSTAT_INC(tcps_rexmttimeo); + KMOD_TCPSTAT_INC(tcps_rexmttimeo); if ((tp->t_state == TCPS_SYN_SENT) || (tp->t_state == TCPS_SYN_RECEIVED)) rexmt = MSEC_2_TICKS(RACK_INITIAL_RTO * tcp_backoff[tp->t_rxtshift]); @@ -3248,7 +3248,7 @@ rack_timeout_rxt(struct tcpcb *tp, struct tcp_rack *ra tp->t_maxseg > V_tcp_v6pmtud_blackhole_mss) { /* Use the sysctl tuneable blackhole MSS. */ tp->t_maxseg = V_tcp_v6pmtud_blackhole_mss; - TCPSTAT_INC(tcps_pmtud_blackhole_activated); + KMOD_TCPSTAT_INC(tcps_pmtud_blackhole_activated); } else if (isipv6) { /* Use the default MSS. */ tp->t_maxseg = V_tcp_v6mssdflt; @@ -3257,7 +3257,7 @@ rack_timeout_rxt(struct tcpcb *tp, struct tcp_rack *ra * to minmss. */ tp->t_flags2 &= ~TF2_PLPMTU_PMTUD; - TCPSTAT_INC(tcps_pmtud_blackhole_activated_min_mss); + KMOD_TCPSTAT_INC(tcps_pmtud_blackhole_activated_min_mss); } #endif #if defined(INET6) && defined(INET) @@ -3267,7 +3267,7 @@ rack_timeout_rxt(struct tcpcb *tp, struct tcp_rack *ra if (tp->t_maxseg > V_tcp_pmtud_blackhole_mss) { /* Use the sysctl tuneable blackhole MSS. */ tp->t_maxseg = V_tcp_pmtud_blackhole_mss; - TCPSTAT_INC(tcps_pmtud_blackhole_activated); + KMOD_TCPSTAT_INC(tcps_pmtud_blackhole_activated); } else { /* Use the default MSS. */ tp->t_maxseg = V_tcp_mssdflt; @@ -3276,7 +3276,7 @@ rack_timeout_rxt(struct tcpcb *tp, struct tcp_rack *ra * to minmss. */ tp->t_flags2 &= ~TF2_PLPMTU_PMTUD; - TCPSTAT_INC(tcps_pmtud_blackhole_activated_min_mss); + KMOD_TCPSTAT_INC(tcps_pmtud_blackhole_activated_min_mss); } #endif } else { @@ -3293,7 +3293,7 @@ rack_timeout_rxt(struct tcpcb *tp, struct tcp_rack *ra tp->t_flags2 |= TF2_PLPMTU_PMTUD; tp->t_flags2 &= ~TF2_PLPMTU_BLACKHOLE; tp->t_maxseg = tp->t_pmtud_saved_maxseg; - TCPSTAT_INC(tcps_pmtud_blackhole_failed); + KMOD_TCPSTAT_INC(tcps_pmtud_blackhole_failed); } } } @@ -3898,7 +3898,7 @@ tcp_rack_xmit_timer_commit(struct tcp_rack *rack, stru tp->t_rttvar = rtt << (TCP_RTTVAR_SHIFT - 1); tp->t_rttbest = tp->t_srtt + tp->t_rttvar; } - TCPSTAT_INC(tcps_rttupdated); + KMOD_TCPSTAT_INC(tcps_rttupdated); rack_log_rtt_upd(tp, rack, rtt, o_srtt, o_var); tp->t_rttupdated++; #ifdef STATS @@ -5350,8 +5350,8 @@ rack_process_ack(struct mbuf *m, struct tcphdr *th, st INP_WLOCK_ASSERT(tp->t_inpcb); acked = BYTES_THIS_ACK(tp, th); - TCPSTAT_ADD(tcps_rcvackpack, nsegs); - TCPSTAT_ADD(tcps_rcvackbyte, acked); + KMOD_TCPSTAT_ADD(tcps_rcvackpack, nsegs); + KMOD_TCPSTAT_ADD(tcps_rcvackbyte, acked); /* * If we just performed our first retransmit, and the ACK arrives @@ -5581,7 +5581,7 @@ rack_process_data(struct mbuf *m, struct tcphdr *th, s /* keep track of pure window updates */ if (tlen == 0 && tp->snd_wl2 == th->th_ack && tiwin > tp->snd_wnd) - TCPSTAT_INC(tcps_rcvwinupd); + KMOD_TCPSTAT_INC(tcps_rcvwinupd); tp->snd_wnd = tiwin; tp->snd_wl1 = th->th_seq; tp->snd_wl2 = th->th_ack; @@ -5748,8 +5748,8 @@ dodata: /* XXX */ } tp->rcv_nxt += tlen; thflags = th->th_flags & TH_FIN; - TCPSTAT_ADD(tcps_rcvpack, nsegs); - TCPSTAT_ADD(tcps_rcvbyte, tlen); + KMOD_TCPSTAT_ADD(tcps_rcvpack, nsegs); + KMOD_TCPSTAT_ADD(tcps_rcvbyte, tlen); SOCKBUF_LOCK(&so->so_rcv); if (so->so_rcv.sb_state & SBS_CANTRCVMORE) { m_freem(m); @@ -5963,7 +5963,7 @@ rack_do_fastnewdata(struct mbuf *m, struct tcphdr *th, /* Clean receiver SACK report if present */ if (tp->rcv_numsacks) tcp_clean_sackreport(tp); - TCPSTAT_INC(tcps_preddat); + KMOD_TCPSTAT_INC(tcps_preddat); tp->rcv_nxt += tlen; /* * Pull snd_wl1 up to prevent seq wrap relative to th_seq. @@ -5973,8 +5973,8 @@ rack_do_fastnewdata(struct mbuf *m, struct tcphdr *th, * Pull rcv_up up to prevent seq wrap relative to rcv_nxt. */ tp->rcv_up = tp->rcv_nxt; - TCPSTAT_ADD(tcps_rcvpack, nsegs); - TCPSTAT_ADD(tcps_rcvbyte, tlen); + KMOD_TCPSTAT_ADD(tcps_rcvpack, nsegs); + KMOD_TCPSTAT_ADD(tcps_rcvbyte, tlen); #ifdef TCPDEBUG if (so->so_options & SO_DEBUG) tcp_trace(TA_INPUT, ostate, tp, @@ -6133,7 +6133,7 @@ rack_fastack(struct mbuf *m, struct tcphdr *th, struct /* * This is a pure ack for outstanding data. */ - TCPSTAT_INC(tcps_predack); + KMOD_TCPSTAT_INC(tcps_predack); /* * "bad retransmit" recovery. @@ -6158,8 +6158,8 @@ rack_fastack(struct mbuf *m, struct tcphdr *th, struct hhook_run_tcp_est_in(tp, th, to); #endif - TCPSTAT_ADD(tcps_rcvackpack, nsegs); - TCPSTAT_ADD(tcps_rcvackbyte, acked); + KMOD_TCPSTAT_ADD(tcps_rcvackpack, nsegs); + KMOD_TCPSTAT_ADD(tcps_rcvackbyte, acked); sbdrop(&so->so_snd, acked); /* * Let the congestion control algorithm update congestion control @@ -6264,7 +6264,7 @@ rack_do_syn_sent(struct mbuf *m, struct tcphdr *th, st if (thflags & TH_ACK) { int tfo_partial = 0; - TCPSTAT_INC(tcps_connects); + KMOD_TCPSTAT_INC(tcps_connects); soisconnected(so); #ifdef MAC mac_socketpeer_set_from_mbuf(m, so); @@ -6301,7 +6301,7 @@ rack_do_syn_sent(struct mbuf *m, struct tcphdr *th, st if (((thflags & (TH_CWR | TH_ECE)) == TH_ECE) && (V_tcp_do_ecn == 1)) { tp->t_flags2 |= TF2_ECN_PERMIT; - TCPSTAT_INC(tcps_ecn_shs); + KMOD_TCPSTAT_INC(tcps_ecn_shs); } if (SEQ_GT(th->th_ack, tp->snd_una)) { /* @@ -6356,8 +6356,8 @@ rack_do_syn_sent(struct mbuf *m, struct tcphdr *th, st m_adj(m, -todrop); tlen = tp->rcv_wnd; thflags &= ~TH_FIN; - TCPSTAT_INC(tcps_rcvpackafterwin); - TCPSTAT_ADD(tcps_rcvbyteafterwin, todrop); + KMOD_TCPSTAT_INC(tcps_rcvpackafterwin); + KMOD_TCPSTAT_ADD(tcps_rcvbyteafterwin, todrop); } tp->snd_wl1 = th->th_seq - 1; tp->rcv_up = th->th_seq; @@ -6519,7 +6519,7 @@ rack_do_syn_recv(struct mbuf *m, struct tcphdr *th, st return (rack_process_data(m, th, so, tp, drop_hdrlen, tlen, tiwin, thflags, nxt_pkt)); } - TCPSTAT_INC(tcps_connects); + KMOD_TCPSTAT_INC(tcps_connects); soisconnected(so); /* Do window scaling? */ if ((tp->t_flags & (TF_RCVD_SCALE | TF_REQ_SCALE)) == @@ -6842,7 +6842,7 @@ rack_check_data_after_close(struct mbuf *m, if (rack->rc_allow_data_af_clo == 0) { close_now: tp = tcp_close(tp); - TCPSTAT_INC(tcps_rcvafterclose); + KMOD_TCPSTAT_INC(tcps_rcvafterclose); ctf_do_dropwithreset(m, tp, th, BANDLIM_UNLIMITED, (*tlen)); return (1); } @@ -7711,13 +7711,13 @@ rack_do_segment_nounlock(struct mbuf *m, struct tcphdr switch (iptos & IPTOS_ECN_MASK) { case IPTOS_ECN_CE: tp->t_flags2 |= TF2_ECN_SND_ECE; - TCPSTAT_INC(tcps_ecn_ce); + KMOD_TCPSTAT_INC(tcps_ecn_ce); break; case IPTOS_ECN_ECT0: - TCPSTAT_INC(tcps_ecn_ect0); + KMOD_TCPSTAT_INC(tcps_ecn_ect0); break; case IPTOS_ECN_ECT1: - TCPSTAT_INC(tcps_ecn_ect1); + KMOD_TCPSTAT_INC(tcps_ecn_ect1); break; } @@ -8379,8 +8379,8 @@ again: if (len > 0) { sub_from_prr = 1; sack_rxmit = 1; - TCPSTAT_INC(tcps_sack_rexmits); - TCPSTAT_ADD(tcps_sack_rexmit_bytes, + KMOD_TCPSTAT_INC(tcps_sack_rexmits); + KMOD_TCPSTAT_ADD(tcps_sack_rexmit_bytes, min(len, ctf_fixed_maxseg(tp))); counter_u64_add(rack_rtm_prr_retran, 1); } @@ -9318,7 +9318,7 @@ send: } } if ((tp->t_flags & TF_FORCEDATA) && len == 1) { - TCPSTAT_INC(tcps_sndprobe); + KMOD_TCPSTAT_INC(tcps_sndprobe); #ifdef STATS if (SEQ_LT(tp->snd_nxt, tp->snd_max)) stats_voi_update_abs_u32(tp->t_stats, @@ -9337,16 +9337,16 @@ send: counter_u64_add(rack_tlp_retran_bytes, len); } else { tp->t_sndrexmitpack++; - TCPSTAT_INC(tcps_sndrexmitpack); - TCPSTAT_ADD(tcps_sndrexmitbyte, len); + KMOD_TCPSTAT_INC(tcps_sndrexmitpack); + KMOD_TCPSTAT_ADD(tcps_sndrexmitbyte, len); } #ifdef STATS stats_voi_update_abs_u32(tp->t_stats, VOI_TCP_RETXPB, len); #endif } else { - TCPSTAT_INC(tcps_sndpack); - TCPSTAT_ADD(tcps_sndbyte, len); + KMOD_TCPSTAT_INC(tcps_sndpack); + KMOD_TCPSTAT_ADD(tcps_sndbyte, len); #ifdef STATS stats_voi_update_abs_u64(tp->t_stats, VOI_TCP_TXPB, len); @@ -9381,13 +9381,13 @@ send: } else { SOCKBUF_UNLOCK(sb); if (tp->t_flags & TF_ACKNOW) - TCPSTAT_INC(tcps_sndacks); + KMOD_TCPSTAT_INC(tcps_sndacks); else if (flags & (TH_SYN | TH_FIN | TH_RST)) - TCPSTAT_INC(tcps_sndctrl); + KMOD_TCPSTAT_INC(tcps_sndctrl); else if (SEQ_GT(tp->snd_up, tp->snd_una)) - TCPSTAT_INC(tcps_sndurg); + KMOD_TCPSTAT_INC(tcps_sndurg); else - TCPSTAT_INC(tcps_sndwinup); + KMOD_TCPSTAT_INC(tcps_sndwinup); m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) { @@ -9488,7 +9488,7 @@ send: else #endif ip->ip_tos |= IPTOS_ECN_ECT0; - TCPSTAT_INC(tcps_ecn_ect0); + KMOD_TCPSTAT_INC(tcps_ecn_ect0); } /* * Reply with proper ECN notifications. @@ -9929,7 +9929,7 @@ out: if (tp->t_rtttime == 0) { tp->t_rtttime = ticks; tp->t_rtseq = startseq; - TCPSTAT_INC(tcps_segstimed); + KMOD_TCPSTAT_INC(tcps_segstimed); } #ifdef STATS if (!(tp->t_flags & TF_GPUTINPROG) && len) { @@ -10043,7 +10043,7 @@ nomore: } else { rack->rc_enobuf = 0; } - TCPSTAT_INC(tcps_sndtotal); + KMOD_TCPSTAT_INC(tcps_sndtotal); /* * Data sent (as far as we can tell). If this advertises a larger Modified: head/sys/netinet/tcp_stacks/rack_bbr_common.c ============================================================================== --- head/sys/netinet/tcp_stacks/rack_bbr_common.c Thu Mar 12 14:01:17 2020 (r358910) +++ head/sys/netinet/tcp_stacks/rack_bbr_common.c Thu Mar 12 15:37:41 2020 (r358911) @@ -301,7 +301,7 @@ skip_vnet: if (m->m_len < (sizeof(*ip6) + sizeof(*th))) { m = m_pullup(m, sizeof(*ip6) + sizeof(*th)); if (m == NULL) { - TCPSTAT_INC(tcps_rcvshort); + KMOD_TCPSTAT_INC(tcps_rcvshort); m_freem(m); goto skipped_pkt; } @@ -320,7 +320,7 @@ skip_vnet: } else th->th_sum = in6_cksum(m, IPPROTO_TCP, drop_hdrlen, tlen); if (th->th_sum) { - TCPSTAT_INC(tcps_rcvbadsum); + KMOD_TCPSTAT_INC(tcps_rcvbadsum); m_freem(m); goto skipped_pkt; } @@ -347,7 +347,7 @@ skip_vnet: if (m->m_len < sizeof (struct tcpiphdr)) { if ((m = m_pullup(m, sizeof (struct tcpiphdr))) == NULL) { - TCPSTAT_INC(tcps_rcvshort); + KMOD_TCPSTAT_INC(tcps_rcvshort); m_freem(m); goto skipped_pkt; } @@ -385,7 +385,7 @@ skip_vnet: ip->ip_hl = sizeof(*ip) >> 2; } if (th->th_sum) { - TCPSTAT_INC(tcps_rcvbadsum); + KMOD_TCPSTAT_INC(tcps_rcvbadsum); m_freem(m); goto skipped_pkt; } @@ -400,7 +400,7 @@ skip_vnet: off = th->th_off << 2; if (off < sizeof (struct tcphdr) || off > tlen) { - TCPSTAT_INC(tcps_rcvbadoff); + KMOD_TCPSTAT_INC(tcps_rcvbadoff); m_freem(m); goto skipped_pkt; } @@ -539,11 +539,11 @@ ctf_drop_checks(struct tcpopt *to, struct mbuf *m, str */ tp->t_flags |= TF_ACKNOW; todrop = tlen; - TCPSTAT_INC(tcps_rcvduppack); - TCPSTAT_ADD(tcps_rcvdupbyte, todrop); + KMOD_TCPSTAT_INC(tcps_rcvduppack); + KMOD_TCPSTAT_ADD(tcps_rcvdupbyte, todrop); } else { - TCPSTAT_INC(tcps_rcvpartduppack); - TCPSTAT_ADD(tcps_rcvpartdupbyte, todrop); + KMOD_TCPSTAT_INC(tcps_rcvpartduppack); + KMOD_TCPSTAT_ADD(tcps_rcvpartdupbyte, todrop); } /* * DSACK - add SACK block for dropped range @@ -573,9 +573,9 @@ ctf_drop_checks(struct tcpopt *to, struct mbuf *m, str */ todrop = (th->th_seq + tlen) - (tp->rcv_nxt + tp->rcv_wnd); if (todrop > 0) { - TCPSTAT_INC(tcps_rcvpackafterwin); + KMOD_TCPSTAT_INC(tcps_rcvpackafterwin); if (todrop >= tlen) { - TCPSTAT_ADD(tcps_rcvbyteafterwin, tlen); + KMOD_TCPSTAT_ADD(tcps_rcvbyteafterwin, tlen); /* * If window is closed can only take segments at * window edge, and have to drop data and PUSH from @@ -585,13 +585,13 @@ ctf_drop_checks(struct tcpopt *to, struct mbuf *m, str */ if (tp->rcv_wnd == 0 && th->th_seq == tp->rcv_nxt) { tp->t_flags |= TF_ACKNOW; - TCPSTAT_INC(tcps_rcvwinprobe); + KMOD_TCPSTAT_INC(tcps_rcvwinprobe); } else { ctf_do_dropafterack(m, tp, th, thflags, tlen, ret_val); return (1); } } else - TCPSTAT_ADD(tcps_rcvbyteafterwin, todrop); + KMOD_TCPSTAT_ADD(tcps_rcvbyteafterwin, todrop); m_adj(m, -todrop); tlen -= todrop; thflags &= ~(TH_PUSH | TH_FIN); @@ -677,7 +677,7 @@ ctf_process_rst(struct mbuf *m, struct tcphdr *th, str (tp->last_ack_sent == th->th_seq) || (tp->rcv_nxt == th->th_seq) || ((tp->last_ack_sent - 1) == th->th_seq)) { - TCPSTAT_INC(tcps_drops); + KMOD_TCPSTAT_INC(tcps_drops); /* Drop the connection. */ switch (tp->t_state) { case TCPS_SYN_RECEIVED: @@ -699,7 +699,7 @@ ctf_process_rst(struct mbuf *m, struct tcphdr *th, str dropped = 1; ctf_do_drop(m, tp); } else { - TCPSTAT_INC(tcps_badrst); + KMOD_TCPSTAT_INC(tcps_badrst); /* Send challenge ACK. */ tcp_respond(tp, mtod(m, void *), th, m, tp->rcv_nxt, tp->snd_nxt, TH_ACK); @@ -723,7 +723,7 @@ ctf_challenge_ack(struct mbuf *m, struct tcphdr *th, s NET_EPOCH_ASSERT(); - TCPSTAT_INC(tcps_badsyn); + KMOD_TCPSTAT_INC(tcps_badsyn); if (V_tcp_insecure_syn && SEQ_GEQ(th->th_seq, tp->last_ack_sent) && SEQ_LT(th->th_seq, tp->last_ack_sent + tp->rcv_wnd)) { @@ -766,9 +766,9 @@ ctf_ts_check(struct mbuf *m, struct tcphdr *th, struct */ tp->ts_recent = 0; } else { - TCPSTAT_INC(tcps_rcvduppack); - TCPSTAT_ADD(tcps_rcvdupbyte, tlen); - TCPSTAT_INC(tcps_pawsdrop); + KMOD_TCPSTAT_INC(tcps_rcvduppack); + KMOD_TCPSTAT_ADD(tcps_rcvdupbyte, tlen); + KMOD_TCPSTAT_INC(tcps_pawsdrop); *ret_val = 0; if (tlen) { ctf_do_dropafterack(m, tp, th, thflags, tlen, ret_val); Modified: head/sys/netinet/tcp_var.h ============================================================================== --- head/sys/netinet/tcp_var.h Thu Mar 12 14:01:17 2020 (r358910) +++ head/sys/netinet/tcp_var.h Thu Mar 12 15:37:41 2020 (r358911) @@ -652,9 +652,10 @@ VNET_PCPUSTAT_DECLARE(struct tcpstat, tcpstat); /* tcp /* * Kernel module consumers must use this accessor macro. */ -void kmod_tcpstat_inc(int statnum); -#define KMOD_TCPSTAT_INC(name) \ - kmod_tcpstat_inc(offsetof(struct tcpstat, name) / sizeof(uint64_t)) +void kmod_tcpstat_add(int statnum, int val); +#define KMOD_TCPSTAT_ADD(name, val) \ + kmod_tcpstat_add(offsetof(struct tcpstat, name) / sizeof(uint64_t), val) +#define KMOD_TCPSTAT_INC(name) KMOD_TCPSTAT_ADD(name, 1) /* * Running TCP connection count by state. From owner-svn-src-head@freebsd.org Thu Mar 12 16:06:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4BFE5264DA8; Thu, 12 Mar 2020 16:06:29 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dYbm1TFDz4DTX; Thu, 12 Mar 2020 16:06:28 +0000 (UTC) (envelope-from ngie@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 79B9B27BA0; Thu, 12 Mar 2020 16:06:27 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02CG6RqG006458; Thu, 12 Mar 2020 16:06:27 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02CG6RS7006457; Thu, 12 Mar 2020 16:06:27 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <202003121606.02CG6RS7006457@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Enji Cooper Date: Thu, 12 Mar 2020 16:06:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358912 - head/tools/build/mk X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/tools/build/mk X-SVN-Commit-Revision: 358912 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 16:06:29 -0000 Author: ngie Date: Thu Mar 12 16:06:26 2020 New Revision: 358912 URL: https://svnweb.freebsd.org/changeset/base/358912 Log: Remove /usr/share/snmp/defs/tc.def with delete-old if MK_BSNMP == no This removes a lingering file on new installs of CURRENT, originally added in r345797. MFC after: 1 week MFC with: r345797 Modified: head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Thu Mar 12 15:37:41 2020 (r358911) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Thu Mar 12 16:06:26 2020 (r358912) @@ -972,6 +972,7 @@ OLD_FILES+=usr/share/snmp/defs/mibII_tree.def OLD_FILES+=usr/share/snmp/defs/netgraph_tree.def OLD_FILES+=usr/share/snmp/defs/pf_tree.def OLD_FILES+=usr/share/snmp/defs/target_tree.def +OLD_FILES+=usr/share/snmp/defs/tc.def OLD_FILES+=usr/share/snmp/defs/tree.def OLD_FILES+=usr/share/snmp/defs/usm_tree.def OLD_FILES+=usr/share/snmp/defs/vacm_tree.def From owner-svn-src-head@freebsd.org Thu Mar 12 17:54:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2BA55267112; Thu, 12 Mar 2020 17:54:22 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from cell.glebi.us (glebi.us [162.251.186.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "cell.glebi.us", Issuer "cell.glebi.us" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dc0F2BXwz4GKg; Thu, 12 Mar 2020 17:54:20 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from cell.glebi.us (localhost [127.0.0.1]) by cell.glebi.us (8.15.2/8.15.2) with ESMTPS id 02CHsFrV073231 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Thu, 12 Mar 2020 10:54:15 -0700 (PDT) (envelope-from glebius@freebsd.org) Received: (from glebius@localhost) by cell.glebi.us (8.15.2/8.15.2/Submit) id 02CHsDDB073230; Thu, 12 Mar 2020 10:54:13 -0700 (PDT) (envelope-from glebius@freebsd.org) X-Authentication-Warning: cell.glebi.us: glebius set sender to glebius@freebsd.org using -f Date: Thu, 12 Mar 2020 10:54:13 -0700 From: Gleb Smirnoff To: Dimitry Andric Cc: Slawa Olhovchenkov , svn-src-head , svn-src-all , src-committers@freebsd.org Subject: Re: svn commit: r358655 - head/sbin/mount_nfs Message-ID: <20200312175413.GI55834@FreeBSD.org> References: <202003042227.024MRGsW072613@repo.freebsd.org> <244e28ea-1217-cefc-354e-02ecb201637a@FreeBSD.org> <20200305163350.GU5741@FreeBSD.org> <20200305172454.GJ8028@zxy.spb.ru> <20200305173515.GK8028@zxy.spb.ru> <20200305174411.GV5741@FreeBSD.org> <1A13B93C-7D87-4210-AD3D-2B198C166CE1@FreeBSD.org> <20200305183041.GU8012@zxy.spb.ru> <20200305210114.GX5741@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 48dc0F2BXwz4GKg X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-0.21 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_LONG(-0.91)[-0.914,0]; NEURAL_SPAM_MEDIUM(0.70)[0.703,0]; ASN(0.00)[asn:27348, ipnet:162.251.186.0/24, country:US] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 17:54:22 -0000 On Thu, Mar 05, 2020 at 11:15:04PM +0100, Dimitry Andric wrote: D> > S> > Why don't just declare the buffer as: D> > S> > D> > S> > struct if_msghdr buf; D> > S> > D> > S> > and then do: D> > S> > D> > S> > nread = read(s, &buf, sizeof buf); D> > S> > D> > S> > ? You are never reading more than one if_msghdr anyway, and then there D> > S> > is no need to cast anything. D> > S> D> > S> My inspiration: route socket can return other messages (man 4 route) D> > D> > Yes, exactly. We don't know what size next datagram is going to be. D> D> Oh, in that case this code seems completely wrong. How do you know the D> full datagram will be delivered with one read() call? D> D> If it always is, then there is no need to read more than the size of D> struct if_msghdr, since you are not using any data beyond it. So in D> that case, you can suffice with read(..., sizeof(if_msghdr)). D> D> If the read() call will return partial results, you must repeatedly call D> it in a loop, until you either reach EOF, or have enough data. In that D> case, a buffer with the size of if_msghdr is also enough, since you D> never need to read beyond that. Sorry for delayed answer. The routing socket is a datagram socket, it isn't like TCP, it can't deliver partial datagrams. If we don't supply enough space for datagram that arrived, it won't be delivered. So the right solution is suppling plenty of space, but parse only part we are interested in. -- Gleb Smirnoff From owner-svn-src-head@freebsd.org Thu Mar 12 17:55:56 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DBBED2671C7; Thu, 12 Mar 2020 17:55:56 +0000 (UTC) (envelope-from bdragon@imap.cc) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) (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 48dc243GJpz4Kkp; Thu, 12 Mar 2020 17:55:56 +0000 (UTC) (envelope-from bdragon@imap.cc) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 80C6D2220A; Thu, 12 Mar 2020 13:55:54 -0400 (EDT) Received: from imap1 ([10.202.2.51]) by compute3.internal (MEProxy); Thu, 12 Mar 2020 13:55:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imap.cc; h= mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type; s=fm2; bh=LliayhrfTwiRUaKu2MZysRWPUzsoZNG EJgEGf9oFSWQ=; b=qhrVsLSvujMPpMw/Wf8FVRL5KDhZ3LdWN0mLJJZ5eVCMCS8 RBqb31oKV2a0Np/ISrF4ukKYyC+UFWrK1iFcsoRZKrDvMylxs+KWVgZ/djApHBr2 0WUTRT9cVd+9ZqLCU9YnezaKL+U4ncebSxU2+GL6IV/z8tS4tYBDXjlF6CbYSou+ Pygx7kxAUOe8H8neudYqEeyAqdDeppgS+Y/dvwpuaunX3+OG1HDEE/7t5Yhf20Rx bn/3h4MnmgYqYzOw5yKxeMRADYGoY1bEngr432aRXVmQ3BHxeYEcZak+p607X5LO +FpgYaH4MdWNLDjVTYivAJcFwrFcTsGdyOSOcoQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=Lliayh rfTwiRUaKu2MZysRWPUzsoZNGEJgEGf9oFSWQ=; b=DFGJx+K3JuBXfIgu/osrCk bs1FeO3joLvw3VNvio7z6PqI11B6iWWKi4eOpRgq2b215g8TpO+tTfARLKO1dFPM MmYSHxyRZ1tp2vT67xT5XzNaMfiBJB9JoF58q/bAsmsu7dCdsGpa270/EUNS9KIm AIGvqX0iPx5q4B6PqITDKijSGsiwzxVq/4RIEd3mmgf5S3hrGxSAevkxuPVFZxZq Dx8dcDx/DDXd9IDfQgZy2rYh2Qt0bUFEM7pb65EbbaZFYFB0CUKsc2/UtoLbyF71 GcLmUUm5+brbAjQim9iBcegHY8VEmh/8/KcOk38aCGFv1WpC2e8fhyd0x6IxqKSQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedruddvhedguddtlecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecufghrlhcuvffnffculddutddmnecujfgurhepof gfggfkjghffffhvffutgesthdtredtreertdenucfhrhhomhepfdeurhgrnhguohhnuceu vghrghhrvghnfdcuoegsughrrghgohhnsehimhgrphdrtggtqeenucffohhmrghinhepfh hrvggvsghsugdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgr ihhlfhhrohhmpegsughrrghgohhnsehimhgrphdrtggt X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 2809FC200A5; Thu, 12 Mar 2020 13:55:54 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.1.7-991-g5a577d3-fmstable-20200305v3 Mime-Version: 1.0 Message-Id: In-Reply-To: <202003112334.02BNYiZs010229@repo.freebsd.org> References: <202003112334.02BNYiZs010229@repo.freebsd.org> Date: Thu, 12 Mar 2020 12:55:33 -0500 From: "Brandon Bergren" To: "Brandon Bergren" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r358902 - head/lib/libc/powerpc64/string Content-Type: text/plain X-Rspamd-Queue-Id: 48dc243GJpz4Kkp X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.63 / 15.00]; NEURAL_HAM_MEDIUM(-0.63)[-0.630,0]; NEURAL_HAM_LONG(-1.00)[-0.996,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 17:55:57 -0000 To be clear here, I meant non qword-aligned, as it was the VSX implementation that was actually tripping up here. The problem manifested when the source and destination didn't match on the least significant nybble. Apparently it's also somewhat uncommon for programs to ever do anything with the return value as well. On Wed, Mar 11, 2020, at 6:34 PM, Brandon Bergren wrote: > Author: bdragon > Date: Wed Mar 11 23:34:44 2020 > New Revision: 358902 > URL: https://svnweb.freebsd.org/changeset/base/358902 > > Log: > Fix r358688 -- Remember to actually save r3 before processing. > > Crash was noticed by pkubaj building gcc9. > > Apparently non dword-aligned char pointers are somewhat rare in the wild. > > Reported by: pkubaj > Sponsored by: Tag1 Consulting, Inc. > > Modified: > head/lib/libc/powerpc64/string/memcpy.S > > Modified: head/lib/libc/powerpc64/string/memcpy.S > ============================================================================== > --- head/lib/libc/powerpc64/string/memcpy.S Wed Mar 11 22:25:45 2020 (r358901) > +++ head/lib/libc/powerpc64/string/memcpy.S Wed Mar 11 23:34:44 2020 (r358902) > @@ -58,8 +58,8 @@ ENTRY(FN_NAME) > andi. %r7, %r4, ALIGN_MASK > cmpd %r8, %r7 > mr %r7, %r5 > - bne .Lcopy_remaining_fix_index_byte > mr %r8, %r3 /* save dst */ > + bne .Lcopy_remaining_fix_index_byte > > /* align src */ > .Lalignment_loop: > -- Brandon Bergren bdragon@imap.cc From owner-svn-src-head@freebsd.org Thu Mar 12 18:28:25 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6D8AF267D0E; Thu, 12 Mar 2020 18:28:25 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dclW6rZMz4H2L; Thu, 12 Mar 2020 18:28:23 +0000 (UTC) (envelope-from 0mp@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 C0C6829561; Thu, 12 Mar 2020 18:28:23 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02CISNT1090958; Thu, 12 Mar 2020 18:28:23 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02CISN2o090957; Thu, 12 Mar 2020 18:28:23 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202003121828.02CISN2o090957@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Thu, 12 Mar 2020 18:28:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358916 - head/lib/libc/gen X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/lib/libc/gen X-SVN-Commit-Revision: 358916 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 18:28:25 -0000 Author: 0mp (doc,ports committer) Date: Thu Mar 12 18:28:23 2020 New Revision: 358916 URL: https://svnweb.freebsd.org/changeset/base/358916 Log: ftw.3: Follow style(9) in the example Reported by: oshogbo Approved by: bcr (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24043 Modified: head/lib/libc/gen/ftw.3 Modified: head/lib/libc/gen/ftw.3 ============================================================================== --- head/lib/libc/gen/ftw.3 Thu Mar 12 16:15:03 2020 (r358915) +++ head/lib/libc/gen/ftw.3 Thu Mar 12 18:28:23 2020 (r358916) @@ -20,7 +20,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 5, 2020 +.Dd March 12, 2020 .Dt FTW 3 .Os .Sh NAME @@ -209,6 +209,7 @@ nftw_callback(const char *path, const struct stat *sb, int main(int argc, char **argv) { + if (argc != 2) { printf("Usage %s \\n", argv[0]); return (EX_USAGE); From owner-svn-src-head@freebsd.org Thu Mar 12 19:55:53 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4315A26A05E; Thu, 12 Mar 2020 19:55:53 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dfhS6k2Gz4Tsq; Thu, 12 Mar 2020 19:55:52 +0000 (UTC) (envelope-from oshogbo@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 BCADB2A669; Thu, 12 Mar 2020 19:55:52 +0000 (UTC) (envelope-from oshogbo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02CJtqlZ048332; Thu, 12 Mar 2020 19:55:52 GMT (envelope-from oshogbo@FreeBSD.org) Received: (from oshogbo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02CJtqcw048330; Thu, 12 Mar 2020 19:55:52 GMT (envelope-from oshogbo@FreeBSD.org) Message-Id: <202003121955.02CJtqcw048330@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: oshogbo set sender to oshogbo@FreeBSD.org using -f From: Mariusz Zaborski Date: Thu, 12 Mar 2020 19:55:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358919 - head/usr.bin/logger X-SVN-Group: head X-SVN-Commit-Author: oshogbo X-SVN-Commit-Paths: head/usr.bin/logger X-SVN-Commit-Revision: 358919 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 19:55:53 -0000 Author: oshogbo Date: Thu Mar 12 19:55:51 2020 New Revision: 358919 URL: https://svnweb.freebsd.org/changeset/base/358919 Log: logger: capsicumize Submitted by: Tiger Gao Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23744 Modified: head/usr.bin/logger/Makefile head/usr.bin/logger/logger.c Modified: head/usr.bin/logger/Makefile ============================================================================== --- head/usr.bin/logger/Makefile Thu Mar 12 19:10:53 2020 (r358918) +++ head/usr.bin/logger/Makefile Thu Mar 12 19:55:51 2020 (r358919) @@ -9,4 +9,10 @@ PROG= logger CFLAGS+= -DINET6 .endif +.if ${MK_CASPER} != "no" +LIBADD+= casper +LIBADD+= cap_syslog +CFLAGS+=-DWITH_CASPER +.endif + .include Modified: head/usr.bin/logger/logger.c ============================================================================== --- head/usr.bin/logger/logger.c Thu Mar 12 19:10:53 2020 (r358918) +++ head/usr.bin/logger/logger.c Thu Mar 12 19:55:51 2020 (r358919) @@ -44,10 +44,12 @@ static char sccsid[] = "@(#)logger.c 8.1 (Berkeley) 6/ #include __FBSDID("$FreeBSD$"); +#include #include #include #include +#include #include #include #include @@ -57,6 +59,9 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include + #define SYSLOG_NAMES #include @@ -76,6 +81,7 @@ static void logmessage(int, const char *, const char * struct socks *, ssize_t, const char *); static void usage(void); +static cap_channel_t *capsyslog; #ifdef INET6 static int family = PF_UNSPEC; /* protocol family (IPv4, IPv6 or both) */ #else @@ -92,12 +98,13 @@ static int send_to_all = 0; /* send message to all IPv int main(int argc, char *argv[]) { + cap_channel_t *capcas; struct socks *socks; ssize_t nsock; time_t now; int ch, logflags, pri; char *tag, *host, buf[1024], *timestamp, tbuf[26], - *hostname, hbuf[MAXHOSTNAMELEN]; + *hostname, hbuf[MAXHOSTNAMELEN], *pristr; const char *svcname, *src; tag = NULL; @@ -107,6 +114,7 @@ main(int argc, char *argv[]) src = NULL; socks = NULL; pri = LOG_USER | LOG_NOTICE; + pristr = NULL; logflags = 0; unsetenv("TZ"); while ((ch = getopt(argc, argv, "46Af:H:h:iP:p:S:st:")) != -1) @@ -140,7 +148,7 @@ main(int argc, char *argv[]) svcname = optarg; break; case 'p': /* priority */ - pri = pencode(optarg); + pristr = optarg; break; case 's': /* log to standard error */ logflags |= LOG_PERROR; @@ -168,12 +176,25 @@ main(int argc, char *argv[]) nsock = 0; } + capcas = cap_init(); + if (capcas == NULL) + err(1, "Unable to contact Casper"); + caph_cache_catpages(); + caph_cache_tzdata(); + if (caph_enter() < 0) + err(1, "Unable to enter capability mode"); + capsyslog = cap_service_open(capcas, "system.syslog"); + if (capsyslog == NULL) + err(1, "Unable to open system.syslog service"); + cap_close(capcas); + + if (pristr != NULL) + pri = pencode(pristr); if (tag == NULL) tag = getlogin(); /* setup for logging */ if (host == NULL) - openlog(tag, logflags, 0); - (void) fclose(stdout); + cap_openlog(capsyslog, tag, logflags, 0); (void )time(&now); (void )ctime_r(&now, tbuf); @@ -349,7 +370,7 @@ logmessage(int pri, const char *timestamp, const char int len, i, lsent; if (nsock == 0) { - syslog(pri, "%s", buf); + cap_syslog(capsyslog, pri, "%s", buf); return; } if ((len = asprintf(&line, "<%d>%s %s %s: %s", pri, timestamp, From owner-svn-src-head@freebsd.org Thu Mar 12 21:26:37 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A084226C6DB; Thu, 12 Mar 2020 21:26:37 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dhj92ZCCz3Qdx; Thu, 12 Mar 2020 21:26:37 +0000 (UTC) (envelope-from cem@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 46ABF2B7AA; Thu, 12 Mar 2020 21:26:37 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02CLQbWa002785; Thu, 12 Mar 2020 21:26:37 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02CLQb7K002784; Thu, 12 Mar 2020 21:26:37 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202003122126.02CLQb7K002784@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Thu, 12 Mar 2020 21:26:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358922 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 358922 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 21:26:37 -0000 Author: cem Date: Thu Mar 12 21:26:36 2020 New Revision: 358922 URL: https://svnweb.freebsd.org/changeset/base/358922 Log: kern_shutdown: Add missing EKCD ifdef Submitted by: Puneeth Jothaiah Reviewed by: bdrewery Sponsored by: Dell EMC Isilon Modified: head/sys/kern/kern_shutdown.c Modified: head/sys/kern/kern_shutdown.c ============================================================================== --- head/sys/kern/kern_shutdown.c Thu Mar 12 20:59:00 2020 (r358921) +++ head/sys/kern/kern_shutdown.c Thu Mar 12 21:26:36 2020 (r358922) @@ -1231,6 +1231,7 @@ dumper_insert(const struct dumperinfo *di_template, co #endif } if (kda->kda_compression != KERNELDUMP_COMP_NONE) { +#ifdef EKCD /* * We can't support simultaneous unpadded block cipher * encryption and compression because there is no guarantee the @@ -1241,6 +1242,7 @@ dumper_insert(const struct dumperinfo *di_template, co error = EOPNOTSUPP; goto cleanup; } +#endif newdi->kdcomp = kerneldumpcomp_create(newdi, kda->kda_compression); if (newdi->kdcomp == NULL) { From owner-svn-src-head@freebsd.org Thu Mar 12 23:04:41 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B528426E1F7; Thu, 12 Mar 2020 23:04:41 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dktK420Zz4LvH; Thu, 12 Mar 2020 23:04:41 +0000 (UTC) (envelope-from freqlabs@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 6CB722C9ED; Thu, 12 Mar 2020 23:04:41 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02CN4fE8062078; Thu, 12 Mar 2020 23:04:41 GMT (envelope-from freqlabs@FreeBSD.org) Received: (from freqlabs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02CN4fXO062077; Thu, 12 Mar 2020 23:04:41 GMT (envelope-from freqlabs@FreeBSD.org) Message-Id: <202003122304.02CN4fXO062077@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: freqlabs set sender to freqlabs@FreeBSD.org using -f From: Ryan Moeller Date: Thu, 12 Mar 2020 23:04:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358923 - in head: lib/libpmcstat usr.sbin/pmcstat X-SVN-Group: head X-SVN-Commit-Author: freqlabs X-SVN-Commit-Paths: in head: lib/libpmcstat usr.sbin/pmcstat X-SVN-Commit-Revision: 358923 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2020 23:04:41 -0000 Author: freqlabs Date: Thu Mar 12 23:04:40 2020 New Revision: 358923 URL: https://svnweb.freebsd.org/changeset/base/358923 Log: libpmcstat: Try /boot/modules if module not found Modules from ports/pkg are commonly installed to /boot/modules rather than to the same directory the kernel resides in. Look there if a module is not found next to the kernel. Submitted by: mmacy Reported by: Nick Principe Approved by: mmacy (mentor) MFC after: 2 weeks Sponsored by: iXsystems, Inc. Modified: head/lib/libpmcstat/libpmcstat_image.c head/usr.sbin/pmcstat/pmcstat.8 Modified: head/lib/libpmcstat/libpmcstat_image.c ============================================================================== --- head/lib/libpmcstat/libpmcstat_image.c Thu Mar 12 21:26:36 2020 (r358922) +++ head/lib/libpmcstat/libpmcstat_image.c Thu Mar 12 23:04:40 2020 (r358923) @@ -278,6 +278,7 @@ pmcstat_image_get_elf_params(struct pmcstat_image *ima GElf_Shdr sh; enum pmcstat_image_type image_type; char buffer[PATH_MAX]; + char buffer_modules[PATH_MAX]; assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN); @@ -292,23 +293,32 @@ pmcstat_image_get_elf_params(struct pmcstat_image *ima assert(path != NULL); /* - * Look for kernel modules under FSROOT/KERNELPATH/NAME, - * and user mode executable objects under FSROOT/PATHNAME. + * Look for kernel modules under FSROOT/KERNELPATH/NAME and + * FSROOT/boot/modules/NAME, and user mode executable objects + * under FSROOT/PATHNAME. */ - if (image->pi_iskernelmodule) + if (image->pi_iskernelmodule) { (void) snprintf(buffer, sizeof(buffer), "%s%s/%s", args->pa_fsroot, args->pa_kernel, path); - else + (void) snprintf(buffer_modules, sizeof(buffer_modules), + "%s/boot/modules/%s", args->pa_fsroot, path); + } else { (void) snprintf(buffer, sizeof(buffer), "%s%s", args->pa_fsroot, path); + } e = NULL; - if ((fd = open(buffer, O_RDONLY, 0)) < 0) { + fd = open(buffer, O_RDONLY, 0); + if (fd < 0 && !image->pi_iskernelmodule) { warnx("WARNING: Cannot open \"%s\".", buffer); goto done; } - + if (fd < 0 && (fd = open(buffer_modules, O_RDONLY, 0)) < 0) { + warnx("WARNING: Cannot open \"%s\" or \"%s\".", + buffer, buffer_modules); + goto done; + } if (elf_version(EV_CURRENT) == EV_NONE) { warnx("WARNING: failed to init elf\n"); goto done; Modified: head/usr.sbin/pmcstat/pmcstat.8 ============================================================================== --- head/usr.sbin/pmcstat/pmcstat.8 Thu Mar 12 21:26:36 2020 (r358922) +++ head/usr.sbin/pmcstat/pmcstat.8 Thu Mar 12 23:04:40 2020 (r358923) @@ -309,6 +309,8 @@ should look for the kernel and its modules. The default is to use the path of the running kernel obtained from the .Va kern.bootfile sysctl. +Modules will also be searched for in /boot/modules if not found in +.Ar kerneldir . .It Fl l Ar secs Set system-wide performance measurement duration for .Ar secs From owner-svn-src-head@freebsd.org Fri Mar 13 00:12:17 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 33F4826F702; Fri, 13 Mar 2020 00:12:17 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dmNJ0FG1z3NZM; Fri, 13 Mar 2020 00:12:15 +0000 (UTC) (envelope-from np@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 DE9AA2D694; Fri, 13 Mar 2020 00:12:15 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02D0CFtE003737; Fri, 13 Mar 2020 00:12:15 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02D0CF23003736; Fri, 13 Mar 2020 00:12:15 GMT (envelope-from np@FreeBSD.org) Message-Id: <202003130012.02D0CF23003736@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Fri, 13 Mar 2020 00:12:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358924 - head/sys/dev/cxgbe X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe X-SVN-Commit-Revision: 358924 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 00:12:17 -0000 Author: np Date: Fri Mar 13 00:12:15 2020 New Revision: 358924 URL: https://svnweb.freebsd.org/changeset/base/358924 Log: cxgbe(4): Do not display error messages related to the CLIP table if it's not in use by TOE or KTLS. Reviewed by: jhb@ MFC after: 1 week Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24046 Modified: head/sys/dev/cxgbe/t4_clip.c Modified: head/sys/dev/cxgbe/t4_clip.c ============================================================================== --- head/sys/dev/cxgbe/t4_clip.c Thu Mar 12 23:04:40 2020 (r358923) +++ head/sys/dev/cxgbe/t4_clip.c Fri Mar 13 00:12:15 2020 (r358924) @@ -273,8 +273,12 @@ update_clip_table(struct adapter *sc) inet_ntop(AF_INET6, &ce->lip, &ip[0], sizeof(ip)); - log(LOG_ERR, "%s: could not add %s (%d)\n", - __func__, ip, rc); + if (sc->flags & KERN_TLS_OK || + sc->active_ulds != 0) { + log(LOG_ERR, + "%s: could not add %s (%d)\n", + __func__, ip, rc); + } free(ce, M_CXGBE); } next: From owner-svn-src-head@freebsd.org Fri Mar 13 00:35:02 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4B53A26FE8A; Fri, 13 Mar 2020 00:35:02 +0000 (UTC) (envelope-from byond.lenox@gmail.com) Received: from mail-qv1-f68.google.com (mail-qv1-f68.google.com [209.85.219.68]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dmtZ0Gb4z4Swy; Fri, 13 Mar 2020 00:35:01 +0000 (UTC) (envelope-from byond.lenox@gmail.com) Received: by mail-qv1-f68.google.com with SMTP id ca9so3700074qvb.9; Thu, 12 Mar 2020 17:35:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DU3CyG5pQIuCTJVq6jcq9Jz8YalIjbbpm8LEeZFKlzk=; b=O3e+dfELmFESh1Ygjc+5n8KDvvnfhnE5B+8D3HkyxSUV/fI3R5PHXOpjFKMLDHlahO G2BJmZ3U0vuZqEqHKW4NGX5VTmV2Eue4LuDjhvRnKKWHmm2KvO05h8EZZOiH+/H67z7n /FopAoCJR/DzSJzOdHPTdW2AdY9wEtLw9bPoCJezJyu3msgFWu9JNORt7rcXnXPnX4Em Zqf6b0LaqOKWaauqV9IbJ5r9AYT4vf73MjfFtwtctIuERe7a6YPNNblWhX6LxZoO4p96 0zuFDCvvqVFK8gx57qDQIGovgqRZK5rdwgB36H1t24Vly3YAU7dLdJKzUP1SzT+V0Dvp LYPg== X-Gm-Message-State: ANhLgQ2PkjPxVDApnQW5NOo5TpLLMQpdYZppGs92eNB7hPqYAHMimUDW s78dieDkAOMiyXov7hbZ9Hs1a6bg X-Google-Smtp-Source: ADFU+vv7D0EP6PGl4FcR1xpYt0k2Pbx3eUn2AM0XKRBXqt8Ankm8a8h7scwSgxqd3lfcqTs78eIZlw== X-Received: by 2002:a0c:a998:: with SMTP id a24mr9844467qvb.141.1584059700627; Thu, 12 Mar 2020 17:35:00 -0700 (PDT) Received: from mail-qk1-f170.google.com (mail-qk1-f170.google.com. [209.85.222.170]) by smtp.gmail.com with ESMTPSA id m27sm4707715qtf.80.2020.03.12.17.35.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 12 Mar 2020 17:35:00 -0700 (PDT) Received: by mail-qk1-f170.google.com with SMTP id d8so9698834qka.2; Thu, 12 Mar 2020 17:35:00 -0700 (PDT) X-Received: by 2002:ae9:de06:: with SMTP id s6mr10437405qkf.34.1584059700052; Thu, 12 Mar 2020 17:35:00 -0700 (PDT) MIME-Version: 1.0 References: <202003122304.02CN4fXO062077@repo.freebsd.org> In-Reply-To: <202003122304.02CN4fXO062077@repo.freebsd.org> From: Kyle Evans Date: Thu, 12 Mar 2020 19:34:48 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r358923 - in head: lib/libpmcstat usr.sbin/pmcstat To: Ryan Moeller Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48dmtZ0Gb4z4Swy X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 00:35:02 -0000 On Thu, Mar 12, 2020 at 6:05 PM Ryan Moeller wrote: > > Author: freqlabs > Date: Thu Mar 12 23:04:40 2020 > New Revision: 358923 > URL: https://svnweb.freebsd.org/changeset/base/358923 > > Log: > libpmcstat: Try /boot/modules if module not found > > Modules from ports/pkg are commonly installed to /boot/modules rather than to > the same directory the kernel resides in. Look there if a module is not found > next to the kernel. > > Submitted by: mmacy > Reported by: Nick Principe > Approved by: mmacy (mentor) > MFC after: 2 weeks > Sponsored by: iXsystems, Inc. > It's unclear from the context- is there any particular reason this can't instead using sysctl kern.module_path and accept a semicolon delimited list of directories for -k (maybe calling it -k kernelpath instead)? Thanks, Kyle Evans From owner-svn-src-head@freebsd.org Fri Mar 13 01:27:39 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3AB1F270CF5; Fri, 13 Mar 2020 01:27:39 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dp3G6LLHz4KsJ; Fri, 13 Mar 2020 01:27:38 +0000 (UTC) (envelope-from jhibbits@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 9BEBC2E359; Fri, 13 Mar 2020 01:27:38 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02D1Rcs4045908; Fri, 13 Mar 2020 01:27:38 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02D1RbRF045905; Fri, 13 Mar 2020 01:27:37 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <202003130127.02D1RbRF045905@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Fri, 13 Mar 2020 01:27:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358928 - in head/sys/powerpc: booke powerpc X-SVN-Group: head X-SVN-Commit-Author: jhibbits X-SVN-Commit-Paths: in head/sys/powerpc: booke powerpc X-SVN-Commit-Revision: 358928 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 01:27:39 -0000 Author: jhibbits Date: Fri Mar 13 01:27:37 2020 New Revision: 358928 URL: https://svnweb.freebsd.org/changeset/base/358928 Log: powerpc: Simplify _nodrop variants of FPU and vector register saves No need for an extra temporary. It doesn't even help with readability. Suggested by: kib (almost 2 years ago) Modified: head/sys/powerpc/booke/spe.c head/sys/powerpc/powerpc/altivec.c head/sys/powerpc/powerpc/fpu.c Modified: head/sys/powerpc/booke/spe.c ============================================================================== --- head/sys/powerpc/booke/spe.c Fri Mar 13 01:06:08 2020 (r358927) +++ head/sys/powerpc/booke/spe.c Fri Mar 13 01:27:37 2020 (r358928) @@ -183,14 +183,11 @@ save_vec(struct thread *td) void save_vec_nodrop(struct thread *td) { - struct thread *vtd; struct pcb *pcb; int i; - vtd = PCPU_GET(vecthread); - if (td == vtd) { + if (td == PCPU_GET(vecthread)) save_vec_int(td); - } pcb = td->td_pcb; Modified: head/sys/powerpc/powerpc/altivec.c ============================================================================== --- head/sys/powerpc/powerpc/altivec.c Fri Mar 13 01:06:08 2020 (r358927) +++ head/sys/powerpc/powerpc/altivec.c Fri Mar 13 01:27:37 2020 (r358928) @@ -168,12 +168,7 @@ save_vec(struct thread *td) void save_vec_nodrop(struct thread *td) { - struct thread *vtd; - vtd = PCPU_GET(vecthread); - if (td != vtd) { - return; - } - - save_vec_int(td); + if (td == PCPU_GET(vecthread)) + save_vec_int(td); } Modified: head/sys/powerpc/powerpc/fpu.c ============================================================================== --- head/sys/powerpc/powerpc/fpu.c Fri Mar 13 01:06:08 2020 (r358927) +++ head/sys/powerpc/powerpc/fpu.c Fri Mar 13 01:27:37 2020 (r358928) @@ -204,12 +204,7 @@ save_fpu(struct thread *td) void save_fpu_nodrop(struct thread *td) { - struct thread *ftd; - ftd = PCPU_GET(fputhread); - if (td != ftd) { - return; - } - - save_fpu_int(td); + if (td == PCPU_GET(fputhread)) + save_fpu_int(td); } From owner-svn-src-head@freebsd.org Fri Mar 13 02:53:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D3C3F2724B0 for ; Fri, 13 Mar 2020 02:53:14 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com [IPv6:2607:f8b0:4864:20::72a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48dqy10yVdz4HjJ for ; Fri, 13 Mar 2020 02:53:12 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qk1-x72a.google.com with SMTP id b5so10142880qkh.8 for ; Thu, 12 Mar 2020 19:53:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=sSQ+RgpjlfGTzzSMgWR7BjeOOR9QQD7Qd9p0GR+sOWo=; b=O9fpNJ6zkWDVehde4oET5gRWWMaD9zVovJfK6n4ySNGdI7LpwdKBxMNPGZeIfXySB0 ENfW/QIdReAmovyZjoLhvG42elsOnrxNXfTdZoBKH0gaQjWGfRei/CZzx3BWVhWrirPd 1lgkXWzCc5sNE/tmUcLkxlkMeVZDT24iPk3H+UT6FLbXsmMboBvW4ZdRY5K2Bzr+gZhD plqggpr1Si1ZTdyU9RcC2ftbTG7BqTmuB0x3RZFXLaFj6isAtwB3BublslX2nfYCtbbd SzeOf1BhEabN9lBxs2dSVuktX1Y12R0xlm5IX3JmzNYCBZfSlY+9W2X8IVOTw4RfwYPk wI5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=sSQ+RgpjlfGTzzSMgWR7BjeOOR9QQD7Qd9p0GR+sOWo=; b=gCHF16o4IqcHSeOses3kBxMsZaA/LlTMYSYonDHnXBV04djq3Syk7YeuS8l1+HLEfS e1Yqg7MjmEBnTD26zDaG1Hp6YA/nlwrGFTfUL4Rup/rcTGK0mHnD4grUJYdRfmgSEGx6 SF43yzeXYsKhmziClDRY76Ts5ZNDvoZWkUQuYbdcvMqKeX7TDw6ZQhe6UAcRTMOO3UrO lDoKZwLBEVMMWFi2t84Em68ZmvNnCHxn4XQKTV81ae8TXB0m4CGWgIGNP2Fdgw29B1fW waXgMSPPd/uv5ucrtnHq8SJT9oUhZwN4gucfcCppj8du+U5KoUfa+A5XbzyniJudB+Dl hcQA== X-Gm-Message-State: ANhLgQ29dDqdOubo2EWwrXIGWm/+KEjwfDBGEYGNigC+kYufrq9gOKIZ tu7q3OEN8GZw3k7FtqQyOv5xfl3j+7oqzqY4n/22Oc8t X-Google-Smtp-Source: ADFU+vuVt/e/SfjnSxOZor1tPvPrf3I4fQeejkzk8+jDo1+2VT+uVavRl9jE1JKboSKQY1MZDrz0kyBL8lHrc5Y7AE8= X-Received: by 2002:a37:a746:: with SMTP id q67mr11240653qke.215.1584067991002; Thu, 12 Mar 2020 19:53:11 -0700 (PDT) MIME-Version: 1.0 References: <202003122304.02CN4fXO062077@repo.freebsd.org> In-Reply-To: From: Warner Losh Date: Thu, 12 Mar 2020 20:52:59 -0600 Message-ID: Subject: Re: svn commit: r358923 - in head: lib/libpmcstat usr.sbin/pmcstat To: Kyle Evans Cc: Ryan Moeller , src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 48dqy10yVdz4HjJ X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=O9fpNJ6z; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::72a) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-3.56 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; URI_COUNT_ODD(1.00)[3]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; RCVD_IN_DNSWL_NONE(0.00)[a.2.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; IP_SCORE(-2.56)[ip: (-9.23), ipnet: 2607:f8b0::/32(-1.85), asn: 15169(-1.65), country: US(-0.05)]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 02:53:14 -0000 On Thu, Mar 12, 2020, 6:35 PM Kyle Evans wrote: > On Thu, Mar 12, 2020 at 6:05 PM Ryan Moeller wrote: > > > > Author: freqlabs > > Date: Thu Mar 12 23:04:40 2020 > > New Revision: 358923 > > URL: https://svnweb.freebsd.org/changeset/base/358923 > > > > Log: > > libpmcstat: Try /boot/modules if module not found > > > > Modules from ports/pkg are commonly installed to /boot/modules rather > than to > > the same directory the kernel resides in. Look there if a module is > not found > > next to the kernel. > > > > Submitted by: mmacy > > Reported by: Nick Principe > > Approved by: mmacy (mentor) > > MFC after: 2 weeks > > Sponsored by: iXsystems, Inc. > > > > It's unclear from the context- is there any particular reason this > can't instead using sysctl kern.module_path and accept a semicolon > delimited list of directories for -k (maybe calling it -k kernelpath > instead)? > There are also #defines for these paths. Warner Thanks, > > Kyle Evans > From owner-svn-src-head@freebsd.org Fri Mar 13 03:28:26 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BE86D272CD2; Fri, 13 Mar 2020 03:28:26 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48drkd6ZgGz4KWD; Fri, 13 Mar 2020 03:28:25 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from [IPv6:2600:1700:358a:c660:78b8:593a:bf7d:9c2c] (unknown [IPv6:2600:1700:358a:c660:78b8:593a:bf7d:9c2c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: freqlabs/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 436FEC76B; Fri, 13 Mar 2020 03:28:25 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) From: Ryan Moeller Message-Id: <957959A8-7D87-4858-8768-EB132BB97A64@FreeBSD.org> Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.60.0.2.5\)) Subject: Re: svn commit: r358923 - in head: lib/libpmcstat usr.sbin/pmcstat Date: Thu, 12 Mar 2020 23:28:23 -0400 In-Reply-To: Cc: src-committers , svn-src-all , svn-src-head To: Kyle Evans References: <202003122304.02CN4fXO062077@repo.freebsd.org> X-Mailer: Apple Mail (2.3608.60.0.2.5) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 03:28:26 -0000 > It's unclear from the context- is there any particular reason this > can't instead using sysctl kern.module_path and accept a semicolon > delimited list of directories for -k (maybe calling it -k kernelpath > instead)? No, that looks technically possible. -Ryan From owner-svn-src-head@freebsd.org Fri Mar 13 11:07:49 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 50C6825B8B2; Fri, 13 Mar 2020 11:07:49 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48f2wj0m5nz43fn; Fri, 13 Mar 2020 11:07:49 +0000 (UTC) (envelope-from 0mp@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 BF2E552A2; Fri, 13 Mar 2020 11:07:48 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02DB7muj016368; Fri, 13 Mar 2020 11:07:48 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02DB7m60016367; Fri, 13 Mar 2020 11:07:48 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202003131107.02DB7m60016367@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Fri, 13 Mar 2020 11:07:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358954 - head/share/man/man3 X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/share/man/man3 X-SVN-Commit-Revision: 358954 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 11:07:49 -0000 Author: 0mp (doc,ports committer) Date: Fri Mar 13 11:07:48 2020 New Revision: 358954 URL: https://svnweb.freebsd.org/changeset/base/358954 Log: CMSG_DATA.3: Fix formatting of printf escape sequences Escape sequences like "\n" have to be escaped twice in examples in our mdoc(7)-based manual pages in order to be displayed properly. The problem is that otherwise they are interpreted by mdoc(7), which results in: printf("parent: received '%s'0, buf); being shown to the user instead of: printf("parent: received '%s'\n", buf); Approved by: bcr (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24056 Modified: head/share/man/man3/CMSG_DATA.3 Modified: head/share/man/man3/CMSG_DATA.3 ============================================================================== --- head/share/man/man3/CMSG_DATA.3 Fri Mar 13 10:29:31 2020 (r358953) +++ head/share/man/man3/CMSG_DATA.3 Fri Mar 13 11:07:48 2020 (r358954) @@ -2,7 +2,7 @@ .\" Public domain, July 3, 2005 .\" .\" $FreeBSD$ -.Dd November 1, 2018 +.Dd March 13, 2020 .Dt CMSG_DATA 3 .Os .Sh NAME @@ -142,7 +142,7 @@ main() cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { hellofd[1] = *(int *)CMSG_DATA(cmsg); - printf("child: sending '%s'\n", buf); + printf("child: sending '%s'\\n", buf); if (write(hellofd[1], buf, HELLOLEN) == -1) err(EX_IOERR, "failed to send 'hello'"); } @@ -166,7 +166,7 @@ main() if (read(hellofd[0], buf, HELLOLEN) == -1) err(EX_IOERR, "faild to receive 'hello'"); - printf("parent: received '%s'\n", buf); + printf("parent: received '%s'\\n", buf); break; } From owner-svn-src-head@freebsd.org Fri Mar 13 14:51:13 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A198F2620EE; Fri, 13 Mar 2020 14:51:13 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48f7tT0Pfdz4cKn; Fri, 13 Mar 2020 14:51:12 +0000 (UTC) (envelope-from mav@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 8439A7BAB; Fri, 13 Mar 2020 14:51:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02DEpCdF049395; Fri, 13 Mar 2020 14:51:12 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02DEpC9h049394; Fri, 13 Mar 2020 14:51:12 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202003131451.02DEpC9h049394@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 13 Mar 2020 14:51:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358959 - in head/sys/dev: mpr mps X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: in head/sys/dev: mpr mps X-SVN-Commit-Revision: 358959 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 14:51:13 -0000 Author: mav Date: Fri Mar 13 14:51:11 2020 New Revision: 358959 URL: https://svnweb.freebsd.org/changeset/base/358959 Log: Increase buffer in mprsas_log_command() from 192 to 224 bytes. 192 bytes are not enough to print long commands, such as ATA COMMAND PASS THROUGH(16), that makes debug output difficult to read. MFC after: 2 weeks Sponsored by: iXsystems, Inc. Modified: head/sys/dev/mpr/mpr_sas.c head/sys/dev/mps/mps_sas.c Modified: head/sys/dev/mpr/mpr_sas.c ============================================================================== --- head/sys/dev/mpr/mpr_sas.c Fri Mar 13 13:45:27 2020 (r358958) +++ head/sys/dev/mpr/mpr_sas.c Fri Mar 13 14:51:11 2020 (r358959) @@ -308,7 +308,7 @@ mprsas_log_command(struct mpr_command *cm, u_int level { struct sbuf sb; va_list ap; - char str[192]; + char str[224]; char path_str[64]; if (cm == NULL) Modified: head/sys/dev/mps/mps_sas.c ============================================================================== --- head/sys/dev/mps/mps_sas.c Fri Mar 13 13:45:27 2020 (r358958) +++ head/sys/dev/mps/mps_sas.c Fri Mar 13 14:51:11 2020 (r358959) @@ -305,7 +305,7 @@ mpssas_log_command(struct mps_command *cm, u_int level { struct sbuf sb; va_list ap; - char str[192]; + char str[224]; char path_str[64]; if (cm == NULL) From owner-svn-src-head@freebsd.org Fri Mar 13 15:40:37 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0523A263045; Fri, 13 Mar 2020 15:40:37 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48f8zS5ZyRz44Lh; Fri, 13 Mar 2020 15:40:36 +0000 (UTC) (envelope-from emaste@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 5F96484A7; Fri, 13 Mar 2020 15:40:36 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02DFeaJB078917; Fri, 13 Mar 2020 15:40:36 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02DFeZ35078915; Fri, 13 Mar 2020 15:40:35 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003131540.02DFeZ35078915@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 13 Mar 2020 15:40:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358960 - in head/libexec/flua: . modules X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: in head/libexec/flua: . modules X-SVN-Commit-Revision: 358960 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 15:40:37 -0000 Author: emaste Date: Fri Mar 13 15:40:35 2020 New Revision: 358960 URL: https://svnweb.freebsd.org/changeset/base/358960 Log: flua: implement chmod Lua does not provide a native way to change the permission of a file. Submitted by: Yang Wang <2333@outlook.jp> Reviewed by: kevans Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24036 Modified: head/libexec/flua/linit_flua.c head/libexec/flua/modules/lposix.c head/libexec/flua/modules/lposix.h Modified: head/libexec/flua/linit_flua.c ============================================================================== --- head/libexec/flua/linit_flua.c Fri Mar 13 14:51:11 2020 (r358959) +++ head/libexec/flua/linit_flua.c Fri Mar 13 15:40:35 2020 (r358960) @@ -57,6 +57,7 @@ static const luaL_Reg loadedlibs[] = { #endif /* FreeBSD Extensions */ {"lfs", luaopen_lfs}, + {"posix.sys.stat", luaopen_posix_sys_stat}, {"posix.unistd", luaopen_posix_unistd}, {NULL, NULL} }; Modified: head/libexec/flua/modules/lposix.c ============================================================================== --- head/libexec/flua/modules/lposix.c Fri Mar 13 14:51:11 2020 (r358959) +++ head/libexec/flua/modules/lposix.c Fri Mar 13 15:40:35 2020 (r358960) @@ -27,6 +27,10 @@ #include __FBSDID("$FreeBSD$"); +#include + +#include +#include #include #include @@ -38,6 +42,28 @@ __FBSDID("$FreeBSD$"); */ static int +lua_chmod(lua_State *L) +{ + int n; + const char *path; + mode_t mode; + + n = lua_gettop(L); + luaL_argcheck(L, n == 2, n > 2 ? 3 : n, + "chmod takes exactly two arguments"); + path = luaL_checkstring(L, 1); + mode = (mode_t)luaL_checkinteger(L, 2); + if (chmod(path, mode) == -1) { + lua_pushnil(L); + lua_pushstring(L, strerror(errno)); + lua_pushinteger(L, errno); + return 3; + } + lua_pushinteger(L, 0); + return 1; +} + +static int lua_getpid(lua_State *L) { int n; @@ -49,11 +75,23 @@ lua_getpid(lua_State *L) } #define REG_SIMPLE(n) { #n, lua_ ## n } +static const struct luaL_Reg sys_statlib[] = { + REG_SIMPLE(chmod), + { NULL, NULL }, +}; + static const struct luaL_Reg unistdlib[] = { REG_SIMPLE(getpid), { NULL, NULL }, }; #undef REG_SIMPLE + +int +luaopen_posix_sys_stat(lua_State *L) +{ + luaL_newlib(L, sys_statlib); + return 1; +} int luaopen_posix_unistd(lua_State *L) Modified: head/libexec/flua/modules/lposix.h ============================================================================== --- head/libexec/flua/modules/lposix.h Fri Mar 13 14:51:11 2020 (r358959) +++ head/libexec/flua/modules/lposix.h Fri Mar 13 15:40:35 2020 (r358960) @@ -8,4 +8,5 @@ #include +int luaopen_posix_sys_stat(lua_State *L); int luaopen_posix_unistd(lua_State *L); From owner-svn-src-head@freebsd.org Fri Mar 13 16:44:48 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F22D926421D; Fri, 13 Mar 2020 16:44:48 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fBPX6CZbz3Bnk; Fri, 13 Mar 2020 16:44:48 +0000 (UTC) (envelope-from lwhsu@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 C441F914F; Fri, 13 Mar 2020 16:44:48 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02DGima6020791; Fri, 13 Mar 2020 16:44:48 GMT (envelope-from lwhsu@FreeBSD.org) Received: (from lwhsu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02DGimRU020790; Fri, 13 Mar 2020 16:44:48 GMT (envelope-from lwhsu@FreeBSD.org) Message-Id: <202003131644.02DGimRU020790@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: lwhsu set sender to lwhsu@FreeBSD.org using -f From: Li-Wen Hsu Date: Fri, 13 Mar 2020 16:44:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358961 - head/tests/sys/netpfil/pf X-SVN-Group: head X-SVN-Commit-Author: lwhsu X-SVN-Commit-Paths: head/tests/sys/netpfil/pf X-SVN-Commit-Revision: 358961 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 16:44:49 -0000 Author: lwhsu Date: Fri Mar 13 16:44:48 2020 New Revision: 358961 URL: https://svnweb.freebsd.org/changeset/base/358961 Log: Skip sys.netpfil.pf.nat.exhaust on all platforms as it not only fails on amd64 PR: 244703 Sponsored by: The FreeBSD Foundation Modified: head/tests/sys/netpfil/pf/nat.sh Modified: head/tests/sys/netpfil/pf/nat.sh ============================================================================== --- head/tests/sys/netpfil/pf/nat.sh Fri Mar 13 15:40:35 2020 (r358960) +++ head/tests/sys/netpfil/pf/nat.sh Fri Mar 13 16:44:48 2020 (r358961) @@ -36,8 +36,7 @@ exhaust_head() exhaust_body() { - if [ "$(atf_config_get ci false)" = "true" ] && \ - [ "$(uname -p)" = "amd64" ]; then + if [ "$(atf_config_get ci false)" = "true" ]; then atf_skip "https://bugs.freebsd.org/244703" fi From owner-svn-src-head@freebsd.org Fri Mar 13 17:34:28 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0743526589D for ; Fri, 13 Mar 2020 17:34:28 +0000 (UTC) (envelope-from lelia.scott@tradeshowleadpro.com) Received: from n1nlsmtp03.shr.prod.ams1.secureserver.net (n1nlsmtp03.shr.prod.ams1.secureserver.net [188.121.43.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "relay-hosting.secureserver.net", Issuer "Starfield Secure Certificate Authority - G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fCVn4QfSz4Kkr for ; Fri, 13 Mar 2020 17:34:25 +0000 (UTC) (envelope-from lelia.scott@tradeshowleadpro.com) Received: from n3plcpnl0299.prod.ams3.secureserver.net ([160.153.156.48]) by : HOSTING RELAY : with ESMTP id CoBWjmV3NSTF1CoBWjKf0f; Fri, 13 Mar 2020 10:33:22 -0700 X-CMAE-Analysis: v=2.3 cv=cZesUULM c=1 sm=1 tr=0 a=+39Z+gkFlMI6PB+f47mUlw==:117 a=66TF3EJlw7jpKkFdevtJHg==:17 a=9+rZDBEiDlHhcck0kWbJtElFXBc=:19 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=SS2py6AdgQ4A:10 a=DAwyPP_o2Byb1YXLmDAA:9 a=ffc-ZX2hAAAA:8 a=iUKV_uuWmpOlzW92NB4A:9 a=CjuIK1q_8ugA:10 a=ne6F8z1DZMwA:10 a=yMhMjlubAAAA:8 a=SSmOFEACAAAA:8 a=VhT3mKaqpJNFQjE9HsYA:9 a=fVJjisqsxQbTUw9n:21 a=gKO2Hq4RSVkA:10 a=UiCQ7L4-1S4A:10 a=hTZeC7Yk6K0A:10 a=frz4AuCg-hUA:10 a=cgI9y6Gjk0nnPaBAVaxS:22 a=pHzHmUro8NiASowvMSCR:22 a=xoEH_sTeL_Rfw54TyV31:22 X-SECURESERVER-ACCT: lelia.scott@tradeshowleadpro.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tradeshowleadpro.com; s=default; h=Content-Type:MIME-Version:Message-ID: Date:Subject:In-Reply-To:References:To:From:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=HCFOjOEmkYeWfExEE8e2f3fwJarnUtotFYTM5nEdNk0=; b=g7XTpu/kkyLiEVaSlkr3ZKKiN S6Tj1jRfH7pRLF6m5tH09Rqy84R+5CCiPitsLcrgW3xKmALMNMb0AZAtCH8XEQUqWFg8ZD7J6u8yf mhKa10j8JO+d+BtBCAxl2KMDNpzw7P7IMj4qtTYjdb9msMOeai32tEMKwIxtvO6C6pa/kfLUrQ3Im MfbRPAI41jr5e0RQBG+Xzs6HkPJ7kMFfWdd4NOVbchTKaJ2B1+pwoXdtvVkzYyB60egGzTqeZybB/ NaVLTCtsx+exsjseuIxscoEsKoMZUpbp4LjcjZkdpyhWPeTTxKGHEW70FmSzeLVxevaidvR/tscf8 87h5uo6vg==; Received: from [223.226.28.171] (port=52656 helo=BCS254) by n3plcpnl0299.prod.ams3.secureserver.net with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1jCoBW-00EQUz-BS for svn-src-head@freebsd.org; Fri, 13 Mar 2020 10:33:22 -0700 From: "Lelia Scott" To: References: In-Reply-To: Subject: NRA show 2020 Attendees list Date: Fri, 13 Mar 2020 13:32:29 -0400 Message-ID: MIME-Version: 1.0 X-Mailer: Microsoft Outlook 15.0 Thread-Index: AdX5Sdb6DTJIXB9qQn6H6+JQ4hqPowAE23BwAAAAE2AAAAAZMA== Content-Language: en-us X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - n3plcpnl0299.prod.ams3.secureserver.net X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tradeshowleadpro.com X-Get-Message-Sender-Via: n3plcpnl0299.prod.ams3.secureserver.net: authenticated_id: lelia.scott@tradeshowleadpro.com X-Authenticated-Sender: n3plcpnl0299.prod.ams3.secureserver.net: lelia.scott@tradeshowleadpro.com X-Source: X-Source-Args: X-Source-Dir: X-CMAE-Envelope: MS4wfDGY49Bliy7xL4fliJIm9fBLb59r0OdEZ2ec3qA2YCbk76MCus38r/shXJGDenyPls4fi+gaVVdLhkSBxQ6m3vw9qqvPEGT6s89gRPiiS7haTGIdvlf3 N/r5oE4NXq+Q+2nRUAXR31qhI5cZEdMQs142a1J0SIv56FeLwf2PJk/e5upu/y/cN8fb7Ilmjfp+iNDUL9ZYxw1Rqt8dldgDs6nv0eAOCp0qqm48LsjO2enw X-Rspamd-Queue-Id: 48fCVn4QfSz4Kkr X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none (invalid DKIM record) header.d=tradeshowleadpro.com header.s=default header.b=g7XTpu/k; dmarc=none; spf=pass (mx1.freebsd.org: domain of lelia.scott@tradeshowleadpro.com designates 188.121.43.193 as permitted sender) smtp.mailfrom=lelia.scott@tradeshowleadpro.com X-Spamd-Result: default: False [-2.63 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; RWL_MAILSPIKE_GOOD(0.00)[193.43.121.188.rep.mailspike.net : 127.0.0.18]; R_SPF_ALLOW(-0.20)[+ip4:188.121.43.0/24]; HAS_X_SOURCE(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[tradeshowleadpro.com:~]; HAS_X_ANTIABUSE(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; IP_SCORE(-0.39)[ip: (-0.17), ipnet: 188.121.40.0/22(0.06), asn: 21501(-1.81), country: DE(-0.02)]; ASN(0.00)[asn:21501, ipnet:188.121.40.0/22, country:DE]; MID_RHS_MATCH_FROM(0.00)[]; HAS_X_AS(0.00)[lelia.scott@tradeshowleadpro.com]; RECEIVED_SPAMHAUS_PBL(0.00)[171.28.226.223.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.11]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DMARC_NA(0.00)[tradeshowleadpro.com]; RCPT_COUNT_ONE(0.00)[1]; MANY_INVISIBLE_PARTS(0.05)[1]; RCVD_IN_DNSWL_NONE(0.00)[193.43.121.188.list.dnswl.org : 127.0.5.0]; R_DKIM_PERMFAIL(0.00)[tradeshowleadpro.com:s=default]; HAS_X_GMSV(0.00)[lelia.scott@tradeshowleadpro.com]; RCVD_TLS_ALL(0.00)[] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 17:34:28 -0000 Hello, This is to update you that our curated Pre-Registration email list from ( National Restaurant Association - NRA Show 2020) is up for grab. COVID-19 might stop you from coming to the show but not from marketing.. Attendees:- Restaurant, foodservice, and hospitality industry, Hotel-Motel and Food service operators, Dealers and suppliers, Purchasing agents, Owners/managers and more If you are interested in acquiring the Attendees list please respond back as send pricing and counts. Awaiting for your response Thank you Lelia - Event Manager From owner-svn-src-head@freebsd.org Fri Mar 13 18:28:23 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 83BA7267107; Fri, 13 Mar 2020 18:28:23 +0000 (UTC) (envelope-from lwhsu.freebsd@gmail.com) Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fDj11468z4RM1; Fri, 13 Mar 2020 18:28:21 +0000 (UTC) (envelope-from lwhsu.freebsd@gmail.com) Received: by mail-qk1-f180.google.com with SMTP id x1so9349063qkx.10; Fri, 13 Mar 2020 11:28:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8SqRKOl6OvXqwkK09UanR9pQqkGP9nsazut/7vMBn+M=; b=i9rncCYFZA/pJH1WPhlFEqwOuQjMVcv+lvqf73q7fWVhVME5D73SzmE4yDEwaG036W sQvmGNhAxvXALzzdRaR+o4E5wkMH8sv0b30MlaX0ToT6H/5z7D+jD1uYz/3oyrwCVljc IFx9h8y2S5LrRjfNlDPeW2gPEBbhni1Az8Ib9m7MShs+/Kt0+LlHftVjsa8deDRdD7ed BZfXgm9hIzHDSq1L6pOm22haZ1rxgFpRcBwss99ZGSz3q0ywtvSoRzED68BXxBYHie2x p2Jq08eshcPmnskXGuqpqZbGQbcSnaul9tmc3uHXPCdW5opnuy5Y3Rn6mCkd7TnbP7W6 j5Xw== X-Gm-Message-State: ANhLgQ1dea6xD0FExUz9XUCSguxW/9Uq7pa+tcYCq1C49B4sLGDb1ZUR 9wuWRDNrlUIx7shUnhKBaP25LkNrgNUod2qu1CFAtg== X-Google-Smtp-Source: ADFU+vvFl4TdMU5opkzIXQp4Woo6jjBKPujHekjNyiI6KNQSWqxgWK2TsyAzMr9kWxTt5CPTH1BIXOlrEugkxOu10rE= X-Received: by 2002:a25:785:: with SMTP id 127mr19271053ybh.405.1584124098542; Fri, 13 Mar 2020 11:28:18 -0700 (PDT) MIME-Version: 1.0 References: <201911110506.xAB56nFV057050@repo.freebsd.org> <1cc79883-382f-dcad-ce0d-f8e26232e394@FreeBSD.org> In-Reply-To: <1cc79883-382f-dcad-ce0d-f8e26232e394@FreeBSD.org> From: Li-Wen Hsu Date: Sat, 14 Mar 2020 02:28:02 +0800 Message-ID: Subject: Re: svn commit: r354606 - in head: contrib/jemalloc contrib/jemalloc/doc contrib/jemalloc/include/jemalloc contrib/jemalloc/include/jemalloc/internal contrib/jemalloc/src lib/libc/stdlib/jemalloc To: Bryan Drewery , Jason Evans Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48fDj11468z4RM1 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of lwhsufreebsd@gmail.com designates 209.85.222.180 as permitted sender) smtp.mailfrom=lwhsufreebsd@gmail.com X-Spamd-Result: default: False [-3.58 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_NEQ_ENVFROM(0.00)[lwhsu@freebsd.org,lwhsufreebsd@gmail.com]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCPT_COUNT_FIVE(0.00)[5]; IP_SCORE(-1.58)[ip: (-3.23), ipnet: 209.85.128.0/17(-2.97), asn: 15169(-1.65), country: US(-0.05)]; TO_DN_ALL(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[180.222.85.209.list.dnswl.org : 127.0.5.0]; FORGED_SENDER(0.30)[lwhsu@freebsd.org,lwhsufreebsd@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[180.222.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TAGGED_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 18:28:23 -0000 I think it's fine to get jemalloc 5.2.1 in again now. The previous fails were due to ancient gcc421. Now the in-tree gcc has been removed and the default compiler of non-llvm platforms are all using gcc6 from ports. The CI environment are also updated to follow the current standard. I've tested a patch combines r354605 + r355975 and it builds fine on amd64 (clang10) and mips (gcc6). Best, Li-Wen On Thu, Jan 9, 2020 at 1:45 PM Bryan Drewery wrote: > > Do you plan to get this back in soon? I hope to see it before 12.2 if > possible. Is there some way I can help? > > I'm interested in these changes in 5.2.1 (I think) > - Properly trigger decay on tcache destroy. (@interwq, @amosbird) > - Fix tcache.flush. (@interwq) > - Fix a side effect caused by extent_max_active_fit combined with > decay-based purging, where freed extents can accumulate and not be > reused for an extended period of time. (@interwq, @mpghf) > > I have a test case where virtual memory was peaking at 275M on 4.x, 1GB > on 5.0.0, around 750M on 5.1.0, and finally 275M again on 5.2.0. The > 5.0/5.1 versions appeared to be a widespread leak to us. > > On 11/10/2019 9:06 PM, Jason Evans wrote: > > Author: jasone > > Date: Mon Nov 11 05:06:49 2019 > > New Revision: 354606 > > URL: https://svnweb.freebsd.org/changeset/base/354606 > > > > Log: > > Revert r354605: Update jemalloc to version 5.2.1. > > > > Compilation fails for non-llvm-based platforms. > > > -- > Regards, > Bryan Drewery > From owner-svn-src-head@freebsd.org Fri Mar 13 18:38:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 91A82267479; Fri, 13 Mar 2020 18:38:29 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fDwj2wTgz3Pmv; Fri, 13 Mar 2020 18:38:29 +0000 (UTC) (envelope-from tuexen@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 1A356A62E; Fri, 13 Mar 2020 18:38:29 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02DIcS3G087484; Fri, 13 Mar 2020 18:38:28 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02DIcSb8087482; Fri, 13 Mar 2020 18:38:28 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202003131838.02DIcSb8087482@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Fri, 13 Mar 2020 18:38:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358965 - in head: lib/libc/sys sys/kern X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: in head: lib/libc/sys sys/kern X-SVN-Commit-Revision: 358965 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 18:38:29 -0000 Author: tuexen Date: Fri Mar 13 18:38:28 2020 New Revision: 358965 URL: https://svnweb.freebsd.org/changeset/base/358965 Log: sendfile() does currently not support SCTP sockets. Therefore, fail the call. Reviewed by: markj@ MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D24059 Modified: head/lib/libc/sys/sendfile.2 head/sys/kern/kern_sendfile.c Modified: head/lib/libc/sys/sendfile.2 ============================================================================== --- head/lib/libc/sys/sendfile.2 Fri Mar 13 17:10:53 2020 (r358964) +++ head/lib/libc/sys/sendfile.2 Fri Mar 13 18:38:28 2020 (r358965) @@ -431,3 +431,12 @@ to .Er EFAULT , if provided an invalid address for .Fa sbytes . +The +.Fn sendfile +system call does not support SCTP sockets, +it will return +.Dv -1 +and set +.Va errno +to +.Er EINVAL. Modified: head/sys/kern/kern_sendfile.c ============================================================================== --- head/sys/kern/kern_sendfile.c Fri Mar 13 17:10:53 2020 (r358964) +++ head/sys/kern/kern_sendfile.c Fri Mar 13 18:38:28 2020 (r358965) @@ -575,6 +575,12 @@ sendfile_getsock(struct thread *td, int s, struct file *so = (*sock_fp)->f_data; if ((*so)->so_type != SOCK_STREAM) return (EINVAL); + /* + * SCTP one-to-one style sockets currently don't work with + * sendfile(). So indicate EINVAL for now. + */ + if ((*so)->so_proto->pr_protocol == IPPROTO_SCTP) + return (EINVAL); if (SOLISTENING(*so)) return (ENOTCONN); return (0); From owner-svn-src-head@freebsd.org Fri Mar 13 18:45:37 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5A4532676CC; Fri, 13 Mar 2020 18:45:37 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fF4x0GkVz4DsT; Fri, 13 Mar 2020 18:45:37 +0000 (UTC) (envelope-from imp@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 CA503A802; Fri, 13 Mar 2020 18:45:36 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02DIjalF093065; Fri, 13 Mar 2020 18:45:36 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02DIja9W093064; Fri, 13 Mar 2020 18:45:36 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003131845.02DIja9W093064@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 13 Mar 2020 18:45:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358966 - head/sys/cam X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/cam X-SVN-Commit-Revision: 358966 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 18:45:37 -0000 Author: imp Date: Fri Mar 13 18:45:36 2020 New Revision: 358966 URL: https://svnweb.freebsd.org/changeset/base/358966 Log: Give some indication of the CCB that's in flight when we panic. Print the pointer to ccb so we can find it (for what good it does) as well as the type of operation in flight when the cam_path has been freed out from under us. This helps both core analysis as well as automated systems that collect panic strings but little else. Modified: head/sys/cam/cam_xpt.c Modified: head/sys/cam/cam_xpt.c ============================================================================== --- head/sys/cam/cam_xpt.c Fri Mar 13 18:38:28 2020 (r358965) +++ head/sys/cam/cam_xpt.c Fri Mar 13 18:45:36 2020 (r358966) @@ -5435,7 +5435,8 @@ xpt_done_process(struct ccb_hdr *ccb_h) if (sim) devq = sim->devq; - KASSERT(devq, ("Periph disappeared with request pending.")); + KASSERT(devq, ("Periph disappeared with CCB %p %s request pending.", + ccb_h, xpt_action_name(ccb_h->func_code))); mtx_lock(&devq->send_mtx); devq->send_active--; From owner-svn-src-head@freebsd.org Fri Mar 13 23:48:25 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EF30E26D83C; Fri, 13 Mar 2020 23:48:25 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fMpJ4L6Jz3yM3; Fri, 13 Mar 2020 23:48:24 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by mail-pf1-x433.google.com with SMTP id n7so6252796pfn.0; Fri, 13 Mar 2020 16:48:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=35OEZSLBiKnUZ0XLWSws3BDdmU+K9+hQHghvSfLLDaQ=; b=sU3KBnyuGbnzDX1q7k/xvVoEXCuF+h3Fd0gorSk+a1zedcbyQw1neI5aaCGfdodXnG VBMto71uTBlhrHtObSPPhSPdtz7VmqCiG9DkQu3JXiUMQX6en9u8wuajzm8nM44uEhoh SH93hogdwfHMZKfU0IP1Q4LzKIslcE8zv4SSvDaH7MoJhAg6gs8MOP67et3asoc0MycQ tB0i2aJgOlDu8SoTuRwzVmbw+pEZ7am62zZyBZhqRo9dG05x8Hd59wH2FWOF1cTw69x2 e9E1B6eiaLnLaAlQGVrdDAAeYd3OvdWJqL/bKoRpOi6XFmNWIp74ZUP2lPgRVIdnNZQb du6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to; bh=35OEZSLBiKnUZ0XLWSws3BDdmU+K9+hQHghvSfLLDaQ=; b=aO6wn5h0lPnFN7at5dGksDon7ABsEB++nph3VQO0pZ9FBFxoV/d9ZYmFGEnhl3pHd9 r2kDXjVa8QVkY/joBQMTrKV9h4j+O5njSCyINgZv3l9ENMgPIrK9TR1jAVwcnlsB9HbB +Xl/0iOFvWgNkneAYzgi81HlZ4b38MbVrJzD914N3JNyHj9zztIFwZsfR3wVpKvTppHp fmpHsat9tCvYabBw6J965NBuW0RM3NnnoPRhXc/dc7t/Y4BdTHuCxjYm+FMe+R8gDR+F GeZ3vPkqk+h5TrX6pXxlzE5HaMZgjr5yfudXkdLfpfs1E68mlTSifUs7Hj8FTEXv+azM kaKw== X-Gm-Message-State: ANhLgQ0lSggFJ+58f8/wyCbnRqfQ2s1o+gji5cp+KE1RRVKzTHN71GWB OYEoa/dem1u/vv4zie2jdjyOeCrV X-Google-Smtp-Source: ADFU+vuyp57QmQkODiB/9YFQ23SJGkr1XKZM/kKY1B5VimCMxW6HUPXxy7TUhKR2TKouUX0NLglNmQ== X-Received: by 2002:a63:4755:: with SMTP id w21mr13643548pgk.302.1584143302533; Fri, 13 Mar 2020 16:48:22 -0700 (PDT) Received: from spy (S01069050ca464ce3.wk.shawcable.net. [24.67.190.33]) by smtp.gmail.com with ESMTPSA id 189sm12180243pfg.170.2020.03.13.16.48.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Mar 2020 16:48:21 -0700 (PDT) Sender: Mark Johnston Date: Fri, 13 Mar 2020 19:48:17 -0400 From: Mark Johnston To: Chuck Silvers Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r358597 - head/sys/kern Message-ID: <20200313234817.GA10027@spy> References: <202003040022.0240Mpm6074186@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202003040022.0240Mpm6074186@repo.freebsd.org> X-Rspamd-Queue-Id: 48fMpJ4L6Jz3yM3 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=sU3KBnyu; dmarc=none; spf=pass (mx1.freebsd.org: domain of markjdb@gmail.com designates 2607:f8b0:4864:20::433 as permitted sender) smtp.mailfrom=markjdb@gmail.com X-Spamd-Result: default: False [-4.16 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; DMARC_NA(0.00)[freebsd.org]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[3]; IP_SCORE(-2.46)[ip: (-8.76), ipnet: 2607:f8b0::/32(-1.85), asn: 15169(-1.65), country: US(-0.05)]; DKIM_TRACE(0.00)[gmail.com:+]; RCVD_IN_DNSWL_NONE(0.00)[3.3.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; FORGED_SENDER(0.30)[markj@freebsd.org,markjdb@gmail.com]; RECEIVED_SPAMHAUS_PBL(0.00)[33.190.67.24.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.11]; MID_RHS_NOT_FQDN(0.50)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[markj@freebsd.org,markjdb@gmail.com]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Mar 2020 23:48:26 -0000 On Wed, Mar 04, 2020 at 12:22:51AM +0000, Chuck Silvers wrote: > Author: chs > Date: Wed Mar 4 00:22:50 2020 > New Revision: 358597 > URL: https://svnweb.freebsd.org/changeset/base/358597 > > Log: > if vm_pager_get_pages_async() returns an error, release the sfio->nios > refcount that we took earlier that represents the I/O that ended up > not being started. I think a larger bug is that getpages_async is not consistent about whether it invokes the completion callback in synchronous error cases. For instance, vop_stdgetpages_async() always calls it, as does ffs_getpages_async() when the filesystem fragment size is larger than the page size. But vnode_pager_generic_getpages() does not. So if one is using sendfile on a filesystem that does not implement getpages_async, an error will cause sendfile_swapin() to unbusy the input pages multiple times, and release the sfio refcount twice when it should be done just once. > Reviewed by: glebius > Approved by: imp (mentor) > Sponsored by: Netflix > > Modified: > head/sys/kern/kern_sendfile.c > > Modified: head/sys/kern/kern_sendfile.c > ============================================================================== > --- head/sys/kern/kern_sendfile.c Tue Mar 3 23:15:30 2020 (r358596) > +++ head/sys/kern/kern_sendfile.c Wed Mar 4 00:22:50 2020 (r358597) > @@ -454,6 +454,7 @@ sendfile_swapin(vm_object_t obj, struct sf_io *sfio, i > __func__, pa, j)); > vm_page_unwire(pa[j], PQ_INACTIVE); > } > + refcount_release(&sfio->nios); > return (EIO); > } > From owner-svn-src-head@freebsd.org Sat Mar 14 00:16:15 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E2D7026EDAB; Sat, 14 Mar 2020 00:16:15 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fNQR5gCrz3J87; Sat, 14 Mar 2020 00:16:15 +0000 (UTC) (envelope-from freqlabs@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 BAD75E575; Sat, 14 Mar 2020 00:16:15 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02E0GFno091609; Sat, 14 Mar 2020 00:16:15 GMT (envelope-from freqlabs@FreeBSD.org) Received: (from freqlabs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02E0GFoB091608; Sat, 14 Mar 2020 00:16:15 GMT (envelope-from freqlabs@FreeBSD.org) Message-Id: <202003140016.02E0GFoB091608@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: freqlabs set sender to freqlabs@FreeBSD.org using -f From: Ryan Moeller Date: Sat, 14 Mar 2020 00:16:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358971 - head/sys/cddl/compat/opensolaris/sys X-SVN-Group: head X-SVN-Commit-Author: freqlabs X-SVN-Commit-Paths: head/sys/cddl/compat/opensolaris/sys X-SVN-Commit-Revision: 358971 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 00:16:16 -0000 Author: freqlabs Date: Sat Mar 14 00:16:15 2020 New Revision: 358971 URL: https://svnweb.freebsd.org/changeset/base/358971 Log: TODO DONE: Use sx_xholder in SPL rwlock.h Approved by: mav (mentor) MFC after: 1 week Sponsored by: iXsystems, Inc. Modified: head/sys/cddl/compat/opensolaris/sys/rwlock.h Modified: head/sys/cddl/compat/opensolaris/sys/rwlock.h ============================================================================== --- head/sys/cddl/compat/opensolaris/sys/rwlock.h Fri Mar 13 22:18:40 2020 (r358970) +++ head/sys/cddl/compat/opensolaris/sys/rwlock.h Sat Mar 14 00:16:15 2020 (r358971) @@ -87,8 +87,7 @@ typedef struct sx krwlock_t; #define rw_write_held(lock) sx_xlocked(lock) #define rw_lock_held(lock) (rw_read_held(lock) || rw_write_held(lock)) #define rw_iswriter(lock) sx_xlocked(lock) -/* TODO: Change to sx_xholder() once it is moved from kern_sx.c to sx.h. */ -#define rw_owner(lock) ((lock)->sx_lock & SX_LOCK_SHARED ? NULL : (struct thread *)SX_OWNER((lock)->sx_lock)) +#define rw_owner(lock) sx_xholder(lock) #endif /* defined(_KERNEL) */ From owner-svn-src-head@freebsd.org Sat Mar 14 01:52:40 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1ECF4272297; Sat, 14 Mar 2020 01:52:40 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fQYg6Z3Nz3Q08; Sat, 14 Mar 2020 01:52:39 +0000 (UTC) (envelope-from emaste@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 2A241F895; Sat, 14 Mar 2020 01:52:39 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02E1qcUu052164; Sat, 14 Mar 2020 01:52:38 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02E1qcoW052163; Sat, 14 Mar 2020 01:52:38 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202003140152.02E1qcoW052163@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 14 Mar 2020 01:52:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358979 - head/sys/dev/usb/net X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/dev/usb/net X-SVN-Commit-Revision: 358979 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 01:52:40 -0000 Author: emaste Date: Sat Mar 14 01:52:38 2020 New Revision: 358979 URL: https://svnweb.freebsd.org/changeset/base/358979 Log: muge: correct RX checksum offload Submitted by: Johannes MFC after: 1 week Modified: head/sys/dev/usb/net/if_muge.c Modified: head/sys/dev/usb/net/if_muge.c ============================================================================== --- head/sys/dev/usb/net/if_muge.c Sat Mar 14 01:42:21 2020 (r358978) +++ head/sys/dev/usb/net/if_muge.c Sat Mar 14 01:52:38 2020 (r358979) @@ -1285,7 +1285,8 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err */ if (pktlen > ETHER_MIN_LEN) { m->m_pkthdr.csum_flags |= - CSUM_DATA_VALID; + CSUM_DATA_VALID | + CSUM_PSEUDO_HDR; /* * Copy the checksum from the @@ -1304,7 +1305,7 @@ muge_bulk_read_callback(struct usb_xfer *xfer, usb_err * be in host network order. */ m->m_pkthdr.csum_data = - ntohs(m->m_pkthdr.csum_data); + ntohs(0xffff); muge_dbg_printf(sc, "RX checksum offloaded (0x%04x)\n", From owner-svn-src-head@freebsd.org Sat Mar 14 02:36:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ED3592746E0; Sat, 14 Mar 2020 02:36:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fRXZ3zZSz4JYF; Sat, 14 Mar 2020 02:36:46 +0000 (UTC) (envelope-from imp@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 E429918038; Sat, 14 Mar 2020 02:36:45 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02E2ajpG076681; Sat, 14 Mar 2020 02:36:45 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02E2ajF9076680; Sat, 14 Mar 2020 02:36:45 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003140236.02E2ajF9076680@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 14 Mar 2020 02:36:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358987 - head/sys/cam X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/cam X-SVN-Commit-Revision: 358987 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 02:36:47 -0000 Author: imp Date: Sat Mar 14 02:36:45 2020 New Revision: 358987 URL: https://svnweb.freebsd.org/changeset/base/358987 Log: Add comment about how the deferred callback for AC_FOUND_DEVICE we generate for a race where a device goes away, we start to tear down the periph state for the device, and then the device suddently reappears. The key that makes it work is removal of periph from the drv list before calling the deferred callback. Hat tip to: mav@ Modified: head/sys/cam/cam_periph.c Modified: head/sys/cam/cam_periph.c ============================================================================== --- head/sys/cam/cam_periph.c Sat Mar 14 02:24:11 2020 (r358986) +++ head/sys/cam/cam_periph.c Sat Mar 14 02:36:45 2020 (r358987) @@ -729,7 +729,9 @@ camperiphfree(struct cam_periph *periph) periph->periph_dtor(periph); /* - * The peripheral list is protected by the topology lock. + * The peripheral list is protected by the topology lock. We have to + * remove the periph from the drv list before we call deferred_ac. The + * AC_FOUND_DEVICE callback won't create a new periph if it's still there. */ xpt_lock_buses(); From owner-svn-src-head@freebsd.org Sat Mar 14 05:57:23 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4B9DD27820D; Sat, 14 Mar 2020 05:57:23 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fX03132nz4Q7D; Sat, 14 Mar 2020 05:57:23 +0000 (UTC) (envelope-from delphij@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 1E9551A5FF; Sat, 14 Mar 2020 05:57:23 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02E5vNVI097088; Sat, 14 Mar 2020 05:57:23 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02E5vMBA097086; Sat, 14 Mar 2020 05:57:22 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202003140557.02E5vMBA097086@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Sat, 14 Mar 2020 05:57:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358988 - head/usr.bin/gzip X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/usr.bin/gzip X-SVN-Commit-Revision: 358988 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 05:57:23 -0000 Author: delphij Date: Sat Mar 14 05:57:22 2020 New Revision: 358988 URL: https://svnweb.freebsd.org/changeset/base/358988 Log: Remove unneeded checks for prelen. In order to determine the type of a compressed file, we have to read in the first four bytes which may also be important for decompression purposes, to do that we would pass the buffer that we have already read in, along with the size of it. Rename header1 to fourbytes to make that explicit, and remove all checks for prelen. Reported by: cem Reviewed by: cem MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24034 Modified: head/usr.bin/gzip/gzip.c head/usr.bin/gzip/unlz.c head/usr.bin/gzip/unpack.c Modified: head/usr.bin/gzip/gzip.c ============================================================================== --- head/usr.bin/gzip/gzip.c Sat Mar 14 02:36:45 2020 (r358987) +++ head/usr.bin/gzip/gzip.c Sat Mar 14 05:57:22 2020 (r358988) @@ -1443,7 +1443,7 @@ file_uncompress(char *file, char *outfile, size_t outs struct stat isb, osb; off_t size; ssize_t rbytes; - unsigned char header1[4]; + unsigned char fourbytes[4]; enum filetype method; int fd, ofd, zfd = -1; int error; @@ -1477,8 +1477,8 @@ file_uncompress(char *file, char *outfile, size_t outs goto lose; } - rbytes = read(fd, header1, sizeof header1); - if (rbytes != sizeof header1) { + rbytes = read(fd, fourbytes, sizeof fourbytes); + if (rbytes != sizeof fourbytes) { /* we don't want to fail here. */ #ifndef SMALL if (fflag) @@ -1492,7 +1492,7 @@ file_uncompress(char *file, char *outfile, size_t outs } infile_newdata(rbytes); - method = file_gettype(header1); + method = file_gettype(fourbytes); #ifndef SMALL if (fflag == 0 && method == FT_UNKNOWN) { maybe_warnx("%s: not in gzip format", file); @@ -1516,7 +1516,7 @@ file_uncompress(char *file, char *outfile, size_t outs infile_newdata(rv); timestamp = le32dec(&ts[0]); - if (header1[3] & ORIG_NAME) { + if (fourbytes[3] & ORIG_NAME) { rbytes = pread(fd, name, sizeof(name) - 1, GZIP_ORIGNAME); if (rbytes < 0) { maybe_warn("can't read %s", file); @@ -1818,7 +1818,7 @@ static void handle_stdin(void) { struct stat isb; - unsigned char header1[4]; + unsigned char fourbytes[4]; size_t in_size; off_t usize, gsize; enum filetype method; @@ -1849,16 +1849,16 @@ handle_stdin(void) goto out; } - bytes_read = read_retry(STDIN_FILENO, header1, sizeof header1); + bytes_read = read_retry(STDIN_FILENO, fourbytes, sizeof fourbytes); if (bytes_read == -1) { maybe_warn("can't read stdin"); goto out; - } else if (bytes_read != sizeof(header1)) { + } else if (bytes_read != sizeof(fourbytes)) { maybe_warnx("(stdin): unexpected end of file"); goto out; } - method = file_gettype(header1); + method = file_gettype(fourbytes); switch (method) { default: #ifndef SMALL @@ -1866,17 +1866,17 @@ handle_stdin(void) maybe_warnx("unknown compression format"); goto out; } - usize = cat_fd(header1, sizeof header1, &gsize, STDIN_FILENO); + usize = cat_fd(fourbytes, sizeof fourbytes, &gsize, STDIN_FILENO); break; #endif case FT_GZIP: usize = gz_uncompress(STDIN_FILENO, STDOUT_FILENO, - (char *)header1, sizeof header1, &gsize, "(stdin)"); + (char *)fourbytes, sizeof fourbytes, &gsize, "(stdin)"); break; #ifndef NO_BZIP2_SUPPORT case FT_BZIP2: usize = unbzip2(STDIN_FILENO, STDOUT_FILENO, - (char *)header1, sizeof header1, &gsize); + (char *)fourbytes, sizeof fourbytes, &gsize); break; #endif #ifndef NO_COMPRESS_SUPPORT @@ -1886,27 +1886,27 @@ handle_stdin(void) goto out; } - usize = zuncompress(in, stdout, (char *)header1, - sizeof header1, &gsize); + usize = zuncompress(in, stdout, (char *)fourbytes, + sizeof fourbytes, &gsize); fclose(in); break; #endif #ifndef NO_PACK_SUPPORT case FT_PACK: usize = unpack(STDIN_FILENO, STDOUT_FILENO, - (char *)header1, sizeof header1, &gsize); + (char *)fourbytes, sizeof fourbytes, &gsize); break; #endif #ifndef NO_XZ_SUPPORT case FT_XZ: usize = unxz(STDIN_FILENO, STDOUT_FILENO, - (char *)header1, sizeof header1, &gsize); + (char *)fourbytes, sizeof fourbytes, &gsize); break; #endif #ifndef NO_LZ_SUPPORT case FT_LZ: usize = unlz(STDIN_FILENO, STDOUT_FILENO, - (char *)header1, sizeof header1, &gsize); + (char *)fourbytes, sizeof fourbytes, &gsize); break; #endif } Modified: head/usr.bin/gzip/unlz.c ============================================================================== --- head/usr.bin/gzip/unlz.c Sat Mar 14 02:36:45 2020 (r358987) +++ head/usr.bin/gzip/unlz.c Sat Mar 14 05:57:22 2020 (r358988) @@ -618,8 +618,6 @@ unlz(int fin, int fout, char *pre, size_t prelen, off_ char header[HDR_SIZE]; - if (prelen > sizeof(header)) - return -1; if (pre && prelen) memcpy(header, pre, prelen); Modified: head/usr.bin/gzip/unpack.c ============================================================================== --- head/usr.bin/gzip/unpack.c Sat Mar 14 02:36:45 2020 (r358987) +++ head/usr.bin/gzip/unpack.c Sat Mar 14 05:57:22 2020 (r358988) @@ -156,9 +156,6 @@ unpack_parse_header(int in, int out, char *pre, size_t ssize_t bytesread; /* Bytes read from the file */ int i, j, thisbyte; - if (prelen > sizeof hdr) - maybe_err("prelen too long"); - /* Prepend the header buffer if we already read some data */ if (prelen != 0) memcpy(hdr, pre, prelen); From owner-svn-src-head@freebsd.org Sat Mar 14 06:36:05 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4996227913F; Sat, 14 Mar 2020 06:36:05 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fXrj1Mqmz4H5Z; Sat, 14 Mar 2020 06:36:05 +0000 (UTC) (envelope-from tsoome@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 DD8671AD36; Sat, 14 Mar 2020 06:36:04 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02E6a4wm020676; Sat, 14 Mar 2020 06:36:04 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02E6a3NS020671; Sat, 14 Mar 2020 06:36:03 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202003140636.02E6a3NS020671@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Sat, 14 Mar 2020 06:36:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358989 - in head/stand/efi: libefi loader loader/arch/arm loader/arch/arm64 X-SVN-Group: head X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: in head/stand/efi: libefi loader loader/arch/arm loader/arch/arm64 X-SVN-Commit-Revision: 358989 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 06:36:05 -0000 Author: tsoome Date: Sat Mar 14 06:36:03 2020 New Revision: 358989 URL: https://svnweb.freebsd.org/changeset/base/358989 Log: loader: add comconsole implementation on top of SIO protocol Provide comconsole on top of SIO for arm platforms (x86 does use bios version). Added: head/stand/efi/loader/efiserialio.c (contents, props changed) Modified: head/stand/efi/libefi/efi_console.c head/stand/efi/loader/arch/arm/Makefile.inc head/stand/efi/loader/arch/arm64/Makefile.inc head/stand/efi/loader/conf.c head/stand/efi/loader/main.c Modified: head/stand/efi/libefi/efi_console.c ============================================================================== --- head/stand/efi/libefi/efi_console.c Sat Mar 14 05:57:22 2020 (r358988) +++ head/stand/efi/libefi/efi_console.c Sat Mar 14 06:36:03 2020 (r358989) @@ -377,9 +377,22 @@ efi_cons_respond(void *s __unused, const void *buf __u { } +/* + * Set up conin/conout/coninex to make sure we have input ready. + */ static void efi_cons_probe(struct console *cp) { + EFI_STATUS status; + + conout = ST->ConOut; + conin = ST->ConIn; + + status = BS->OpenProtocol(ST->ConsoleInHandle, &simple_input_ex_guid, + (void **)&coninex, IH, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL); + if (status != EFI_SUCCESS) + coninex = NULL; + cp->c_flags |= C_PRESENTIN | C_PRESENTOUT; } @@ -889,15 +902,7 @@ efi_cons_init(int arg) if (conin != NULL) return (0); - conout = ST->ConOut; - conin = ST->ConIn; - conout->EnableCursor(conout, TRUE); - status = BS->OpenProtocol(ST->ConsoleInHandle, &simple_input_ex_guid, - (void **)&coninex, IH, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL); - if (status != EFI_SUCCESS) - coninex = NULL; - if (efi_cons_update_mode()) return (0); Modified: head/stand/efi/loader/arch/arm/Makefile.inc ============================================================================== --- head/stand/efi/loader/arch/arm/Makefile.inc Sat Mar 14 05:57:22 2020 (r358988) +++ head/stand/efi/loader/arch/arm/Makefile.inc Sat Mar 14 06:36:03 2020 (r358989) @@ -1,6 +1,7 @@ # $FreeBSD$ SRCS+= exec.c \ + efiserialio.c \ start.S HAVE_FDT=yes Modified: head/stand/efi/loader/arch/arm64/Makefile.inc ============================================================================== --- head/stand/efi/loader/arch/arm64/Makefile.inc Sat Mar 14 05:57:22 2020 (r358988) +++ head/stand/efi/loader/arch/arm64/Makefile.inc Sat Mar 14 06:36:03 2020 (r358989) @@ -3,6 +3,7 @@ HAVE_FDT=yes SRCS+= exec.c \ + efiserialio.c \ start.S .PATH: ${BOOTSRC}/arm64/libarm64 Modified: head/stand/efi/loader/conf.c ============================================================================== --- head/stand/efi/loader/conf.c Sat Mar 14 05:57:22 2020 (r358988) +++ head/stand/efi/loader/conf.c Sat Mar 14 06:36:03 2020 (r358989) @@ -73,16 +73,16 @@ struct netif_driver *netif_drivers[] = { }; extern struct console efi_console; -#if defined(__amd64__) || defined(__i386__) extern struct console comconsole; +#if defined(__amd64__) || defined(__i386__) extern struct console nullconsole; extern struct console spinconsole; #endif struct console *consoles[] = { &efi_console, -#if defined(__amd64__) || defined(__i386__) &comconsole, +#if defined(__amd64__) || defined(__i386__) &nullconsole, &spinconsole, #endif Added: head/stand/efi/loader/efiserialio.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/stand/efi/loader/efiserialio.c Sat Mar 14 06:36:03 2020 (r358989) @@ -0,0 +1,518 @@ +/*- + * Copyright (c) 1998 Michael Smith (msmith@freebsd.org) + * + * 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 AUTHOR 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 AUTHOR 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. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include + +#include +#include + +#include "loader_efi.h" + +static EFI_GUID serial = SERIAL_IO_PROTOCOL; + +#define COMC_TXWAIT 0x40000 /* transmit timeout */ + +#ifndef COMSPEED +#define COMSPEED 9600 +#endif + +#define PNP0501 0x501 /* 16550A-compatible COM port */ + +struct serial { + uint64_t baudrate; + uint8_t databits; + EFI_PARITY_TYPE parity; + EFI_STOP_BITS_TYPE stopbits; + uint8_t ignore_cd; /* boolean */ + uint8_t rtsdtr_off; /* boolean */ + int ioaddr; /* index in handles array */ + EFI_HANDLE currdev; /* current serial device */ + EFI_HANDLE condev; /* EFI Console device */ + SERIAL_IO_INTERFACE *sio; +}; + +static void comc_probe(struct console *); +static int comc_init(int); +static void comc_putchar(int); +static int comc_getchar(void); +static int comc_ischar(void); +static bool comc_setup(void); +static int comc_parse_intval(const char *, unsigned *); +static int comc_port_set(struct env_var *, int, const void *); +static int comc_speed_set(struct env_var *, int, const void *); + +static struct serial *comc_port; +extern struct console efi_console; + +struct console comconsole = { + .c_name = "comconsole", + .c_desc = "serial port", + .c_flags = 0, + .c_probe = comc_probe, + .c_init = comc_init, + .c_out = comc_putchar, + .c_in = comc_getchar, + .c_ready = comc_ischar, +}; + +static EFI_STATUS +efi_serial_init(EFI_HANDLE **handlep, int *nhandles) +{ + UINTN bufsz = 0; + EFI_STATUS status; + EFI_HANDLE *handles; + + /* + * get buffer size + */ + *nhandles = 0; + handles = NULL; + status = BS->LocateHandle(ByProtocol, &serial, NULL, &bufsz, handles); + if (status != EFI_BUFFER_TOO_SMALL) + return (status); + + if ((handles = malloc(bufsz)) == NULL) + return (ENOMEM); + + *nhandles = (int)(bufsz / sizeof (EFI_HANDLE)); + /* + * get handle array + */ + status = BS->LocateHandle(ByProtocol, &serial, NULL, &bufsz, handles); + if (EFI_ERROR(status)) { + free(handles); + *nhandles = 0; + } else + *handlep = handles; + return (status); +} + +/* + * Find serial device number from device path. + * Return -1 if not found. + */ +static int +efi_serial_get_index(EFI_DEVICE_PATH *devpath, int idx) +{ + ACPI_HID_DEVICE_PATH *acpi; + CHAR16 *text; + + while (!IsDevicePathEnd(devpath)) { + if (DevicePathType(devpath) == MESSAGING_DEVICE_PATH && + DevicePathSubType(devpath) == MSG_UART_DP) + return (idx); + + if (DevicePathType(devpath) == ACPI_DEVICE_PATH && + (DevicePathSubType(devpath) == ACPI_DP || + DevicePathSubType(devpath) == ACPI_EXTENDED_DP)) { + + acpi = (ACPI_HID_DEVICE_PATH *)devpath; + if (acpi->HID == EISA_PNP_ID(PNP0501)) { + return (acpi->UID); + } + } + + devpath = NextDevicePathNode(devpath); + } + return (-1); +} + +/* + * The order of handles from LocateHandle() is not known, we need to + * iterate handles, pick device path for handle, and check the device + * number. + */ +static EFI_HANDLE +efi_serial_get_handle(int port, EFI_HANDLE condev) +{ + EFI_STATUS status; + EFI_HANDLE *handles, handle; + EFI_DEVICE_PATH *devpath; + int index, nhandles; + + if (port == -1) + return (NULL); + + handles = NULL; + nhandles = 0; + status = efi_serial_init(&handles, &nhandles); + if (EFI_ERROR(status)) + return (NULL); + + /* + * We have console handle, set ioaddr for it. + */ + if (condev != NULL) { + for (index = 0; index < nhandles; index++) { + if (condev == handles[index]) { + devpath = efi_lookup_devpath(condev); + comc_port->ioaddr = + efi_serial_get_index(devpath, index); + efi_close_devpath(condev); + free(handles); + return (condev); + } + } + } + + handle = NULL; + for (index = 0; handle == NULL && index < nhandles; index++) { + devpath = efi_lookup_devpath(handles[index]); + if (port == efi_serial_get_index(devpath, index)) + handle = (handles[index]); + efi_close_devpath(handles[index]); + } + + /* + * In case we did fail to identify the device by path, use port as + * array index. Note, we did check port == -1 above. + */ + if (port < nhandles && handle == NULL) + handle = handles[port]; + + free(handles); + return (handle); +} + +static EFI_HANDLE +comc_get_con_serial_handle(const char *name) +{ + EFI_HANDLE handle; + EFI_DEVICE_PATH *node; + EFI_STATUS status; + char *buf, *ep; + size_t sz; + + buf = NULL; + sz = 0; + status = efi_global_getenv(name, buf, &sz); + if (status == EFI_BUFFER_TOO_SMALL) { + buf = malloc(sz); + if (buf != NULL) + status = efi_global_getenv(name, buf, &sz); + } + if (status != EFI_SUCCESS) { + free(buf); + return (NULL); + } + + ep = buf + sz; + node = (EFI_DEVICE_PATH *)buf; + while ((char *)node < ep) { + status = BS->LocateDevicePath(&serial, &node, &handle); + if (status == EFI_SUCCESS) { + free(buf); + return (handle); + } + if (IsDevicePathEndType(node) && + DevicePathSubType(node) == + END_INSTANCE_DEVICE_PATH_SUBTYPE) { + /* + * Start of next device path in list. + */ + node = NextDevicePathNode(node); + continue; + } + if (IsDevicePathEnd(node)) + break; + } + free(buf); + return (NULL); +} + +static void +comc_probe(struct console *sc) +{ + EFI_STATUS status; + EFI_HANDLE handle; + char name[20]; + char value[20]; + unsigned val; + char *env, *buf, *ep; + size_t sz; + + if (comc_port == NULL) { + comc_port = malloc(sizeof (struct serial)); + if (comc_port == NULL) + return; + } + comc_port->baudrate = COMSPEED; + comc_port->ioaddr = 0; /* default port */ + comc_port->databits = 8; /* 8,n,1 */ + comc_port->parity = NoParity; /* 8,n,1 */ + comc_port->stopbits = OneStopBit; /* 8,n,1 */ + comc_port->ignore_cd = 1; /* ignore cd */ + comc_port->rtsdtr_off = 0; /* rts-dtr is on */ + comc_port->sio = NULL; + + handle = NULL; + env = getenv("efi_com_port"); + if (comc_parse_intval(env, &val) == CMD_OK) { + comc_port->ioaddr = val; + } else { + /* + * efi_com_port is not set, we need to select default. + * First, we consult ConOut variable to see if + * we have serial port redirection. If not, we just + * pick first device. + */ + handle = comc_get_con_serial_handle("ConOut"); + comc_port->condev = handle; + } + + handle = efi_serial_get_handle(comc_port->ioaddr, handle); + if (handle != NULL) { + comc_port->currdev = handle; + status = BS->OpenProtocol(handle, &serial, + (void**)&comc_port->sio, IH, NULL, + EFI_OPEN_PROTOCOL_GET_PROTOCOL); + + if (EFI_ERROR(status)) + comc_port->sio = NULL; + } + + if (env != NULL) + unsetenv("efi_com_port"); + snprintf(value, sizeof (value), "%u", comc_port->ioaddr); + env_setenv("efi_com_port", EV_VOLATILE, value, + comc_port_set, env_nounset); + + env = getenv("efi_com_speed"); + if (comc_parse_intval(env, &val) == CMD_OK) + comc_port->baudrate = val; + + if (env != NULL) + unsetenv("efi_com_speed"); + snprintf(value, sizeof (value), "%ju", (uintmax_t)comc_port->baudrate); + env_setenv("efi_com_speed", EV_VOLATILE, value, + comc_speed_set, env_nounset); + + comconsole.c_flags = 0; + if (comc_setup()) + sc->c_flags = C_PRESENTIN | C_PRESENTOUT; +} + +static int +comc_init(int arg __unused) +{ + + if (comc_setup()) + return (CMD_OK); + + comconsole.c_flags = 0; + return (CMD_ERROR); +} + +static void +comc_putchar(int c) +{ + int wait; + EFI_STATUS status; + UINTN bufsz = 1; + char cb = c; + + if (comc_port->sio == NULL) + return; + + for (wait = COMC_TXWAIT; wait > 0; wait--) { + status = comc_port->sio->Write(comc_port->sio, &bufsz, &cb); + if (status != EFI_TIMEOUT) + break; + } +} + +static int +comc_getchar(void) +{ + EFI_STATUS status; + UINTN bufsz = 1; + char c; + + + /* + * if this device is also used as ConIn, some firmwares + * fail to return all input via SIO protocol. + */ + if (comc_port->currdev == comc_port->condev) { + if ((efi_console.c_flags & C_ACTIVEIN) == 0) + return (efi_console.c_in()); + return (-1); + } + + if (comc_port->sio == NULL) + return (-1); + + status = comc_port->sio->Read(comc_port->sio, &bufsz, &c); + if (EFI_ERROR(status) || bufsz == 0) + return (-1); + + return (c); +} + +static int +comc_ischar(void) +{ + EFI_STATUS status; + uint32_t control; + + /* + * if this device is also used as ConIn, some firmwares + * fail to return all input via SIO protocol. + */ + if (comc_port->currdev == comc_port->condev) { + if ((efi_console.c_flags & C_ACTIVEIN) == 0) + return (efi_console.c_ready()); + return (0); + } + + if (comc_port->sio == NULL) + return (0); + + status = comc_port->sio->GetControl(comc_port->sio, &control); + if (EFI_ERROR(status)) + return (0); + + return (!(control & EFI_SERIAL_INPUT_BUFFER_EMPTY)); +} + +static int +comc_parse_intval(const char *value, unsigned *valp) +{ + unsigned n; + char *ep; + + if (value == NULL || *value == '\0') + return (CMD_ERROR); + + errno = 0; + n = strtoul(value, &ep, 10); + if (errno != 0 || *ep != '\0') + return (CMD_ERROR); + *valp = n; + + return (CMD_OK); +} + +static int +comc_port_set(struct env_var *ev, int flags, const void *value) +{ + unsigned port; + SERIAL_IO_INTERFACE *sio; + EFI_HANDLE handle; + EFI_STATUS status; + + if (value == NULL) + return (CMD_ERROR); + + if (comc_parse_intval(value, &port) != CMD_OK) + return (CMD_ERROR); + + handle = efi_serial_get_handle(port, NULL); + if (handle == NULL) { + printf("no handle\n"); + return (CMD_ERROR); + } + + status = BS->OpenProtocol(handle, &serial, + (void**)&sio, IH, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL); + + if (EFI_ERROR(status)) { + printf("OpenProtocol: %lu\n", EFI_ERROR_CODE(status)); + return (CMD_ERROR); + } + + comc_port->currdev = handle; + comc_port->ioaddr = port; + comc_port->sio = sio; + + (void) comc_setup(); + + env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); + return (CMD_OK); +} + +static int +comc_speed_set(struct env_var *ev, int flags, const void *value) +{ + unsigned speed; + + if (value == NULL) + return (CMD_ERROR); + + if (comc_parse_intval(value, &speed) != CMD_OK) + return (CMD_ERROR); + + comc_port->baudrate = speed; + (void) comc_setup(); + + env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); + + return (CMD_OK); +} + +/* + * In case of error, we also reset ACTIVE flags, so the console + * framefork will try alternate consoles. + */ +static bool +comc_setup(void) +{ + EFI_STATUS status; + UINT32 control; + + /* port is not usable */ + if (comc_port->sio == NULL) + return (false); + + status = comc_port->sio->Reset(comc_port->sio); + if (EFI_ERROR(status)) + return (false); + + status = comc_port->sio->SetAttributes(comc_port->sio, + comc_port->baudrate, 0, 0, comc_port->parity, + comc_port->databits, comc_port->stopbits); + if (EFI_ERROR(status)) + return (false); + + status = comc_port->sio->GetControl(comc_port->sio, &control); + if (EFI_ERROR(status)) + return (false); + if (comc_port->rtsdtr_off) { + control &= ~(EFI_SERIAL_REQUEST_TO_SEND | + EFI_SERIAL_DATA_TERMINAL_READY); + } else { + control |= EFI_SERIAL_REQUEST_TO_SEND; + } + (void) comc_port->sio->SetControl(comc_port->sio, control); + /* Mark this port usable. */ + comconsole.c_flags |= (C_PRESENTIN | C_PRESENTOUT); + return (true); +} Modified: head/stand/efi/loader/main.c ============================================================================== --- head/stand/efi/loader/main.c Sat Mar 14 05:57:22 2020 (r358988) +++ head/stand/efi/loader/main.c Sat Mar 14 06:36:03 2020 (r358989) @@ -722,7 +722,8 @@ parse_uefi_con_out(void) while ((char *)node < ep) { pci_pending = false; if (DevicePathType(node) == ACPI_DEVICE_PATH && - DevicePathSubType(node) == ACPI_DP) { + (DevicePathSubType(node) == ACPI_DP || + DevicePathSubType(node) == ACPI_EXTENDED_DP)) { /* Check for Serial node */ acpi = (void *)node; if (EISA_ID_TO_NUM(acpi->HID) == 0x501) { @@ -731,7 +732,7 @@ parse_uefi_con_out(void) } } else if (DevicePathType(node) == MESSAGING_DEVICE_PATH && DevicePathSubType(node) == MSG_UART_DP) { - + com_seen = ++seen; uart = (void *)node; setenv_int("efi_com_speed", uart->BaudRate); } else if (DevicePathType(node) == ACPI_DEVICE_PATH && @@ -897,6 +898,11 @@ main(int argc, CHAR16 *argv[]) * changes to take effect, regardless of where they come from. */ setenv("console", "efi", 1); + uhowto = parse_uefi_con_out(); +#if defined(__aarch64__) || defined(__arm__) + if ((uhowto & RB_SERIAL) != 0) + setenv("console", "comconsole", 1); +#endif cons_probe(); /* Init the time source */ @@ -930,7 +936,6 @@ main(int argc, CHAR16 *argv[]) if (!has_kbd && (howto & RB_PROBE)) howto |= RB_SERIAL | RB_MULTIPLE; howto &= ~RB_PROBE; - uhowto = parse_uefi_con_out(); /* * Read additional environment variables from the boot device's From owner-svn-src-head@freebsd.org Sat Mar 14 14:04:56 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3C24C25A47F; Sat, 14 Mar 2020 14:04:56 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fkpc0l2kz4GQ9; Sat, 14 Mar 2020 14:04:56 +0000 (UTC) (envelope-from bz@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 103001FF91; Sat, 14 Mar 2020 14:04:56 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02EE4tgv089111; Sat, 14 Mar 2020 14:04:55 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02EE4tXg089110; Sat, 14 Mar 2020 14:04:55 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202003141404.02EE4tXg089110@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Sat, 14 Mar 2020 14:04:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358992 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: bz X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 358992 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 14:04:56 -0000 Author: bz Date: Sat Mar 14 14:04:55 2020 New Revision: 358992 URL: https://svnweb.freebsd.org/changeset/base/358992 Log: kern_jail: missing \0 termination check on osrelease parameter If a user spplies a non-\0 terminated osrelease parameter reading it back may disclose kernel memory. This is a problem in case of nested jails (children.max > 0, which is not the default). Otherwise root outside the jail has access to kernel memory by other means and root inside a jail cannot create a child jail. Add the proper \0 check at the end of a supplied osrelease parameter and make sure any copies of the field will be \0-terminated. Submitted by: Hans Christian Woithe (chwoithe yahoo.com) MFC after: 3 days Modified: head/sys/kern/kern_jail.c Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Sat Mar 14 11:55:27 2020 (r358991) +++ head/sys/kern/kern_jail.c Sat Mar 14 14:04:55 2020 (r358992) @@ -865,8 +865,12 @@ kern_jail_set(struct thread *td, struct uio *optuio, i "osrelease cannot be changed after creation"); goto done_errmsg; } - if (len == 0 || len >= OSRELEASELEN) { + if (len == 0 || osrelstr[len - 1] != '\0') { error = EINVAL; + goto done_free; + } + if (len >= OSRELEASELEN) { + error = ENAMETOOLONG; vfs_opterror(opts, "osrelease string must be 1-%d bytes long", OSRELEASELEN - 1); @@ -1241,9 +1245,11 @@ kern_jail_set(struct thread *td, struct uio *optuio, i pr->pr_osreldate = osreldt ? osreldt : ppr->pr_osreldate; if (osrelstr == NULL) - strcpy(pr->pr_osrelease, ppr->pr_osrelease); + strlcpy(pr->pr_osrelease, ppr->pr_osrelease, + sizeof(pr->pr_osrelease)); else - strcpy(pr->pr_osrelease, osrelstr); + strlcpy(pr->pr_osrelease, osrelstr, + sizeof(pr->pr_osrelease)); LIST_INIT(&pr->pr_children); mtx_init(&pr->pr_mtx, "jail mutex", NULL, MTX_DEF | MTX_DUPOK); From owner-svn-src-head@freebsd.org Sat Mar 14 15:15:28 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2A62225BF15; Sat, 14 Mar 2020 15:15:28 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fmMz4KzNz4Zyg; Sat, 14 Mar 2020 15:15:27 +0000 (UTC) (envelope-from kevans@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 7738020C8E; Sat, 14 Mar 2020 15:15:27 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02EFFRXq031468; Sat, 14 Mar 2020 15:15:27 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02EFFRIe031467; Sat, 14 Mar 2020 15:15:27 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202003141515.02EFFRIe031467@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Sat, 14 Mar 2020 15:15:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358993 - head/lib/libssp X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/lib/libssp X-SVN-Commit-Revision: 358993 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 15:15:28 -0000 Author: kevans Date: Sat Mar 14 15:15:27 2020 New Revision: 358993 URL: https://svnweb.freebsd.org/changeset/base/358993 Log: libssp: don't compile with -fstack-protector* This similarly matches what we do in libc; compiling libssp with -fstack-protector* is actively harmful. For instance, if the canary ctor ends up with a stack protector then it will trivially trigger a false positive as the canary's being initialized. This was noted by the reporter as irc/ircd-hybrid started crashing at start after our libssp was MFC'd to stable/11, as its build will explicitly link in libssp. On FreeBSD, this isn't necessary as SSP bits are included in libc, but it should absolutely not trigger runtime breakage -- it does mean that the canary will get initialized twice, but as this is happening early on in application startup it should just be redundant work. Reported by: Tod McQuillin MFC after: 3 days Modified: head/lib/libssp/Makefile Modified: head/lib/libssp/Makefile ============================================================================== --- head/lib/libssp/Makefile Sat Mar 14 14:04:55 2020 (r358992) +++ head/lib/libssp/Makefile Sat Mar 14 15:15:27 2020 (r358993) @@ -17,4 +17,8 @@ SRCS= stack_protector.c fortify_stubs.c CFLAGS.fortify_stubs.c= -Wno-unused-parameter +# Stack protection on libssp symbols should be considered harmful, as we may +# be talking about, for example, the guard setup constructor. +SSP_CFLAGS:= + .include From owner-svn-src-head@freebsd.org Sat Mar 14 17:40:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2106525FC99 for ; Sat, 14 Mar 2020 17:40:22 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-ot1-f43.google.com (mail-ot1-f43.google.com [209.85.210.43]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fqb85qBcz3Lvm for ; Sat, 14 Mar 2020 17:40:20 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-ot1-f43.google.com with SMTP id j16so13549765otl.1 for ; Sat, 14 Mar 2020 10:40:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:cc; bh=ZhUn31aKGtlHPpbmtoHKLFV0FQ9XHog/khUhvcR+F6c=; b=hSgT7QDJPhQN45OKj8kY00ixW2qZ2IkVXXZ6BRwbFiP7gQFPY+1Vq2v++PrDaopLK2 PPwoU/qCO3yhaaQ4ikeUWiHeGxc8ROlvvsyWfdikD1l4KMHYmbOZCcMkx/SqveyNBkmg Tg2a54phb+CN9iL8zJ/d69SAxWH9fOnT1QtxEi4Fwez3ibQ2fepw8QdvqAhxqY/7uUaf eGX++LO4bhasOY5iVydwlS81AlyCXXyCTdoAAUaO4sGetmZIOA8IMRRu3SOJQ3MTCpdS tJc+WO89QInMS+WQI94DdEMgGHZ5PE4x6d0p5dtz3TPEPvyKuBXWhqk00gKQM8gOGQ9n lPbw== X-Gm-Message-State: ANhLgQ2LKOOzNdeXbe3P0MP9jRzM7Bc8tQRmbUctVI+4anOXwZywNh1V gtiIUlgN+l9UmBci7NyWza2p7rPC X-Google-Smtp-Source: ADFU+vuxDyClUWpSZQs72VR4CURn3N/yT3YvCiM+I/acmJ2uGf7J/OgZaCxjnoT6nZ/L7sx9CA8BQQ== X-Received: by 2002:a9d:2a83:: with SMTP id e3mr17353475otb.280.1584207619242; Sat, 14 Mar 2020 10:40:19 -0700 (PDT) Received: from mail-ot1-f46.google.com (mail-ot1-f46.google.com. [209.85.210.46]) by smtp.gmail.com with ESMTPSA id l29sm9626192ota.55.2020.03.14.10.40.18 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 14 Mar 2020 10:40:18 -0700 (PDT) Received: by mail-ot1-f46.google.com with SMTP id j14so13597443otq.3 for ; Sat, 14 Mar 2020 10:40:18 -0700 (PDT) X-Received: by 2002:a05:6830:110c:: with SMTP id w12mt1001411otq.175.1584207618527; Sat, 14 Mar 2020 10:40:18 -0700 (PDT) MIME-Version: 1.0 References: <202003140557.02E5vMBA097086@repo.freebsd.org> In-Reply-To: <202003140557.02E5vMBA097086@repo.freebsd.org> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Sat, 14 Mar 2020 10:40:08 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r358988 - head/usr.bin/gzip Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 48fqb85qBcz3Lvm X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of csecem@gmail.com designates 209.85.210.43 as permitted sender) smtp.mailfrom=csecem@gmail.com X-Spamd-Result: default: False [-1.03 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[cem@freebsd.org]; RWL_MAILSPIKE_GOOD(0.00)[43.210.85.209.rep.mailspike.net : 127.0.0.18]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; REPLYTO_ADDR_EQ_FROM(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; TO_DN_ALL(0.00)[]; MISSING_TO(2.00)[]; FORGED_SENDER(0.30)[cem@freebsd.org,csecem@gmail.com]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TAGGED_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_NEQ_ENVFROM(0.00)[cem@freebsd.org,csecem@gmail.com]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[43.210.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-1.03)[ip: (-0.46), ipnet: 209.85.128.0/17(-2.97), asn: 15169(-1.65), country: US(-0.05)]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 17:40:22 -0000 For additional context, this quiesces (false positive) Coverity CID 1383554. On Fri, Mar 13, 2020 at 10:57 PM Xin LI wrote: > > Author: delphij > Date: Sat Mar 14 05:57:22 2020 > New Revision: 358988 > URL: https://svnweb.freebsd.org/changeset/base/358988 > > Log: > Remove unneeded checks for prelen. > > In order to determine the type of a compressed file, we have to read > in the first four bytes which may also be important for decompression > purposes, to do that we would pass the buffer that we have already > read in, along with the size of it. > > Rename header1 to fourbytes to make that explicit, and remove all > checks for prelen. From owner-svn-src-head@freebsd.org Sat Mar 14 18:35:45 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 87F48261092; Sat, 14 Mar 2020 18:35:45 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48frq510whz4f84; Sat, 14 Mar 2020 18:35:45 +0000 (UTC) (envelope-from imp@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 C385D23261; Sat, 14 Mar 2020 18:35:44 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02EIZiNp051919; Sat, 14 Mar 2020 18:35:44 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02EIZitQ051918; Sat, 14 Mar 2020 18:35:44 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003141835.02EIZitQ051918@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 14 Mar 2020 18:35:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358994 - head/sys/modules/cam X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/modules/cam X-SVN-Commit-Revision: 358994 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 18:35:45 -0000 Author: imp Date: Sat Mar 14 18:35:44 2020 New Revision: 358994 URL: https://svnweb.freebsd.org/changeset/base/358994 Log: Sparc64 and pc98 needed cam_machdep and/or ata_machdep for various reasons. Those have now left the tree, and with them the need to have machdep files. Places that called the routines in quesiton have been removed previously. Remove these files from the Makefile to tidy up. Modified: head/sys/modules/cam/Makefile Modified: head/sys/modules/cam/Makefile ============================================================================== --- head/sys/modules/cam/Makefile Sat Mar 14 15:15:27 2020 (r358993) +++ head/sys/modules/cam/Makefile Sat Mar 14 18:35:44 2020 (r358994) @@ -20,9 +20,6 @@ SRCS+= opt_printf.h SRCS+= device_if.h bus_if.h vnode_if.h SRCS+= cam.c SRCS+= cam_compat.c -.if exists($S/${MACHINE}/${MACHINE}/cam_machdep.c) -SRCS+= cam_machdep.c -.endif SRCS+= cam_iosched.c cam_periph.c cam_queue.c cam_sim.c cam_xpt.c SRCS+= scsi_all.c scsi_cd.c scsi_ch.c SRCS+= scsi_da.c @@ -39,9 +36,6 @@ SRCS+= smp_all.c SRCS+= ata_all.c SRCS+= ata_xpt.c SRCS+= ata_da.c -.if exists($S/${MACHINE}/${MACHINE}/ata_machdep.c) -SRCS+= ata_machdep.c -.endif SRCS+= ata_pmp.c SRCS+= nvme_all.c SRCS+= nvme_xpt.c From owner-svn-src-head@freebsd.org Sat Mar 14 19:43:45 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6340E2622AA; Sat, 14 Mar 2020 19:43:45 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ftKY0YkBz4JqV; Sat, 14 Mar 2020 19:43:45 +0000 (UTC) (envelope-from pkelsey@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 C676823F1A; Sat, 14 Mar 2020 19:43:44 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02EJhix2093986; Sat, 14 Mar 2020 19:43:44 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02EJhixQ093985; Sat, 14 Mar 2020 19:43:44 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <202003141943.02EJhixQ093985@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 14 Mar 2020 19:43:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358995 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: pkelsey X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 358995 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 19:43:45 -0000 Author: pkelsey Date: Sat Mar 14 19:43:44 2020 New Revision: 358995 URL: https://svnweb.freebsd.org/changeset/base/358995 Log: Fix iflib freelist state corruption This fixes a bug in iflib freelist management that breaks the required correspondence between freelist indexes and driver ring slots. PR: 243126, 243392, 240628 Reported by: avg, alexandr.oleynikov@gmail.com, Harald Schmalzbauer Reviewed by: avg, gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23943 Modified: head/sys/net/iflib.c Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Sat Mar 14 18:35:44 2020 (r358994) +++ head/sys/net/iflib.c Sat Mar 14 19:43:44 2020 (r358995) @@ -2072,7 +2072,9 @@ _iflib_fl_refill(if_ctx_t ctx, iflib_fl_t fl, int coun bus_dmamap_sync(fl->ifl_ifdi->idi_tag, fl->ifl_ifdi->idi_map, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); ctx->isc_rxd_flush(ctx->ifc_softc, fl->ifl_rxq->ifr_id, fl->ifl_id, pidx); - fl->ifl_fragidx = frag_idx; + fl->ifl_fragidx = frag_idx + 1; + if (fl->ifl_fragidx == fl->ifl_size) + fl->ifl_fragidx = 0; return (n == -1 ? 0 : IFLIB_RXEOF_EMPTY); } From owner-svn-src-head@freebsd.org Sat Mar 14 19:51:57 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5F719262636; Sat, 14 Mar 2020 19:51:57 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ftW03bMwz4fgX; Sat, 14 Mar 2020 19:51:56 +0000 (UTC) (envelope-from pkelsey@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 0E5D5240DE; Sat, 14 Mar 2020 19:51:56 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02EJpt4f099989; Sat, 14 Mar 2020 19:51:55 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02EJptLc099988; Sat, 14 Mar 2020 19:51:55 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <202003141951.02EJptLc099988@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 14 Mar 2020 19:51:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358996 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: pkelsey X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 358996 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 19:51:57 -0000 Author: pkelsey Date: Sat Mar 14 19:51:55 2020 New Revision: 358996 URL: https://svnweb.freebsd.org/changeset/base/358996 Log: Fix iflib zero-length fragment handling The dmamap for zero-length fragments should not be unloaded, as doing so breaks the the cluster-reuse logic in _iflib_fl_refill(). All zero-length fragments are now handled by the assemble_segments() path so that the cluster-reuse logic there does not have to be replicated in the small-single-fragment-packet path of iflib_rxd_pkt_get(). Packets consisting entirely of zero-length fragments (which result in a NULL mbuf pointer) are now properly tolerated. This allows drivers (such as the vmx driver) to pass such packets to iflib when a descriptor error occurs during packet reception, the advantage being that the refill of descriptors associated with the error packet are handled via the existing iflib machinery without having to duplicate parts of that machinery in the driver to handle that error case. Reviewed by: avg, erj, gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23945 Modified: head/sys/net/iflib.c Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Sat Mar 14 19:43:44 2020 (r358995) +++ head/sys/net/iflib.c Sat Mar 14 19:51:55 2020 (r358996) @@ -2550,7 +2550,8 @@ rxd_frag_to_sd(iflib_rxq_t rxq, if_rxd_frag_t irf, boo MPASS(fl->ifl_cidx == cidx); bus_dmamap_sync(fl->ifl_buf_tag, map, BUS_DMASYNC_POSTREAD); - if (rxq->pfil != NULL && PFIL_HOOKED_IN(rxq->pfil) && pf_rv != NULL) { + if (rxq->pfil != NULL && PFIL_HOOKED_IN(rxq->pfil) && pf_rv != NULL && + irf->irf_len != 0) { payload = *sd->ifsd_cl; payload += ri->iri_pad; len = ri->iri_len - ri->iri_pad; @@ -2587,7 +2588,7 @@ rxd_frag_to_sd(iflib_rxq_t rxq, if_rxd_frag_t irf, boo *pf_rv = PFIL_PASS; } - if (unload) + if (unload && irf->irf_len != 0) bus_dmamap_unload(fl->ifl_buf_tag, map); fl->ifl_cidx = (fl->ifl_cidx + 1) & (fl->ifl_size-1); if (__predict_false(fl->ifl_cidx == 0)) @@ -2672,6 +2673,7 @@ iflib_rxd_pkt_get(iflib_rxq_t rxq, if_rxd_info_t ri) /* should I merge this back in now that the two paths are basically duplicated? */ if (ri->iri_nfrags == 1 && + ri->iri_frags[0].irf_len != 0 && ri->iri_frags[0].irf_len <= MIN(IFLIB_RX_COPY_THRESH, MHLEN)) { m = rxd_frag_to_sd(rxq, &ri->iri_frags[0], false, &sd, &pf_rv, ri); @@ -2688,6 +2690,8 @@ iflib_rxd_pkt_get(iflib_rxq_t rxq, if_rxd_info_t ri) } } else { m = assemble_segments(rxq, ri, &sd, &pf_rv); + if (m == NULL) + return (NULL); if (pf_rv != PFIL_PASS && pf_rv != PFIL_REALLOCED) return (m); } From owner-svn-src-head@freebsd.org Sat Mar 14 19:55:06 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EBA4E262835; Sat, 14 Mar 2020 19:55:06 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ftZf0zQ7z3Jd4; Sat, 14 Mar 2020 19:55:06 +0000 (UTC) (envelope-from pkelsey@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 025ED24141; Sat, 14 Mar 2020 19:55:06 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02EJt5AL000311; Sat, 14 Mar 2020 19:55:05 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02EJt5v1000310; Sat, 14 Mar 2020 19:55:05 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <202003141955.02EJt5v1000310@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 14 Mar 2020 19:55:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358997 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: pkelsey X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 358997 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 19:55:07 -0000 Author: pkelsey Date: Sat Mar 14 19:55:05 2020 New Revision: 358997 URL: https://svnweb.freebsd.org/changeset/base/358997 Log: Remove freelist contiguous-indexes assertion from rxd_frag_to_sd() The vmx driver is an example of an iflib driver that might report packets using non-contiguous descriptors (with unused descriptors either between received packets or between the fragments of a received packet), so this assertion needs to be removed. For such drivers, the freelist producer and consumer indexes don't relate directly to driver ring slots (the driver deals directly with freelist buffer indexes supplied by iflib during refill, and reports them with each fragment during packet reception), but do continue to be used by iflib for accounting, such as determining the number of ring slots that are refillable. PR: 243126, 243392, 240628 Reported by: avg, alexandr.oleynikov@gmail.com, Harald Schmalzbauer Reviewed by: gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23946 Modified: head/sys/net/iflib.c Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Sat Mar 14 19:51:55 2020 (r358996) +++ head/sys/net/iflib.c Sat Mar 14 19:55:05 2020 (r358997) @@ -2546,8 +2546,6 @@ rxd_frag_to_sd(iflib_rxq_t rxq, if_rxd_frag_t irf, boo map = fl->ifl_sds.ifsd_map[cidx]; next = (cidx + CACHE_LINE_SIZE) & (fl->ifl_size-1); - /* not valid assert if bxe really does SGE from non-contiguous elements */ - MPASS(fl->ifl_cidx == cidx); bus_dmamap_sync(fl->ifl_buf_tag, map, BUS_DMASYNC_POSTREAD); if (rxq->pfil != NULL && PFIL_HOOKED_IN(rxq->pfil) && pf_rv != NULL && From owner-svn-src-head@freebsd.org Sat Mar 14 19:56:49 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 127112629F1; Sat, 14 Mar 2020 19:56:49 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ftcb4ltmz3N5X; Sat, 14 Mar 2020 19:56:47 +0000 (UTC) (envelope-from pkelsey@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 0E02924165; Sat, 14 Mar 2020 19:56:47 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02EJukE4000463; Sat, 14 Mar 2020 19:56:46 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02EJukhk000460; Sat, 14 Mar 2020 19:56:46 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <202003141956.02EJukhk000460@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 14 Mar 2020 19:56:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358998 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: pkelsey X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 358998 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 19:56:49 -0000 Author: pkelsey Date: Sat Mar 14 19:56:46 2020 New Revision: 358998 URL: https://svnweb.freebsd.org/changeset/base/358998 Log: Allow iflib drivers to specify the buffer size used for each receive queue Reviewed by: erj, gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23947 Modified: head/sys/net/iflib.c head/sys/net/iflib.h Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Sat Mar 14 19:55:05 2020 (r358997) +++ head/sys/net/iflib.c Sat Mar 14 19:56:46 2020 (r358998) @@ -708,6 +708,7 @@ static int iflib_altq_if_transmit(if_t ifp, struct mbu static int iflib_register(if_ctx_t); static void iflib_deregister(if_ctx_t); static void iflib_unregister_vlan_handlers(if_ctx_t ctx); +static uint16_t iflib_get_mbuf_size_for(unsigned int size); static void iflib_init_locked(if_ctx_t ctx); static void iflib_add_device_sysctl_pre(if_ctx_t ctx); static void iflib_add_device_sysctl_post(if_ctx_t ctx); @@ -2163,6 +2164,8 @@ iflib_fl_setup(iflib_fl_t fl) { iflib_rxq_t rxq = fl->ifl_rxq; if_ctx_t ctx = rxq->ifr_ctx; + if_softc_ctx_t scctx = &ctx->ifc_softc_ctx; + int qidx; bit_nclear(fl->ifl_rx_bitmap, 0, fl->ifl_size - 1); /* @@ -2171,7 +2174,16 @@ iflib_fl_setup(iflib_fl_t fl) iflib_fl_bufs_free(fl); /* Now replenish the mbufs */ MPASS(fl->ifl_credits == 0); - fl->ifl_buf_size = ctx->ifc_rx_mbuf_sz; + qidx = rxq->ifr_fl_offset + fl->ifl_id; + if (scctx->isc_rxd_buf_size[qidx] != 0) + fl->ifl_buf_size = scctx->isc_rxd_buf_size[qidx]; + else + fl->ifl_buf_size = ctx->ifc_rx_mbuf_sz; + /* + * ifl_buf_size may be a driver-supplied value, so pull it up + * to the selected mbuf size. + */ + fl->ifl_buf_size = iflib_get_mbuf_size_for(fl->ifl_buf_size); if (fl->ifl_buf_size > ctx->ifc_max_fl_buf_size) ctx->ifc_max_fl_buf_size = fl->ifl_buf_size; fl->ifl_cltype = m_gettype(fl->ifl_buf_size); @@ -2303,6 +2315,16 @@ iflib_timer(void *arg) STATE_UNLOCK(ctx); } +static uint16_t +iflib_get_mbuf_size_for(unsigned int size) +{ + + if (size <= MCLBYTES) + return (MCLBYTES); + else + return (MJUMPAGESIZE); +} + static void iflib_calc_rx_mbuf_sz(if_ctx_t ctx) { @@ -2312,10 +2334,8 @@ iflib_calc_rx_mbuf_sz(if_ctx_t ctx) * XXX don't set the max_frame_size to larger * than the hardware can handle */ - if (sctx->isc_max_frame_size <= MCLBYTES) - ctx->ifc_rx_mbuf_sz = MCLBYTES; - else - ctx->ifc_rx_mbuf_sz = MJUMPAGESIZE; + ctx->ifc_rx_mbuf_sz = + iflib_get_mbuf_size_for(sctx->isc_max_frame_size); } uint32_t @@ -6724,6 +6744,9 @@ iflib_add_device_sysctl_post(if_ctx_t ctx) SYSCTL_ADD_U16(ctx_list, fl_list, OID_AUTO, "credits", CTLFLAG_RD, &fl->ifl_credits, 1, "credits available"); + SYSCTL_ADD_U16(ctx_list, fl_list, OID_AUTO, "buf_size", + CTLFLAG_RD, + &fl->ifl_buf_size, 1, "buffer size"); #if MEMORY_LOGGING SYSCTL_ADD_QUAD(ctx_list, fl_list, OID_AUTO, "fl_m_enqueued", CTLFLAG_RD, Modified: head/sys/net/iflib.h ============================================================================== --- head/sys/net/iflib.h Sat Mar 14 19:55:05 2020 (r358997) +++ head/sys/net/iflib.h Sat Mar 14 19:56:46 2020 (r358998) @@ -220,6 +220,9 @@ typedef struct if_softc_ctx { uint32_t __spare2__; iflib_intr_mode_t isc_intr; + uint16_t isc_rxd_buf_size[8]; /* set at init time by driver, 0 + means use iflib-calculated size + based on isc_max_frame_size */ uint16_t isc_max_frame_size; /* set at init time by driver */ uint16_t isc_min_frame_size; /* set at init time by driver, only used if IFLIB_NEED_ETHER_PAD is set. */ From owner-svn-src-head@freebsd.org Sat Mar 14 19:58:51 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DD056262B5D; Sat, 14 Mar 2020 19:58:51 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ftfz3KGNz3xjh; Sat, 14 Mar 2020 19:58:51 +0000 (UTC) (envelope-from pkelsey@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 3D9B524179; Sat, 14 Mar 2020 19:58:51 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02EJwpA9000759; Sat, 14 Mar 2020 19:58:51 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02EJwplW000758; Sat, 14 Mar 2020 19:58:51 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <202003141958.02EJwplW000758@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 14 Mar 2020 19:58:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r358999 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: pkelsey X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 358999 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 19:58:51 -0000 Author: pkelsey Date: Sat Mar 14 19:58:50 2020 New Revision: 358999 URL: https://svnweb.freebsd.org/changeset/base/358999 Log: Remove refill budget from iflib Reviewed by: gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23948 Modified: head/sys/net/iflib.c Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Sat Mar 14 19:56:46 2020 (r358998) +++ head/sys/net/iflib.c Sat Mar 14 19:58:50 2020 (r358999) @@ -2081,7 +2081,7 @@ _iflib_fl_refill(if_ctx_t ctx, iflib_fl_t fl, int coun } static __inline uint8_t -__iflib_fl_refill_lt(if_ctx_t ctx, iflib_fl_t fl, int max) +__iflib_fl_refill_all(if_ctx_t ctx, iflib_fl_t fl) { /* we avoid allowing pidx to catch up with cidx as it confuses ixl */ int32_t reclaimable = fl->ifl_size - fl->ifl_credits - 1; @@ -2093,7 +2093,7 @@ __iflib_fl_refill_lt(if_ctx_t ctx, iflib_fl_t fl, int MPASS(reclaimable == delta); if (reclaimable > 0) - return (_iflib_fl_refill(ctx, fl, min(max, reclaimable))); + return (_iflib_fl_refill(ctx, fl, reclaimable)); return (0); } @@ -2812,7 +2812,7 @@ iflib_rxeof(iflib_rxq_t rxq, qidx_t budget) cidxp = &rxq->ifr_fl[0].ifl_cidx; if ((avail = iflib_rxd_avail(ctx, rxq, *cidxp, budget)) == 0) { for (i = 0, fl = &rxq->ifr_fl[0]; i < sctx->isc_nfl; i++, fl++) - retval |= __iflib_fl_refill_lt(ctx, fl, budget + 8); + retval |= __iflib_fl_refill_all(ctx, fl); DBG_COUNTER_INC(rx_unavail); return (retval); } @@ -2872,7 +2872,7 @@ iflib_rxeof(iflib_rxq_t rxq, qidx_t budget) CURVNET_RESTORE(); /* make sure that we can refill faster than drain */ for (i = 0, fl = &rxq->ifr_fl[0]; i < sctx->isc_nfl; i++, fl++) - retval |= __iflib_fl_refill_lt(ctx, fl, budget + 8); + retval |= __iflib_fl_refill_all(ctx, fl); lro_enabled = (if_getcapenable(ifp) & IFCAP_LRO); if (lro_enabled) From owner-svn-src-head@freebsd.org Sat Mar 14 20:08:05 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DD2F3262E1C; Sat, 14 Mar 2020 20:08:05 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ftsd00s0z49DJ; Sat, 14 Mar 2020 20:08:04 +0000 (UTC) (envelope-from pkelsey@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 D540E24352; Sat, 14 Mar 2020 20:08:04 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02EK84Nf006752; Sat, 14 Mar 2020 20:08:04 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02EK84PG006750; Sat, 14 Mar 2020 20:08:04 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <202003142008.02EK84PG006750@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 14 Mar 2020 20:08:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359000 - head/sys/dev/vmware/vmxnet3 X-SVN-Group: head X-SVN-Commit-Author: pkelsey X-SVN-Commit-Paths: head/sys/dev/vmware/vmxnet3 X-SVN-Commit-Revision: 359000 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 20:08:06 -0000 Author: pkelsey Date: Sat Mar 14 20:08:04 2020 New Revision: 359000 URL: https://svnweb.freebsd.org/changeset/base/359000 Log: Fix if_vmx receive checksum offload bug and harden against the device skipping receive descriptors This fixes a bug where the checksum offload status of received packets was being taken from the first descriptor instead of the last, which affected LRO packets. The driver has been hardened against the device skipping receive descriptors, although it is not believed that this can occur given the way this implementation configures the receive rings. Additionally, for packets received with the error indicator set, the driver now forces the length of all fragments in that packet to zero prior to passing it to iflib. Such packets should wind up being discarded at some point in the stack anyway, but this removes any questions by killing them in the driver. Counters have been added (and exposed via sysctls) for skipped receive descriptors, zero-length packets received, and packets received with the error indicator set so that these conditions can be easily observed in the field. PR: 243126, 243392, 240628 Reported by: avg, alexandr.oleynikov@gmail.com, Harald Schmalzbauer Reviewed by: gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23949 Modified: head/sys/dev/vmware/vmxnet3/if_vmx.c head/sys/dev/vmware/vmxnet3/if_vmxvar.h Modified: head/sys/dev/vmware/vmxnet3/if_vmx.c ============================================================================== --- head/sys/dev/vmware/vmxnet3/if_vmx.c Sat Mar 14 19:58:50 2020 (r358999) +++ head/sys/dev/vmware/vmxnet3/if_vmx.c Sat Mar 14 20:08:04 2020 (r359000) @@ -1494,6 +1494,7 @@ vmxnet3_isc_rxd_pkt_get(void *vsc, if_rxd_info_t ri) int cqidx; uint16_t total_len; uint8_t nfrags; + uint8_t i; uint8_t flid; sc = vsc; @@ -1517,6 +1518,7 @@ vmxnet3_isc_rxd_pkt_get(void *vsc, if_rxd_info_t ri) KASSERT(rxcd->sop && rxcd->eop, ("%s: zero-length packet without both sop and eop set", __func__)); + rxc->vxcr_zero_length++; if (++cqidx == rxc->vxcr_ndesc) { cqidx = 0; rxc->vxcr_gen ^= 1; @@ -1572,31 +1574,6 @@ vmxnet3_isc_rxd_pkt_get(void *vsc, if_rxd_info_t ri) } } - /* VLAN */ - if (rxcd->vlan) { - ri->iri_flags |= M_VLANTAG; - ri->iri_vtag = rxcd->vtag; - } - - /* Checksum offload */ - if (!rxcd->no_csum) { - uint32_t csum_flags = 0; - - if (rxcd->ipv4) { - csum_flags |= CSUM_IP_CHECKED; - if (rxcd->ipcsum_ok) - csum_flags |= CSUM_IP_VALID; - } - if (!rxcd->fragment && (rxcd->tcp || rxcd->udp)) { - csum_flags |= CSUM_L4_CALC; - if (rxcd->csum_ok) { - csum_flags |= CSUM_L4_VALID; - ri->iri_csum_data = 0xffff; - } - } - ri->iri_csum_flags = csum_flags; - } - /* * The queue numbering scheme used for rxcd->qid is as follows: * - All of the command ring 0s are numbered [0, nrxqsets - 1] @@ -1632,6 +1609,46 @@ vmxnet3_isc_rxd_pkt_get(void *vsc, if_rxd_info_t ri) ri->iri_nfrags = nfrags; ri->iri_len = total_len; + /* + * If there's an error, the last descriptor in the packet will + * have the error indicator set. In this case, set all + * fragment lengths to zero. This will cause iflib to discard + * the packet, but process all associated descriptors through + * the refill mechanism. + */ + if (__predict_false(rxcd->error)) { + rxc->vxcr_pkt_errors++; + for (i = 0; i < nfrags; i++) { + frag = &ri->iri_frags[i]; + frag->irf_len = 0; + } + } else { + /* Checksum offload information is in the last descriptor. */ + if (!rxcd->no_csum) { + uint32_t csum_flags = 0; + + if (rxcd->ipv4) { + csum_flags |= CSUM_IP_CHECKED; + if (rxcd->ipcsum_ok) + csum_flags |= CSUM_IP_VALID; + } + if (!rxcd->fragment && (rxcd->tcp || rxcd->udp)) { + csum_flags |= CSUM_L4_CALC; + if (rxcd->csum_ok) { + csum_flags |= CSUM_L4_VALID; + ri->iri_csum_data = 0xffff; + } + } + ri->iri_csum_flags = csum_flags; + } + + /* VLAN information is in the last descriptor. */ + if (rxcd->vlan) { + ri->iri_flags |= M_VLANTAG; + ri->iri_vtag = rxcd->vtag; + } + } + return (0); } @@ -1645,14 +1662,13 @@ vmxnet3_isc_rxd_refill(void *vsc, if_rxd_update_t iru) uint64_t *paddrs; int count; int len; - int pidx; + int idx; int i; uint8_t flid; uint8_t btype; count = iru->iru_count; len = iru->iru_buf_size; - pidx = iru->iru_pidx; flid = iru->iru_flidx; paddrs = iru->iru_paddrs; @@ -1666,17 +1682,32 @@ vmxnet3_isc_rxd_refill(void *vsc, if_rxd_update_t iru) * command ring 1 is filled with BTYPE_BODY descriptors. */ btype = (flid == 0) ? VMXNET3_BTYPE_HEAD : VMXNET3_BTYPE_BODY; - for (i = 0; i < count; i++) { - rxd[pidx].addr = paddrs[i]; - rxd[pidx].len = len; - rxd[pidx].btype = btype; - rxd[pidx].gen = rxr->vxrxr_gen; + /* + * The refill entries from iflib will advance monotonically, + * but the refilled descriptors may not be contiguous due to + * earlier skipping of descriptors by the device. The refill + * entries from iflib need an entire state update, while the + * descriptors previously skipped by the device only need to + * have their generation numbers updated. + */ + idx = rxr->vxrxr_refill_start; + i = 0; + do { + if (idx == iru->iru_idxs[i]) { + rxd[idx].addr = paddrs[i]; + rxd[idx].len = len; + rxd[idx].btype = btype; + i++; + } else + rxr->vxrxr_desc_skips++; + rxd[idx].gen = rxr->vxrxr_gen; - if (++pidx == rxr->vxrxr_ndesc) { - pidx = 0; + if (++idx == rxr->vxrxr_ndesc) { + idx = 0; rxr->vxrxr_gen ^= 1; } - } + } while (i != count); + rxr->vxrxr_refill_start = idx; } static void @@ -1825,6 +1856,8 @@ vmxnet3_rxinit(struct vmxnet3_softc *sc, struct vmxnet for (i = 0; i < sc->vmx_sctx->isc_nrxqs - 1; i++) { rxr = &rxq->vxrxq_cmd_ring[i]; rxr->vxrxr_gen = VMXNET3_INIT_GEN; + rxr->vxrxr_desc_skips = 0; + rxr->vxrxr_refill_start = 0; /* * iflib has zeroed out the descriptor array during the * prior attach or stop @@ -1834,6 +1867,8 @@ vmxnet3_rxinit(struct vmxnet3_softc *sc, struct vmxnet for (/**/; i < VMXNET3_RXRINGS_PERQ; i++) { rxr = &rxq->vxrxq_cmd_ring[i]; rxr->vxrxr_gen = 0; + rxr->vxrxr_desc_skips = 0; + rxr->vxrxr_refill_start = 0; bzero(rxr->vxrxr_rxd, rxr->vxrxr_ndesc * sizeof(struct vmxnet3_rxdesc)); } @@ -1841,6 +1876,8 @@ vmxnet3_rxinit(struct vmxnet3_softc *sc, struct vmxnet rxc = &rxq->vxrxq_comp_ring; rxc->vxcr_next = 0; rxc->vxcr_gen = VMXNET3_INIT_GEN; + rxc->vxcr_zero_length = 0; + rxc->vxcr_pkt_errors = 0; /* * iflib has zeroed out the descriptor array during the prior attach * or stop @@ -2285,14 +2322,22 @@ vmxnet3_setup_debug_sysctl(struct vmxnet3_softc *sc, &rxq->vxrxq_cmd_ring[0].vxrxr_ndesc, 0, ""); SYSCTL_ADD_INT(ctx, list, OID_AUTO, "cmd0_gen", CTLFLAG_RD, &rxq->vxrxq_cmd_ring[0].vxrxr_gen, 0, ""); + SYSCTL_ADD_U64(ctx, list, OID_AUTO, "cmd0_desc_skips", CTLFLAG_RD, + &rxq->vxrxq_cmd_ring[0].vxrxr_desc_skips, 0, ""); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "cmd1_ndesc", CTLFLAG_RD, &rxq->vxrxq_cmd_ring[1].vxrxr_ndesc, 0, ""); SYSCTL_ADD_INT(ctx, list, OID_AUTO, "cmd1_gen", CTLFLAG_RD, &rxq->vxrxq_cmd_ring[1].vxrxr_gen, 0, ""); + SYSCTL_ADD_U64(ctx, list, OID_AUTO, "cmd1_desc_skips", CTLFLAG_RD, + &rxq->vxrxq_cmd_ring[1].vxrxr_desc_skips, 0, ""); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "comp_ndesc", CTLFLAG_RD, &rxq->vxrxq_comp_ring.vxcr_ndesc, 0,""); SYSCTL_ADD_INT(ctx, list, OID_AUTO, "comp_gen", CTLFLAG_RD, &rxq->vxrxq_comp_ring.vxcr_gen, 0, ""); + SYSCTL_ADD_U64(ctx, list, OID_AUTO, "comp_zero_length", CTLFLAG_RD, + &rxq->vxrxq_comp_ring.vxcr_zero_length, 0, ""); + SYSCTL_ADD_U64(ctx, list, OID_AUTO, "comp_pkt_errors", CTLFLAG_RD, + &rxq->vxrxq_comp_ring.vxcr_pkt_errors, 0, ""); } } Modified: head/sys/dev/vmware/vmxnet3/if_vmxvar.h ============================================================================== --- head/sys/dev/vmware/vmxnet3/if_vmxvar.h Sat Mar 14 19:58:50 2020 (r358999) +++ head/sys/dev/vmware/vmxnet3/if_vmxvar.h Sat Mar 14 20:08:04 2020 (r359000) @@ -63,6 +63,8 @@ struct vmxnet3_rxring { u_int vxrxr_ndesc; int vxrxr_gen; bus_addr_t vxrxr_paddr; + uint64_t vxrxr_desc_skips; + uint16_t vxrxr_refill_start; }; struct vmxnet3_comp_ring { @@ -78,6 +80,8 @@ struct vmxnet3_comp_ring { u_int vxcr_ndesc; int vxcr_gen; bus_addr_t vxcr_paddr; + uint64_t vxcr_zero_length; + uint64_t vxcr_pkt_errors; }; struct vmxnet3_txqueue { From owner-svn-src-head@freebsd.org Sat Mar 14 20:11:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DB449263212; Sat, 14 Mar 2020 20:11:47 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48ftxv3dWBz4JqH; Sat, 14 Mar 2020 20:11:47 +0000 (UTC) (envelope-from pkelsey@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 579222450D; Sat, 14 Mar 2020 20:11:47 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02EKBlQm011815; Sat, 14 Mar 2020 20:11:47 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02EKBkuX011813; Sat, 14 Mar 2020 20:11:46 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <202003142011.02EKBkuX011813@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 14 Mar 2020 20:11:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359001 - head/sys/dev/vmware/vmxnet3 X-SVN-Group: head X-SVN-Commit-Author: pkelsey X-SVN-Commit-Paths: head/sys/dev/vmware/vmxnet3 X-SVN-Commit-Revision: 359001 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 20:11:48 -0000 Author: pkelsey Date: Sat Mar 14 20:11:46 2020 New Revision: 359001 URL: https://svnweb.freebsd.org/changeset/base/359001 Log: Adjust if_vmx default receive parameters for better out-of-box performance These adjustments improve performance with jumbo frames and/or LRO enabled (i.e., when there may be multiple descriptors per packet) by increasing the default size of the receive queues and by always using page-sized buffers for the body type receive ring. This patch also adjust the initialization of the max frame size to remove cases where certain configuration sequences would result in 2K receive buffers being used instead of 4K ones when jumbo frames were enabled. Reviewed by: gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23950 Modified: head/sys/dev/vmware/vmxnet3/if_vmx.c head/sys/dev/vmware/vmxnet3/if_vmxvar.h Modified: head/sys/dev/vmware/vmxnet3/if_vmx.c ============================================================================== --- head/sys/dev/vmware/vmxnet3/if_vmx.c Sat Mar 14 20:08:04 2020 (r359000) +++ head/sys/dev/vmware/vmxnet3/if_vmx.c Sat Mar 14 20:11:46 2020 (r359001) @@ -381,6 +381,12 @@ vmxnet3_attach_pre(if_ctx_t ctx) scctx->isc_rxqsizes[2] = sizeof(struct vmxnet3_rxdesc) * scctx->isc_nrxd[2]; + /* + * Initialize the max frame size and descriptor queue buffer + * sizes. + */ + vmxnet3_mtu_set(ctx, if_getmtu(sc->vmx_ifp)); + scctx->isc_rss_table_size = UPT1_RSS_MAX_IND_TABLE_SIZE; /* Map PCI BARs */ @@ -1943,14 +1949,9 @@ static void vmxnet3_init(if_ctx_t ctx) { struct vmxnet3_softc *sc; - if_softc_ctx_t scctx; sc = iflib_get_softc(ctx); - scctx = sc->vmx_scctx; - scctx->isc_max_frame_size = if_getmtu(iflib_get_ifp(ctx)) + - ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + ETHER_CRC_LEN; - /* Use the current MAC address. */ bcopy(IF_LLADDR(sc->vmx_ifp), sc->vmx_lladdr, ETHER_ADDR_LEN); vmxnet3_set_lladdr(sc); @@ -1975,10 +1976,36 @@ vmxnet3_multi_set(if_ctx_t ctx) static int vmxnet3_mtu_set(if_ctx_t ctx, uint32_t mtu) { + struct vmxnet3_softc *sc; + if_softc_ctx_t scctx; + sc = iflib_get_softc(ctx); + scctx = sc->vmx_scctx; + if (mtu > VMXNET3_TX_MAXSIZE - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + ETHER_CRC_LEN)) return (EINVAL); + + /* + * Update the max frame size so that the rx mbuf size is + * chosen based on the new mtu during the interface init that + * will occur after this routine returns. + */ + scctx->isc_max_frame_size = mtu + + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + ETHER_CRC_LEN; + /* RX completion queue - n/a */ + scctx->isc_rxd_buf_size[0] = 0; + /* + * For header-type descriptors (used for first segment of + * packet), let iflib determine the buffer size based on the + * max frame size. + */ + scctx->isc_rxd_buf_size[1] = 0; + /* + * For body-type descriptors (used for jumbo frames and LRO), + * always use page-sized buffers. + */ + scctx->isc_rxd_buf_size[2] = MJUMPAGESIZE; return (0); } Modified: head/sys/dev/vmware/vmxnet3/if_vmxvar.h ============================================================================== --- head/sys/dev/vmware/vmxnet3/if_vmxvar.h Sat Mar 14 20:08:04 2020 (r359000) +++ head/sys/dev/vmware/vmxnet3/if_vmxvar.h Sat Mar 14 20:11:46 2020 (r359001) @@ -41,7 +41,7 @@ struct vmxnet3_softc; #define VMXNET3_MAX_TX_NDESC 4096 #define VMXNET3_MIN_TX_NDESC 32 #define VMXNET3_MASK_TX_NDESC 0x1F -#define VMXNET3_DEF_RX_NDESC 256 +#define VMXNET3_DEF_RX_NDESC 512 #define VMXNET3_MAX_RX_NDESC 2048 #define VMXNET3_MIN_RX_NDESC 32 #define VMXNET3_MASK_RX_NDESC 0x1F From owner-svn-src-head@freebsd.org Sat Mar 14 20:13:43 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8A4F5263376; Sat, 14 Mar 2020 20:13:43 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48fv066WQ0z4MBr; Sat, 14 Mar 2020 20:13:42 +0000 (UTC) (envelope-from pkelsey@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 A909824555; Sat, 14 Mar 2020 20:13:42 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02EKDgQ5012651; Sat, 14 Mar 2020 20:13:42 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02EKDgCP012650; Sat, 14 Mar 2020 20:13:42 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <202003142013.02EKDgCP012650@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 14 Mar 2020 20:13:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359002 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: pkelsey X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 359002 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2020 20:13:44 -0000 Author: pkelsey Date: Sat Mar 14 20:13:42 2020 New Revision: 359002 URL: https://svnweb.freebsd.org/changeset/base/359002 Log: Remove extraneous code from iflib ifsd_cidx is never used, and the line removed from rxd_frag_to_sd() is just dead code. Reviewed by: erj, gallatin MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23951 Modified: head/sys/net/iflib.c Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Sat Mar 14 20:11:46 2020 (r359001) +++ head/sys/net/iflib.c Sat Mar 14 20:13:42 2020 (r359002) @@ -451,7 +451,6 @@ struct iflib_rxq { typedef struct if_rxsd { caddr_t *ifsd_cl; iflib_fl_t ifsd_fl; - qidx_t ifsd_cidx; } *if_rxsd_t; /* multiple of word size */ @@ -2552,7 +2551,6 @@ rxd_frag_to_sd(iflib_rxq_t rxq, if_rxd_frag_t irf, boo cidx = irf->irf_idx; fl = &rxq->ifr_fl[flid]; sd->ifsd_fl = fl; - sd->ifsd_cidx = cidx; m = fl->ifl_sds.ifsd_m[cidx]; sd->ifsd_cl = &fl->ifl_sds.ifsd_cl[cidx]; fl->ifl_credits--; @@ -2564,7 +2562,6 @@ rxd_frag_to_sd(iflib_rxq_t rxq, if_rxd_frag_t irf, boo next = (cidx + CACHE_PTR_INCREMENT) & (fl->ifl_size-1); prefetch(&fl->ifl_sds.ifsd_map[next]); map = fl->ifl_sds.ifsd_map[cidx]; - next = (cidx + CACHE_LINE_SIZE) & (fl->ifl_size-1); bus_dmamap_sync(fl->ifl_buf_tag, map, BUS_DMASYNC_POSTREAD);