From owner-svn-src-head@freebsd.org Sun Jul 16 07:11:31 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0390BF810C; Sun, 16 Jul 2017 07:11:30 +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 mx1.freebsd.org (Postfix) with ESMTPS id B606A6FC96; Sun, 16 Jul 2017 07:11:30 +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 v6G7BTGj010301; Sun, 16 Jul 2017 07:11:29 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6G7BTa4010300; Sun, 16 Jul 2017 07:11:29 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201707160711.v6G7BTa4010300@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 16 Jul 2017 07:11:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321040 - head/sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/ufs/ffs X-SVN-Commit-Revision: 321040 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.23 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, 16 Jul 2017 07:11:31 -0000 Author: kib Date: Sun Jul 16 07:11:29 2017 New Revision: 321040 URL: https://svnweb.freebsd.org/changeset/base/321040 Log: A followup to r320453, correct removal of the blocks from UFS snapshots. Tested by: pho PR: 220693 Sponsored by: The FreeBSD Foundation Modified: head/sys/ufs/ffs/ffs_alloc.c Modified: head/sys/ufs/ffs/ffs_alloc.c ============================================================================== --- head/sys/ufs/ffs/ffs_alloc.c Sun Jul 16 00:25:00 2017 (r321039) +++ head/sys/ufs/ffs/ffs_alloc.c Sun Jul 16 07:11:29 2017 (r321040) @@ -2603,7 +2603,8 @@ ffs_getcg(fs, devvp, cg, bpp, cgpp) *bpp = NULL; *cgpp = NULL; - error = bread(devvp, fsbtodb(fs, cgtod(fs, cg)), + error = bread(devvp, devvp->v_type == VREG ? + fragstoblks(fs, cgtod(fs, cg)) : fsbtodb(fs, cgtod(fs, cg)), (int)fs->fs_cgsize, NOCRED, &bp); if (error != 0) return (error); From owner-svn-src-head@freebsd.org Sun Jul 16 07:12:05 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 61168BF8177; Sun, 16 Jul 2017 07:12:05 +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 mx1.freebsd.org (Postfix) with ESMTPS id 2EE866FE3A; Sun, 16 Jul 2017 07:12:05 +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 v6G7C4RA010384; Sun, 16 Jul 2017 07:12:04 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6G7C46n010383; Sun, 16 Jul 2017 07:12:04 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201707160712.v6G7C46n010383@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 16 Jul 2017 07:12:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321041 - head/sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/ufs/ffs X-SVN-Commit-Revision: 321041 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.23 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, 16 Jul 2017 07:12:05 -0000 Author: kib Date: Sun Jul 16 07:12:04 2017 New Revision: 321041 URL: https://svnweb.freebsd.org/changeset/base/321041 Log: Remove write-only variable. Tested by: pho Sponsored by: The FreeBSD Foundation Modified: head/sys/ufs/ffs/ffs_alloc.c Modified: head/sys/ufs/ffs/ffs_alloc.c ============================================================================== --- head/sys/ufs/ffs/ffs_alloc.c Sun Jul 16 07:11:29 2017 (r321040) +++ head/sys/ufs/ffs/ffs_alloc.c Sun Jul 16 07:12:04 2017 (r321041) @@ -2130,7 +2130,6 @@ ffs_blkfree_cg(ump, fs, devvp, bno, size, inum, dephd) struct cg *cgp; struct buf *bp; ufs1_daddr_t fragno, cgbno; - ufs2_daddr_t cgblkno; int i, blk, frags, bbase, error; u_int cg; u_int8_t *blksfree; @@ -2141,11 +2140,9 @@ ffs_blkfree_cg(ump, fs, devvp, bno, size, inum, dephd) /* devvp is a snapshot */ MPASS(devvp->v_mount->mnt_data == ump); dev = ump->um_devvp->v_rdev; - cgblkno = fragstoblks(fs, cgtod(fs, cg)); } else if (devvp->v_type == VCHR) { /* devvp is a normal disk device */ dev = devvp->v_rdev; - cgblkno = fsbtodb(fs, cgtod(fs, cg)); ASSERT_VOP_LOCKED(devvp, "ffs_blkfree_cg"); } else return; From owner-svn-src-head@freebsd.org Sun Jul 16 08:56:05 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 38B37BFA31C; Sun, 16 Jul 2017 08:56:05 +0000 (UTC) (envelope-from cy.schubert@komquats.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 D449A727F1; Sun, 16 Jul 2017 08:56:04 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id WfIrdTwApDJTWWfItdjIw3; Sun, 16 Jul 2017 02:53:27 -0600 X-Authority-Analysis: v=2.2 cv=B4DJ6KlM c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=kj9zAlcOel0A:10 a=G3gG6ho9WtcA:10 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=8HUWJpTQAaxX3pF0hbAA:9 a=CjuIK1q_8ugA:10 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 86F62199; Sun, 16 Jul 2017 01:19:21 -0700 (PDT) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v6G6in3m005271; Sat, 15 Jul 2017 23:44:49 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201707160644.v6G6in3m005271@slippy.cwsent.com> X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Ngie Cooper cc: Martin Matuska , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" , "freebsd-testing@freebsd.org" Subject: Re: svn commit: r320927 - in head: contrib/libarchive contrib/libarchive/libarchive contrib/libarchive/libarchive/test usr.bin/bsdcat usr.bin/cpio usr.bin/tar In-Reply-To: Message from Ngie Cooper of "Wed, 12 Jul 2017 19:09:07 -0700." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 15 Jul 2017 23:44:49 -0700 X-CMAE-Envelope: MS4wfJEohSfIR7hjUIVdHC1/RNNJwPEWRxRas33lk5l7ZEDVLa/JoGmMIumdwHJ1Ux9F5LVQ3rFzbLtQBpy977PoiUixJE8t0qgU5MrK2XRgkE2yJoprT+II DlygDOYhtv8ajAYZcUyw2CPlqdorc/LOLBWmx3zlidseqgHSt+018J6zF2MHTuepS3371dYgljGdvxa/WA3rsKn76RReIuNqKWsqF2N5/8DjX9Xpcrug1KnJ iDLT7bcgzL27z7+EbAfAFAl9AdLxFyhaWIgI4cqY7hJ4olT52vwReg5m2WSwmitAxFed3Cw4W7lwbl+I93jejzy2UTawV7gAiCMuvIZ5Ps1h3alhbmM4sOvL lDacbAVa X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 16 Jul 2017 08:56:05 -0000 In message , Ngie Cooper writes: > On Wed, Jul 12, 2017 at 5:28 PM, Martin Matuska wrote: > > Author: mm > > Date: Thu Jul 13 00:28:36 2017 > > New Revision: 320927 > > URL: https://svnweb.freebsd.org/changeset/base/320927 > > > > Log: > > MFV r320924: > > Bump libarchive to 3.3.2 > > > > Vendor changes: > > PR #901: don't depend on stdin in a testcase > > > > MFC after: 1 week > > This commit broke the tests: > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/3457/testReport/junit/lib. > libarchive/functional_test/test_archive_api_feature/ I have a real world reproducible example of this: virtualbox-ose port build in poudriere and old-school biuld. -- 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 Sun Jul 16 12:30:41 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0A56FBFE8EF; Sun, 16 Jul 2017 12:30:41 +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 mx1.freebsd.org (Postfix) with ESMTPS id D33FD7C554; Sun, 16 Jul 2017 12:30:40 +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 v6GCUdvJ040332; Sun, 16 Jul 2017 12:30:39 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6GCUdqB040330; Sun, 16 Jul 2017 12:30:39 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707161230.v6GCUdqB040330@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sun, 16 Jul 2017 12:30:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321045 - head/contrib/elftoolchain/readelf X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/contrib/elftoolchain/readelf X-SVN-Commit-Revision: 321045 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.23 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, 16 Jul 2017 12:30:41 -0000 Author: emaste Date: Sun Jul 16 12:30:39 2017 New Revision: 321045 URL: https://svnweb.freebsd.org/changeset/base/321045 Log: readelf: fix printing of DT_FILTER and some other DT_* values Some non-processor-specific DT_* values overlap the range DT_LOPROC to DT_HIPROC. Handle common ones first, then the processor-specific ones. Obtained from: ELF Tool Chain r3563 Sponsored by: The FreeBSD Foundation Modified: head/contrib/elftoolchain/readelf/readelf.c Modified: head/contrib/elftoolchain/readelf/readelf.c ============================================================================== --- head/contrib/elftoolchain/readelf/readelf.c Sun Jul 16 08:56:41 2017 (r321044) +++ head/contrib/elftoolchain/readelf/readelf.c Sun Jul 16 12:30:39 2017 (r321045) @@ -783,6 +783,80 @@ dt_type(unsigned int mach, unsigned int dtype) { static char s_dtype[32]; + switch (dtype) { + case DT_NULL: return "NULL"; + case DT_NEEDED: return "NEEDED"; + case DT_PLTRELSZ: return "PLTRELSZ"; + case DT_PLTGOT: return "PLTGOT"; + case DT_HASH: return "HASH"; + case DT_STRTAB: return "STRTAB"; + case DT_SYMTAB: return "SYMTAB"; + case DT_RELA: return "RELA"; + case DT_RELASZ: return "RELASZ"; + case DT_RELAENT: return "RELAENT"; + case DT_STRSZ: return "STRSZ"; + case DT_SYMENT: return "SYMENT"; + case DT_INIT: return "INIT"; + case DT_FINI: return "FINI"; + case DT_SONAME: return "SONAME"; + case DT_RPATH: return "RPATH"; + case DT_SYMBOLIC: return "SYMBOLIC"; + case DT_REL: return "REL"; + case DT_RELSZ: return "RELSZ"; + case DT_RELENT: return "RELENT"; + case DT_PLTREL: return "PLTREL"; + case DT_DEBUG: return "DEBUG"; + case DT_TEXTREL: return "TEXTREL"; + case DT_JMPREL: return "JMPREL"; + case DT_BIND_NOW: return "BIND_NOW"; + case DT_INIT_ARRAY: return "INIT_ARRAY"; + case DT_FINI_ARRAY: return "FINI_ARRAY"; + case DT_INIT_ARRAYSZ: return "INIT_ARRAYSZ"; + case DT_FINI_ARRAYSZ: return "FINI_ARRAYSZ"; + case DT_RUNPATH: return "RUNPATH"; + case DT_FLAGS: return "FLAGS"; + case DT_PREINIT_ARRAY: return "PREINIT_ARRAY"; + case DT_PREINIT_ARRAYSZ: return "PREINIT_ARRAYSZ"; + case DT_MAXPOSTAGS: return "MAXPOSTAGS"; + case DT_SUNW_AUXILIARY: return "SUNW_AUXILIARY"; + case DT_SUNW_RTLDINF: return "SUNW_RTLDINF"; + case DT_SUNW_FILTER: return "SUNW_FILTER"; + case DT_SUNW_CAP: return "SUNW_CAP"; + case DT_CHECKSUM: return "CHECKSUM"; + case DT_PLTPADSZ: return "PLTPADSZ"; + case DT_MOVEENT: return "MOVEENT"; + case DT_MOVESZ: return "MOVESZ"; + case DT_FEATURE: return "FEATURE"; + case DT_POSFLAG_1: return "POSFLAG_1"; + case DT_SYMINSZ: return "SYMINSZ"; + case DT_SYMINENT: return "SYMINENT"; + case DT_GNU_HASH: return "GNU_HASH"; + case DT_TLSDESC_PLT: return "DT_TLSDESC_PLT"; + case DT_TLSDESC_GOT: return "DT_TLSDESC_GOT"; + case DT_GNU_CONFLICT: return "GNU_CONFLICT"; + case DT_GNU_LIBLIST: return "GNU_LIBLIST"; + case DT_CONFIG: return "CONFIG"; + case DT_DEPAUDIT: return "DEPAUDIT"; + case DT_AUDIT: return "AUDIT"; + case DT_PLTPAD: return "PLTPAD"; + case DT_MOVETAB: return "MOVETAB"; + case DT_SYMINFO: return "SYMINFO"; + case DT_VERSYM: return "VERSYM"; + case DT_RELACOUNT: return "RELACOUNT"; + case DT_RELCOUNT: return "RELCOUNT"; + case DT_FLAGS_1: return "FLAGS_1"; + case DT_VERDEF: return "VERDEF"; + case DT_VERDEFNUM: return "VERDEFNUM"; + case DT_VERNEED: return "VERNEED"; + case DT_VERNEEDNUM: return "VERNEEDNUM"; + case DT_AUXILIARY: return "AUXILIARY"; + case DT_USED: return "USED"; + case DT_FILTER: return "FILTER"; + case DT_GNU_PRELINKED: return "GNU_PRELINKED"; + case DT_GNU_CONFLICTSZ: return "GNU_CONFLICTSZ"; + case DT_GNU_LIBLISTSZ: return "GNU_LIBLISTSZ"; + } + if (dtype >= DT_LOPROC && dtype <= DT_HIPROC) { switch (mach) { case EM_ARM: @@ -903,86 +977,10 @@ dt_type(unsigned int mach, unsigned int dtype) default: break; } - snprintf(s_dtype, sizeof(s_dtype), "", dtype); - return (s_dtype); } - switch (dtype) { - case DT_NULL: return "NULL"; - case DT_NEEDED: return "NEEDED"; - case DT_PLTRELSZ: return "PLTRELSZ"; - case DT_PLTGOT: return "PLTGOT"; - case DT_HASH: return "HASH"; - case DT_STRTAB: return "STRTAB"; - case DT_SYMTAB: return "SYMTAB"; - case DT_RELA: return "RELA"; - case DT_RELASZ: return "RELASZ"; - case DT_RELAENT: return "RELAENT"; - case DT_STRSZ: return "STRSZ"; - case DT_SYMENT: return "SYMENT"; - case DT_INIT: return "INIT"; - case DT_FINI: return "FINI"; - case DT_SONAME: return "SONAME"; - case DT_RPATH: return "RPATH"; - case DT_SYMBOLIC: return "SYMBOLIC"; - case DT_REL: return "REL"; - case DT_RELSZ: return "RELSZ"; - case DT_RELENT: return "RELENT"; - case DT_PLTREL: return "PLTREL"; - case DT_DEBUG: return "DEBUG"; - case DT_TEXTREL: return "TEXTREL"; - case DT_JMPREL: return "JMPREL"; - case DT_BIND_NOW: return "BIND_NOW"; - case DT_INIT_ARRAY: return "INIT_ARRAY"; - case DT_FINI_ARRAY: return "FINI_ARRAY"; - case DT_INIT_ARRAYSZ: return "INIT_ARRAYSZ"; - case DT_FINI_ARRAYSZ: return "FINI_ARRAYSZ"; - case DT_RUNPATH: return "RUNPATH"; - case DT_FLAGS: return "FLAGS"; - case DT_PREINIT_ARRAY: return "PREINIT_ARRAY"; - case DT_PREINIT_ARRAYSZ: return "PREINIT_ARRAYSZ"; - case DT_MAXPOSTAGS: return "MAXPOSTAGS"; - case DT_SUNW_AUXILIARY: return "SUNW_AUXILIARY"; - case DT_SUNW_RTLDINF: return "SUNW_RTLDINF"; - case DT_SUNW_FILTER: return "SUNW_FILTER"; - case DT_SUNW_CAP: return "SUNW_CAP"; - case DT_CHECKSUM: return "CHECKSUM"; - case DT_PLTPADSZ: return "PLTPADSZ"; - case DT_MOVEENT: return "MOVEENT"; - case DT_MOVESZ: return "MOVESZ"; - case DT_FEATURE: return "FEATURE"; - case DT_POSFLAG_1: return "POSFLAG_1"; - case DT_SYMINSZ: return "SYMINSZ"; - case DT_SYMINENT: return "SYMINENT"; - case DT_GNU_HASH: return "GNU_HASH"; - case DT_TLSDESC_PLT: return "DT_TLSDESC_PLT"; - case DT_TLSDESC_GOT: return "DT_TLSDESC_GOT"; - case DT_GNU_CONFLICT: return "GNU_CONFLICT"; - case DT_GNU_LIBLIST: return "GNU_LIBLIST"; - case DT_CONFIG: return "CONFIG"; - case DT_DEPAUDIT: return "DEPAUDIT"; - case DT_AUDIT: return "AUDIT"; - case DT_PLTPAD: return "PLTPAD"; - case DT_MOVETAB: return "MOVETAB"; - case DT_SYMINFO: return "SYMINFO"; - case DT_VERSYM: return "VERSYM"; - case DT_RELACOUNT: return "RELACOUNT"; - case DT_RELCOUNT: return "RELCOUNT"; - case DT_FLAGS_1: return "FLAGS_1"; - case DT_VERDEF: return "VERDEF"; - case DT_VERDEFNUM: return "VERDEFNUM"; - case DT_VERNEED: return "VERNEED"; - case DT_VERNEEDNUM: return "VERNEEDNUM"; - case DT_AUXILIARY: return "AUXILIARY"; - case DT_USED: return "USED"; - case DT_FILTER: return "FILTER"; - case DT_GNU_PRELINKED: return "GNU_PRELINKED"; - case DT_GNU_CONFLICTSZ: return "GNU_CONFLICTSZ"; - case DT_GNU_LIBLISTSZ: return "GNU_LIBLISTSZ"; - default: - snprintf(s_dtype, sizeof(s_dtype), "", dtype); - return (s_dtype); - } + snprintf(s_dtype, sizeof(s_dtype), "", dtype); + return (s_dtype); } static const char * From owner-svn-src-head@freebsd.org Sun Jul 16 16:22:53 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 562FCC0821C; Sun, 16 Jul 2017 16:22:53 +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 mx1.freebsd.org (Postfix) with ESMTPS id 1D22483BA6; Sun, 16 Jul 2017 16:22:53 +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 v6GGMqqO041621; Sun, 16 Jul 2017 16:22:52 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6GGMqQO041620; Sun, 16 Jul 2017 16:22:52 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707161622.v6GGMqQO041620@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sun, 16 Jul 2017 16:22:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321046 - head/contrib/elftoolchain/readelf X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/contrib/elftoolchain/readelf X-SVN-Commit-Revision: 321046 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.23 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, 16 Jul 2017 16:22:53 -0000 Author: emaste Date: Sun Jul 16 16:22:52 2017 New Revision: 321046 URL: https://svnweb.freebsd.org/changeset/base/321046 Log: readelf: correct printing of DT_FILTER and DT_AUXILIARY values Previously these were shown only for MIPS objects. Obtained from: ELF Tool Chain r3564 MFC after: 1 week MFC with: r321045 Sponsored by: The FreeBSD Foundation Modified: head/contrib/elftoolchain/readelf/readelf.c Modified: head/contrib/elftoolchain/readelf/readelf.c ============================================================================== --- head/contrib/elftoolchain/readelf/readelf.c Sun Jul 16 12:30:39 2017 (r321045) +++ head/contrib/elftoolchain/readelf/readelf.c Sun Jul 16 16:22:52 2017 (r321046) @@ -2636,10 +2636,8 @@ dyn_str(struct readelf *re, uint32_t stab, uint64_t d_ } static void -dump_arch_dyn_val(struct readelf *re, GElf_Dyn *dyn, uint32_t stab) +dump_arch_dyn_val(struct readelf *re, GElf_Dyn *dyn) { - const char *name; - switch (re->ehdr.e_machine) { case EM_MIPS: case EM_MIPS_RS3_LE: @@ -2692,11 +2690,6 @@ dump_arch_dyn_val(struct readelf *re, GElf_Dyn *dyn, u break; case DT_MIPS_IVERSION: case DT_MIPS_PERF_SUFFIX: - case DT_AUXILIARY: - case DT_FILTER: - name = dyn_str(re, stab, dyn->d_un.d_val); - printf(" %s\n", name); - break; case DT_MIPS_TIME_STAMP: printf(" %s\n", timestamp(dyn->d_un.d_val)); break; @@ -2713,14 +2706,16 @@ dump_dyn_val(struct readelf *re, GElf_Dyn *dyn, uint32 { const char *name; - if (dyn->d_tag >= DT_LOPROC && dyn->d_tag <= DT_HIPROC) { - dump_arch_dyn_val(re, dyn, stab); + if (dyn->d_tag >= DT_LOPROC && dyn->d_tag <= DT_HIPROC && + dyn->d_tag != DT_AUXILIARY && dyn->d_tag != DT_FILTER) { + dump_arch_dyn_val(re, dyn); return; } /* These entry values are index into the string table. */ name = NULL; - if (dyn->d_tag == DT_NEEDED || dyn->d_tag == DT_SONAME || + if (dyn->d_tag == DT_AUXILIARY || dyn->d_tag == DT_FILTER || + dyn->d_tag == DT_NEEDED || dyn->d_tag == DT_SONAME || dyn->d_tag == DT_RPATH || dyn->d_tag == DT_RUNPATH) name = dyn_str(re, stab, dyn->d_un.d_val); @@ -2764,6 +2759,12 @@ dump_dyn_val(struct readelf *re, GElf_Dyn *dyn, uint32 case DT_VERDEFNUM: case DT_VERNEEDNUM: printf(" %ju\n", (uintmax_t) dyn->d_un.d_val); + break; + case DT_AUXILIARY: + printf(" Auxiliary library: [%s]\n", name); + break; + case DT_FILTER: + printf(" Filter library: [%s]\n", name); break; case DT_NEEDED: printf(" Shared library: [%s]\n", name); From owner-svn-src-head@freebsd.org Sun Jul 16 16:54:04 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AF20DC089D9; Sun, 16 Jul 2017 16:54:04 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7EAA584A42; Sun, 16 Jul 2017 16:54:04 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6GGs3A6054539; Sun, 16 Jul 2017 16:54:03 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6GGs3cg054538; Sun, 16 Jul 2017 16:54:03 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201707161654.v6GGs3cg054538@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Sun, 16 Jul 2017 16:54:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321048 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: ian X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 321048 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.23 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, 16 Jul 2017 16:54:04 -0000 Author: ian Date: Sun Jul 16 16:54:03 2017 New Revision: 321048 URL: https://svnweb.freebsd.org/changeset/base/321048 Log: Minor optimization: instead of converting between days and years using loops that start in 1970, assume most conversions are going to be for recent dates and use a precomputed number of days through the end of 2016. This is a do-over of r320997, hopefully this time with 100% more workiness. The first attempt had an off-by-one error, but instead of just adding another mysterious +1 adjustment, this rearranges the relationship between recent_base_year and recent_base_days so that the latter is the number of days that occurred before the start of the associated year (instead of the count thru the end of that year). This makes the recent_base stuff work more like the original loop logic that didn't need any +1 adjustments. Modified: head/sys/kern/subr_clock.c Modified: head/sys/kern/subr_clock.c ============================================================================== --- head/sys/kern/subr_clock.c Sun Jul 16 16:51:38 2017 (r321047) +++ head/sys/kern/subr_clock.c Sun Jul 16 16:54:03 2017 (r321048) @@ -97,6 +97,13 @@ static const int month_days[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; +/* + * Optimization: using a precomputed count of days between POSIX_BASE_YEAR and + * some recent year avoids lots of unnecessary loop iterations in conversion. + * recent_base_days is the number of days before the start of recent_base_year. + */ +static const int recent_base_year = 2017; +static const int recent_base_days = 17167; /* * This inline avoids some unnecessary modulo operations @@ -157,8 +164,14 @@ clock_ct_to_ts(struct clocktime *ct, struct timespec * * Compute days since start of time * First from years, then from months. */ - days = 0; - for (i = POSIX_BASE_YEAR; i < year; i++) + if (year >= recent_base_year) { + i = recent_base_year; + days = recent_base_days; + } else { + i = POSIX_BASE_YEAR; + days = 0; + } + for (; i < year; i++) days += days_in_year(i); /* Months */ @@ -188,8 +201,14 @@ clock_ts_to_ct(struct timespec *ts, struct clocktime * ct->dow = day_of_week(days); - /* Subtract out whole years, counting them in i. */ - for (year = POSIX_BASE_YEAR; days >= days_in_year(year); year++) + /* Subtract out whole years. */ + if (days >= recent_base_days) { + year = recent_base_year; + days -= recent_base_days; + } else { + year = POSIX_BASE_YEAR; + } + for (; days >= days_in_year(year); year++) days -= days_in_year(year); ct->year = year; From owner-svn-src-head@freebsd.org Mon Jul 17 00:42:15 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1CE2AC7D357; Mon, 17 Jul 2017 00:42: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 mx1.freebsd.org (Postfix) with ESMTPS id DE38A6C527; Mon, 17 Jul 2017 00:42:14 +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 v6H0gE8W046911; Mon, 17 Jul 2017 00:42:14 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6H0gDMU046907; Mon, 17 Jul 2017 00:42:13 GMT (envelope-from np@FreeBSD.org) Message-Id: <201707170042.v6H0gDMU046907@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Mon, 17 Jul 2017 00:42:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321063 - in head/sys/dev/cxgbe: . common X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: in head/sys/dev/cxgbe: . common X-SVN-Commit-Revision: 321063 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.23 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, 17 Jul 2017 00:42:15 -0000 Author: np Date: Mon Jul 17 00:42:13 2017 New Revision: 321063 URL: https://svnweb.freebsd.org/changeset/base/321063 Log: cxgbe(4): Various link/media related improvements. - Deal with changes to port_type, and not just port_mod when a transceiver is changed. This fixes hot swapping of transceivers of different types (QSFP+ or QSA or QSFP28 in a QSFP28 port, SFP+ or SFP28 in a SFP28 port, etc.). - Always refresh media information for ifconfig if the port is down. The firmware does not generate tranceiver-change interrupts unless at least one VI is enabled on the physical port. Before this change ifconfig diplayed potentially stale information for ports that were administratively down. - Always recalculate and reapply L1 config on a transceiver change. - Display PAUSE settings in ifconfig. The driver sysctls for this continue to work as well. MFC after: 2 weeks Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Sun Jul 16 21:07:58 2017 (r321062) +++ head/sys/dev/cxgbe/adapter.h Mon Jul 17 00:42:13 2017 (r321063) @@ -1036,10 +1036,10 @@ adap2pinfo(struct adapter *sc, int idx) } static inline void -t4_os_set_hw_addr(struct adapter *sc, int idx, uint8_t hw_addr[]) +t4_os_set_hw_addr(struct port_info *pi, uint8_t hw_addr[]) { - bcopy(hw_addr, sc->port[idx]->vi[0].hw_addr, ETHER_ADDR_LEN); + bcopy(hw_addr, pi->vi[0].hw_addr, ETHER_ADDR_LEN); } static inline bool @@ -1089,24 +1089,6 @@ port_top_speed(const struct port_info *pi) } static inline int -port_top_speed_raw(const struct port_info *pi) -{ - - if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_100G) - return (FW_PORT_CAP_SPEED_100G); - if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_40G) - return (FW_PORT_CAP_SPEED_40G); - if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_25G) - return (FW_PORT_CAP_SPEED_25G); - if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_10G) - return (FW_PORT_CAP_SPEED_10G); - if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_1G) - return (FW_PORT_CAP_SPEED_1G); - - return (0); -} - -static inline int tx_resume_threshold(struct sge_eq *eq) { @@ -1142,8 +1124,8 @@ extern device_method_t cxgbe_methods[]; int t4_os_find_pci_capability(struct adapter *, int); int t4_os_pci_save_state(struct adapter *); int t4_os_pci_restore_state(struct adapter *); -void t4_os_portmod_changed(const struct adapter *, int); -void t4_os_link_changed(struct adapter *, int, int); +void t4_os_portmod_changed(struct port_info *, int, int, struct link_config *); +void t4_os_link_changed(struct port_info *, struct link_config *); void t4_iterate(void (*)(struct adapter *, void *), void *); void t4_init_devnames(struct adapter *); void t4_add_adapter(struct adapter *); Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Sun Jul 16 21:07:58 2017 (r321062) +++ head/sys/dev/cxgbe/common/common.h Mon Jul 17 00:42:13 2017 (r321063) @@ -399,16 +399,18 @@ struct trace_params { }; struct link_config { + /* OS-specific code owns all the requested_* fields */ + unsigned char requested_aneg; /* link aneg user has requested */ + unsigned char requested_fc; /* flow control user has requested */ + unsigned char requested_fec; /* FEC user has requested */ + unsigned int requested_speed; /* speed user has requested */ + unsigned short supported; /* link capabilities */ unsigned short advertising; /* advertised capabilities */ unsigned short lp_advertising; /* peer advertised capabilities */ - unsigned int requested_speed; /* speed user has requested */ unsigned int speed; /* actual link speed */ - unsigned char requested_fc; /* flow control user has requested */ unsigned char fc; /* actual link flow control */ - unsigned char requested_fec; /* FEC user has requested */ unsigned char fec; /* actual FEC */ - unsigned char autoneg; /* autonegotiating? */ unsigned char link_ok; /* link up? */ unsigned char link_down_rc; /* link down reason */ }; @@ -766,6 +768,7 @@ int t4_sge_ctxt_rd_bd(struct adapter *adap, unsigned i u32 *data); int t4_sge_ctxt_flush(struct adapter *adap, unsigned int mbox); const char *t4_link_down_rc_str(unsigned char link_down_rc); +int t4_update_port_info(struct port_info *pi); int t4_handle_fw_rpl(struct adapter *adap, const __be64 *rpl); int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox, u32 addr, u32 val); int t4_sched_config(struct adapter *adapter, int type, int minmaxen, Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Sun Jul 16 21:07:58 2017 (r321062) +++ head/sys/dev/cxgbe/common/t4_hw.c Mon Jul 17 00:42:13 2017 (r321063) @@ -3683,9 +3683,6 @@ void t4_ulprx_read_la(struct adapter *adap, u32 *la_bu } } -#define ADVERT_MASK (V_FW_PORT_CAP_SPEED(M_FW_PORT_CAP_SPEED) | \ - FW_PORT_CAP_ANEG) - /** * t4_link_l1cfg - apply link configuration to MAC/PHY * @phy: the PHY to setup @@ -3704,7 +3701,7 @@ int t4_link_l1cfg(struct adapter *adap, unsigned int m { struct fw_port_cmd c; unsigned int mdi = V_FW_PORT_CAP_MDI(FW_PORT_CAP_MDI_AUTO); - unsigned int fc, fec; + unsigned int aneg, fc, fec, speed; fc = 0; if (lc->requested_fc & PAUSE_RX) @@ -3714,12 +3711,41 @@ int t4_link_l1cfg(struct adapter *adap, unsigned int m fec = 0; if (lc->requested_fec & FEC_RS) - fec |= FW_PORT_CAP_FEC_RS; - if (lc->requested_fec & FEC_BASER_RS) - fec |= FW_PORT_CAP_FEC_BASER_RS; - if (lc->requested_fec & FEC_RESERVED) - fec |= FW_PORT_CAP_FEC_RESERVED; + fec = FW_PORT_CAP_FEC_RS; + else if (lc->requested_fec & FEC_BASER_RS) + fec = FW_PORT_CAP_FEC_BASER_RS; + else if (lc->requested_fec & FEC_RESERVED) + fec = FW_PORT_CAP_FEC_RESERVED; + if (!(lc->supported & FW_PORT_CAP_ANEG) || + lc->requested_aneg == AUTONEG_DISABLE) { + aneg = 0; + switch (lc->requested_speed) { + case 100: + speed = FW_PORT_CAP_SPEED_100G; + break; + case 40: + speed = FW_PORT_CAP_SPEED_40G; + break; + case 25: + speed = FW_PORT_CAP_SPEED_25G; + break; + case 10: + speed = FW_PORT_CAP_SPEED_10G; + break; + case 1: + speed = FW_PORT_CAP_SPEED_1G; + break; + default: + return -EINVAL; + break; + } + } else { + aneg = FW_PORT_CAP_ANEG; + speed = lc->supported & + V_FW_PORT_CAP_SPEED(M_FW_PORT_CAP_SPEED); + } + memset(&c, 0, sizeof(c)); c.op_to_portid = cpu_to_be32(V_FW_CMD_OP(FW_PORT_CMD) | F_FW_CMD_REQUEST | F_FW_CMD_EXEC | @@ -3727,21 +3753,9 @@ int t4_link_l1cfg(struct adapter *adap, unsigned int m c.action_to_len16 = cpu_to_be32(V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_L1_CFG) | FW_LEN16(c)); + c.u.l1cfg.rcap = cpu_to_be32(aneg | speed | fc | fec | mdi); - if (!(lc->supported & FW_PORT_CAP_ANEG)) { - c.u.l1cfg.rcap = cpu_to_be32((lc->supported & ADVERT_MASK) | - fc | fec); - lc->fc = lc->requested_fc & ~PAUSE_AUTONEG; - lc->fec = lc->requested_fec; - } else if (lc->autoneg == AUTONEG_DISABLE) { - c.u.l1cfg.rcap = cpu_to_be32(lc->requested_speed | - fc | fec | mdi); - lc->fc = lc->requested_fc & ~PAUSE_AUTONEG; - lc->fec = lc->requested_fec; - } else - c.u.l1cfg.rcap = cpu_to_be32(lc->advertising | fc | fec | mdi); - - return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); + return t4_wr_mbox_ns(adap, mbox, &c, sizeof(c), NULL); } /** @@ -7474,7 +7488,91 @@ const char *t4_link_down_rc_str(unsigned char link_dow return reason[link_down_rc]; } +/* + * Updates all fields owned by the common code in port_info and link_config + * based on information provided by the firmware. Does not touch any + * requested_* field. + */ +static void handle_port_info(struct port_info *pi, const struct fw_port_info *p) +{ + struct link_config *lc = &pi->link_cfg; + int speed; + unsigned char fc, fec; + u32 stat = be32_to_cpu(p->lstatus_to_modtype); + + pi->port_type = G_FW_PORT_CMD_PTYPE(stat); + pi->mod_type = G_FW_PORT_CMD_MODTYPE(stat); + pi->mdio_addr = stat & F_FW_PORT_CMD_MDIOCAP ? + G_FW_PORT_CMD_MDIOADDR(stat) : -1; + + lc->supported = be16_to_cpu(p->pcap); + lc->advertising = be16_to_cpu(p->acap); + lc->lp_advertising = be16_to_cpu(p->lpacap); + lc->link_ok = (stat & F_FW_PORT_CMD_LSTATUS) != 0; + lc->link_down_rc = G_FW_PORT_CMD_LINKDNRC(stat); + + speed = 0; + if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_100M)) + speed = 100; + else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_1G)) + speed = 1000; + else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_10G)) + speed = 10000; + else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_25G)) + speed = 25000; + else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_40G)) + speed = 40000; + else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_100G)) + speed = 100000; + lc->speed = speed; + + fc = 0; + if (stat & F_FW_PORT_CMD_RXPAUSE) + fc |= PAUSE_RX; + if (stat & F_FW_PORT_CMD_TXPAUSE) + fc |= PAUSE_TX; + lc->fc = fc; + + fec = 0; + if (lc->advertising & FW_PORT_CAP_FEC_RS) + fec |= FEC_RS; + if (lc->advertising & FW_PORT_CAP_FEC_BASER_RS) + fec |= FEC_BASER_RS; + if (lc->advertising & FW_PORT_CAP_FEC_RESERVED) + fec |= FEC_RESERVED; + lc->fec = fec; +} + /** + * t4_update_port_info - retrieve and update port information if changed + * @pi: the port_info + * + * We issue a Get Port Information Command to the Firmware and, if + * successful, we check to see if anything is different from what we + * last recorded and update things accordingly. + */ + int t4_update_port_info(struct port_info *pi) + { + struct fw_port_cmd port_cmd; + int ret; + + memset(&port_cmd, 0, sizeof port_cmd); + port_cmd.op_to_portid = cpu_to_be32(V_FW_CMD_OP(FW_PORT_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_READ | + V_FW_PORT_CMD_PORTID(pi->tx_chan)); + port_cmd.action_to_len16 = cpu_to_be32( + V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_GET_PORT_INFO) | + FW_LEN16(port_cmd)); + ret = t4_wr_mbox_ns(pi->adapter, pi->adapter->mbox, + &port_cmd, sizeof(port_cmd), &port_cmd); + if (ret) + return ret; + + handle_port_info(pi, &port_cmd.u.info); + return 0; +} + +/** * t4_handle_fw_rpl - process a FW reply message * @adap: the adapter * @rpl: start of the FW message @@ -7490,52 +7588,31 @@ int t4_handle_fw_rpl(struct adapter *adap, const __be6 if (opcode == FW_PORT_CMD && action == FW_PORT_ACTION_GET_PORT_INFO) { /* link/module state change message */ - int speed = 0, fc = 0, i; + int i, old_ptype, old_mtype; int chan = G_FW_PORT_CMD_PORTID(be32_to_cpu(p->op_to_portid)); struct port_info *pi = NULL; - struct link_config *lc; - u32 stat = be32_to_cpu(p->u.info.lstatus_to_modtype); - int link_ok = (stat & F_FW_PORT_CMD_LSTATUS) != 0; - u32 mod = G_FW_PORT_CMD_MODTYPE(stat); + struct link_config *lc, old_lc; - if (stat & F_FW_PORT_CMD_RXPAUSE) - fc |= PAUSE_RX; - if (stat & F_FW_PORT_CMD_TXPAUSE) - fc |= PAUSE_TX; - if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_100M)) - speed = 100; - else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_1G)) - speed = 1000; - else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_10G)) - speed = 10000; - else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_25G)) - speed = 25000; - else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_40G)) - speed = 40000; - else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_100G)) - speed = 100000; - for_each_port(adap, i) { pi = adap2pinfo(adap, i); if (pi->tx_chan == chan) break; } + lc = &pi->link_cfg; + old_lc = *lc; + old_ptype = pi->port_type; + old_mtype = pi->mod_type; - if (mod != pi->mod_type) { - pi->mod_type = mod; - t4_os_portmod_changed(adap, i); + handle_port_info(pi, &p->u.info); + if (old_ptype != pi->port_type || old_mtype != pi->mod_type) { + t4_os_portmod_changed(pi, old_ptype, old_mtype, + &old_lc); } - if (link_ok != lc->link_ok || speed != lc->speed || - fc != lc->fc) { /* something changed */ - if (!link_ok && lc->link_ok) - lc->link_down_rc = G_FW_PORT_CMD_LINKDNRC(stat); - lc->link_ok = link_ok; - lc->speed = speed; - lc->fc = fc; - lc->supported = be16_to_cpu(p->u.info.pcap); - lc->lp_advertising = be16_to_cpu(p->u.info.lpacap); - t4_os_link_changed(adap, i, link_ok); + if (old_lc.link_ok != lc->link_ok || + old_lc.speed != lc->speed || + old_lc.fc != lc->fc) { + t4_os_link_changed(pi, &old_lc); } } else { CH_WARN_RATELIMIT(adap, "Unknown firmware reply %d\n", opcode); @@ -7566,48 +7643,6 @@ static void get_pci_mode(struct adapter *adapter, } } -/** - * init_link_config - initialize a link's SW state - * @lc: structure holding the link state - * @pcaps: supported link capabilities - * @acaps: advertised link capabilities - * - * Initializes the SW state maintained for each link, including the link's - * capabilities and default speed/flow-control/autonegotiation settings. - */ -static void init_link_config(struct link_config *lc, unsigned int pcaps, - unsigned int acaps) -{ - unsigned int fec; - - lc->supported = pcaps; - lc->lp_advertising = 0; - lc->requested_speed = 0; - lc->speed = 0; - lc->requested_fc = lc->fc = PAUSE_RX | PAUSE_TX; - lc->link_ok = 0; - lc->link_down_rc = 255; - - fec = 0; - if (acaps & FW_PORT_CAP_FEC_RS) - fec |= FEC_RS; - if (acaps & FW_PORT_CAP_FEC_BASER_RS) - fec |= FEC_BASER_RS; - if (acaps & FW_PORT_CAP_FEC_RESERVED) - fec |= FEC_RESERVED; - fec &= G_FW_PORT_CAP_FEC(lc->supported); - lc->requested_fec = lc->fec = fec; - - if (lc->supported & FW_PORT_CAP_ANEG) { - lc->advertising = lc->supported & ADVERT_MASK; - lc->autoneg = AUTONEG_ENABLE; - lc->requested_fc |= PAUSE_AUTONEG; - } else { - lc->advertising = 0; - lc->autoneg = AUTONEG_DISABLE; - } -} - struct flash_desc { u32 vendor_and_model_id; u32 size_mb; @@ -8144,24 +8179,7 @@ int t4_port_init(struct adapter *adap, int mbox, int p if (!(adap->flags & IS_VF) || adap->params.vfres.r_caps & FW_CMD_CAP_PORT) { - c.op_to_portid = htonl(V_FW_CMD_OP(FW_PORT_CMD) | - F_FW_CMD_REQUEST | F_FW_CMD_READ | - V_FW_PORT_CMD_PORTID(j)); - c.action_to_len16 = htonl( - V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_GET_PORT_INFO) | - FW_LEN16(c)); - ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c); - if (ret) - return ret; - - ret = be32_to_cpu(c.u.info.lstatus_to_modtype); - p->mdio_addr = (ret & F_FW_PORT_CMD_MDIOCAP) ? - G_FW_PORT_CMD_MDIOADDR(ret) : -1; - p->port_type = G_FW_PORT_CMD_PTYPE(ret); - p->mod_type = G_FW_PORT_CMD_MODTYPE(ret); - - init_link_config(&p->link_cfg, be16_to_cpu(c.u.info.pcap), - be16_to_cpu(c.u.info.acap)); + t4_update_port_info(p); } ret = t4_alloc_vi(adap, mbox, j, pf, vf, 1, addr, &rss_size); @@ -8177,7 +8195,7 @@ int t4_port_init(struct adapter *adap, int mbox, int p p->rx_chan_map = t4_get_mps_bg_map(adap, j); p->lport = j; p->vi[0].rss_size = rss_size; - t4_os_set_hw_addr(adap, p->port_id, addr); + t4_os_set_hw_addr(p, addr); param = V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DEV_RSSINFO) | Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Sun Jul 16 21:07:58 2017 (r321062) +++ head/sys/dev/cxgbe/t4_main.c Mon Jul 17 00:42:13 2017 (r321063) @@ -487,6 +487,7 @@ static int get_params__post_init(struct adapter *); static int set_params__post_init(struct adapter *); static void t4_set_desc(struct adapter *); static void build_medialist(struct port_info *, struct ifmedia *); +static void init_l1cfg(struct port_info *); static int cxgbe_init_synchronized(struct vi_info *); static int cxgbe_uninit_synchronized(struct vi_info *); static void quiesce_txq(struct adapter *, struct sge_txq *); @@ -955,7 +956,6 @@ t4_attach(device_t dev) n10g = n1g = 0; for_each_port(sc, i) { struct port_info *pi; - struct link_config *lc; pi = malloc(sizeof(*pi), M_CXGBE, M_ZERO | M_WAITOK); sc->port[i] = pi; @@ -984,28 +984,6 @@ t4_attach(device_t dev) goto done; } - lc = &pi->link_cfg; - lc->requested_fc &= ~(PAUSE_TX | PAUSE_RX); - lc->requested_fc |= t4_pause_settings; - if (t4_fec != -1) { - lc->requested_fec = t4_fec & - G_FW_PORT_CAP_FEC(lc->supported); - } - if (lc->supported & FW_PORT_CAP_ANEG && t4_autoneg != -1) { - lc->autoneg = t4_autoneg ? AUTONEG_ENABLE : - AUTONEG_DISABLE; - } - lc->requested_speed = port_top_speed_raw(pi); - - rc = -t4_link_l1cfg(sc, sc->mbox, pi->tx_chan, lc); - if (rc != 0) { - device_printf(dev, "port %d l1cfg failed: %d\n", i, rc); - free(pi->vi, M_CXGBE); - free(pi, M_CXGBE); - sc->port[i] = NULL; - goto done; - } - snprintf(pi->lockname, sizeof(pi->lockname), "%sp%d", device_get_nameunit(dev), i); mtx_init(&pi->pi_lock, pi->lockname, 0, MTX_DEF); @@ -1480,7 +1458,6 @@ cxgbe_vi_attach(device_t dev, struct vi_info *vi) /* Initialize ifmedia for this VI */ ifmedia_init(&vi->media, IFM_IMASK, cxgbe_media_change, cxgbe_media_status); - build_medialist(vi->pi, &vi->media); vi->vlan_c = EVENTHANDLER_REGISTER(vlan_config, cxgbe_vlan_config, ifp, EVENTHANDLER_PRI_ANY); @@ -2022,32 +1999,63 @@ cxgbe_media_status(struct ifnet *ifp, struct ifmediare struct vi_info *vi = ifp->if_softc; struct port_info *pi = vi->pi; struct ifmedia_entry *cur; - int speed = pi->link_cfg.speed; + struct link_config *lc = &pi->link_cfg; + /* + * If all the interfaces are administratively down the firmware does not + * report transceiver changes. Refresh port info here so that ifconfig + * displays accurate information at all times. + */ + if (begin_synchronized_op(pi->adapter, NULL, SLEEP_OK | INTR_OK, + "t4med") == 0) { + PORT_LOCK(pi); + if (pi->up_vis == 0) { + t4_update_port_info(pi); + build_medialist(pi, &vi->media); + } + PORT_UNLOCK(pi); + end_synchronized_op(pi->adapter, 0); + } + cur = vi->media.ifm_cur; ifmr->ifm_status = IFM_AVALID; - if (!pi->link_cfg.link_ok) + if (lc->link_ok == 0) return; ifmr->ifm_status |= IFM_ACTIVE; + ifmr->ifm_active &= ~(IFM_ETH_TXPAUSE | IFM_ETH_RXPAUSE); + if (lc->fc & PAUSE_RX) + ifmr->ifm_active |= IFM_ETH_RXPAUSE; + if (lc->fc & PAUSE_TX) + ifmr->ifm_active |= IFM_ETH_TXPAUSE; /* active and current will differ iff current media is autoselect. */ if (IFM_SUBTYPE(cur->ifm_media) != IFM_AUTO) return; ifmr->ifm_active = IFM_ETHER | IFM_FDX; - if (speed == 10000) + if (lc->fc & PAUSE_RX) + ifmr->ifm_active |= IFM_ETH_RXPAUSE; + if (lc->fc & PAUSE_TX) + ifmr->ifm_active |= IFM_ETH_TXPAUSE; + switch (lc->speed) { + case 10000: ifmr->ifm_active |= IFM_10G_T; - else if (speed == 1000) + break; + case 1000: ifmr->ifm_active |= IFM_1000_T; - else if (speed == 100) + break; + case 100: ifmr->ifm_active |= IFM_100_TX; - else if (speed == 10) + break; + case 10: ifmr->ifm_active |= IFM_10_T; - else - KASSERT(0, ("%s: link up but speed unknown (%u)", __func__, - speed)); + break; + default: + device_printf(vi->dev, "link up but speed unknown (%u)\n", + lc->speed); + } } static int @@ -3590,11 +3598,18 @@ build_medialist(struct port_info *pi, struct ifmedia * { int m; - PORT_LOCK(pi); + PORT_LOCK_ASSERT_OWNED(pi); ifmedia_removeall(media); - m = IFM_ETHER | IFM_FDX; + /* + * XXX: Would it be better to ifmedia_add all 4 combinations of pause + * settings for every speed instead of just txpause|rxpause? ifconfig + * media display looks much better if autoselect is the only case where + * ifm_current is different from ifm_active. If the user picks anything + * except txpause|rxpause the display is ugly. + */ + m = IFM_ETHER | IFM_FDX | IFM_ETH_TXPAUSE | IFM_ETH_RXPAUSE; switch(pi->port_type) { case FW_PORT_TYPE_BT_XFI: @@ -3770,8 +3785,53 @@ build_medialist(struct port_info *pi, struct ifmedia * ifmedia_set(media, m | IFM_UNKNOWN); break; } +} - PORT_UNLOCK(pi); +/* + * Update all the requested_* fields in the link config and then send a mailbox + * command to apply the settings. + */ +static void +init_l1cfg(struct port_info *pi) +{ + struct adapter *sc = pi->adapter; + struct link_config *lc = &pi->link_cfg; + int rc; + + ASSERT_SYNCHRONIZED_OP(sc); + + if (t4_autoneg != 0 && lc->supported & FW_PORT_CAP_ANEG) { + lc->requested_aneg = AUTONEG_ENABLE; + lc->requested_speed = 0; + } else { + lc->requested_aneg = AUTONEG_DISABLE; + lc->requested_speed = port_top_speed(pi); /* in Gbps */ + } + + lc->requested_fc = t4_pause_settings & (PAUSE_TX | PAUSE_RX); + + if (t4_fec != -1) { + lc->requested_fec = t4_fec & (FEC_RS | FEC_BASER_RS | + FEC_RESERVED); + } else { + /* Use the suggested value provided by the firmware in acaps */ + if (lc->advertising & FW_PORT_CAP_FEC_RS) + lc->requested_fec = FEC_RS; + else if (lc->advertising & FW_PORT_CAP_FEC_BASER_RS) + lc->requested_fec = FEC_BASER_RS; + else if (lc->advertising & FW_PORT_CAP_FEC_RESERVED) + lc->requested_fec = FEC_RESERVED; + else + lc->requested_fec = 0; + } + + rc = -t4_link_l1cfg(sc, sc->mbox, pi->tx_chan, lc); + if (rc != 0) { + device_printf(pi->dev, "l1cfg failed: %d\n", rc); + } else { + lc->fc = lc->requested_fc; + lc->fec = lc->requested_fec; + } } #define FW_MAC_EXACT_CHUNK 7 @@ -4053,8 +4113,12 @@ cxgbe_init_synchronized(struct vi_info *vi) /* all ok */ PORT_LOCK(pi); + if (pi->up_vis++ == 0) { + t4_update_port_info(pi); + build_medialist(vi->pi, &vi->media); + init_l1cfg(pi); + } ifp->if_drv_flags |= IFF_DRV_RUNNING; - pi->up_vis++; if (pi->nvi > 1 || sc->flags & IS_VF) callout_reset(&vi->tick, hz, vi_tick, vi); @@ -4127,7 +4191,7 @@ cxgbe_uninit_synchronized(struct vi_info *vi) pi->link_cfg.link_ok = 0; pi->link_cfg.speed = 0; pi->link_cfg.link_down_rc = 255; - t4_os_link_changed(sc, pi->port_id, 0); + t4_os_link_changed(pi, NULL); return (0); } @@ -5813,6 +5877,9 @@ sysctl_pause_settings(SYSCTL_HANDLER_ARGS) lc->requested_fc &= ~(PAUSE_TX | PAUSE_RX); lc->requested_fc |= n; rc = -t4_link_l1cfg(sc, sc->mbox, pi->tx_chan, lc); + if (rc == 0) { + lc->fc = lc->requested_fc; + } } end_synchronized_op(sc, 0); } @@ -5870,6 +5937,9 @@ sysctl_fec(SYSCTL_HANDLER_ARGS) lc->requested_fec = n & G_FW_PORT_CAP_FEC(lc->supported); rc = -t4_link_l1cfg(sc, sc->mbox, pi->tx_chan, lc); + if (rc == 0) { + lc->fec = lc->requested_fec; + } } end_synchronized_op(sc, 0); } @@ -5886,7 +5956,7 @@ sysctl_autoneg(SYSCTL_HANDLER_ARGS) int rc, val, old; if (lc->supported & FW_PORT_CAP_ANEG) - val = lc->autoneg == AUTONEG_ENABLE ? 1 : 0; + val = lc->requested_aneg == AUTONEG_ENABLE ? 1 : 0; else val = -1; rc = sysctl_handle_int(oidp, &val, 0, req); @@ -5901,18 +5971,18 @@ sysctl_autoneg(SYSCTL_HANDLER_ARGS) val = AUTONEG_ENABLE; else return (EINVAL); - if (lc->autoneg == val) + if (lc->requested_aneg == val) return (0); /* no change */ rc = begin_synchronized_op(sc, &pi->vi[0], SLEEP_OK | INTR_OK, "t4aneg"); if (rc) return (rc); - old = lc->autoneg; - lc->autoneg = val; + old = lc->requested_aneg; + lc->requested_aneg = val; rc = -t4_link_l1cfg(sc, sc->mbox, pi->tx_chan, lc); if (rc != 0) - lc->autoneg = old; + lc->requested_aneg = old; end_synchronized_op(sc, 0); return (rc); } @@ -8874,9 +8944,9 @@ t4_os_pci_restore_state(struct adapter *sc) } void -t4_os_portmod_changed(const struct adapter *sc, int idx) +t4_os_portmod_changed(struct port_info *pi, int old_ptype, int old_mtype, + struct link_config *old_lc) { - struct port_info *pi = sc->port[idx]; struct vi_info *vi; struct ifnet *ifp; int v; @@ -8884,9 +8954,15 @@ t4_os_portmod_changed(const struct adapter *sc, int id NULL, "LR", "SR", "ER", "TWINAX", "active TWINAX", "LRM" }; + PORT_LOCK(pi); for_each_vi(pi, v, vi) { build_medialist(pi, &vi->media); } + PORT_UNLOCK(pi); + if (begin_synchronized_op(pi->adapter, vi, HOLD_LOCK, "t4mod") == 0) { + init_l1cfg(pi); + end_synchronized_op(pi->adapter, LOCK_HELD); + } ifp = pi->vi[0].ifp; if (pi->mod_type == FW_PORT_MOD_TYPE_NONE) @@ -8896,8 +8972,8 @@ t4_os_portmod_changed(const struct adapter *sc, int id else if (pi->mod_type == FW_PORT_MOD_TYPE_NOTSUPPORTED) if_printf(ifp, "unsupported transceiver inserted.\n"); else if (pi->mod_type > 0 && pi->mod_type < nitems(mod_str)) { - if_printf(ifp, "%s transceiver inserted.\n", - mod_str[pi->mod_type]); + if_printf(ifp, "%dGbps %s transceiver inserted.\n", + port_top_speed(pi), mod_str[pi->mod_type]); } else { if_printf(ifp, "transceiver (type %d) inserted.\n", pi->mod_type); @@ -8905,11 +8981,11 @@ t4_os_portmod_changed(const struct adapter *sc, int id } void -t4_os_link_changed(struct adapter *sc, int idx, int link_stat) +t4_os_link_changed(struct port_info *pi, struct link_config *old_lc) { - struct port_info *pi = sc->port[idx]; struct vi_info *vi; struct ifnet *ifp; + struct link_config *lc; int v; for_each_vi(pi, v, vi) { @@ -8917,8 +8993,9 @@ t4_os_link_changed(struct adapter *sc, int idx, int li if (ifp == NULL) continue; - if (link_stat) { - ifp->if_baudrate = IF_Mbps(pi->link_cfg.speed); + lc = &pi->link_cfg; + if (lc->link_ok) { + ifp->if_baudrate = IF_Mbps(lc->speed); if_link_state_change(ifp, LINK_STATE_UP); } else { if_link_state_change(ifp, LINK_STATE_DOWN); From owner-svn-src-head@freebsd.org Mon Jul 17 06:25:31 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 33621CFD810; Mon, 17 Jul 2017 06:25:31 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citapm.icyb.net.ua (citapm.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 2AA77745DE; Mon, 17 Jul 2017 06:25:29 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citapm.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id JAA05357; Mon, 17 Jul 2017 09:25:27 +0300 (EEST) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1dWzTD-0006NH-Kh; Mon, 17 Jul 2017 09:25:27 +0300 Subject: Re: svn commit: r320452 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys To: Peter Wemm Cc: svn-src-head@FreeBSD.org, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org References: <201706281359.v5SDxKDB033681@repo.freebsd.org> <2865573.6VCVxXl8ZR@overcee.wemm.org> <2227668.mxUYtcVILl@overcee.wemm.org> <1620155.k5U0yJ7ekR@overcee.wemm.org> From: Andriy Gapon Message-ID: Date: Mon, 17 Jul 2017 09:24:06 +0300 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <1620155.k5U0yJ7ekR@overcee.wemm.org> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 17 Jul 2017 06:25:31 -0000 On 12/07/2017 22:52, Peter Wemm wrote: > On Tuesday, July 11, 2017 11:55:47 PM Peter Wemm wrote: >> On Tuesday, July 11, 2017 11:08:15 PM Peter Wemm wrote: >>> On Wednesday, June 28, 2017 01:59:20 PM Andriy Gapon wrote: >>>> A side bonus of this change is that now a vdev zio has a pointer >>>> to its corresponding bio while the zio is active. >>> >>> fault virtual address = 0x28 >>> >>> >>> db> where >>> Tracing pid 0 tid 100471 td 0xfffff80005452000 >>> vdev_geom_io_done() at vdev_geom_io_done+0x36/frame 0xfffffe0239f9eaa0 >>> zio_vdev_io_done() at zio_vdev_io_done+0x176/frame 0xfffffe0239f9ead0 >>> zio_execute() at zio_execute+0xac/frame 0xfffffe0239f9eb20 >> >> Oops, truncated. >> >> >> taskqueue_run_locked() at taskqueue_run_locked+0x127/frame >> 0xfffffe0239f9eb80 taskqueue_thread_loop() at >> taskqueue_thread_loop+0xc8/frame 0xfffffe0239f9ebb0 fork_exit() at >> fork_exit+0x85/frame 0xfffffe0239f9ebf0 >> fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0239f9ebf0 >> --- trap 0, rip = 0, rsp = 0, rbp = 0 --- > > Likewise with a disk failing or being put offline. eg: the explicit offlining > case, making a vdev degrade: Peter, could you please see if the patch from the bug report you opened helps with the problems? https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220691#c3 Sorry for the breakage and thank you for the report. > root@nope.ysv:/home/peter # zpool offline zroot mfid5p3 > > atal trap 12: page fault while in kernel mode > cpuid = 4; apic id = 04 > > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x28 > Fatal trap 12: page fault while in kernel mode > > Fatal trap 12: page fault while in kernel mode > Fatal trap 12: page fault while in kernel mode > cpuid = 7; apic id = 07 > cpuid = 1; apic id = 01 > fault virtual address = 0x28 > fault code = supervisor read data, page not present > cpuid = 3; cpuid = 5; apic id = 03 > Fatal trap 12: page fault while in kernel mode > apic id = 05 > fault virtual address = 0x28 > fault virtual address = 0x28 > fault code = supervisor read data, page not present > instruction pointer = 0x20:0xffffffff803aab56 > stack pointer = 0x28:0xfffffe085fb3aa90 > instruction pointer = 0x20:0xffffffff803aab56 > fault code = supervisor read data, page not present > cpuid = 6; fault virtual address = 0x28 > Fatal trap 12: page fault while in kernel mode > fault code = supervisor read data, page not present > instruction pointer = 0x20:0xffffffff803aab56 > stack pointer = 0x28:0xfffffe085fb3fa90 > frame pointer = 0x28:0xfffffe085fb3aaa0 > fault code = supervisor read data, page not present > cpuid = 2; apic id = 02 > apic id = 06 > instruction pointer = 0x20:0xffffffff803aab56 > fault virtual address = 0x28 > fault code = supervisor read data, page not present > stack pointer = 0x28:0xfffffe085fb30a90 > instruction pointer = 0x20:0xffffffff803aab56 > stack pointer = 0x28:0xfffffe085fb35a90 > frame pointer = 0x28:0xfffffe085fb3faa0 > code segment = base 0x0, limit 0xfffff, type 0x1b > stack pointer = 0x28:0xfffffe085fb44a90 > frame pointer = 0x28:0xfffffe085fb44aa0 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, long 1, def32 0, gran 1 > fault virtual address = 0x28 > = DPL 0, pres 1, long 1, def32 0, gran 1 > processor eflags = interrupt enabled, instruction pointer = 0x20:6 > frame pointer = 0x28:0xfffffe085fb30aa0 > code segment = base 0x0, limit 0xfffff, type 0x1b > code segment = base 0x0, limit 0xfffff, type 0x1b > frame pointer = 0x28:0xfffffe085fb35aa0 > code segment = base 0x0, limit 0xfffff, type 0x1b > resume, IOPL = 0 > stack pointer = 0x28:0xfffffe085fb26a90 > = DPL 0, pres 1, long 1, def32 0, gran 1 > = DPL 0, pres 1, long 1, def32 0, gran 1 > processor eflags = fault code = supervisor read data, page not > frame pointer = 0x28:0xfffffe085fb26aa0 > instruction pointer = 0x20:0xffffffff803aab56 > processor eflags = interrupt enabled, code segment = base b > = DPL 0, pres 1, long 1, def32 0, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 0 (zio_write_intr_2) > [ thread pid 0 tid 100500 ] > Stopped at vdev_geom_io_done+0x36: movq 0x28(%rbx),%rsi > db> where > Tracing pid 0 tid 100500 td 0xfffff8000aae6000 > vdev_geom_io_done() at vdev_geom_io_done+0x36/frame 0xfffffe085fb30aa0 > zio_vdev_io_done() at zio_vdev_io_done+0x176/frame 0xfffffe085fb30ad0 > zio_execute() at zio_execute+0xac/frame 0xfffffe085fb30b20 > taskqueue_run_locked() at taskqueue_run_locked+0x127/frame 0xfffffe085fb30b80 > taskqueue_thread_loop() at taskqueue_thread_loop+0xc8/frame 0xfffffe085fb30bb0 > fork_exit() at fork_exit+0x85/frame 0xfffffe085fb30bf0 > fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe085fb30bf0 > --- trap 0, rip = 0, rsp = 0, rbp = 0 --- > db> > -- Andriy Gapon From owner-svn-src-head@freebsd.org Mon Jul 17 08:53:52 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 58539D145CD; Mon, 17 Jul 2017 08:53:52 +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 mx1.freebsd.org (Postfix) with ESMTPS id 279BF7CD8C; Mon, 17 Jul 2017 08:53:52 +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 v6H8rpAY050630; Mon, 17 Jul 2017 08:53:51 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6H8rplh050628; Mon, 17 Jul 2017 08:53:51 GMT (envelope-from manu@FreeBSD.org) Message-Id: <201707170853.v6H8rplh050628@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Mon, 17 Jul 2017 08:53:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321072 - in head: etc/defaults share/man/man5 X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: in head: etc/defaults share/man/man5 X-SVN-Commit-Revision: 321072 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.23 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, 17 Jul 2017 08:53:52 -0000 Author: manu Date: Mon Jul 17 08:53:51 2017 New Revision: 321072 URL: https://svnweb.freebsd.org/changeset/base/321072 Log: ipfw_netflow: add +ipfw_netflow_enable="NO" to defaults/rc.conf and document usage in rc.conf(5) Reported by: markj Sponsored by: Gandi.net Modified: head/etc/defaults/rc.conf head/share/man/man5/rc.conf.5 Modified: head/etc/defaults/rc.conf ============================================================================== --- head/etc/defaults/rc.conf Mon Jul 17 06:46:57 2017 (r321071) +++ head/etc/defaults/rc.conf Mon Jul 17 08:53:51 2017 (r321072) @@ -168,6 +168,7 @@ firewall_nat_enable="NO" # Enable kernel NAT (if firew firewall_nat_interface="" # Public interface or IPaddress to use firewall_nat_flags="" # Additional configuration parameters dummynet_enable="NO" # Load the dummynet(4) module +ipfw_netflow_enable="NO" # Enable netflow logging via ng_netflow ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) Modified: head/share/man/man5/rc.conf.5 ============================================================================== --- head/share/man/man5/rc.conf.5 Mon Jul 17 06:46:57 2017 (r321071) +++ head/share/man/man5/rc.conf.5 Mon Jul 17 08:53:51 2017 (r321072) @@ -591,6 +591,39 @@ module if is also set to .Dq Li YES . .\" ------------------------------------------------------------------- +.It Va ipfw_netflow_enable +.Pq Vt bool +Setting this to +.Dq Li YES +will enable netflow logging via +.Xr ng_netflow 4 +.Pp +By default a ipfw rule is inserted and all packets are duplicated with +the ngtee command and netflow packets are sent to 127.0.0.1 on the netflow +port using protocol version 5. +.It Va ipfw_netflow_hook +.Pq Vt str +netflow hook name, must be numerical +(default +.Pa 9995 ) . +.It Va ipfw_netflow_rule +.Pq Vt str +ipfw rule number +(default +.Pa 1000 ) . +.It Va ipfw_netflow_ip +.Pq Vt str +Destination server ip for receiving netflow data +(default +.Pa 127.0.0.1 ) . +.It Va ipfw_netflow_port +.Pq Vt str +Destination server port for receiving netflow data +(default +.Pa 9995 ) . +.It Va ipfw_netflow_version +.Pq Vt str +Do not set for using version 5 of the netflow protocol, set it to 9 for using version 9. .It Va natd_program .Pq Vt str Path to From owner-svn-src-head@freebsd.org Mon Jul 17 16:30:50 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 50A63D9967B for ; Mon, 17 Jul 2017 16:30:50 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1a.eu.mailhop.org (outbound1a.eu.mailhop.org [52.58.109.202]) (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 D60216656F for ; Mon, 17 Jul 2017 16:30:49 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: 1e7a244b-6b0d-11e7-b2f5-7fbc454a3a22 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.78.92.27 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.78.92.27]) by outbound1.eu.mailhop.org (Halon) with ESMTPSA id 1e7a244b-6b0d-11e7-b2f5-7fbc454a3a22; Mon, 17 Jul 2017 16:29:36 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id v6HGTXKs006011; Mon, 17 Jul 2017 10:29:33 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <1500308973.22314.89.camel@freebsd.org> Subject: Re: svn commit: r320901 - in head/sys: amd64/amd64 isa x86/isa From: Ian Lepore To: Bruce Evans Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Mon, 17 Jul 2017 10:29:33 -0600 In-Reply-To: <20170712224803.G1991@besplex.bde.org> References: <201707120242.v6C2gvDB026199@repo.freebsd.org> <20170712224803.G1991@besplex.bde.org> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.18.5.1 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 17 Jul 2017 16:30:50 -0000 On Thu, 2017-07-13 at 01:42 +1000, Bruce Evans wrote: > On Wed, 12 Jul 2017, Ian Lepore wrote: > > > Log: > >  Protect access to the AT realtime clock with its own mutex. > > > >  The mutex protecting access to the registered realtime clock should not be > >  overloaded to protect access to the atrtc hardware, which might not even be > >  the registered rtc. More importantly, the resettodr mutex needs to be > >  eliminated to remove locking/sleeping restrictions on clock drivers, and > >  that can't happen if MD code for amd64 depends on it. This change moves the > >  protection into what's really being protected: access to the atrtc date and > >  time registers. > > The spin mutex provided some protection against timing bugs caused by > preemption, but it is impossible to hold the mutex around the user code > that is setting the time, so both the kernel and user code should check > if the operation took too long and fail/retry if it did. > I can't figure out what you're talking about here.  There is no userland code involved in any of this stuff. > With correct code like that, spin mutexes are still good for limiting > retries.  I think it is best to try to hold one around the entire kernel > part of the operation, and release it when sleeping at lower levels. > I'm not sure what this is about either.  The current code for getting the atrtc has no retries. > > Modified: head/sys/x86/isa/atrtc.c > > ============================================================================== > > --- head/sys/x86/isa/atrtc.c  Tue Jul 11 21:55:20 2017        (r320900) > > +++ head/sys/x86/isa/atrtc.c  Wed Jul 12 02:42:57 2017        (r320901) > > @@ -53,9 +53,17 @@ __FBSDID("$FreeBSD$"); > > #include > > #include "clock_if.h" > > > > +/* > > + * clock_lock protects low-level access to individual hardware registers. > > + * atrtc_time_lock protects the entire sequence of accessing multiple registers > > + * to read or write the date and time. > > + */ > > #define       RTC_LOCK        do { if (!kdb_active) mtx_lock_spin(&clock_lock); } while (0) > > #define       RTC_UNLOCK      do { if (!kdb_active) mtx_unlock_spin(&clock_lock); } while (0) > > This has a lot of old design and implementation bugs: > - it abuses the i8254 mutex for the rtc > - it obfuscates this using macros > - locking individual register accesses is buggy.  Register accesses need to >    be locked in groups like your new code does > - the kdb_active hack is buggy (it can't use mutexes and is unnecessarily >    non-reentrant) > The locks should be separate and statically allocated. > I've always assumed the locking of individual register access was because rtcin() and writertc() are global functions used by other parts of the kernel to access individual bytes of cmos nvram, and that locking the whole device for the duration of the larger operations involved might cause problems.  For example, the nvram driver does byte at a time accesses in a loop that includes uimove() calls, so holding a lock on all atrtc hardware access for the duration of that isn't a good option. It does seem like the atrtc code should have its own register-access mutex rather than using clock_lock.  As you mentioned, the fact that it's borrowing a mutex is pretty well obscured; I hadn't noticed it. > > > > +struct mtx atrtc_time_lock; > > +MTX_SYSINIT(atrtc_lock_init, &atrtc_time_lock, "atrtc", MTX_DEF); > > + > > I think the old mutex should be used here, after fixing it.  Locking > individual register access is a special case of locking groups of > register acceses.  It must be a spin mutex for low-level use, and that > is good for high-level use too, to complete the high-level operations > as soon as possible. > I'm not sure what you're referring to when you say "the old mutex". > You used this mutex for efirt.c, but I think that is another error like > sharing the i8254 mutex (or the resettodr mutex).   Different clock > drivers should just use different mutexes.  Perhaps some drivers actually > need sleep mutexes. > I assumed the reason the efirt code was using the same mutex that protected access to the at rtc was because under the hood, the efi rt clock is really the same hardware too, accessed via bios code. > > ... > > @@ -352,6 +364,7 @@ atrtc_gettime(device_t dev, struct timespec *ts) > >        * to make sure that no more than 240us pass after we start reading, > >        * and try again if so. > >        */ > > +     mtx_lock(&atrtc_time_lock); > >       while (rtcin(RTC_STATUSA) & RTCSA_TUP) > >               continue; > >       critical_enter(); > > Note the comment about the 240us window.  On i386, this was broken by > SMPng, and almost fixed by starting the locking outside of the loop > (a spin mutex would fix it). > > On i386, before SMPng, there was an splhigh() starting before the loop. > rtcin() also used splhigh().  This was only shortly before SMPng -- > FreeBSD-4 had both splhigh()'s, but FreeBSD-3 had neither. > > With no locking, an interrupt after the read of the status register can > occur, and interrupt handling can easily take longer than the 240us window > even if it doesn't cause preemption. > > critical_enter() in the above gives poor man's locking which blocks > preemption but not-so-fast interrupt handlers. > > The race is not very important since this code only runs at boot time. > And at resume from sleep/lowpower modes, I think.  This is not something I can test easily, but I see calls to inittodr() from apm and pmtimer code.  Even so, I think it qualifies as called very infrequently. That's why I think the right way to fix the coherent reading problem is not trying harder to stay within a 244us window, but rather to stop even trying to.  Instead, look at that flag only to prevent starting the operation while an update is in progress, and use the more usual "loop until you read the same values twice" logic to get a coherent read.  That's especially true considering that taking longer than 244us to do the reads is only a problem once per second; during the other 999756us you'll still get coherent values. -- Ian > The old splhigh() locking and a [spin] mutex around the loop lock out > interrupts and/or preemption for too long (0-1 seconds), but again this > is not very important since this code only runs at boot time. > > This is fixed in my version, but only for spl locking.  The lock is > acquired before each test in the loop and dropped after each failing > test in the loop.  Then operation is completed as far as necessary > while the lock is still held. > > > @@ -369,6 +382,7 @@ atrtc_gettime(device_t dev, struct timespec *ts) > >       ct.year += (ct.year < 80 ? 2000 : 1900); > > #endif > >       critical_exit(); > > +     mtx_unlock(&atrtc_time_lock); > >       /* Set dow = -1 because some clocks don't set it correctly. */ > >       ct.dow = -1; > >       return (clock_ct_to_ts(&ct, ts)); > > The new mtx_lock() should be placed next to the old critical_enter() too. > Put these before or after the loop depending on whether races or high > latency are preferred. > > Bruce > From owner-svn-src-head@freebsd.org Mon Jul 17 16:43:16 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 603F9D99C62; Mon, 17 Jul 2017 16:43:16 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::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 E9AA966DD7; Mon, 17 Jul 2017 16:43:15 +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 v6HGhARr074126 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 17 Jul 2017 19:43:10 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v6HGhARr074126 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v6HGhA0I074125; Mon, 17 Jul 2017 19:43:10 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 17 Jul 2017 19:43:10 +0300 From: Konstantin Belousov To: Ian Lepore Cc: Bruce Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320901 - in head/sys: amd64/amd64 isa x86/isa Message-ID: <20170717164310.GM1935@kib.kiev.ua> References: <201707120242.v6C2gvDB026199@repo.freebsd.org> <20170712224803.G1991@besplex.bde.org> <1500308973.22314.89.camel@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1500308973.22314.89.camel@freebsd.org> User-Agent: Mutt/1.8.3 (2017-05-23) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 17 Jul 2017 16:43:16 -0000 On Mon, Jul 17, 2017 at 10:29:33AM -0600, Ian Lepore wrote: > I assumed the reason the efirt code was using the same mutex that > protected access to the at rtc was because under the hood, the efi rt > clock is really the same hardware too, accessed via bios code. EFI spec states it explicitely, e.g. in the description of the GetTime() function of the Time Services interface: During runtime, if a PC-AT CMOS device is present in the platform the caller must synchronize access to the device before calling GetTime(). From owner-svn-src-head@freebsd.org Mon Jul 17 16:59:23 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E397CD9A64E; Mon, 17 Jul 2017 16:59:23 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B1C9F6778B; Mon, 17 Jul 2017 16:59:23 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6HGxMDm048776; Mon, 17 Jul 2017 16:59:22 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6HGxMFc048775; Mon, 17 Jul 2017 16:59:22 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201707171659.v6HGxMFc048775@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 17 Jul 2017 16:59:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321075 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 321075 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.23 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, 17 Jul 2017 16:59:24 -0000 Author: jhb Date: Mon Jul 17 16:59:22 2017 New Revision: 321075 URL: https://svnweb.freebsd.org/changeset/base/321075 Log: Set the current vnet pointer in the socket buffer AIO handler. This fixes panics when using AIO under VIMAGE. Reported by: kp MFC after: 3 days Sponsored by: Chelsio Communications Modified: head/sys/kern/sys_socket.c Modified: head/sys/kern/sys_socket.c ============================================================================== --- head/sys/kern/sys_socket.c Mon Jul 17 14:09:34 2017 (r321074) +++ head/sys/kern/sys_socket.c Mon Jul 17 16:59:22 2017 (r321075) @@ -693,6 +693,7 @@ soaio_process_sb(struct socket *so, struct sockbuf *sb { struct kaiocb *job; + CURVNET_SET(so->so_vnet); SOCKBUF_LOCK(sb); while (!TAILQ_EMPTY(&sb->sb_aiojobq) && soaio_ready(so, sb)) { job = TAILQ_FIRST(&sb->sb_aiojobq); @@ -715,6 +716,7 @@ soaio_process_sb(struct socket *so, struct sockbuf *sb SOCK_LOCK(so); sorele(so); + CURVNET_RESTORE(); } void From owner-svn-src-head@freebsd.org Mon Jul 17 17:33:26 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E7E45D9B415; Mon, 17 Jul 2017 17:33:26 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C5B6C68BDF; Mon, 17 Jul 2017 17:33:26 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by mail.baldwin.cx (Postfix) with ESMTPSA id 4D4FF10AF09; Mon, 17 Jul 2017 13:33:25 -0400 (EDT) From: John Baldwin To: Mark Johnston Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320918 - head/sbin/savecore Date: Mon, 17 Jul 2017 09:48:53 -0700 Message-ID: <7394656.HeKS8RJobr@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.0-STABLE; KDE/4.14.10; amd64; ; ) In-Reply-To: <20170712234108.GA48612@wkstn-mjohnston.west.isilon.com> References: <201707121829.v6CITPxG012102@repo.freebsd.org> <1930640.IHpqZ2aWqS@ralph.baldwin.cx> <20170712234108.GA48612@wkstn-mjohnston.west.isilon.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Mon, 17 Jul 2017 13:33:25 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 17 Jul 2017 17:33:27 -0000 On Wednesday, July 12, 2017 04:41:09 PM Mark Johnston wrote: > On Wed, Jul 12, 2017 at 02:23:52PM -0700, John Baldwin wrote: > > On Wednesday, July 12, 2017 06:29:25 PM Mark Johnston wrote: > > > Author: markj > > > Date: Wed Jul 12 18:29:25 2017 > > > New Revision: 320918 > > > URL: https://svnweb.freebsd.org/changeset/base/320918 > > > > > > Log: > > > Add a newline after the version string. > > > > > > MFC after: 3 days > > > > I think the version string normally has a trailing \n emedded in it? > > You're right. The problem in my case is that the version string is > getting truncated in mkdumpheader(), and so the trailing \n is omitted. > > > Also, > > have you verified that crashinfo is still able to match the Version String > > from the generated info.X file? I think it might as it stops printing lines > > once it matches the second line of the version, so I think (just reading the > > awk) that it will not include the extra newline in the 'ivers' compared > > against 'version' from gdb. > > That's true, but it looks like it doesn't work properly in the truncated > case. What if we declare a match when the version string in the info.X > file matches a prefix of the version string reported by gdb? Sorry I didn't reply earlier. I think the patch below for crashinfo is fine (but have not tested it myself): > diff --git a/usr.sbin/crashinfo/crashinfo.sh b/usr.sbin/crashinfo/crashinfo.sh > index e52c01419b0d..b3029c6eea4a 100755 > --- a/usr.sbin/crashinfo/crashinfo.sh > +++ b/usr.sbin/crashinfo/crashinfo.sh > @@ -85,8 +85,9 @@ find_kernel() > > # Look for a matching kernel version. > for k in `sysctl -n kern.bootfile` $(ls -t /boot/*/kernel); do > - kvers=$(gdb_command $k 'printf " Version String: %s", version' \ > - 2>/dev/null) > + kvers=$(gdb_command $k 'printf " Version String: %s", version' | \ > + awk "{line=line\$0\"\n\"} END{print substr(line,1,${#ivers})}" \ > + 2>/dev/null) > if [ "$ivers" = "$kvers" ]; then > KERNEL=$k > break > -- John Baldwin From owner-svn-src-head@freebsd.org Mon Jul 17 17:36:05 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A06BDD9B742; Mon, 17 Jul 2017 17:36:05 +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 mx1.freebsd.org (Postfix) with ESMTPS id 6E71368FF1; Mon, 17 Jul 2017 17:36:05 +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 v6HHa46V064987; Mon, 17 Jul 2017 17:36:04 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6HHa403064986; Mon, 17 Jul 2017 17:36:04 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707171736.v6HHa403064986@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Mon, 17 Jul 2017 17:36:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321076 - head/usr.bin/diff X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/usr.bin/diff X-SVN-Commit-Revision: 321076 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.23 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, 17 Jul 2017 17:36:05 -0000 Author: ngie Date: Mon Jul 17 17:36:04 2017 New Revision: 321076 URL: https://svnweb.freebsd.org/changeset/base/321076 Log: Don't emit "diff: diff arguments" when diffing files if -q is specified. This improves compatibility with GNU diff. Found by accident with `diff -Nrq /usr/tests /usr/tests.new | grep Kyuafile`. MFC after: 2 months Relnotes: yes Modified: head/usr.bin/diff/diffreg.c Modified: head/usr.bin/diff/diffreg.c ============================================================================== --- head/usr.bin/diff/diffreg.c Mon Jul 17 16:59:22 2017 (r321075) +++ head/usr.bin/diff/diffreg.c Mon Jul 17 17:36:04 2017 (r321076) @@ -1115,7 +1115,7 @@ restart: return; } proceed: - if (*pflags & D_HEADER) { + if (*pflags & D_HEADER && diff_format != D_BRIEF) { diff_output("%s %s %s\n", diffargs, file1, file2); *pflags &= ~D_HEADER; } From owner-svn-src-head@freebsd.org Mon Jul 17 17:45:32 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7C41BD9BC9A; Mon, 17 Jul 2017 17:45:32 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qk0-x241.google.com (mail-qk0-x241.google.com [IPv6:2607:f8b0:400d:c09::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2BAB56986B; Mon, 17 Jul 2017 17:45:32 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by mail-qk0-x241.google.com with SMTP id z22so2854465qka.2; Mon, 17 Jul 2017 10:45:32 -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:user-agent; bh=TGGagnh0IwmE7u5l4LlTfANFqvwFEI0wqmc4OhGRfI8=; b=XH2JG6DS0YXNLeNCNOUkH0GqVqh/HidZ2dat1zXHa5WVCDlsLd/6+iZ88CDQZlDUvS Zg0VmBkgAox7mfGzf1DFUk07G3SwlSB/GwdqV5SemwDb4Ot9QjDriMGmydAz/z6z3HhB +QyJY+DWRyAEYdlKZ7StfR121L3JXVDI0nx2sCT8iBg6MGUEJ6oEWSAXPaxygLfuQJ3V UK66VsVUtu+ukXPzQa8vjl7Gnr1FigosjrmTjQpZuev8rc+ZXn3JHFR+S986V36kb8CK ahPlrtSZzE+XCF8PP0aUUfIcIKvxw9q8E9NcXvXJ0yUhh28WgCWIve/ytmnmqViRKDe9 gfgA== 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:user-agent; bh=TGGagnh0IwmE7u5l4LlTfANFqvwFEI0wqmc4OhGRfI8=; b=LjmAvYGFGwOyuJbdOTjZo86wZA+u9QOrQqniRiH3WZ37GZ5vORdTZjPD7nXlUZOi9D bLvGpAjeMdF1Y0FzKpBcyQEQP8gPBN7frm90qdVfLk1qa9f+OG5yvm5TJM16vSpve0r5 ar1i+hgcvwSPYX215YQkA/suVI/L41M1/x3hUbNZqO6cDGLmKzN4EYfdbgqxHcbXiiHF w9HQbsrVTvzZcaV9VtjAubqH+1M9XwR84kExpKmxRbWNSNceNwJQoKEBDA1AL0eIlK3w z/Ptfo/sz1Y5scV3YFZzThyKuSJmAME73tSas7+FLmn3kUhcj5LBfjH+o1YgXGuLEbdY zvEA== X-Gm-Message-State: AIVw11098vm4k3Ierj4Lk4at3UnLV3Q0qIaPslGCqSTZ68UEnPDQDEVz Gwp7GhSfGCJ4q9IX X-Received: by 10.55.175.3 with SMTP id y3mr26570161qke.185.1500313531038; Mon, 17 Jul 2017 10:45:31 -0700 (PDT) Received: from wkstn-mjohnston.west.isilon.com (c-76-104-201-218.hsd1.wa.comcast.net. [76.104.201.218]) by smtp.gmail.com with ESMTPSA id c5sm10696568qkd.27.2017.07.17.10.45.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Jul 2017 10:45:30 -0700 (PDT) Sender: Mark Johnston Date: Mon, 17 Jul 2017 10:46:18 -0700 From: Mark Johnston To: John Baldwin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320918 - head/sbin/savecore Message-ID: <20170717174618.GE95367@wkstn-mjohnston.west.isilon.com> References: <201707121829.v6CITPxG012102@repo.freebsd.org> <1930640.IHpqZ2aWqS@ralph.baldwin.cx> <20170712234108.GA48612@wkstn-mjohnston.west.isilon.com> <7394656.HeKS8RJobr@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7394656.HeKS8RJobr@ralph.baldwin.cx> User-Agent: Mutt/1.8.3 (2017-05-23) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 17 Jul 2017 17:45:32 -0000 On Mon, Jul 17, 2017 at 09:48:53AM -0700, John Baldwin wrote: > On Wednesday, July 12, 2017 04:41:09 PM Mark Johnston wrote: > > On Wed, Jul 12, 2017 at 02:23:52PM -0700, John Baldwin wrote: > > > On Wednesday, July 12, 2017 06:29:25 PM Mark Johnston wrote: > > > > Author: markj > > > > Date: Wed Jul 12 18:29:25 2017 > > > > New Revision: 320918 > > > > URL: https://svnweb.freebsd.org/changeset/base/320918 > > > > > > > > Log: > > > > Add a newline after the version string. > > > > > > > > MFC after: 3 days > > > > > > I think the version string normally has a trailing \n emedded in it? > > > > You're right. The problem in my case is that the version string is > > getting truncated in mkdumpheader(), and so the trailing \n is omitted. > > > > > Also, > > > have you verified that crashinfo is still able to match the Version String > > > from the generated info.X file? I think it might as it stops printing lines > > > once it matches the second line of the version, so I think (just reading the > > > awk) that it will not include the extra newline in the 'ivers' compared > > > against 'version' from gdb. > > > > That's true, but it looks like it doesn't work properly in the truncated > > case. What if we declare a match when the version string in the info.X > > file matches a prefix of the version string reported by gdb? > > Sorry I didn't reply earlier. I think the patch below for crashinfo is fine > (but have not tested it myself): I did test it with both truncated and non-truncated version strings (with r321035 applied). The bit that gets truncated first is the objdir path, so I think it'd be unlikely that we match the wrong kernel: the build time and build number are also both contained in the version string. > > > diff --git a/usr.sbin/crashinfo/crashinfo.sh b/usr.sbin/crashinfo/crashinfo.sh > > index e52c01419b0d..b3029c6eea4a 100755 > > --- a/usr.sbin/crashinfo/crashinfo.sh > > +++ b/usr.sbin/crashinfo/crashinfo.sh > > @@ -85,8 +85,9 @@ find_kernel() > > > > # Look for a matching kernel version. > > for k in `sysctl -n kern.bootfile` $(ls -t /boot/*/kernel); do > > - kvers=$(gdb_command $k 'printf " Version String: %s", version' \ > > - 2>/dev/null) > > + kvers=$(gdb_command $k 'printf " Version String: %s", version' | \ > > + awk "{line=line\$0\"\n\"} END{print substr(line,1,${#ivers})}" \ > > + 2>/dev/null) > > if [ "$ivers" = "$kvers" ]; then > > KERNEL=$k > > break > > > > > -- > John Baldwin From owner-svn-src-head@freebsd.org Mon Jul 17 17:50:51 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A2882D9BE49; Mon, 17 Jul 2017 17:50:51 +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 mx1.freebsd.org (Postfix) with ESMTPS id 6C6E069BB1; Mon, 17 Jul 2017 17:50:51 +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 v6HHooK4071939; Mon, 17 Jul 2017 17:50:50 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6HHooAF071938; Mon, 17 Jul 2017 17:50:50 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707171750.v6HHooAF071938@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Mon, 17 Jul 2017 17:50:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321077 - head/usr.bin/diff/tests X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/usr.bin/diff/tests X-SVN-Commit-Revision: 321077 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.23 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, 17 Jul 2017 17:50:51 -0000 Author: ngie Date: Mon Jul 17 17:50:50 2017 New Revision: 321077 URL: https://svnweb.freebsd.org/changeset/base/321077 Log: Add some tests for brief (--brief/-q) format MFC after: 2 months MFC with: r321076 Modified: head/usr.bin/diff/tests/diff_test.sh Modified: head/usr.bin/diff/tests/diff_test.sh ============================================================================== --- head/usr.bin/diff/tests/diff_test.sh Mon Jul 17 17:36:04 2017 (r321076) +++ head/usr.bin/diff/tests/diff_test.sh Mon Jul 17 17:50:50 2017 (r321077) @@ -7,6 +7,7 @@ atf_test_case header_ns atf_test_case ifdef atf_test_case group_format atf_test_case side_by_side +atf_test_case brief_format simple_body() { @@ -109,6 +110,23 @@ side_by_side_body() diff -W 65 -y --suppress-common-lines A B } +brief_format_body() +{ + atf_check mkdir A B + + atf_check -x "echo 1 > A/test-file" + atf_check -x "echo 2 > B/test-file" + + atf_check cp -Rf A C + + atf_check \ + -s exit:1 \ + -o inline:"Files A/test-file and B/test-file differ\n" \ + diff -Nrq A B + + atf_check diff -Nrq A C +} + atf_init_test_cases() { atf_add_test_case simple @@ -118,4 +136,5 @@ atf_init_test_cases() atf_add_test_case ifdef atf_add_test_case group_format atf_add_test_case side_by_side + atf_add_test_case brief_format } From owner-svn-src-head@freebsd.org Mon Jul 17 18:06:43 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A4846D9CA52; Mon, 17 Jul 2017 18:06:43 +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 mx1.freebsd.org (Postfix) with ESMTPS id 73BF26A6ED; Mon, 17 Jul 2017 18:06:43 +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 v6HI6gVi078257; Mon, 17 Jul 2017 18:06:42 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6HI6gea078256; Mon, 17 Jul 2017 18:06:42 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707171806.v6HI6gea078256@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Mon, 17 Jul 2017 18:06:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321078 - head/usr.bin/diff X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/usr.bin/diff X-SVN-Commit-Revision: 321078 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.23 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, 17 Jul 2017 18:06:43 -0000 Author: ngie Date: Mon Jul 17 18:06:42 2017 New Revision: 321078 URL: https://svnweb.freebsd.org/changeset/base/321078 Log: Fix exit status with -rq when there is a file in one directory but not another, i.e., when print_only is called. Prior to this change, -rq was always returning 0. After this change it will return 1 if there is a difference between two directories. This fixes compatibility with GNU diff and unbreaks backwards compatibility expectations. Found when trying to extend diff_test:brief_format_test. MFC after: 2 months MFC with: r321076, r321077 Modified: head/usr.bin/diff/diffdir.c Modified: head/usr.bin/diff/diffdir.c ============================================================================== --- head/usr.bin/diff/diffdir.c Mon Jul 17 17:50:50 2017 (r321077) +++ head/usr.bin/diff/diffdir.c Mon Jul 17 18:06:42 2017 (r321078) @@ -134,16 +134,20 @@ diffdir(char *p1, char *p2, int flags) if (Nflag) diffit(dent1, path1, dirlen1, path2, dirlen2, flags); - else + else { print_only(path1, dirlen1, dent1->d_name); + status = 1; + } dp1++; } else { /* file only in second dir, only diff if -N or -P */ if (Nflag || Pflag) diffit(dent2, path1, dirlen1, path2, dirlen2, flags); - else + else { print_only(path2, dirlen2, dent2->d_name); + status = 1; + } dp2++; } } From owner-svn-src-head@freebsd.org Mon Jul 17 18:07:55 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1F343D9CAC3; Mon, 17 Jul 2017 18:07:55 +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 mx1.freebsd.org (Postfix) with ESMTPS id E2D4B6A83C; Mon, 17 Jul 2017 18:07:54 +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 v6HI7s4x078335; Mon, 17 Jul 2017 18:07:54 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6HI7sax078334; Mon, 17 Jul 2017 18:07:54 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707171807.v6HI7sax078334@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Mon, 17 Jul 2017 18:07:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321079 - head/usr.bin/diff/tests X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/usr.bin/diff/tests X-SVN-Commit-Revision: 321079 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.23 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, 17 Jul 2017 18:07:55 -0000 Author: ngie Date: Mon Jul 17 18:07:53 2017 New Revision: 321079 URL: https://svnweb.freebsd.org/changeset/base/321079 Log: Add tests that exercise -q, like -rq and add tests that test -q like -Nrq MFC after: 2 months MFC with: r321076, r321077, r321078 Modified: head/usr.bin/diff/tests/diff_test.sh Modified: head/usr.bin/diff/tests/diff_test.sh ============================================================================== --- head/usr.bin/diff/tests/diff_test.sh Mon Jul 17 18:06:42 2017 (r321078) +++ head/usr.bin/diff/tests/diff_test.sh Mon Jul 17 18:07:53 2017 (r321079) @@ -118,13 +118,26 @@ brief_format_body() atf_check -x "echo 2 > B/test-file" atf_check cp -Rf A C + atf_check cp -Rf A D + atf_check -x "echo 3 > D/another-test-file" + atf_check \ -s exit:1 \ -o inline:"Files A/test-file and B/test-file differ\n" \ - diff -Nrq A B + diff -rq A B - atf_check diff -Nrq A C + atf_check diff -rq A C + + atf_check \ + -s exit:1 \ + -o inline:"Only in D: another-test-file\n" \ + diff -rq A D + + atf_check \ + -s exit:1 \ + -o inline:"Files A/another-test-file and D/another-test-file differ\n" \ + diff -Nrq A D } atf_init_test_cases() From owner-svn-src-head@freebsd.org Mon Jul 17 18:12:10 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 24A28D9CCA9; Mon, 17 Jul 2017 18:12:10 +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 mx1.freebsd.org (Postfix) with ESMTPS id DE4A66AC32; Mon, 17 Jul 2017 18:12:09 +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 v6HIC9eE082060; Mon, 17 Jul 2017 18:12:09 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6HIC9Cq082059; Mon, 17 Jul 2017 18:12:09 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707171812.v6HIC9Cq082059@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Mon, 17 Jul 2017 18:12:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321080 - head/usr.bin/getconf X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/usr.bin/getconf X-SVN-Commit-Revision: 321080 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.23 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, 17 Jul 2017 18:12:10 -0000 Author: ngie Date: Mon Jul 17 18:12:08 2017 New Revision: 321080 URL: https://svnweb.freebsd.org/changeset/base/321080 Log: Expose the ILP32/LP64 programming environments based on __ILP32__/__LP64__ instead of by architecture. The list was incomplete (previous commits purged invalid architectures, like __alpha__, but failed to add new ones). It's best to base the symbol presence on whether or not the architecture is ILP32 / LP64 capable, per the compiler. This fixes the ILP32/LP64 program environments on some architectures like arm64, and by proxy fixes the tests on those architectures. MFC after: 1 month Reviewed by: no one (timed out on feedback from imp) Differential Revision: D10787 Modified: head/usr.bin/getconf/progenv.gperf Modified: head/usr.bin/getconf/progenv.gperf ============================================================================== --- head/usr.bin/getconf/progenv.gperf Mon Jul 17 18:07:53 2017 (r321079) +++ head/usr.bin/getconf/progenv.gperf Mon Jul 17 18:12:08 2017 (r321080) @@ -30,11 +30,11 @@ static const struct map *in_word_set(const char *str); * be updated. (We cheat here and define the supported environments * statically.) */ -#if defined(__sparc64__) || defined(__amd64__) +#ifdef __LP64__ #define have_LP64_OFF64 NULL #endif -#if defined(__i386__) || defined(__powerpc__) +#ifdef __ILP32__ #define have_ILP32_OFFBIG NULL #endif From owner-svn-src-head@freebsd.org Mon Jul 17 18:20:55 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A48C1D9D0D7; Mon, 17 Jul 2017 18:20:55 +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 mx1.freebsd.org (Postfix) with ESMTPS id 72E456B1F8; Mon, 17 Jul 2017 18:20:55 +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 v6HIKsiB082378; Mon, 17 Jul 2017 18:20:54 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6HIKsla082377; Mon, 17 Jul 2017 18:20:54 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707171820.v6HIKsla082377@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Mon, 17 Jul 2017 18:20:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321081 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 321081 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.23 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, 17 Jul 2017 18:20:55 -0000 Author: ngie Date: Mon Jul 17 18:20:54 2017 New Revision: 321081 URL: https://svnweb.freebsd.org/changeset/base/321081 Log: Sort the tests alphabetically before adding them to the Kyuafiles This is being done to aid in debugging test runs, in the event the output shifts due to refactored Makefiles, added tests, etc. MFC after: 1 month Modified: head/share/mk/bsd.test.mk Modified: head/share/mk/bsd.test.mk ============================================================================== --- head/share/mk/bsd.test.mk Mon Jul 17 18:12:08 2017 (r321080) +++ head/share/mk/bsd.test.mk Mon Jul 17 18:20:54 2017 (r321081) @@ -66,6 +66,10 @@ _TESTS= .include .include +# Sort the tests alphabetically, so the results are deterministically formed +# across runs. +_TESTS:= ${_TESTS:O} + # kyua automatically descends directories; only run make check on the # top-level directory .if !make(check) From owner-svn-src-head@freebsd.org Mon Jul 17 18:27:05 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C8D1ED9D2B9 for ; Mon, 17 Jul 2017 18:27:05 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-io0-x22c.google.com (mail-io0-x22c.google.com [IPv6:2607:f8b0:4001:c06::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 876706B5F8 for ; Mon, 17 Jul 2017 18:27:05 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-io0-x22c.google.com with SMTP id z62so1453395ioi.3 for ; Mon, 17 Jul 2017 11:27:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=cHwT+35kXkPEmEPYyb5FAgODGABfEj2PFxNwJ0qCtl4=; b=Nyq4eKDWDl3ThqzCVKj3W6pkyIDa8uACOQtOGvM3CtLd+oTlUAYP/fXkQZ8Qce+FHc /kyyA786Pq++ndhfDsropB8YdX9V5VqiSzVwGzw845ktYBux/ShioIDqnOFjosenQg73 eeE/snkoEWtM75p31GzHiU1M65zFK91fBobgq61lkr8K5ttuAYcQfNjvssIchGSv/Sb9 I12V1ecXrj69wi1Int97Dx2IGGWEwVB2e3BqvhbRKiBhiygRK/rBiSkqoYdcSizDI1rE lLA3AGGFjKI14YjsU+41hNfg3kJOix4c9rgOgvdqmsFeBwslLEGvHxZ5dS6hkhUWGoOP FgyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=cHwT+35kXkPEmEPYyb5FAgODGABfEj2PFxNwJ0qCtl4=; b=CDI5rQOezP11liABv/DIU0cTRolcd7D31CAhwuepirvPuKFwPKCiJRbGOAfXP1aioN kXmtMp0QRz+HClZcPluavNhcCC4jsFhPTNFfl2QHLhRcuvP9bTtzik/3Jb+FhgZhtW/O Nq3W6uYFTwL04L/FVtLtvgWi4nrYnR0alM71BPfnwrILVTkJJ9dMRgiczhLLTNIGfPyC XuzffP2iDShERnqDbmITSRingsgJF6UOngV1jRBmZwOSABVlYtt0Sxv53zmLfWbUj1mS qnEUXDOWgABbEbbodfZ8ZpRbxZN8Dm6mhtQAh6sb6Bx0adQZbpwPSxi8jfFOqW1qPzYC T1Tg== X-Gm-Message-State: AIVw1130YgfYNEGfRCvhVdrxbeDgh3WOrWOQDr4PZ5L3RHc5dTmXN1Gc AVOdL97sMzC7HDc44HMDhzz9JDism+uK X-Received: by 10.107.176.11 with SMTP id z11mr21661325ioe.173.1500316024741; Mon, 17 Jul 2017 11:27:04 -0700 (PDT) MIME-Version: 1.0 Sender: wlosh@bsdimp.com Received: by 10.79.212.167 with HTTP; Mon, 17 Jul 2017 11:27:04 -0700 (PDT) X-Originating-IP: [65.151.16.249] In-Reply-To: <201707171812.v6HIC9Cq082059@repo.freebsd.org> References: <201707171812.v6HIC9Cq082059@repo.freebsd.org> From: Warner Losh Date: Mon, 17 Jul 2017 12:27:04 -0600 X-Google-Sender-Auth: OaA6vTek1-Ri3zojCfXPWCbYNnQ Message-ID: Subject: Re: svn commit: r321080 - head/usr.bin/getconf To: Ngie Cooper Cc: src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 17 Jul 2017 18:27:05 -0000 On Mon, Jul 17, 2017 at 12:12 PM, Ngie Cooper wrote: > Author: ngie > Date: Mon Jul 17 18:12:08 2017 > New Revision: 321080 > URL: https://svnweb.freebsd.org/changeset/base/321080 > > Log: > Expose the ILP32/LP64 programming environments based on > __ILP32__/__LP64__ instead of by architecture. > > The list was incomplete (previous commits purged invalid architectures, > like __alpha__, but failed to add new ones). It's best to base the symbol > presence on whether or not the architecture is ILP32 / LP64 capable, per > the compiler. > > This fixes the ILP32/LP64 program environments on some architectures like > arm64, and by proxy fixes the tests on those architectures. > > MFC after: 1 month > Reviewed by: no one (timed out on feedback from imp) > You timed out because you never answered my question about other platforms. Warner > Differential Revision: D10787 > > Modified: > head/usr.bin/getconf/progenv.gperf > > Modified: head/usr.bin/getconf/progenv.gperf > ============================================================ > ================== > --- head/usr.bin/getconf/progenv.gperf Mon Jul 17 18:07:53 2017 > (r321079) > +++ head/usr.bin/getconf/progenv.gperf Mon Jul 17 18:12:08 2017 > (r321080) > @@ -30,11 +30,11 @@ static const struct map *in_word_set(const char *str); > * be updated. (We cheat here and define the supported environments > * statically.) > */ > -#if defined(__sparc64__) || defined(__amd64__) > +#ifdef __LP64__ > #define have_LP64_OFF64 NULL > #endif > > -#if defined(__i386__) || defined(__powerpc__) > +#ifdef __ILP32__ > #define have_ILP32_OFFBIG NULL > #endif > > > From owner-svn-src-head@freebsd.org Mon Jul 17 18:30:12 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F1BACD9D3A6; Mon, 17 Jul 2017 18:30:11 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x242.google.com (mail-pg0-x242.google.com [IPv6:2607:f8b0:400e:c05::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B23C56B77F; Mon, 17 Jul 2017 18:30:11 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x242.google.com with SMTP id d193so20305277pgc.2; Mon, 17 Jul 2017 11:30:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=4Y/+E5QWrr0sVPx+VldzI6Rg6cgXF8V8xgLlMNyPlA4=; b=IokjMxIfkqiMg/iSxJLSPr8diCTYsZZnYZ5o3nmylgTLlrDm8CE1PjAb+1JvKCg3xT u+057QU9l2PGaZFQLaxqmEzollguogyFQIDdtKzl7aEx/GxXpJtukARm6UGwdKvm8ehc osZYElOG1X7+v3rIM8vN4UPBSjuJGR3ggJHGjh5JygFO43eU9u8l/Adnl2xHU0DivcOv CGPp6SPsjABUQw8yOIK+I/AaRWVyEIydX329vYfM4L1aJMe3FaE08W18tdK7+WJbQvxb WvKEvZGU17nPHlifahPzcVvFg3qFRwYeMathdy7+BShv5LxIzdzrL9eRdHS46KeZGvy6 GzFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=4Y/+E5QWrr0sVPx+VldzI6Rg6cgXF8V8xgLlMNyPlA4=; b=cFQR8ylhFbonjNp6sU/oJpB7qbEry8QyCPcJ8aQZwrSiq8c1SV4OAB0pNz/ldc46wb wwoW1Itexx3T/ZI8XAQD4Q35qwO7uHSTKgtaa+mI6BARienbe9zgq94mx8/kxwL3ZoHh gb7RX6a49JLYiEOQthyBRG/kk9nNC0rUh58sGTA708+edYcghfnF/3HrIci5f5hLonc1 ivBQznrJs9qN9ZLEJSiNSVJF2RHPi8NPtr1VkRLsVLd7FHp06WFTkK0dfgUIUBo4Imxe Noou3x/xAOP8uDYQVO9RRRKI1GMfPCSaat9ZMU6th+uYn1IvkVb1R5XjmO5H6CXSWG2c 4BDA== X-Gm-Message-State: AIVw110/RYKaKJCiElI2KhoMpyQSB8a6MCT71t1BKqqNrqFsKpETXtXn gQLbLcVNXU5CKcwqBvQ= X-Received: by 10.84.210.1 with SMTP id z1mr10107624plh.125.1500316211021; Mon, 17 Jul 2017 11:30:11 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id m5sm32590598pfg.22.2017.07.17.11.30.09 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 17 Jul 2017 11:30:10 -0700 (PDT) Subject: Re: svn commit: r320701 - in head: bin sbin usr.bin usr.sbin Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_0CB39FF3-E06E-4AC1-ADAF-0FE903CC2A5E"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: Date: Mon, 17 Jul 2017 11:30:08 -0700 Cc: Ngie Cooper , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <6BAFC533-C884-4661-AECE-64FEE4985C6E@gmail.com> References: <201707060415.v664FU9n085204@repo.freebsd.org> <4ac448c4-af76-de43-5dbc-370492962d59@FreeBSD.org> To: John Baldwin X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 17 Jul 2017 18:30:12 -0000 --Apple-Mail=_0CB39FF3-E06E-4AC1-ADAF-0FE903CC2A5E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Jul 6, 2017, at 10:32, Ngie Cooper wrote: =E2=80=A6 > I have another change I'm going to propose soon which sorts SUBDIR = output (as a whole) again, as an opt-in feature in bsd.subdir.mk. > Cheers, Hi, I just opened up the CR to re-add the sorting functionality in a = generic way as an opt-in make variable: = https://reviews.freebsd.org/D11628 . Cheers! -Ngie --Apple-Mail=_0CB39FF3-E06E-4AC1-ADAF-0FE903CC2A5E Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJZbQIxAAoJEPWDqSZpMIYV1QgQAIN4TZ/sSLK0sZWzyS5eSJHT Hr9jEtK7vSRIWXc/+61zXnJ1UkzTQ24NSDTyESoG4hnQyDhx5bWEoDo7KuQEffmE zbi3strPURuOyxoAUVRu6Rwn11vV/40aR+HtW8z5be3Wn3gwBBeXhnvtyE0WnGNJ jJIoUKhNPD32pGWxT1hdftZBzlPVWIA6wzqo1er6gp7RKc0aRkTH+dYF7hEPXr9R E5tZ2HAMpH45dyKp/oLgnZoQbeRP0z4w4gi8lK2LTpMiKEtsOE+9vJwZFt5a9RvE RdF+c4dNhI37aKV/0piO63PIUrQ+5rxC9dYumnlj0+dhH+CUOpAGLr4RnjvlLSRz IteVNo2Ihf2C01pU1ggEN7qACiXXWI6QJCl9efSGppOHIVqMzAECXNeCDTNFub5o 57hlxXkevh76aTd9fYYVjvBrPtNUwtr8kHX3WTx+2DFeNYbyaub7pOvMPaeZ+cM9 BKSnYHFmQBSfelZDieNwBqz0UBMYYMcveHrBI+q2U5wzvLmaroJc1uKAjbkSeN4y GfAUOLhp2a+R11dJK2R92aNW2jXHmhlROVCXcd7uF0ny6QRnhHcBI90VDijTXU59 +vkUEabYer3WE9UUO8sdg0nFZOTAe2CDBLPli92GmCAPSOMP/CGZHx9OYJsmwkSf ZvW/2yIpWXitSB5JQd0/ =Odre -----END PGP SIGNATURE----- --Apple-Mail=_0CB39FF3-E06E-4AC1-ADAF-0FE903CC2A5E-- From owner-svn-src-head@freebsd.org Mon Jul 17 18:33:32 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 03F1CD9D67A; Mon, 17 Jul 2017 18:33:32 +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 mx1.freebsd.org (Postfix) with ESMTPS id D1A5A6BBC3; Mon, 17 Jul 2017 18:33:31 +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 v6HIXVEL090203; Mon, 17 Jul 2017 18:33:31 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6HIXUEY090201; Mon, 17 Jul 2017 18:33:30 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201707171833.v6HIXUEY090201@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 17 Jul 2017 18:33:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321082 - head/tests/sys/aio X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: head/tests/sys/aio X-SVN-Commit-Revision: 321082 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.23 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, 17 Jul 2017 18:33:32 -0000 Author: asomers Date: Mon Jul 17 18:33:30 2017 New Revision: 321082 URL: https://svnweb.freebsd.org/changeset/base/321082 Log: Add regression tests for bugs 220459 and 220398 Bug 220398 - lio_listio(2) never sends asynchronous notification if nent==0 Bug 220459 - lio_listio(2) doesn't support SIGEV_THREAD PR: 220459 PR: 220398 Reviewed by: cem, jhb MFC after: 3 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D11470 Added: head/tests/sys/aio/lio_test.c (contents, props changed) Modified: head/tests/sys/aio/Makefile Modified: head/tests/sys/aio/Makefile ============================================================================== --- head/tests/sys/aio/Makefile Mon Jul 17 18:20:54 2017 (r321081) +++ head/tests/sys/aio/Makefile Mon Jul 17 18:33:30 2017 (r321082) @@ -3,12 +3,15 @@ TESTSDIR= ${TESTSBASE}/sys/aio ATF_TESTS_C+= aio_test +ATF_TESTS_C+= lio_test TEST_METADATA.aio_test+= timeout="30" +TEST_METADATA.lio_test+= timeout="10" PLAIN_TESTS_C+= aio_kqueue_test PLAIN_TESTS_C+= lio_kqueue_test LIBADD.aio_test+= util rt +LIBADD.lio_test+= rt CFLAGS+= -I${.CURDIR:H:H} Added: head/tests/sys/aio/lio_test.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tests/sys/aio/lio_test.c Mon Jul 17 18:33:30 2017 (r321082) @@ -0,0 +1,145 @@ +/*- + * Copyright (c) 2017 Spectra Logic Corp + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE 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$ + */ + +#include +#include + +#include +#include + +#include + +#include "freebsd_test_suite/macros.h" + +static sem_t completions; + + +static void +handler(int sig __unused) +{ + ATF_REQUIRE_EQ(0, sem_post(&completions)); +} + +static void +thr_handler(union sigval sv __unused) +{ + ATF_REQUIRE_EQ(0, sem_post(&completions)); +} + +/* With LIO_WAIT, an empty lio_listio should return immediately */ +ATF_TC_WITHOUT_HEAD(lio_listio_empty_wait); +ATF_TC_BODY(lio_listio_empty_wait, tc) +{ + struct aiocb *list = NULL; + + ATF_REQUIRE_EQ(0, lio_listio(LIO_WAIT, &list, 0, NULL)); +} + +/* + * With LIO_NOWAIT, an empty lio_listio should send completion notification + * immediately + */ +ATF_TC_WITHOUT_HEAD(lio_listio_empty_nowait_kevent); +ATF_TC_BODY(lio_listio_empty_nowait_kevent, tc) +{ + struct aiocb *list = NULL; + struct sigevent sev; + struct kevent kq_returned; + int kq, result; + void *udata = (void*)0xdeadbeefdeadbeef; + + atf_tc_expect_timeout("Bug 220398 - lio_listio(2) never sends" + " asynchronous notification if nent==0"); + kq = kqueue(); + ATF_REQUIRE(kq > 0); + sev.sigev_notify = SIGEV_KEVENT; + sev.sigev_notify_kqueue = kq; + sev.sigev_value.sival_ptr = udata; + ATF_REQUIRE_EQ(0, lio_listio(LIO_NOWAIT, &list, 0, &sev)); + result = kevent(kq, NULL, 0, &kq_returned, 1, NULL); + ATF_REQUIRE_MSG(result == 1, "Never got completion notification"); + ATF_REQUIRE_EQ((uintptr_t)list, kq_returned.ident); + ATF_REQUIRE_EQ(EVFILT_LIO, kq_returned.filter); + ATF_REQUIRE_EQ(udata, kq_returned.udata); +} + +/* + * With LIO_NOWAIT, an empty lio_listio should send completion notification + * immediately + */ +ATF_TC_WITHOUT_HEAD(lio_listio_empty_nowait_signal); +ATF_TC_BODY(lio_listio_empty_nowait_signal, tc) +{ + struct aiocb *list = NULL; + struct sigevent sev; + + atf_tc_expect_timeout("Bug 220398 - lio_listio(2) never sends" + "asynchronous notification if nent==0"); + ATF_REQUIRE_EQ(0, sem_init(&completions, false, 0)); + sev.sigev_notify = SIGEV_SIGNAL; + sev.sigev_signo = SIGUSR1; + ATF_REQUIRE(SIG_ERR != signal(SIGUSR1, handler)); + ATF_REQUIRE_EQ(0, lio_listio(LIO_NOWAIT, &list, 0, &sev)); + ATF_REQUIRE_EQ(0, sem_wait(&completions)); + ATF_REQUIRE_EQ(0, sem_destroy(&completions)); +} + +/* + * With LIO_NOWAIT, an empty lio_listio should send completion notification + * immediately + */ +ATF_TC_WITHOUT_HEAD(lio_listio_empty_nowait_thread); +ATF_TC_BODY(lio_listio_empty_nowait_thread, tc) +{ + struct aiocb *list = NULL; + struct sigevent sev; + + atf_tc_expect_fail("Bug 220459 - lio_listio(2) doesn't support" + " SIGEV_THREAD"); + ATF_REQUIRE_EQ(0, sem_init(&completions, false, 0)); + bzero(&sev, sizeof(sev)); + sev.sigev_notify = SIGEV_THREAD; + sev.sigev_notify_function = thr_handler; + sev.sigev_notify_attributes = NULL; + ATF_REQUIRE_MSG(0 == lio_listio(LIO_NOWAIT, &list, 0, &sev), + "lio_listio: %s", strerror(errno)); + ATF_REQUIRE_EQ(0, sem_wait(&completions)); + ATF_REQUIRE_EQ(0, sem_destroy(&completions)); +} + + +ATF_TP_ADD_TCS(tp) +{ + + ATF_TP_ADD_TC(tp, lio_listio_empty_nowait_kevent); + ATF_TP_ADD_TC(tp, lio_listio_empty_nowait_signal); + ATF_TP_ADD_TC(tp, lio_listio_empty_nowait_thread); + ATF_TP_ADD_TC(tp, lio_listio_empty_wait); + + return (atf_no_error()); +} From owner-svn-src-head@freebsd.org Mon Jul 17 18:35:39 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 72FEED9D893; Mon, 17 Jul 2017 18:35:39 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf0-x244.google.com (mail-pf0-x244.google.com [IPv6:2607:f8b0:400e:c00::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3D8CC6BEB3; Mon, 17 Jul 2017 18:35:39 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x244.google.com with SMTP id q85so20401409pfq.2; Mon, 17 Jul 2017 11:35:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=+D8qfoPtDkfN+mYwYbFj7AvMU+Er86UJxdCW2WNp9ro=; b=QfTRtUkU6KHCZLBKnoRsbWwKyQOdeiiGPlGPa0hraHBG7iFicigxim29wZoxfR1Y0Z PV1PzenX8/cNYBg+EEtzNcQn5kYxGRXq0p7gP9lHQ+3oTZ0hexzf4PoE+G4+TUYblFC4 LEVBJ7pjNTwz8DLkTktSQ3GkdDKmNrybuYCPAwsyE+8z0pmKy/hzsnxw2FGznslqb4ao JH2SLRcrF/Ji4FOcC7nze7d0Qm1Df4Q0Qs/d1yOunTNg4y77lzymJEGRFsU2+4QndJ2D O3rg1hQfGRhdtI/yERQQj68hJmknbXCodRoYkLeN6xAQJemMZpNoBNDQFizPSVDOXbTc k0pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=+D8qfoPtDkfN+mYwYbFj7AvMU+Er86UJxdCW2WNp9ro=; b=Kxn1GZEMz/Ote/XFWL/fHyFlHgalnoYL5lBrpWTVnvhp/fxdF2sPNOXLniDCNHAnpb 1iXGr5z1h6se7123VYHVuzUD6PUHy++kecHt71P5qpCq5xPqq/be0nafeuw0C5kMe+rD arswWfoZV9V1rkTaNZg5AlZVyZHXdtpE3GZPgGjy0rOI4toiZIKKdgPB1FWv1kpfOv6R hhGigJ8qIpEPO5j+zr5YI1vUySI7irc1zXdulsXKSotNP/ErI+dOUxeNUHaeNH89aSGI J8WoAlKJ/hh3CgTWeO2UT6SoA4FSurEhkjaBHjV/apJSD3ccM3rUC0dTj83D+EYl7cqR si9w== X-Gm-Message-State: AIVw113sJtrohbu+8aBDJQVdbvNY7DHeIgnsgUVm2q58YX2jbNDE8E7Y bIcmRyg9yrHkJA== X-Received: by 10.99.185.25 with SMTP id z25mr30265493pge.273.1500316538863; Mon, 17 Jul 2017 11:35:38 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id m186sm36176819pfc.54.2017.07.17.11.35.37 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 17 Jul 2017 11:35:37 -0700 (PDT) Subject: Re: svn commit: r321080 - head/usr.bin/getconf Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_7E388DCD-AAC6-4EBC-84A5-113E2D7019CA"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: Date: Mon, 17 Jul 2017 11:35:37 -0700 Cc: Ngie Cooper , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Message-Id: <7AF42C29-8DAC-4A5E-BCAF-3CEC496A3A4C@gmail.com> References: <201707171812.v6HIC9Cq082059@repo.freebsd.org> To: Warner Losh X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 17 Jul 2017 18:35:39 -0000 --Apple-Mail=_7E388DCD-AAC6-4EBC-84A5-113E2D7019CA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > You timed out because you never answered my question about other = platforms. Hi Warner, I thought I answered your questions here: = https://reviews.freebsd.org/D10787#224691 ? If not, I would be more than = happy to run the tests on other platforms once I gain access to them. I = only have access to x86 platforms and made an educated guess on what = should be done based on grep=E2=80=99ing around the source tree, = googling, and finding Linux mailing list posts suggesting our copy of = getconf(1) wasn=E2=80=99t supporting all of the platforms it should have = been. Thank you, -Ngie --Apple-Mail=_7E388DCD-AAC6-4EBC-84A5-113E2D7019CA Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJZbQN5AAoJEPWDqSZpMIYVcO0QAMQVpwidOIzHRvluIsAwpLXT mK30jajxYiw9g/lGQ1FEtDM7tU0jdv0jIZOiIBaQOQ0eo2wTqUQNIJSmpR9oFDkn R4ETJyWR+ZllosFkvBXqhXeGy6mAXde2xspeaaJ00jIYZ0dqjdb03XOpHNAjpnnW JoqHN6+V8OkyDfNn073YTbCBiOwvXLBs+elUByQ1kYcGRjn+A04rJsYX6Q4hoeDS 7qvReeXk0E1EURB6k4XgP67mpCtkzQiITIP2xMmzYpmC9APtNJEEGBDzRSaHliz/ LfZwPJgAZB8u0WmijXOohGj/0Iq30KBFQJtp3RrNlaTv1r+sf+iQTz2lHKMahGAu g4SBghElsokh4wjHIvMDjkYorTehx1p31LjBvJWu6Np410g0doN6NCxPSCotJqwz nIOgTB3mY1ZortN7tBtr6uTsLwjZNfYeGnAWrVSzVqAOudulWMGO60aWpfBkinPk uYLkEozJY47P/E4UDLpYtxum2hp8ZBOxHNh8dwKjz3J9NK03CnAFAlNcbyG2yd1a 3lZ/1VEK1kvW3j8mFSrlayn4LoEw+ro45yYjRu+BiUrSDjeHxz/O8eq4arxVmu2F QbtPmAxA1ujnxxbr20wFOOWuVUf1RxMRJjyoz6o/lCneMFtGxbLdLMjZJuUaBSm7 UWXZtuu2eH2ReK0pZeVv =MInE -----END PGP SIGNATURE----- --Apple-Mail=_7E388DCD-AAC6-4EBC-84A5-113E2D7019CA-- From owner-svn-src-head@freebsd.org Mon Jul 17 21:29:19 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B3753DA1BB7; Mon, 17 Jul 2017 21:29:19 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8B17C73762; Mon, 17 Jul 2017 21:29:19 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6HLTI8Q064146; Mon, 17 Jul 2017 21:29:18 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6HLTIXq064145; Mon, 17 Jul 2017 21:29:18 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201707172129.v6HLTIXq064145@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Mon, 17 Jul 2017 21:29:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321100 - head/sys/dev/iwm X-SVN-Group: head X-SVN-Commit-Author: adrian X-SVN-Commit-Paths: head/sys/dev/iwm X-SVN-Commit-Revision: 321100 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.23 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, 17 Jul 2017 21:29:19 -0000 Author: adrian Date: Mon Jul 17 21:29:18 2017 New Revision: 321100 URL: https://svnweb.freebsd.org/changeset/base/321100 Log: [iwm] if_iwm - Factor out and improve iwm_mvm_scan_rxon_flags() in if_iwm_scan.c. From the original commit: == * Actually look at the first channel in the list. If it's a 2.4GHz channel, set IWM_PHY_BAND_24 flag. The IWM_PHY_BAND_5 flag is 0 anyway, so we don't need to look further. * While there factor out the iwm_mvm_rrm_scan_needed() tlv capability check. Taken-From: Linux iwlwifi == However, this only really does the latter. The sc_ic channel list isn't the scan channel list, it's the /whole list/ for the set of active channels, so I don't know what the right thing to do is here. So I'll commit this as an intermediary commit and we'll have to revisit whether to finish the refactor as-is. Tested: * Intel 7260, STA mode Obtained from: dragonflybsd.git 53a009d6f66108b40d622ed90ea95eba5c0e5432 Modified: head/sys/dev/iwm/if_iwm_scan.c Modified: head/sys/dev/iwm/if_iwm_scan.c ============================================================================== --- head/sys/dev/iwm/if_iwm_scan.c Mon Jul 17 21:19:40 2017 (r321099) +++ head/sys/dev/iwm/if_iwm_scan.c Mon Jul 17 21:29:18 2017 (r321100) @@ -179,7 +179,18 @@ iwm_mvm_scan_rx_chain(struct iwm_softc *sc) return htole16(rx_chain); } +#if 0 static uint32_t +iwm_mvm_scan_rxon_flags(struct ieee80211_channel *c) +{ + if (IEEE80211_IS_CHAN_2GHZ(c)) + return htole32(IWM_PHY_BAND_24); + else + return htole32(IWM_PHY_BAND_5); +} +#endif + +static uint32_t iwm_mvm_scan_rate_n_flags(struct iwm_softc *sc, int flags, int no_cck) { uint32_t tx_ant; @@ -202,6 +213,14 @@ iwm_mvm_scan_rate_n_flags(struct iwm_softc *sc, int fl return htole32(IWM_RATE_6M_PLCP | tx_ant); } +static inline boolean_t +iwm_mvm_rrm_scan_needed(struct iwm_softc *sc) +{ + /* require rrm scan whenever the fw supports it */ + return fw_has_capa(&sc->ucode_capa, + IWM_UCODE_TLV_CAPA_DS_PARAM_SET_IE_SUPPORT); +} + #ifdef IWM_DEBUG static const char * iwm_mvm_ebs_status_str(enum iwm_scan_ebs_status status) @@ -416,8 +435,7 @@ iwm_mvm_fill_probe_req(struct iwm_softc *sc, struct iw preq->band_data[0].len = htole16(frm - pos); remain -= frm - pos; - if (fw_has_capa(&sc->ucode_capa, - IWM_UCODE_TLV_CAPA_DS_PARAM_SET_IE_SUPPORT)) { + if (iwm_mvm_rrm_scan_needed(sc)) { if (remain < 3) return ENOBUFS; *frm++ = IEEE80211_ELEMID_DSPARMS; @@ -639,8 +657,7 @@ iwm_mvm_umac_scan(struct iwm_softc *sc) IWM_SCAN_CHANNEL_FLAG_EBS_ACCURATE | IWM_SCAN_CHANNEL_FLAG_CACHE_ADD; - if (fw_has_capa(&sc->ucode_capa, - IWM_UCODE_TLV_CAPA_DS_PARAM_SET_IE_SUPPORT)) + if (iwm_mvm_rrm_scan_needed(sc)) req->general_flags |= htole32(IWM_UMAC_SCAN_GEN_FLAGS_RRM_ENABLED); @@ -708,13 +725,14 @@ iwm_mvm_lmac_scan(struct iwm_softc *sc) req->scan_flags = htole32(IWM_MVM_LMAC_SCAN_FLAG_PASS_ALL | IWM_MVM_LMAC_SCAN_FLAG_ITER_COMPLETE | IWM_MVM_LMAC_SCAN_FLAG_EXTENDED_DWELL); - if (fw_has_capa(&sc->ucode_capa, - IWM_UCODE_TLV_CAPA_DS_PARAM_SET_IE_SUPPORT)) + if (iwm_mvm_rrm_scan_needed(sc)) req->scan_flags |= htole32(IWM_MVM_LMAC_SCAN_FLAGS_RRM_ENABLED); + /* Note - IWM_PHY_BAND_5 is 0 anyway */ req->flags = htole32(IWM_PHY_BAND_24); if (sc->nvm_data->sku_cap_band_52GHz_enable) req->flags |= htole32(IWM_PHY_BAND_5); + req->filter_flags = htole32(IWM_MAC_FILTER_ACCEPT_GRP | IWM_MAC_FILTER_IN_BEACON); From owner-svn-src-head@freebsd.org Mon Jul 17 21:32:36 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4A3C4DA1E88; Mon, 17 Jul 2017 21:32:36 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1822A73BC7; Mon, 17 Jul 2017 21:32:36 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6HLWZEK068050; Mon, 17 Jul 2017 21:32:35 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6HLWZRS068049; Mon, 17 Jul 2017 21:32:35 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201707172132.v6HLWZRS068049@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Mon, 17 Jul 2017 21:32:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321101 - head/sys/dev/iwm X-SVN-Group: head X-SVN-Commit-Author: adrian X-SVN-Commit-Paths: head/sys/dev/iwm X-SVN-Commit-Revision: 321101 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.23 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, 17 Jul 2017 21:32:36 -0000 Author: adrian Date: Mon Jul 17 21:32:35 2017 New Revision: 321101 URL: https://svnweb.freebsd.org/changeset/base/321101 Log: [iwm] actually use the new rxon function now. It turns out the /next/ dragonflybsd git actually uses the scan channel list, so just kick this along to make the next commit easier. Obtained from: dragonflybsd.git 53a009d6f66108b40d622ed90ea95eba5c0e5432 Modified: head/sys/dev/iwm/if_iwm_scan.c Modified: head/sys/dev/iwm/if_iwm_scan.c ============================================================================== --- head/sys/dev/iwm/if_iwm_scan.c Mon Jul 17 21:29:18 2017 (r321100) +++ head/sys/dev/iwm/if_iwm_scan.c Mon Jul 17 21:32:35 2017 (r321101) @@ -179,7 +179,6 @@ iwm_mvm_scan_rx_chain(struct iwm_softc *sc) return htole16(rx_chain); } -#if 0 static uint32_t iwm_mvm_scan_rxon_flags(struct ieee80211_channel *c) { @@ -188,7 +187,6 @@ iwm_mvm_scan_rxon_flags(struct ieee80211_channel *c) else return htole32(IWM_PHY_BAND_5); } -#endif static uint32_t iwm_mvm_scan_rate_n_flags(struct iwm_softc *sc, int flags, int no_cck) @@ -728,10 +726,7 @@ iwm_mvm_lmac_scan(struct iwm_softc *sc) if (iwm_mvm_rrm_scan_needed(sc)) req->scan_flags |= htole32(IWM_MVM_LMAC_SCAN_FLAGS_RRM_ENABLED); - /* Note - IWM_PHY_BAND_5 is 0 anyway */ - req->flags = htole32(IWM_PHY_BAND_24); - if (sc->nvm_data->sku_cap_band_52GHz_enable) - req->flags |= htole32(IWM_PHY_BAND_5); + req->flags = iwm_mvm_scan_rxon_flags(&sc->sc_ic.ic_channels[0]); req->filter_flags = htole32(IWM_MAC_FILTER_ACCEPT_GRP | IWM_MAC_FILTER_IN_BEACON); From owner-svn-src-head@freebsd.org Mon Jul 17 23:16:34 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A4A1ADA3C1D; Mon, 17 Jul 2017 23:16:34 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 80B94769D6; Mon, 17 Jul 2017 23:16:34 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6HNGXmb009594; Mon, 17 Jul 2017 23:16:33 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6HNGXXD009593; Mon, 17 Jul 2017 23:16:33 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201707172316.v6HNGXXD009593@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Mon, 17 Jul 2017 23:16:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321102 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: alc X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 321102 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.23 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, 17 Jul 2017 23:16:34 -0000 Author: alc Date: Mon Jul 17 23:16:33 2017 New Revision: 321102 URL: https://svnweb.freebsd.org/changeset/base/321102 Log: Tidy up before making another round of functional changes: Remove end- of-line whitespace, remove excessive whitespace and blank lines, remove dead code, follow our standard style for function definitions, and correct grammatical and factual errors in some of the comments. Submitted by: Doug Moore MFC after: 1 week Modified: head/sys/kern/subr_blist.c Modified: head/sys/kern/subr_blist.c ============================================================================== --- head/sys/kern/subr_blist.c Mon Jul 17 21:32:35 2017 (r321101) +++ head/sys/kern/subr_blist.c Mon Jul 17 23:16:33 2017 (r321102) @@ -28,18 +28,18 @@ * BLIST.C - Bitmap allocator/deallocator, using a radix tree with hinting * * This module implements a general bitmap allocator/deallocator. The - * allocator eats around 2 bits per 'block'. The module does not - * try to interpret the meaning of a 'block' other than to return + * allocator eats around 2 bits per 'block'. The module does not + * try to interpret the meaning of a 'block' other than to return * SWAPBLK_NONE on an allocation failure. * * A radix tree is used to maintain the bitmap. Two radix constants are * involved: One for the bitmaps contained in the leaf nodes (typically - * 32), and one for the meta nodes (typically 16). Both meta and leaf + * 64), and one for the meta nodes (typically 16). Both meta and leaf * nodes have a hint field. This field gives us a hint as to the largest * free contiguous range of blocks under the node. It may contain a - * value that is too high, but will never contain a value that is too + * value that is too high, but will never contain a value that is too * low. When the radix tree is searched, allocation failures in subtrees - * update the hint. + * update the hint. * * The radix tree also implements two collapsed states for meta nodes: * the ALL-ALLOCATED state and the ALL-FREE state. If a meta node is @@ -49,7 +49,7 @@ * * The hinting greatly increases code efficiency for allocations while * the general radix structure optimizes both allocations and frees. The - * radix tree should be able to operate well no matter how much + * radix tree should be able to operate well no matter how much * fragmentation there is and no matter how large a bitmap is used. * * The blist code wires all necessary memory at creation time. Neither @@ -61,18 +61,18 @@ * linear array. Each meta node is immediately followed (laid out * sequentially in memory) by BLIST_META_RADIX lower level nodes. This * is a recursive structure but one that can be easily scanned through - * a very simple 'skip' calculation. In order to support large radixes, - * portions of the tree may reside outside our memory allocation. We - * handle this with an early-termination optimization (when bighint is - * set to -1) on the scan. The memory allocation is only large enough + * a very simple 'skip' calculation. In order to support large radixes, + * portions of the tree may reside outside our memory allocation. We + * handle this with an early-termination optimization (when bighint is + * set to -1) on the scan. The memory allocation is only large enough * to cover the number of blocks requested at creation time even if it * must be encompassed in larger root-node radix. * - * NOTE: the allocator cannot currently allocate more than - * BLIST_BMAP_RADIX blocks per call. It will panic with 'allocation too - * large' if you try. This is an area that could use improvement. The - * radix is large enough that this restriction does not effect the swap - * system, though. Currently only the allocation code is effected by + * NOTE: the allocator cannot currently allocate more than + * BLIST_BMAP_RADIX blocks per call. It will panic with 'allocation too + * large' if you try. This is an area that could use improvement. The + * radix is large enough that this restriction does not effect the swap + * system, though. Currently only the allocation code is affected by * this algorithmic unfeature. The freeing code can handle arbitrary * ranges. * @@ -91,7 +91,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #else @@ -120,16 +120,15 @@ void panic(const char *ctl, ...); /* * static support functions */ - static daddr_t blst_leaf_alloc(blmeta_t *scan, daddr_t blk, int count, daddr_t cursor); static daddr_t blst_meta_alloc(blmeta_t *scan, daddr_t blk, daddr_t count, daddr_t radix, daddr_t skip, daddr_t cursor); static void blst_leaf_free(blmeta_t *scan, daddr_t relblk, int count); -static void blst_meta_free(blmeta_t *scan, daddr_t freeBlk, daddr_t count, +static void blst_meta_free(blmeta_t *scan, daddr_t freeBlk, daddr_t count, daddr_t radix, daddr_t skip, daddr_t blk); -static void blst_copy(blmeta_t *scan, daddr_t blk, daddr_t radix, - daddr_t skip, blist_t dest, daddr_t count); +static void blst_copy(blmeta_t *scan, daddr_t blk, daddr_t radix, + daddr_t skip, blist_t dest, daddr_t count); static daddr_t blst_leaf_fill(blmeta_t *scan, daddr_t blk, int count); static daddr_t blst_meta_fill(blmeta_t *scan, daddr_t allocBlk, daddr_t count, daddr_t radix, daddr_t skip, daddr_t blk); @@ -151,11 +150,10 @@ static MALLOC_DEFINE(M_SWAP, "SWAP", "Swap space"); * blocks - must be greater than 0 * flags - malloc flags * - * The smallest blist consists of a single leaf node capable of + * The smallest blist consists of a single leaf node capable of * managing BLIST_BMAP_RADIX blocks. */ - -blist_t +blist_t blist_create(daddr_t blocks, int flags) { blist_t bl; @@ -202,7 +200,7 @@ blist_create(daddr_t blocks, int flags) return (bl); } -void +void blist_destroy(blist_t bl) { free(bl->bl_root, M_SWAP); @@ -214,8 +212,7 @@ blist_destroy(blist_t bl) * of a contiguous region or SWAPBLK_NONE if space could * not be allocated. */ - -daddr_t +daddr_t blist_alloc(blist_t bl, daddr_t count) { daddr_t blk; @@ -245,7 +242,6 @@ blist_alloc(blist_t bl, daddr_t count) /* * blist_avail() - return the number of free blocks. */ - daddr_t blist_avail(blist_t bl) { @@ -261,8 +257,7 @@ blist_avail(blist_t bl) * of a contiguous region. Panic if an inconsistancy is * found. */ - -void +void blist_free(blist_t bl, daddr_t blkno, daddr_t count) { if (bl) { @@ -280,7 +275,6 @@ blist_free(blist_t bl, daddr_t blkno, daddr_t count) * existing allocations. Return the number of blocks * actually filled that were free before the call. */ - daddr_t blist_fill(blist_t bl, daddr_t blkno, daddr_t count) { @@ -304,7 +298,6 @@ blist_fill(blist_t bl, daddr_t blkno, daddr_t count) * one. When extending the tree you can specify whether * the new blocks are to left allocated or freed. */ - void blist_resize(blist_t *pbl, daddr_t count, int freenew, int flags) { @@ -330,7 +323,6 @@ blist_resize(blist_t *pbl, daddr_t count, int freenew, /* * blist_print() - dump radix tree */ - void blist_print(blist_t bl) { @@ -345,7 +337,7 @@ blist_print(blist_t bl) * ALLOCATION SUPPORT FUNCTIONS * ************************************************************************ * - * These support functions do all the actual work. They may seem + * These support functions do all the actual work. They may seem * rather longish, but that's because I've commented them up. The * actual code is straight forward. * @@ -358,7 +350,6 @@ blist_print(blist_t bl) * BLIST_BMAP_RADIX block allocation case. Otherwise, execution * time is proportional to log2(count) + log2(BLIST_BMAP_RADIX). */ - static daddr_t blst_leaf_alloc(blmeta_t *scan, daddr_t blk, int count, daddr_t cursor) { @@ -450,7 +441,6 @@ blst_leaf_alloc(blmeta_t *scan, daddr_t blk, int count * calls that hit this node. We have to check for our collapse cases * and we have a few optimizations strewn in as well. */ - static daddr_t blst_meta_alloc(blmeta_t *scan, daddr_t blk, daddr_t count, daddr_t radix, daddr_t skip, daddr_t cursor) @@ -541,13 +531,9 @@ blst_meta_alloc(blmeta_t *scan, daddr_t blk, daddr_t c * BLST_LEAF_FREE() - free allocated block from leaf bitmap * */ - static void -blst_leaf_free( - blmeta_t *scan, - daddr_t blk, - int count -) { +blst_leaf_free(blmeta_t *scan, daddr_t blk, int count) +{ /* * free some data in this bitmap * @@ -568,7 +554,7 @@ blst_leaf_free( /* * We could probably do a better job here. We are required to make - * bighint at least as large as the biggest contiguous block of + * bighint at least as large as the biggest contiguous block of * data. If we just shoehorn it, a little extra overhead will * be incured on the next allocation (but only that one typically). */ @@ -585,20 +571,13 @@ blst_leaf_free( * range whereas the allocation code cannot allocate an arbitrary * range). */ - -static void +static void blst_meta_free(blmeta_t *scan, daddr_t freeBlk, daddr_t count, daddr_t radix, daddr_t skip, daddr_t blk) { daddr_t i, next_skip, v; int child; -#if 0 - printf("free (%llx,%lld) FROM (%llx,%lld)\n", - (long long)freeBlk, (long long)count, - (long long)blk, (long long)radix - ); -#endif next_skip = skip / BLIST_META_RADIX; if (scan->u.bmu_avail == 0) { @@ -675,15 +654,10 @@ blst_meta_free(blmeta_t *scan, daddr_t freeBlk, daddr_ * Locates free space in the source tree and frees it in the destination * tree. The space may not already be free in the destination. */ - -static void blst_copy( - blmeta_t *scan, - daddr_t blk, - daddr_t radix, - daddr_t skip, - blist_t dest, - daddr_t count -) { +static void +blst_copy(blmeta_t *scan, daddr_t blk, daddr_t radix, daddr_t skip, + blist_t dest, daddr_t count) +{ daddr_t i, next_skip; /* @@ -715,7 +689,7 @@ static void blst_copy( * Source all allocated, leave dest allocated */ return; - } + } if (scan->u.bmu_avail == radix) { /* * Source all free, free entire dest @@ -736,25 +710,13 @@ static void blst_copy( break; if (count >= radix) { - blst_copy( - &scan[i], - blk, - radix, - next_skip - 1, - dest, - radix - ); + blst_copy(&scan[i], blk, radix, next_skip - 1, dest, + radix); count -= radix; } else { if (count) { - blst_copy( - &scan[i], - blk, - radix, - next_skip - 1, - dest, - count - ); + blst_copy(&scan[i], blk, radix, next_skip - 1, + dest, count); } count = 0; } @@ -769,7 +731,6 @@ static void blst_copy( * regardless of any existing allocations in that range. Returns * the number of blocks allocated by the call. */ - static daddr_t blst_leaf_fill(blmeta_t *scan, daddr_t blk, int count) { @@ -879,8 +840,7 @@ blst_meta_fill(blmeta_t *scan, daddr_t allocBlk, daddr * be considerably less than the calculated radix due to the large * RADIX values we use. */ - -static daddr_t +static daddr_t blst_radix_init(blmeta_t *scan, daddr_t radix, daddr_t skip, daddr_t count) { daddr_t i, memindex, next_skip; @@ -896,7 +856,7 @@ blst_radix_init(blmeta_t *scan, daddr_t radix, daddr_t scan->bm_bighint = 0; scan->u.bmu_bitmap = 0; } - return(memindex); + return (memindex); } /* @@ -918,23 +878,17 @@ blst_radix_init(blmeta_t *scan, daddr_t radix, daddr_t /* * Allocate the entire object */ - memindex = i + blst_radix_init( - ((scan) ? &scan[i] : NULL), - radix, - next_skip - 1, - radix - ); + memindex = i + + blst_radix_init(((scan) ? &scan[i] : NULL), radix, + next_skip - 1, radix); count -= radix; } else if (count > 0) { /* * Allocate a partial object */ - memindex = i + blst_radix_init( - ((scan) ? &scan[i] : NULL), - radix, - next_skip - 1, - count - ); + memindex = i + + blst_radix_init(((scan) ? &scan[i] : NULL), radix, + next_skip - 1, count); count = 0; } else { /* @@ -947,12 +901,12 @@ blst_radix_init(blmeta_t *scan, daddr_t radix, daddr_t } if (memindex < i) memindex = i; - return(memindex); + return (memindex); } #ifdef BLIST_DEBUG -static void +static void blst_radix_print(blmeta_t *scan, daddr_t blk, daddr_t radix, daddr_t skip, int tab) { @@ -960,7 +914,7 @@ blst_radix_print(blmeta_t *scan, daddr_t blk, daddr_t if (radix == BLIST_BMAP_RADIX) { printf( - "%*.*s(%08llx,%lld): bitmap %016llx big=%lld\n", + "%*.*s(%08llx,%lld): bitmap %016llx big=%lld\n", tab, tab, "", (long long)blk, (long long)radix, (long long)scan->u.bmu_bitmap, @@ -1010,13 +964,7 @@ blst_radix_print(blmeta_t *scan, daddr_t blk, daddr_t ); break; } - blst_radix_print( - &scan[i], - blk, - radix, - next_skip - 1, - tab - ); + blst_radix_print(&scan[i], blk, radix, next_skip - 1, tab); blk += radix; } tab -= 4; @@ -1126,4 +1074,3 @@ panic(const char *ctl, ...) } #endif - From owner-svn-src-head@freebsd.org Tue Jul 18 00:50:59 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D5B20C0834A; Tue, 18 Jul 2017 00:50:59 +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 mx1.freebsd.org (Postfix) with ESMTPS id A30AA7CCC3; Tue, 18 Jul 2017 00:50:59 +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 v6I0owhY046330; Tue, 18 Jul 2017 00:50:58 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6I0owkU046328; Tue, 18 Jul 2017 00:50:58 GMT (envelope-from np@FreeBSD.org) Message-Id: <201707180050.v6I0owkU046328@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 18 Jul 2017 00:50:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321103 - 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: 321103 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.23 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, 18 Jul 2017 00:50:59 -0000 Author: np Date: Tue Jul 18 00:50:58 2017 New Revision: 321103 URL: https://svnweb.freebsd.org/changeset/base/321103 Log: cxgbe(4): New ioctls to flash bootrom and boot config to the card. MFC after: 2 weeks Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/t4_ioctl.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_ioctl.h ============================================================================== --- head/sys/dev/cxgbe/t4_ioctl.h Mon Jul 17 23:16:33 2017 (r321102) +++ head/sys/dev/cxgbe/t4_ioctl.h Tue Jul 18 00:50:58 2017 (r321103) @@ -57,6 +57,8 @@ enum { T4_GET_TRACER, /* get information about a tracer */ T4_SET_TRACER, /* program a tracer */ T4_LOAD_CFG, /* copy a config file to card's flash */ + T4_LOAD_BOOT, /* flash boot rom */ + T4_LOAD_BOOTCFG, /* flash bootcfg */ }; struct t4_reg { @@ -78,6 +80,13 @@ struct t4_data { uint8_t *data; }; +struct t4_bootrom { + uint32_t pf_offset; + uint32_t pfidx_addr; + uint32_t len; + uint8_t *data; +}; + struct t4_i2c_data { uint8_t port_id; uint8_t dev_addr; @@ -346,4 +355,6 @@ struct t4_tracer { #define CHELSIO_T4_GET_TRACER _IOWR('f', T4_GET_TRACER, struct t4_tracer) #define CHELSIO_T4_SET_TRACER _IOW('f', T4_SET_TRACER, struct t4_tracer) #define CHELSIO_T4_LOAD_CFG _IOW('f', T4_LOAD_CFG, struct t4_data) +#define CHELSIO_T4_LOAD_BOOT _IOW('f', T4_LOAD_BOOT, struct t4_bootrom) +#define CHELSIO_T4_LOAD_BOOTCFG _IOW('f', T4_LOAD_BOOTCFG, struct t4_data) #endif Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Mon Jul 17 23:16:33 2017 (r321102) +++ head/sys/dev/cxgbe/t4_main.c Tue Jul 18 00:50:58 2017 (r321103) @@ -571,6 +571,8 @@ static int set_tcb_rpl(struct sge_iq *, const struct r static int get_sge_context(struct adapter *, struct t4_sge_context *); static int load_fw(struct adapter *, struct t4_data *); static int load_cfg(struct adapter *, struct t4_data *); +static int load_boot(struct adapter *, struct t4_bootrom *); +static int load_bootcfg(struct adapter *, struct t4_data *); static int read_card_mem(struct adapter *, int, struct t4_mem_range *); static int read_i2c(struct adapter *, struct t4_i2c_data *); #ifdef TCP_OFFLOAD @@ -8852,6 +8854,87 @@ done: return (rc); } +static int +load_boot(struct adapter *sc, struct t4_bootrom *br) +{ + int rc; + uint8_t *br_data = NULL; + u_int offset; + + if (br->len > 1024 * 1024) + return (EFBIG); + + if (br->pf_offset == 0) { + /* pfidx */ + if (br->pfidx_addr > 7) + return (EINVAL); + offset = G_OFFSET(t4_read_reg(sc, PF_REG(br->pfidx_addr, + A_PCIE_PF_EXPROM_OFST))); + } else if (br->pf_offset == 1) { + /* offset */ + offset = G_OFFSET(br->pfidx_addr); + } else { + return (EINVAL); + } + + rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4ldbr"); + if (rc) + return (rc); + + if (br->len == 0) { + /* clear */ + rc = -t4_load_boot(sc, NULL, offset, 0); + goto done; + } + + br_data = malloc(br->len, M_CXGBE, M_WAITOK); + if (br_data == NULL) { + rc = ENOMEM; + goto done; + } + + rc = copyin(br->data, br_data, br->len); + if (rc == 0) + rc = -t4_load_boot(sc, br_data, offset, br->len); + + free(br_data, M_CXGBE); +done: + end_synchronized_op(sc, 0); + return (rc); +} + +static int +load_bootcfg(struct adapter *sc, struct t4_data *bc) +{ + int rc; + uint8_t *bc_data = NULL; + + rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4ldcf"); + if (rc) + return (rc); + + if (bc->len == 0) { + /* clear */ + rc = -t4_load_bootcfg(sc, NULL, 0); + goto done; + } + + bc_data = malloc(bc->len, M_CXGBE, M_WAITOK); + if (bc_data == NULL) { + rc = ENOMEM; + goto done; + } + + rc = copyin(bc->data, bc_data, bc->len); + if (rc == 0) + rc = -t4_load_bootcfg(sc, bc_data, bc->len); + + free(bc_data, M_CXGBE); +done: + end_synchronized_op(sc, 0); + return (rc); +} + #define MAX_READ_BUF_SIZE (128 * 1024) static int read_card_mem(struct adapter *sc, int win, struct t4_mem_range *mr) @@ -9193,6 +9276,12 @@ t4_ioctl(struct cdev *dev, unsigned long cmd, caddr_t break; case CHELSIO_T4_LOAD_CFG: rc = load_cfg(sc, (struct t4_data *)data); + break; + case CHELSIO_T4_LOAD_BOOT: + rc = load_boot(sc, (struct t4_bootrom *)data); + break; + case CHELSIO_T4_LOAD_BOOTCFG: + rc = load_bootcfg(sc, (struct t4_data *)data); break; default: rc = ENOTTY; From owner-svn-src-head@freebsd.org Tue Jul 18 01:08:46 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9346EC08E5A; Tue, 18 Jul 2017 01:08:46 +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 mx1.freebsd.org (Postfix) with ESMTPS id 54CA47D8C9; Tue, 18 Jul 2017 01:08:46 +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 v6I18jRO053631; Tue, 18 Jul 2017 01:08:45 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6I18jXQ053630; Tue, 18 Jul 2017 01:08:45 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201707180108.v6I18jXQ053630@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Tue, 18 Jul 2017 01:08:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321104 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head X-SVN-Commit-Author: jhibbits X-SVN-Commit-Paths: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 321104 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.23 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, 18 Jul 2017 01:08:46 -0000 Author: jhibbits Date: Tue Jul 18 01:08:45 2017 New Revision: 321104 URL: https://svnweb.freebsd.org/changeset/base/321104 Log: Make ZFS not crash on mount on 32-bit systems ZPL_VERSION is unsigned long long, not an int. With this change, a zpool can be created on a 32-bit system (tested on powerpcspe) and mounted correctly. Reviewed by: allanjude Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c Tue Jul 18 00:50:58 2017 (r321103) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c Tue Jul 18 01:08:45 2017 (r321104) @@ -539,7 +539,7 @@ void spa_history_log_version(spa_t *spa, const char *operation) { spa_history_log_internal(spa, operation, NULL, - "pool version %llu; software version %llu/%d; uts %s %s %s %s", + "pool version %llu; software version %llu/%llu; uts %s %s %s %s", (u_longlong_t)spa_version(spa), SPA_VERSION, ZPL_VERSION, utsname.nodename, utsname.release, utsname.version, utsname.machine); From owner-svn-src-head@freebsd.org Tue Jul 18 03:59:00 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BEEB8C7BFDA; Tue, 18 Jul 2017 03:59:00 +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 mx1.freebsd.org (Postfix) with ESMTPS id 989058361B; Tue, 18 Jul 2017 03:59:00 +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 v6I3wxtt022826; Tue, 18 Jul 2017 03:58:59 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6I3wxZV022825; Tue, 18 Jul 2017 03:58:59 GMT (envelope-from np@FreeBSD.org) Message-Id: <201707180358.v6I3wxZV022825@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 18 Jul 2017 03:58:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321105 - head/usr.sbin/cxgbetool X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/usr.sbin/cxgbetool X-SVN-Commit-Revision: 321105 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.23 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, 18 Jul 2017 03:59:00 -0000 Author: np Date: Tue Jul 18 03:58:59 2017 New Revision: 321105 URL: https://svnweb.freebsd.org/changeset/base/321105 Log: cxgbetool(8): Add loadboot and loadboot-cfg subcommands to install or remove bootrom and boot config. MFC after: 2 weeks Sponsored by: Chelsio Communications Modified: head/usr.sbin/cxgbetool/cxgbetool.c Modified: head/usr.sbin/cxgbetool/cxgbetool.c ============================================================================== --- head/usr.sbin/cxgbetool/cxgbetool.c Tue Jul 18 01:08:45 2017 (r321104) +++ head/usr.sbin/cxgbetool/cxgbetool.c Tue Jul 18 03:58:59 2017 (r321105) @@ -95,6 +95,10 @@ usage(FILE *fp) "\tfilter list list all filters\n" "\tfilter mode [] ... get/set global filter mode\n" "\ti2c [] read from i2c device\n" + "\tloadboot [pf|offset ] install boot image\n" + "\tloadboot clear [pf|offset ] remove boot image\n" + "\tloadboot-cfg install boot config\n" + "\tloadboot-cfg clear remove boot config\n" "\tloadcfg install configuration file\n" "\tloadcfg clear remove configuration file\n" "\tloadfw install firmware\n" @@ -1905,6 +1909,107 @@ done: return (rc); } +static int +loadboot(int argc, const char *argv[]) +{ + int rc, fd; + long l; + char *p; + struct t4_bootrom br = {0}; + const char *fname = argv[0]; + struct stat st = {0}; + + if (argc == 1) { + br.pf_offset = 0; + br.pfidx_addr = 0; + } else if (argc == 3) { + if (!strcmp(argv[1], "pf")) + br.pf_offset = 0; + else if (!strcmp(argv[1], "offset")) + br.pf_offset = 1; + else + return (EINVAL); + + p = str_to_number(argv[2], &l, NULL); + if (*p) + return (EINVAL); + br.pfidx_addr = l; + } else { + warnx("loadboot: incorrect number of arguments."); + return (EINVAL); + } + + if (strcmp(fname, "clear") == 0) + return (doit(CHELSIO_T4_LOAD_BOOT, &br)); + + fd = open(fname, O_RDONLY); + if (fd < 0) { + warn("open(%s)", fname); + return (errno); + } + + if (fstat(fd, &st) < 0) { + warn("fstat"); + close(fd); + return (errno); + } + + br.len = st.st_size; + br.data = mmap(0, br.len, PROT_READ, MAP_PRIVATE, fd, 0); + if (br.data == MAP_FAILED) { + warn("mmap"); + close(fd); + return (errno); + } + + rc = doit(CHELSIO_T4_LOAD_BOOT, &br); + munmap(br.data, br.len); + close(fd); + return (rc); +} + +static int +loadbootcfg(int argc, const char *argv[]) +{ + int rc, fd; + struct t4_data bc = {0}; + const char *fname = argv[0]; + struct stat st = {0}; + + if (argc != 1) { + warnx("loadbootcfg: incorrect number of arguments."); + return (EINVAL); + } + + if (strcmp(fname, "clear") == 0) + return (doit(CHELSIO_T4_LOAD_BOOTCFG, &bc)); + + fd = open(fname, O_RDONLY); + if (fd < 0) { + warn("open(%s)", fname); + return (errno); + } + + if (fstat(fd, &st) < 0) { + warn("fstat"); + close(fd); + return (errno); + } + + bc.len = st.st_size; + bc.data = mmap(0, bc.len, PROT_READ, MAP_PRIVATE, fd, 0); + if (bc.data == MAP_FAILED) { + warn("mmap"); + close(fd); + return (errno); + } + + rc = doit(CHELSIO_T4_LOAD_BOOTCFG, &bc); + munmap(bc.data, bc.len); + close(fd); + return (rc); +} + /* * Display memory as list of 'n' 4-byte values per line. */ @@ -2779,6 +2884,10 @@ run_cmd(int argc, const char *argv[]) rc = sched_queue(argc, argv); else if (!strcmp(cmd, "loadcfg")) rc = loadcfg(argc, argv); + else if (!strcmp(cmd, "loadboot")) + rc = loadboot(argc, argv); + else if (!strcmp(cmd, "loadboot-cfg")) + rc = loadbootcfg(argc, argv); else { rc = EINVAL; warnx("invalid command \"%s\"", cmd); From owner-svn-src-head@freebsd.org Tue Jul 18 06:15:06 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B4978C7D7F5; Tue, 18 Jul 2017 06:15:06 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9111114AF; Tue, 18 Jul 2017 06:15:06 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6I6F5Xi078519; Tue, 18 Jul 2017 06:15:05 GMT (envelope-from rlibby@FreeBSD.org) Received: (from rlibby@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6I6F5VN078514; Tue, 18 Jul 2017 06:15:05 GMT (envelope-from rlibby@FreeBSD.org) Message-Id: <201707180615.v6I6F5VN078514@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rlibby set sender to rlibby@FreeBSD.org using -f From: Ryan Libby Date: Tue, 18 Jul 2017 06:15:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321106 - in head/sys: dev/qlnx/qlnxe modules/qlnx modules/qlnx/qlnxe X-SVN-Group: head X-SVN-Commit-Author: rlibby X-SVN-Commit-Paths: in head/sys: dev/qlnx/qlnxe modules/qlnx modules/qlnx/qlnxe X-SVN-Commit-Revision: 321106 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.23 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, 18 Jul 2017 06:15:06 -0000 Author: rlibby Date: Tue Jul 18 06:15:05 2017 New Revision: 321106 URL: https://svnweb.freebsd.org/changeset/base/321106 Log: qlnx: gcc build errors Propagate warning flags from kern.opts.mk and then fix minor -Werror issues when building with gcc from -Wredundant-decls, -Wnested-externs, -Wuninitialized. Reviewed by: davidcs Approved by: markj (mentor) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D11413 Modified: head/sys/dev/qlnx/qlnxe/ecore_hw.h head/sys/dev/qlnx/qlnxe/qlnx_ioctl.c head/sys/dev/qlnx/qlnxe/qlnx_os.c head/sys/modules/qlnx/Makefile head/sys/modules/qlnx/qlnxe/Makefile Modified: head/sys/dev/qlnx/qlnxe/ecore_hw.h ============================================================================== --- head/sys/dev/qlnx/qlnxe/ecore_hw.h Tue Jul 18 03:58:59 2017 (r321105) +++ head/sys/dev/qlnx/qlnxe/ecore_hw.h Tue Jul 18 06:15:05 2017 (r321106) @@ -90,15 +90,6 @@ enum _dmae_cmd_crc_mask { #define DMAE_MAX_CLIENTS 32 /** -* @brief ecore_gtt_init - Initialize GTT windows -* -* @param p_hwfn -* @param p_ptt -*/ -void ecore_gtt_init(struct ecore_hwfn *p_hwfn, - struct ecore_ptt *p_ptt); - -/** * @brief ecore_ptt_invalidate - Forces all ptt entries to be re-configured * * @param p_hwfn Modified: head/sys/dev/qlnx/qlnxe/qlnx_ioctl.c ============================================================================== --- head/sys/dev/qlnx/qlnxe/qlnx_ioctl.c Tue Jul 18 03:58:59 2017 (r321105) +++ head/sys/dev/qlnx/qlnxe/qlnx_ioctl.c Tue Jul 18 06:15:05 2017 (r321106) @@ -534,12 +534,13 @@ qlnx_get_regs(qlnx_host_t *ha, qlnx_get_regs_t *regs) return (rval); } +extern char qlnx_name_str[]; +extern char qlnx_ver_str[]; + static int qlnx_drv_info(qlnx_host_t *ha, qlnx_drvinfo_t *drv_info) { int i; - extern char qlnx_name_str[]; - extern char qlnx_ver_str[]; bzero(drv_info, sizeof(qlnx_drvinfo_t)); Modified: head/sys/dev/qlnx/qlnxe/qlnx_os.c ============================================================================== --- head/sys/dev/qlnx/qlnxe/qlnx_os.c Tue Jul 18 03:58:59 2017 (r321105) +++ head/sys/dev/qlnx/qlnxe/qlnx_os.c Tue Jul 18 06:15:05 2017 (r321106) @@ -396,7 +396,7 @@ qlnx_fp_taskqueue(void *context, int pending) qlnx_host_t *ha; struct ifnet *ifp; struct mbuf *mp; - int ret; + int ret = -1; int lro_enable; int rx_int = 0, total_rx_count = 0; struct thread *cthread; Modified: head/sys/modules/qlnx/Makefile ============================================================================== --- head/sys/modules/qlnx/Makefile Tue Jul 18 03:58:59 2017 (r321105) +++ head/sys/modules/qlnx/Makefile Tue Jul 18 06:15:05 2017 (r321106) @@ -32,6 +32,8 @@ # $FreeBSD$ # +SYSDIR?=${SRCTOP}/sys +.include "${SYSDIR}/conf/kern.opts.mk" SUBDIR=qlnxe Modified: head/sys/modules/qlnx/qlnxe/Makefile ============================================================================== --- head/sys/modules/qlnx/qlnxe/Makefile Tue Jul 18 03:58:59 2017 (r321105) +++ head/sys/modules/qlnx/qlnxe/Makefile Tue Jul 18 06:15:05 2017 (r321106) @@ -50,7 +50,7 @@ SRCS+= device_if.h SRCS+= bus_if.h SRCS+= pci_if.h -CWARNEXTRA += -Wno-cast-qual +.include CFLAGS += -DQLNX_DEBUG CFLAGS += -DECORE_PACKAGE @@ -66,6 +66,4 @@ CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/includ #CFLAGS += -DQLNX_QSORT_LRO #CFLAGS += -DQLNX_MAX_COALESCE - -.include - +CWARNFLAGS+= -Wno-cast-qual From owner-svn-src-head@freebsd.org Tue Jul 18 06:51:28 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A32BEC7E18A; Tue, 18 Jul 2017 06:51: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 mx1.freebsd.org (Postfix) with ESMTPS id 66B942829; Tue, 18 Jul 2017 06:51:28 +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 v6I6pRjg091933; Tue, 18 Jul 2017 06:51:27 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6I6pRPj091932; Tue, 18 Jul 2017 06:51:27 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707180651.v6I6pRPj091932@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 18 Jul 2017 06:51:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321109 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 321109 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.23 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, 18 Jul 2017 06:51:28 -0000 Author: ngie Date: Tue Jul 18 06:51:27 2017 New Revision: 321109 URL: https://svnweb.freebsd.org/changeset/base/321109 Log: Fix whitespace regression accidentally checked in via ^/head@r280149 MFC after: now Modified: head/sys/kern/subr_sbuf.c Modified: head/sys/kern/subr_sbuf.c ============================================================================== --- head/sys/kern/subr_sbuf.c Tue Jul 18 06:45:41 2017 (r321108) +++ head/sys/kern/subr_sbuf.c Tue Jul 18 06:51:27 2017 (r321109) @@ -104,7 +104,7 @@ _assert_sbuf_integrity(const char *fun, struct sbuf *s ("%s called with a NULL sbuf pointer", fun)); KASSERT(s->s_buf != NULL, ("%s called with uninitialized or corrupt sbuf", fun)); - if (SBUF_ISFINISHED(s) && SBUF_NULINCLUDED(s)) { + if (SBUF_ISFINISHED(s) && SBUF_NULINCLUDED(s)) { KASSERT(s->s_len <= s->s_size, ("wrote past end of sbuf (%jd >= %jd)", (intmax_t)s->s_len, (intmax_t)s->s_size)); From owner-svn-src-head@freebsd.org Tue Jul 18 07:41:40 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 10256C7ED9F; Tue, 18 Jul 2017 07:41:40 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D1C433D37; Tue, 18 Jul 2017 07:41:39 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6I7fcS3014938; Tue, 18 Jul 2017 07:41:38 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6I7fcMR014937; Tue, 18 Jul 2017 07:41:38 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201707180741.v6I7fcMR014937@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Tue, 18 Jul 2017 07:41:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321111 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head X-SVN-Commit-Author: avg X-SVN-Commit-Paths: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 321111 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.23 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, 18 Jul 2017 07:41:40 -0000 Author: avg Date: Tue Jul 18 07:41:38 2017 New Revision: 321111 URL: https://svnweb.freebsd.org/changeset/base/321111 Log: fix a regression in r320452, ZFS ABD import I overlooked the fact that vdev_op_io_done hook is called even if the actual I/O is skipped, for example, in the case of a missing vdev. Arguably, this could be considered an issue in the zio pipeline engine, but for now I am adding defensive code to check for io_bp being NULL along with assertions that that happens only when it can be really expected. PR: 220691 Reported by: peter, cy Tested by: cy MFC after: 1 week X-MFC with: r320156, r320452 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Tue Jul 18 06:57:50 2017 (r321110) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Tue Jul 18 07:41:38 2017 (r321111) @@ -1090,6 +1090,14 @@ vdev_geom_io_done(zio_t *zio) { struct bio *bp = zio->io_bio; + if (bp == NULL) { + ASSERT3S(zio->io_error, !=, 0); + IMPLY(zio->io_type == ZIO_TYPE_READ || + zio->io_type == ZIO_TYPE_WRITE, + zio->io_error == ENXIO); + return; + } + if (zio->io_type == ZIO_TYPE_READ) { abd_return_buf_copy(zio->io_abd, bp->bio_data, zio->io_size); } else if (zio->io_type == ZIO_TYPE_WRITE) { From owner-svn-src-head@freebsd.org Tue Jul 18 08:08:49 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 50BEEC7F62A; Tue, 18 Jul 2017 08:08:49 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail107.syd.optusnet.com.au (mail107.syd.optusnet.com.au [211.29.132.53]) by mx1.freebsd.org (Postfix) with ESMTP id A277963D56; Tue, 18 Jul 2017 08:08:48 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from [192.168.0.102] (c110-21-101-228.carlnfd1.nsw.optusnet.com.au [110.21.101.228]) by mail107.syd.optusnet.com.au (Postfix) with ESMTPS id D6DC0D4BCEB; Tue, 18 Jul 2017 18:08:15 +1000 (AEST) Date: Tue, 18 Jul 2017 18:08:14 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ian Lepore cc: Bruce Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320901 - in head/sys: amd64/amd64 isa x86/isa In-Reply-To: <1500308973.22314.89.camel@freebsd.org> Message-ID: <20170718153823.K1105@besplex.bde.org> References: <201707120242.v6C2gvDB026199@repo.freebsd.org> <20170712224803.G1991@besplex.bde.org> <1500308973.22314.89.camel@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=LI0WeNe9 c=1 sm=1 tr=0 a=PalzARQSbocsUSjMRkwAPg==:117 a=PalzARQSbocsUSjMRkwAPg==:17 a=kj9zAlcOel0A:10 a=zAQ1xbnx_tDGOvFRejcA:9 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 18 Jul 2017 08:08:49 -0000 On Mon, 17 Jul 2017, Ian Lepore wrote: > On Thu, 2017-07-13 at 01:42 +1000, Bruce Evans wrote: >> On Wed, 12 Jul 2017, Ian Lepore wrote: >> >>> Log: >>> Protect access to the AT realtime clock with its own mutex. >>> >>> The mutex protecting access to the registered realtime clock should not be >>> overloaded to protect access to the atrtc hardware, which might not even be >>> the registered rtc. More importantly, the resettodr mutex needs to be >>> eliminated to remove locking/sleeping restrictions on clock drivers, and >>> that can't happen if MD code for amd64 depends on it. This change moves the >>> protection into what's really being protected: access to the atrtc date and >>> time registers. >> >> The spin mutex provided some protection against timing bugs caused by >> preemption, but it is impossible to hold the mutex around the user code >> that is setting the time, so both the kernel and user code should check >> if the operation took too long and fail/retry if it did. >> I could barely read the reply, due to corruption of whitespace to spaces and \xa0. Formatting fixed, except all tabs are corrupted to spaces, and there are extra blank lines after quotes. > > I can't figure out what you're talking about here. There is no > userland code involved in any of this stuff. I seemed to have edited out examples with pseudo-code. Times are normally set by userland, and there is a larger race for the userland part than the kernel part: decide_time_to_set(); --> Preempt to run another thread. // Back here much later. Could be several quanta of 10 msec each // later. The time to set is now wrong by a large amount. clock_settime(CLOCK_REALTIME, ...); // further races here // Should check here to see if the above took too long, and retry // from the top if so. But on slow and/or loaded systems, this // might give endless retries. We should hold a mutex or something // around the whole operation to try to limit preemption. ntpd can be configured to run at high priority (-N flag, which gives realtime priority 0 on FreeBSD), but I haven't noticed any systems where this is used (except mine of course). ntpd mostly uses delta- micor-adjustments which are not affected much by the time taken to make the adjustment. At least old versions of ntpd don't do anything like the above when they set or step the time using clock_settime(). They just do the syscall. If this gives an error of only several milliseconds, then ntpd will correct the error eventually using delta-micro-adjustments. The kernel could also increase the thread's priority, but never did. Mutexes would help a bit. Parts of the operation are now in a critical section, which works similarly to increasing the priority to realtime 0. But nothing in the kernel can protect agains the race in the userland part. Kernel code using mutexes (of any sort) should look like the above retry loop if the mutex has to be dropped: // Have time to set. again: mtx_lock_spin(&time_mtx); ... r = set_time(); mtx_unlock_spin(&time_mtx); if (r != 0 || operation_took_too_long()) goto again; If set_time() has to drop the mutex, then it might abort and return nonzero to reach the retry at the top level, or retry or continue itself and depend on the top level retrying if necessary. >> With correct code like that, spin mutexes are still good for limiting >> retries. I think it is best to try to hold one around the entire kernel >> part of the operation, and release it when sleeping at lower levels. >> > > I'm not sure what this is about either. The current code for getting > the atrtc has no retries. It is too incorrect to retry. >>> Modified: head/sys/x86/isa/atrtc.c >>> ============================================================================== >>> --- head/sys/x86/isa/atrtc.c Tue Jul 11 21:55:20 2017 (r320900) >>> +++ head/sys/x86/isa/atrtc.c Wed Jul 12 02:42:57 2017 (r320901) >>> @@ -53,9 +53,17 @@ __FBSDID("$FreeBSD$"); >>> #include >>> #include "clock_if.h" >>> >>> +/* >>> + * clock_lock protects low-level access to individual hardware registers. >>> + * atrtc_time_lock protects the entire sequence of accessing multiple registers >>> + * to read or write the date and time. >>> + */ >>> #define RTC_LOCK do { if (!kdb_active) mtx_lock_spin(&clock_lock); } while (0) >>> #define RTC_UNLOCK do { if (!kdb_active) mtx_unlock_spin(&clock_lock); } while (0) >> >> This has a lot of old design and implementation bugs: >> - it abuses the i8254 mutex for the rtc >> - it obfuscates this using macros >> - locking individual register accesses is buggy. Register accesses need to >> be locked in groups like your new code does >> - the kdb_active hack is buggy (it can't use mutexes and is unnecessarily >> non-reentrant) >> The locks should be separate and statically allocated. >> > > I've always assumed the locking of individual register access was > because rtcin() and writertc() are global functions used by other parts > of the kernel to access individual bytes of cmos nvram, and that > locking the whole device for the duration of the larger operations > involved might cause problems. > > For example, the nvram driver does byte at a time accesses in a loop > that includes uimove() calls, so holding a lock on all atrtc hardware > access for the duration of that isn't a good option. > > It does seem like the atrtc code should have its own register-access > mutex rather than using clock_lock. As you mentioned, the fact that > it's borrowing a mutex is pretty well obscured; I hadn't noticed it. Forcing all accesses to go through rtcin() and writertc() was originally the only method of access control. writertc() was actually open-coded using outb(). This worked on non-preemptive kernels except for problems with interrupts. In 386BSD and and FreeBSD-1, the rtc didn't have an interrupt handler so there were no actual problems with interrupts. This depended on interrupt handlers not calling rtcin() or resettodr(). rtcin() was only called by inittodr() and the non-interrupt parts of the fd driver. This was broken when the rtc interrupt handler was added. The handler calls rtcin(), so everything that calls rtcin() must lock out the rtc interrupt handler or rtcin() itself must do this. This was broken as late as FreeBSD-3. The handler runs at splclock(), but rtcin() and its callers don't call splclock(). This didn't cause many problems since there aren't many callers. IIRC, the fd driver only calls rtcin() for initialization, and there was no cmos driver. The main race was for settimeofday() calling resettodr(). This is a very rare operation (it should be once per boot, with only micro-adjustments by ntpd after that). FreeBSD-4 has the necessary splclock() locking. SMPng broke this again. The splclock() locking became null. The main race is still with resettodr(). This became Giant-locked. But rtcintr() became a (broken) fast interrupt handler, so it is fundamentally Giant-unsafe and the Giant locking of resettodr() doesn't help. Most other subsystems avoided similar problems by using Giant locking for everything including interrupt handlers. This was eventually fixed by abusing the i8254 mutex for the rtc. >>> >>> +struct mtx atrtc_time_lock; >>> +MTX_SYSINIT(atrtc_lock_init, &atrtc_time_lock, "atrtc", MTX_DEF); >>> + >> >> I think the old mutex should be used here, after fixing it. Locking >> individual register access is a special case of locking groups of >> register acceses. It must be a spin mutex for low-level use, and that >> is good for high-level use too, to complete the high-level operations >> as soon as possible. >> > > I'm not sure what you're referring to when you say "the old mutex". clock_lock, after separating it from the i8254. >> You used this mutex for efirt.c, but I think that is another error like >> sharing the i8254 mutex (or the resettodr mutex). Different clock >> drivers should just use different mutexes. Perhaps some drivers actually >> need sleep mutexes. >> > > I assumed the reason the efirt code was using the same mutex that > protected access to the at rtc was because under the hood, the efi rt > clock is really the same hardware too, accessed via bios code. See kib's reply. I didn't know about any accesses in bios code. If that is written in asm (perhaps for resume code), then it wouldn't automatically get the common locking provided by rtcin() and writertc(). If the accesses are in the bios itself (vm86 or emulated or SMM), then who knows what happens. > >>> ... >>> @@ -352,6 +364,7 @@ atrtc_gettime(device_t dev, struct timespec *ts) >>> * to make sure that no more than 240us pass after we start reading, >>> * and try again if so. >>> */ >>> + mtx_lock(&atrtc_time_lock); >>> while (rtcin(RTC_STATUSA) & RTCSA_TUP) >>> continue; >>> critical_enter(); >> >> Note the comment about the 240us window. On i386, this was broken by >> SMPng, and almost fixed by starting the locking outside of the loop >> (a spin mutex would fix it). >> >> On i386, before SMPng, there was an splhigh() starting before the loop. >> rtcin() also used splhigh(). This was only shortly before SMPng -- >> FreeBSD-4 had both splhigh()'s, but FreeBSD-3 had neither. >> >> With no locking, an interrupt after the read of the status register can >> occur, and interrupt handling can easily take longer than the 240us window >> even if it doesn't cause preemption. >> >> critical_enter() in the above gives poor man's locking which blocks >> preemption but not-so-fast interrupt handlers. >> >> The race is not very important since this code only runs at boot time. >> > > And at resume from sleep/lowpower modes, I think. This is not > something I can test easily, but I see calls to inittodr() from apm and > pmtimer code. Even so, I think it qualifies as called very > infrequently. Right. I finally got jkim to update the corresponding acpi code just last year (I don't understand acpi and try not to touch it). The acpi timer code is better obfuscated than the pmtimer code and still attempts to do less, but the ambitious parts of the pmtimer code don't work anyway and are mostly turned off. The corresponding acpi code was turned off for i386. > That's why I think the right way to fix the coherent reading problem is > not trying harder to stay within a 244us window, but rather to stop > even trying to. Instead, look at that flag only to prevent starting > the operation while an update is in progress, and use the more usual > "loop until you read the same values twice" logic to get a coherent > read. That's especially true considering that taking longer than 244us > to do the reads is only a problem once per second; during the other > 999756us you'll still get coherent values. Good idea. My inittodr() waits for the seconds register to change. This increases boot time by an average of 0.5 seconds, but is needed to get a result that is not out of date by an average of 0.5 seconds. After the seconds register changes, the window for reading the other registers is almost 1 second, but the reads must complete in a few microseconds anyway else the result is still too out of date. Debugging printf()s show that the reads usually complete in 10-50 usec with low latency (faster on old systems with faster ISA buses). Accuracy for reading is not very important because accuracy for writing is very low (1-2 seconds). My resettodr() only writes if the difference is more than 2 seconds. Bruce From owner-svn-src-head@freebsd.org Tue Jul 18 09:33:12 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5C17BCFD5F8; Tue, 18 Jul 2017 09:33:12 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail110.syd.optusnet.com.au (mail110.syd.optusnet.com.au [211.29.132.97]) by mx1.freebsd.org (Postfix) with ESMTP id 232D2677A6; Tue, 18 Jul 2017 09:33:11 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from [192.168.0.102] (c110-21-101-228.carlnfd1.nsw.optusnet.com.au [110.21.101.228]) by mail110.syd.optusnet.com.au (Postfix) with ESMTPS id 29DDB1024D4; Tue, 18 Jul 2017 19:33:04 +1000 (AEST) Date: Tue, 18 Jul 2017 19:33:03 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Konstantin Belousov cc: Ian Lepore , Bruce Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320901 - in head/sys: amd64/amd64 isa x86/isa In-Reply-To: <20170717164310.GM1935@kib.kiev.ua> Message-ID: <20170718180856.P1105@besplex.bde.org> References: <201707120242.v6C2gvDB026199@repo.freebsd.org> <20170712224803.G1991@besplex.bde.org> <1500308973.22314.89.camel@freebsd.org> <20170717164310.GM1935@kib.kiev.ua> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=VbSHBBh9 c=1 sm=1 tr=0 a=PalzARQSbocsUSjMRkwAPg==:117 a=PalzARQSbocsUSjMRkwAPg==:17 a=kj9zAlcOel0A:10 a=9LpXibFZ7eA5Nq7F3o0A:9 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 18 Jul 2017 09:33:12 -0000 On Mon, 17 Jul 2017, Konstantin Belousov wrote: > On Mon, Jul 17, 2017 at 10:29:33AM -0600, Ian Lepore wrote: >> I assumed the reason the efirt code was using the same mutex that >> protected access to the at rtc was because under the hood, the efi rt >> clock is really the same hardware too, accessed via bios code. > > EFI spec states it explicitely, e.g. in the description of the GetTime() > function of the Time Services interface: > > During runtime, if a PC-AT CMOS device is present in the platform the > caller must synchronize access to the device before calling GetTime(). The clock_lock mutex still protects individual cmos registers, provided efi uses rtcin() etc., which it apparently doesn't. The new atrtc_time_lock mutex doesn't protect even the rtc cmos registers as a group. Other subsystems can still access the registers holding only their own lock or just clock_lock. Only write accesses would be harmful. Read accesses do occur if rtcintr() is active, but these only change the index register. Even the rtc subsystem has (groups of) write accesses that are not properly locked. These are for (re)initializations. Reinitializations occur for changing the rtc rate for profiling and for resuming. There is no locking except possibly Giant for even the rtc_status[ab] images vs their registers. Giant locking might work for that, but it doesn't work for settime() calling rtc code, at least after removing Giant from settime(). If efi accesses the rtc directly, then that is just broken and sharing the new mutex doesn't help much. The new mutex only prevents contention between efi code that uses it and rtc code that use it -- that is, just the rtc timer parts of the rtc code (as the name of the new mutex suggests). The following remain unprotected: - rtc initialization code - more seriously, rtc interrupt code and rtcin()/writertc() generally. resettodr_mtx was no better. But further abuse of clock_lock might have worked. Holding clock_lock around efi_runtime->rt_gettime() calls would prevent both rtc timer code and rtc_intr() from contending. I can't find rt_gettime(). I think these sources of contention are normally inactive if efi is used, but efi can still race with rtc initialization, the cmos driver, and possibly acpi code. Bruce From owner-svn-src-head@freebsd.org Tue Jul 18 14:02:04 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4590BD7E303; Tue, 18 Jul 2017 14:02:04 +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 mx1.freebsd.org (Postfix) with ESMTPS id 0B7EA6F586; Tue, 18 Jul 2017 14:02:03 +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 v6IE236f070419; Tue, 18 Jul 2017 14:02:03 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6IE220r070417; Tue, 18 Jul 2017 14:02:02 GMT (envelope-from manu@FreeBSD.org) Message-Id: <201707181402.v6IE220r070417@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Tue, 18 Jul 2017 14:02:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321128 - in head: etc/rc.d share/man/man5 X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: in head: etc/rc.d share/man/man5 X-SVN-Commit-Revision: 321128 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.23 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, 18 Jul 2017 14:02:04 -0000 Author: manu Date: Tue Jul 18 14:02:02 2017 New Revision: 321128 URL: https://svnweb.freebsd.org/changeset/base/321128 Log: ipfw_netflow: Add support for FIB If ipfw_netflow_fib, the ipfw rule will only match packets in that FIB. While here correct some value in rc.conf(5) to be int and not str. Sponsored by: Gandi.net Modified: head/etc/rc.d/ipfw_netflow head/share/man/man5/rc.conf.5 Modified: head/etc/rc.d/ipfw_netflow ============================================================================== --- head/etc/rc.d/ipfw_netflow Tue Jul 18 08:54:35 2017 (r321127) +++ head/etc/rc.d/ipfw_netflow Tue Jul 18 14:02:02 2017 (r321128) @@ -54,7 +54,7 @@ ipfw_netflow_status() ipfw_netflow_start() { ipfw_netflow_is_running && err 1 "ipfw_netflow is already active" - ipfw add ${ipfw_netflow_rule} ngtee ${ipfw_netflow_hook} ip from any to any + ipfw add ${ipfw_netflow_rule} ngtee ${ipfw_netflow_hook} ip from any to any ${ipfw_netflow_fib:+fib ${ipfw_netflow_fib}} ngctl -f - <<-EOF mkpeer ipfw: netflow ${ipfw_netflow_hook} iface0 name ipfw:${ipfw_netflow_hook} netflow Modified: head/share/man/man5/rc.conf.5 ============================================================================== --- head/share/man/man5/rc.conf.5 Tue Jul 18 08:54:35 2017 (r321127) +++ head/share/man/man5/rc.conf.5 Tue Jul 18 14:02:02 2017 (r321128) @@ -602,12 +602,12 @@ By default a ipfw rule is inserted and all packets are the ngtee command and netflow packets are sent to 127.0.0.1 on the netflow port using protocol version 5. .It Va ipfw_netflow_hook -.Pq Vt str +.Pq Vt int netflow hook name, must be numerical (default .Pa 9995 ) . .It Va ipfw_netflow_rule -.Pq Vt str +.Pq Vt int ipfw rule number (default .Pa 1000 ) . @@ -617,13 +617,18 @@ Destination server ip for receiving netflow data (default .Pa 127.0.0.1 ) . .It Va ipfw_netflow_port -.Pq Vt str +.Pq Vt int Destination server port for receiving netflow data (default .Pa 9995 ) . .It Va ipfw_netflow_version -.Pq Vt str +.Pq Vt int Do not set for using version 5 of the netflow protocol, set it to 9 for using version 9. +.It Va ipfw_netflow_fib +.Pq Vt int +Only match packet in FIB +.Pa ipfw_netflow_fib +(default is undefined meaning all FIBs). .It Va natd_program .Pq Vt str Path to From owner-svn-src-head@freebsd.org Tue Jul 18 14:59:01 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A448FD7F373 for ; Tue, 18 Jul 2017 14:59:01 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1b.ore.mailhop.org (outbound1b.ore.mailhop.org [54.200.247.200]) (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 20071711C1 for ; Tue, 18 Jul 2017 14:59:00 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: a380d1e7-6bc9-11e7-bfd0-afd4446ba3af X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.78.92.27 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.78.92.27]) by outbound1.ore.mailhop.org (Halon) with ESMTPSA id a380d1e7-6bc9-11e7-bfd0-afd4446ba3af; Tue, 18 Jul 2017 14:59:03 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id v6IEwqvA001136; Tue, 18 Jul 2017 08:58:53 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <1500389932.22314.151.camel@freebsd.org> Subject: Re: svn commit: r320901 - in head/sys: amd64/amd64 isa x86/isa From: Ian Lepore To: Bruce Evans Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Tue, 18 Jul 2017 08:58:52 -0600 In-Reply-To: <20170718153823.K1105@besplex.bde.org> References: <201707120242.v6C2gvDB026199@repo.freebsd.org> <20170712224803.G1991@besplex.bde.org> <1500308973.22314.89.camel@freebsd.org> <20170718153823.K1105@besplex.bde.org> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.18.5.1 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 18 Jul 2017 14:59:01 -0000 On Tue, 2017-07-18 at 18:08 +1000, Bruce Evans wrote: > On Mon, 17 Jul 2017, Ian Lepore wrote: > > > On Thu, 2017-07-13 at 01:42 +1000, Bruce Evans wrote: > >> On Wed, 12 Jul 2017, Ian Lepore wrote: > >> > >>> Log: > [...] > > I could barely read the reply, due to corruption of whitespace to > spaces > and \xa0.  Formatting fixed, except all tabs are corrupted to spaces, > and there are extra blank lines after quotes. > My mail client broke two updates ago.  I think nobody who works on gui apps does plain-text email anymore; if html mail looks good they're done.  ::sigh:: > > > [lots of stuff about locking and accurate time-setting] > > Good idea. > > My inittodr() waits for the seconds register to change.  This > increases > boot time by an average of 0.5 seconds, but is needed to get a result > that is not out of date by an average of 0.5 seconds.  After the > seconds > register changes, the window for reading the other registers is > almost > 1 second, but the reads must complete in a few microseconds anyway > else > the result is still too out of date.  Debugging printf()s show that > the reads usually complete in 10-50 usec with low latency (faster on > old systems with faster ISA buses). > I was considering adding a tunable to do that for people who don't mind the extra time to boot/wakeup.  It's interesting that you label an error of a few microseconds as "too out of date", I was thinking that reducing the average error from .5s to .005s was good enough. The .005s number comes from an idea of using a callout that begins as soon as interrupts are available that checks for rtc rollover every 10ms, with the hopes that it can catch the rollover between the time callouts start working and rootfs mount time when inittodr() gets called.  If it can catch the rollover happening in that window, it can latch the monotonic clock and then use that at inittodr() time to calculate the fractional part of the time.  Even if it doesn't catch the rollover in that time, it at least has a measurement that sets a floor value for the fractional part, reducing the error to something less than .5s. I have no idea yet how much time elapses between interrupts coming online and the first inittodr() call on a typical modern x86 system.  For all my arm systems with nfsroot it's several seconds.  If it averages a few milliseconds on x86 systems, it isn't useful enough to justify the extra work.  If it's typically half a second or more it probably is worth it. > Accuracy for reading is not very important because accuracy for > writing > is very low (1-2 seconds).  My resettodr() only writes if the > difference > is more than 2 seconds. > The gross inaccuracy when writing is fixable now.  I'm not worried about the microsecond inaccuracies of accessing the hardware, what I want to fix is the fact that clock_settime() may get called at x.995 and will record the time as x.0. Because settime is now called from a task thread, any clock driver is free to sleep as needed to set the clock hardware in a way that aligns its second rollover with kernel time.  Not efficient, but easy to do. Even better, most rtc hardware has unused storage.  Sometimes in the form of battery-backed ram, sometimes in the form of things like alarm registers that aren't used for anything and a driver can tuck away values in them for its own use.  If clock_settime() stores the fractional part of the second in such a location, clock_gettime() can use it to remove all of the inaccuracy that otherwise happens when the fraction is discarded.  If even a single bit is available the error is cut in half.  If a byte is available it drops to ~40ms. -- Ian From owner-svn-src-head@freebsd.org Tue Jul 18 16:36:34 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2BA5BD991B3; Tue, 18 Jul 2017 16:36:34 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 02FD074060; Tue, 18 Jul 2017 16:36:33 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6IGaW41032295; Tue, 18 Jul 2017 16:36:32 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6IGaWqr032292; Tue, 18 Jul 2017 16:36:32 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201707181636.v6IGaWqr032292@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 18 Jul 2017 16:36:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321131 - in head/sys/arm64: arm64 include X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: in head/sys/arm64: arm64 include X-SVN-Commit-Revision: 321131 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.23 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, 18 Jul 2017 16:36:34 -0000 Author: andrew Date: Tue Jul 18 16:36:32 2017 New Revision: 321131 URL: https://svnweb.freebsd.org/changeset/base/321131 Log: Add support for passing FPU_KERN_NOCTX to fpu_kern_enter on arm64. This will be used to call into UEFI from the kernel. Sponsored by: DARPA, AFRL Modified: head/sys/arm64/arm64/vfp.c head/sys/arm64/include/pcb.h head/sys/arm64/include/vfp.h Modified: head/sys/arm64/arm64/vfp.c ============================================================================== --- head/sys/arm64/arm64/vfp.c Tue Jul 18 16:27:10 2017 (r321130) +++ head/sys/arm64/arm64/vfp.c Tue Jul 18 16:36:32 2017 (r321131) @@ -262,9 +262,29 @@ fpu_kern_enter(struct thread *td, struct fpu_kern_ctx struct pcb *pcb; pcb = td->td_pcb; + KASSERT((flags & FPU_KERN_NOCTX) != 0 || ctx != NULL, + ("ctx is required when !FPU_KERN_NOCTX")); KASSERT(ctx == NULL || (ctx->flags & FPU_KERN_CTX_INUSE) == 0, ("using inuse ctx")); + KASSERT((pcb->pcb_fpflags & PCB_FP_NOSAVE) == 0, + ("recursive fpu_kern_enter while in PCB_FP_NOSAVE state")); + if ((flags & FPU_KERN_NOCTX) != 0) { + critical_enter(); + if (curthread == PCPU_GET(fpcurthread)) { + vfp_save_state(curthread, pcb); + PCPU_SET(fpcurthread, NULL); + } else { + KASSERT(PCPU_GET(fpcurthread) == NULL, + ("invalid fpcurthread")); + } + + vfp_enable(); + pcb->pcb_fpflags |= PCB_FP_KERN | PCB_FP_NOSAVE | + PCB_FP_STARTED; + return (0); + } + if ((flags & FPU_KERN_KTHR) != 0 && is_fpu_kern_thread(0)) { ctx->flags = FPU_KERN_CTX_DUMMY | FPU_KERN_CTX_INUSE; return (0); @@ -293,19 +313,30 @@ fpu_kern_leave(struct thread *td, struct fpu_kern_ctx pcb = td->td_pcb; - KASSERT((ctx->flags & FPU_KERN_CTX_INUSE) != 0, - ("FPU context not inuse")); - ctx->flags &= ~FPU_KERN_CTX_INUSE; + if ((pcb->pcb_fpflags & PCB_FP_NOSAVE) != 0) { + KASSERT(ctx == NULL, ("non-null ctx after FPU_KERN_NOCTX")); + KASSERT(PCPU_GET(fpcurthread) == NULL, + ("non-NULL fpcurthread for PCB_FP_NOSAVE")); + CRITICAL_ASSERT(td); - if (is_fpu_kern_thread(0) && - (ctx->flags & FPU_KERN_CTX_DUMMY) != 0) - return (0); - KASSERT((ctx->flags & FPU_KERN_CTX_DUMMY) == 0, ("dummy ctx")); - critical_enter(); - vfp_discard(td); - critical_exit(); - pcb->pcb_fpflags &= ~PCB_FP_STARTED; - pcb->pcb_fpusaved = ctx->prev; + vfp_disable(); + pcb->pcb_fpflags &= ~(PCB_FP_NOSAVE | PCB_FP_STARTED); + critical_exit(); + } else { + KASSERT((ctx->flags & FPU_KERN_CTX_INUSE) != 0, + ("FPU context not inuse")); + ctx->flags &= ~FPU_KERN_CTX_INUSE; + + if (is_fpu_kern_thread(0) && + (ctx->flags & FPU_KERN_CTX_DUMMY) != 0) + return (0); + KASSERT((ctx->flags & FPU_KERN_CTX_DUMMY) == 0, ("dummy ctx")); + critical_enter(); + vfp_discard(td); + critical_exit(); + pcb->pcb_fpflags &= ~PCB_FP_STARTED; + pcb->pcb_fpusaved = ctx->prev; + } if (pcb->pcb_fpusaved == &pcb->pcb_fpustate) { pcb->pcb_fpflags &= ~PCB_FP_KERN; Modified: head/sys/arm64/include/pcb.h ============================================================================== --- head/sys/arm64/include/pcb.h Tue Jul 18 16:27:10 2017 (r321130) +++ head/sys/arm64/include/pcb.h Tue Jul 18 16:36:32 2017 (r321131) @@ -56,6 +56,7 @@ struct pcb { int pcb_fpflags; #define PCB_FP_STARTED 0x01 #define PCB_FP_KERN 0x02 +#define PCB_FP_NOSAVE 0x04 /* The bits passed to userspace in get_fpcontext */ #define PCB_FP_USERMASK (PCB_FP_STARTED) u_int pcb_vfpcpu; /* Last cpu this thread ran VFP code */ Modified: head/sys/arm64/include/vfp.h ============================================================================== --- head/sys/arm64/include/vfp.h Tue Jul 18 16:27:10 2017 (r321130) +++ head/sys/arm64/include/vfp.h Tue Jul 18 16:36:32 2017 (r321131) @@ -56,6 +56,7 @@ struct fpu_kern_ctx; #define FPU_KERN_NORMAL 0x0000 #define FPU_KERN_NOWAIT 0x0001 #define FPU_KERN_KTHR 0x0002 +#define FPU_KERN_NOCTX 0x0004 struct fpu_kern_ctx *fpu_kern_alloc_ctx(u_int); void fpu_kern_free_ctx(struct fpu_kern_ctx *); From owner-svn-src-head@freebsd.org Tue Jul 18 17:29:13 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9424D9AB45; Tue, 18 Jul 2017 17:29:13 +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 mx1.freebsd.org (Postfix) with ESMTPS id A884B762DE; Tue, 18 Jul 2017 17:29:13 +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 v6IHTC7e053731; Tue, 18 Jul 2017 17:29:12 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6IHTCkb053730; Tue, 18 Jul 2017 17:29:12 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707181729.v6IHTCkb053730@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 18 Jul 2017 17:29:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321138 - head/bin/dd/tests X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/bin/dd/tests X-SVN-Commit-Revision: 321138 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.23 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, 18 Jul 2017 17:29:14 -0000 Author: ngie Date: Tue Jul 18 17:29:12 2017 New Revision: 321138 URL: https://svnweb.freebsd.org/changeset/base/321138 Log: Remove unnecessary make logic added in r319339 This makes the change cleaner and easier to backport to ^/stable/10. MFC after: now Modified: head/bin/dd/tests/Makefile Modified: head/bin/dd/tests/Makefile ============================================================================== --- head/bin/dd/tests/Makefile Tue Jul 18 17:16:58 2017 (r321137) +++ head/bin/dd/tests/Makefile Tue Jul 18 17:29:12 2017 (r321138) @@ -1,9 +1,5 @@ # $FreeBSD$ -.include - -.PATH: ${.CURDIR}/.. - ATF_TESTS_SH= dd2_test NETBSD_ATF_TESTS_SH= dd_test From owner-svn-src-head@freebsd.org Tue Jul 18 19:00:17 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3DD5ED9DAD5; Tue, 18 Jul 2017 19:00:17 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0590280182; Tue, 18 Jul 2017 19:00:16 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6IJ0G5c095892; Tue, 18 Jul 2017 19:00:16 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6IJ0GdG095891; Tue, 18 Jul 2017 19:00:16 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201707181900.v6IJ0GdG095891@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Tue, 18 Jul 2017 19:00:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321171 - head/bin/sh X-SVN-Group: head X-SVN-Commit-Author: jilles X-SVN-Commit-Paths: head/bin/sh X-SVN-Commit-Revision: 321171 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.23 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, 18 Jul 2017 19:00:17 -0000 Author: jilles Date: Tue Jul 18 19:00:15 2017 New Revision: 321171 URL: https://svnweb.freebsd.org/changeset/base/321171 Log: sh: Remove broken #ifdef NOHACK code (related to sh -c). Apart from the fact that subtle syntactic changes make a poor compile-time option, the NOHACK case has been obviously broken since it was added, because it uses q uninitialized if (*p != '\0'). No functional change is intended. Modified: head/bin/sh/options.c Modified: head/bin/sh/options.c ============================================================================== --- head/bin/sh/options.c Tue Jul 18 18:56:51 2017 (r321170) +++ head/bin/sh/options.c Tue Jul 18 19:00:15 2017 (r321171) @@ -191,16 +191,11 @@ options(int cmdline) while ((c = *p++) != '\0') { if (c == 'c' && cmdline) { char *q; -#ifdef NOHACK /* removing this code allows sh -ce 'foo' for compat */ - if (*p == '\0') -#endif - q = *argptr++; + + q = *argptr++; if (q == NULL || minusc != NULL) error("Bad -c option"); minusc = q; -#ifdef NOHACK - break; -#endif } else if (c == 'o') { minus_o(*argptr, val); if (*argptr) From owner-svn-src-head@freebsd.org Tue Jul 18 19:50:04 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3424FD9EAEB; Tue, 18 Jul 2017 19:50:04 +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 mx1.freebsd.org (Postfix) with ESMTPS id E913981851; Tue, 18 Jul 2017 19:50:03 +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 v6IJo3Xg016046; Tue, 18 Jul 2017 19:50:03 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6IJo3b6016045; Tue, 18 Jul 2017 19:50:03 GMT (envelope-from manu@FreeBSD.org) Message-Id: <201707181950.v6IJo3b6016045@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Tue, 18 Jul 2017 19:50:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321172 - head/sys/arm/allwinner X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/arm/allwinner X-SVN-Commit-Revision: 321172 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.23 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, 18 Jul 2017 19:50:04 -0000 Author: manu Date: Tue Jul 18 19:50:02 2017 New Revision: 321172 URL: https://svnweb.freebsd.org/changeset/base/321172 Log: Allwinner EHCI: Do not fail if we cannot get a phy If we cannot get a phy, do not detach the driver, some boards have phy always enabled and not exposed. While here do not release the clocks if we fails as we release them in a10_ehci_detach. Tested-on: OrangePi-One Modified: head/sys/arm/allwinner/a10_ehci.c Modified: head/sys/arm/allwinner/a10_ehci.c ============================================================================== --- head/sys/arm/allwinner/a10_ehci.c Tue Jul 18 19:00:15 2017 (r321171) +++ head/sys/arm/allwinner/a10_ehci.c Tue Jul 18 19:50:02 2017 (r321172) @@ -226,16 +226,13 @@ a10_ehci_attach(device_t self) } /* Enable USB PHY */ - err = phy_get_by_ofw_name(self, 0, "usb", &aw_sc->phy); - if (err != 0) { - device_printf(self, "Could not get phy\n"); - goto error; + if (phy_get_by_ofw_name(self, 0, "usb", &aw_sc->phy) == 0) { + err = phy_enable(self, aw_sc->phy); + if (err != 0) { + device_printf(self, "Could not enable phy\n"); + goto error; + } } - err = phy_enable(self, aw_sc->phy); - if (err != 0) { - device_printf(self, "Could not enable phy\n"); - goto error; - } /* Enable passby */ reg_value = A10_READ_4(sc, SW_USB_PMU_IRQ_ENABLE); @@ -263,10 +260,6 @@ a10_ehci_attach(device_t self) return (0); error: - if (aw_sc->clk != NULL) { - clk_disable(aw_sc->clk); - clk_release(aw_sc->clk); - } a10_ehci_detach(self); return (ENXIO); } From owner-svn-src-head@freebsd.org Tue Jul 18 20:26:42 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B4B8ED9F7AC; Tue, 18 Jul 2017 20:26:42 +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 mx1.freebsd.org (Postfix) with ESMTPS id 83EF182A7A; Tue, 18 Jul 2017 20:26:42 +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 v6IKQf3S032156; Tue, 18 Jul 2017 20:26:41 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6IKQfJj032155; Tue, 18 Jul 2017 20:26:41 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201707182026.v6IKQfJj032155@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Tue, 18 Jul 2017 20:26:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321173 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 321173 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.23 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, 18 Jul 2017 20:26:42 -0000 Author: kib Date: Tue Jul 18 20:26:41 2017 New Revision: 321173 URL: https://svnweb.freebsd.org/changeset/base/321173 Log: Convert assertion that only vmspace owner grows the stack, into a check blocking grow from other processes accesses. Debugger may access stack grow area with ptrace(2). In this case, real state of the process is to not have the stack grown, which provides more accurate inspection. Technical reason to avoid the grow is to avoid applying wrong process (debugger) stack limit. This change also has a consequence of making aio workers accesses past the bottom of stacks into EFAULT, arguably the situation is a programmers mistake. Reported by: jhb Discussed with: alc, jhb Sponsored by: The FreeBSD Foundation MFC after: 3 days Modified: head/sys/vm/vm_map.c Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Tue Jul 18 19:50:02 2017 (r321172) +++ head/sys/vm/vm_map.c Tue Jul 18 20:26:41 2017 (r321173) @@ -3698,7 +3698,8 @@ vm_map_growstack(vm_map_t map, vm_offset_t addr, vm_ma p = curproc; vm = p->p_vmspace; - MPASS(map == &p->p_vmspace->vm_map); + if (map != &p->p_vmspace->vm_map) + return (KERN_FAILURE); MPASS(!map->system_map); guard = stack_guard_page * PAGE_SIZE; From owner-svn-src-head@freebsd.org Tue Jul 18 21:09:31 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2DC91DA021E; Tue, 18 Jul 2017 21:09:31 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DF68683C37; Tue, 18 Jul 2017 21:09:30 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6IL9Uw0048271; Tue, 18 Jul 2017 21:09:30 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6IL9Ur2048270; Tue, 18 Jul 2017 21:09:30 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201707182109.v6IL9Ur2048270@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Tue, 18 Jul 2017 21:09:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321176 - head/lib/libsysdecode X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/lib/libsysdecode X-SVN-Commit-Revision: 321176 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.23 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, 18 Jul 2017 21:09:31 -0000 Author: jhb Date: Tue Jul 18 21:09:29 2017 New Revision: 321176 URL: https://svnweb.freebsd.org/changeset/base/321176 Log: Remove special handling for 'disk*.h' This was originally added so that only one of diskmbr.h or diskpc98.h was chosen and is no longer needed after PC98's removal. However, the special handling was also broken as it effectively prevented the decoding of ioctls declared in other headers such as or . Modified: head/lib/libsysdecode/mkioctls Modified: head/lib/libsysdecode/mkioctls ============================================================================== --- head/lib/libsysdecode/mkioctls Tue Jul 18 20:46:29 2017 (r321175) +++ head/lib/libsysdecode/mkioctls Tue Jul 18 21:09:29 2017 (r321176) @@ -18,13 +18,11 @@ LC_ALL=C; export LC_ALL ioctl_includes=$( cd $includedir find -H -s * -name '*.h' | \ - egrep -v '(.*disk.*|net/pfvar|net/if_pfsync)\.h' | \ + egrep -v '(net/pfvar|net/if_pfsync)\.h' | \ xargs egrep -l \ '^#[ ]*define[ ]+[A-Za-z_][A-Za-z0-9_]*[ ]+_IO[^a-z0-9_]' | awk '{printf("#include <%s>\\n", $1)}' ) - -ioctl_includes="$ioctl_includes#include \\n" awk -v x="$ioctl_includes" 'BEGIN {print x}' | $CPP -nostdinc -I$includedir -dM -DCOMPAT_43TTY - | From owner-svn-src-head@freebsd.org Tue Jul 18 23:35:20 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DCA2FDA2897; Tue, 18 Jul 2017 23:35:20 +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 mx1.freebsd.org (Postfix) with ESMTPS id B6FDE3E28; Tue, 18 Jul 2017 23:35:20 +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 v6INZJC9009046; Tue, 18 Jul 2017 23:35:19 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6INZJuV009039; Tue, 18 Jul 2017 23:35:19 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707182335.v6INZJuV009039@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 18 Jul 2017 23:35:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321178 - head/usr.sbin/bsdinstall/scripts X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/usr.sbin/bsdinstall/scripts X-SVN-Commit-Revision: 321178 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.23 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, 18 Jul 2017 23:35:21 -0000 Author: emaste Date: Tue Jul 18 23:35:19 2017 New Revision: 321178 URL: https://svnweb.freebsd.org/changeset/base/321178 Log: bsdinstall: remove EOL whitespace Modified: head/usr.sbin/bsdinstall/scripts/auto head/usr.sbin/bsdinstall/scripts/checksum head/usr.sbin/bsdinstall/scripts/keymap head/usr.sbin/bsdinstall/scripts/mount head/usr.sbin/bsdinstall/scripts/netconfig_ipv4 head/usr.sbin/bsdinstall/scripts/netconfig_ipv6 head/usr.sbin/bsdinstall/scripts/umount Modified: head/usr.sbin/bsdinstall/scripts/auto ============================================================================== --- head/usr.sbin/bsdinstall/scripts/auto Tue Jul 18 23:02:34 2017 (r321177) +++ head/usr.sbin/bsdinstall/scripts/auto Tue Jul 18 23:35:19 2017 (r321178) @@ -319,7 +319,7 @@ if [ ! -z "$FETCH_DISTRIBUTIONS" ]; then export DISTRIBUTIONS="$FETCH_DISTRIBUTIONS" export BSDINSTALL_DISTDIR="$BSDINSTALL_FETCHDEST" fi - + export FTP_PASSIVE_MODE=YES # Iterate through the distribution list and set a flag if debugging # distributions have been selected. @@ -413,7 +413,7 @@ finalconfig() { finalconfig ;; "Root Password") - bsdinstall rootpass + bsdinstall rootpass finalconfig ;; "Hostname") Modified: head/usr.sbin/bsdinstall/scripts/checksum ============================================================================== --- head/usr.sbin/bsdinstall/scripts/checksum Tue Jul 18 23:02:34 2017 (r321177) +++ head/usr.sbin/bsdinstall/scripts/checksum Tue Jul 18 23:35:19 2017 (r321178) @@ -32,7 +32,7 @@ percentage=0 for dist in $DISTRIBUTIONS; do distname=$(basename $dist .txz) eval "status_$distname=7" - + items="" for i in $DISTRIBUTIONS; do items="$items $i `eval echo \\\${status_$(basename $i .txz):-Pending}`" Modified: head/usr.sbin/bsdinstall/scripts/keymap ============================================================================== --- head/usr.sbin/bsdinstall/scripts/keymap Tue Jul 18 23:02:34 2017 (r321177) +++ head/usr.sbin/bsdinstall/scripts/keymap Tue Jul 18 23:35:19 2017 (r321178) @@ -28,7 +28,7 @@ # $FreeBSD$ # ############################################################ INCLUDES - + BSDCFG_SHARE="/usr/share/bsdconfig" . $BSDCFG_SHARE/common.subr || exit 1 f_dprintf "%s: loading includes..." "$0" Modified: head/usr.sbin/bsdinstall/scripts/mount ============================================================================== --- head/usr.sbin/bsdinstall/scripts/mount Tue Jul 18 23:02:34 2017 (r321177) +++ head/usr.sbin/bsdinstall/scripts/mount Tue Jul 18 23:35:19 2017 (r321178) @@ -33,7 +33,7 @@ cat $PATH_FSTAB | awk -v BSDINSTALL_CHROOT=$BSDINSTALL fsname = $2; if (fsname == "/") fsname = "" - printf("%s\t%s%s\t%s\t%s\t%s\t%s\n", $1, BSDINSTALL_CHROOT, + printf("%s\t%s%s\t%s\t%s\t%s\t%s\n", $1, BSDINSTALL_CHROOT, fsname, $3, $4, $5, $6); } }' > $TMP_FSTAB Modified: head/usr.sbin/bsdinstall/scripts/netconfig_ipv4 ============================================================================== --- head/usr.sbin/bsdinstall/scripts/netconfig_ipv4 Tue Jul 18 23:02:34 2017 (r321177) +++ head/usr.sbin/bsdinstall/scripts/netconfig_ipv4 Tue Jul 18 23:35:19 2017 (r321178) @@ -75,7 +75,7 @@ IF_CONFIG=$(dialog --backtitle 'FreeBSD Installer' --t if [ $? -eq $DIALOG_CANCEL ]; then exit 1; fi exec 3>&- -echo $INTERFACE $IF_CONFIG | +echo $INTERFACE $IF_CONFIG | awk -v prefix="$IFCONFIG_PREFIX" '{ printf("ifconfig_%s=\"%s\inet %s netmask %s\"\n", $1, prefix, $2, $3); printf("defaultrouter=\"%s\"\n", $4); Modified: head/usr.sbin/bsdinstall/scripts/netconfig_ipv6 ============================================================================== --- head/usr.sbin/bsdinstall/scripts/netconfig_ipv6 Tue Jul 18 23:02:34 2017 (r321177) +++ head/usr.sbin/bsdinstall/scripts/netconfig_ipv6 Tue Jul 18 23:35:19 2017 (r321178) @@ -41,9 +41,9 @@ f_include $BSDCFG_SHARE/dialog.subr ############################################################ MAIN # -# TODO: +# TODO: # - Add DHCPv6 support once FreeBSD ships with it. -# +# INTERFACE=$1 case "${INTERFACE}" in Modified: head/usr.sbin/bsdinstall/scripts/umount ============================================================================== --- head/usr.sbin/bsdinstall/scripts/umount Tue Jul 18 23:02:34 2017 (r321177) +++ head/usr.sbin/bsdinstall/scripts/umount Tue Jul 18 23:35:19 2017 (r321178) @@ -33,7 +33,7 @@ cat $PATH_FSTAB | awk -v BSDINSTALL_CHROOT=$BSDINSTALL fsname = $2; if (fsname == "/") fsname = "" - printf("%s\t%s%s\t%s\t%s\t%s\t%s\n", $1, BSDINSTALL_CHROOT, + printf("%s\t%s%s\t%s\t%s\t%s\t%s\n", $1, BSDINSTALL_CHROOT, fsname, $3, $4, $5, $6); } }' > $TMP_FSTAB From owner-svn-src-head@freebsd.org Wed Jul 19 01:49:02 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5DB5ADA51D3; Wed, 19 Jul 2017 01:49:02 +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 mx1.freebsd.org (Postfix) with ESMTPS id 2AC7C66525; Wed, 19 Jul 2017 01:49:02 +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 v6J1n1F5061446; Wed, 19 Jul 2017 01:49:01 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6J1n1jU061445; Wed, 19 Jul 2017 01:49:01 GMT (envelope-from np@FreeBSD.org) Message-Id: <201707190149.v6J1n1jU061445@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Wed, 19 Jul 2017 01:49:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321179 - 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: 321179 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.23 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, 19 Jul 2017 01:49:02 -0000 Author: np Date: Wed Jul 19 01:49:01 2017 New Revision: 321179 URL: https://svnweb.freebsd.org/changeset/base/321179 Log: cxgbe/t4_tom: Log more details about the newly ESTABLISHED tid to the trace buffer. MFC after: 3 days 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 Jul 18 23:35:19 2017 (r321178) +++ head/sys/dev/cxgbe/tom/t4_cpl_io.c Wed Jul 19 01:49:01 2017 (r321179) @@ -385,8 +385,8 @@ make_established(struct toepcb *toep, uint32_t snd_isn tp->t_state == TCPS_SYN_RECEIVED, ("%s: TCP state %s", __func__, tcpstates[tp->t_state])); - CTR4(KTR_CXGBE, "%s: tid %d, toep %p, inp %p", - __func__, toep->tid, toep, inp); + CTR6(KTR_CXGBE, "%s: tid %d, so %p, inp %p, tp %p, toep %p", + __func__, toep->tid, so, inp, tp, toep); tp->t_state = TCPS_ESTABLISHED; tp->t_starttime = ticks; From owner-svn-src-head@freebsd.org Wed Jul 19 09:59:33 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BB4F5C78072; Wed, 19 Jul 2017 09:59:33 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9342E73D21; Wed, 19 Jul 2017 09:59:33 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6J9xWTf060329; Wed, 19 Jul 2017 09:59:32 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6J9xWPi060327; Wed, 19 Jul 2017 09:59:32 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201707190959.v6J9xWPi060327@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Wed, 19 Jul 2017 09:59:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321196 - in head/sys/fs: nfs nfsserver X-SVN-Group: head X-SVN-Commit-Author: trasz X-SVN-Commit-Paths: in head/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 321196 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.23 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, 19 Jul 2017 09:59:33 -0000 Author: trasz Date: Wed Jul 19 09:59:32 2017 New Revision: 321196 URL: https://svnweb.freebsd.org/changeset/base/321196 Log: Rename vfs.nfsd.enable_uidtostring to vfs.nfs.enable_uidtostring. It applies to both NFS client and NFS server, and is useful for both. This is different from vfs.nfsd.enable_stringtouid, which is specific to server side. Reviewed by: rmacklem@ MFC after: 2 weeks Sponsored by: DARPA, AFRL Modified: head/sys/fs/nfs/nfs_commonsubs.c head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Wed Jul 19 07:03:16 2017 (r321195) +++ head/sys/fs/nfs/nfs_commonsubs.c Wed Jul 19 09:59:32 2017 (r321196) @@ -68,11 +68,15 @@ gid_t nfsrv_defaultgid = GID_NOGROUP; int nfsrv_lease = NFSRV_LEASE; int ncl_mbuf_mlen = MLEN; int nfsd_enable_stringtouid = 0; -int nfsd_enable_uidtostring = 0; +static int nfs_enable_uidtostring = 0; NFSNAMEIDMUTEX; NFSSOCKMUTEX; extern int nfsrv_lughashsize; +SYSCTL_DECL(_vfs_nfs); +SYSCTL_INT(_vfs_nfs, OID_AUTO, enable_uidtostring, CTLFLAG_RW, + &nfs_enable_uidtostring, 0, "Make nfs always send numeric owner_names"); + /* * This array of structures indicates, for V4: * retfh - which of 3 types of calling args are used @@ -2562,7 +2566,7 @@ nfsv4_uidtostr(uid_t uid, u_char **cpp, int *retlenp, cnt = 0; tryagain: - if (nfsrv_dnsnamelen > 0 && !nfsd_enable_uidtostring) { + if (nfsrv_dnsnamelen > 0 && !nfs_enable_uidtostring) { /* * Always map nfsrv_defaultuid to "nobody". */ @@ -2824,7 +2828,7 @@ nfsv4_gidtostr(gid_t gid, u_char **cpp, int *retlenp, cnt = 0; tryagain: - if (nfsrv_dnsnamelen > 0 && !nfsd_enable_uidtostring) { + if (nfsrv_dnsnamelen > 0 && !nfs_enable_uidtostring) { /* * Always map nfsrv_defaultgid to "nogroup". */ Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Wed Jul 19 07:03:16 2017 (r321195) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Wed Jul 19 09:59:32 2017 (r321196) @@ -87,7 +87,6 @@ static int nfs_commit_miss; extern int nfsrv_issuedelegs; extern int nfsrv_dolocallocks; extern int nfsd_enable_stringtouid; -extern int nfsd_enable_uidtostring; SYSCTL_NODE(_vfs, OID_AUTO, nfsd, CTLFLAG_RW, 0, "NFS server"); SYSCTL_INT(_vfs_nfsd, OID_AUTO, mirrormnt, CTLFLAG_RW, @@ -104,8 +103,6 @@ SYSCTL_INT(_vfs_nfsd, OID_AUTO, debuglevel, CTLFLAG_RW 0, "Debug level for NFS server"); SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_stringtouid, CTLFLAG_RW, &nfsd_enable_stringtouid, 0, "Enable nfsd to accept numeric owner_names"); -SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_uidtostring, CTLFLAG_RW, - &nfsd_enable_uidtostring, 0, "Make nfsd always send numeric owner_names"); #define MAX_REORDERED_RPC 16 #define NUM_HEURISTIC 1031 From owner-svn-src-head@freebsd.org Wed Jul 19 10:59:47 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DBB5FC79596; Wed, 19 Jul 2017 10:59:47 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail107.syd.optusnet.com.au (mail107.syd.optusnet.com.au [211.29.132.53]) by mx1.freebsd.org (Postfix) with ESMTP id 89C6A75D0C; Wed, 19 Jul 2017 10:59:47 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from [192.168.0.102] (c110-21-101-228.carlnfd1.nsw.optusnet.com.au [110.21.101.228]) by mail107.syd.optusnet.com.au (Postfix) with ESMTPS id 54595D4B2BC; Wed, 19 Jul 2017 20:59:37 +1000 (AEST) Date: Wed, 19 Jul 2017 20:59:37 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ian Lepore cc: Bruce Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320901 - in head/sys: amd64/amd64 isa x86/isa In-Reply-To: <1500389932.22314.151.camel@freebsd.org> Message-ID: <20170719183850.G1161@besplex.bde.org> References: <201707120242.v6C2gvDB026199@repo.freebsd.org> <20170712224803.G1991@besplex.bde.org> <1500308973.22314.89.camel@freebsd.org> <20170718153823.K1105@besplex.bde.org> <1500389932.22314.151.camel@freebsd.org> MIME-Version: 1.0 X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=VbSHBBh9 c=1 sm=1 tr=0 a=PalzARQSbocsUSjMRkwAPg==:117 a=PalzARQSbocsUSjMRkwAPg==:17 a=nlC_4_pT8q9DhB4Ho9EA:9 a=oTjj4IIKm4IGRG3_cN8A:9 a=vJojfPJ1HncGs5gt:21 a=r0bWohtU48GZC-tP:21 a=45ClL6m2LaAA:10 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 19 Jul 2017 10:59:48 -0000 On Tue, 18 Jul 2017, Ian Lepore wrote: > On Tue, 2017-07-18 at 18:08 +1000, Bruce Evans wrote: >> [lots of stuff about locking and accurate time-setting] >> >> Good idea. >> >> My inittodr() waits for the seconds register to change.=A0 This >> increases >> boot time by an average of 0.5 seconds, but is needed to get a result >> that is not out of date by an average of 0.5 seconds.=A0 After the >> seconds >> register changes, the window for reading the other registers is >> almost >> 1 second, but the reads must complete in a few microseconds anyway >> else >> the result is still too out of date.=A0 Debugging printf()s show that >> the reads usually complete in 10-50 usec with low latency (faster on >> old systems with faster ISA buses). >> > > I was considering adding a tunable to do that for people who don't mind > the extra time to boot/wakeup.=A0=A0It's interesting that you label an > error of a few microseconds as "too out of date", I was thinking that > reducing the average error from .5s to .005s was good enough. > > The .005s number comes from an idea of using a callout that begins as > soon as interrupts are available that checks for rtc rollover every > 10ms, with the hopes that it can catch the rollover between the time > callouts start working and rootfs mount time when inittodr() gets > called.=A0=A0If it can catch the rollover happening in that window, it ca= n > latch the monotonic clock and then use that at inittodr() time to > calculate the fractional part of the time.=A0=A0Even if it doesn't catch > the rollover in that time, it at least has a measurement that sets a > floor value for the fractional part, reducing the error to something > less than .5s. Hmm, my rtcintr() already does essentially that without really trying. It is designed to fix up the time after "suspension" in ddb breaks the time by stopping timecounter updates. The fixed up time is: (the rtc time) + (the last known good difference between the timecounter time and the rtc time) + (an adjustment for the drift rate) My rtcintr() samples the difference and calibrates the drift every 64 seconds. It uses rtc update interrupts every second to get precise timing for the sampling and to avoid having to wait for updates to complete before sampling. Initially, the offset and drift are unknown, but using 0 for them would give similar functionality to inittodr(). > I have no idea yet how much time elapses between interrupts coming > online and the first inittodr() call on a typical modern x86 > system.=A0=A0For all my arm systems with nfsroot it's several seconds. = =A0If > it averages a few milliseconds on x86 systems, it isn't useful enough > to justify the extra work. =A0If it's typically half a second or more it > probably is worth it. My fastest x86 system takes 6 seconds to boot from boot2 (no loader) to mounting root. Surprisingly, inittodr() runs even later than mountroot (at least on an old system). That must be for the old feature of defaulting the time to a timestamp on the (ffs) root partition. Normally that is not used, but if inittodr() ran earlier than it would have to run again if it couldn't find a hardware rtc. Interrupt handling starts working much earlier than that, but I wouldn't trust all time features to be initialized on the first call to rtcintr(). However, it is unimportant to set the time very early in the boot. This just makes CLOCK_REALTIME timestamps valid earlier. The time should be fixed up similarly after real suspensions. Then it is even less clear what the reinitialization order actually is. >> Accuracy for reading is not very important because accuracy for >> writing >> is very low (1-2 seconds).=A0 My resettodr() only writes if the >> difference >> is more than 2 seconds. >> > > The gross inaccuracy when writing is fixable now. =A0I'm not worried > about the microsecond inaccuracies of accessing the hardware, what I > want to fix is the fact that clock_settime() may get called at x.995 > and will record the time as x.0. Very old old versions seemed to have complications related to the hardware. Something to do with half-second boundaries, because the hardware is "smart" about this 0.995 error and schedules the next update to 0.5 seconds after writing to the seconds register (this reduces the average error to 0.5 seconds for sloppy settings)? I can't find these in the 2004 version. > Because settime is now called from a task thread, any clock driver is > free to sleep as needed to set the clock hardware in a way that aligns > its second rollover with kernel time. =A0Not efficient, but easy to do. The syscall was always free to sleep, and it is a bug for it return before setting the time. Except, the syscall never claimed to even have hardware to write to. If there were an RTC driver, then it should support both sync and async settings. > Even better, most rtc hardware has unused storage. =A0Sometimes in the > form of battery-backed ram, sometimes in the form of things like alarm > registers that aren't used for anything and a driver can tuck away > values in them for its own use. =A0If clock_settime() stores the > fractional part of the second in such a location, clock_gettime() can > use it to remove all of the inaccuracy that otherwise happens when the > fraction is discarded. =A0If even a single bit is available the error is > cut in half. =A0If a byte is available it drops to ~40ms. I tried to find unused rtc registers for the purpose of fixing nextboot and other boot loaders which do dangerous writes to disks. A single bit is almost enough for them too. I didn't really succeed. On x86, everythin= g is reserved or undocumented and most of the 256 (?) bytes of standard cmos was used by BIOSes before flash RAM made this unecessary (I don't know how much of it they use now). The best that I could find was the alarm registers. On some of my systems, the BIOS does use these registers, but the use is under user control and when non-use by the BIOS is configured, the BIOS doesn't clobber the registers. Bruce From owner-svn-src-head@freebsd.org Wed Jul 19 12:27:42 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0E710C7C48F; Wed, 19 Jul 2017 12:27:42 +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 mx1.freebsd.org (Postfix) with ESMTPS id A39F87D45A; Wed, 19 Jul 2017 12:27:41 +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 v6JCRetr020754; Wed, 19 Jul 2017 12:27:40 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JCReUh020750; Wed, 19 Jul 2017 12:27:40 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201707191227.v6JCReUh020750@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Wed, 19 Jul 2017 12:27:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321197 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 321197 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.23 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, 19 Jul 2017 12:27:42 -0000 Author: tuexen Date: Wed Jul 19 12:27:40 2017 New Revision: 321197 URL: https://svnweb.freebsd.org/changeset/base/321197 Log: Fix the accounting and add code to detect errors in accounting. Joint work with rrs@ MFC after: 1 week Modified: head/sys/netinet/sctp_auth.c head/sys/netinet/sctp_indata.c head/sys/netinet/sctp_pcb.c head/sys/netinet/sctputil.c Modified: head/sys/netinet/sctp_auth.c ============================================================================== --- head/sys/netinet/sctp_auth.c Wed Jul 19 09:59:32 2017 (r321196) +++ head/sys/netinet/sctp_auth.c Wed Jul 19 12:27:40 2017 (r321197) @@ -1797,8 +1797,8 @@ sctp_notify_authentication(struct sctp_tcb *stcb, uint sctp_m_freem(m_notify); return; } - control->spec_flags = M_NOTIFICATION; control->length = SCTP_BUF_LEN(m_notify); + control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, Modified: head/sys/netinet/sctp_indata.c ============================================================================== --- head/sys/netinet/sctp_indata.c Wed Jul 19 09:59:32 2017 (r321196) +++ head/sys/netinet/sctp_indata.c Wed Jul 19 12:27:40 2017 (r321197) @@ -59,7 +59,7 @@ __FBSDID("$FreeBSD$"); * This will cause sctp_service_queues() to get called on the top entry in * the list. */ -static void +static uint32_t sctp_add_chk_to_control(struct sctp_queued_to_read *control, struct sctp_stream_in *strm, struct sctp_tcb *stcb, @@ -92,6 +92,8 @@ sctp_calc_rwnd(struct sctp_tcb *stcb, struct sctp_asso asoc->size_on_reasm_queue == 0 && asoc->size_on_all_streams == 0) { /* Full rwnd granted */ + KASSERT(asoc->cnt_on_reasm_queue == 0, ("cnt_on_reasm_queue is %u", asoc->cnt_on_reasm_queue)); + KASSERT(asoc->cnt_on_all_streams == 0, ("cnt_on_all_streams is %u", asoc->cnt_on_all_streams)); calc = max(SCTP_SB_LIMIT_RCV(stcb->sctp_socket), SCTP_MINIMAL_RWND); return (calc); } @@ -558,7 +560,15 @@ sctp_queue_data_to_stream(struct sctp_tcb *stcb, } /* EY it wont be queued if it could be delivered directly */ queue_needed = 0; - asoc->size_on_all_streams -= control->length; + if (asoc->size_on_all_streams >= control->length) { + asoc->size_on_all_streams -= control->length; + } else { +#ifdef INVARIANTS + panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length); +#else + asoc->size_on_all_streams = 0; +#endif + } sctp_ucount_decr(asoc->cnt_on_all_streams); strm->last_mid_delivered++; sctp_mark_non_revokable(asoc, control->sinfo_tsn); @@ -571,11 +581,19 @@ sctp_queue_data_to_stream(struct sctp_tcb *stcb, nxt_todel = strm->last_mid_delivered + 1; if (SCTP_MID_EQ(asoc->idata_supported, nxt_todel, control->mid) && (((control->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG)) { - asoc->size_on_all_streams -= control->length; - sctp_ucount_decr(asoc->cnt_on_all_streams); if (control->on_strm_q == SCTP_ON_ORDERED) { TAILQ_REMOVE(&strm->inqueue, control, next_instrm); + if (asoc->size_on_all_streams >= control->length) { + asoc->size_on_all_streams -= control->length; + } else { #ifdef INVARIANTS + panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length); +#else + asoc->size_on_all_streams = 0; +#endif + } + sctp_ucount_decr(asoc->cnt_on_all_streams); +#ifdef INVARIANTS } else { panic("Huh control: %p is on_strm_q: %d", control, control->on_strm_q); @@ -671,7 +689,7 @@ sctp_setup_tail_pointer(struct sctp_queued_to_read *co } static void -sctp_add_to_tail_pointer(struct sctp_queued_to_read *control, struct mbuf *m) +sctp_add_to_tail_pointer(struct sctp_queued_to_read *control, struct mbuf *m, uint32_t *added) { struct mbuf *prev = NULL; struct sctp_tcb *stcb; @@ -715,6 +733,7 @@ sctp_add_to_tail_pointer(struct sctp_queued_to_read *c */ sctp_sballoc(stcb, &stcb->sctp_socket->so_rcv, m); } + *added += SCTP_BUF_LEN(m); atomic_add_int(&control->length, SCTP_BUF_LEN(m)); m = SCTP_BUF_NEXT(m); } @@ -815,7 +834,15 @@ restart: tchk = TAILQ_FIRST(&control->reasm); if (tchk->rec.data.rcv_flags & SCTP_DATA_FIRST_FRAG) { TAILQ_REMOVE(&control->reasm, tchk, sctp_next); - asoc->size_on_reasm_queue -= tchk->send_size; + if (asoc->size_on_reasm_queue >= tchk->send_size) { + asoc->size_on_reasm_queue -= tchk->send_size; + } else { +#ifdef INVARIANTS + panic("size_on_reasm_queue = %u smaller than chunk length %u", asoc->size_on_reasm_queue, tchk->send_size); +#else + asoc->size_on_reasm_queue = 0; +#endif + } sctp_ucount_decr(asoc->cnt_on_reasm_queue); nc->first_frag_seen = 1; nc->fsn_included = tchk->rec.data.fsn; @@ -1127,6 +1154,16 @@ done_un: #endif SCTP_STAT_INCR_COUNTER64(sctps_reasmusrmsgs); TAILQ_REMOVE(&strm->inqueue, control, next_instrm); + if (asoc->size_on_all_streams >= control->length) { + asoc->size_on_all_streams -= control->length; + } else { +#ifdef INVARIANTS + panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length); +#else + asoc->size_on_all_streams = 0; +#endif + } + sctp_ucount_decr(asoc->cnt_on_all_streams); control->on_strm_q = 0; } if (strm->pd_api_started && control->pdapi_started) { @@ -1173,6 +1210,16 @@ deliver_more: #endif SCTP_STAT_INCR_COUNTER64(sctps_reasmusrmsgs); TAILQ_REMOVE(&strm->inqueue, control, next_instrm); + if (asoc->size_on_all_streams >= control->length) { + asoc->size_on_all_streams -= control->length; + } else { +#ifdef INVARIANTS + panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length); +#else + asoc->size_on_all_streams = 0; +#endif + } + sctp_ucount_decr(asoc->cnt_on_all_streams); control->on_strm_q = 0; } ret++; @@ -1219,7 +1266,7 @@ out: } -void +uint32_t sctp_add_chk_to_control(struct sctp_queued_to_read *control, struct sctp_stream_in *strm, struct sctp_tcb *stcb, struct sctp_association *asoc, @@ -1229,6 +1276,7 @@ sctp_add_chk_to_control(struct sctp_queued_to_read *co * Given a control and a chunk, merge the data from the chk onto the * control and free up the chunk resources. */ + uint32_t added = 0; int i_locked = 0; if (control->on_read_q && (hold_rlock == 0)) { @@ -1242,7 +1290,7 @@ sctp_add_chk_to_control(struct sctp_queued_to_read *co control->data = chk->data; sctp_setup_tail_pointer(control); } else { - sctp_add_to_tail_pointer(control, chk->data); + sctp_add_to_tail_pointer(control, chk->data, &added); } control->fsn_included = chk->rec.data.fsn; asoc->size_on_reasm_queue -= chk->send_size; @@ -1268,6 +1316,16 @@ sctp_add_chk_to_control(struct sctp_queued_to_read *co } else if (control->on_strm_q == SCTP_ON_ORDERED) { /* Ordered */ TAILQ_REMOVE(&strm->inqueue, control, next_instrm); + if (asoc->size_on_all_streams >= control->length) { + asoc->size_on_all_streams -= control->length; + } else { +#ifdef INVARIANTS + panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length); +#else + asoc->size_on_all_streams = 0; +#endif + } + sctp_ucount_decr(asoc->cnt_on_all_streams); control->on_strm_q = 0; #ifdef INVARIANTS } else if (control->on_strm_q) { @@ -1283,6 +1341,7 @@ sctp_add_chk_to_control(struct sctp_queued_to_read *co SCTP_INP_READ_UNLOCK(stcb->sctp_ep); } sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED); + return (added); } /* @@ -1302,6 +1361,7 @@ sctp_queue_data_for_reasm(struct sctp_tcb *stcb, struc struct sctp_tmit_chunk *at, *nat; struct sctp_stream_in *strm; int do_wakeup, unordered; + uint32_t lenadded; strm = &asoc->strmin[control->sinfo_stream]; /* @@ -1314,6 +1374,9 @@ sctp_queue_data_for_reasm(struct sctp_tcb *stcb, struc } /* Must be added to the stream-in queue */ if (created_control) { + if (unordered == 0) { + sctp_ucount_incr(asoc->cnt_on_all_streams); + } if (sctp_place_control_in_stream(strm, asoc, control)) { /* Duplicate SSN? */ sctp_clean_up_control(stcb, control); @@ -1373,6 +1436,7 @@ sctp_queue_data_for_reasm(struct sctp_tcb *stcb, struc chk->data = NULL; sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED); sctp_setup_tail_pointer(control); + asoc->size_on_all_streams += control->length; } else { /* Place the chunk in our list */ int inserted = 0; @@ -1529,7 +1593,8 @@ sctp_queue_data_for_reasm(struct sctp_tcb *stcb, struc at->rec.data.fsn, next_fsn, control->fsn_included); TAILQ_REMOVE(&control->reasm, at, sctp_next); - sctp_add_chk_to_control(control, strm, stcb, asoc, at, SCTP_READ_LOCK_NOT_HELD); + lenadded = sctp_add_chk_to_control(control, strm, stcb, asoc, at, SCTP_READ_LOCK_NOT_HELD); + asoc->size_on_all_streams += lenadded; if (control->on_read_q) { do_wakeup = 1; } @@ -1600,7 +1665,7 @@ sctp_process_a_data_chunk(struct sctp_tcb *stcb, struc uint16_t sid; struct mbuf *op_err; char msg[SCTP_DIAG_INFO_LEN]; - struct sctp_queued_to_read *control = NULL; + struct sctp_queued_to_read *control, *ncontrol; uint32_t ppid; uint8_t chk_flags; struct sctp_stream_reset_list *liste; @@ -2006,7 +2071,13 @@ sctp_process_a_data_chunk(struct sctp_tcb *stcb, struc return (0); } if ((chk_flags & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) { + struct mbuf *m; + control->data = dmbuf; + m = control->data; + for (m = control->data; m; m = m->m_next) { + control->length += SCTP_BUF_LEN(m); + } control->tail_mbuf = NULL; control->end_added = 1; control->last_frag_seen = 1; @@ -2116,16 +2187,16 @@ sctp_process_a_data_chunk(struct sctp_tcb *stcb, struc /* first one on */ TAILQ_INSERT_TAIL(&asoc->pending_reply_queue, control, next); } else { - struct sctp_queued_to_read *ctlOn, *nctlOn; + struct sctp_queued_to_read *lcontrol, *nlcontrol; unsigned char inserted = 0; - TAILQ_FOREACH_SAFE(ctlOn, &asoc->pending_reply_queue, next, nctlOn) { - if (SCTP_TSN_GT(control->sinfo_tsn, ctlOn->sinfo_tsn)) { + TAILQ_FOREACH_SAFE(lcontrol, &asoc->pending_reply_queue, next, nlcontrol) { + if (SCTP_TSN_GT(control->sinfo_tsn, lcontrol->sinfo_tsn)) { continue; } else { /* found it */ - TAILQ_INSERT_BEFORE(ctlOn, control, next); + TAILQ_INSERT_BEFORE(lcontrol, control, next); inserted = 1; break; } @@ -2216,8 +2287,6 @@ finish_express_del: * pending_reply space 3: distribute any chunks in * pending_reply_queue. */ - struct sctp_queued_to_read *ctl, *nctl; - sctp_reset_in_stream(stcb, liste->number_entries, liste->list_of_streams); TAILQ_REMOVE(&asoc->resetHead, liste, next_resp); sctp_send_deferred_reset_response(stcb, liste, SCTP_STREAM_RESET_RESULT_PERFORMED); @@ -2226,34 +2295,34 @@ finish_express_del: liste = TAILQ_FIRST(&asoc->resetHead); if (TAILQ_EMPTY(&asoc->resetHead)) { /* All can be removed */ - TAILQ_FOREACH_SAFE(ctl, &asoc->pending_reply_queue, next, nctl) { - TAILQ_REMOVE(&asoc->pending_reply_queue, ctl, next); - sctp_queue_data_to_stream(stcb, asoc, ctl, abort_flag, &need_reasm_check); + TAILQ_FOREACH_SAFE(control, &asoc->pending_reply_queue, next, ncontrol) { + TAILQ_REMOVE(&asoc->pending_reply_queue, control, next); + sctp_queue_data_to_stream(stcb, asoc, control, abort_flag, &need_reasm_check); if (*abort_flag) { return (0); } if (need_reasm_check) { - (void)sctp_deliver_reasm_check(stcb, asoc, &asoc->strmin[ctl->sinfo_stream], SCTP_READ_LOCK_NOT_HELD); + (void)sctp_deliver_reasm_check(stcb, asoc, &asoc->strmin[control->sinfo_stream], SCTP_READ_LOCK_NOT_HELD); need_reasm_check = 0; } } } else { - TAILQ_FOREACH_SAFE(ctl, &asoc->pending_reply_queue, next, nctl) { - if (SCTP_TSN_GT(ctl->sinfo_tsn, liste->tsn)) { + TAILQ_FOREACH_SAFE(control, &asoc->pending_reply_queue, next, ncontrol) { + if (SCTP_TSN_GT(control->sinfo_tsn, liste->tsn)) { break; } /* - * if ctl->sinfo_tsn is <= liste->tsn we can - * process it which is the NOT of - * ctl->sinfo_tsn > liste->tsn + * if control->sinfo_tsn is <= liste->tsn we + * can process it which is the NOT of + * control->sinfo_tsn > liste->tsn */ - TAILQ_REMOVE(&asoc->pending_reply_queue, ctl, next); - sctp_queue_data_to_stream(stcb, asoc, ctl, abort_flag, &need_reasm_check); + TAILQ_REMOVE(&asoc->pending_reply_queue, control, next); + sctp_queue_data_to_stream(stcb, asoc, control, abort_flag, &need_reasm_check); if (*abort_flag) { return (0); } if (need_reasm_check) { - (void)sctp_deliver_reasm_check(stcb, asoc, &asoc->strmin[ctl->sinfo_stream], SCTP_READ_LOCK_NOT_HELD); + (void)sctp_deliver_reasm_check(stcb, asoc, &asoc->strmin[control->sinfo_stream], SCTP_READ_LOCK_NOT_HELD); need_reasm_check = 0; } } @@ -5181,7 +5250,7 @@ static void sctp_kick_prsctp_reorder_queue(struct sctp_tcb *stcb, struct sctp_stream_in *strmin) { - struct sctp_queued_to_read *ctl, *nctl; + struct sctp_queued_to_read *control, *ncontrol; struct sctp_association *asoc; uint32_t mid; int need_reasm_check = 0; @@ -5192,43 +5261,51 @@ sctp_kick_prsctp_reorder_queue(struct sctp_tcb *stcb, * First deliver anything prior to and including the stream no that * came in. */ - TAILQ_FOREACH_SAFE(ctl, &strmin->inqueue, next_instrm, nctl) { - if (SCTP_MID_GE(asoc->idata_supported, mid, ctl->mid)) { + TAILQ_FOREACH_SAFE(control, &strmin->inqueue, next_instrm, ncontrol) { + if (SCTP_MID_GE(asoc->idata_supported, mid, control->mid)) { /* this is deliverable now */ - if (((ctl->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) { - if (ctl->on_strm_q) { - if (ctl->on_strm_q == SCTP_ON_ORDERED) { - TAILQ_REMOVE(&strmin->inqueue, ctl, next_instrm); - } else if (ctl->on_strm_q == SCTP_ON_UNORDERED) { - TAILQ_REMOVE(&strmin->uno_inqueue, ctl, next_instrm); + if (((control->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) { + if (control->on_strm_q) { + if (control->on_strm_q == SCTP_ON_ORDERED) { + TAILQ_REMOVE(&strmin->inqueue, control, next_instrm); + } else if (control->on_strm_q == SCTP_ON_UNORDERED) { + TAILQ_REMOVE(&strmin->uno_inqueue, control, next_instrm); #ifdef INVARIANTS } else { panic("strmin: %p ctl: %p unknown %d", - strmin, ctl, ctl->on_strm_q); + strmin, control, control->on_strm_q); #endif } - ctl->on_strm_q = 0; + control->on_strm_q = 0; } /* subtract pending on streams */ - asoc->size_on_all_streams -= ctl->length; + if (asoc->size_on_all_streams >= control->length) { + asoc->size_on_all_streams -= control->length; + } else { +#ifdef INVARIANTS + panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length); +#else + asoc->size_on_all_streams = 0; +#endif + } sctp_ucount_decr(asoc->cnt_on_all_streams); /* deliver it to at least the delivery-q */ if (stcb->sctp_socket) { - sctp_mark_non_revokable(asoc, ctl->sinfo_tsn); + sctp_mark_non_revokable(asoc, control->sinfo_tsn); sctp_add_to_readq(stcb->sctp_ep, stcb, - ctl, + control, &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_HELD, SCTP_SO_NOT_LOCKED); } } else { /* Its a fragmented message */ - if (ctl->first_frag_seen) { + if (control->first_frag_seen) { /* * Make it so this is next to * deliver, we restore later */ - strmin->last_mid_delivered = ctl->mid - 1; + strmin->last_mid_delivered = control->mid - 1; need_reasm_check = 1; break; } @@ -5257,32 +5334,40 @@ sctp_kick_prsctp_reorder_queue(struct sctp_tcb *stcb, * now ready. */ mid = strmin->last_mid_delivered + 1; - TAILQ_FOREACH_SAFE(ctl, &strmin->inqueue, next_instrm, nctl) { - if (SCTP_MID_EQ(asoc->idata_supported, mid, ctl->mid)) { - if (((ctl->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) { + TAILQ_FOREACH_SAFE(control, &strmin->inqueue, next_instrm, ncontrol) { + if (SCTP_MID_EQ(asoc->idata_supported, mid, control->mid)) { + if (((control->sinfo_flags >> 8) & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) { /* this is deliverable now */ - if (ctl->on_strm_q) { - if (ctl->on_strm_q == SCTP_ON_ORDERED) { - TAILQ_REMOVE(&strmin->inqueue, ctl, next_instrm); - } else if (ctl->on_strm_q == SCTP_ON_UNORDERED) { - TAILQ_REMOVE(&strmin->uno_inqueue, ctl, next_instrm); + if (control->on_strm_q) { + if (control->on_strm_q == SCTP_ON_ORDERED) { + TAILQ_REMOVE(&strmin->inqueue, control, next_instrm); + } else if (control->on_strm_q == SCTP_ON_UNORDERED) { + TAILQ_REMOVE(&strmin->uno_inqueue, control, next_instrm); #ifdef INVARIANTS } else { panic("strmin: %p ctl: %p unknown %d", - strmin, ctl, ctl->on_strm_q); + strmin, control, control->on_strm_q); #endif } - ctl->on_strm_q = 0; + control->on_strm_q = 0; } /* subtract pending on streams */ - asoc->size_on_all_streams -= ctl->length; + if (asoc->size_on_all_streams >= control->length) { + asoc->size_on_all_streams -= control->length; + } else { +#ifdef INVARIANTS + panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length); +#else + asoc->size_on_all_streams = 0; +#endif + } sctp_ucount_decr(asoc->cnt_on_all_streams); /* deliver it to at least the delivery-q */ - strmin->last_mid_delivered = ctl->mid; + strmin->last_mid_delivered = control->mid; if (stcb->sctp_socket) { - sctp_mark_non_revokable(asoc, ctl->sinfo_tsn); + sctp_mark_non_revokable(asoc, control->sinfo_tsn); sctp_add_to_readq(stcb->sctp_ep, stcb, - ctl, + control, &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_HELD, SCTP_SO_NOT_LOCKED); @@ -5290,12 +5375,12 @@ sctp_kick_prsctp_reorder_queue(struct sctp_tcb *stcb, mid = strmin->last_mid_delivered + 1; } else { /* Its a fragmented message */ - if (ctl->first_frag_seen) { + if (control->first_frag_seen) { /* * Make it so this is next to * deliver */ - strmin->last_mid_delivered = ctl->mid - 1; + strmin->last_mid_delivered = control->mid - 1; need_reasm_check = 1; break; } @@ -5347,7 +5432,15 @@ sctp_flush_reassm_for_str_seq(struct sctp_tcb *stcb, } cnt_removed++; TAILQ_REMOVE(&control->reasm, chk, sctp_next); - asoc->size_on_reasm_queue -= chk->send_size; + if (asoc->size_on_reasm_queue >= chk->send_size) { + asoc->size_on_reasm_queue -= chk->send_size; + } else { +#ifdef INVARIANTS + panic("size_on_reasm_queue = %u smaller than chunk length %u", asoc->size_on_reasm_queue, chk->send_size); +#else + asoc->size_on_reasm_queue = 0; +#endif + } sctp_ucount_decr(asoc->cnt_on_reasm_queue); if (chk->data) { sctp_m_freem(chk->data); @@ -5373,6 +5466,16 @@ sctp_flush_reassm_for_str_seq(struct sctp_tcb *stcb, } if (control->on_strm_q == SCTP_ON_ORDERED) { TAILQ_REMOVE(&strm->inqueue, control, next_instrm); + if (asoc->size_on_all_streams >= control->length) { + asoc->size_on_all_streams -= control->length; + } else { +#ifdef INVARIANTS + panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length); +#else + asoc->size_on_all_streams = 0; +#endif + } + sctp_ucount_decr(asoc->cnt_on_all_streams); control->on_strm_q = 0; } else if (control->on_strm_q == SCTP_ON_UNORDERED) { TAILQ_REMOVE(&strm->uno_inqueue, control, next_instrm); @@ -5416,7 +5519,7 @@ sctp_handle_forward_tsn(struct sctp_tcb *stcb, unsigned int i, fwd_sz, m_size; uint32_t str_seq; struct sctp_stream_in *strm; - struct sctp_queued_to_read *ctl, *sv; + struct sctp_queued_to_read *control, *sv; asoc = &stcb->asoc; if ((fwd_sz = ntohs(fwd->ch.chunk_length)) < sizeof(struct sctp_forward_tsn_chunk)) { @@ -5575,25 +5678,35 @@ sctp_handle_forward_tsn(struct sctp_tcb *stcb, for (cur_mid = strm->last_mid_delivered; SCTP_MID_GE(asoc->idata_supported, mid, cur_mid); cur_mid++) { sctp_flush_reassm_for_str_seq(stcb, asoc, sid, cur_mid, ordered, new_cum_tsn); } - TAILQ_FOREACH(ctl, &stcb->sctp_ep->read_queue, next) { - if ((ctl->sinfo_stream == sid) && - (SCTP_MID_EQ(asoc->idata_supported, ctl->mid, mid))) { + TAILQ_FOREACH(control, &stcb->sctp_ep->read_queue, next) { + if ((control->sinfo_stream == sid) && + (SCTP_MID_EQ(asoc->idata_supported, control->mid, mid))) { str_seq = (sid << 16) | (0x0000ffff & mid); - ctl->pdapi_aborted = 1; + control->pdapi_aborted = 1; sv = stcb->asoc.control_pdapi; - ctl->end_added = 1; - if (ctl->on_strm_q == SCTP_ON_ORDERED) { - TAILQ_REMOVE(&strm->inqueue, ctl, next_instrm); - } else if (ctl->on_strm_q == SCTP_ON_UNORDERED) { - TAILQ_REMOVE(&strm->uno_inqueue, ctl, next_instrm); + control->end_added = 1; + if (control->on_strm_q == SCTP_ON_ORDERED) { + TAILQ_REMOVE(&strm->inqueue, control, next_instrm); + if (asoc->size_on_all_streams >= control->length) { + asoc->size_on_all_streams -= control->length; + } else { #ifdef INVARIANTS - } else if (ctl->on_strm_q) { + panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length); +#else + asoc->size_on_all_streams = 0; +#endif + } + sctp_ucount_decr(asoc->cnt_on_all_streams); + } else if (control->on_strm_q == SCTP_ON_UNORDERED) { + TAILQ_REMOVE(&strm->uno_inqueue, control, next_instrm); +#ifdef INVARIANTS + } else if (control->on_strm_q) { panic("strm: %p ctl: %p unknown %d", - strm, ctl, ctl->on_strm_q); + strm, control, control->on_strm_q); #endif } - ctl->on_strm_q = 0; - stcb->asoc.control_pdapi = ctl; + control->on_strm_q = 0; + stcb->asoc.control_pdapi = control; sctp_ulp_notify(SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION, stcb, SCTP_PARTIAL_DELIVERY_ABORTED, @@ -5601,8 +5714,8 @@ sctp_handle_forward_tsn(struct sctp_tcb *stcb, SCTP_SO_NOT_LOCKED); stcb->asoc.control_pdapi = sv; break; - } else if ((ctl->sinfo_stream == sid) && - SCTP_MID_GT(asoc->idata_supported, ctl->mid, mid)) { + } else if ((control->sinfo_stream == sid) && + SCTP_MID_GT(asoc->idata_supported, control->mid, mid)) { /* We are past our victim SSN */ break; } Modified: head/sys/netinet/sctp_pcb.c ============================================================================== --- head/sys/netinet/sctp_pcb.c Wed Jul 19 09:59:32 2017 (r321196) +++ head/sys/netinet/sctp_pcb.c Wed Jul 19 12:27:40 2017 (r321197) @@ -4599,21 +4599,21 @@ void sctp_clean_up_stream(struct sctp_tcb *stcb, struct sctp_readhead *rh) { struct sctp_tmit_chunk *chk, *nchk; - struct sctp_queued_to_read *ctl, *nctl; + struct sctp_queued_to_read *control, *ncontrol; - TAILQ_FOREACH_SAFE(ctl, rh, next_instrm, nctl) { - TAILQ_REMOVE(rh, ctl, next_instrm); - ctl->on_strm_q = 0; - if (ctl->on_read_q == 0) { - sctp_free_remote_addr(ctl->whoFrom); - if (ctl->data) { - sctp_m_freem(ctl->data); - ctl->data = NULL; + TAILQ_FOREACH_SAFE(control, rh, next_instrm, ncontrol) { + TAILQ_REMOVE(rh, control, next_instrm); + control->on_strm_q = 0; + if (control->on_read_q == 0) { + sctp_free_remote_addr(control->whoFrom); + if (control->data) { + sctp_m_freem(control->data); + control->data = NULL; } } /* Reassembly free? */ - TAILQ_FOREACH_SAFE(chk, &ctl->reasm, sctp_next, nchk) { - TAILQ_REMOVE(&ctl->reasm, chk, sctp_next); + TAILQ_FOREACH_SAFE(chk, &control->reasm, sctp_next, nchk) { + TAILQ_REMOVE(&control->reasm, chk, sctp_next); if (chk->data) { sctp_m_freem(chk->data); chk->data = NULL; @@ -4629,8 +4629,8 @@ sctp_clean_up_stream(struct sctp_tcb *stcb, struct sct * We don't free the address here since all the net's were * freed above. */ - if (ctl->on_read_q == 0) { - sctp_free_a_readq(stcb, ctl); + if (control->on_read_q == 0) { + sctp_free_a_readq(stcb, control); } } } @@ -6801,7 +6801,7 @@ sctp_drain_mbufs(struct sctp_tcb *stcb) struct sctp_association *asoc; struct sctp_tmit_chunk *chk, *nchk; uint32_t cumulative_tsn_p1; - struct sctp_queued_to_read *ctl, *nctl; + struct sctp_queued_to_read *control, *ncontrol; int cnt, strmat; uint32_t gap, i; int fnd = 0; @@ -6818,88 +6818,124 @@ sctp_drain_mbufs(struct sctp_tcb *stcb) cnt = 0; /* Ok that was fun, now we will drain all the inbound streams? */ for (strmat = 0; strmat < asoc->streamincnt; strmat++) { - TAILQ_FOREACH_SAFE(ctl, &asoc->strmin[strmat].inqueue, next_instrm, nctl) { + TAILQ_FOREACH_SAFE(control, &asoc->strmin[strmat].inqueue, next_instrm, ncontrol) { #ifdef INVARIANTS - if (ctl->on_strm_q != SCTP_ON_ORDERED) { + if (control->on_strm_q != SCTP_ON_ORDERED) { panic("Huh control: %p on_q: %d -- not ordered?", - ctl, ctl->on_strm_q); + control, control->on_strm_q); } #endif - if (SCTP_TSN_GT(ctl->sinfo_tsn, cumulative_tsn_p1)) { + if (SCTP_TSN_GT(control->sinfo_tsn, cumulative_tsn_p1)) { /* Yep it is above cum-ack */ cnt++; - SCTP_CALC_TSN_TO_GAP(gap, ctl->sinfo_tsn, asoc->mapping_array_base_tsn); - asoc->size_on_all_streams = sctp_sbspace_sub(asoc->size_on_all_streams, ctl->length); + SCTP_CALC_TSN_TO_GAP(gap, control->sinfo_tsn, asoc->mapping_array_base_tsn); + KASSERT(control->length > 0, ("control has zero length")); + if (asoc->size_on_all_streams >= control->length) { + asoc->size_on_all_streams -= control->length; + } else { +#ifdef INVARIANTS + panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length); +#else + asoc->size_on_all_streams = 0; +#endif + } sctp_ucount_decr(asoc->cnt_on_all_streams); SCTP_UNSET_TSN_PRESENT(asoc->mapping_array, gap); - if (ctl->on_read_q) { - TAILQ_REMOVE(&stcb->sctp_ep->read_queue, ctl, next); - ctl->on_read_q = 0; + if (control->on_read_q) { + TAILQ_REMOVE(&stcb->sctp_ep->read_queue, control, next); + control->on_read_q = 0; } - TAILQ_REMOVE(&asoc->strmin[strmat].inqueue, ctl, next_instrm); - ctl->on_strm_q = 0; - if (ctl->data) { - sctp_m_freem(ctl->data); - ctl->data = NULL; + TAILQ_REMOVE(&asoc->strmin[strmat].inqueue, control, next_instrm); + control->on_strm_q = 0; + if (control->data) { + sctp_m_freem(control->data); + control->data = NULL; } - sctp_free_remote_addr(ctl->whoFrom); + sctp_free_remote_addr(control->whoFrom); /* Now its reasm? */ - TAILQ_FOREACH_SAFE(chk, &ctl->reasm, sctp_next, nchk) { + TAILQ_FOREACH_SAFE(chk, &control->reasm, sctp_next, nchk) { cnt++; SCTP_CALC_TSN_TO_GAP(gap, chk->rec.data.tsn, asoc->mapping_array_base_tsn); - asoc->size_on_reasm_queue = sctp_sbspace_sub(asoc->size_on_reasm_queue, chk->send_size); + KASSERT(chk->send_size > 0, ("chunk has zero length")); + if (asoc->size_on_reasm_queue >= chk->send_size) { + asoc->size_on_reasm_queue -= chk->send_size; + } else { +#ifdef INVARIANTS + panic("size_on_reasm_queue = %u smaller than chunk length %u", asoc->size_on_reasm_queue, chk->send_size); +#else + asoc->size_on_reasm_queue = 0; +#endif + } sctp_ucount_decr(asoc->cnt_on_reasm_queue); SCTP_UNSET_TSN_PRESENT(asoc->mapping_array, gap); - TAILQ_REMOVE(&ctl->reasm, chk, sctp_next); + TAILQ_REMOVE(&control->reasm, chk, sctp_next); if (chk->data) { sctp_m_freem(chk->data); chk->data = NULL; } sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED); } - sctp_free_a_readq(stcb, ctl); + sctp_free_a_readq(stcb, control); } } - TAILQ_FOREACH_SAFE(ctl, &asoc->strmin[strmat].uno_inqueue, next_instrm, nctl) { + TAILQ_FOREACH_SAFE(control, &asoc->strmin[strmat].uno_inqueue, next_instrm, ncontrol) { #ifdef INVARIANTS - if (ctl->on_strm_q != SCTP_ON_UNORDERED) { + if (control->on_strm_q != SCTP_ON_UNORDERED) { panic("Huh control: %p on_q: %d -- not unordered?", - ctl, ctl->on_strm_q); + control, control->on_strm_q); } #endif - if (SCTP_TSN_GT(ctl->sinfo_tsn, cumulative_tsn_p1)) { + if (SCTP_TSN_GT(control->sinfo_tsn, cumulative_tsn_p1)) { /* Yep it is above cum-ack */ cnt++; - SCTP_CALC_TSN_TO_GAP(gap, ctl->sinfo_tsn, asoc->mapping_array_base_tsn); - asoc->size_on_all_streams = sctp_sbspace_sub(asoc->size_on_all_streams, ctl->length); + SCTP_CALC_TSN_TO_GAP(gap, control->sinfo_tsn, asoc->mapping_array_base_tsn); + KASSERT(control->length > 0, ("control has zero length")); + if (asoc->size_on_all_streams >= control->length) { + asoc->size_on_all_streams -= control->length; + } else { +#ifdef INVARIANTS + panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length); +#else + asoc->size_on_all_streams = 0; +#endif + } sctp_ucount_decr(asoc->cnt_on_all_streams); SCTP_UNSET_TSN_PRESENT(asoc->mapping_array, gap); - if (ctl->on_read_q) { - TAILQ_REMOVE(&stcb->sctp_ep->read_queue, ctl, next); - ctl->on_read_q = 0; + if (control->on_read_q) { + TAILQ_REMOVE(&stcb->sctp_ep->read_queue, control, next); + control->on_read_q = 0; } - TAILQ_REMOVE(&asoc->strmin[strmat].uno_inqueue, ctl, next_instrm); - ctl->on_strm_q = 0; - if (ctl->data) { - sctp_m_freem(ctl->data); - ctl->data = NULL; + TAILQ_REMOVE(&asoc->strmin[strmat].uno_inqueue, control, next_instrm); + control->on_strm_q = 0; + if (control->data) { + sctp_m_freem(control->data); + control->data = NULL; } - sctp_free_remote_addr(ctl->whoFrom); + sctp_free_remote_addr(control->whoFrom); /* Now its reasm? */ - TAILQ_FOREACH_SAFE(chk, &ctl->reasm, sctp_next, nchk) { + TAILQ_FOREACH_SAFE(chk, &control->reasm, sctp_next, nchk) { cnt++; SCTP_CALC_TSN_TO_GAP(gap, chk->rec.data.tsn, asoc->mapping_array_base_tsn); - asoc->size_on_reasm_queue = sctp_sbspace_sub(asoc->size_on_reasm_queue, chk->send_size); + KASSERT(chk->send_size > 0, ("chunk has zero length")); + if (asoc->size_on_reasm_queue >= chk->send_size) { + asoc->size_on_reasm_queue -= chk->send_size; + } else { +#ifdef INVARIANTS + panic("size_on_reasm_queue = %u smaller than chunk length %u", asoc->size_on_reasm_queue, chk->send_size); +#else + asoc->size_on_reasm_queue = 0; +#endif + } sctp_ucount_decr(asoc->cnt_on_reasm_queue); SCTP_UNSET_TSN_PRESENT(asoc->mapping_array, gap); - TAILQ_REMOVE(&ctl->reasm, chk, sctp_next); + TAILQ_REMOVE(&control->reasm, chk, sctp_next); if (chk->data) { sctp_m_freem(chk->data); chk->data = NULL; } sctp_free_a_chunk(stcb, chk, SCTP_SO_NOT_LOCKED); } - sctp_free_a_readq(stcb, ctl); + sctp_free_a_readq(stcb, control); } } } Modified: head/sys/netinet/sctputil.c ============================================================================== --- head/sys/netinet/sctputil.c Wed Jul 19 09:59:32 2017 (r321196) +++ head/sys/netinet/sctputil.c Wed Jul 19 12:27:40 2017 (r321197) @@ -2754,9 +2754,9 @@ sctp_notify_assoc_change(uint16_t state, struct sctp_t m_notify); if (control != NULL) { control->length = SCTP_BUF_LEN(m_notify); + control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - control->spec_flags = M_NOTIFICATION; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_NOT_HELD, @@ -3039,7 +3039,10 @@ sctp_notify_send_failed(struct sctp_tcb *stcb, uint8_t sctp_m_freem(m_notify); return; } + control->length = SCTP_BUF_LEN(m_notify); control->spec_flags = M_NOTIFICATION; + /* not that we need this */ + control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, @@ -3139,7 +3142,10 @@ sctp_notify_send_failed2(struct sctp_tcb *stcb, uint32 sctp_m_freem(m_notify); return; } + control->length = SCTP_BUF_LEN(m_notify); control->spec_flags = M_NOTIFICATION; + /* not that we need this */ + control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, SCTP_READ_LOCK_NOT_HELD, so_locked); @@ -3240,12 +3246,10 @@ sctp_notify_partial_delivery_indication(struct sctp_tc sctp_m_freem(m_notify); return; } - control->spec_flags = M_NOTIFICATION; control->length = SCTP_BUF_LEN(m_notify); + control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - control->held_length = 0; - control->length = 0; sb = &stcb->sctp_socket->so_rcv; if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) { sctp_sblog(sb, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBALLOC, SCTP_BUF_LEN(m_notify)); @@ -3254,7 +3258,6 @@ sctp_notify_partial_delivery_indication(struct sctp_tc if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_SB_LOGGING_ENABLE) { sctp_sblog(sb, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBRESULT, 0); } - atomic_add_int(&control->length, SCTP_BUF_LEN(m_notify)); control->end_added = 1; if (stcb->asoc.control_pdapi) TAILQ_INSERT_AFTER(&stcb->sctp_ep->read_queue, stcb->asoc.control_pdapi, control, next); @@ -3349,8 +3352,8 @@ sctp_notify_shutdown_event(struct sctp_tcb *stcb) sctp_m_freem(m_notify); return; } - control->spec_flags = M_NOTIFICATION; control->length = SCTP_BUF_LEN(m_notify); + control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, @@ -3456,8 +3459,8 @@ sctp_notify_stream_reset_add(struct sctp_tcb *stcb, ui sctp_m_freem(m_notify); return; } - control->spec_flags = M_NOTIFICATION; control->length = SCTP_BUF_LEN(m_notify); + control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, @@ -3506,8 +3509,8 @@ sctp_notify_stream_reset_tsn(struct sctp_tcb *stcb, ui sctp_m_freem(m_notify); return; } - control->spec_flags = M_NOTIFICATION; control->length = SCTP_BUF_LEN(m_notify); + control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, @@ -3571,8 +3574,8 @@ sctp_notify_stream_reset(struct sctp_tcb *stcb, sctp_m_freem(m_notify); return; } - control->spec_flags = M_NOTIFICATION; control->length = SCTP_BUF_LEN(m_notify); + control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; sctp_add_to_readq(stcb->sctp_ep, stcb, @@ -3627,9 +3630,9 @@ sctp_notify_remote_error(struct sctp_tcb *stcb, uint16 m_notify); if (control != NULL) { control->length = SCTP_BUF_LEN(m_notify); + control->spec_flags = M_NOTIFICATION; /* not that we need this */ control->tail_mbuf = m_notify; - control->spec_flags = M_NOTIFICATION; sctp_add_to_readq(stcb->sctp_ep, stcb, control, &stcb->sctp_socket->so_rcv, 1, From owner-svn-src-head@freebsd.org Wed Jul 19 14:07:39 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9F896C7E391; Wed, 19 Jul 2017 14:07: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 mx1.freebsd.org (Postfix) with ESMTPS id 6BF83809FB; Wed, 19 Jul 2017 14:07: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 v6JE7cvm061103; Wed, 19 Jul 2017 14:07:38 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JE7cu3061102; Wed, 19 Jul 2017 14:07:38 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707191407.v6JE7cu3061102@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 19 Jul 2017 14:07:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321201 - head/lib/libutil/tests X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/lib/libutil/tests X-SVN-Commit-Revision: 321201 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.23 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, 19 Jul 2017 14:07:39 -0000 Author: emaste Date: Wed Jul 19 14:07:38 2017 New Revision: 321201 URL: https://svnweb.freebsd.org/changeset/base/321201 Log: enable pidfile tests on arm64 Pidfile tests were disabled on arm64 (in r286863) because they hung. They have been fixed (r306098) and so can be enabled now. PR: 202304 Sponsored by: The FreeBSD Foundation Modified: head/lib/libutil/tests/Makefile Modified: head/lib/libutil/tests/Makefile ============================================================================== --- head/lib/libutil/tests/Makefile Wed Jul 19 13:32:08 2017 (r321200) +++ head/lib/libutil/tests/Makefile Wed Jul 19 14:07:38 2017 (r321201) @@ -3,9 +3,7 @@ TAP_TESTS_C+= flopen_test TAP_TESTS_C+= grp_test TAP_TESTS_C+= humanize_number_test -.if ${MACHINE_CPUARCH} != "aarch64" # PR202304: pidfile_test hangs on arm64 TAP_TESTS_C+= pidfile_test -.endif TAP_TESTS_C+= trimdomain_test TAP_TESTS_C+= trimdomain-nodomain_test From owner-svn-src-head@freebsd.org Wed Jul 19 14:21:31 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3025EC7E902; Wed, 19 Jul 2017 14:21:31 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F3BFA81480; Wed, 19 Jul 2017 14:21:30 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6JELUDi066368; Wed, 19 Jul 2017 14:21:30 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JELUdM066366; Wed, 19 Jul 2017 14:21:30 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201707191421.v6JELUdM066366@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 19 Jul 2017 14:21:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321203 - head/sys/dev/bxe X-SVN-Group: head X-SVN-Commit-Author: ae X-SVN-Commit-Paths: head/sys/dev/bxe X-SVN-Commit-Revision: 321203 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.23 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, 19 Jul 2017 14:21:31 -0000 Author: ae Date: Wed Jul 19 14:21:29 2017 New Revision: 321203 URL: https://svnweb.freebsd.org/changeset/base/321203 Log: Add HPE FlexFabric 10Gb 4-port 536FLR-T device id to the bxe(4) driver. Tested by: David Miguel Almas MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D11478 Modified: head/sys/dev/bxe/bxe.c head/sys/dev/bxe/bxe.h Modified: head/sys/dev/bxe/bxe.c ============================================================================== --- head/sys/dev/bxe/bxe.c Wed Jul 19 14:15:49 2017 (r321202) +++ head/sys/dev/bxe/bxe.c Wed Jul 19 14:21:29 2017 (r321203) @@ -167,6 +167,12 @@ static struct bxe_device_type bxe_devs[] = { "QLogic NetXtreme II BCM57840 4x10GbE" }, { + QLOGIC_VENDORID, + CHIP_NUM_57840_4_10, + PCI_ANY_ID, PCI_ANY_ID, + "QLogic NetXtreme II BCM57840 4x10GbE" + }, + { BRCM_VENDORID, CHIP_NUM_57840_2_20, PCI_ANY_ID, PCI_ANY_ID, Modified: head/sys/dev/bxe/bxe.h ============================================================================== --- head/sys/dev/bxe/bxe.h Wed Jul 19 14:15:49 2017 (r321202) +++ head/sys/dev/bxe/bxe.h Wed Jul 19 14:21:29 2017 (r321203) @@ -168,6 +168,7 @@ int bxe_ilog2(int x) #include "ecore_sp.h" #define BRCM_VENDORID 0x14e4 +#define QLOGIC_VENDORID 0x1077 #define PCI_ANY_ID (uint16_t)(~0U) struct bxe_device_type From owner-svn-src-head@freebsd.org Wed Jul 19 14:29:00 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5EBC2C7EAA6; Wed, 19 Jul 2017 14:29:00 +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 mx1.freebsd.org (Postfix) with ESMTPS id 079CD817FC; Wed, 19 Jul 2017 14:28:59 +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 v6JESxBq069665; Wed, 19 Jul 2017 14:28:59 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JESw8k069658; Wed, 19 Jul 2017 14:28:58 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201707191428.v6JESw8k069658@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Wed, 19 Jul 2017 14:28:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321204 - in head/sys: netinet netinet6 X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: in head/sys: netinet netinet6 X-SVN-Commit-Revision: 321204 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.23 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, 19 Jul 2017 14:29:00 -0000 Author: tuexen Date: Wed Jul 19 14:28:58 2017 New Revision: 321204 URL: https://svnweb.freebsd.org/changeset/base/321204 Log: Use memset/memcpy instead of bzero/bcopy. Just use one variant instead of both. Use the memset/memcpy ones since they cause less problems in crossplatform deployment. MFC after: 1 week Modified: head/sys/netinet/sctp_asconf.c head/sys/netinet/sctp_auth.c head/sys/netinet/sctp_output.c head/sys/netinet/sctp_pcb.c head/sys/netinet/sctp_usrreq.c head/sys/netinet/sctputil.c head/sys/netinet6/sctp6_usrreq.c Modified: head/sys/netinet/sctp_asconf.c ============================================================================== --- head/sys/netinet/sctp_asconf.c Wed Jul 19 14:21:29 2017 (r321203) +++ head/sys/netinet/sctp_asconf.c Wed Jul 19 14:28:58 2017 (r321204) @@ -182,7 +182,7 @@ sctp_process_asconf_add_ip(struct sockaddr *src, struc } v4addr = (struct sctp_ipv4addr_param *)ph; sin = &store.sin; - bzero(sin, sizeof(*sin)); + memset(sin, 0, sizeof(*sin)); sin->sin_family = AF_INET; sin->sin_len = sizeof(struct sockaddr_in); sin->sin_port = stcb->rport; @@ -205,7 +205,7 @@ sctp_process_asconf_add_ip(struct sockaddr *src, struc } v6addr = (struct sctp_ipv6addr_param *)ph; sin6 = &store.sin6; - bzero(sin6, sizeof(*sin6)); + memset(sin6, 0, sizeof(*sin6)); sin6->sin6_family = AF_INET6; sin6->sin6_len = sizeof(struct sockaddr_in6); sin6->sin6_port = stcb->rport; @@ -332,7 +332,7 @@ sctp_process_asconf_delete_ip(struct sockaddr *src, } v4addr = (struct sctp_ipv4addr_param *)ph; sin = &store.sin; - bzero(sin, sizeof(*sin)); + memset(sin, 0, sizeof(*sin)); sin->sin_family = AF_INET; sin->sin_len = sizeof(struct sockaddr_in); sin->sin_port = stcb->rport; @@ -352,7 +352,7 @@ sctp_process_asconf_delete_ip(struct sockaddr *src, } v6addr = (struct sctp_ipv6addr_param *)ph; sin6 = &store.sin6; - bzero(sin6, sizeof(*sin6)); + memset(sin6, 0, sizeof(*sin6)); sin6->sin6_family = AF_INET6; sin6->sin6_len = sizeof(struct sockaddr_in6); sin6->sin6_port = stcb->rport; @@ -461,7 +461,7 @@ sctp_process_asconf_set_primary(struct sockaddr *src, } v4addr = (struct sctp_ipv4addr_param *)ph; sin = &store.sin; - bzero(sin, sizeof(*sin)); + memset(sin, 0, sizeof(*sin)); sin->sin_family = AF_INET; sin->sin_len = sizeof(struct sockaddr_in); sin->sin_addr.s_addr = v4addr->addr; @@ -479,7 +479,7 @@ sctp_process_asconf_set_primary(struct sockaddr *src, } v6addr = (struct sctp_ipv6addr_param *)ph; sin6 = &store.sin6; - bzero(sin6, sizeof(*sin6)); + memset(sin6, 0, sizeof(*sin6)); sin6->sin6_family = AF_INET6; sin6->sin6_len = sizeof(struct sockaddr_in6); memcpy((caddr_t)&sin6->sin6_addr, v6addr->addr, @@ -2604,7 +2604,7 @@ sctp_compose_asconf(struct sctp_tcb *stcb, int *retlen SCTP_BUF_LEN(m_asconf_chk) = sizeof(struct sctp_asconf_chunk); SCTP_BUF_LEN(m_asconf) = 0; acp = mtod(m_asconf_chk, struct sctp_asconf_chunk *); - bzero(acp, sizeof(struct sctp_asconf_chunk)); + memset(acp, 0, sizeof(struct sctp_asconf_chunk)); /* save pointers to lookup address and asconf params */ lookup_ptr = (caddr_t)(acp + 1); /* after the header */ ptr = mtod(m_asconf, caddr_t); /* beginning of cluster */ @@ -2737,7 +2737,7 @@ sctp_compose_asconf(struct sctp_tcb *stcb, int *retlen /* XXX for now, we send a IPv4 address of 0.0.0.0 */ lookup->ph.param_type = htons(SCTP_IPV4_ADDRESS); lookup->ph.param_length = htons(SCTP_SIZE32(sizeof(struct sctp_ipv4addr_param))); - bzero(lookup->addr, sizeof(struct in_addr)); + memset(lookup->addr, 0, sizeof(struct in_addr)); SCTP_BUF_LEN(m_asconf_chk) += SCTP_SIZE32(sizeof(struct sctp_ipv4addr_param)); } } Modified: head/sys/netinet/sctp_auth.c ============================================================================== --- head/sys/netinet/sctp_auth.c Wed Jul 19 14:21:29 2017 (r321203) +++ head/sys/netinet/sctp_auth.c Wed Jul 19 14:28:58 2017 (r321204) @@ -53,7 +53,7 @@ __FBSDID("$FreeBSD$"); void sctp_clear_chunklist(sctp_auth_chklist_t *chklist) { - bzero(chklist, sizeof(*chklist)); + memset(chklist, 0, sizeof(*chklist)); /* chklist->num_chunks = 0; */ } @@ -92,7 +92,7 @@ sctp_copy_chunklist(sctp_auth_chklist_t *list) if (new_list == NULL) return (NULL); /* copy it */ - bcopy(list, new_list, sizeof(*new_list)); + memcpy(new_list, list, sizeof(*new_list)); return (new_list); } @@ -338,7 +338,7 @@ sctp_set_key(uint8_t *key, uint32_t keylen) /* out of memory */ return (NULL); } - bcopy(key, new_key->key, keylen); + memcpy(new_key->key, key, keylen); return (new_key); } @@ -427,28 +427,28 @@ sctp_compute_hashkey(sctp_key_t *key1, sctp_key_t *key if (sctp_compare_key(key1, key2) <= 0) { /* key is shared + key1 + key2 */ if (sctp_get_keylen(shared)) { - bcopy(shared->key, key_ptr, shared->keylen); + memcpy(key_ptr, shared->key, shared->keylen); key_ptr += shared->keylen; } if (sctp_get_keylen(key1)) { - bcopy(key1->key, key_ptr, key1->keylen); + memcpy(key_ptr, key1->key, key1->keylen); key_ptr += key1->keylen; } if (sctp_get_keylen(key2)) { - bcopy(key2->key, key_ptr, key2->keylen); + memcpy(key_ptr, key2->key, key2->keylen); } } else { /* key is shared + key2 + key1 */ if (sctp_get_keylen(shared)) { - bcopy(shared->key, key_ptr, shared->keylen); + memcpy(key_ptr, shared->key, shared->keylen); key_ptr += shared->keylen; } if (sctp_get_keylen(key2)) { - bcopy(key2->key, key_ptr, key2->keylen); + memcpy(key_ptr, key2->key, key2->keylen); key_ptr += key2->keylen; } if (sctp_get_keylen(key1)) { - bcopy(key1->key, key_ptr, key1->keylen); + memcpy(key_ptr, key1->key, key1->keylen); } } return (new_key); @@ -764,7 +764,7 @@ sctp_serialize_hmaclist(sctp_hmaclist_t *list, uint8_t for (i = 0; i < list->num_algo; i++) { hmac_id = htons(list->hmac[i]); - bcopy(&hmac_id, ptr, sizeof(hmac_id)); + memcpy(ptr, &hmac_id, sizeof(hmac_id)); ptr += sizeof(hmac_id); } return (list->num_algo * sizeof(hmac_id)); @@ -795,7 +795,7 @@ sctp_alloc_authinfo(void) /* out of memory */ return (NULL); } - bzero(new_authinfo, sizeof(*new_authinfo)); + memset(new_authinfo, 0, sizeof(*new_authinfo)); return (new_authinfo); } @@ -953,10 +953,10 @@ sctp_hmac(uint16_t hmac_algo, uint8_t *key, uint32_t k key = temp; } /* initialize the inner/outer pads with the key and "append" zeroes */ - bzero(ipad, blocklen); - bzero(opad, blocklen); - bcopy(key, ipad, keylen); - bcopy(key, opad, keylen); + memset(ipad, 0, blocklen); + memset(opad, 0, blocklen); + memcpy(ipad, key, keylen); + memcpy(opad, key, keylen); /* XOR the key with ipad and opad values */ for (i = 0; i < blocklen; i++) { @@ -1013,10 +1013,10 @@ sctp_hmac_m(uint16_t hmac_algo, uint8_t *key, uint32_t key = temp; } /* initialize the inner/outer pads with the key and "append" zeroes */ - bzero(ipad, blocklen); - bzero(opad, blocklen); - bcopy(key, ipad, keylen); - bcopy(key, opad, keylen); + memset(ipad, 0, blocklen); + memset(opad, 0, blocklen); + memcpy(ipad, key, keylen); + memcpy(opad, key, keylen); /* XOR the key with ipad and opad values */ for (i = 0; i < blocklen; i++) { @@ -1124,7 +1124,7 @@ sctp_compute_hmac(uint16_t hmac_algo, sctp_key_t *key, sctp_hmac_final(hmac_algo, &ctx, temp); /* save the hashed key as the new key */ key->keylen = digestlen; - bcopy(temp, key->key, key->keylen); + memcpy(key->key, temp, key->keylen); } return (sctp_hmac(hmac_algo, key->key, key->keylen, text, textlen, digest)); @@ -1158,7 +1158,7 @@ sctp_compute_hmac_m(uint16_t hmac_algo, sctp_key_t *ke sctp_hmac_final(hmac_algo, &ctx, temp); /* save the hashed key as the new key */ key->keylen = digestlen; - bcopy(temp, key->key, key->keylen); + memcpy(key->key, temp, key->keylen); } return (sctp_hmac_m(hmac_algo, key->key, key->keylen, m, m_offset, digest, 0)); } @@ -1501,17 +1501,17 @@ sctp_auth_get_cookie_params(struct sctp_tcb *stcb, str /* copy in the RANDOM */ if (p_random != NULL) { keylen = sizeof(*p_random) + random_len; - bcopy(p_random, new_key->key, keylen); + memcpy(new_key->key, p_random, keylen); } /* append in the AUTH chunks */ if (chunks != NULL) { - bcopy(chunks, new_key->key + keylen, + memcpy(new_key->key + keylen, chunks, sizeof(*chunks) + num_chunks); keylen += sizeof(*chunks) + num_chunks; } /* append in the HMACs */ if (hmacs != NULL) { - bcopy(hmacs, new_key->key + keylen, + memcpy(new_key->key + keylen, hmacs, sizeof(*hmacs) + hmacs_len); } } @@ -1550,7 +1550,7 @@ sctp_fill_hmac_digest_m(struct mbuf *m, uint32_t auth_ /* zero the digest + chunk padding */ digestlen = sctp_get_hmac_digest_len(stcb->asoc.peer_hmac_id); - bzero(auth->hmac, SCTP_SIZE32(digestlen)); + memset(auth->hmac, 0, SCTP_SIZE32(digestlen)); /* is the desired key cached? */ if ((keyid != stcb->asoc.authinfo.assoc_keyid) || @@ -1588,7 +1588,7 @@ sctp_fill_hmac_digest_m(struct mbuf *m, uint32_t auth_ static void -sctp_bzero_m(struct mbuf *m, uint32_t m_offset, uint32_t size) +sctp_zero_m(struct mbuf *m, uint32_t m_offset, uint32_t size) { struct mbuf *m_tmp; uint8_t *data; @@ -1607,10 +1607,10 @@ sctp_bzero_m(struct mbuf *m, uint32_t m_offset, uint32 while ((m_tmp != NULL) && (size > 0)) { data = mtod(m_tmp, uint8_t *)+m_offset; if (size > (uint32_t)SCTP_BUF_LEN(m_tmp)) { - bzero(data, SCTP_BUF_LEN(m_tmp)); + memset(data, 0, SCTP_BUF_LEN(m_tmp)); size -= SCTP_BUF_LEN(m_tmp); } else { - bzero(data, size); + memset(data, 0, size); size = 0; } /* clear the offset since it's only for the first mbuf */ @@ -1727,8 +1727,8 @@ sctp_handle_auth(struct sctp_tcb *stcb, struct sctp_au return (-1); } /* save a copy of the digest, zero the pseudo header, and validate */ - bcopy(auth->hmac, digest, digestlen); - sctp_bzero_m(m, offset + sizeof(*auth), SCTP_SIZE32(digestlen)); + memcpy(digest, auth->hmac, digestlen); + sctp_zero_m(m, offset + sizeof(*auth), SCTP_SIZE32(digestlen)); (void)sctp_compute_hmac_m(hmac_id, stcb->asoc.authinfo.recv_key, m, offset, computed_digest); Modified: head/sys/netinet/sctp_output.c ============================================================================== --- head/sys/netinet/sctp_output.c Wed Jul 19 14:21:29 2017 (r321203) +++ head/sys/netinet/sctp_output.c Wed Jul 19 14:28:58 2017 (r321204) @@ -4404,7 +4404,7 @@ sctp_lowlevel_chunk_output(struct sctp_inpcb *inp, * we can try their selection but it may not be * bound. */ - bzero(&lsa6_tmp, sizeof(lsa6_tmp)); + memset(&lsa6_tmp, 0, sizeof(lsa6_tmp)); lsa6_tmp.sin6_family = AF_INET6; lsa6_tmp.sin6_len = sizeof(lsa6_tmp); lsa6 = &lsa6_tmp; @@ -4489,7 +4489,7 @@ sctp_lowlevel_chunk_output(struct sctp_inpcb *inp, * XXX: sa6 may not have a valid sin6_scope_id in * the non-SCOPEDROUTING case. */ - bzero(&lsa6_storage, sizeof(lsa6_storage)); + memset(&lsa6_storage, 0, sizeof(lsa6_storage)); lsa6_storage.sin6_family = AF_INET6; lsa6_storage.sin6_len = sizeof(lsa6_storage); lsa6_storage.sin6_addr = lsa6->sin6_addr; @@ -13730,7 +13730,7 @@ sctp_add_auth_chunk(struct mbuf *m, struct mbuf **m_en SCTP_BUF_RESV_UF(m_auth, SCTP_MIN_OVERHEAD); /* fill in the AUTH chunk details */ auth = mtod(m_auth, struct sctp_auth_chunk *); - bzero(auth, sizeof(*auth)); + memset(auth, 0, sizeof(*auth)); auth->ch.chunk_type = SCTP_AUTHENTICATION; auth->ch.chunk_flags = 0; chunk_len = sizeof(*auth) + Modified: head/sys/netinet/sctp_pcb.c ============================================================================== --- head/sys/netinet/sctp_pcb.c Wed Jul 19 14:21:29 2017 (r321203) +++ head/sys/netinet/sctp_pcb.c Wed Jul 19 14:28:58 2017 (r321204) @@ -702,7 +702,7 @@ sctp_add_addr_to_vrf(uint32_t vrf_id, void *ifn, uint3 return (NULL); } SCTP_INCR_LADDR_COUNT(); - bzero(wi, sizeof(*wi)); + memset(wi, 0, sizeof(*wi)); (void)SCTP_GETTIME_TIMEVAL(&wi->start_time); wi->ifa = sctp_ifap; wi->action = SCTP_ADD_IP_ADDRESS; @@ -811,7 +811,7 @@ out_now: return; } SCTP_INCR_LADDR_COUNT(); - bzero(wi, sizeof(*wi)); + memset(wi, 0, sizeof(*wi)); (void)SCTP_GETTIME_TIMEVAL(&wi->start_time); wi->ifa = sctp_ifap; wi->action = SCTP_DEL_IP_ADDRESS; @@ -2429,7 +2429,7 @@ sctp_inpcb_alloc(struct socket *so, uint32_t vrf_id) return (ENOBUFS); } /* zap it */ - bzero(inp, sizeof(*inp)); + memset(inp, 0, sizeof(*inp)); /* bump generations */ /* setup socket pointers */ @@ -2715,7 +2715,7 @@ sctp_move_pcb_and_assoc(struct sctp_inpcb *old_inp, st continue; } SCTP_INCR_LADDR_COUNT(); - bzero(laddr, sizeof(*laddr)); + memset(laddr, 0, sizeof(*laddr)); (void)SCTP_GETTIME_TIMEVAL(&laddr->start_time); laddr->ifa = oladdr->ifa; atomic_add_int(&laddr->ifa->refcount, 1); @@ -2765,7 +2765,7 @@ sctp_insert_laddr(struct sctpladdr *list, struct sctp_ return (EINVAL); } SCTP_INCR_LADDR_COUNT(); - bzero(laddr, sizeof(*laddr)); + memset(laddr, 0, sizeof(*laddr)); (void)SCTP_GETTIME_TIMEVAL(&laddr->start_time); laddr->ifa = ifa; laddr->action = act; @@ -3766,7 +3766,7 @@ sctp_add_remote_addr(struct sctp_tcb *stcb, struct soc /* Invalid address */ return (-1); } - /* zero out the bzero area */ + /* zero out the zero area */ memset(&sin->sin_zero, 0, sizeof(sin->sin_zero)); /* assure len is set */ @@ -3849,7 +3849,7 @@ sctp_add_remote_addr(struct sctp_tcb *stcb, struct soc return (-1); } SCTP_INCR_RADDR_COUNT(); - bzero(net, sizeof(struct sctp_nets)); + memset(net, 0, sizeof(struct sctp_nets)); (void)SCTP_GETTIME_TIMEVAL(&net->start_time); memcpy(&net->ro._l_addr, newaddr, newaddr->sa_len); switch (newaddr->sa_family) { @@ -4285,7 +4285,7 @@ sctp_aloc_assoc(struct sctp_inpcb *inp, struct sockadd } SCTP_INCR_ASOC_COUNT(); - bzero(stcb, sizeof(*stcb)); + memset(stcb, 0, sizeof(*stcb)); asoc = &stcb->asoc; asoc->assoc_id = sctp_aloc_a_assoc_id(inp, stcb); @@ -5731,7 +5731,7 @@ sctp_pcb_init() SCTP_BASE_VAR(sctp_pcb_initialized) = 1; #if defined(SCTP_LOCAL_TRACE_BUF) - bzero(&SCTP_BASE_SYSCTL(sctp_log), sizeof(struct sctp_log)); + memset(&SCTP_BASE_SYSCTL(sctp_log), 0, sizeof(struct sctp_log)); #endif #if defined(__FreeBSD__) && defined(SMP) && defined(SCTP_USE_PERCPU_STAT) SCTP_MALLOC(SCTP_BASE_STATS, struct sctpstat *, @@ -5740,11 +5740,11 @@ sctp_pcb_init() #endif (void)SCTP_GETTIME_TIMEVAL(&tv); #if defined(__FreeBSD__) && defined(SMP) && defined(SCTP_USE_PERCPU_STAT) - bzero(SCTP_BASE_STATS, (sizeof(struct sctpstat) * (mp_maxid + 1))); + memset(SCTP_BASE_STATS, 0, sizeof(struct sctpstat) * (mp_maxid + 1)); SCTP_BASE_STATS[PCPU_GET(cpuid)].sctps_discontinuitytime.tv_sec = (uint32_t)tv.tv_sec; SCTP_BASE_STATS[PCPU_GET(cpuid)].sctps_discontinuitytime.tv_usec = (uint32_t)tv.tv_usec; #else - bzero(&SCTP_BASE_STATS, sizeof(struct sctpstat)); + memset(&SCTP_BASE_STATS, 0, sizeof(struct sctpstat)); SCTP_BASE_STAT(sctps_discontinuitytime).tv_sec = (uint32_t)tv.tv_sec; SCTP_BASE_STAT(sctps_discontinuitytime).tv_usec = (uint32_t)tv.tv_usec; #endif @@ -6656,17 +6656,17 @@ next_param: /* copy in the RANDOM */ if (p_random != NULL) { keylen = sizeof(*p_random) + random_len; - bcopy(p_random, new_key->key, keylen); + memcpy(new_key->key, p_random, keylen); } /* append in the AUTH chunks */ if (chunks != NULL) { - bcopy(chunks, new_key->key + keylen, + memcpy(new_key->key + keylen, chunks, sizeof(*chunks) + num_chunks); keylen += sizeof(*chunks) + num_chunks; } /* append in the HMACs */ if (hmacs != NULL) { - bcopy(hmacs, new_key->key + keylen, + memcpy(new_key->key + keylen, hmacs, sizeof(*hmacs) + hmacs_len); } } else { Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Wed Jul 19 14:21:29 2017 (r321203) +++ head/sys/netinet/sctp_usrreq.c Wed Jul 19 14:28:58 2017 (r321204) @@ -85,7 +85,7 @@ sctp_init(void) #if defined(SCTP_PACKET_LOGGING) SCTP_BASE_VAR(packet_log_writers) = 0; SCTP_BASE_VAR(packet_log_end) = 0; - bzero(&SCTP_BASE_VAR(packet_log_buffer), SCTP_PACKET_LOG_SIZE); + memset(&SCTP_BASE_VAR(packet_log_buffer), 0, SCTP_PACKET_LOG_SIZE); #endif } Modified: head/sys/netinet/sctputil.c ============================================================================== --- head/sys/netinet/sctputil.c Wed Jul 19 14:21:29 2017 (r321203) +++ head/sys/netinet/sctputil.c Wed Jul 19 14:28:58 2017 (r321204) @@ -2593,7 +2593,7 @@ sctp_m_getptr(struct mbuf *m, int off, int len, uint8_ /* else, it spans more than one mbuf, so save a temp copy... */ while ((m != NULL) && (len > 0)) { count = min(SCTP_BUF_LEN(m) - off, len); - bcopy(mtod(m, caddr_t)+off, ptr, count); + memcpy(ptr, mtod(m, caddr_t)+off, count); len -= count; ptr += count; off = 0; @@ -6167,7 +6167,7 @@ sctp_dynamic_set_primary(struct sockaddr *sa, uint32_t } /* Now incr the count and int wi structure */ SCTP_INCR_LADDR_COUNT(); - bzero(wi, sizeof(*wi)); + memset(wi, 0, sizeof(*wi)); (void)SCTP_GETTIME_TIMEVAL(&wi->start_time); wi->ifa = ifa; wi->action = SCTP_SET_PRIM_ADDR; Modified: head/sys/netinet6/sctp6_usrreq.c ============================================================================== --- head/sys/netinet6/sctp6_usrreq.c Wed Jul 19 14:21:29 2017 (r321203) +++ head/sys/netinet6/sctp6_usrreq.c Wed Jul 19 14:28:58 2017 (r321204) @@ -305,7 +305,7 @@ sctp6_ctlinput(int cmd, struct sockaddr *pktdst, void return; } /* Copy out the port numbers and the verification tag. */ - bzero(&sh, sizeof(sh)); + memset(&sh, 0, sizeof(sh)); m_copydata(ip6cp->ip6c_m, ip6cp->ip6c_off, sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t), From owner-svn-src-head@freebsd.org Wed Jul 19 15:12:24 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D6109C7F5A9; Wed, 19 Jul 2017 15:12:24 +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 mx1.freebsd.org (Postfix) with ESMTPS id A586682E07; Wed, 19 Jul 2017 15:12:24 +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 v6JFCNP5090057; Wed, 19 Jul 2017 15:12:23 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JFCN4W090056; Wed, 19 Jul 2017 15:12:23 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201707191512.v6JFCN4W090056@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Wed, 19 Jul 2017 15:12:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321205 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 321205 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.23 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, 19 Jul 2017 15:12:24 -0000 Author: tuexen Date: Wed Jul 19 15:12:23 2017 New Revision: 321205 URL: https://svnweb.freebsd.org/changeset/base/321205 Log: Avoid shadowed variables. MFC after: 1 week Modified: head/sys/netinet/sctp_indata.c Modified: head/sys/netinet/sctp_indata.c ============================================================================== --- head/sys/netinet/sctp_indata.c Wed Jul 19 14:28:58 2017 (r321204) +++ head/sys/netinet/sctp_indata.c Wed Jul 19 15:12:23 2017 (r321205) @@ -2071,12 +2071,12 @@ sctp_process_a_data_chunk(struct sctp_tcb *stcb, struc return (0); } if ((chk_flags & SCTP_DATA_NOT_FRAG) == SCTP_DATA_NOT_FRAG) { - struct mbuf *m; + struct mbuf *mm; control->data = dmbuf; - m = control->data; - for (m = control->data; m; m = m->m_next) { - control->length += SCTP_BUF_LEN(m); + mm = control->data; + for (mm = control->data; mm; mm = mm->m_next) { + control->length += SCTP_BUF_LEN(mm); } control->tail_mbuf = NULL; control->end_added = 1; From owner-svn-src-head@freebsd.org Wed Jul 19 15:22:12 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1448CC7FB8B; Wed, 19 Jul 2017 15:22:12 +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 mx1.freebsd.org (Postfix) with ESMTPS id D7FAC83AEF; Wed, 19 Jul 2017 15:22:11 +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 v6JFMBQJ093953; Wed, 19 Jul 2017 15:22:11 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JFMB3h093952; Wed, 19 Jul 2017 15:22:11 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201707191522.v6JFMB3h093952@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Wed, 19 Jul 2017 15:22:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321206 - head/tests/sys/aio X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: head/tests/sys/aio X-SVN-Commit-Revision: 321206 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.23 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, 19 Jul 2017 15:22:12 -0000 Author: asomers Date: Wed Jul 19 15:22:10 2017 New Revision: 321206 URL: https://svnweb.freebsd.org/changeset/base/321206 Log: Remove dead code that was killed by r320975 Reported by: Coverity CID: 1377977 MFC after: 15 days X-MFC-With: 320975 Sponsored by: Spectra Logic Corp Modified: head/tests/sys/aio/aio_test.c Modified: head/tests/sys/aio/aio_test.c ============================================================================== --- head/tests/sys/aio/aio_test.c Wed Jul 19 15:12:23 2017 (r321205) +++ head/tests/sys/aio/aio_test.c Wed Jul 19 15:22:10 2017 (r321206) @@ -158,15 +158,10 @@ poll(struct aiocb *aio) while ((error = aio_error(aio)) == EINPROGRESS) usleep(25000); - switch (error) { - case EINPROGRESS: - errno = EINTR; - return (-1); - case 0: - return (aio_return(aio)); - default: - return (error); - } + if (error) + return (error); + else + return (aio_return(aio)); } static void From owner-svn-src-head@freebsd.org Wed Jul 19 15:39:02 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ABDFACFC00A; Wed, 19 Jul 2017 15:39:02 +0000 (UTC) (envelope-from ken@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8634884409; Wed, 19 Jul 2017 15:39:02 +0000 (UTC) (envelope-from ken@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6JFd1EG098777; Wed, 19 Jul 2017 15:39:01 GMT (envelope-from ken@FreeBSD.org) Received: (from ken@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JFd1bn098775; Wed, 19 Jul 2017 15:39:01 GMT (envelope-from ken@FreeBSD.org) Message-Id: <201707191539.v6JFd1bn098775@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ken set sender to ken@FreeBSD.org using -f From: "Kenneth D. Merry" Date: Wed, 19 Jul 2017 15:39:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321207 - in head/sys/dev: mpr mps X-SVN-Group: head X-SVN-Commit-Author: ken X-SVN-Commit-Paths: in head/sys/dev: mpr mps X-SVN-Commit-Revision: 321207 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.23 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, 19 Jul 2017 15:39:02 -0000 Author: ken Date: Wed Jul 19 15:39:01 2017 New Revision: 321207 URL: https://svnweb.freebsd.org/changeset/base/321207 Log: Fix spurious timeouts on commands sent to mps(4) and mpr(4) controllers. mps_wait_command() and mpr_wait_command() were using getmicrotime() to determine elapsed time when checking for a timeout in polled mode. getmicrotime() isn't guaranteed to monotonically increase, and that caused spurious timeouts occasionally. Switch to using getmicrouptime(), which does increase monotonically. This fixes the spurious timeouts in my test case. Reviewed by: slm, scottl MFC after: 3 days Sponsored by: Spectra Logic Modified: head/sys/dev/mpr/mpr.c head/sys/dev/mps/mps.c Modified: head/sys/dev/mpr/mpr.c ============================================================================== --- head/sys/dev/mpr/mpr.c Wed Jul 19 15:22:10 2017 (r321206) +++ head/sys/dev/mpr/mpr.c Wed Jul 19 15:39:01 2017 (r321207) @@ -3286,9 +3286,17 @@ mpr_wait_command(struct mpr_softc *sc, struct mpr_comm if (curthread->td_pflags & TDP_NOSLEEPING) #endif //__FreeBSD_version >= 1000029 sleep_flag = NO_SLEEP; - getmicrotime(&start_time); + getmicrouptime(&start_time); if (mtx_owned(&sc->mpr_mtx) && sleep_flag == CAN_SLEEP) { error = msleep(cm, &sc->mpr_mtx, 0, "mprwait", timeout*hz); + if (error == EWOULDBLOCK) { + /* + * Record the actual elapsed time in the case of a + * timeout for the message below. + */ + getmicrouptime(&cur_time); + timevalsub(&cur_time, &start_time); + } } else { while ((cm->cm_flags & MPR_CM_FLAGS_COMPLETE) == 0) { mpr_intr_locked(sc); @@ -3297,8 +3305,9 @@ mpr_wait_command(struct mpr_softc *sc, struct mpr_comm else DELAY(50000); - getmicrotime(&cur_time); - if ((cur_time.tv_sec - start_time.tv_sec) > timeout) { + getmicrouptime(&cur_time); + timevalsub(&cur_time, &start_time); + if (cur_time.tv_sec > timeout) { error = EWOULDBLOCK; break; } @@ -3306,7 +3315,9 @@ mpr_wait_command(struct mpr_softc *sc, struct mpr_comm } if (error == EWOULDBLOCK) { - mpr_dprint(sc, MPR_FAULT, "Calling Reinit from %s\n", __func__); + mpr_dprint(sc, MPR_FAULT, "Calling Reinit from %s, timeout=%d," + " elapsed=%jd\n", __func__, timeout, + (intmax_t)cur_time.tv_sec); rc = mpr_reinit(sc); mpr_dprint(sc, MPR_FAULT, "Reinit %s\n", (rc == 0) ? "success" : "failed"); Modified: head/sys/dev/mps/mps.c ============================================================================== --- head/sys/dev/mps/mps.c Wed Jul 19 15:22:10 2017 (r321206) +++ head/sys/dev/mps/mps.c Wed Jul 19 15:39:01 2017 (r321207) @@ -2551,10 +2551,18 @@ mps_wait_command(struct mps_softc *sc, struct mps_comm */ if (curthread->td_no_sleeping != 0) sleep_flag = NO_SLEEP; - getmicrotime(&start_time); + getmicrouptime(&start_time); if (mtx_owned(&sc->mps_mtx) && sleep_flag == CAN_SLEEP) { cm->cm_flags |= MPS_CM_FLAGS_WAKEUP; error = msleep(cm, &sc->mps_mtx, 0, "mpswait", timeout*hz); + if (error == EWOULDBLOCK) { + /* + * Record the actual elapsed time in the case of a + * timeout for the message below. + */ + getmicrouptime(&cur_time); + timevalsub(&cur_time, &start_time); + } } else { while ((cm->cm_flags & MPS_CM_FLAGS_COMPLETE) == 0) { mps_intr_locked(sc); @@ -2563,8 +2571,9 @@ mps_wait_command(struct mps_softc *sc, struct mps_comm else DELAY(50000); - getmicrotime(&cur_time); - if ((cur_time.tv_sec - start_time.tv_sec) > timeout) { + getmicrouptime(&cur_time); + timevalsub(&cur_time, &start_time); + if (cur_time.tv_sec > timeout) { error = EWOULDBLOCK; break; } @@ -2572,7 +2581,9 @@ mps_wait_command(struct mps_softc *sc, struct mps_comm } if (error == EWOULDBLOCK) { - mps_dprint(sc, MPS_FAULT, "Calling Reinit from %s\n", __func__); + mps_dprint(sc, MPS_FAULT, "Calling Reinit from %s, timeout=%d," + " elapsed=%jd\n", __func__, timeout, + (intmax_t)cur_time.tv_sec); rc = mps_reinit(sc); mps_dprint(sc, MPS_FAULT, "Reinit %s\n", (rc == 0) ? "success" : "failed"); From owner-svn-src-head@freebsd.org Wed Jul 19 16:08:09 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D568ACFC905; Wed, 19 Jul 2017 16:08:09 +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 mx1.freebsd.org (Postfix) with ESMTPS id 9784E964; Wed, 19 Jul 2017 16:08:09 +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 v6JG883I011287; Wed, 19 Jul 2017 16:08:08 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JG889W011286; Wed, 19 Jul 2017 16:08:08 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707191608.v6JG889W011286@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 19 Jul 2017 16:08:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321210 - head/tests/sys/kern X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/tests/sys/kern X-SVN-Commit-Revision: 321210 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.23 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, 19 Jul 2017 16:08:09 -0000 Author: ngie Date: Wed Jul 19 16:08:08 2017 New Revision: 321210 URL: https://svnweb.freebsd.org/changeset/base/321210 Log: Remove expected failure for :coredump_phnum The testcase no longer fails on ^/head because readelf has established parity with binutils' copy of readelf. This issue is not seen on Jenkins because `test_suites.FreeBSD.allow_sysctl_side_effects` isn't set in kyua.conf on the CI host, i.e., the test is skipped. PR: 215019 Tested with: binutils (amd64-binutils-2.28,1); elftoolchain (r3561M) Modified: head/tests/sys/kern/coredump_phnum_test.sh Modified: head/tests/sys/kern/coredump_phnum_test.sh ============================================================================== --- head/tests/sys/kern/coredump_phnum_test.sh Wed Jul 19 15:59:51 2017 (r321209) +++ head/tests/sys/kern/coredump_phnum_test.sh Wed Jul 19 16:08:08 2017 (r321210) @@ -39,8 +39,6 @@ coredump_phnum_head() } coredump_phnum_body() { - atf_expect_fail "elftoolchain (base) readelf doesn't handle extended program header numbers; bug # 215019" - # Set up core dumping cat > coredump_phnum_restore_state.sh <<-EOF #!/bin/sh From owner-svn-src-head@freebsd.org Wed Jul 19 16:23:03 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 85D75CFCD8A; Wed, 19 Jul 2017 16:23:03 +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 mx1.freebsd.org (Postfix) with ESMTPS id 6060D16F3; Wed, 19 Jul 2017 16:23:03 +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 v6JGN2bN019112; Wed, 19 Jul 2017 16:23:02 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JGN2FJ019111; Wed, 19 Jul 2017 16:23:02 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707191623.v6JGN2FJ019111@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 19 Jul 2017 16:23:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321211 - head/tests/sys/kern X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/tests/sys/kern X-SVN-Commit-Revision: 321211 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.23 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, 19 Jul 2017 16:23:03 -0000 Author: ngie Date: Wed Jul 19 16:23:02 2017 New Revision: 321211 URL: https://svnweb.freebsd.org/changeset/base/321211 Log: Clean up :coredump_phnum - Use "atf_check -x 'cmd1 | cmd2'" instead of "cmd1 | atf_check cmd2". The two forms are idiomatically similar, but subtly different in the sense of what program invokes the other, and there could be unwanted side effects of the latter idiom dealing with forking, pipes, etc. - Remove chmod and instead source coredump_phnum_restore_state.sh directly. This avoids the need to check the result of the chmod call. - Fix indentation in an if-block (4 column space indentation -> hard tab). Modified: head/tests/sys/kern/coredump_phnum_test.sh Modified: head/tests/sys/kern/coredump_phnum_test.sh ============================================================================== --- head/tests/sys/kern/coredump_phnum_test.sh Wed Jul 19 16:08:08 2017 (r321210) +++ head/tests/sys/kern/coredump_phnum_test.sh Wed Jul 19 16:23:02 2017 (r321211) @@ -46,7 +46,6 @@ coredump_phnum_body() sysctl kern.coredump=$(sysctl -n kern.coredump) sysctl kern.corefile='$(sysctl -n kern.corefile)' EOF - chmod +x coredump_phnum_restore_state.sh ulimit -c unlimited sysctl kern.coredump=1 @@ -56,30 +55,27 @@ EOF # Check that core looks good if [ ! -f coredump_phnum_helper.core ]; then - atf_fail "Helper program did not dump core" + atf_fail "Helper program did not dump core" fi # These magic numbers don't have any real significance. They are just # the result of running the helper program and dumping core. The only # important bit is that they're larger than 65535 (UINT16_MAX). - readelf -h coredump_phnum_helper.core | \ - atf_check -o "match:65535 \(66[0-9]{3}\)" \ - grep "Number of program headers:" - readelf -l coredump_phnum_helper.core | \ - atf_check -o "match:There are 66[0-9]{3} program headers" \ - grep -1 "program headers" - readelf -S coredump_phnum_helper.core | \ - atf_check -o "match: 0000000000000001 .* 66[0-9]{3} " \ - grep -A1 "^ \[ 0\] " + atf_check -o "match:65535 \(66[0-9]{3}\)" \ + -x 'readelf -h coredump_phnum_helper.core | grep "Number of program headers:"' + atf_check -o "match:There are 66[0-9]{3} program headers" \ + -x 'readelf -l coredump_phnum_helper.core | grep -1 "program headers"' + atf_check -o "match: 0000000000000001 .* 66[0-9]{3} " \ + -x 'readelf -S coredump_phnum_helper.core | grep -A1 "^ \[ 0\] "' - procstat -v coredump_phnum_helper.core | \ - atf_check -o "match:66[0-9]{3}" wc -l + atf_check -o "match:66[0-9]{3}" \ + -x 'procstat -v coredump_phnum_helper.core | wc -l' } coredump_phnum_cleanup() { rm -f coredump_phnum_helper.core - if [ -x coredump_phnum_restore_state.sh ]; then - ./coredump_phnum_restore_state.sh + if [ -f coredump_phnum_restore_state.sh ]; then + . ./coredump_phnum_restore_state.sh fi rm -f coredump_phnum_restore_state.sh } From owner-svn-src-head@freebsd.org Wed Jul 19 16:45:58 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E0D36CFD2E7; Wed, 19 Jul 2017 16:45:58 +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 mx1.freebsd.org (Postfix) with ESMTPS id AFEB124C3; Wed, 19 Jul 2017 16:45:58 +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 v6JGjvng027662; Wed, 19 Jul 2017 16:45:57 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JGjvEJ027661; Wed, 19 Jul 2017 16:45:57 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707191645.v6JGjvEJ027661@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 19 Jul 2017 16:45:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321214 - head/targets/pseudo/tests X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/targets/pseudo/tests X-SVN-Commit-Revision: 321214 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.23 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, 19 Jul 2017 16:45:59 -0000 Author: ngie Date: Wed Jul 19 16:45:57 2017 New Revision: 321214 URL: https://svnweb.freebsd.org/changeset/base/321214 Log: Update targets/pseudo/tests/Makefile.depend after recent additions/subtractions from the FreeBSD test suite. MFC after: 3 days MFC with: r316603 Modified: head/targets/pseudo/tests/Makefile.depend Modified: head/targets/pseudo/tests/Makefile.depend ============================================================================== --- head/targets/pseudo/tests/Makefile.depend Wed Jul 19 16:39:00 2017 (r321213) +++ head/targets/pseudo/tests/Makefile.depend Wed Jul 19 16:45:57 2017 (r321214) @@ -7,9 +7,12 @@ # find . -name Makefile -exec grep -l '^\.include.*\.test.mk' {} + | grep -v '^\./contrib' | sed -e 's,/Makefile,,' -e 's,^\./,,' -e 's,^, ,' -e 's,$, \\,' | sort DIRDEPS= \ bin/cat/tests \ + bin/chmod/tests \ bin/date/tests \ bin/dd/tests \ + bin/echo/tests \ bin/expr/tests \ + bin/ln/tests \ bin/ls/tests \ bin/mv/tests \ bin/pax/tests \ @@ -118,7 +121,6 @@ DIRDEPS= \ cddl/usr.sbin/zfsd/tests \ gnu/lib/tests \ gnu/tests \ - gnu/usr.bin/diff/tests \ gnu/usr.bin/tests \ lib/atf/libatf-c++/tests \ lib/atf/libatf-c++/tests/detail \ @@ -186,6 +188,7 @@ DIRDEPS= \ sbin/ifconfig/tests \ sbin/mdconfig/tests \ sbin/pfctl/tests \ + sbin/savecore/tests \ sbin/tests \ secure/lib/tests \ secure/libexec/tests \ @@ -196,7 +199,9 @@ DIRDEPS= \ share/examples/tests/tests \ share/examples/tests/tests/atf \ share/examples/tests/tests/plain \ + share/examples/tests/tests/tap \ share/tests \ + share/zoneinfo/tests \ tests \ tests/etc \ tests/etc/rc.d \ @@ -246,6 +251,7 @@ DIRDEPS= \ tests/sys/pjdfstest/tests/symlink \ tests/sys/pjdfstest/tests/truncate \ tests/sys/pjdfstest/tests/unlink \ + tests/sys/pjdfstest/tests/utimensat \ tests/sys/posixshm \ tests/sys/sys \ tests/sys/vfs \ @@ -306,13 +312,19 @@ DIRDEPS= \ usr.bin/cmp/tests \ usr.bin/col/tests \ usr.bin/comm/tests \ + usr.bin/compress/tests \ usr.bin/cpio/tests \ + usr.bin/csplit/tests \ usr.bin/cut/tests \ usr.bin/diff/tests \ + usr.bin/diff3/tests \ usr.bin/dirname/tests \ + usr.bin/du/tests \ usr.bin/file2c/tests \ + usr.bin/getconf/tests \ usr.bin/grep/tests \ usr.bin/gzip/tests \ + usr.bin/hexdump/tests \ usr.bin/ident/tests \ usr.bin/indent/tests \ usr.bin/join/tests \ @@ -324,10 +336,12 @@ DIRDEPS= \ usr.bin/ncal/tests \ usr.bin/pr/tests \ usr.bin/printf/tests \ + usr.bin/procstat/tests \ usr.bin/sdiff/tests \ usr.bin/sed/tests \ usr.bin/sed/tests/regress.multitest.out \ usr.bin/soelim/tests \ + usr.bin/stat/tests \ usr.bin/tail/tests \ usr.bin/tar/tests \ usr.bin/tests \ From owner-svn-src-head@freebsd.org Wed Jul 19 17:28:47 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D5C2BCFDEDE; Wed, 19 Jul 2017 17:28:47 +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 mx1.freebsd.org (Postfix) with ESMTPS id A29633A67; Wed, 19 Jul 2017 17:28:47 +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 v6JHSkaj044202; Wed, 19 Jul 2017 17:28:46 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JHSkIS044200; Wed, 19 Jul 2017 17:28:46 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201707191728.v6JHSkIS044200@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 19 Jul 2017 17:28:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321217 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 321217 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.23 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, 19 Jul 2017 17:28:47 -0000 Author: kib Date: Wed Jul 19 17:28:46 2017 New Revision: 321217 URL: https://svnweb.freebsd.org/changeset/base/321217 Log: Remove unused function swap_pager_isswapped(). Noted by: alc Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/vm/swap_pager.c head/sys/vm/swap_pager.h Modified: head/sys/vm/swap_pager.c ============================================================================== --- head/sys/vm/swap_pager.c Wed Jul 19 16:54:34 2017 (r321216) +++ head/sys/vm/swap_pager.c Wed Jul 19 17:28:46 2017 (r321217) @@ -1585,43 +1585,6 @@ swp_pager_async_iodone(struct buf *bp) ); } -/* - * swap_pager_isswapped: - * - * Return 1 if at least one page in the given object is paged - * out to the given swap device. - * - * This routine may not sleep. - */ -int -swap_pager_isswapped(vm_object_t object, struct swdevt *sp) -{ - daddr_t index = 0; - int bcount; - int i; - - VM_OBJECT_ASSERT_WLOCKED(object); - if (object->type != OBJT_SWAP) - return (0); - - mtx_lock(&swhash_mtx); - for (bcount = 0; bcount < object->un_pager.swp.swp_bcount; bcount++) { - struct swblock *swap; - - if ((swap = *swp_pager_hash(object, index)) != NULL) { - for (i = 0; i < SWAP_META_PAGES; ++i) { - if (swp_pager_isondev(swap->swb_pages[i], sp)) { - mtx_unlock(&swhash_mtx); - return (1); - } - } - } - index += SWAP_META_PAGES; - } - mtx_unlock(&swhash_mtx); - return (0); -} - int swap_pager_nswapdev(void) { Modified: head/sys/vm/swap_pager.h ============================================================================== --- head/sys/vm/swap_pager.h Wed Jul 19 16:54:34 2017 (r321216) +++ head/sys/vm/swap_pager.h Wed Jul 19 17:28:46 2017 (r321217) @@ -82,7 +82,6 @@ void swap_pager_copy(vm_object_t, vm_object_t, vm_pind vm_pindex_t swap_pager_find_least(vm_object_t object, vm_pindex_t pindex); void swap_pager_freespace(vm_object_t, vm_pindex_t, vm_size_t); void swap_pager_swap_init(void); -int swap_pager_isswapped(vm_object_t, struct swdevt *); int swap_pager_nswapdev(void); int swap_pager_reserve(vm_object_t, vm_pindex_t, vm_size_t); void swap_pager_status(int *total, int *used); From owner-svn-src-head@freebsd.org Wed Jul 19 18:17:43 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1CEE5CFECAD; Wed, 19 Jul 2017 18:17:43 +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 mx1.freebsd.org (Postfix) with ESMTPS id DFC5464C13; Wed, 19 Jul 2017 18:17:42 +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 v6JIHgGo066119; Wed, 19 Jul 2017 18:17:42 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JIHgHT066118; Wed, 19 Jul 2017 18:17:42 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707191817.v6JIHgHT066118@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 19 Jul 2017 18:17:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321218 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 321218 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.23 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, 19 Jul 2017 18:17:43 -0000 Author: emaste Date: Wed Jul 19 18:17:41 2017 New Revision: 321218 URL: https://svnweb.freebsd.org/changeset/base/321218 Log: zfs: Fix a typo in the delay_min_dirty_percent sysctl description The description is FreeBSD-specific and was added in r266497 to fix PR189865. PR: 220825 Submitted by: Fabian Keil Obtained from: ElectroBSD MFC after: 1 week Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c Wed Jul 19 17:28:46 2017 (r321217) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c Wed Jul 19 18:17:41 2017 (r321218) @@ -167,7 +167,7 @@ static int sysctl_zfs_delay_min_dirty_percent(SYSCTL_H SYSCTL_PROC(_vfs_zfs, OID_AUTO, delay_min_dirty_percent, CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RW, 0, sizeof(int), sysctl_zfs_delay_min_dirty_percent, "I", - "The limit of outstanding dirty data before transations are delayed"); + "The limit of outstanding dirty data before transactions are delayed"); static int sysctl_zfs_delay_scale(SYSCTL_HANDLER_ARGS); /* No zfs_delay_scale tunable due to limit requirements */ From owner-svn-src-head@freebsd.org Wed Jul 19 18:25:53 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D7475CFF309; Wed, 19 Jul 2017 18:25:53 +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 mx1.freebsd.org (Postfix) with ESMTPS id A60A865A7F; Wed, 19 Jul 2017 18:25:53 +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 v6JIPq6K070695; Wed, 19 Jul 2017 18:25:52 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JIPqkw070694; Wed, 19 Jul 2017 18:25:52 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707191825.v6JIPqkw070694@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 19 Jul 2017 18:25:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321226 - head/usr.sbin/bsdinstall/scripts X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/usr.sbin/bsdinstall/scripts X-SVN-Commit-Revision: 321226 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.23 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, 19 Jul 2017 18:25:53 -0000 Author: emaste Date: Wed Jul 19 18:25:52 2017 New Revision: 321226 URL: https://svnweb.freebsd.org/changeset/base/321226 Log: bsdinstall: improve checksum mismatch error for snapshots The usual case of a mismatched checksum for installer snapshots (e.g., -CURRENT, -ALPHA*) is that a newer snapshot has been built and the old install sets have been replaced. Provide a specific error message for checksum mismatches there that suggests looking for a newer snapshot. Submitted by: Guangyuan Yang Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D11641 Modified: head/usr.sbin/bsdinstall/scripts/checksum Modified: head/usr.sbin/bsdinstall/scripts/checksum ============================================================================== --- head/usr.sbin/bsdinstall/scripts/checksum Wed Jul 19 18:23:49 2017 (r321225) +++ head/usr.sbin/bsdinstall/scripts/checksum Wed Jul 19 18:25:52 2017 (r321226) @@ -62,8 +62,16 @@ for dist in $DISTRIBUTIONS; do percentage=$(echo $percentage + 100/`echo $DISTRIBUTIONS | wc -w` | bc) else eval "status_$distname=1" - dialog --backtitle "FreeBSD Installer" --title "Error" \ - --msgbox "The checksum for $dist does not match. It may have become corrupted, and should be redownloaded." 0 0 + case $(/bin/freebsd-version -u) in + *-ALPHA*|*-CURRENT|*-STABLE|*-PRERELEASE) + dialog --backtitle "FreeBSD Installer" --title "Error" \ + --msgbox "The checksum for $dist does not match. It may have become corrupted, or it may be from a newer version of FreeBSD. Please check for a newer snapshot." 0 0 + ;; + *) + dialog --backtitle "FreeBSD Installer" --title "Error" \ + --msgbox "The checksum for $dist does not match. It may have become corrupted, and should be redownloaded." 0 0 + ;; + esac exit 1 fi done From owner-svn-src-head@freebsd.org Wed Jul 19 18:30:17 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E941ECFF47C; Wed, 19 Jul 2017 18:30:17 +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 mx1.freebsd.org (Postfix) with ESMTPS id B809F65E0F; Wed, 19 Jul 2017 18:30:17 +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 v6JIUGe2070958; Wed, 19 Jul 2017 18:30:16 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JIUG1o070957; Wed, 19 Jul 2017 18:30:16 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707191830.v6JIUG1o070957@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 19 Jul 2017 18:30:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321227 - head/usr.bin/diff/tests X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/usr.bin/diff/tests X-SVN-Commit-Revision: 321227 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.23 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, 19 Jul 2017 18:30:18 -0000 Author: ngie Date: Wed Jul 19 18:30:16 2017 New Revision: 321227 URL: https://svnweb.freebsd.org/changeset/base/321227 Log: Use more flexible expression for replacing t_diff in contrib/netbsd-tests/usr.bin/diff/t_diff.sh with the name of the script via `basename $0`. This was a change I forgot to port over from ^/head/gnu/usr.bin/diff/tests/Makefile@r272787. Modified: head/usr.bin/diff/tests/Makefile Modified: head/usr.bin/diff/tests/Makefile ============================================================================== --- head/usr.bin/diff/tests/Makefile Wed Jul 19 18:25:52 2017 (r321226) +++ head/usr.bin/diff/tests/Makefile Wed Jul 19 18:30:16 2017 (r321227) @@ -31,7 +31,7 @@ ${PACKAGE}FILES+= \ d_mallocv1.in \ d_mallocv2.in -ATF_TESTS_SH_SED_netbsd_diff_test+= -e 's,t_diff,netbsd_diff_test,g' +ATF_TESTS_SH_SED_netbsd_diff_test+= -e 's/t_diff/`basename $$0`/g' ATF_TESTS_SH_SRC_netbsd_diff_test= t_diff.sh .include From owner-svn-src-head@freebsd.org Wed Jul 19 18:41:17 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 907EACFF8E5; Wed, 19 Jul 2017 18:41:17 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5FB03668D2; Wed, 19 Jul 2017 18:41:17 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6JIfGg7078142; Wed, 19 Jul 2017 18:41:16 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JIfGq6078141; Wed, 19 Jul 2017 18:41:16 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201707191841.v6JIfGq6078141@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Wed, 19 Jul 2017 18:41:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321228 - head/usr.sbin/crashinfo X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/usr.sbin/crashinfo X-SVN-Commit-Revision: 321228 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.23 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, 19 Jul 2017 18:41:17 -0000 Author: markj Date: Wed Jul 19 18:41:16 2017 New Revision: 321228 URL: https://svnweb.freebsd.org/changeset/base/321228 Log: Allow matches of truncated version strings. Long objdir paths make it easy to hit the version string length limit in kernel dump headers. The build number and timestamp are unlikely to be truncated and ought to be sufficient to protect against false positives. Discussed with: jhb MFC after: 1 week Modified: head/usr.sbin/crashinfo/crashinfo.sh Modified: head/usr.sbin/crashinfo/crashinfo.sh ============================================================================== --- head/usr.sbin/crashinfo/crashinfo.sh Wed Jul 19 18:30:16 2017 (r321227) +++ head/usr.sbin/crashinfo/crashinfo.sh Wed Jul 19 18:41:16 2017 (r321228) @@ -83,10 +83,12 @@ find_kernel() } }' $INFO) - # Look for a matching kernel version. + # Look for a matching kernel version, handling possible truncation + # of the version string recovered from the dump. for k in `sysctl -n kern.bootfile` $(ls -t /boot/*/kernel); do - kvers=$(gdb_command $k 'printf " Version String: %s", version' \ - 2>/dev/null) + kvers=$(gdb_command $k 'printf " Version String: %s", version' | \ + awk "{line=line\$0\"\n\"} END{print substr(line,1,${#ivers})}" \ + 2>/dev/null) if [ "$ivers" = "$kvers" ]; then KERNEL=$k break From owner-svn-src-head@freebsd.org Wed Jul 19 19:00:34 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 08D1FCFFE24; Wed, 19 Jul 2017 19:00:34 +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 mx1.freebsd.org (Postfix) with ESMTPS id CC69967289; Wed, 19 Jul 2017 19:00:33 +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 v6JJ0Xeb083421; Wed, 19 Jul 2017 19:00:33 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JJ0X87083420; Wed, 19 Jul 2017 19:00:33 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201707191900.v6JJ0X87083420@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 19 Jul 2017 19:00:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321230 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 321230 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.23 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, 19 Jul 2017 19:00:34 -0000 Author: kib Date: Wed Jul 19 19:00:32 2017 New Revision: 321230 URL: https://svnweb.freebsd.org/changeset/base/321230 Log: Disable stack growth when accessed by AIO daemons. Commit message for r321173 incorrectly stated that the change disables automatic stack growth from the AIO daemons contexts, with explanation that this is currently prevents applying wrong resource limits. Fix this by actually disabling the growth. Noted by: alc Reviewed by: alc, jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/vm/vm_map.c Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Wed Jul 19 18:59:26 2017 (r321229) +++ head/sys/vm/vm_map.c Wed Jul 19 19:00:32 2017 (r321230) @@ -3698,8 +3698,15 @@ vm_map_growstack(vm_map_t map, vm_offset_t addr, vm_ma p = curproc; vm = p->p_vmspace; - if (map != &p->p_vmspace->vm_map) + + /* + * Disallow stack growth when the access is performed by a + * debugger or AIO daemon. The reason is that the wrong + * resource limits are applied. + */ + if (map != &p->p_vmspace->vm_map || p->p_textvp == NULL) return (KERN_FAILURE); + MPASS(!map->system_map); guard = stack_guard_page * PAGE_SIZE; From owner-svn-src-head@freebsd.org Wed Jul 19 19:08:38 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E898D7C1F9; Wed, 19 Jul 2017 19:08:38 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4A70C67A5A; Wed, 19 Jul 2017 19:08:38 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6JJ8but087693; Wed, 19 Jul 2017 19:08:37 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JJ8bTY087689; Wed, 19 Jul 2017 19:08:37 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201707191908.v6JJ8bTY087689@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Wed, 19 Jul 2017 19:08:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321233 - head/sys/dev/qlxgbe X-SVN-Group: head X-SVN-Commit-Author: davidcs X-SVN-Commit-Paths: head/sys/dev/qlxgbe X-SVN-Commit-Revision: 321233 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.23 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, 19 Jul 2017 19:08:38 -0000 Author: davidcs Date: Wed Jul 19 19:08:37 2017 New Revision: 321233 URL: https://svnweb.freebsd.org/changeset/base/321233 Log: Raise the watchdog timer interval to 2 ticks, there by guaranteeing that it fires between 1ms and 2ms. ` Treat two consecutive occurrences of Heartbeat failures as a legitimate Heartbeat failure MFC after:3 days Modified: head/sys/dev/qlxgbe/ql_def.h head/sys/dev/qlxgbe/ql_hw.c head/sys/dev/qlxgbe/ql_hw.h head/sys/dev/qlxgbe/ql_os.c Modified: head/sys/dev/qlxgbe/ql_def.h ============================================================================== --- head/sys/dev/qlxgbe/ql_def.h Wed Jul 19 19:06:19 2017 (r321232) +++ head/sys/dev/qlxgbe/ql_def.h Wed Jul 19 19:08:37 2017 (r321233) @@ -105,7 +105,7 @@ struct qla_ivec { typedef struct qla_ivec qla_ivec_t; -#define QLA_WATCHDOG_CALLOUT_TICKS 1 +#define QLA_WATCHDOG_CALLOUT_TICKS 2 typedef struct _qla_tx_ring { qla_tx_buf_t tx_buf[NUM_TX_DESCRIPTORS]; Modified: head/sys/dev/qlxgbe/ql_hw.c ============================================================================== --- head/sys/dev/qlxgbe/ql_hw.c Wed Jul 19 19:06:19 2017 (r321232) +++ head/sys/dev/qlxgbe/ql_hw.c Wed Jul 19 19:08:37 2017 (r321233) @@ -3366,7 +3366,7 @@ ql_hw_check_health(qla_host_t *ha) ha->hw.health_count++; - if (ha->hw.health_count < 1000) + if (ha->hw.health_count < 500) return 0; ha->hw.health_count = 0; @@ -3385,10 +3385,18 @@ ql_hw_check_health(qla_host_t *ha) if ((val != ha->hw.hbeat_value) && (!(QL_ERR_INJECT(ha, INJCT_HEARTBEAT_FAILURE)))) { ha->hw.hbeat_value = val; + ha->hw.hbeat_failure = 0; return 0; } - device_printf(ha->pci_dev, "%s: Heartbeat Failue [0x%08x]\n", - __func__, val); + + ha->hw.hbeat_failure++; + + if (ha->hw.hbeat_failure < 2) /* we ignore the first failure */ + return 0; + else + device_printf(ha->pci_dev, "%s: Heartbeat Failue [0x%08x]\n", + __func__, val); + return -1; } Modified: head/sys/dev/qlxgbe/ql_hw.h ============================================================================== --- head/sys/dev/qlxgbe/ql_hw.h Wed Jul 19 19:06:19 2017 (r321232) +++ head/sys/dev/qlxgbe/ql_hw.h Wed Jul 19 19:08:37 2017 (r321233) @@ -1671,6 +1671,7 @@ typedef struct _qla_hw { /* heart beat register value */ uint32_t hbeat_value; uint32_t health_count; + uint32_t hbeat_failure; uint32_t max_tx_segs; uint32_t min_lro_pkt_size; Modified: head/sys/dev/qlxgbe/ql_os.c ============================================================================== --- head/sys/dev/qlxgbe/ql_os.c Wed Jul 19 19:06:19 2017 (r321232) +++ head/sys/dev/qlxgbe/ql_os.c Wed Jul 19 19:08:37 2017 (r321233) @@ -276,7 +276,7 @@ qla_watchdog(void *arg) ha->qla_watchdog_paused = 1; } - ha->watchdog_ticks = ha->watchdog_ticks++ % 1000; + ha->watchdog_ticks = ha->watchdog_ticks++ % 500; callout_reset(&ha->tx_callout, QLA_WATCHDOG_CALLOUT_TICKS, qla_watchdog, ha); } From owner-svn-src-head@freebsd.org Wed Jul 19 19:38:27 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0A9D8D7CC24; Wed, 19 Jul 2017 19:38:27 +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 mx1.freebsd.org (Postfix) with ESMTPS id CDA3B68DFF; Wed, 19 Jul 2017 19:38:26 +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 v6JJcP0L000608; Wed, 19 Jul 2017 19:38:25 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JJcPn3000607; Wed, 19 Jul 2017 19:38:25 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707191938.v6JJcPn3000607@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 19 Jul 2017 19:38:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321235 - head/usr.sbin/cron/cron X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/usr.sbin/cron/cron X-SVN-Commit-Revision: 321235 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.23 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, 19 Jul 2017 19:38:27 -0000 Author: ngie Date: Wed Jul 19 19:38:25 2017 New Revision: 321235 URL: https://svnweb.freebsd.org/changeset/base/321235 Log: Fix trivial whitespace bug introduced in usage message changes for -n support (r304570). MFC after: now Modified: head/usr.sbin/cron/cron/cron.c Modified: head/usr.sbin/cron/cron/cron.c ============================================================================== --- head/usr.sbin/cron/cron/cron.c Wed Jul 19 19:30:13 2017 (r321234) +++ head/usr.sbin/cron/cron/cron.c Wed Jul 19 19:38:25 2017 (r321235) @@ -59,7 +59,7 @@ usage() { #endif fprintf(stderr, "usage: cron [-j jitter] [-J rootjitter] " - "[-m mailto] [-n ] [-s] [-o] [-x debugflag[,...]]\n"); + "[-m mailto] [-n] [-s] [-o] [-x debugflag[,...]]\n"); #if DEBUGGING fprintf(stderr, "\ndebugflags: "); From owner-svn-src-head@freebsd.org Wed Jul 19 19:53:08 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EFBF1D7D181; Wed, 19 Jul 2017 19:53:08 +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 mx1.freebsd.org (Postfix) with ESMTPS id BCFB969B8C; Wed, 19 Jul 2017 19:53:08 +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 v6JJr7on009064; Wed, 19 Jul 2017 19:53:07 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JJr7T5009063; Wed, 19 Jul 2017 19:53:07 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707191953.v6JJr7T5009063@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 19 Jul 2017 19:53:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321240 - head/usr.sbin/cron/cron X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/usr.sbin/cron/cron X-SVN-Commit-Revision: 321240 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.23 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, 19 Jul 2017 19:53:09 -0000 Author: ngie Date: Wed Jul 19 19:53:07 2017 New Revision: 321240 URL: https://svnweb.freebsd.org/changeset/base/321240 Log: cron(8) manpage updates - Document /etc/cron.d and /usr/local/etc/cron.d under FILES. - Reword documentation for -n: add appropriate soft-stop and remove contraction to appease igor. MFC after: 3 days Modified: head/usr.sbin/cron/cron/cron.8 Modified: head/usr.sbin/cron/cron/cron.8 ============================================================================== --- head/usr.sbin/cron/cron/cron.8 Wed Jul 19 19:43:10 2017 (r321239) +++ head/usr.sbin/cron/cron/cron.8 Wed Jul 19 19:53:07 2017 (r321240) @@ -17,7 +17,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 31, 2016 +.Dd July 19, 2017 .Dt CRON 8 .Os .Sh NAME @@ -138,7 +138,7 @@ set to a null string, usually specified in a shell as or .Li \*q\*q . .It Fl n -Don't daemonize, run in foreground instead. +Do not daemonize; run in foreground instead. .It Fl s Enable special handling of situations when the GMT offset of the local timezone changes, such as the switches between the standard time and @@ -209,13 +209,17 @@ trace through the execution, but do not perform any ac .El .El .Sh FILES -.Bl -tag -width /etc/pam.d/cron -compact +.Bl -tag -width /usr/local/etc/cron.d -compact .It Pa /etc/crontab System crontab file +.It Pa /etc/cron.d +Directory for optional/modularized system crontab files. .It Pa /etc/pam.d/cron .Xr pam.conf 5 configuration file for .Nm +.It Pa /usr/local/etc/cron.d +Directory for third-party package provided crontab files. .It Pa /var/cron/tabs Directory for personal crontab files .El From owner-svn-src-head@freebsd.org Wed Jul 19 20:52:49 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15234D7E22A; Wed, 19 Jul 2017 20:52:49 +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 mx1.freebsd.org (Postfix) with ESMTPS id AF8B16BC26; Wed, 19 Jul 2017 20:52:48 +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 v6JKqlp3034028; Wed, 19 Jul 2017 20:52:47 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JKqlI0034022; Wed, 19 Jul 2017 20:52:47 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201707192052.v6JKqlI0034022@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 19 Jul 2017 20:52:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321247 - in head/sys: sys vm X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/sys: sys vm X-SVN-Commit-Revision: 321247 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.23 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, 19 Jul 2017 20:52:49 -0000 Author: kib Date: Wed Jul 19 20:52:47 2017 New Revision: 321247 URL: https://svnweb.freebsd.org/changeset/base/321247 Log: Add pctrie_init() and vm_radix_init() to initialize generic pctrie and vm_radix trie. Existing vm_radix_init() function is renamed to vm_radix_zinit(). Inlines moved out of the _ headers. Reviewed by: alc, markj (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D11661 Modified: head/sys/sys/_pctrie.h head/sys/sys/pctrie.h head/sys/vm/_vm_radix.h head/sys/vm/vm_object.c head/sys/vm/vm_radix.c head/sys/vm/vm_radix.h Modified: head/sys/sys/_pctrie.h ============================================================================== --- head/sys/sys/_pctrie.h Wed Jul 19 20:49:04 2017 (r321246) +++ head/sys/sys/_pctrie.h Wed Jul 19 20:52:47 2017 (r321247) @@ -38,14 +38,4 @@ struct pctrie { uintptr_t pt_root; }; -#ifdef _KERNEL - -static __inline boolean_t -pctrie_is_empty(struct pctrie *ptree) -{ - - return (ptree->pt_root == 0); -} - -#endif /* _KERNEL */ #endif /* !__SYS_PCTRIE_H_ */ Modified: head/sys/sys/pctrie.h ============================================================================== --- head/sys/sys/pctrie.h Wed Jul 19 20:49:04 2017 (r321246) +++ head/sys/sys/pctrie.h Wed Jul 19 20:52:47 2017 (r321247) @@ -119,5 +119,19 @@ void pctrie_remove(struct pctrie *ptree, uint64_t key size_t pctrie_node_size(void); int pctrie_zone_init(void *mem, int size, int flags); +static __inline void +pctrie_init(struct pctrie *ptree) +{ + + ptree->pt_root = 0; +} + +static __inline boolean_t +pctrie_is_empty(struct pctrie *ptree) +{ + + return (ptree->pt_root == 0); +} + #endif /* _KERNEL */ #endif /* !_SYS_PCTRIE_H_ */ Modified: head/sys/vm/_vm_radix.h ============================================================================== --- head/sys/vm/_vm_radix.h Wed Jul 19 20:49:04 2017 (r321246) +++ head/sys/vm/_vm_radix.h Wed Jul 19 20:52:47 2017 (r321247) @@ -38,14 +38,4 @@ struct vm_radix { uintptr_t rt_root; }; -#ifdef _KERNEL - -static __inline boolean_t -vm_radix_is_empty(struct vm_radix *rtree) -{ - - return (rtree->rt_root == 0); -} - -#endif /* _KERNEL */ #endif /* !__VM_RADIX_H_ */ Modified: head/sys/vm/vm_object.c ============================================================================== --- head/sys/vm/vm_object.c Wed Jul 19 20:49:04 2017 (r321246) +++ head/sys/vm/vm_object.c Wed Jul 19 20:52:47 2017 (r321247) @@ -204,7 +204,7 @@ vm_object_zinit(void *mem, int size, int flags) /* These are true for any object that has been freed */ object->type = OBJT_DEAD; object->ref_count = 0; - object->rtree.rt_root = 0; + vm_radix_init(&object->rtree); object->paging_in_progress = 0; object->resident_page_count = 0; object->shadow_count = 0; @@ -301,7 +301,7 @@ vm_object_init(void) #endif vm_object_zinit, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); - vm_radix_init(); + vm_radix_zinit(); } void Modified: head/sys/vm/vm_radix.c ============================================================================== --- head/sys/vm/vm_radix.c Wed Jul 19 20:49:04 2017 (r321246) +++ head/sys/vm/vm_radix.c Wed Jul 19 20:52:47 2017 (r321247) @@ -310,7 +310,7 @@ SYSINIT(vm_radix_reserve_kva, SI_SUB_KMEM, SI_ORDER_TH * Initialize the UMA slab zone. */ void -vm_radix_init(void) +vm_radix_zinit(void) { vm_radix_node_zone = uma_zcreate("RADIX NODE", Modified: head/sys/vm/vm_radix.h ============================================================================== --- head/sys/vm/vm_radix.h Wed Jul 19 20:49:04 2017 (r321246) +++ head/sys/vm/vm_radix.h Wed Jul 19 20:52:47 2017 (r321247) @@ -35,7 +35,6 @@ #ifdef _KERNEL -void vm_radix_init(void); int vm_radix_insert(struct vm_radix *rtree, vm_page_t page); boolean_t vm_radix_is_singleton(struct vm_radix *rtree); vm_page_t vm_radix_lookup(struct vm_radix *rtree, vm_pindex_t index); @@ -44,6 +43,21 @@ vm_page_t vm_radix_lookup_le(struct vm_radix *rtree, v void vm_radix_reclaim_allnodes(struct vm_radix *rtree); vm_page_t vm_radix_remove(struct vm_radix *rtree, vm_pindex_t index); vm_page_t vm_radix_replace(struct vm_radix *rtree, vm_page_t newpage); +void vm_radix_zinit(void); + +static __inline void +vm_radix_init(struct vm_radix *rtree) +{ + + rtree->rt_root = 0; +} + +static __inline boolean_t +vm_radix_is_empty(struct vm_radix *rtree) +{ + + return (rtree->rt_root == 0); +} #endif /* _KERNEL */ #endif /* !_VM_RADIX_H_ */ From owner-svn-src-head@freebsd.org Wed Jul 19 20:57:42 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E2B73D7E346; Wed, 19 Jul 2017 20:57:42 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A69D46BED9; Wed, 19 Jul 2017 20:57:42 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6JKvfG6034337; Wed, 19 Jul 2017 20:57:41 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JKvfUV034336; Wed, 19 Jul 2017 20:57:41 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201707192057.v6JKvfUV034336@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Wed, 19 Jul 2017 20:57:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321248 - head/usr.sbin/nfsd X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/usr.sbin/nfsd X-SVN-Commit-Revision: 321248 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.23 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, 19 Jul 2017 20:57:43 -0000 Author: rmacklem Date: Wed Jul 19 20:57:41 2017 New Revision: 321248 URL: https://svnweb.freebsd.org/changeset/base/321248 Log: Update the nfsv4 man page to reflect recent changes to support the newer RFCs (5661 and 7530). The main man changes are for the case of "numbers in strings" for user/groups that RFC7530 allows and avoids use of nfsuserd(8). This is a content change. Reviewed by: trasz (earlier version) MFC after: 1 week Modified: head/usr.sbin/nfsd/nfsv4.4 Modified: head/usr.sbin/nfsd/nfsv4.4 ============================================================================== --- head/usr.sbin/nfsd/nfsv4.4 Wed Jul 19 20:52:47 2017 (r321247) +++ head/usr.sbin/nfsd/nfsv4.4 Wed Jul 19 20:57:41 2017 (r321248) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 1, 2013 +.Dd July 19, 2017 .Dt NFSV4 4 .Os .Sh NAME @@ -34,7 +34,8 @@ The NFS client and server provides support for the .Tn NFSv4 specification; see -.%T "Network File System (NFS) Version 4 Protocol RFC 3530" . +.%T "Network File System (NFS) Version 4 Protocol RFC 7530" and +.%T "Network File System (NFS) Version 4 Minor Version 1 Protocol RFC 5661" . The protocol is somewhat similar to NFS Version 3, but differs in significant ways. It uses a single compound RPC that concatenates operations to-gether. @@ -74,6 +75,7 @@ It provides several optional features not present in N - Referrals, which redirect subtrees to other servers (not yet implemented) - Delegations, which allow a client to operate on a file locally +- pNFS, where I/O operations are separated from Metadata operations .Ed .Pp The @@ -115,8 +117,8 @@ multiple server file systems, although not all clients this. .Pp .Nm -uses names for users and groups instead of numbers. -On the wire, they +uses strings for users and groups instead of numbers. +On the wire, these strings can either have the numbers in the string or take the form: .sp .Bd -literal -offset indent -compact @@ -136,15 +138,37 @@ Under FreeBSD, the mapping daemon is called .Xr nfsuserd 8 and has a command line option that overrides the domain component of the machine's hostname. -For use of +For use of this form of string on .Nm , either client or server, this daemon must be running. -If this ``'' is not set correctly or the daemon is not running, ``ls -l'' will typically +.Pp +The form where the numbers are in the strings can only be used for AUTH_SYS. +To configure your systems this way, the +.Xr nfsuserd 8 +daemon does not need to be running on the server, but the following sysctls need to be +set to 1 on the server. +.sp +.Bd -literal -offset indent -compact +vfs.nfs.enable_uidtostring +vfs.nfsd.enable_stringtouid +.Ed +.sp +On the client, the sysctl +.sp +.Bd -literal -offset indent -compact +vfs.nfs.enable_uidtostring +.Ed +.sp +must be set to 1 and the +.Xr nfsuserd 8 +daemon does not need to be running. +.Pp +If these strings are not configured correctly, ``ls -l'' will typically report a lot of ``nobody'' and ``nogroup'' ownerships. .Pp Although uid/gid numbers are no longer used in the .Nm -protocol, they will still be in the RPC authentication fields when +protocol except optionally in the above strings, they will still be in the RPC authentication fields when using AUTH_SYS (sec=sys), which is the default. As such, in this case both the user/group name and number spaces must be consistent between the client and server. @@ -156,24 +180,24 @@ will go on the wire. .Sh SERVER SETUP To set up the NFS server that supports .Nm , -you will need to either set the variables in +you will need to set the variables in .Xr rc.conf 5 as follows: .sp .Bd -literal -offset indent -compact nfs_server_enable="YES" nfsv4_server_enable="YES" +.Ed +.sp +plus +.sp +.Bd -literal -offset indent -compact nfsuserd_enable="YES" .Ed .sp -or start -.Xr mountd 8 -and -.Xr nfsd 8 -without the ``-o'' option, which would force use of the old server. -The -.Xr nfsuserd 8 -daemon must also be running. +if the server is using the ``@'' form of user/group strings or +is using the ``-manage-gids'' option for +.Xr nfsuserd 8 . .Pp You will also need to add at least one ``V4:'' line to the .Xr exports 5 @@ -232,7 +256,7 @@ plus set ``tcp'' and .Pp The .Xr nfsuserd 8 -must be running, as above. +must be running if name<->uid/gid mapping is being used, as above. Also, since an .Nm mount uses the host uuid to identify the client uniquely to the server, @@ -255,7 +279,7 @@ daemon to handle client side callbacks. This will occur if .sp .Bd -literal -offset indent -compact -nfsuserd_enable="YES" +nfsuserd_enable="YES" <-- If name<->uid/gid mapping is being used. nfscbd_enable="YES" .Ed .sp @@ -265,7 +289,7 @@ are set in Without a functioning callback path, a server will never issue Delegations to a client. .sp -By default, the callback address will be set to the IP address acquired via +For NFSv4.0, by default, the callback address will be set to the IP address acquired via rtalloc() in the kernel and port# 7745. To override the default port#, a command line option for .Xr nfscbd 8 @@ -281,6 +305,10 @@ N.N.N.N.N.N .sp where the first 4 Ns are the host IP address and the last two are the port# in network byte order (all decimal #s in the range 0-255). +.Pp +For NFSv4.1, the callback path (called a backchannel) uses the same TCP connection as the mount, +so none of the above applies and should work through gateways without +any issues. .Pp To build a kernel with the client that supports .Nm From owner-svn-src-head@freebsd.org Wed Jul 19 21:18:05 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A83A6D7E9C6; Wed, 19 Jul 2017 21:18:05 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7827E6CEFA; Wed, 19 Jul 2017 21:18:05 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6JLI4Eu042973; Wed, 19 Jul 2017 21:18:04 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JLI4NM042972; Wed, 19 Jul 2017 21:18:04 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201707192118.v6JLI4NM042972@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Wed, 19 Jul 2017 21:18:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321253 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: sbruno X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 321253 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.23 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, 19 Jul 2017 21:18:05 -0000 Author: sbruno Date: Wed Jul 19 21:18:04 2017 New Revision: 321253 URL: https://svnweb.freebsd.org/changeset/base/321253 Log: Don't cache mbuf pointers if the number of descriptors is greater than the number of buffers. Submitted by: Matt Macy Sponsored by: Limelight Networks Modified: head/sys/net/iflib.c Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Wed Jul 19 21:06:31 2017 (r321252) +++ head/sys/net/iflib.c Wed Jul 19 21:18:04 2017 (r321253) @@ -2927,6 +2927,14 @@ iflib_busdma_load_mbuf_sg(iflib_txq_t txq, bus_dma_tag m_free(tmp); continue; } + m = m->m_next; + count++; + } while (m != NULL); + if (count > *nsegs) + return (0); + m = *m0; + count = 0; + do { next = (pidx + count) & (ntxd-1); MPASS(ifsd_m[next] == NULL); ifsd_m[next] = m; From owner-svn-src-head@freebsd.org Wed Jul 19 22:06:37 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 120C5D7F787; Wed, 19 Jul 2017 22:06:37 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D3DA36ED6D; Wed, 19 Jul 2017 22:06:36 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6JM6ZhT064247; Wed, 19 Jul 2017 22:06:35 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JM6ZtL064245; Wed, 19 Jul 2017 22:06:35 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201707192206.v6JM6ZtL064245@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 19 Jul 2017 22:06:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321256 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 321256 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.23 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, 19 Jul 2017 22:06:37 -0000 Author: brooks Date: Wed Jul 19 22:06:35 2017 New Revision: 321256 URL: https://svnweb.freebsd.org/changeset/base/321256 Log: Include ARCH_FLAGS in CFLAGS when building modules. Without this change, modules will match the default compiler configuration which may not be the same as the kernel values. Reviewed by: imp Obtained from: CheriBSD MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D11633 Modified: head/sys/conf/kern.pre.mk head/sys/conf/kmod.mk Modified: head/sys/conf/kern.pre.mk ============================================================================== --- head/sys/conf/kern.pre.mk Wed Jul 19 21:19:28 2017 (r321255) +++ head/sys/conf/kern.pre.mk Wed Jul 19 22:06:35 2017 (r321256) @@ -216,6 +216,7 @@ MKMODULESENV+= MAKEOBJDIRPREFIX=${.OBJDIR}/modules KMO MKMODULESENV+= MACHINE_CPUARCH=${MACHINE_CPUARCH} MKMODULESENV+= MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH} MKMODULESENV+= MODULES_EXTRA="${MODULES_EXTRA}" WITHOUT_MODULES="${WITHOUT_MODULES}" +MKMODULESENV+= ARCH_FLAGS="${ARCH_FLAGS}" .if (${KERN_IDENT} == LINT) MKMODULESENV+= ALL_MODULES=LINT .endif Modified: head/sys/conf/kmod.mk ============================================================================== --- head/sys/conf/kmod.mk Wed Jul 19 21:19:28 2017 (r321255) +++ head/sys/conf/kmod.mk Wed Jul 19 22:06:35 2017 (r321256) @@ -366,7 +366,7 @@ ${_src}: .endif # Respect configuration-specific C flags. -CFLAGS+= ${CONF_CFLAGS} +CFLAGS+= ${ARCH_FLAGS} ${CONF_CFLAGS} .if !empty(SRCS:Mvnode_if.c) CLEANFILES+= vnode_if.c From owner-svn-src-head@freebsd.org Wed Jul 19 22:41:24 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 25CEBD7FF94; Wed, 19 Jul 2017 22:41:24 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DBC1E6FB26; Wed, 19 Jul 2017 22:41:23 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6JMfNTH079273; Wed, 19 Jul 2017 22:41:23 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JMfMcY079271; Wed, 19 Jul 2017 22:41:22 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201707192241.v6JMfMcY079271@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Wed, 19 Jul 2017 22:41:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321257 - head/sys/dev/e1000 X-SVN-Group: head X-SVN-Commit-Author: sbruno X-SVN-Commit-Paths: head/sys/dev/e1000 X-SVN-Commit-Revision: 321257 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.23 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, 19 Jul 2017 22:41:24 -0000 Author: sbruno Date: Wed Jul 19 22:41:22 2017 New Revision: 321257 URL: https://svnweb.freebsd.org/changeset/base/321257 Log: Restore igb(4) code dropped during iflib conversion - restore newer code for vf, i350, i210, i211 - restore dmac init code for i354 and i350 - restore WUC/WUFC update - check for igb mac type before attempting trying to assert a media changed event. - handle link events for igb(4) and em(4) devices differently and appropriately for their respective model types. Submitted by: Matt Macy Sponsored by: Limelight Networks Modified: head/sys/dev/e1000/if_em.c head/sys/dev/e1000/if_em.h Modified: head/sys/dev/e1000/if_em.c ============================================================================== --- head/sys/dev/e1000/if_em.c Wed Jul 19 22:06:35 2017 (r321256) +++ head/sys/dev/e1000/if_em.c Wed Jul 19 22:41:22 2017 (r321257) @@ -1025,7 +1025,7 @@ em_if_attach_post(if_ctx_t ctx) /* Non-AMT based hardware can now take control from firmware */ if (adapter->has_manage && !adapter->has_amt) em_get_hw_control(adapter); - + INIT_DEBUGOUT("em_if_attach_post: end"); return (error); @@ -1691,8 +1691,9 @@ em_if_update_admin_status(if_ctx_t ctx) struct e1000_hw *hw = &adapter->hw; struct ifnet *ifp = iflib_get_ifp(ctx); device_t dev = iflib_get_dev(ctx); - u32 link_check = 0; + u32 link_check, thstat, ctrl; + link_check = thstat = ctrl = 0; /* Get the cached link value or read phy for real */ switch (hw->phy.media_type) { case e1000_media_type_copper: @@ -1717,11 +1718,21 @@ em_if_update_admin_status(if_ctx_t ctx) e1000_check_for_link(hw); link_check = adapter->hw.mac.serdes_has_link; break; - default: + /* VF device is type_unknown */ case e1000_media_type_unknown: + e1000_check_for_link(hw); + link_check = !hw->mac.get_link_status; + /* Fall thru */ + default: break; } + /* Check for thermal downshift or shutdown */ + if (hw->mac.type == e1000_i350) { + thstat = E1000_READ_REG(hw, E1000_THSTAT); + ctrl = E1000_READ_REG(hw, E1000_CTRL_EXT); + } + /* Now check for a transition */ if (link_check && (adapter->link_active == 0)) { e1000_get_speed_and_duplex(hw, &adapter->link_speed, @@ -1743,6 +1754,21 @@ em_if_update_admin_status(if_ctx_t ctx) adapter->link_active = 1; adapter->smartspeed = 0; if_setbaudrate(ifp, adapter->link_speed * 1000000); + if ((ctrl & E1000_CTRL_EXT_LINK_MODE_GMII) && + (thstat & E1000_THSTAT_LINK_THROTTLE)) + device_printf(dev, "Link: thermal downshift\n"); + /* Delay Link Up for Phy update */ + if (((hw->mac.type == e1000_i210) || + (hw->mac.type == e1000_i211)) && + (hw->phy.id == I210_I_PHY_ID)) + msec_delay(I210_LINK_DELAY); + /* Reset if the media type changed. */ + if ((hw->dev_spec._82575.media_changed) && + (adapter->hw.mac.type >= igb_mac_min)) { + hw->dev_spec._82575.media_changed = false; + adapter->flags |= IGB_MEDIA_RESET; + em_reset(ctx); + } iflib_link_state_change(ctx, LINK_STATE_UP, ifp->if_baudrate); printf("Link state changed to up\n"); } else if (!link_check && (adapter->link_active == 1)) { @@ -2210,7 +2236,115 @@ lem_smartspeed(struct adapter *adapter) adapter->smartspeed = 0; } +/********************************************************************* + * + * Initialize the DMA Coalescing feature + * + **********************************************************************/ +static void +igb_init_dmac(struct adapter *adapter, u32 pba) +{ + device_t dev = adapter->dev; + struct e1000_hw *hw = &adapter->hw; + u32 dmac, reg = ~E1000_DMACR_DMAC_EN; + u16 hwm; + u16 max_frame_size; + if (hw->mac.type == e1000_i211) + return; + + max_frame_size = adapter->shared->isc_max_frame_size; + if (hw->mac.type > e1000_82580) { + + if (adapter->dmac == 0) { /* Disabling it */ + E1000_WRITE_REG(hw, E1000_DMACR, reg); + return; + } else + device_printf(dev, "DMA Coalescing enabled\n"); + + /* Set starting threshold */ + E1000_WRITE_REG(hw, E1000_DMCTXTH, 0); + + hwm = 64 * pba - max_frame_size / 16; + if (hwm < 64 * (pba - 6)) + hwm = 64 * (pba - 6); + reg = E1000_READ_REG(hw, E1000_FCRTC); + reg &= ~E1000_FCRTC_RTH_COAL_MASK; + reg |= ((hwm << E1000_FCRTC_RTH_COAL_SHIFT) + & E1000_FCRTC_RTH_COAL_MASK); + E1000_WRITE_REG(hw, E1000_FCRTC, reg); + + + dmac = pba - max_frame_size / 512; + if (dmac < pba - 10) + dmac = pba - 10; + reg = E1000_READ_REG(hw, E1000_DMACR); + reg &= ~E1000_DMACR_DMACTHR_MASK; + reg = ((dmac << E1000_DMACR_DMACTHR_SHIFT) + & E1000_DMACR_DMACTHR_MASK); + + /* transition to L0x or L1 if available..*/ + reg |= (E1000_DMACR_DMAC_EN | E1000_DMACR_DMAC_LX_MASK); + + /* Check if status is 2.5Gb backplane connection + * before configuration of watchdog timer, which is + * in msec values in 12.8usec intervals + * watchdog timer= msec values in 32usec intervals + * for non 2.5Gb connection + */ + if (hw->mac.type == e1000_i354) { + int status = E1000_READ_REG(hw, E1000_STATUS); + if ((status & E1000_STATUS_2P5_SKU) && + (!(status & E1000_STATUS_2P5_SKU_OVER))) + reg |= ((adapter->dmac * 5) >> 6); + else + reg |= (adapter->dmac >> 5); + } else { + reg |= (adapter->dmac >> 5); + } + + E1000_WRITE_REG(hw, E1000_DMACR, reg); + + E1000_WRITE_REG(hw, E1000_DMCRTRH, 0); + + /* Set the interval before transition */ + reg = E1000_READ_REG(hw, E1000_DMCTLX); + if (hw->mac.type == e1000_i350) + reg |= IGB_DMCTLX_DCFLUSH_DIS; + /* + ** in 2.5Gb connection, TTLX unit is 0.4 usec + ** which is 0x4*2 = 0xA. But delay is still 4 usec + */ + if (hw->mac.type == e1000_i354) { + int status = E1000_READ_REG(hw, E1000_STATUS); + if ((status & E1000_STATUS_2P5_SKU) && + (!(status & E1000_STATUS_2P5_SKU_OVER))) + reg |= 0xA; + else + reg |= 0x4; + } else { + reg |= 0x4; + } + + E1000_WRITE_REG(hw, E1000_DMCTLX, reg); + + /* free space in tx packet buffer to wake from DMA coal */ + E1000_WRITE_REG(hw, E1000_DMCTXTH, (IGB_TXPBSIZE - + (2 * max_frame_size)) >> 6); + + /* make low power state decision controlled by DMA coal */ + reg = E1000_READ_REG(hw, E1000_PCIEMISC); + reg &= ~E1000_PCIEMISC_LX_DECISION; + E1000_WRITE_REG(hw, E1000_PCIEMISC, reg); + + } else if (hw->mac.type == e1000_82580) { + u32 reg = E1000_READ_REG(hw, E1000_PCIEMISC); + E1000_WRITE_REG(hw, E1000_PCIEMISC, + reg & ~E1000_PCIEMISC_LX_DECISION); + E1000_WRITE_REG(hw, E1000_DMACR, 0); + } +} + static void em_reset(if_ctx_t ctx) { @@ -2222,6 +2356,8 @@ em_reset(if_ctx_t ctx) u32 pba; INIT_DEBUGOUT("em_reset: begin"); + /* Let the firmware know the OS is in control */ + em_get_hw_control(adapter); /* Set up smart power down as default off on newer adapters. */ if (!em_smart_pwr_down && (hw->mac.type == e1000_82571 || @@ -2417,13 +2553,24 @@ em_reset(if_ctx_t ctx) /* Issue a global reset */ e1000_reset_hw(hw); - E1000_WRITE_REG(hw, E1000_WUFC, 0); - em_disable_aspm(adapter); + if (adapter->hw.mac.type >= igb_mac_min) { + E1000_WRITE_REG(hw, E1000_WUC, 0); + } else { + E1000_WRITE_REG(hw, E1000_WUFC, 0); + em_disable_aspm(adapter); + } + if (adapter->flags & IGB_MEDIA_RESET) { + e1000_setup_init_funcs(hw, TRUE); + e1000_get_bus_info(hw); + adapter->flags &= ~IGB_MEDIA_RESET; + } /* and a re-init */ if (e1000_init_hw(hw) < 0) { device_printf(dev, "Hardware Initialization Failed\n"); return; } + if (adapter->hw.mac.type >= igb_mac_min) + igb_init_dmac(adapter, pba); E1000_WRITE_REG(hw, E1000_VET, ETHERTYPE_VLAN); e1000_get_phy_info(hw); @@ -3307,6 +3454,9 @@ em_get_hw_control(struct adapter *adapter) { u32 ctrl_ext, swsm; + if (adapter->vf_ifp) + return; + if (adapter->hw.mac.type == e1000_82573) { swsm = E1000_READ_REG(&adapter->hw, E1000_SWSM); E1000_WRITE_REG(&adapter->hw, E1000_SWSM, @@ -3317,7 +3467,6 @@ em_get_hw_control(struct adapter *adapter) ctrl_ext = E1000_READ_REG(&adapter->hw, E1000_CTRL_EXT); E1000_WRITE_REG(&adapter->hw, E1000_CTRL_EXT, ctrl_ext | E1000_CTRL_EXT_DRV_LOAD); - return; } /* Modified: head/sys/dev/e1000/if_em.h ============================================================================== --- head/sys/dev/e1000/if_em.h Wed Jul 19 22:06:35 2017 (r321256) +++ head/sys/dev/e1000/if_em.h Wed Jul 19 22:41:22 2017 (r321257) @@ -235,6 +235,27 @@ #define EM_EEPROM_APME 0x400; #define EM_82544_APME 0x0004; + +/* Support AutoMediaDetect for Marvell M88 PHY in i354 */ +#define IGB_MEDIA_RESET (1 << 0) + +/* Define the starting Interrupt rate per Queue */ +#define IGB_INTS_PER_SEC 8000 +#define IGB_DEFAULT_ITR ((1000000/IGB_INTS_PER_SEC) << 2) + +#define IGB_LINK_ITR 2000 +#define I210_LINK_DELAY 1000 + +#define IGB_MAX_SCATTER 40 +#define IGB_VFTA_SIZE 128 +#define IGB_BR_SIZE 4096 /* ring buf size */ +#define IGB_TSO_SIZE (65535 + sizeof(struct ether_vlan_header)) +#define IGB_TSO_SEG_SIZE 4096 /* Max dma segment size */ +#define IGB_TXPBSIZE 20408 +#define IGB_HDR_BUF 128 +#define IGB_PKTTYPE_MASK 0x0000FFF0 +#define IGB_DMCTLX_DCFLUSH_DIS 0x80000000 /* Disable DMA Coalesce Flush */ + /* * Driver state logic for the detection of a hung state * in hardware. Set TX_HUNG whenever a TX packet is used @@ -455,11 +476,11 @@ struct adapter { struct ifmedia *media; int msix; int if_flags; - int min_frame_size; int em_insert_vlan_header; u32 ims; bool in_detach; + u32 flags; /* Task for FAST handling */ struct grouptask link_task; @@ -514,6 +535,7 @@ struct adapter { unsigned long watchdog_events; struct e1000_hw_stats stats; + u16 vf_ifp; }; /******************************************************************************** From owner-svn-src-head@freebsd.org Wed Jul 19 23:34:29 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D0275D96E6D; Wed, 19 Jul 2017 23:34:29 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9532E71249; Wed, 19 Jul 2017 23:34:29 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6JNYSTJ000713; Wed, 19 Jul 2017 23:34:28 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6JNYSDR000712; Wed, 19 Jul 2017 23:34:28 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201707192334.v6JNYSDR000712@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Wed, 19 Jul 2017 23:34:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321258 - head/usr.bin/truss X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/usr.bin/truss X-SVN-Commit-Revision: 321258 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.23 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, 19 Jul 2017 23:34:29 -0000 Author: markj Date: Wed Jul 19 23:34:28 2017 New Revision: 321258 URL: https://svnweb.freebsd.org/changeset/base/321258 Log: Decode FreeBSD11 fstatat calls. Modified: head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Wed Jul 19 22:41:22 2017 (r321257) +++ head/usr.bin/truss/syscalls.c Wed Jul 19 23:34:28 2017 (r321258) @@ -148,6 +148,9 @@ static struct syscall decoded_syscalls[] = { .args = { { Int, 0 } } }, { .name = "compat11.fstat", .ret_type = 1, .nargs = 2, .args = { { Int, 0 }, { Stat11 | OUT, 1 } } }, + { .name = "compat11.fstatat", .ret_type = 1, .nargs = 4, + .args = { { Atfd, 0 }, { Name | IN, 1 }, { Stat11 | OUT, 2 }, + { Atflags, 3 } } }, { .name = "compat11.lstat", .ret_type = 1, .nargs = 2, .args = { { Name | IN, 0 }, { Stat11 | OUT, 1 } } }, { .name = "compat11.stat", .ret_type = 1, .nargs = 2, From owner-svn-src-head@freebsd.org Thu Jul 20 00:40:05 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3CE8FD9B45E; Thu, 20 Jul 2017 00:40:05 +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 mx1.freebsd.org (Postfix) with ESMTPS id F41C872DDF; Thu, 20 Jul 2017 00:40:04 +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 v6K0e4Nn025590; Thu, 20 Jul 2017 00:40:04 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6K0e4wq025589; Thu, 20 Jul 2017 00:40:04 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707200040.v6K0e4wq025589@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 20 Jul 2017 00:40:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321261 - head/usr.sbin/newsyslog/tests X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/usr.sbin/newsyslog/tests X-SVN-Commit-Revision: 321261 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.23 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, 20 Jul 2017 00:40:05 -0000 Author: ngie Date: Thu Jul 20 00:40:03 2017 New Revision: 321261 URL: https://svnweb.freebsd.org/changeset/base/321261 Log: Clean up leading whitespace (convert single column spaces to hard tabs) MFC after: now Modified: head/usr.sbin/newsyslog/tests/legacy_test.sh Modified: head/usr.sbin/newsyslog/tests/legacy_test.sh ============================================================================== --- head/usr.sbin/newsyslog/tests/legacy_test.sh Thu Jul 20 00:33:12 2017 (r321260) +++ head/usr.sbin/newsyslog/tests/legacy_test.sh Thu Jul 20 00:40:03 2017 (r321261) @@ -14,8 +14,8 @@ RFC3164_FMT='^[A-Z][a-z]{2} [ 0-9][0-9] [0-9]{2}:[0-9] COUNT=0 TMPDIR=$(pwd)/work if [ $? -ne 0 ]; then - echo "$0: Can't create temp dir, exiting..." - exit 1 + echo "$0: Can't create temp dir, exiting..." + exit 1 fi # Begin an individual test @@ -432,8 +432,8 @@ tests_rfc5424() { cknt ${dir}${LOGFNAME}.0${ext} ckfe $LOGFNAME5424 cknt ${dir}${LOGFNAME5424}.0${ext} - ckrfc3164 ${LOGFNAME} - ckrfc5424 ${LOGFNAME5424} + ckrfc3164 ${LOGFNAME} + ckrfc5424 ${LOGFNAME5424} end begin "RFC-5424 - rotate normal 1 ${name_postfix}" @@ -442,10 +442,10 @@ tests_rfc5424() { ckfe ${dir}${LOGFNAME}.0${ext} ckfe $LOGFNAME5424 ckfe ${dir}${LOGFNAME5424}.0${ext} - ckrfc3164 ${LOGFNAME} - ckrfc3164 ${dir}${LOGFNAME}.0${ext} - ckrfc5424 ${LOGFNAME5424} - ckrfc5424 ${dir}${LOGFNAME5424}.0${ext} + ckrfc3164 ${LOGFNAME} + ckrfc3164 ${dir}${LOGFNAME}.0${ext} + ckrfc5424 ${LOGFNAME5424} + ckrfc5424 ${dir}${LOGFNAME5424}.0${ext} end tmpdir_clean From owner-svn-src-head@freebsd.org Thu Jul 20 04:32:07 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E928FDA81A8; Thu, 20 Jul 2017 04:32:07 +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 mx1.freebsd.org (Postfix) with ESMTPS id BE1967FF3F; Thu, 20 Jul 2017 04:32:07 +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 v6K4W6aX023757; Thu, 20 Jul 2017 04:32:06 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6K4W6Hh023756; Thu, 20 Jul 2017 04:32:06 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707200432.v6K4W6Hh023756@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 20 Jul 2017 04:32:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321282 - head/sys/dev/e1000 X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/sys/dev/e1000 X-SVN-Commit-Revision: 321282 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.23 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, 20 Jul 2017 04:32:08 -0000 Author: ngie Date: Thu Jul 20 04:32:06 2017 New Revision: 321282 URL: https://svnweb.freebsd.org/changeset/base/321282 Log: Some trivial style(9) fixes - Delete trailing whitespace. - Fix leading indentation (convert single column spaces to tabs). - Convert "[Ff]all through" to "FALLTHROUGH", per implicit project style/spelling. Reviewed by: sbruno Differential Revision: D11665 Modified: head/sys/dev/e1000/if_em.c Modified: head/sys/dev/e1000/if_em.c ============================================================================== --- head/sys/dev/e1000/if_em.c Thu Jul 20 01:19:05 2017 (r321281) +++ head/sys/dev/e1000/if_em.c Thu Jul 20 04:32:06 2017 (r321282) @@ -203,7 +203,7 @@ static pci_vendor_info_t igb_vendor_info_array[] = PVID(0x8086, E1000_DEV_ID_I210_COPPER_OEM1, "Intel(R) PRO/1000 PCI-Express Network Driver"), PVID(0x8086, E1000_DEV_ID_I210_COPPER_FLASHLESS, "Intel(R) PRO/1000 PCI-Express Network Driver"), PVID(0x8086, E1000_DEV_ID_I210_SERDES_FLASHLESS, "Intel(R) PRO/1000 PCI-Express Network Driver"), - PVID(0x8086, E1000_DEV_ID_I210_FIBER, "Intel(R) PRO/1000 PCI-Express Network Driver"), + PVID(0x8086, E1000_DEV_ID_I210_FIBER, "Intel(R) PRO/1000 PCI-Express Network Driver"), PVID(0x8086, E1000_DEV_ID_I210_SERDES, "Intel(R) PRO/1000 PCI-Express Network Driver"), PVID(0x8086, E1000_DEV_ID_I210_SGMII, "Intel(R) PRO/1000 PCI-Express Network Driver"), PVID(0x8086, E1000_DEV_ID_I211_COPPER, "Intel(R) PRO/1000 PCI-Express Network Driver"), @@ -231,8 +231,8 @@ static int em_if_rx_queues_alloc(if_ctx_t ctx, caddr_t static void em_if_queues_free(if_ctx_t ctx); static uint64_t em_if_get_counter(if_ctx_t, ift_counter); -static void em_if_init(if_ctx_t ctx); -static void em_if_stop(if_ctx_t ctx); +static void em_if_init(if_ctx_t ctx); +static void em_if_stop(if_ctx_t ctx); static void em_if_media_status(if_ctx_t, struct ifmediareq *); static int em_if_media_change(if_ctx_t ctx); static int em_if_mtu_set(if_ctx_t ctx, uint32_t mtu); @@ -357,11 +357,11 @@ static device_method_t em_if_methods[] = { DEVMETHOD(ifdi_detach, em_if_detach), DEVMETHOD(ifdi_shutdown, em_if_shutdown), DEVMETHOD(ifdi_suspend, em_if_suspend), - DEVMETHOD(ifdi_resume, em_if_resume), + DEVMETHOD(ifdi_resume, em_if_resume), DEVMETHOD(ifdi_init, em_if_init), DEVMETHOD(ifdi_stop, em_if_stop), DEVMETHOD(ifdi_msix_intr_assign, em_if_msix_intr_assign), - DEVMETHOD(ifdi_intr_enable, em_if_enable_intr), + DEVMETHOD(ifdi_intr_enable, em_if_enable_intr), DEVMETHOD(ifdi_intr_disable, em_if_disable_intr), DEVMETHOD(ifdi_tx_queues_alloc, em_if_tx_queues_alloc), DEVMETHOD(ifdi_rx_queues_alloc, em_if_rx_queues_alloc), @@ -1401,7 +1401,7 @@ em_msix_link(void *arg) u32 reg_icr; ++adapter->link_irq; - MPASS(adapter->hw.back != NULL); + MPASS(adapter->hw.back != NULL); reg_icr = E1000_READ_REG(&adapter->hw, E1000_ICR); if (reg_icr & E1000_ICR_RXO) @@ -1720,9 +1720,9 @@ em_if_update_admin_status(if_ctx_t ctx) break; /* VF device is type_unknown */ case e1000_media_type_unknown: - e1000_check_for_link(hw); + e1000_check_for_link(hw); link_check = !hw->mac.get_link_status; - /* Fall thru */ + /* FALLTHROUGH */ default: break; } @@ -2536,15 +2536,15 @@ em_reset(if_ctx_t ctx) case e1000_vfadapt_i350: /* 16-byte granularity */ hw->fc.low_water = hw->fc.high_water - 16; - break; - case e1000_ich9lan: - case e1000_ich10lan: + break; + case e1000_ich9lan: + case e1000_ich10lan: if (if_getmtu(ifp) > ETHERMTU) { hw->fc.high_water = 0x2800; hw->fc.low_water = hw->fc.high_water - 8; break; } - /* else fall thru */ + /* FALLTHROUGH */ default: if (hw->mac.type == e1000_80003es2lan) hw->fc.pause_time = 0xFFFF; @@ -2611,7 +2611,7 @@ em_initialize_rss_mapping(struct adapter *adapter) for (i = 0; i < 32; ++i) E1000_WRITE_REG(hw, E1000_RETA(i), reta); - E1000_WRITE_REG(hw, E1000_MRQC, E1000_MRQC_RSS_ENABLE_2Q | + E1000_WRITE_REG(hw, E1000_MRQC, E1000_MRQC_RSS_ENABLE_2Q | E1000_MRQC_RSS_FIELD_IPV4_TCP | E1000_MRQC_RSS_FIELD_IPV4 | E1000_MRQC_RSS_FIELD_IPV6_TCP_EX | @@ -2698,8 +2698,7 @@ igb_initialize_rss_mapping(struct adapter *adapter) arc4rand(&rss_key, sizeof(rss_key), 0); #endif for (i = 0; i < 10; i++) - E1000_WRITE_REG_ARRAY(hw, - E1000_RSSRK(0), i, rss_key[i]); + E1000_WRITE_REG_ARRAY(hw, E1000_RSSRK(0), i, rss_key[i]); /* * Configure the RSS fields to hash upon. @@ -2766,7 +2765,7 @@ em_setup_interface(if_ctx_t ctx) /* Enable only WOL MAGIC by default */ if (adapter->wol) { if_setcapenablebit(ifp, IFCAP_WOL_MAGIC, - IFCAP_WOL_MCAST| IFCAP_WOL_UCAST); + IFCAP_WOL_MCAST| IFCAP_WOL_UCAST); } else { if_setcapenablebit(ifp, 0, IFCAP_WOL_MAGIC | IFCAP_WOL_MCAST| IFCAP_WOL_UCAST); @@ -2838,7 +2837,7 @@ em_if_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, u txr->tx_base = (struct e1000_tx_desc *)vaddrs[i*ntxqs]; txr->tx_paddr = paddrs[i*ntxqs]; } - + device_printf(iflib_get_dev(ctx), "allocated for %d tx_queues\n", adapter->tx_num_queues); return (0); fail: @@ -2863,7 +2862,7 @@ em_if_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, u adapter->rx_num_queues, M_DEVBUF, M_NOWAIT | M_ZERO))) { device_printf(iflib_get_dev(ctx), "Unable to allocate queue memory\n"); error = ENOMEM; - goto fail; + goto fail; } for (i = 0, que = adapter->rx_queues; i < nrxqsets; i++, que++) { @@ -2903,7 +2902,7 @@ em_if_queues_free(if_ctx_t ctx) txr->tx_rsq = NULL; } free(adapter->tx_queues, M_DEVBUF); - adapter->tx_queues = NULL; + adapter->tx_queues = NULL; } if (rx_que != NULL) { @@ -3178,7 +3177,7 @@ em_initialize_receive_unit(if_ctx_t ctx) u64 bus_addr = rxr->rx_paddr; #if 0 u32 rdt = adapter->rx_num_queues -1; /* default */ -#endif +#endif E1000_WRITE_REG(hw, E1000_RDLEN(i), scctx->isc_nrxd[0] * sizeof(union e1000_rx_desc_extended)); @@ -3233,7 +3232,7 @@ em_initialize_receive_unit(if_ctx_t ctx) srrctl |= 2048 >> E1000_SRRCTL_BSIZEPKT_SHIFT; rctl |= E1000_RCTL_SZ_2048; } - + /* * If TX flow control is disabled and there's >1 queue defined, * enable DROP. @@ -3271,7 +3270,7 @@ em_initialize_receive_unit(if_ctx_t ctx) rxdctl &= 0xFFF00000; rxdctl |= IGB_RX_PTHRESH; rxdctl |= IGB_RX_HTHRESH << 8; - rxdctl |= IGB_RX_WTHRESH << 16; + rxdctl |= IGB_RX_WTHRESH << 16; E1000_WRITE_REG(hw, E1000_RXDCTL(i), rxdctl); } } else if (adapter->hw.mac.type >= e1000_pch2lan) { @@ -3400,7 +3399,7 @@ em_if_disable_intr(if_ctx_t ctx) /* * Bit of a misnomer, what this really means is * to enable OS management of the system... aka - * to disable special hardware management features + * to disable special hardware management features */ static void em_init_manageability(struct adapter *adapter) @@ -3786,7 +3785,7 @@ static void em_if_led_func(if_ctx_t ctx, int onoff) { struct adapter *adapter = iflib_get_softc(ctx); - + if (onoff) { e1000_setup_led(&adapter->hw); e1000_led_on(&adapter->hw); @@ -3932,7 +3931,7 @@ static uint64_t em_if_get_counter(if_ctx_t ctx, ift_counter cnt) { struct adapter *adapter = iflib_get_softc(ctx); - struct ifnet *ifp = iflib_get_ifp(ctx); + struct ifnet *ifp = iflib_get_ifp(ctx); switch (cnt) { case IFCOUNTER_COLLISIONS: @@ -3969,7 +3968,7 @@ static void em_add_hw_stats(struct adapter *adapter) { device_t dev = iflib_get_dev(adapter->ctx); - struct em_tx_queue *tx_que = adapter->tx_queues; + struct em_tx_queue *tx_que = adapter->tx_queues; struct em_rx_queue *rx_que = adapter->rx_queues; struct sysctl_ctx_list *ctx = device_get_sysctl_ctx(dev); @@ -4214,7 +4213,7 @@ em_add_hw_stats(struct adapter *adapter) /* Interrupt Stats */ - int_node = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "interrupts", + int_node = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "interrupts", CTLFLAG_RD, NULL, "Interrupt Statistics"); int_list = SYSCTL_CHILDREN(int_node); @@ -4391,7 +4390,7 @@ em_set_flowcntl(SYSCTL_HANDLER_ARGS) case e1000_fc_none: adapter->hw.fc.requested_mode = input; adapter->fc = input; - break; + break; default: /* Do nothing */ return (error); @@ -4439,7 +4438,7 @@ em_sysctl_debug_info(SYSCTL_HANDLER_ARGS) if (result == 1) { adapter = (struct adapter *) arg1; em_print_debug_info(adapter); - } + } return (error); } From owner-svn-src-head@freebsd.org Thu Jul 20 05:43:49 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 95B26DA924C; Thu, 20 Jul 2017 05:43:49 +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 mx1.freebsd.org (Postfix) with ESMTPS id 60126816A4; Thu, 20 Jul 2017 05:43:49 +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 v6K5hmnT052499; Thu, 20 Jul 2017 05:43:48 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6K5hmlD052498; Thu, 20 Jul 2017 05:43:48 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201707200543.v6K5hmlD052498@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 20 Jul 2017 05:43:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321283 - head/usr.bin/procstat X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/usr.bin/procstat X-SVN-Commit-Revision: 321283 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.23 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, 20 Jul 2017 05:43:49 -0000 Author: ngie Date: Thu Jul 20 05:43:48 2017 New Revision: 321283 URL: https://svnweb.freebsd.org/changeset/base/321283 Log: procstat(8): clarify program usage - Visualize mutually exclusive options and their corresponding arguments. - Try to make the subtleties that are expressed in the code, and potentially in the manpages, more apparent. Modified: head/usr.bin/procstat/procstat.c Modified: head/usr.bin/procstat/procstat.c ============================================================================== --- head/usr.bin/procstat/procstat.c Thu Jul 20 04:32:06 2017 (r321282) +++ head/usr.bin/procstat/procstat.c Thu Jul 20 05:43:48 2017 (r321283) @@ -50,12 +50,23 @@ static void usage(void) { - xo_error("usage: procstat [--libxo] [-CHhn] [-M core] " + xo_error( + "usage: procstat [--libxo] [-Hhn] [-M core] " "[-N system] [-w interval]\n" - " [-b | -c | -e | -f | -i | -j | -k | " - "-l | -L | -r | -s | \n" - " -S | -t | -v | -x]\n" - " [-a | pid | core ...]\n"); + " [-S | -b | -c | -e | -i | -j | -k | -kk | " + "-l | -r | -s | \n" + " -t | -v | -x]\n" + " [-a | pid ... | core ...]\n" + " procstat [--libxo] -Cf [-hn] [-M core] " + "[-N system] [-a | pid ... | core ...]\n" + " [-S | -b | -c | -e | -i | -j | -k | -kk | " + "-l | -r | -s | \n" + " procstat [--libxo] -L [-hn] [-M core] " + "[-N system] [-w interval]\n" + " [-S | -b | -c | -e | -i | -j | -k | -kk | " + "-l | -r | -s | \n" + " -t | -v | -x]\n" + " [core ...]\n"); xo_finish(); exit(EX_USAGE); } From owner-svn-src-head@freebsd.org Thu Jul 20 06:47:08 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 42A55DAA0E2; Thu, 20 Jul 2017 06:47:08 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 120E082CA3; Thu, 20 Jul 2017 06:47:08 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6K6l7jO076556; Thu, 20 Jul 2017 06:47:07 GMT (envelope-from rlibby@FreeBSD.org) Received: (from rlibby@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6K6l7Hq076554; Thu, 20 Jul 2017 06:47:07 GMT (envelope-from rlibby@FreeBSD.org) Message-Id: <201707200647.v6K6l7Hq076554@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rlibby set sender to rlibby@FreeBSD.org using -f From: Ryan Libby Date: Thu, 20 Jul 2017 06:47:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321284 - in head/sys: amd64/include sys X-SVN-Group: head X-SVN-Commit-Author: rlibby X-SVN-Commit-Paths: in head/sys: amd64/include sys X-SVN-Commit-Revision: 321284 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.23 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, 20 Jul 2017 06:47:08 -0000 Author: rlibby Date: Thu Jul 20 06:47:06 2017 New Revision: 321284 URL: https://svnweb.freebsd.org/changeset/base/321284 Log: efi: restrict visibility of EFIABI_ATTR-declared functions In-tree gcc (4.2) doesn't understand __attribute__((ms_abi)) (EFIABI_ATTR). Avoid declaring functions with that attribute when the compiler is detected to be gcc < 4.4. Reviewed by: kib, imp (previous version) Approved by: markj (mentor) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D11636 Modified: head/sys/amd64/include/efi.h head/sys/sys/efi.h Modified: head/sys/amd64/include/efi.h ============================================================================== --- head/sys/amd64/include/efi.h Thu Jul 20 05:43:48 2017 (r321283) +++ head/sys/amd64/include/efi.h Thu Jul 20 06:47:06 2017 (r321284) @@ -36,8 +36,14 @@ * XXX: from gcc 6.2 manual: * Note, the ms_abi attribute for Microsoft Windows 64-bit targets * currently requires the -maccumulate-outgoing-args option. + * + * Avoid EFIABI_ATTR declarations for compilers that don't support it. + * GCC support began in version 4.4. */ +#if defined(__clang__) || defined(__GNUC__) && \ + (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4) #define EFIABI_ATTR __attribute__((ms_abi)) +#endif #ifdef _KERNEL struct uuid; Modified: head/sys/sys/efi.h ============================================================================== --- head/sys/sys/efi.h Thu Jul 20 05:43:48 2017 (r321283) +++ head/sys/sys/efi.h Thu Jul 20 06:47:06 2017 (r321284) @@ -122,6 +122,9 @@ struct efi_tblhdr { uint32_t __res; }; +#ifdef _KERNEL + +#ifdef EFIABI_ATTR struct efi_rt { struct efi_tblhdr rt_hdr; efi_status (*rt_gettime)(struct efi_tm *, struct efi_tmcap *) @@ -144,6 +147,7 @@ struct efi_rt { efi_status (*rt_reset)(enum efi_reset, efi_status, u_long, efi_char *) EFIABI_ATTR; }; +#endif struct efi_systbl { struct efi_tblhdr st_hdr; @@ -163,7 +167,6 @@ struct efi_systbl { uint64_t st_cfgtbl; }; -#ifdef _KERNEL extern vm_paddr_t efi_systbl_phys; #endif /* _KERNEL */ From owner-svn-src-head@freebsd.org Thu Jul 20 07:13:27 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6A8E9DAA80C; Thu, 20 Jul 2017 07:13:27 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 38013838A3; Thu, 20 Jul 2017 07:13:27 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6K7DQnJ088674; Thu, 20 Jul 2017 07:13:26 GMT (envelope-from sephe@FreeBSD.org) Received: (from sephe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6K7DQit088673; Thu, 20 Jul 2017 07:13:26 GMT (envelope-from sephe@FreeBSD.org) Message-Id: <201707200713.v6K7DQit088673@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sephe set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau Date: Thu, 20 Jul 2017 07:13:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321286 - head/sys/dev/hyperv/storvsc X-SVN-Group: head X-SVN-Commit-Author: sephe X-SVN-Commit-Paths: head/sys/dev/hyperv/storvsc X-SVN-Commit-Revision: 321286 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.23 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, 20 Jul 2017 07:13:27 -0000 Author: sephe Date: Thu Jul 20 07:13:26 2017 New Revision: 321286 URL: https://svnweb.freebsd.org/changeset/base/321286 Log: hyperv/storvsc: Force SPC3 for CDROM attached. This unbreaks the CDROM attaching on GEN2 VMs. On GEN1 VMs, CDROM is attached to emulated ATA controller. PR: 220790 Submitted by: Hongjiang Zhang MFC after: 3 days Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11634 Modified: head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c Modified: head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c ============================================================================== --- head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c Thu Jul 20 06:54:58 2017 (r321285) +++ head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c Thu Jul 20 07:13:26 2017 (r321286) @@ -2210,6 +2210,23 @@ storvsc_io_done(struct hv_storvsc_request *reqp) resp_buf[3], resp_buf[4]); } /* + * XXX: Hyper-V (since win2012r2) responses inquiry with + * unknown version (0) for GEN-2 DVD device. + * Manually set the version number to SPC3 in order to + * ask CAM to continue probing with "PROBE_REPORT_LUNS". + * see probedone() in scsi_xpt.c + */ + if (SID_TYPE(inq_data) == T_CDROM && + inq_data->version == 0 && + (vmstor_proto_version >= VMSTOR_PROTOCOL_VERSION_WIN8)) { + inq_data->version = SCSI_REV_SPC3; + if (bootverbose) { + xpt_print(ccb->ccb_h.path, + "set version from 0 to %d\n", + inq_data->version); + } + } + /* * XXX: Manually fix the wrong response returned from WS2012 */ if (!is_scsi_valid(inq_data) && @@ -2218,7 +2235,7 @@ storvsc_io_done(struct hv_storvsc_request *reqp) vmstor_proto_version == VMSTOR_PROTOCOL_VERSION_WIN7)) { if (data_len >= 4 && (resp_buf[2] == 0 || resp_buf[3] == 0)) { - resp_buf[2] = 5; // verion=5 means SPC-3 + resp_buf[2] = SCSI_REV_SPC3; resp_buf[3] = 2; // resp fmt must be 2 if (bootverbose) xpt_print(ccb->ccb_h.path, From owner-svn-src-head@freebsd.org Thu Jul 20 08:29:42 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7FB64DAC060; Thu, 20 Jul 2017 08:29:42 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail109.syd.optusnet.com.au (mail109.syd.optusnet.com.au [211.29.132.80]) by mx1.freebsd.org (Postfix) with ESMTP id 2BFD72065; Thu, 20 Jul 2017 08:29:41 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from [192.168.0.102] (c110-21-101-228.carlnfd1.nsw.optusnet.com.au [110.21.101.228]) by mail109.syd.optusnet.com.au (Postfix) with ESMTPS id 04AC2D6A741; Thu, 20 Jul 2017 18:01:15 +1000 (AEST) Date: Thu, 20 Jul 2017 18:01:14 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ryan Libby cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r321284 - in head/sys: amd64/include sys In-Reply-To: <201707200647.v6K6l7Hq076554@repo.freebsd.org> Message-ID: <20170720172157.W1152@besplex.bde.org> References: <201707200647.v6K6l7Hq076554@repo.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=VbSHBBh9 c=1 sm=1 tr=0 a=PalzARQSbocsUSjMRkwAPg==:117 a=PalzARQSbocsUSjMRkwAPg==:17 a=kj9zAlcOel0A:10 a=jI-barIBCsiQtmrUQxoA:9 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 20 Jul 2017 08:29:42 -0000 On Thu, 20 Jul 2017, Ryan Libby wrote: > Log: > efi: restrict visibility of EFIABI_ATTR-declared functions > > In-tree gcc (4.2) doesn't understand __attribute__((ms_abi)) > (EFIABI_ATTR). Avoid declaring functions with that attribute when the > compiler is detected to be gcc < 4.4. Thanks. I used to work around this using -Dms_abi=. > Modified: head/sys/amd64/include/efi.h > ============================================================================== > --- head/sys/amd64/include/efi.h Thu Jul 20 05:43:48 2017 (r321283) > +++ head/sys/amd64/include/efi.h Thu Jul 20 06:47:06 2017 (r321284) > @@ -36,8 +36,14 @@ > * XXX: from gcc 6.2 manual: > * Note, the ms_abi attribute for Microsoft Windows 64-bit targets > * currently requires the -maccumulate-outgoing-args option. > + * > + * Avoid EFIABI_ATTR declarations for compilers that don't support it. > + * GCC support began in version 4.4. > */ > +#if defined(__clang__) || defined(__GNUC__) && \ > + (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4) > #define EFIABI_ATTR __attribute__((ms_abi)) This is still broken. ms_abi is in the application namespace. Thus my hack of defining it to nothing is valid, and so is defining it to 'syntax error', but the latter shows the brokenness of EFIABI_ATTR. > +#endif > > #ifdef _KERNEL > struct uuid; > > Modified: head/sys/sys/efi.h > ============================================================================== > --- head/sys/sys/efi.h Thu Jul 20 05:43:48 2017 (r321283) > +++ head/sys/sys/efi.h Thu Jul 20 06:47:06 2017 (r321284) > @@ -122,6 +122,9 @@ struct efi_tblhdr { > uint32_t __res; > }; > > +#ifdef _KERNEL > + > +#ifdef EFIABI_ATTR > struct efi_rt { > struct efi_tblhdr rt_hdr; > efi_status (*rt_gettime)(struct efi_tm *, struct efi_tmcap *) > @@ -144,6 +147,7 @@ struct efi_rt { > efi_status (*rt_reset)(enum efi_reset, efi_status, u_long, > efi_char *) EFIABI_ATTR; This was more broken when it was outside of _KERNEL. > }; > +#endif > > struct efi_systbl { > struct efi_tblhdr st_hdr; > @@ -163,7 +167,6 @@ struct efi_systbl { > uint64_t st_cfgtbl; > }; > > -#ifdef _KERNEL > extern vm_paddr_t efi_systbl_phys; > #endif /* _KERNEL */ This bug is not very common. There seem to be no instances of it in (only sys/cdefs.h uses __attribute__(()), and it seems to use underscores for all the attributes). Grepping sys/include/*.h for attribute shows the following bugs: X amd64/include/efi.h:#define EFIABI_ATTR __attribute__((ms_abi)) X i386/include/efi.h:#define EFIABI_ATTR /* __attribute__((ms_abi)) */ /* clang fails with this */ X ofed/include/rdma/ib_user_mad.h:typedef unsigned long __attribute__((aligned(4))) packed_ulong; X ofed/include/rdma/ib_smi.h:} __attribute__ ((packed)); X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); The commented-out ms_abi was only a style bug. Now it is a larger style bug -- it is different and worse than amd64. All uses of the packed attribute are bugs since it changes the ABI for compilers that don't use it. ofed has much larger bugs for it: - it hard-codes __attribute__ instead of using __packed from cdefs.h - it mis-hard-codes __attribute__ using the application namespace - it uses gnu style (space before parentheses). Perhaps ofed is supposed to use linux style instead of gnu style, but even linux (2.6.10 include directory) uses no spaces after __attribute__ more than half the time (it has a measly 420 instances with spaces and 538 without. FreeBSD has a whole 30 instances of __attribute__ in cdefs.h and most of the instances not in there are bugs). Grepping sys/*/* for attribute shows the following bugs: X bsm/audit.h:typedef u_int64_t au_asflgs_t __attribute__ ((aligned (8))); X libkern/explicit_bzero.c:__attribute__((weak)) void __explicit_bzero_hook(void *, size_t); X libkern/explicit_bzero.c:__attribute__((weak)) void X net/ieee8023ad_lacp.c: __attribute__((__format__(__printf__, 2, 3))); X net/netmap.h: uint8_t __attribute__((__aligned__(NM_CACHE_ALIGN))) sem[128]; X net/netmap_user.h: static void *__xxzt[] __attribute__ ((unused)) = X netinet/sctp.h:#define SCTP_PACKED __attribute__((packed)) X netinet/sctp_header.h:#define SCTP_PACKED __attribute__((packed)) X netinet/sctp_input.c:__attribute__((noinline)) X netinet/sctp_input.c:__attribute__((noinline)) X netinet/sctp_os_bsd.h:#define SCTP_UNUSED __attribute__((unused)) X opencrypto/gfmult.h:#define __aligned(x) __attribute__((__aligned__(x))) X xen/blkif.h: uint64_t __attribute__((__aligned__(8))) id; X xen/blkif.h: uint64_t __attribute__((__aligned__(8))) id; X xen/xen_intr.h: __attribute__((format(printf, 2, 3))); Almost all can be fixed by using the FreeBSD wrapper in cdefs.h. I think ms_abi is MD so it doesn't belong there, but almost everything else does. Bruce From owner-svn-src-head@freebsd.org Thu Jul 20 09:08:34 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 38758DAD076; Thu, 20 Jul 2017 09:08:34 +0000 (UTC) (envelope-from rlibby@gmail.com) Received: from mail-wr0-x22b.google.com (mail-wr0-x22b.google.com [IPv6:2a00:1450:400c:c0c::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id AC109389B; Thu, 20 Jul 2017 09:08:33 +0000 (UTC) (envelope-from rlibby@gmail.com) Received: by mail-wr0-x22b.google.com with SMTP id v105so37875546wrb.0; Thu, 20 Jul 2017 02:08:33 -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=m9yp+x6BZ6R4WPTNytEwb5cwzMFo+kWSQNxU2+xu4m8=; b=TT7XL+GFUZKOTE/ViLiJLzYMcnuyGlbobj7q/DJleiBLbZ8uZFiMUwr+9CYeKLWzH7 hyKhrIANE/3g+Ua4InNFPUd1drfXBBXjpu/FdQJs0qRGVMe8d+fFGR47cxjM/KAWvNWJ C3WILcXevRRJEnG17S8VIldyMVaV5FIiRyUc58nlizERVEkCeaqL6OebxOlCd6RcFR3N brmm/mCdwYGvyhzU7Dlnrq/LxJnkc3+8DcsqWVeNOgeFNs0qS6gsyOKHGkCPbhTtEB0/ 8gssWvxux9Rr5f3Ko4KGI4xpX4HhUM0Fm5leGmx+npMTIc9E4YTpRjxNM43JlkEqbojC cGYw== 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=m9yp+x6BZ6R4WPTNytEwb5cwzMFo+kWSQNxU2+xu4m8=; b=VMNnWzlgqlnKxScRDQdhC1vl6vSoZd/mGjKJFNknCi5s/kMOM7eaWsUDWO/GU61NE4 NfpDRlGsK7aCXTza9pjU79RKuB3+uK2x92gHEpr7jyVQf0wwl6JW+dqUM1daRZwsdzuu gqeOiAEJwtHlx7fRrAnKp172eXcKGdarTHir4Pm52Yz2bW31CR5rfh43YW9mzSQlCWzP 6UH6P6/RdsFbtYC1FWvvyWhw/EqV4kI/1cklv+6Da3zSUpRpEav3w8JUhKsk+Q0MPxdg JqAHY79hnKs/rLkqFpr9tQreayOx77zrp09ZKzui3rolfNhzMk1ZCgzzTzm7MQZ1v8Kq /4Iw== X-Gm-Message-State: AIVw113sHHk0LUeya1y4fbC2jLtQBp7HMPncd5+PwadGixaf+z7+774k /klyYvi/Ap4yJyFKr66tFgcyMPbX0En8 X-Received: by 10.223.131.67 with SMTP id 61mr6592999wrd.54.1500541711498; Thu, 20 Jul 2017 02:08:31 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.161.72 with HTTP; Thu, 20 Jul 2017 02:08:30 -0700 (PDT) In-Reply-To: <20170720172157.W1152@besplex.bde.org> References: <201707200647.v6K6l7Hq076554@repo.freebsd.org> <20170720172157.W1152@besplex.bde.org> From: Ryan Libby Date: Thu, 20 Jul 2017 02:08:30 -0700 Message-ID: Subject: Re: svn commit: r321284 - in head/sys: amd64/include sys To: Bruce Evans , kib@freebsd.org Cc: Ryan Libby , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 20 Jul 2017 09:08:34 -0000 On Thu, Jul 20, 2017 at 1:01 AM, Bruce Evans wrote: > On Thu, 20 Jul 2017, Ryan Libby wrote: >> Modified: head/sys/amd64/include/efi.h >> >> ============================================================================== >> --- head/sys/amd64/include/efi.h Thu Jul 20 05:43:48 2017 >> (r321283) >> +++ head/sys/amd64/include/efi.h Thu Jul 20 06:47:06 2017 >> (r321284) >> @@ -36,8 +36,14 @@ >> * XXX: from gcc 6.2 manual: >> * Note, the ms_abi attribute for Microsoft Windows 64-bit targets >> * currently requires the -maccumulate-outgoing-args option. >> + * >> + * Avoid EFIABI_ATTR declarations for compilers that don't support it. >> + * GCC support began in version 4.4. >> */ >> +#if defined(__clang__) || defined(__GNUC__) && \ >> + (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4) >> #define EFIABI_ATTR __attribute__((ms_abi)) > > > This is still broken. ms_abi is in the application namespace. Thus > my hack of defining it to nothing is valid, and so is defining it to > 'syntax error', but the latter shows the brokenness of EFIABI_ATTR. To be clear, you're referring to how ms_abi is spelled here without underscores? I can prepare a follow-up to spell it as __attribute__((__ms_abi__)) >> +#endif >> >> #ifdef _KERNEL >> struct uuid; >> >> Modified: head/sys/sys/efi.h >> >> ============================================================================== >> --- head/sys/sys/efi.h Thu Jul 20 05:43:48 2017 (r321283) >> +++ head/sys/sys/efi.h Thu Jul 20 06:47:06 2017 (r321284) >> @@ -122,6 +122,9 @@ struct efi_tblhdr { >> uint32_t __res; >> }; >> >> +#ifdef _KERNEL >> + >> +#ifdef EFIABI_ATTR >> struct efi_rt { >> struct efi_tblhdr rt_hdr; >> efi_status (*rt_gettime)(struct efi_tm *, struct efi_tmcap *) >> @@ -144,6 +147,7 @@ struct efi_rt { >> efi_status (*rt_reset)(enum efi_reset, efi_status, u_long, >> efi_char *) EFIABI_ATTR; > > > This was more broken when it was outside of _KERNEL. > >> }; >> +#endif >> >> struct efi_systbl { >> struct efi_tblhdr st_hdr; >> @@ -163,7 +167,6 @@ struct efi_systbl { >> uint64_t st_cfgtbl; >> }; >> >> -#ifdef _KERNEL >> extern vm_paddr_t efi_systbl_phys; >> #endif /* _KERNEL */ > > > This bug is not very common. There seem to be no instances of it in > (only sys/cdefs.h uses __attribute__(()), and it seems to use > underscores for all the attributes). Grepping sys/include/*.h for > attribute shows the following bugs: > > X amd64/include/efi.h:#define EFIABI_ATTR __attribute__((ms_abi)) > X i386/include/efi.h:#define EFIABI_ATTR /* __attribute__((ms_abi)) */ /* clang fails with this */ > X ofed/include/rdma/ib_user_mad.h:typedef unsigned long __attribute__((aligned(4))) packed_ulong; > X ofed/include/rdma/ib_smi.h:} __attribute__ ((packed)); > X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); > X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); > > The commented-out ms_abi was only a style bug. Now it is a larger style > bug -- it is different and worse than amd64. I'm not sure what to do about i386 there (again beyond fixing up the spelling in the comment). Maybe the unsupported architectures should just not be declaring EFIABI_ATTR at all? (Thoughts, kib?) From owner-svn-src-head@freebsd.org Thu Jul 20 09:19:45 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A23DDAD581; Thu, 20 Jul 2017 09:19:45 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail110.syd.optusnet.com.au (mail110.syd.optusnet.com.au [211.29.132.97]) by mx1.freebsd.org (Postfix) with ESMTP id 212506359A; Thu, 20 Jul 2017 09:19:44 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from [192.168.0.102] (c110-21-101-228.carlnfd1.nsw.optusnet.com.au [110.21.101.228]) by mail110.syd.optusnet.com.au (Postfix) with ESMTPS id 77AF0106124; Thu, 20 Jul 2017 19:19:37 +1000 (AEST) Date: Thu, 20 Jul 2017 19:19:36 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ryan Libby cc: Bruce Evans , kib@freebsd.org, Ryan Libby , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r321284 - in head/sys: amd64/include sys In-Reply-To: Message-ID: <20170720190955.U1634@besplex.bde.org> References: <201707200647.v6K6l7Hq076554@repo.freebsd.org> <20170720172157.W1152@besplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=VbSHBBh9 c=1 sm=1 tr=0 a=PalzARQSbocsUSjMRkwAPg==:117 a=PalzARQSbocsUSjMRkwAPg==:17 a=kj9zAlcOel0A:10 a=PO7r1zJSAAAA:8 a=hSAPkCe7wNuG41XxVuwA:9 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 20 Jul 2017 09:19:45 -0000 On Thu, 20 Jul 2017, Ryan Libby wrote: > On Thu, Jul 20, 2017 at 1:01 AM, Bruce Evans wrote: >> On Thu, 20 Jul 2017, Ryan Libby wrote: >>> Modified: head/sys/amd64/include/efi.h >>> >>> ============================================================================== >>> --- head/sys/amd64/include/efi.h Thu Jul 20 05:43:48 2017 >>> (r321283) >>> +++ head/sys/amd64/include/efi.h Thu Jul 20 06:47:06 2017 >>> (r321284) >>> @@ -36,8 +36,14 @@ >>> * XXX: from gcc 6.2 manual: >>> * Note, the ms_abi attribute for Microsoft Windows 64-bit targets >>> * currently requires the -maccumulate-outgoing-args option. >>> + * >>> + * Avoid EFIABI_ATTR declarations for compilers that don't support it. >>> + * GCC support began in version 4.4. >>> */ >>> +#if defined(__clang__) || defined(__GNUC__) && \ >>> + (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4) >>> #define EFIABI_ATTR __attribute__((ms_abi)) >> >> >> This is still broken. ms_abi is in the application namespace. Thus >> my hack of defining it to nothing is valid, and so is defining it to >> 'syntax error', but the latter shows the brokenness of EFIABI_ATTR. > > To be clear, you're referring to how ms_abi is spelled here without > underscores? I can prepare a follow-up to spell it as > __attribute__((__ms_abi__)) Yes. >> ... >> X amd64/include/efi.h:#define EFIABI_ATTR __attribute__((ms_abi)) >> X i386/include/efi.h:#define EFIABI_ATTR /* __attribute__((ms_abi)) */ /* clang fails with this */ >> X ofed/include/rdma/ib_user_mad.h:typedef unsigned long __attribute__((aligned(4))) packed_ulong; >> X ofed/include/rdma/ib_smi.h:} __attribute__ ((packed)); >> X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); >> X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); >> >> The commented-out ms_abi was only a style bug. Now it is a larger style >> bug -- it is different and worse than amd64. > > I'm not sure what to do about i386 there (again beyond fixing up the > spelling in the comment). Maybe the unsupported architectures should > just not be declaring EFIABI_ATTR at all? (Thoughts, kib?) Maybe it can go in x86 with a different ifdef for clang. Or if it just doesn't work on i386, don't define or use EFIABI_ATTR. Bruce From owner-svn-src-head@freebsd.org Thu Jul 20 10:33:31 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4C52CC08C5F; Thu, 20 Jul 2017 10:33:31 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::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 E8DCD65AE1; Thu, 20 Jul 2017 10:33:30 +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 v6KAXOJj047365 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 20 Jul 2017 13:33:24 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v6KAXOJj047365 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v6KAXOVa047364; Thu, 20 Jul 2017 13:33:24 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 20 Jul 2017 13:33:24 +0300 From: Konstantin Belousov To: Ryan Libby Cc: Bruce Evans , Ryan Libby , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r321284 - in head/sys: amd64/include sys Message-ID: <20170720103323.GG1935@kib.kiev.ua> References: <201707200647.v6K6l7Hq076554@repo.freebsd.org> <20170720172157.W1152@besplex.bde.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.3 (2017-05-23) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 20 Jul 2017 10:33:31 -0000 On Thu, Jul 20, 2017 at 02:08:30AM -0700, Ryan Libby wrote: > On Thu, Jul 20, 2017 at 1:01 AM, Bruce Evans wrote: > > On Thu, 20 Jul 2017, Ryan Libby wrote: > >> Modified: head/sys/amd64/include/efi.h > >> > >> ============================================================================== > >> --- head/sys/amd64/include/efi.h Thu Jul 20 05:43:48 2017 > >> (r321283) > >> +++ head/sys/amd64/include/efi.h Thu Jul 20 06:47:06 2017 > >> (r321284) > >> @@ -36,8 +36,14 @@ > >> * XXX: from gcc 6.2 manual: > >> * Note, the ms_abi attribute for Microsoft Windows 64-bit targets > >> * currently requires the -maccumulate-outgoing-args option. > >> + * > >> + * Avoid EFIABI_ATTR declarations for compilers that don't support it. > >> + * GCC support began in version 4.4. > >> */ > >> +#if defined(__clang__) || defined(__GNUC__) && \ > >> + (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4) > >> #define EFIABI_ATTR __attribute__((ms_abi)) > > > > > > This is still broken. ms_abi is in the application namespace. Thus > > my hack of defining it to nothing is valid, and so is defining it to > > 'syntax error', but the latter shows the brokenness of EFIABI_ATTR. > > To be clear, you're referring to how ms_abi is spelled here without > underscores? I can prepare a follow-up to spell it as > __attribute__((__ms_abi__)) Spelling it __ms_abi__ is fine but perhaphs unnecessary because it is used only under _KERNEL. I do not object against changing the spelling, of course. > > >> +#endif > >> > >> #ifdef _KERNEL > >> struct uuid; > >> > >> Modified: head/sys/sys/efi.h > >> > >> ============================================================================== > >> --- head/sys/sys/efi.h Thu Jul 20 05:43:48 2017 (r321283) > >> +++ head/sys/sys/efi.h Thu Jul 20 06:47:06 2017 (r321284) > >> @@ -122,6 +122,9 @@ struct efi_tblhdr { > >> uint32_t __res; > >> }; > >> > >> +#ifdef _KERNEL > >> + > >> +#ifdef EFIABI_ATTR > >> struct efi_rt { > >> struct efi_tblhdr rt_hdr; > >> efi_status (*rt_gettime)(struct efi_tm *, struct efi_tmcap *) > >> @@ -144,6 +147,7 @@ struct efi_rt { > >> efi_status (*rt_reset)(enum efi_reset, efi_status, u_long, > >> efi_char *) EFIABI_ATTR; > > > > > > This was more broken when it was outside of _KERNEL. > > > >> }; > >> +#endif > >> > >> struct efi_systbl { > >> struct efi_tblhdr st_hdr; > >> @@ -163,7 +167,6 @@ struct efi_systbl { > >> uint64_t st_cfgtbl; > >> }; > >> > >> -#ifdef _KERNEL > >> extern vm_paddr_t efi_systbl_phys; > >> #endif /* _KERNEL */ > > > > > > This bug is not very common. There seem to be no instances of it in > > (only sys/cdefs.h uses __attribute__(()), and it seems to use > > underscores for all the attributes). Grepping sys/include/*.h for > > attribute shows the following bugs: > > > > X amd64/include/efi.h:#define EFIABI_ATTR __attribute__((ms_abi)) > > X i386/include/efi.h:#define EFIABI_ATTR /* __attribute__((ms_abi)) */ /* clang fails with this */ > > X ofed/include/rdma/ib_user_mad.h:typedef unsigned long __attribute__((aligned(4))) packed_ulong; > > X ofed/include/rdma/ib_smi.h:} __attribute__ ((packed)); > > X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); > > X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); > > > > The commented-out ms_abi was only a style bug. Now it is a larger style > > bug -- it is different and worse than amd64. > > I'm not sure what to do about i386 there (again beyond fixing up the > spelling in the comment). Maybe the unsupported architectures should > just not be declaring EFIABI_ATTR at all? (Thoughts, kib?) I think i386 should be treated exactly same as amd64, i.e. EFIABI_ATTR should be not defined if gcc < 4.4. Or I do not understand the scope of the question. From owner-svn-src-head@freebsd.org Thu Jul 20 11:09:35 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 193C2C0979D; Thu, 20 Jul 2017 11:09:35 +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 mx1.freebsd.org (Postfix) with ESMTPS id E788E66A89; Thu, 20 Jul 2017 11:09:34 +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 v6KB9Y0S083149; Thu, 20 Jul 2017 11:09:34 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KB9XAe083147; Thu, 20 Jul 2017 11:09:33 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201707201109.v6KB9XAe083147@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 20 Jul 2017 11:09:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321289 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 321289 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.23 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, 20 Jul 2017 11:09:35 -0000 Author: tuexen Date: Thu Jul 20 11:09:33 2017 New Revision: 321289 URL: https://svnweb.freebsd.org/changeset/base/321289 Log: Fix the explicit EOR mode. If the final messages is not complete, send an ABORT. Joint work with rrs@ MFC after: 1 week Modified: head/sys/netinet/sctp_indata.c head/sys/netinet/sctp_ss_functions.c Modified: head/sys/netinet/sctp_indata.c ============================================================================== --- head/sys/netinet/sctp_indata.c Thu Jul 20 09:35:39 2017 (r321288) +++ head/sys/netinet/sctp_indata.c Thu Jul 20 11:09:33 2017 (r321289) @@ -4293,47 +4293,44 @@ again: ((*asoc->ss_functions.sctp_ss_is_user_msgs_incomplete) (stcb, asoc))) { asoc->state |= SCTP_STATE_PARTIAL_MSG_LEFT; } + if (((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) || + (SCTP_GET_STATE(asoc) == SCTP_STATE_SHUTDOWN_RECEIVED)) && + (asoc->stream_queue_cnt == 1) && + (asoc->state & SCTP_STATE_PARTIAL_MSG_LEFT)) { + struct mbuf *op_err; + + *abort_now = 1; + /* XXX */ + op_err = sctp_generate_cause(SCTP_CAUSE_USER_INITIATED_ABT, ""); + stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_24; + sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, SCTP_SO_NOT_LOCKED); + return; + } if ((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) && (asoc->stream_queue_cnt == 0)) { - if (asoc->state & SCTP_STATE_PARTIAL_MSG_LEFT) { - /* Need to abort here */ - struct mbuf *op_err; + struct sctp_nets *netp; - abort_out_now: - *abort_now = 1; - /* XXX */ - op_err = sctp_generate_cause(SCTP_CAUSE_USER_INITIATED_ABT, ""); - stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_24; - sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, SCTP_SO_NOT_LOCKED); - return; + if ((SCTP_GET_STATE(asoc) == SCTP_STATE_OPEN) || + (SCTP_GET_STATE(asoc) == SCTP_STATE_SHUTDOWN_RECEIVED)) { + SCTP_STAT_DECR_GAUGE32(sctps_currestab); + } + SCTP_SET_STATE(asoc, SCTP_STATE_SHUTDOWN_SENT); + SCTP_CLEAR_SUBSTATE(asoc, SCTP_STATE_SHUTDOWN_PENDING); + sctp_stop_timers_for_shutdown(stcb); + if (asoc->alternate) { + netp = asoc->alternate; } else { - struct sctp_nets *netp; - - if ((SCTP_GET_STATE(asoc) == SCTP_STATE_OPEN) || - (SCTP_GET_STATE(asoc) == SCTP_STATE_SHUTDOWN_RECEIVED)) { - SCTP_STAT_DECR_GAUGE32(sctps_currestab); - } - SCTP_SET_STATE(asoc, SCTP_STATE_SHUTDOWN_SENT); - SCTP_CLEAR_SUBSTATE(asoc, SCTP_STATE_SHUTDOWN_PENDING); - sctp_stop_timers_for_shutdown(stcb); - if (asoc->alternate) { - netp = asoc->alternate; - } else { - netp = asoc->primary_destination; - } - sctp_send_shutdown(stcb, netp); - sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, - stcb->sctp_ep, stcb, netp); - sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, netp); + netp = asoc->primary_destination; } + sctp_send_shutdown(stcb, netp); + sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, + stcb->sctp_ep, stcb, netp); + sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, + stcb->sctp_ep, stcb, netp); } else if ((SCTP_GET_STATE(asoc) == SCTP_STATE_SHUTDOWN_RECEIVED) && (asoc->stream_queue_cnt == 0)) { struct sctp_nets *netp; - if (asoc->state & SCTP_STATE_PARTIAL_MSG_LEFT) { - goto abort_out_now; - } SCTP_STAT_DECR_GAUGE32(sctps_currestab); SCTP_SET_STATE(asoc, SCTP_STATE_SHUTDOWN_ACK_SENT); SCTP_CLEAR_SUBSTATE(asoc, SCTP_STATE_SHUTDOWN_PENDING); @@ -4989,48 +4986,45 @@ hopeless_peer: ((*asoc->ss_functions.sctp_ss_is_user_msgs_incomplete) (stcb, asoc))) { asoc->state |= SCTP_STATE_PARTIAL_MSG_LEFT; } + if (((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) || + (SCTP_GET_STATE(asoc) == SCTP_STATE_SHUTDOWN_RECEIVED)) && + (asoc->stream_queue_cnt == 1) && + (asoc->state & SCTP_STATE_PARTIAL_MSG_LEFT)) { + struct mbuf *op_err; + + *abort_now = 1; + /* XXX */ + op_err = sctp_generate_cause(SCTP_CAUSE_USER_INITIATED_ABT, ""); + stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_24; + sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, SCTP_SO_NOT_LOCKED); + return; + } if ((asoc->state & SCTP_STATE_SHUTDOWN_PENDING) && (asoc->stream_queue_cnt == 0)) { - if (asoc->state & SCTP_STATE_PARTIAL_MSG_LEFT) { - /* Need to abort here */ - struct mbuf *op_err; + struct sctp_nets *netp; - abort_out_now: - *abort_now = 1; - /* XXX */ - op_err = sctp_generate_cause(SCTP_CAUSE_USER_INITIATED_ABT, ""); - stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_INDATA + SCTP_LOC_31; - sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, SCTP_SO_NOT_LOCKED); - return; + if ((SCTP_GET_STATE(asoc) == SCTP_STATE_OPEN) || + (SCTP_GET_STATE(asoc) == SCTP_STATE_SHUTDOWN_RECEIVED)) { + SCTP_STAT_DECR_GAUGE32(sctps_currestab); + } + SCTP_SET_STATE(asoc, SCTP_STATE_SHUTDOWN_SENT); + SCTP_CLEAR_SUBSTATE(asoc, SCTP_STATE_SHUTDOWN_PENDING); + sctp_stop_timers_for_shutdown(stcb); + if (asoc->alternate) { + netp = asoc->alternate; } else { - struct sctp_nets *netp; - - if ((SCTP_GET_STATE(asoc) == SCTP_STATE_OPEN) || - (SCTP_GET_STATE(asoc) == SCTP_STATE_SHUTDOWN_RECEIVED)) { - SCTP_STAT_DECR_GAUGE32(sctps_currestab); - } - SCTP_SET_STATE(asoc, SCTP_STATE_SHUTDOWN_SENT); - SCTP_CLEAR_SUBSTATE(asoc, SCTP_STATE_SHUTDOWN_PENDING); - sctp_stop_timers_for_shutdown(stcb); - if (asoc->alternate) { - netp = asoc->alternate; - } else { - netp = asoc->primary_destination; - } - sctp_send_shutdown(stcb, netp); - sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, - stcb->sctp_ep, stcb, netp); - sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, netp); + netp = asoc->primary_destination; } + sctp_send_shutdown(stcb, netp); + sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, + stcb->sctp_ep, stcb, netp); + sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, + stcb->sctp_ep, stcb, netp); return; } else if ((SCTP_GET_STATE(asoc) == SCTP_STATE_SHUTDOWN_RECEIVED) && (asoc->stream_queue_cnt == 0)) { struct sctp_nets *netp; - if (asoc->state & SCTP_STATE_PARTIAL_MSG_LEFT) { - goto abort_out_now; - } SCTP_STAT_DECR_GAUGE32(sctps_currestab); SCTP_SET_STATE(asoc, SCTP_STATE_SHUTDOWN_ACK_SENT); SCTP_CLEAR_SUBSTATE(asoc, SCTP_STATE_SHUTDOWN_PENDING); Modified: head/sys/netinet/sctp_ss_functions.c ============================================================================== --- head/sys/netinet/sctp_ss_functions.c Thu Jul 20 09:35:39 2017 (r321288) +++ head/sys/netinet/sctp_ss_functions.c Thu Jul 20 11:09:33 2017 (r321289) @@ -268,9 +268,23 @@ sctp_ss_default_set_value(struct sctp_tcb *stcb SCTP_U } static int -sctp_ss_default_is_user_msgs_incomplete(struct sctp_tcb *stcb SCTP_UNUSED, struct sctp_association *asoc SCTP_UNUSED) +sctp_ss_default_is_user_msgs_incomplete(struct sctp_tcb *stcb SCTP_UNUSED, struct sctp_association *asoc) { - return (0); + struct sctp_stream_out *strq; + struct sctp_stream_queue_pending *sp; + + if (asoc->stream_queue_cnt != 1) { + return (0); + } + strq = asoc->ss_data.locked_on_sending; + if (strq == NULL) { + return (0); + } + sp = TAILQ_FIRST(&strq->outqueue); + if (sp == NULL) { + return (0); + } + return (!sp->msg_is_complete); } /* From owner-svn-src-head@freebsd.org Thu Jul 20 14:50:15 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1D5C3C79CC8; Thu, 20 Jul 2017 14:50:15 +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 mx1.freebsd.org (Postfix) with ESMTPS id DE2AF6C543; Thu, 20 Jul 2017 14:50:14 +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 v6KEoDY0072461; Thu, 20 Jul 2017 14:50:13 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KEoDJ3072460; Thu, 20 Jul 2017 14:50:13 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201707201450.v6KEoDJ3072460@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 20 Jul 2017 14:50:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321292 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 321292 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.23 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, 20 Jul 2017 14:50:15 -0000 Author: tuexen Date: Thu Jul 20 14:50:13 2017 New Revision: 321292 URL: https://svnweb.freebsd.org/changeset/base/321292 Log: Deal with listening socket correctly. Modified: head/sys/netinet/sctp_os_bsd.h Modified: head/sys/netinet/sctp_os_bsd.h ============================================================================== --- head/sys/netinet/sctp_os_bsd.h Thu Jul 20 11:37:02 2017 (r321291) +++ head/sys/netinet/sctp_os_bsd.h Thu Jul 20 14:50:13 2017 (r321292) @@ -392,8 +392,8 @@ typedef struct callout sctp_os_timer_t; (sb).sb_mb = NULL; \ (sb).sb_mbcnt = 0; -#define SCTP_SB_LIMIT_RCV(so) so->so_rcv.sb_hiwat -#define SCTP_SB_LIMIT_SND(so) so->so_snd.sb_hiwat +#define SCTP_SB_LIMIT_RCV(so) (SOLISTENING(so) ? so->sol_sbrcv_hiwat : so->so_rcv.sb_hiwat) +#define SCTP_SB_LIMIT_SND(so) (SOLISTENING(so) ? so->sol_sbsnd_hiwat : so->so_snd.sb_hiwat) /* * routes, output, etc. From owner-svn-src-head@freebsd.org Thu Jul 20 15:28:50 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 02897C7A69F; Thu, 20 Jul 2017 15:28:50 +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 mx1.freebsd.org (Postfix) with ESMTPS id C0AEA6D505; Thu, 20 Jul 2017 15:28:49 +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 v6KFSmnc088614; Thu, 20 Jul 2017 15:28:48 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KFSmGR088613; Thu, 20 Jul 2017 15:28:48 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707201528.v6KFSmGR088613@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 20 Jul 2017 15:28:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321293 - head/bin/date X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/bin/date X-SVN-Commit-Revision: 321293 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.23 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, 20 Jul 2017 15:28:50 -0000 Author: emaste Date: Thu Jul 20 15:28:48 2017 New Revision: 321293 URL: https://svnweb.freebsd.org/changeset/base/321293 Log: date: avoid crash on invalid time localtime(3) returns NULL when passed an invalid time_t but date(1) previously did not handle it. Exit with an error in that case. PR: 220828 Reported by: Vinícius Zavam Reviewed by: cem, kevans Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D11660 Modified: head/bin/date/date.c Modified: head/bin/date/date.c ============================================================================== --- head/bin/date/date.c Thu Jul 20 14:50:13 2017 (r321292) +++ head/bin/date/date.c Thu Jul 20 15:28:48 2017 (r321293) @@ -85,7 +85,7 @@ main(int argc, char *argv[]) int set_timezone; struct vary *v; const struct vary *badv; - struct tm lt; + struct tm *lt; struct stat sb; v = NULL; @@ -174,8 +174,10 @@ main(int argc, char *argv[]) if (*argv && **argv == '+') format = *argv + 1; - lt = *localtime(&tval); - badv = vary_apply(v, <); + lt = localtime(&tval); + if (lt == NULL) + errx(1, "invalid time"); + badv = vary_apply(v, lt); if (badv) { fprintf(stderr, "%s: Cannot apply date adjustment\n", badv->arg); @@ -191,7 +193,7 @@ main(int argc, char *argv[]) */ setlocale(LC_TIME, "C"); - (void)strftime(buf, sizeof(buf), format, <); + (void)strftime(buf, sizeof(buf), format, lt); (void)printf("%s\n", buf); if (fflush(stdout)) err(1, "stdout"); @@ -210,6 +212,8 @@ setthetime(const char *fmt, const char *p, int jflag, int century; lt = localtime(&tval); + if (lt == NULL) + errx(1, "invalid time"); lt->tm_isdst = -1; /* divine correct DST */ if (fmt != NULL) { From owner-svn-src-head@freebsd.org Thu Jul 20 15:52:37 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 554B4C7AE73; Thu, 20 Jul 2017 15:52: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 mx1.freebsd.org (Postfix) with ESMTPS id 2BEC96E597; Thu, 20 Jul 2017 15:52:37 +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 v6KFqaUL001511; Thu, 20 Jul 2017 15:52:36 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KFqaku001510; Thu, 20 Jul 2017 15:52:36 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707201552.v6KFqaku001510@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 20 Jul 2017 15:52:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321294 - head/usr.sbin/acpi/acpidump X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/usr.sbin/acpi/acpidump X-SVN-Commit-Revision: 321294 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.23 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, 20 Jul 2017 15:52:37 -0000 Author: emaste Date: Thu Jul 20 15:52:36 2017 New Revision: 321294 URL: https://svnweb.freebsd.org/changeset/base/321294 Log: acpidump: use C99 designated initializers Submitted by: Guangyuan Yang Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D11659 Modified: head/usr.sbin/acpi/acpidump/acpi.c Modified: head/usr.sbin/acpi/acpidump/acpi.c ============================================================================== --- head/usr.sbin/acpi/acpidump/acpi.c Thu Jul 20 15:28:48 2017 (r321293) +++ head/usr.sbin/acpi/acpidump/acpi.c Thu Jul 20 15:52:36 2017 (r321294) @@ -392,16 +392,25 @@ acpi_print_local_nmi(u_int lint, uint16_t mps_flags) acpi_print_mps_flags(mps_flags); } -static const char *apic_types[] = { "Local APIC", "IO APIC", "INT Override", - "NMI", "Local APIC NMI", - "Local APIC Override", "IO SAPIC", - "Local SAPIC", "Platform Interrupt", - "Local X2APIC", "Local X2APIC NMI", - "GIC CPU Interface Structure", - "GIC Distributor Structure", - "GICv2m MSI Frame", - "GIC Redistributor Structure", - "GIC ITS Structure" }; +static const char *apic_types[] = { + [ACPI_MADT_TYPE_LOCAL_APIC] = "Local APIC", + [ACPI_MADT_TYPE_IO_APIC] = "IO APIC", + [ACPI_MADT_TYPE_INTERRUPT_OVERRIDE] = "INT Override", + [ACPI_MADT_TYPE_NMI_SOURCE] = "NMI", + [ACPI_MADT_TYPE_LOCAL_APIC_NMI] = "Local APIC NMI", + [ACPI_MADT_TYPE_LOCAL_APIC_OVERRIDE] = "Local APIC Override", + [ACPI_MADT_TYPE_IO_SAPIC] = "IO SAPIC", + [ACPI_MADT_TYPE_LOCAL_SAPIC] = "Local SAPIC", + [ACPI_MADT_TYPE_INTERRUPT_SOURCE] = "Platform Interrupt", + [ACPI_MADT_TYPE_LOCAL_X2APIC] = "Local X2APIC", + [ACPI_MADT_TYPE_LOCAL_X2APIC_NMI] = "Local X2APIC NMI", + [ACPI_MADT_TYPE_GENERIC_INTERRUPT] = "GIC CPU Interface Structure", + [ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR] = "GIC Distributor Structure", + [ACPI_MADT_TYPE_GENERIC_MSI_FRAME] = "GICv2m MSI Frame", + [ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR] = "GIC Redistributor Structure", + [ACPI_MADT_TYPE_GENERIC_TRANSLATOR] = "GIC ITS Structure" +}; + static const char *platform_int_types[] = { "0 (unknown)", "PMI", "INIT", "Corrected Platform Error" }; @@ -1076,7 +1085,12 @@ acpi_print_srat_memory(ACPI_SRAT_MEM_AFFINITY *mp) printf("\tProximity Domain=%d\n", mp->ProximityDomain); } -static const char *srat_types[] = { "CPU", "Memory", "X2APIC", "GICC" }; +static const char *srat_types[] = { + [ACPI_SRAT_TYPE_CPU_AFFINITY] = "CPU", + [ACPI_SRAT_TYPE_MEMORY_AFFINITY] = "Memory", + [ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY] = "X2APIC", + [ACPI_SRAT_TYPE_GICC_AFFINITY] = "GICC" +}; static void acpi_print_srat(ACPI_SUBTABLE_HEADER *srat) From owner-svn-src-head@freebsd.org Thu Jul 20 16:24:31 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 19FB1C7B710; Thu, 20 Jul 2017 16:24:31 +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 mx1.freebsd.org (Postfix) with ESMTPS id D10C66F6E6; Thu, 20 Jul 2017 16:24:30 +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 v6KGOTP8014888; Thu, 20 Jul 2017 16:24:29 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KGOTme014885; Thu, 20 Jul 2017 16:24:29 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201707201624.v6KGOTme014885@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Thu, 20 Jul 2017 16:24:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321295 - in head/lib: libc/sys librt X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in head/lib: libc/sys librt X-SVN-Commit-Revision: 321295 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.23 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, 20 Jul 2017 16:24:31 -0000 Author: asomers Date: Thu Jul 20 16:24:29 2017 New Revision: 321295 URL: https://svnweb.freebsd.org/changeset/base/321295 Log: Remove some private symbols from librt Private functions like __aio_read and _aio_read were exposed in FBSDprivate_1.0 by r169090, even though they've never been used outside of librt. Also, remove some weak references from r156136 that have never resolved. Reviewed by: kib MFC after: 3 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D11649 Modified: head/lib/libc/sys/Symbol.map head/lib/librt/Symbol.map head/lib/librt/aio.c Modified: head/lib/libc/sys/Symbol.map ============================================================================== --- head/lib/libc/sys/Symbol.map Thu Jul 20 15:52:36 2017 (r321294) +++ head/lib/libc/sys/Symbol.map Thu Jul 20 16:24:29 2017 (r321295) @@ -469,21 +469,13 @@ FBSDprivate_1.0 { __sys_acct; _adjtime; __sys_adjtime; - _aio_cancel; __sys_aio_cancel; - _aio_error; __sys_aio_error; - _aio_fsync; __sys_aio_fsync; - _aio_read; __sys_aio_read; - _aio_return; __sys_aio_return; - _aio_suspend; __sys_aio_suspend; - _aio_waitcomplete; __sys_aio_waitcomplete; - _aio_write; __sys_aio_write; _audit; __sys_audit; @@ -727,7 +719,6 @@ FBSDprivate_1.0 { __sys_lgetfh; _link; __sys_link; - _lio_listio; __sys_lio_listio; _listen; __sys_listen; Modified: head/lib/librt/Symbol.map ============================================================================== --- head/lib/librt/Symbol.map Thu Jul 20 15:52:36 2017 (r321294) +++ head/lib/librt/Symbol.map Thu Jul 20 16:24:29 2017 (r321295) @@ -31,16 +31,6 @@ FBSD_1.5 { }; FBSDprivate_1.0 { - _aio_read; - _aio_write; - _aio_return; - _aio_waitcomplete; - _aio_fsync; - __aio_read; - __aio_write; - __aio_return; - __aio_waitcomplete; - __aio_fsync; _mq_open; _mq_close; _mq_notify; Modified: head/lib/librt/aio.c ============================================================================== --- head/lib/librt/aio.c Thu Jul 20 15:52:36 2017 (r321294) +++ head/lib/librt/aio.c Thu Jul 20 16:24:29 2017 (r321295) @@ -39,15 +39,10 @@ #include "sigev_thread.h" #include "un-namespace.h" -__weak_reference(__aio_read, _aio_read); __weak_reference(__aio_read, aio_read); -__weak_reference(__aio_write, _aio_write); __weak_reference(__aio_write, aio_write); -__weak_reference(__aio_return, _aio_return); __weak_reference(__aio_return, aio_return); -__weak_reference(__aio_waitcomplete, _aio_waitcomplete); __weak_reference(__aio_waitcomplete, aio_waitcomplete); -__weak_reference(__aio_fsync, _aio_fsync); __weak_reference(__aio_fsync, aio_fsync); typedef void (*aio_func)(union sigval val, struct aiocb *iocb); From owner-svn-src-head@freebsd.org Thu Jul 20 17:31:28 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DCC1FC7CB7E; Thu, 20 Jul 2017 17:31:28 +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 mx1.freebsd.org (Postfix) with ESMTPS id B8E5A7160E; Thu, 20 Jul 2017 17:31:28 +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 v6KHVROu039149; Thu, 20 Jul 2017 17:31:27 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KHVRKZ039148; Thu, 20 Jul 2017 17:31:27 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707201731.v6KHVRKZ039148@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 20 Jul 2017 17:31:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321298 - head/usr.sbin/acpi/acpidump X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/usr.sbin/acpi/acpidump X-SVN-Commit-Revision: 321298 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.23 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, 20 Jul 2017 17:31:29 -0000 Author: emaste Date: Thu Jul 20 17:31:27 2017 New Revision: 321298 URL: https://svnweb.freebsd.org/changeset/base/321298 Log: acpidump: add ACPI NFIT (NVDIMM Firmware Interface Table) Submitted by: Guangyuan Yang MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D11479 Modified: head/usr.sbin/acpi/acpidump/acpi.c Modified: head/usr.sbin/acpi/acpidump/acpi.c ============================================================================== --- head/usr.sbin/acpi/acpidump/acpi.c Thu Jul 20 17:22:10 2017 (r321297) +++ head/usr.sbin/acpi/acpidump/acpi.c Thu Jul 20 17:31:27 2017 (r321298) @@ -40,6 +40,7 @@ #include #include #include +#include #include "acpidump.h" @@ -70,6 +71,8 @@ static void acpi_print_srat_memory(ACPI_SRAT_MEM_AFFIN static void acpi_print_srat(ACPI_SUBTABLE_HEADER *srat); static void acpi_handle_srat(ACPI_TABLE_HEADER *sdp); static void acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp); +static void acpi_print_nfit(ACPI_NFIT_HEADER *nfit); +static void acpi_handle_nfit(ACPI_TABLE_HEADER *sdp); static void acpi_print_sdt(ACPI_TABLE_HEADER *sdp); static void acpi_print_fadt(ACPI_TABLE_HEADER *sdp); static void acpi_print_facs(ACPI_TABLE_FACS *facs); @@ -79,6 +82,8 @@ static void acpi_print_rsd_ptr(ACPI_TABLE_RSDP *rp); static void acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp); static void acpi_walk_subtables(ACPI_TABLE_HEADER *table, void *first, void (*action)(ACPI_SUBTABLE_HEADER *)); +static void acpi_walk_nfit(ACPI_TABLE_HEADER *table, void *first, + void (*action)(ACPI_NFIT_HEADER *)); /* Size of an address. 32-bit for ACPI 1.0, 64-bit for ACPI 2.0 and up. */ static int addr_size; @@ -281,6 +286,27 @@ acpi_walk_subtables(ACPI_TABLE_HEADER *table, void *fi } static void +acpi_walk_nfit(ACPI_TABLE_HEADER *table, void *first, + void (*action)(ACPI_NFIT_HEADER *)) +{ + ACPI_NFIT_HEADER *subtable; + char *end; + + subtable = first; + end = (char *)table + table->Length; + while ((char *)subtable < end) { + printf("\n"); + if (subtable->Length < sizeof(ACPI_NFIT_HEADER)) { + warnx("invalid subtable length %u", subtable->Length); + return; + } + action(subtable); + subtable = (ACPI_NFIT_HEADER *)((char *)subtable + + subtable->Length); + } +} + +static void acpi_print_cpu(u_char cpu_id) { @@ -1141,7 +1167,175 @@ acpi_handle_srat(ACPI_TABLE_HEADER *sdp) printf(END_COMMENT); } +static const char *nfit_types[] = { + [ACPI_NFIT_TYPE_SYSTEM_ADDRESS] = "System Address", + [ACPI_NFIT_TYPE_MEMORY_MAP] = "Memory Map", + [ACPI_NFIT_TYPE_INTERLEAVE] = "Interleave", + [ACPI_NFIT_TYPE_SMBIOS] = "SMBIOS", + [ACPI_NFIT_TYPE_CONTROL_REGION] = "Control Region", + [ACPI_NFIT_TYPE_DATA_REGION] = "Data Region", + [ACPI_NFIT_TYPE_FLUSH_ADDRESS] = "Flush Address" +}; + + static void +acpi_print_nfit(ACPI_NFIT_HEADER *nfit) +{ + char *uuidstr; + uint32_t status; + + ACPI_NFIT_SYSTEM_ADDRESS *sysaddr; + ACPI_NFIT_MEMORY_MAP *mmap; + ACPI_NFIT_INTERLEAVE *ileave; + ACPI_NFIT_SMBIOS *smbios; + ACPI_NFIT_CONTROL_REGION *ctlreg; + ACPI_NFIT_DATA_REGION *datareg; + ACPI_NFIT_FLUSH_ADDRESS *fladdr; + + if (nfit->Type < nitems(nfit_types)) + printf("\tType=%s\n", nfit_types[nfit->Type]); + else + printf("\tType=%u (unknown)\n", nfit->Type); + switch (nfit->Type) { + case ACPI_NFIT_TYPE_SYSTEM_ADDRESS: + sysaddr = (ACPI_NFIT_SYSTEM_ADDRESS *)nfit; + printf("\tRangeIndex=%u\n", (u_int)sysaddr->RangeIndex); + printf("\tProximityDomain=%u\n", + (u_int)sysaddr->ProximityDomain); + uuid_to_string((uuid_t *)(sysaddr->RangeGuid), + &uuidstr, &status); + if (status != uuid_s_ok) + errx(1, "uuid_to_string: status=%u", status); + printf("\tRangeGuid=%s\n", uuidstr); + free(uuidstr); + printf("\tAddress=0x%016jx\n", (uintmax_t)sysaddr->Address); + printf("\tLength=0x%016jx\n", (uintmax_t)sysaddr->Length); + printf("\tMemoryMapping=0x%016jx\n", + (uintmax_t)sysaddr->MemoryMapping); + +#define PRINTFLAG(var, flag) printflag((var), ACPI_NFIT_## flag, #flag) + + printf("\tFlags="); + PRINTFLAG(sysaddr->Flags, ADD_ONLINE_ONLY); + PRINTFLAG(sysaddr->Flags, PROXIMITY_VALID); + PRINTFLAG_END(); + +#undef PRINTFLAG + + break; + case ACPI_NFIT_TYPE_MEMORY_MAP: + mmap = (ACPI_NFIT_MEMORY_MAP *)nfit; + printf("\tDeviceHandle=%u\n", (u_int)mmap->DeviceHandle); + printf("\tPhysicalId=%u\n", (u_int)mmap->PhysicalId); + printf("\tRegionId=%u\n", (u_int)mmap->RegionId); + printf("\tRangeIndex=%u\n", (u_int)mmap->RangeIndex); + printf("\tRegionIndex=%u\n", (u_int)mmap->RegionIndex); + printf("\tRegionSize=0x%016jx\n", (uintmax_t)mmap->RegionSize); + printf("\tRegionOffset=0x%016jx\n", + (uintmax_t)mmap->RegionOffset); + printf("\tAddress=0x%016jx\n", (uintmax_t)mmap->Address); + printf("\tInterleaveIndex=%u\n", (u_int)mmap->InterleaveIndex); + +#define PRINTFLAG(var, flag) printflag((var), ACPI_NFIT_MEM_## flag, #flag) + + printf("\tFlags="); + PRINTFLAG(mmap->Flags, SAVE_FAILED); + PRINTFLAG(mmap->Flags, RESTORE_FAILED); + PRINTFLAG(mmap->Flags, FLUSH_FAILED); + PRINTFLAG(mmap->Flags, NOT_ARMED); + PRINTFLAG(mmap->Flags, HEALTH_OBSERVED); + PRINTFLAG(mmap->Flags, HEALTH_ENABLED); + PRINTFLAG(mmap->Flags, MAP_FAILED); + PRINTFLAG_END(); + +#undef PRINTFLAG + + break; + case ACPI_NFIT_TYPE_INTERLEAVE: + ileave = (ACPI_NFIT_INTERLEAVE *)nfit; + printf("\tInterleaveIndex=%u\n", + (u_int)ileave->InterleaveIndex); + printf("\tLineCount=%u\n", (u_int)ileave->LineCount); + printf("\tLineSize=%u\n", (u_int)ileave->LineSize); + /* XXX ileave->LineOffset[i] output is not supported */ + break; + case ACPI_NFIT_TYPE_SMBIOS: + smbios = (ACPI_NFIT_SMBIOS *)nfit; + /* XXX smbios->Data[x] output is not supported */ + break; + case ACPI_NFIT_TYPE_CONTROL_REGION: + ctlreg = (ACPI_NFIT_CONTROL_REGION *)nfit; + printf("\tRegionIndex=%u\n", (u_int)ctlreg->RegionIndex); + printf("\tVendorId=0x%04x\n", (u_int)ctlreg->VendorId); + printf("\tDeviceId=0x%04x\n", (u_int)ctlreg->DeviceId); + printf("\tRevisionId=%u\n", (u_int)ctlreg->RevisionId); + printf("\tSubsystemVendorId=0x%04x\n", + (u_int)ctlreg->SubsystemVendorId); + printf("\tSubsystemDeviceId=0x%04x\n", + (u_int)ctlreg->SubsystemDeviceId); + printf("\tSubsystemRevisionId=%u\n", + (u_int)ctlreg->SubsystemRevisionId); + printf("\tValidFields=%u\n", (u_int)ctlreg->ValidFields); + printf("\tManufacturingLocation=%u\n", + (u_int)ctlreg->ManufacturingLocation); + printf("\tManufacturingDate=%u\n", + (u_int)ctlreg->ManufacturingDate); + printf("\tSerialNumber=%u\n", + (u_int)ctlreg->SerialNumber); + printf("\tWindows=%u\n", (u_int)ctlreg->Windows); + printf("\tWindowSize=0x%016jx\n", + (uintmax_t)ctlreg->WindowSize); + printf("\tCommandOffset=0x%016jx\n", + (uintmax_t)ctlreg->CommandOffset); + printf("\tCommandSize=0x%016jx\n", + (uintmax_t)ctlreg->CommandSize); + printf("\tStatusOffset=0x%016jx\n", + (uintmax_t)ctlreg->StatusOffset); + printf("\tStatusSize=0x%016jx\n", + (uintmax_t)ctlreg->StatusSize); + +#define PRINTFLAG(var, flag) printflag((var), ACPI_NFIT_## flag, #flag) + + printf("\tFlags="); + PRINTFLAG(mmap->Flags, ADD_ONLINE_ONLY); + PRINTFLAG(mmap->Flags, PROXIMITY_VALID); + PRINTFLAG_END(); + +#undef PRINTFLAG + + break; + case ACPI_NFIT_TYPE_DATA_REGION: + datareg = (ACPI_NFIT_DATA_REGION *)nfit; + printf("\tRegionIndex=%u\n", (u_int)datareg->RegionIndex); + printf("\tWindows=%u\n", (u_int)datareg->Windows); + printf("\tOffset=0x%016jx\n", (uintmax_t)datareg->Offset); + printf("\tSize=0x%016jx\n", (uintmax_t)datareg->Size); + printf("\tCapacity=0x%016jx\n", (uintmax_t)datareg->Capacity); + printf("\tStartAddress=0x%016jx\n", + (uintmax_t)datareg->StartAddress); + break; + case ACPI_NFIT_TYPE_FLUSH_ADDRESS: + fladdr = (ACPI_NFIT_FLUSH_ADDRESS *)nfit; + printf("\tDeviceHandle=%u\n", (u_int)fladdr->DeviceHandle); + printf("\tHintCount=%u\n", (u_int)fladdr->HintCount); + /* XXX fladdr->HintAddress[i] output is not supported */ + break; + } +} + +static void +acpi_handle_nfit(ACPI_TABLE_HEADER *sdp) +{ + ACPI_TABLE_NFIT *nfit; + + printf(BEGIN_COMMENT); + acpi_print_sdt(sdp); + nfit = (ACPI_TABLE_NFIT *)sdp; + acpi_walk_nfit(sdp, (nfit + 1), acpi_print_nfit); + printf(END_COMMENT); +} + +static void acpi_print_sdt(ACPI_TABLE_HEADER *sdp) { printf(" "); @@ -1456,6 +1650,8 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp) acpi_handle_tcpa(sdp); else if (!memcmp(sdp->Signature, ACPI_SIG_DMAR, 4)) acpi_handle_dmar(sdp); + else if (!memcmp(sdp->Signature, ACPI_SIG_NFIT, 4)) + acpi_handle_nfit(sdp); else { printf(BEGIN_COMMENT); acpi_print_sdt(sdp); From owner-svn-src-head@freebsd.org Thu Jul 20 17:36:18 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DF1DCC7CD1F; Thu, 20 Jul 2017 17:36: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 mx1.freebsd.org (Postfix) with ESMTPS id AC9CA719FB; Thu, 20 Jul 2017 17:36: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 v6KHaHuG043053; Thu, 20 Jul 2017 17:36:17 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KHaHc0043052; Thu, 20 Jul 2017 17:36:17 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707201736.v6KHaHc0043052@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 20 Jul 2017 17:36:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321299 - head/usr.sbin/acpi/acpidump X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/usr.sbin/acpi/acpidump X-SVN-Commit-Revision: 321299 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.23 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, 20 Jul 2017 17:36:19 -0000 Author: emaste Date: Thu Jul 20 17:36:17 2017 New Revision: 321299 URL: https://svnweb.freebsd.org/changeset/base/321299 Log: acpidump: add GIC ITS srat type From ACPI 6.2, 5.2.16.5 MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/usr.sbin/acpi/acpidump/acpi.c Modified: head/usr.sbin/acpi/acpidump/acpi.c ============================================================================== --- head/usr.sbin/acpi/acpidump/acpi.c Thu Jul 20 17:31:27 2017 (r321298) +++ head/usr.sbin/acpi/acpidump/acpi.c Thu Jul 20 17:36:17 2017 (r321299) @@ -1115,7 +1115,8 @@ static const char *srat_types[] = { [ACPI_SRAT_TYPE_CPU_AFFINITY] = "CPU", [ACPI_SRAT_TYPE_MEMORY_AFFINITY] = "Memory", [ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY] = "X2APIC", - [ACPI_SRAT_TYPE_GICC_AFFINITY] = "GICC" + [ACPI_SRAT_TYPE_GICC_AFFINITY] = "GICC", + [ACPI_SRAT_TYPE_GIC_ITS_AFFINITY] = "GIC ITS", }; static void From owner-svn-src-head@freebsd.org Thu Jul 20 18:14:28 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 43B20C7DAAE; Thu, 20 Jul 2017 18:14:28 +0000 (UTC) (envelope-from mjoras@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1376C73953; Thu, 20 Jul 2017 18:14:28 +0000 (UTC) (envelope-from mjoras@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6KIERcC061274; Thu, 20 Jul 2017 18:14:27 GMT (envelope-from mjoras@FreeBSD.org) Received: (from mjoras@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KIERaG061273; Thu, 20 Jul 2017 18:14:27 GMT (envelope-from mjoras@FreeBSD.org) Message-Id: <201707201814.v6KIERaG061273@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjoras set sender to mjoras@FreeBSD.org using -f From: Matt Joras Date: Thu, 20 Jul 2017 18:14:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321301 - head/share/misc X-SVN-Group: head X-SVN-Commit-Author: mjoras X-SVN-Commit-Paths: head/share/misc X-SVN-Commit-Revision: 321301 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.23 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, 20 Jul 2017 18:14:28 -0000 Author: mjoras Date: Thu Jul 20 18:14:27 2017 New Revision: 321301 URL: https://svnweb.freebsd.org/changeset/base/321301 Log: Add myself and mentor line to committers-src.dot. Approved by: rstone (mentor) Differential Revision: https://reviews.freebsd.org/D11672 Modified: head/share/misc/committers-src.dot Modified: head/share/misc/committers-src.dot ============================================================================== --- head/share/misc/committers-src.dot Thu Jul 20 18:02:25 2017 (r321300) +++ head/share/misc/committers-src.dot Thu Jul 20 18:14:27 2017 (r321301) @@ -244,6 +244,7 @@ melifaro [label="Alexander V. Chernikov\nmelifaro@Free mizhka [label="Michael Zhilin\nmizhka@FreeBSD.org\n2016/07/19"] mjacob [label="Matt Jacob\nmjacob@FreeBSD.org\n1997/08/13"] mjg [label="Mateusz Guzik\nmjg@FreeBSD.org\n2012/06/04"] +mjoras [label="Matt Joras\nmjoras@FreeBSD.org\n2017/07/12"] mlaier [label="Max Laier\nmlaier@FreeBSD.org\n2004/02/10"] mmel [label="Michal Meloun\nmmel@FreeBSD.org\n2015/11/01"] monthadar [label="Monthadar Al Jaberi\nmonthadar@FreeBSD.org\n2012/04/02"] @@ -720,6 +721,7 @@ rrs -> jchandra rrs -> tuexen rstone -> markj +rstone -> mjoras ru -> ceri ru -> cjc From owner-svn-src-head@freebsd.org Thu Jul 20 18:22:50 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B9419C7DD04; Thu, 20 Jul 2017 18:22:50 +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 mx1.freebsd.org (Postfix) with ESMTPS id 8445973EB0; Thu, 20 Jul 2017 18:22:50 +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 v6KIMnAa065194; Thu, 20 Jul 2017 18:22:49 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KIMnAS065193; Thu, 20 Jul 2017 18:22:49 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707201822.v6KIMnAS065193@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 20 Jul 2017 18:22:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321302 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 321302 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.23 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, 20 Jul 2017 18:22:50 -0000 Author: emaste Date: Thu Jul 20 18:22:49 2017 New Revision: 321302 URL: https://svnweb.freebsd.org/changeset/base/321302 Log: add arm64 objcopy output target for embedfs PR: 220877 Submitted by: David NewHamlet MFC after: 1 week Modified: head/sys/conf/kern.pre.mk Modified: head/sys/conf/kern.pre.mk ============================================================================== --- head/sys/conf/kern.pre.mk Thu Jul 20 18:14:27 2017 (r321301) +++ head/sys/conf/kern.pre.mk Thu Jul 20 18:22:49 2017 (r321302) @@ -251,6 +251,7 @@ EMBEDFS_ARCH.${MACHINE_ARCH}!= sed -n '/OUTPUT_ARCH/s/ EMBEDFS_FORMAT.arm?= elf32-littlearm EMBEDFS_FORMAT.armv6?= elf32-littlearm +EMBEDFS_FORMAT.aarch64?= elf64-littleaarch64 EMBEDFS_FORMAT.mips?= elf32-tradbigmips EMBEDFS_FORMAT.mipsel?= elf32-tradlittlemips EMBEDFS_FORMAT.mips64?= elf64-tradbigmips From owner-svn-src-head@freebsd.org Thu Jul 20 20:27:21 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F279CC7F8D7; Thu, 20 Jul 2017 20:27:20 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BFDD077342; Thu, 20 Jul 2017 20:27:20 +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 v6KKRJvu014765; Thu, 20 Jul 2017 20:27:19 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KKRJBR014764; Thu, 20 Jul 2017 20:27:19 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201707202027.v6KKRJBR014764@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 20 Jul 2017 20:27:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321305 - head/sys/boot/efi/boot1 X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/sys/boot/efi/boot1 X-SVN-Commit-Revision: 321305 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.23 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, 20 Jul 2017 20:27:21 -0000 Author: dim Date: Thu Jul 20 20:27:19 2017 New Revision: 321305 URL: https://svnweb.freebsd.org/changeset/base/321305 Log: Fix printf format warning in zfs_module.c Clang 5.0.0 got better warnings about print format strings using %zd, and this leads to the following -Werror warning on e.g. arm: sys/boot/efi/boot1/zfs_module.c:186:18: error: format specifies type 'ssize_t' (aka 'int') but the argument has type 'off_t' (aka 'long long') [-Werror,-Wformat] "(%lu)\n", st.st_size, spa->spa_name, filepath, EFI_ERROR_CODE(status)); ^~~~~~~~~~ Fix this by casting off_t arguments to intmax_t, and using %jd instead. Reviewed by: tsoome MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D11678 Modified: head/sys/boot/efi/boot1/zfs_module.c Modified: head/sys/boot/efi/boot1/zfs_module.c ============================================================================== --- head/sys/boot/efi/boot1/zfs_module.c Thu Jul 20 20:16:18 2017 (r321304) +++ head/sys/boot/efi/boot1/zfs_module.c Thu Jul 20 20:27:19 2017 (r321305) @@ -182,8 +182,8 @@ load(const char *filepath, dev_info_t *devinfo, void * if ((status = bs->AllocatePool(EfiLoaderData, (UINTN)st.st_size, &buf)) != EFI_SUCCESS) { - printf("Failed to allocate load buffer %zd for pool '%s' for '%s' " - "(%lu)\n", st.st_size, spa->spa_name, filepath, EFI_ERROR_CODE(status)); + printf("Failed to allocate load buffer %jd for pool '%s' for '%s' " + "(%lu)\n", (intmax_t)st.st_size, spa->spa_name, filepath, EFI_ERROR_CODE(status)); return (EFI_INVALID_PARAMETER); } From owner-svn-src-head@freebsd.org Thu Jul 20 20:28:32 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A2795C7F96C; Thu, 20 Jul 2017 20:28:32 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 70684774A8; Thu, 20 Jul 2017 20:28:32 +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 v6KKSVHS014862; Thu, 20 Jul 2017 20:28:31 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KKSVap014861; Thu, 20 Jul 2017 20:28:31 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201707202028.v6KKSVap014861@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 20 Jul 2017 20:28:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321306 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 321306 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.23 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, 20 Jul 2017 20:28:32 -0000 Author: dim Date: Thu Jul 20 20:28:31 2017 New Revision: 321306 URL: https://svnweb.freebsd.org/changeset/base/321306 Log: Fix printf format warning in iflib.c Clang 5.0.0 got better warnings about printf format strings using %zd, and this leads to the following -Werror warning on e.g. arm: sys/net/iflib.c:1517:8: error: format specifies type 'ssize_t' (aka 'int') but the argument has type 'bus_size_t' (aka 'unsigned long') [-Werror,-Wformat] sctx->isc_tx_maxsize, nsegments, sctx->isc_tx_maxsegsize); ^~~~~~~~~~~~~~~~~~~~ sys/net/iflib.c:1517:41: error: format specifies type 'ssize_t' (aka 'int') but the argument has type 'bus_size_t' (aka 'unsigned long') [-Werror,-Wformat] sctx->isc_tx_maxsize, nsegments, sctx->isc_tx_maxsegsize); ^~~~~~~~~~~~~~~~~~~~~~~ Fix this by casting bus_size_t arguments to uintmax_t, and using %ju instead. Reviewed by: emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D11679 Modified: head/sys/net/iflib.c Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Thu Jul 20 20:27:19 2017 (r321305) +++ head/sys/net/iflib.c Thu Jul 20 20:28:31 2017 (r321306) @@ -1513,8 +1513,8 @@ iflib_txsd_alloc(iflib_txq_t txq) NULL, /* lockfuncarg */ &txq->ift_desc_tag))) { device_printf(dev,"Unable to allocate TX DMA tag: %d\n", err); - device_printf(dev,"maxsize: %zd nsegments: %d maxsegsize: %zd\n", - sctx->isc_tx_maxsize, nsegments, sctx->isc_tx_maxsegsize); + device_printf(dev,"maxsize: %ju nsegments: %d maxsegsize: %ju\n", + (uintmax_t)sctx->isc_tx_maxsize, nsegments, (uintmax_t)sctx->isc_tx_maxsegsize); goto fail; } if ((err = bus_dma_tag_create(bus_get_dma_tag(dev), From owner-svn-src-head@freebsd.org Thu Jul 20 23:02:06 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8262DCFDDF8; Thu, 20 Jul 2017 23:02:06 +0000 (UTC) (envelope-from rlibby@gmail.com) Received: from mail-wm0-x22b.google.com (mail-wm0-x22b.google.com [IPv6:2a00:1450:400c:c09::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 144A07FCC7; Thu, 20 Jul 2017 23:02:06 +0000 (UTC) (envelope-from rlibby@gmail.com) Received: by mail-wm0-x22b.google.com with SMTP id w191so148273wmw.1; Thu, 20 Jul 2017 16:02:06 -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=TW8dP0xSqXLfTkWca3dFHb+QEAJaQCFxG1bz4amyYn8=; b=MgmHtnID7IBBRDJ3DQDFMEcWvnO1nATq7WgYnIzM34HRSJ87SZaDqzjvxcEo3wDDba 8HNjZDnQrTHVMA1lP4uE9ivx8mFMIQnr2RO8a+yu5c6CEuISFFHu/vq8RkMU8avqR/S0 OcAF8nk7wYeyBNz89n3duP71usN+ElsiDBqq4TuKxX0BOuAWcKxxkzkbv6esQAJn4UrG +ykXDENi/+kMqXtAx68401OClz20sfrYlmaX4MM336skOGc8HlhyYL8ByPgFH9gWKyzR guowRUtUbxSSS0gOOpwxyq1ornapmH7NWJJhDZ7JY93PENLdXloLS+rYWpFvKmdzbjhg frUA== 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=TW8dP0xSqXLfTkWca3dFHb+QEAJaQCFxG1bz4amyYn8=; b=CHpQ8N24vKP6x28SBasrYwOlWvbeNd9n3U/AG/n66sA4O4450O5846jWwCqO+24aTk 3LMhD1abZJzqw5dcF1+FEc1DV7KH22S403AQaERuKsz1zSueO+riq+Xu/PVceoFadbzE BKiewEibHNSDz4n8yiLCSHFiz28WvsLF2uppi1I6GvJd6r/SxQQBpzDegQW8+WXIPdyG 9e9k1Uxzc6Y0TvKGbqeG62QezNWyyzUtb2klkqCe0ScpX4VqkkqqRYcUWh5c5tk7z7dH zKDesfV6XxLDBHio8qJmBjvRPUn7IJq+EfxOVWIBk5f0tpHMwnn8y720EasBzAWAW/jY SEag== X-Gm-Message-State: AIVw111z8PGc2xUSR/QqZAHkF7I4qBbgielR9efgvbFqN4EBB8KFz2Oi 7kXU9EcOqQnWdJ2L6bZOaAZtiV7CCw== X-Received: by 10.28.229.72 with SMTP id c69mr3599611wmh.77.1500591723087; Thu, 20 Jul 2017 16:02:03 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.161.72 with HTTP; Thu, 20 Jul 2017 16:02:02 -0700 (PDT) In-Reply-To: <20170720103323.GG1935@kib.kiev.ua> References: <201707200647.v6K6l7Hq076554@repo.freebsd.org> <20170720172157.W1152@besplex.bde.org> <20170720103323.GG1935@kib.kiev.ua> From: Ryan Libby Date: Thu, 20 Jul 2017 16:02:02 -0700 Message-ID: Subject: Re: svn commit: r321284 - in head/sys: amd64/include sys To: Konstantin Belousov Cc: Bruce Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, imp@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 20 Jul 2017 23:02:06 -0000 On Thu, Jul 20, 2017 at 3:33 AM, Konstantin Belousov wrote: > On Thu, Jul 20, 2017 at 02:08:30AM -0700, Ryan Libby wrote: >> On Thu, Jul 20, 2017 at 1:01 AM, Bruce Evans wrote: [...] >> > This bug is not very common. There seem to be no instances of it in >> > (only sys/cdefs.h uses __attribute__(()), and it seems to use >> > underscores for all the attributes). Grepping sys/include/*.h for >> > attribute shows the following bugs: >> > >> > X amd64/include/efi.h:#define EFIABI_ATTR __attribute__((ms_abi)) >> > X i386/include/efi.h:#define EFIABI_ATTR /* __attribute__((ms_abi)) */ /* clang fails with this */ >> > X ofed/include/rdma/ib_user_mad.h:typedef unsigned long __attribute__((aligned(4))) packed_ulong; >> > X ofed/include/rdma/ib_smi.h:} __attribute__ ((packed)); >> > X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); >> > X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); >> > >> > The commented-out ms_abi was only a style bug. Now it is a larger style >> > bug -- it is different and worse than amd64. >> >> I'm not sure what to do about i386 there (again beyond fixing up the >> spelling in the comment). Maybe the unsupported architectures should >> just not be declaring EFIABI_ATTR at all? (Thoughts, kib?) > > I think i386 should be treated exactly same as amd64, i.e. EFIABI_ATTR > should be not defined if gcc < 4.4. Or I do not understand the scope > of the question. After googling around [1] and a quick check of the spec [2], it now seems to me that the i386 comment might just be erroneous. I think the right solution for sys/i386/include/efi.h may just be to delete the comment and leave that EFIAPI_ATTR macro definition as empty (always, no compiler version check) in order to use the native calling convention. [1] http://wiki.osdev.org/UEFI#Calling_Conventions [2] http://www.uefi.org/sites/default/files/resources/UEFI_Spec_2_7.pdf From owner-svn-src-head@freebsd.org Thu Jul 20 23:15:52 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 28852CFE133; Thu, 20 Jul 2017 23:15:52 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E63AA801D6; Thu, 20 Jul 2017 23:15:51 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6KNFosS084884; Thu, 20 Jul 2017 23:15:50 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KNFo9R084883; Thu, 20 Jul 2017 23:15:50 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201707202315.v6KNFo9R084883@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 20 Jul 2017 23:15:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321308 - head/sys/fs/nfsclient X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfsclient X-SVN-Commit-Revision: 321308 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.23 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, 20 Jul 2017 23:15:52 -0000 Author: rmacklem Date: Thu Jul 20 23:15:50 2017 New Revision: 321308 URL: https://svnweb.freebsd.org/changeset/base/321308 Log: r320062 introduced a bug when doing NFSv4.1 mounts against some non-FreeBSD servers. r320062 used nm_rsize, nm_wsize to set the maximum request/response sizes for the NFSv4.1 session. If rsize,wsize are not specified as options, the value of nm_rsize, nm_wsize is 0 at session creation, resulting in values for request/response that are too small. This patch fixes the problem. A workaround is to specify rsize=N,wsize=N mount options explicitly, so they are set before session creation. This bug only affects NFSv4.1 mounts against some non-FreeBSD servers. MFC after: 1 week Modified: head/sys/fs/nfsclient/nfs_clrpcops.c Modified: head/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clrpcops.c Thu Jul 20 20:37:23 2017 (r321307) +++ head/sys/fs/nfsclient/nfs_clrpcops.c Thu Jul 20 23:15:50 2017 (r321308) @@ -4672,8 +4672,14 @@ nfsrpc_createsession(struct nfsmount *nmp, struct nfsc uint32_t crflags, maxval, *tl; struct nfsrv_descript nfsd; struct nfsrv_descript *nd = &nfsd; - int error, irdcnt; + int error, irdcnt, rsiz, wsiz; + rsiz = nmp->nm_rsize; + if (rsiz == 0) + rsiz = NFS_MAXBSIZE; + wsiz = nmp->nm_wsize; + if (wsiz == 0) + wsiz = NFS_MAXBSIZE; nfscl_reqstart(nd, NFSPROC_CREATESESSION, nmp, NULL, 0, NULL, NULL); NFSM_BUILD(tl, uint32_t *, 4 * NFSX_UNSIGNED); *tl++ = sep->nfsess_clientid.lval[0]; @@ -4687,8 +4693,8 @@ nfsrpc_createsession(struct nfsmount *nmp, struct nfsc /* Fill in fore channel attributes. */ NFSM_BUILD(tl, uint32_t *, 7 * NFSX_UNSIGNED); *tl++ = 0; /* Header pad size */ - *tl++ = txdr_unsigned(nmp->nm_wsize + NFS_MAXXDR);/* Max request size */ - *tl++ = txdr_unsigned(nmp->nm_rsize + NFS_MAXXDR);/* Max reply size */ + *tl++ = txdr_unsigned(wsiz + NFS_MAXXDR);/* Max request size */ + *tl++ = txdr_unsigned(rsiz + NFS_MAXXDR);/* Max reply size */ *tl++ = txdr_unsigned(4096); /* Max response size cached */ *tl++ = txdr_unsigned(20); /* Max operations */ *tl++ = txdr_unsigned(64); /* Max slots */ From owner-svn-src-head@freebsd.org Thu Jul 20 23:59:49 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0B17CCFEF38; Thu, 20 Jul 2017 23:59:49 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CE703815C8; Thu, 20 Jul 2017 23:59:48 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6KNxlxE001672; Thu, 20 Jul 2017 23:59:47 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6KNxlED001671; Thu, 20 Jul 2017 23:59:47 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201707202359.v6KNxlED001671@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 20 Jul 2017 23:59:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321313 - head/sys/fs/nfsclient X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfsclient X-SVN-Commit-Revision: 321313 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.23 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, 20 Jul 2017 23:59:49 -0000 Author: rmacklem Date: Thu Jul 20 23:59:47 2017 New Revision: 321313 URL: https://svnweb.freebsd.org/changeset/base/321313 Log: Revert r321308. I'll commit a better fix soon. Modified: head/sys/fs/nfsclient/nfs_clrpcops.c Modified: head/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clrpcops.c Thu Jul 20 23:57:01 2017 (r321312) +++ head/sys/fs/nfsclient/nfs_clrpcops.c Thu Jul 20 23:59:47 2017 (r321313) @@ -4672,14 +4672,8 @@ nfsrpc_createsession(struct nfsmount *nmp, struct nfsc uint32_t crflags, maxval, *tl; struct nfsrv_descript nfsd; struct nfsrv_descript *nd = &nfsd; - int error, irdcnt, rsiz, wsiz; + int error, irdcnt; - rsiz = nmp->nm_rsize; - if (rsiz == 0) - rsiz = NFS_MAXBSIZE; - wsiz = nmp->nm_wsize; - if (wsiz == 0) - wsiz = NFS_MAXBSIZE; nfscl_reqstart(nd, NFSPROC_CREATESESSION, nmp, NULL, 0, NULL, NULL); NFSM_BUILD(tl, uint32_t *, 4 * NFSX_UNSIGNED); *tl++ = sep->nfsess_clientid.lval[0]; @@ -4693,8 +4687,8 @@ nfsrpc_createsession(struct nfsmount *nmp, struct nfsc /* Fill in fore channel attributes. */ NFSM_BUILD(tl, uint32_t *, 7 * NFSX_UNSIGNED); *tl++ = 0; /* Header pad size */ - *tl++ = txdr_unsigned(wsiz + NFS_MAXXDR);/* Max request size */ - *tl++ = txdr_unsigned(rsiz + NFS_MAXXDR);/* Max reply size */ + *tl++ = txdr_unsigned(nmp->nm_wsize + NFS_MAXXDR);/* Max request size */ + *tl++ = txdr_unsigned(nmp->nm_rsize + NFS_MAXXDR);/* Max reply size */ *tl++ = txdr_unsigned(4096); /* Max response size cached */ *tl++ = txdr_unsigned(20); /* Max operations */ *tl++ = txdr_unsigned(64); /* Max slots */ From owner-svn-src-head@freebsd.org Fri Jul 21 00:14:44 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D8D33CFF6B1; Fri, 21 Jul 2017 00:14:44 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A7A1A81F55; Fri, 21 Jul 2017 00:14:44 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6L0EhaL009598; Fri, 21 Jul 2017 00:14:43 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6L0EhYG009597; Fri, 21 Jul 2017 00:14:43 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201707210014.v6L0EhYG009597@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Fri, 21 Jul 2017 00:14:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321314 - head/sys/fs/nfsclient X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfsclient X-SVN-Commit-Revision: 321314 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.23 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, 21 Jul 2017 00:14:45 -0000 Author: rmacklem Date: Fri Jul 21 00:14:43 2017 New Revision: 321314 URL: https://svnweb.freebsd.org/changeset/base/321314 Log: r320062 introduced a bug when doing NFSv4.1 mounts against some non-FreeBSD servers. r320062 used nm_rsize, nm_wsize to set the maximum request/response sizes for the NFSv4.1 session. If rsize,wsize are not specified as options, the value of nm_rsize, nm_wsize is 0 at session creation, resulting in values for request/response that are too small. This patch fixes the problem. A workaround is to specify rsize=N,wsize=N mount options explicitly, so they are set before session creation. This bug only affects NFSv4.1 mounts against some non-FreeBSD servers. MFC after: 1 week Modified: head/sys/fs/nfsclient/nfs_clrpcops.c Modified: head/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clrpcops.c Thu Jul 20 23:59:47 2017 (r321313) +++ head/sys/fs/nfsclient/nfs_clrpcops.c Fri Jul 21 00:14:43 2017 (r321314) @@ -4674,6 +4674,11 @@ nfsrpc_createsession(struct nfsmount *nmp, struct nfsc struct nfsrv_descript *nd = &nfsd; int error, irdcnt; + /* Make sure nm_rsize, nm_wsize is set. */ + if (nmp->nm_rsize > NFS_MAXBSIZE || nmp->nm_rsize == 0) + nmp->nm_rsize = NFS_MAXBSIZE; + if (nmp->nm_wsize > NFS_MAXBSIZE || nmp->nm_wsize == 0) + nmp->nm_wsize = NFS_MAXBSIZE; nfscl_reqstart(nd, NFSPROC_CREATESESSION, nmp, NULL, 0, NULL, NULL); NFSM_BUILD(tl, uint32_t *, 4 * NFSX_UNSIGNED); *tl++ = sep->nfsess_clientid.lval[0]; From owner-svn-src-head@freebsd.org Fri Jul 21 01:35:57 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0854BD7C5D8; Fri, 21 Jul 2017 01:35:57 +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 mx1.freebsd.org (Postfix) with ESMTPS id CBB9C83958; Fri, 21 Jul 2017 01:35:56 +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 v6L1ZtIs041758; Fri, 21 Jul 2017 01:35:55 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6L1Ztip041757; Fri, 21 Jul 2017 01:35:55 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <201707210135.v6L1Ztip041757@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Fri, 21 Jul 2017 01:35:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321315 - head/contrib/netbsd-tests/lib/libc/regex/data X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/contrib/netbsd-tests/lib/libc/regex/data X-SVN-Commit-Revision: 321315 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.23 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, 21 Jul 2017 01:35:57 -0000 Author: kevans Date: Fri Jul 21 01:35:55 2017 New Revision: 321315 URL: https://svnweb.freebsd.org/changeset/base/321315 Log: Add regression test for recent regex(3) breakage BREs recently became prematurely sensitive to the branching operator, which outright broke expressions that used it instead of failing silently. Test that \| is matching a literal | for the time being. Reviewed by: cem, emaste, ngie Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D11577 Modified: head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in Modified: head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in ============================================================================== --- head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in Fri Jul 21 00:14:43 2017 (r321314) +++ head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in Fri Jul 21 01:35:55 2017 (r321315) @@ -11,6 +11,9 @@ a(b+)c - abc abc b a(b+)c - abbbc abbbc bbb a(b*)c - ac ac @c (a|ab)(bc([de]+)f|cde) - abcdef abcdef a,bcdef,de +# Begin FreeBSD +a\(b\|c\)d b ab|cd ab|cd b|c +# End FreeBSD # the regression tester only asks for 9 subexpressions a(b)(c)(d)(e)(f)(g)(h)(i)(j)k - abcdefghijk abcdefghijk b,c,d,e,f,g,h,i,j a(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)l - abcdefghijkl abcdefghijkl b,c,d,e,f,g,h,i,j,k From owner-svn-src-head@freebsd.org Fri Jul 21 03:04:56 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7764BD7DB82; Fri, 21 Jul 2017 03:04:56 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 46C7DE68; Fri, 21 Jul 2017 03:04:56 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6L34tkN078256; Fri, 21 Jul 2017 03:04:55 GMT (envelope-from loos@FreeBSD.org) Received: (from loos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6L34tFO078255; Fri, 21 Jul 2017 03:04:55 GMT (envelope-from loos@FreeBSD.org) Message-Id: <201707210304.v6L34tFO078255@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: loos set sender to loos@FreeBSD.org using -f From: Luiz Otavio O Souza Date: Fri, 21 Jul 2017 03:04:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321316 - head/sys/netpfil/ipfw X-SVN-Group: head X-SVN-Commit-Author: loos X-SVN-Commit-Paths: head/sys/netpfil/ipfw X-SVN-Commit-Revision: 321316 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.23 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, 21 Jul 2017 03:04:56 -0000 Author: loos Date: Fri Jul 21 03:04:55 2017 New Revision: 321316 URL: https://svnweb.freebsd.org/changeset/base/321316 Log: Fix a couple of typos in a comment. MFC after: 1 week Sponsored by: Rubicon Communications, LLC (Netgate) Modified: head/sys/netpfil/ipfw/ip_fw_table.c Modified: head/sys/netpfil/ipfw/ip_fw_table.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_table.c Fri Jul 21 01:35:55 2017 (r321315) +++ head/sys/netpfil/ipfw/ip_fw_table.c Fri Jul 21 03:04:55 2017 (r321316) @@ -1658,7 +1658,7 @@ ipfw_unref_table(struct ip_fw_chain *ch, uint16_t kidx } /* - * Lookup an arbtrary key @paddr of legth @plen in table @tbl. + * Lookup an arbitrary key @paddr of length @plen in table @tbl. * Stores found value in @val. * * Returns 1 if key was found. From owner-svn-src-head@freebsd.org Fri Jul 21 03:28:36 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B6113D7E0EB; Fri, 21 Jul 2017 03:28:36 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 800441A48; Fri, 21 Jul 2017 03:28:36 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6L3SZYm086628; Fri, 21 Jul 2017 03:28:35 GMT (envelope-from loos@FreeBSD.org) Received: (from loos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6L3SZpm086627; Fri, 21 Jul 2017 03:28:35 GMT (envelope-from loos@FreeBSD.org) Message-Id: <201707210328.v6L3SZpm086627@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: loos set sender to loos@FreeBSD.org using -f From: Luiz Otavio O Souza Date: Fri, 21 Jul 2017 03:28:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321317 - head/sys/dev/netmap X-SVN-Group: head X-SVN-Commit-Author: loos X-SVN-Commit-Paths: head/sys/dev/netmap X-SVN-Commit-Revision: 321317 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.23 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, 21 Jul 2017 03:28:36 -0000 Author: loos Date: Fri Jul 21 03:28:35 2017 New Revision: 321317 URL: https://svnweb.freebsd.org/changeset/base/321317 Log: Do not allow the use of the loopback interface in netmap. The generic support in netmap send the packets using if_transmit() and the loopback do not support packets coming from if_transmit()/if_start(). This avoids the use of the loopback interface and the subsequent crash that happens when the application send packets to the loopback interface. Details in: https://github.com/luigirizzo/netmap/issues/322 Reported by: Vincenzo Maffione Sponsored by: Rubicon Communications, LLC (Netgate) Modified: head/sys/dev/netmap/netmap_generic.c Modified: head/sys/dev/netmap/netmap_generic.c ============================================================================== --- head/sys/dev/netmap/netmap_generic.c Fri Jul 21 03:04:55 2017 (r321316) +++ head/sys/dev/netmap/netmap_generic.c Fri Jul 21 03:28:35 2017 (r321317) @@ -75,6 +75,7 @@ __FBSDID("$FreeBSD$"); #include /* sockaddrs */ #include #include +#include #include #include /* bus_dmamap_* in netmap_kern.h */ @@ -1197,6 +1198,13 @@ generic_netmap_attach(struct ifnet *ifp) struct netmap_generic_adapter *gna; int retval; u_int num_tx_desc, num_rx_desc; + +#ifdef __FreeBSD__ + if (ifp->if_type == IFT_LOOP) { + D("if_loop is not supported by %s", __func__); + return EINVAL; + } +#endif num_tx_desc = num_rx_desc = netmap_generic_ringsize; /* starting point */ From owner-svn-src-head@freebsd.org Fri Jul 21 03:40:06 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AB278D7E60A; Fri, 21 Jul 2017 03:40:06 +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 mx1.freebsd.org (Postfix) with ESMTPS id 84CA52201; Fri, 21 Jul 2017 03:40:06 +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 v6L3e5GE090966; Fri, 21 Jul 2017 03:40:05 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6L3e5HA090963; Fri, 21 Jul 2017 03:40:05 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201707210340.v6L3e5HA090963@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Fri, 21 Jul 2017 03:40:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321318 - in head/sys: conf powerpc/cpufreq X-SVN-Group: head X-SVN-Commit-Author: jhibbits X-SVN-Commit-Paths: in head/sys: conf powerpc/cpufreq X-SVN-Commit-Revision: 321318 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.23 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, 21 Jul 2017 03:40:06 -0000 Author: jhibbits Date: Fri Jul 21 03:40:05 2017 New Revision: 321318 URL: https://svnweb.freebsd.org/changeset/base/321318 Log: Add cpufreq support for P1022 and MPC8536 P1022 and MPC8536 include a 'jog' feature for clock control (jog being a slower form of run mode). This is done by changing the PLL multiplier, and cannot be done if any core is in doze or sleep mode. Added: head/sys/powerpc/cpufreq/mpc85xx_jog.c (contents, props changed) Modified: head/sys/conf/files.powerpc Modified: head/sys/conf/files.powerpc ============================================================================== --- head/sys/conf/files.powerpc Fri Jul 21 03:28:35 2017 (r321317) +++ head/sys/conf/files.powerpc Fri Jul 21 03:40:05 2017 (r321318) @@ -118,6 +118,7 @@ powerpc/booke/platform_bare.c optional booke powerpc/booke/pmap.c optional booke powerpc/booke/spe.c optional powerpcspe powerpc/cpufreq/dfs.c optional cpufreq +powerpc/cpufreq/mpc85xx_jog.c optional cpufreq mpc85xx powerpc/cpufreq/pcr.c optional cpufreq aim powerpc/cpufreq/pmufreq.c optional cpufreq aim pmu powerpc/fpu/fpu_add.c optional fpu_emu Added: head/sys/powerpc/cpufreq/mpc85xx_jog.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/powerpc/cpufreq/mpc85xx_jog.c Fri Jul 21 03:40:05 2017 (r321318) @@ -0,0 +1,343 @@ +/*- + * Copyright (c) 2017 Justin Hibbits + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 "cpufreq_if.h" + +/* No worries about uint32_t math overflow in here, because the highest + * multiplier supported is 4, and the highest speed part is still well below + * 2GHz. + */ + +#define GUTS_PORPLLSR (CCSRBAR_VA + 0xe0000) +#define GUTS_PMJCR (CCSRBAR_VA + 0xe007c) +#define PMJCR_RATIO_M 0x3f +#define PMJCR_CORE_MULT(x,y) ((x) << (16 + ((y) * 8))) +#define PMJCR_GET_CORE_MULT(x,y) (((x) >> (16 + ((y) * 8))) & 0x3f) +#define GUTS_POWMGTCSR (CCSRBAR_VA + 0xe0080) +#define POWMGTCSR_JOG 0x00200000 +#define POWMGTCSR_INT_MASK 0x00000f00 + +#define MHZ 1000000 + +struct mpc85xx_jog_softc { + device_t dev; + int cpu; + int low; + int high; + int min_freq; +}; + +static struct ofw_compat_data *mpc85xx_jog_devcompat(void); +static void mpc85xx_jog_identify(driver_t *driver, device_t parent); +static int mpc85xx_jog_probe(device_t dev); +static int mpc85xx_jog_attach(device_t dev); +static int mpc85xx_jog_settings(device_t dev, struct cf_setting *sets, int *count); +static int mpc85xx_jog_set(device_t dev, const struct cf_setting *set); +static int mpc85xx_jog_get(device_t dev, struct cf_setting *set); +static int mpc85xx_jog_type(device_t dev, int *type); + +static device_method_t mpc85xx_jog_methods[] = { + /* Device interface */ + DEVMETHOD(device_identify, mpc85xx_jog_identify), + DEVMETHOD(device_probe, mpc85xx_jog_probe), + DEVMETHOD(device_attach, mpc85xx_jog_attach), + + /* cpufreq interface */ + DEVMETHOD(cpufreq_drv_set, mpc85xx_jog_set), + DEVMETHOD(cpufreq_drv_get, mpc85xx_jog_get), + DEVMETHOD(cpufreq_drv_type, mpc85xx_jog_type), + DEVMETHOD(cpufreq_drv_settings, mpc85xx_jog_settings), + + {0, 0} +}; + +static driver_t mpc85xx_jog_driver = { + "jog", + mpc85xx_jog_methods, + sizeof(struct mpc85xx_jog_softc) +}; + +static devclass_t mpc85xx_jog_devclass; +DRIVER_MODULE(mpc85xx_jog, cpu, mpc85xx_jog_driver, mpc85xx_jog_devclass, 0, 0); + +struct mpc85xx_constraints { + int threshold; /* Threshold frequency, in MHz, for setting CORE_SPD bit. */ + int min_mult; /* Minimum PLL multiplier. */ +}; + +static struct mpc85xx_constraints mpc8536_constraints = { + 800, + 3 +}; + +static struct mpc85xx_constraints p1022_constraints = { + 500, + 2 +}; + +static struct ofw_compat_data jog_compat[] = { + {"fsl,mpc8536-guts", (uintptr_t)&mpc8536_constraints}, + {"fsl,p1022-guts", (uintptr_t)&p1022_constraints}, + {NULL, 0} +}; + +static struct ofw_compat_data * +mpc85xx_jog_devcompat() +{ + phandle_t node; + int i; + + node = OF_finddevice("/soc"); + if (node <= 0) + return (NULL); + + for (i = 0; jog_compat[i].ocd_str != NULL; i++) + if (ofw_bus_find_compatible(node, jog_compat[i].ocd_str) > 0) + break; + + if (jog_compat[i].ocd_str == NULL) + return (NULL); + + return (&jog_compat[i]); +} + +static void +mpc85xx_jog_identify(driver_t *driver, device_t parent) +{ + struct ofw_compat_data *compat; + + /* Make sure we're not being doubly invoked. */ + if (device_find_child(parent, "mpc85xx_jog", -1) != NULL) + return; + + compat = mpc85xx_jog_devcompat(); + if (compat == NULL) + return; + + /* + * We attach a child for every CPU since settings need to + * be performed on every CPU in the SMP case. + */ + if (BUS_ADD_CHILD(parent, 10, "jog", -1) == NULL) + device_printf(parent, "add jog child failed\n"); +} + +static int +mpc85xx_jog_probe(device_t dev) +{ + struct ofw_compat_data *compat; + + compat = mpc85xx_jog_devcompat(); + if (compat == NULL || compat->ocd_str == NULL) + return (ENXIO); + + device_set_desc(dev, "Freescale CPU Jogger"); + return (0); +} + +static int +mpc85xx_jog_attach(device_t dev) +{ + struct ofw_compat_data *compat; + struct mpc85xx_jog_softc *sc; + struct mpc85xx_constraints *constraints; + phandle_t cpu; + uint32_t reg; + + sc = device_get_softc(dev); + sc->dev = dev; + + compat = mpc85xx_jog_devcompat(); + constraints = (struct mpc85xx_constraints *)compat->ocd_data; + cpu = ofw_bus_get_node(device_get_parent(dev)); + + if (cpu <= 0) { + device_printf(dev,"No CPU device tree node!\n"); + return (ENXIO); + } + + OF_getencprop(cpu, "reg", &sc->cpu, sizeof(sc->cpu)); + + reg = ccsr_read4(GUTS_PORPLLSR); + + /* + * Assume power-on PLL is the highest PLL config supported on the + * board. + */ + sc->high = PMJCR_GET_CORE_MULT(reg, sc->cpu); + sc->min_freq = constraints->threshold; + sc->low = constraints->min_mult; + + cpufreq_register(dev); + return (0); +} + +static int +mpc85xx_jog_settings(device_t dev, struct cf_setting *sets, int *count) +{ + struct mpc85xx_jog_softc *sc; + uint32_t sysclk; + int i; + + sc = device_get_softc(dev); + if (sets == NULL || count == NULL) + return (EINVAL); + if (*count < sc->high - 1) + return (E2BIG); + + sysclk = mpc85xx_get_system_clock(); + /* Return a list of valid settings for this driver. */ + memset(sets, CPUFREQ_VAL_UNKNOWN, sizeof(*sets) * sc->high); + + for (i = sc->high; i >= sc->low; --i) { + sets[sc->high - i].freq = sysclk * i / MHZ; + sets[sc->high - i].dev = dev; + sets[sc->high - i].spec[0] = i; + } + *count = sc->high - sc->low + 1; + + return (0); +} + +struct jog_rv_args { + int cpu; + int mult; + int slow; + volatile int inprogress; +}; + +static void +mpc85xx_jog_set_int(void *arg) +{ + struct jog_rv_args *args = arg; + uint32_t reg; + + if (PCPU_GET(cpuid) == args->cpu) { + reg = ccsr_read4(GUTS_PMJCR); + reg &= ~PMJCR_CORE_MULT(PMJCR_RATIO_M, args->cpu); + reg |= PMJCR_CORE_MULT(args->mult, args->cpu); + if (args->slow) + reg &= ~(1 << (12 + args->cpu)); + else + reg |= (1 << (12 + args->cpu)); + + ccsr_write4(GUTS_PMJCR, reg); + + reg = ccsr_read4(GUTS_POWMGTCSR); + reg |= POWMGTCSR_JOG | POWMGTCSR_INT_MASK; + ccsr_write4(GUTS_POWMGTCSR, reg); + + /* Wait for completion */ + do { + DELAY(100); + reg = ccsr_read4(GUTS_POWMGTCSR); + } while (reg & POWMGTCSR_JOG); + + reg = ccsr_read4(GUTS_POWMGTCSR); + ccsr_write4(GUTS_POWMGTCSR, reg & ~POWMGTCSR_INT_MASK); + ccsr_read4(GUTS_POWMGTCSR); + + args->inprogress = 0; + } else { + while (args->inprogress) + cpu_spinwait(); + } +} + +static int +mpc85xx_jog_set(device_t dev, const struct cf_setting *set) +{ + struct mpc85xx_jog_softc *sc; + struct jog_rv_args args; + + if (set == NULL) + return (EINVAL); + + sc = device_get_softc(dev); + + args.slow = (set->freq <= sc->min_freq); + args.mult = set->spec[0]; + args.cpu = PCPU_GET(cpuid); + args.inprogress = 1; + smp_rendezvous(smp_no_rendezvous_barrier, mpc85xx_jog_set_int, + smp_no_rendezvous_barrier, &args); + + return (0); +} + +static int +mpc85xx_jog_get(device_t dev, struct cf_setting *set) +{ + struct mpc85xx_jog_softc *sc; + uint32_t pmjcr; + uint32_t freq; + + if (set == NULL) + return (EINVAL); + + sc = device_get_softc(dev); + memset(set, CPUFREQ_VAL_UNKNOWN, sizeof(*set)); + + pmjcr = ccsr_read4(GUTS_PORPLLSR); + freq = PMJCR_GET_CORE_MULT(pmjcr, sc->cpu); + freq *= mpc85xx_get_system_clock(); + freq /= MHZ; + + set->freq = freq; + set->dev = dev; + + return (0); +} + +static int +mpc85xx_jog_type(device_t dev, int *type) +{ + + if (type == NULL) + return (EINVAL); + + *type = CPUFREQ_TYPE_ABSOLUTE; + return (0); +} + From owner-svn-src-head@freebsd.org Fri Jul 21 03:42:10 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6C122D7E90B; Fri, 21 Jul 2017 03:42:10 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4639A2719; Fri, 21 Jul 2017 03:42:10 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6L3g92K093992; Fri, 21 Jul 2017 03:42:09 GMT (envelope-from loos@FreeBSD.org) Received: (from loos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6L3g9he093991; Fri, 21 Jul 2017 03:42:09 GMT (envelope-from loos@FreeBSD.org) Message-Id: <201707210342.v6L3g9he093991@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: loos set sender to loos@FreeBSD.org using -f From: Luiz Otavio O Souza Date: Fri, 21 Jul 2017 03:42:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321319 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: loos X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 321319 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.23 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, 21 Jul 2017 03:42:10 -0000 Author: loos Date: Fri Jul 21 03:42:09 2017 New Revision: 321319 URL: https://svnweb.freebsd.org/changeset/base/321319 Log: Update netmap_user.h with the current version of netmap. This file should have been committed together with r319881. MFC after: 1 week MFC with: r319881 Pointy hat to: loos Modified: head/sys/net/netmap_user.h Modified: head/sys/net/netmap_user.h ============================================================================== --- head/sys/net/netmap_user.h Fri Jul 21 03:40:05 2017 (r321318) +++ head/sys/net/netmap_user.h Fri Jul 21 03:42:09 2017 (r321319) @@ -309,16 +309,16 @@ typedef void (*nm_cb_t)(u_char *, const struct nm_pkth * ifname (netmap:foo or vale:foo) is the port name * a suffix can indicate the follwing: * ^ bind the host (sw) ring pair - * * bind host and NIC ring pairs (transparent) + * * bind host and NIC ring pairs * -NN bind individual NIC ring pair * {NN bind master side of pipe NN * }NN bind slave side of pipe NN * a suffix starting with / and the following flags, * in any order: * x exclusive access - * z zero copy monitor - * t monitor tx side - * r monitor rx side + * z zero copy monitor (both tx and rx) + * t monitor tx side (copy monitor) + * r monitor rx side (copy monitor) * R bind only RX ring(s) * T bind only TX ring(s) * @@ -634,9 +634,10 @@ nm_open(const char *ifname, const struct nmreq *req, const char *vpname = NULL; #define MAXERRMSG 80 char errmsg[MAXERRMSG] = ""; - enum { P_START, P_RNGSFXOK, P_GETNUM, P_FLAGS, P_FLAGSOK } p_state; + enum { P_START, P_RNGSFXOK, P_GETNUM, P_FLAGS, P_FLAGSOK, P_MEMID } p_state; int is_vale; long num; + uint16_t nr_arg2 = 0; if (strncmp(ifname, "netmap:", 7) && strncmp(ifname, NM_BDG_NAME, strlen(NM_BDG_NAME))) { @@ -665,7 +666,7 @@ nm_open(const char *ifname, const struct nmreq *req, } /* scan for a separator */ - for (; *port && !index("-*^{}/", *port); port++) + for (; *port && !index("-*^{}/@", *port); port++) ; if (is_vale && !nm_is_identifier(vpname, port)) { @@ -707,6 +708,9 @@ nm_open(const char *ifname, const struct nmreq *req, case '/': /* start of flags */ p_state = P_FLAGS; break; + case '@': /* start of memid */ + p_state = P_MEMID; + break; default: snprintf(errmsg, MAXERRMSG, "unknown modifier: '%c'", *port); goto fail; @@ -718,6 +722,9 @@ nm_open(const char *ifname, const struct nmreq *req, case '/': p_state = P_FLAGS; break; + case '@': + p_state = P_MEMID; + break; default: snprintf(errmsg, MAXERRMSG, "unexpected character: '%c'", *port); goto fail; @@ -736,6 +743,11 @@ nm_open(const char *ifname, const struct nmreq *req, break; case P_FLAGS: case P_FLAGSOK: + if (*port == '@') { + port++; + p_state = P_MEMID; + break; + } switch (*port) { case 'x': nr_flags |= NR_EXCLUSIVE; @@ -762,17 +774,25 @@ nm_open(const char *ifname, const struct nmreq *req, port++; p_state = P_FLAGSOK; break; + case P_MEMID: + if (nr_arg2 != 0) { + snprintf(errmsg, MAXERRMSG, "double setting of memid"); + goto fail; + } + num = strtol(port, (char **)&port, 10); + if (num <= 0) { + snprintf(errmsg, MAXERRMSG, "invalid memid %ld, must be >0", num); + goto fail; + } + nr_arg2 = num; + p_state = P_RNGSFXOK; + break; } } if (p_state != P_START && p_state != P_RNGSFXOK && p_state != P_FLAGSOK) { snprintf(errmsg, MAXERRMSG, "unexpected end of port name"); goto fail; } - if ((nr_flags & NR_ZCOPY_MON) && - !(nr_flags & (NR_MONITOR_TX|NR_MONITOR_RX))) { - snprintf(errmsg, MAXERRMSG, "'z' used but neither 'r', nor 't' found"); - goto fail; - } ND("flags: %s %s %s %s", (nr_flags & NR_EXCLUSIVE) ? "EXCLUSIVE" : "", (nr_flags & NR_ZCOPY_MON) ? "ZCOPY_MON" : "", @@ -799,6 +819,8 @@ nm_open(const char *ifname, const struct nmreq *req, /* these fields are overridden by ifname and flags processing */ d->req.nr_ringid |= nr_ringid; d->req.nr_flags |= nr_flags; + if (nr_arg2) + d->req.nr_arg2 = nr_arg2; memcpy(d->req.nr_name, ifname, namelen); d->req.nr_name[namelen] = '\0'; /* optionally import info from parent */ @@ -848,7 +870,7 @@ nm_open(const char *ifname, const struct nmreq *req, nr_reg = d->req.nr_flags & NR_REG_MASK; - if (nr_reg == NR_REG_SW) { /* host stack */ + if (nr_reg == NR_REG_SW) { /* host stack */ d->first_tx_ring = d->last_tx_ring = d->req.nr_tx_rings; d->first_rx_ring = d->last_rx_ring = d->req.nr_rx_rings; } else if (nr_reg == NR_REG_ALL_NIC) { /* only nic */ From owner-svn-src-head@freebsd.org Fri Jul 21 03:48:11 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0CF08D7EB1B; Fri, 21 Jul 2017 03:48:11 +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 mx1.freebsd.org (Postfix) with ESMTPS id CE60E29CE; Fri, 21 Jul 2017 03:48:10 +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 v6L3mAYG094910; Fri, 21 Jul 2017 03:48:10 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6L3mA6E094909; Fri, 21 Jul 2017 03:48:10 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201707210348.v6L3mA6E094909@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Fri, 21 Jul 2017 03:48:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321320 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: jhibbits X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 321320 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.23 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, 21 Jul 2017 03:48:11 -0000 Author: jhibbits Date: Fri Jul 21 03:48:09 2017 New Revision: 321320 URL: https://svnweb.freebsd.org/changeset/base/321320 Log: Compile the atomic64 emulation for powerpcspe With this, ZFS builds for and runs (not quite stablely) on powerpcspe. Modified: head/sys/conf/files.powerpc Modified: head/sys/conf/files.powerpc ============================================================================== --- head/sys/conf/files.powerpc Fri Jul 21 03:42:09 2017 (r321319) +++ head/sys/conf/files.powerpc Fri Jul 21 03:48:09 2017 (r321320) @@ -15,7 +15,7 @@ font.h optional sc \ clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8" # # There is only an asm version on ppc64. -cddl/compat/opensolaris/kern/opensolaris_atomic.c optional zfs powerpc | dtrace powerpc compile-with "${ZFS_C}" +cddl/compat/opensolaris/kern/opensolaris_atomic.c optional zfs powerpc | dtrace powerpc | zfs powerpcspe | dtrace powerpcspe compile-with "${ZFS_C}" cddl/contrib/opensolaris/common/atomic/powerpc64/opensolaris_atomic.S optional zfs powerpc64 | dtrace powerpc64 compile-with "${ZFS_S}" cddl/dev/dtrace/powerpc/dtrace_asm.S optional dtrace compile-with "${DTRACE_S}" cddl/dev/dtrace/powerpc/dtrace_subr.c optional dtrace compile-with "${DTRACE_C}" From owner-svn-src-head@freebsd.org Fri Jul 21 03:59:57 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DE1C5D7ED55; Fri, 21 Jul 2017 03:59:57 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A4FE42EEE; Fri, 21 Jul 2017 03:59:57 +0000 (UTC) (envelope-from loos@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6L3xuWX099048; Fri, 21 Jul 2017 03:59:56 GMT (envelope-from loos@FreeBSD.org) Received: (from loos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6L3xuKt099046; Fri, 21 Jul 2017 03:59:56 GMT (envelope-from loos@FreeBSD.org) Message-Id: <201707210359.v6L3xuKt099046@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: loos set sender to loos@FreeBSD.org using -f From: Luiz Otavio O Souza Date: Fri, 21 Jul 2017 03:59:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321321 - head/sys/dev/netmap X-SVN-Group: head X-SVN-Commit-Author: loos X-SVN-Commit-Paths: head/sys/dev/netmap X-SVN-Commit-Revision: 321321 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.23 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, 21 Jul 2017 03:59:58 -0000 Author: loos Date: Fri Jul 21 03:59:56 2017 New Revision: 321321 URL: https://svnweb.freebsd.org/changeset/base/321321 Log: Restore the changes done in r313982: Replace zero with NULL for pointers. Spotted by: Harry Schmalzbauer MFC after: 1 week Sponsored by: Rubicon Communications, LLC (Netgate) Modified: head/sys/dev/netmap/netmap_freebsd.c head/sys/dev/netmap/netmap_mem2.c Modified: head/sys/dev/netmap/netmap_freebsd.c ============================================================================== --- head/sys/dev/netmap/netmap_freebsd.c Fri Jul 21 03:48:09 2017 (r321320) +++ head/sys/dev/netmap/netmap_freebsd.c Fri Jul 21 03:59:56 2017 (r321321) @@ -671,7 +671,7 @@ nm_os_pt_memdev_iomap(struct ptnetmap_memdev *ptn_dev, &rid, 0, ~0, *mem_size, RF_ACTIVE); if (ptn_dev->pci_mem == NULL) { *nm_paddr = 0; - *nm_addr = 0; + *nm_addr = NULL; return ENOMEM; } Modified: head/sys/dev/netmap/netmap_mem2.c ============================================================================== --- head/sys/dev/netmap/netmap_mem2.c Fri Jul 21 03:48:09 2017 (r321320) +++ head/sys/dev/netmap/netmap_mem2.c Fri Jul 21 03:59:56 2017 (r321321) @@ -2146,7 +2146,7 @@ netmap_mem_pt_guest_deref(struct netmap_mem_d *nmd) if (ptnmd->ptn_dev) { nm_os_pt_memdev_iounmap(ptnmd->ptn_dev); } - ptnmd->nm_addr = 0; + ptnmd->nm_addr = NULL; ptnmd->nm_paddr = 0; } } From owner-svn-src-head@freebsd.org Fri Jul 21 06:15:59 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AFEB8D96944; Fri, 21 Jul 2017 06:15:59 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::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 5666564F45; Fri, 21 Jul 2017 06:15:59 +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 v6L6Fr4N007675 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 21 Jul 2017 09:15:53 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v6L6Fr4N007675 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v6L6Fqvm007671; Fri, 21 Jul 2017 09:15:52 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 21 Jul 2017 09:15:52 +0300 From: Konstantin Belousov To: Ryan Libby Cc: Bruce Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, imp@freebsd.org Subject: Re: svn commit: r321284 - in head/sys: amd64/include sys Message-ID: <20170721061552.GK1935@kib.kiev.ua> References: <201707200647.v6K6l7Hq076554@repo.freebsd.org> <20170720172157.W1152@besplex.bde.org> <20170720103323.GG1935@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.3 (2017-05-23) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 21 Jul 2017 06:15:59 -0000 On Thu, Jul 20, 2017 at 04:02:02PM -0700, Ryan Libby wrote: > On Thu, Jul 20, 2017 at 3:33 AM, Konstantin Belousov > wrote: > > On Thu, Jul 20, 2017 at 02:08:30AM -0700, Ryan Libby wrote: > >> On Thu, Jul 20, 2017 at 1:01 AM, Bruce Evans wrote: > [...] > >> > This bug is not very common. There seem to be no instances of it in > >> > (only sys/cdefs.h uses __attribute__(()), and it seems to use > >> > underscores for all the attributes). Grepping sys/include/*.h for > >> > attribute shows the following bugs: > >> > > >> > X amd64/include/efi.h:#define EFIABI_ATTR __attribute__((ms_abi)) > >> > X i386/include/efi.h:#define EFIABI_ATTR /* __attribute__((ms_abi)) */ /* clang fails with this */ > >> > X ofed/include/rdma/ib_user_mad.h:typedef unsigned long __attribute__((aligned(4))) packed_ulong; > >> > X ofed/include/rdma/ib_smi.h:} __attribute__ ((packed)); > >> > X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); > >> > X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); > >> > > >> > The commented-out ms_abi was only a style bug. Now it is a larger style > >> > bug -- it is different and worse than amd64. > >> > >> I'm not sure what to do about i386 there (again beyond fixing up the > >> spelling in the comment). Maybe the unsupported architectures should > >> just not be declaring EFIABI_ATTR at all? (Thoughts, kib?) > > > > I think i386 should be treated exactly same as amd64, i.e. EFIABI_ATTR > > should be not defined if gcc < 4.4. Or I do not understand the scope > > of the question. > > After googling around [1] and a quick check of the spec [2], it now > seems to me that the i386 comment might just be erroneous. I think the > right solution for sys/i386/include/efi.h may just be to delete the > comment and leave that EFIAPI_ATTR macro definition as empty (always, no > compiler version check) in order to use the native calling convention. > > [1] http://wiki.osdev.org/UEFI#Calling_Conventions > [2] http://www.uefi.org/sites/default/files/resources/UEFI_Spec_2_7.pdf At very least, the UEFI Spec requires 16-byte alignment of the stack. This is not guaranteed by our i386 ABI. From owner-svn-src-head@freebsd.org Fri Jul 21 07:44:44 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3DCB7D9B232; Fri, 21 Jul 2017 07:44:44 +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 mx1.freebsd.org (Postfix) with ESMTPS id 0AAC8670EB; Fri, 21 Jul 2017 07:44: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 v6L7ihUJ092736; Fri, 21 Jul 2017 07:44:43 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6L7ihrD092735; Fri, 21 Jul 2017 07:44:43 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201707210744.v6L7ihrD092735@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Fri, 21 Jul 2017 07:44:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321325 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 321325 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.23 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, 21 Jul 2017 07:44:44 -0000 Author: tuexen Date: Fri Jul 21 07:44:43 2017 New Revision: 321325 URL: https://svnweb.freebsd.org/changeset/base/321325 Log: Fix getsockopt() for listening sockets when using SO_SNDBUF, SO_RCVBUF, SO_SNDLOWAT, SO_RCVLOWAT. Since r31972 it only worked for non-listening sockets. Sponsored by: Netflix, Inc. Modified: head/sys/kern/uipc_socket.c Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Fri Jul 21 06:56:06 2017 (r321324) +++ head/sys/kern/uipc_socket.c Fri Jul 21 07:44:43 2017 (r321325) @@ -3020,19 +3020,23 @@ integer: goto integer; case SO_SNDBUF: - optval = so->so_snd.sb_hiwat; + optval = SOLISTENING(so) ? so->sol_sbsnd_hiwat : + so->so_snd.sb_hiwat; goto integer; case SO_RCVBUF: - optval = so->so_rcv.sb_hiwat; + optval = SOLISTENING(so) ? so->sol_sbrcv_hiwat : + so->so_rcv.sb_hiwat; goto integer; case SO_SNDLOWAT: - optval = so->so_snd.sb_lowat; + optval = SOLISTENING(so) ? so->sol_sbsnd_lowat : + so->so_snd.sb_lowat; goto integer; case SO_RCVLOWAT: - optval = so->so_rcv.sb_lowat; + optval = SOLISTENING(so) ? so->sol_sbrcv_lowat : + so->so_rcv.sb_lowat; goto integer; case SO_SNDTIMEO: From owner-svn-src-head@freebsd.org Fri Jul 21 08:21:20 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AFE48D9BE0E; Fri, 21 Jul 2017 08:21:20 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf0-x241.google.com (mail-pf0-x241.google.com [IPv6:2607:f8b0:400e:c00::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 88C0C67C63; Fri, 21 Jul 2017 08:21:20 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x241.google.com with SMTP id d18so4313207pfe.4; Fri, 21 Jul 2017 01:21:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=l85d/buuhKiYJDCZ4lP8nUfZsjVN070UYzzFWRQFBoY=; b=OjFCgBpr2faRnZ8Zi1SW0JcOIQ8md0ts643eDXYSBzXaC0wy6XcK7MbBsX5dGtNRGF C78BfyEQzUmjEOUjTy0fM+QoZXansvy7Qer8auKt9SK4uOeGaudi3GyAVpDit1KbUfmE BL9gmFk/Ek3rlXpQmOIpy/DIKDTtaPKAXT4tJq3KNPyV5NRYZ0hDVg17Ym02iz5ctIb5 Nf4L78nhlHKngF8h6fVyZ6WWfXhh9WZvF24ESkSzmgGaXXnk6mFjaTWU/X/bE0cSiNXs hYVTJ/6ywF90WyrNJ3fQmUQO0ZaQc///MDXjfE2MZCw5eyo8cKogRINMiKOpxeDkQuIr BndA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=l85d/buuhKiYJDCZ4lP8nUfZsjVN070UYzzFWRQFBoY=; b=m/Xxp9kh4XXpfA6Jx4r7RB45WT/Xkw9jmT77f9P4alXkQ13yKIzM+tkyxs+L9H4qN1 YyzRaX3nQR9qSwZeBkYkfMBlu97mS/D/KefV8dzAFUq0q9+bkfv0uZFz0wQ84jVkh0PG piYOFZ2EuHLGTLVBbyIPorhd7C7ooXyrMHgRaLYAlRV0Zc86xIJOEHHTt1ioD3RNqsZ0 0YiL7v5TiaQyN8hHY4l0h4oU9l0tqaULMnUCSobZPlqDKRbXIUvQQB8FJjn0wHiVdT1s jqKS9IKY460KqPFFojS8Pc7Y3cr+Nx/iD47x3SLu6PL2O6/+R81PICvQVK04x1blDAMG BRSA== X-Gm-Message-State: AIVw112+3ZnznFE4VYhWLLLAjsJK83AQfo6SYSgFXENTpwA0SjSMyqLi 3zkSQdrpSFagUSGFdwI= X-Received: by 10.99.1.138 with SMTP id 132mr6583903pgb.317.1500625279423; Fri, 21 Jul 2017 01:21:19 -0700 (PDT) Received: from [192.168.20.13] (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id q8sm8855341pfl.89.2017.07.21.01.21.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 21 Jul 2017 01:21:18 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r321325 - head/sys/kern From: Ngie Cooper X-Mailer: iPhone Mail (14F89) In-Reply-To: <201707210744.v6L7ihrD092735@repo.freebsd.org> Date: Fri, 21 Jul 2017 01:21:17 -0700 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: 7bit Message-Id: <498369B4-F073-4595-8F05-2D50D3CBC095@gmail.com> References: <201707210744.v6L7ihrD092735@repo.freebsd.org> To: Michael Tuexen X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 21 Jul 2017 08:21:20 -0000 > On Jul 21, 2017, at 00:44, Michael Tuexen wrote: > > Author: tuexen > Date: Fri Jul 21 07:44:43 2017 > New Revision: 321325 > URL: https://svnweb.freebsd.org/changeset/base/321325 > > Log: > Fix getsockopt() for listening sockets when using SO_SNDBUF, SO_RCVBUF, > SO_SNDLOWAT, SO_RCVLOWAT. Since r31972 it only worked for non-listening *r319722 Thanks, -Ngie From owner-svn-src-head@freebsd.org Fri Jul 21 08:50:23 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A339CD9D628; Fri, 21 Jul 2017 08:50:23 +0000 (UTC) (envelope-from robak@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 71CAC68883; Fri, 21 Jul 2017 08:50:23 +0000 (UTC) (envelope-from robak@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6L8oMle017009; Fri, 21 Jul 2017 08:50:22 GMT (envelope-from robak@FreeBSD.org) Received: (from robak@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6L8oMBZ017008; Fri, 21 Jul 2017 08:50:22 GMT (envelope-from robak@FreeBSD.org) Message-Id: <201707210850.v6L8oMBZ017008@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: robak set sender to robak@FreeBSD.org using -f From: Bartek Rutkowski Date: Fri, 21 Jul 2017 08:50:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321326 - head/usr.sbin/bsdinstall/scripts X-SVN-Group: head X-SVN-Commit-Author: robak X-SVN-Commit-Paths: head/usr.sbin/bsdinstall/scripts X-SVN-Commit-Revision: 321326 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.23 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, 21 Jul 2017 08:50:23 -0000 Author: robak (ports committer) Date: Fri Jul 21 08:50:22 2017 New Revision: 321326 URL: https://svnweb.freebsd.org/changeset/base/321326 Log: Remove stack guard option from hardening menu. Since kib's change the stack guard is now ON by default, this option in hardening menu of bsdinstall is no longer needed. Submitted by: Bartlomiej Rutkowski Reviewed by: bapt Approved by: bapt MFC after: 1 day Sponsored by: Pixeware LTD Differential Revision: https://reviews.freebsd.org/D11686 Modified: head/usr.sbin/bsdinstall/scripts/hardening Modified: head/usr.sbin/bsdinstall/scripts/hardening ============================================================================== --- head/usr.sbin/bsdinstall/scripts/hardening Fri Jul 21 07:44:43 2017 (r321325) +++ head/usr.sbin/bsdinstall/scripts/hardening Fri Jul 21 08:50:22 2017 (r321326) @@ -42,11 +42,10 @@ FEATURES=$( dialog --backtitle "FreeBSD Installer" \ "3 read_msgbuf" "Disable reading kernel message buffer for unprivileged users" ${read_msgbuf:-off} \ "4 proc_debug" "Disable process debugging facilities for unprivileged users" ${proc_debug:-off} \ "5 random_pid" "Randomize the PID of newly created processes" ${random_pid:-off} \ - "6 stack_guard" "Set stack guard buffer size to 2MB" ${stack_guard:-off} \ - "7 clear_tmp" "Clean the /tmp filesystem on system startup" ${clear_tmp:-off} \ - "8 disable_syslogd" "Disable opening Syslogd network socket (disables remote logging)" ${disable_syslogd:-off} \ - "9 disable_sendmail" "Disable Sendmail service" ${disable_sendmail:-off} \ - "10 secure_console" "Enable console password prompt" ${secure_console:-off} \ + "6 clear_tmp" "Clean the /tmp filesystem on system startup" ${clear_tmp:-off} \ + "7 disable_syslogd" "Disable opening Syslogd network socket (disables remote logging)" ${disable_syslogd:-off} \ + "8 disable_sendmail" "Disable Sendmail service" ${disable_sendmail:-off} \ + "9 secure_console" "Enable console password prompt" ${secure_console:-off} \ 2>&1 1>&3 ) exec 3>&- @@ -68,9 +67,6 @@ for feature in $FEATURES; do fi if [ "$feature" = "random_pid" ]; then echo kern.randompid=$(jot -r 1 9999) >> $BSDINSTALL_TMPETC/sysctl.conf.hardening - fi - if [ "$feature" = "stack_guard" ]; then - echo security.bsd.stack_guard_page=512 >> $BSDINSTALL_TMPETC/sysctl.conf.hardening fi if [ "$feature" = "clear_tmp" ]; then echo 'clear_tmp_enable="YES"' >> $BSDINSTALL_TMPETC/rc.conf.hardening From owner-svn-src-head@freebsd.org Fri Jul 21 13:27:26 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4AE00DA8451; Fri, 21 Jul 2017 13:27:26 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1830D702B7; Fri, 21 Jul 2017 13:27:26 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6LDRPZr031832; Fri, 21 Jul 2017 13:27:25 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LDRPPk031831; Fri, 21 Jul 2017 13:27:25 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201707211327.v6LDRPPk031831@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Fri, 21 Jul 2017 13:27:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321327 - head/usr.bin/ktrace X-SVN-Group: head X-SVN-Commit-Author: trasz X-SVN-Commit-Paths: head/usr.bin/ktrace X-SVN-Commit-Revision: 321327 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.23 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, 21 Jul 2017 13:27:26 -0000 Author: trasz Date: Fri Jul 21 13:27:25 2017 New Revision: 321327 URL: https://svnweb.freebsd.org/changeset/base/321327 Log: Use more usual formatting for the EXAMPLES section of ktrace(1). MFC after: 2 weeks Sponsored by: DARPA, AFRL Modified: head/usr.bin/ktrace/ktrace.1 Modified: head/usr.bin/ktrace/ktrace.1 ============================================================================== --- head/usr.bin/ktrace/ktrace.1 Fri Jul 21 08:50:22 2017 (r321326) +++ head/usr.bin/ktrace/ktrace.1 Fri Jul 21 13:27:25 2017 (r321327) @@ -28,7 +28,7 @@ .\" @(#)ktrace.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd March 31, 2016 +.Dd July 24, 2017 .Dt KTRACE 1 .Os .Sh NAME @@ -148,31 +148,31 @@ and .Ar command options are mutually exclusive. .Sh EXAMPLES -# trace all kernel operations of process id 34 +Trace all kernel operations of process id 34: .Dl $ ktrace -p 34 .Pp -# trace all kernel operations of processes in process group 15 and -# pass the trace flags to all current and future children +Trace all kernel operations of processes in process group 15 and +pass the trace flags to all current and future children: .Dl $ ktrace -idg 15 .Pp -# disable all tracing of process 65 +Disable all tracing of process 65: .Dl $ ktrace -cp 65 .Pp -# disable tracing signals on process 70 and all current children +Disable tracing signals on process 70 and all current children: .Dl $ ktrace -t s -cdp 70 .Pp -# enable tracing of +Enable tracing of .Tn I/O -on process 67 +on process 67: .Dl $ ktrace -ti -p 67 .Pp -# run the command "w", tracing only system calls +Run the command "w", tracing only system calls: .Dl $ ktrace -tc w .Pp -# disable all tracing to the file "tracedata" +Disable all tracing to the file "tracedata": .Dl $ ktrace -c -f tracedata .Pp -# disable tracing of all user-owned processes +Disable tracing of all user-owned processes: .Dl $ ktrace -C .Sh SEE ALSO .Xr kdump 1 , From owner-svn-src-head@freebsd.org Fri Jul 21 13:51:01 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2169CDA89DA; Fri, 21 Jul 2017 13:51:01 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E545670C7B; Fri, 21 Jul 2017 13:51:00 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6LDp0s1040601; Fri, 21 Jul 2017 13:51:00 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LDp0Nl040599; Fri, 21 Jul 2017 13:51:00 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201707211351.v6LDp0Nl040599@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Fri, 21 Jul 2017 13:51:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321328 - head/usr.bin/truss X-SVN-Group: head X-SVN-Commit-Author: trasz X-SVN-Commit-Paths: head/usr.bin/truss X-SVN-Commit-Revision: 321328 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.23 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, 21 Jul 2017 13:51:01 -0000 Author: trasz Date: Fri Jul 21 13:50:59 2017 New Revision: 321328 URL: https://svnweb.freebsd.org/changeset/base/321328 Log: Use more usual formatting for the EXAMPLES section of truss(1). MFC after: 2 weeks Sponsored by: DARPA, AFRL Modified: head/usr.bin/truss/truss.1 Modified: head/usr.bin/truss/truss.1 ============================================================================== --- head/usr.bin/truss/truss.1 Fri Jul 21 13:27:25 2017 (r321327) +++ head/usr.bin/truss/truss.1 Fri Jul 21 13:50:59 2017 (r321328) @@ -92,11 +92,13 @@ and options are mutually exclusive.) .El .Sh EXAMPLES -# Follow the system calls used in echoing "hello" +Follow the system calls used in echoing "hello": .Dl $ truss /bin/echo hello -# Do the same, but put the output into a file +.Pp +Do the same, but put the output into a file: .Dl $ truss -o /tmp/truss.out /bin/echo hello -# Follow an already-running process +.Pp +Follow an already-running process: .Dl $ truss -p 34 .Sh SEE ALSO .Xr kdump 1 , From owner-svn-src-head@freebsd.org Fri Jul 21 13:58:52 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B5A9FDA8C53; Fri, 21 Jul 2017 13:58:52 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 75995710C3; Fri, 21 Jul 2017 13:58:52 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6LDwpL1044510; Fri, 21 Jul 2017 13:58:51 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LDwp1q044509; Fri, 21 Jul 2017 13:58:51 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201707211358.v6LDwp1q044509@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Fri, 21 Jul 2017 13:58:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321329 - head/usr.bin/truss X-SVN-Group: head X-SVN-Commit-Author: trasz X-SVN-Commit-Paths: head/usr.bin/truss X-SVN-Commit-Revision: 321329 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.23 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, 21 Jul 2017 13:58:52 -0000 Author: trasz Date: Fri Jul 21 13:58:51 2017 New Revision: 321329 URL: https://svnweb.freebsd.org/changeset/base/321329 Log: Make truss(1) cross-reference dtrace(1) and bump .Dd. MFC after: 2 weeks Sponsored by: DARPA, AFRL Modified: head/usr.bin/truss/truss.1 Modified: head/usr.bin/truss/truss.1 ============================================================================== --- head/usr.bin/truss/truss.1 Fri Jul 21 13:50:59 2017 (r321328) +++ head/usr.bin/truss/truss.1 Fri Jul 21 13:58:51 2017 (r321329) @@ -1,6 +1,6 @@ .\" $FreeBSD$ .\" -.Dd February 23, 2016 +.Dd July 24, 2017 .Dt TRUSS 1 .Os .Sh NAME @@ -101,6 +101,7 @@ Do the same, but put the output into a file: Follow an already-running process: .Dl $ truss -p 34 .Sh SEE ALSO +.Xr dtrace 1 , .Xr kdump 1 , .Xr ktrace 1 , .Xr ptrace 2 , From owner-svn-src-head@freebsd.org Fri Jul 21 14:14:49 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3C032DA90C3; Fri, 21 Jul 2017 14:14:49 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F0658718F7; Fri, 21 Jul 2017 14:14:48 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6LEEl0b052652; Fri, 21 Jul 2017 14:14:47 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LEElXk052651; Fri, 21 Jul 2017 14:14:47 GMT (envelope-from br@FreeBSD.org) Message-Id: <201707211414.v6LEElXk052651@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Fri, 21 Jul 2017 14:14:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321330 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: br X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 321330 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.23 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, 21 Jul 2017 14:14:49 -0000 Author: br Date: Fri Jul 21 14:14:47 2017 New Revision: 321330 URL: https://svnweb.freebsd.org/changeset/base/321330 Log: Fix style: change spaces to tabs. Sponsored by: DARPA, AFRL Modified: head/sys/vm/vm_object.h Modified: head/sys/vm/vm_object.h ============================================================================== --- head/sys/vm/vm_object.h Fri Jul 21 13:58:51 2017 (r321329) +++ head/sys/vm/vm_object.h Fri Jul 21 14:14:47 2017 (r321330) @@ -171,11 +171,11 @@ struct vm_object { #define OBJ_FICTITIOUS 0x0001 /* (c) contains fictitious pages */ #define OBJ_UNMANAGED 0x0002 /* (c) contains unmanaged pages */ #define OBJ_POPULATE 0x0004 /* pager implements populate() */ -#define OBJ_DEAD 0x0008 /* dead objects (during rundown) */ +#define OBJ_DEAD 0x0008 /* dead objects (during rundown) */ #define OBJ_NOSPLIT 0x0010 /* dont split this object */ #define OBJ_UMTXDEAD 0x0020 /* umtx pshared was terminated */ -#define OBJ_PIPWNT 0x0040 /* paging in progress wanted */ -#define OBJ_MIGHTBEDIRTY 0x0100 /* object might be dirty, only for vnode */ +#define OBJ_PIPWNT 0x0040 /* paging in progress wanted */ +#define OBJ_MIGHTBEDIRTY 0x0100 /* object might be dirty, only for vnode */ #define OBJ_TMPFS_NODE 0x0200 /* object belongs to tmpfs VREG node */ #define OBJ_TMPFS_DIRTY 0x0400 /* dirty tmpfs obj */ #define OBJ_COLORED 0x1000 /* pg_color is defined */ From owner-svn-src-head@freebsd.org Fri Jul 21 14:50:33 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7EBEBDA9B4C; Fri, 21 Jul 2017 14:50:33 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3A8CF72904; Fri, 21 Jul 2017 14:50:33 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6LEoWOs064641; Fri, 21 Jul 2017 14:50:32 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LEoWCO064640; Fri, 21 Jul 2017 14:50:32 GMT (envelope-from br@FreeBSD.org) Message-Id: <201707211450.v6LEoWCO064640@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Fri, 21 Jul 2017 14:50:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321331 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: br X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 321331 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.23 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, 21 Jul 2017 14:50:33 -0000 Author: br Date: Fri Jul 21 14:50:32 2017 New Revision: 321331 URL: https://svnweb.freebsd.org/changeset/base/321331 Log: Add warning flags for GCC 7.1.0 compiler. Sponsored by: DARPA, AFRL Modified: head/share/mk/bsd.sys.mk Modified: head/share/mk/bsd.sys.mk ============================================================================== --- head/share/mk/bsd.sys.mk Fri Jul 21 14:14:47 2017 (r321330) +++ head/share/mk/bsd.sys.mk Fri Jul 21 14:50:32 2017 (r321331) @@ -145,6 +145,23 @@ CWARNFLAGS+= -Wno-error=misleading-indentation \ -Wno-error=unused-const-variable .endif +# GCC 7.1.0 +.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 70100 +CWARNFLAGS+= -Wno-error=deprecated \ + -Wno-error=pointer-compare \ + -Wno-error=format-truncation \ + -Wno-error=implicit-fallthrough \ + -Wno-error=expansion-to-defined \ + -Wno-error=int-in-bool-context \ + -Wno-error=bool-operation \ + -Wno-error=format-overflow \ + -Wno-error=stringop-overflow \ + -Wno-error=memset-elt-size \ + -Wno-error=int-in-bool-context \ + -Wno-error=unused-const-variable \ + -Wno-error=nonnull +.endif + # How to handle FreeBSD custom printf format specifiers. .if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30600 FORMAT_EXTENSIONS= -D__printf__=__freebsd_kprintf__ From owner-svn-src-head@freebsd.org Fri Jul 21 15:09:26 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 857B3DA9EFD; Fri, 21 Jul 2017 15:09:26 +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 mx1.freebsd.org (Postfix) with ESMTPS id 54C4072FE8; Fri, 21 Jul 2017 15:09:26 +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 v6LF9PDM072862; Fri, 21 Jul 2017 15:09:25 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LF9PIY072859; Fri, 21 Jul 2017 15:09:25 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201707211509.v6LF9PIY072859@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Fri, 21 Jul 2017 15:09:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321332 - in head: lib/librt tests/sys/aio X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in head: lib/librt tests/sys/aio X-SVN-Commit-Revision: 321332 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.23 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, 21 Jul 2017 15:09:26 -0000 Author: asomers Date: Fri Jul 21 15:09:24 2017 New Revision: 321332 URL: https://svnweb.freebsd.org/changeset/base/321332 Log: Implement SIGEV_THREAD notifications for lio_listio(2) Our man pages have always indicated that this was supported, but in fact the feature was never implemented for lio_listio(2). Reviewed by: jhb, kib (earlier version) MFC after: 20 days Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D11680 Modified: head/lib/librt/Symbol.map head/lib/librt/aio.c head/tests/sys/aio/lio_test.c Modified: head/lib/librt/Symbol.map ============================================================================== --- head/lib/librt/Symbol.map Fri Jul 21 14:50:32 2017 (r321331) +++ head/lib/librt/Symbol.map Fri Jul 21 15:09:24 2017 (r321332) @@ -26,6 +26,7 @@ FBSD_1.0 { }; FBSD_1.5 { + lio_listio; mq_getfd_np; timer_oshandle_np; }; Modified: head/lib/librt/aio.c ============================================================================== --- head/lib/librt/aio.c Fri Jul 21 14:50:32 2017 (r321331) +++ head/lib/librt/aio.c Fri Jul 21 15:09:24 2017 (r321332) @@ -44,6 +44,7 @@ __weak_reference(__aio_write, aio_write); __weak_reference(__aio_return, aio_return); __weak_reference(__aio_waitcomplete, aio_waitcomplete); __weak_reference(__aio_fsync, aio_fsync); +__weak_reference(__lio_listio, lio_listio); typedef void (*aio_func)(union sigval val, struct aiocb *iocb); @@ -53,6 +54,8 @@ extern ssize_t __sys_aio_waitcomplete(struct aiocb **i extern ssize_t __sys_aio_return(struct aiocb *iocb); extern int __sys_aio_error(struct aiocb *iocb); extern int __sys_aio_fsync(int op, struct aiocb *iocb); +extern int __sys_lio_listio(int mode, struct aiocb * const list[], int nent, + struct sigevent *sig); static void aio_dispatch(struct sigev_node *sn) @@ -63,8 +66,8 @@ aio_dispatch(struct sigev_node *sn) } static int -aio_sigev_alloc(struct aiocb *iocb, struct sigev_node **sn, - struct sigevent *saved_ev) +aio_sigev_alloc(sigev_id_t id, struct sigevent *sigevent, + struct sigev_node **sn, struct sigevent *saved_ev) { if (__sigev_check_init()) { /* This might be that thread library is not enabled. */ @@ -72,15 +75,15 @@ aio_sigev_alloc(struct aiocb *iocb, struct sigev_node return (-1); } - *sn = __sigev_alloc(SI_ASYNCIO, &iocb->aio_sigevent, NULL, 1); + *sn = __sigev_alloc(SI_ASYNCIO, sigevent, NULL, 1); if (*sn == NULL) { errno = EAGAIN; return (-1); } - *saved_ev = iocb->aio_sigevent; - (*sn)->sn_id = (sigev_id_t)iocb; - __sigev_get_sigevent(*sn, &iocb->aio_sigevent, (*sn)->sn_id); + *saved_ev = *sigevent; + (*sn)->sn_id = id; + __sigev_get_sigevent(*sn, sigevent, (*sn)->sn_id); (*sn)->sn_dispatch = aio_dispatch; __sigev_list_lock(); @@ -102,7 +105,8 @@ aio_io(struct aiocb *iocb, int (*sysfunc)(struct aiocb return (ret); } - ret = aio_sigev_alloc(iocb, &sn, &saved_ev); + ret = aio_sigev_alloc((sigev_id_t)iocb, &iocb->aio_sigevent, &sn, + &saved_ev); if (ret) return (ret); ret = sysfunc(iocb); @@ -183,11 +187,38 @@ __aio_fsync(int op, struct aiocb *iocb) if (iocb->aio_sigevent.sigev_notify != SIGEV_THREAD) return __sys_aio_fsync(op, iocb); - ret = aio_sigev_alloc(iocb, &sn, &saved_ev); + ret = aio_sigev_alloc((sigev_id_t)iocb, &iocb->aio_sigevent, &sn, + &saved_ev); if (ret) return (ret); ret = __sys_aio_fsync(op, iocb); iocb->aio_sigevent = saved_ev; + if (ret != 0) { + err = errno; + __sigev_list_lock(); + __sigev_delete_node(sn); + __sigev_list_unlock(); + errno = err; + } + return (ret); +} + +int +__lio_listio(int mode, struct aiocb * const list[], int nent, + struct sigevent *sig) +{ + struct sigev_node *sn; + struct sigevent saved_ev; + int ret, err; + + if (sig == NULL || sig->sigev_notify != SIGEV_THREAD) + return (__sys_lio_listio(mode, list, nent, sig)); + + ret = aio_sigev_alloc((sigev_id_t)list, sig, &sn, &saved_ev); + if (ret) + return (ret); + ret = __sys_lio_listio(mode, list, nent, sig); + *sig = saved_ev; if (ret != 0) { err = errno; __sigev_list_lock(); Modified: head/tests/sys/aio/lio_test.c ============================================================================== --- head/tests/sys/aio/lio_test.c Fri Jul 21 14:50:32 2017 (r321331) +++ head/tests/sys/aio/lio_test.c Fri Jul 21 15:09:24 2017 (r321332) @@ -119,8 +119,8 @@ ATF_TC_BODY(lio_listio_empty_nowait_thread, tc) struct aiocb *list = NULL; struct sigevent sev; - atf_tc_expect_fail("Bug 220459 - lio_listio(2) doesn't support" - " SIGEV_THREAD"); + atf_tc_expect_timeout("Bug 220398 - lio_listio(2) never sends" + "asynchronous notification if nent==0"); ATF_REQUIRE_EQ(0, sem_init(&completions, false, 0)); bzero(&sev, sizeof(sev)); sev.sigev_notify = SIGEV_THREAD; From owner-svn-src-head@freebsd.org Fri Jul 21 15:11:05 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DA8EDDA9FBB for ; Fri, 21 Jul 2017 15:11:05 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-yb0-x22b.google.com (mail-yb0-x22b.google.com [IPv6:2607:f8b0:4002:c09::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9848C731A6 for ; Fri, 21 Jul 2017 15:11:05 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-yb0-x22b.google.com with SMTP id 74so12922557ybf.3 for ; Fri, 21 Jul 2017 08:11:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:cc; bh=QtTXekVyNSJHIZRpR4NPEM4teI/ILo6UluNoS9JmNV4=; b=UY6ZOub3nB1GUa11E8saX4FAj70bln4c47j121FcFU0VsIAkr9WdrDLxcAPinmJFOv XfrI0fIx9POARFOekzadcK4enl2a7dLfIlbeWNep5vWX6a3tN8KgdWcYQu7XKGrWQBxz 4j6y/tZx+DJx8IKKY6BvIs2krre0VMpjGXuEV/H3Y5fxvbBF+DAayYRSipbptMbHxOV/ PyHvMG6NH7ArfiPOwcNUUk1XggTXcSlRVqQ6B4HKJ1O1E9rKptDkKbHDCbJQ83KSK3Jy Z5JhBguTE5VDIxfMSbIyFJbsex1Ha81OziYd/VnOBvKtmoCmD68r9Bflm+SKlp4Wxebj oesQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:cc; bh=QtTXekVyNSJHIZRpR4NPEM4teI/ILo6UluNoS9JmNV4=; b=ldN/roFN+r1ZC9ys4d93KBmtElgAQngdYL0Zt2kCkObYfNIDo55ephgXr9EIYf5RHX oqUeI4KgGiCS4ha7UKzNa8/a/EG4TEVno2USK0VVHvGQMVCVHLg1XWxl5YTVY7XNFTlL wL6R0c2LcpN3ulM8gQuA4jc+QJMpE5WOvliYrK/KRbK2nCr3cZfeto4bNORPL5CYf5oy 4aBsiUB9ixCzmVHVySa17+zYUKqbeEXSUqLHFOcT9ZSYENTkNsKfJUeCTHEzBa4LWGuO POuMnP4GiWZDoOVMP8Ne7LjQEFpCAA5L4JoyE3z9gCB5XUBjHzUsYyFlTazHgTAUEt3x Uj9A== X-Gm-Message-State: AIVw112r1EvSgX90bKvjEsrDc/cX4eYdiabOud7F53aUTbYEnjXqLoYo vhBbeYwCCqulFto3JnB5stJC0cmxWw== X-Received: by 10.37.173.143 with SMTP id z15mt6425372ybi.25.1500649864614; Fri, 21 Jul 2017 08:11:04 -0700 (PDT) MIME-Version: 1.0 Sender: asomers@gmail.com Received: by 10.129.95.135 with HTTP; Fri, 21 Jul 2017 08:11:04 -0700 (PDT) In-Reply-To: <201707211509.v6LF9PIY072859@repo.freebsd.org> References: <201707211509.v6LF9PIY072859@repo.freebsd.org> From: Alan Somers Date: Fri, 21 Jul 2017 09:11:04 -0600 X-Google-Sender-Auth: 9_8QOYbtEsmtSWkvmae1-L6GULc Message-ID: Subject: Re: svn commit: r321332 - in head: lib/librt tests/sys/aio Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 21 Jul 2017 15:11:06 -0000 PR: 220459 On Fri, Jul 21, 2017 at 9:09 AM, Alan Somers wrote: > Author: asomers > Date: Fri Jul 21 15:09:24 2017 > New Revision: 321332 > URL: https://svnweb.freebsd.org/changeset/base/321332 > > Log: > Implement SIGEV_THREAD notifications for lio_listio(2) > > Our man pages have always indicated that this was supported, but in fact the > feature was never implemented for lio_listio(2). > > Reviewed by: jhb, kib (earlier version) > MFC after: 20 days > Sponsored by: Spectra Logic Corp > Differential Revision: https://reviews.freebsd.org/D11680 > > Modified: > head/lib/librt/Symbol.map > head/lib/librt/aio.c > head/tests/sys/aio/lio_test.c From owner-svn-src-head@freebsd.org Fri Jul 21 16:06:24 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EEB7BDAB17C; Fri, 21 Jul 2017 16:06:24 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf0-x22c.google.com (mail-pf0-x22c.google.com [IPv6:2607:f8b0:400e:c00::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BC71674C0B; Fri, 21 Jul 2017 16:06:24 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x22c.google.com with SMTP id s70so25690383pfs.0; Fri, 21 Jul 2017 09:06:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=RXOjf+hhRzeMZm6RBFCA+1et1M1vbuCMh6Z0yKY/EJw=; b=iAHWh3jy05/+u2aP28SGhh8Ln0ntdtXadFhdpLV3i7xQmxrFwxniMOOTokspLad4xh pR+sglRj54IYXTEyu+VMNRYBWhGJwWrZf37oRcaNaHgVh5+sNtTTcJU1R1MFPwoWQf1B +zPW6aYMOZR+WrbNNoioQkwqa7nyu0bLOKnWa3W0i+c8xh08USGFtB8fulZlGThKVzXc LThjjjBSax60XYlNtB9WXzeg4mtTJURIGPDVHYSQVd2ySYicw6JT4Ers3BW/kVfO/xQg AOfMTWAQ4DtpZSJQMY75Tt6hhMpFcS83+VPH9UsnXx0DodEiBzxTpApyYqBrXjNu+xWG AiRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=RXOjf+hhRzeMZm6RBFCA+1et1M1vbuCMh6Z0yKY/EJw=; b=qlYiXcfkvMgrd1OOKWeExp2Y5rjwGkK0JdcJ25lrt7ZD908EDjigFlYAQ7nmYGwOL0 GxUaFS0xsA0nsdJ6SqF7tvPoYDe3cj7yMiq3cJ/4U2oTCsgESDc5Eoqwn+sP+YoTEUOe j3G17WmaPPPTgdbVkmyY9vSeYq5EhPJh87S/bgQgQaiDHXqz76uQF6FP/+l0aZOfIf5g JVOZm3p/1+uvB37GJ4ZDNnW3V3W3XOgttGYD80MaiLW0LjFp5j/APm0D+hhOoF9YlA3O WSpoRbclu+mclNrhDKoOOppei1rAN7OnNccVhL0mm4X6RWkGpUnSxdn/xOz9K7gszW8l re9A== X-Gm-Message-State: AIVw112vqWSBFVOuVx6g/S8f8Vkz/VIT0+c+fvMnE0HmDM5Hdegmby4z 4M1gCpNFBop7k1UhsUM= X-Received: by 10.84.210.38 with SMTP id z35mr3181046plh.416.1500653183579; Fri, 21 Jul 2017 09:06:23 -0700 (PDT) Received: from ?IPv6:2607:fb90:8342:404a:6d8f:b587:9b9:3843? ([2607:fb90:8342:404a:6d8f:b587:9b9:3843]) by smtp.gmail.com with ESMTPSA id z69sm8455717pgz.42.2017.07.21.09.06.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 21 Jul 2017 09:06:22 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r321332 - in head: lib/librt tests/sys/aio From: Ngie Cooper X-Mailer: iPhone Mail (14F89) In-Reply-To: Date: Fri, 21 Jul 2017 09:06:21 -0700 Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <201707211509.v6LF9PIY072859@repo.freebsd.org> To: Alan Somers X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 21 Jul 2017 16:06:25 -0000 > On Jul 21, 2017, at 08:11, Alan Somers wrote: >=20 > PR: 220459 >=20 >> On Fri, Jul 21, 2017 at 9:09 AM, Alan Somers wrote:= >> Author: asomers >> Date: Fri Jul 21 15:09:24 2017 >> New Revision: 321332 >> URL: https://svnweb.freebsd.org/changeset/base/321332 >>=20 >> Log: >> Implement SIGEV_THREAD notifications for lio_listio(2) >>=20 >> Our man pages have always indicated that this was supported, but in fact= the >> feature was never implemented for lio_listio(2). >>=20 >> Reviewed by: jhb, kib (earlier version) >> MFC after: 20 days >> Sponsored by: Spectra Logic Corp >> Differential Revision: https://reviews.freebsd.org/D11680 >>=20 >> Modified: >> head/lib/librt/Symbol.map >> head/lib/librt/aio.c >> head/tests/sys/aio/lio_test.c Thanks so much :)!= From owner-svn-src-head@freebsd.org Fri Jul 21 16:12:31 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C96A6DAB37A; Fri, 21 Jul 2017 16:12:31 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-yb0-x236.google.com (mail-yb0-x236.google.com [IPv6:2607:f8b0:4002:c09::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 85E8974FE1; Fri, 21 Jul 2017 16:12:31 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-yb0-x236.google.com with SMTP id x6so5602601yba.2; Fri, 21 Jul 2017 09:12:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=4g5FD+AP7l8476fq6/4MRMOnG4uHLSmx4wuf5cheW2c=; b=Ve71Mqxaw0wDZuhWDd9SMWPiiqrvmFPE8C7QN/rm8ogNIxkDmU+/T3tilKT7jemrHt rIhb9IF/SzWBjbjdLsUTNRzN/xGJJaH7WnLcJ82vZKpso8DPo6Pfv6rkAbXg20nutYCh 90y9hF3maBRbknWlUvzlAyLSL9lgmpszr8yjYLyIJtXkYUD2eCNsL4MHwNvREnIbDBSd QCWkFz5PzukdxxVv9LiVLCsGdrV2rnUnV7o6hIsMVwx0iBkIy0H+XVlpUILsb5fYq27L LyUR8EorA9aLA+oQ5tOrd4cuGYIDdIEZa52pt1VLdDEpzJQ0RRKsYJRcwTsGLWwzHeuO jlyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=4g5FD+AP7l8476fq6/4MRMOnG4uHLSmx4wuf5cheW2c=; b=FotgOsn+n87dbiBo7duXFzPKebJJU7xWjuPpMErWzXGNhbw8q5CJMeiTd7ZjUlQAiw lvzYwBCVawgErUUt4tyPRAYl52Pfrcu/msQRb7lRowf2E0V05u7GJySlDqjct5oxNP1Y kUb4Q/Ncppr51TC5/WLLHIUdr3cGv1yfM7BaPZcOeTFpZxpXBIijdcM7iSGt9lQNehHX yEprzvmKDnoFmoejcO+cGib2q33teMT+pMH7YFq3FIvKzlCUooB5GwioJJ5iZ7F0LBkN rm44/Q9NhMDw8LTpHHoC2yDKOXXqPpJ5aT9lHoCqsqTUP5TeVIVtEylTSXVe16w9coCr Kg6Q== X-Gm-Message-State: AIVw113KNQgOxS/bSjeNzquYGrFswnHdrwrsI2B+aYZGLvAYu+Ui8vc8 U7vATYNAr3XymPOVoGXd0uerdJL2/Q== X-Received: by 10.37.118.205 with SMTP id r196mr7025064ybc.266.1500653550495; Fri, 21 Jul 2017 09:12:30 -0700 (PDT) MIME-Version: 1.0 Sender: asomers@gmail.com Received: by 10.129.95.135 with HTTP; Fri, 21 Jul 2017 09:12:29 -0700 (PDT) In-Reply-To: References: <201707211509.v6LF9PIY072859@repo.freebsd.org> From: Alan Somers Date: Fri, 21 Jul 2017 10:12:29 -0600 X-Google-Sender-Auth: JS5MAffpmE8KbkD0BaWy3W76fN4 Message-ID: Subject: Re: svn commit: r321332 - in head: lib/librt tests/sys/aio To: Ngie Cooper Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 21 Jul 2017 16:12:31 -0000 On Fri, Jul 21, 2017 at 10:06 AM, Ngie Cooper wrote: > >> On Jul 21, 2017, at 08:11, Alan Somers wrote: >> >> PR: 220459 >> >>> On Fri, Jul 21, 2017 at 9:09 AM, Alan Somers wrote: >>> Author: asomers >>> Date: Fri Jul 21 15:09:24 2017 >>> New Revision: 321332 >>> URL: https://svnweb.freebsd.org/changeset/base/321332 >>> >>> Log: >>> Implement SIGEV_THREAD notifications for lio_listio(2) >>> >>> Our man pages have always indicated that this was supported, but in fact the >>> feature was never implemented for lio_listio(2). >>> >>> Reviewed by: jhb, kib (earlier version) >>> MFC after: 20 days >>> Sponsored by: Spectra Logic Corp >>> Differential Revision: https://reviews.freebsd.org/D11680 >>> >>> Modified: >>> head/lib/librt/Symbol.map >>> head/lib/librt/aio.c >>> head/tests/sys/aio/lio_test.c > > Thanks so much :)! You're welcome. I didn't know you were interested in AIO. Would you like me to include you on future code reviews in this area? From owner-svn-src-head@freebsd.org Fri Jul 21 16:14:08 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 227C2DAB4A6; Fri, 21 Jul 2017 16:14:08 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E03AD7520B; Fri, 21 Jul 2017 16:14:07 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6LGE6ea002156; Fri, 21 Jul 2017 16:14:06 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LGE6F1002155; Fri, 21 Jul 2017 16:14:06 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201707211614.v6LGE6F1002155@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 21 Jul 2017 16:14:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321333 - head/lib/libc/tests/sys X-SVN-Group: head X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: head/lib/libc/tests/sys X-SVN-Commit-Revision: 321333 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.23 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, 21 Jul 2017 16:14:08 -0000 Author: bdrewery Date: Fri Jul 21 16:14:06 2017 New Revision: 321333 URL: https://svnweb.freebsd.org/changeset/base/321333 Log: Properly set userid for truncate_test. MFC after: 1 week Sponsored by: Dell EMC Isilon Modified: head/lib/libc/tests/sys/Makefile Modified: head/lib/libc/tests/sys/Makefile ============================================================================== --- head/lib/libc/tests/sys/Makefile Fri Jul 21 15:09:24 2017 (r321332) +++ head/lib/libc/tests/sys/Makefile Fri Jul 21 16:14:06 2017 (r321333) @@ -87,7 +87,7 @@ FILESGROUPS+= truncate_test_FILES truncate_test_FILES= truncate_test.root_owned truncate_test_FILESDIR= ${TESTSDIR} truncate_test_FILESMODE= 0600 -truncate_test_FILESOWNER= root +truncate_test_FILESOWN= root truncate_test_FILESGRP= wheel truncate_test_FILESPACKAGE= ${PACKAGE} From owner-svn-src-head@freebsd.org Fri Jul 21 16:14:36 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 63AEADAB505; Fri, 21 Jul 2017 16:14:36 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 312B075347; Fri, 21 Jul 2017 16:14:36 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6LGEZDB002233; Fri, 21 Jul 2017 16:14:35 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LGEZZm002232; Fri, 21 Jul 2017 16:14:35 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201707211614.v6LGEZZm002232@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 21 Jul 2017 16:14:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321334 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 321334 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.23 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, 21 Jul 2017 16:14:36 -0000 Author: bdrewery Date: Fri Jul 21 16:14:35 2017 New Revision: 321334 URL: https://svnweb.freebsd.org/changeset/base/321334 Log: Respect INSTALL_AS_USER for FILES. MFC after: 2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.files.mk Modified: head/share/mk/bsd.files.mk ============================================================================== --- head/share/mk/bsd.files.mk Fri Jul 21 16:14:06 2017 (r321333) +++ head/share/mk/bsd.files.mk Fri Jul 21 16:14:35 2017 (r321334) @@ -26,6 +26,10 @@ installfiles: installfiles-${group} ${group}OWN?= ${SHAREOWN} ${group}GRP?= ${SHAREGRP} +.if ${MK_INSTALL_AS_USER} == "yes" +${group}OWN= ${SHAREOWN} +${group}GRP= ${SHAREGRP} +.endif ${group}MODE?= ${SHAREMODE} ${group}DIR?= ${BINDIR} STAGE_SETS+= ${group:C,[/*],_,g} @@ -46,6 +50,10 @@ _${group}FILES= defined(${group}NAME_${file:T}) || defined(${group}NAME) ${group}OWN_${file:T}?= ${${group}OWN} ${group}GRP_${file:T}?= ${${group}GRP} +.if ${MK_INSTALL_AS_USER} == "yes" +${group}OWN_${file:T}= ${SHAREOWN} +${group}GRP_${file:T}= ${SHAREGRP} +.endif ${group}MODE_${file:T}?= ${${group}MODE} ${group}DIR_${file:T}?= ${${group}DIR} .if defined(${group}NAME) From owner-svn-src-head@freebsd.org Fri Jul 21 17:11:38 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2960DDAC6CF; Fri, 21 Jul 2017 17:11:38 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E98C076B84; Fri, 21 Jul 2017 17:11:37 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6LHBa8x026117; Fri, 21 Jul 2017 17:11:37 GMT (envelope-from rlibby@FreeBSD.org) Received: (from rlibby@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LHBaZc026103; Fri, 21 Jul 2017 17:11:36 GMT (envelope-from rlibby@FreeBSD.org) Message-Id: <201707211711.v6LHBaZc026103@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rlibby set sender to rlibby@FreeBSD.org using -f From: Ryan Libby Date: Fri, 21 Jul 2017 17:11:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321335 - in head/sys: amd64/amd64 x86/x86 X-SVN-Group: head X-SVN-Commit-Author: rlibby X-SVN-Commit-Paths: in head/sys: amd64/amd64 x86/x86 X-SVN-Commit-Revision: 321335 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.23 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, 21 Jul 2017 17:11:38 -0000 Author: rlibby Date: Fri Jul 21 17:11:36 2017 New Revision: 321335 URL: https://svnweb.freebsd.org/changeset/base/321335 Log: __pcpu: gcc -Wredundant-decls Pollution from counter.h made __pcpu visible in amd64/pmap.c. Delete the existing extern decl of __pcpu in amd64/pmap.c and avoid referring to that symbol, instead accessing the pcpu region via PCPU_SET macros. Also delete an unused extern decl of __pcpu from mp_x86.c. Reviewed by: kib Approved by: markj (mentor) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D11666 Modified: head/sys/amd64/amd64/pmap.c head/sys/x86/x86/mp_x86.c Modified: head/sys/amd64/amd64/pmap.c ============================================================================== --- head/sys/amd64/amd64/pmap.c Fri Jul 21 16:14:35 2017 (r321334) +++ head/sys/amd64/amd64/pmap.c Fri Jul 21 17:11:36 2017 (r321335) @@ -274,8 +274,6 @@ pmap_modified_bit(pmap_t pmap) return (mask); } -extern struct pcpu __pcpu[]; - #if !defined(DIAGNOSTIC) #ifdef __GNUC_GNU_INLINE__ #define PMAP_INLINE __attribute__((__gnu_inline__)) inline @@ -1063,8 +1061,8 @@ pmap_bootstrap(vm_paddr_t *firstaddr) kernel_pmap->pm_pcids[i].pm_pcid = PMAP_PCID_KERN; kernel_pmap->pm_pcids[i].pm_gen = 1; } - __pcpu[0].pc_pcid_next = PMAP_PCID_KERN + 1; - __pcpu[0].pc_pcid_gen = 1; + PCPU_SET(pcid_next, PMAP_PCID_KERN + 1); + PCPU_SET(pcid_gen, 1); /* * pcpu area for APs is zeroed during AP startup. * pc_pcid_next and pc_pcid_gen are initialized by AP Modified: head/sys/x86/x86/mp_x86.c ============================================================================== --- head/sys/x86/x86/mp_x86.c Fri Jul 21 16:14:35 2017 (r321334) +++ head/sys/x86/x86/mp_x86.c Fri Jul 21 17:11:36 2017 (r321335) @@ -90,8 +90,6 @@ int mcount_lock; int mp_naps; /* # of Applications processors */ int boot_cpu_id = -1; /* designated BSP */ -extern struct pcpu __pcpu[]; - /* AP uses this during bootstrap. Do not staticize. */ char *bootSTK; int bootAP; From owner-svn-src-head@freebsd.org Fri Jul 21 17:42:56 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 108C8DAD275; Fri, 21 Jul 2017 17:42:56 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CF1A47CFED; Fri, 21 Jul 2017 17:42:55 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6LHgswB041893; Fri, 21 Jul 2017 17:42:54 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LHgs9m041892; Fri, 21 Jul 2017 17:42:54 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201707211742.v6LHgs9m041892@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Fri, 21 Jul 2017 17:42:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321336 - head/sys/dev/e1000 X-SVN-Group: head X-SVN-Commit-Author: sbruno X-SVN-Commit-Paths: head/sys/dev/e1000 X-SVN-Commit-Revision: 321336 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.23 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, 21 Jul 2017 17:42:56 -0000 Author: sbruno Date: Fri Jul 21 17:42:54 2017 New Revision: 321336 URL: https://svnweb.freebsd.org/changeset/base/321336 Log: Do not update stats counter in SWI context. Defer to the already existing admin thread. Submitted by: Matt Macy Sponsored by: Limelight Networks Modified: head/sys/dev/e1000/if_em.c Modified: head/sys/dev/e1000/if_em.c ============================================================================== --- head/sys/dev/e1000/if_em.c Fri Jul 21 17:11:36 2017 (r321335) +++ head/sys/dev/e1000/if_em.c Fri Jul 21 17:42:54 2017 (r321336) @@ -1663,9 +1663,7 @@ em_if_timer(if_ctx_t ctx, uint16_t qid) if (qid != 0) return; - em_if_update_admin_status(ctx); - em_update_stats_counters(adapter); - + iflib_admin_intr_deferred(ctx); /* Reset LAA into RAR[0] on 82571 */ if ((adapter->hw.mac.type == e1000_82571) && e1000_get_laa_state_82571(&adapter->hw)) @@ -1781,6 +1779,7 @@ em_if_update_admin_status(if_ctx_t ctx) iflib_link_state_change(ctx, LINK_STATE_DOWN, ifp->if_baudrate); printf("link state changed to down\n"); } + em_update_stats_counters(adapter); E1000_WRITE_REG(&adapter->hw, E1000_IMS, EM_MSIX_LINK | E1000_IMS_LSC); } From owner-svn-src-head@freebsd.org Fri Jul 21 17:59:55 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 85D6FDADB1F; Fri, 21 Jul 2017 17:59:55 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 486E57DD45; Fri, 21 Jul 2017 17:59:55 +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 v6LHxs3Z046563; Fri, 21 Jul 2017 17:59:54 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LHxsPX046562; Fri, 21 Jul 2017 17:59:54 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201707211759.v6LHxsPX046562@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 21 Jul 2017 17:59:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321342 - head/contrib/llvm/tools/clang/lib/AST X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/contrib/llvm/tools/clang/lib/AST X-SVN-Commit-Revision: 321342 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.23 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, 21 Jul 2017 17:59:55 -0000 Author: dim Date: Fri Jul 21 17:59:54 2017 New Revision: 321342 URL: https://svnweb.freebsd.org/changeset/base/321342 Log: Pull in r295886 from upstream clang trunk (by Richard Smith): PR32034: Evaluate _Atomic(T) in-place when T is a class or array type. This is necessary in order for the evaluation of an _Atomic initializer for those types to have an associated object, which an initializer for class or array type needs. This fixes an assertion when building recent versions of LinuxCNC. Reported by: trasz PR: 220883 MFC after: 1 week Modified: head/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp Modified: head/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp ============================================================================== --- head/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp Fri Jul 21 17:58:06 2017 (r321341) +++ head/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp Fri Jul 21 17:59:54 2017 (r321342) @@ -1404,7 +1404,8 @@ static bool EvaluateIntegerOrLValue(const Expr *E, APV EvalInfo &Info); static bool EvaluateFloat(const Expr *E, APFloat &Result, EvalInfo &Info); static bool EvaluateComplex(const Expr *E, ComplexValue &Res, EvalInfo &Info); -static bool EvaluateAtomic(const Expr *E, APValue &Result, EvalInfo &Info); +static bool EvaluateAtomic(const Expr *E, const LValue *This, APValue &Result, + EvalInfo &Info); static bool EvaluateAsRValue(EvalInfo &Info, const Expr *E, APValue &Result); //===----------------------------------------------------------------------===// @@ -4691,7 +4692,10 @@ class ExprEvaluatorBase (public) case CK_AtomicToNonAtomic: { APValue AtomicVal; - if (!EvaluateAtomic(E->getSubExpr(), AtomicVal, Info)) + // This does not need to be done in place even for class/array types: + // atomic-to-non-atomic conversion implies copying the object + // representation. + if (!Evaluate(AtomicVal, Info, E->getSubExpr())) return false; return DerivedSuccess(AtomicVal, E); } @@ -9565,10 +9569,11 @@ bool ComplexExprEvaluator::VisitInitListExpr(const Ini namespace { class AtomicExprEvaluator : public ExprEvaluatorBase { + const LValue *This; APValue &Result; public: - AtomicExprEvaluator(EvalInfo &Info, APValue &Result) - : ExprEvaluatorBaseTy(Info), Result(Result) {} + AtomicExprEvaluator(EvalInfo &Info, const LValue *This, APValue &Result) + : ExprEvaluatorBaseTy(Info), This(This), Result(Result) {} bool Success(const APValue &V, const Expr *E) { Result = V; @@ -9578,7 +9583,10 @@ class AtomicExprEvaluator : (public) bool ZeroInitialization(const Expr *E) { ImplicitValueInitExpr VIE( E->getType()->castAs()->getValueType()); - return Evaluate(Result, Info, &VIE); + // For atomic-qualified class (and array) types in C++, initialize the + // _Atomic-wrapped subobject directly, in-place. + return This ? EvaluateInPlace(Result, Info, *This, &VIE) + : Evaluate(Result, Info, &VIE); } bool VisitCastExpr(const CastExpr *E) { @@ -9586,15 +9594,17 @@ class AtomicExprEvaluator : (public) default: return ExprEvaluatorBaseTy::VisitCastExpr(E); case CK_NonAtomicToAtomic: - return Evaluate(Result, Info, E->getSubExpr()); + return This ? EvaluateInPlace(Result, Info, *This, E->getSubExpr()) + : Evaluate(Result, Info, E->getSubExpr()); } } }; } // end anonymous namespace -static bool EvaluateAtomic(const Expr *E, APValue &Result, EvalInfo &Info) { +static bool EvaluateAtomic(const Expr *E, const LValue *This, APValue &Result, + EvalInfo &Info) { assert(E->isRValue() && E->getType()->isAtomicType()); - return AtomicExprEvaluator(Info, Result).Visit(E); + return AtomicExprEvaluator(Info, This, Result).Visit(E); } //===----------------------------------------------------------------------===// @@ -9699,8 +9709,17 @@ static bool Evaluate(APValue &Result, EvalInfo &Info, if (!EvaluateVoid(E, Info)) return false; } else if (T->isAtomicType()) { - if (!EvaluateAtomic(E, Result, Info)) - return false; + QualType Unqual = T.getAtomicUnqualifiedType(); + if (Unqual->isArrayType() || Unqual->isRecordType()) { + LValue LV; + LV.set(E, Info.CurrentCall->Index); + APValue &Value = Info.CurrentCall->createTemporary(E, false); + if (!EvaluateAtomic(E, &LV, Value, Info)) + return false; + } else { + if (!EvaluateAtomic(E, nullptr, Result, Info)) + return false; + } } else if (Info.getLangOpts().CPlusPlus11) { Info.FFDiag(E, diag::note_constexpr_nonliteral) << E->getType(); return false; @@ -9725,10 +9744,16 @@ static bool EvaluateInPlace(APValue &Result, EvalInfo if (E->isRValue()) { // Evaluate arrays and record types in-place, so that later initializers can // refer to earlier-initialized members of the object. - if (E->getType()->isArrayType()) + QualType T = E->getType(); + if (T->isArrayType()) return EvaluateArray(E, This, Result, Info); - else if (E->getType()->isRecordType()) + else if (T->isRecordType()) return EvaluateRecord(E, This, Result, Info); + else if (T->isAtomicType()) { + QualType Unqual = T.getAtomicUnqualifiedType(); + if (Unqual->isArrayType() || Unqual->isRecordType()) + return EvaluateAtomic(E, &This, Result, Info); + } } // For any other type, in-place evaluation is unimportant. From owner-svn-src-head@freebsd.org Fri Jul 21 18:28:28 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F55FDAE50C; Fri, 21 Jul 2017 18:28: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 mx1.freebsd.org (Postfix) with ESMTPS id 1D1477EF9F; Fri, 21 Jul 2017 18:28: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 v6LISRPA058986; Fri, 21 Jul 2017 18:28:27 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LISRaT058985; Fri, 21 Jul 2017 18:28:27 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201707211828.v6LISRaT058985@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 21 Jul 2017 18:28:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321347 - head/sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/ufs/ffs X-SVN-Commit-Revision: 321347 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.23 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, 21 Jul 2017 18:28:28 -0000 Author: kib Date: Fri Jul 21 18:28:27 2017 New Revision: 321347 URL: https://svnweb.freebsd.org/changeset/base/321347 Log: Account for lock recursion when transfering snaplock to the vnode lock in ffs_snapremove(). Apparently ffs_snapremove() may be called with the snap lock recursed, at least one trace demonstrated this when snapshot vnode was unlinked while synced. It was inactivated from the syncer thread. Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/ufs/ffs/ffs_snapshot.c Modified: head/sys/ufs/ffs/ffs_snapshot.c ============================================================================== --- head/sys/ufs/ffs/ffs_snapshot.c Fri Jul 21 18:14:06 2017 (r321346) +++ head/sys/ufs/ffs/ffs_snapshot.c Fri Jul 21 18:28:27 2017 (r321347) @@ -1598,7 +1598,7 @@ ffs_snapremove(vp) struct buf *ibp; struct fs *fs; ufs2_daddr_t numblks, blkno, dblk; - int error, loc, last; + int error, i, last, loc; struct snapdata *sn; ip = VTOI(vp); @@ -1618,10 +1618,14 @@ ffs_snapremove(vp) ip->i_nextsnap.tqe_prev = 0; VI_UNLOCK(devvp); lockmgr(&vp->v_lock, LK_EXCLUSIVE, NULL); + for (i = 0; i < sn->sn_lock.lk_recurse; i++) + lockmgr(&vp->v_lock, LK_EXCLUSIVE, NULL); KASSERT(vp->v_vnlock == &sn->sn_lock, ("ffs_snapremove: lost lock mutation")); vp->v_vnlock = &vp->v_lock; VI_LOCK(devvp); + while (sn->sn_lock.lk_recurse > 0) + lockmgr(&sn->sn_lock, LK_RELEASE, NULL); lockmgr(&sn->sn_lock, LK_RELEASE, NULL); try_free_snapdata(devvp); } else From owner-svn-src-head@freebsd.org Fri Jul 21 18:36:18 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E128EDAE6F5; Fri, 21 Jul 2017 18:36:18 +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 mx1.freebsd.org (Postfix) with ESMTPS id B02057F3BD; Fri, 21 Jul 2017 18:36:18 +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 v6LIaHTJ063056; Fri, 21 Jul 2017 18:36:17 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LIaHN5063055; Fri, 21 Jul 2017 18:36:17 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201707211836.v6LIaHN5063055@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 21 Jul 2017 18:36:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321348 - head/sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/ufs/ffs X-SVN-Commit-Revision: 321348 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.23 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, 21 Jul 2017 18:36:19 -0000 Author: kib Date: Fri Jul 21 18:36:17 2017 New Revision: 321348 URL: https://svnweb.freebsd.org/changeset/base/321348 Log: Unlock correct lock in ffs_snapblkfree(). It is possible for ffs_snapblkfree() to race and lock snaplock while the devvp snapdata is instantiated, but no snapshots exist. In this case the loop over snapshots in ffs_snapblkfree() is not executed, and the local variable vp is left initialized to NULL. Unlock using &sn->sn_lock and not vp->v_vnlock. For the inodes on the snapshot list, the locks are same. Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/ufs/ffs/ffs_snapshot.c Modified: head/sys/ufs/ffs/ffs_snapshot.c ============================================================================== --- head/sys/ufs/ffs/ffs_snapshot.c Fri Jul 21 18:28:27 2017 (r321347) +++ head/sys/ufs/ffs/ffs_snapshot.c Fri Jul 21 18:36:17 2017 (r321348) @@ -1935,7 +1935,7 @@ retry: */ if (error != 0 && wkhd != NULL) softdep_freework(wkhd); - lockmgr(vp->v_vnlock, LK_RELEASE, NULL); + lockmgr(&sn->sn_lock, LK_RELEASE, NULL); return (error); } From owner-svn-src-head@freebsd.org Fri Jul 21 18:42:36 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C237BDAE8F5; Fri, 21 Jul 2017 18:42:36 +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 mx1.freebsd.org (Postfix) with ESMTPS id 8BA047F7DB; Fri, 21 Jul 2017 18:42:36 +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 v6LIgZPi066838; Fri, 21 Jul 2017 18:42:35 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LIgZEZ066837; Fri, 21 Jul 2017 18:42:35 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201707211842.v6LIgZEZ066837@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 21 Jul 2017 18:42:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321349 - head/sys/ufs/ffs X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/ufs/ffs X-SVN-Commit-Revision: 321349 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.23 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, 21 Jul 2017 18:42:36 -0000 Author: kib Date: Fri Jul 21 18:42:35 2017 New Revision: 321349 URL: https://svnweb.freebsd.org/changeset/base/321349 Log: Improve publication of the newly allocated snapdata. For freshly allocated snapdata, Lock sn_lock in advance, so si_snapdata readers see the locked snapdata and not race. For existing snapdata, if the thread was put to sleep waiting for sn_lock, re-read si_snapdata. This either closes the race or makes the reliance on LK_DRAIN less important. Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/ufs/ffs/ffs_snapshot.c Modified: head/sys/ufs/ffs/ffs_snapshot.c ============================================================================== --- head/sys/ufs/ffs/ffs_snapshot.c Fri Jul 21 18:36:17 2017 (r321348) +++ head/sys/ufs/ffs/ffs_snapshot.c Fri Jul 21 18:42:35 2017 (r321349) @@ -2638,8 +2638,8 @@ try_free_snapdata(struct vnode *devvp) static struct snapdata * ffs_snapdata_acquire(struct vnode *devvp) { - struct snapdata *nsn; - struct snapdata *sn; + struct snapdata *nsn, *sn; + int error; /* * Allocate a free snapdata. This is done before acquiring the @@ -2647,23 +2647,37 @@ ffs_snapdata_acquire(struct vnode *devvp) * held. */ nsn = ffs_snapdata_alloc(); - /* - * If there snapshots already exist on this filesystem grab a - * reference to the shared lock. Otherwise this is the first - * snapshot on this filesystem and we need to use our - * pre-allocated snapdata. - */ - VI_LOCK(devvp); - if (devvp->v_rdev->si_snapdata == NULL) { - devvp->v_rdev->si_snapdata = nsn; - nsn = NULL; + + for (;;) { + VI_LOCK(devvp); + sn = devvp->v_rdev->si_snapdata; + if (sn == NULL) { + /* + * This is the first snapshot on this + * filesystem and we use our pre-allocated + * snapdata. Publish sn with the sn_lock + * owned by us, to avoid the race. + */ + error = lockmgr(&nsn->sn_lock, LK_EXCLUSIVE | + LK_NOWAIT, NULL); + if (error != 0) + panic("leaked sn, lockmgr error %d", error); + sn = devvp->v_rdev->si_snapdata = nsn; + VI_UNLOCK(devvp); + nsn = NULL; + break; + } + + /* + * There is a snapshots which already exists on this + * filesystem, grab a reference to the common lock. + */ + error = lockmgr(&sn->sn_lock, LK_INTERLOCK | + LK_EXCLUSIVE | LK_SLEEPFAIL, VI_MTX(devvp)); + if (error == 0) + break; } - sn = devvp->v_rdev->si_snapdata; - /* - * Acquire the snapshot lock. - */ - lockmgr(&sn->sn_lock, - LK_INTERLOCK | LK_EXCLUSIVE | LK_RETRY, VI_MTX(devvp)); + /* * Free any unused snapdata. */ From owner-svn-src-head@freebsd.org Fri Jul 21 23:53:49 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9AF5AC0AC9E; Fri, 21 Jul 2017 23:53:49 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 68CFA3580; Fri, 21 Jul 2017 23:53:49 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6LNrmwN092258; Fri, 21 Jul 2017 23:53:48 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6LNrmYA092257; Fri, 21 Jul 2017 23:53:48 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201707212353.v6LNrmYA092257@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 21 Jul 2017 23:53:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321356 - head/usr.bin/top X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/usr.bin/top X-SVN-Commit-Revision: 321356 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.23 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, 21 Jul 2017 23:53:49 -0000 Author: markj Date: Fri Jul 21 23:53:48 2017 New Revision: 321356 URL: https://svnweb.freebsd.org/changeset/base/321356 Log: Fix top(1) output when zfs.ko is loaded but ZFS is not in use. Reviewed by: allanjude MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D11693 Modified: head/usr.bin/top/machine.c Modified: head/usr.bin/top/machine.c ============================================================================== --- head/usr.bin/top/machine.c Fri Jul 21 23:08:13 2017 (r321355) +++ head/usr.bin/top/machine.c Fri Jul 21 23:53:48 2017 (r321356) @@ -328,14 +328,15 @@ machine_init(struct statics *statics, char do_unames) size != sizeof(smpmode)) smpmode = 0; - size = sizeof(carc_en); - if (sysctlbyname("vfs.zfs.compressed_arc_enabled", &carc_en, &size, - NULL, 0) == 0 && carc_en == 1) - carc_enabled = 1; size = sizeof(arc_size); if (sysctlbyname("kstat.zfs.misc.arcstats.size", &arc_size, &size, NULL, 0) == 0 && arc_size != 0) arc_enabled = 1; + size = sizeof(carc_en); + if (arc_enabled && + sysctlbyname("vfs.zfs.compressed_arc_enabled", &carc_en, &size, + NULL, 0) == 0 && carc_en == 1) + carc_enabled = 1; if (do_unames) { while ((pw = getpwent()) != NULL) { From owner-svn-src-head@freebsd.org Sat Jul 22 09:03:41 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 63E95CFFF18; Sat, 22 Jul 2017 09:03:41 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3159172770; Sat, 22 Jul 2017 09:03:41 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6M93euJ018107; Sat, 22 Jul 2017 09:03:40 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6M93eLk018106; Sat, 22 Jul 2017 09:03:40 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201707220903.v6M93eLk018106@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sat, 22 Jul 2017 09:03:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321366 - head/sys/compat/linux X-SVN-Group: head X-SVN-Commit-Author: dchagin X-SVN-Commit-Paths: head/sys/compat/linux X-SVN-Commit-Revision: 321366 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.23 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, 22 Jul 2017 09:03:41 -0000 Author: dchagin Date: Sat Jul 22 09:03:40 2017 New Revision: 321366 URL: https://svnweb.freebsd.org/changeset/base/321366 Log: Style(9) whitespace fix. MFC after: 1 week Modified: head/sys/compat/linux/linux_ioctl.h Modified: head/sys/compat/linux/linux_ioctl.h ============================================================================== --- head/sys/compat/linux/linux_ioctl.h Sat Jul 22 07:28:44 2017 (r321365) +++ head/sys/compat/linux/linux_ioctl.h Sat Jul 22 09:03:40 2017 (r321366) @@ -198,7 +198,7 @@ #define LINUX_VT_SETMODE 0x5602 #define LINUX_VT_GETSTATE 0x5603 #define LINUX_VT_RELDISP 0x5605 -#define LINUX_VT_ACTIVATE 0x5606 +#define LINUX_VT_ACTIVATE 0x5606 #define LINUX_VT_WAITACTIVE 0x5607 #define LINUX_IOCTL_CONSOLE_MIN LINUX_KIOCSOUND From owner-svn-src-head@freebsd.org Sat Jul 22 10:38:46 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2A3DAD7D0D2; Sat, 22 Jul 2017 10:38:46 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EC02F753B0; Sat, 22 Jul 2017 10:38:45 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6MAciQw055658; Sat, 22 Jul 2017 10:38:44 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6MAci2L055657; Sat, 22 Jul 2017 10:38:44 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201707221038.v6MAci2L055657@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 22 Jul 2017 10:38:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321368 - head/bin/ps X-SVN-Group: head X-SVN-Commit-Author: trasz X-SVN-Commit-Paths: head/bin/ps X-SVN-Commit-Revision: 321368 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.23 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, 22 Jul 2017 10:38:46 -0000 Author: trasz Date: Sat Jul 22 10:38:44 2017 New Revision: 321368 URL: https://svnweb.freebsd.org/changeset/base/321368 Log: Use the "tree" word in ps(1) -d option description, to make it easier to find. MFC after: 2 weeks Sponsored by: DARPA, AFRL Modified: head/bin/ps/ps.1 Modified: head/bin/ps/ps.1 ============================================================================== --- head/bin/ps/ps.1 Sat Jul 22 10:15:11 2017 (r321367) +++ head/bin/ps/ps.1 Sat Jul 22 10:38:44 2017 (r321368) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd August 12, 2016 +.Dd July 25, 2017 .Dt PS 1 .Os .Sh NAME @@ -129,7 +129,7 @@ time (this normally has no effect). .It Fl d Arrange processes into descendancy order and prefix each command with -indentation text showing sibling and parent/child relationships. +indentation text showing sibling and parent/child relationships as a tree. If either of the .Fl m and From owner-svn-src-head@freebsd.org Sat Jul 22 11:08:34 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 49647D7D8DF; Sat, 22 Jul 2017 11:08:34 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9A44975FC5; Sat, 22 Jul 2017 11:08:32 +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 v6MB8Vu7068101; Sat, 22 Jul 2017 11:08:31 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6MB8UWB068088; Sat, 22 Jul 2017 11:08:30 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201707221108.v6MB8UWB068088@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 22 Jul 2017 11:08:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321369 - in head: . contrib/compiler-rt/include/sanitizer contrib/compiler-rt/include/xray contrib/compiler-rt/lib/asan contrib/compiler-rt/lib/builtins contrib/compiler-rt/lib/builtin... X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in head: . contrib/compiler-rt/include/sanitizer contrib/compiler-rt/include/xray contrib/compiler-rt/lib/asan contrib/compiler-rt/lib/builtins contrib/compiler-rt/lib/builtins/arm contrib/compiler-rt... X-SVN-Commit-Revision: 321369 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.23 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, 22 Jul 2017 11:08:34 -0000 Author: dim Date: Sat Jul 22 11:08:25 2017 New Revision: 321369 URL: https://svnweb.freebsd.org/changeset/base/321369 Log: Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ to 5.0.0 (trunk r308421). Upstream has branched for the 5.0.0 release, which should be in about a month. Please report bugs and regressions, so we can get them into the release. Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information. MFC after: 2 months Added: head/contrib/compiler-rt/include/sanitizer/tsan_interface.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/include/sanitizer/tsan_interface.h head/contrib/compiler-rt/include/xray/xray_log_interface.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/include/xray/xray_log_interface.h head/contrib/compiler-rt/lib/asan/asan_interface.inc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interface.inc head/contrib/compiler-rt/lib/asan/asan_win_weak_interception.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/asan/asan_win_weak_interception.cc head/contrib/compiler-rt/lib/builtins/arm/addsf3.S - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/addsf3.S head/contrib/compiler-rt/lib/builtins/os_version_check.c - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/builtins/os_version_check.c head/contrib/compiler-rt/lib/lsan/lsan_common_mac.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common_mac.cc head/contrib/compiler-rt/lib/lsan/lsan_linux.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_linux.cc head/contrib/compiler-rt/lib/lsan/lsan_mac.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_mac.cc head/contrib/compiler-rt/lib/lsan/lsan_malloc_mac.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_malloc_mac.cc head/contrib/compiler-rt/lib/lsan/weak_symbols.txt - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/lsan/weak_symbols.txt head/contrib/compiler-rt/lib/profile/InstrProfilingNameVar.c - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingNameVar.c head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_checks.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_checks.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interface_posix.inc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interface_posix.inc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dll_thunk.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dll_thunk.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dynamic_runtime_thunk.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_dynamic_runtime_thunk.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_sections.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_sections.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_weak_interception.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_weak_interception.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_errno.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_errno.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_errno.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_errno.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac_libcdep.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac_libcdep.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_mac.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_mac.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_defs.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_defs.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_dll_thunk.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_dynamic_runtime_thunk.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_dynamic_runtime_thunk.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_weak_interception.h head/contrib/compiler-rt/lib/sanitizer_common/symbolizer/scripts/ar_to_bc.sh - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/symbolizer/scripts/ar_to_bc.sh head/contrib/compiler-rt/lib/scudo/scudo_allocator_combined.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_allocator_combined.h head/contrib/compiler-rt/lib/scudo/scudo_tls.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls.h head/contrib/compiler-rt/lib/scudo/scudo_tls_android.cpp - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls_android.cpp head/contrib/compiler-rt/lib/scudo/scudo_tls_android.inc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls_android.inc head/contrib/compiler-rt/lib/scudo/scudo_tls_context_android.inc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls_context_android.inc head/contrib/compiler-rt/lib/scudo/scudo_tls_context_linux.inc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls_context_linux.inc head/contrib/compiler-rt/lib/scudo/scudo_tls_linux.cpp - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls_linux.cpp head/contrib/compiler-rt/lib/scudo/scudo_tls_linux.inc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls_linux.inc head/contrib/compiler-rt/lib/tsan/rtl/tsan_external.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_external.cc head/contrib/compiler-rt/lib/ubsan/ubsan_diag_standalone.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_diag_standalone.cc head/contrib/compiler-rt/lib/ubsan/ubsan_interface.inc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_interface.inc head/contrib/compiler-rt/lib/ubsan/ubsan_win_dll_thunk.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_win_dll_thunk.cc head/contrib/compiler-rt/lib/ubsan/ubsan_win_dynamic_runtime_thunk.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_win_dynamic_runtime_thunk.cc head/contrib/compiler-rt/lib/ubsan/ubsan_win_weak_interception.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_win_weak_interception.cc head/contrib/compiler-rt/lib/xray/xray_always_instrument.txt - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_always_instrument.txt head/contrib/compiler-rt/lib/xray/xray_fdr_log_records.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_fdr_log_records.h head/contrib/compiler-rt/lib/xray/xray_fdr_logging.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_fdr_logging.cc head/contrib/compiler-rt/lib/xray/xray_fdr_logging.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_fdr_logging.h head/contrib/compiler-rt/lib/xray/xray_fdr_logging_impl.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_fdr_logging_impl.h head/contrib/compiler-rt/lib/xray/xray_log_interface.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_log_interface.cc head/contrib/compiler-rt/lib/xray/xray_mips.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_mips.cc head/contrib/compiler-rt/lib/xray/xray_mips64.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_mips64.cc head/contrib/compiler-rt/lib/xray/xray_never_instrument.txt - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_never_instrument.txt head/contrib/compiler-rt/lib/xray/xray_powerpc64.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_powerpc64.cc head/contrib/compiler-rt/lib/xray/xray_powerpc64.inc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_powerpc64.inc head/contrib/compiler-rt/lib/xray/xray_trampoline_mips.S - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_trampoline_mips.S head/contrib/compiler-rt/lib/xray/xray_trampoline_mips64.S - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_trampoline_mips64.S head/contrib/compiler-rt/lib/xray/xray_trampoline_powerpc64.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_trampoline_powerpc64.cc head/contrib/compiler-rt/lib/xray/xray_trampoline_powerpc64_asm.S - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_trampoline_powerpc64_asm.S head/contrib/compiler-rt/lib/xray/xray_tsc.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_tsc.h head/contrib/compiler-rt/lib/xray/xray_utils.cc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_utils.cc head/contrib/compiler-rt/lib/xray/xray_utils.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_utils.h head/contrib/compiler-rt/lib/xray/xray_x86_64.inc - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/xray/xray_x86_64.inc head/contrib/libc++/include/__undef_macros - copied unchanged from r321352, projects/clang500-import/contrib/libc++/include/__undef_macros head/contrib/libc++/include/experimental/coroutine - copied unchanged from r321352, projects/clang500-import/contrib/libc++/include/experimental/coroutine head/contrib/libc++/src/experimental/filesystem/filesystem_time_helper.h - copied unchanged from r321352, projects/clang500-import/contrib/libc++/src/experimental/filesystem/filesystem_time_helper.h head/contrib/libc++/src/functional.cpp - copied unchanged from r321352, projects/clang500-import/contrib/libc++/src/functional.cpp head/contrib/libc++/src/include/refstring.h - copied unchanged from r321352, projects/clang500-import/contrib/libc++/src/include/refstring.h head/contrib/libc++/src/support/ - copied from r321352, projects/clang500-import/contrib/libc++/src/support/ head/contrib/libc++/src/vector.cpp - copied unchanged from r321352, projects/clang500-import/contrib/libc++/src/vector.cpp head/contrib/llvm/include/llvm/ADT/BreadthFirstIterator.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/ADT/BreadthFirstIterator.h head/contrib/llvm/include/llvm/Analysis/CFLAliasAnalysisUtils.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Analysis/CFLAliasAnalysisUtils.h head/contrib/llvm/include/llvm/Analysis/MemorySSA.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Analysis/MemorySSA.h head/contrib/llvm/include/llvm/Analysis/MemorySSAUpdater.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Analysis/MemorySSAUpdater.h head/contrib/llvm/include/llvm/Analysis/ObjectUtils.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Analysis/ObjectUtils.h head/contrib/llvm/include/llvm/BinaryFormat/ - copied from r321352, projects/clang500-import/contrib/llvm/include/llvm/BinaryFormat/ head/contrib/llvm/include/llvm/CodeGen/ExecutionDepsFix.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/CodeGen/ExecutionDepsFix.h head/contrib/llvm/include/llvm/CodeGen/ExpandReductions.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/CodeGen/ExpandReductions.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/Localizer.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/CodeGen/GlobalISel/Localizer.h head/contrib/llvm/include/llvm/CodeGen/LazyMachineBlockFrequencyInfo.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/CodeGen/LazyMachineBlockFrequencyInfo.h head/contrib/llvm/include/llvm/CodeGen/LiveRegUnits.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/CodeGen/LiveRegUnits.h head/contrib/llvm/include/llvm/CodeGen/MIRPrinter.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MIRPrinter.h head/contrib/llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h head/contrib/llvm/include/llvm/CodeGen/MacroFusion.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MacroFusion.h head/contrib/llvm/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def head/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewTypes.def - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewTypes.def head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugCrossExSubsection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugCrossExSubsection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugCrossImpSubsection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugCrossImpSubsection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugUnknownSubsection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugUnknownSubsection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/Formatters.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/Formatters.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/GUID.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/GUID.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeCollection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeCollection.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeName.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeName.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeTableCollection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeTableCollection.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFAttribute.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFAttribute.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/ - copied from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/ head/contrib/llvm/include/llvm/DebugInfo/PDB/UDTLayout.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/UDTLayout.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h head/contrib/llvm/include/llvm/IR/DerivedUser.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/IR/DerivedUser.h head/contrib/llvm/include/llvm/IR/SafepointIRVerifier.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/IR/SafepointIRVerifier.h head/contrib/llvm/include/llvm/MC/MCAsmInfoWasm.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/MC/MCAsmInfoWasm.h head/contrib/llvm/include/llvm/MC/MCSectionWasm.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/MC/MCSectionWasm.h head/contrib/llvm/include/llvm/MC/MCSymbolWasm.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/MC/MCSymbolWasm.h head/contrib/llvm/include/llvm/MC/MCWasmObjectWriter.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/MC/MCWasmObjectWriter.h head/contrib/llvm/include/llvm/MC/MCWasmStreamer.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/MC/MCWasmStreamer.h head/contrib/llvm/include/llvm/Object/COFFModuleDefinition.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Object/COFFModuleDefinition.h head/contrib/llvm/include/llvm/Object/IRSymtab.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Object/IRSymtab.h head/contrib/llvm/include/llvm/Object/WindowsResource.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Object/WindowsResource.h head/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h head/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h head/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLTypes.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLTypes.h head/contrib/llvm/include/llvm/ObjectYAML/DWARFEmitter.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/DWARFEmitter.h head/contrib/llvm/include/llvm/ObjectYAML/WasmYAML.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/WasmYAML.h head/contrib/llvm/include/llvm/Support/AMDGPUCodeObjectMetadata.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/AMDGPUCodeObjectMetadata.h head/contrib/llvm/include/llvm/Support/ARMAttributeParser.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/ARMAttributeParser.h head/contrib/llvm/include/llvm/Support/BinaryByteStream.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/BinaryByteStream.h head/contrib/llvm/include/llvm/Support/BinaryItemStream.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/BinaryItemStream.h head/contrib/llvm/include/llvm/Support/BinaryStream.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/BinaryStream.h head/contrib/llvm/include/llvm/Support/BinaryStreamArray.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/BinaryStreamArray.h head/contrib/llvm/include/llvm/Support/BinaryStreamError.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/BinaryStreamError.h head/contrib/llvm/include/llvm/Support/BinaryStreamReader.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/BinaryStreamReader.h head/contrib/llvm/include/llvm/Support/BinaryStreamRef.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/BinaryStreamRef.h head/contrib/llvm/include/llvm/Support/BinaryStreamWriter.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/BinaryStreamWriter.h head/contrib/llvm/include/llvm/Support/DebugCounter.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/DebugCounter.h head/contrib/llvm/include/llvm/Support/KnownBits.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/KnownBits.h head/contrib/llvm/include/llvm/Support/LowLevelTypeImpl.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/LowLevelTypeImpl.h head/contrib/llvm/include/llvm/Support/Parallel.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/Parallel.h head/contrib/llvm/include/llvm/Support/ReverseIteration.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/ReverseIteration.h head/contrib/llvm/include/llvm/Support/Solaris/ - copied from r321352, projects/clang500-import/contrib/llvm/include/llvm/Support/Solaris/ head/contrib/llvm/include/llvm/Target/GlobalISel/ - copied from r321352, projects/clang500-import/contrib/llvm/include/llvm/Target/GlobalISel/ head/contrib/llvm/include/llvm/Testing/ - copied from r321352, projects/clang500-import/contrib/llvm/include/llvm/Testing/ head/contrib/llvm/include/llvm/ToolDrivers/ - copied from r321352, projects/clang500-import/contrib/llvm/include/llvm/ToolDrivers/ head/contrib/llvm/include/llvm/Transforms/IPO/ArgumentPromotion.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Transforms/IPO/ArgumentPromotion.h head/contrib/llvm/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h head/contrib/llvm/include/llvm/Transforms/Scalar/LoopLoadElimination.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Transforms/Scalar/LoopLoadElimination.h head/contrib/llvm/include/llvm/Transforms/Scalar/LoopPredication.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Transforms/Scalar/LoopPredication.h head/contrib/llvm/include/llvm/Transforms/Scalar/LoopSink.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Transforms/Scalar/LoopSink.h head/contrib/llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h head/contrib/llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h head/contrib/llvm/include/llvm/Transforms/Utils/OrderedInstructions.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Transforms/Utils/OrderedInstructions.h head/contrib/llvm/include/llvm/Transforms/Utils/PredicateInfo.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Transforms/Utils/PredicateInfo.h head/contrib/llvm/include/llvm/Transforms/Utils/VNCoercion.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/Transforms/Utils/VNCoercion.h head/contrib/llvm/include/llvm/XRay/Graph.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/XRay/Graph.h head/contrib/llvm/include/llvm/XRay/InstrumentationMap.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/include/llvm/XRay/InstrumentationMap.h head/contrib/llvm/lib/Analysis/MemorySSA.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Analysis/MemorySSA.cpp head/contrib/llvm/lib/Analysis/MemorySSAUpdater.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Analysis/MemorySSAUpdater.cpp head/contrib/llvm/lib/BinaryFormat/ - copied from r321352, projects/clang500-import/contrib/llvm/lib/BinaryFormat/ head/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHashAttributes.def - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHashAttributes.def head/contrib/llvm/lib/CodeGen/BranchCoalescing.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/BranchCoalescing.cpp head/contrib/llvm/lib/CodeGen/ExpandReductions.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/ExpandReductions.cpp head/contrib/llvm/lib/CodeGen/FEntryInserter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/FEntryInserter.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/Localizer.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalISel/Localizer.cpp head/contrib/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp head/contrib/llvm/lib/CodeGen/LiveRangeShrink.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/LiveRangeShrink.cpp head/contrib/llvm/lib/CodeGen/LiveRegUnits.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/LiveRegUnits.cpp head/contrib/llvm/lib/CodeGen/MachineFrameInfo.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/MachineFrameInfo.cpp head/contrib/llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp head/contrib/llvm/lib/CodeGen/MachineOutliner.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/MachineOutliner.cpp head/contrib/llvm/lib/CodeGen/MacroFusion.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/MacroFusion.cpp head/contrib/llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugChecksumsSubsection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugChecksumsSubsection.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugCrossExSubsection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugCrossExSubsection.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugCrossImpSubsection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugCrossImpSubsection.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugLinesSubsection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugLinesSubsection.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugSubsection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSubsection.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugSymbolRVASubsection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSymbolRVASubsection.cpp head/contrib/llvm/lib/DebugInfo/CodeView/DebugSymbolsSubsection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSymbolsSubsection.cpp head/contrib/llvm/lib/DebugInfo/CodeView/Formatters.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/Formatters.cpp head/contrib/llvm/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp head/contrib/llvm/lib/DebugInfo/CodeView/StringsAndChecksums.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/StringsAndChecksums.cpp head/contrib/llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp head/contrib/llvm/lib/DebugInfo/CodeView/TypeIndex.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/TypeIndex.cpp head/contrib/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp head/contrib/llvm/lib/DebugInfo/CodeView/TypeName.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/TypeName.cpp head/contrib/llvm/lib/DebugInfo/CodeView/TypeTableCollection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/TypeTableCollection.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp head/contrib/llvm/lib/DebugInfo/PDB/Native/ - copied from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/ head/contrib/llvm/lib/DebugInfo/PDB/UDTLayout.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/UDTLayout.cpp head/contrib/llvm/lib/ExecutionEngine/Orc/RPCUtils.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/ExecutionEngine/Orc/RPCUtils.cpp head/contrib/llvm/lib/IR/SafepointIRVerifier.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/IR/SafepointIRVerifier.cpp head/contrib/llvm/lib/MC/MCAsmInfoWasm.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/MC/MCAsmInfoWasm.cpp head/contrib/llvm/lib/MC/MCSectionWasm.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/MC/MCSectionWasm.cpp head/contrib/llvm/lib/MC/MCWasmObjectTargetWriter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/MC/MCWasmObjectTargetWriter.cpp head/contrib/llvm/lib/MC/MCWasmStreamer.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/MC/MCWasmStreamer.cpp head/contrib/llvm/lib/MC/MCWinCOFFStreamer.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/MC/MCWinCOFFStreamer.cpp head/contrib/llvm/lib/MC/WasmObjectWriter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/MC/WasmObjectWriter.cpp head/contrib/llvm/lib/Object/COFFImportFile.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Object/COFFImportFile.cpp head/contrib/llvm/lib/Object/COFFModuleDefinition.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Object/COFFModuleDefinition.cpp head/contrib/llvm/lib/Object/IRSymtab.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Object/IRSymtab.cpp head/contrib/llvm/lib/Object/WindowsResource.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Object/WindowsResource.cpp head/contrib/llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp head/contrib/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp head/contrib/llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp head/contrib/llvm/lib/ObjectYAML/DWARFEmitter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/ObjectYAML/DWARFEmitter.cpp head/contrib/llvm/lib/ObjectYAML/DWARFVisitor.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/ObjectYAML/DWARFVisitor.cpp head/contrib/llvm/lib/ObjectYAML/DWARFVisitor.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/ObjectYAML/DWARFVisitor.h head/contrib/llvm/lib/ObjectYAML/WasmYAML.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/ObjectYAML/WasmYAML.cpp head/contrib/llvm/lib/Support/AMDGPUCodeObjectMetadata.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/AMDGPUCodeObjectMetadata.cpp head/contrib/llvm/lib/Support/ARMAttributeParser.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/ARMAttributeParser.cpp head/contrib/llvm/lib/Support/BinaryStreamError.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/BinaryStreamError.cpp head/contrib/llvm/lib/Support/BinaryStreamReader.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/BinaryStreamReader.cpp head/contrib/llvm/lib/Support/BinaryStreamRef.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/BinaryStreamRef.cpp head/contrib/llvm/lib/Support/BinaryStreamWriter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/BinaryStreamWriter.cpp head/contrib/llvm/lib/Support/DebugCounter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/DebugCounter.cpp head/contrib/llvm/lib/Support/LowLevelType.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/LowLevelType.cpp head/contrib/llvm/lib/Support/Parallel.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/Parallel.cpp head/contrib/llvm/lib/Support/Unix/DynamicLibrary.inc - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/Unix/DynamicLibrary.inc head/contrib/llvm/lib/Support/Unix/Threading.inc - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/Unix/Threading.inc head/contrib/llvm/lib/Support/Windows/Threading.inc - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Support/Windows/Threading.inc head/contrib/llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp head/contrib/llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp head/contrib/llvm/lib/Target/AArch64/AArch64MacroFusion.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64MacroFusion.cpp head/contrib/llvm/lib/Target/AArch64/AArch64MacroFusion.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64MacroFusion.h head/contrib/llvm/lib/Target/AArch64/AArch64RegisterBanks.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64RegisterBanks.td head/contrib/llvm/lib/Target/AArch64/AArch64SchedFalkorDetails.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64SchedFalkorDetails.td head/contrib/llvm/lib/Target/AArch64/AArch64SchedThunderX.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64SchedThunderX.td head/contrib/llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.def - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.def head/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPURegAsmNames.inc.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPURegAsmNames.inc.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td head/contrib/llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp head/contrib/llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp head/contrib/llvm/lib/Target/AMDGPU/GCNIterativeScheduler.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/GCNIterativeScheduler.h head/contrib/llvm/lib/Target/AMDGPU/GCNMinRegStrategy.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/GCNMinRegStrategy.cpp head/contrib/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp head/contrib/llvm/lib/Target/AMDGPU/GCNRegPressure.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/GCNRegPressure.h head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadataStreamer.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadataStreamer.cpp head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadataStreamer.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadataStreamer.h head/contrib/llvm/lib/Target/AMDGPU/SIFixVGPRCopies.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIFixVGPRCopies.cpp head/contrib/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp head/contrib/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp head/contrib/llvm/lib/Target/AMDGPU/VOP3PInstructions.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/VOP3PInstructions.td head/contrib/llvm/lib/Target/ARM/ARMMacroFusion.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMMacroFusion.cpp head/contrib/llvm/lib/Target/ARM/ARMMacroFusion.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMMacroFusion.h head/contrib/llvm/lib/Target/ARM/ARMRegisterBanks.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMRegisterBanks.td head/contrib/llvm/lib/Target/ARM/ARMScheduleA57.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMScheduleA57.td head/contrib/llvm/lib/Target/ARM/ARMScheduleA57WriteRes.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMScheduleA57WriteRes.td head/contrib/llvm/lib/Target/ARM/ARMScheduleM3.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMScheduleM3.td head/contrib/llvm/lib/Target/Hexagon/HexagonDepArch.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepArch.h head/contrib/llvm/lib/Target/Hexagon/HexagonDepArch.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepArch.td head/contrib/llvm/lib/Target/Hexagon/HexagonDepDecoders.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepDecoders.h head/contrib/llvm/lib/Target/Hexagon/HexagonDepIICHVX.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepIICHVX.td head/contrib/llvm/lib/Target/Hexagon/HexagonDepIICScalar.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepIICScalar.td head/contrib/llvm/lib/Target/Hexagon/HexagonDepITypes.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepITypes.h head/contrib/llvm/lib/Target/Hexagon/HexagonDepITypes.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepITypes.td head/contrib/llvm/lib/Target/Hexagon/HexagonDepInstrFormats.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepInstrFormats.td head/contrib/llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td head/contrib/llvm/lib/Target/Hexagon/HexagonDepMappings.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepMappings.td head/contrib/llvm/lib/Target/Hexagon/HexagonDepOperands.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepOperands.td head/contrib/llvm/lib/Target/Hexagon/HexagonDepTimingClasses.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonDepTimingClasses.h head/contrib/llvm/lib/Target/Hexagon/HexagonIICHVX.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonIICHVX.td head/contrib/llvm/lib/Target/Hexagon/HexagonIICScalar.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonIICScalar.td head/contrib/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonMapAsm2IntrinV62.gen.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonMapAsm2IntrinV62.gen.td head/contrib/llvm/lib/Target/Hexagon/HexagonPseudo.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonPseudo.td head/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV62.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV62.td head/contrib/llvm/lib/Target/Hexagon/RDFRegisters.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/RDFRegisters.cpp head/contrib/llvm/lib/Target/Hexagon/RDFRegisters.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Hexagon/RDFRegisters.h head/contrib/llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp head/contrib/llvm/lib/Target/Mips/MipsMTInstrFormats.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsMTInstrFormats.td head/contrib/llvm/lib/Target/Mips/MipsMTInstrInfo.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsMTInstrInfo.td head/contrib/llvm/lib/Target/Mips/Relocation.txt - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/Mips/Relocation.txt head/contrib/llvm/lib/Target/Nios2/ - copied from r321352, projects/clang500-import/contrib/llvm/lib/Target/Nios2/ head/contrib/llvm/lib/Target/PowerPC/PPCExpandISEL.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCExpandISEL.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZInstrDFP.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrDFP.td head/contrib/llvm/lib/Target/SystemZ/SystemZInstrHFP.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrHFP.td head/contrib/llvm/lib/Target/SystemZ/SystemZInstrSystem.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrSystem.td head/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ14.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ14.td head/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyFixupKinds.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyFixupKinds.h head/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h head/contrib/llvm/lib/Target/X86/X86CmovConversion.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/X86/X86CmovConversion.cpp head/contrib/llvm/lib/Target/X86/X86GenRegisterBankInfo.def - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/X86/X86GenRegisterBankInfo.def head/contrib/llvm/lib/Target/X86/X86InstructionSelector.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstructionSelector.cpp head/contrib/llvm/lib/Target/X86/X86LegalizerInfo.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/X86/X86LegalizerInfo.cpp head/contrib/llvm/lib/Target/X86/X86LegalizerInfo.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/X86/X86LegalizerInfo.h head/contrib/llvm/lib/Target/X86/X86MacroFusion.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/X86/X86MacroFusion.cpp head/contrib/llvm/lib/Target/X86/X86MacroFusion.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/X86/X86MacroFusion.h head/contrib/llvm/lib/Target/X86/X86RegisterBankInfo.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/X86/X86RegisterBankInfo.cpp head/contrib/llvm/lib/Target/X86/X86RegisterBankInfo.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/X86/X86RegisterBankInfo.h head/contrib/llvm/lib/Target/X86/X86RegisterBanks.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/X86/X86RegisterBanks.td head/contrib/llvm/lib/Target/X86/X86ScheduleZnver1.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Target/X86/X86ScheduleZnver1.td head/contrib/llvm/lib/Testing/ - copied from r321352, projects/clang500-import/contrib/llvm/lib/Testing/ head/contrib/llvm/lib/ToolDrivers/ - copied from r321352, projects/clang500-import/contrib/llvm/lib/ToolDrivers/ head/contrib/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp head/contrib/llvm/lib/Transforms/Scalar/GVNSink.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/GVNSink.cpp head/contrib/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopPredication.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/LoopPredication.cpp head/contrib/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp head/contrib/llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp head/contrib/llvm/lib/Transforms/Utils/OrderedInstructions.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Transforms/Utils/OrderedInstructions.cpp head/contrib/llvm/lib/Transforms/Utils/PredicateInfo.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Transforms/Utils/PredicateInfo.cpp head/contrib/llvm/lib/Transforms/Utils/VNCoercion.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/Transforms/Utils/VNCoercion.cpp head/contrib/llvm/lib/XRay/InstrumentationMap.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/lib/XRay/InstrumentationMap.cpp head/contrib/llvm/tools/clang/include/clang/AST/ASTStructuralEquivalence.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ASTStructuralEquivalence.h head/contrib/llvm/tools/clang/include/clang/AST/ExternalASTMerger.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ExternalASTMerger.h head/contrib/llvm/tools/clang/include/clang/AST/ODRHash.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ODRHash.h head/contrib/llvm/tools/clang/include/clang/Basic/AttrSubjectMatchRules.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/AttrSubjectMatchRules.h head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNios2.def - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNios2.def head/contrib/llvm/tools/clang/include/clang/Basic/MemoryBufferCache.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/MemoryBufferCache.h head/contrib/llvm/tools/clang/include/clang/Basic/XRayLists.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/XRayLists.h head/contrib/llvm/tools/clang/include/clang/CodeGen/ConstantInitBuilder.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/CodeGen/ConstantInitBuilder.h head/contrib/llvm/tools/clang/include/clang/CodeGen/ConstantInitFuture.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/CodeGen/ConstantInitFuture.h head/contrib/llvm/tools/clang/include/clang/Driver/ClangOptionDocs.td - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/ClangOptionDocs.td head/contrib/llvm/tools/clang/include/clang/Driver/XRayArgs.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/XRayArgs.h head/contrib/llvm/tools/clang/include/clang/Frontend/PrecompiledPreamble.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/PrecompiledPreamble.h head/contrib/llvm/tools/clang/include/clang/Parse/RAIIObjectsForParser.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/Parse/RAIIObjectsForParser.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SimpleConstraintManager.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SimpleConstraintManager.h head/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/ head/contrib/llvm/tools/clang/lib/AST/ASTStructuralEquivalence.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ASTStructuralEquivalence.cpp head/contrib/llvm/tools/clang/lib/AST/ExternalASTMerger.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ExternalASTMerger.cpp head/contrib/llvm/tools/clang/lib/AST/ODRHash.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ODRHash.cpp head/contrib/llvm/tools/clang/lib/Basic/MemoryBufferCache.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/MemoryBufferCache.cpp head/contrib/llvm/tools/clang/lib/Basic/XRayLists.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/XRayLists.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGGPUBuiltin.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGGPUBuiltin.cpp head/contrib/llvm/tools/clang/lib/CodeGen/ConstantInitBuilder.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/ConstantInitBuilder.cpp head/contrib/llvm/tools/clang/lib/CodeGen/MacroPPCallbacks.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/MacroPPCallbacks.cpp head/contrib/llvm/tools/clang/lib/CodeGen/MacroPPCallbacks.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/MacroPPCallbacks.h head/contrib/llvm/tools/clang/lib/Driver/Arch/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/Arch/ head/contrib/llvm/tools/clang/lib/Driver/ToolChains/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/ head/contrib/llvm/tools/clang/lib/Driver/XRayArgs.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/XRayArgs.cpp head/contrib/llvm/tools/clang/lib/Format/NamespaceEndCommentsFixer.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Format/NamespaceEndCommentsFixer.cpp head/contrib/llvm/tools/clang/lib/Format/NamespaceEndCommentsFixer.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Format/NamespaceEndCommentsFixer.h head/contrib/llvm/tools/clang/lib/Format/UsingDeclarationsSorter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Format/UsingDeclarationsSorter.cpp head/contrib/llvm/tools/clang/lib/Format/UsingDeclarationsSorter.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Format/UsingDeclarationsSorter.h head/contrib/llvm/tools/clang/lib/Frontend/PrecompiledPreamble.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/PrecompiledPreamble.cpp head/contrib/llvm/tools/clang/lib/Headers/avx512vpopcntdqintrin.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/avx512vpopcntdqintrin.h head/contrib/llvm/tools/clang/lib/Headers/clzerointrin.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/clzerointrin.h head/contrib/llvm/tools/clang/lib/Headers/lwpintrin.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/lwpintrin.h head/contrib/llvm/tools/clang/lib/Sema/CoroutineStmtBuilder.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/CoroutineStmtBuilder.h head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MisusedMovedObjectChecker.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MisusedMovedObjectChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.h head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp head/contrib/llvm/tools/clang/lib/Tooling/Refactoring/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/ head/contrib/llvm/tools/clang/utils/TableGen/ClangOptionDocEmitter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/clang/utils/TableGen/ClangOptionDocEmitter.cpp head/contrib/llvm/tools/lld/COFF/LTO.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/COFF/LTO.cpp head/contrib/llvm/tools/lld/COFF/LTO.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/COFF/LTO.h head/contrib/llvm/tools/lld/COFF/MapFile.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/COFF/MapFile.cpp head/contrib/llvm/tools/lld/COFF/MapFile.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/COFF/MapFile.h head/contrib/llvm/tools/lld/ELF/Arch/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/lld/ELF/Arch/ head/contrib/llvm/tools/lld/ELF/Filesystem.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/ELF/Filesystem.cpp head/contrib/llvm/tools/lld/ELF/Filesystem.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/ELF/Filesystem.h head/contrib/llvm/tools/lld/ELF/MapFile.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/ELF/MapFile.cpp head/contrib/llvm/tools/lld/ELF/MapFile.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/ELF/MapFile.h head/contrib/llvm/tools/lld/ELF/ScriptLexer.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/ELF/ScriptLexer.cpp head/contrib/llvm/tools/lld/ELF/ScriptLexer.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/ELF/ScriptLexer.h head/contrib/llvm/tools/lld/include/lld/Core/TargetOptionsCommandFlags.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/include/lld/Core/TargetOptionsCommandFlags.h head/contrib/llvm/tools/lld/lib/Core/TargetOptionsCommandFlags.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lld/lib/Core/TargetOptionsCommandFlags.cpp head/contrib/llvm/tools/lldb/include/lldb/API/SBTrace.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/API/SBTrace.h head/contrib/llvm/tools/lldb/include/lldb/API/SBTraceOptions.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/API/SBTraceOptions.h head/contrib/llvm/tools/lldb/include/lldb/Core/DumpDataExtractor.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/DumpDataExtractor.h head/contrib/llvm/tools/lldb/include/lldb/Core/StructuredDataImpl.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/StructuredDataImpl.h head/contrib/llvm/tools/lldb/include/lldb/Host/Config.h.cmake - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/Config.h.cmake head/contrib/llvm/tools/lldb/include/lldb/Host/PseudoTerminal.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/PseudoTerminal.h head/contrib/llvm/tools/lldb/include/lldb/Host/openbsd/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/openbsd/ head/contrib/llvm/tools/lldb/include/lldb/Host/posix/ProcessLauncherPosixFork.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/posix/ProcessLauncherPosixFork.h head/contrib/llvm/tools/lldb/include/lldb/Target/ModuleCache.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/ModuleCache.h head/contrib/llvm/tools/lldb/include/lldb/Target/ProcessStructReader.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/ProcessStructReader.h head/contrib/llvm/tools/lldb/include/lldb/Target/RegisterNumber.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/RegisterNumber.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Baton.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Baton.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Connection.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Connection.h head/contrib/llvm/tools/lldb/include/lldb/Utility/ConstString.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/ConstString.h head/contrib/llvm/tools/lldb/include/lldb/Utility/DataBuffer.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/DataBuffer.h head/contrib/llvm/tools/lldb/include/lldb/Utility/DataBufferHeap.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/DataBufferHeap.h head/contrib/llvm/tools/lldb/include/lldb/Utility/DataBufferLLVM.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/DataBufferLLVM.h head/contrib/llvm/tools/lldb/include/lldb/Utility/DataEncoder.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/DataEncoder.h head/contrib/llvm/tools/lldb/include/lldb/Utility/DataExtractor.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/DataExtractor.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Endian.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Endian.h head/contrib/llvm/tools/lldb/include/lldb/Utility/FastDemangle.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/FastDemangle.h head/contrib/llvm/tools/lldb/include/lldb/Utility/FileSpec.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/FileSpec.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Flags.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Flags.h head/contrib/llvm/tools/lldb/include/lldb/Utility/History.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/History.h head/contrib/llvm/tools/lldb/include/lldb/Utility/IOObject.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/IOObject.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Log.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Log.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Logging.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Logging.h head/contrib/llvm/tools/lldb/include/lldb/Utility/RegularExpression.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/RegularExpression.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Status.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Status.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Stream.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Stream.h head/contrib/llvm/tools/lldb/include/lldb/Utility/StreamCallback.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/StreamCallback.h head/contrib/llvm/tools/lldb/include/lldb/Utility/StreamGDBRemote.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/StreamGDBRemote.h head/contrib/llvm/tools/lldb/include/lldb/Utility/StreamString.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/StreamString.h head/contrib/llvm/tools/lldb/include/lldb/Utility/StreamTee.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/StreamTee.h head/contrib/llvm/tools/lldb/include/lldb/Utility/StringList.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/StringList.h head/contrib/llvm/tools/lldb/include/lldb/Utility/StructuredData.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/StructuredData.h head/contrib/llvm/tools/lldb/include/lldb/Utility/TildeExpressionResolver.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/TildeExpressionResolver.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Timer.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Timer.h head/contrib/llvm/tools/lldb/include/lldb/Utility/TraceOptions.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/TraceOptions.h head/contrib/llvm/tools/lldb/include/lldb/Utility/UUID.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/UUID.h head/contrib/llvm/tools/lldb/include/lldb/Utility/UriParser.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/UriParser.h head/contrib/llvm/tools/lldb/include/lldb/Utility/UserID.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/UserID.h head/contrib/llvm/tools/lldb/include/lldb/Utility/VASPrintf.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/VASPrintf.h head/contrib/llvm/tools/lldb/include/lldb/Utility/VMRange.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/VMRange.h head/contrib/llvm/tools/lldb/source/API/SBTrace.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBTrace.cpp head/contrib/llvm/tools/lldb/source/API/SBTraceOptions.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBTraceOptions.cpp head/contrib/llvm/tools/lldb/source/Core/DumpDataExtractor.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Core/DumpDataExtractor.cpp head/contrib/llvm/tools/lldb/source/Host/common/MainLoop.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Host/common/MainLoop.cpp head/contrib/llvm/tools/lldb/source/Host/common/PseudoTerminal.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Host/common/PseudoTerminal.cpp head/contrib/llvm/tools/lldb/source/Host/openbsd/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Host/openbsd/ head/contrib/llvm/tools/lldb/source/Host/posix/ProcessLauncherPosixFork.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Host/posix/ProcessLauncherPosixFork.cpp head/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/ASan/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/ASan/ head/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/ head/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/TSan/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/TSan/ head/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/UBSan/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/UBSan/ head/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/UndefinedBehaviorSanitizer/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/UndefinedBehaviorSanitizer/ head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.h head/contrib/llvm/tools/lldb/source/Plugins/Platform/OpenBSD/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Platform/OpenBSD/ head/contrib/llvm/tools/lldb/source/Plugins/Process/NetBSD/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/NetBSD/ head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_i386.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_i386.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_i386.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_i386.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_x86_64.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_x86_64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_x86_64.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_x86_64.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.h head/contrib/llvm/tools/lldb/source/Target/ModuleCache.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Target/ModuleCache.cpp head/contrib/llvm/tools/lldb/source/Target/RegisterNumber.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Target/RegisterNumber.cpp head/contrib/llvm/tools/lldb/source/Utility/Baton.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/Baton.cpp head/contrib/llvm/tools/lldb/source/Utility/Connection.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/Connection.cpp head/contrib/llvm/tools/lldb/source/Utility/ConstString.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/ConstString.cpp head/contrib/llvm/tools/lldb/source/Utility/DataBufferHeap.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/DataBufferHeap.cpp head/contrib/llvm/tools/lldb/source/Utility/DataBufferLLVM.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/DataBufferLLVM.cpp head/contrib/llvm/tools/lldb/source/Utility/DataEncoder.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/DataEncoder.cpp head/contrib/llvm/tools/lldb/source/Utility/DataExtractor.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/DataExtractor.cpp head/contrib/llvm/tools/lldb/source/Utility/FastDemangle.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/FastDemangle.cpp head/contrib/llvm/tools/lldb/source/Utility/FileSpec.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/FileSpec.cpp head/contrib/llvm/tools/lldb/source/Utility/History.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/History.cpp head/contrib/llvm/tools/lldb/source/Utility/IOObject.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/IOObject.cpp head/contrib/llvm/tools/lldb/source/Utility/Log.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/Log.cpp head/contrib/llvm/tools/lldb/source/Utility/Logging.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/Logging.cpp head/contrib/llvm/tools/lldb/source/Utility/RegularExpression.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/RegularExpression.cpp head/contrib/llvm/tools/lldb/source/Utility/Status.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/Status.cpp head/contrib/llvm/tools/lldb/source/Utility/Stream.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/Stream.cpp head/contrib/llvm/tools/lldb/source/Utility/StreamCallback.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/StreamCallback.cpp head/contrib/llvm/tools/lldb/source/Utility/StreamGDBRemote.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/StreamGDBRemote.cpp head/contrib/llvm/tools/lldb/source/Utility/StreamString.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/StreamString.cpp head/contrib/llvm/tools/lldb/source/Utility/StringList.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/StringList.cpp head/contrib/llvm/tools/lldb/source/Utility/StructuredData.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/StructuredData.cpp head/contrib/llvm/tools/lldb/source/Utility/TildeExpressionResolver.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/TildeExpressionResolver.cpp head/contrib/llvm/tools/lldb/source/Utility/Timer.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/Timer.cpp head/contrib/llvm/tools/lldb/source/Utility/UUID.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/UUID.cpp head/contrib/llvm/tools/lldb/source/Utility/UserID.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/UserID.cpp head/contrib/llvm/tools/lldb/source/Utility/VASprintf.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/VASprintf.cpp head/contrib/llvm/tools/lldb/source/Utility/VMRange.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/VMRange.cpp head/contrib/llvm/tools/lldb/tools/intel-mpx/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/lldb/tools/intel-mpx/ head/contrib/llvm/tools/llvm-pdbutil/ - copied from r321352, projects/clang500-import/contrib/llvm/tools/llvm-pdbutil/ head/contrib/llvm/tools/llvm-readobj/WasmDumper.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/llvm-readobj/WasmDumper.cpp head/contrib/llvm/tools/llvm-xray/xray-color-helper.cc - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/llvm-xray/xray-color-helper.cc head/contrib/llvm/tools/llvm-xray/xray-color-helper.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/llvm-xray/xray-color-helper.h head/contrib/llvm/tools/llvm-xray/xray-graph-diff.cc - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/llvm-xray/xray-graph-diff.cc head/contrib/llvm/tools/llvm-xray/xray-graph-diff.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/llvm-xray/xray-graph-diff.h head/contrib/llvm/tools/llvm-xray/xray-graph.cc - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/llvm-xray/xray-graph.cc head/contrib/llvm/tools/llvm-xray/xray-graph.h - copied unchanged from r321352, projects/clang500-import/contrib/llvm/tools/llvm-xray/xray-graph.h head/contrib/llvm/utils/TableGen/RegisterBankEmitter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/utils/TableGen/RegisterBankEmitter.cpp head/contrib/llvm/utils/TableGen/X86EVEX2VEXTablesEmitter.cpp - copied unchanged from r321352, projects/clang500-import/contrib/llvm/utils/TableGen/X86EVEX2VEXTablesEmitter.cpp head/lib/clang/include/lldb/ - copied from r321352, projects/clang500-import/lib/clang/include/lldb/ head/lib/clang/include/llvm/Support/VCSRevision.h - copied unchanged from r321352, projects/clang500-import/lib/clang/include/llvm/Support/VCSRevision.h head/usr.bin/clang/llvm-pdbutil/ - copied from r321352, projects/clang500-import/usr.bin/clang/llvm-pdbutil/ Replaced: head/contrib/compiler-rt/lib/scudo/scudo_crc32.h - copied unchanged from r321352, projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_crc32.h Deleted: head/contrib/compiler-rt/lib/asan/asan_globals_win.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_mapping_libcdep.cc head/contrib/compiler-rt/lib/xray/xray_emulate_tsc.h head/contrib/compiler-rt/lib/xray/xray_x86_64.h head/contrib/libc++/include/__refstring head/contrib/libc++/include/__undef_min_max head/contrib/llvm/include/llvm/CodeGen/MachineFunctionInitializer.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/CVSymbolTypes.def head/contrib/llvm/include/llvm/DebugInfo/CodeView/CVTypeDumper.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/ModuleSubstream.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDatabase.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDumperBase.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecords.def head/contrib/llvm/include/llvm/DebugInfo/MSF/ByteStream.h head/contrib/llvm/include/llvm/DebugInfo/MSF/SequencedItemStream.h head/contrib/llvm/include/llvm/DebugInfo/MSF/StreamArray.h head/contrib/llvm/include/llvm/DebugInfo/MSF/StreamInterface.h head/contrib/llvm/include/llvm/DebugInfo/MSF/StreamReader.h head/contrib/llvm/include/llvm/DebugInfo/MSF/StreamRef.h head/contrib/llvm/include/llvm/DebugInfo/MSF/StreamWriter.h head/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/ head/contrib/llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h head/contrib/llvm/include/llvm/LibDriver/ head/contrib/llvm/include/llvm/Object/ModuleSummaryIndexObjectFile.h head/contrib/llvm/include/llvm/Support/COFF.h head/contrib/llvm/include/llvm/Support/Dwarf.def head/contrib/llvm/include/llvm/Support/Dwarf.h head/contrib/llvm/include/llvm/Support/ELF.h head/contrib/llvm/include/llvm/Support/ELFRelocs/ head/contrib/llvm/include/llvm/Support/MachO.def head/contrib/llvm/include/llvm/Support/MachO.h head/contrib/llvm/include/llvm/Support/Solaris.h head/contrib/llvm/include/llvm/Support/Wasm.h head/contrib/llvm/include/llvm/Target/TargetGlobalISel.td head/contrib/llvm/include/llvm/Transforms/Utils/MemorySSA.h head/contrib/llvm/lib/CodeGen/MIRPrinter.h head/contrib/llvm/lib/DebugInfo/CodeView/CVTypeDumper.cpp head/contrib/llvm/lib/DebugInfo/CodeView/ModuleSubstream.cpp head/contrib/llvm/lib/DebugInfo/CodeView/ModuleSubstreamVisitor.cpp head/contrib/llvm/lib/DebugInfo/CodeView/TypeDatabase.cpp head/contrib/llvm/lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp head/contrib/llvm/lib/DebugInfo/CodeView/TypeRecord.cpp head/contrib/llvm/lib/DebugInfo/MSF/StreamReader.cpp head/contrib/llvm/lib/DebugInfo/MSF/StreamWriter.cpp head/contrib/llvm/lib/DebugInfo/PDB/Raw/ head/contrib/llvm/lib/IR/AttributeSetNode.h head/contrib/llvm/lib/LibDriver/ head/contrib/llvm/lib/MC/WinCOFFStreamer.cpp head/contrib/llvm/lib/Object/ModuleSummaryIndexObjectFile.cpp head/contrib/llvm/lib/Support/Dwarf.cpp head/contrib/llvm/lib/Support/SearchForAddressOfSpecialSymbol.cpp head/contrib/llvm/lib/Target/AArch64/AArch64AddressTypePromotion.cpp head/contrib/llvm/lib/Target/AArch64/AArch64InstructionSelector.h head/contrib/llvm/lib/Target/AArch64/AArch64SchedVulcan.td head/contrib/llvm/lib/Target/AMDGPU/AMDGPURuntimeMetadata.h head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.h head/contrib/llvm/lib/Target/AMDGPU/SITypeRewriter.cpp head/contrib/llvm/lib/Target/ARM/ARMInstructionSelector.h head/contrib/llvm/lib/Target/Hexagon/HexagonCallingConv.td head/contrib/llvm/lib/Target/Hexagon/HexagonInstrAlias.td head/contrib/llvm/lib/Target/Hexagon/HexagonInstrEnc.td head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.td head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV3.td head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV4.td head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV5.td head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV60.td head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoVector.td head/contrib/llvm/lib/Target/Hexagon/HexagonIsetDx.td head/contrib/llvm/lib/Target/Hexagon/HexagonSystemInst.td head/contrib/llvm/lib/Target/NVPTX/NVPTXInferAddressSpaces.cpp head/contrib/llvm/lib/Target/X86/X86InstrTablesInfo.h head/contrib/llvm/lib/Transforms/Scalar/LoadCombine.cpp head/contrib/llvm/lib/Transforms/Utils/MemorySSA.cpp head/contrib/llvm/lib/Transforms/Vectorize/BBVectorize.cpp head/contrib/llvm/lib/XRay/CMakeLists.txt head/contrib/llvm/tools/clang/lib/CodeGen/CGCUDABuiltin.cpp head/contrib/llvm/tools/clang/lib/CodeGen/ConstantBuilder.h head/contrib/llvm/tools/clang/lib/Driver/CrossWindowsToolChain.cpp head/contrib/llvm/tools/clang/lib/Driver/MSVCToolChain.cpp head/contrib/llvm/tools/clang/lib/Driver/MinGWToolChain.cpp head/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp head/contrib/llvm/tools/clang/lib/Driver/ToolChains.h head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp head/contrib/llvm/tools/clang/lib/Driver/Tools.h head/contrib/llvm/tools/clang/lib/Format/Comments.cpp head/contrib/llvm/tools/clang/lib/Format/Comments.h head/contrib/llvm/tools/clang/lib/Parse/RAIIObjectsForParser.h head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorPastEndChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h head/contrib/llvm/tools/lld/COFF/Librarian.cpp head/contrib/llvm/tools/lld/COFF/ModuleDef.cpp head/contrib/llvm/tools/lld/ELF/Mips.cpp head/contrib/llvm/tools/lld/include/lld/Core/Parallel.h head/contrib/llvm/tools/lld/include/lld/Support/ head/contrib/llvm/tools/lldb/include/lldb/Core/Baton.h head/contrib/llvm/tools/lldb/include/lldb/Core/Connection.h head/contrib/llvm/tools/lldb/include/lldb/Core/ConstString.h head/contrib/llvm/tools/lldb/include/lldb/Core/DataBuffer.h head/contrib/llvm/tools/lldb/include/lldb/Core/DataBufferHeap.h head/contrib/llvm/tools/lldb/include/lldb/Core/DataBufferMemoryMap.h head/contrib/llvm/tools/lldb/include/lldb/Core/DataEncoder.h head/contrib/llvm/tools/lldb/include/lldb/Core/DataExtractor.h head/contrib/llvm/tools/lldb/include/lldb/Core/Error.h head/contrib/llvm/tools/lldb/include/lldb/Core/FastDemangle.h head/contrib/llvm/tools/lldb/include/lldb/Core/Flags.h head/contrib/llvm/tools/lldb/include/lldb/Core/History.h head/contrib/llvm/tools/lldb/include/lldb/Core/Log.h head/contrib/llvm/tools/lldb/include/lldb/Core/Logging.h head/contrib/llvm/tools/lldb/include/lldb/Core/RegularExpression.h head/contrib/llvm/tools/lldb/include/lldb/Core/Stream.h head/contrib/llvm/tools/lldb/include/lldb/Core/StreamCallback.h head/contrib/llvm/tools/lldb/include/lldb/Core/StreamGDBRemote.h head/contrib/llvm/tools/lldb/include/lldb/Core/StreamString.h head/contrib/llvm/tools/lldb/include/lldb/Core/StreamTee.h head/contrib/llvm/tools/lldb/include/lldb/Core/StringList.h head/contrib/llvm/tools/lldb/include/lldb/Core/StructuredData.h head/contrib/llvm/tools/lldb/include/lldb/Core/Timer.h head/contrib/llvm/tools/lldb/include/lldb/Core/UUID.h head/contrib/llvm/tools/lldb/include/lldb/Core/UserID.h head/contrib/llvm/tools/lldb/include/lldb/Core/VMRange.h head/contrib/llvm/tools/lldb/include/lldb/Host/Config.h head/contrib/llvm/tools/lldb/include/lldb/Host/Endian.h head/contrib/llvm/tools/lldb/include/lldb/Host/FileSpec.h head/contrib/llvm/tools/lldb/include/lldb/Host/IOObject.h head/contrib/llvm/tools/lldb/include/lldb/Host/ThisThread.h head/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeRegisterContextRegisterInfo.h head/contrib/llvm/tools/lldb/include/lldb/Host/freebsd/Config.h head/contrib/llvm/tools/lldb/include/lldb/Host/freebsd/HostThreadFreeBSD.h head/contrib/llvm/tools/lldb/include/lldb/Host/netbsd/Config.h head/contrib/llvm/tools/lldb/include/lldb/Host/netbsd/HostThreadNetBSD.h head/contrib/llvm/tools/lldb/include/lldb/Host/posix/MainLoopPosix.h head/contrib/llvm/tools/lldb/include/lldb/Host/posix/ProcessLauncherPosix.h head/contrib/llvm/tools/lldb/include/lldb/Utility/ConvertEnum.h head/contrib/llvm/tools/lldb/include/lldb/Utility/PriorityPointerPair.h head/contrib/llvm/tools/lldb/include/lldb/Utility/ProcessStructReader.h head/contrib/llvm/tools/lldb/include/lldb/Utility/PseudoTerminal.h head/contrib/llvm/tools/lldb/include/lldb/Utility/RegisterNumber.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Utils.h head/contrib/llvm/tools/lldb/source/Core/Baton.cpp head/contrib/llvm/tools/lldb/source/Core/Connection.cpp head/contrib/llvm/tools/lldb/source/Core/ConstString.cpp head/contrib/llvm/tools/lldb/source/Core/DataBufferHeap.cpp head/contrib/llvm/tools/lldb/source/Core/DataBufferMemoryMap.cpp head/contrib/llvm/tools/lldb/source/Core/DataEncoder.cpp head/contrib/llvm/tools/lldb/source/Core/DataExtractor.cpp head/contrib/llvm/tools/lldb/source/Core/Error.cpp head/contrib/llvm/tools/lldb/source/Core/FastDemangle.cpp head/contrib/llvm/tools/lldb/source/Core/History.cpp head/contrib/llvm/tools/lldb/source/Core/Log.cpp head/contrib/llvm/tools/lldb/source/Core/Logging.cpp head/contrib/llvm/tools/lldb/source/Core/RegularExpression.cpp head/contrib/llvm/tools/lldb/source/Core/Stream.cpp head/contrib/llvm/tools/lldb/source/Core/StreamCallback.cpp head/contrib/llvm/tools/lldb/source/Core/StreamGDBRemote.cpp head/contrib/llvm/tools/lldb/source/Core/StreamString.cpp head/contrib/llvm/tools/lldb/source/Core/StringList.cpp head/contrib/llvm/tools/lldb/source/Core/StructuredData.cpp head/contrib/llvm/tools/lldb/source/Core/Timer.cpp head/contrib/llvm/tools/lldb/source/Core/UUID.cpp head/contrib/llvm/tools/lldb/source/Core/UserID.cpp head/contrib/llvm/tools/lldb/source/Core/VMRange.cpp head/contrib/llvm/tools/lldb/source/Host/common/FileSpec.cpp head/contrib/llvm/tools/lldb/source/Host/common/IOObject.cpp head/contrib/llvm/tools/lldb/source/Host/common/NativeRegisterContextRegisterInfo.cpp head/contrib/llvm/tools/lldb/source/Host/common/ThisThread.cpp head/contrib/llvm/tools/lldb/source/Host/freebsd/HostThreadFreeBSD.cpp head/contrib/llvm/tools/lldb/source/Host/freebsd/ThisThread.cpp head/contrib/llvm/tools/lldb/source/Host/netbsd/HostThreadNetBSD.cpp head/contrib/llvm/tools/lldb/source/Host/netbsd/ThisThread.cpp head/contrib/llvm/tools/lldb/source/Host/posix/MainLoopPosix.cpp head/contrib/llvm/tools/lldb/source/Host/posix/ProcessLauncherPosix.cpp head/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.cpp head/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.h head/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.cpp head/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_arm.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_arm.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_arm.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_arm.h head/contrib/llvm/tools/lldb/source/Utility/ARM64_DWARF_Registers.cpp head/contrib/llvm/tools/lldb/source/Utility/ARM_DWARF_Registers.cpp head/contrib/llvm/tools/lldb/source/Utility/ConvertEnum.cpp head/contrib/llvm/tools/lldb/source/Utility/ModuleCache.cpp head/contrib/llvm/tools/lldb/source/Utility/ModuleCache.h head/contrib/llvm/tools/lldb/source/Utility/PseudoTerminal.cpp head/contrib/llvm/tools/lldb/source/Utility/RegisterNumber.cpp head/contrib/llvm/tools/lldb/source/Utility/UriParser.h head/contrib/llvm/tools/llvm-pdbdump/ head/contrib/llvm/tools/llvm-readobj/ARMAttributeParser.cpp head/contrib/llvm/tools/llvm-readobj/ARMAttributeParser.h head/contrib/llvm/tools/llvm-readobj/CodeView.h head/contrib/llvm/tools/llvm-xray/xray-extract.h head/contrib/llvm/tools/llvm-xray/xray-sleds.h head/usr.bin/clang/llvm-pdbdump/ Modified: head/ObsoleteFiles.inc head/UPDATING head/contrib/compiler-rt/include/sanitizer/common_interface_defs.h head/contrib/compiler-rt/include/sanitizer/coverage_interface.h head/contrib/compiler-rt/include/xray/xray_interface.h head/contrib/compiler-rt/include/xray/xray_records.h head/contrib/compiler-rt/lib/asan/asan.syms.extra head/contrib/compiler-rt/lib/asan/asan_activation.cc head/contrib/compiler-rt/lib/asan/asan_allocator.cc head/contrib/compiler-rt/lib/asan/asan_allocator.h head/contrib/compiler-rt/lib/asan/asan_descriptions.cc head/contrib/compiler-rt/lib/asan/asan_errors.cc head/contrib/compiler-rt/lib/asan/asan_flags.cc head/contrib/compiler-rt/lib/asan/asan_flags.inc head/contrib/compiler-rt/lib/asan/asan_globals.cc head/contrib/compiler-rt/lib/asan/asan_globals_win.cc head/contrib/compiler-rt/lib/asan/asan_interceptors.cc head/contrib/compiler-rt/lib/asan/asan_interceptors.h head/contrib/compiler-rt/lib/asan/asan_interface_internal.h head/contrib/compiler-rt/lib/asan/asan_internal.h head/contrib/compiler-rt/lib/asan/asan_linux.cc head/contrib/compiler-rt/lib/asan/asan_mac.cc head/contrib/compiler-rt/lib/asan/asan_malloc_linux.cc head/contrib/compiler-rt/lib/asan/asan_malloc_win.cc head/contrib/compiler-rt/lib/asan/asan_mapping.h head/contrib/compiler-rt/lib/asan/asan_memory_profile.cc head/contrib/compiler-rt/lib/asan/asan_new_delete.cc head/contrib/compiler-rt/lib/asan/asan_posix.cc head/contrib/compiler-rt/lib/asan/asan_report.cc head/contrib/compiler-rt/lib/asan/asan_report.h head/contrib/compiler-rt/lib/asan/asan_rtl.cc head/contrib/compiler-rt/lib/asan/asan_suppressions.cc head/contrib/compiler-rt/lib/asan/asan_thread.cc head/contrib/compiler-rt/lib/asan/asan_thread.h head/contrib/compiler-rt/lib/asan/asan_win.cc head/contrib/compiler-rt/lib/asan/asan_win_dll_thunk.cc head/contrib/compiler-rt/lib/asan/asan_win_dynamic_runtime_thunk.cc head/contrib/compiler-rt/lib/asan/weak_symbols.txt head/contrib/compiler-rt/lib/builtins/README.txt head/contrib/compiler-rt/lib/builtins/adddf3.c head/contrib/compiler-rt/lib/builtins/addsf3.c head/contrib/compiler-rt/lib/builtins/arm/aeabi_cdcmp.S head/contrib/compiler-rt/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c head/contrib/compiler-rt/lib/builtins/arm/aeabi_cfcmp.S head/contrib/compiler-rt/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c head/contrib/compiler-rt/lib/builtins/arm/aeabi_dcmp.S head/contrib/compiler-rt/lib/builtins/arm/aeabi_div0.c head/contrib/compiler-rt/lib/builtins/arm/aeabi_drsub.c head/contrib/compiler-rt/lib/builtins/arm/aeabi_frsub.c head/contrib/compiler-rt/lib/builtins/arm/aeabi_idivmod.S head/contrib/compiler-rt/lib/builtins/arm/aeabi_ldivmod.S head/contrib/compiler-rt/lib/builtins/arm/aeabi_memset.S head/contrib/compiler-rt/lib/builtins/arm/aeabi_uidivmod.S head/contrib/compiler-rt/lib/builtins/arm/aeabi_uldivmod.S head/contrib/compiler-rt/lib/builtins/arm/comparesf2.S head/contrib/compiler-rt/lib/builtins/arm/eqdf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/eqsf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/gedf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/gesf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/gtdf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/gtsf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/ledf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/lesf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/ltdf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/ltsf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/nedf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/nesf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/udivsi3.S head/contrib/compiler-rt/lib/builtins/arm/unorddf2vfp.S head/contrib/compiler-rt/lib/builtins/arm/unordsf2vfp.S head/contrib/compiler-rt/lib/builtins/ashldi3.c head/contrib/compiler-rt/lib/builtins/ashrdi3.c head/contrib/compiler-rt/lib/builtins/assembly.h head/contrib/compiler-rt/lib/builtins/bswapdi2.c head/contrib/compiler-rt/lib/builtins/bswapsi2.c head/contrib/compiler-rt/lib/builtins/clear_cache.c head/contrib/compiler-rt/lib/builtins/comparedf2.c head/contrib/compiler-rt/lib/builtins/comparesf2.c head/contrib/compiler-rt/lib/builtins/cpu_model.c head/contrib/compiler-rt/lib/builtins/divdf3.c head/contrib/compiler-rt/lib/builtins/divsf3.c head/contrib/compiler-rt/lib/builtins/divsi3.c head/contrib/compiler-rt/lib/builtins/divtc3.c head/contrib/compiler-rt/lib/builtins/emutls.c head/contrib/compiler-rt/lib/builtins/extendhfsf2.c head/contrib/compiler-rt/lib/builtins/extendsfdf2.c head/contrib/compiler-rt/lib/builtins/fixdfdi.c head/contrib/compiler-rt/lib/builtins/fixdfsi.c head/contrib/compiler-rt/lib/builtins/fixsfdi.c head/contrib/compiler-rt/lib/builtins/fixsfsi.c head/contrib/compiler-rt/lib/builtins/fixunsdfdi.c head/contrib/compiler-rt/lib/builtins/fixunsdfsi.c head/contrib/compiler-rt/lib/builtins/fixunssfdi.c head/contrib/compiler-rt/lib/builtins/fixunssfsi.c head/contrib/compiler-rt/lib/builtins/floatdidf.c head/contrib/compiler-rt/lib/builtins/floatdisf.c head/contrib/compiler-rt/lib/builtins/floatsidf.c head/contrib/compiler-rt/lib/builtins/floatsisf.c head/contrib/compiler-rt/lib/builtins/floatundidf.c head/contrib/compiler-rt/lib/builtins/floatundisf.c head/contrib/compiler-rt/lib/builtins/floatunsidf.c head/contrib/compiler-rt/lib/builtins/floatunsisf.c head/contrib/compiler-rt/lib/builtins/int_lib.h head/contrib/compiler-rt/lib/builtins/int_types.h head/contrib/compiler-rt/lib/builtins/int_util.c head/contrib/compiler-rt/lib/builtins/lshrdi3.c head/contrib/compiler-rt/lib/builtins/muldf3.c head/contrib/compiler-rt/lib/builtins/muldi3.c head/contrib/compiler-rt/lib/builtins/mulsf3.c head/contrib/compiler-rt/lib/builtins/negdf2.c head/contrib/compiler-rt/lib/builtins/negsf2.c head/contrib/compiler-rt/lib/builtins/subdf3.c head/contrib/compiler-rt/lib/builtins/subsf3.c head/contrib/compiler-rt/lib/builtins/truncdfhf2.c head/contrib/compiler-rt/lib/builtins/truncdfsf2.c head/contrib/compiler-rt/lib/builtins/truncsfhf2.c head/contrib/compiler-rt/lib/builtins/udivsi3.c head/contrib/compiler-rt/lib/builtins/x86_64/floatdidf.c head/contrib/compiler-rt/lib/builtins/x86_64/floatdisf.c head/contrib/compiler-rt/lib/cfi/cfi.cc head/contrib/compiler-rt/lib/cfi/cfi_blacklist.txt head/contrib/compiler-rt/lib/dfsan/done_abilist.txt head/contrib/compiler-rt/lib/esan/esan_interceptors.cpp head/contrib/compiler-rt/lib/esan/working_set.cpp head/contrib/compiler-rt/lib/interception/interception_win.cc head/contrib/compiler-rt/lib/lsan/lsan.cc head/contrib/compiler-rt/lib/lsan/lsan.h head/contrib/compiler-rt/lib/lsan/lsan_allocator.cc head/contrib/compiler-rt/lib/lsan/lsan_allocator.h head/contrib/compiler-rt/lib/lsan/lsan_common.cc head/contrib/compiler-rt/lib/lsan/lsan_common.h head/contrib/compiler-rt/lib/lsan/lsan_common_linux.cc head/contrib/compiler-rt/lib/lsan/lsan_interceptors.cc head/contrib/compiler-rt/lib/lsan/lsan_thread.cc head/contrib/compiler-rt/lib/lsan/lsan_thread.h head/contrib/compiler-rt/lib/msan/msan.h head/contrib/compiler-rt/lib/msan/msan_allocator.cc head/contrib/compiler-rt/lib/msan/msan_interceptors.cc head/contrib/compiler-rt/lib/msan/msan_new_delete.cc head/contrib/compiler-rt/lib/profile/InstrProfData.inc head/contrib/compiler-rt/lib/profile/InstrProfiling.c head/contrib/compiler-rt/lib/profile/InstrProfilingBuffer.c head/contrib/compiler-rt/lib/profile/InstrProfilingFile.c head/contrib/compiler-rt/lib/profile/InstrProfilingInternal.h head/contrib/compiler-rt/lib/profile/InstrProfilingUtil.c head/contrib/compiler-rt/lib/profile/InstrProfilingUtil.h head/contrib/compiler-rt/lib/profile/InstrProfilingValue.c head/contrib/compiler-rt/lib/profile/InstrProfilingWriter.c head/contrib/compiler-rt/lib/sanitizer_common/sancov_flags.cc head/contrib/compiler-rt/lib/sanitizer_common/sancov_flags.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_combined.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_interface.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_internal.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_local_cache.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_secondary.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_other.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_format.inc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_list.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mutex.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_printf.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_freebsd.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_linux.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_quarantine.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cc head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.h head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc head/contrib/compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cc head/contrib/compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cc head/contrib/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh head/contrib/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt head/contrib/compiler-rt/lib/sanitizer_common/weak_symbols.txt head/contrib/compiler-rt/lib/scudo/scudo_allocator.cpp head/contrib/compiler-rt/lib/scudo/scudo_allocator.h head/contrib/compiler-rt/lib/scudo/scudo_allocator_secondary.h head/contrib/compiler-rt/lib/scudo/scudo_crc32.cpp head/contrib/compiler-rt/lib/scudo/scudo_flags.cpp head/contrib/compiler-rt/lib/scudo/scudo_flags.inc head/contrib/compiler-rt/lib/scudo/scudo_new_delete.cpp head/contrib/compiler-rt/lib/scudo/scudo_utils.cpp head/contrib/compiler-rt/lib/scudo/scudo_utils.h head/contrib/compiler-rt/lib/tsan/dd/dd_interceptors.cc head/contrib/compiler-rt/lib/tsan/go/tsan_go.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan.syms.extra head/contrib/compiler-rt/lib/tsan/rtl/tsan_clock.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_clock.h head/contrib/compiler-rt/lib/tsan/rtl/tsan_debugging.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_defs.h head/contrib/compiler-rt/lib/tsan/rtl/tsan_dense_alloc.h head/contrib/compiler-rt/lib/tsan/rtl/tsan_flags.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_flags.h head/contrib/compiler-rt/lib/tsan/rtl/tsan_flags.inc head/contrib/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_interceptors.h head/contrib/compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_interface.h head/contrib/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_interface_java.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_libdispatch_mac.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_mman.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_platform.h head/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_posix.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_report.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_report.h head/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl.h head/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S head/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S head/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_stat.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_stat.h head/contrib/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_sync.cc head/contrib/compiler-rt/lib/tsan/rtl/tsan_sync.h head/contrib/compiler-rt/lib/ubsan/ubsan_checks.inc head/contrib/compiler-rt/lib/ubsan/ubsan_diag.cc head/contrib/compiler-rt/lib/ubsan/ubsan_flags.cc head/contrib/compiler-rt/lib/ubsan/ubsan_handlers.cc head/contrib/compiler-rt/lib/ubsan/ubsan_handlers.h head/contrib/compiler-rt/lib/ubsan/ubsan_init.cc head/contrib/compiler-rt/lib/ubsan/ubsan_init.h head/contrib/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc head/contrib/compiler-rt/lib/xray/xray_AArch64.cc head/contrib/compiler-rt/lib/xray/xray_arm.cc head/contrib/compiler-rt/lib/xray/xray_buffer_queue.cc head/contrib/compiler-rt/lib/xray/xray_buffer_queue.h head/contrib/compiler-rt/lib/xray/xray_flags.cc head/contrib/compiler-rt/lib/xray/xray_flags.h head/contrib/compiler-rt/lib/xray/xray_flags.inc head/contrib/compiler-rt/lib/xray/xray_init.cc head/contrib/compiler-rt/lib/xray/xray_inmemory_log.cc head/contrib/compiler-rt/lib/xray/xray_interface.cc head/contrib/compiler-rt/lib/xray/xray_interface_internal.h head/contrib/compiler-rt/lib/xray/xray_trampoline_AArch64.S head/contrib/compiler-rt/lib/xray/xray_trampoline_arm.S head/contrib/compiler-rt/lib/xray/xray_trampoline_x86_64.S head/contrib/compiler-rt/lib/xray/xray_x86_64.cc head/contrib/libc++/CREDITS.TXT head/contrib/libc++/include/__bit_reference head/contrib/libc++/include/__bsd_locale_fallbacks.h head/contrib/libc++/include/__config head/contrib/libc++/include/__debug head/contrib/libc++/include/__functional_03 head/contrib/libc++/include/__functional_base head/contrib/libc++/include/__hash_table head/contrib/libc++/include/__libcpp_version head/contrib/libc++/include/__locale head/contrib/libc++/include/__mutex_base head/contrib/libc++/include/__split_buffer head/contrib/libc++/include/__std_stream head/contrib/libc++/include/__string head/contrib/libc++/include/__threading_support head/contrib/libc++/include/__tree head/contrib/libc++/include/__tuple head/contrib/libc++/include/algorithm head/contrib/libc++/include/any head/contrib/libc++/include/array head/contrib/libc++/include/atomic head/contrib/libc++/include/bitset head/contrib/libc++/include/chrono head/contrib/libc++/include/cmath head/contrib/libc++/include/complex head/contrib/libc++/include/condition_variable head/contrib/libc++/include/cstddef head/contrib/libc++/include/cstdio head/contrib/libc++/include/cstdlib head/contrib/libc++/include/ctype.h head/contrib/libc++/include/deque head/contrib/libc++/include/exception head/contrib/libc++/include/experimental/__config head/contrib/libc++/include/experimental/algorithm head/contrib/libc++/include/experimental/any head/contrib/libc++/include/experimental/dynarray head/contrib/libc++/include/experimental/filesystem head/contrib/libc++/include/experimental/functional head/contrib/libc++/include/experimental/memory_resource head/contrib/libc++/include/experimental/numeric head/contrib/libc++/include/experimental/optional head/contrib/libc++/include/experimental/string_view head/contrib/libc++/include/ext/hash_map head/contrib/libc++/include/ext/hash_set head/contrib/libc++/include/forward_list head/contrib/libc++/include/fstream head/contrib/libc++/include/functional head/contrib/libc++/include/future head/contrib/libc++/include/initializer_list head/contrib/libc++/include/ios head/contrib/libc++/include/istream head/contrib/libc++/include/iterator head/contrib/libc++/include/limits head/contrib/libc++/include/list head/contrib/libc++/include/locale head/contrib/libc++/include/map head/contrib/libc++/include/math.h head/contrib/libc++/include/memory head/contrib/libc++/include/module.modulemap head/contrib/libc++/include/mutex head/contrib/libc++/include/new head/contrib/libc++/include/numeric head/contrib/libc++/include/optional head/contrib/libc++/include/ostream head/contrib/libc++/include/queue head/contrib/libc++/include/random head/contrib/libc++/include/ratio head/contrib/libc++/include/regex head/contrib/libc++/include/set head/contrib/libc++/include/shared_mutex head/contrib/libc++/include/sstream head/contrib/libc++/include/stack head/contrib/libc++/include/stddef.h head/contrib/libc++/include/stdexcept head/contrib/libc++/include/stdio.h head/contrib/libc++/include/stdlib.h head/contrib/libc++/include/streambuf head/contrib/libc++/include/string head/contrib/libc++/include/string_view head/contrib/libc++/include/strstream head/contrib/libc++/include/system_error head/contrib/libc++/include/thread head/contrib/libc++/include/tuple head/contrib/libc++/include/type_traits head/contrib/libc++/include/typeinfo head/contrib/libc++/include/unordered_map head/contrib/libc++/include/unordered_set head/contrib/libc++/include/utility head/contrib/libc++/include/valarray head/contrib/libc++/include/variant head/contrib/libc++/include/vector head/contrib/libc++/include/wchar.h head/contrib/libc++/src/chrono.cpp head/contrib/libc++/src/condition_variable.cpp head/contrib/libc++/src/exception.cpp head/contrib/libc++/src/experimental/filesystem/directory_iterator.cpp head/contrib/libc++/src/experimental/filesystem/operations.cpp head/contrib/libc++/src/experimental/filesystem/path.cpp head/contrib/libc++/src/include/atomic_support.h head/contrib/libc++/src/ios.cpp head/contrib/libc++/src/iostream.cpp head/contrib/libc++/src/locale.cpp head/contrib/libc++/src/memory.cpp head/contrib/libc++/src/mutex.cpp head/contrib/libc++/src/new.cpp head/contrib/libc++/src/stdexcept.cpp head/contrib/libc++/src/string.cpp head/contrib/libc++/src/strstream.cpp head/contrib/libc++/src/system_error.cpp head/contrib/libc++/src/thread.cpp head/contrib/libc++/src/typeinfo.cpp head/contrib/llvm/include/llvm-c/Core.h head/contrib/llvm/include/llvm-c/ExecutionEngine.h head/contrib/llvm/include/llvm-c/OrcBindings.h head/contrib/llvm/include/llvm-c/Support.h head/contrib/llvm/include/llvm-c/TargetMachine.h head/contrib/llvm/include/llvm-c/Transforms/Scalar.h head/contrib/llvm/include/llvm-c/Transforms/Vectorize.h head/contrib/llvm/include/llvm-c/Types.h head/contrib/llvm/include/llvm-c/lto.h head/contrib/llvm/include/llvm/ADT/APFloat.h head/contrib/llvm/include/llvm/ADT/APInt.h head/contrib/llvm/include/llvm/ADT/APSInt.h head/contrib/llvm/include/llvm/ADT/AllocatorList.h head/contrib/llvm/include/llvm/ADT/ArrayRef.h head/contrib/llvm/include/llvm/ADT/BitVector.h head/contrib/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h head/contrib/llvm/include/llvm/ADT/DeltaAlgorithm.h head/contrib/llvm/include/llvm/ADT/DenseMap.h head/contrib/llvm/include/llvm/ADT/DenseMapInfo.h head/contrib/llvm/include/llvm/ADT/DenseSet.h head/contrib/llvm/include/llvm/ADT/DepthFirstIterator.h head/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h head/contrib/llvm/include/llvm/ADT/FoldingSet.h head/contrib/llvm/include/llvm/ADT/GraphTraits.h head/contrib/llvm/include/llvm/ADT/ImmutableList.h head/contrib/llvm/include/llvm/ADT/ImmutableMap.h head/contrib/llvm/include/llvm/ADT/ImmutableSet.h head/contrib/llvm/include/llvm/ADT/IndexedMap.h head/contrib/llvm/include/llvm/ADT/IntervalMap.h head/contrib/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h head/contrib/llvm/include/llvm/ADT/MapVector.h head/contrib/llvm/include/llvm/ADT/None.h head/contrib/llvm/include/llvm/ADT/Optional.h head/contrib/llvm/include/llvm/ADT/PackedVector.h head/contrib/llvm/include/llvm/ADT/PointerEmbeddedInt.h head/contrib/llvm/include/llvm/ADT/PointerUnion.h head/contrib/llvm/include/llvm/ADT/PostOrderIterator.h head/contrib/llvm/include/llvm/ADT/PriorityWorklist.h head/contrib/llvm/include/llvm/ADT/SCCIterator.h head/contrib/llvm/include/llvm/ADT/STLExtras.h head/contrib/llvm/include/llvm/ADT/ScopedHashTable.h head/contrib/llvm/include/llvm/ADT/Sequence.h head/contrib/llvm/include/llvm/ADT/SetVector.h head/contrib/llvm/include/llvm/ADT/SmallBitVector.h head/contrib/llvm/include/llvm/ADT/SmallPtrSet.h head/contrib/llvm/include/llvm/ADT/SmallSet.h head/contrib/llvm/include/llvm/ADT/SmallVector.h head/contrib/llvm/include/llvm/ADT/SparseBitVector.h head/contrib/llvm/include/llvm/ADT/SparseMultiSet.h head/contrib/llvm/include/llvm/ADT/SparseSet.h head/contrib/llvm/include/llvm/ADT/Statistic.h head/contrib/llvm/include/llvm/ADT/StringExtras.h head/contrib/llvm/include/llvm/ADT/StringMap.h head/contrib/llvm/include/llvm/ADT/StringRef.h head/contrib/llvm/include/llvm/ADT/StringSet.h head/contrib/llvm/include/llvm/ADT/TinyPtrVector.h head/contrib/llvm/include/llvm/ADT/Triple.h head/contrib/llvm/include/llvm/ADT/UniqueVector.h head/contrib/llvm/include/llvm/ADT/ilist_base.h head/contrib/llvm/include/llvm/ADT/ilist_iterator.h head/contrib/llvm/include/llvm/ADT/ilist_node.h head/contrib/llvm/include/llvm/ADT/iterator.h head/contrib/llvm/include/llvm/ADT/iterator_range.h head/contrib/llvm/include/llvm/ADT/simple_ilist.h head/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h head/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h head/contrib/llvm/include/llvm/Analysis/AssumptionCache.h head/contrib/llvm/include/llvm/Analysis/BasicAliasAnalysis.h head/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfo.h head/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h head/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h head/contrib/llvm/include/llvm/Analysis/CFGPrinter.h head/contrib/llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h head/contrib/llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h head/contrib/llvm/include/llvm/Analysis/CGSCCPassManager.h head/contrib/llvm/include/llvm/Analysis/CallGraph.h head/contrib/llvm/include/llvm/Analysis/ConstantFolding.h head/contrib/llvm/include/llvm/Analysis/DemandedBits.h head/contrib/llvm/include/llvm/Analysis/DominanceFrontier.h head/contrib/llvm/include/llvm/Analysis/DominanceFrontierImpl.h head/contrib/llvm/include/llvm/Analysis/IVUsers.h head/contrib/llvm/include/llvm/Analysis/IndirectCallSiteVisitor.h head/contrib/llvm/include/llvm/Analysis/InlineCost.h head/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h head/contrib/llvm/include/llvm/Analysis/IteratedDominanceFrontier.h head/contrib/llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h head/contrib/llvm/include/llvm/Analysis/LazyBranchProbabilityInfo.h head/contrib/llvm/include/llvm/Analysis/LazyCallGraph.h head/contrib/llvm/include/llvm/Analysis/LazyValueInfo.h head/contrib/llvm/include/llvm/Analysis/Loads.h head/contrib/llvm/include/llvm/Analysis/LoopAccessAnalysis.h head/contrib/llvm/include/llvm/Analysis/LoopInfo.h head/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h head/contrib/llvm/include/llvm/Analysis/LoopPass.h head/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h head/contrib/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h head/contrib/llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h head/contrib/llvm/include/llvm/Analysis/ObjCARCInstKind.h head/contrib/llvm/include/llvm/Analysis/OptimizationDiagnosticInfo.h head/contrib/llvm/include/llvm/Analysis/OrderedBasicBlock.h head/contrib/llvm/include/llvm/Analysis/PostDominators.h head/contrib/llvm/include/llvm/Analysis/ProfileSummaryInfo.h head/contrib/llvm/include/llvm/Analysis/PtrUseVisitor.h head/contrib/llvm/include/llvm/Analysis/RegionInfo.h head/contrib/llvm/include/llvm/Analysis/RegionInfoImpl.h head/contrib/llvm/include/llvm/Analysis/RegionIterator.h head/contrib/llvm/include/llvm/Analysis/RegionPass.h head/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h head/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h head/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h head/contrib/llvm/include/llvm/Analysis/ScalarEvolutionNormalization.h head/contrib/llvm/include/llvm/Analysis/TargetLibraryInfo.def head/contrib/llvm/include/llvm/Analysis/TargetLibraryInfo.h head/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h head/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h head/contrib/llvm/include/llvm/Analysis/TypeMetadataUtils.h head/contrib/llvm/include/llvm/Analysis/ValueTracking.h head/contrib/llvm/include/llvm/Analysis/VectorUtils.h head/contrib/llvm/include/llvm/Bitcode/BitcodeReader.h head/contrib/llvm/include/llvm/Bitcode/BitcodeWriter.h head/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h head/contrib/llvm/include/llvm/CodeGen/Analysis.h head/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h head/contrib/llvm/include/llvm/CodeGen/AtomicExpandUtils.h head/contrib/llvm/include/llvm/CodeGen/BasicTTIImpl.h head/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h head/contrib/llvm/include/llvm/CodeGen/CommandFlags.h head/contrib/llvm/include/llvm/CodeGen/DFAPacketizer.h head/contrib/llvm/include/llvm/CodeGen/DIE.h head/contrib/llvm/include/llvm/CodeGen/FastISel.h head/contrib/llvm/include/llvm/CodeGen/FaultMaps.h head/contrib/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h head/contrib/llvm/include/llvm/CodeGen/GCMetadata.h head/contrib/llvm/include/llvm/CodeGen/GCMetadataPrinter.h head/contrib/llvm/include/llvm/CodeGen/GCStrategy.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/RegisterBank.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/Types.h head/contrib/llvm/include/llvm/CodeGen/GlobalISel/Utils.h head/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h head/contrib/llvm/include/llvm/CodeGen/LexicalScopes.h head/contrib/llvm/include/llvm/CodeGen/LiveInterval.h head/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h head/contrib/llvm/include/llvm/CodeGen/LiveIntervalUnion.h head/contrib/llvm/include/llvm/CodeGen/LivePhysRegs.h head/contrib/llvm/include/llvm/CodeGen/LiveRangeEdit.h head/contrib/llvm/include/llvm/CodeGen/LiveRegMatrix.h head/contrib/llvm/include/llvm/CodeGen/LiveStackAnalysis.h head/contrib/llvm/include/llvm/CodeGen/LowLevelType.h head/contrib/llvm/include/llvm/CodeGen/MIRParser/MIRParser.h head/contrib/llvm/include/llvm/CodeGen/MIRYamlMapping.h head/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h head/contrib/llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h head/contrib/llvm/include/llvm/CodeGen/MachineCombinerPattern.h head/contrib/llvm/include/llvm/CodeGen/MachineConstantPool.h head/contrib/llvm/include/llvm/CodeGen/MachineDominanceFrontier.h head/contrib/llvm/include/llvm/CodeGen/MachineDominators.h head/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h head/contrib/llvm/include/llvm/CodeGen/MachineFunction.h head/contrib/llvm/include/llvm/CodeGen/MachineFunctionPass.h head/contrib/llvm/include/llvm/CodeGen/MachineInstr.h head/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h head/contrib/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h head/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h head/contrib/llvm/include/llvm/CodeGen/MachineMemOperand.h head/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h head/contrib/llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h head/contrib/llvm/include/llvm/CodeGen/MachineOperand.h head/contrib/llvm/include/llvm/CodeGen/MachinePassRegistry.h head/contrib/llvm/include/llvm/CodeGen/MachinePostDominators.h head/contrib/llvm/include/llvm/CodeGen/MachineRegionInfo.h head/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h head/contrib/llvm/include/llvm/CodeGen/MachineScheduler.h head/contrib/llvm/include/llvm/CodeGen/MachineTraceMetrics.h head/contrib/llvm/include/llvm/CodeGen/MachineValueType.h head/contrib/llvm/include/llvm/CodeGen/PBQP/CostAllocator.h head/contrib/llvm/include/llvm/CodeGen/PBQP/Graph.h head/contrib/llvm/include/llvm/CodeGen/PBQP/Math.h head/contrib/llvm/include/llvm/CodeGen/PBQP/ReductionRules.h head/contrib/llvm/include/llvm/CodeGen/PBQP/Solution.h head/contrib/llvm/include/llvm/CodeGen/PBQPRAConstraint.h head/contrib/llvm/include/llvm/CodeGen/Passes.h head/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h head/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h head/contrib/llvm/include/llvm/CodeGen/RegAllocRegistry.h head/contrib/llvm/include/llvm/CodeGen/RegisterClassInfo.h head/contrib/llvm/include/llvm/CodeGen/RegisterPressure.h head/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h head/contrib/llvm/include/llvm/CodeGen/RegisterUsageInfo.h head/contrib/llvm/include/llvm/CodeGen/RuntimeLibcalls.h head/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h head/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h head/contrib/llvm/include/llvm/CodeGen/ScheduleDAGMutation.h head/contrib/llvm/include/llvm/CodeGen/ScheduleDFS.h head/contrib/llvm/include/llvm/CodeGen/ScheduleHazardRecognizer.h head/contrib/llvm/include/llvm/CodeGen/SchedulerRegistry.h head/contrib/llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h head/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h head/contrib/llvm/include/llvm/CodeGen/SelectionDAGISel.h head/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h head/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h head/contrib/llvm/include/llvm/CodeGen/StackMaps.h head/contrib/llvm/include/llvm/CodeGen/StackProtector.h head/contrib/llvm/include/llvm/CodeGen/TailDuplicator.h head/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h head/contrib/llvm/include/llvm/CodeGen/TargetPassConfig.h head/contrib/llvm/include/llvm/CodeGen/TargetSchedule.h head/contrib/llvm/include/llvm/CodeGen/ValueTypes.h head/contrib/llvm/include/llvm/CodeGen/ValueTypes.td head/contrib/llvm/include/llvm/CodeGen/VirtRegMap.h head/contrib/llvm/include/llvm/CodeGen/WinEHFuncInfo.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/CVRecord.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeView.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewError.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/EnumTables.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/Line.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/RecordSerialization.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDumper.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorDelegate.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDeserializer.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeSerializer.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeStreamMerger.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeTableBuilder.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h head/contrib/llvm/include/llvm/DebugInfo/DIContext.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFGdbIndex.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFSection.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h head/contrib/llvm/include/llvm/DebugInfo/MSF/MSFBuilder.h head/contrib/llvm/include/llvm/DebugInfo/MSF/MSFCommon.h head/contrib/llvm/include/llvm/DebugInfo/MSF/MappedBlockStream.h head/contrib/llvm/include/llvm/DebugInfo/PDB/ConcreteSymbolEnumerator.h head/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumDebugStreams.h head/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumLineNumbers.h head/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumSourceFiles.h head/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h head/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIARawSymbol.h head/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h head/contrib/llvm/include/llvm/DebugInfo/PDB/GenericError.h head/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBDataStream.h head/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBEnumChildren.h head/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h head/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBSession.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDB.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBContext.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBExtras.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymDumper.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbol.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolData.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolExe.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h head/contrib/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h head/contrib/llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h head/contrib/llvm/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h head/contrib/llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h head/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h head/contrib/llvm/include/llvm/ExecutionEngine/GenericValue.h head/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h head/contrib/llvm/include/llvm/ExecutionEngine/JITSymbol.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/LambdaResolver.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcError.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/RPCSerialization.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h head/contrib/llvm/include/llvm/ExecutionEngine/Orc/RawByteChannel.h head/contrib/llvm/include/llvm/ExecutionEngine/RTDyldMemoryManager.h head/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h head/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h head/contrib/llvm/include/llvm/IR/Argument.h head/contrib/llvm/include/llvm/IR/Attributes.h head/contrib/llvm/include/llvm/IR/Attributes.td head/contrib/llvm/include/llvm/IR/BasicBlock.h head/contrib/llvm/include/llvm/IR/CFG.h head/contrib/llvm/include/llvm/IR/CallSite.h head/contrib/llvm/include/llvm/IR/CallingConv.h head/contrib/llvm/include/llvm/IR/Comdat.h head/contrib/llvm/include/llvm/IR/Constant.h head/contrib/llvm/include/llvm/IR/ConstantRange.h head/contrib/llvm/include/llvm/IR/Constants.h head/contrib/llvm/include/llvm/IR/DIBuilder.h head/contrib/llvm/include/llvm/IR/DataLayout.h head/contrib/llvm/include/llvm/IR/DebugInfo.h head/contrib/llvm/include/llvm/IR/DebugInfoFlags.def head/contrib/llvm/include/llvm/IR/DebugInfoMetadata.h head/contrib/llvm/include/llvm/IR/DebugLoc.h head/contrib/llvm/include/llvm/IR/DerivedTypes.h head/contrib/llvm/include/llvm/IR/DiagnosticInfo.h head/contrib/llvm/include/llvm/IR/Dominators.h head/contrib/llvm/include/llvm/IR/Function.h head/contrib/llvm/include/llvm/IR/GetElementPtrTypeIterator.h head/contrib/llvm/include/llvm/IR/GlobalAlias.h head/contrib/llvm/include/llvm/IR/GlobalIFunc.h head/contrib/llvm/include/llvm/IR/GlobalIndirectSymbol.h head/contrib/llvm/include/llvm/IR/GlobalObject.h head/contrib/llvm/include/llvm/IR/GlobalValue.h head/contrib/llvm/include/llvm/IR/GlobalVariable.h head/contrib/llvm/include/llvm/IR/IRBuilder.h head/contrib/llvm/include/llvm/IR/InlineAsm.h head/contrib/llvm/include/llvm/IR/InstIterator.h head/contrib/llvm/include/llvm/IR/InstVisitor.h head/contrib/llvm/include/llvm/IR/InstrTypes.h head/contrib/llvm/include/llvm/IR/Instruction.def head/contrib/llvm/include/llvm/IR/Instruction.h head/contrib/llvm/include/llvm/IR/Instructions.h head/contrib/llvm/include/llvm/IR/IntrinsicInst.h head/contrib/llvm/include/llvm/IR/Intrinsics.h head/contrib/llvm/include/llvm/IR/Intrinsics.td head/contrib/llvm/include/llvm/IR/IntrinsicsAMDGPU.td head/contrib/llvm/include/llvm/IR/IntrinsicsARM.td head/contrib/llvm/include/llvm/IR/IntrinsicsHexagon.td head/contrib/llvm/include/llvm/IR/IntrinsicsNVVM.td head/contrib/llvm/include/llvm/IR/IntrinsicsPowerPC.td head/contrib/llvm/include/llvm/IR/IntrinsicsSystemZ.td head/contrib/llvm/include/llvm/IR/IntrinsicsWebAssembly.td head/contrib/llvm/include/llvm/IR/IntrinsicsX86.td head/contrib/llvm/include/llvm/IR/LLVMContext.h head/contrib/llvm/include/llvm/IR/LegacyPassManager.h head/contrib/llvm/include/llvm/IR/LegacyPassNameParser.h head/contrib/llvm/include/llvm/IR/MDBuilder.h head/contrib/llvm/include/llvm/IR/Mangler.h head/contrib/llvm/include/llvm/IR/Metadata.h head/contrib/llvm/include/llvm/IR/Module.h head/contrib/llvm/include/llvm/IR/ModuleSummaryIndex.h head/contrib/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h head/contrib/llvm/include/llvm/IR/OperandTraits.h head/contrib/llvm/include/llvm/IR/Operator.h head/contrib/llvm/include/llvm/IR/OptBisect.h head/contrib/llvm/include/llvm/IR/PassManager.h head/contrib/llvm/include/llvm/IR/PassManagerInternal.h head/contrib/llvm/include/llvm/IR/PatternMatch.h head/contrib/llvm/include/llvm/IR/PredIteratorCache.h head/contrib/llvm/include/llvm/IR/ProfileSummary.h head/contrib/llvm/include/llvm/IR/Statepoint.h head/contrib/llvm/include/llvm/IR/SymbolTableListTraits.h head/contrib/llvm/include/llvm/IR/TrackingMDRef.h head/contrib/llvm/include/llvm/IR/Type.h head/contrib/llvm/include/llvm/IR/TypeFinder.h head/contrib/llvm/include/llvm/IR/Use.h head/contrib/llvm/include/llvm/IR/UseListOrder.h head/contrib/llvm/include/llvm/IR/User.h head/contrib/llvm/include/llvm/IR/Value.def head/contrib/llvm/include/llvm/IR/Value.h head/contrib/llvm/include/llvm/IR/ValueHandle.h head/contrib/llvm/include/llvm/IR/ValueMap.h head/contrib/llvm/include/llvm/IR/ValueSymbolTable.h head/contrib/llvm/include/llvm/IR/Verifier.h head/contrib/llvm/include/llvm/InitializePasses.h head/contrib/llvm/include/llvm/LTO/Caching.h head/contrib/llvm/include/llvm/LTO/Config.h head/contrib/llvm/include/llvm/LTO/LTO.h head/contrib/llvm/include/llvm/LTO/LTOBackend.h head/contrib/llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h head/contrib/llvm/include/llvm/LTO/legacy/LTOModule.h head/contrib/llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h head/contrib/llvm/include/llvm/LinkAllIR.h head/contrib/llvm/include/llvm/LinkAllPasses.h head/contrib/llvm/include/llvm/Linker/IRMover.h head/contrib/llvm/include/llvm/Linker/Linker.h head/contrib/llvm/include/llvm/MC/ConstantPools.h head/contrib/llvm/include/llvm/MC/LaneBitmask.h head/contrib/llvm/include/llvm/MC/MCAsmBackend.h head/contrib/llvm/include/llvm/MC/MCAsmInfo.h head/contrib/llvm/include/llvm/MC/MCAsmInfoCOFF.h head/contrib/llvm/include/llvm/MC/MCAsmInfoDarwin.h head/contrib/llvm/include/llvm/MC/MCAsmInfoELF.h head/contrib/llvm/include/llvm/MC/MCAssembler.h head/contrib/llvm/include/llvm/MC/MCCodeEmitter.h head/contrib/llvm/include/llvm/MC/MCCodeView.h head/contrib/llvm/include/llvm/MC/MCContext.h head/contrib/llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h head/contrib/llvm/include/llvm/MC/MCDisassembler/MCRelocationInfo.h head/contrib/llvm/include/llvm/MC/MCDisassembler/MCSymbolizer.h head/contrib/llvm/include/llvm/MC/MCDwarf.h head/contrib/llvm/include/llvm/MC/MCELFObjectWriter.h head/contrib/llvm/include/llvm/MC/MCELFStreamer.h head/contrib/llvm/include/llvm/MC/MCExpr.h head/contrib/llvm/include/llvm/MC/MCFixup.h head/contrib/llvm/include/llvm/MC/MCFragment.h head/contrib/llvm/include/llvm/MC/MCInst.h head/contrib/llvm/include/llvm/MC/MCInstPrinter.h head/contrib/llvm/include/llvm/MC/MCInstrAnalysis.h head/contrib/llvm/include/llvm/MC/MCInstrDesc.h head/contrib/llvm/include/llvm/MC/MCInstrItineraries.h head/contrib/llvm/include/llvm/MC/MCLabel.h head/contrib/llvm/include/llvm/MC/MCLinkerOptimizationHint.h head/contrib/llvm/include/llvm/MC/MCMachObjectWriter.h head/contrib/llvm/include/llvm/MC/MCObjectFileInfo.h head/contrib/llvm/include/llvm/MC/MCObjectStreamer.h head/contrib/llvm/include/llvm/MC/MCObjectWriter.h head/contrib/llvm/include/llvm/MC/MCParser/AsmCond.h head/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h head/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h head/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h head/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h head/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserUtils.h head/contrib/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h head/contrib/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h head/contrib/llvm/include/llvm/MC/MCRegisterInfo.h head/contrib/llvm/include/llvm/MC/MCSection.h head/contrib/llvm/include/llvm/MC/MCSectionCOFF.h head/contrib/llvm/include/llvm/MC/MCSectionELF.h head/contrib/llvm/include/llvm/MC/MCSectionMachO.h head/contrib/llvm/include/llvm/MC/MCStreamer.h head/contrib/llvm/include/llvm/MC/MCSubtargetInfo.h head/contrib/llvm/include/llvm/MC/MCSymbol.h head/contrib/llvm/include/llvm/MC/MCSymbolCOFF.h head/contrib/llvm/include/llvm/MC/MCTargetOptions.h head/contrib/llvm/include/llvm/MC/MCValue.h head/contrib/llvm/include/llvm/MC/MCWinCOFFObjectWriter.h head/contrib/llvm/include/llvm/MC/MCWinCOFFStreamer.h head/contrib/llvm/include/llvm/MC/MachineLocation.h head/contrib/llvm/include/llvm/MC/StringTableBuilder.h head/contrib/llvm/include/llvm/MC/SubtargetFeature.h head/contrib/llvm/include/llvm/Object/Archive.h head/contrib/llvm/include/llvm/Object/ArchiveWriter.h head/contrib/llvm/include/llvm/Object/Binary.h head/contrib/llvm/include/llvm/Object/COFF.h head/contrib/llvm/include/llvm/Object/COFFImportFile.h head/contrib/llvm/include/llvm/Object/Decompressor.h head/contrib/llvm/include/llvm/Object/ELF.h head/contrib/llvm/include/llvm/Object/ELFObjectFile.h head/contrib/llvm/include/llvm/Object/ELFTypes.h head/contrib/llvm/include/llvm/Object/IRObjectFile.h head/contrib/llvm/include/llvm/Object/MachO.h head/contrib/llvm/include/llvm/Object/MachOUniversal.h head/contrib/llvm/include/llvm/Object/ModuleSymbolTable.h head/contrib/llvm/include/llvm/Object/ObjectFile.h head/contrib/llvm/include/llvm/Object/RelocVisitor.h head/contrib/llvm/include/llvm/Object/StackMapParser.h head/contrib/llvm/include/llvm/Object/SymbolicFile.h head/contrib/llvm/include/llvm/Object/Wasm.h head/contrib/llvm/include/llvm/ObjectYAML/COFFYAML.h head/contrib/llvm/include/llvm/ObjectYAML/DWARFYAML.h head/contrib/llvm/include/llvm/ObjectYAML/ELFYAML.h head/contrib/llvm/include/llvm/ObjectYAML/MachOYAML.h head/contrib/llvm/include/llvm/ObjectYAML/ObjectYAML.h head/contrib/llvm/include/llvm/ObjectYAML/YAML.h head/contrib/llvm/include/llvm/Option/Arg.h head/contrib/llvm/include/llvm/Option/ArgList.h head/contrib/llvm/include/llvm/Option/OptParser.td head/contrib/llvm/include/llvm/Option/OptSpecifier.h head/contrib/llvm/include/llvm/Option/OptTable.h head/contrib/llvm/include/llvm/Option/Option.h head/contrib/llvm/include/llvm/Pass.h head/contrib/llvm/include/llvm/PassInfo.h head/contrib/llvm/include/llvm/PassSupport.h head/contrib/llvm/include/llvm/Passes/PassBuilder.h head/contrib/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h head/contrib/llvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h head/contrib/llvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h head/contrib/llvm/include/llvm/ProfileData/InstrProf.h head/contrib/llvm/include/llvm/ProfileData/InstrProfData.inc head/contrib/llvm/include/llvm/ProfileData/InstrProfReader.h head/contrib/llvm/include/llvm/ProfileData/InstrProfWriter.h head/contrib/llvm/include/llvm/ProfileData/ProfileCommon.h head/contrib/llvm/include/llvm/ProfileData/SampleProf.h head/contrib/llvm/include/llvm/ProfileData/SampleProfReader.h head/contrib/llvm/include/llvm/ProfileData/SampleProfWriter.h head/contrib/llvm/include/llvm/Support/AArch64TargetParser.def head/contrib/llvm/include/llvm/Support/ARMBuildAttributes.h head/contrib/llvm/include/llvm/Support/ARMTargetParser.def head/contrib/llvm/include/llvm/Support/Allocator.h head/contrib/llvm/include/llvm/Support/ArrayRecycler.h head/contrib/llvm/include/llvm/Support/Atomic.h head/contrib/llvm/include/llvm/Support/BlockFrequency.h head/contrib/llvm/include/llvm/Support/BranchProbability.h head/contrib/llvm/include/llvm/Support/CBindingWrapping.h head/contrib/llvm/include/llvm/Support/CachePruning.h head/contrib/llvm/include/llvm/Support/Casting.h head/contrib/llvm/include/llvm/Support/Chrono.h head/contrib/llvm/include/llvm/Support/CommandLine.h head/contrib/llvm/include/llvm/Support/Compiler.h head/contrib/llvm/include/llvm/Support/Compression.h head/contrib/llvm/include/llvm/Support/ConvertUTF.h head/contrib/llvm/include/llvm/Support/DataExtractor.h head/contrib/llvm/include/llvm/Support/Debug.h head/contrib/llvm/include/llvm/Support/DynamicLibrary.h head/contrib/llvm/include/llvm/Support/Endian.h head/contrib/llvm/include/llvm/Support/Errno.h head/contrib/llvm/include/llvm/Support/Error.h head/contrib/llvm/include/llvm/Support/ErrorHandling.h head/contrib/llvm/include/llvm/Support/ErrorOr.h head/contrib/llvm/include/llvm/Support/FileSystem.h head/contrib/llvm/include/llvm/Support/Format.h head/contrib/llvm/include/llvm/Support/FormatAdapters.h head/contrib/llvm/include/llvm/Support/FormatCommon.h head/contrib/llvm/include/llvm/Support/FormatProviders.h head/contrib/llvm/include/llvm/Support/FormatVariadic.h head/contrib/llvm/include/llvm/Support/GCOV.h head/contrib/llvm/include/llvm/Support/GenericDomTree.h head/contrib/llvm/include/llvm/Support/GenericDomTreeConstruction.h head/contrib/llvm/include/llvm/Support/GraphWriter.h head/contrib/llvm/include/llvm/Support/Host.h head/contrib/llvm/include/llvm/Support/LEB128.h head/contrib/llvm/include/llvm/Support/MD5.h head/contrib/llvm/include/llvm/Support/ManagedStatic.h head/contrib/llvm/include/llvm/Support/MathExtras.h head/contrib/llvm/include/llvm/Support/MemoryBuffer.h head/contrib/llvm/include/llvm/Support/Path.h head/contrib/llvm/include/llvm/Support/PointerLikeTypeTraits.h head/contrib/llvm/include/llvm/Support/RWMutex.h head/contrib/llvm/include/llvm/Support/Recycler.h head/contrib/llvm/include/llvm/Support/Regex.h head/contrib/llvm/include/llvm/Support/SMLoc.h head/contrib/llvm/include/llvm/Support/ScopedPrinter.h head/contrib/llvm/include/llvm/Support/SourceMgr.h head/contrib/llvm/include/llvm/Support/StringPool.h head/contrib/llvm/include/llvm/Support/StringSaver.h head/contrib/llvm/include/llvm/Support/TargetParser.h head/contrib/llvm/include/llvm/Support/TargetRegistry.h head/contrib/llvm/include/llvm/Support/ThreadPool.h head/contrib/llvm/include/llvm/Support/Threading.h head/contrib/llvm/include/llvm/Support/Timer.h head/contrib/llvm/include/llvm/Support/TrailingObjects.h head/contrib/llvm/include/llvm/Support/UnicodeCharRanges.h head/contrib/llvm/include/llvm/Support/UniqueLock.h head/contrib/llvm/include/llvm/Support/YAMLParser.h head/contrib/llvm/include/llvm/Support/YAMLTraits.h head/contrib/llvm/include/llvm/Support/raw_sha1_ostream.h head/contrib/llvm/include/llvm/Support/thread.h head/contrib/llvm/include/llvm/Support/type_traits.h head/contrib/llvm/include/llvm/TableGen/Main.h head/contrib/llvm/include/llvm/TableGen/Record.h head/contrib/llvm/include/llvm/TableGen/SetTheory.h head/contrib/llvm/include/llvm/TableGen/StringMatcher.h head/contrib/llvm/include/llvm/TableGen/StringToOffsetTable.h head/contrib/llvm/include/llvm/Target/GenericOpcodes.td head/contrib/llvm/include/llvm/Target/Target.td head/contrib/llvm/include/llvm/Target/TargetCallingConv.h head/contrib/llvm/include/llvm/Target/TargetInstrInfo.h head/contrib/llvm/include/llvm/Target/TargetLowering.h head/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h head/contrib/llvm/include/llvm/Target/TargetMachine.h head/contrib/llvm/include/llvm/Target/TargetOpcodes.def head/contrib/llvm/include/llvm/Target/TargetOptions.h head/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h head/contrib/llvm/include/llvm/Target/TargetSchedule.td head/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td head/contrib/llvm/include/llvm/Target/TargetSubtargetInfo.h head/contrib/llvm/include/llvm/Transforms/IPO.h head/contrib/llvm/include/llvm/Transforms/IPO/FunctionAttrs.h head/contrib/llvm/include/llvm/Transforms/IPO/FunctionImport.h head/contrib/llvm/include/llvm/Transforms/IPO/GlobalDCE.h head/contrib/llvm/include/llvm/Transforms/IPO/LowerTypeTests.h head/contrib/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h head/contrib/llvm/include/llvm/Transforms/InstrProfiling.h head/contrib/llvm/include/llvm/Transforms/Instrumentation.h head/contrib/llvm/include/llvm/Transforms/PGOInstrumentation.h head/contrib/llvm/include/llvm/Transforms/SampleProfile.h head/contrib/llvm/include/llvm/Transforms/Scalar.h head/contrib/llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h head/contrib/llvm/include/llvm/Transforms/Scalar/Float2Int.h head/contrib/llvm/include/llvm/Transforms/Scalar/GVN.h head/contrib/llvm/include/llvm/Transforms/Scalar/GVNExpression.h head/contrib/llvm/include/llvm/Transforms/Scalar/JumpThreading.h head/contrib/llvm/include/llvm/Transforms/Scalar/LoopDataPrefetch.h head/contrib/llvm/include/llvm/Transforms/Scalar/LoopDeletion.h head/contrib/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h head/contrib/llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h head/contrib/llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h head/contrib/llvm/include/llvm/Transforms/Scalar/NaryReassociate.h head/contrib/llvm/include/llvm/Transforms/Scalar/Reassociate.h head/contrib/llvm/include/llvm/Transforms/Scalar/SROA.h head/contrib/llvm/include/llvm/Transforms/Scalar/SimplifyCFG.h head/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h head/contrib/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h head/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h head/contrib/llvm/include/llvm/Transforms/Utils/CodeExtractor.h head/contrib/llvm/include/llvm/Transforms/Utils/EscapeEnumerator.h head/contrib/llvm/include/llvm/Transforms/Utils/FunctionComparator.h head/contrib/llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h head/contrib/llvm/include/llvm/Transforms/Utils/GlobalStatus.h head/contrib/llvm/include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h head/contrib/llvm/include/llvm/Transforms/Utils/Local.h head/contrib/llvm/include/llvm/Transforms/Utils/LoopUtils.h head/contrib/llvm/include/llvm/Transforms/Utils/LoopVersioning.h head/contrib/llvm/include/llvm/Transforms/Utils/Mem2Reg.h head/contrib/llvm/include/llvm/Transforms/Utils/ModuleUtils.h head/contrib/llvm/include/llvm/Transforms/Utils/NameAnonGlobals.h head/contrib/llvm/include/llvm/Transforms/Utils/PromoteMemToReg.h head/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h head/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h head/contrib/llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h head/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h head/contrib/llvm/include/llvm/Transforms/Utils/SymbolRewriter.h head/contrib/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h head/contrib/llvm/include/llvm/Transforms/Utils/UnrollLoop.h head/contrib/llvm/include/llvm/Transforms/Utils/ValueMapper.h head/contrib/llvm/include/llvm/Transforms/Vectorize.h head/contrib/llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h head/contrib/llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h head/contrib/llvm/include/llvm/XRay/XRayRecord.h head/contrib/llvm/include/llvm/XRay/YAMLXRayRecord.h head/contrib/llvm/include/llvm/module.modulemap head/contrib/llvm/lib/Analysis/AliasAnalysis.cpp head/contrib/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp head/contrib/llvm/lib/Analysis/AliasSetTracker.cpp head/contrib/llvm/lib/Analysis/Analysis.cpp head/contrib/llvm/lib/Analysis/AssumptionCache.cpp head/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp head/contrib/llvm/lib/Analysis/BlockFrequencyInfo.cpp head/contrib/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp head/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp head/contrib/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp head/contrib/llvm/lib/Analysis/CFLGraph.h head/contrib/llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp head/contrib/llvm/lib/Analysis/CGSCCPassManager.cpp head/contrib/llvm/lib/Analysis/CallGraph.cpp head/contrib/llvm/lib/Analysis/CallGraphSCCPass.cpp head/contrib/llvm/lib/Analysis/CallPrinter.cpp head/contrib/llvm/lib/Analysis/CaptureTracking.cpp head/contrib/llvm/lib/Analysis/CodeMetrics.cpp head/contrib/llvm/lib/Analysis/ConstantFolding.cpp head/contrib/llvm/lib/Analysis/CostModel.cpp head/contrib/llvm/lib/Analysis/DemandedBits.cpp head/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp head/contrib/llvm/lib/Analysis/DivergenceAnalysis.cpp head/contrib/llvm/lib/Analysis/DomPrinter.cpp head/contrib/llvm/lib/Analysis/DominanceFrontier.cpp head/contrib/llvm/lib/Analysis/EHPersonalities.cpp head/contrib/llvm/lib/Analysis/GlobalsModRef.cpp head/contrib/llvm/lib/Analysis/IVUsers.cpp head/contrib/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp head/contrib/llvm/lib/Analysis/InlineCost.cpp head/contrib/llvm/lib/Analysis/InstCount.cpp head/contrib/llvm/lib/Analysis/InstructionSimplify.cpp head/contrib/llvm/lib/Analysis/IteratedDominanceFrontier.cpp head/contrib/llvm/lib/Analysis/LazyBlockFrequencyInfo.cpp head/contrib/llvm/lib/Analysis/LazyBranchProbabilityInfo.cpp head/contrib/llvm/lib/Analysis/LazyCallGraph.cpp head/contrib/llvm/lib/Analysis/LazyValueInfo.cpp head/contrib/llvm/lib/Analysis/Lint.cpp head/contrib/llvm/lib/Analysis/Loads.cpp head/contrib/llvm/lib/Analysis/LoopAccessAnalysis.cpp head/contrib/llvm/lib/Analysis/LoopAnalysisManager.cpp head/contrib/llvm/lib/Analysis/LoopInfo.cpp head/contrib/llvm/lib/Analysis/LoopPass.cpp head/contrib/llvm/lib/Analysis/MemDepPrinter.cpp head/contrib/llvm/lib/Analysis/MemDerefPrinter.cpp head/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp head/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp head/contrib/llvm/lib/Analysis/MemoryLocation.cpp head/contrib/llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp head/contrib/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp head/contrib/llvm/lib/Analysis/ObjCARCInstKind.cpp head/contrib/llvm/lib/Analysis/OptimizationDiagnosticInfo.cpp head/contrib/llvm/lib/Analysis/OrderedBasicBlock.cpp head/contrib/llvm/lib/Analysis/PHITransAddr.cpp head/contrib/llvm/lib/Analysis/PostDominators.cpp head/contrib/llvm/lib/Analysis/ProfileSummaryInfo.cpp head/contrib/llvm/lib/Analysis/RegionInfo.cpp head/contrib/llvm/lib/Analysis/RegionPass.cpp head/contrib/llvm/lib/Analysis/RegionPrinter.cpp head/contrib/llvm/lib/Analysis/ScalarEvolution.cpp head/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp head/contrib/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp head/contrib/llvm/lib/Analysis/SparsePropagation.cpp head/contrib/llvm/lib/Analysis/TargetLibraryInfo.cpp head/contrib/llvm/lib/Analysis/TargetTransformInfo.cpp head/contrib/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp head/contrib/llvm/lib/Analysis/TypeMetadataUtils.cpp head/contrib/llvm/lib/Analysis/ValueTracking.cpp head/contrib/llvm/lib/Analysis/VectorUtils.cpp head/contrib/llvm/lib/AsmParser/LLLexer.cpp head/contrib/llvm/lib/AsmParser/LLParser.cpp head/contrib/llvm/lib/AsmParser/LLParser.h head/contrib/llvm/lib/AsmParser/LLToken.h head/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp head/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp head/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h head/contrib/llvm/lib/Bitcode/Reader/ValueList.cpp head/contrib/llvm/lib/Bitcode/Reader/ValueList.h head/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp head/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp head/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h head/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp head/contrib/llvm/lib/CodeGen/Analysis.cpp head/contrib/llvm/lib/CodeGen/AntiDepBreaker.h head/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h head/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHash.h head/contrib/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.h head/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h head/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocStream.h head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.h head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h head/contrib/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp head/contrib/llvm/lib/CodeGen/AsmPrinter/WinException.cpp head/contrib/llvm/lib/CodeGen/AtomicExpandPass.cpp head/contrib/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp head/contrib/llvm/lib/CodeGen/BranchFolding.cpp head/contrib/llvm/lib/CodeGen/BranchFolding.h head/contrib/llvm/lib/CodeGen/BranchRelaxation.cpp head/contrib/llvm/lib/CodeGen/BuiltinGCs.cpp head/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp head/contrib/llvm/lib/CodeGen/CallingConvLower.cpp head/contrib/llvm/lib/CodeGen/CodeGen.cpp head/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp head/contrib/llvm/lib/CodeGen/CountingFunctionInserter.cpp head/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp head/contrib/llvm/lib/CodeGen/DFAPacketizer.cpp head/contrib/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp head/contrib/llvm/lib/CodeGen/DetectDeadLanes.cpp head/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp head/contrib/llvm/lib/CodeGen/EarlyIfConversion.cpp head/contrib/llvm/lib/CodeGen/ExecutionDepsFix.cpp head/contrib/llvm/lib/CodeGen/ExpandISelPseudos.cpp head/contrib/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp head/contrib/llvm/lib/CodeGen/FaultMaps.cpp head/contrib/llvm/lib/CodeGen/FuncletLayout.cpp head/contrib/llvm/lib/CodeGen/GCMetadata.cpp head/contrib/llvm/lib/CodeGen/GCMetadataPrinter.cpp head/contrib/llvm/lib/CodeGen/GCStrategy.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/Legalizer.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/RegisterBank.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp head/contrib/llvm/lib/CodeGen/GlobalISel/Utils.cpp head/contrib/llvm/lib/CodeGen/GlobalMerge.cpp head/contrib/llvm/lib/CodeGen/IfConversion.cpp head/contrib/llvm/lib/CodeGen/ImplicitNullChecks.cpp head/contrib/llvm/lib/CodeGen/InlineSpiller.cpp head/contrib/llvm/lib/CodeGen/InterleavedAccessPass.cpp head/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp head/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp head/contrib/llvm/lib/CodeGen/LexicalScopes.cpp head/contrib/llvm/lib/CodeGen/LiveDebugValues.cpp head/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp head/contrib/llvm/lib/CodeGen/LiveDebugVariables.h head/contrib/llvm/lib/CodeGen/LiveInterval.cpp head/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp head/contrib/llvm/lib/CodeGen/LiveIntervalUnion.cpp head/contrib/llvm/lib/CodeGen/LivePhysRegs.cpp head/contrib/llvm/lib/CodeGen/LiveRangeCalc.cpp head/contrib/llvm/lib/CodeGen/LiveRangeCalc.h head/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp head/contrib/llvm/lib/CodeGen/LiveRegMatrix.cpp head/contrib/llvm/lib/CodeGen/LiveStackAnalysis.cpp head/contrib/llvm/lib/CodeGen/LiveVariables.cpp head/contrib/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp head/contrib/llvm/lib/CodeGen/LowLevelType.cpp head/contrib/llvm/lib/CodeGen/LowerEmuTLS.cpp head/contrib/llvm/lib/CodeGen/MIRParser/MILexer.cpp head/contrib/llvm/lib/CodeGen/MIRParser/MILexer.h head/contrib/llvm/lib/CodeGen/MIRParser/MIParser.cpp head/contrib/llvm/lib/CodeGen/MIRParser/MIParser.h head/contrib/llvm/lib/CodeGen/MIRParser/MIRParser.cpp head/contrib/llvm/lib/CodeGen/MIRPrinter.cpp head/contrib/llvm/lib/CodeGen/MIRPrintingPass.cpp head/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp head/contrib/llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp head/contrib/llvm/lib/CodeGen/MachineBlockPlacement.cpp head/contrib/llvm/lib/CodeGen/MachineCSE.cpp head/contrib/llvm/lib/CodeGen/MachineCombiner.cpp head/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp head/contrib/llvm/lib/CodeGen/MachineDominanceFrontier.cpp head/contrib/llvm/lib/CodeGen/MachineDominators.cpp head/contrib/llvm/lib/CodeGen/MachineFunction.cpp head/contrib/llvm/lib/CodeGen/MachineFunctionPass.cpp head/contrib/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp head/contrib/llvm/lib/CodeGen/MachineInstr.cpp head/contrib/llvm/lib/CodeGen/MachineLICM.cpp head/contrib/llvm/lib/CodeGen/MachineLoopInfo.cpp head/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp head/contrib/llvm/lib/CodeGen/MachinePipeliner.cpp head/contrib/llvm/lib/CodeGen/MachinePostDominators.cpp head/contrib/llvm/lib/CodeGen/MachineRegionInfo.cpp head/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp head/contrib/llvm/lib/CodeGen/MachineScheduler.cpp head/contrib/llvm/lib/CodeGen/MachineSink.cpp head/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp head/contrib/llvm/lib/CodeGen/MachineVerifier.cpp head/contrib/llvm/lib/CodeGen/OptimizePHIs.cpp head/contrib/llvm/lib/CodeGen/PHIElimination.cpp head/contrib/llvm/lib/CodeGen/PatchableFunction.cpp head/contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp head/contrib/llvm/lib/CodeGen/PostRAHazardRecognizer.cpp head/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp head/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp head/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp head/contrib/llvm/lib/CodeGen/PseudoSourceValue.cpp head/contrib/llvm/lib/CodeGen/RegAllocBase.cpp head/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp head/contrib/llvm/lib/CodeGen/RegAllocFast.cpp head/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp head/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp head/contrib/llvm/lib/CodeGen/RegUsageInfoCollector.cpp head/contrib/llvm/lib/CodeGen/RegisterClassInfo.cpp head/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp head/contrib/llvm/lib/CodeGen/RegisterPressure.cpp head/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp head/contrib/llvm/lib/CodeGen/RegisterUsageInfo.cpp head/contrib/llvm/lib/CodeGen/RenameIndependentSubregs.cpp head/contrib/llvm/lib/CodeGen/ResetMachineFunctionPass.cpp head/contrib/llvm/lib/CodeGen/SafeStack.cpp head/contrib/llvm/lib/CodeGen/SafeStackColoring.cpp head/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp head/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp head/contrib/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp head/contrib/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp head/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp head/contrib/llvm/lib/CodeGen/ShadowStackGCLowering.cpp head/contrib/llvm/lib/CodeGen/ShrinkWrap.cpp head/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp head/contrib/llvm/lib/CodeGen/SlotIndexes.cpp head/contrib/llvm/lib/CodeGen/SpillPlacement.cpp head/contrib/llvm/lib/CodeGen/SplitKit.cpp head/contrib/llvm/lib/CodeGen/SplitKit.h head/contrib/llvm/lib/CodeGen/StackColoring.cpp head/contrib/llvm/lib/CodeGen/StackMaps.cpp head/contrib/llvm/lib/CodeGen/StackProtector.cpp head/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp head/contrib/llvm/lib/CodeGen/TailDuplication.cpp head/contrib/llvm/lib/CodeGen/TailDuplicator.cpp head/contrib/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp head/contrib/llvm/lib/CodeGen/TargetInstrInfo.cpp head/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp head/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp head/contrib/llvm/lib/CodeGen/TargetOptionsImpl.cpp head/contrib/llvm/lib/CodeGen/TargetPassConfig.cpp head/contrib/llvm/lib/CodeGen/TargetRegisterInfo.cpp head/contrib/llvm/lib/CodeGen/TargetSchedule.cpp head/contrib/llvm/lib/CodeGen/TargetSubtargetInfo.cpp head/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp head/contrib/llvm/lib/CodeGen/UnreachableBlockElim.cpp head/contrib/llvm/lib/CodeGen/VirtRegMap.cpp head/contrib/llvm/lib/CodeGen/WinEHPrepare.cpp head/contrib/llvm/lib/CodeGen/XRayInstrumentation.cpp (contents, props changed) head/contrib/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp head/contrib/llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp head/contrib/llvm/lib/DebugInfo/CodeView/CodeViewError.cpp head/contrib/llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp head/contrib/llvm/lib/DebugInfo/CodeView/EnumTables.cpp head/contrib/llvm/lib/DebugInfo/CodeView/RecordSerialization.cpp head/contrib/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp head/contrib/llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp head/contrib/llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp head/contrib/llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp head/contrib/llvm/lib/DebugInfo/CodeView/TypeSerializer.cpp head/contrib/llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp head/contrib/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp head/contrib/llvm/lib/DebugInfo/DWARF/SyntaxHighlighting.cpp head/contrib/llvm/lib/DebugInfo/DWARF/SyntaxHighlighting.h head/contrib/llvm/lib/DebugInfo/MSF/MSFBuilder.cpp head/contrib/llvm/lib/DebugInfo/MSF/MSFCommon.cpp head/contrib/llvm/lib/DebugInfo/MSF/MappedBlockStream.cpp head/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumDebugStreams.cpp head/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumLineNumbers.cpp head/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumSourceFiles.cpp head/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumSymbols.cpp head/contrib/llvm/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp head/contrib/llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp head/contrib/llvm/lib/DebugInfo/PDB/GenericError.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDB.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBContext.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBExtras.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbol.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolBlock.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolCustom.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolData.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolExe.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolFunc.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolLabel.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolThunk.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp head/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp head/contrib/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp head/contrib/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp head/contrib/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.h head/contrib/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp head/contrib/llvm/lib/Demangle/ItaniumDemangle.cpp head/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp head/contrib/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.c head/contrib/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp head/contrib/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp head/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp head/contrib/llvm/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp head/contrib/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp head/contrib/llvm/lib/ExecutionEngine/Orc/OrcCBindings.cpp head/contrib/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h head/contrib/llvm/lib/ExecutionEngine/Orc/OrcError.cpp head/contrib/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp head/contrib/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFI386.h head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFThumb.h head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.cpp head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h head/contrib/llvm/lib/ExecutionEngine/SectionMemoryManager.cpp head/contrib/llvm/lib/IR/AsmWriter.cpp head/contrib/llvm/lib/IR/AttributeImpl.h head/contrib/llvm/lib/IR/Attributes.cpp head/contrib/llvm/lib/IR/AutoUpgrade.cpp head/contrib/llvm/lib/IR/BasicBlock.cpp head/contrib/llvm/lib/IR/Comdat.cpp head/contrib/llvm/lib/IR/ConstantFold.cpp head/contrib/llvm/lib/IR/ConstantRange.cpp head/contrib/llvm/lib/IR/Constants.cpp head/contrib/llvm/lib/IR/ConstantsContext.h head/contrib/llvm/lib/IR/Core.cpp head/contrib/llvm/lib/IR/DIBuilder.cpp head/contrib/llvm/lib/IR/DataLayout.cpp head/contrib/llvm/lib/IR/DebugInfo.cpp head/contrib/llvm/lib/IR/DebugInfoMetadata.cpp head/contrib/llvm/lib/IR/DebugLoc.cpp head/contrib/llvm/lib/IR/DiagnosticInfo.cpp head/contrib/llvm/lib/IR/DiagnosticPrinter.cpp head/contrib/llvm/lib/IR/Dominators.cpp head/contrib/llvm/lib/IR/Function.cpp head/contrib/llvm/lib/IR/GCOV.cpp head/contrib/llvm/lib/IR/Globals.cpp head/contrib/llvm/lib/IR/IRBuilder.cpp head/contrib/llvm/lib/IR/IRPrintingPasses.cpp head/contrib/llvm/lib/IR/InlineAsm.cpp head/contrib/llvm/lib/IR/Instruction.cpp head/contrib/llvm/lib/IR/Instructions.cpp head/contrib/llvm/lib/IR/IntrinsicInst.cpp head/contrib/llvm/lib/IR/LLVMContext.cpp head/contrib/llvm/lib/IR/LLVMContextImpl.cpp head/contrib/llvm/lib/IR/LLVMContextImpl.h head/contrib/llvm/lib/IR/LegacyPassManager.cpp head/contrib/llvm/lib/IR/MDBuilder.cpp head/contrib/llvm/lib/IR/Mangler.cpp head/contrib/llvm/lib/IR/Metadata.cpp head/contrib/llvm/lib/IR/Module.cpp head/contrib/llvm/lib/IR/ModuleSummaryIndex.cpp head/contrib/llvm/lib/IR/Operator.cpp head/contrib/llvm/lib/IR/OptBisect.cpp head/contrib/llvm/lib/IR/Pass.cpp head/contrib/llvm/lib/IR/PassManager.cpp head/contrib/llvm/lib/IR/PassRegistry.cpp head/contrib/llvm/lib/IR/Statepoint.cpp head/contrib/llvm/lib/IR/Type.cpp head/contrib/llvm/lib/IR/TypeFinder.cpp head/contrib/llvm/lib/IR/User.cpp head/contrib/llvm/lib/IR/Value.cpp head/contrib/llvm/lib/IR/ValueSymbolTable.cpp head/contrib/llvm/lib/IR/ValueTypes.cpp head/contrib/llvm/lib/IR/Verifier.cpp head/contrib/llvm/lib/LTO/Caching.cpp head/contrib/llvm/lib/LTO/LTO.cpp head/contrib/llvm/lib/LTO/LTOBackend.cpp head/contrib/llvm/lib/LTO/LTOCodeGenerator.cpp head/contrib/llvm/lib/LTO/LTOModule.cpp head/contrib/llvm/lib/LTO/ThinLTOCodeGenerator.cpp head/contrib/llvm/lib/LTO/UpdateCompilerUsed.cpp head/contrib/llvm/lib/Linker/IRMover.cpp head/contrib/llvm/lib/Linker/LinkModules.cpp head/contrib/llvm/lib/MC/ConstantPools.cpp head/contrib/llvm/lib/MC/ELFObjectWriter.cpp head/contrib/llvm/lib/MC/MCAsmBackend.cpp head/contrib/llvm/lib/MC/MCAsmInfo.cpp head/contrib/llvm/lib/MC/MCAsmInfoCOFF.cpp head/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp head/contrib/llvm/lib/MC/MCAsmInfoELF.cpp head/contrib/llvm/lib/MC/MCAsmStreamer.cpp head/contrib/llvm/lib/MC/MCAssembler.cpp head/contrib/llvm/lib/MC/MCCodeEmitter.cpp head/contrib/llvm/lib/MC/MCCodeView.cpp head/contrib/llvm/lib/MC/MCContext.cpp head/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp head/contrib/llvm/lib/MC/MCDisassembler/MCDisassembler.cpp head/contrib/llvm/lib/MC/MCDisassembler/MCRelocationInfo.cpp head/contrib/llvm/lib/MC/MCDisassembler/MCSymbolizer.cpp head/contrib/llvm/lib/MC/MCDwarf.cpp head/contrib/llvm/lib/MC/MCELFObjectTargetWriter.cpp head/contrib/llvm/lib/MC/MCELFStreamer.cpp head/contrib/llvm/lib/MC/MCExpr.cpp head/contrib/llvm/lib/MC/MCFragment.cpp head/contrib/llvm/lib/MC/MCInst.cpp head/contrib/llvm/lib/MC/MCInstPrinter.cpp head/contrib/llvm/lib/MC/MCInstrAnalysis.cpp head/contrib/llvm/lib/MC/MCLabel.cpp head/contrib/llvm/lib/MC/MCLinkerOptimizationHint.cpp head/contrib/llvm/lib/MC/MCMachOStreamer.cpp head/contrib/llvm/lib/MC/MCMachObjectTargetWriter.cpp head/contrib/llvm/lib/MC/MCNullStreamer.cpp head/contrib/llvm/lib/MC/MCObjectFileInfo.cpp head/contrib/llvm/lib/MC/MCObjectStreamer.cpp head/contrib/llvm/lib/MC/MCObjectWriter.cpp head/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp head/contrib/llvm/lib/MC/MCParser/AsmParser.cpp head/contrib/llvm/lib/MC/MCParser/COFFAsmParser.cpp head/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp head/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp head/contrib/llvm/lib/MC/MCParser/MCAsmLexer.cpp head/contrib/llvm/lib/MC/MCParser/MCAsmParser.cpp head/contrib/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp head/contrib/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp head/contrib/llvm/lib/MC/MCRegisterInfo.cpp head/contrib/llvm/lib/MC/MCSection.cpp head/contrib/llvm/lib/MC/MCSectionCOFF.cpp head/contrib/llvm/lib/MC/MCSectionELF.cpp head/contrib/llvm/lib/MC/MCSectionMachO.cpp head/contrib/llvm/lib/MC/MCStreamer.cpp head/contrib/llvm/lib/MC/MCSubtargetInfo.cpp head/contrib/llvm/lib/MC/MCSymbol.cpp head/contrib/llvm/lib/MC/MCSymbolELF.cpp head/contrib/llvm/lib/MC/MCTargetOptions.cpp head/contrib/llvm/lib/MC/MCValue.cpp head/contrib/llvm/lib/MC/MCWinEH.cpp head/contrib/llvm/lib/MC/MachObjectWriter.cpp head/contrib/llvm/lib/MC/StringTableBuilder.cpp head/contrib/llvm/lib/MC/SubtargetFeature.cpp head/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp head/contrib/llvm/lib/Object/Archive.cpp head/contrib/llvm/lib/Object/ArchiveWriter.cpp head/contrib/llvm/lib/Object/Binary.cpp head/contrib/llvm/lib/Object/COFFObjectFile.cpp head/contrib/llvm/lib/Object/Decompressor.cpp head/contrib/llvm/lib/Object/ELF.cpp head/contrib/llvm/lib/Object/ELFObjectFile.cpp head/contrib/llvm/lib/Object/IRObjectFile.cpp head/contrib/llvm/lib/Object/MachOObjectFile.cpp head/contrib/llvm/lib/Object/ModuleSymbolTable.cpp head/contrib/llvm/lib/Object/Object.cpp head/contrib/llvm/lib/Object/ObjectFile.cpp head/contrib/llvm/lib/Object/RecordStreamer.cpp head/contrib/llvm/lib/Object/RecordStreamer.h head/contrib/llvm/lib/Object/SymbolicFile.cpp head/contrib/llvm/lib/Object/WasmObjectFile.cpp head/contrib/llvm/lib/ObjectYAML/COFFYAML.cpp head/contrib/llvm/lib/ObjectYAML/DWARFYAML.cpp head/contrib/llvm/lib/ObjectYAML/ELFYAML.cpp head/contrib/llvm/lib/ObjectYAML/MachOYAML.cpp head/contrib/llvm/lib/ObjectYAML/ObjectYAML.cpp head/contrib/llvm/lib/ObjectYAML/YAML.cpp head/contrib/llvm/lib/Option/Arg.cpp head/contrib/llvm/lib/Option/ArgList.cpp head/contrib/llvm/lib/Option/OptTable.cpp head/contrib/llvm/lib/Option/Option.cpp head/contrib/llvm/lib/Passes/PassBuilder.cpp head/contrib/llvm/lib/Passes/PassRegistry.def head/contrib/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp head/contrib/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp head/contrib/llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp head/contrib/llvm/lib/ProfileData/InstrProf.cpp head/contrib/llvm/lib/ProfileData/InstrProfReader.cpp head/contrib/llvm/lib/ProfileData/InstrProfWriter.cpp head/contrib/llvm/lib/ProfileData/SampleProf.cpp head/contrib/llvm/lib/ProfileData/SampleProfReader.cpp head/contrib/llvm/lib/ProfileData/SampleProfWriter.cpp head/contrib/llvm/lib/Support/APFloat.cpp head/contrib/llvm/lib/Support/APInt.cpp head/contrib/llvm/lib/Support/ARMBuildAttrs.cpp head/contrib/llvm/lib/Support/Atomic.cpp head/contrib/llvm/lib/Support/BranchProbability.cpp head/contrib/llvm/lib/Support/CachePruning.cpp head/contrib/llvm/lib/Support/Chrono.cpp head/contrib/llvm/lib/Support/CommandLine.cpp head/contrib/llvm/lib/Support/Compression.cpp head/contrib/llvm/lib/Support/ConvertUTF.cpp head/contrib/llvm/lib/Support/ConvertUTFWrapper.cpp head/contrib/llvm/lib/Support/CrashRecoveryContext.cpp head/contrib/llvm/lib/Support/DataExtractor.cpp head/contrib/llvm/lib/Support/DynamicLibrary.cpp head/contrib/llvm/lib/Support/Errno.cpp head/contrib/llvm/lib/Support/Error.cpp head/contrib/llvm/lib/Support/ErrorHandling.cpp head/contrib/llvm/lib/Support/FileOutputBuffer.cpp head/contrib/llvm/lib/Support/FoldingSet.cpp head/contrib/llvm/lib/Support/FormattedStream.cpp head/contrib/llvm/lib/Support/GraphWriter.cpp head/contrib/llvm/lib/Support/Host.cpp head/contrib/llvm/lib/Support/LockFileManager.cpp head/contrib/llvm/lib/Support/MD5.cpp head/contrib/llvm/lib/Support/ManagedStatic.cpp head/contrib/llvm/lib/Support/MemoryBuffer.cpp head/contrib/llvm/lib/Support/Mutex.cpp head/contrib/llvm/lib/Support/Path.cpp head/contrib/llvm/lib/Support/PrettyStackTrace.cpp head/contrib/llvm/lib/Support/Process.cpp head/contrib/llvm/lib/Support/RWMutex.cpp head/contrib/llvm/lib/Support/Regex.cpp head/contrib/llvm/lib/Support/SHA1.cpp head/contrib/llvm/lib/Support/ScopedPrinter.cpp head/contrib/llvm/lib/Support/Signals.cpp head/contrib/llvm/lib/Support/SourceMgr.cpp head/contrib/llvm/lib/Support/SpecialCaseList.cpp head/contrib/llvm/lib/Support/Statistic.cpp head/contrib/llvm/lib/Support/StringExtras.cpp head/contrib/llvm/lib/Support/StringRef.cpp head/contrib/llvm/lib/Support/TargetParser.cpp head/contrib/llvm/lib/Support/TargetRegistry.cpp head/contrib/llvm/lib/Support/ThreadLocal.cpp head/contrib/llvm/lib/Support/ThreadPool.cpp head/contrib/llvm/lib/Support/Threading.cpp head/contrib/llvm/lib/Support/Timer.cpp head/contrib/llvm/lib/Support/TrigramIndex.cpp head/contrib/llvm/lib/Support/Triple.cpp head/contrib/llvm/lib/Support/Twine.cpp head/contrib/llvm/lib/Support/Unix/Host.inc head/contrib/llvm/lib/Support/Unix/Memory.inc head/contrib/llvm/lib/Support/Unix/Path.inc head/contrib/llvm/lib/Support/Unix/Process.inc head/contrib/llvm/lib/Support/Unix/Program.inc head/contrib/llvm/lib/Support/Unix/Signals.inc head/contrib/llvm/lib/Support/Windows/DynamicLibrary.inc head/contrib/llvm/lib/Support/Windows/Host.inc head/contrib/llvm/lib/Support/Windows/Mutex.inc head/contrib/llvm/lib/Support/Windows/Path.inc head/contrib/llvm/lib/Support/Windows/Process.inc head/contrib/llvm/lib/Support/Windows/Program.inc head/contrib/llvm/lib/Support/Windows/RWMutex.inc head/contrib/llvm/lib/Support/Windows/Signals.inc head/contrib/llvm/lib/Support/Windows/ThreadLocal.inc head/contrib/llvm/lib/Support/Windows/WindowsSupport.h head/contrib/llvm/lib/Support/YAMLParser.cpp head/contrib/llvm/lib/Support/YAMLTraits.cpp head/contrib/llvm/lib/Support/raw_ostream.cpp head/contrib/llvm/lib/TableGen/Record.cpp head/contrib/llvm/lib/TableGen/SetTheory.cpp head/contrib/llvm/lib/TableGen/StringMatcher.cpp head/contrib/llvm/lib/TableGen/TGParser.cpp head/contrib/llvm/lib/TableGen/TGParser.h head/contrib/llvm/lib/Target/AArch64/AArch64.h head/contrib/llvm/lib/Target/AArch64/AArch64.td head/contrib/llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp head/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp head/contrib/llvm/lib/Target/AArch64/AArch64CallLowering.cpp head/contrib/llvm/lib/Target/AArch64/AArch64CallLowering.h head/contrib/llvm/lib/Target/AArch64/AArch64CallingConvention.td head/contrib/llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp head/contrib/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp head/contrib/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp head/contrib/llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp head/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp head/contrib/llvm/lib/Target/AArch64/AArch64FastISel.cpp head/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp head/contrib/llvm/lib/Target/AArch64/AArch64GenRegisterBankInfo.def head/contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp head/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp head/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.h head/contrib/llvm/lib/Target/AArch64/AArch64InstrAtomics.td head/contrib/llvm/lib/Target/AArch64/AArch64InstrFormats.td head/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp head/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.h head/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td head/contrib/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp head/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp head/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.h head/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp head/contrib/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp head/contrib/llvm/lib/Target/AArch64/AArch64MCInstLower.h head/contrib/llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp head/contrib/llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.h head/contrib/llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp head/contrib/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp head/contrib/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.h head/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp head/contrib/llvm/lib/Target/AArch64/AArch64SchedA53.td head/contrib/llvm/lib/Target/AArch64/AArch64SchedA57.td head/contrib/llvm/lib/Target/AArch64/AArch64SchedFalkor.td head/contrib/llvm/lib/Target/AArch64/AArch64SchedKryoDetails.td head/contrib/llvm/lib/Target/AArch64/AArch64SchedM1.td head/contrib/llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp head/contrib/llvm/lib/Target/AArch64/AArch64Subtarget.cpp head/contrib/llvm/lib/Target/AArch64/AArch64Subtarget.h head/contrib/llvm/lib/Target/AArch64/AArch64SystemOperands.td head/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp head/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.h head/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp head/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.h head/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp head/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h head/contrib/llvm/lib/Target/AArch64/AArch64VectorByElementOpt.cpp head/contrib/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp head/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp head/contrib/llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp head/contrib/llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64FixupKinds.h head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp head/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPU.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPU.td head/contrib/llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td head/contrib/llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUFrameLowering.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUFrameLowering.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td head/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstructions.td head/contrib/llvm/lib/Target/AMDGPU/AMDGPUIntrinsicInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUIntrinsics.td head/contrib/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUPTNote.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h head/contrib/llvm/lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp head/contrib/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp head/contrib/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp head/contrib/llvm/lib/Target/AMDGPU/BUFInstructions.td head/contrib/llvm/lib/Target/AMDGPU/DSInstructions.td head/contrib/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp head/contrib/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h head/contrib/llvm/lib/Target/AMDGPU/EvergreenInstructions.td head/contrib/llvm/lib/Target/AMDGPU/FLATInstructions.td head/contrib/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp head/contrib/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h head/contrib/llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp head/contrib/llvm/lib/Target/AMDGPU/GCNSchedStrategy.h head/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp head/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.h head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp head/contrib/llvm/lib/Target/AMDGPU/MIMGInstructions.td head/contrib/llvm/lib/Target/AMDGPU/Processors.td head/contrib/llvm/lib/Target/AMDGPU/R600ClauseMergePass.cpp head/contrib/llvm/lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp head/contrib/llvm/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp head/contrib/llvm/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp head/contrib/llvm/lib/Target/AMDGPU/R600FrameLowering.cpp head/contrib/llvm/lib/Target/AMDGPU/R600FrameLowering.h head/contrib/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp head/contrib/llvm/lib/Target/AMDGPU/R600ISelLowering.h head/contrib/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/R600InstrInfo.h head/contrib/llvm/lib/Target/AMDGPU/R600Instructions.td head/contrib/llvm/lib/Target/AMDGPU/R600Intrinsics.td head/contrib/llvm/lib/Target/AMDGPU/R600MachineScheduler.cpp head/contrib/llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp head/contrib/llvm/lib/Target/AMDGPU/R600Packetizer.cpp head/contrib/llvm/lib/Target/AMDGPU/R600RegisterInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/R600RegisterInfo.h head/contrib/llvm/lib/Target/AMDGPU/R600RegisterInfo.td head/contrib/llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp head/contrib/llvm/lib/Target/AMDGPU/SIDebuggerInsertNops.cpp head/contrib/llvm/lib/Target/AMDGPU/SIDefines.h head/contrib/llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp head/contrib/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp head/contrib/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp head/contrib/llvm/lib/Target/AMDGPU/SIFrameLowering.h head/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.cpp head/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.h head/contrib/llvm/lib/Target/AMDGPU/SIInsertSkips.cpp head/contrib/llvm/lib/Target/AMDGPU/SIInsertWaits.cpp head/contrib/llvm/lib/Target/AMDGPU/SIInstrFormats.td head/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.h head/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.td head/contrib/llvm/lib/Target/AMDGPU/SIInstructions.td head/contrib/llvm/lib/Target/AMDGPU/SIIntrinsics.td head/contrib/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp head/contrib/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp head/contrib/llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp head/contrib/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h head/contrib/llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp head/contrib/llvm/lib/Target/AMDGPU/SIMachineScheduler.h head/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.h head/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.td head/contrib/llvm/lib/Target/AMDGPU/SISchedule.td head/contrib/llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp head/contrib/llvm/lib/Target/AMDGPU/SMInstructions.td head/contrib/llvm/lib/Target/AMDGPU/SOPInstructions.td head/contrib/llvm/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp head/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.h head/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp head/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h head/contrib/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTInfo.h head/contrib/llvm/lib/Target/AMDGPU/VOP1Instructions.td head/contrib/llvm/lib/Target/AMDGPU/VOP2Instructions.td head/contrib/llvm/lib/Target/AMDGPU/VOP3Instructions.td head/contrib/llvm/lib/Target/AMDGPU/VOPCInstructions.td head/contrib/llvm/lib/Target/AMDGPU/VOPInstructions.td head/contrib/llvm/lib/Target/ARM/A15SDOptimizer.cpp head/contrib/llvm/lib/Target/ARM/ARM.h head/contrib/llvm/lib/Target/ARM/ARM.td head/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp head/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp head/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h head/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp head/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h head/contrib/llvm/lib/Target/ARM/ARMBasicBlockInfo.h head/contrib/llvm/lib/Target/ARM/ARMCallLowering.cpp head/contrib/llvm/lib/Target/ARM/ARMCallLowering.h head/contrib/llvm/lib/Target/ARM/ARMCallingConv.td head/contrib/llvm/lib/Target/ARM/ARMComputeBlockSize.cpp head/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp head/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.cpp head/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.h head/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp head/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp head/contrib/llvm/lib/Target/ARM/ARMFeatures.h head/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp head/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp head/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp head/contrib/llvm/lib/Target/ARM/ARMISelLowering.h head/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.h head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td head/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td head/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td head/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td head/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td head/contrib/llvm/lib/Target/ARM/ARMInstructionSelector.cpp head/contrib/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp head/contrib/llvm/lib/Target/ARM/ARMLegalizerInfo.h head/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp head/contrib/llvm/lib/Target/ARM/ARMMCInstLower.cpp head/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp head/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h head/contrib/llvm/lib/Target/ARM/ARMOptimizeBarriersPass.cpp head/contrib/llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp head/contrib/llvm/lib/Target/ARM/ARMRegisterBankInfo.h head/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td head/contrib/llvm/lib/Target/ARM/ARMSchedule.td head/contrib/llvm/lib/Target/ARM/ARMScheduleA9.td head/contrib/llvm/lib/Target/ARM/ARMScheduleR52.td head/contrib/llvm/lib/Target/ARM/ARMScheduleSwift.td head/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp head/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp head/contrib/llvm/lib/Target/ARM/ARMSubtarget.h head/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp head/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h head/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp head/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.h head/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp head/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.h head/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp head/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp head/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp head/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMFixupKinds.h head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp head/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp head/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.cpp head/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.h head/contrib/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp head/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp head/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.h head/contrib/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp head/contrib/llvm/lib/Target/ARM/ThumbRegisterInfo.cpp head/contrib/llvm/lib/Target/AVR/AVR.h head/contrib/llvm/lib/Target/AVR/AVRAsmPrinter.cpp head/contrib/llvm/lib/Target/AVR/AVRDevices.td head/contrib/llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp head/contrib/llvm/lib/Target/AVR/AVRFrameLowering.cpp head/contrib/llvm/lib/Target/AVR/AVRISelLowering.cpp head/contrib/llvm/lib/Target/AVR/AVRISelLowering.h head/contrib/llvm/lib/Target/AVR/AVRInstrInfo.cpp head/contrib/llvm/lib/Target/AVR/AVRInstrInfo.h head/contrib/llvm/lib/Target/AVR/AVRInstrInfo.td head/contrib/llvm/lib/Target/AVR/AVRInstrumentFunctions.cpp head/contrib/llvm/lib/Target/AVR/AVRMCInstLower.cpp head/contrib/llvm/lib/Target/AVR/AVRRegisterInfo.cpp head/contrib/llvm/lib/Target/AVR/AVRRegisterInfo.td head/contrib/llvm/lib/Target/AVR/AVRSubtarget.cpp head/contrib/llvm/lib/Target/AVR/AVRSubtarget.h head/contrib/llvm/lib/Target/AVR/AVRTargetMachine.cpp head/contrib/llvm/lib/Target/AVR/AVRTargetMachine.h head/contrib/llvm/lib/Target/AVR/AVRTargetObjectFile.cpp head/contrib/llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp head/contrib/llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp head/contrib/llvm/lib/Target/AVR/InstPrinter/AVRInstPrinter.cpp head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRELFStreamer.cpp head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.h head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp head/contrib/llvm/lib/Target/BPF/BPFAsmPrinter.cpp head/contrib/llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp head/contrib/llvm/lib/Target/BPF/BPFISelLowering.cpp head/contrib/llvm/lib/Target/BPF/BPFISelLowering.h head/contrib/llvm/lib/Target/BPF/BPFInstrInfo.cpp head/contrib/llvm/lib/Target/BPF/BPFInstrInfo.td head/contrib/llvm/lib/Target/BPF/BPFMCInstLower.cpp head/contrib/llvm/lib/Target/BPF/BPFMCInstLower.h head/contrib/llvm/lib/Target/BPF/BPFRegisterInfo.cpp head/contrib/llvm/lib/Target/BPF/BPFTargetMachine.cpp head/contrib/llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp head/contrib/llvm/lib/Target/BPF/InstPrinter/BPFInstPrinter.cpp head/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp head/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp head/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h head/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp head/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h head/contrib/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp head/contrib/llvm/lib/Target/Hexagon/BitTracker.cpp head/contrib/llvm/lib/Target/Hexagon/BitTracker.h head/contrib/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp head/contrib/llvm/lib/Target/Hexagon/Hexagon.td head/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonBitTracker.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonBlockRanges.h head/contrib/llvm/lib/Target/Hexagon/HexagonCFGOptimizer.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.h head/contrib/llvm/lib/Target/Hexagon/HexagonGenExtract.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonGenInsert.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonGenMux.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.h head/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormats.td head/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormatsV4.td head/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormatsV60.td head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.h head/contrib/llvm/lib/Target/Hexagon/HexagonIntrinsics.td head/contrib/llvm/lib/Target/Hexagon/HexagonIntrinsicsV60.td head/contrib/llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h head/contrib/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonOperands.td head/contrib/llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonPatterns.td head/contrib/llvm/lib/Target/Hexagon/HexagonPeephole.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.h head/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.td head/contrib/llvm/lib/Target/Hexagon/HexagonSchedule.td head/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV4.td head/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV55.td head/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV60.td head/contrib/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.h head/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.h head/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.h head/contrib/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h head/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp head/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonFixupKinds.h head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.h head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCompound.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.h head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.h head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCShuffler.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCShuffler.h head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp head/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h head/contrib/llvm/lib/Target/Hexagon/RDFCopy.cpp head/contrib/llvm/lib/Target/Hexagon/RDFCopy.h head/contrib/llvm/lib/Target/Hexagon/RDFDeadCode.cpp head/contrib/llvm/lib/Target/Hexagon/RDFGraph.cpp head/contrib/llvm/lib/Target/Hexagon/RDFGraph.h head/contrib/llvm/lib/Target/Hexagon/RDFLiveness.cpp head/contrib/llvm/lib/Target/Hexagon/RDFLiveness.h head/contrib/llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp head/contrib/llvm/lib/Target/Lanai/LanaiISelLowering.cpp head/contrib/llvm/lib/Target/Lanai/LanaiISelLowering.h head/contrib/llvm/lib/Target/Lanai/LanaiInstrInfo.cpp head/contrib/llvm/lib/Target/Lanai/LanaiInstrInfo.td head/contrib/llvm/lib/Target/Lanai/LanaiMCInstLower.cpp head/contrib/llvm/lib/Target/Lanai/LanaiRegisterInfo.cpp head/contrib/llvm/lib/Target/Lanai/LanaiRegisterInfo.h head/contrib/llvm/lib/Target/Lanai/LanaiTargetMachine.cpp head/contrib/llvm/lib/Target/Lanai/LanaiTargetMachine.h head/contrib/llvm/lib/Target/Lanai/LanaiTargetObjectFile.cpp head/contrib/llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp head/contrib/llvm/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp head/contrib/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp head/contrib/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp head/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp head/contrib/llvm/lib/Target/MSP430/MSP430.td head/contrib/llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp head/contrib/llvm/lib/Target/MSP430/MSP430BranchSelector.cpp head/contrib/llvm/lib/Target/MSP430/MSP430CallingConv.td head/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.cpp head/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp head/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp head/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h head/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.h head/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.td head/contrib/llvm/lib/Target/MSP430/MSP430MCInstLower.cpp head/contrib/llvm/lib/Target/MSP430/MSP430MachineFunctionInfo.h head/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp head/contrib/llvm/lib/Target/MSP430/MSP430Subtarget.cpp head/contrib/llvm/lib/Target/MSP430/MSP430Subtarget.h head/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp head/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp head/contrib/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.h head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp head/contrib/llvm/lib/Target/Mips/MicroMips64r6InstrInfo.td head/contrib/llvm/lib/Target/Mips/MicroMipsInstrInfo.td head/contrib/llvm/lib/Target/Mips/Mips.h head/contrib/llvm/lib/Target/Mips/Mips.td head/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.cpp head/contrib/llvm/lib/Target/Mips/Mips16HardFloat.cpp head/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.td head/contrib/llvm/lib/Target/Mips/Mips32r6InstrInfo.td head/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td head/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp head/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h head/contrib/llvm/lib/Target/Mips/MipsCCState.cpp head/contrib/llvm/lib/Target/Mips/MipsCCState.h head/contrib/llvm/lib/Target/Mips/MipsCallingConv.td head/contrib/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp head/contrib/llvm/lib/Target/Mips/MipsDSPInstrInfo.td head/contrib/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp head/contrib/llvm/lib/Target/Mips/MipsFastISel.cpp head/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp head/contrib/llvm/lib/Target/Mips/MipsHazardSchedule.cpp head/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp head/contrib/llvm/lib/Target/Mips/MipsISelLowering.h head/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td head/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp head/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h head/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td head/contrib/llvm/lib/Target/Mips/MipsLongBranch.cpp head/contrib/llvm/lib/Target/Mips/MipsMSAInstrInfo.td head/contrib/llvm/lib/Target/Mips/MipsMachineFunction.cpp head/contrib/llvm/lib/Target/Mips/MipsMachineFunction.h head/contrib/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp head/contrib/llvm/lib/Target/Mips/MipsOptimizePICCall.cpp head/contrib/llvm/lib/Target/Mips/MipsOptionRecord.h head/contrib/llvm/lib/Target/Mips/MipsOs16.cpp head/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp head/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td head/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp head/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.h head/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp head/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h head/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.cpp head/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp head/contrib/llvm/lib/Target/Mips/MipsSchedule.td head/contrib/llvm/lib/Target/Mips/MipsScheduleGeneric.td head/contrib/llvm/lib/Target/Mips/MipsScheduleP5600.td head/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp head/contrib/llvm/lib/Target/Mips/MipsSubtarget.h head/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp head/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h head/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp head/contrib/llvm/lib/Target/Mips/MipsTargetStreamer.h head/contrib/llvm/lib/Target/NVPTX/InstPrinter/NVPTXInstPrinter.cpp head/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTX.h head/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h head/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.h head/contrib/llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td head/contrib/llvm/lib/Target/NVPTX/NVPTXIntrinsics.td head/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXMCExpr.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXMCExpr.h head/contrib/llvm/lib/Target/NVPTX/NVPTXPeephole.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXRegisterInfo.td head/contrib/llvm/lib/Target/NVPTX/NVPTXSection.h head/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.h head/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.h head/contrib/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp head/contrib/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h head/contrib/llvm/lib/Target/NVPTX/NVVMIntrRange.cpp head/contrib/llvm/lib/Target/NVPTX/NVVMReflect.cpp head/contrib/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp head/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp head/contrib/llvm/lib/Target/PowerPC/PPC.h head/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp head/contrib/llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp head/contrib/llvm/lib/Target/PowerPC/PPCBranchSelector.cpp head/contrib/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp head/contrib/llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp head/contrib/llvm/lib/Target/PowerPC/PPCFastISel.cpp head/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp head/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp head/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp head/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h head/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td head/contrib/llvm/lib/Target/PowerPC/PPCInstrAltivec.td head/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp head/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.h head/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td head/contrib/llvm/lib/Target/PowerPC/PPCInstrVSX.td head/contrib/llvm/lib/Target/PowerPC/PPCLoopPreIncPrep.cpp head/contrib/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp head/contrib/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp head/contrib/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp head/contrib/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h head/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp head/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h head/contrib/llvm/lib/Target/PowerPC/PPCScheduleP8.td head/contrib/llvm/lib/Target/PowerPC/PPCScheduleP9.td head/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp head/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h head/contrib/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp head/contrib/llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp head/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp head/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.h head/contrib/llvm/lib/Target/PowerPC/PPCTargetStreamer.h head/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp head/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h head/contrib/llvm/lib/Target/PowerPC/PPCVSXCopy.cpp head/contrib/llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp head/contrib/llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp head/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp head/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp head/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp head/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp head/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h head/contrib/llvm/lib/Target/RISCV/RISCVInstrFormats.td head/contrib/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp head/contrib/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp head/contrib/llvm/lib/Target/Sparc/DelaySlotFiller.cpp head/contrib/llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp head/contrib/llvm/lib/Target/Sparc/LeonPasses.cpp head/contrib/llvm/lib/Target/Sparc/LeonPasses.h head/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp head/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp head/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h head/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp head/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp head/contrib/llvm/lib/Target/Sparc/Sparc.h head/contrib/llvm/lib/Target/Sparc/Sparc.td head/contrib/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp head/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.cpp head/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp head/contrib/llvm/lib/Target/Sparc/SparcISelLowering.h head/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td head/contrib/llvm/lib/Target/Sparc/SparcMCInstLower.cpp head/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.td head/contrib/llvm/lib/Target/Sparc/SparcSubtarget.cpp head/contrib/llvm/lib/Target/Sparc/SparcSubtarget.h head/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.cpp head/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.h head/contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp head/contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.h head/contrib/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp head/contrib/llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp head/contrib/llvm/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.cpp head/contrib/llvm/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.h head/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp head/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp head/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp head/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp head/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp head/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h head/contrib/llvm/lib/Target/SystemZ/README.txt head/contrib/llvm/lib/Target/SystemZ/SystemZ.td head/contrib/llvm/lib/Target/SystemZ/SystemZElimCompare.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZExpandPseudo.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZFeatures.td head/contrib/llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZHazardRecognizer.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZHazardRecognizer.h head/contrib/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h head/contrib/llvm/lib/Target/SystemZ/SystemZInstrFP.td head/contrib/llvm/lib/Target/SystemZ/SystemZInstrFormats.td head/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.h head/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.td head/contrib/llvm/lib/Target/SystemZ/SystemZInstrVector.td head/contrib/llvm/lib/Target/SystemZ/SystemZLDCleanup.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZLongBranch.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZMachineScheduler.h head/contrib/llvm/lib/Target/SystemZ/SystemZOperands.td head/contrib/llvm/lib/Target/SystemZ/SystemZOperators.td head/contrib/llvm/lib/Target/SystemZ/SystemZPatterns.td head/contrib/llvm/lib/Target/SystemZ/SystemZProcessors.td head/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td head/contrib/llvm/lib/Target/SystemZ/SystemZSchedule.td head/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ13.td head/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ196.td head/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td head/contrib/llvm/lib/Target/SystemZ/SystemZShortenInst.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.h head/contrib/llvm/lib/Target/SystemZ/SystemZTDC.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZTargetMachine.h head/contrib/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp head/contrib/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h head/contrib/llvm/lib/Target/Target.cpp head/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp head/contrib/llvm/lib/Target/TargetMachine.cpp head/contrib/llvm/lib/Target/TargetMachineC.cpp head/contrib/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp head/contrib/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp head/contrib/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.h head/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp head/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.cpp head/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.h head/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp head/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp head/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h head/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp head/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h head/contrib/llvm/lib/Target/WebAssembly/README.txt head/contrib/llvm/lib/Target/WebAssembly/WebAssembly.h head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.h head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyPeephole.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblySetP2AlignOperands.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyStoreResults.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetObjectFile.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetObjectFile.h head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h head/contrib/llvm/lib/Target/WebAssembly/known_gcc_test_failures.txt head/contrib/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp head/contrib/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.h head/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp head/contrib/llvm/lib/Target/X86/AsmParser/X86Operand.h head/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp head/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp head/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h head/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp head/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h head/contrib/llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp head/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp head/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h head/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp head/contrib/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h head/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp head/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp head/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp head/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp head/contrib/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp head/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp head/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h head/contrib/llvm/lib/Target/X86/X86.h head/contrib/llvm/lib/Target/X86/X86.td head/contrib/llvm/lib/Target/X86/X86AsmPrinter.cpp head/contrib/llvm/lib/Target/X86/X86AsmPrinter.h head/contrib/llvm/lib/Target/X86/X86CallFrameOptimization.cpp head/contrib/llvm/lib/Target/X86/X86CallLowering.cpp head/contrib/llvm/lib/Target/X86/X86CallLowering.h head/contrib/llvm/lib/Target/X86/X86CallingConv.cpp (contents, props changed) head/contrib/llvm/lib/Target/X86/X86CallingConv.td head/contrib/llvm/lib/Target/X86/X86EvexToVex.cpp head/contrib/llvm/lib/Target/X86/X86ExpandPseudo.cpp head/contrib/llvm/lib/Target/X86/X86FastISel.cpp head/contrib/llvm/lib/Target/X86/X86FixupBWInsts.cpp head/contrib/llvm/lib/Target/X86/X86FixupLEAs.cpp head/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp head/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp head/contrib/llvm/lib/Target/X86/X86FrameLowering.h head/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp head/contrib/llvm/lib/Target/X86/X86ISelLowering.h head/contrib/llvm/lib/Target/X86/X86Instr3DNow.td head/contrib/llvm/lib/Target/X86/X86InstrAVX512.td head/contrib/llvm/lib/Target/X86/X86InstrArithmetic.td head/contrib/llvm/lib/Target/X86/X86InstrBuilder.h head/contrib/llvm/lib/Target/X86/X86InstrCMovSetCC.td head/contrib/llvm/lib/Target/X86/X86InstrCompiler.td head/contrib/llvm/lib/Target/X86/X86InstrControl.td head/contrib/llvm/lib/Target/X86/X86InstrFMA.td head/contrib/llvm/lib/Target/X86/X86InstrFMA3Info.cpp head/contrib/llvm/lib/Target/X86/X86InstrFMA3Info.h head/contrib/llvm/lib/Target/X86/X86InstrFPStack.td head/contrib/llvm/lib/Target/X86/X86InstrFormats.td head/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td head/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp head/contrib/llvm/lib/Target/X86/X86InstrInfo.h head/contrib/llvm/lib/Target/X86/X86InstrInfo.td head/contrib/llvm/lib/Target/X86/X86InstrMMX.td head/contrib/llvm/lib/Target/X86/X86InstrMPX.td head/contrib/llvm/lib/Target/X86/X86InstrSSE.td head/contrib/llvm/lib/Target/X86/X86InstrShiftRotate.td head/contrib/llvm/lib/Target/X86/X86InstrSystem.td head/contrib/llvm/lib/Target/X86/X86InstrTSX.td head/contrib/llvm/lib/Target/X86/X86InstrVMX.td head/contrib/llvm/lib/Target/X86/X86InstrXOP.td head/contrib/llvm/lib/Target/X86/X86InterleavedAccess.cpp head/contrib/llvm/lib/Target/X86/X86IntrinsicsInfo.h head/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp head/contrib/llvm/lib/Target/X86/X86MachineFunctionInfo.cpp head/contrib/llvm/lib/Target/X86/X86OptimizeLEAs.cpp head/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp head/contrib/llvm/lib/Target/X86/X86RegisterInfo.h head/contrib/llvm/lib/Target/X86/X86RegisterInfo.td head/contrib/llvm/lib/Target/X86/X86SchedHaswell.td head/contrib/llvm/lib/Target/X86/X86SchedSandyBridge.td head/contrib/llvm/lib/Target/X86/X86Schedule.td head/contrib/llvm/lib/Target/X86/X86ScheduleBtVer2.td head/contrib/llvm/lib/Target/X86/X86ScheduleSLM.td head/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp head/contrib/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp head/contrib/llvm/lib/Target/X86/X86Subtarget.cpp head/contrib/llvm/lib/Target/X86/X86Subtarget.h head/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp head/contrib/llvm/lib/Target/X86/X86TargetMachine.h head/contrib/llvm/lib/Target/X86/X86TargetObjectFile.cpp head/contrib/llvm/lib/Target/X86/X86TargetObjectFile.h head/contrib/llvm/lib/Target/X86/X86TargetTransformInfo.cpp head/contrib/llvm/lib/Target/X86/X86TargetTransformInfo.h head/contrib/llvm/lib/Target/X86/X86VZeroUpper.cpp head/contrib/llvm/lib/Target/X86/X86WinEHState.cpp head/contrib/llvm/lib/Target/XCore/InstPrinter/XCoreInstPrinter.cpp head/contrib/llvm/lib/Target/XCore/InstPrinter/XCoreInstPrinter.h head/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp head/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.h head/contrib/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp head/contrib/llvm/lib/Target/XCore/XCoreFrameLowering.cpp head/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp head/contrib/llvm/lib/Target/XCore/XCoreISelLowering.h head/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td head/contrib/llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp head/contrib/llvm/lib/Target/XCore/XCoreMachineFunctionInfo.cpp head/contrib/llvm/lib/Target/XCore/XCoreMachineFunctionInfo.h head/contrib/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.cpp head/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp head/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.h head/contrib/llvm/lib/Target/XCore/XCoreTargetObjectFile.cpp head/contrib/llvm/lib/Transforms/Coroutines/CoroCleanup.cpp head/contrib/llvm/lib/Transforms/Coroutines/CoroEarly.cpp head/contrib/llvm/lib/Transforms/Coroutines/CoroElide.cpp head/contrib/llvm/lib/Transforms/Coroutines/CoroFrame.cpp head/contrib/llvm/lib/Transforms/Coroutines/CoroInstr.h head/contrib/llvm/lib/Transforms/Coroutines/CoroSplit.cpp head/contrib/llvm/lib/Transforms/Coroutines/Coroutines.cpp head/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp head/contrib/llvm/lib/Transforms/IPO/ConstantMerge.cpp head/contrib/llvm/lib/Transforms/IPO/CrossDSOCFI.cpp head/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp head/contrib/llvm/lib/Transforms/IPO/ElimAvailExtern.cpp head/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp head/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp head/contrib/llvm/lib/Transforms/IPO/FunctionImport.cpp head/contrib/llvm/lib/Transforms/IPO/GlobalDCE.cpp head/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp head/contrib/llvm/lib/Transforms/IPO/GlobalSplit.cpp head/contrib/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp head/contrib/llvm/lib/Transforms/IPO/IPO.cpp head/contrib/llvm/lib/Transforms/IPO/InferFunctionAttrs.cpp head/contrib/llvm/lib/Transforms/IPO/InlineSimple.cpp head/contrib/llvm/lib/Transforms/IPO/Inliner.cpp head/contrib/llvm/lib/Transforms/IPO/LoopExtractor.cpp head/contrib/llvm/lib/Transforms/IPO/LowerTypeTests.cpp head/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp head/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp head/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp head/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp head/contrib/llvm/lib/Transforms/IPO/SampleProfile.cpp head/contrib/llvm/lib/Transforms/IPO/StripSymbols.cpp head/contrib/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp head/contrib/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombineInternal.h head/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp head/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp head/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp head/contrib/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp head/contrib/llvm/lib/Transforms/Instrumentation/CFGMST.h head/contrib/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp head/contrib/llvm/lib/Transforms/Instrumentation/EfficiencySanitizer.cpp head/contrib/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp head/contrib/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp head/contrib/llvm/lib/Transforms/Instrumentation/Instrumentation.cpp head/contrib/llvm/lib/Transforms/Instrumentation/MaximumSpanningTree.h head/contrib/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp head/contrib/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp head/contrib/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp head/contrib/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp head/contrib/llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h head/contrib/llvm/lib/Transforms/ObjCARC/BlotMapVector.h head/contrib/llvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp head/contrib/llvm/lib/Transforms/ObjCARC/ObjCARC.h head/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp head/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp head/contrib/llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp head/contrib/llvm/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp head/contrib/llvm/lib/Transforms/ObjCARC/PtrState.cpp head/contrib/llvm/lib/Transforms/ObjCARC/PtrState.h head/contrib/llvm/lib/Transforms/Scalar/ADCE.cpp head/contrib/llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp head/contrib/llvm/lib/Transforms/Scalar/BDCE.cpp head/contrib/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp head/contrib/llvm/lib/Transforms/Scalar/ConstantProp.cpp head/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp head/contrib/llvm/lib/Transforms/Scalar/DCE.cpp head/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp head/contrib/llvm/lib/Transforms/Scalar/EarlyCSE.cpp head/contrib/llvm/lib/Transforms/Scalar/FlattenCFGPass.cpp head/contrib/llvm/lib/Transforms/Scalar/Float2Int.cpp head/contrib/llvm/lib/Transforms/Scalar/GVN.cpp head/contrib/llvm/lib/Transforms/Scalar/GVNHoist.cpp head/contrib/llvm/lib/Transforms/Scalar/GuardWidening.cpp head/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp head/contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp head/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp head/contrib/llvm/lib/Transforms/Scalar/LICM.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopDeletion.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopDistribute.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopInterchange.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopPassManager.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopSink.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp head/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp head/contrib/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp head/contrib/llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp head/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp head/contrib/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp head/contrib/llvm/lib/Transforms/Scalar/NaryReassociate.cpp head/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp head/contrib/llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp head/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp head/contrib/llvm/lib/Transforms/Scalar/Reg2Mem.cpp head/contrib/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp head/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp head/contrib/llvm/lib/Transforms/Scalar/SROA.cpp head/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp head/contrib/llvm/lib/Transforms/Scalar/Scalarizer.cpp head/contrib/llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp head/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp head/contrib/llvm/lib/Transforms/Scalar/Sink.cpp head/contrib/llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp head/contrib/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp head/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp head/contrib/llvm/lib/Transforms/Utils/AddDiscriminators.cpp head/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp head/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp head/contrib/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp head/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp head/contrib/llvm/lib/Transforms/Utils/CloneModule.cpp head/contrib/llvm/lib/Transforms/Utils/CmpInstAnalysis.cpp head/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp head/contrib/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp head/contrib/llvm/lib/Transforms/Utils/EscapeEnumerator.cpp head/contrib/llvm/lib/Transforms/Utils/Evaluator.cpp head/contrib/llvm/lib/Transforms/Utils/FlattenCFG.cpp head/contrib/llvm/lib/Transforms/Utils/FunctionComparator.cpp head/contrib/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp head/contrib/llvm/lib/Transforms/Utils/GlobalStatus.cpp head/contrib/llvm/lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp head/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp head/contrib/llvm/lib/Transforms/Utils/InstructionNamer.cpp head/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp head/contrib/llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp head/contrib/llvm/lib/Transforms/Utils/Local.cpp head/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp head/contrib/llvm/lib/Transforms/Utils/LoopUnroll.cpp head/contrib/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp head/contrib/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp head/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp head/contrib/llvm/lib/Transforms/Utils/LowerSwitch.cpp head/contrib/llvm/lib/Transforms/Utils/Mem2Reg.cpp head/contrib/llvm/lib/Transforms/Utils/MetaRenamer.cpp head/contrib/llvm/lib/Transforms/Utils/ModuleUtils.cpp head/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp head/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp head/contrib/llvm/lib/Transforms/Utils/SanitizerStats.cpp head/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp head/contrib/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp head/contrib/llvm/lib/Transforms/Utils/SimplifyInstructions.cpp head/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp head/contrib/llvm/lib/Transforms/Utils/StripGCRelocates.cpp head/contrib/llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp head/contrib/llvm/lib/Transforms/Utils/SymbolRewriter.cpp head/contrib/llvm/lib/Transforms/Utils/Utils.cpp head/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp head/contrib/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp head/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp head/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp head/contrib/llvm/lib/Transforms/Vectorize/Vectorize.cpp head/contrib/llvm/lib/XRay/Trace.cpp head/contrib/llvm/tools/bugpoint/CrashDebugger.cpp head/contrib/llvm/tools/bugpoint/ExtractFunction.cpp head/contrib/llvm/tools/bugpoint/FindBugs.cpp head/contrib/llvm/tools/bugpoint/ListReducer.h head/contrib/llvm/tools/bugpoint/Miscompilation.cpp head/contrib/llvm/tools/bugpoint/OptimizerDriver.cpp head/contrib/llvm/tools/bugpoint/ToolRunner.cpp head/contrib/llvm/tools/bugpoint/bugpoint.cpp head/contrib/llvm/tools/clang/include/clang-c/CXCompilationDatabase.h head/contrib/llvm/tools/clang/include/clang-c/Index.h head/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h head/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h head/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def head/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h head/contrib/llvm/tools/clang/include/clang/AST/CommentSema.h head/contrib/llvm/tools/clang/include/clang/AST/Decl.h head/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h head/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h head/contrib/llvm/tools/clang/include/clang/AST/DeclContextInternals.h head/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h head/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h head/contrib/llvm/tools/clang/include/clang/AST/DeclarationName.h head/contrib/llvm/tools/clang/include/clang/AST/Expr.h head/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h head/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h head/contrib/llvm/tools/clang/include/clang/AST/NSAPI.h head/contrib/llvm/tools/clang/include/clang/AST/OpenMPClause.h head/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h head/contrib/llvm/tools/clang/include/clang/AST/Redeclarable.h head/contrib/llvm/tools/clang/include/clang/AST/Stmt.h head/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h head/contrib/llvm/tools/clang/include/clang/AST/StmtIterator.h head/contrib/llvm/tools/clang/include/clang/AST/StmtOpenMP.h head/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h head/contrib/llvm/tools/clang/include/clang/AST/Type.h head/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h head/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def head/contrib/llvm/tools/clang/include/clang/AST/TypeOrdering.h head/contrib/llvm/tools/clang/include/clang/AST/VTableBuilder.h head/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h head/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Diagnostics.h head/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Parser.h head/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h head/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/Dominators.h head/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h head/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h head/contrib/llvm/tools/clang/include/clang/Analysis/CallGraph.h head/contrib/llvm/tools/clang/include/clang/Analysis/CloneDetection.h head/contrib/llvm/tools/clang/include/clang/Basic/AddressSpaces.h head/contrib/llvm/tools/clang/include/clang/Basic/AllDiagnostics.h head/contrib/llvm/tools/clang/include/clang/Basic/Attr.td head/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td head/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAMDGPU.def head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsHexagon.def head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNVPTX.def head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPPC.def head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsSystemZ.def head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsWebAssembly.def head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86_64.def head/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td head/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h head/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.td head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td head/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h head/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def head/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h head/contrib/llvm/tools/clang/include/clang/Basic/Linkage.h head/contrib/llvm/tools/clang/include/clang/Basic/Module.h head/contrib/llvm/tools/clang/include/clang/Basic/ObjCRuntime.h head/contrib/llvm/tools/clang/include/clang/Basic/OpenCLImageTypes.def head/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def head/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.h head/contrib/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h head/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def head/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.h head/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h head/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h head/contrib/llvm/tools/clang/include/clang/Basic/SourceManagerInternals.h head/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h head/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td head/contrib/llvm/tools/clang/include/clang/Basic/TargetBuiltins.h head/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h head/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h head/contrib/llvm/tools/clang/include/clang/Basic/TemplateKinds.h head/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def head/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h head/contrib/llvm/tools/clang/include/clang/Basic/VirtualFileSystem.h head/contrib/llvm/tools/clang/include/clang/Basic/Visibility.h head/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td head/contrib/llvm/tools/clang/include/clang/CodeGen/BackendUtil.h head/contrib/llvm/tools/clang/include/clang/CodeGen/CGFunctionInfo.h head/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenABITypes.h head/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h head/contrib/llvm/tools/clang/include/clang/CodeGen/ModuleBuilder.h head/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td head/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td head/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h head/contrib/llvm/tools/clang/include/clang/Driver/Distro.h head/contrib/llvm/tools/clang/include/clang/Driver/Driver.h head/contrib/llvm/tools/clang/include/clang/Driver/Job.h head/contrib/llvm/tools/clang/include/clang/Driver/Multilib.h head/contrib/llvm/tools/clang/include/clang/Driver/Options.h head/contrib/llvm/tools/clang/include/clang/Driver/Options.td head/contrib/llvm/tools/clang/include/clang/Driver/SanitizerArgs.h head/contrib/llvm/tools/clang/include/clang/Driver/Tool.h head/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h head/contrib/llvm/tools/clang/include/clang/Edit/EditedSource.h head/contrib/llvm/tools/clang/include/clang/Format/Format.h head/contrib/llvm/tools/clang/include/clang/Frontend/ASTConsumers.h head/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h head/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def head/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h head/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h head/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h head/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticRenderer.h head/contrib/llvm/tools/clang/include/clang/Frontend/FrontendAction.h head/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h head/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h head/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h head/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def head/contrib/llvm/tools/clang/include/clang/Frontend/PCHContainerOperations.h head/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOutputOptions.h head/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnostic.h head/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h head/contrib/llvm/tools/clang/include/clang/Index/IndexSymbol.h head/contrib/llvm/tools/clang/include/clang/Index/IndexingAction.h head/contrib/llvm/tools/clang/include/clang/Index/USRGeneration.h head/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h head/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h head/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h head/contrib/llvm/tools/clang/include/clang/Lex/MacroArgs.h head/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h head/contrib/llvm/tools/clang/include/clang/Lex/ModuleLoader.h head/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h head/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h head/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h head/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h head/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h head/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h head/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h head/contrib/llvm/tools/clang/include/clang/Lex/Token.h head/contrib/llvm/tools/clang/include/clang/Parse/Parser.h head/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/FrontendActions.h head/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h head/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h head/contrib/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h head/contrib/llvm/tools/clang/include/clang/Sema/IdentifierResolver.h head/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h head/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h head/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h head/contrib/llvm/tools/clang/include/clang/Sema/Overload.h head/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h head/contrib/llvm/tools/clang/include/clang/Sema/ParsedTemplate.h head/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h head/contrib/llvm/tools/clang/include/clang/Sema/Sema.h head/contrib/llvm/tools/clang/include/clang/Sema/Template.h head/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h head/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h head/contrib/llvm/tools/clang/include/clang/Serialization/ASTDeserializationListener.h head/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h head/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h head/contrib/llvm/tools/clang/include/clang/Serialization/Module.h head/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h head/contrib/llvm/tools/clang/include/clang/Tooling/ArgumentsAdjusters.h head/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h head/contrib/llvm/tools/clang/include/clang/Tooling/Core/Diagnostic.h head/contrib/llvm/tools/clang/include/clang/Tooling/DiagnosticsYaml.h head/contrib/llvm/tools/clang/include/clang/Tooling/FixIt.h head/contrib/llvm/tools/clang/include/clang/Tooling/RefactoringCallbacks.h head/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h head/contrib/llvm/tools/clang/include/clang/module.modulemap head/contrib/llvm/tools/clang/lib/ARCMigrate/ObjCMT.cpp head/contrib/llvm/tools/clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp head/contrib/llvm/tools/clang/lib/ARCMigrate/TransformActions.cpp head/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp head/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp head/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp head/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp head/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp head/contrib/llvm/tools/clang/lib/AST/Comment.cpp head/contrib/llvm/tools/clang/lib/AST/CommentSema.cpp head/contrib/llvm/tools/clang/lib/AST/Decl.cpp head/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp head/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp head/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp head/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp head/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp head/contrib/llvm/tools/clang/lib/AST/DeclarationName.cpp head/contrib/llvm/tools/clang/lib/AST/Expr.cpp head/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp head/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp head/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp head/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp head/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp head/contrib/llvm/tools/clang/lib/AST/Mangle.cpp head/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp head/contrib/llvm/tools/clang/lib/AST/NSAPI.cpp head/contrib/llvm/tools/clang/lib/AST/NestedNameSpecifier.cpp head/contrib/llvm/tools/clang/lib/AST/OpenMPClause.cpp head/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp head/contrib/llvm/tools/clang/lib/AST/Stmt.cpp head/contrib/llvm/tools/clang/lib/AST/StmtCXX.cpp head/contrib/llvm/tools/clang/lib/AST/StmtOpenMP.cpp head/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp head/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp head/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp head/contrib/llvm/tools/clang/lib/AST/Type.cpp head/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp head/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp head/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Diagnostics.cpp head/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h head/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Parser.cpp head/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp head/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp head/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp head/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp head/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp head/contrib/llvm/tools/clang/lib/Analysis/CallGraph.cpp head/contrib/llvm/tools/clang/lib/Analysis/CloneDetection.cpp head/contrib/llvm/tools/clang/lib/Analysis/OSLog.cpp head/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp head/contrib/llvm/tools/clang/lib/Analysis/PseudoConstantAnalysis.cpp head/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp head/contrib/llvm/tools/clang/lib/Analysis/ScanfFormatString.cpp head/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyTIL.cpp head/contrib/llvm/tools/clang/lib/Basic/Attributes.cpp head/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp head/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp head/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp head/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp head/contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp head/contrib/llvm/tools/clang/lib/Basic/Module.cpp head/contrib/llvm/tools/clang/lib/Basic/OpenMPKinds.cpp head/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp head/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp head/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp head/contrib/llvm/tools/clang/lib/Basic/Targets.cpp head/contrib/llvm/tools/clang/lib/Basic/Version.cpp head/contrib/llvm/tools/clang/lib/Basic/VirtualFileSystem.cpp head/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h head/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGAtomic.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGCUDANV.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h head/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h head/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGCoroutine.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h head/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h head/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h head/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CGValue.h head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenABITypes.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.h head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypeCache.h head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h head/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp head/contrib/llvm/tools/clang/lib/CodeGen/EHScopeStack.h head/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp head/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp head/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp head/contrib/llvm/tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp head/contrib/llvm/tools/clang/lib/CodeGen/SwiftCallingConv.cpp head/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp head/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h head/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp head/contrib/llvm/tools/clang/lib/Driver/Distro.cpp head/contrib/llvm/tools/clang/lib/Driver/Driver.cpp head/contrib/llvm/tools/clang/lib/Driver/DriverOptions.cpp head/contrib/llvm/tools/clang/lib/Driver/Job.cpp head/contrib/llvm/tools/clang/lib/Driver/Multilib.cpp head/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.cpp head/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp head/contrib/llvm/tools/clang/lib/Edit/EditedSource.cpp head/contrib/llvm/tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp head/contrib/llvm/tools/clang/lib/Format/BreakableToken.cpp head/contrib/llvm/tools/clang/lib/Format/BreakableToken.h head/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp head/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.h head/contrib/llvm/tools/clang/lib/Format/Format.cpp head/contrib/llvm/tools/clang/lib/Format/FormatToken.h head/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.cpp head/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.h head/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp head/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.h head/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.cpp head/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.h head/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp head/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.h head/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp head/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.h head/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp head/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp head/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp head/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp head/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp head/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp head/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp head/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp head/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp head/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp head/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp head/contrib/llvm/tools/clang/lib/Frontend/FrontendOptions.cpp head/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp head/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp head/contrib/llvm/tools/clang/lib/Frontend/LangStandards.cpp head/contrib/llvm/tools/clang/lib/Frontend/ModuleDependencyCollector.cpp head/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp head/contrib/llvm/tools/clang/lib/Frontend/Rewrite/FrontendActions.cpp head/contrib/llvm/tools/clang/lib/Frontend/Rewrite/InclusionRewriter.cpp head/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteMacros.cpp head/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp head/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp head/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp head/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticReader.cpp head/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp head/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp head/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp head/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp head/contrib/llvm/tools/clang/lib/Headers/altivec.h head/contrib/llvm/tools/clang/lib/Headers/arm_acle.h head/contrib/llvm/tools/clang/lib/Headers/avx2intrin.h head/contrib/llvm/tools/clang/lib/Headers/avx512bwintrin.h head/contrib/llvm/tools/clang/lib/Headers/avx512dqintrin.h head/contrib/llvm/tools/clang/lib/Headers/avx512fintrin.h head/contrib/llvm/tools/clang/lib/Headers/avx512vldqintrin.h head/contrib/llvm/tools/clang/lib/Headers/avx512vlintrin.h head/contrib/llvm/tools/clang/lib/Headers/avxintrin.h head/contrib/llvm/tools/clang/lib/Headers/bmiintrin.h head/contrib/llvm/tools/clang/lib/Headers/cpuid.h head/contrib/llvm/tools/clang/lib/Headers/emmintrin.h head/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h head/contrib/llvm/tools/clang/lib/Headers/htmxlintrin.h head/contrib/llvm/tools/clang/lib/Headers/immintrin.h head/contrib/llvm/tools/clang/lib/Headers/intrin.h head/contrib/llvm/tools/clang/lib/Headers/mmintrin.h head/contrib/llvm/tools/clang/lib/Headers/module.modulemap head/contrib/llvm/tools/clang/lib/Headers/opencl-c.h head/contrib/llvm/tools/clang/lib/Headers/pmmintrin.h head/contrib/llvm/tools/clang/lib/Headers/prfchwintrin.h head/contrib/llvm/tools/clang/lib/Headers/smmintrin.h head/contrib/llvm/tools/clang/lib/Headers/stdarg.h head/contrib/llvm/tools/clang/lib/Headers/stdatomic.h head/contrib/llvm/tools/clang/lib/Headers/stdint.h head/contrib/llvm/tools/clang/lib/Headers/tgmath.h head/contrib/llvm/tools/clang/lib/Headers/tmmintrin.h head/contrib/llvm/tools/clang/lib/Headers/vecintrin.h head/contrib/llvm/tools/clang/lib/Headers/x86intrin.h head/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h head/contrib/llvm/tools/clang/lib/Headers/xopintrin.h head/contrib/llvm/tools/clang/lib/Index/CommentToXML.cpp head/contrib/llvm/tools/clang/lib/Index/IndexBody.cpp head/contrib/llvm/tools/clang/lib/Index/IndexDecl.cpp head/contrib/llvm/tools/clang/lib/Index/IndexSymbol.cpp head/contrib/llvm/tools/clang/lib/Index/IndexTypeSourceInfo.cpp head/contrib/llvm/tools/clang/lib/Index/IndexingAction.cpp head/contrib/llvm/tools/clang/lib/Index/IndexingContext.cpp head/contrib/llvm/tools/clang/lib/Index/IndexingContext.h head/contrib/llvm/tools/clang/lib/Index/USRGeneration.cpp head/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp head/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp head/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp head/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp head/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp head/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp head/contrib/llvm/tools/clang/lib/Lex/PPCaching.cpp head/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp head/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp head/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp head/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp head/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp head/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp head/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp head/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp head/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseStmtAsm.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp head/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp head/contrib/llvm/tools/clang/lib/Parse/Parser.cpp head/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp head/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp head/contrib/llvm/tools/clang/lib/Sema/AttributeList.cpp head/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp head/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp head/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp head/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp head/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp head/contrib/llvm/tools/clang/lib/Sema/Sema.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaCUDA.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaCoroutine.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp head/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp head/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h head/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp head/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp head/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp head/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp head/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp head/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp head/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp head/contrib/llvm/tools/clang/lib/Serialization/GeneratePCH.cpp head/contrib/llvm/tools/clang/lib/Serialization/GlobalModuleIndex.cpp head/contrib/llvm/tools/clang/lib/Serialization/Module.cpp head/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SelectorExtras.h head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CommonBugCategories.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/DynamicTypeMap.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp head/contrib/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp head/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp head/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp head/contrib/llvm/tools/clang/lib/Tooling/Core/Diagnostic.cpp head/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp head/contrib/llvm/tools/clang/lib/Tooling/Refactoring.cpp head/contrib/llvm/tools/clang/lib/Tooling/RefactoringCallbacks.cpp head/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp head/contrib/llvm/tools/clang/tools/clang-format/ClangFormat.cpp head/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp head/contrib/llvm/tools/clang/tools/driver/driver.cpp head/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp head/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp head/contrib/llvm/tools/clang/utils/TableGen/ClangSACheckersEmitter.cpp head/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp head/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h head/contrib/llvm/tools/llc/llc.cpp head/contrib/llvm/tools/lld/CMakeLists.txt head/contrib/llvm/tools/lld/COFF/CMakeLists.txt head/contrib/llvm/tools/lld/COFF/Chunks.cpp head/contrib/llvm/tools/lld/COFF/Chunks.h head/contrib/llvm/tools/lld/COFF/Config.h head/contrib/llvm/tools/lld/COFF/DLL.cpp head/contrib/llvm/tools/lld/COFF/DLL.h head/contrib/llvm/tools/lld/COFF/Driver.cpp head/contrib/llvm/tools/lld/COFF/Driver.h head/contrib/llvm/tools/lld/COFF/DriverUtils.cpp head/contrib/llvm/tools/lld/COFF/Error.cpp head/contrib/llvm/tools/lld/COFF/Error.h head/contrib/llvm/tools/lld/COFF/ICF.cpp head/contrib/llvm/tools/lld/COFF/InputFiles.cpp head/contrib/llvm/tools/lld/COFF/InputFiles.h head/contrib/llvm/tools/lld/COFF/MarkLive.cpp head/contrib/llvm/tools/lld/COFF/Options.td head/contrib/llvm/tools/lld/COFF/PDB.cpp head/contrib/llvm/tools/lld/COFF/PDB.h head/contrib/llvm/tools/lld/COFF/Strings.cpp head/contrib/llvm/tools/lld/COFF/SymbolTable.cpp head/contrib/llvm/tools/lld/COFF/SymbolTable.h head/contrib/llvm/tools/lld/COFF/Symbols.cpp head/contrib/llvm/tools/lld/COFF/Symbols.h head/contrib/llvm/tools/lld/COFF/Writer.cpp head/contrib/llvm/tools/lld/COFF/Writer.h head/contrib/llvm/tools/lld/ELF/CMakeLists.txt head/contrib/llvm/tools/lld/ELF/Config.h head/contrib/llvm/tools/lld/ELF/Driver.cpp head/contrib/llvm/tools/lld/ELF/Driver.h head/contrib/llvm/tools/lld/ELF/DriverUtils.cpp head/contrib/llvm/tools/lld/ELF/EhFrame.cpp head/contrib/llvm/tools/lld/ELF/EhFrame.h head/contrib/llvm/tools/lld/ELF/Error.cpp head/contrib/llvm/tools/lld/ELF/Error.h head/contrib/llvm/tools/lld/ELF/GdbIndex.cpp head/contrib/llvm/tools/lld/ELF/GdbIndex.h head/contrib/llvm/tools/lld/ELF/ICF.cpp head/contrib/llvm/tools/lld/ELF/ICF.h head/contrib/llvm/tools/lld/ELF/InputFiles.cpp head/contrib/llvm/tools/lld/ELF/InputFiles.h head/contrib/llvm/tools/lld/ELF/InputSection.cpp head/contrib/llvm/tools/lld/ELF/InputSection.h head/contrib/llvm/tools/lld/ELF/LTO.cpp head/contrib/llvm/tools/lld/ELF/LTO.h head/contrib/llvm/tools/lld/ELF/LinkerScript.cpp head/contrib/llvm/tools/lld/ELF/LinkerScript.h head/contrib/llvm/tools/lld/ELF/MarkLive.cpp head/contrib/llvm/tools/lld/ELF/Memory.h head/contrib/llvm/tools/lld/ELF/Options.td head/contrib/llvm/tools/lld/ELF/OutputSections.cpp head/contrib/llvm/tools/lld/ELF/OutputSections.h head/contrib/llvm/tools/lld/ELF/Relocations.cpp head/contrib/llvm/tools/lld/ELF/Relocations.h head/contrib/llvm/tools/lld/ELF/ScriptParser.cpp head/contrib/llvm/tools/lld/ELF/ScriptParser.h head/contrib/llvm/tools/lld/ELF/Strings.cpp head/contrib/llvm/tools/lld/ELF/Strings.h head/contrib/llvm/tools/lld/ELF/SymbolTable.cpp head/contrib/llvm/tools/lld/ELF/SymbolTable.h head/contrib/llvm/tools/lld/ELF/Symbols.cpp head/contrib/llvm/tools/lld/ELF/Symbols.h head/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp head/contrib/llvm/tools/lld/ELF/SyntheticSections.h head/contrib/llvm/tools/lld/ELF/Target.cpp head/contrib/llvm/tools/lld/ELF/Target.h head/contrib/llvm/tools/lld/ELF/Threads.h head/contrib/llvm/tools/lld/ELF/Thunks.cpp head/contrib/llvm/tools/lld/ELF/Thunks.h head/contrib/llvm/tools/lld/ELF/Writer.cpp head/contrib/llvm/tools/lld/ELF/Writer.h head/contrib/llvm/tools/lld/README.md head/contrib/llvm/tools/lld/include/lld/Core/Reader.h head/contrib/llvm/tools/lld/include/lld/Driver/Driver.h head/contrib/llvm/tools/lld/include/lld/ReaderWriter/MachOLinkingContext.h head/contrib/llvm/tools/lld/lib/Core/CMakeLists.txt head/contrib/llvm/tools/lld/lib/Core/Reader.cpp head/contrib/llvm/tools/lld/lib/Core/SymbolTable.cpp head/contrib/llvm/tools/lld/lib/Driver/DarwinLdDriver.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/FileArchive.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ArchHandler_x86.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/CMakeLists.txt head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ExecutableAtoms.h head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/LayoutPass.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFile.h head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryUtils.h head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/WriterMachO.cpp head/contrib/llvm/tools/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp head/contrib/llvm/tools/lld/tools/lld/lld.cpp head/contrib/llvm/tools/lldb/include/lldb/API/LLDB.h head/contrib/llvm/tools/lldb/include/lldb/API/SBAddress.h head/contrib/llvm/tools/lldb/include/lldb/API/SBAttachInfo.h head/contrib/llvm/tools/lldb/include/lldb/API/SBBreakpoint.h head/contrib/llvm/tools/lldb/include/lldb/API/SBBreakpointLocation.h head/contrib/llvm/tools/lldb/include/lldb/API/SBDefines.h head/contrib/llvm/tools/lldb/include/lldb/API/SBError.h head/contrib/llvm/tools/lldb/include/lldb/API/SBFrame.h head/contrib/llvm/tools/lldb/include/lldb/API/SBInstruction.h head/contrib/llvm/tools/lldb/include/lldb/API/SBInstructionList.h head/contrib/llvm/tools/lldb/include/lldb/API/SBListener.h head/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h head/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h head/contrib/llvm/tools/lldb/include/lldb/API/SBStructuredData.h head/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h head/contrib/llvm/tools/lldb/include/lldb/API/SBWatchpoint.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointID.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocation.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointOptions.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolver.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverAddress.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverFileRegex.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverName.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSite.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Stoppoint.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/StoppointLocation.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Watchpoint.h head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/WatchpointOptions.h head/contrib/llvm/tools/lldb/include/lldb/Core/Address.h head/contrib/llvm/tools/lldb/include/lldb/Core/AddressRange.h head/contrib/llvm/tools/lldb/include/lldb/Core/AddressResolver.h head/contrib/llvm/tools/lldb/include/lldb/Core/AddressResolverFileLine.h head/contrib/llvm/tools/lldb/include/lldb/Core/AddressResolverName.h head/contrib/llvm/tools/lldb/include/lldb/Core/ArchSpec.h head/contrib/llvm/tools/lldb/include/lldb/Core/Broadcaster.h head/contrib/llvm/tools/lldb/include/lldb/Core/Communication.h head/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h head/contrib/llvm/tools/lldb/include/lldb/Core/Disassembler.h head/contrib/llvm/tools/lldb/include/lldb/Core/EmulateInstruction.h head/contrib/llvm/tools/lldb/include/lldb/Core/Event.h head/contrib/llvm/tools/lldb/include/lldb/Core/FileLineResolver.h head/contrib/llvm/tools/lldb/include/lldb/Core/FileSpecList.h head/contrib/llvm/tools/lldb/include/lldb/Core/FormatEntity.h head/contrib/llvm/tools/lldb/include/lldb/Core/IOHandler.h head/contrib/llvm/tools/lldb/include/lldb/Core/Listener.h head/contrib/llvm/tools/lldb/include/lldb/Core/Mangled.h head/contrib/llvm/tools/lldb/include/lldb/Core/MappedHash.h head/contrib/llvm/tools/lldb/include/lldb/Core/Module.h head/contrib/llvm/tools/lldb/include/lldb/Core/ModuleChild.h head/contrib/llvm/tools/lldb/include/lldb/Core/ModuleList.h head/contrib/llvm/tools/lldb/include/lldb/Core/ModuleSpec.h head/contrib/llvm/tools/lldb/include/lldb/Core/Opcode.h head/contrib/llvm/tools/lldb/include/lldb/Core/PluginManager.h head/contrib/llvm/tools/lldb/include/lldb/Core/RangeMap.h head/contrib/llvm/tools/lldb/include/lldb/Core/RegisterValue.h head/contrib/llvm/tools/lldb/include/lldb/Core/Scalar.h head/contrib/llvm/tools/lldb/include/lldb/Core/SearchFilter.h head/contrib/llvm/tools/lldb/include/lldb/Core/Section.h head/contrib/llvm/tools/lldb/include/lldb/Core/SourceManager.h head/contrib/llvm/tools/lldb/include/lldb/Core/State.h head/contrib/llvm/tools/lldb/include/lldb/Core/StreamAsynchronousIO.h head/contrib/llvm/tools/lldb/include/lldb/Core/StreamBuffer.h head/contrib/llvm/tools/lldb/include/lldb/Core/StreamFile.h head/contrib/llvm/tools/lldb/include/lldb/Core/UniqueCStringMap.h head/contrib/llvm/tools/lldb/include/lldb/Core/UserSettingsController.h head/contrib/llvm/tools/lldb/include/lldb/Core/Value.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObject.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectCast.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectChild.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResult.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResultCast.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResultChild.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResultImpl.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectDynamicValue.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectList.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectMemory.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectRegister.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectVariable.h head/contrib/llvm/tools/lldb/include/lldb/Core/dwarf.h head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/DataVisualization.h head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormattersContainer.h head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/StringPrinter.h head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSummary.h head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSynthetic.h head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/VectorIterator.h head/contrib/llvm/tools/lldb/include/lldb/Expression/DWARFExpression.h head/contrib/llvm/tools/lldb/include/lldb/Expression/DiagnosticManager.h head/contrib/llvm/tools/lldb/include/lldb/Expression/Expression.h head/contrib/llvm/tools/lldb/include/lldb/Expression/ExpressionParser.h head/contrib/llvm/tools/lldb/include/lldb/Expression/ExpressionVariable.h head/contrib/llvm/tools/lldb/include/lldb/Expression/IRExecutionUnit.h head/contrib/llvm/tools/lldb/include/lldb/Expression/IRInterpreter.h head/contrib/llvm/tools/lldb/include/lldb/Expression/IRMemoryMap.h head/contrib/llvm/tools/lldb/include/lldb/Expression/LLVMUserExpression.h head/contrib/llvm/tools/lldb/include/lldb/Expression/Materializer.h head/contrib/llvm/tools/lldb/include/lldb/Expression/REPL.h head/contrib/llvm/tools/lldb/include/lldb/Expression/UserExpression.h head/contrib/llvm/tools/lldb/include/lldb/Expression/UtilityFunction.h head/contrib/llvm/tools/lldb/include/lldb/Host/Editline.h head/contrib/llvm/tools/lldb/include/lldb/Host/File.h head/contrib/llvm/tools/lldb/include/lldb/Host/FileCache.h head/contrib/llvm/tools/lldb/include/lldb/Host/FileSystem.h head/contrib/llvm/tools/lldb/include/lldb/Host/Host.h head/contrib/llvm/tools/lldb/include/lldb/Host/HostInfo.h head/contrib/llvm/tools/lldb/include/lldb/Host/HostInfoBase.h head/contrib/llvm/tools/lldb/include/lldb/Host/HostNativeProcessBase.h head/contrib/llvm/tools/lldb/include/lldb/Host/HostNativeThread.h head/contrib/llvm/tools/lldb/include/lldb/Host/HostNativeThreadBase.h head/contrib/llvm/tools/lldb/include/lldb/Host/HostNativeThreadForward.h head/contrib/llvm/tools/lldb/include/lldb/Host/HostProcess.h head/contrib/llvm/tools/lldb/include/lldb/Host/HostThread.h head/contrib/llvm/tools/lldb/include/lldb/Host/LockFileBase.h head/contrib/llvm/tools/lldb/include/lldb/Host/MainLoop.h head/contrib/llvm/tools/lldb/include/lldb/Host/MainLoopBase.h head/contrib/llvm/tools/lldb/include/lldb/Host/MonitoringProcessLauncher.h head/contrib/llvm/tools/lldb/include/lldb/Host/PipeBase.h head/contrib/llvm/tools/lldb/include/lldb/Host/PosixApi.h head/contrib/llvm/tools/lldb/include/lldb/Host/ProcessLauncher.h head/contrib/llvm/tools/lldb/include/lldb/Host/Socket.h head/contrib/llvm/tools/lldb/include/lldb/Host/SocketAddress.h head/contrib/llvm/tools/lldb/include/lldb/Host/Symbols.h head/contrib/llvm/tools/lldb/include/lldb/Host/ThreadLauncher.h head/contrib/llvm/tools/lldb/include/lldb/Host/XML.h head/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeBreakpoint.h head/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeBreakpointList.h head/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeProcessProtocol.h head/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeRegisterContext.h head/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeThreadProtocol.h head/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeWatchpointList.h head/contrib/llvm/tools/lldb/include/lldb/Host/common/SoftwareBreakpoint.h head/contrib/llvm/tools/lldb/include/lldb/Host/common/TCPSocket.h head/contrib/llvm/tools/lldb/include/lldb/Host/common/UDPSocket.h head/contrib/llvm/tools/lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h head/contrib/llvm/tools/lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h head/contrib/llvm/tools/lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h head/contrib/llvm/tools/lldb/include/lldb/Host/posix/DomainSocket.h head/contrib/llvm/tools/lldb/include/lldb/Host/posix/HostInfoPosix.h head/contrib/llvm/tools/lldb/include/lldb/Host/posix/HostProcessPosix.h head/contrib/llvm/tools/lldb/include/lldb/Host/posix/HostThreadPosix.h head/contrib/llvm/tools/lldb/include/lldb/Host/posix/LockFilePosix.h head/contrib/llvm/tools/lldb/include/lldb/Host/posix/PipePosix.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/Args.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandCompletions.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandHistory.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandInterpreter.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObject.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObjectRegexCommand.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandReturnObject.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupArchitecture.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupBoolean.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupFile.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupFormat.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupOutputFile.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupPlatform.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupString.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupUInt64.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupUUID.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupVariable.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValue.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueArch.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueArray.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueBoolean.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueChar.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueDictionary.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueEnumeration.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueFileSpec.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueFileSpecList.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueFormat.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueFormatEntity.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueLanguage.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValuePathMappings.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueProperties.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueRegex.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueSInt64.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueString.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueUInt64.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueUUID.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/Options.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/Property.h head/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreter.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/ArmUnwindInfo.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/Block.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTContext.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/CompactUnwindInfo.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/CompileUnit.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/CompilerDecl.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/CompilerDeclContext.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/CompilerType.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/DebugMacros.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/DeclVendor.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/Declaration.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/FuncUnwinders.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/Function.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/GoASTContext.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/JavaASTContext.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/LineEntry.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/OCamlASTContext.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/ObjectContainer.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/ObjectFile.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/Symbol.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolContext.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolFile.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/Symtab.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/Type.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/UnwindPlan.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/UnwindTable.h head/contrib/llvm/tools/lldb/include/lldb/Symbol/Variable.h head/contrib/llvm/tools/lldb/include/lldb/Target/ABI.h head/contrib/llvm/tools/lldb/include/lldb/Target/DynamicLoader.h head/contrib/llvm/tools/lldb/include/lldb/Target/FileAction.h head/contrib/llvm/tools/lldb/include/lldb/Target/InstrumentationRuntime.h head/contrib/llvm/tools/lldb/include/lldb/Target/InstrumentationRuntimeStopInfo.h head/contrib/llvm/tools/lldb/include/lldb/Target/Language.h head/contrib/llvm/tools/lldb/include/lldb/Target/LanguageRuntime.h head/contrib/llvm/tools/lldb/include/lldb/Target/Memory.h head/contrib/llvm/tools/lldb/include/lldb/Target/MemoryRegionInfo.h head/contrib/llvm/tools/lldb/include/lldb/Target/ObjCLanguageRuntime.h head/contrib/llvm/tools/lldb/include/lldb/Target/PathMappingList.h head/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h head/contrib/llvm/tools/lldb/include/lldb/Target/Process.h head/contrib/llvm/tools/lldb/include/lldb/Target/ProcessInfo.h head/contrib/llvm/tools/lldb/include/lldb/Target/ProcessLaunchInfo.h head/contrib/llvm/tools/lldb/include/lldb/Target/QueueItem.h head/contrib/llvm/tools/lldb/include/lldb/Target/QueueList.h head/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h head/contrib/llvm/tools/lldb/include/lldb/Target/RegisterContext.h head/contrib/llvm/tools/lldb/include/lldb/Target/SectionLoadList.h head/contrib/llvm/tools/lldb/include/lldb/Target/StackFrame.h head/contrib/llvm/tools/lldb/include/lldb/Target/StackFrameList.h head/contrib/llvm/tools/lldb/include/lldb/Target/StopInfo.h head/contrib/llvm/tools/lldb/include/lldb/Target/StructuredDataPlugin.h head/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h head/contrib/llvm/tools/lldb/include/lldb/Target/Target.h head/contrib/llvm/tools/lldb/include/lldb/Target/TargetList.h head/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h head/contrib/llvm/tools/lldb/include/lldb/Target/ThreadList.h head/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlan.h head/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunction.h head/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h head/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanPython.h head/contrib/llvm/tools/lldb/include/lldb/Target/ThreadSpec.h head/contrib/llvm/tools/lldb/include/lldb/Target/UnixSignals.h head/contrib/llvm/tools/lldb/include/lldb/Utility/JSON.h head/contrib/llvm/tools/lldb/include/lldb/Utility/LLDBAssert.h head/contrib/llvm/tools/lldb/include/lldb/Utility/NameMatches.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Range.h head/contrib/llvm/tools/lldb/include/lldb/Utility/SafeMachO.h head/contrib/llvm/tools/lldb/include/lldb/Utility/SelectHelper.h head/contrib/llvm/tools/lldb/include/lldb/Utility/SharingPtr.h head/contrib/llvm/tools/lldb/include/lldb/Utility/StringExtractor.h head/contrib/llvm/tools/lldb/include/lldb/Utility/StringLexer.h head/contrib/llvm/tools/lldb/include/lldb/Utility/TaskPool.h head/contrib/llvm/tools/lldb/include/lldb/Utility/Timeout.h head/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h head/contrib/llvm/tools/lldb/include/lldb/lldb-forward.h head/contrib/llvm/tools/lldb/include/lldb/lldb-private-enumerations.h head/contrib/llvm/tools/lldb/include/lldb/lldb-private-forward.h head/contrib/llvm/tools/lldb/include/lldb/lldb-private-interfaces.h head/contrib/llvm/tools/lldb/include/lldb/lldb-private-types.h head/contrib/llvm/tools/lldb/include/lldb/lldb-types.h head/contrib/llvm/tools/lldb/source/API/SBAddress.cpp head/contrib/llvm/tools/lldb/source/API/SBBlock.cpp head/contrib/llvm/tools/lldb/source/API/SBBreakpoint.cpp head/contrib/llvm/tools/lldb/source/API/SBBreakpointLocation.cpp head/contrib/llvm/tools/lldb/source/API/SBBroadcaster.cpp head/contrib/llvm/tools/lldb/source/API/SBCommandReturnObject.cpp head/contrib/llvm/tools/lldb/source/API/SBCommunication.cpp head/contrib/llvm/tools/lldb/source/API/SBCompileUnit.cpp head/contrib/llvm/tools/lldb/source/API/SBData.cpp head/contrib/llvm/tools/lldb/source/API/SBDebugger.cpp head/contrib/llvm/tools/lldb/source/API/SBDeclaration.cpp head/contrib/llvm/tools/lldb/source/API/SBError.cpp head/contrib/llvm/tools/lldb/source/API/SBEvent.cpp head/contrib/llvm/tools/lldb/source/API/SBFileSpec.cpp head/contrib/llvm/tools/lldb/source/API/SBFileSpecList.cpp head/contrib/llvm/tools/lldb/source/API/SBFrame.cpp head/contrib/llvm/tools/lldb/source/API/SBFunction.cpp head/contrib/llvm/tools/lldb/source/API/SBHostOS.cpp head/contrib/llvm/tools/lldb/source/API/SBInstruction.cpp head/contrib/llvm/tools/lldb/source/API/SBInstructionList.cpp head/contrib/llvm/tools/lldb/source/API/SBLineEntry.cpp head/contrib/llvm/tools/lldb/source/API/SBListener.cpp head/contrib/llvm/tools/lldb/source/API/SBMemoryRegionInfo.cpp head/contrib/llvm/tools/lldb/source/API/SBMemoryRegionInfoList.cpp head/contrib/llvm/tools/lldb/source/API/SBModule.cpp head/contrib/llvm/tools/lldb/source/API/SBModuleSpec.cpp head/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp head/contrib/llvm/tools/lldb/source/API/SBProcess.cpp head/contrib/llvm/tools/lldb/source/API/SBQueue.cpp head/contrib/llvm/tools/lldb/source/API/SBQueueItem.cpp head/contrib/llvm/tools/lldb/source/API/SBSection.cpp head/contrib/llvm/tools/lldb/source/API/SBSourceManager.cpp head/contrib/llvm/tools/lldb/source/API/SBStream.cpp head/contrib/llvm/tools/lldb/source/API/SBStringList.cpp head/contrib/llvm/tools/lldb/source/API/SBStructuredData.cpp head/contrib/llvm/tools/lldb/source/API/SBSymbol.cpp head/contrib/llvm/tools/lldb/source/API/SBSymbolContext.cpp head/contrib/llvm/tools/lldb/source/API/SBTarget.cpp head/contrib/llvm/tools/lldb/source/API/SBThread.cpp head/contrib/llvm/tools/lldb/source/API/SBThreadPlan.cpp head/contrib/llvm/tools/lldb/source/API/SBType.cpp head/contrib/llvm/tools/lldb/source/API/SBTypeEnumMember.cpp head/contrib/llvm/tools/lldb/source/API/SBUnixSignals.cpp head/contrib/llvm/tools/lldb/source/API/SBValue.cpp head/contrib/llvm/tools/lldb/source/API/SBValueList.cpp head/contrib/llvm/tools/lldb/source/API/SBWatchpoint.cpp head/contrib/llvm/tools/lldb/source/API/SystemInitializerFull.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/Breakpoint.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointID.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointIDList.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointList.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocation.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointOptions.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolver.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverAddress.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverName.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointSite.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointSiteList.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/Watchpoint.cpp head/contrib/llvm/tools/lldb/source/Breakpoint/WatchpointOptions.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandCompletions.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectArgs.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectArgs.h head/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpoint.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpointCommand.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectBugreport.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectCommands.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectDisassemble.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectDisassemble.h head/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.h head/contrib/llvm/tools/lldb/source/Commands/CommandObjectFrame.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectHelp.h head/contrib/llvm/tools/lldb/source/Commands/CommandObjectLog.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectRegister.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectSettings.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectSource.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectType.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.cpp head/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpointCommand.cpp head/contrib/llvm/tools/lldb/source/Core/Address.cpp head/contrib/llvm/tools/lldb/source/Core/AddressRange.cpp head/contrib/llvm/tools/lldb/source/Core/AddressResolver.cpp head/contrib/llvm/tools/lldb/source/Core/AddressResolverFileLine.cpp head/contrib/llvm/tools/lldb/source/Core/AddressResolverName.cpp head/contrib/llvm/tools/lldb/source/Core/ArchSpec.cpp head/contrib/llvm/tools/lldb/source/Core/Broadcaster.cpp head/contrib/llvm/tools/lldb/source/Core/Communication.cpp head/contrib/llvm/tools/lldb/source/Core/Debugger.cpp head/contrib/llvm/tools/lldb/source/Core/Disassembler.cpp head/contrib/llvm/tools/lldb/source/Core/DynamicLoader.cpp head/contrib/llvm/tools/lldb/source/Core/EmulateInstruction.cpp head/contrib/llvm/tools/lldb/source/Core/Event.cpp head/contrib/llvm/tools/lldb/source/Core/FileLineResolver.cpp head/contrib/llvm/tools/lldb/source/Core/FileSpecList.cpp head/contrib/llvm/tools/lldb/source/Core/FormatEntity.cpp head/contrib/llvm/tools/lldb/source/Core/IOHandler.cpp head/contrib/llvm/tools/lldb/source/Core/Listener.cpp head/contrib/llvm/tools/lldb/source/Core/Mangled.cpp head/contrib/llvm/tools/lldb/source/Core/Module.cpp head/contrib/llvm/tools/lldb/source/Core/ModuleList.cpp head/contrib/llvm/tools/lldb/source/Core/Opcode.cpp head/contrib/llvm/tools/lldb/source/Core/PluginManager.cpp head/contrib/llvm/tools/lldb/source/Core/RegisterValue.cpp head/contrib/llvm/tools/lldb/source/Core/Scalar.cpp head/contrib/llvm/tools/lldb/source/Core/SearchFilter.cpp head/contrib/llvm/tools/lldb/source/Core/Section.cpp head/contrib/llvm/tools/lldb/source/Core/SourceManager.cpp head/contrib/llvm/tools/lldb/source/Core/State.cpp head/contrib/llvm/tools/lldb/source/Core/StreamAsynchronousIO.cpp head/contrib/llvm/tools/lldb/source/Core/StreamFile.cpp head/contrib/llvm/tools/lldb/source/Core/UserSettingsController.cpp head/contrib/llvm/tools/lldb/source/Core/Value.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObject.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectCast.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectChild.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResult.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResultCast.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResultChild.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResultImpl.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectDynamicValue.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectList.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectMemory.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectRegister.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectSyntheticFilter.cpp head/contrib/llvm/tools/lldb/source/Core/ValueObjectVariable.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/CXXFunctionPointer.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/FormatManager.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/FormattersHelpers.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/StringPrinter.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategory.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategoryMap.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/TypeFormat.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/TypeSummary.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/TypeSynthetic.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/TypeValidator.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp head/contrib/llvm/tools/lldb/source/DataFormatters/VectorType.cpp head/contrib/llvm/tools/lldb/source/Expression/DWARFExpression.cpp head/contrib/llvm/tools/lldb/source/Expression/DiagnosticManager.cpp head/contrib/llvm/tools/lldb/source/Expression/ExpressionSourceCode.cpp head/contrib/llvm/tools/lldb/source/Expression/ExpressionVariable.cpp head/contrib/llvm/tools/lldb/source/Expression/FunctionCaller.cpp head/contrib/llvm/tools/lldb/source/Expression/IRDynamicChecks.cpp head/contrib/llvm/tools/lldb/source/Expression/IRExecutionUnit.cpp head/contrib/llvm/tools/lldb/source/Expression/IRInterpreter.cpp head/contrib/llvm/tools/lldb/source/Expression/IRMemoryMap.cpp head/contrib/llvm/tools/lldb/source/Expression/LLVMUserExpression.cpp head/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp head/contrib/llvm/tools/lldb/source/Expression/REPL.cpp head/contrib/llvm/tools/lldb/source/Expression/UserExpression.cpp head/contrib/llvm/tools/lldb/source/Expression/UtilityFunction.cpp head/contrib/llvm/tools/lldb/source/Host/common/Editline.cpp head/contrib/llvm/tools/lldb/source/Host/common/File.cpp head/contrib/llvm/tools/lldb/source/Host/common/FileCache.cpp head/contrib/llvm/tools/lldb/source/Host/common/FileSystem.cpp head/contrib/llvm/tools/lldb/source/Host/common/Host.cpp head/contrib/llvm/tools/lldb/source/Host/common/HostInfoBase.cpp head/contrib/llvm/tools/lldb/source/Host/common/HostNativeThreadBase.cpp head/contrib/llvm/tools/lldb/source/Host/common/HostProcess.cpp head/contrib/llvm/tools/lldb/source/Host/common/HostThread.cpp head/contrib/llvm/tools/lldb/source/Host/common/LockFileBase.cpp head/contrib/llvm/tools/lldb/source/Host/common/MonitoringProcessLauncher.cpp head/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpoint.cpp head/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpointList.cpp head/contrib/llvm/tools/lldb/source/Host/common/NativeProcessProtocol.cpp head/contrib/llvm/tools/lldb/source/Host/common/NativeRegisterContext.cpp head/contrib/llvm/tools/lldb/source/Host/common/NativeThreadProtocol.cpp head/contrib/llvm/tools/lldb/source/Host/common/NativeWatchpointList.cpp head/contrib/llvm/tools/lldb/source/Host/common/PipeBase.cpp head/contrib/llvm/tools/lldb/source/Host/common/Socket.cpp head/contrib/llvm/tools/lldb/source/Host/common/SocketAddress.cpp head/contrib/llvm/tools/lldb/source/Host/common/SoftwareBreakpoint.cpp head/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp head/contrib/llvm/tools/lldb/source/Host/common/TCPSocket.cpp head/contrib/llvm/tools/lldb/source/Host/common/ThreadLauncher.cpp head/contrib/llvm/tools/lldb/source/Host/common/UDPSocket.cpp head/contrib/llvm/tools/lldb/source/Host/freebsd/Host.cpp head/contrib/llvm/tools/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp head/contrib/llvm/tools/lldb/source/Host/netbsd/Host.cpp head/contrib/llvm/tools/lldb/source/Host/netbsd/HostInfoNetBSD.cpp head/contrib/llvm/tools/lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp head/contrib/llvm/tools/lldb/source/Host/posix/DomainSocket.cpp head/contrib/llvm/tools/lldb/source/Host/posix/FileSystem.cpp head/contrib/llvm/tools/lldb/source/Host/posix/HostInfoPosix.cpp head/contrib/llvm/tools/lldb/source/Host/posix/HostProcessPosix.cpp head/contrib/llvm/tools/lldb/source/Host/posix/HostThreadPosix.cpp head/contrib/llvm/tools/lldb/source/Host/posix/LockFilePosix.cpp head/contrib/llvm/tools/lldb/source/Host/posix/PipePosix.cpp head/contrib/llvm/tools/lldb/source/Initialization/SystemInitializerCommon.cpp head/contrib/llvm/tools/lldb/source/Interpreter/Args.cpp head/contrib/llvm/tools/lldb/source/Interpreter/CommandAlias.cpp head/contrib/llvm/tools/lldb/source/Interpreter/CommandHistory.cpp head/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp head/contrib/llvm/tools/lldb/source/Interpreter/CommandObject.cpp head/contrib/llvm/tools/lldb/source/Interpreter/CommandReturnObject.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupArchitecture.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupBoolean.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFile.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFormat.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupOutputFile.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupPlatform.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupString.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUInt64.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUUID.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupVariable.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupWatchpoint.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValue.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueArch.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueArray.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueBoolean.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueChar.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueDictionary.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueEnumeration.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFileSpec.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFileSpecLIst.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFormat.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFormatEntity.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueLanguage.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValuePathMappings.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueProperties.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueRegex.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueSInt64.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueString.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueUInt64.cpp head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueUUID.cpp head/contrib/llvm/tools/lldb/source/Interpreter/Options.cpp head/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.h head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h head/contrib/llvm/tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.h head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.h head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.h head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.h head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.h head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoParser.cpp head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoParser.h head/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.cpp head/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp head/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h head/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulationStateARM.cpp head/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h head/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp head/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h head/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h head/contrib/llvm/tools/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxx.h head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.h head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoFormatterFunctions.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoFormatterFunctions.h head/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoLanguage.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoLanguage.h head/contrib/llvm/tools/lldb/source/Plugins/Language/Java/JavaFormatterFunctions.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/Java/JavaLanguage.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/Java/JavaLanguage.h head/contrib/llvm/tools/lldb/source/Plugins/Language/OCaml/CMakeLists.txt head/contrib/llvm/tools/lldb/source/Plugins/Language/OCaml/OCamlLanguage.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/OCaml/OCamlLanguage.h head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/CF.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/CF.h head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/Cocoa.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/Cocoa.h head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/CoreMedia.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/CoreMedia.h head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSArray.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSDictionary.h head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSError.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSException.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSSet.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSSet.h head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSString.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSString.h head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/ObjCLanguage.h head/contrib/llvm/tools/lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptScriptGroup.cpp head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp head/contrib/llvm/tools/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp head/contrib/llvm/tools/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp head/contrib/llvm/tools/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h head/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp head/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.h head/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp head/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h head/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp head/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.cpp head/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.h head/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp head/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h head/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp head/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h head/contrib/llvm/tools/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp head/contrib/llvm/tools/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h head/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp head/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.h head/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp head/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/DarwinProcessLauncher.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/DarwinProcessLauncher.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/MachException.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/MachException.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/NativeProcessDarwin.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/NativeProcessDarwin.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/NativeThreadDarwin.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/NativeThreadDarwin.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/NativeThreadListDarwin.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/NativeThreadListDarwin.h head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/POSIXStopInfo.h head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.h head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_powerpc.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_x86.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/CrashReason.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDummy.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips64.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/ThreadMemory.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/ThreadMemory.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindLLDB.h head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.h head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.h head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.h head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.h head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/CMakeLists.txt head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/MinidumpParser.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/MinidumpParser.h head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/MinidumpTypes.h head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/ProcessMinidump.h head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.cpp head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/ThreadMinidump.cpp head/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp head/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp head/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h head/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp head/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h head/contrib/llvm/tools/lldb/source/Plugins/StructuredData/DarwinLog/CMakeLists.txt head/contrib/llvm/tools/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp head/contrib/llvm/tools/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserOCaml.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIECollection.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h head/contrib/llvm/tools/lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp head/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp head/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp head/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp head/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.h head/contrib/llvm/tools/lldb/source/Symbol/ArmUnwindInfo.cpp head/contrib/llvm/tools/lldb/source/Symbol/Block.cpp head/contrib/llvm/tools/lldb/source/Symbol/ClangASTContext.cpp head/contrib/llvm/tools/lldb/source/Symbol/ClangASTImporter.cpp head/contrib/llvm/tools/lldb/source/Symbol/ClangExternalASTSourceCallbacks.cpp head/contrib/llvm/tools/lldb/source/Symbol/ClangExternalASTSourceCommon.cpp head/contrib/llvm/tools/lldb/source/Symbol/CompactUnwindInfo.cpp head/contrib/llvm/tools/lldb/source/Symbol/CompilerType.cpp head/contrib/llvm/tools/lldb/source/Symbol/DWARFCallFrameInfo.cpp head/contrib/llvm/tools/lldb/source/Symbol/Declaration.cpp head/contrib/llvm/tools/lldb/source/Symbol/FuncUnwinders.cpp head/contrib/llvm/tools/lldb/source/Symbol/Function.cpp head/contrib/llvm/tools/lldb/source/Symbol/GoASTContext.cpp head/contrib/llvm/tools/lldb/source/Symbol/JavaASTContext.cpp head/contrib/llvm/tools/lldb/source/Symbol/LineTable.cpp head/contrib/llvm/tools/lldb/source/Symbol/OCamlASTContext.cpp head/contrib/llvm/tools/lldb/source/Symbol/ObjectFile.cpp head/contrib/llvm/tools/lldb/source/Symbol/Symbol.cpp head/contrib/llvm/tools/lldb/source/Symbol/SymbolContext.cpp head/contrib/llvm/tools/lldb/source/Symbol/SymbolFile.cpp head/contrib/llvm/tools/lldb/source/Symbol/SymbolVendor.cpp head/contrib/llvm/tools/lldb/source/Symbol/Symtab.cpp head/contrib/llvm/tools/lldb/source/Symbol/Type.cpp head/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp head/contrib/llvm/tools/lldb/source/Symbol/UnwindTable.cpp head/contrib/llvm/tools/lldb/source/Symbol/Variable.cpp head/contrib/llvm/tools/lldb/source/Symbol/VariableList.cpp head/contrib/llvm/tools/lldb/source/Target/ABI.cpp head/contrib/llvm/tools/lldb/source/Target/FileAction.cpp head/contrib/llvm/tools/lldb/source/Target/InstrumentationRuntime.cpp head/contrib/llvm/tools/lldb/source/Target/Language.cpp head/contrib/llvm/tools/lldb/source/Target/LanguageRuntime.cpp head/contrib/llvm/tools/lldb/source/Target/Memory.cpp head/contrib/llvm/tools/lldb/source/Target/ObjCLanguageRuntime.cpp head/contrib/llvm/tools/lldb/source/Target/PathMappingList.cpp head/contrib/llvm/tools/lldb/source/Target/Platform.cpp head/contrib/llvm/tools/lldb/source/Target/Process.cpp head/contrib/llvm/tools/lldb/source/Target/ProcessInfo.cpp head/contrib/llvm/tools/lldb/source/Target/ProcessLaunchInfo.cpp head/contrib/llvm/tools/lldb/source/Target/RegisterContext.cpp head/contrib/llvm/tools/lldb/source/Target/SectionLoadHistory.cpp head/contrib/llvm/tools/lldb/source/Target/SectionLoadList.cpp head/contrib/llvm/tools/lldb/source/Target/StackFrame.cpp head/contrib/llvm/tools/lldb/source/Target/StackFrameList.cpp head/contrib/llvm/tools/lldb/source/Target/StackID.cpp head/contrib/llvm/tools/lldb/source/Target/StopInfo.cpp head/contrib/llvm/tools/lldb/source/Target/Target.cpp head/contrib/llvm/tools/lldb/source/Target/TargetList.cpp head/contrib/llvm/tools/lldb/source/Target/Thread.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadList.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlan.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanBase.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallUserExpression.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanPython.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanRunToAddress.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanShouldStopHere.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInRange.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInstruction.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOut.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOverRange.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepRange.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepThrough.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepUntil.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadPlanTracer.cpp head/contrib/llvm/tools/lldb/source/Target/ThreadSpec.cpp head/contrib/llvm/tools/lldb/source/Target/UnixSignals.cpp head/contrib/llvm/tools/lldb/source/Utility/ARM64_DWARF_Registers.h head/contrib/llvm/tools/lldb/source/Utility/ARM_DWARF_Registers.h head/contrib/llvm/tools/lldb/source/Utility/JSON.cpp head/contrib/llvm/tools/lldb/source/Utility/LLDBAssert.cpp head/contrib/llvm/tools/lldb/source/Utility/NameMatches.cpp head/contrib/llvm/tools/lldb/source/Utility/Range.cpp head/contrib/llvm/tools/lldb/source/Utility/SelectHelper.cpp head/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp head/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp head/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.h head/contrib/llvm/tools/lldb/source/Utility/StringLexer.cpp head/contrib/llvm/tools/lldb/source/Utility/TaskPool.cpp head/contrib/llvm/tools/lldb/source/Utility/UriParser.cpp head/contrib/llvm/tools/lldb/tools/argdumper/argdumper.cpp head/contrib/llvm/tools/lldb/tools/driver/Driver.cpp head/contrib/llvm/tools/lldb/tools/driver/Driver.h head/contrib/llvm/tools/lldb/tools/driver/Platform.h head/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdBase.cpp head/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdData.h head/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdStack.cpp head/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdVar.cpp head/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnBase.cpp head/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnBase.h head/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebugger.cpp head/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp head/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriver.cpp head/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriverBase.cpp head/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriverMain.cpp head/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilString.cpp head/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilString.h head/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilThreadBaseStd.h head/contrib/llvm/tools/lldb/tools/lldb-mi/Platform.h head/contrib/llvm/tools/lldb/tools/lldb-server/Acceptor.cpp head/contrib/llvm/tools/lldb/tools/lldb-server/Acceptor.h head/contrib/llvm/tools/lldb/tools/lldb-server/LLDBServerUtilities.cpp head/contrib/llvm/tools/lldb/tools/lldb-server/lldb-gdbserver.cpp head/contrib/llvm/tools/lldb/tools/lldb-server/lldb-platform.cpp head/contrib/llvm/tools/lli/OrcLazyJIT.cpp head/contrib/llvm/tools/lli/OrcLazyJIT.h head/contrib/llvm/tools/lli/RemoteJITUtils.h head/contrib/llvm/tools/lli/lli.cpp head/contrib/llvm/tools/llvm-ar/llvm-ar.cpp head/contrib/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp head/contrib/llvm/tools/llvm-cov/CodeCoverage.cpp head/contrib/llvm/tools/llvm-cov/CoverageReport.cpp head/contrib/llvm/tools/llvm-cov/CoverageReport.h head/contrib/llvm/tools/llvm-cov/CoverageSummaryInfo.h head/contrib/llvm/tools/llvm-cov/TestingSupport.cpp head/contrib/llvm/tools/llvm-cov/gcov.cpp head/contrib/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp head/contrib/llvm/tools/llvm-diff/DiffConsumer.cpp head/contrib/llvm/tools/llvm-diff/DifferenceEngine.cpp head/contrib/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp head/contrib/llvm/tools/llvm-extract/llvm-extract.cpp head/contrib/llvm/tools/llvm-link/llvm-link.cpp head/contrib/llvm/tools/llvm-lto/llvm-lto.cpp head/contrib/llvm/tools/llvm-lto2/llvm-lto2.cpp head/contrib/llvm/tools/llvm-mc/llvm-mc.cpp head/contrib/llvm/tools/llvm-modextract/llvm-modextract.cpp head/contrib/llvm/tools/llvm-nm/llvm-nm.cpp head/contrib/llvm/tools/llvm-objdump/MachODump.cpp head/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp head/contrib/llvm/tools/llvm-objdump/llvm-objdump.h head/contrib/llvm/tools/llvm-profdata/llvm-profdata.cpp head/contrib/llvm/tools/llvm-readobj/COFFDumper.cpp head/contrib/llvm/tools/llvm-readobj/COFFImportDumper.cpp head/contrib/llvm/tools/llvm-readobj/ELFDumper.cpp head/contrib/llvm/tools/llvm-readobj/MachODumper.cpp head/contrib/llvm/tools/llvm-readobj/ObjDumper.h head/contrib/llvm/tools/llvm-readobj/llvm-readobj.cpp head/contrib/llvm/tools/llvm-readobj/llvm-readobj.h head/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp head/contrib/llvm/tools/llvm-stress/llvm-stress.cpp head/contrib/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp head/contrib/llvm/tools/llvm-xray/llvm-xray.cc head/contrib/llvm/tools/llvm-xray/xray-account.cc head/contrib/llvm/tools/llvm-xray/xray-converter.cc head/contrib/llvm/tools/llvm-xray/xray-extract.cc head/contrib/llvm/tools/opt/BreakpointPrinter.cpp head/contrib/llvm/tools/opt/GraphPrinters.cpp head/contrib/llvm/tools/opt/NewPMDriver.cpp head/contrib/llvm/tools/opt/NewPMDriver.h head/contrib/llvm/tools/opt/opt.cpp head/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp head/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp head/contrib/llvm/utils/TableGen/Attributes.cpp head/contrib/llvm/utils/TableGen/CallingConvEmitter.cpp head/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp head/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp head/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h head/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp head/contrib/llvm/utils/TableGen/CodeGenInstruction.h head/contrib/llvm/utils/TableGen/CodeGenIntrinsics.h head/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp head/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp head/contrib/llvm/utils/TableGen/CodeGenRegisters.h head/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp head/contrib/llvm/utils/TableGen/CodeGenTarget.cpp head/contrib/llvm/utils/TableGen/CodeGenTarget.h head/contrib/llvm/utils/TableGen/DAGISelMatcher.h head/contrib/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp head/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp head/contrib/llvm/utils/TableGen/DAGISelMatcherOpt.cpp head/contrib/llvm/utils/TableGen/FastISelEmitter.cpp head/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp head/contrib/llvm/utils/TableGen/GlobalISelEmitter.cpp head/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp head/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp head/contrib/llvm/utils/TableGen/OptParserEmitter.cpp head/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp head/contrib/llvm/utils/TableGen/SearchableTableEmitter.cpp head/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp head/contrib/llvm/utils/TableGen/SubtargetFeatureInfo.cpp head/contrib/llvm/utils/TableGen/SubtargetFeatureInfo.h head/contrib/llvm/utils/TableGen/TableGen.cpp head/contrib/llvm/utils/TableGen/TableGenBackends.h head/contrib/llvm/utils/TableGen/Types.cpp head/contrib/llvm/utils/TableGen/X86DisassemblerTables.cpp head/contrib/llvm/utils/TableGen/X86DisassemblerTables.h head/contrib/llvm/utils/TableGen/X86ModRMFilters.h head/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp head/contrib/llvm/utils/TableGen/X86RecognizableInstr.h 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/clang/Basic/Version.inc head/lib/clang/include/clang/Config/config.h head/lib/clang/include/lld/Config/Version.inc head/lib/clang/include/llvm/Config/abi-breaking.h head/lib/clang/include/llvm/Config/config.h head/lib/clang/include/llvm/Config/llvm-config.h head/lib/clang/include/llvm/Support/DataTypes.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/libc++/Makefile head/lib/libclang_rt/Makefile.inc head/lib/libclang_rt/asan/Makefile head/lib/libclang_rt/asan_dynamic/Makefile head/lib/libclang_rt/include/Makefile head/lib/libclang_rt/profile/Makefile head/lib/libclang_rt/safestack/Makefile head/lib/libclang_rt/stats/Makefile head/lib/libclang_rt/ubsan_standalone/Makefile head/lib/libcompiler_rt/Makefile.inc head/sys/sys/param.h head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.bin/clang/Makefile head/usr.bin/clang/clang-tblgen/Makefile head/usr.bin/clang/lld/Makefile head/usr.bin/clang/llvm-tblgen/Makefile head/usr.bin/clang/llvm-xray/Makefile Directory Properties: head/ (props changed) head/MAINTAINERS (props changed) head/cddl/ (props changed) head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/zdb/ (props changed) head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) head/contrib/atf/ (props changed) head/contrib/binutils/ (props changed) head/contrib/blacklist/ (props changed) head/contrib/bmake/ (props changed) head/contrib/byacc/ (props changed) head/contrib/compiler-rt/ (props changed) head/contrib/dma/ (props changed) head/contrib/elftoolchain/ (props changed) head/contrib/elftoolchain/ar/ (props changed) head/contrib/elftoolchain/elfdump/ (props changed) head/contrib/gcc/ (props changed) head/contrib/ipfilter/ (props changed) head/contrib/less/ (props changed) head/contrib/libarchive/ (props changed) head/contrib/libc++/ (props changed) head/contrib/libc-vis/ (props changed) head/contrib/libpcap/ (props changed) head/contrib/libstdc++/ (props changed) head/contrib/libxo/ (props changed) head/contrib/llvm/ (props changed) head/contrib/llvm/tools/clang/ (props changed) head/contrib/llvm/tools/lld/ (props changed) head/contrib/llvm/tools/lldb/ (props changed) head/contrib/mdocml/ (props changed) head/contrib/netbsd-tests/ (props changed) head/contrib/openbsm/ (props changed) head/contrib/openpam/ (props changed) head/contrib/pjdfstest/ (props changed) head/contrib/tcpdump/ (props changed) head/contrib/top/ (props changed) head/contrib/xz/ (props changed) head/contrib/zstd/ (props changed) head/crypto/heimdal/ (props changed) head/crypto/openssh/ (props changed) head/crypto/openssl/ (props changed) head/gnu/lib/ (props changed) head/gnu/usr.bin/gdb/ (props changed) head/lib/libedit/ (props changed) head/sys/amd64/amd64/efirt.c (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) head/sys/contrib/dev/acpica/ (props changed) head/sys/contrib/ipfilter/ (props changed) head/sys/contrib/octeon-sdk/ (props changed) head/sys/gnu/dts/arm/ (props changed) head/sys/gnu/dts/include/ (props changed) head/usr.sbin/bhyve/bhyvegc.c (props changed) head/usr.sbin/bhyve/pci_fbuf.c (props changed) head/usr.sbin/bhyve/pci_xhci.c (props changed) head/usr.sbin/bhyve/rfb.c (props changed) head/usr.sbin/bhyve/rfb.h (props changed) Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sat Jul 22 10:38:44 2017 (r321368) +++ head/ObsoleteFiles.inc Sat Jul 22 11:08:25 2017 (r321369) @@ -38,6 +38,119 @@ # xargs -n1 | sort | uniq -d; # done +# 20170722: new clang import which bumps version from 4.0.0 to 5.0.0. +OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/esan_interface.h +OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/tsan_interface_atomic.h +OLD_DIRS+=usr/lib/clang/4.0.0/include/sanitizer +OLD_FILES+=usr/lib/clang/4.0.0/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/4.0.0/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/4.0.0/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/4.0.0/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/4.0.0/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/4.0.0/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/4.0.0/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/4.0.0/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/4.0.0/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/4.0.0/include/adxintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/altivec.h +OLD_FILES+=usr/lib/clang/4.0.0/include/ammintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/arm_acle.h +OLD_FILES+=usr/lib/clang/4.0.0/include/arm_neon.h +OLD_FILES+=usr/lib/clang/4.0.0/include/armintr.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512ifmaintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512ifmavlintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512pfintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512vbmiintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512vbmivlintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512vlcdintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/avxintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/clflushoptintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/cpuid.h +OLD_FILES+=usr/lib/clang/4.0.0/include/emmintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/htmintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/immintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/4.0.0/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/4.0.0/include/mmintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/module.modulemap +OLD_FILES+=usr/lib/clang/4.0.0/include/msa.h +OLD_FILES+=usr/lib/clang/4.0.0/include/mwaitxintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/opencl-c.h +OLD_FILES+=usr/lib/clang/4.0.0/include/pkuintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/s390intrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/shaintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/smmintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/vadefs.h +OLD_FILES+=usr/lib/clang/4.0.0/include/vecintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/x86intrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/xopintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/xsavecintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/xsaveintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/xsaveoptintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/xsavesintrin.h +OLD_FILES+=usr/lib/clang/4.0.0/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/4.0.0/include +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.asan-x86_64.so +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.stats-x86_64.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.stats_client-x86_64.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_DIRS+=usr/lib/clang/4.0.0/lib/freebsd +OLD_DIRS+=usr/lib/clang/4.0.0/lib +OLD_DIRS+=usr/lib/clang/4.0.0 +OLD_FILES+=usr/bin/llvm-pdbdump # 20170610: chown-f_test replaced by chown_test OLD_FILES+=usr/tests/usr.sbin/chown/chown-f_test # 20170609: drop obsolete manpage link (if_rtwn.ko -> rtwn.ko) Modified: head/UPDATING ============================================================================== --- head/UPDATING Sat Jul 22 10:38:44 2017 (r321368) +++ head/UPDATING Sat Jul 22 11:08:25 2017 (r321369) @@ -51,6 +51,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: ****************************** SPECIAL WARNING: ****************************** +20170722: + Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 5.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. + 20170701: WITHOUT_RCMDS is now the default. Set WITH_RCMDS if you need them to be built with the base system. Modified: head/contrib/compiler-rt/include/sanitizer/common_interface_defs.h ============================================================================== --- head/contrib/compiler-rt/include/sanitizer/common_interface_defs.h Sat Jul 22 10:38:44 2017 (r321368) +++ head/contrib/compiler-rt/include/sanitizer/common_interface_defs.h Sat Jul 22 11:08:25 2017 (r321369) @@ -158,8 +158,10 @@ extern "C" { // Prints stack traces for all live heap allocations ordered by total // allocation size until `top_percent` of total live heap is shown. // `top_percent` should be between 1 and 100. + // At most `max_number_of_contexts` contexts (stack traces) is printed. // Experimental feature currently available only with asan on Linux/x86_64. - void __sanitizer_print_memory_profile(size_t top_percent); + void __sanitizer_print_memory_profile(size_t top_percent, + size_t max_number_of_contexts); // Fiber annotation interface. // Before switching to a different stack, one must call Modified: head/contrib/compiler-rt/include/sanitizer/coverage_interface.h ============================================================================== --- head/contrib/compiler-rt/include/sanitizer/coverage_interface.h Sat Jul 22 10:38:44 2017 (r321368) +++ head/contrib/compiler-rt/include/sanitizer/coverage_interface.h Sat Jul 22 11:08:25 2017 (r321369) @@ -19,50 +19,12 @@ extern "C" { #endif - // Initialize coverage. - void __sanitizer_cov_init(); // Record and dump coverage info. void __sanitizer_cov_dump(); // Dump collected coverage info. Sorts pcs by module into individual // .sancov files. void __sanitizer_dump_coverage(const uintptr_t *pcs, uintptr_t len); - - // Open .sancov.packed in the coverage directory and return the file - // descriptor. Returns -1 on failure, or if coverage dumping is disabled. - // This is intended for use by sandboxing code. - intptr_t __sanitizer_maybe_open_cov_file(const char *name); - // Get the number of unique covered blocks (or edges). - // This can be useful for coverage-directed in-process fuzzers. - uintptr_t __sanitizer_get_total_unique_coverage(); - // Get the number of unique indirect caller-callee pairs. - uintptr_t __sanitizer_get_total_unique_caller_callee_pairs(); - - // Reset the basic-block (edge) coverage to the initial state. - // Useful for in-process fuzzing to start collecting coverage from scratch. - // Experimental, will likely not work for multi-threaded process. - void __sanitizer_reset_coverage(); - // Set *data to the array of covered PCs and return the size of that array. - // Some of the entries in *data will be zero. - uintptr_t __sanitizer_get_coverage_guards(uintptr_t **data); - - // The coverage instrumentation may optionally provide imprecise counters. - // Rather than exposing the counter values to the user we instead map - // the counters to a bitset. - // Every counter is associated with 8 bits in the bitset. - // We define 8 value ranges: 1, 2, 3, 4-7, 8-15, 16-31, 32-127, 128+ - // The i-th bit is set to 1 if the counter value is in the i-th range. - // This counter-based coverage implementation is *not* thread-safe. - - // Returns the number of registered coverage counters. - uintptr_t __sanitizer_get_number_of_counters(); - // Updates the counter 'bitset', clears the counters and returns the number of - // new bits in 'bitset'. - // If 'bitset' is nullptr, only clears the counters. - // Otherwise 'bitset' should be at least - // __sanitizer_get_number_of_counters bytes long and 8-aligned. - uintptr_t - __sanitizer_update_counter_bitset_and_clear_counters(uint8_t *bitset); #ifdef __cplusplus } // extern "C" Copied: head/contrib/compiler-rt/include/sanitizer/tsan_interface.h (from r321352, projects/clang500-import/contrib/compiler-rt/include/sanitizer/tsan_interface.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/compiler-rt/include/sanitizer/tsan_interface.h Sat Jul 22 11:08:25 2017 (r321369, copy of r321352, projects/clang500-import/contrib/compiler-rt/include/sanitizer/tsan_interface.h) @@ -0,0 +1,138 @@ +//===-- tsan_interface.h ----------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file is a part of ThreadSanitizer (TSan), a race detector. +// +// Public interface header for TSan. +//===----------------------------------------------------------------------===// +#ifndef SANITIZER_TSAN_INTERFACE_H +#define SANITIZER_TSAN_INTERFACE_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +// __tsan_release establishes a happens-before relation with a preceding +// __tsan_acquire on the same address. +void __tsan_acquire(void *addr); +void __tsan_release(void *addr); + +// Annotations for custom mutexes. +// The annotations allow to get better reports (with sets of locked mutexes), +// detect more types of bugs (e.g. mutex misuses, races between lock/unlock and +// destruction and potential deadlocks) and improve precision and performance +// (by ignoring individual atomic operations in mutex code). However, the +// downside is that annotated mutex code itself is not checked for correctness. + +// Mutex creation flags are passed to __tsan_mutex_create annotation. +// If mutex has no constructor and __tsan_mutex_create is not called, +// the flags may be passed to __tsan_mutex_pre_lock/__tsan_mutex_post_lock +// annotations. + +// Mutex has static storage duration and no-op constructor and destructor. +// This effectively makes tsan ignore destroy annotation. +const unsigned __tsan_mutex_linker_init = 1 << 0; +// Mutex is write reentrant. +const unsigned __tsan_mutex_write_reentrant = 1 << 1; +// Mutex is read reentrant. +const unsigned __tsan_mutex_read_reentrant = 1 << 2; + +// Mutex operation flags: + +// Denotes read lock operation. +const unsigned __tsan_mutex_read_lock = 1 << 3; +// Denotes try lock operation. +const unsigned __tsan_mutex_try_lock = 1 << 4; +// Denotes that a try lock operation has failed to acquire the mutex. +const unsigned __tsan_mutex_try_lock_failed = 1 << 5; +// Denotes that the lock operation acquires multiple recursion levels. +// Number of levels is passed in recursion parameter. +// This is useful for annotation of e.g. Java builtin monitors, +// for which wait operation releases all recursive acquisitions of the mutex. +const unsigned __tsan_mutex_recursive_lock = 1 << 6; +// Denotes that the unlock operation releases all recursion levels. +// Number of released levels is returned and later must be passed to +// the corresponding __tsan_mutex_post_lock annotation. +const unsigned __tsan_mutex_recursive_unlock = 1 << 7; + +// Annotate creation of a mutex. +// Supported flags: mutex creation flags. +void __tsan_mutex_create(void *addr, unsigned flags); + +// Annotate destruction of a mutex. +// Supported flags: +// - __tsan_mutex_linker_init +void __tsan_mutex_destroy(void *addr, unsigned flags); + +// Annotate start of lock operation. +// Supported flags: +// - __tsan_mutex_read_lock +// - __tsan_mutex_try_lock +// - all mutex creation flags +void __tsan_mutex_pre_lock(void *addr, unsigned flags); + +// Annotate end of lock operation. +// Supported flags: +// - __tsan_mutex_read_lock (must match __tsan_mutex_pre_lock) +// - __tsan_mutex_try_lock (must match __tsan_mutex_pre_lock) +// - __tsan_mutex_try_lock_failed +// - __tsan_mutex_recursive_lock +// - all mutex creation flags +void __tsan_mutex_post_lock(void *addr, unsigned flags, int recursion); + +// Annotate start of unlock operation. +// Supported flags: +// - __tsan_mutex_read_lock +// - __tsan_mutex_recursive_unlock +int __tsan_mutex_pre_unlock(void *addr, unsigned flags); + +// Annotate end of unlock operation. +// Supported flags: +// - __tsan_mutex_read_lock (must match __tsan_mutex_pre_unlock) +void __tsan_mutex_post_unlock(void *addr, unsigned flags); + +// Annotate start/end of notify/signal/broadcast operation. +// Supported flags: none. +void __tsan_mutex_pre_signal(void *addr, unsigned flags); +void __tsan_mutex_post_signal(void *addr, unsigned flags); + +// Annotate start/end of a region of code where lock/unlock/signal operation +// diverts to do something else unrelated to the mutex. This can be used to +// annotate, for example, calls into cooperative scheduler or contention +// profiling code. +// These annotations must be called only from within +// __tsan_mutex_pre/post_lock, __tsan_mutex_pre/post_unlock, +// __tsan_mutex_pre/post_signal regions. +// Supported flags: none. +void __tsan_mutex_pre_divert(void *addr, unsigned flags); +void __tsan_mutex_post_divert(void *addr, unsigned flags); + +// External race detection API. +// Can be used by non-instrumented libraries to detect when their objects are +// being used in an unsafe manner. +// - __tsan_external_read/__tsan_external_write annotates the logical reads +// and writes of the object at the specified address. 'caller_pc' should +// be the PC of the library user, which the library can obtain with e.g. +// `__builtin_return_address(0)`. +// - __tsan_external_register_tag registers a 'tag' with the specified name, +// which is later used in read/write annotations to denote the object type +// - __tsan_external_assign_tag can optionally mark a heap object with a tag +void *__tsan_external_register_tag(const char *object_type); +void __tsan_external_register_header(void *tag, const char *header); +void __tsan_external_assign_tag(void *addr, void *tag); +void __tsan_external_read(void *addr, void *caller_pc, void *tag); +void __tsan_external_write(void *addr, void *caller_pc, void *tag); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // SANITIZER_TSAN_INTERFACE_H Modified: head/contrib/compiler-rt/include/xray/xray_interface.h ============================================================================== --- head/contrib/compiler-rt/include/xray/xray_interface.h Sat Jul 22 10:38:44 2017 (r321368) +++ head/contrib/compiler-rt/include/xray/xray_interface.h Sat Jul 22 11:08:25 2017 (r321369) @@ -1,4 +1,4 @@ -//===-- xray_interface.h ----------------------------------------*- C++ -*-===// +//===- xray_interface.h -----------------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -11,41 +11,69 @@ // // APIs for controlling XRay functionality explicitly. //===----------------------------------------------------------------------===// + #ifndef XRAY_XRAY_INTERFACE_H #define XRAY_XRAY_INTERFACE_H +#include #include extern "C" { -enum XRayEntryType { ENTRY = 0, EXIT = 1, TAIL = 2 }; +/// Synchronize this with AsmPrinter::SledKind in LLVM. +enum XRayEntryType { + ENTRY = 0, + EXIT = 1, + TAIL = 2, + LOG_ARGS_ENTRY = 3, + CUSTOM_EVENT = 4, +}; -// Provide a function to invoke for when instrumentation points are hit. This is -// a user-visible control surface that overrides the default implementation. The -// function provided should take the following arguments: -// -// - function id: an identifier that indicates the id of a function; this id -// is generated by xray; the mapping between the function id -// and the actual function pointer is available through -// __xray_table. -// - entry type: identifies what kind of instrumentation point was encountered -// (function entry, function exit, etc.). See the enum -// XRayEntryType for more details. -// -// The user handler must handle correctly spurious calls after this handler is -// removed or replaced with another handler, because it would be too costly for -// XRay runtime to avoid spurious calls. -// To prevent circular calling, the handler function itself and all its -// direct&indirect callees must not be instrumented with XRay, which can be -// achieved by marking them all with: __attribute__((xray_never_instrument)) -// -// Returns 1 on success, 0 on error. +/// Provide a function to invoke for when instrumentation points are hit. This +/// is a user-visible control surface that overrides the default implementation. +/// The function provided should take the following arguments: +/// +/// - function id: an identifier that indicates the id of a function; this id +/// is generated by xray; the mapping between the function id +/// and the actual function pointer is available through +/// __xray_table. +/// - entry type: identifies what kind of instrumentation point was +/// encountered (function entry, function exit, etc.). See the +/// enum XRayEntryType for more details. +/// +/// The user handler must handle correctly spurious calls after this handler is +/// removed or replaced with another handler, because it would be too costly for +/// XRay runtime to avoid spurious calls. +/// To prevent circular calling, the handler function itself and all its +/// direct&indirect callees must not be instrumented with XRay, which can be +/// achieved by marking them all with: __attribute__((xray_never_instrument)) +/// +/// Returns 1 on success, 0 on error. extern int __xray_set_handler(void (*entry)(int32_t, XRayEntryType)); -// This removes whatever the currently provided handler is. Returns 1 on -// success, 0 on error. +/// This removes whatever the currently provided handler is. Returns 1 on +/// success, 0 on error. extern int __xray_remove_handler(); +/// Use XRay to log the first argument of each (instrumented) function call. +/// When this function exits, all threads will have observed the effect and +/// start logging their subsequent affected function calls (if patched). +/// +/// Returns 1 on success, 0 on error. +extern int __xray_set_handler_arg1(void (*entry)(int32_t, XRayEntryType, + uint64_t)); + +/// Disables the XRay handler used to log first arguments of function calls. +/// Returns 1 on success, 0 on error. +extern int __xray_remove_handler_arg1(); + +/// Provide a function to invoke when XRay encounters a custom event. +extern int __xray_set_customevent_handler(void (*entry)(void*, std::size_t)); + +/// This removes whatever the currently provided custom event handler is. +/// Returns 1 on success, 0 on error. +extern int __xray_remove_customevent_handler(); + enum XRayPatchingStatus { NOT_INITIALIZED = 0, SUCCESS = 1, @@ -53,13 +81,31 @@ enum XRayPatchingStatus { FAILED = 3, }; -// This tells XRay to patch the instrumentation points. See XRayPatchingStatus -// for possible result values. +/// This tells XRay to patch the instrumentation points. See XRayPatchingStatus +/// for possible result values. extern XRayPatchingStatus __xray_patch(); -// Reverses the effect of __xray_patch(). See XRayPatchingStatus for possible -// result values. +/// Reverses the effect of __xray_patch(). See XRayPatchingStatus for possible +/// result values. extern XRayPatchingStatus __xray_unpatch(); -} -#endif +/// This patches a specific function id. See XRayPatchingStatus for possible +/// result values. +extern XRayPatchingStatus __xray_patch_function(int32_t FuncId); + +/// This unpatches a specific function id. See XRayPatchingStatus for possible +/// result values. +extern XRayPatchingStatus __xray_unpatch_function(int32_t FuncId); + +/// This function returns the address of the function provided a valid function +/// id. We return 0 if we encounter any error, even if 0 may be a valid function +/// address. +extern uintptr_t __xray_function_address(int32_t FuncId); + +/// This function returns the maximum valid function id. Returns 0 if we +/// encounter errors (when there are no instrumented functions, etc.). +extern size_t __xray_max_function_id(); + +} // end extern "C" + +#endif // XRAY_XRAY_INTERFACE_H Copied: head/contrib/compiler-rt/include/xray/xray_log_interface.h (from r321352, projects/clang500-import/contrib/compiler-rt/include/xray/xray_log_interface.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/compiler-rt/include/xray/xray_log_interface.h Sat Jul 22 11:08:25 2017 (r321369, copy of r321352, projects/clang500-import/contrib/compiler-rt/include/xray/xray_log_interface.h) @@ -0,0 +1,231 @@ +//===-- xray_log_interface.h ----------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file is a part of XRay, a function call tracing system. +// +// APIs for installing a new logging implementation. +// +//===----------------------------------------------------------------------===// +/// +/// XRay allows users to implement their own logging handlers and install them +/// to replace the default runtime-controllable implementation that comes with +/// compiler-rt/xray. The "flight data recorder" (FDR) mode implementation uses +/// this API to install itself in an XRay-enabled binary. See +/// compiler-rt/lib/xray_fdr_logging.{h,cc} for details of that implementation. +/// +/// The high-level usage pattern for these APIs look like the following: +/// +/// // Before we try initializing the log implementation, we must set it as +/// // the log implementation. We provide the function pointers that define +/// // the various initialization, finalization, and other pluggable hooks +/// // that we need. +/// __xray_set_log_impl({...}); +/// +/// // Once that's done, we can now initialize the implementation. Each +/// // implementation has a chance to let users customize the implementation +/// // with a struct that their implementation supports. Roughly this might +/// // look like: +/// MyImplementationOptions opts; +/// opts.enable_feature = true; +/// ... +/// auto init_status = __xray_log_init( +/// BufferSize, MaxBuffers, &opts, sizeof opts); +/// if (init_status != XRayLogInitStatus::XRAY_LOG_INITIALIZED) { +/// // deal with the error here, if there is one. +/// } +/// +/// // When the log implementation has had the chance to initialize, we can +/// // now patch the sleds. +/// auto patch_status = __xray_patch(); +/// if (patch_status != XRayPatchingStatus::SUCCESS) { +/// // deal with the error here, if it is an error. +/// } +/// +/// // If we want to stop the implementation, we can then finalize it (before +/// // optionally flushing the log). +/// auto fin_status = __xray_log_finalize(); +/// if (fin_status != XRayLogInitStatus::XRAY_LOG_FINALIZED) { +/// // deal with the error here, if it is an error. +/// } +/// +/// // We can optionally wait before flushing the log to give other threads a +/// // chance to see that the implementation is already finalized. Also, at +/// // this point we can optionally unpatch the sleds to reduce overheads at +/// // runtime. +/// auto unpatch_status = __xray_unpatch(); +/// if (unpatch_status != XRayPatchingStatus::SUCCESS) { +// // deal with the error here, if it is an error. +// } +/// +/// // If there are logs or data to be flushed somewhere, we can do so only +/// // after we've finalized the log. Some implementations may not actually +/// // have anything to log (it might keep the data in memory, or periodically +/// // be logging the data anyway). +/// auto flush_status = __xray_log_flushLog(); +/// if (flush_status != XRayLogFlushStatus::XRAY_LOG_FLUSHED) { +/// // deal with the error here, if it is an error. +/// } +/// +/// +/// NOTE: Before calling __xray_patch() again, consider re-initializing the +/// implementation first. Some implementations might stay in an "off" state when +/// they are finalized, while some might be in an invalid/unknown state. +/// +#ifndef XRAY_XRAY_LOG_INTERFACE_H +#define XRAY_XRAY_LOG_INTERFACE_H + +#include "xray/xray_interface.h" +#include + +extern "C" { + +/// This enum defines the valid states in which the logging implementation can +/// be at. +enum XRayLogInitStatus { + /// The default state is uninitialized, and in case there were errors in the + /// initialization, the implementation MUST return XRAY_LOG_UNINITIALIZED. + XRAY_LOG_UNINITIALIZED = 0, + + /// Some implementations support multi-stage init (or asynchronous init), and + /// may return XRAY_LOG_INITIALIZING to signal callers of the API that + /// there's an ongoing initialization routine running. This allows + /// implementations to support concurrent threads attempting to initialize, + /// while only signalling success in one. + XRAY_LOG_INITIALIZING = 1, + + /// When an implementation is done initializing, it MUST return + /// XRAY_LOG_INITIALIZED. When users call `__xray_patch()`, they are + /// guaranteed that the implementation installed with + /// `__xray_set_log_impl(...)` has been initialized. + XRAY_LOG_INITIALIZED = 2, + + /// Some implementations might support multi-stage finalization (or + /// asynchronous finalization), and may return XRAY_LOG_FINALIZING to signal + /// callers of the API that there's an ongoing finalization routine running. + /// This allows implementations to support concurrent threads attempting to + /// finalize, while only signalling success/completion in one. + XRAY_LOG_FINALIZING = 3, + + /// When an implementation is done finalizing, it MUST return + /// XRAY_LOG_FINALIZED. It is up to the implementation to determine what the + /// semantics of a finalized implementation is. Some implementations might + /// allow re-initialization once the log is finalized, while some might always + /// be on (and that finalization is a no-op). + XRAY_LOG_FINALIZED = 4, +}; + +/// This enum allows an implementation to signal log flushing operations via +/// `__xray_log_flushLog()`, and the state of flushing the log. +enum XRayLogFlushStatus { + XRAY_LOG_NOT_FLUSHING = 0, + XRAY_LOG_FLUSHING = 1, + XRAY_LOG_FLUSHED = 2, +}; + +/// A valid XRay logging implementation MUST provide all of the function +/// pointers in XRayLogImpl when being installed through `__xray_set_log_impl`. +/// To be precise, ALL the functions pointers MUST NOT be nullptr. +struct XRayLogImpl { + /// The log initialization routine provided by the implementation, always + /// provided with the following parameters: + /// + /// - buffer size + /// - maximum number of buffers + /// - a pointer to an argument struct that the implementation MUST handle + /// - the size of the argument struct + /// + /// See XRayLogInitStatus for details on what the implementation MUST return + /// when called. + /// + /// If the implementation needs to install handlers aside from the 0-argument + /// function call handler, it MUST do so in this initialization handler. + /// + /// See xray_interface.h for available handler installation routines. + XRayLogInitStatus (*log_init)(size_t, size_t, void *, size_t); + + /// The log finalization routine provided by the implementation. + /// + /// See XRayLogInitStatus for details on what the implementation MUST return + /// when called. + XRayLogInitStatus (*log_finalize)(); + + /// The 0-argument function call handler. XRay logging implementations MUST + /// always have a handler for function entry and exit events. In case the + /// implementation wants to support arg1 (or other future extensions to XRay + /// logging) those MUST be installed by the installed 'log_init' handler. + void (*handle_arg0)(int32_t, XRayEntryType); + + /// The log implementation provided routine for when __xray_log_flushLog() is + /// called. + /// + /// See XRayLogFlushStatus for details on what the implementation MUST return + /// when called. + XRayLogFlushStatus (*flush_log)(); +}; + +/// This function installs a new logging implementation that XRay will use. In +/// case there are any nullptr members in Impl, XRay will *uninstall any +/// existing implementations*. It does NOT patch the instrumentation sleds. +/// +/// NOTE: This function does NOT attempt to finalize the currently installed +/// implementation. Use with caution. +/// +/// It is guaranteed safe to call this function in the following states: +/// +/// - When the implementation is UNINITIALIZED. +/// - When the implementation is FINALIZED. +/// - When there is no current implementation installed. +/// +/// It is logging implementation defined what happens when this function is +/// called while in any other states. +void __xray_set_log_impl(XRayLogImpl Impl); + +/// This function removes the currently installed implementation. It will also +/// uninstall any handlers that have been previously installed. It does NOT +/// unpatch the instrumentation sleds. +/// +/// NOTE: This function does NOT attempt to finalize the currently installed +/// implementation. Use with caution. +/// +/// It is guaranteed safe to call this function in the following states: +/// +/// - When the implementation is UNINITIALIZED. +/// - When the implementation is FINALIZED. +/// - When there is no current implementation installed. +/// +/// It is logging implementation defined what happens when this function is +/// called while in any other states. +void __xray_remove_log_impl(); + +/// Invokes the installed implementation initialization routine. See +/// XRayLogInitStatus for what the return values mean. +XRayLogInitStatus __xray_log_init(size_t BufferSize, size_t MaxBuffers, + void *Args, size_t ArgsSize); + +/// Invokes the installed implementation finalization routine. See +/// XRayLogInitStatus for what the return values mean. +XRayLogInitStatus __xray_log_finalize(); + +/// Invokes the install implementation log flushing routine. See +/// XRayLogFlushStatus for what the return values mean. +XRayLogFlushStatus __xray_log_flushLog(); + +} // extern "C" + +namespace __xray { + +// Options used by the LLVM XRay FDR implementation. +struct FDRLoggingOptions { + bool ReportErrors = false; + int Fd = -1; +}; + +} // namespace __xray + +#endif // XRAY_XRAY_LOG_INTERFACE_H Modified: head/contrib/compiler-rt/include/xray/xray_records.h ============================================================================== --- head/contrib/compiler-rt/include/xray/xray_records.h Sat Jul 22 10:38:44 2017 (r321368) +++ head/contrib/compiler-rt/include/xray/xray_records.h Sat Jul 22 11:08:25 2017 (r321369) @@ -21,8 +21,17 @@ namespace __xray { enum FileTypes { NAIVE_LOG = 0, + FDR_LOG = 1, }; +// FDR mode use of the union field in the XRayFileHeader. +struct alignas(16) FdrAdditionalHeaderData { + uint64_t ThreadBufferSize; +}; + +static_assert(sizeof(FdrAdditionalHeaderData) == 16, + "FdrAdditionalHeaderData != 16 bytes"); + // This data structure is used to describe the contents of the file. We use this // for versioning the supported XRay file formats. struct alignas(32) XRayFileHeader { @@ -40,6 +49,16 @@ struct alignas(32) XRayFileHeader { // The frequency by which TSC increases per-second. alignas(8) uint64_t CycleFrequency = 0; + + union { + char FreeForm[16]; + // The current civiltime timestamp, as retrived from 'clock_gettime'. This + // allows readers of the file to determine when the file was created or + // written down. + struct timespec TS; + + struct FdrAdditionalHeaderData FdrData; + }; } __attribute__((packed)); static_assert(sizeof(XRayFileHeader) == 32, "XRayFileHeader != 32 bytes"); Modified: head/contrib/compiler-rt/lib/asan/asan.syms.extra ============================================================================== --- head/contrib/compiler-rt/lib/asan/asan.syms.extra Sat Jul 22 10:38:44 2017 (r321368) +++ head/contrib/compiler-rt/lib/asan/asan.syms.extra Sat Jul 22 11:08:25 2017 (r321369) @@ -1,3 +1,4 @@ __asan_* __lsan_* __ubsan_* +__sancov_* Modified: head/contrib/compiler-rt/lib/asan/asan_activation.cc ============================================================================== --- head/contrib/compiler-rt/lib/asan/asan_activation.cc Sat Jul 22 10:38:44 2017 (r321368) +++ head/contrib/compiler-rt/lib/asan/asan_activation.cc Sat Jul 22 11:08:25 2017 (r321369) @@ -106,7 +106,6 @@ void AsanDeactivate() { // Deactivate the runtime. SetCanPoisonMemory(false); SetMallocContextSize(1); - ReInitializeCoverage(false, nullptr); AllocatorOptions disabled = asan_deactivated_flags.allocator_options; disabled.quarantine_size_mb = 0; @@ -130,8 +129,6 @@ void AsanActivate() { SetCanPoisonMemory(asan_deactivated_flags.poison_heap); SetMallocContextSize(asan_deactivated_flags.malloc_context_size); - ReInitializeCoverage(asan_deactivated_flags.coverage, - asan_deactivated_flags.coverage_dir); ReInitializeAllocator(asan_deactivated_flags.allocator_options); asan_is_deactivated = false; Modified: head/contrib/compiler-rt/lib/asan/asan_allocator.cc ============================================================================== --- head/contrib/compiler-rt/lib/asan/asan_allocator.cc Sat Jul 22 10:38:44 2017 (r321368) +++ head/contrib/compiler-rt/lib/asan/asan_allocator.cc Sat Jul 22 11:08:25 2017 (r321369) @@ -21,7 +21,9 @@ #include "asan_report.h" #include "asan_stack.h" #include "asan_thread.h" +#include "sanitizer_common/sanitizer_allocator_checks.h" #include "sanitizer_common/sanitizer_allocator_interface.h" +#include "sanitizer_common/sanitizer_errno.h" #include "sanitizer_common/sanitizer_flags.h" #include "sanitizer_common/sanitizer_internal_defs.h" #include "sanitizer_common/sanitizer_list.h" @@ -160,7 +162,11 @@ struct QuarantineCallback { } void *Allocate(uptr size) { - return get_allocator().Allocate(cache_, size, 1, false); + void *res = get_allocator().Allocate(cache_, size, 1); + // TODO(alekseys): Consider making quarantine OOM-friendly. + if (UNLIKELY(!res)) + return DieOnFailure::OnOOM(); + return res; } void Deallocate(void *p) { @@ -235,6 +241,8 @@ struct Allocator { AllocatorCache fallback_allocator_cache; QuarantineCache fallback_quarantine_cache; + atomic_uint8_t rss_limit_exceeded; + // ------------------- Options -------------------------- atomic_uint16_t min_redzone; atomic_uint16_t max_redzone; @@ -264,10 +272,19 @@ struct Allocator { } void Initialize(const AllocatorOptions &options) { - allocator.Init(options.may_return_null, options.release_to_os_interval_ms); + SetAllocatorMayReturnNull(options.may_return_null); + allocator.Init(options.release_to_os_interval_ms); SharedInitCode(options); } + bool RssLimitExceeded() { + return atomic_load(&rss_limit_exceeded, memory_order_relaxed); + } + + void SetRssLimitExceeded(bool limit_exceeded) { + atomic_store(&rss_limit_exceeded, limit_exceeded, memory_order_relaxed); + } + void RePoisonChunk(uptr chunk) { // This could be a user-facing chunk (with redzones), or some internal // housekeeping chunk, like TransferBatch. Start by assuming the former. @@ -292,7 +309,7 @@ struct Allocator { } void ReInitialize(const AllocatorOptions &options) { - allocator.SetMayReturnNull(options.may_return_null); + SetAllocatorMayReturnNull(options.may_return_null); allocator.SetReleaseToOSIntervalMs(options.release_to_os_interval_ms); SharedInitCode(options); @@ -313,7 +330,7 @@ struct Allocator { options->thread_local_quarantine_size_kb = quarantine.GetCacheSize() >> 10; options->min_redzone = atomic_load(&min_redzone, memory_order_acquire); options->max_redzone = atomic_load(&max_redzone, memory_order_acquire); - options->may_return_null = allocator.MayReturnNull(); + options->may_return_null = AllocatorMayReturnNull(); options->alloc_dealloc_mismatch = atomic_load(&alloc_dealloc_mismatch, memory_order_acquire); options->release_to_os_interval_ms = allocator.ReleaseToOSIntervalMs(); @@ -363,6 +380,8 @@ struct Allocator { AllocType alloc_type, bool can_fill) { if (UNLIKELY(!asan_inited)) AsanInitFromRtl(); + if (RssLimitExceeded()) + return AsanAllocator::FailureHandler::OnOOM(); Flags &fl = *flags(); CHECK(stack); const uptr min_alignment = SHADOW_GRANULARITY; @@ -395,25 +414,22 @@ struct Allocator { if (size > kMaxAllowedMallocSize || needed_size > kMaxAllowedMallocSize) { Report("WARNING: AddressSanitizer failed to allocate 0x%zx bytes\n", (void*)size); - return allocator.ReturnNullOrDieOnBadRequest(); + return AsanAllocator::FailureHandler::OnBadRequest(); } AsanThread *t = GetCurrentThread(); void *allocated; - bool check_rss_limit = true; if (t) { AllocatorCache *cache = GetAllocatorCache(&t->malloc_storage()); - allocated = - allocator.Allocate(cache, needed_size, 8, false, check_rss_limit); + allocated = allocator.Allocate(cache, needed_size, 8); } else { SpinMutexLock l(&fallback_mutex); AllocatorCache *cache = &fallback_allocator_cache; - allocated = - allocator.Allocate(cache, needed_size, 8, false, check_rss_limit); + allocated = allocator.Allocate(cache, needed_size, 8); } + if (!allocated) + return nullptr; - if (!allocated) return allocator.ReturnNullOrDieOnOOM(); - if (*(u8 *)MEM_TO_SHADOW((uptr)allocated) == 0 && CanPoisonMemory()) { // Heap poisoning is enabled, but the allocator provides an unpoisoned // chunk. This is possible if CanPoisonMemory() was false for some @@ -514,8 +530,7 @@ struct Allocator { // Expects the chunk to already be marked as quarantined by using // AtomicallySetQuarantineFlagIfAllocated. - void QuarantineChunk(AsanChunk *m, void *ptr, BufferedStackTrace *stack, - AllocType alloc_type) { + void QuarantineChunk(AsanChunk *m, void *ptr, BufferedStackTrace *stack) { CHECK_EQ(m->chunk_state, CHUNK_QUARANTINE); CHECK_GE(m->alloc_tid, 0); if (SANITIZER_WORDSIZE == 64) // On 32-bits this resides in user area. @@ -523,6 +538,18 @@ struct Allocator { AsanThread *t = GetCurrentThread(); m->free_tid = t ? t->tid() : 0; m->free_context_id = StackDepotPut(*stack); + + Flags &fl = *flags(); + if (fl.max_free_fill_size > 0) { + // We have to skip the chunk header, it contains free_context_id. + uptr scribble_start = (uptr)m + kChunkHeaderSize + kChunkHeader2Size; + if (m->UsedSize() >= kChunkHeader2Size) { // Skip Header2 in user area. + uptr size_to_fill = m->UsedSize() - kChunkHeader2Size; + size_to_fill = Min(size_to_fill, (uptr)fl.max_free_fill_size); + REAL(memset)((void *)scribble_start, fl.free_fill_byte, size_to_fill); + } + } + // Poison the region. PoisonShadow(m->Beg(), RoundUpTo(m->UsedSize(), SHADOW_GRANULARITY), @@ -554,7 +581,17 @@ struct Allocator { uptr chunk_beg = p - kChunkHeaderSize; AsanChunk *m = reinterpret_cast(chunk_beg); + // On Windows, uninstrumented DLLs may allocate memory before ASan hooks + // malloc. Don't report an invalid free in this case. + if (SANITIZER_WINDOWS && + !get_allocator().PointerIsMine(ptr)) { + if (!IsSystemHeapAddress(p)) + ReportFreeNotMalloced(p, stack); + return; + } + ASAN_FREE_HOOK(ptr); + // Must mark the chunk as quarantined before any changes to its metadata. // Do not quarantine given chunk if we failed to set CHUNK_QUARANTINE flag. if (!AtomicallySetQuarantineFlagIfAllocated(m, ptr, stack)) return; @@ -571,7 +608,7 @@ struct Allocator { ReportNewDeleteSizeMismatch(p, delete_size, stack); } - QuarantineChunk(m, ptr, stack, alloc_type); + QuarantineChunk(m, ptr, stack); } void *Reallocate(void *old_ptr, uptr new_size, BufferedStackTrace *stack) { @@ -600,8 +637,8 @@ struct Allocator { } void *Calloc(uptr nmemb, uptr size, BufferedStackTrace *stack) { - if (CallocShouldReturnNullDueToOverflow(size, nmemb)) - return allocator.ReturnNullOrDieOnBadRequest(); + if (CheckForCallocOverflow(size, nmemb)) + return AsanAllocator::FailureHandler::OnBadRequest(); void *ptr = Allocate(nmemb * size, 8, stack, FROM_MALLOC, false); // If the memory comes from the secondary allocator no need to clear it // as it comes directly from mmap. @@ -764,11 +801,6 @@ void PrintInternalAllocatorStats() { instance.PrintStats(); } -void *asan_memalign(uptr alignment, uptr size, BufferedStackTrace *stack, - AllocType alloc_type) { - return instance.Allocate(size, alignment, stack, alloc_type, true); -} - void asan_free(void *ptr, BufferedStackTrace *stack, AllocType alloc_type) { instance.Deallocate(ptr, 0, stack, alloc_type); } @@ -779,40 +811,59 @@ void asan_sized_free(void *ptr, uptr size, BufferedSta } void *asan_malloc(uptr size, BufferedStackTrace *stack) { - return instance.Allocate(size, 8, stack, FROM_MALLOC, true); + return SetErrnoOnNull(instance.Allocate(size, 8, stack, FROM_MALLOC, true)); } void *asan_calloc(uptr nmemb, uptr size, BufferedStackTrace *stack) { - return instance.Calloc(nmemb, size, stack); + return SetErrnoOnNull(instance.Calloc(nmemb, size, stack)); } void *asan_realloc(void *p, uptr size, BufferedStackTrace *stack) { if (!p) - return instance.Allocate(size, 8, stack, FROM_MALLOC, true); + return SetErrnoOnNull(instance.Allocate(size, 8, stack, FROM_MALLOC, true)); if (size == 0) { - instance.Deallocate(p, 0, stack, FROM_MALLOC); - return nullptr; + if (flags()->allocator_frees_and_returns_null_on_realloc_zero) { + instance.Deallocate(p, 0, stack, FROM_MALLOC); + return nullptr; + } + // Allocate a size of 1 if we shouldn't free() on Realloc to 0 + size = 1; } - return instance.Reallocate(p, size, stack); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Sat Jul 22 12:51:21 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 34158D7FEAF; Sat, 22 Jul 2017 12:51:21 +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 mx1.freebsd.org (Postfix) with ESMTPS id F14CB7D1E7; Sat, 22 Jul 2017 12:51:20 +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 v6MCpKfr014226; Sat, 22 Jul 2017 12:51:20 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6MCpKn4014224; Sat, 22 Jul 2017 12:51:20 GMT (envelope-from kp@FreeBSD.org) Message-Id: <201707221251.v6MCpKn4014224@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Sat, 22 Jul 2017 12:51:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321370 - head/lib/libsysdecode X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: head/lib/libsysdecode X-SVN-Commit-Revision: 321370 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.23 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, 22 Jul 2017 12:51:21 -0000 Author: kp Date: Sat Jul 22 12:51:19 2017 New Revision: 321370 URL: https://svnweb.freebsd.org/changeset/base/321370 Log: Handle WITH/WITHOUT_PF in libsysdecode Only filter out the PF ioctls if we're building without pf support. Until now those were always filtered out, so truss did not show symbolic names for pf ioctls. Differential Revision: https://reviews.freebsd.org/D11629 Modified: head/lib/libsysdecode/Makefile head/lib/libsysdecode/mkioctls Modified: head/lib/libsysdecode/Makefile ============================================================================== --- head/lib/libsysdecode/Makefile Sat Jul 22 11:08:25 2017 (r321369) +++ head/lib/libsysdecode/Makefile Sat Jul 22 12:51:19 2017 (r321370) @@ -122,7 +122,7 @@ tables.h: mktables ioctl.c: .PHONY .endif ioctl.c: mkioctls .META - env CPP="${CPP}" \ + env CPP="${CPP}" MK_PF="${MK_PF}" \ /bin/sh ${.CURDIR}/mkioctls ${SYSROOT:U${DESTDIR}}${INCLUDEDIR} > ${.TARGET} beforedepend: ioctl.c tables.h Modified: head/lib/libsysdecode/mkioctls ============================================================================== --- head/lib/libsysdecode/mkioctls Sat Jul 22 11:08:25 2017 (r321369) +++ head/lib/libsysdecode/mkioctls Sat Jul 22 12:51:19 2017 (r321370) @@ -17,8 +17,14 @@ LC_ALL=C; export LC_ALL # XXX should we use an ANSI cpp? ioctl_includes=$( cd $includedir + + filter='tee' + if [ "${MK_PF}" == "no" ]; then + filter='egrep -v (net/pfvar|net/if_pfsync)\.h' + fi + find -H -s * -name '*.h' | \ - egrep -v '(net/pfvar|net/if_pfsync)\.h' | \ + $filter | \ xargs egrep -l \ '^#[ ]*define[ ]+[A-Za-z_][A-Za-z0-9_]*[ ]+_IO[^a-z0-9_]' | awk '{printf("#include <%s>\\n", $1)}' From owner-svn-src-head@freebsd.org Sat Jul 22 13:33:07 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5D85BD9AF9C; Sat, 22 Jul 2017 13:33:07 +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 mx1.freebsd.org (Postfix) with ESMTPS id 391FE7E9FA; Sat, 22 Jul 2017 13:33:07 +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 v6MDX6U2031888; Sat, 22 Jul 2017 13:33:06 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6MDX6Wk031887; Sat, 22 Jul 2017 13:33:06 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201707221333.v6MDX6Wk031887@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 22 Jul 2017 13:33:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321371 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 321371 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.23 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, 22 Jul 2017 13:33:07 -0000 Author: kib Date: Sat Jul 22 13:33:06 2017 New Revision: 321371 URL: https://svnweb.freebsd.org/changeset/base/321371 Log: Do not allocate struct kinfo_vmobject on stack. Its size is 1184 bytes. Noted by: eugen Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/vm/vm_object.c Modified: head/sys/vm/vm_object.c ============================================================================== --- head/sys/vm/vm_object.c Sat Jul 22 12:51:19 2017 (r321370) +++ head/sys/vm/vm_object.c Sat Jul 22 13:33:06 2017 (r321371) @@ -2275,7 +2275,7 @@ vm_object_vnode(vm_object_t object) static int sysctl_vm_object_list(SYSCTL_HANDLER_ARGS) { - struct kinfo_vmobject kvo; + struct kinfo_vmobject *kvo; char *fullpath, *freepath; struct vnode *vp; struct vattr va; @@ -2300,6 +2300,7 @@ sysctl_vm_object_list(SYSCTL_HANDLER_ARGS) count * 11 / 10)); } + kvo = malloc(sizeof(*kvo), M_TEMP, M_WAITOK); error = 0; /* @@ -2317,13 +2318,13 @@ sysctl_vm_object_list(SYSCTL_HANDLER_ARGS) continue; } mtx_unlock(&vm_object_list_mtx); - kvo.kvo_size = ptoa(obj->size); - kvo.kvo_resident = obj->resident_page_count; - kvo.kvo_ref_count = obj->ref_count; - kvo.kvo_shadow_count = obj->shadow_count; - kvo.kvo_memattr = obj->memattr; - kvo.kvo_active = 0; - kvo.kvo_inactive = 0; + kvo->kvo_size = ptoa(obj->size); + kvo->kvo_resident = obj->resident_page_count; + kvo->kvo_ref_count = obj->ref_count; + kvo->kvo_shadow_count = obj->shadow_count; + kvo->kvo_memattr = obj->memattr; + kvo->kvo_active = 0; + kvo->kvo_inactive = 0; TAILQ_FOREACH(m, &obj->memq, listq) { /* * A page may belong to the object but be @@ -2335,46 +2336,46 @@ sysctl_vm_object_list(SYSCTL_HANDLER_ARGS) * approximation of the system anyway. */ if (vm_page_active(m)) - kvo.kvo_active++; + kvo->kvo_active++; else if (vm_page_inactive(m)) - kvo.kvo_inactive++; + kvo->kvo_inactive++; } - kvo.kvo_vn_fileid = 0; - kvo.kvo_vn_fsid = 0; - kvo.kvo_vn_fsid_freebsd11 = 0; + kvo->kvo_vn_fileid = 0; + kvo->kvo_vn_fsid = 0; + kvo->kvo_vn_fsid_freebsd11 = 0; freepath = NULL; fullpath = ""; vp = NULL; switch (obj->type) { case OBJT_DEFAULT: - kvo.kvo_type = KVME_TYPE_DEFAULT; + kvo->kvo_type = KVME_TYPE_DEFAULT; break; case OBJT_VNODE: - kvo.kvo_type = KVME_TYPE_VNODE; + kvo->kvo_type = KVME_TYPE_VNODE; vp = obj->handle; vref(vp); break; case OBJT_SWAP: - kvo.kvo_type = KVME_TYPE_SWAP; + kvo->kvo_type = KVME_TYPE_SWAP; break; case OBJT_DEVICE: - kvo.kvo_type = KVME_TYPE_DEVICE; + kvo->kvo_type = KVME_TYPE_DEVICE; break; case OBJT_PHYS: - kvo.kvo_type = KVME_TYPE_PHYS; + kvo->kvo_type = KVME_TYPE_PHYS; break; case OBJT_DEAD: - kvo.kvo_type = KVME_TYPE_DEAD; + kvo->kvo_type = KVME_TYPE_DEAD; break; case OBJT_SG: - kvo.kvo_type = KVME_TYPE_SG; + kvo->kvo_type = KVME_TYPE_SG; break; case OBJT_MGTDEVICE: - kvo.kvo_type = KVME_TYPE_MGTDEVICE; + kvo->kvo_type = KVME_TYPE_MGTDEVICE; break; default: - kvo.kvo_type = KVME_TYPE_UNKNOWN; + kvo->kvo_type = KVME_TYPE_UNKNOWN; break; } VM_OBJECT_RUNLOCK(obj); @@ -2382,29 +2383,30 @@ sysctl_vm_object_list(SYSCTL_HANDLER_ARGS) vn_fullpath(curthread, vp, &fullpath, &freepath); vn_lock(vp, LK_SHARED | LK_RETRY); if (VOP_GETATTR(vp, &va, curthread->td_ucred) == 0) { - kvo.kvo_vn_fileid = va.va_fileid; - kvo.kvo_vn_fsid = va.va_fsid; - kvo.kvo_vn_fsid_freebsd11 = va.va_fsid; + kvo->kvo_vn_fileid = va.va_fileid; + kvo->kvo_vn_fsid = va.va_fsid; + kvo->kvo_vn_fsid_freebsd11 = va.va_fsid; /* truncate */ } vput(vp); } - strlcpy(kvo.kvo_path, fullpath, sizeof(kvo.kvo_path)); + strlcpy(kvo->kvo_path, fullpath, sizeof(kvo->kvo_path)); if (freepath != NULL) free(freepath, M_TEMP); /* Pack record size down */ - kvo.kvo_structsize = offsetof(struct kinfo_vmobject, kvo_path) + - strlen(kvo.kvo_path) + 1; - kvo.kvo_structsize = roundup(kvo.kvo_structsize, + kvo->kvo_structsize = offsetof(struct kinfo_vmobject, kvo_path) + + strlen(kvo->kvo_path) + 1; + kvo->kvo_structsize = roundup(kvo->kvo_structsize, sizeof(uint64_t)); - error = SYSCTL_OUT(req, &kvo, kvo.kvo_structsize); + error = SYSCTL_OUT(req, kvo, kvo->kvo_structsize); mtx_lock(&vm_object_list_mtx); if (error) break; } mtx_unlock(&vm_object_list_mtx); + free(kvo, M_TEMP); return (error); } SYSCTL_PROC(_vm, OID_AUTO, objects, CTLTYPE_STRUCT | CTLFLAG_RW | CTLFLAG_SKIP | From owner-svn-src-head@freebsd.org Sat Jul 22 15:41:42 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6363DDA46F6; Sat, 22 Jul 2017 15:41:42 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf0-x243.google.com (mail-pf0-x243.google.com [IPv6:2607:f8b0:400e:c00::243]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3751681CC8; Sat, 22 Jul 2017 15:41:42 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x243.google.com with SMTP id c23so7039060pfe.5; Sat, 22 Jul 2017 08:41:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=wp1VXFG28bh3k5OSjiZhn+TdDBqeMfw7O3x6TacEeDI=; b=G707lJ937K0n3JX038x2d42MREODJa89KSXVr6x6xRirFgBIfqqvXfQKjAePdycqRs /JXxPb2OxN3On9BiNaJaQiBaqMZjpqCDAj1ZkbUTOgaec3YwzeoVkFziOW0o+PGvxqKk hW3DTaiHApX5AcnKcCx0va3muc7LhX8q46VYuoQ/OKru7SyTRG1aY3dw4aDuYiERTj/A o8c/Iju+8j4VbmuIKUeQsW3L9G+k9r1LRUj+Aget0OG5rTgCeQczpPfOr8gUJxEpXO+l 4Wu8zW/SBUt0BM35ybaBK344q2F2an3uE3KoR9zYGT3jJ+8PPrkk1DKx/KrZK7cyd5My +Pxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=wp1VXFG28bh3k5OSjiZhn+TdDBqeMfw7O3x6TacEeDI=; b=oKyOSUkAYykucMNfGSdW8lKDxR9G8r/dX5wwXNAA84kry++85F5Dqq9VhN/3HMfyE+ qQANF/+NN6jPtyCdRURKQP/ZpvNjCG/kcJJPxXnVR9FlSPiF4I8BWjxwOukHHONRmCI2 fxBe69stnRh99CFOTYcUu2nwoD9ZNb3SMC7iF9AgL4KwmL4488r8jxc7XXQg5S4CAucp C+rSU8MevIx0dbIHBw5VhuWhYsHD1pUqg2qpJH9H9cbNwVdLCFd58kvjE00MFQlda0H+ Or5ocpfnc7/mh/KsET+NrxxgPVfxviD8DQ6HTko1bdezZN1g6nGHJadGz7xPAbSJ0qpv 2mog== X-Gm-Message-State: AIVw112BGAvHAfT/6dl66BREEbtkWavJE+h7nBzOBtZ11ryPhSxtmzk+ lx/qVawbw6Dz9F6/GZc= X-Received: by 10.84.131.101 with SMTP id 92mr12069854pld.244.1500738101592; Sat, 22 Jul 2017 08:41:41 -0700 (PDT) Received: from fuji-wireless.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id y2sm13368684pgy.60.2017.07.22.08.41.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 22 Jul 2017 08:41:40 -0700 (PDT) From: "Ngie Cooper (yaneurabeya)" Message-Id: Content-Type: multipart/signed; boundary="Apple-Mail=_F6FA0627-DE8B-4984-BE9A-3CFAF7226DDB"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: svn commit: r321370 - head/lib/libsysdecode Date: Sat, 22 Jul 2017 08:42:00 -0700 In-Reply-To: <201707221251.v6MCpKn4014224@repo.freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org To: Kristof Provost References: <201707221251.v6MCpKn4014224@repo.freebsd.org> X-Mailer: Apple Mail (2.3273) X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 22 Jul 2017 15:41:42 -0000 --Apple-Mail=_F6FA0627-DE8B-4984-BE9A-3CFAF7226DDB Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Jul 22, 2017, at 5:51 AM, Kristof Provost wrote: >=20 > Author: kp > Date: Sat Jul 22 12:51:19 2017 > New Revision: 321370 > URL: https://svnweb.freebsd.org/changeset/base/321370 >=20 > Log: > Handle WITH/WITHOUT_PF in libsysdecode >=20 > Only filter out the PF ioctls if we're building without pf support. > Until now those were always filtered out, so truss did not show = symbolic > names for pf ioctls. Hi Kristof! 'MFC after: 1 week=E2=80=9D should have probably be added to = this commit. This change should be MFCed to ^/stable/11 and probably = ^/stable/10 (in usr.sbin/kdump on 10: = https://svnweb.freebsd.org/base/stable/10/usr.bin/kdump/mkioctls?revision=3D= 291815&view=3Dmarkup#l25 = ). Thank you! -Ngie --Apple-Mail=_F6FA0627-DE8B-4984-BE9A-3CFAF7226DDB Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJZc3JIAAoJEPWDqSZpMIYVzB0P/iefNYDdh6xMXNWJV6YHBCsS +/W2tmR9wYcHxSdtQIV7+0kXapDYO8KDQn/nrJTl3VVgSV0vjfdjjP77d79/9Zzu wlJuxw0FUBc5XknytFyf+VyvXfqHppsFjsR0DH4smdUmNRHFdh9IXnm4tdPaP8n7 zhgkanOnBaPe2Lv+9Xtz6r2UCiuBy5duCowPpPZlG57SsmnAZIWhWXlswdXMY+pg mDtG7nfsiGy69YD/xTQArIXLShZIaPyyaFVMT/zr1YEGvrevWTFor1dJSf/2qGrw HKK9HMxZttUTqnniHAvJATDyZNibt/UVQqW4r/qkFAi7VrifB5ChYXW3c7fkIXkq 6E+bzFbfnXPt2xQQjZJKUW2Kn7tc/WHy9zfWEd5t2QGesoUXnB3++dYqrsO28Vey mtplQfhSVJJBRF8hwDSma0b2Mcf5NMoExLB/sSslWprlBYPBrVHsDpHjMb4VUP6P 4qid1Pd4BN4QFhrFfVGkKpKsc5n3ZJwevokKQ837F8s2Uwaw4TKsQT6zaBHTRmnx ZxvEmK9BX18NhdWHcKJR9fz/PRUfe6KJ/fm5Abd52JebLt9sk1KyC8Pby7dNrYl/ waET3sGdBQOgHWzaui9cGD7jmJdVWB8zFjNHL9K6bpAxUMH2h5EGatJRuGbnLMkV UUafdXgvLTgI2y+cG+kH =24nt -----END PGP SIGNATURE----- --Apple-Mail=_F6FA0627-DE8B-4984-BE9A-3CFAF7226DDB-- From owner-svn-src-head@freebsd.org Sat Jul 22 16:08:06 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 36AD9DA511B; Sat, 22 Jul 2017 16:08:06 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf0-x242.google.com (mail-pf0-x242.google.com [IPv6:2607:f8b0:400e:c00::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 02EB8828BC; Sat, 22 Jul 2017 16:08:06 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x242.google.com with SMTP id a11so7073712pfj.3; Sat, 22 Jul 2017 09:08:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=OvK+ACblVAGSiZ5oVF/84G/WAPq2GWWVRigXTpfIcpU=; b=fr+K4DL4QG8LbOuqtstUxMTDfMN49rXXAXE0V8M2NC7pa7vhaaczABRn+TfVMxWDuy TlC5dOvgUhv+I5EKAwtYG518I6gnDsDeGWpZsQdfBxqBvUV9wmcc5XI08YGYXv9zaay+ 1c3ingLV46x6fvXOGP/6Eivx+2eNmmTDeQrXuPoEhZrmAzSm5Xd5N8/CDEgGcmT7RRcZ kqp8EUY0zBhAE1f+Z7pZdB5plL1PHOgQUjIIwLtLtzvS6dp3uazGYLL2yUPMcpbIqbPB 5KAm1ACH7mNnGVRL3TLH9i4GL0jV5+4LUXLNAQ250Dq8W38Mae+6d2AjvAIHCn7Rq5Qx QahA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=OvK+ACblVAGSiZ5oVF/84G/WAPq2GWWVRigXTpfIcpU=; b=VyLUHSPu77U7TGRa3Sz83cOQQeubjtiKenDRu+382zwdTXHUsIZNdLW83xOa7WzxQ0 xjnYpNB28D73bhDigN8l1Zkt+dP815tMd8srQdXd2igDTX8BVTetOuZfr9GEsE0nxX8q btPfv1ND3huSHGP4HSmu0CPy6VRlqY7MdlSFoP8ewsHNoZVkGVVs4fDJoBh4dYy91Tfr 2ebZ5HloX2dPsqawgzoHI65eleH7QRGeOSBqZpi4sfBr6MBVDf7yJzu5wfHzZBrzlXyK 0SIQjwY8ts7A2L+L0/H4nMifGpxTEmvH56YbkKlGhl0a49t/lYujcW7I+p/GQpM1AEbe unJg== X-Gm-Message-State: AIVw113/66nKeWeLmqCqcG3KUM+88AdXKrHT3Gy2M695fVl7+1jbHabh L1/K+9PCOxiVudDVsMc= X-Received: by 10.99.1.88 with SMTP id 85mr10802705pgb.315.1500739685222; Sat, 22 Jul 2017 09:08:05 -0700 (PDT) Received: from fuji-wireless.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id d29sm15779630pfb.11.2017.07.22.09.08.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 22 Jul 2017 09:08:03 -0700 (PDT) From: "Ngie Cooper (yaneurabeya)" Message-Id: Content-Type: multipart/signed; boundary="Apple-Mail=_6587C17B-FC17-4092-A36D-26E37801494F"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: svn commit: r321333 - head/lib/libc/tests/sys Date: Sat, 22 Jul 2017 09:08:22 -0700 In-Reply-To: <201707211614.v6LGE6F1002155@repo.freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org To: Bryan Drewery References: <201707211614.v6LGE6F1002155@repo.freebsd.org> X-Mailer: Apple Mail (2.3273) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 22 Jul 2017 16:08:06 -0000 --Apple-Mail=_6587C17B-FC17-4092-A36D-26E37801494F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Jul 21, 2017, at 9:14 AM, Bryan Drewery = wrote: >=20 > Author: bdrewery > Date: Fri Jul 21 16:14:06 2017 > New Revision: 321333 > URL: https://svnweb.freebsd.org/changeset/base/321333 >=20 > Log: > Properly set userid for truncate_test. >=20 > MFC after: 1 week > Sponsored by: Dell EMC Isilon >=20 > Modified: > head/lib/libc/tests/sys/Makefile >=20 > Modified: head/lib/libc/tests/sys/Makefile > = =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/lib/libc/tests/sys/Makefile Fri Jul 21 15:09:24 2017 = (r321332) > +++ head/lib/libc/tests/sys/Makefile Fri Jul 21 16:14:06 2017 = (r321333) > @@ -87,7 +87,7 @@ FILESGROUPS+=3D truncate_test_FILES > truncate_test_FILES=3D truncate_test.root_owned > truncate_test_FILESDIR=3D ${TESTSDIR} > truncate_test_FILESMODE=3D 0600 > -truncate_test_FILESOWNER=3D root > +truncate_test_FILESOWN=3D root > truncate_test_FILESGRP=3D wheel > truncate_test_FILESPACKAGE=3D ${PACKAGE} Thanks!! -Ngie --Apple-Mail=_6587C17B-FC17-4092-A36D-26E37801494F Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJZc3h3AAoJEPWDqSZpMIYVTkoQAIN0Bfp3DpV63ASqQCBhRtLt wfqnStKf8aDxidx/xjqd48TSTcBMKwpzvpqWIroaCn5RfnZl/juWk23YcprkyduX BD2JBVUf0ZyMB9Q52UWMKjMLhGPjANTqBQF7WmPWHGhPWUdyYP1N5hK7n5gbddLx 9nMlZth58yGca5im3f3CyvjayBNvgtFjRulSt7cKGXA1+SjJsUSCBM5RX64DDPTo 1tsTIgXkie2qAnePm/45et9QS4LXb0vn4PRshwmT+2jQvV3TLwQIrlNVEhC72ILi Vy53GqIOcCaKDHXkEXCNySSWlCtBG4q5VHgWfCqtb+ujBQKj8JVSPSgKZyNhnNEu 6g0sTJCJHwcPGzXIAuGc9P4jOyRqi6yRLSwxQcS+GGDo0Oj1uqaImbkHOkkBbNEd YpnP1C0mOlu45hzEUBIU6jv+pkIbutMKLM84+AFOMKV/+P8KcKD4NUWT4TMp8MZV jcTG1XP7nYyJ8HBd98AtN/mb6C+0mxS0Yzmuw+Y4PJIb7SKC09zUxSYzpIQzQhlq VK7fBNEhOzHmNH8ttfQvmN8dap2W3DZtexMXcn7okQTeQNozGY/z+cJdzmATBASo fANMInDIL3cmCTnUGy6zoJ7XkdTrX++ZxvPu68ddC23oa6hfJpnAKAcTMzT1HH/0 N8CCTVzVk6T8+VgZDC/o =Y8Fw -----END PGP SIGNATURE----- --Apple-Mail=_6587C17B-FC17-4092-A36D-26E37801494F-- From owner-svn-src-head@freebsd.org Sat Jul 22 20:10:55 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A0C48DAC20C; Sat, 22 Jul 2017 20:10:55 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail106.syd.optusnet.com.au (mail106.syd.optusnet.com.au [211.29.132.42]) by mx1.freebsd.org (Postfix) with ESMTP id 301D863E73; Sat, 22 Jul 2017 20:10:54 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from [192.168.0.102] (c110-21-101-228.carlnfd1.nsw.optusnet.com.au [110.21.101.228]) by mail106.syd.optusnet.com.au (Postfix) with ESMTPS id 3B2EF3C7698; Sun, 23 Jul 2017 05:49:26 +1000 (AEST) Date: Sun, 23 Jul 2017 05:49:26 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Konstantin Belousov cc: Ryan Libby , Bruce Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, imp@freebsd.org Subject: Re: svn commit: r321284 - in head/sys: amd64/include sys In-Reply-To: <20170721061552.GK1935@kib.kiev.ua> Message-ID: <20170723052316.W1061@besplex.bde.org> References: <201707200647.v6K6l7Hq076554@repo.freebsd.org> <20170720172157.W1152@besplex.bde.org> <20170720103323.GG1935@kib.kiev.ua> <20170721061552.GK1935@kib.kiev.ua> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=VbSHBBh9 c=1 sm=1 tr=0 a=PalzARQSbocsUSjMRkwAPg==:117 a=PalzARQSbocsUSjMRkwAPg==:17 a=kj9zAlcOel0A:10 a=pGLkceISAAAA:8 a=PO7r1zJSAAAA:8 a=H7MLjYanAAAA:8 a=dw0t6H4-AAAA:8 a=QjaddGlQvknW33FtQ14A:9 a=ZAWH0lS2keSws1BU:21 a=73LSAuf79mZQfIRR:21 a=CjuIK1q_8ugA:10 a=6kGIvZw6iX1k4Y-7sg4_:22 a=bgSlMGY6Cwri7Y-TTqhu:22 a=wVJa4CU9-Z26yuRAZDil:22 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 22 Jul 2017 20:10:55 -0000 On Fri, 21 Jul 2017, Konstantin Belousov wrote: > On Thu, Jul 20, 2017 at 04:02:02PM -0700, Ryan Libby wrote: >> On Thu, Jul 20, 2017 at 3:33 AM, Konstantin Belousov >> wrote: >>> On Thu, Jul 20, 2017 at 02:08:30AM -0700, Ryan Libby wrote: >>>> On Thu, Jul 20, 2017 at 1:01 AM, Bruce Evans wrote: >> [...] >>>>> This bug is not very common. There seem to be no instances of it in >>>>> (only sys/cdefs.h uses __attribute__(()), and it seems to use >>>>> underscores for all the attributes). Grepping sys/include/*.h for >>>>> attribute shows the following bugs: >>>>> >>>>> X amd64/include/efi.h:#define EFIABI_ATTR __attribute__((ms_abi)) >>>>> X i386/include/efi.h:#define EFIABI_ATTR /* __attribute__((ms_abi)) */ /* clang fails with this */ >>>>> X ofed/include/rdma/ib_user_mad.h:typedef unsigned long __attribute__((aligned(4))) packed_ulong; >>>>> X ofed/include/rdma/ib_smi.h:} __attribute__ ((packed)); >>>>> X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); >>>>> X ofed/include/rdma/ib_mad.h:} __attribute__ ((packed)); >>>>> >>>>> The commented-out ms_abi was only a style bug. Now it is a larger style >>>>> bug -- it is different and worse than amd64. >>>> >>>> I'm not sure what to do about i386 there (again beyond fixing up the >>>> spelling in the comment). Maybe the unsupported architectures should >>>> just not be declaring EFIABI_ATTR at all? (Thoughts, kib?) >>> >>> I think i386 should be treated exactly same as amd64, i.e. EFIABI_ATTR >>> should be not defined if gcc < 4.4. Or I do not understand the scope >>> of the question. It depends on whether to comment is correct. >> After googling around [1] and a quick check of the spec [2], it now >> seems to me that the i386 comment might just be erroneous. I think the Testing shows that it is still correct. Using this attribute generates the warning that it is ignored. >> right solution for sys/i386/include/efi.h may just be to delete the >> comment and leave that EFIAPI_ATTR macro definition as empty (always, no >> compiler version check) in order to use the native calling convention. >> >> [1] http://wiki.osdev.org/UEFI#Calling_Conventions >> [2] http://www.uefi.org/sites/default/files/resources/UEFI_Spec_2_7.pdf > > At very least, the UEFI Spec requires 16-byte alignment of the stack. > This is not guaranteed by our i386 ABI. This UEFI pessimization is guaranteed to be not done by our i386 ABI. We use -mpreferred-stack-boundary=2 to prevent it for gcc, and this 4-byte alignment is the default for clang. This avoids the pessimization of wasting time and space by padding the stack to a 16-byte boundary on (non-null on 3/4 of function calls). __aligned(16) on local variables is broken by this for gcc-4.2.1. gcc-4.2.1 doesn't understand its own option, and doesn't generate the necessary andl of the stack to align it in functions that need it. gcc by default has the pessimization. clang handles stack alignment correctly, except it doesn't support -mpreferred-stack-boundary to control it. It hard-codes 4-byte alignment on i386, and does the necessary andl of the stack in functions that need it. Since clang on i386 also doesn't support ms_abi to change this, the hard-coding seems to be perfect. Bruce From owner-svn-src-head@freebsd.org Sat Jul 22 20:47:54 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D57D3DACF30; Sat, 22 Jul 2017 20:47:54 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf0-x22c.google.com (mail-pf0-x22c.google.com [IPv6:2607:f8b0:400e:c00::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 952E965053; Sat, 22 Jul 2017 20:47:54 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x22c.google.com with SMTP id o88so34653246pfk.3; Sat, 22 Jul 2017 13:47:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=JjyleYAOIaNmnogcekQD4Xh2HWphmiJKknisfYHR3s0=; b=ZyXUGbLlPfGSPBZdk7nGHN7N2P0C4O5r2Rc4cuvjGscUD59VC5nLC6QSYuoQ5lNBCn 1yyFe9efyKiHjDIoEM0YA35x1tPbgRXAFOBsAVnHXBsH74onBX2hvfzq+o85uSwvUm50 SlQ1JnZ+FdOxuVidSs0W5uVgxAXIuUQOe60KDvVHfM0IlbhyEx355L6nv5AUSCw5ialF lJxmMpZhB8Bfp8M3C3Fak9xKVu74J8t/AKtu+nXdWv4hlsnq9z6dFZOBnXsSmuzp1h5E 1qqt8EM62hQa3L97rN+2lB7hzm98sZFxUKh0to294X9DXLIOpucXzfeC99Dcs4gJphUP p5ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=JjyleYAOIaNmnogcekQD4Xh2HWphmiJKknisfYHR3s0=; b=ZN3dX55A9HpJJQ5uJWVYD36x3Q7QGBe/CWfwT99RBcKRj5Q9rl33HL4eUKUDAWWpYt 5fHFBhaPiKgjKW+Er9R0GhnDC2TchIC5BuCQHItkatkenp0Ipi0KC1oA48GWm2MYHxGt +SQAFRIQSDu0njYUvdjzxjl5WO6FWJzROhI1M4TGRTqQg/ccAt5Xw5sYFHu7HfXgWMm5 moRDKGnqPESQaPbGPJk6L1CxeSZS5V1foGmXX0cGhFyrne+GLEEEAxBW7xO6bvFqAkNb BgWWa4lKpdamBepiYcC2B8Q4+5GASVhL28IaPKu+EU2NFdaIMRVzHE5jId2d4X15mh+B 5Jtw== X-Gm-Message-State: AIVw113nxG3Lj6z41ru1B75ICaXT3/SoVvymmIqX5UoXPHi3JKH0wXqT CnwyxgvC9AvY0cU7fzQ= X-Received: by 10.84.234.8 with SMTP id m8mr12586126plk.1.1500756473734; Sat, 22 Jul 2017 13:47:53 -0700 (PDT) Received: from ?IPv6:2607:fb90:8342:404a:6d8f:b587:9b9:3843? ([2607:fb90:8342:404a:6d8f:b587:9b9:3843]) by smtp.gmail.com with ESMTPSA id m196sm15047539pga.33.2017.07.22.13.47.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 22 Jul 2017 13:47:53 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r321332 - in head: lib/librt tests/sys/aio From: Ngie Cooper X-Mailer: iPhone Mail (14F89) In-Reply-To: Date: Sat, 22 Jul 2017 13:47:52 -0700 Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <65FD1F51-AF54-4626-89F8-EE4760851AB7@gmail.com> References: <201707211509.v6LF9PIY072859@repo.freebsd.org> To: Alan Somers X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 22 Jul 2017 20:47:54 -0000 >> On Jul 21, 2017, at 09:12, Alan Somers wrote: >>=20 >>> On Fri, Jul 21, 2017 at 10:06 AM, Ngie Cooper wr= ote: >>>=20 >>> On Jul 21, 2017, at 08:11, Alan Somers wrote: >>>=20 >>> PR: 220459 >>>=20 >>>> On Fri, Jul 21, 2017 at 9:09 AM, Alan Somers wrot= e: >>>> Author: asomers >>>> Date: Fri Jul 21 15:09:24 2017 >>>> New Revision: 321332 >>>> URL: https://svnweb.freebsd.org/changeset/base/321332 >>>>=20 >>>> Log: >>>> Implement SIGEV_THREAD notifications for lio_listio(2) >>>>=20 >>>> Our man pages have always indicated that this was supported, but in fac= t the >>>> feature was never implemented for lio_listio(2). >>>>=20 >>>> Reviewed by: jhb, kib (earlier version) >>>> MFC after: 20 days >>>> Sponsored by: Spectra Logic Corp >>>> Differential Revision: https://reviews.freebsd.org/D11680 >>>>=20 >>>> Modified: >>>> head/lib/librt/Symbol.map >>>> head/lib/librt/aio.c >>>> head/tests/sys/aio/lio_test.c >>=20 >> Thanks so much :)! >=20 > You're welcome. I didn't know you were interested in AIO. Would you > like me to include you on future code reviews in this area? Sure -- at the very least, I appreciate the CC for the test review and to ma= ybe learn new stuff ;).. -Ngie= From owner-svn-src-head@freebsd.org Sat Jul 22 21:22:44 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 78465DAD926; Sat, 22 Jul 2017 21:22:44 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail104.syd.optusnet.com.au (mail104.syd.optusnet.com.au [211.29.132.246]) by mx1.freebsd.org (Postfix) with ESMTP id 2629065E0F; Sat, 22 Jul 2017 21:22:43 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from [192.168.0.102] (c110-21-101-228.carlnfd1.nsw.optusnet.com.au [110.21.101.228]) by mail104.syd.optusnet.com.au (Postfix) with ESMTPS id 8AE1E428F32; Sun, 23 Jul 2017 06:55:52 +1000 (AEST) Date: Sun, 23 Jul 2017 06:55:51 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ryan Libby cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r321335 - in head/sys: amd64/amd64 x86/x86 In-Reply-To: <201707211711.v6LHBaZc026103@repo.freebsd.org> Message-ID: <20170723054939.K1150@besplex.bde.org> References: <201707211711.v6LHBaZc026103@repo.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=VbSHBBh9 c=1 sm=1 tr=0 a=PalzARQSbocsUSjMRkwAPg==:117 a=PalzARQSbocsUSjMRkwAPg==:17 a=kj9zAlcOel0A:10 a=kMT3Ii01Dd0JYhUpbd0A:9 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 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, 22 Jul 2017 21:22:44 -0000 On Fri, 21 Jul 2017, Ryan Libby wrote: > Log: > __pcpu: gcc -Wredundant-decls > > Pollution from counter.h made __pcpu visible in amd64/pmap.c. Delete > the existing extern decl of __pcpu in amd64/pmap.c and avoid referring > to that symbol, instead accessing the pcpu region via PCPU_SET macros. > Also delete an unused extern decl of __pcpu from mp_x86.c. Thanks. I use a similar quick fix. Unfortunately, it is not complete. clang is still broken. It doesn't support -Wredundant-decls even to the point of generating a warning when it is requested. There is still a lot of pollution: - the pollution is different on i386, so the problem doesn't occur for some reason, but the pollution is so convoluted that the reasons why it affects amd64 and doesn't affect i386 are both hard to see - pmap.c (or any file in the same directory) doesn't include counter.h on either amd64 or i386. The non-inclusion seems to be correct since no API in counter.h is used. It gets this include from other pollution. The pollution chain is very long. On i386, machine/counter.h is included by sys/counter.h (not polution); sys/counter.h is included by sys/sf_buf.h (polution); sys/sf_buf.h is included by pmap.c (not pollution). But there is no problem on i386/pmap.c because it doesn't declare or use __pcpu. I didn't find the exact pollution chain on amd64, but guess it is the same. There is was a problem on amd64/pmap.c since it did define and use __pcpu. > Modified: head/sys/amd64/amd64/pmap.c > ============================================================================== > --- head/sys/amd64/amd64/pmap.c Fri Jul 21 16:14:35 2017 (r321334) > +++ head/sys/amd64/amd64/pmap.c Fri Jul 21 17:11:36 2017 (r321335) > @@ -274,8 +274,6 @@ pmap_modified_bit(pmap_t pmap) > return (mask); > } > > -extern struct pcpu __pcpu[]; > - My quick fix was just to remove this. I didn't understand how this works. Now I see that it is because counter.h is polluted by much more than the declaration. It includes . That gives the complete complete struct definition that is needed to use __pcpu. But it is weird that the extern variable is not declared in . This seems to be the result of hiding the variable too well to prevent using it in places like counter.h, but then using it anyway. I hoped to declare it in md_var.h, but wasn't sure that an incomplete declaration would work there. Now I think it does. Any use requires completing the direction. In counter.h, this is done by including . amd64/pmap.c should have done the same. The pollution makes the explicit include unecessary. The intended hiding seems to be: - __pcpu[] is an implementation detail that should only be used for initialization. Otherwise, it should be accessed using the PCPU access macros. It is intentionally not declared in any header file. Only the initialization code should refer to it. - the initialization code is machdep.c, where it is declared non-extern. So it shouldn't be declared in md_var.h either. > #if !defined(DIAGNOSTIC) > #ifdef __GNUC_GNU_INLINE__ > #define PMAP_INLINE __attribute__((__gnu_inline__)) inline > @@ -1063,8 +1061,8 @@ pmap_bootstrap(vm_paddr_t *firstaddr) > kernel_pmap->pm_pcids[i].pm_pcid = PMAP_PCID_KERN; > kernel_pmap->pm_pcids[i].pm_gen = 1; > } > - __pcpu[0].pc_pcid_next = PMAP_PCID_KERN + 1; > - __pcpu[0].pc_pcid_gen = 1; > + PCPU_SET(pcid_next, PMAP_PCID_KERN + 1); > + PCPU_SET(pcid_gen, 1); > /* > * pcpu area for APs is zeroed during AP startup. > * pc_pcid_next and pc_pcid_gen are initialized by AP > This seems right, but I thought it was wrong at first since it is initialization code. On x86, the PCPU macros depend on the pcpu segment register being initialized. I had problems getting the order right for implementing early use of the message buffer and printf(). Early use of the PCPU macros finds garbage in the segment register and loads futher garbage indirectly. I fixed this by initializing the segment register as the first thing done after leaving locore. The above is in pmap_bootstrap() which is quite late so it is clear that the segment register is initialized early enough even without my changes. > Modified: head/sys/x86/x86/mp_x86.c > ============================================================================== > --- head/sys/x86/x86/mp_x86.c Fri Jul 21 16:14:35 2017 (r321334) > +++ head/sys/x86/x86/mp_x86.c Fri Jul 21 17:11:36 2017 (r321335) > @@ -90,8 +90,6 @@ int mcount_lock; > int mp_naps; /* # of Applications processors */ > int boot_cpu_id = -1; /* designated BSP */ > > -extern struct pcpu __pcpu[]; > - > /* AP uses this during bootstrap. Do not staticize. */ > char *bootSTK; > int bootAP; Perhaps the variable can be made static. In FreeBSD-10, there is no counter.h to abuse it, and it was only extern since it was used here as well as in machdep.c (when this was named mp_machdep.c). Bruce From owner-svn-src-head@freebsd.org Sat Jul 22 21:29:45 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7546DDADB4B; Sat, 22 Jul 2017 21:29:45 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4115866098; Sat, 22 Jul 2017 21:29:45 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6MLTi1E024386; Sat, 22 Jul 2017 21:29:44 GMT (envelope-from rlibby@FreeBSD.org) Received: (from rlibby@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6MLTiLt024385; Sat, 22 Jul 2017 21:29:44 GMT (envelope-from rlibby@FreeBSD.org) Message-Id: <201707222129.v6MLTiLt024385@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rlibby set sender to rlibby@FreeBSD.org using -f From: Ryan Libby Date: Sat, 22 Jul 2017 21:29:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321376 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head X-SVN-Commit-Author: rlibby X-SVN-Commit-Paths: head/sys/compat/linuxkpi/common/include/linux X-SVN-Commit-Revision: 321376 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.23 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, 22 Jul 2017 21:29:45 -0000 Author: rlibby Date: Sat Jul 22 21:29:44 2017 New Revision: 321376 URL: https://svnweb.freebsd.org/changeset/base/321376 Log: linuxkpi compiler.h: avoid gcc -Wunused-value in dummy expressions It looks like the __acquire and __release macros are for the consumption of static analysis tools and have no semantic effect. Transform the definitions from constant expressions to empty statements in order to avoid -Wunused-value from gcc. Likewise avoid future warnings for __chk_{user,io}_ptr, but with a cast to void, because it looks like some linux kernel code may use those in expression contexts. Reviewed by: hselasky, markj Approved by: markj (mentor) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D11695 Modified: head/sys/compat/linuxkpi/common/include/linux/compiler.h Modified: head/sys/compat/linuxkpi/common/include/linux/compiler.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/compiler.h Sat Jul 22 17:49:18 2017 (r321375) +++ head/sys/compat/linuxkpi/common/include/linux/compiler.h Sat Jul 22 21:29:44 2017 (r321376) @@ -40,13 +40,13 @@ #define __force #define __nocast #define __iomem -#define __chk_user_ptr(x) 0 -#define __chk_io_ptr(x) 0 +#define __chk_user_ptr(x) ((void)0) +#define __chk_io_ptr(x) ((void)0) #define __builtin_warning(x, y...) (1) #define __acquires(x) #define __releases(x) -#define __acquire(x) 0 -#define __release(x) 0 +#define __acquire(x) do { } while (0) +#define __release(x) do { } while (0) #define __cond_lock(x,c) (c) #define __bitwise #define __devinitdata