From owner-svn-src-all@freebsd.org Sun Jun 4 01:18:43 2017 Return-Path: Delivered-To: svn-src-all@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 30FF0BFCACD for ; Sun, 4 Jun 2017 01:18:43 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from nm28-vm1.bullet.mail.ne1.yahoo.com (nm28-vm1.bullet.mail.ne1.yahoo.com [98.138.91.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EE53683BC6 for ; Sun, 4 Jun 2017 01:18:42 +0000 (UTC) (envelope-from pfg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1496538989; bh=r2y3yuq1TEeiGvKtFYXOCvcgXxofVVqzgrjz95ffJbM=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From:Subject; b=ul5cXIe/xW8eBBEjLltAckbQweEC6LCPneOtp9nCq6yNdWTk1n4ZSjFF8Bms4L1eCHATb9yQz08MCg21kPQKXk12/S9R8Zuk9w6ZK8CX4S9RDQ9cf/RUqviAiM/EHvqm1x/stG3UPrEsUP7Kx/7Tk6cKcM9ev1nhDNCrVmF/eg+RpTwVV37PN2QtiG+MWGkQTxXouN//TwwMYqHuKxKfyhlsW+o77o2I1J3a8fOwWK/o24MibSEYrwa7PlzCRucmZZSGsK22/DM1aCM7jGlS9VbFCLfYyS9cD4m1pfDM+mdzufmRCiXJ4HjNHCZUdJTWWRvmYzI0m4QRmXr5zEtMDQ== Received: from [98.138.100.114] by nm28.bullet.mail.ne1.yahoo.com with NNFMP; 04 Jun 2017 01:16:29 -0000 Received: from [98.138.226.63] by tm105.bullet.mail.ne1.yahoo.com with NNFMP; 04 Jun 2017 01:16:29 -0000 Received: from [127.0.0.1] by smtp214.mail.ne1.yahoo.com with NNFMP; 04 Jun 2017 01:16:29 -0000 X-Yahoo-Newman-Id: 759129.98589.bm@smtp214.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: XFvQdqkVM1mK4em8byRNMHnS1tiYP8.VaUMx1e52hyLkEkb lP7n4w5NRW_n3mFneVMA6usCMHHLKoLUJIAFyFpWMB00k8LzOv1jTE83atw5 ouTmtQLxmzpmQxNT.97TJeSfnmWoK4jMpuhoiMF44ijYfMOKNK6rxDAr5t4H O9kjmiSpX_oTv2l9ukqM_eMHjl2Lw68Is6rpHAcTp6n84VVeaCK6i0CGBTye JyS.9ArdjOZLV.9G57bngNI4KzzxJOz5y53V0w1hMTk0uO66q4071OY7I6ys JcVIQQKyeF_5_Ggr1KFI_hLU.VGY0lwBksJM9t.5BQDyJhZ92LNqqLsT3aYk 3r1MGOh.wrOx7dLoGmXtH2qEMpab3W4xF0wL7hEdOsaU1WdakruR4eK3UUk2 xgj.aZtH0whX9oSlK72vk8S4.IMkL_83aCYYYS0GhBdeX6vBuoss.pahSrw8 PFWrqSsjLB5ThUJLmzaprTwvJ6NaOxtcdytW5XW7.9_RcdlXsM6demQJJ5so vFV.2A1OPYXhZ0PnT4rH4QDJwbVJxM_i0jAop2bdA4.Cj X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf Subject: Re: svn commit: r319557 - head/sys/fs/ext2fs To: "Ngie Cooper (yaneurabeya)" , Conrad Meyer Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201706032230.v53MUUAB056536@repo.freebsd.org> <25EB123A-EAF7-4ADD-8834-93C2618315B6@gmail.com> From: Pedro Giffuni Organization: FreeBSD Project Message-ID: Date: Sat, 3 Jun 2017 20:16:32 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <25EB123A-EAF7-4ADD-8834-93C2618315B6@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 01:18:43 -0000 On 03/06/2017 17:54, Ngie Cooper (yaneurabeya) wrote: >> On Jun 3, 2017, at 15:30, Conrad Meyer wrote: >> >> Author: cem >> Date: Sat Jun 3 22:30:30 2017 >> New Revision: 319557 >> URL: https://svnweb.freebsd.org/changeset/base/319557 >> >> Log: >> ext2fs(4): Fix a number of broken flag checks >> >> Introduced in r319071. >> >> Reported by: Coverity >> CIDs: 1375847, 1375848, 1375849 >> Sponsored by: Dell EMC Isilon > Did pjg review this? I don't know about pjg, but I wasn't even aware about the Coverity issues. I never added myself to the MAINTAINERS list so it's OK, I will just have the code submitter confirm the fixes. Luckily this is code that has not been MFC'd because I don't consider it bullet-proof and more eyes are always welcome. Pedro. From owner-svn-src-all@freebsd.org Sun Jun 4 02:21:39 2017 Return-Path: Delivered-To: svn-src-all@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 4F7DEAF8764; Sun, 4 Jun 2017 02:21:39 +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 1E58AD79; Sun, 4 Jun 2017 02:21:39 +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 v542Lcax051832; Sun, 4 Jun 2017 02:21:38 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v542LcYS051831; Sun, 4 Jun 2017 02:21:38 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706040221.v542LcYS051831@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Sun, 4 Jun 2017 02:21:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319560 - stable/11/usr.bin/mkimg/tests X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 02:21:39 -0000 Author: ngie Date: Sun Jun 4 02:21:38 2017 New Revision: 319560 URL: https://svnweb.freebsd.org/changeset/base/319560 Log: MFC r319294: Approved by: re (gjb) Fix "make rebase" after ^/head@r315776 "make rebase" can be used for rebasing the output files from mkimg after making a change to mkimg. This will come in handy soon, per bug 219673. Modified: stable/11/usr.bin/mkimg/tests/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/mkimg/tests/Makefile ============================================================================== --- stable/11/usr.bin/mkimg/tests/Makefile Sat Jun 3 23:13:46 2017 (r319559) +++ stable/11/usr.bin/mkimg/tests/Makefile Sun Jun 4 02:21:38 2017 (r319560) @@ -2,7 +2,8 @@ PACKAGE= tests -ATF_TESTS_SH= mkimg_test +_REBASE_SCRIPT= mkimg_test +ATF_TESTS_SH= ${_REBASE_SCRIPT} SOURCES!= cd ${.CURDIR}; echo *.uu ${PACKAGE}FILES+= ${SOURCES:S,.gz.uu,,g} @@ -12,7 +13,7 @@ ${${PACKAGE}FILES}: CLEANFILES+= ${${PACKAGE}FILES}} -rebase: - (cd ${.CURDIR}; atf-sh mkimg.sh rebase) +rebase: .PHONY + (cd ${.CURDIR}; atf-sh ${_REBASE_SCRIPT}.sh rebase) .include From owner-svn-src-all@freebsd.org Sun Jun 4 02:22:17 2017 Return-Path: Delivered-To: svn-src-all@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 529C9AF87E9; Sun, 4 Jun 2017 02:22:17 +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 1CB96F15; Sun, 4 Jun 2017 02:22:17 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x241.google.com with SMTP id n23so16735061pfb.3; Sat, 03 Jun 2017 19:22:17 -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=AFeqazQkjrJI2g4k/fSexBH8u++Z/iL1fx+nKgDrq6U=; b=VvMVEkDRGp8dx8PmrPhL+djLxt1d9AUVMrkH+ptsjvhlMz6ZHQvLR2GtaOJeXc6SNi h++0sIxdMsNZ9bMWc9EwJj6uvWcNhafNsa6GEQcAK/Y//+lZVi+k+QrZ5ZHt/uAZsSu4 k/D/TzdSRkXlYTMb5WipSSuPWbfc19F1PhZcs8DwW1ECyQ5SAwOErVaQxQ0TibFaXWQ1 cQOTpF2Zf2/t+v8wvHj8sf7pjG6+E05Jl+2okjp8kIYUFliDPXLcuC+y9MqVI+/gy1ba IJ3PgwwRhplmjMDspLD3qsE3wN6SrVOuP4QuK5XphT7nOX5wmJg+/nfu9aZr9LTTdkWk C3cA== 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=AFeqazQkjrJI2g4k/fSexBH8u++Z/iL1fx+nKgDrq6U=; b=CVM4NEwO8kQZyto0qkIGB3yUDvtM3mW1u/+XRRKOXGxPtPOuSLf5t9TE50Dw3S2hFS RT6vGS1srHvVcqLuheybwUc8OwXKpVmLbjCyuKZ+8+MpiyLMQyIY7YvwJ0dupF777vrW +/uwyWmTah7jD1X/lAs1cL8+Z5WQUV7Tb7ckuVy4G4qmOOE6Dz/cRYPva2j5OWCAF4RG K2oP7QWq0EM7Pgil3SK/vUVu9uqzXDw/6zwCJIpNTadiVlgkdutNTagzxtKMu2LwgUpl D1rg0fuKXGdLZPKkIXEkBXiW08ZN83EjIyR+ejEalqBoQLNdcPerkU0KP1xm/s9rZQMV Th2w== X-Gm-Message-State: AODbwcCRpKiszm6Ww7kyylWVrVem6RvTMfjzEXW4moPzV0Tdg1A6yO+z CE08M1k+9Lt6jToG9sA= X-Received: by 10.98.58.195 with SMTP id v64mr13756520pfj.237.1496542936388; Sat, 03 Jun 2017 19:22:16 -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 a69sm15241600pfg.7.2017.06.03.19.22.15 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 03 Jun 2017 19:22:15 -0700 (PDT) Subject: Re: svn commit: r319557 - head/sys/fs/ext2fs Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_DD200906-96D8-4E47-8697-A1414C1AEA91"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: Date: Sat, 3 Jun 2017 19:22:14 -0700 Cc: Conrad Meyer , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201706032230.v53MUUAB056536@repo.freebsd.org> <25EB123A-EAF7-4ADD-8834-93C2618315B6@gmail.com> To: Pedro Giffuni X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 02:22:17 -0000 --Apple-Mail=_DD200906-96D8-4E47-8697-A1414C1AEA91 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 > On Jun 3, 2017, at 18:16, Pedro Giffuni wrote: >=20 >=20 > On 03/06/2017 17:54, Ngie Cooper (yaneurabeya) wrote: >>> On Jun 3, 2017, at 15:30, Conrad Meyer wrote: >>>=20 >>> Author: cem >>> Date: Sat Jun 3 22:30:30 2017 >>> New Revision: 319557 >>> URL: https://svnweb.freebsd.org/changeset/base/319557 >>>=20 >>> Log: >>> ext2fs(4): Fix a number of broken flag checks >>>=20 >>> Introduced in r319071. >>>=20 >>> Reported by: Coverity >>> CIDs: 1375847, 1375848, 1375849 >>> Sponsored by: Dell EMC Isilon >> Did pjg review this? >=20 > I don't know about pjg, but I wasn't even aware about the Coverity = issues. I never added myself to the MAINTAINERS list so it's OK, I will = just have the code submitter confirm the fixes. I meant pfg =97 sorry :/. > Luckily this is code that has not been MFC'd because I don't consider = it bullet-proof and more eyes are always welcome. --Apple-Mail=_DD200906-96D8-4E47-8697-A1414C1AEA91 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 iQIcBAEBCgAGBQJZM27WAAoJEPWDqSZpMIYV8QoQAMbL/Le6UL5m9RdZ3r/eTys0 qTxqQDHObu9TPCAaLiXAEK6tJnKAPDqO6Jd0l6nGfPdy0cQTVRoLbVl7XGUr7QNy lSYj3Xo1oyiB6oqPhv6RPm1ElId3D4JFslBBwnI24BkXXyaoCsGC6L6UyDt/3cx+ vzNFyCdysmHP/N54txMqoyPGoAg3flM6mc1Gbfg59i9VL+maNlqswjy5WtNDdsuw RRmybVhM9JJFanKufackYj3RAbqDJd6ow68toy7LC0TMrpqFsl6m0CK7XbRZY/NX OU72rOwEe+KoY10mXN0gI6yFDzNU3tiKVjpMbLYAVtMw7OpZtf5encaHw4w8Imyl qHLv1oFSIShmSOXMx1QvE09rf/GKX2U+4RIyubMaqnWXTGiWG2FWfhGf9rGhzR/a wuLtob+0ooqpYTZyBbCYaR3cLapU/KaD2OxzSUEtVBeROEFkvH22xyFEQjt8UW9x ViMGQ7kLH/XnDIyJcl5pMfDguUTWESl27/0TUxmas98XGCSQV+yGZRBrA+zle+4m HfNf1fTZbAotLjb3dn01SPVCWRmB4/0gsdNnN6/8gTLkvUd+jCo3Ci9fi9VkDrMb NGPvq19qYft/W+dCBG1vc2JFBvaiLTLuo33Py46AlywYVJKLbwqlgQWxpSjMGyDA eCLY5oi30Xrquie33bPo =4seZ -----END PGP SIGNATURE----- --Apple-Mail=_DD200906-96D8-4E47-8697-A1414C1AEA91-- From owner-svn-src-all@freebsd.org Sun Jun 4 02:36:39 2017 Return-Path: Delivered-To: svn-src-all@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 29550AF89E5; Sun, 4 Jun 2017 02:36:39 +0000 (UTC) (envelope-from cperciva@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 05813141E; Sun, 4 Jun 2017 02:36:38 +0000 (UTC) (envelope-from cperciva@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v542ach5056563; Sun, 4 Jun 2017 02:36:38 GMT (envelope-from cperciva@FreeBSD.org) Received: (from cperciva@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v542ac6c056561; Sun, 4 Jun 2017 02:36:38 GMT (envelope-from cperciva@FreeBSD.org) Message-Id: <201706040236.v542ac6c056561@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cperciva set sender to cperciva@FreeBSD.org using -f From: Colin Percival Date: Sun, 4 Jun 2017 02:36:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319561 - head/usr.bin/primes X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 02:36:39 -0000 Author: cperciva Date: Sun Jun 4 02:36:37 2017 New Revision: 319561 URL: https://svnweb.freebsd.org/changeset/base/319561 Log: Using results from J. Sorenson and J. Webster, Strong pseudoprimes to twelve prime bases, Math. Comp. 86(304):985-1003, 2017. teach primes(6) to enumerate primes up to 2^64 - 1. Until Sorenson and Webster's paper, we did not know how many strong speudoprime tests were required when testing alleged primes between 3825123056546413051 and 2^64 - 1. Reported by: Luiz Henrique de Figueiredo Relnotes: primes(6) now enumerates primes beyond 3825123056546413050, up to a new limit of 2^64 - 1. MFC After: 1 week Modified: head/usr.bin/primes/primes.c head/usr.bin/primes/primes.h head/usr.bin/primes/spsp.c Modified: head/usr.bin/primes/primes.c ============================================================================== --- head/usr.bin/primes/primes.c Sun Jun 4 02:21:38 2017 (r319560) +++ head/usr.bin/primes/primes.c Sun Jun 4 02:36:37 2017 (r319561) @@ -120,7 +120,7 @@ main(int argc, char *argv[]) argv += optind; start = 0; - stop = SPSPMAX; + stop = (uint64_t)(-1); /* * Convert low and high args. Strtoumax(3) sets errno to @@ -147,8 +147,6 @@ main(int argc, char *argv[]) err(1, "%s", argv[1]); if (*p != '\0') errx(1, "%s: illegal numeric format.", argv[1]); - if (stop > SPSPMAX) - errx(1, "%s: stop value too large.", argv[1]); break; case 1: /* Start on the command line. */ Modified: head/usr.bin/primes/primes.h ============================================================================== --- head/usr.bin/primes/primes.h Sun Jun 4 02:21:38 2017 (r319560) +++ head/usr.bin/primes/primes.h Sun Jun 4 02:36:37 2017 (r319561) @@ -72,6 +72,3 @@ extern const size_t pattern_size; /* length of pattern /* Test for primality using strong pseudoprime tests. */ int isprime(ubig); - -/* Maximum value which the SPSP code can handle. */ -#define SPSPMAX 3825123056546413050ULL Modified: head/usr.bin/primes/spsp.c ============================================================================== --- head/usr.bin/primes/spsp.c Sun Jun 4 02:21:38 2017 (r319560) +++ head/usr.bin/primes/spsp.c Sun Jun 4 02:36:37 2017 (r319561) @@ -32,23 +32,32 @@ __FBSDID("$FreeBSD$"); #include "primes.h" -/* Return a * b % n, where 0 <= a, b < 2^63, 0 < n < 2^63. */ +/* Return a * b % n, where 0 < n. */ static uint64_t mulmod(uint64_t a, uint64_t b, uint64_t n) { uint64_t x = 0; + uint64_t an = a % n; while (b != 0) { - if (b & 1) - x = (x + a) % n; - a = (a + a) % n; + if (b & 1) { + x += an; + if ((x < an) || (x >= n)) + x -= n; + } + if (an + an < an) + an = an + an - n; + else if (an + an >= n) + an = an + an - n; + else + an = an + an; b >>= 1; } return (x); } -/* Return a^r % n, where 0 <= a < 2^63, 0 < n < 2^63. */ +/* Return a^r % n, where 0 < n. */ static uint64_t powmod(uint64_t a, uint64_t r, uint64_t n) { @@ -173,9 +182,20 @@ isprime(ubig _n) if (n < 3825123056546413051) return (1); - /* We can't handle values larger than this. */ - assert(n <= SPSPMAX); + /* + * Value from: + * J. Sorenson and J. Webster, Strong pseudoprimes to twelve prime + * bases, Math. Comp. 86(304):985-1003, 2017. + */ - /* UNREACHABLE */ - return (0); + /* No SPSPs to bases 2..37 less than 318665857834031151167461. */ + if (!spsp(n, 29)) + return (0); + if (!spsp(n, 31)) + return (0); + if (!spsp(n, 37)) + return (0); + + /* All 64-bit values are less than 318665857834031151167461. */ + return (1); } From owner-svn-src-all@freebsd.org Sun Jun 4 02:45:19 2017 Return-Path: Delivered-To: svn-src-all@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 C2238AF8BE8; Sun, 4 Jun 2017 02:45:19 +0000 (UTC) (envelope-from cperciva@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 87C5C18A7; Sun, 4 Jun 2017 02:45:19 +0000 (UTC) (envelope-from cperciva@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v542jIRF060625; Sun, 4 Jun 2017 02:45:18 GMT (envelope-from cperciva@FreeBSD.org) Received: (from cperciva@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v542jI5d060624; Sun, 4 Jun 2017 02:45:18 GMT (envelope-from cperciva@FreeBSD.org) Message-Id: <201706040245.v542jI5d060624@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cperciva set sender to cperciva@FreeBSD.org using -f From: Colin Percival Date: Sun, 4 Jun 2017 02:45:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319562 - head/usr.bin/factor X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 02:45:19 -0000 Author: cperciva Date: Sun Jun 4 02:45:18 2017 New Revision: 319562 URL: https://svnweb.freebsd.org/changeset/base/319562 Log: Delete obsolete paragraph; primes(6) is now able to list primes for the full range up to 2^64 - 1. MFC after: 1 week Modified: head/usr.bin/factor/factor.6 Modified: head/usr.bin/factor/factor.6 ============================================================================== --- head/usr.bin/factor/factor.6 Sun Jun 4 02:36:37 2017 (r319561) +++ head/usr.bin/factor/factor.6 Sun Jun 4 02:45:18 2017 (r319562) @@ -119,9 +119,3 @@ cannot handle the factor list, .Nm primes will not get you a world record. -.Pp -.Nm primes -is unable to list primes between 3825123056546413050 and 18446744073709551615 -since it relies on strong pseudoprime tests after sieving, and nobody has -proven how many strong pseudoprime tests are required to prove primality for -integers larger than 3825123056546413050. From owner-svn-src-all@freebsd.org Sun Jun 4 04:39:56 2017 Return-Path: Delivered-To: svn-src-all@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 19F69AFA7CD; Sun, 4 Jun 2017 04:39:56 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B925164BD7; Sun, 4 Jun 2017 04:39:54 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id v544dk3Y005834; Sat, 3 Jun 2017 21:39:46 -0700 (PDT) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id v544dkCZ005833; Sat, 3 Jun 2017 21:39:46 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201706040439.v544dkCZ005833@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r318441 - in head/etc: . cron.d In-Reply-To: <1833775.llHFF7vaD6@ralph.baldwin.cx> To: John Baldwin Date: Sat, 3 Jun 2017 21:39:46 -0700 (PDT) CC: Baptiste Daroussin , rgrimes@freebsd.org, Ngie Cooper , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 04:39:56 -0000 > On Friday, May 19, 2017 09:17:23 AM John Baldwin wrote: > > On Thursday, May 18, 2017 11:24:29 PM Baptiste Daroussin wrote: > > > On Thu, May 18, 2017 at 09:48:25AM -0700, John Baldwin wrote: > > > > On Thursday, May 18, 2017 03:09:32 PM Baptiste Daroussin wrote: > > > > > On Thu, May 18, 2017 at 02:56:31AM -0700, Rodney W. Grimes wrote: > > > > > > > Author: ngie > > > > > > > Date: Thu May 18 06:25:39 2017 > > > > > > > New Revision: 318441 > > > > > > > URL: https://svnweb.freebsd.org/changeset/base/318441 > > > > > > > > > > > > > > Log: > > > > > > > Handle the cron.d entry for MK_AT in cron conditionally > > > > > > > > > > > > > > Install /etc/cron.d/at if MK_AT != no, always using it, which tries > > > > > > > to run a non-existent program via cron(8) every 5 minutes with the > > > > > > > default /etc/crontab, prior to this commit. > > > > > > > > > > > > > > SHELL and PATH are duplicated between /etc/crontab and /etc/cron.d/at > > > > > > > because atrun(8) executes programs, which may rely on environment > > > > > > > currently set via /etc/crontab. > > > > > > > > > > > > > > Noted by: bdrewery (in an internal review) > > > > > > > MFC after: 2 months > > > > > > > Relnotes: yes (may need to add environmental modifications to > > > > > > > /etc/cron.d/at) > > > > > > > Sponsored by: Dell EMC Isilon > > > > > > > > > > > > > > Added: > > > > > > > head/etc/cron.d/ > > > > > > > head/etc/cron.d/Makefile (contents, props changed) > > > > > > > head/etc/cron.d/at (contents, props changed) > > > > > > > Modified: > > > > > > > head/etc/Makefile > > > > > > > head/etc/crontab > > > > > > > > > > > > > > Modified: head/etc/Makefile > > > > > > > ============================================================================== > > > > > > > --- head/etc/Makefile Thu May 18 06:15:42 2017 (r318440) > > > > > > > +++ head/etc/Makefile Thu May 18 06:25:39 2017 (r318441) > > > > > > > @@ -8,6 +8,7 @@ FILESGROUPS= FILES > > > > > > > # No need as it is empty and just causes rebuilds since this file does so much. > > > > > > > UPDATE_DEPENDFILE= no > > > > > > > SUBDIR= \ > > > > > > > + cron.d \ > > > > > > > newsyslog.conf.d \ > > > > > > > syslog.d > > > > > > > > > > > > The thread on the newsyslog clearly shows that this is a contriversial change. > > > > > > > > > > > > I strongly object to further splitting of /etc/FOO into /etc/foo.d/FOO files > > > > > > to suite Dell/EMC/Isilon's needs. It is in conflict with the needs and > > > > > > desires of others. > > > > > > > > > > Has multiple people has stated, on the newsyslog thread. this is not a > > > > > DELL/EMC/Isilon need, this is also a requirement for plenty of use cases > > > > > 1. Consistency > > > > > as a project we do support building WITHOUT_FOO there is no reason to install > > > > > syslog, cron configuration for FOO if the system was built without foo > > > > > > > > Though it doesn't _hurt_, and breaking POLA has to be worth it, not just > > > > because it looks nice. > > > > > > > > > 2. Packaging base > > > > > if one does not install at there is no need for the at crontab to be installed > > > > > (same reason as 1.) > > > > > > > > This is a viable reason except that it isn't fully baked yet. > > > > > > > > > 3. Large deployment of freebsd farms > > > > > Being able to administrate thousands of FreeBSD machines, one often ends up > > > > > using tools like puppet, chef, ansible, cfengine. When programmatically > > > > > handling configuration management it is way easier and safer to simple > > > > > add/removes files in a directory rather than mangling^Winplace editing files. > > > > > > > > There's nothing preventing you now from deploying split files and an empty > > > > global configuration file since the daemons support foo.d. You don't require > > > > that to change in upstream since you should be using some sort of VCS to > > > > manage your configuration as it is. > > > > > > > > > 4. Ports/packages > > > > > On can provide easily sample configuration for cron, syslog (not only) and the > > > > > admin can decide to use it or not easily (ususally this is done by making > > > > > symlinks from the said file which would live in share/* into the .d directory. > > > > > > > > > > This is not a new trend in FreeBSD: newsyslog, rc.conf, libmap and more. > > > > > > > > The support for broken out files has long been there, but the base system has > > > > not used them previously for default config shipped during a release. That > > > > is in fact a new trend. > > > > > > > > However, the current approach seems to be the absolute worst way to do this. > > > > If someone wants to use the existing base system image and modify it with > > > > config management, they now have to use a mix of styles (for some services > > > > edit a global config file for certain settings, but use a dedicated file for > > > > other settings for the same service, or for the same settings but a different > > > > service). It's also the worst case for humans trying to work with our system > > > > as the division between which services are broken out vs global is > > > > inconsistent and arbitrary. > > > > > > > > Once you split up the files you make a merge conflict for anyone trying to do > > > > an upgrade. If we do this piecemail then we create N merge conflicts for users > > > > to deal with as opposed to if you split it up all at once. > > > > > > > > Also, there wasn't a clear consensus (a mail to arch@ with "hey, we should > > > > switch to splitting up config files for reasons A and B and let's do this for > > > > 12.0 but not merge to stable so there is a clear flag day / sign post for users > > > > to manage upgrades". Instead there have been a couple of commits and any > > > > not-in-100%-agreement opinions are ignored. > > > > > > > That's true, another thing is the way it is done, there is no simple way to > > > disable the at cron from an admin point of view rather than rm /etc/cron.d/at > > > for an end user which an upgrade will bring back. > > > > I think an upgrade won't bring the file back necessarily (etcupdate warns you > > that a removed file changed, but it doesn't bring it back, I think a similar > > strategy might be sensible for pkg as well). > > > > To be clear, my main thoughts are that if we are going to start using conf.d > > for the base system: > > > > 1) We should be intentional about deciding to use that approach in general > > (so discuss it first, though perhaps we've had enough discussion in the > > current threads). >From the discussion that has occured there are defanitly different views on what would be best. I do not think all the aspects of this type of change have been discussed. This is a basic philisophical change to how we configure FreeBSD and it has very wide reaching ramifications for not only the project but for all down stream consumers. > > 2) When converting a utility from a global foo.conf to a conf.d style, I > > think we should convert it all at once, not piecemeal so that there's just > > one painful update for users to work through instead of N updates to the > > same file. Very resonable. > > 3) This is probably a sufficiently large POLA violation to not MFC, but be > > part of a new X.0. Very much in agreement. > > Ping? bapt@ agreed with this, but I haven't seen any other feedback? If others > agree then we should either revert back to a single foo.conf or we should fully > split newsyslog.conf and syslogd.conf out to individual files. > I though I commented on this before, but I shall make sure by responding to this ping. I think it might be good to have a general discussion on this topic at BSDCan, even if it is a hallway track. How far does this reach? Are we going to end up with /etc/rc.conf.d? Is anyone actually doing this type of thing in a deployed managed set of systems? I still assert your going to break a LOT of peoples ansible, chef, puppet, what ever tool they have chosen management systems that are currently deployed. Your going to be breaking pre-canned task, reciepe, what ever the tool chooses to call it that already know how to deal with this. And one thing I have not seen addressed that applies specifically to doing this with cron, you have to duplicate the environment setup in every single file, and that is just an ugly situation from a systems point of view. As far as fixing the builds for optional stuff that is rather easily done in the Makefile with some if's to build a list of files that can then be catted to conf.foo, using m4 or even cpp to pre process conf.foo.src, etc, several very easy ways to solve that and leave the system administration interface alone. -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Sun Jun 4 05:59:45 2017 Return-Path: Delivered-To: svn-src-all@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 50807AFB979 for ; Sun, 4 Jun 2017 05:59:45 +0000 (UTC) (envelope-from 0100015c71ac355e-0bf6617a-f65e-48c0-9afe-1f1622d49e7d-000000@amazonses.com) Received: from a8-60.smtp-out.amazonses.com (a8-60.smtp-out.amazonses.com [54.240.8.60]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 07E7B669F7 for ; Sun, 4 Jun 2017 05:59:44 +0000 (UTC) (envelope-from 0100015c71ac355e-0bf6617a-f65e-48c0-9afe-1f1622d49e7d-000000@amazonses.com) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ae7m2yrxjw65l2cqdpjxuucyrvy564tn; d=tarsnap.com; t=1496555730; h=Subject:To:References:Cc:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; bh=fDKRw1YSLoOfsRQvKfQ1BV4+g18VLnoJsZ4utFtYtbw=; b=Trp+2O2cqBSxXMe64wa/Z6Pld5CwD264W1ZK5WKvd1o/umhIs59/y5nEPysdjrE2 Ndw86/BUVFHoSf5kacQ2c8s7BY/Gcd56sCVe9qq7tiDh4TssxavgFhFlc2zwvot8cra 13e2bmvv9A9yW3o+lBvskjnmbbXrblI9eJ3ri5Cs= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1496555730; h=Subject:To:References:Cc:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding:Feedback-ID; bh=fDKRw1YSLoOfsRQvKfQ1BV4+g18VLnoJsZ4utFtYtbw=; b=ZZXHfL51n7K0L1utpaQfKK92BPiJrahNQ+QgoVAPybLCyMlzplzzbITbAajh/06c dPcBQ3HCTVtJSqwwQm6PLJwEpsIgTs3MNf723+dw5wIEXPrVU0VyUjx1cVs1HlDII0H p9JboAQxqvU/bn7r2GmHchLb6S2SQPlzw/ie8POs= Subject: Re: svn commit: r318441 - in head/etc: . cron.d To: rgrimes@freebsd.org, John Baldwin References: <201706040439.v544dkCZ005833@pdx.rh.CN85.dnsmgr.net> Cc: Baptiste Daroussin , Ngie Cooper , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org From: Colin Percival Message-ID: <0100015c71ac355e-0bf6617a-f65e-48c0-9afe-1f1622d49e7d-000000@email.amazonses.com> Date: Sun, 4 Jun 2017 05:55:30 +0000 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <201706040439.v544dkCZ005833@pdx.rh.CN85.dnsmgr.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SES-Outgoing: 2017.06.04-54.240.8.60 Feedback-ID: 1.us-east-1.Lv9FVjaNvvR5llaqfLoOVbo2VxOELl7cjN0AOyXnPlk=:AmazonSES X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 05:59:45 -0000 On 06/03/17 21:39, Rodney W. Grimes wrote: > Are we going to end up with /etc/rc.conf.d? We've had this for over 15 years -- ever since NetBSD rc.d system was imported. -- Colin Percival Security Officer Emeritus, FreeBSD | The power to serve Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid From owner-svn-src-all@freebsd.org Sun Jun 4 06:41:19 2017 Return-Path: Delivered-To: svn-src-all@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 06780AFC0D8; Sun, 4 Jun 2017 06:41:19 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-wr0-f177.google.com (mail-wr0-f177.google.com [209.85.128.177]) (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 6D5206774F; Sun, 4 Jun 2017 06:41:18 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-wr0-f177.google.com with SMTP id v111so17327375wrc.3; Sat, 03 Jun 2017 23:41:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:reply-to:in-reply-to:references :from:date:message-id:subject:to:cc; bh=ijEUFOUbI2VWEdFhRPGuPa+CY441hU7xqSuK0BOUhuU=; b=Liu541K5uuUEPTcTNd5JhfvfPXi635TbKRMiGhRhJkJVgqwawr/7cKlEwJgDOnBNF6 eB8ZK52XLLXicmS0CFpFdhf6UEK4XD/7/VrpgoPgCbDT1yg4IEU+7GLYjqw6HXDRQ9Sn eZDAlDeD0innV+gKJfgYvx4gJFBwZbfxg8Mre72a3UcKP0Z/2pbMza6aSVTsW8DmTKqn Wax+8gkfCjhN5q5it/h+9POWIOb5ogl7GYyaXF06t+QFAWA7da3Ihf9wVgPYym+Mbt+c 7ux2p2yq0b73FkjPAspwKPNWo0DguXjDfoRljNlrxkS5f11syC0vf5kVVRBRDbOskEN+ z44g== X-Gm-Message-State: AODbwcAZ0z6p/S1kQvY+5d2RFwHFzhzyHdOVxs9GeNt2RyNs1gjKSIh/ Wa2107yPAkdW+XtyRLU= X-Received: by 10.223.151.42 with SMTP id r39mr9754525wrb.189.1496556737505; Sat, 03 Jun 2017 23:12:17 -0700 (PDT) Received: from mail-wm0-f47.google.com (mail-wm0-f47.google.com. [74.125.82.47]) by smtp.gmail.com with ESMTPSA id o97sm28067586wrc.48.2017.06.03.23.12.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 03 Jun 2017 23:12:17 -0700 (PDT) Received: by mail-wm0-f47.google.com with SMTP id 7so51481129wmo.1; Sat, 03 Jun 2017 23:12:17 -0700 (PDT) X-Received: by 10.80.172.134 with SMTP id x6mr12121102edc.12.1496556737203; Sat, 03 Jun 2017 23:12:17 -0700 (PDT) MIME-Version: 1.0 Reply-To: cem@freebsd.org Received: by 10.80.169.38 with HTTP; Sat, 3 Jun 2017 23:12:16 -0700 (PDT) In-Reply-To: <201706040236.v542ac6c056561@repo.freebsd.org> References: <201706040236.v542ac6c056561@repo.freebsd.org> From: Conrad Meyer Date: Sat, 3 Jun 2017 23:12:16 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r319561 - head/usr.bin/primes To: Colin Percival Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 06:41:19 -0000 Hi Colin, Minor nitpicking follows. On Sat, Jun 3, 2017 at 7:36 PM, Colin Percival wrote: > Author: cperciva > Date: Sun Jun 4 02:36:37 2017 > New Revision: 319561 > URL: https://svnweb.freebsd.org/changeset/base/319561 > > Log: > Using results from > J. Sorenson and J. Webster, Strong pseudoprimes to twelve prime > bases, Math. Comp. 86(304):985-1003, 2017. > teach primes(6) to enumerate primes up to 2^64 - 1. Until Sorenson > and Webster's paper, we did not know how many strong speudoprime tests > were required when testing alleged primes between 3825123056546413051 > and 2^64 - 1. > ... > Modified: head/usr.bin/primes/primes.c > ============================================================================== > --- head/usr.bin/primes/primes.c Sun Jun 4 02:21:38 2017 (r319560) > +++ head/usr.bin/primes/primes.c Sun Jun 4 02:36:37 2017 (r319561) > @@ -120,7 +120,7 @@ main(int argc, char *argv[]) > argv += optind; > > start = 0; > - stop = SPSPMAX; > + stop = (uint64_t)(-1); Isn't this usually spelled UINT64_MAX? Best, Conrad From owner-svn-src-all@freebsd.org Sun Jun 4 08:25:30 2017 Return-Path: Delivered-To: svn-src-all@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 903BBAFD986; Sun, 4 Jun 2017 08:25:30 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 63F036E3B4; Sun, 4 Jun 2017 08:25:30 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v548PTs4001274; Sun, 4 Jun 2017 08:25:29 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v548PTEG001273; Sun, 4 Jun 2017 08:25:29 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201706040825.v548PTEG001273@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sun, 4 Jun 2017 08:25:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319563 - stable/11/sys/ofed/drivers/net/mlx4 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 08:25:30 -0000 Author: hselasky Date: Sun Jun 4 08:25:28 2017 New Revision: 319563 URL: https://svnweb.freebsd.org/changeset/base/319563 Log: MFC r319414: Allow communication between functions on the same host when using the mlx4en(4) driver in SRIOV mode. Place a copy of the destination MAC address in the send WQE only under SRIOV/eSwitch configuration or when the device is in selftest. This allows communication between functions on the same host. PR: 216493 Approved by: re (kib) Sponsored by: Mellanox Technologies Modified: stable/11/sys/ofed/drivers/net/mlx4/en_tx.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/ofed/drivers/net/mlx4/en_tx.c ============================================================================== --- stable/11/sys/ofed/drivers/net/mlx4/en_tx.c Sun Jun 4 02:45:18 2017 (r319562) +++ stable/11/sys/ofed/drivers/net/mlx4/en_tx.c Sun Jun 4 08:25:28 2017 (r319563) @@ -661,18 +661,6 @@ static void mlx4_bf_copy(void __iomem *dst, volatile u __iowrite64_copy(dst, __DEVOLATILE(void *, src), bytecnt / 8); } -static u64 mlx4_en_mac_to_u64(u8 *addr) -{ - u64 mac = 0; - int i; - - for (i = 0; i < ETHER_ADDR_LEN; i++) { - mac <<= 8; - mac |= addr[i]; - } - return mac; -} - static int mlx4_en_xmit(struct mlx4_en_priv *priv, int tx_ind, struct mbuf **mbp) { enum { @@ -770,8 +758,18 @@ static int mlx4_en_xmit(struct mlx4_en_priv *priv, int tx_desc->ctrl.ins_vlan = 0; } - /* clear immediate field */ - tx_desc->ctrl.imm = 0; + if (unlikely(mlx4_is_mfunc(priv->mdev->dev) || priv->validate_loopback)) { + /* + * Copy destination MAC address to WQE. This allows + * loopback in eSwitch, so that VFs and PF can + * communicate with each other: + */ + m_copydata(mb, 0, 2, __DEVOLATILE(void *, &tx_desc->ctrl.srcrb_flags16[0])); + m_copydata(mb, 2, 4, __DEVOLATILE(void *, &tx_desc->ctrl.imm)); + } else { + /* clear immediate field */ + tx_desc->ctrl.imm = 0; + } /* Handle LSO (TSO) packets */ if (mb->m_pkthdr.csum_flags & CSUM_TSO) { @@ -929,22 +927,6 @@ skip_dma: mlx4_en_store_inline_lso_header(dseg_inline, ihs, owner_bit); else mlx4_en_store_inline_header(dseg_inline, ihs, owner_bit); - - if (unlikely(priv->validate_loopback)) { - /* Copy dst mac address to wqe */ - struct ether_header *ethh; - u64 mac; - u32 mac_l, mac_h; - - ethh = mtod(mb, struct ether_header *); - mac = mlx4_en_mac_to_u64(ethh->ether_dhost); - if (mac) { - mac_h = (u32) ((mac & 0xffff00000000ULL) >> 16); - mac_l = (u32) (mac & 0xffffffff); - tx_desc->ctrl.srcrb_flags |= cpu_to_be32(mac_h); - tx_desc->ctrl.imm = cpu_to_be32(mac_l); - } - } /* update producer counter */ ring->prod += tx_info->nr_txbb; From owner-svn-src-all@freebsd.org Sun Jun 4 08:29:18 2017 Return-Path: Delivered-To: svn-src-all@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 E7205AFDA44; Sun, 4 Jun 2017 08:29:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B70DF6E54E; Sun, 4 Jun 2017 08:29:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v548THR7001519; Sun, 4 Jun 2017 08:29:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v548THRg001518; Sun, 4 Jun 2017 08:29:17 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201706040829.v548THRg001518@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sun, 4 Jun 2017 08:29:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r319564 - stable/10/sys/ofed/drivers/net/mlx4 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 08:29:19 -0000 Author: hselasky Date: Sun Jun 4 08:29:17 2017 New Revision: 319564 URL: https://svnweb.freebsd.org/changeset/base/319564 Log: MFC r319414: Allow communication between functions on the same host when using the mlx4en(4) driver in SRIOV mode. Place a copy of the destination MAC address in the send WQE only under SRIOV/eSwitch configuration or when the device is in selftest. This allows communication between functions on the same host. PR: 216493 Sponsored by: Mellanox Technologies Modified: stable/10/sys/ofed/drivers/net/mlx4/en_tx.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/ofed/drivers/net/mlx4/en_tx.c ============================================================================== --- stable/10/sys/ofed/drivers/net/mlx4/en_tx.c Sun Jun 4 08:25:28 2017 (r319563) +++ stable/10/sys/ofed/drivers/net/mlx4/en_tx.c Sun Jun 4 08:29:17 2017 (r319564) @@ -656,18 +656,6 @@ static void mlx4_bf_copy(void __iomem *dst, volatile u __iowrite64_copy(dst, __DEVOLATILE(void *, src), bytecnt / 8); } -static u64 mlx4_en_mac_to_u64(u8 *addr) -{ - u64 mac = 0; - int i; - - for (i = 0; i < ETHER_ADDR_LEN; i++) { - mac <<= 8; - mac |= addr[i]; - } - return mac; -} - static int mlx4_en_xmit(struct mlx4_en_priv *priv, int tx_ind, struct mbuf **mbp) { enum { @@ -765,8 +753,18 @@ static int mlx4_en_xmit(struct mlx4_en_priv *priv, int tx_desc->ctrl.ins_vlan = 0; } - /* clear immediate field */ - tx_desc->ctrl.imm = 0; + if (unlikely(mlx4_is_mfunc(priv->mdev->dev) || priv->validate_loopback)) { + /* + * Copy destination MAC address to WQE. This allows + * loopback in eSwitch, so that VFs and PF can + * communicate with each other: + */ + m_copydata(mb, 0, 2, __DEVOLATILE(void *, &tx_desc->ctrl.srcrb_flags16[0])); + m_copydata(mb, 2, 4, __DEVOLATILE(void *, &tx_desc->ctrl.imm)); + } else { + /* clear immediate field */ + tx_desc->ctrl.imm = 0; + } /* Handle LSO (TSO) packets */ if (mb->m_pkthdr.csum_flags & CSUM_TSO) { @@ -924,22 +922,6 @@ skip_dma: mlx4_en_store_inline_lso_header(dseg_inline, ihs, owner_bit); else mlx4_en_store_inline_header(dseg_inline, ihs, owner_bit); - - if (unlikely(priv->validate_loopback)) { - /* Copy dst mac address to wqe */ - struct ether_header *ethh; - u64 mac; - u32 mac_l, mac_h; - - ethh = mtod(mb, struct ether_header *); - mac = mlx4_en_mac_to_u64(ethh->ether_dhost); - if (mac) { - mac_h = (u32) ((mac & 0xffff00000000ULL) >> 16); - mac_l = (u32) (mac & 0xffffffff); - tx_desc->ctrl.srcrb_flags |= cpu_to_be32(mac_h); - tx_desc->ctrl.imm = cpu_to_be32(mac_l); - } - } /* update producer counter */ ring->prod += tx_info->nr_txbb; From owner-svn-src-all@freebsd.org Sun Jun 4 08:30:56 2017 Return-Path: Delivered-To: svn-src-all@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 BF0E8AFDB01; Sun, 4 Jun 2017 08:30:56 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 966336E817; Sun, 4 Jun 2017 08:30:56 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v548Utat001665; Sun, 4 Jun 2017 08:30:55 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v548UtZm001664; Sun, 4 Jun 2017 08:30:55 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201706040830.v548UtZm001664@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sun, 4 Jun 2017 08:30:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r319565 - stable/9/sys/ofed/drivers/net/mlx4 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 08:30:56 -0000 Author: hselasky Date: Sun Jun 4 08:30:55 2017 New Revision: 319565 URL: https://svnweb.freebsd.org/changeset/base/319565 Log: MFC r319414: Allow communication between functions on the same host when using the mlx4en(4) driver in SRIOV mode. Place a copy of the destination MAC address in the send WQE only under SRIOV/eSwitch configuration or when the device is in selftest. This allows communication between functions on the same host. PR: 216493 Sponsored by: Mellanox Technologies Modified: stable/9/sys/ofed/drivers/net/mlx4/en_tx.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/ofed/drivers/net/mlx4/en_tx.c ============================================================================== --- stable/9/sys/ofed/drivers/net/mlx4/en_tx.c Sun Jun 4 08:29:17 2017 (r319564) +++ stable/9/sys/ofed/drivers/net/mlx4/en_tx.c Sun Jun 4 08:30:55 2017 (r319565) @@ -657,18 +657,6 @@ static void mlx4_bf_copy(void __iomem *dst, volatile u __iowrite64_copy(dst, __DEVOLATILE(void *, src), bytecnt / 8); } -static u64 mlx4_en_mac_to_u64(u8 *addr) -{ - u64 mac = 0; - int i; - - for (i = 0; i < ETHER_ADDR_LEN; i++) { - mac <<= 8; - mac |= addr[i]; - } - return mac; -} - static int mlx4_en_xmit(struct mlx4_en_priv *priv, int tx_ind, struct mbuf **mbp) { enum { @@ -766,8 +754,18 @@ static int mlx4_en_xmit(struct mlx4_en_priv *priv, int tx_desc->ctrl.ins_vlan = 0; } - /* clear immediate field */ - tx_desc->ctrl.imm = 0; + if (unlikely(mlx4_is_mfunc(priv->mdev->dev) || priv->validate_loopback)) { + /* + * Copy destination MAC address to WQE. This allows + * loopback in eSwitch, so that VFs and PF can + * communicate with each other: + */ + m_copydata(mb, 0, 2, __DEVOLATILE(void *, &tx_desc->ctrl.srcrb_flags16[0])); + m_copydata(mb, 2, 4, __DEVOLATILE(void *, &tx_desc->ctrl.imm)); + } else { + /* clear immediate field */ + tx_desc->ctrl.imm = 0; + } /* Handle LSO (TSO) packets */ if (mb->m_pkthdr.csum_flags & CSUM_TSO) { @@ -925,22 +923,6 @@ skip_dma: mlx4_en_store_inline_lso_header(dseg_inline, ihs, owner_bit); else mlx4_en_store_inline_header(dseg_inline, ihs, owner_bit); - - if (unlikely(priv->validate_loopback)) { - /* Copy dst mac address to wqe */ - struct ether_header *ethh; - u64 mac; - u32 mac_l, mac_h; - - ethh = mtod(mb, struct ether_header *); - mac = mlx4_en_mac_to_u64(ethh->ether_dhost); - if (mac) { - mac_h = (u32) ((mac & 0xffff00000000ULL) >> 16); - mac_l = (u32) (mac & 0xffffffff); - tx_desc->ctrl.srcrb_flags |= cpu_to_be32(mac_h); - tx_desc->ctrl.imm = cpu_to_be32(mac_l); - } - } /* update producer counter */ ring->prod += tx_info->nr_txbb; From owner-svn-src-all@freebsd.org Sun Jun 4 08:45:15 2017 Return-Path: Delivered-To: svn-src-all@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 014D2AFDE70; Sun, 4 Jun 2017 08:45:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C31AC6EDEB; Sun, 4 Jun 2017 08:45:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v548jDc0009570; Sun, 4 Jun 2017 08:45:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v548jDLx009569; Sun, 4 Jun 2017 08:45:13 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201706040845.v548jDLx009569@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sun, 4 Jun 2017 08:45:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319566 - stable/11/sys/ofed/drivers/net/mlx4 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 08:45:15 -0000 Author: hselasky Date: Sun Jun 4 08:45:13 2017 New Revision: 319566 URL: https://svnweb.freebsd.org/changeset/base/319566 Log: MFC r319413: Free hardware queue resource after port is stopped in the mlx4en(4) driver. Else if the port is up the resource might still be busy and the MTT free will fail. PR: 216493 Approved by: re (kib) Sponsored by: Mellanox Technologies Modified: stable/11/sys/ofed/drivers/net/mlx4/en_netdev.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/ofed/drivers/net/mlx4/en_netdev.c ============================================================================== --- stable/11/sys/ofed/drivers/net/mlx4/en_netdev.c Sun Jun 4 08:30:55 2017 (r319565) +++ stable/11/sys/ofed/drivers/net/mlx4/en_netdev.c Sun Jun 4 08:45:13 2017 (r319566) @@ -1731,13 +1731,12 @@ void mlx4_en_destroy_netdev(struct net_device *dev) mutex_unlock(&mdev->state_lock); } - if (priv->allocated) - mlx4_free_hwq_res(mdev->dev, &priv->res, MLX4_EN_PAGE_SIZE); - mutex_lock(&mdev->state_lock); mlx4_en_stop_port(dev); mutex_unlock(&mdev->state_lock); + if (priv->allocated) + mlx4_free_hwq_res(mdev->dev, &priv->res, MLX4_EN_PAGE_SIZE); cancel_delayed_work(&priv->stats_task); cancel_delayed_work(&priv->service_task); From owner-svn-src-all@freebsd.org Sun Jun 4 08:47:10 2017 Return-Path: Delivered-To: svn-src-all@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 BE1BFAFE06A; Sun, 4 Jun 2017 08:47:10 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8AFEA6F035; Sun, 4 Jun 2017 08:47:10 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v548l9CP009709; Sun, 4 Jun 2017 08:47:09 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v548l9oZ009708; Sun, 4 Jun 2017 08:47:09 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201706040847.v548l9oZ009708@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sun, 4 Jun 2017 08:47:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r319567 - stable/10/sys/ofed/drivers/net/mlx4 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 08:47:10 -0000 Author: hselasky Date: Sun Jun 4 08:47:09 2017 New Revision: 319567 URL: https://svnweb.freebsd.org/changeset/base/319567 Log: MFC r319413: Free hardware queue resource after port is stopped in the mlx4en(4) driver. Else if the port is up the resource might still be busy and the MTT free will fail. PR: 216493 Sponsored by: Mellanox Technologies Modified: stable/10/sys/ofed/drivers/net/mlx4/en_netdev.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/ofed/drivers/net/mlx4/en_netdev.c ============================================================================== --- stable/10/sys/ofed/drivers/net/mlx4/en_netdev.c Sun Jun 4 08:45:13 2017 (r319566) +++ stable/10/sys/ofed/drivers/net/mlx4/en_netdev.c Sun Jun 4 08:47:09 2017 (r319567) @@ -1732,13 +1732,12 @@ void mlx4_en_destroy_netdev(struct net_device *dev) mutex_unlock(&mdev->state_lock); } - if (priv->allocated) - mlx4_free_hwq_res(mdev->dev, &priv->res, MLX4_EN_PAGE_SIZE); - mutex_lock(&mdev->state_lock); mlx4_en_stop_port(dev); mutex_unlock(&mdev->state_lock); + if (priv->allocated) + mlx4_free_hwq_res(mdev->dev, &priv->res, MLX4_EN_PAGE_SIZE); cancel_delayed_work(&priv->stats_task); cancel_delayed_work(&priv->service_task); From owner-svn-src-all@freebsd.org Sun Jun 4 08:48:28 2017 Return-Path: Delivered-To: svn-src-all@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 2F92AAFE154; Sun, 4 Jun 2017 08:48:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F35BA6F218; Sun, 4 Jun 2017 08:48:27 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v548mRaP009828; Sun, 4 Jun 2017 08:48:27 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v548mRMW009827; Sun, 4 Jun 2017 08:48:27 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201706040848.v548mRMW009827@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sun, 4 Jun 2017 08:48:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r319568 - stable/9/sys/ofed/drivers/net/mlx4 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 08:48:28 -0000 Author: hselasky Date: Sun Jun 4 08:48:26 2017 New Revision: 319568 URL: https://svnweb.freebsd.org/changeset/base/319568 Log: MFC r319413: Free hardware queue resource after port is stopped in the mlx4en(4) driver. Else if the port is up the resource might still be busy and the MTT free will fail. PR: 216493 Sponsored by: Mellanox Technologies Modified: stable/9/sys/ofed/drivers/net/mlx4/en_netdev.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/ofed/drivers/net/mlx4/en_netdev.c ============================================================================== --- stable/9/sys/ofed/drivers/net/mlx4/en_netdev.c Sun Jun 4 08:47:09 2017 (r319567) +++ stable/9/sys/ofed/drivers/net/mlx4/en_netdev.c Sun Jun 4 08:48:26 2017 (r319568) @@ -1732,13 +1732,12 @@ void mlx4_en_destroy_netdev(struct net_device *dev) mutex_unlock(&mdev->state_lock); } - if (priv->allocated) - mlx4_free_hwq_res(mdev->dev, &priv->res, MLX4_EN_PAGE_SIZE); - mutex_lock(&mdev->state_lock); mlx4_en_stop_port(dev); mutex_unlock(&mdev->state_lock); + if (priv->allocated) + mlx4_free_hwq_res(mdev->dev, &priv->res, MLX4_EN_PAGE_SIZE); cancel_delayed_work(&priv->stats_task); cancel_delayed_work(&priv->service_task); From owner-svn-src-all@freebsd.org Sun Jun 4 09:11:15 2017 Return-Path: Delivered-To: svn-src-all@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 EDC41AFEA5F; Sun, 4 Jun 2017 09:11:15 +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 B60846FD6A; Sun, 4 Jun 2017 09:11:15 +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 v549BEw9018344; Sun, 4 Jun 2017 09:11:14 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v549BEM3018337; Sun, 4 Jun 2017 09:11:14 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201706040911.v549BEM3018337@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sun, 4 Jun 2017 09:11:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319569 - in head/sys/arm: allwinner annapurna/alpine freescale/imx X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 09:11:16 -0000 Author: andrew Date: Sun Jun 4 09:11:14 2017 New Revision: 319569 URL: https://svnweb.freebsd.org/changeset/base/319569 Log: Start to rename files with common or generic names to be SoC specific. The build system doesn't handle two files with the same name. Added: head/sys/arm/allwinner/aw_console.c - copied unchanged from r319568, head/sys/arm/allwinner/console.c head/sys/arm/annapurna/alpine/alpine_common.c - copied unchanged from r319568, head/sys/arm/annapurna/alpine/common.c head/sys/arm/freescale/imx/imx_console.c - copied unchanged from r319568, head/sys/arm/freescale/imx/console.c Deleted: head/sys/arm/allwinner/console.c head/sys/arm/annapurna/alpine/common.c head/sys/arm/freescale/imx/console.c Modified: head/sys/arm/allwinner/files.allwinner head/sys/arm/annapurna/alpine/files.alpine head/sys/arm/freescale/imx/files.imx5 head/sys/arm/freescale/imx/files.imx6 Copied: head/sys/arm/allwinner/aw_console.c (from r319568, head/sys/arm/allwinner/console.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm/allwinner/aw_console.c Sun Jun 4 09:11:14 2017 (r319569, copy of r319568, head/sys/arm/allwinner/console.c) @@ -0,0 +1,142 @@ +/*- + * Copyright (c) 2012 Ganbold Tsagaankhuu + * 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. + */ + +/* Simple UART console driver for Allwinner A10 */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include + +#ifndef A10_UART_BASE +#define A10_UART_BASE 0xe1c28000 /* UART0 */ +#endif + +#define REG_SHIFT 2 + +#define UART_DLL 0 /* Out: Divisor Latch Low */ +#define UART_DLM 1 /* Out: Divisor Latch High */ +#define UART_FCR 2 /* Out: FIFO Control Register */ +#define UART_LCR 3 /* Out: Line Control Register */ +#define UART_MCR 4 /* Out: Modem Control Register */ +#define UART_LSR 5 /* In: Line Status Register */ +#define UART_LSR_THRE 0x20 /* Transmit-hold-register empty */ +#define UART_LSR_DR 0x01 /* Receiver data ready */ +#define UART_MSR 6 /* In: Modem Status Register */ +#define UART_SCR 7 /* I/O: Scratch Register */ + +static uint32_t +uart_getreg(uint32_t *bas) +{ + return *((volatile uint32_t *)(bas)) & 0xff; +} + +static void +uart_setreg(uint32_t *bas, uint32_t val) +{ + *((volatile uint32_t *)(bas)) = val; +} + +static int +ub_getc(void) +{ + while ((uart_getreg((uint32_t *)(A10_UART_BASE + + (UART_LSR << REG_SHIFT))) & UART_LSR_DR) == 0); + __asm __volatile("nop"); + + return (uart_getreg((uint32_t *)A10_UART_BASE) & 0xff); +} + +static void +ub_putc(unsigned char c) +{ + if (c == '\n') + ub_putc('\r'); + + while ((uart_getreg((uint32_t *)(A10_UART_BASE + + (UART_LSR << REG_SHIFT))) & UART_LSR_THRE) == 0) + __asm __volatile("nop"); + + uart_setreg((uint32_t *)A10_UART_BASE, c); +} + +static cn_probe_t uart_cnprobe; +static cn_init_t uart_cninit; +static cn_term_t uart_cnterm; +static cn_getc_t uart_cngetc; +static cn_putc_t uart_cnputc; +static cn_grab_t uart_cngrab; +static cn_ungrab_t uart_cnungrab; + +static void +uart_cngrab(struct consdev *cp) +{ +} + +static void +uart_cnungrab(struct consdev *cp) +{ +} + + +static void +uart_cnprobe(struct consdev *cp) +{ + sprintf(cp->cn_name, "uart"); + cp->cn_pri = CN_NORMAL; +} + +static void +uart_cninit(struct consdev *cp) +{ + uart_setreg((uint32_t *)(A10_UART_BASE + + (UART_FCR << REG_SHIFT)), 0x06); +} + +void +uart_cnputc(struct consdev *cp, int c) +{ + ub_putc(c); +} + +int +uart_cngetc(struct consdev * cp) +{ + return ub_getc(); +} + +static void +uart_cnterm(struct consdev * cp) +{ +} + +CONSOLE_DRIVER(uart); + Modified: head/sys/arm/allwinner/files.allwinner ============================================================================== --- head/sys/arm/allwinner/files.allwinner Sun Jun 4 08:48:26 2017 (r319568) +++ head/sys/arm/allwinner/files.allwinner Sun Jun 4 09:11:14 2017 (r319569) @@ -30,7 +30,7 @@ arm/allwinner/aw_sid.c standard arm/allwinner/aw_thermal.c standard dev/iicbus/sy8106a.c optional sy8106a arm/allwinner/aw_cir.c optional aw_cir evdev -#arm/allwinner/console.c standard +#arm/allwinner/aw_console.c standard arm/allwinner/a10_fb.c optional vt arm/allwinner/a10_hdmi.c optional hdmi Copied: head/sys/arm/annapurna/alpine/alpine_common.c (from r319568, head/sys/arm/annapurna/alpine/common.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm/annapurna/alpine/alpine_common.c Sun Jun 4 09:11:14 2017 (r319569, copy of r319568, head/sys/arm/annapurna/alpine/common.c) @@ -0,0 +1,159 @@ +/*- + * Copyright (c) 2013 Ruslan Bukin + * Copyright (c) 2015 Semihalf. + * 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. + * + */ + +#include +__FBSDID("$FreeBSD$"); + +#include "opt_platform.h" + +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#define WDTLOAD 0x000 +#define LOAD_MIN 0x00000001 +#define LOAD_MAX 0xFFFFFFFF +#define WDTVALUE 0x004 +#define WDTCONTROL 0x008 +/* control register masks */ +#define INT_ENABLE (1 << 0) +#define RESET_ENABLE (1 << 1) +#define WDTLOCK 0xC00 +#define UNLOCK 0x1ACCE551 +#define LOCK 0x00000001 + +extern bus_addr_t al_devmap_pa; + +static int alpine_get_wdt_base(uint32_t *pbase, uint32_t *psize); +static int alpine_pic_decode_fdt(uint32_t iparent, uint32_t *intr, + int *interrupt, int *trig, int *pol); + +int alpine_get_devmap_base(bus_addr_t *pa, bus_addr_t *size); + +int alpine_get_devmap_base(bus_addr_t *pa, bus_addr_t *size) +{ + phandle_t node; + + if ((node = OF_finddevice("/")) == 0) + return (ENXIO); + + if ((node = fdt_find_compatible(node, "simple-bus", 1)) == 0) + return (ENXIO); + + return fdt_get_range(node, 0, pa, size); +} + +static int +alpine_get_wdt_base(uint32_t *pbase, uint32_t *psize) +{ + phandle_t node; + u_long base = 0; + u_long size = 0; + + if (pbase == NULL || psize == NULL) + return (EINVAL); + + if ((node = OF_finddevice("/")) == -1) + return (EFAULT); + + if ((node = fdt_find_compatible(node, "simple-bus", 1)) == 0) + return (EFAULT); + + if ((node = + fdt_find_compatible(node, "arm,sp805", 1)) == 0) + return (EFAULT); + + if (fdt_regsize(node, &base, &size)) + return (EFAULT); + + *pbase = base; + *psize = size; + + return (0); +} + +void +cpu_reset(void) +{ + uint32_t wdbase, wdsize; + bus_addr_t wdbaddr; + int ret; + + ret = alpine_get_wdt_base(&wdbase, &wdsize); + if (ret) { + printf("Unable to get WDT base, do power down manually..."); + goto infinite; + } + + ret = bus_space_map(fdtbus_bs_tag, al_devmap_pa + wdbase, + wdsize, 0, &wdbaddr); + if (ret) { + printf("Unable to map WDT base, do power down manually..."); + goto infinite; + } + + bus_space_write_4(fdtbus_bs_tag, wdbaddr, WDTLOCK, UNLOCK); + bus_space_write_4(fdtbus_bs_tag, wdbaddr, WDTLOAD, LOAD_MIN); + bus_space_write_4(fdtbus_bs_tag, wdbaddr, WDTCONTROL, INT_ENABLE | RESET_ENABLE); + +infinite: + while (1) {} +} + +#ifndef INTRNG +static int +alpine_pic_decode_fdt(uint32_t iparent, uint32_t *intr, int *interrupt, + int *trig, int *pol) +{ + int rv = 0; + + rv = gic_decode_fdt(iparent, intr, interrupt, trig, pol); + if (rv == 0) { + /* This was recognized as our PIC and decoded. */ + interrupt = FDT_MAP_IRQ(iparent, interrupt); + + /* Configure the interrupt if callback provided */ + if (arm_config_irq) + (*arm_config_irq)(*interrupt, *trig, *pol); + } + return (rv); +} + +fdt_pic_decode_t fdt_pic_table[] = { + &alpine_pic_decode_fdt, + NULL +}; +#endif Modified: head/sys/arm/annapurna/alpine/files.alpine ============================================================================== --- head/sys/arm/annapurna/alpine/files.alpine Sun Jun 4 08:48:26 2017 (r319568) +++ head/sys/arm/annapurna/alpine/files.alpine Sun Jun 4 09:11:14 2017 (r319569) @@ -5,6 +5,6 @@ kern/kern_clocksource.c standard arm/versatile/sp804.c standard dev/uart/uart_dev_ns8250.c optional uart -arm/annapurna/alpine/common.c standard +arm/annapurna/alpine/alpine_common.c standard arm/annapurna/alpine/alpine_machdep.c standard arm/annapurna/alpine/alpine_machdep_mp.c optional smp Modified: head/sys/arm/freescale/imx/files.imx5 ============================================================================== --- head/sys/arm/freescale/imx/files.imx5 Sun Jun 4 08:48:26 2017 (r319568) +++ head/sys/arm/freescale/imx/files.imx5 Sun Jun 4 09:11:14 2017 (r319569) @@ -8,7 +8,7 @@ arm/freescale/imx/imx51_machdep.c optional soc_imx51 arm/freescale/imx/imx53_machdep.c optional soc_imx53 # Special serial console for debuging early boot code -#arm/freescale/imx/console.c standard +#arm/freescale/imx/imx_console.c standard # UART driver (includes serial console support) dev/uart/uart_dev_imx.c optional uart Modified: head/sys/arm/freescale/imx/files.imx6 ============================================================================== --- head/sys/arm/freescale/imx/files.imx6 Sun Jun 4 08:48:26 2017 (r319568) +++ head/sys/arm/freescale/imx/files.imx6 Sun Jun 4 09:11:14 2017 (r319569) @@ -47,7 +47,7 @@ arm/freescale/imx/imx6_usbphy.c optional ehci # # Low-level serial console for debugging early kernel startup. # -#arm/freescale/imx/console.c standard +#arm/freescale/imx/imx_console.c standard # # Not ready yet... Copied: head/sys/arm/freescale/imx/imx_console.c (from r319568, head/sys/arm/freescale/imx/console.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm/freescale/imx/imx_console.c Sun Jun 4 09:11:14 2017 (r319569, copy of r319568, head/sys/arm/freescale/imx/console.c) @@ -0,0 +1,177 @@ +/*- + * Copyright (c) 2012, 2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Oleksandr Rybalko under sponsorship + * from the FreeBSD Foundation. + * + * 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. + */ + +/* Simple UART console driver for Freescale i.MX515 */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include + +/* Allow it to be predefined, to be able to use another UART for console */ +#ifndef IMX_UART_BASE +#define IMX_UART_BASE 0xe3fbc000 /* imx51 UART1 */ +#endif + +#define IMX_RXD 0x00 +#define IMX_TXD 0x40 + +#define IMX_UFCR 0x90 +#define IMX_USR1 0x94 +#define IMX_USR1_TRDY (1 << 13) + +#define IMX_USR2 0x98 +#define IMX_USR2_RDR (1 << 0) +#define IMX_USR2_TXFE (1 << 14) +#define IMX_USR2_TXDC (1 << 3) + +#define IMX_UTS 0xb4 +#define IMX_UTS_TXFULL (1 << 4) + +/* + * The base address of the uart registers. + * + * This is global so that it can be changed on the fly from the outside. For + * example, set imx_uart_base=physaddr and then call cninit() as the first two + * lines of initarm() and enjoy printf() availability through the tricky bits of + * startup. After initarm() switches from physical to virtual addressing, just + * set imx_uart_base=virtaddr and printf keeps working. + */ +uint32_t imx_uart_base = IMX_UART_BASE; + +/* + * uart related funcs + */ +static uint32_t +ub_getreg(uint32_t off) +{ + + return *((volatile uint32_t *)(imx_uart_base + off)); +} + +static void +ub_setreg(uint32_t off, uint32_t val) +{ + + *((volatile uint32_t *)(imx_uart_base + off)) = val; +} + +static int +ub_tstc(void) +{ + + return ((ub_getreg(IMX_USR2) & IMX_USR2_RDR) ? 1 : 0); +} + +static int +ub_getc(void) +{ + + while (!ub_tstc()); + __asm __volatile("nop"); + + return (ub_getreg(IMX_RXD) & 0xff); +} + +static void +ub_putc(unsigned char c) +{ + + if (c == '\n') + ub_putc('\r'); + + while (ub_getreg(IMX_UTS) & IMX_UTS_TXFULL) + __asm __volatile("nop"); + + ub_setreg(IMX_TXD, c); +} + +static cn_probe_t uart_cnprobe; +static cn_init_t uart_cninit; +static cn_term_t uart_cnterm; +static cn_getc_t uart_cngetc; +static cn_putc_t uart_cnputc; +static cn_grab_t uart_cngrab; +static cn_ungrab_t uart_cnungrab; + +static void +uart_cngrab(struct consdev *cp) +{ + +} + +static void +uart_cnungrab(struct consdev *cp) +{ + +} + + +static void +uart_cnprobe(struct consdev *cp) +{ + + sprintf(cp->cn_name, "uart"); + cp->cn_pri = CN_NORMAL; +} + +static void +uart_cninit(struct consdev *cp) +{ + + /* Init fifo trigger levels to 32 bytes, refclock div to 2. */ + ub_setreg(IMX_UFCR, 0x00004210); +} + +static void +uart_cnputc(struct consdev *cp, int c) +{ + + ub_putc(c); +} + +static int +uart_cngetc(struct consdev * cp) +{ + + return ub_getc(); +} + +static void +uart_cnterm(struct consdev * cp) +{ + +} + +CONSOLE_DRIVER(uart); From owner-svn-src-all@freebsd.org Sun Jun 4 18:06:31 2017 Return-Path: Delivered-To: svn-src-all@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 C2FC8B94627; Sun, 4 Jun 2017 18:06:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 86AF47E66A; Sun, 4 Jun 2017 18:06:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (unknown [127.0.1.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id A3A6A14240; Sun, 4 Jun 2017 18:06:30 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id C33617327; Sun, 4 Jun 2017 18:06:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id 1rvKYs5FzXMC; Sun, 4 Jun 2017 18:06:23 +0000 (UTC) Subject: Re: svn commit: r319507 - head/sys/fs/msdosfs DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com C31027321 To: Bruce Evans , Ed Maste Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201706021839.v52IdrZJ074478@repo.freebsd.org> <20170603161546.D939@besplex.bde.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <543a4144-4f08-8742-5455-0103569d9f4f@FreeBSD.org> Date: Sun, 4 Jun 2017 11:06:07 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <20170603161546.D939@besplex.bde.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="OCrjEcmq8O6hrQ68b5c71DDe4cvVqeKtq" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 18:06:31 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --OCrjEcmq8O6hrQ68b5c71DDe4cvVqeKtq Content-Type: multipart/mixed; boundary="qUGl03JLwVNA2HpXXDCCneJWFr43Kmgp9"; protected-headers="v1" From: Bryan Drewery To: Bruce Evans , Ed Maste Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <543a4144-4f08-8742-5455-0103569d9f4f@FreeBSD.org> Subject: Re: svn commit: r319507 - head/sys/fs/msdosfs References: <201706021839.v52IdrZJ074478@repo.freebsd.org> <20170603161546.D939@besplex.bde.org> In-Reply-To: <20170603161546.D939@besplex.bde.org> --qUGl03JLwVNA2HpXXDCCneJWFr43Kmgp9 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 6/3/2017 12:05 AM, Bruce Evans wrote: > bcopy() is essentially the same as memmove(), but is implemented more > optimally > (the non-use of memmove() in the kernel used to be implememented by > by not having it, but someone broke this by adding an memmove() wrapp= er > which is an extern function that calls bcopy(). This is even slower = than > the inline wrappers used to break intentionally leaving out some of t= he > other functions). In r189170. It seems to me we should change systm.h back to a macro #define memmove(dst, src, len) bcopy((src), (dst), (len)) And then keep the symbol in sys/libkern/memmove.c for the cases where Clang insists on having the symbol for linking. --=20 Regards, Bryan Drewery --qUGl03JLwVNA2HpXXDCCneJWFr43Kmgp9-- --OCrjEcmq8O6hrQ68b5c71DDe4cvVqeKtq Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJZNEwPAAoJEDXXcbtuRpfPCDMIAJJuFe9csw5t9YYMW9OfR5UB wA0+zd0E9B1NLt+kAcU5vfLUPvp6HOCUYbZHR6GTmJ0XHMswCaTRXwWDWqztf7Xj +M9W1ILIjnQHpL9wnfPtm8Vw7tt3WWNL1R8Z4wgpZnmCGrH2JRSLhyO63lmTOxHa viTqZAY0YpUC48nOT2C2JCeyG8h2l2a03zjBgTVJLFg9nngr9uxukegtuVWr5Qcr KH/riVda148KPsY8bJieXXurKKr5jK/yOOFZsvI/DO9NP0WVuY4h9/3Vx+MMbwv0 3VViZQRaOXYXri1dLybpX7DKIUQVcoaOG271RVsXIvy/p2gilXRPYgl9s+Rc4Ag= =T/nM -----END PGP SIGNATURE----- --OCrjEcmq8O6hrQ68b5c71DDe4cvVqeKtq-- From owner-svn-src-all@freebsd.org Sun Jun 4 18:24:43 2017 Return-Path: Delivered-To: svn-src-all@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 3476FB94E36; Sun, 4 Jun 2017 18:24:43 +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 10C557EFEB; Sun, 4 Jun 2017 18:24:42 +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 v54IOgj3047172; Sun, 4 Jun 2017 18:24:42 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54IOfcW047168; Sun, 4 Jun 2017 18:24:41 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201706041824.v54IOfcW047168@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 4 Jun 2017 18:24:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319570 - in head/sys: compat/linux conf modules/linux modules/linux64 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 18:24:43 -0000 Author: dchagin Date: Sun Jun 4 18:24:41 2017 New Revision: 319570 URL: https://svnweb.freebsd.org/changeset/base/319570 Log: Revert r319053 due to lack of sence. As pointed out by kib@ opt_global.h contains such fundamental settings as e.g. SMP option and fake opt_global.h almost never match real configured kernels. Reported by: kib@ Modified: head/sys/compat/linux/linux_misc.c head/sys/conf/config.mk head/sys/modules/linux/Makefile head/sys/modules/linux64/Makefile Modified: head/sys/compat/linux/linux_misc.c ============================================================================== --- head/sys/compat/linux/linux_misc.c Sun Jun 4 09:11:14 2017 (r319569) +++ head/sys/compat/linux/linux_misc.c Sun Jun 4 18:24:41 2017 (r319570) @@ -31,9 +31,6 @@ __FBSDID("$FreeBSD$"); #include "opt_compat.h" -#if defined(KLD_MODULE) -#include "opt_global.h" -#endif #include #include @@ -2519,7 +2516,6 @@ linux_getrandom(struct thread *td, struct linux_getran { struct uio uio; struct iovec iov; - int error; if (args->flags & ~(LINUX_GRND_NONBLOCK|LINUX_GRND_RANDOM)) return (EINVAL); @@ -2536,10 +2532,7 @@ linux_getrandom(struct thread *td, struct linux_getran uio.uio_rw = UIO_READ; uio.uio_td = td; - error = read_random_uio(&uio, args->flags & LINUX_GRND_NONBLOCK); - if (error == 0) - td->td_retval[0] = args->count - uio.uio_resid; - return (error); + return (read_random_uio(&uio, args->flags & LINUX_GRND_NONBLOCK)); } int Modified: head/sys/conf/config.mk ============================================================================== --- head/sys/conf/config.mk Sun Jun 4 09:11:14 2017 (r319569) +++ head/sys/conf/config.mk Sun Jun 4 18:24:41 2017 (r319570) @@ -8,8 +8,6 @@ # the code here when they all produce identical results # (or should) .if !defined(KERNBUILDDIR) -opt_global.h: - echo "#define DEV_RANDOM 1" >> ${.TARGET} opt_bpf.h: echo "#define DEV_BPF 1" > ${.TARGET} .if ${MK_INET_SUPPORT} != "no" Modified: head/sys/modules/linux/Makefile ============================================================================== --- head/sys/modules/linux/Makefile Sun Jun 4 09:11:14 2017 (r319569) +++ head/sys/modules/linux/Makefile Sun Jun 4 18:24:41 2017 (r319570) @@ -15,7 +15,7 @@ SRCS= linux_fork.c linux${SFX}_dummy.c linux_file.c li linux${SFX}_machdep.c linux_misc.c linux_signal.c \ linux_socket.c linux_stats.c linux_sysctl.c linux${SFX}_sysent.c \ linux${SFX}_sysvec.c linux_uid16.c linux_time.c \ - linux_timer.c linux_vdso.c opt_global.h \ + linux_timer.c linux_vdso.c \ opt_inet6.h opt_compat.h opt_posix.h opt_usb.h vnode_if.h \ device_if.h bus_if.h assym.s \ linux${SFX}_support.s Modified: head/sys/modules/linux64/Makefile ============================================================================== --- head/sys/modules/linux64/Makefile Sun Jun 4 09:11:14 2017 (r319569) +++ head/sys/modules/linux64/Makefile Sun Jun 4 18:24:41 2017 (r319570) @@ -10,7 +10,7 @@ SRCS= linux_fork.c linux_dummy.c linux_file.c linux_ev linux_machdep.c linux_misc.c linux_ptrace.c linux_signal.c \ linux_socket.c linux_stats.c linux_sysctl.c linux_sysent.c \ linux_sysvec.c linux_time.c linux_vdso.c linux_timer.c \ - opt_inet6.h opt_compat.h opt_global.h opt_posix.h opt_usb.h \ + opt_inet6.h opt_compat.h opt_posix.h opt_usb.h \ vnode_if.h device_if.h bus_if.h assym.s \ linux_support.s DPSRCS= linux_genassym.c From owner-svn-src-all@freebsd.org Sun Jun 4 18:32:24 2017 Return-Path: Delivered-To: svn-src-all@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 22400B94FE4; Sun, 4 Jun 2017 18:32:24 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EC49C7F49E; Sun, 4 Jun 2017 18:32:23 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id v54IWL1c008737; Sun, 4 Jun 2017 11:32:21 -0700 (PDT) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id v54IWLom008736; Sun, 4 Jun 2017 11:32:21 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201706041832.v54IWLom008736@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r318441 - in head/etc: . cron.d In-Reply-To: <0100015c71ac4595-64d8353f-c3e1-46ba-9eac-30bfe9fa72ba-000000@email.amazonses.com> To: Colin Percival Date: Sun, 4 Jun 2017 11:32:21 -0700 (PDT) CC: rgrimes@freebsd.org, John Baldwin , Baptiste Daroussin , Ngie Cooper , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 18:32:24 -0000 [ Charset windows-1252 unsupported, converting... ] > On 06/03/17 21:39, Rodney W. Grimes wrote: > > Are we going to end up with /etc/rc.conf.d? > > We've had this for over 15 years -- ever since NetBSD rc.d system was > imported. We have had it, but it ships empty, that is different than what is going on with newsyslog/syslog/cron, we have had those too for various amounts of time, but now we are not shipping them empty. -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Sun Jun 4 18:34:22 2017 Return-Path: Delivered-To: svn-src-all@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 2A4EEB951AA for ; Sun, 4 Jun 2017 18:34:22 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-it0-x235.google.com (mail-it0-x235.google.com [IPv6:2607:f8b0:4001:c0b::235]) (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 E131F7F6F6 for ; Sun, 4 Jun 2017 18:34:21 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-it0-x235.google.com with SMTP id m47so44637243iti.1 for ; Sun, 04 Jun 2017 11:34:21 -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=iKM3b92gIiw9B8vDCXHKI1GKAIhbmkY7sNF/pmLlB8g=; b=0uTpB5/EnMcemSKbDDG/OZMIGUNSaBJhwUmN1pappnToNk6YWNYfRD+92mCXo39siP w+abOXF4cR4fA7noNbPG42Ts9c5MFP0k3dWA8zvaVcrUyC7ySmTX+rZ14RC3H30xVtRy LKfiuN241oZYSeBBJIx0+pdrlMNi53UljEnlc0nyeMxexGj7MVW/YY88l1poPPbHavMo Y3xldIi5Xb4kse2SNxtvtBZbbC0oXk5gfy9HjUw29HOKQ04Y/CwNxxr+Jrqzbrv4Da9U yw2bg94vZIPBNj1wUmnwsjnifkwqvRf0RONDU/EYwonZu9j3R3V+9SQn5eAiIb1lH1qT 2aSw== 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=iKM3b92gIiw9B8vDCXHKI1GKAIhbmkY7sNF/pmLlB8g=; b=F0Ell0HGnwga4UxIFW5xOPntyHYzVw+gYLKn7AwNyhAA23cFtgFQeukl5kSx2/wBoM 254Mdl5Enxxv/0rroZvcHwYgy1Z3eosfUEduk4gzHYulfUpoWFilxJaLlytzLYEiWqCT 0EUzMY3tn8LCQsLnBz5hzVpUOim0nV1/w/XWraqswcUaWVqWmTJvM6TuQ8n0TBXYHP4D n/NAvBa28g52QvQd/i2WwoLfoI8I9tOeZoYLKfwgqv4/YAB03YX9aQAQSmg84DbxltOV f1sVHvdpsW96v9pWKwg+9MOusp/jjYReOKcAbLupd+aAobpEG9oaTe52zTQ4QWhNAsPV GKAg== X-Gm-Message-State: AODbwcBPYhBgE1Or9LCo8E+ulKtv6GQRqpXfzfwQ6ZOgCNSLYDE2a81i mHk8xAOr4OBh8pF90jpJXCQfm5SI/TuM X-Received: by 10.36.105.13 with SMTP id e13mr8170781itc.64.1496601261037; Sun, 04 Jun 2017 11:34:21 -0700 (PDT) MIME-Version: 1.0 Sender: wlosh@bsdimp.com Received: by 10.79.192.69 with HTTP; Sun, 4 Jun 2017 11:34:20 -0700 (PDT) X-Originating-IP: [50.253.99.174] In-Reply-To: <201706041832.v54IWLom008736@pdx.rh.CN85.dnsmgr.net> References: <0100015c71ac4595-64d8353f-c3e1-46ba-9eac-30bfe9fa72ba-000000@email.amazonses.com> <201706041832.v54IWLom008736@pdx.rh.CN85.dnsmgr.net> From: Warner Losh Date: Sun, 4 Jun 2017 12:34:20 -0600 X-Google-Sender-Auth: xgiSANZPAf0wOUECvdiF1ueMvQE Message-ID: Subject: Re: svn commit: r318441 - in head/etc: . cron.d To: "Rodney W. Grimes" Cc: Colin Percival , John Baldwin , Baptiste Daroussin , Ngie Cooper , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , src-committers Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 18:34:22 -0000 On Sun, Jun 4, 2017 at 12:32 PM, Rodney W. Grimes < freebsd@pdx.rh.cn85.dnsmgr.net> wrote: > [ Charset windows-1252 unsupported, converting... ] > > On 06/03/17 21:39, Rodney W. Grimes wrote: > > > Are we going to end up with /etc/rc.conf.d? > > > > We've had this for over 15 years -- ever since NetBSD rc.d system was > > imported. > > We have had it, but it ships empty, that is different than what is > going on with newsyslog/syslog/cron, we have had those too for > various amounts of time, but now we are not shipping them empty. > Shipping empty is over rated. What's the point of having a feature we can use to make things less monolithic if we don't use that feature? Warner From owner-svn-src-all@freebsd.org Sun Jun 4 18:35:31 2017 Return-Path: Delivered-To: svn-src-all@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 AF061B95218; Sun, 4 Jun 2017 18:35:31 +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 7D6407F845; Sun, 4 Jun 2017 18:35:31 +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 v54IZUXI051526; Sun, 4 Jun 2017 18:35:30 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54IZUHE051525; Sun, 4 Jun 2017 18:35:30 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201706041835.v54IZUHE051525@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 4 Jun 2017 18:35:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319571 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 18:35:31 -0000 Author: dchagin Date: Sun Jun 4 18:35:30 2017 New Revision: 319571 URL: https://svnweb.freebsd.org/changeset/base/319571 Log: On success, getrandom() Linux system call returns the number of bytes that were copied to the buffer supplied by the user. PR: 219464 Submitted by: Maciej Pasternacki Reported by: Maciej Pasternacki MFC after: 1 week Modified: head/sys/compat/linux/linux_misc.c Modified: head/sys/compat/linux/linux_misc.c ============================================================================== --- head/sys/compat/linux/linux_misc.c Sun Jun 4 18:24:41 2017 (r319570) +++ head/sys/compat/linux/linux_misc.c Sun Jun 4 18:35:30 2017 (r319571) @@ -2516,6 +2516,7 @@ linux_getrandom(struct thread *td, struct linux_getran { struct uio uio; struct iovec iov; + int error; if (args->flags & ~(LINUX_GRND_NONBLOCK|LINUX_GRND_RANDOM)) return (EINVAL); @@ -2532,7 +2533,10 @@ linux_getrandom(struct thread *td, struct linux_getran uio.uio_rw = UIO_READ; uio.uio_td = td; - return (read_random_uio(&uio, args->flags & LINUX_GRND_NONBLOCK)); + error = read_random_uio(&uio, args->flags & LINUX_GRND_NONBLOCK); + if (error == 0) + td->td_retval[0] = args->count - uio.uio_resid; + return (error); } int From owner-svn-src-all@freebsd.org Sun Jun 4 18:43:22 2017 Return-Path: Delivered-To: svn-src-all@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 4CD16B95403; Sun, 4 Jun 2017 18:43:22 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 172E47FC84; Sun, 4 Jun 2017 18:43:21 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id v54IhJAD008849; Sun, 4 Jun 2017 11:43:19 -0700 (PDT) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id v54IhJWt008848; Sun, 4 Jun 2017 11:43:19 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201706041843.v54IhJWt008848@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r318441 - in head/etc: . cron.d In-Reply-To: To: Warner Losh Date: Sun, 4 Jun 2017 11:43:19 -0700 (PDT) CC: "Rodney W. Grimes" , Colin Percival , John Baldwin , Baptiste Daroussin , Ngie Cooper , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , src-committers Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 18:43:22 -0000 [ Charset UTF-8 unsupported, converting... ] > On Sun, Jun 4, 2017 at 12:32 PM, Rodney W. Grimes < > freebsd@pdx.rh.cn85.dnsmgr.net> wrote: > > > [ Charset windows-1252 unsupported, converting... ] > > > On 06/03/17 21:39, Rodney W. Grimes wrote: > > > > Are we going to end up with /etc/rc.conf.d? > > > > > > We've had this for over 15 years -- ever since NetBSD rc.d system was > > > imported. > > > > We have had it, but it ships empty, that is different than what is > > going on with newsyslog/syslog/cron, we have had those too for > > various amounts of time, but now we are not shipping them empty. > > > > Shipping empty is over rated. What's the point of having a feature we can > use to make things less monolithic if we don't use that feature? Shipped empty is extremly valuable, it is why we have /etc/defaults/rc.conf and ship without an /etc/rc.conf. It would be nice to have similiar functionality for all of this. The feature is there for the system administrators to use, not for the developers to use to implement policies rather than methods. -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Sun Jun 4 18:43:42 2017 Return-Path: Delivered-To: svn-src-all@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 65191B95451; Sun, 4 Jun 2017 18:43:42 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 454887FDB3; Sun, 4 Jun 2017 18:43:42 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 8510914D12; Sun, 4 Jun 2017 18:43:35 +0000 (UTC) Date: Sun, 4 Jun 2017 18:43:35 +0000 From: Alexey Dokuchaev To: rgrimes@freebsd.org Cc: Colin Percival , Baptiste Daroussin , src-committers@freebsd.org, John Baldwin , svn-src-all@freebsd.org, svn-src-head@freebsd.org, Ngie Cooper Subject: Re: svn commit: r318441 - in head/etc: . cron.d Message-ID: <20170604184335.GA20053@FreeBSD.org> References: <0100015c71ac4595-64d8353f-c3e1-46ba-9eac-30bfe9fa72ba-000000@email.amazonses.com> <201706041832.v54IWLom008736@pdx.rh.CN85.dnsmgr.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201706041832.v54IWLom008736@pdx.rh.CN85.dnsmgr.net> User-Agent: Mutt/1.8.2 (2017-04-18) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 18:43:42 -0000 On Sun, Jun 04, 2017 at 11:32:21AM -0700, Rodney W. Grimes wrote: > > On 06/03/17 21:39, Rodney W. Grimes wrote: > > > Are we going to end up with /etc/rc.conf.d? > > > > We've had this for over 15 years -- ever since NetBSD rc.d system was > > imported. > > We have had it, but it ships empty, I'm also not that sure about 15 years: I don't see it on my 8.4-STABLE. ./danfe From owner-svn-src-all@freebsd.org Sun Jun 4 19:09:51 2017 Return-Path: Delivered-To: svn-src-all@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 B9F19B95879; Sun, 4 Jun 2017 19:09:51 +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 87A1B80649; Sun, 4 Jun 2017 19:09:51 +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 v54J9ox6063972; Sun, 4 Jun 2017 19:09:50 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54J9o9D063971; Sun, 4 Jun 2017 19:09:50 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201706041909.v54J9o9D063971@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Jun 2017 19:09:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319572 - stable/11/share/mk X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 19:09:51 -0000 Author: bdrewery Date: Sun Jun 4 19:09:50 2017 New Revision: 319572 URL: https://svnweb.freebsd.org/changeset/base/319572 Log: MFC r318194,r319481: r318194: Tell bmake (meta mode) to ignore changes to /usr/local/etc/libmap.d/* r319481: META_MODE: Move ignoring of /usr/local/etc/libmap.d to proper place. Approved by: re (gjb) Modified: stable/11/share/mk/sys.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/share/mk/sys.mk ============================================================================== --- stable/11/share/mk/sys.mk Sun Jun 4 18:35:30 2017 (r319571) +++ stable/11/share/mk/sys.mk Sun Jun 4 19:09:50 2017 (r319572) @@ -91,7 +91,11 @@ META_MODE?= normal /usr/share \ .endif - +.if !empty(.MAKE.MODE:Mmeta) +# We do not want everything out-of-date just because +# some unrelated shared lib updated this. +.MAKE.META.IGNORE_PATHS+= /usr/local/etc/libmap.d +.endif .if ${MK_AUTO_OBJ} == "yes" # This needs to be done early - before .PATH is computed From owner-svn-src-all@freebsd.org Sun Jun 4 19:18:07 2017 Return-Path: Delivered-To: svn-src-all@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 60105B95B4D; Sun, 4 Jun 2017 19:18:07 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1F98C80A50; Sun, 4 Jun 2017 19:18:07 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (unknown [127.0.1.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 5DDBD15204; Sun, 4 Jun 2017 19:18:06 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 2063D74E8; Sun, 4 Jun 2017 19:18:05 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id TN19DKTTGHHI; Sun, 4 Jun 2017 19:18:02 +0000 (UTC) Subject: Re: svn commit: r318441 - in head/etc: . cron.d DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com B370474DF To: Alexey Dokuchaev , rgrimes@freebsd.org References: <0100015c71ac4595-64d8353f-c3e1-46ba-9eac-30bfe9fa72ba-000000@email.amazonses.com> <201706041832.v54IWLom008736@pdx.rh.CN85.dnsmgr.net> <20170604184335.GA20053@FreeBSD.org> Cc: Colin Percival , Baptiste Daroussin , src-committers@freebsd.org, John Baldwin , svn-src-all@freebsd.org, svn-src-head@freebsd.org, Ngie Cooper From: Bryan Drewery Organization: FreeBSD Message-ID: <2cf47a0b-dd01-0a5c-a5c2-996dbb5efa9b@FreeBSD.org> Date: Sun, 4 Jun 2017 12:17:43 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170604184335.GA20053@FreeBSD.org> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="amoEdGRx4LDNwoMh4h3P3xJJuoApSc8NH" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 19:18:07 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --amoEdGRx4LDNwoMh4h3P3xJJuoApSc8NH Content-Type: multipart/mixed; boundary="eaxwqOFx0v5wIX5K2qaIMId8IqUKHHoq5"; protected-headers="v1" From: Bryan Drewery To: Alexey Dokuchaev , rgrimes@freebsd.org Cc: Colin Percival , Baptiste Daroussin , src-committers@freebsd.org, John Baldwin , svn-src-all@freebsd.org, svn-src-head@freebsd.org, Ngie Cooper Message-ID: <2cf47a0b-dd01-0a5c-a5c2-996dbb5efa9b@FreeBSD.org> Subject: Re: svn commit: r318441 - in head/etc: . cron.d References: <0100015c71ac4595-64d8353f-c3e1-46ba-9eac-30bfe9fa72ba-000000@email.amazonses.com> <201706041832.v54IWLom008736@pdx.rh.CN85.dnsmgr.net> <20170604184335.GA20053@FreeBSD.org> In-Reply-To: <20170604184335.GA20053@FreeBSD.org> --eaxwqOFx0v5wIX5K2qaIMId8IqUKHHoq5 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 6/4/17 11:43 AM, Alexey Dokuchaev wrote: > On Sun, Jun 04, 2017 at 11:32:21AM -0700, Rodney W. Grimes wrote: >>> On 06/03/17 21:39, Rodney W. Grimes wrote: >>>> Are we going to end up with /etc/rc.conf.d? >>> >>> We've had this for over 15 years -- ever since NetBSD rc.d system was= >>> imported. >> >> We have had it, but it ships empty, >=20 > I'm also not that sure about 15 years: I don't see it on my 8.4-STABLE.= >=20 > ./danfe >=20 It came in the original import in r78345. > ~/svn/base # svn diff -c 78345 |grep -F rc.conf.d > + if [ -f /etc/rc.conf.d/"$_command" ]; then > + . /etc/rc.conf.d/"$_command" > ~/svn/base # svn log -vr 78345 ^/|grep rc.subr > A /head/etc/rc.subr (from /vendor/NetBSD/dist/etc/rc.subr:78344) > r78345 | obrien | 2001-06-16 00:16:14 -0700 (Sat, 16 Jun 2001) | 3 line= s --=20 Regards, Bryan Drewery --eaxwqOFx0v5wIX5K2qaIMId8IqUKHHoq5-- --amoEdGRx4LDNwoMh4h3P3xJJuoApSc8NH Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJZNFzYAAoJEDXXcbtuRpfPmfAIAJV+7de7vlSE3H+Vz8s29iMd HiHP1w7Ut6F8mtxq6tj2dx4xcxcWIk9ZVuYa+jqRdJCw58iq5yQmWTBYX8K1HYNe M7tqRMO6RJzwsbCjXJpF3VET44//LC6vi/K5AWgdjwaNZDlvXVJi4gpqdI4N0apj i1xtlR8NzW+XVly8stgQvFlVblxyze0N3rzvUSpERaHGe4qVETJyFlKlYz0Nwtkz oVvWQPcqIAugMHcIXsWvOWm/8ZZn3tXl795pAGtuT4jcYhuJovcWs2kCxObnDJ4Q Us21gcSP9UCv8+Q15l0edHU6dIxpKBw1VyP8VeQ0dsrehRhaBTgCTLda7kBx4hI= =56h8 -----END PGP SIGNATURE----- --amoEdGRx4LDNwoMh4h3P3xJJuoApSc8NH-- From owner-svn-src-all@freebsd.org Sun Jun 4 19:56:23 2017 Return-Path: Delivered-To: svn-src-all@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 4350ABD3680; Sun, 4 Jun 2017 19:56:23 +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 0E28E81C0A; Sun, 4 Jun 2017 19:56:22 +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 v54JuMqh083988; Sun, 4 Jun 2017 19:56:22 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54JuMlo083987; Sun, 4 Jun 2017 19:56:22 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201706041956.v54JuMlo083987@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 4 Jun 2017 19:56:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319573 - stable/11/sys/compat/linux X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 19:56:23 -0000 Author: dchagin Date: Sun Jun 4 19:56:21 2017 New Revision: 319573 URL: https://svnweb.freebsd.org/changeset/base/319573 Log: MFC r317601: Fix symlinkat() which use the newdfd argument to look up the old path, while it should use it for the new path instead. Approved by: re (kib) Modified: stable/11/sys/compat/linux/linux_file.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/compat/linux/linux_file.c ============================================================================== --- stable/11/sys/compat/linux/linux_file.c Sun Jun 4 19:09:50 2017 (r319572) +++ stable/11/sys/compat/linux/linux_file.c Sun Jun 4 19:56:21 2017 (r319573) @@ -826,7 +826,7 @@ linux_symlinkat(struct thread *td, struct linux_symlin int error, dfd; dfd = (args->newdfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->newdfd; - LCONVPATHEXIST_AT(td, args->oldname, &path, dfd); + LCONVPATHEXIST(td, args->oldname, &path); /* Expand LCONVPATHCREATE so that `path' can be freed on errors */ error = linux_emul_convpath(td, args->newname, UIO_USERSPACE, &to, 1, dfd); if (to == NULL) { From owner-svn-src-all@freebsd.org Sun Jun 4 19:58:15 2017 Return-Path: Delivered-To: svn-src-all@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 DC414BD3793; Sun, 4 Jun 2017 19:58:15 +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 AB2C681E2A; Sun, 4 Jun 2017 19:58:15 +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 v54JwEeI084192; Sun, 4 Jun 2017 19:58:14 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54JwEET084190; Sun, 4 Jun 2017 19:58:14 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201706041958.v54JwEET084190@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 4 Jun 2017 19:58:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319574 - in stable/11/sys/modules: linux linux64 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 19:58:16 -0000 Author: dchagin Date: Sun Jun 4 19:58:14 2017 New Revision: 319574 URL: https://svnweb.freebsd.org/changeset/base/319574 Log: MFC r319052: Strip _binary_linux_locore_o_size from ${VDSO}.so as it is a low absolute symbol, and this breaks symbol lookup in ddb. Approved by: re (kib) Modified: stable/11/sys/modules/linux/Makefile stable/11/sys/modules/linux64/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/modules/linux/Makefile ============================================================================== --- stable/11/sys/modules/linux/Makefile Sun Jun 4 19:56:21 2017 (r319573) +++ stable/11/sys/modules/linux/Makefile Sun Jun 4 19:58:14 2017 (r319574) @@ -64,10 +64,12 @@ linux${SFX}_support.o: linux${SFX}_assym.h assym.s ${VDSO}.so: linux${SFX}_locore.o ${OBJCOPY} --input-target binary --output-target elf64-x86-64-freebsd \ --binary-architecture i386 linux${SFX}_locore.o ${.TARGET} + strip -N _binary_linux${SFX}_locore_o_size ${.TARGET} .else ${VDSO}.so: linux${SFX}_locore.o ${OBJCOPY} --input-target binary --output-target elf32-i386-freebsd \ --binary-architecture i386 linux${SFX}_locore.o ${.TARGET} + strip -N _binary_linux_locore_o_size ${.TARGET} .endif linux${SFX}_genassym.o: Modified: stable/11/sys/modules/linux64/Makefile ============================================================================== --- stable/11/sys/modules/linux64/Makefile Sun Jun 4 19:56:21 2017 (r319573) +++ stable/11/sys/modules/linux64/Makefile Sun Jun 4 19:58:14 2017 (r319574) @@ -38,6 +38,7 @@ linux_locore.o: linux_locore.s linux_assym.h ${VDSO}.so: linux_locore.o ${OBJCOPY} --input-target binary --output-target elf64-x86-64-freebsd \ -S -g --binary-architecture i386:x86-64 linux_locore.o ${.TARGET} + strip -N _binary_linux_locore_o_size ${.TARGET} linux_support.o: assym.s linux_assym.h ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ From owner-svn-src-all@freebsd.org Sun Jun 4 20:52:57 2017 Return-Path: Delivered-To: svn-src-all@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 42F6DBEEA96; Sun, 4 Jun 2017 20:52:57 +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 1158C83EE4; Sun, 4 Jun 2017 20:52:56 +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 v54KqumX009355; Sun, 4 Jun 2017 20:52:56 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54KquQ1009352; Sun, 4 Jun 2017 20:52:56 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201706042052.v54KquQ1009352@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 4 Jun 2017 20:52:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319575 - in head/bin/sh: . tests/errors X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 20:52:57 -0000 Author: jilles Date: Sun Jun 4 20:52:55 2017 New Revision: 319575 URL: https://svnweb.freebsd.org/changeset/base/319575 Log: sh: Fix INTOFF leak when a redirection on a compound command fails. Reported by: bdrewery Added: head/bin/sh/tests/errors/redirection-error8.0 (contents, props changed) Modified: head/bin/sh/eval.c head/bin/sh/tests/errors/Makefile Modified: head/bin/sh/eval.c ============================================================================== --- head/bin/sh/eval.c Sun Jun 4 19:58:14 2017 (r319574) +++ head/bin/sh/eval.c Sun Jun 4 20:52:55 2017 (r319575) @@ -470,6 +470,7 @@ evalredir(union node *n, int flags) if (e == EXERROR || e == EXEXEC) { if (in_redirect) { exitstatus = 2; + FORCEINTON; return; } } Modified: head/bin/sh/tests/errors/Makefile ============================================================================== --- head/bin/sh/tests/errors/Makefile Sun Jun 4 19:58:14 2017 (r319574) +++ head/bin/sh/tests/errors/Makefile Sun Jun 4 20:52:55 2017 (r319575) @@ -29,6 +29,7 @@ ${PACKAGE}FILES+= redirection-error4.0 ${PACKAGE}FILES+= redirection-error5.0 ${PACKAGE}FILES+= redirection-error6.0 ${PACKAGE}FILES+= redirection-error7.0 +${PACKAGE}FILES+= redirection-error8.0 ${PACKAGE}FILES+= write-error1.0 .include Added: head/bin/sh/tests/errors/redirection-error8.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/tests/errors/redirection-error8.0 Sun Jun 4 20:52:55 2017 (r319575) @@ -0,0 +1,5 @@ +# $FreeBSD$ + +$SH -c '{ { :; } /dev/null || kill -INT $$; echo continued' +r=$? +[ "$r" -gt 128 ] && [ "$(kill -l "$r")" = INT ] From owner-svn-src-all@freebsd.org Sun Jun 4 21:02:49 2017 Return-Path: Delivered-To: svn-src-all@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 CC8E4BEF340; Sun, 4 Jun 2017 21:02:49 +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 A6FB784B1B; Sun, 4 Jun 2017 21:02:49 +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 v54L2mIR013736; Sun, 4 Jun 2017 21:02:48 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54L2m28013733; Sun, 4 Jun 2017 21:02:48 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201706042102.v54L2m28013733@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 4 Jun 2017 21:02:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319576 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:02:49 -0000 Author: bdrewery Date: Sun Jun 4 21:02:48 2017 New Revision: 319576 URL: https://svnweb.freebsd.org/changeset/base/319576 Log: Allow defining nofork builtins from builtins.def and move always-safe ones there. The generated code remains the same. Reviewed by: jilles Differential Revision: https://reviews.freebsd.org/D11042 Modified: head/bin/sh/builtins.def head/bin/sh/eval.c head/bin/sh/mkbuiltins Modified: head/bin/sh/builtins.def ============================================================================== --- head/bin/sh/builtins.def Sun Jun 4 20:52:55 2017 (r319575) +++ head/bin/sh/builtins.def Sun Jun 4 21:02:48 2017 (r319576) @@ -41,6 +41,9 @@ # without job control. # The -h flag specifies that this command is to be excluded from systems # based on the NO_HISTORY compile-time symbol. +# The -n flag specifies that this command can safely be run in the same +# process when it is the only command in a command substitution. Some +# commands have special logic defined in safe_builtin(). # The -s flag specifies that this is a POSIX 'special built-in' command. # The rest of the line specifies the command name or names used to run the # command. The entry for bltincmd, which is run when the user does not specify @@ -48,43 +51,43 @@ # # NOTE: bltincmd must come first! -bltincmd builtin +bltincmd -n builtin aliascmd alias bgcmd -j bg bindcmd bind breakcmd -s break -s continue cdcmd cd chdir -commandcmd command +commandcmd -n command dotcmd -s . -echocmd echo +echocmd -n echo evalcmd -s eval execcmd -s exec exitcmd -s exit letcmd let exportcmd -s export -s readonly #exprcmd expr -falsecmd false +falsecmd -n false fgcmd -j fg freebsd_wordexpcmd freebsd_wordexp getoptscmd getopts hashcmd hash histcmd -h fc -jobidcmd jobid -jobscmd jobs -killcmd kill +jobidcmd -n jobid +jobscmd -n jobs +killcmd -n kill localcmd local -printfcmd printf -pwdcmd pwd +printfcmd -n printf +pwdcmd -n pwd readcmd read returncmd -s return setcmd -s set setvarcmd setvar shiftcmd -s shift -testcmd test [ -timescmd -s times +testcmd -n test [ +timescmd -n -s times trapcmd -s trap -truecmd -s : true -typecmd type +truecmd -n -s : true +typecmd -n type ulimitcmd ulimit umaskcmd umask unaliascmd unalias Modified: head/bin/sh/eval.c ============================================================================== --- head/bin/sh/eval.c Sun Jun 4 20:52:55 2017 (r319575) +++ head/bin/sh/eval.c Sun Jun 4 21:02:48 2017 (r319576) @@ -800,11 +800,8 @@ xtracecommand(struct arglist *varlist, int argc, char static int safe_builtin(int idx, int argc, char **argv) { - if (idx == BLTINCMD || idx == COMMANDCMD || idx == ECHOCMD || - idx == FALSECMD || idx == JOBIDCMD || idx == JOBSCMD || - idx == KILLCMD || idx == PRINTFCMD || idx == PWDCMD || - idx == TESTCMD || idx == TIMESCMD || idx == TRUECMD || - idx == TYPECMD) + /* Generated from builtins.def. */ + if (safe_builtin_always(idx)) return (1); if (idx == EXPORTCMD || idx == TRAPCMD || idx == ULIMITCMD || idx == UMASKCMD) Modified: head/bin/sh/mkbuiltins ============================================================================== --- head/bin/sh/mkbuiltins Sun Jun 4 20:52:55 2017 (r319575) +++ head/bin/sh/mkbuiltins Sun Jun 4 21:02:48 2017 (r319576) @@ -66,6 +66,9 @@ const unsigned char builtincmd[] = {' awk '{ for (i = 2 ; i <= NF ; i++) { if ($i == "-s") { spc = 1; + } else if ($i == "-n") { + # Handled later for builtins.h + continue } else { printf "\t\"\\%03o\\%03o%s\"\n", length($i), (spc ? 128 : 0) + NR-1, $i spc = 0; @@ -90,4 +93,45 @@ extern int (*const builtinfunc[])(int, char **); extern const unsigned char builtincmd[]; ' awk '{ printf "int %s(int, char **);\n", $1}' $temp + +# Build safe_builtin_always() +cat < Delivered-To: svn-src-all@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 5DD81BEF3FA; Sun, 4 Jun 2017 21:06:00 +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 286C084C77; Sun, 4 Jun 2017 21:06:00 +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 v54L5x3W013901; Sun, 4 Jun 2017 21:05:59 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54L5wDR013894; Sun, 4 Jun 2017 21:05:58 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042105.v54L5wDR013894@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:05:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319577 - in head/sys: conf dev/iwm modules/iwm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:06:00 -0000 Author: adrian Date: Sun Jun 4 21:05:58 2017 New Revision: 319577 URL: https://svnweb.freebsd.org/changeset/base/319577 Log: [iwm] Move Smart Fifo handling into if_iwm_sf.c, sync with Linux iwlwifi. * This change also fixes a possible issue in the existing smart-fifo code, which set the IWM_SF_CFG_DUMMY_NOTIF_OFF bit on AC8260 chipsets, although that's only used in iwlwifi for Family 8000 chipsets connected via SDIO interface. Obtained from: Dragonflybsd.git cb650b01526b0aeef3c4307d926e7f1428997d50 Added: head/sys/dev/iwm/if_iwm_sf.c (contents, props changed) head/sys/dev/iwm/if_iwm_sf.h (contents, props changed) Modified: head/sys/conf/files head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwm_binding.c head/sys/dev/iwm/if_iwmvar.h head/sys/modules/iwm/Makefile Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sun Jun 4 21:02:48 2017 (r319576) +++ head/sys/conf/files Sun Jun 4 21:05:58 2017 (r319577) @@ -1864,6 +1864,7 @@ dev/iwm/if_iwm_phy_ctxt.c optional iwm dev/iwm/if_iwm_phy_db.c optional iwm dev/iwm/if_iwm_power.c optional iwm dev/iwm/if_iwm_scan.c optional iwm +dev/iwm/if_iwm_sf.c optional iwm dev/iwm/if_iwm_sta.c optional iwm dev/iwm/if_iwm_time_event.c optional iwm dev/iwm/if_iwm_util.c optional iwm Modified: head/sys/dev/iwm/if_iwm.c ============================================================================== --- head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:02:48 2017 (r319576) +++ head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:05:58 2017 (r319577) @@ -164,6 +164,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -354,10 +355,6 @@ static void iwm_setrates(struct iwm_softc *, struct iw static int iwm_media_change(struct ifnet *); static int iwm_newstate(struct ieee80211vap *, enum ieee80211_state, int); static void iwm_endscan_cb(void *, int); -static void iwm_mvm_fill_sf_command(struct iwm_softc *, - struct iwm_sf_cfg_cmd *, - struct ieee80211_node *); -static int iwm_mvm_sf_config(struct iwm_softc *, enum iwm_sf_state); static int iwm_send_bt_init_conf(struct iwm_softc *); static int iwm_send_update_mcc_cmd(struct iwm_softc *, const char *); static void iwm_mvm_tt_tx_backoff(struct iwm_softc *, uint32_t); @@ -2989,11 +2986,6 @@ iwm_run_init_mvm_ucode(struct iwm_softc *sc, int justn goto error; } - /* Init Smart FIFO. */ - ret = iwm_mvm_sf_config(sc, IWM_SF_INIT_OFF); - if (ret) - goto error; - /* Send TX valid antennas before triggering calibrations */ ret = iwm_send_tx_ant_cfg(sc, iwm_mvm_get_valid_tx_ant(sc)); if (ret) { @@ -3991,10 +3983,6 @@ iwm_auth(struct ieee80211vap *vap, struct iwm_softc *s goto out; } - error = iwm_mvm_sf_config(sc, IWM_SF_FULL_ON); - if (error != 0) - return error; - error = iwm_allow_mcast(vap, sc); if (error) { device_printf(sc->sc_dev, @@ -4469,6 +4457,7 @@ iwm_newstate(struct ieee80211vap *vap, enum ieee80211_ "%s: failed to update MAC: %d\n", __func__, error); } + iwm_mvm_sf_update(sc, vap, FALSE); iwm_mvm_enable_beacon_filter(sc, ivp); iwm_mvm_power_update_mac(sc); iwm_mvm_update_quotas(sc, ivp); @@ -4506,143 +4495,7 @@ iwm_endscan_cb(void *arg, int pending) ieee80211_scan_done(TAILQ_FIRST(&ic->ic_vaps)); } -/* - * Aging and idle timeouts for the different possible scenarios - * in default configuration - */ -static const uint32_t -iwm_sf_full_timeout_def[IWM_SF_NUM_SCENARIO][IWM_SF_NUM_TIMEOUT_TYPES] = { - { - htole32(IWM_SF_SINGLE_UNICAST_AGING_TIMER_DEF), - htole32(IWM_SF_SINGLE_UNICAST_IDLE_TIMER_DEF) - }, - { - htole32(IWM_SF_AGG_UNICAST_AGING_TIMER_DEF), - htole32(IWM_SF_AGG_UNICAST_IDLE_TIMER_DEF) - }, - { - htole32(IWM_SF_MCAST_AGING_TIMER_DEF), - htole32(IWM_SF_MCAST_IDLE_TIMER_DEF) - }, - { - htole32(IWM_SF_BA_AGING_TIMER_DEF), - htole32(IWM_SF_BA_IDLE_TIMER_DEF) - }, - { - htole32(IWM_SF_TX_RE_AGING_TIMER_DEF), - htole32(IWM_SF_TX_RE_IDLE_TIMER_DEF) - }, -}; - -/* - * Aging and idle timeouts for the different possible scenarios - * in single BSS MAC configuration. - */ -static const uint32_t -iwm_sf_full_timeout[IWM_SF_NUM_SCENARIO][IWM_SF_NUM_TIMEOUT_TYPES] = { - { - htole32(IWM_SF_SINGLE_UNICAST_AGING_TIMER), - htole32(IWM_SF_SINGLE_UNICAST_IDLE_TIMER) - }, - { - htole32(IWM_SF_AGG_UNICAST_AGING_TIMER), - htole32(IWM_SF_AGG_UNICAST_IDLE_TIMER) - }, - { - htole32(IWM_SF_MCAST_AGING_TIMER), - htole32(IWM_SF_MCAST_IDLE_TIMER) - }, - { - htole32(IWM_SF_BA_AGING_TIMER), - htole32(IWM_SF_BA_IDLE_TIMER) - }, - { - htole32(IWM_SF_TX_RE_AGING_TIMER), - htole32(IWM_SF_TX_RE_IDLE_TIMER) - }, -}; - -static void -iwm_mvm_fill_sf_command(struct iwm_softc *sc, struct iwm_sf_cfg_cmd *sf_cmd, - struct ieee80211_node *ni) -{ - int i, j, watermark; - - sf_cmd->watermark[IWM_SF_LONG_DELAY_ON] = htole32(IWM_SF_W_MARK_SCAN); - - /* - * If we are in association flow - check antenna configuration - * capabilities of the AP station, and choose the watermark accordingly. - */ - if (ni) { - if (ni->ni_flags & IEEE80211_NODE_HT) { -#ifdef notyet - if (ni->ni_rxmcs[2] != 0) - watermark = IWM_SF_W_MARK_MIMO3; - else if (ni->ni_rxmcs[1] != 0) - watermark = IWM_SF_W_MARK_MIMO2; - else -#endif - watermark = IWM_SF_W_MARK_SISO; - } else { - watermark = IWM_SF_W_MARK_LEGACY; - } - /* default watermark value for unassociated mode. */ - } else { - watermark = IWM_SF_W_MARK_MIMO2; - } - sf_cmd->watermark[IWM_SF_FULL_ON] = htole32(watermark); - - for (i = 0; i < IWM_SF_NUM_SCENARIO; i++) { - for (j = 0; j < IWM_SF_NUM_TIMEOUT_TYPES; j++) { - sf_cmd->long_delay_timeouts[i][j] = - htole32(IWM_SF_LONG_DELAY_AGING_TIMER); - } - } - - if (ni) { - memcpy(sf_cmd->full_on_timeouts, iwm_sf_full_timeout, - sizeof(iwm_sf_full_timeout)); - } else { - memcpy(sf_cmd->full_on_timeouts, iwm_sf_full_timeout_def, - sizeof(iwm_sf_full_timeout_def)); - } -} - static int -iwm_mvm_sf_config(struct iwm_softc *sc, enum iwm_sf_state new_state) -{ - struct ieee80211com *ic = &sc->sc_ic; - struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps); - struct iwm_sf_cfg_cmd sf_cmd = { - .state = htole32(IWM_SF_FULL_ON), - }; - int ret = 0; - - if (sc->cfg->device_family == IWM_DEVICE_FAMILY_8000) - sf_cmd.state |= htole32(IWM_SF_CFG_DUMMY_NOTIF_OFF); - - switch (new_state) { - case IWM_SF_UNINIT: - case IWM_SF_INIT_OFF: - iwm_mvm_fill_sf_command(sc, &sf_cmd, NULL); - break; - case IWM_SF_FULL_ON: - iwm_mvm_fill_sf_command(sc, &sf_cmd, vap->iv_bss); - break; - default: - IWM_DPRINTF(sc, IWM_DEBUG_PWRSAVE, - "Invalid state: %d. not sending Smart Fifo cmd\n", - new_state); - return EINVAL; - } - - ret = iwm_mvm_send_cmd_pdu(sc, IWM_REPLY_SF_CFG_CMD, IWM_CMD_ASYNC, - sizeof(sf_cmd), &sf_cmd); - return ret; -} - -static int iwm_send_bt_init_conf(struct iwm_softc *sc) { struct iwm_bt_coex_cmd bt_cmd; @@ -4743,6 +4596,8 @@ iwm_init_hw(struct iwm_softc *sc) struct ieee80211com *ic = &sc->sc_ic; int error, i, ac; + sc->sf_state = IWM_SF_UNINIT; + if ((error = iwm_start_hw(sc)) != 0) { printf("iwm_start_hw: failed %d\n", error); return error; @@ -4771,6 +4626,10 @@ iwm_init_hw(struct iwm_softc *sc) goto error; } + error = iwm_mvm_sf_update(sc, NULL, FALSE); + if (error) + device_printf(sc->sc_dev, "Failed to initialize Smart Fifo\n"); + if ((error = iwm_send_bt_init_conf(sc)) != 0) { device_printf(sc->sc_dev, "bt init conf failed\n"); goto error; @@ -5935,6 +5794,8 @@ iwm_attach(device_t dev) device_printf(dev, "failed to init notification wait struct\n"); goto fail; } + + sc->sf_state = IWM_SF_UNINIT; /* Init phy db */ sc->sc_phy_db = iwm_phy_db_init(sc); Modified: head/sys/dev/iwm/if_iwm_binding.c ============================================================================== --- head/sys/dev/iwm/if_iwm_binding.c Sun Jun 4 21:02:48 2017 (r319576) +++ head/sys/dev/iwm/if_iwm_binding.c Sun Jun 4 21:05:58 2017 (r319577) @@ -140,6 +140,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include /* * BEGIN iwlwifi/mvm/binding.c @@ -223,14 +224,12 @@ iwm_mvm_binding_add_vif(struct iwm_softc *sc, struct i if (!ivp->phy_ctxt) return EINVAL; -#ifdef notyet /* * Update SF - Disable if needed. if this fails, SF might still be on * while many macs are bound, which is forbidden - so fail the binding. */ - if (iwm_mvm_sf_update(sc, ivp, FALSE)) + if (iwm_mvm_sf_update(sc, &ivp->iv_vap, FALSE)) return EINVAL; -#endif return iwm_mvm_binding_update(sc, ivp, ivp->phy_ctxt, TRUE); } @@ -245,13 +244,11 @@ iwm_mvm_binding_remove_vif(struct iwm_softc *sc, struc ret = iwm_mvm_binding_update(sc, ivp, ivp->phy_ctxt, FALSE); -#ifdef notyet if (!ret) { - if (iwm_mvm_sf_update(sc, ivp, TRUE)) + if (iwm_mvm_sf_update(sc, &ivp->iv_vap, TRUE)) device_printf(sc->sc_dev, "Failed to update SF state\n"); } -#endif return ret; } Added: head/sys/dev/iwm/if_iwm_sf.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/iwm/if_iwm_sf.c Sun Jun 4 21:05:58 2017 (r319577) @@ -0,0 +1,330 @@ +/* + * Copyright (c) 2014 genua mbh + * Copyright (c) 2014 Fixup Software Ltd. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/*- + * Based on BSD-licensed source modules in the Linux iwlwifi driver, + * which were used as the reference documentation for this implementation. + * + * Driver version we are currently based off of is + * Linux 4.7.3 (tag id d7f6728f57e3ecbb7ef34eb7d9f564d514775d75) + * + ****************************************************************************** + * + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * GPL LICENSE SUMMARY + * + * Copyright(c) 2013 - 2014 Intel Corporation. All rights reserved. + * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, + * USA + * + * The full GNU General Public License is included in this distribution + * in the file called COPYING. + * + * Contact Information: + * Intel Linux Wireless + * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 + * + * BSD LICENSE + * + * Copyright(c) 2013 - 2014 Intel Corporation. All rights reserved. + * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name Intel Corporation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + *****************************************************************************/ + +#include +__FBSDID("$FreeBSD$"); + +#include "opt_wlan.h" +#include "opt_iwm.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +/* + * Aging and idle timeouts for the different possible scenarios + * in default configuration + */ +static const uint32_t +sf_full_timeout_def[IWM_SF_NUM_SCENARIO][IWM_SF_NUM_TIMEOUT_TYPES] = { + { + htole32(IWM_SF_SINGLE_UNICAST_AGING_TIMER_DEF), + htole32(IWM_SF_SINGLE_UNICAST_IDLE_TIMER_DEF) + }, + { + htole32(IWM_SF_AGG_UNICAST_AGING_TIMER_DEF), + htole32(IWM_SF_AGG_UNICAST_IDLE_TIMER_DEF) + }, + { + htole32(IWM_SF_MCAST_AGING_TIMER_DEF), + htole32(IWM_SF_MCAST_IDLE_TIMER_DEF) + }, + { + htole32(IWM_SF_BA_AGING_TIMER_DEF), + htole32(IWM_SF_BA_IDLE_TIMER_DEF) + }, + { + htole32(IWM_SF_TX_RE_AGING_TIMER_DEF), + htole32(IWM_SF_TX_RE_IDLE_TIMER_DEF) + }, +}; + +/* + * Aging and idle timeouts for the different possible scenarios + * in single BSS MAC configuration. + */ +static const uint32_t +sf_full_timeout[IWM_SF_NUM_SCENARIO][IWM_SF_NUM_TIMEOUT_TYPES] = { + { + htole32(IWM_SF_SINGLE_UNICAST_AGING_TIMER), + htole32(IWM_SF_SINGLE_UNICAST_IDLE_TIMER) + }, + { + htole32(IWM_SF_AGG_UNICAST_AGING_TIMER), + htole32(IWM_SF_AGG_UNICAST_IDLE_TIMER) + }, + { + htole32(IWM_SF_MCAST_AGING_TIMER), + htole32(IWM_SF_MCAST_IDLE_TIMER) + }, + { + htole32(IWM_SF_BA_AGING_TIMER), + htole32(IWM_SF_BA_IDLE_TIMER) + }, + { + htole32(IWM_SF_TX_RE_AGING_TIMER), + htole32(IWM_SF_TX_RE_IDLE_TIMER) + }, +}; + +static void +iwm_mvm_fill_sf_command(struct iwm_softc *sc, struct iwm_sf_cfg_cmd *sf_cmd, + struct ieee80211_node *ni) +{ + int i, j, watermark; + + sf_cmd->watermark[IWM_SF_LONG_DELAY_ON] = htole32(IWM_SF_W_MARK_SCAN); + + /* + * If we are in association flow - check antenna configuration + * capabilities of the AP station, and choose the watermark accordingly. + */ + if (ni) { + if (ni->ni_flags & IEEE80211_NODE_HT) { + watermark = IWM_SF_W_MARK_SISO; + } else { + watermark = IWM_SF_W_MARK_LEGACY; + } + /* default watermark value for unassociated mode. */ + } else { + watermark = IWM_SF_W_MARK_MIMO2; + } + sf_cmd->watermark[IWM_SF_FULL_ON] = htole32(watermark); + + for (i = 0; i < IWM_SF_NUM_SCENARIO; i++) { + for (j = 0; j < IWM_SF_NUM_TIMEOUT_TYPES; j++) { + sf_cmd->long_delay_timeouts[i][j] = + htole32(IWM_SF_LONG_DELAY_AGING_TIMER); + } + } + + if (ni) { + _Static_assert(sizeof(sf_full_timeout) == sizeof(uint32_t) * + IWM_SF_NUM_SCENARIO * IWM_SF_NUM_TIMEOUT_TYPES, + "sf_full_timeout has wrong size"); + + memcpy(sf_cmd->full_on_timeouts, sf_full_timeout, + sizeof(sf_full_timeout)); + } else { + _Static_assert(sizeof(sf_full_timeout_def) == sizeof(uint32_t) * + IWM_SF_NUM_SCENARIO * IWM_SF_NUM_TIMEOUT_TYPES, + "sf_full_timeout_def has wrong size"); + + memcpy(sf_cmd->full_on_timeouts, sf_full_timeout_def, + sizeof(sf_full_timeout_def)); + } +} + +static int +iwm_mvm_sf_config(struct iwm_softc *sc, struct ieee80211_node *ni, + enum iwm_sf_state new_state) +{ + struct iwm_sf_cfg_cmd sf_cmd = { + .state = htole32(IWM_SF_FULL_ON), + }; + int ret = 0; + +#ifdef notyet /* only relevant for sdio variants */ + if (sc->cfg->disable_dummy_notification) + sf_cmd.state |= htole32(IWM_SF_CFG_DUMMY_NOTIF_OFF); +#endif + + /* + * If an associated AP sta changed its antenna configuration, the state + * will remain FULL_ON but SF parameters need to be reconsidered. + */ + if (new_state != IWM_SF_FULL_ON && sc->sf_state == new_state) + return 0; + + switch (new_state) { + case IWM_SF_UNINIT: + iwm_mvm_fill_sf_command(sc, &sf_cmd, NULL); + break; + case IWM_SF_FULL_ON: + iwm_mvm_fill_sf_command(sc, &sf_cmd, ni); + break; + case IWM_SF_INIT_OFF: + iwm_mvm_fill_sf_command(sc, &sf_cmd, NULL); + break; + default: + device_printf(sc->sc_dev, + "Invalid state: %d. not sending Smart Fifo cmd\n", + new_state); + return EINVAL; + } + + ret = iwm_mvm_send_cmd_pdu(sc, IWM_REPLY_SF_CFG_CMD, IWM_CMD_ASYNC, + sizeof(sf_cmd), &sf_cmd); + if (!ret) + sc->sf_state = new_state; + + return ret; +} + +/* + * Update Smart fifo: + * Count bound interfaces that are not to be removed, ignoring p2p devices, + * and set new state accordingly. + */ +int +iwm_mvm_sf_update(struct iwm_softc *sc, struct ieee80211vap *changed_vif, + boolean_t remove_vif) +{ + enum iwm_sf_state new_state; + struct ieee80211_node *ni = NULL; + int num_active_macs = 0; + + /* If changed_vif exists and is not to be removed, add to the count */ + if (changed_vif && !remove_vif) + num_active_macs++; + + switch (num_active_macs) { + case 0: + /* If there are no active macs - change state to SF_INIT_OFF */ + new_state = IWM_SF_INIT_OFF; + break; + case 1: + if (!changed_vif) + return EINVAL; + ni = changed_vif->iv_bss; + if (ni != NULL && IWM_NODE(ni)->in_assoc && + changed_vif->iv_dtim_period) { + new_state = IWM_SF_FULL_ON; + } else { + new_state = IWM_SF_INIT_OFF; + } + break; + default: + /* If there are multiple active macs - change to SF_UNINIT */ + new_state = IWM_SF_UNINIT; + } + return iwm_mvm_sf_config(sc, ni, new_state); +} Added: head/sys/dev/iwm/if_iwm_sf.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/iwm/if_iwm_sf.h Sun Jun 4 21:05:58 2017 (r319577) @@ -0,0 +1,82 @@ +/*- + * Based on BSD-licensed source modules in the Linux iwlwifi driver, + * which were used as the reference documentation for this implementation. + * + * Driver version we are currently based off of is + * Linux 4.7.3 (tag id d7f6728f57e3ecbb7ef34eb7d9f564d514775d75) + * + *********************************************************************** + * + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * GPL LICENSE SUMMARY + * + * Copyright(c) 2013 - 2014 Intel Corporation. All rights reserved. + * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH + * Copyright(c) 2016 Intel Deutschland GmbH + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, + * USA + * + * The full GNU General Public License is included in this distribution + * in the file called COPYING. + * + * Contact Information: + * Intel Linux Wireless + * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 + * + * BSD LICENSE + * + * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. + * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH + * Copyright(c) 2016 Intel Deutschland GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name Intel Corporation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ +#ifndef __IF_IWM_SF_H__ +#define __IF_IWM_SF_H__ + +extern int iwm_mvm_sf_update(struct iwm_softc *sc, + struct ieee80211vap *changed_vif, + boolean_t remove_vif); + +#endif /* __IF_IWM_SF_H__ */ Modified: head/sys/dev/iwm/if_iwmvar.h ============================================================================== --- head/sys/dev/iwm/if_iwmvar.h Sun Jun 4 21:02:48 2017 (r319576) +++ head/sys/dev/iwm/if_iwmvar.h Sun Jun 4 21:05:58 2017 (r319577) @@ -558,6 +558,9 @@ struct iwm_softc { boolean_t last_ebs_successful; + /* last smart fifo state that was successfully sent to firmware */ + enum iwm_sf_state sf_state; + /* Indicate if device power save is allowed */ boolean_t sc_ps_disabled; }; Modified: head/sys/modules/iwm/Makefile ============================================================================== --- head/sys/modules/iwm/Makefile Sun Jun 4 21:02:48 2017 (r319576) +++ head/sys/modules/iwm/Makefile Sun Jun 4 21:05:58 2017 (r319577) @@ -7,7 +7,7 @@ KMOD= if_iwm SRCS= if_iwm.c if_iwm_binding.c if_iwm_util.c if_iwm_phy_db.c SRCS+= if_iwm_mac_ctxt.c if_iwm_phy_ctxt.c if_iwm_time_event.c SRCS+= if_iwm_power.c if_iwm_scan.c if_iwm_led.c if_iwm_notif_wait.c -SRCS+= if_iwm_7000.c if_iwm_8000.c if_iwm_fw.c if_iwm_sta.c +SRCS+= if_iwm_7000.c if_iwm_8000.c if_iwm_fw.c if_iwm_sta.c if_iwm_sf.c # bus layer SRCS+= if_iwm_pcie_trans.c SRCS+= device_if.h bus_if.h pci_if.h opt_wlan.h opt_iwm.h From owner-svn-src-all@freebsd.org Sun Jun 4 21:10:16 2017 Return-Path: Delivered-To: svn-src-all@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 5EC33BEF4B1; Sun, 4 Jun 2017 21:10:16 +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 3880484DFB; Sun, 4 Jun 2017 21:10:16 +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 v54LAFU6014107; Sun, 4 Jun 2017 21:10:15 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LAFX3014104; Sun, 4 Jun 2017 21:10:15 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042110.v54LAFX3014104@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:10:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319578 - head/sys/dev/iwm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:10:16 -0000 Author: adrian Date: Sun Jun 4 21:10:14 2017 New Revision: 319578 URL: https://svnweb.freebsd.org/changeset/base/319578 Log: [iwm] Check for lar_disable tunable, and lar_enabled flag from NVM. * LAR can be disabled with the hw.iwm.lar.disable tunable now. * On Family 8000 devices we need to check the lar_enabled flag from nvm_data in addition to the TLV_CAPA_LAR_SUPPORT flag from the firmware. * Add a separate IWM_DEBUG_LAR debugging flag. Obtained from: dragonflybsd.git 0593e39cb295aa996ecf789ed4990c3b255f1770 Modified: head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwm_debug.h head/sys/dev/iwm/if_iwmvar.h Modified: head/sys/dev/iwm/if_iwm.c ============================================================================== --- head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:05:58 2017 (r319577) +++ head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:10:14 2017 (r319578) @@ -356,6 +356,8 @@ static int iwm_media_change(struct ifnet *); static int iwm_newstate(struct ieee80211vap *, enum ieee80211_state, int); static void iwm_endscan_cb(void *, int); static int iwm_send_bt_init_conf(struct iwm_softc *); +static boolean_t iwm_mvm_is_lar_supported(struct iwm_softc *); +static boolean_t iwm_mvm_is_wifi_mcc_supported(struct iwm_softc *); static int iwm_send_update_mcc_cmd(struct iwm_softc *, const char *); static void iwm_mvm_tt_tx_backoff(struct iwm_softc *, uint32_t); static int iwm_init_hw(struct iwm_softc *); @@ -394,6 +396,9 @@ static void iwm_scan_curchan(struct ieee80211_scan_sta static void iwm_scan_mindwell(struct ieee80211_scan_state *); static int iwm_detach(device_t); +static int iwm_lar_disable = 0; +TUNABLE_INT("hw.iwm.lar.disable", &iwm_lar_disable); + /* * Firmware parser. */ @@ -2186,6 +2191,7 @@ iwm_parse_nvm_data(struct iwm_softc *sc, { struct iwm_nvm_data *data; uint32_t sku, radio_cfg; + uint16_t lar_config; if (sc->cfg->device_family != IWM_DEVICE_FAMILY_8000) { data = malloc(sizeof(*data) + @@ -2211,6 +2217,16 @@ iwm_parse_nvm_data(struct iwm_softc *sc, data->n_hw_addrs = iwm_get_n_hw_addrs(sc, nvm_sw); + if (sc->cfg->device_family == IWM_DEVICE_FAMILY_8000) { + uint16_t lar_offset = data->nvm_version < 0xE39 ? + IWM_NVM_LAR_OFFSET_8000_OLD : + IWM_NVM_LAR_OFFSET_8000; + + lar_config = le16_to_cpup(regulatory + lar_offset); + data->lar_enabled = !!(lar_config & + IWM_NVM_LAR_ENABLED_8000); + } + /* If no valid mac address was found - bail out */ if (iwm_set_hw_address(sc, data, nvm_hw, mac_override)) { free(data, M_DEVBUF); @@ -4507,6 +4523,35 @@ iwm_send_bt_init_conf(struct iwm_softc *sc) &bt_cmd); } +static boolean_t +iwm_mvm_is_lar_supported(struct iwm_softc *sc) +{ + boolean_t nvm_lar = sc->nvm_data->lar_enabled; + boolean_t tlv_lar = fw_has_capa(&sc->ucode_capa, + IWM_UCODE_TLV_CAPA_LAR_SUPPORT); + + if (iwm_lar_disable) + return FALSE; + + /* + * Enable LAR only if it is supported by the FW (TLV) && + * enabled in the NVM + */ + if (sc->cfg->device_family == IWM_DEVICE_FAMILY_8000) + return nvm_lar && tlv_lar; + else + return tlv_lar; +} + +static boolean_t +iwm_mvm_is_wifi_mcc_supported(struct iwm_softc *sc) +{ + return fw_has_api(&sc->ucode_capa, + IWM_UCODE_TLV_API_WIFI_MCC_UPDATE) || + fw_has_capa(&sc->ucode_capa, + IWM_UCODE_TLV_CAPA_LAR_MULTI_MCC); +} + static int iwm_send_update_mcc_cmd(struct iwm_softc *sc, const char *alpha2) { @@ -4527,10 +4572,15 @@ iwm_send_update_mcc_cmd(struct iwm_softc *sc, const ch int resp_v2 = fw_has_capa(&sc->ucode_capa, IWM_UCODE_TLV_CAPA_LAR_SUPPORT_V2); + if (!iwm_mvm_is_lar_supported(sc)) { + IWM_DPRINTF(sc, IWM_DEBUG_LAR, "%s: no LAR support\n", + __func__); + return 0; + } + memset(&mcc_cmd, 0, sizeof(mcc_cmd)); mcc_cmd.mcc = htole16(alpha2[0] << 8 | alpha2[1]); - if (fw_has_api(&sc->ucode_capa, IWM_UCODE_TLV_API_WIFI_MCC_UPDATE) || - fw_has_capa(&sc->ucode_capa, IWM_UCODE_TLV_CAPA_LAR_MULTI_MCC)) + if (iwm_mvm_is_wifi_mcc_supported(sc)) mcc_cmd.source_id = IWM_MCC_SOURCE_GET_CURRENT; else mcc_cmd.source_id = IWM_MCC_SOURCE_OLD_FW; @@ -4540,7 +4590,7 @@ iwm_send_update_mcc_cmd(struct iwm_softc *sc, const ch else hcmd.len[0] = sizeof(struct iwm_mcc_update_cmd_v1); - IWM_DPRINTF(sc, IWM_DEBUG_NODE, + IWM_DPRINTF(sc, IWM_DEBUG_LAR, "send MCC update to FW with '%c%c' src = %d\n", alpha2[0], alpha2[1], mcc_cmd.source_id); @@ -4566,7 +4616,7 @@ iwm_send_update_mcc_cmd(struct iwm_softc *sc, const ch if (mcc == 0) mcc = 0x3030; /* "00" - world */ - IWM_DPRINTF(sc, IWM_DEBUG_NODE, + IWM_DPRINTF(sc, IWM_DEBUG_LAR, "regulatory domain '%c%c' (%d channels available)\n", mcc >> 8, mcc & 0xff, n_channels); #endif @@ -4675,10 +4725,8 @@ iwm_init_hw(struct iwm_softc *sc) if (error) goto error; - if (fw_has_capa(&sc->ucode_capa, IWM_UCODE_TLV_CAPA_LAR_SUPPORT)) { - if ((error = iwm_send_update_mcc_cmd(sc, "ZZ")) != 0) - goto error; - } + if ((error = iwm_send_update_mcc_cmd(sc, "ZZ")) != 0) + goto error; if (fw_has_capa(&sc->ucode_capa, IWM_UCODE_TLV_CAPA_UMAC_SCAN)) { if ((error = iwm_mvm_config_umac_scan(sc)) != 0) @@ -5275,7 +5323,7 @@ iwm_handle_rxb(struct iwm_softc *sc, struct mbuf *m) sc->sc_fw_mcc[0] = (notif->mcc & 0xff00) >> 8; sc->sc_fw_mcc[1] = notif->mcc & 0xff; sc->sc_fw_mcc[2] = '\0'; - IWM_DPRINTF(sc, IWM_DEBUG_RESET, + IWM_DPRINTF(sc, IWM_DEBUG_LAR, "fw source %d sent CC '%s'\n", notif->source_id, sc->sc_fw_mcc); break; Modified: head/sys/dev/iwm/if_iwm_debug.h ============================================================================== --- head/sys/dev/iwm/if_iwm_debug.h Sun Jun 4 21:05:58 2017 (r319577) +++ head/sys/dev/iwm/if_iwm_debug.h Sun Jun 4 21:10:14 2017 (r319578) @@ -43,6 +43,7 @@ enum { IWM_DEBUG_EEPROM = 0x00080000, /* EEPROM/channel information */ IWM_DEBUG_TEMP = 0x00100000, /* Thermal Sensor handling */ IWM_DEBUG_FW = 0x00200000, /* Firmware management */ + IWM_DEBUG_LAR = 0x00400000, /* Location Aware Regulatory */ IWM_DEBUG_REGISTER = 0x20000000, /* print chipset register */ IWM_DEBUG_TRACE = 0x40000000, /* Print begin and start driver function */ IWM_DEBUG_FATAL = 0x80000000, /* fatal errors */ Modified: head/sys/dev/iwm/if_iwmvar.h ============================================================================== --- head/sys/dev/iwm/if_iwmvar.h Sun Jun 4 21:05:58 2017 (r319577) +++ head/sys/dev/iwm/if_iwmvar.h Sun Jun 4 21:10:14 2017 (r319578) @@ -232,6 +232,7 @@ struct iwm_nvm_data { uint16_t nvm_version; uint8_t max_tx_pwr_half_dbm; + boolean_t lar_enabled; uint16_t nvm_ch_flags[]; }; From owner-svn-src-all@freebsd.org Sun Jun 4 21:11:30 2017 Return-Path: Delivered-To: svn-src-all@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 2BCB6BEF57A; Sun, 4 Jun 2017 21:11:30 +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 F0B1F84FE8; Sun, 4 Jun 2017 21:11:29 +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 v54LBTxb017043; Sun, 4 Jun 2017 21:11:29 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LBTXx017041; Sun, 4 Jun 2017 21:11:29 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042111.v54LBTXx017041@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:11:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319579 - head/sys/dev/iwm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:11:30 -0000 Author: adrian Date: Sun Jun 4 21:11:28 2017 New Revision: 319579 URL: https://svnweb.freebsd.org/changeset/base/319579 Log: [iwm] Remove dead code from iwm_pcie_load_cpu_sections(). * If device family is 8000 then iwm_pcie_load_cpu_sections() won't be called at all (iwm_pcie_load_cpu_sections_8000() is called in that case) so this piece of code never gets called. Obtained from: dragonflybsd.git 3e9aaef308100a4d630feffc131e3aca2ae12f8a Modified: head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwmreg.h Modified: head/sys/dev/iwm/if_iwm.c ============================================================================== --- head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:10:14 2017 (r319578) +++ head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:11:28 2017 (r319579) @@ -2571,14 +2571,6 @@ iwm_pcie_load_cpu_sections(struct iwm_softc *sc, return ret; } - if (sc->cfg->device_family == IWM_DEVICE_FAMILY_8000) - iwm_set_bits_prph(sc, - IWM_CSR_UCODE_LOAD_STATUS_ADDR, - (IWM_LMPM_CPU_UCODE_LOADING_COMPLETED | - IWM_LMPM_CPU_HDRS_LOADING_COMPLETED | - IWM_LMPM_CPU_UCODE_LOADING_STARTED) << - shift_param); - *first_ucode_section = last_read_idx; return 0; Modified: head/sys/dev/iwm/if_iwmreg.h ============================================================================== --- head/sys/dev/iwm/if_iwmreg.h Sun Jun 4 21:10:14 2017 (r319578) +++ head/sys/dev/iwm/if_iwmreg.h Sun Jun 4 21:11:28 2017 (r319579) @@ -439,23 +439,11 @@ enum iwm_secure_boot_status_reg { }; #define IWM_FH_UCODE_LOAD_STATUS 0x1af0 -#define IWM_CSR_UCODE_LOAD_STATUS_ADDR 0x1e70 -enum iwm_secure_load_status_reg { - IWM_LMPM_CPU_UCODE_LOADING_STARTED = 0x00000001, - IWM_LMPM_CPU_HDRS_LOADING_COMPLETED = 0x00000003, - IWM_LMPM_CPU_UCODE_LOADING_COMPLETED = 0x00000007, - IWM_LMPM_CPU_STATUS_NUM_OF_LAST_COMPLETED = 0x000000F8, - IWM_LMPM_CPU_STATUS_NUM_OF_LAST_LOADED_BLOCK = 0x0000FF00, -}; #define IWM_FH_MEM_TB_MAX_LENGTH 0x20000 -#define IWM_LMPM_SECURE_INSPECTOR_CODE_ADDR 0x1e38 -#define IWM_LMPM_SECURE_INSPECTOR_DATA_ADDR 0x1e3c #define IWM_LMPM_SECURE_UCODE_LOAD_CPU1_HDR_ADDR 0x1e78 #define IWM_LMPM_SECURE_UCODE_LOAD_CPU2_HDR_ADDR 0x1e7c -#define IWM_LMPM_SECURE_INSPECTOR_CODE_MEM_SPACE 0x400000 -#define IWM_LMPM_SECURE_INSPECTOR_DATA_MEM_SPACE 0x402000 #define IWM_LMPM_SECURE_CPU1_HDR_MEM_SPACE 0x420000 #define IWM_LMPM_SECURE_CPU2_HDR_MEM_SPACE 0x420400 From owner-svn-src-all@freebsd.org Sun Jun 4 21:12:12 2017 Return-Path: Delivered-To: svn-src-all@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 EACA4BEF6FB; Sun, 4 Jun 2017 21:12:12 +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 B9CED316; Sun, 4 Jun 2017 21:12:12 +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 v54LCBcC017888; Sun, 4 Jun 2017 21:12:11 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LCBKG017887; Sun, 4 Jun 2017 21:12:11 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042112.v54LCBKG017887@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:12:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319580 - head/sys/dev/iwm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:12:13 -0000 Author: adrian Date: Sun Jun 4 21:12:11 2017 New Revision: 319580 URL: https://svnweb.freebsd.org/changeset/base/319580 Log: [iwm] Set correct state in smart-fifo configuration. Obtained from: dragonflybsd.git 666737f64b4f6dd42ffd9f0ace9fc46ccc1ebaab Modified: head/sys/dev/iwm/if_iwm_sf.c Modified: head/sys/dev/iwm/if_iwm_sf.c ============================================================================== --- head/sys/dev/iwm/if_iwm_sf.c Sun Jun 4 21:11:28 2017 (r319579) +++ head/sys/dev/iwm/if_iwm_sf.c Sun Jun 4 21:12:11 2017 (r319580) @@ -248,7 +248,7 @@ iwm_mvm_sf_config(struct iwm_softc *sc, struct ieee802 enum iwm_sf_state new_state) { struct iwm_sf_cfg_cmd sf_cmd = { - .state = htole32(IWM_SF_FULL_ON), + .state = htole32(new_state), }; int ret = 0; From owner-svn-src-all@freebsd.org Sun Jun 4 21:13:14 2017 Return-Path: Delivered-To: svn-src-all@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 DE4FABEF7A1; Sun, 4 Jun 2017 21:13:14 +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 AD0ED925; Sun, 4 Jun 2017 21:13:14 +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 v54LDDQk018131; Sun, 4 Jun 2017 21:13:13 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LDDAg018127; Sun, 4 Jun 2017 21:13:13 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042113.v54LDDAg018127@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:13:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319581 - head/sys/dev/iwm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:13:15 -0000 Author: adrian Date: Sun Jun 4 21:13:13 2017 New Revision: 319581 URL: https://svnweb.freebsd.org/changeset/base/319581 Log: [iwm] Set command code for PHY_DB as well. Obtained from: dragonflybsd.git 58318c956a74382d1286ccabaf767012fdcfe1a2 Modified: head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwm_phy_db.c head/sys/dev/iwm/if_iwmreg.h Modified: head/sys/dev/iwm/if_iwm.c ============================================================================== --- head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:12:11 2017 (r319580) +++ head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:13:13 2017 (r319581) @@ -5370,7 +5370,7 @@ iwm_handle_rxb(struct iwm_softc *sc, struct mbuf *m) break; /* ignore */ - case 0x6c: /* IWM_PHY_DB_CMD, no idea why it's not in fw-api.h */ + case IWM_PHY_DB_CMD: break; case IWM_INIT_COMPLETE_NOTIF: Modified: head/sys/dev/iwm/if_iwm_phy_db.c ============================================================================== --- head/sys/dev/iwm/if_iwm_phy_db.c Sun Jun 4 21:12:11 2017 (r319580) +++ head/sys/dev/iwm/if_iwm_phy_db.c Sun Jun 4 21:13:13 2017 (r319581) @@ -195,7 +195,7 @@ enum iwm_phy_db_section_type { IWM_PHY_DB_MAX }; -#define PHY_DB_CMD 0x6c /* TEMP API - The actual is 0x8c */ +#define PHY_DB_CMD 0x6c /* * phy db - configure operational ucode Modified: head/sys/dev/iwm/if_iwmreg.h ============================================================================== --- head/sys/dev/iwm/if_iwmreg.h Sun Jun 4 21:12:11 2017 (r319580) +++ head/sys/dev/iwm/if_iwmreg.h Sun Jun 4 21:13:13 2017 (r319581) @@ -1806,7 +1806,7 @@ enum { /* Phy */ IWM_PHY_CONFIGURATION_CMD = 0x6a, IWM_CALIB_RES_NOTIF_PHY_DB = 0x6b, - /* IWM_PHY_DB_CMD = 0x6c, */ + IWM_PHY_DB_CMD = 0x6c, /* Power - legacy power table command */ IWM_POWER_TABLE_CMD = 0x77, From owner-svn-src-all@freebsd.org Sun Jun 4 21:14:24 2017 Return-Path: Delivered-To: svn-src-all@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 E5C66BEF829; Sun, 4 Jun 2017 21:14:24 +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 B3F6DA72; Sun, 4 Jun 2017 21:14:24 +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 v54LENFQ018212; Sun, 4 Jun 2017 21:14:23 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LENSe018211; Sun, 4 Jun 2017 21:14:23 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042114.v54LENSe018211@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:14:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319582 - head/sys/dev/iwm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:14:25 -0000 Author: adrian Date: Sun Jun 4 21:14:23 2017 New Revision: 319582 URL: https://svnweb.freebsd.org/changeset/base/319582 Log: [iwm] Ignore IWM_DEBUG_LOG_MSG notifications. * Firmware versions 21 and 22 generate some IWM_DEBUG_LOG_MSG notifications, which seem to be harmless. Avoid spamming the system log with "frame ... UNHANDLED (this should not happen)" messages. Obtained from: dragonflybsd.git dda889ac57d8e5b46bb1b1ecf53c17a18481c7c8 Modified: head/sys/dev/iwm/if_iwm.c Modified: head/sys/dev/iwm/if_iwm.c ============================================================================== --- head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:13:13 2017 (r319581) +++ head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:14:23 2017 (r319582) @@ -5190,7 +5190,7 @@ iwm_handle_rxb(struct iwm_softc *sc, struct mbuf *m) "rx packet qid=%d idx=%d type=%x\n", qid & ~0x80, pkt->hdr.idx, code); - len = le32toh(pkt->len_n_flags) & IWM_FH_RSCSR_FRAME_SIZE_MSK; + len = iwm_rx_packet_len(pkt); len += sizeof(uint32_t); /* account for status word */ nextoff = offset + roundup2(len, IWM_FH_RSCSR_FRAME_ALIGN); @@ -5428,6 +5428,13 @@ iwm_handle_rxb(struct iwm_softc *sc, struct mbuf *m) notif->status, notif->action); break; } + + /* + * Firmware versions 21 and 22 generate some DEBUG_LOG_MSG + * messages. Just ignore them for now. + */ + case IWM_DEBUG_LOG_MSG: + break; case IWM_MCAST_FILTER_CMD: break; From owner-svn-src-all@freebsd.org Sun Jun 4 21:21:45 2017 Return-Path: Delivered-To: svn-src-all@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 BCD64BEFB0B; Sun, 4 Jun 2017 21:21:45 +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 9755EF9A; Sun, 4 Jun 2017 21:21:45 +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 v54LLidH020604; Sun, 4 Jun 2017 21:21:44 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LLiGe020603; Sun, 4 Jun 2017 21:21:44 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042121.v54LLiGe020603@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:21:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319583 - head/sys/contrib/dev/ath/ath_hal/ar9300 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:21:45 -0000 Author: adrian Date: Sun Jun 4 21:21:44 2017 New Revision: 319583 URL: https://svnweb.freebsd.org/changeset/base/319583 Log: [ath_hal] add USB reset PLL work around for AR9331/AR9344 (Hornet/Wasp.) It turns out that this is useful on hornet and wasp SoCs but it isn't enabled in ye olde HAL /unless/ you were using a version from one of the business units building USB targetted devices. It eventually got fixed for all of them as people started wanting to use the USB ports on their SoCs (eg for flash storage, bluetooth, 4G/LTE widgets, etc.) This is actually a fix from ath9k but I'm merging it with the available-but- disabled code in the QCA reference HAL. Tested: * AR9331 SoC Modified: head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c Modified: head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c ============================================================================== --- head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c Sun Jun 4 21:14:23 2017 (r319582) +++ head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c Sun Jun 4 21:21:44 2017 (r319583) @@ -90,6 +90,29 @@ do { \ #define WAR_USB_DISABLE_PLL_LOCK_DETECT(__ah) #endif +/* + * Note: the below is the version that ships with ath9k. + * The original HAL version is above. + */ + +static void +ar9300_disable_pll_lock_detect(struct ath_hal *ah) +{ + /* + * On AR9330 and AR9340 devices, some PHY registers must be + * tuned to gain better stability/performance. These registers + * might be changed while doing wlan reset so the registers must + * be reprogrammed after each reset. + */ + if (AR_SREV_HORNET(ah) || AR_SREV_WASP(ah)) { + HALDEBUG(ah, HAL_DEBUG_RESET, "%s: called\n", __func__); + OS_REG_CLR_BIT(ah, AR_PHY_USB_CTRL1, (1 << 20)); + OS_REG_RMW(ah, AR_PHY_USB_CTRL2, + (1 << 21) | (0xf << 22), + (1 << 21) | (0x3 << 22)); + } +} + static inline void ar9300_attach_hw_platform(struct ath_hal *ah) { @@ -1850,6 +1873,7 @@ ar9300_set_reset(struct ath_hal *ah, int type) /* Clear AHB reset */ OS_REG_WRITE(ah, AR_HOSTIF_REG(ah, AR_RC), 0); + ar9300_disable_pll_lock_detect(ah); ar9300_attach_hw_platform(ah); @@ -1984,6 +2008,7 @@ ar9300_phy_disable(struct ath_hal *ah) ar9300_init_pll(ah, AH_NULL); + ar9300_disable_pll_lock_detect(ah); return AH_TRUE; } @@ -4774,7 +4799,7 @@ ar9300_reset(struct ath_hal *ah, HAL_OPMODE opmode, st * successfully - skip the rest of reset */ if (AH9300(ah)->ah_dma_stuck != AH_TRUE) { - WAR_USB_DISABLE_PLL_LOCK_DETECT(ah); + ar9300_disable_pll_lock_detect(ah); #if ATH_SUPPORT_MCI if (AH_PRIVATE(ah)->ah_caps.halMciSupport && ahp->ah_mci_ready) { @@ -5350,7 +5375,7 @@ ar9300_reset(struct ath_hal *ah, HAL_OPMODE opmode, st #undef REG_WRITE #endif /* ATH_LOW_POWER_ENABLE */ - WAR_USB_DISABLE_PLL_LOCK_DETECT(ah); + ar9300_disable_pll_lock_detect(ah); /* H/W Green TX */ ar9300_control_signals_for_green_tx_mode(ah); From owner-svn-src-all@freebsd.org Sun Jun 4 21:26:32 2017 Return-Path: Delivered-To: svn-src-all@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 89838BEFB8E; Sun, 4 Jun 2017 21:26:32 +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 2242711B1; Sun, 4 Jun 2017 21:26:32 +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 v54LQVo0022597; Sun, 4 Jun 2017 21:26:31 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LQVsS022596; Sun, 4 Jun 2017 21:26:31 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042126.v54LQVsS022596@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:26:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319584 - head/sys/contrib/dev/iwm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:26:32 -0000 Author: adrian Date: Sun Jun 4 21:26:31 2017 New Revision: 319584 URL: https://svnweb.freebsd.org/changeset/base/319584 Log: [iwmfw] add 7265D-22 firmware Added: head/sys/contrib/dev/iwm/iwm-7265D-22.fw.uu (contents, props changed) Added: head/sys/contrib/dev/iwm/iwm-7265D-22.fw.uu ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/contrib/dev/iwm/iwm-7265D-22.fw.uu Sun Jun 4 21:26:31 2017 (r319584) @@ -0,0 +1,22855 @@ +begin 644 iwm-7265D-22.fw +M`````$E73`IS=')E86TZ0V]R94-Y8VQE,3E?````"`````(```"*8@$`'````!`````````` +M````````````````&P````0````!````,P````P```````````"````````3 +M````!(`!````@```````%@````2$!0```0```````'C#@`#4-(``]/N``(CL +M@`#T'8``@.Z``````````````````````````````````&P@P!`/&PDBW!W` +M$`H`&T`@`!MN"@``88``&VX\``!A``$;;CT``&$``AMN/@``81``&VX!``!A +M7```85<``&$``!LD(``;)>0=P!&(!^$8'P`(8@``&R4!`!LD```%)0$`!20` +M"`4Y`0`%8H@@P!$"``4D``@%.0$`!6*,(,`1!``%)``(!3D!``5BD"#`$0@` +M!20`"`4Y`0`%8I0@P!$0``4D``@%.0$`!6*8(,`1(``%)``(!3D!``5BG"#` +M$4``!20`"`4Y`0`%8J`@P!$```@E```()(@'X1F$!^$90`?`$@$`&W`(``!A +M#QP=(@0`'2;H'<`0`0`;,.@=P!&"!!LD"``;)00HP!&^#P!A```;)(``&R7D +M'<`1```;)``!&R7D'<`1```;)``"&R7D'<`1"`!?<`P``&'8'<`0__X;,M@= +MP!'.[@TE@ID-)`\--R)L(,`0#QLW(O__#24._PTD#PTW(J__`#(<``!D`(`3)`$`$R4X',`1#W<3 +M(N`Q,B`0`3,`0HP!$/%!4B`@`5)@]- +M$R($$,41`@`3)/`^^K=[OOJW>[[ZMW@``````````"``````````````````` +M```````````````````````````````````````````````````````!```` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````!$`(`````````````D````*````"P````P````-``` +M`#@````\````0````&0```!H````;````'````!T````>````'P```"````` +MA````(@```",````D````)4```"9````G0```*$```"9````G0```*$```"E +M````*@```#H```!J````>@```(H```";````GP````(````$````!@````0` +M```,````$P```!L````C````*P```"T````!``````````0````%```````` +M````_P````#_``$!`P`!!00``@(#```#_P``_@8!`/\!`0``_P$!`?\!`@+_ +M`0`$!0$!!?\!`0,'`@#_`@(``/\"`0'_`@("_P("!?\"`@,'```$`.0&`0`. +M`#`-!0`D`M@'!@!0`/P)!P"H`60*"`"X``P,"0!8`,0,"@!X`.@&"P!X`&`' +M#P`4`!P-$0`8`$P*$@"D`0``$P`,`$`-%``$`$P-%0`$`%`-```````````` +M````````````````````````````````````````````'@```!Z('HA:```` +M5@```%:(5H@"`0``J@```*J(JHC^`0``C`H``%2,5(RD'P`````````````` +M`/X```$`_P`"`?\!`/\!`0#^`@$#`O\!`0#_`0$!_P(`_P,"`/X$`@,"_P(" +M`/\"`@'_`P#_!0,`_@8#``/_`P,`_P,#`?\```````````````"`-0``"@`` +M``0```"(Q8``````````````````X#4```4````$````B,6````````````` +M```````````````````````````!````I'4$`+!W!``0=P0`@'<$`$AR!`!` +M<@0`B!8$`)04!`#D%`0`O)4````````````````````!"_\```0"```&_P`` +M`/\```S_```'_P``"/\```G_```*_P```O\!`/\``0(`#P$!`@$!`0/_`0$$ +M`@$!!@,!`0<$`0$(!0$!"0T!`0H.`0`,_P$`_O\"`/\&`@$!_P("`@<"`@,( +M`@($"0("!@H"`@<+`@((#`(""0P"`@H+`@`,_P(`_A`````````````````` +M``````#_!P```/\```?_``$)"```"O\!`@```0,!_P$#`O\!`P/_`0$$_P$" +M!0`!`0O_`0(,_P$$!@8!`0?_`0`(_P$`"O\"`@#_`@,!_P(#`O\"`P/_`@$$ +M`0("!0`"`0L!`@(,`0($!@8"`@<``@`(`0(`"@$#`/\"`P,`_P,#`?\#`P+_ +M`P,#!`,!!`4#`@4``P$+!0,"#`4#!`8&`P,'_P,`"`4#``H%`P#^`P0$`/\$ +M!`'_!`0"_P0$`_\$!`3_!`0%_P0$"_\$!`S_!`0&!@0$!P8$``C_!``*_P`` +M``````````#_`````0,``@("``,``@``!?\```;_```$_P``!P0```C_`0#_ +M`0$!``,!`@$"`0("`@$`!/\!`0<$`0`(_P(#``8"`@(&`@`%_P(`!O\"``0' +M`@`'!P(`"`<#`P`&`P`!!0,"`@8#`07_`P`&_P,`!`<#``<'`P`(!P`````` +M`0#_`0#_``$``?\!`@+_`@#_`0(``?\"`0/_`@,$_P(""O\"`@G_`@((_P,` +M`?\#`0,)`P4%"0,$!O\#!@H'`P,)_P0`_P,$``'_!`$#"@0"!PH$`@@*!`,$ +M_P0""@@$!`G_!`0&_P4`_P(%!`;_!0$#!04``?\%!0K_!04)!`8`__\&!`;_ +M!@$#!08``?\&`P3_!@8)!@8&"O\````````````````````````````````` +M````E+^``!X``905`0`!``0``-BH@``$``%T[8``#``!```\O(```0`#.+R` +M``$``_0=@``!``$@OX```0`#)+^```$``U@5`0`"``0```````!54@``1T4` +M`$Q)``!.0P``1$D``%-5``!:6@``6EH``%I:``!:6@``6EH``%I:``!:6@`` +M6EH``%I:``!:6@`````````(!`P""@8.`0D%#0,+!P\!D0```3\```*1```^ +M/0```Y$``#T]```$D0``/P,```61```)$```!I$``!8<```'D0``'Q\```B1 +M```<%@``"9$``!`)```*D0```S\```N1```]/0``#)$``#T^```-D0``/P$` +M`!$0/DA(`.`0!`````T@!````&$0(@```"!#.0````#@A`$``.$0`0````(0 +ME\L%`#!@"P````_2!````!C2_/__'P%S$`````G@B8:$A`K@A(0```O@IE77 +M(`S@(HLL,@W@JHF'(@[@'GOL,1?@DHR+BAC@BHH``!G@?DGG(!K@(HLL,AO@ +MDTVW(1S@'GOL,21@`@````)S`````!$@%(4!`!D0!@```!'2`P```#'@_[=V +M`#+@Y"4_`#/@(E(.`#3@+@```#7@`````#;@-C8V-C?@-C8```D0;E\``!H0 +M`````#$0A@$``#(0D`$``#,0R````#004````#40@````#H0:0```#L0P``` +M`,$0`````"2``#P``"K@^>7G)BO@(HLL,BS@<\YI*RW@'GOL,2C@BXN)B2G@ +MB8D```Q@@R4``#@04@```#D0E@```$&``0````)'`8```!1@`````!(@E`,` +M`!40^0@=`0``Z70Z#>FTD0C"8!`(0.#O![Y>CP<\WFX'.YTN!SD<#@>WV\T& +M-INM!C4:[0:[W_`(S.5R"4IE,@E()/((Q^/Q"$:CL0A%(I$(1")Q",/A4`A" +M83`(P6`P",%@$`A`X.\'O]_O![_?[P<_G\\'/I_/!SZ?SP<^GZ\'O5ZO![V> +MSP<^GZ\'O5ZO![V>SP<^G\\'/I_/!SZ?SP>_W^\'O]_O![_?#PA`8#`(P6`P +M",%@4`A"X7`(PR&1"$0BD0C%HM$(QN/Q",[&XT& +MM9K-!C;;[08W'`X'N9Q.![O=C@<\7J\'OM\/"$!@,`A"HC$-Z70Z#_'Q`(0&`P",%@,`C!8!`(0"#P!S^? +MSP>]'H\'O-UN![N=3@KP<]G\\'OQ\0"$!@,`C!8#`(P6`0 +M"$`@\`>_W^\'/Y_O![_?#PC`8%`(0Z+Q",EELPG-9K,)1"*1"$1A$`B_G\\' +M/I_/!SZ?[P>_'Q`(P:!0",+A<`C#X7`(0J$P"$$@\`>_G\\'/I_/!SZ?[P<_ +M8%`(1"*1"+O=;@>[W4X'N)NM!K293`:Q6`P&-!P/"$0BL0C%8M$(1J/Q",?C +M\0C'X]$(1F.Q"$4B<0C#H5`(P6`P"$`@$`A`(!`(P&`P"$&A<`C#(9$(Q6+1 +M"$;C\0C'X_$(QZ/1"$9CL0C%(I$(0!Z.!C!8+`8QF6P&M)KM!CC=;@>[W6X' +MM5JM!C7:;`8R62P&,1J.!\"BT0C&XQ$)R&12"4KE<@G+Y5()2F4R"4CD\0A& +MH[$(0!Z.!K%83`:RV8P&M5JM!@$````B(B`?'AT;&AH:(B(@'QX=&QH:&B(B +M(B(@'QX=&QH:&B(B(!\>'1L:&AHB(B(B(!\>'1L:&AHB(B`?'AT;&AH:(B(B +M(B$?'AT;&A<7(B(A'QX=&QH7%R(B("`A'QX=&QH7%"(B(1\>'1L:%Q0B(AX> +M'AX>'!H8%1(>'AX>'AP:&!42(B(B(B$?'AT<&A@8(B(A'QX='!H8&"(B(B(A +M'QX='!H8%"(B(1\>'1P:&!8B(B`@(!\>'!L8%A(>'AX>'AP;&!84(B(B(B$? +M'AT<&1<7(B(A'QX='!D7%R(B("`A'QX='!D7%"`@(1\>'1P9%Q0B(B`@(!\> +M'!L7%1(>'AX>'AP;%Q42(B(B(B(@'QT;&AH:(B(B(!\=&QH:&B(B(B(B(!\= +M&QH:&B(B(B`?'1L:&AHB(B(B(B`?'1L:&AHB(B(@'QT;&AH:(B(B(B(A(!X< +M&1<7(B(B(1\=&QH8&"(B(B(B(1X>'!D5$B(B(B$>'1L:%Q4B(B`@("`?'1H8 +M%1(@("`@'QT:&!42(B(B(B(A(!X<&A@8(B(B(2`>'!H8&"(B(B(B("`?'1L9 +M$R(B(B`@'QL;&18B(B`@("`@'AP9%A(@("`@(!X<&184(B(A(2$A'AT<&1<7 +M(2$A(2`>'!D7%R(B(2$A(1\>'!D7%"$A(2$?'1P:%Q0B(A\?'Q\?'!L8%1$? +M'Q\?'QP9&!41(B(```````````````!DF0$`!0```@0```"(Q8```````/\` +M```T#*``0`R@`%0,H`!0#*``3`R@`!P"2@ +M`'PDH`"`)*``A"2@`%`0H`!()J``8!"@`$PFH`!D$*``:!"@`%@0H``P$*`` +M/!"@`#00H``L#*```(&D``&!I``#@:0`B"2@`(PDH`"0)*``E"2@`)@DH`"< +M)*``H"2@`*0DH```````````````````````O@`9R``&R0`&R@`!S``%S0`%RP`$S@`# +MSP`*T``*T0`"T@`"TP`*U``*U0`"U@`"UP`*V``*VP"(W`"(W0"JW@#=WP`` +MXP`(Y``(Y0`*Y@`*Z```ZP`([``([0`*[@`,,0`D,@`F=P$P.`(P!`!,.``` +MY0%SY@$*I@)SIP(*^P#_CP$@5@(@@P$`1`(`C@$/50(/D`$`3@(`D0%]D@%] +MDP%]3P)]4`)]40)]6@!56P!5_0`!Z@$$_@`3_P`&;@`*>0`-=0`!?P`/AP`. +MF0#%F0#-?`$-@`$-/0(-00(-?0'_/@+_?P'_0`+_)P`<*``8*0`<*@`@('>P(0S@$#CP(#D0(`O0$)?@()QP$,B`(,O@$)?P()R`$&B0(&I`$0 +MJ@$2I0$0JP$290(0:P(29@(0;`(2WP$!UP$`H`(!F`(`>@$!.P(!```T`0`V +M`0`^`5<_`69``7=!`9A"`0=?`:I@`:IQ`7D?`@`I`O\J`O\R`GFA`%NB`!NC +M`#"D`!*E`""F``>G`!NH`!*I``>J``"L``FM``:N``RO``FP``:Q``RR``>S +M``2T``JU``:X`%Z^`!G(``;)``;*``',``7-``7+``3.``//``K0``K1``+2 +M``+3``K4``K5``+6``+7``K8``K;`(C<`(C=`*K>`-W?``#C``CD``CE``KF +M``KH``#K``CL``CM``KN``PQ`"0R`"9W`3`X`C`$`$PX``#E`7/F`0JF`G.G +M`@K[`/^/`2!6`B"#`0!$`@".`0]5`@^0`0!.`@"1`7V2`7V3`7U/`GU0`GU1 +M`GU:`%5;`%7]``'J`03^`!/_``9N``IY``UU``%_``^'``Z9`,69`,U\`0V` +M`0T]`@U!`@U]`?\^`O]_`?]``O\G`!PH`!@I`!PJ`!RY`0>Z`1!Z`@=[`A#. +M`0./`@.1`@"]`0E^`@G'`0R(`@R^`0E_`@G(`0:)`@:D`1"J`1*E`1"K`1)E +M`A!K`A)F`A!L`A+?`0'7`0"@`@&8`@!Z`0$[`@%B`<]D`<]F`<\L`L\N`L\P +M`L\0``0`"P````,![`$%`!``!``1`!(``P`*``L`-`$=`C4!'@(V`1\")0`` +M``H`"P`$``\``P'L`1``.`#D`:4"2``2`",````-$2(#O!N``)@;@`#L&X`` +MD!N```,![`$"`>L!!0`$`!``"@`+``8`"`!\`8`!/0)!`G,!=P$T`C@"EP%8 +M`ID!6@*6`9@!5P)9`MP!G0(E`)H!6P*<`5T"```````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````8````````````````````````````````````````````` +M```````````````````````````````````````````````````````!```` +M`@`````````N$2\7,!`Q*#(1,_(V(C@1.1#AY.(@````Y/R```$``````````OV```````#_ +M````_____P`````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````PO`0#P+@$`\"X!```````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````$````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````!8B@``!0```@0```"( +MQ8`````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````"````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`*@L````````Z-D```$```!XSP```@```/PV`0`#````8*D$``0```"%$$``<```!TI`0`"````)1?`@`)````D%\"``H```!D +M<@0`"P```/1)!``,````R(P!``T```"DW`0`#@```-0X`@`/````Y'X!`!`` +M``"$.P0`$0```)2G`0`2````4)````$````!`````` +M(@`B42(1$?#P\/#`P,#`_/S\_/[^_OZJJJJJJJJJJJJJJJZJJJJJ*/\`S*JJ +M``"JJ@#,JJH```!``,```````%``\`!0`/"JJJJJJJJJJJJJJJJJJJJJ*/\` +MS*JJ``"JJ@#,JJH``````````````%``\`!0`/"JJJJJJJJJJJJJJNZJJJJJ +M*/\`S*JJ``"JJ@#,JJH```!``,``0`#``%``\`!0`/`'````#P`````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````__\``/__`````````````/__``#__P````````````#__P``__\` +M`````0````(````#````!`````4````&````!P````@````)````"@````L` +M```,````#0````X````.````M!P``#@=``#\'```^!P``.`<``#`'```G!T` +M`.`=``"\'0``(!T````=```````````````````````````````````````` +M````````````````````````````````!P```````````````!`0X.````````,@@"#P,``0`````````!`0X.```` +M````(P0""@````````````#T`0```````````````````````#Q[@``````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````#^RJVK```````````` +M```````````````````````````````````````````````0`````)`!```` +MH``0)P``Z`,``.@#``#P+H``\"Z``*33@`"$TX``C-.``&33@`"DTX``A-.` +M`(33@`!DTX``9-.``*#3@`"DTX``6-.``*C3@`!PTX```````/__`0(%`P`` +M`````0`#"P4`````4(L$`%"+!`!0BP0`S(<$`%"+!`!0BP0`T(@$`%"+!`"X +MV@``_-X``%"+!`!0BP0`4(L$`%"+!`!0BP0`4(L$`%"+!`!0BP0`4(L$`%"+ +M!`!0BP0`4(L$`%"+!`!(_```#/D``*3\``!0BP0`4(L$`%"+!``P\0``/```!TW@``4(L$`#3K``!0 +MBP0`4(L$`%"+!`!0BP0`4(L$`%"+!`!0BP0`4(L$`*#W``!0BP0`W.L``%"+ +M!``(B@0`4(L$`$CA``!0BP0`4(L$`%"+!`!0BP0`4(L$`%"+!`!\WP``4(L$ +M`%"+!`!0BP0`4(L$`%"+!`!0BP0`Q`$!`(SP``!0BP0`4(L$`%"+!`#4W@`` +M4(L$`"R'!`!0BP0`4(L$`&CI``!0BP0`4(L$`+0'`0"LAP0`4(L$`%"+!`#0 +MAP0`4(L$`$`"`0!XY0``4(L$`+@&`0!`X@``4(L$`%"+!`#L`0$`4(L$`)3O +M``!4W```F/T``%"+!`!0BP0`$/```#C=``!0BP0`4(L$`$CI``!0BP0`4(L$ +M`%"+!`!0``$`4(L$`&3F``!0BP0`4(L$`%"+!`!0BP0`4(L$`%#W``!0BP0` +M4(L$`%"+!`!0BP0`4(L$`%"+!`!0BP0`4(L$`%"+!`!0BP0`4(L$`%"+!`!0 +MBP0`4(L$`/#J``#8C@0`4(L$`%"+!`!0BP0`4(L$`%"+!`!0BP0`#($$`-2` +M!``,XP``4(L$`'R-!`#TB`0`4(L$`%"+!`!0BP0`4(L$`*CF``"T^```5-L` +M`%"+!`!0BP0`4(L$`%"+!`!0BP0`O`````````````````@$0!``8````$````B,6````` +M`````````````$Q"`0`%```"!````(C%@`#_``$#!`4&!P@"```````````` +M``````"D3@$`!0```@0```"(Q8`````````````````````````````````` +M_P```$$```"($P``@#X```$!```````````````````````````````````` +M`````````-A:```*````!````(C%@``````````````````#````'P`````` +M`````````````!````!+2TM+2P`````````````````````````````````` +M```````````````````````````````````````````````````````````` +MB!,````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````````````````#_____ +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````"````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``#_____```````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````"````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````#_____```````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````````````"````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````#_____```````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````````````````````"` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````#_____```````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````"````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````````_P`````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````LW8``[-J``"S=@`#TX8``X-V``.3<@`"@````````!Z```` +M`````'H`````````>@```'\```!Z````?P```'H```!_````>@```'\```!Z +M````?P```'H```!_````>@```'\```!Z````?P```'H```!_````>@`````` +M``!Z```````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````````````````````````&9F#@`````` +M9F8*`&9F!@!F9@8`9F8"`&9F`@!F9CX`9F8^`&9F.@!F9CH``````&9F-@`` +M````9F8R``````!F9@X```````````!F9@8````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````````````````````$` +M`0$!`0$!`0$!``$``0```````/\````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````3`B@`$@(H`!L"(`````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````#[%8P`,Y$``````````#,````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````>'AX>'AX>'AX>'AX>`!D<'AX>'AX>'AX>'AX`'AX> +M'AX>'AX>`!X>'AX>'AX>'@`!!@($`@(```0$!@0(`P`````9'AX>'AX>&!D> +M'AX>'AX8&!X>'AX>'AX>`!4>'A@5'AX8&!X>'@,(``````8```````````#_ +M!0```````!@8&!@8'0$&!@8&``8``!X`'@`>`!@`!@8&`0$!`?T&!@`````` +M``8!`0``'@```````````````0`````````````````5&!@8&!@8&!@8%1@8 +M````````````````````_O[^_OX`%!88&!02$!@8```````````````````` +M````````````````%1@8&!@8&!05&!@8&!@8%!(8&!@8&!@8&````````0`` +M``$````1&!@4$1@8%!08&!@``````/L4%!04%!@8&!@8&!@8&!@8&!@8`!@8 +M&!@8&!@8&!@8&!@`&!@8&!@8&!@8`!@8&!@8&!@8&``8&!@8&!@8&!@8&!@8 +M&!@8&!@8&!@8&!@8`!@8&!@8&!@8&!@8&!@8&!@8&`$!`0$!`0`````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````!65```>P````````!:5```.P````````!:5```>P`````````*(``` +M.P````````!:5```0P`````````*`````0```*I8``!:9```6P```#`P```` +M`````````````````````0```#\````````````````````'`````````@(` +M```````````````!``("``$```("`0`!`@`"`@`````!``$``@(!```````` +M``$&```````"`@```0```0```0`````"``("``````(```````(````!```` +M``````````(```$``@`$```````````````"``(``````````````````@`" +M``$``````@````````````(``0(``@("`````````@`"```!```````````` +M`````````0```0````(``0(```````````,"```````````"``````("```` +M`````````````````````0`"`@```````````````````@`"`0`````````` +M``(``````@`"`@`"`````````@`````````````"`@(``````@`"`@("``$` +M``(``````0(``@("``(!`@````(````"``$```(```(!`````````````@`` +M``````````````(``````````````````0````$"`0(```("```````!``(` +M``$``0`"```````````````````````````````````````"```````````` +M`@````(`!``"`````@````(````"``(``@(````````````"``````(````` +M`@``````!0````(``0```0```0(```````````````````````$```````$` +M`@````$``@`!``````(````````````````````````````````````````! +M```````````````````````````````````````````````````````````` +M``````````(````````"`````````````````````````````@``````*2G_ +M____```````````````````````````````````````````````````````` +M````````'@$``"P+```````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````````````````````$" +M`P0%!@<("0H+#`T.#Q`J*BLL+2XO2DM,34Y/4&ML;6YP<8N,C8Z/D:RMKJ^P +ML$B`'1@1>8B-'9P1>LB,'@`1O`B-'H01O4B-'P@ +M1OHB-'XP1O\B,(!`1@0B-()01@DB`(1@1@XB-(9P1A,B,(@`1Q@B,XH01QTB +M,XP@1R(B-(XP1R Delivered-To: svn-src-all@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 7398EBEFC15; Sun, 4 Jun 2017 21:27:24 +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 29F10135A; Sun, 4 Jun 2017 21:27:24 +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 v54LRNqp022689; Sun, 4 Jun 2017 21:27:23 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LRNvM022688; Sun, 4 Jun 2017 21:27:23 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042127.v54LRNvM022688@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:27:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r319585 - svnadmin/conf X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:27:24 -0000 Author: adrian Date: Sun Jun 4 21:27:23 2017 New Revision: 319585 URL: https://svnweb.freebsd.org/changeset/base/319585 Log: bump temporary for iwm firmware. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Sun Jun 4 21:26:31 2017 (r319584) +++ svnadmin/conf/sizelimit.conf Sun Jun 4 21:27:23 2017 (r319585) @@ -27,3 +27,4 @@ np obrien peter rwatson +adrian From owner-svn-src-all@freebsd.org Sun Jun 4 21:27:41 2017 Return-Path: Delivered-To: svn-src-all@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 6B7A5BEFC5A; Sun, 4 Jun 2017 21:27:41 +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 E9E9D14AC; Sun, 4 Jun 2017 21:27:40 +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 v54LRedH022742; Sun, 4 Jun 2017 21:27:40 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LReNH022741; Sun, 4 Jun 2017 21:27:40 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042127.v54LReNH022741@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:27:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319586 - head/sys/contrib/dev/iwm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:27:41 -0000 Author: adrian Date: Sun Jun 4 21:27:39 2017 New Revision: 319586 URL: https://svnweb.freebsd.org/changeset/base/319586 Log: [iwmfw] 8000C ver 22 firmware. Added: head/sys/contrib/dev/iwm/iwm-8000C-22.fw.uu (contents, props changed) Added: head/sys/contrib/dev/iwm/iwm-8000C-22.fw.uu ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/contrib/dev/iwm/iwm-8000C-22.fw.uu Sun Jun 4 21:27:39 2017 (r319586) @@ -0,0 +1,47134 @@ +begin 644 iwm-8000C-22.fw +M`````$E73`IS=')E86TZ0V]R94-Y8VQE,3E?````"`````$````"````'@````@````"```` +MCWX#`!P````0`````````````````````````!L````$`````@```"`````$ +M`````*`!`#,````,````````````@```@`$`,P````P````!``````"(``"` +M```S````#`````(``````$```(`&`!,```"\`@```$!```8```"A```````! +M``````"&@````P<6(+[/`0!`````0`````$````$A`4````````````````` +M```````````````````````````````````````````````````````````` +M````````````````````````````````````U7?1O$KMC1P! +M%L)AM`1@'DT[FA#1OWMZR()DJ-L;GQEBIN9H[A^ZS%KH6MG.(:=CV\&$V<0:'I[5@L7 +M;]O#+S6])Q;OTUZ`@Q9O#\ZQZUROU1XL3>@GIX0A'ZLQS3.]EM]`#)-:.@LH +M#44.K^C\7[\`!P3DY4F9W;8[]70ZRI8T>H?6RDCG3OM8]KY^9H/)$3]O$5[-'Q&B.Y@DA?.@%-O*2PZO`YB\^`DJ%ID&U^ +MU;IA,PR_`>K^.AN312;7&VK/A1B]+LQ(V3P\*UQ5Z=;M)')C]J\?K/@J:98N +MJQOM?UA7<.[NM3[WW_V:XN&4IC\K8WM>$7?2$@*@8=[LZ\%::.OKRW[IDOCD +MA+=T'/X2ZUEGV6^`(6"B0,R)YR**TD[=T/MKV(*&U3I^_OZ\&[4V>#XE=`DE +M._=^`P````<````(@`$```"```"``0`'````"``%``````````4`!P```$B\ +M````@$0`0+P``!,````$@`$```"````````6````!(0%```!````````:-J` +M`#PH@`!``8$`Q/B``)P4@`"`<($````````````````````````````````` +M;"#`$`\;"2+<'<`0"@`;0"``&VX,``!A@``;;D```&$``1MN4P``80`"&VYC +M``!A``0;;GX``&$0`!MN`0``88```&%[``!A```;)"``&R7D'<`12`GA&!\` +M"&(``!LE`0`;)```!24!``4D``@%.0$`!6*((,`1`@`%)``(!3D!``5BC"#` +M$00`!20`"`4Y`0`%8I`@P!$(``4D``@%.0$`!6*4(,`1$``%)``(!3D!``5B +MF"#`$2``!20`"`4Y`0`%8IP@P!%```4D``@%.0$`!6*@(,`1```()0``""1( +M">$91`GA&10)P!(!`!MP"@``80\<'2($`!TF)`G`$@$;(R+H'<`0`0`C<`$` +M`&$1`!LP`0`;,.@=P!&Z#P!A```;)(``&R7D'<`1"`!?<`D``&'0",`2``D; +M*,P(@($``,`7U`C`$@`)&RC("("!``#`%ZP/`&',",`2X`B`@0``P!?(",`2 +MW`B`@0``P!>E#P!A```;)``!&R7D'<`1"`!?<*`/`&$```4EX@0%)-0(P!(` +M"1LH``4;*=P(@($``,`7T`C`$@`)&R@`!1LIX`B`@0``P!>3#P!A```;)``" +M&R7D'<`1"`!?<`P``&'L'\`0__\;,^P?P!'.[@TE@ID-)`\--R)L(,`0#QLW +M(O__#24._PTD#PTW(H(/`&'L'\`0```;,>P?P!'.[@TE@ID-)`\--R)L(,`0 +M#QLW(O__#26._PTD#PTW(G8/`&$```!A```;)2``&R1<',`1````8=P=P!`` +M`!TD````(0$`6#'.[@TE`8$-)`\--R(/1#$7`$`$`$W`,``!A"`!8,-@> +MP!`*`!-``@`3;@0``&$!``@D```()40)X1D!``!A`(!8,`@`9#$```!A"`!8 +M;N,/`&$``!,E```3)"00P!$`@!,D```3)3@!,B``#&$0,``20```$E#T4`(@!<`#GO_P`R%P``9`"`$R0! +M`!,E.!S`$0]W$R+@',`1`@`!8@\!$R($",`1?`S`$LA)QQ&0"\`2`0`!;@,` +M$S`,`,T1"`!8,0\4%2($`!4F`P`3)```$R4$",`1```3)#A%P!$%``!A``!8 +M.`0`6#$``!,D`0`3)3@P!`*`!-``@`3;@0``&$!``@D```( +M)40)X1D$``!A`(!8,`(``&$`(%@P````8>@=P!#F_Q,R__\3,^@=P!$```$D +M"``!)0\!8R(!`%(D"``';@(``&$``!4D#P``80X``&'H'<`0^^K=[OOJW>[[ZMWN^^ +MK=[OOJW>[[ZMWN^^K=[OOJW>[[ZMWN^^K=[OOJW>[[ZMWN^^K=X````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````-`'``````````````$!`0$!`0$!O1\``&,N``#_____```````` +M```````````````````(```````````````````````````````````````` +M```````!`````````````````````0`````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````S,``` +M$1````````````````HH```````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````$0`@````````````"0````H````+``` +M`#`````T````.````#P```!`````1````$@```!,````4````%0```!8```` +M7````&````!D````:````&P```!P````=````'@```!\````@````(0```"( +M````C````)````"5````F0```)T```"A````I0```*D```"M````L0```"H` +M```Z````2@```%H```!J````>@```(H```";````JP````(````$````!@`` +M``,````+````$P```!L````C````*P```#,````Z````0@````$````````` +M!`````4``````````````````````/\```#^`0```O\```/_``$`_P$``0(! +M`@+_`@#_`P(`_@0"``/_````````````````>.\```H````$````M-V````` +M`````````````(SO```*````!````+3=@``````````````````````````` +M````````````````````````````'@```!Z('HA:````5@```%:(5H@"`0`` +MJ@```*J(JHC^`0``C`H``%2,5(RD'P````#_```!`/\```/_```&_P``"?\` +M``K_`0#_`0$!`0$!``+_`0(#_P$!!O\!`0G_`0`*_P$`_@("`/\#`@($`P(` +M!?\"``C_`@,&_P(`"?\"`@/_`@`*_P(`_@0#`/\%`P('_P,`"?\#`P/_`P,& +M_P,`"O\#`/X&````````````````')D```H````$````M-V````````````` +M`````+29```%````!````+3=@``````````````````````````````````` +M`````````-C0`0#DT@$`1-(!`+32`0!@S0$`6,T!`/QA```$8```6&```.1" +M`0````````````````````````````````````````#_!P```/\```?_``$) +M"```"O\!`@```0,!_P$#`O\!`P/_`0$$_P$"!0`!`0O_`0(,_P$$!@8!`0?_ +M`0`(_P$`"O\"`@#_`@,!_P(#`O\"`P/_`@$$`0("!0`"`0L!`@(,`0($!@8" +M`@<``@`(`0(`"@$#`/\"`P,`_P,#`?\#`P+_`P,#!`,!!`4#`@4``P$+!0," +M#`4#!`8&`P,'_P,`"`4#``H%`P#^`P0$`/\$!`'_!`0"_P0$`_\$!`3_!`0% +M_P0$"_\$!`S_!`0&!@0$!P8$``C_!``*_P````````````#_`````0,``@(" +M``,``@``!?\```;_```$_P``!P0```C_`0#_`0$!``,!`@$"`0("`@$`!/\! +M`0<$`0`(_P(#``8"`@(&`@`%_P(`!O\"``0'`@`'!P(`"`<#`P`&`P`!!0," +M`@8#`07_`P`&_P,`!`<#``<'`P`(!P`````````````````0``#V#P``V`\` +M`*8/``!A#P``"0\``)T.```@#@``D0T``/$,``!!#```@@L``+0*``#9"0`` +M\@@````(```#!P``_@4``/$$``#>`P``QP(``*P!``".```````````````` +M``````$````!```````````````!`````0````$```````````````$``#C4 +M@``>``$X3P(``0`$``",N8``!``!L/F```P``0``W-"```$``]C0@``!``.< +M%(```0`!P-.```$``\33@``!``/\3@(``@`$```@````(``````````````` +M55(``$=%``!,20``3D,``$1)``!350``6EH``%I:``!:6@``6EH``%I:``!: +M6@``6EH``%I:``!:6@``6EH`````````"`0,`@H&#@$)!0T#"P````+))$``$`````````2I)$```````````````````````````` +M``````$````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````"0(@$`!0```@0```"T +MW8`````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````````````````````````````````@``````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````````#_```!`_\```D! +M```*_P`#!`(```#_``#^`P$`_P0!`0D%`0$*!0$``?\!`P0"`0$"_P$!"/\! +M``#_`0#^!@(`_P<"`@D(`@(*"`("!PD"``'_`@$#_P(#!`H"`@+_`@``"P,# +M"0P#`PH,`P0%#0,#`@X#```/!`#_$`0$"1$$!`H1!`(&_P0"`A($!`C_!``` +M_P0`_A,```````````````#,^@``"@````0```"TW8`````````````````` +MC",```H````$````M-V``&Q[``#H>P``N"```.![````^@``9/H``$SZ```, +M(0``)"(``)PA``#L(```("(``.0@``#8(```W"```.`@```DYP``@.<``%3G +M``!,YP``_____________________P0```#_______________\#````____ +M_P``````````_____P``````````_____P```````````P```!`````#```` +M_P```/\```#_````_P````,````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````````````!D````9``` +M`&0```!D````R````)`!``#H`P``T`<```#_```````````````$`0("```` +M!S!4>)VE````````'P#0_P``````````T/^@_P``!F0`!@8&``````#Z_?P` +M]/GY```````````"`````P````4``````-#_H/\``-#_H/\``-#_H/\``-#_ +MH/\A(2$A(2$A(2$A2$A(2$A(2$A(2%965E965E965E9Q<7%Q96!W='%Q2$A( +M2$A(2$A(2(!@@&"`8(!@@&`````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````H!`0$!`0``"`IQR;Z\```````````````````` +M```````````````````````````````````````````````````````````` +M````````_W\```````#_?P```````/]_````````_W\```````#_?P`````` +M`/]_````````_W\```````#_?P```````/]_`````````````/]__W]X'H`` +M>!Z``'@>@````````````````````/]_``````$````````````````````` +M````0``H`$``*````-#_``#0_T``*`!(`"``2``@````T/\``-#_2``@`$@` +M(`!(`"``2``0`"@`"`!(`"``2``@`$@`(`!0`!``*``(`$@`(`!(`#``2``P +M`%``$``H``@`2``P`$@`,`!(`#``2``0`"@`"`!(`#``2``@`$@`(`!(`!`` +M*``(`$@`(``````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````````````````````````````````````````````````_LJMJP`` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````!``````D`$```"@`!`G``#H`P``Z`,``&2;``#XF@``])H``%";``#\ +MY`(`3.4"`##E`@!TY`(`K.0"`$#D`@`XY0(``0`````````````````````` +M``````````````-````4``````$```````"T)H`````````````````````` +M``````!800(`"@````0```"TW8```````````````"`````````````````` +M```````````````````````````````````````````````````````````` +M````````````!`````````````````````````````Q"`@`%````!````+3= +M@```````````````````````,$,"``4```($````M-V````````````````` +M`$A$`@`%```"!````+3=@`#L48````````````````````````$````````` +M`@``````````````````````````````9T4C`04````"`@("`@("`@("`@(" +M`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(" +M`@("`@("`@("`@("`@("`@("`@("`@("`@(!`@("`@("`@$!`@("`@("`@(" +M`@("`@("`@("`@("`O\````0`@`````````````````````````````````` +M."B!```````````````````````````````````````````````````````! +M```````````````````````````````````````````````````````````` +M````````"0`````````````````````````````````````````````````` +M````````````````````````````````````````````________________ +M__________________________\````````````````````````````````- +M#0T-#@X.#@X/#P\/#Q`0$!`1$1$1$A(2$A,3$Q,4%!05%145%A86%Q<7&!@8 +M&1D:&AH;&QL<'!T='1X>'Q\@("$A(B(C(R0D)24F)BWQ^@(*$AHB*C(Z0DI26F)J=GZ&CIJBK +MK;"RM;>ZO<#"Q```#C@```YX````(@!`&)B8F)B +M8@```)P!`&=G9V=G9P```)`!`&1D9&1D9```9F9F9F9F```````````````` +M```````````````````````````````````````````````````````````` +M`,1N```%````!````+3=@`"T;@``O&X``&QO``"X;@``P&X````````````` +M```````````````````````````````````````````````````````````` +M``````````````"(+@0`!0````0```"TW8`````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````#,&P````#(&P````!`'``` +M``!,'`````!0'`````!4'`````!8'`````!<'`````!@'`````!D'`````!P +M'``````('`````!H'`````!L'`````!$'`````!('``````0'```````'``` +M``"8'@````"<'@````"D'@````"H'@````#`'@````"X'@````"\'@`````` +M'0`````@'0````!`'0````!@'0````"`'0````"@'0````#`'0````#@'0`` +M````````````````%``````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```!````````````````````@`8```#_`P!L"````/\%`/@&````_RT`U`8` +M``#_/0`H!@```/\$`$P&````_R4`H`8```#_/`"0A@(``/_=`(@'````_TP` +M5`@```#_(@`&(#`'AG`@`<;`,`>&<"`+R. +M!`!X9P(`$#H"`!A6!`"0E@(`>&<"`'AG`@!<9@0`7&8$`%QF!`!<9@0`7&8$ +M`%QF!`!<9@0`>&<"`'AG`@!X9P(`>&<"`,0K`0!X9P(`>&<"`)"6`@!X9P(` +M>&<"`(R6`@!TE@(`>&<"`'AG`@```0````$```````````````$````!```` +M`0```````````````0`````````````````````````````````````````` +M`````````````````````````0````$````````````````````'*#`Z2%!8 +M8&AP>("(D)F;H:4````````````````````````````````````````````` +M`````````````````````````````````````````````````0````(````# +M`````````/\```#_````_P```/\`````````X;ZMW@```````````````&B= +M`@`&````!````+3=@``````````````````DFP(`!0```@0```"TW8``_P`! +M`P0%!@<(`@``````````````````.*@"``4```($````M-V````````````` +M`````````````````````````````````````/\`````````&$8`````($8` +M````)$8`````@$8`````A$8`````B$8`````C$8`````D$8`````E$8````` +MF$8`````G$8`````H$8`````P$8`````Q$8`````R$8`````S$8`````T$8` +M````U$8`````V$8`````W$8`````X$8`````Y$8`````Z$8`````[$8````` +M\$8`````]$8`````^$8`````_$8`````%$8``````$<`````!$<`````"$<` +M````#$<`````0$<`````1$<`````?$<`````@$<`````A$<`````B$<````` +MD$<`````E$<`````F$<`````H$<`````I$<`````J$<`````I$8`````!$8` +M````"$8`````#$8`````$$8``````$8`````,P``````8!P`````9!P````` +M:!P`````;!P`````!P`````@!P`````B!P`````C!P` +M````D!P`````E!P`````F!P`````G!P`````H!P`````I!P`````J!P````` +MK!P`````L!P`````M!P`````N!P`````O!P`````P!P`````Q!P`````R!P` +M````S!P`````T!P`````U!P`````V!P`````W!P`````J!T`````N!T````` +MO!T`````P!T`````Q!T`````R!T`````S!T`````T!T`````U!T`````V!T` +M````W!T`````X!T`````Y!T`````Z!T`````[!T`````\!T`````]!T````` +M^!T`````_!T`````9!\`````[!\`````=!X`````1!\`````@!\`````A!\` +M````B!\`````C!\`````D!\`````E!\`````F!\`````G!\`````H!\````` +MI!\`````J!\`````K!\`````L!\`````Y!\`````\!\`````]!\`````_!\` +M````1@````````````````````````#@'`````#D'`````#H'`````#T'``` +M``#X'``````,'0`````8'0`````L'0`````P'0````"<'0````"@'0`````P +M'@`````T'@`````X'@`````\'@````!,'@````!0'@````!4'@````!8'@`` +M``!<'@````!D'@````!X'@````!\'@````"$'@````",'@````"0'@````"4 +M'@````"8'@````"<'@````"@'@````#`'@````#$'@````#0'@````#4'@`` +M````'P````#@'@`````$'P````#<'@````!T'P````!X'P````!\'P````#X +M'P`````J`````````````````````P```!\````````````````````0```` +M2TM+2TL````````````````````````````````````````````````````` +M`````````````````````````````````````````````````````0`````` +M```````````````````````````````````````````````````````````` +M````````````_P`````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````_/``````````````` +M`````P````````#_```````````````````````````````````````````` +M``#__P`````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````@````````````````````````````````````` +M````````````````````__________\```````````````"PCP``"@````0` +M``"TW8````````````#LE```F)8``#R5``!$E```R)8``%R6``"8E```^),` +M```!`````00!`0$``@$!`0,!``('`0$$!`$!!04!`@/_`@$!!@(``@>($P`` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````````````````````````/____\````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````(`````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````````````````````````````````/__ +M__\````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````````````(`````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````/____\````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````````````````````(`````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````/____\````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````````````````````````````(`````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````/____\````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`(`````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````#_```````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````)3O@``D[8``E.^``.#T@`"$\(``3.^``'#T@`!,[X``&/"` +M`)3O@`#_____`````/____\`````_____P````#_____```````````/`#\` +M`0````\`/P`!````#P`_``$````/`#\``0````\`/P`!``````````\`/P`! +M````#P`_``$````/`#\``0````\`/P`!````#P`_``$`````````#P`_``$` +M```/`#\``0````\`/P`!````#P`_``$````/`#\``0`````````/`#\``0`` +M``\`/P`!````#P`_``$````/`#\``0````\`/P`!``````````\`/P`!```` +M#P`_``$````/`#\``0````\`/P`!````#P`_``$`````````````````!``) +M``T`$0`6`!H`'@`B`"8`*P`O`#,`-P`[`#\`0P!'`$P`4`!4`%@`7`!@`&0` +M:`!L`&\``%[`7X!@0&$`8@!ZP'M`?`!\P'V`?@!^P'^`0$"`P(&`@D"#`(.`A$"%`(6`AD" +M'`(>`B$")`(F`BD"+`(N`C$"-`(V`CD".P(^`D$"0P)&`D@"2P)-`E`"4P)5 +M`E@"6@)=`E\"8@)D`F<":0)L`FX"<0)S`G8">`)[`GT"?P*"`H0"AP*)`HP" +MC@*0`I,"E0*8`IH"G`*?`J$"HP*F`J@"JP*M`J\"L@*T`K8"N0*[`KT"P`+" +M`L0"Q@+)`LL"S0+0`M("U`+6`MD"VP+=`M\"X@+D`N8"Z`+J`NT"[P+Q`O," +M]@+X`OH"_`+^`@`#JP`````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````````````````````````!B>```%```` +M!````+3=@`````````4``'(!``"H`@``!`D$"0$&"0P1`0`````````````` +M`````````````````````````%B@```*````!````+3=@``````````````` +M_P```0#_``#^`0$`_P(!`0#_`0`!_P$!`@,!`0,$`0$$!0$!!08!`@?_`0,( +M_P$!"?\!`/X'`@#_"`(!`/\"``'_`@(""0("`PH"`@0+`@(%#`(!!O\"`PC_ +M`@$)_P(`_@T#`/\.`P$`_P,``?\#`P(/`P,#_P,#!!`#`P41`P$&_P,"!_\# +M`0G_`P#^$@`````````````````````(I0``"@````0```"TW8``J*(``-2B +M``!$HP``6*,``/2B```PI5"B\*"@KE"<$)G0EZ"5<)-0D3"?((T0BQ")$(<@A3"#4(%PCY +M!]P'OP>C!X<':P=0!S4'&P0!W0'6`=`!R0'"`0`````#0``````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````````````````````````````````"X` +M*@`@```````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````-L0CDB;D`(*````````,P``````````````````````2P-+`TL#2P-+ +M`TL#2P-+`TL#2P-+`TL#2P,````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````H*"@H*"@H*"@H*"@H`"@H*"@H +M*"@H*"@H*"@`*"@H*"@H*"@H`"@H*"@H*"@H*``````````````````````` +M```H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H`"@H*"@H +M*"@H*"@H*"@H*"@H*``````````````````````````````````````````` +M`````"@H*"@8*"@H*``````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````"@H*"@H*"@H*"@H*"@H```````````````````` +M```````H*"@H*"@H*"@````````````````````````````````````````` +M```````````H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H +M`````````````````````````"@H*"@H*"@H*"@H*"@H*"@H*``````````` +M```H*"@H*"@H*"@`*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H +M*"@H*``H*"@H*"@H*"@`*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H +M*"@H*"@H*``H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````````%94```X`````````%ID```^```` +M`````&JD```^`````````%JD```^`````````%JD```^`````````%ID```^ +M`````````%I4```^`````````%JD```^`````````%ID```^``````````H@ +M```^`````````%ID```^`````````%ID```^`````````%I4```^```````` +M`%ID```#`````````%JD```#``````````H````Q```````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M,#```````````````0`````````!````/Q`````````````````````````` +M````!0`%````````````````!`@``0``!00!``$$``0%``````$``0``!P$` +M`````````P@```````0%```+```!```!````````!`0`````!```````!``` +M``$`````````````#````0`$``X```````````````0````````````````` +M```$```````````$```````````````!````!0````````````0````````` +M```````````````!```!````!``!!```````````"00```````````4````` +M!`0````````````````````````!``P&```````````````````,```!```` +M````````"@`````,``````4````````$``````````````0$!``````,```, +M!```````!```````````!`4`!0$%``````````4``0``!```!`$````````` +M```%````````````````!``````````````````!`````0`!!0``#00````` +M````!``````!``4````````````````````````````````````````````` +M````````!```!``.``4````%``````0!``0`!``````````````````````` +M```$```%```````/````!``!```"```!!````````````````````````@`` +M`````0```````0``````````!0`````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````0````````````````````````````,```` +M```I*?____\````````````````````````````````````````````````` +M```````````````>`0``+`L````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````0`````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````J%```*$@``"9X```&M```!.````(0`0``0`$`!HP` +M```8`0``&`$``!@!```8`0`J%```*$@``"9X```&M```!.````(0`0``0`$` +M!H@````8`0`*5`@`"(0```:T```$X````A`!``!``0``&`$``!@!```8`0`` +M&`$``!@!`&,`````@`0`Q@```,88!P!`0!4`8P$``,8!```*)```"%@```:X +M```$Y````A0!``!``0`&B````!@!```8`0``&`$``!@!```8`0`*)```"%@` +M``:X```$Y````A0!``!``0`&B````!@!```8`0``&`$``!@!```8`0``&`$` +M`!@!```8`0``&`$``!@!```8`0``&`$``!@!`$(`````````I0```*64`@!` +M0!4`0@```*4````*/```"&P```;````$]````B0!``!0`0`!@`$``4P!``3` +M````&`$``!@!```8`0`*/```"&P```;````$]````B0!``!0`0`!@`$``4P! +M``3`````&`$``!@!```8`0``&`$``!@!```8`0``&`$``!@!```8`0``&`$` +M`!@!``(`````````!@````88``!`0!4``@````8````:````&!@``!9(```4 +M>```$K````;@```$&`$``DP!``"``0``&`$``!@!```8`0`:````&!@``!9( +M```4>```$K````;@```$&`$``DP!``"``0`(<```!JP```38```""`$``#@! +M```8`0``&`$``!@!```8`0``&`$``!@!`(0`````````"`$```@A!`!`0!4` +MA`````@!```:"```�``!9D```4E```$L0```8(`0`$.`$``F0!``"4`0`` +M&`$``!@!```8`0`:"```�``!9D```4E```$L0```8(`0`$.`$``F0!``"4 +M`0``&`$``!@!```8`0``&`$``!@!```8`0``&`$``!@!```8`0``&`$``!@! +M`(0`````````"`$```@A!`!`0!4`A`````@!```````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``$````@`````P```.D`Z0`````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````,_O__`0```-+8 +M``#2V```+F?__RYG__\0````TM@``-+8```N9___+F?__Q````#2V```TM@` +M`"YG__\N9___$````-+8``#2V```+F?__RYG__\0````TM@``-+8```N9___ +M+F?__Q````#2V```TM@``"YG__\N9___$````-+8``#2V```+F?__RYG__\0 +M````TM@``-+8```N9___+F?__Q````#2V```TM@``"YG__\N9___$````-+8 +M``#2V```+F?__RYG__\0````TM@``-+8```N9___+F?__Q````#2V```TM@` +M`"YG__\N9___$``````````````````````````````````````````````` +M``````````":`````0``````Y`P````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````````````````````_W__?_]__W__?P`````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`!,3$Q<;'RDK,SL-$Q,3%QLC+"TS.PT4%!04'"0D+#0X#104%!0<("HL.$`- +M%!08'!PD+"XV0`T1$1$1&2$E*2TU#20D)"0L-#0\8'@`)"0L+"PP-#Y8>``> +M)B8F+BXV1EZ>`"`@("`H,#`\3*``'B(B)BHN,CA2G@`=)24E+34Y066=`!L; +M&QLC*S4_4YL`&Q\C(RLK,SY/FP`<)"0H+#0^2&2<`!45%1D=+3,Y794`%!@< +M'"0L-#I0E``;(R,C*S,_2V>;`!(2%AH>)C`Z4I(`$AH>'B(F,CMFD@`9(2$E +M*3$]16F9`!,3$Q<;'RDK,SL-$Q,3%QLC+"TS.PT4%!04'"0D+#0X#104%!0< +M("HL.$`-%!08'!PD+"XV0`T1$1$1&2$E*2TU#20D)"0L-#0\8'@`)"0L+"PP +M-#Y8>``>)B8F+BXV1EZ>`"`@("`H,#`\3*``'B(B)BHN,CA2G@`=)24E+34Y +M066=`!L;&QLC*S4_4YL`&Q\C(RLK,SY/FP`<)"0H+#0^2&2<`!45%1D=+3,Y +M794`%!@<'"0L-#I0E``;(R,C*S,_2V>;`!(2%AH>)C`Z4I(`$AH>'B(F,CMF +MD@`9(2$E*3$]16F9`"HJ*BHJ*BHJ*C(-*BHJ*BHJ*BHN,@TH*"@H*"@H*"@H +M#2HJ*BHJ*BHJ,#@-*BHJ*BHJ*BHP.`TG)R``>)B8F+BXV1EZ>`"`@("`H,#`\3*`` +M'B(B)BHN,CA2G@`=)24E+34Y066=`!L;&QLC*S4_4YL`&Q\C(RLK,SY/FP`< +M)"0H+#0^2&2<`!45%1D=+3,Y794`%!@<'"0L-#I0E``;(R,C*S,_2V>;`!(2 +M%AH>)C`Z4I(`$AH>'B(F,CMFD@`9(2$E*3$]16F9`!,3$Q<;'RDK,SL-$Q,3 +M%QLC+"TS.PT4%!04'"0D+#0X#104%!0<("HL.$`-%!08'!PD+"XV0`T1$1$1 +M&2$E*2TU#20D)"0L-#0\8'@`)"0L+"PP-#Y8>``>)B8F+BXV1EZ>`"`@("`H +M,#`\3*``'B(B)BHN,CA2G@`=)24E+34Y066=`!L;&QLC*S4_4YL`&Q\C(RLK +M,SY/FP`<)"0H+#0^2&2<`!45%1D=+3,Y794`%!@<'"0L-#I0E``;(R,C*S,_ +M2V>;`!(2%AH>)C`Z4I(`$AH>'B(F,CMFD@`9(2$E*3$]16F9`!,3$Q<;'RDK +M,SL-$Q,3%QLC+"TS.PT4%!04'"0D+#0X#104%!0<("HL.$`-%!08'!PD+"XV +M0`T1$1$1&2$E*2TU#20D)"0L-#0\8'@`)"0L+"PP-#Y8>``>)B8F+BXV1EZ> +M`"`@("`H,#`\3*``'B(B)BHN,CA2G@`=)24E+34Y066=`!L;&QLC*S4_4YL` +M&Q\C(RLK,SY/FP`<)"0H+#0^2&2<`!45%1D=+3,Y794`%!@<'"0L-#I0E``; +M(R,C*S,_2V>;`!(2%AH>)C`Z4I(`$AH>'B(F,CMFD@`9(2$E*3$]16F9`"HJ +M*BHJ*BHJ*C(-*BHJ*BHJ*BHN,@TH*"@H*"@H*"@H#2HJ*BHJ*BHJ,#@-*BHJ +M*BHJ*BHP.`TG)R``>)B8F+BXV1EZ>`"`@("`H,#`\3*``'B(B)BHN,CA2G@`=)24E +M+34Y066=`!L;&QLC*S4_4YL`&Q\C(RLK,SY/FP`<)"0H+#0^2&2<`!45%1D= +M+3,Y794`%!@<'"0L-#I0E``;(R,C*S,_2V>;`!(2%AH>)C`Z4I(`$AH>'B(F +M,CMFD@`9(2$E*3$]16F9`!`0$!`4("@H,#`-$!`0$!0@*"@P.`TH*"@H+CA" +M2$Y8`"@H*"@R/$1,4EX`*"@H*#(\1$Q48``H*"@H,#A`1E1@`"@H*"@P.$!& +M5&``$!`0$!0@*"@P,`T0$!`0%"`H*#`X#2@H*"@N.$)(3E@`*"@H*#(\1$Q2 +M7@`H*"@H,CQ$3%1@`"@H*"@P.$!&5&``*"@H*#`X0$948`#_?_]__W__?_]_ +M_W__?_]__W__?P`````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````````````````,`4``#`'X`#0"``"D`J@!`````8P`#`(@`%0"7`# +MD`NP$@`-@!3@#D`5@!`P%_`1``S`$T`.T!1@#T`6@!'0%Z`>4!E`(*`:4"*P +M'"`D\!UP&'`?$!K@()`;H"-@'6`E@"[0)V`O,"FP,3`K@#,`+>`FP"Y`*)`P +MD"IP,H`K<#0@.Y`U8#R@-T`^@#C0/X`Z`#6@.Z`V8#T0.!`_@#E@0(!&H$%` +M2$!#`$H013!+P$700'!'P$(@21!$D$IP12!,L%003E!6P$^P6!!2X%FP4S!- +MH%4`3U!7X%!@6\!U`'Y0=P!_4'EP@#![0(*@B5"$,(N@A?"-L(?PCH"(((/`BO"$D(S@ +MAG".((APD""8()(`FA"4P)O`E6"=<)?0D:"8T))`FT"5`)Q@EK"><*7@GV"G +M@*'0J$"C$*O0I""?0*:PH$"H4*+PJ2"DD*L@LS"MP+00KX"V<+$0N*"R(*SP +MLU"N8+4PL'"W(++@N(#`L+K`P3"\\,,0OC#%D+_PN0#!,+OPPE"]@,20OH#& +M4,_PQW#00,KPT<#+8--PSH#'P,\`R2#1\,JPTB#-X-/0VY#5P-W0UV#?@-D@ +MX5#;,-3`W$#74-Y0V)#@P-J@X9#IH./@ZF#E$.U`YQ#NP.B@XC#J@.00[%#F +M<.W0Y]#NT/6`\##W\/%`^I#S8/L`];#OL/80\;#XX/*@^D#TL/SP_^#]\/]0 +M__#_X/_P__#_@/WP_Y#^\/_`__#_\/_P__#_\/_P__#_\/_P__#_\/_P__#_ +M\/_P__#_\/_P__#_\/_P__#_\/_P__#_\/_P__#_\/_P__#_\/_P__#_\/_P +M__#_\/_P__#_\/_P__#_\/_P__#_\/_P__#_\/_P__#_\/_P__#_\/_P__#_ +M\/_P__#_\/_P__#_\/_P__#_\/_P__#_\/_P__#_\/_P__#_\/_P__#_\/_P +M__#_@`"``8`"@`.`!(`%@`:`!X`(@`F`"H`+@`R`#8`.@`^`$(`1@!*`$X`4 +M@!6`%H`7@!B`&8`:@!N`'(`=@!Z`'X`@@"&`(H`C@"2`)8`F@">`*(`I@"J` +M*X`L@"V`+H`O@#"`,8`R@#.`-(`U@#:`-X`X@#F`.H`[@#R`/8`^@#^`0(!! +M@$*`0X!$@$6`1H!'@$B`28!*@$N`3(!-@$Z`3X!0@%&`4H!3H+L-`&!;`P"@ +MNPT`X"("```````````!``$````!``$````!``$````!``$````!``$````! +M``$````!`````0````$````!`````0````$````!``$````!``$````!``$` +M```!``$````!``$````!``$````!`````0````$````!`````0````$````! *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sun Jun 4 21:27:51 2017 Return-Path: Delivered-To: svn-src-all@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 AFB67BEFC98; Sun, 4 Jun 2017 21:27:51 +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 60A101546; Sun, 4 Jun 2017 21:27:51 +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 v54LRoFN022793; Sun, 4 Jun 2017 21:27:50 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LRo3a022792; Sun, 4 Jun 2017 21:27:50 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042127.v54LRo3a022792@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:27:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r319587 - svnadmin/conf X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:27:51 -0000 Author: adrian Date: Sun Jun 4 21:27:50 2017 New Revision: 319587 URL: https://svnweb.freebsd.org/changeset/base/319587 Log: ... aaaaand done. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Sun Jun 4 21:27:39 2017 (r319586) +++ svnadmin/conf/sizelimit.conf Sun Jun 4 21:27:50 2017 (r319587) @@ -27,4 +27,3 @@ np obrien peter rwatson -adrian From owner-svn-src-all@freebsd.org Sun Jun 4 21:28:04 2017 Return-Path: Delivered-To: svn-src-all@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 C3237BEFCF5; Sun, 4 Jun 2017 21:28:04 +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 9255F1679; Sun, 4 Jun 2017 21:28:04 +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 v54LS3O5022850; Sun, 4 Jun 2017 21:28:03 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LS3EZ022848; Sun, 4 Jun 2017 21:28:03 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042128.v54LS3EZ022848@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:28:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319588 - in head/sys/modules/iwmfw: iwm7265Dfw iwm8000Cfw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:28:04 -0000 Author: adrian Date: Sun Jun 4 21:28:03 2017 New Revision: 319588 URL: https://svnweb.freebsd.org/changeset/base/319588 Log: [iwmfw] bump built firmware now to version 22 for 7265D and 8000C. Modified: head/sys/modules/iwmfw/iwm7265Dfw/Makefile head/sys/modules/iwmfw/iwm8000Cfw/Makefile Modified: head/sys/modules/iwmfw/iwm7265Dfw/Makefile ============================================================================== --- head/sys/modules/iwmfw/iwm7265Dfw/Makefile Sun Jun 4 21:27:50 2017 (r319587) +++ head/sys/modules/iwmfw/iwm7265Dfw/Makefile Sun Jun 4 21:28:03 2017 (r319588) @@ -1,6 +1,6 @@ # $FreeBSD$ KMOD= iwm7265Dfw -IMG= iwm-7265D-17 +IMG= iwm-7265D-22 .include Modified: head/sys/modules/iwmfw/iwm8000Cfw/Makefile ============================================================================== --- head/sys/modules/iwmfw/iwm8000Cfw/Makefile Sun Jun 4 21:27:50 2017 (r319587) +++ head/sys/modules/iwmfw/iwm8000Cfw/Makefile Sun Jun 4 21:28:03 2017 (r319588) @@ -1,6 +1,6 @@ # $FreeBSD$ KMOD= iwm8000Cfw -IMG= iwm-8000C-16 +IMG= iwm-8000C-22 .include From owner-svn-src-all@freebsd.org Sun Jun 4 21:28:53 2017 Return-Path: Delivered-To: svn-src-all@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 9B61ABEFD93; Sun, 4 Jun 2017 21:28:53 +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 7506218EE; Sun, 4 Jun 2017 21:28:53 +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 v54LSqb3022917; Sun, 4 Jun 2017 21:28:52 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LSq2c022915; Sun, 4 Jun 2017 21:28:52 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706042128.v54LSq2c022915@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 4 Jun 2017 21:28:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319589 - head/sys/dev/iwm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:28:53 -0000 Author: adrian Date: Sun Jun 4 21:28:52 2017 New Revision: 319589 URL: https://svnweb.freebsd.org/changeset/base/319589 Log: [iwm] Remove support for fw older than -17 and -22 * iwm(4) didn't use any of these definitions yet, anyway. Obtained from: dragonflybsd.git f95003b8f1f7382c8396a6d408e3072632afdd3d Modified: head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwmreg.h Modified: head/sys/dev/iwm/if_iwm.c ============================================================================== --- head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:28:03 2017 (r319588) +++ head/sys/dev/iwm/if_iwm.c Sun Jun 4 21:28:52 2017 (r319589) @@ -3451,8 +3451,7 @@ iwm_update_sched(struct iwm_softc *sc, int qid, int id scd_bc_tbl = sc->sched_dma.vaddr; len += 8; /* magic numbers came naturally from paris */ - if (sc->sc_capaflags & IWM_UCODE_TLV_FLAGS_DW_BC_TABLE) - len = roundup(len, 4) / 4; + len = roundup(len, 4) / 4; w_val = htole16(sta_id << 12 | len); Modified: head/sys/dev/iwm/if_iwmreg.h ============================================================================== --- head/sys/dev/iwm/if_iwmreg.h Sun Jun 4 21:28:03 2017 (r319588) +++ head/sys/dev/iwm/if_iwmreg.h Sun Jun 4 21:28:52 2017 (r319589) @@ -594,8 +594,6 @@ enum iwm_dtd_diode_reg { * @IWM_UCODE_TLV_FLAGS_NEWSCAN: new uCode scan behaviour on hidden SSID, * treats good CRC threshold as a boolean * @IWM_UCODE_TLV_FLAGS_MFP: This uCode image supports MFP (802.11w). - * @IWM_UCODE_TLV_FLAGS_P2P: This uCode image supports P2P. - * @IWM_UCODE_TLV_FLAGS_DW_BC_TABLE: The SCD byte count table is in DWORDS * @IWM_UCODE_TLV_FLAGS_UAPSD: This uCode image supports uAPSD * @IWM_UCODE_TLV_FLAGS_SHORT_BL: 16 entries of black list instead of 64 in scan * offload profile config command. @@ -605,35 +603,24 @@ enum iwm_dtd_diode_reg { * from the probe request template. * @IWM_UCODE_TLV_FLAGS_NEW_NSOFFL_SMALL: new NS offload (small version) * @IWM_UCODE_TLV_FLAGS_NEW_NSOFFL_LARGE: new NS offload (large version) - * @IWM_UCODE_TLV_FLAGS_P2P_PS: P2P client power save is supported (only on a - * single bound interface). * @IWM_UCODE_TLV_FLAGS_UAPSD_SUPPORT: General support for uAPSD * @IWM_UCODE_TLV_FLAGS_EBS_SUPPORT: this uCode image supports EBS. * @IWM_UCODE_TLV_FLAGS_P2P_PS_UAPSD: P2P client supports uAPSD power save * @IWM_UCODE_TLV_FLAGS_BCAST_FILTERING: uCode supports broadcast filtering. - * @IWM_UCODE_TLV_FLAGS_GO_UAPSD: AP/GO interfaces support uAPSD clients - * */ enum iwm_ucode_tlv_flag { IWM_UCODE_TLV_FLAGS_PAN = (1 << 0), IWM_UCODE_TLV_FLAGS_NEWSCAN = (1 << 1), IWM_UCODE_TLV_FLAGS_MFP = (1 << 2), - IWM_UCODE_TLV_FLAGS_P2P = (1 << 3), - IWM_UCODE_TLV_FLAGS_DW_BC_TABLE = (1 << 4), IWM_UCODE_TLV_FLAGS_SHORT_BL = (1 << 7), IWM_UCODE_TLV_FLAGS_D3_6_IPV6_ADDRS = (1 << 10), IWM_UCODE_TLV_FLAGS_NO_BASIC_SSID = (1 << 12), IWM_UCODE_TLV_FLAGS_NEW_NSOFFL_SMALL = (1 << 15), IWM_UCODE_TLV_FLAGS_NEW_NSOFFL_LARGE = (1 << 16), - IWM_UCODE_TLV_FLAGS_P2P_PS = (1 << 21), - IWM_UCODE_TLV_FLAGS_BSS_P2P_PS_DCM = (1 << 22), - IWM_UCODE_TLV_FLAGS_BSS_P2P_PS_SCM = (1 << 23), IWM_UCODE_TLV_FLAGS_UAPSD_SUPPORT = (1 << 24), IWM_UCODE_TLV_FLAGS_EBS_SUPPORT = (1 << 25), IWM_UCODE_TLV_FLAGS_P2P_PS_UAPSD = (1 << 26), IWM_UCODE_TLV_FLAGS_BCAST_FILTERING = (1 << 29), - IWM_UCODE_TLV_FLAGS_GO_UAPSD = (1 << 30), - IWM_UCODE_TLV_FLAGS_LTE_COEX = (1 << 31), }; #define IWM_UCODE_TLV_FLAG_BITS \ @@ -647,22 +634,14 @@ P2P_PS_SCM\31UAPSD_SUPPORT\32EBS\33P2P_PS_UAPSD\36BCAS * @IWM_UCODE_TLV_API_FRAGMENTED_SCAN: This ucode supports active dwell time * longer than the passive one, which is essential for fragmented scan. * @IWM_UCODE_TLV_API_WIFI_MCC_UPDATE: ucode supports MCC updates with source. - * @IWM_UCODE_TLV_API_WIDE_CMD_HDR: ucode supports wide command header * @IWM_UCODE_TLV_API_LQ_SS_PARAMS: Configure STBC/BFER via LQ CMD ss_params - * @IWM_UCODE_TLV_API_EXT_SCAN_PRIORITY: scan APIs use 8-level priority - * instead of 3. - * @IWM_UCODE_TLV_API_TX_POWER_CHAIN: TX power API has larger command size - * (command version 3) that supports per-chain limits * * @IWM_NUM_UCODE_TLV_API: number of bits used */ enum iwm_ucode_tlv_api { IWM_UCODE_TLV_API_FRAGMENTED_SCAN = 8, IWM_UCODE_TLV_API_WIFI_MCC_UPDATE = 9, - IWM_UCODE_TLV_API_WIDE_CMD_HDR = 14, IWM_UCODE_TLV_API_LQ_SS_PARAMS = 18, - IWM_UCODE_TLV_API_EXT_SCAN_PRIORITY = 24, - IWM_UCODE_TLV_API_TX_POWER_CHAIN = 27, IWM_NUM_UCODE_TLV_API = 32 }; @@ -4144,7 +4123,6 @@ struct iwm_lq_cmd { * @IWM_TX_CMD_FLG_MH_PAD: driver inserted 2 byte padding after MAC header. * Should be set for 26/30 length MAC headers * @IWM_TX_CMD_FLG_RESP_TO_DRV: zero this if the response should go only to FW - * @IWM_TX_CMD_FLG_CCMP_AGG: this frame uses CCMP for aggregation acceleration * @IWM_TX_CMD_FLG_TKIP_MIC_DONE: FW already performed TKIP MIC calculation * @IWM_TX_CMD_FLG_DUR: disable duration overwriting used in PS-Poll Assoc-id * @IWM_TX_CMD_FLG_FW_DROP: FW should mark frame to be dropped @@ -4172,7 +4150,6 @@ enum iwm_tx_flags { IWM_TX_CMD_FLG_AGG_START = (1 << 19), IWM_TX_CMD_FLG_MH_PAD = (1 << 20), IWM_TX_CMD_FLG_RESP_TO_DRV = (1 << 21), - IWM_TX_CMD_FLG_CCMP_AGG = (1 << 22), IWM_TX_CMD_FLG_TKIP_MIC_DONE = (1 << 23), IWM_TX_CMD_FLG_DUR = (1 << 25), IWM_TX_CMD_FLG_FW_DROP = (1 << 26), From owner-svn-src-all@freebsd.org Sun Jun 4 21:39:39 2017 Return-Path: Delivered-To: svn-src-all@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 23A00BF0051; Sun, 4 Jun 2017 21:39:39 +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 E1B7D1E71; Sun, 4 Jun 2017 21:39:38 +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 v54LdcQF027239; Sun, 4 Jun 2017 21:39:38 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54LdcxW027238; Sun, 4 Jun 2017 21:39:38 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201706042139.v54LdcxW027238@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 4 Jun 2017 21:39:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319590 - head/tests/sys/aio X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:39:39 -0000 Author: jilles Date: Sun Jun 4 21:39:37 2017 New Revision: 319590 URL: https://svnweb.freebsd.org/changeset/base/319590 Log: tests/sys/aio: Add missing mode to open() calls with O_CREAT. Modified: head/tests/sys/aio/aio_test.c Modified: head/tests/sys/aio/aio_test.c ============================================================================== --- head/tests/sys/aio/aio_test.c Sun Jun 4 21:28:52 2017 (r319589) +++ head/tests/sys/aio/aio_test.c Sun Jun 4 21:39:37 2017 (r319590) @@ -385,7 +385,7 @@ aio_file_test(completion comp) ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); - fd = open(FILE_PATHNAME, O_RDWR | O_CREAT); + fd = open(FILE_PATHNAME, O_RDWR | O_CREAT, 0600); ATF_REQUIRE_MSG(fd != -1, "open failed: %s", strerror(errno)); arg.afa_fd = fd; @@ -834,7 +834,7 @@ ATF_TC_BODY(aio_large_read_test, tc) len = INT_MAX; #endif - fd = open(FILE_PATHNAME, O_RDWR | O_CREAT); + fd = open(FILE_PATHNAME, O_RDWR | O_CREAT, 0600); ATF_REQUIRE_MSG(fd != -1, "open failed: %s", strerror(errno)); unlink(FILE_PATHNAME); @@ -1088,7 +1088,7 @@ ATF_TC_BODY(aio_fsync_test, tc) ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); - fd = open(FILE_PATHNAME, O_RDWR | O_CREAT); + fd = open(FILE_PATHNAME, O_RDWR | O_CREAT, 0600); ATF_REQUIRE_MSG(fd != -1, "open failed: %s", strerror(errno)); unlink(FILE_PATHNAME); From owner-svn-src-all@freebsd.org Sun Jun 4 21:58:03 2017 Return-Path: Delivered-To: svn-src-all@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 D6991BF09EC; Sun, 4 Jun 2017 21:58:03 +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 446B42B39; Sun, 4 Jun 2017 21:58:03 +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 v54Lw2oG035642; Sun, 4 Jun 2017 21:58:02 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v54Lw2Yh035641; Sun, 4 Jun 2017 21:58:02 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201706042158.v54Lw2Yh035641@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 4 Jun 2017 21:58:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319591 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 21:58:03 -0000 Author: jilles Date: Sun Jun 4 21:58:02 2017 New Revision: 319591 URL: https://svnweb.freebsd.org/changeset/base/319591 Log: sh: Make sure to process SIGINT if SETINTON re-enables processing. If INTON re-enables interrupts, it processes any interrupt that occurred while interrupts were disabled. Make SETINTON do the same. Modified: head/bin/sh/error.h Modified: head/bin/sh/error.h ============================================================================== --- head/bin/sh/error.h Sun Jun 4 21:39:37 2017 (r319590) +++ head/bin/sh/error.h Sun Jun 4 21:58:02 2017 (r319591) @@ -73,7 +73,7 @@ extern volatile sig_atomic_t intpending; #define INTOFF suppressint++ #define INTON { if (--suppressint == 0 && intpending) onint(); } #define is_int_on() suppressint -#define SETINTON(s) suppressint = (s) +#define SETINTON(s) do { suppressint = (s); if (suppressint == 0 && intpending) onint(); } while (0) #define FORCEINTON {suppressint = 0; if (intpending) onint();} #define SET_PENDING_INT intpending = 1 #define CLEAR_PENDING_INT intpending = 0 From owner-svn-src-all@freebsd.org Sun Jun 4 23:28:07 2017 Return-Path: Delivered-To: svn-src-all@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 427CABF26BE; Sun, 4 Jun 2017 23:28:07 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-it0-x22b.google.com (mail-it0-x22b.google.com [IPv6:2607:f8b0:4001:c0b::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 19702652F1; Sun, 4 Jun 2017 23:28:07 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-it0-x22b.google.com with SMTP id m62so47405729itc.0; Sun, 04 Jun 2017 16:28:07 -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=d4vkY4sWqUF5aZZs0sFFBD1gspWHcRxynLIzdzNaz5s=; b=donIDBFcBxVU5tvG+MT5WkvbzhEka4EKvHhcbSqWHKfMJ78WuvVJ5VG3VBpbZga3ov 2mUXi4lbPu2Z4oihl/yRonj/dbGBlan2/pByh4WE42pgHWzi4NhXodyxwu+Cm8z1a/7G 3KPX7BRw44fu5YDfidImcTZP8OwtztJ4DnsJiU1ZfFPda7zjGzKOOHCFta3JGMfCF+X5 UzpucdH/N9xwrocX6AsvlqEai1UfS7BhvQoqSpZkAhrQdoi7ronjWVYI5KWu6OmXjRr4 nIGdZ2GBOBU7SFYjejw7D3SX9iE+s1BcKdeCPCjR8JPFznDWlrWuW9wpna/dYAdasN0z 9Z7A== 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=d4vkY4sWqUF5aZZs0sFFBD1gspWHcRxynLIzdzNaz5s=; b=k7BThYw+lbsAn/2uC6iGirCLn2nNsf3ozSQm12u54HNq9L/Gd13b/8otI63PZV0tWd 9naCUfAqk2a+NAYITT8+w7gVJkphrsk9YBBeOkwW1Hzdq5jLYuEt2VI1UyWmmhj9kZjm rJd/Xkj6NzPtvPNhCE8CLiW+hjvj/DbD7TEnImDN9alS8dGoG+1JdS+H7aRXHDAb0+Vc cvW+dvnLcMxmgrsGHkXX0cOQaBJpZqptidV8YP25jTpfUJRGEkMQqq6U2ZAn8PexJ6Jm PioVIcHdelJB9f0lVJbuvSLmq4pyYUZZp1VRX5k0ZCEJ5cDxV8n6gk5zwqAw9HbpHGdq Es5Q== X-Gm-Message-State: AODbwcCelXgTj300vGnvCSs2GF/+04Kvc9L2Z5I3Ib9hY/BL8+1rxFSl fYP9aT5ba/7CVclZy40FkiellpP0NFlP X-Received: by 10.107.170.99 with SMTP id t96mr11884818ioe.113.1496618886381; Sun, 04 Jun 2017 16:28:06 -0700 (PDT) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.169.201 with HTTP; Sun, 4 Jun 2017 16:27:45 -0700 (PDT) In-Reply-To: <543a4144-4f08-8742-5455-0103569d9f4f@FreeBSD.org> References: <201706021839.v52IdrZJ074478@repo.freebsd.org> <20170603161546.D939@besplex.bde.org> <543a4144-4f08-8742-5455-0103569d9f4f@FreeBSD.org> From: Ed Maste Date: Sun, 4 Jun 2017 19:27:45 -0400 X-Google-Sender-Auth: 8413oTSfhLqwow3J_qQqrdt2_LU Message-ID: Subject: Re: svn commit: r319507 - head/sys/fs/msdosfs To: Bryan Drewery Cc: Bruce Evans , "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-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 23:28:07 -0000 On 4 June 2017 at 14:06, Bryan Drewery wrote: > > In r189170. It seems to me we should change systm.h back to a macro > #define memmove(dst, src, len) bcopy((src), (dst), (len)) Note that they're not quite equivalent: memmove returns dst, while bcopy has no return value. From owner-svn-src-all@freebsd.org Sun Jun 4 23:47:32 2017 Return-Path: Delivered-To: svn-src-all@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 B8A9EBF296D; Sun, 4 Jun 2017 23:47:32 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 83F3A6593F; Sun, 4 Jun 2017 23:47:32 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (unknown [127.0.1.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id BEAA71939C; Sun, 4 Jun 2017 23:47:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id C8C04790A; Sun, 4 Jun 2017 23:47:30 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id FyKJ6JB2SNul; Sun, 4 Jun 2017 23:47:26 +0000 (UTC) Subject: Re: svn commit: r319507 - head/sys/fs/msdosfs DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 568AC7905 To: Ed Maste References: <201706021839.v52IdrZJ074478@repo.freebsd.org> <20170603161546.D939@besplex.bde.org> <543a4144-4f08-8742-5455-0103569d9f4f@FreeBSD.org> Cc: Bruce Evans , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" From: Bryan Drewery Organization: FreeBSD Message-ID: <721fdeb3-b9d6-b8f4-9025-a5ae7bfd295f@FreeBSD.org> Date: Sun, 4 Jun 2017 16:47:24 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="62JFGPNpKQd3c3D4qgRjPnW5AVMoO3Mk2" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jun 2017 23:47:32 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --62JFGPNpKQd3c3D4qgRjPnW5AVMoO3Mk2 Content-Type: multipart/mixed; boundary="1UMCgSx2OS3esbTr8SQ4GT6aI4UTSi6x3"; protected-headers="v1" From: Bryan Drewery To: Ed Maste Cc: Bruce Evans , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Message-ID: <721fdeb3-b9d6-b8f4-9025-a5ae7bfd295f@FreeBSD.org> Subject: Re: svn commit: r319507 - head/sys/fs/msdosfs References: <201706021839.v52IdrZJ074478@repo.freebsd.org> <20170603161546.D939@besplex.bde.org> <543a4144-4f08-8742-5455-0103569d9f4f@FreeBSD.org> In-Reply-To: --1UMCgSx2OS3esbTr8SQ4GT6aI4UTSi6x3 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 6/4/17 4:27 PM, Ed Maste wrote: > On 4 June 2017 at 14:06, Bryan Drewery wrote: >> >> In r189170. It seems to me we should change systm.h back to a macro >> #define memmove(dst, src, len) bcopy((src), (dst), (len)) >=20 > Note that they're not quite equivalent: memmove returns dst, while > bcopy has no return value. >=20 #define memmove(dst, src, len) (bcopy((src), (dst), (len)), dst) Obscure comma operator, or we just add an inline memmove in systm.h too. --=20 Regards, Bryan Drewery --1UMCgSx2OS3esbTr8SQ4GT6aI4UTSi6x3-- --62JFGPNpKQd3c3D4qgRjPnW5AVMoO3Mk2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJZNJwNAAoJEDXXcbtuRpfPv7sH/3Iq4Fa5ov9NOQrZ6LbWEt4E cDdnl0CnS1qvkIwnuT4W+0Qiw+jd27E8N85oPMX4tPNnJTqC/d0IBFOcXKbFCNLg OQ/BMeCELonEs2MnK7enKI4QAiaVYQrhJu+cVyLrhuu/jkdodCWmoIf8K/jpNwoU 40CxNplBjaFk5twlI8jYYe1mxkqtVvvtcZ+D8jUBPmjMOThRP+G2U8jBBdtKsBBL r06mlGQin8+lquAlASxH7JpRWkxeUvjrjGVhaQmTYqPltTlxr025O+OinFt2JgeS wPVlXWXGCgX+L4sicd1ooLtRBJ5gxLjXxLapJilelZHWARLiQO3uatzUGn/BGtQ= =3JMT -----END PGP SIGNATURE----- --62JFGPNpKQd3c3D4qgRjPnW5AVMoO3Mk2-- From owner-svn-src-all@freebsd.org Mon Jun 5 05:08:22 2017 Return-Path: Delivered-To: svn-src-all@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 1EF45BF6EB6; Mon, 5 Jun 2017 05:08:22 +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 EF67370FBE; Mon, 5 Jun 2017 05:08:21 +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 1F16B10AFA6; Mon, 5 Jun 2017 01:08:21 -0400 (EDT) From: John Baldwin To: "Ngie Cooper (yaneurabeya)" Cc: Baptiste Daroussin , rgrimes@freebsd.org, Ngie Cooper , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r318441 - in head/etc: . cron.d Date: Sun, 04 Jun 2017 16:05:08 -0700 Message-ID: <4569582.oWoS6TS87T@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.0-STABLE; KDE/4.14.10; amd64; ; ) In-Reply-To: <16687E47-B9A1-4386-BFCD-FB9E1F5C3D90@gmail.com> References: <201705180625.v4I6Pd9j062495@repo.freebsd.org> <1833775.llHFF7vaD6@ralph.baldwin.cx> <16687E47-B9A1-4386-BFCD-FB9E1F5C3D90@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Mon, 05 Jun 2017 01:08:21 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 05:08:22 -0000 On Saturday, June 03, 2017 01:49:34 PM Ngie Cooper wrote: >=20 > > On Jun 3, 2017, at 12:05, John Baldwin wrote: >=20 > =E2=80=A6 >=20 > > Ping? bapt@ agreed with this, but I haven't seen any other feedbac= k? If others > > agree then we should either revert back to a single foo.conf or we = should fully > > split newsyslog.conf and syslogd.conf out to individual files. >=20 > Please, no. The single monolithic foo.conf idea may have made sense b= ack in the day, but with the various knobs that are available for build= ing the system, for ease-of-use/intuitiveness the feature makes sense. > I planned on introducing more of these files for other areas of the s= ystem that aren=E2=80=99t currently being handled=E2=80=94 like bsnmpd=E2= =80=99s logging, etc. I think the modularization makes sense. To be clear, I listed two options, and you have only implemented a thir= d (which is to mix the two styles). I think mixing the two styles is the= absolute worst thing to do. If we are going to split a given foo.conf up we should split it up fully so that the out-of-box configuration for= a given daemon is consistent. --=20 John Baldwin From owner-svn-src-all@freebsd.org Mon Jun 5 05:17:37 2017 Return-Path: Delivered-To: svn-src-all@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 65CF2BF7144; Mon, 5 Jun 2017 05:17:37 +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 2960A713E6; Mon, 5 Jun 2017 05:17:37 +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 v555HaJi014302; Mon, 5 Jun 2017 05:17:36 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v555HabF014301; Mon, 5 Jun 2017 05:17:36 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201706050517.v555HabF014301@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 5 Jun 2017 05:17:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319592 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 05:17:37 -0000 Author: bdrewery Date: Mon Jun 5 05:17:36 2017 New Revision: 319592 URL: https://svnweb.freebsd.org/changeset/base/319592 Log: META_MODE: Allow not ignoring host headers with NO_META_IGNORE_HOST_HEADERS. See r301467 for more details on NO_META_IGNORE_HOST. Usually the full list of host ignores should have no real impact on the host tools. The headers however may reliably define what the ABI is for the host. It may be useful to allow using the headers for the build but still not caring about things like /bin/sh, /lib/libedit.so, etc. Sponsored by: Dell EMC Isilon Modified: head/share/mk/sys.mk Modified: head/share/mk/sys.mk ============================================================================== --- head/share/mk/sys.mk Sun Jun 4 21:58:02 2017 (r319591) +++ head/share/mk/sys.mk Mon Jun 5 05:17:36 2017 (r319592) @@ -70,7 +70,8 @@ META_MODE+= missing-filemon=yes META_MODE?= normal .export META_MODE .MAKE.MODE?= ${META_MODE} -.if !empty(.MAKE.MODE:Mmeta) && !defined(NO_META_IGNORE_HOST) +.if !empty(.MAKE.MODE:Mmeta) +.if !defined(NO_META_IGNORE_HOST) # Ignore host file changes that will otherwise cause # buildworld -> installworld -> buildworld to rebuild everything. # Since the build is self-reliant and bootstraps everything it needs, @@ -85,17 +86,20 @@ META_MODE?= normal /rescue \ /sbin \ /usr/bin \ - /usr/include \ /usr/lib \ /usr/sbin \ /usr/share \ +.else +NO_META_IGNORE_HOST_HEADERS= 1 .endif -.if !empty(.MAKE.MODE:Mmeta) +.if !defined(NO_META_IGNORE_HOST_HEADERS) +.MAKE.META.IGNORE_PATHS+= /usr/include +.endif # We do not want everything out-of-date just because # some unrelated shared lib updated this. .MAKE.META.IGNORE_PATHS+= /usr/local/etc/libmap.d -.endif +.endif # !empty(.MAKE.MODE:Mmeta) .if ${MK_AUTO_OBJ} == "yes" # This needs to be done early - before .PATH is computed From owner-svn-src-all@freebsd.org Mon Jun 5 05:17:40 2017 Return-Path: Delivered-To: svn-src-all@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 95ECFBF714B; Mon, 5 Jun 2017 05:17:40 +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 6FF7F713E7; Mon, 5 Jun 2017 05:17:40 +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 v555HdD2014352; Mon, 5 Jun 2017 05:17:39 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v555HdoQ014350; Mon, 5 Jun 2017 05:17:39 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201706050517.v555HdoQ014350@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 5 Jun 2017 05:17:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319593 - in head: . share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 05:17:40 -0000 Author: bdrewery Date: Mon Jun 5 05:17:39 2017 New Revision: 319593 URL: https://svnweb.freebsd.org/changeset/base/319593 Log: META_MODE: Add framework to force rebuilding for major ABI changes. Normally META_MODE ignores host files for "meta mode" decisions on whether a file should be rebuilt or not. This is because a simple installworld can update timestamps and cause the next build to rebuild all host tools, when the previous ones may not have any changes in the source tree. These tools are normally still ABI compatible. They are only rebuilt if NO_META_IGNORE_HOST is set from the workaround/hack in r301467. One of the major problems with this is when a host tool has objects spread across many revisions that have mixed-ABI. For example, if struct stat were to change on the host, some objects for a tool may have different ideas of that struct's definition. If just 1 source file were modified and rebuilt and linked into the tool, then that toll will have mixed-ABI objects and crash. This exact thing happened with the ino64 commit in r301467 followed by a trivial update to libbfd in r318750. The resulting binary would crash in buildworld. Sponsored by: Dell EMC Isilon Modified: head/Makefile head/Makefile.inc1 head/share/mk/sys.mk Modified: head/Makefile ============================================================================== --- head/Makefile Mon Jun 5 05:17:36 2017 (r319592) +++ head/Makefile Mon Jun 5 05:17:39 2017 (r319593) @@ -127,7 +127,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel bu installworld kernel-toolchain libraries lint maninstall \ obj objlink rerelease showconfig tags toolchain update \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ - _build-tools _compiler-metadata _cross-tools _includes _libraries \ + _build-tools _build-metadata _cross-tools _includes _libraries \ build32 distribute32 install32 buildsoft distributesoft installsoft \ builddtb xdev xdev-build xdev-install \ xdev-links native-xtools stageworld stagekernel stage-packages \ Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Mon Jun 5 05:17:36 2017 (r319592) +++ head/Makefile.inc1 Mon Jun 5 05:17:39 2017 (r319593) @@ -643,6 +643,49 @@ LIBCOMPAT= SOFT .include "Makefile.libcompat" .endif +# META_MODE normally ignores host file changes since every build updates +# timestamps (see NO_META_IGNORE_HOST in sys.mk). There are known times +# when the ABI breaks though that we want to force rebuilding WORLDTMP +# to get updated host tools. +.if ${MK_META_MODE} == "yes" && defined(NO_CLEAN) && \ + !defined(NO_META_IGNORE_HOST) && !defined(NO_META_IGNORE_HOST_HEADERS) + +.if !defined(OBJDIR_HOST_OSRELDATE) +.if exists(${OBJTREE}${.CURDIR}/host-osreldate.h) +OBJDIR_HOST_OSRELDATE!= \ + awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ + ${OBJTREE}${.CURDIR}/host-osreldate.h +.else +OBJDIR_HOST_OSRELDATE= 0 +.endif +.export OBJDIR_HOST_OSRELDATE +.endif + +# Note that this logic is the opposite of normal BOOTSTRAP handling. We want +# to compare the WORLDTMP's OSRELDATE to the host's OSRELDATE. If the WORLDTMP +# is older than the ABI-breakage OSRELDATE of the HOST then we rebuild. +.for _ver in ${META_MODE_BAD_ABI_VERS} +.if ${OSRELDATE} >= ${_ver} && ${OBJDIR_HOST_OSRELDATE} < ${_ver} +_meta_mode_need_rebuild= ${_ver} +.endif +.endfor +.if defined(_meta_mode_need_rebuild) +.info META_MODE: Rebuilding host tools due to ABI breakage in __FreeBSD_version ${_meta_mode_need_rebuild}. +NO_META_IGNORE_HOST_HEADERS= 1 +.export NO_META_IGNORE_HOST_HEADERS +.endif +.endif +# This is only used for META_MODE+filemon to track what the oldest +# __FreeBSD_version is in WORLDTMP. This purposely does NOT have +# a make dependency on /usr/include/osreldate.h as the file should +# only be copied when it is missing or meta mode determines it has changed. +# Since host files are normally ignored without NO_META_IGNORE_HOST +# the file will never be updated unless that flag is specified. This +# allows tracking the oldest osreldate to force rebuilds via +# META_MODE_BADABI_REVS above. +host-osreldate.h: # DO NOT ADD /usr/include/osreldate.h here + @cp -f /usr/include/osreldate.h ${.TARGET} + WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} IMAKEENV= ${CROSSENV} @@ -820,12 +863,13 @@ _cross-tools: @rm -f ${.OBJDIR}/compiler-metadata.mk ${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools ${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools -_compiler-metadata: +_build-metadata: @echo @echo "--------------------------------------------------------------" - @echo ">>> stage 3.1: recording compiler metadata" + @echo ">>> stage 3.1: recording build metadata" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${WMAKE} compiler-metadata.mk + ${_+_}cd ${.CURDIR}; ${WMAKE} host-osreldate.h _includes: @echo @echo "--------------------------------------------------------------" @@ -864,7 +908,7 @@ WMAKE_TGTS+= _cleanobj WMAKE_TGTS+= _obj .endif WMAKE_TGTS+= _build-tools _cross-tools -WMAKE_TGTS+= _compiler-metadata +WMAKE_TGTS+= _build-metadata WMAKE_TGTS+= _includes .endif .if !defined(NO_LIBS) Modified: head/share/mk/sys.mk ============================================================================== --- head/share/mk/sys.mk Mon Jun 5 05:17:36 2017 (r319592) +++ head/share/mk/sys.mk Mon Jun 5 05:17:39 2017 (r319593) @@ -78,6 +78,7 @@ META_MODE?= normal # this should not be a real problem for incremental builds. # XXX: This relies on the existing host tools retaining ABI compatibility # through upgrades since they won't be rebuilt on header/library changes. +# This is mitigated by Makefile.inc1 for known-ABI-breaking revisions. # Note that these are prefix matching, so /lib matches /libexec. .MAKE.META.IGNORE_PATHS+= \ ${__MAKE_SHELL} \ From owner-svn-src-all@freebsd.org Mon Jun 5 05:17:43 2017 Return-Path: Delivered-To: svn-src-all@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 CB055BF716E; Mon, 5 Jun 2017 05:17:43 +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 9818A71403; Mon, 5 Jun 2017 05:17:43 +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 v555Hgsd014397; Mon, 5 Jun 2017 05:17:42 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v555Hgu2014396; Mon, 5 Jun 2017 05:17:42 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201706050517.v555Hgu2014396@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 5 Jun 2017 05:17:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319594 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 05:17:43 -0000 Author: bdrewery Date: Mon Jun 5 05:17:42 2017 New Revision: 319594 URL: https://svnweb.freebsd.org/changeset/base/319594 Log: META_MODE: Force a host tool rebuild for ino64 in r318736. Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Mon Jun 5 05:17:39 2017 (r319593) +++ head/Makefile.inc1 Mon Jun 5 05:17:42 2017 (r319594) @@ -649,6 +649,8 @@ LIBCOMPAT= SOFT # to get updated host tools. .if ${MK_META_MODE} == "yes" && defined(NO_CLEAN) && \ !defined(NO_META_IGNORE_HOST) && !defined(NO_META_IGNORE_HOST_HEADERS) +# r318736 - ino64 major ABI breakage +META_MODE_BAD_ABI_VERS+= 1200031 .if !defined(OBJDIR_HOST_OSRELDATE) .if exists(${OBJTREE}${.CURDIR}/host-osreldate.h) From owner-svn-src-all@freebsd.org Mon Jun 5 05:19:02 2017 Return-Path: Delivered-To: svn-src-all@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 F0C3CBF7290; Mon, 5 Jun 2017 05:19:02 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B9FA2717AF; Mon, 5 Jun 2017 05:19:02 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (unknown [127.0.1.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id CDA7C1BD30; Mon, 5 Jun 2017 05:19:01 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id A1AEC10BB; Mon, 5 Jun 2017 05:19:00 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id gZDvgwqOr82d; Mon, 5 Jun 2017 05:18:55 +0000 (UTC) Subject: Re: svn commit: r318750 - in head/contrib: binutils/bfd binutils/ld binutils/ld/emulparams gcc gcc/config/s390 DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com E8E9810B6 To: "O. Hartmann" , Pedro Giffuni References: <201705231638.v4NGcAq1005935@repo.freebsd.org> <20170523191129.57183b1c@thor.intern.walstatt.dynvpn.de> <5d1d0149-7994-a870-0f6d-1499a9efba75@FreeBSD.org> <20170523210039.555a2f41@thor.intern.walstatt.dynvpn.de> <768df353-3e43-1da7-4a94-0acc1c741ad4@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, Navdeep Parhar From: Bryan Drewery Organization: FreeBSD Message-ID: <7b9764ae-b00d-c387-12b7-a8b12808295a@FreeBSD.org> Date: Sun, 4 Jun 2017 22:18:37 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="GWeq3P6s4tjTdmeLxvqSnR2hj3mVaJ7O2" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 05:19:03 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --GWeq3P6s4tjTdmeLxvqSnR2hj3mVaJ7O2 Content-Type: multipart/mixed; boundary="JU8F9oGabpJfLGPcmmOMLWhScVenEbGcM"; protected-headers="v1" From: Bryan Drewery To: "O. Hartmann" , Pedro Giffuni Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, Navdeep Parhar Message-ID: <7b9764ae-b00d-c387-12b7-a8b12808295a@FreeBSD.org> Subject: Re: svn commit: r318750 - in head/contrib: binutils/bfd binutils/ld binutils/ld/emulparams gcc gcc/config/s390 References: <201705231638.v4NGcAq1005935@repo.freebsd.org> <20170523191129.57183b1c@thor.intern.walstatt.dynvpn.de> <5d1d0149-7994-a870-0f6d-1499a9efba75@FreeBSD.org> <20170523210039.555a2f41@thor.intern.walstatt.dynvpn.de> <768df353-3e43-1da7-4a94-0acc1c741ad4@FreeBSD.org> In-Reply-To: --JU8F9oGabpJfLGPcmmOMLWhScVenEbGcM Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 6/1/17 5:51 PM, Bryan Drewery wrote: > On 6/1/2017 5:18 PM, Bryan Drewery wrote: >> On 5/23/2017 12:00 PM, O. Hartmann wrote: >>> Am Tue, 23 May 2017 12:52:35 -0500 >>> Pedro Giffuni schrieb: >>> >>>> On 23/05/2017 12:12, O. Hartmann wrote: >>>>> Am Tue, 23 May 2017 16:38:10 +0000 (UTC) >>>>> "Pedro F. Giffuni" schrieb: >>>>> =20 >>>>>> Author: pfg >>>>>> Date: Tue May 23 16:38:10 2017 >>>>>> New Revision: 318750 >>>>>> URL: https://svnweb.freebsd.org/changeset/base/318750 >>>>>> >>>>>> Log: >>>>>> Bring some rough support for FreeBSD S/390 to the GNU toolchain= =2E >>>>>> =20 >>>>>> This is no-op and only for reference: the S/390 port seems to b= e elusive >>>>>> in the BSDs so it is convenient to keep some trace from past ef= forts. >>>>>> It is likely newer attempts will focus on a newer toolchain usi= ng clang >>>>>> instead. >>>>>> =20 >>>>>> Obtained from: Perforce depot/projects/s390 >>>>>> >>>>>> Added: >>>>>> head/contrib/binutils/ld/emulparams/elf64_s390_fbsd.sh (conte= nts, props changed) >>>>>> head/contrib/binutils/ld/emulparams/elf_s390_fbsd.sh (content= s, props changed) >>>>>> head/contrib/gcc/config/s390/freebsd.h >>>>>> - copied, changed from r318546, head/contrib/gcc/config/s390= /linux.h >>>>>> Modified: >>>>>> head/contrib/binutils/bfd/config.bfd >>>>>> head/contrib/binutils/ld/configure.tgt >>>>>> head/contrib/gcc/config.gcc =20 >>>> ... >>>>>> Buildworld fails on r318751 with a "Segmentation fault" error as s= hown below: >>>>>> >>>>>> Building /usr/obj/usr/src/lib/libkiconv/_libinstall >>>>>> --- lib/libmd__L --- >>>>>> --- skein_block_asm.o --- >>>>>> Segmentation fault >>>>>> *** [skein_block_asm.o] Error code 139 >>>>>> >>>>>> make[4]: stopped in /usr/src/lib/libmd >>>>>> .ERROR_TARGET=3D'skein_block_asm.o' >>>>>> .ERROR_META_FILE=3D'/usr/obj/usr/src/lib/libmd/skein_block_asm.o.m= eta' >>>>>> .MAKE.LEVEL=3D'4' >>>>>> MAKEFILE=3D'' >>>>>> >>>>>> >>>>>> Host is running recent CURRENT: FreeBSD 12.0-CURRENT #124 r318748:= Tue May 23 >>>>>> 18:52:59 CEST 2017 amd64 =20 >>>> >>>> It shouldn't be related to this change: >>>> >>>> 1) This only affects s390 configuration which is never activated >>>> 2) I did run a tinderbox build to make sure nothing was affected (th= e=20 >>>> only thing failing was an unrelated powerpc warning that was fixed).= >>>> >>>> Pedro. >>> >>> Hello, >>> >>> the problem could be resolved by deleting the /usr/obj folder and sta= rt a clean build >>> again. >>> >> >> I think this is fallout from ino64 combined with META_MODE. META_MODE= >> assumes that host tools will be ABI-compatible and generally does not >> [force] rebuild them very often. So the act of upgrading to ino64 hos= t >> and then doing another build, your ld and various other host tools wil= l >> still be running pre-ino64 binaries via COMPAT_FREEBSD11. I think the= >> bug in this system is that it is possible for some of these tools to g= et >> mixed-ABI objects linked together resulting in differing ideas of what= >> 'struct stat' is for example. This could be possible since META_MODE >> won't force rebuild all objects for a directory/tool but it may rebuil= d >> 1 object for some reason or just relink the resulting binary. >> >> Here's an example of what I'm talking about with the host ld object fi= les: >> >>> -rwxr-xr-x 1 root wheel 1857312 Jun 1 12:59 ld.bfd* = >>> -rwxr-xr-x 1 root wheel 931304 Jun 1 12:59 ld.bfd.debug* = >>> -rw-r--r-- 1 root wheel 978 Jun 1 12:59 ld.bfd.debug.meta = >>> -rwxr-xr-x 1 root wheel 2600311 Jun 1 12:59 ld.bfd.full* = >>> -rw-r--r-- 1 root wheel 3988 Jun 1 12:59 ld.bfd.full.meta = >>> -rw-r--r-- 1 root wheel 999 Jun 1 12:59 ld.bfd.meta = >>> -rw-r--r-- 1 root wheel 154400 Apr 18 16:12 ldcref.o = >>> -rw-r--r-- 1 root wheel 4553 Apr 18 16:12 ldcref.o.meta = >>> -rw-r--r-- 1 root wheel 137088 May 11 14:14 ldctor.o = >>> -rw-r--r-- 1 root wheel 4348 May 11 14:14 ldctor.o.meta = >>> -rw-r--r-- 1 root wheel 205 Oct 11 2016 ldemul-list.h = >>> -rw-r--r-- 1 root wheel 814 Oct 11 2016 ldemul-list.h.meta = >>> -rw-r--r-- 1 root wheel 144088 Oct 13 2016 ldemul.o = >>> -rw-r--r-- 1 root wheel 4374 Oct 13 2016 ldemul.o.meta = >> >> The object files predate ino64 but the linked binaries do not. I did >> not dig into these object files more but I suspect somewhere there are= >> mixed-ABI object files hitting this bug or that just linking pre-ino64= >> objects may cause a problem. I don't think linking would be a problem= >> though. >=20 > This commit did cause a mixed-ABI object issue that I predicted. >=20 > Built before, updated, built again and targets.o is rebuilt. >=20 >> Building /usr/obj/root/svn/base/gnu/usr.bin/binutils/libbfd/targmatch.= h >> Skipping meta for .depend: no commands >> Skipping meta for afterdepend: .PHONY >> Skipping meta for depend: .PHONY >> Skipping meta for objwarn: .PHONY >> Skipping meta for beforebuild: .PHONY >> Skipping meta for .WAIT_1: .PHONY >> /usr/obj/root/svn/base/gnu/usr.bin/binutils/libbfd/targets.o.meta: 81:= file '/usr/obj/root/svn/base/gnu/usr.bin/binutils/libbfd/./targmatch.h' = is newer than the target... >> Building /usr/obj/root/svn/base/gnu/usr.bin/binutils/libbfd/targets.o >=20 > targets.o is the only relevant object file I could find in the broken > objtree given to me that was post-ino64. It doesn't directly use any o= f > the changes structs that I can see, but the mixed-ABI proof is enough > for me to put the understanding of this to rest. >=20 > In case I wasn't clear, this commit is perfectly fine. It just > triggered a META_MODE bug. >=20 >=20 >> >> Anyway the fix for this would be to either 'make cleanworld' after >> upgrading to ino64, use -DNO_META_IGNORE_HOST for the first build afte= r, >> or wait for my fix. I will commit a fix to force rebuild host tools >> through known major ABI changes to avoid this problem. >> >> For discussion of why META_MODE tries to not rebuild host tools see >> r301467. The gist is that a simple >> 'buildworld->installworld->buildworld' causes everything to rebuild du= e >> to changed host file timestamps. Really it would be better if >> filemon/META_MODE used file content hashing like ccache did. Then >> timestamps wouldn't cause such a problem here. >> >=20 >=20 I committed a workaround for all of this in r319594. META_MODE should properly rebuild host tools for the ino64 case now. --=20 Regards, Bryan Drewery --JU8F9oGabpJfLGPcmmOMLWhScVenEbGcM-- --GWeq3P6s4tjTdmeLxvqSnR2hj3mVaJ7O2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJZNOmtAAoJEDXXcbtuRpfPAe4IAIrqRaetXn9W+7qCoqYMdxXc dZU5mHeK1b9R/qtNY94H8r3tx9OJdHNyYESZ4lJjcXQLn9Nyvrq16QKZ1yiN19C4 gLAc5Nexof9q2XTeBXXgqTJjkClYqeyJLRG7t9Zhbxfm+4/zWlOOEGBJzVuy8Mms qIMw7EMqCZ76n/Ddd+d+z73199JNCd3ll11JwSBppuoNilUvVgUUoWnX4wl5I2A6 Lj9OL8Ry1m2EJ1th+p7PgZb5XFPs0d4uYQ7xFNFA9b1FaQtaVF2f62Q6rg8XRI4H Uhzpl9L15oqkhS4u+d86vyhv56EaDCB8n+ArL4qdqIJnBh2PLRo+nSQax9L0mdM= =nmyp -----END PGP SIGNATURE----- --GWeq3P6s4tjTdmeLxvqSnR2hj3mVaJ7O2-- From owner-svn-src-all@freebsd.org Mon Jun 5 05:25:51 2017 Return-Path: Delivered-To: svn-src-all@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 9CB87BF753E; Mon, 5 Jun 2017 05:25:51 +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 77E5871C0B; Mon, 5 Jun 2017 05:25:51 +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 v555Popn018363; Mon, 5 Jun 2017 05:25:50 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v555PoJ8018361; Mon, 5 Jun 2017 05:25:50 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706050525.v555PoJ8018361@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 5 Jun 2017 05:25:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319595 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 05:25:51 -0000 Author: jhb Date: Mon Jun 5 05:25:50 2017 New Revision: 319595 URL: https://svnweb.freebsd.org/changeset/base/319595 Log: Decode arguments to dup, dup2, getdirentries, pread, and pwrite. - dup and dup2 print fd arguments in decimal. - pread and pwrite are similar to read and write with the addition of the file offset. - getdirentries displays the output entries as a string for now and also prints the value returned in *basep. Eventually the buffer for getdirentries should perhaps be decoded as an array of dirent structures. PR: 214885 Submitted by: Jonathan de Boyne Pollard Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Mon Jun 5 05:17:42 2017 (r319594) +++ head/usr.bin/truss/syscall.h Mon Jun 5 05:25:50 2017 (r319595) @@ -48,7 +48,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe Sysarch, ExecArgs, ExecEnv, PipeFds, QuadHex, Utrace, IntArray, Pipe2, CapFcntlRights, Fadvice, FileFlags, Flockop, Getfsstatmode, Kldsymcmd, Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, - Sockoptname, Msgflags, CapRights, PUInt, + Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Mon Jun 5 05:17:42 2017 (r319594) +++ head/usr.bin/truss/syscalls.c Mon Jun 5 05:25:50 2017 (r319595) @@ -125,6 +125,10 @@ static struct syscall decoded_syscalls[] = { { .name = "connectat", .ret_type = 1, .nargs = 4, .args = { { Atfd, 0 }, { Int, 1 }, { Sockaddr | IN, 2 }, { Int, 3 } } }, + { .name = "dup", .ret_type = 1, .nargs = 1, + .args = { { Int, 0 } } }, + { .name = "dup2", .ret_type = 1, .nargs = 2, + .args = { { Int, 0 }, { Int, 1 } } }, { .name = "eaccess", .ret_type = 1, .nargs = 2, .args = { { Name | IN, 0 }, { Accessmode, 1 } } }, { .name = "execve", .ret_type = 1, .nargs = 3, @@ -165,6 +169,9 @@ static struct syscall decoded_syscalls[] = { .args = { { Int, 0 }, { Timeval2 | IN, 1 } } }, { .name = "futimesat", .ret_type = 1, .nargs = 3, .args = { { Atfd, 0 }, { Name | IN, 1 }, { Timeval2 | IN, 2 } } }, + { .name = "getdirentries", .ret_type = 1, .nargs = 4, + .args = { { Int, 0 }, { BinString | OUT, 1 }, { Int, 2 }, + { PQuadHex | OUT, 3 } } }, { .name = "getfsstat", .ret_type = 1, .nargs = 3, .args = { { Ptr, 0 }, { Long, 1 }, { Getfsstatmode, 2 } } }, { .name = "getitimer", .ret_type = 1, .nargs = 2, @@ -275,8 +282,14 @@ static struct syscall decoded_syscalls[] = { { Fadvice, 3 } } }, { .name = "posix_openpt", .ret_type = 1, .nargs = 1, .args = { { Open, 0 } } }, + { .name = "pread", .ret_type = 1, .nargs = 4, + .args = { { Int, 0 }, { BinString | OUT, 1 }, { Sizet, 2 }, + { QuadHex, 3 } } }, { .name = "procctl", .ret_type = 1, .nargs = 4, .args = { { Idtype, 0 }, { Quad, 1 }, { Procctl, 2 }, { Ptr, 3 } } }, + { .name = "pwrite", .ret_type = 1, .nargs = 4, + .args = { { Int, 0 }, { BinString | IN, 1 }, { Sizet, 2 }, + { QuadHex, 3 } } }, { .name = "read", .ret_type = 1, .nargs = 3, .args = { { Int, 0 }, { BinString | OUT, 1 }, { Sizet, 2 } } }, { .name = "readlink", .ret_type = 1, .nargs = 3, @@ -1354,6 +1367,16 @@ print_arg(struct syscall_args *sc, unsigned long *args break; } #endif + case PQuadHex: { + uint64_t val; + + if (get_struct(pid, (void *)args[sc->offset], &val, + sizeof(val)) == 0) + fprintf(fp, "{ 0x%jx }", (uintmax_t)val); + else + fprintf(fp, "0x%lx", args[sc->offset]); + break; + } case Ptr: fprintf(fp, "0x%lx", args[sc->offset]); break; From owner-svn-src-all@freebsd.org Mon Jun 5 10:59:49 2017 Return-Path: Delivered-To: svn-src-all@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 0800ABFC14C; Mon, 5 Jun 2017 10:59:49 +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 CACE17973A; Mon, 5 Jun 2017 10:59:48 +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 v55Axm60051234; Mon, 5 Jun 2017 10:59:48 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55Axm0o051233; Mon, 5 Jun 2017 10:59:48 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706051059.v55Axm0o051233@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 5 Jun 2017 10:59:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319597 - head/sys/mips/mips X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 10:59:49 -0000 Author: trasz Date: Mon Jun 5 10:59:47 2017 New Revision: 319597 URL: https://svnweb.freebsd.org/changeset/base/319597 Log: Remove extraneous parentheses. Sponsored by: DARPA, AFRL Modified: head/sys/mips/mips/stack_machdep.c Modified: head/sys/mips/mips/stack_machdep.c ============================================================================== --- head/sys/mips/mips/stack_machdep.c Mon Jun 5 06:23:48 2017 (r319596) +++ head/sys/mips/mips/stack_machdep.c Mon Jun 5 10:59:47 2017 (r319597) @@ -94,8 +94,7 @@ stack_capture(struct stack *st, u_register_t pc, u_reg switch (insn.IType.op) { case OP_SPECIAL: - if((insn.RType.func == OP_JR)) - { + if (insn.RType.func == OP_JR) { if (ra >= (u_register_t)(intptr_t)btext) break; if (insn.RType.rs != RA) From owner-svn-src-all@freebsd.org Mon Jun 5 11:04:24 2017 Return-Path: Delivered-To: svn-src-all@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 35DFABFC34A; Mon, 5 Jun 2017 11:04:24 +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 0431E79B50; Mon, 5 Jun 2017 11:04:23 +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 v55B4NmJ055178; Mon, 5 Jun 2017 11:04:23 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55B4NdX055177; Mon, 5 Jun 2017 11:04:23 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706051104.v55B4NdX055177@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 5 Jun 2017 11:04:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319598 - head/sys/mips/mips X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 11:04:24 -0000 Author: trasz Date: Mon Jun 5 11:04:22 2017 New Revision: 319598 URL: https://svnweb.freebsd.org/changeset/base/319598 Log: Remove unused tlb_write_random(). Sponsored by: DARPA, AFRL Modified: head/sys/mips/mips/tlb.c Modified: head/sys/mips/mips/tlb.c ============================================================================== --- head/sys/mips/mips/tlb.c Mon Jun 5 10:59:47 2017 (r319597) +++ head/sys/mips/mips/tlb.c Mon Jun 5 11:04:22 2017 (r319598) @@ -88,13 +88,6 @@ tlb_write_indexed(void) mips_cp0_sync(); } -static inline void -tlb_write_random(void) -{ - __asm __volatile ("tlbwr" : : : "memory"); - mips_cp0_sync(); -} - static void tlb_invalidate_one(unsigned); void From owner-svn-src-all@freebsd.org Mon Jun 5 11:11:09 2017 Return-Path: Delivered-To: svn-src-all@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 C432FBFC633; Mon, 5 Jun 2017 11:11:09 +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 A034179FD0; Mon, 5 Jun 2017 11:11:09 +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 v55BB8kX057786; Mon, 5 Jun 2017 11:11:08 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55BB8eu057778; Mon, 5 Jun 2017 11:11:08 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201706051111.v55BB8eu057778@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 5 Jun 2017 11:11:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319599 - stable/11/sys/netipsec X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 11:11:09 -0000 Author: ae Date: Mon Jun 5 11:11:07 2017 New Revision: 319599 URL: https://svnweb.freebsd.org/changeset/base/319599 Log: MFC r319118: Disable IPsec debugging code by default when IPSEC_DEBUG kernel option is not specified. Due to the long call chain IPsec code can produce the kernel stack exhaustion on the i386 architecture. The debugging code usually is not used, but it requires a lot of stack space to keep buffers for strings formatting. This patch conditionally defines macros to disable building of IPsec debugging code. IPsec currently has two sysctl variables to configure debug output: * net.key.debug variable is used to enable debug output for PF_KEY protocol. Such debug messages are produced by KEYDBG() macro and usually they can be interesting for developers. * net.inet.ipsec.debug variable is used to enable debug output for DPRINTF() macro and ipseclog() function. DPRINTF() macro usually is used for development debugging. ipseclog() function is used for debugging by administrator. The patch disables KEYDBG() and DPRINTF() macros, and formatting buffers declarations when IPSEC_DEBUG is not present in kernel config. This reduces stack requirement for up to several hundreds of bytes. The net.inet.ipsec.debug variable still can be used to enable ipseclog() messages by administrator. PR: 219476 MFC r319412: Build kdebug_secreplay() function only when IPSEC_DEBUG is defined. This should fix the build on sparc. Approved by: re (kib) Modified: stable/11/sys/netipsec/ipsec.h stable/11/sys/netipsec/ipsec_input.c stable/11/sys/netipsec/ipsec_output.c stable/11/sys/netipsec/key_debug.c stable/11/sys/netipsec/key_debug.h stable/11/sys/netipsec/xform_ah.c stable/11/sys/netipsec/xform_esp.c stable/11/sys/netipsec/xform_ipcomp.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netipsec/ipsec.h ============================================================================== --- stable/11/sys/netipsec/ipsec.h Mon Jun 5 11:04:22 2017 (r319598) +++ stable/11/sys/netipsec/ipsec.h Mon Jun 5 11:11:07 2017 (r319599) @@ -299,7 +299,13 @@ VNET_DECLARE(int, natt_cksum_policy); #define ipseclog(x) do { if (V_ipsec_debug) log x; } while (0) /* for openbsd compatibility */ +#ifdef IPSEC_DEBUG +#define IPSEC_DEBUG_DECLARE(x) x #define DPRINTF(x) do { if (V_ipsec_debug) printf x; } while (0) +#else +#define IPSEC_DEBUG_DECLARE(x) +#define DPRINTF(x) +#endif struct inpcb; struct m_tag; Modified: stable/11/sys/netipsec/ipsec_input.c ============================================================================== --- stable/11/sys/netipsec/ipsec_input.c Mon Jun 5 11:04:22 2017 (r319598) +++ stable/11/sys/netipsec/ipsec_input.c Mon Jun 5 11:11:07 2017 (r319599) @@ -117,7 +117,7 @@ __FBSDID("$FreeBSD$"); static int ipsec_common_input(struct mbuf *m, int skip, int protoff, int af, int sproto) { - char buf[IPSEC_ADDRSTRLEN]; + IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]); union sockaddr_union dst_address; struct secasvar *sav; uint32_t spi; @@ -277,7 +277,7 @@ int ipsec4_common_input_cb(struct mbuf *m, struct secasvar *sav, int skip, int protoff) { - char buf[IPSEC_ADDRSTRLEN]; + IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]); struct ipsec_ctx_data ctx; struct xform_history *xh; struct secasindex *saidx; @@ -488,7 +488,7 @@ int ipsec6_common_input_cb(struct mbuf *m, struct secasvar *sav, int skip, int protoff) { - char buf[IPSEC_ADDRSTRLEN]; + IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]); struct ipsec_ctx_data ctx; struct xform_history *xh; struct secasindex *saidx; Modified: stable/11/sys/netipsec/ipsec_output.c ============================================================================== --- stable/11/sys/netipsec/ipsec_output.c Mon Jun 5 11:04:22 2017 (r319598) +++ stable/11/sys/netipsec/ipsec_output.c Mon Jun 5 11:11:07 2017 (r319599) @@ -183,7 +183,6 @@ next: static int ipsec4_perform_request(struct mbuf *m, struct secpolicy *sp, u_int idx) { - char sbuf[IPSEC_ADDRSTRLEN], dbuf[IPSEC_ADDRSTRLEN]; struct ipsec_ctx_data ctx; union sockaddr_union *dst; struct secasvar *sav; @@ -230,12 +229,9 @@ ipsec4_perform_request(struct mbuf *m, struct secpolic ip->ip_sum = in_cksum(m, ip->ip_hl << 2); error = ipsec_encap(&m, &sav->sah->saidx); if (error != 0) { - DPRINTF(("%s: encapsulation for SA %s->%s " - "SPI 0x%08x failed with error %d\n", __func__, - ipsec_address(&sav->sah->saidx.src, sbuf, - sizeof(sbuf)), - ipsec_address(&sav->sah->saidx.dst, dbuf, - sizeof(dbuf)), ntohl(sav->spi), error)); + DPRINTF(("%s: encapsulation for SPI 0x%08x failed " + "with error %d\n", __func__, ntohl(sav->spi), + error)); /* XXXAE: IPSEC_OSTAT_INC(tunnel); */ goto bad; } @@ -497,7 +493,6 @@ next: static int ipsec6_perform_request(struct mbuf *m, struct secpolicy *sp, u_int idx) { - char sbuf[IPSEC_ADDRSTRLEN], dbuf[IPSEC_ADDRSTRLEN]; struct ipsec_ctx_data ctx; union sockaddr_union *dst; struct secasvar *sav; @@ -539,12 +534,9 @@ ipsec6_perform_request(struct mbuf *m, struct secpolic } error = ipsec_encap(&m, &sav->sah->saidx); if (error != 0) { - DPRINTF(("%s: encapsulation for SA %s->%s " - "SPI 0x%08x failed with error %d\n", __func__, - ipsec_address(&sav->sah->saidx.src, sbuf, - sizeof(sbuf)), - ipsec_address(&sav->sah->saidx.dst, dbuf, - sizeof(dbuf)), ntohl(sav->spi), error)); + DPRINTF(("%s: encapsulation for SPI 0x%08x failed " + "with error %d\n", __func__, ntohl(sav->spi), + error)); /* XXXAE: IPSEC_OSTAT_INC(tunnel); */ goto bad; } Modified: stable/11/sys/netipsec/key_debug.c ============================================================================== --- stable/11/sys/netipsec/key_debug.c Mon Jun 5 11:04:22 2017 (r319598) +++ stable/11/sys/netipsec/key_debug.c Mon Jun 5 11:11:07 2017 (r319599) @@ -77,10 +77,6 @@ static void kdebug_sadb_x_sa2(struct sadb_ext *); static void kdebug_sadb_x_sa_replay(struct sadb_ext *); static void kdebug_sadb_x_natt(struct sadb_ext *); -#ifdef _KERNEL -static void kdebug_secreplay(struct secreplay *); -#endif - #ifndef _KERNEL #define panic(fmt, ...) { printf(fmt, ## __VA_ARGS__); exit(-1); } #endif @@ -724,6 +720,7 @@ kdebug_secash(struct secashead *sah, const char *inden printf("}\n"); } +#ifdef IPSEC_DEBUG static void kdebug_secreplay(struct secreplay *rpl) { @@ -745,6 +742,7 @@ kdebug_secreplay(struct secreplay *rpl) } printf(" }\n"); } +#endif /* IPSEC_DEBUG */ static void kdebug_secnatt(struct secnatt *natt) Modified: stable/11/sys/netipsec/key_debug.h ============================================================================== --- stable/11/sys/netipsec/key_debug.h Mon Jun 5 11:04:22 2017 (r319598) +++ stable/11/sys/netipsec/key_debug.h Mon Jun 5 11:11:07 2017 (r319599) @@ -53,10 +53,14 @@ #define KEYDEBUG_IPSEC_DATA (KEYDEBUG_IPSEC | KEYDEBUG_DATA) #define KEYDEBUG_IPSEC_DUMP (KEYDEBUG_IPSEC | KEYDEBUG_DUMP) +#ifdef IPSEC_DEBUG #define KEYDBG(lev, arg) \ if ((V_key_debug_level & (KEYDEBUG_ ## lev)) == (KEYDEBUG_ ## lev)) { \ arg; \ } +#else +#define KEYDBG(lev, arg) +#endif /* !IPSEC_DEBUG */ VNET_DECLARE(uint32_t, key_debug_level); #define V_key_debug_level VNET(key_debug_level) Modified: stable/11/sys/netipsec/xform_ah.c ============================================================================== --- stable/11/sys/netipsec/xform_ah.c Mon Jun 5 11:04:22 2017 (r319598) +++ stable/11/sys/netipsec/xform_ah.c Mon Jun 5 11:11:07 2017 (r319599) @@ -544,7 +544,7 @@ ah_massage_headers(struct mbuf **m0, int proto, int sk static int ah_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff) { - char buf[128]; + IPSEC_DEBUG_DECLARE(char buf[128]); const struct auth_hash *ahx; struct cryptodesc *crda; struct cryptop *crp; @@ -681,7 +681,7 @@ bad: static int ah_input_cb(struct cryptop *crp) { - char buf[IPSEC_ADDRSTRLEN]; + IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]); unsigned char calc[AH_ALEN_MAX]; const struct auth_hash *ahx; struct mbuf *m; @@ -831,7 +831,7 @@ static int ah_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav, u_int idx, int skip, int protoff) { - char buf[IPSEC_ADDRSTRLEN]; + IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]); const struct auth_hash *ahx; struct cryptodesc *crda; struct xform_data *xd; Modified: stable/11/sys/netipsec/xform_esp.c ============================================================================== --- stable/11/sys/netipsec/xform_esp.c Mon Jun 5 11:04:22 2017 (r319598) +++ stable/11/sys/netipsec/xform_esp.c Mon Jun 5 11:11:07 2017 (r319599) @@ -263,7 +263,7 @@ esp_zeroize(struct secasvar *sav) static int esp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff) { - char buf[128]; + IPSEC_DEBUG_DECLARE(char buf[128]); const struct auth_hash *esph; const struct enc_xform *espx; struct xform_data *xd; @@ -436,7 +436,7 @@ bad: static int esp_input_cb(struct cryptop *crp) { - char buf[128]; + IPSEC_DEBUG_DECLARE(char buf[128]); u_int8_t lastthree[3], aalg[AH_HMAC_MAXHASHLEN]; const struct auth_hash *esph; const struct enc_xform *espx; @@ -622,7 +622,7 @@ static int esp_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav, u_int idx, int skip, int protoff) { - char buf[IPSEC_ADDRSTRLEN]; + IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]); struct cryptodesc *crde = NULL, *crda = NULL; struct cryptop *crp; const struct auth_hash *esph; Modified: stable/11/sys/netipsec/xform_ipcomp.c ============================================================================== --- stable/11/sys/netipsec/xform_ipcomp.c Mon Jun 5 11:04:22 2017 (r319598) +++ stable/11/sys/netipsec/xform_ipcomp.c Mon Jun 5 11:11:07 2017 (r319599) @@ -271,7 +271,7 @@ bad: static int ipcomp_input_cb(struct cryptop *crp) { - char buf[IPSEC_ADDRSTRLEN]; + IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]); struct cryptodesc *crd; struct xform_data *xd; struct mbuf *m; @@ -387,7 +387,7 @@ static int ipcomp_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav, u_int idx, int skip, int protoff) { - char buf[IPSEC_ADDRSTRLEN]; + IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]); const struct comp_algo *ipcompx; struct cryptodesc *crdc; struct cryptop *crp; @@ -521,7 +521,7 @@ bad: static int ipcomp_output_cb(struct cryptop *crp) { - char buf[IPSEC_ADDRSTRLEN]; + IPSEC_DEBUG_DECLARE(char buf[IPSEC_ADDRSTRLEN]); struct xform_data *xd; struct secpolicy *sp; struct secasvar *sav; From owner-svn-src-all@freebsd.org Mon Jun 5 11:40:31 2017 Return-Path: Delivered-To: svn-src-all@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 D621ABFCD81; Mon, 5 Jun 2017 11:40:31 +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 AF8F97ABF9; Mon, 5 Jun 2017 11:40:31 +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 v55BeUEO067559; Mon, 5 Jun 2017 11:40:30 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55BeUft067555; Mon, 5 Jun 2017 11:40:30 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706051140.v55BeUft067555@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 5 Jun 2017 11:40:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319600 - in head/sys: compat/freebsd32 kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 11:40:31 -0000 Author: kib Date: Mon Jun 5 11:40:30 2017 New Revision: 319600 URL: https://svnweb.freebsd.org/changeset/base/319600 Log: Add sysctl vfs.ino64_trunc_error controlling action on truncating inode number or link count for the ABI compat binaries. Right now, and by default after the change, too large 64bit values are silently truncated to 32 bits. Enabling the knob causes the system to return EOVERFLOW for stat(2) family of compat syscalls when some values cannot be completely represented by the old structures. For getdirentries(2), knob skips the dirents which would cause non-trivial truncation of d_ino. EOVERFLOW error is specified by the X/Open 1996 LFS document ('Adding Support for Arbitrary File Sizes to the Single UNIX Specification'). Based on the discussion with: bde Sponsored by: The FreeBSD Foundation Modified: head/sys/compat/freebsd32/freebsd32_misc.c head/sys/kern/kern_descrip.c head/sys/kern/vfs_syscalls.c head/sys/sys/vnode.h Modified: head/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_misc.c Mon Jun 5 11:11:07 2017 (r319599) +++ head/sys/compat/freebsd32/freebsd32_misc.c Mon Jun 5 11:40:30 2017 (r319600) @@ -1904,12 +1904,18 @@ freebsd32_fhstat(struct thread *td, struct freebsd32_f } #if defined(COMPAT_FREEBSD11) -static void +extern int ino64_trunc_error; + +static int freebsd11_cvtstat32(struct stat *in, struct freebsd11_stat32 *out) { CP(*in, *out, st_ino); + if (in->st_ino != out->st_ino && ino64_trunc_error) + return (EOVERFLOW); CP(*in, *out, st_nlink); + if (in->st_nlink != out->st_nlink && ino64_trunc_error) + return (EOVERFLOW); CP(*in, *out, st_dev); CP(*in, *out, st_mode); CP(*in, *out, st_uid); @@ -1928,6 +1934,7 @@ freebsd11_cvtstat32(struct stat *in, struct freebsd11_ bzero((char *)&out->st_birthtim + sizeof(out->st_birthtim), sizeof(*out) - offsetof(struct freebsd11_stat32, st_birthtim) - sizeof(out->st_birthtim)); + return (0); } int @@ -1942,8 +1949,9 @@ freebsd11_freebsd32_stat(struct thread *td, &sb, NULL); if (error != 0) return (error); - freebsd11_cvtstat32(&sb, &sb32); - error = copyout(&sb32, uap->ub, sizeof (sb32)); + error = freebsd11_cvtstat32(&sb, &sb32); + if (error == 0) + error = copyout(&sb32, uap->ub, sizeof (sb32)); return (error); } @@ -1958,8 +1966,9 @@ freebsd11_freebsd32_fstat(struct thread *td, error = kern_fstat(td, uap->fd, &sb); if (error != 0) return (error); - freebsd11_cvtstat32(&sb, &sb32); - error = copyout(&sb32, uap->ub, sizeof (sb32)); + error = freebsd11_cvtstat32(&sb, &sb32); + if (error == 0) + error = copyout(&sb32, uap->ub, sizeof (sb32)); return (error); } @@ -1975,8 +1984,9 @@ freebsd11_freebsd32_fstatat(struct thread *td, &sb, NULL); if (error != 0) return (error); - freebsd11_cvtstat32(&sb, &sb32); - error = copyout(&sb32, uap->buf, sizeof (sb32)); + error = freebsd11_cvtstat32(&sb, &sb32); + if (error == 0) + error = copyout(&sb32, uap->buf, sizeof (sb32)); return (error); } @@ -1990,10 +2000,11 @@ freebsd11_freebsd32_lstat(struct thread *td, error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, UIO_USERSPACE, &sb, NULL); - if (error) + if (error != 0) return (error); - freebsd11_cvtstat32(&sb, &sb32); - error = copyout(&sb32, uap->ub, sizeof (sb32)); + error = freebsd11_cvtstat32(&sb, &sb32); + if (error == 0) + error = copyout(&sb32, uap->ub, sizeof (sb32)); return (error); } @@ -2012,8 +2023,9 @@ freebsd11_freebsd32_fhstat(struct thread *td, error = kern_fhstat(td, fh, &sb); if (error != 0) return (error); - freebsd11_cvtstat32(&sb, &sb32); - error = copyout(&sb32, uap->sb, sizeof (sb32)); + error = freebsd11_cvtstat32(&sb, &sb32); + if (error == 0) + error = copyout(&sb32, uap->sb, sizeof (sb32)); return (error); } #endif Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Mon Jun 5 11:11:07 2017 (r319599) +++ head/sys/kern/kern_descrip.c Mon Jun 5 11:40:30 2017 (r319600) @@ -1315,8 +1315,9 @@ freebsd11_fstat(struct thread *td, struct freebsd11_fs error = kern_fstat(td, uap->fd, &sb); if (error != 0) return (error); - freebsd11_cvtstat(&sb, &osb); - error = copyout(&osb, uap->sb, sizeof(osb)); + error = freebsd11_cvtstat(&sb, &osb); + if (error == 0) + error = copyout(&osb, uap->sb, sizeof(osb)); return (error); } #endif /* COMPAT_FREEBSD11 */ Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Mon Jun 5 11:11:07 2017 (r319599) +++ head/sys/kern/vfs_syscalls.c Mon Jun 5 11:40:30 2017 (r319600) @@ -2107,14 +2107,22 @@ cvtstat(struct stat *st, struct ostat *ost) #endif /* COMPAT_43 */ #if defined(COMPAT_FREEBSD11) -void +int ino64_trunc_error; +SYSCTL_INT(_vfs, OID_AUTO, ino64_trunc_error, CTLFLAG_RW, + &ino64_trunc_error, 0, + "Error on truncation of inode number, device id or link count"); +int freebsd11_cvtstat(struct stat *st, struct freebsd11_stat *ost) { ost->st_dev = st->st_dev; - ost->st_ino = st->st_ino; /* truncate */ + ost->st_ino = st->st_ino; + if (ost->st_ino != st->st_ino && ino64_trunc_error) + return (EOVERFLOW); ost->st_mode = st->st_mode; - ost->st_nlink = st->st_nlink; /* truncate */ + ost->st_nlink = st->st_nlink; + if (ost->st_nlink != st->st_nlink && ino64_trunc_error) + return (EOVERFLOW); ost->st_uid = st->st_uid; ost->st_gid = st->st_gid; ost->st_rdev = st->st_rdev; @@ -2131,6 +2139,7 @@ freebsd11_cvtstat(struct stat *st, struct freebsd11_st bzero((char *)&ost->st_birthtim + sizeof(ost->st_birthtim), sizeof(*ost) - offsetof(struct freebsd11_stat, st_birthtim) - sizeof(ost->st_birthtim)); + return (0); } int @@ -2144,8 +2153,9 @@ freebsd11_stat(struct thread *td, struct freebsd11_sta &sb, NULL); if (error != 0) return (error); - freebsd11_cvtstat(&sb, &osb); - error = copyout(&osb, uap->ub, sizeof(osb)); + error = freebsd11_cvtstat(&sb, &osb); + if (error == 0) + error = copyout(&osb, uap->ub, sizeof(osb)); return (error); } @@ -2160,8 +2170,9 @@ freebsd11_lstat(struct thread *td, struct freebsd11_ls UIO_USERSPACE, &sb, NULL); if (error != 0) return (error); - freebsd11_cvtstat(&sb, &osb); - error = copyout(&osb, uap->ub, sizeof(osb)); + error = freebsd11_cvtstat(&sb, &osb); + if (error == 0) + error = copyout(&osb, uap->ub, sizeof(osb)); return (error); } @@ -2179,8 +2190,9 @@ freebsd11_fhstat(struct thread *td, struct freebsd11_f error = kern_fhstat(td, fh, &sb); if (error != 0) return (error); - freebsd11_cvtstat(&sb, &osb); - error = copyout(&osb, uap->sb, sizeof(osb)); + error = freebsd11_cvtstat(&sb, &osb); + if (error == 0) + error = copyout(&osb, uap->sb, sizeof(osb)); return (error); } @@ -2195,8 +2207,9 @@ freebsd11_fstatat(struct thread *td, struct freebsd11_ UIO_USERSPACE, &sb, NULL); if (error != 0) return (error); - freebsd11_cvtstat(&sb, &osb); - error = copyout(&osb, uap->buf, sizeof(osb)); + error = freebsd11_cvtstat(&sb, &osb); + if (error == 0) + error = copyout(&osb, uap->buf, sizeof(osb)); return (error); } #endif /* COMPAT_FREEBSD11 */ @@ -3738,6 +3751,8 @@ freebsd11_kern_getdirentries(struct thread *td, int fd dstdp.d_type = dp->d_type; dstdp.d_namlen = dp->d_namlen; dstdp.d_fileno = dp->d_fileno; /* truncate */ + if (dstdp.d_fileno != dp->d_fileno && ino64_trunc_error) + continue; dstdp.d_reclen = sizeof(dstdp) - sizeof(dstdp.d_name) + ((dp->d_namlen + 1 + 3) &~ 3); bcopy(dp->d_name, dstdp.d_name, dstdp.d_namlen); Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Mon Jun 5 11:11:07 2017 (r319599) +++ head/sys/sys/vnode.h Mon Jun 5 11:40:30 2017 (r319600) @@ -610,7 +610,7 @@ void cache_purgevfs(struct mount *mp, bool force); int change_dir(struct vnode *vp, struct thread *td); void cvtstat(struct stat *st, struct ostat *ost); void freebsd11_cvtnstat(struct stat *sb, struct nstat *nsb); -void freebsd11_cvtstat(struct stat *st, struct freebsd11_stat *ost); +int freebsd11_cvtstat(struct stat *st, struct freebsd11_stat *ost); int getnewvnode(const char *tag, struct mount *mp, struct vop_vector *vops, struct vnode **vpp); void getnewvnode_reserve(u_int count); From owner-svn-src-all@freebsd.org Mon Jun 5 11:55:27 2017 Return-Path: Delivered-To: svn-src-all@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 3B2C3BFD2AF; Mon, 5 Jun 2017 11:55:27 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 082B87B589; Mon, 5 Jun 2017 11:55:26 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v55BtQEP075837; Mon, 5 Jun 2017 11:55:26 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55BtQes075836; Mon, 5 Jun 2017 11:55:26 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <201706051155.v55BtQes075836@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Mon, 5 Jun 2017 11:55:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319601 - head/lib/libmd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 11:55:27 -0000 Author: tsoome Date: Mon Jun 5 11:55:26 2017 New Revision: 319601 URL: https://svnweb.freebsd.org/changeset/base/319601 Log: ANSIfy md5 functions Update the function declarations. Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D11055 Modified: head/lib/libmd/md5c.c Modified: head/lib/libmd/md5c.c ============================================================================== --- head/lib/libmd/md5c.c Mon Jun 5 11:40:30 2017 (r319600) +++ head/lib/libmd/md5c.c Mon Jun 5 11:55:26 2017 (r319601) @@ -127,8 +127,7 @@ static unsigned char PADDING[64] = { /* MD5 initialization. Begins an MD5 operation, writing a new context. */ void -MD5Init (context) - MD5_CTX *context; +MD5Init (MD5_CTX *context) { context->count[0] = context->count[1] = 0; @@ -147,10 +146,7 @@ MD5Init (context) */ void -MD5Update (context, in, inputLen) - MD5_CTX *context; - const void *in; - unsigned int inputLen; +MD5Update (MD5_CTX *context, const void *in, unsigned int inputLen) { unsigned int i, idx, partLen; const unsigned char *input = in; @@ -190,8 +186,7 @@ MD5Update (context, in, inputLen) */ void -MD5Pad (context) - MD5_CTX *context; +MD5Pad (MD5_CTX *context) { unsigned char bits[8]; unsigned int idx, padLen; @@ -214,9 +209,7 @@ MD5Pad (context) */ void -MD5Final (digest, context) - unsigned char digest[16]; - MD5_CTX *context; +MD5Final (unsigned char digest[16], MD5_CTX *context) { /* Do padding. */ MD5Pad (context); @@ -231,9 +224,7 @@ MD5Final (digest, context) /* MD5 basic transformation. Transforms state based on block. */ static void -MD5Transform (state, block) - u_int32_t state[4]; - const unsigned char block[64]; +MD5Transform (u_int32_t state[4], const unsigned char block[64]) { u_int32_t a = state[0], b = state[1], c = state[2], d = state[3], x[16]; From owner-svn-src-all@freebsd.org Mon Jun 5 11:55:34 2017 Return-Path: Delivered-To: svn-src-all@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 6B595BFD2D0; Mon, 5 Jun 2017 11:55:34 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail105.syd.optusnet.com.au (mail105.syd.optusnet.com.au [211.29.132.249]) by mx1.freebsd.org (Postfix) with ESMTP id 2C3227B5B7; Mon, 5 Jun 2017 11:55:33 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from besplex.bde.org (c122-106-153-191.carlnfd1.nsw.optusnet.com.au [122.106.153.191]) by mail105.syd.optusnet.com.au (Postfix) with ESMTPS id 092F5104AC59; Mon, 5 Jun 2017 21:55:21 +1000 (AEST) Date: Mon, 5 Jun 2017 21:55:20 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Bryan Drewery cc: Ed Maste , Bruce Evans , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r319507 - head/sys/fs/msdosfs In-Reply-To: <721fdeb3-b9d6-b8f4-9025-a5ae7bfd295f@FreeBSD.org> Message-ID: <20170605212605.B929@besplex.bde.org> References: <201706021839.v52IdrZJ074478@repo.freebsd.org> <20170603161546.D939@besplex.bde.org> <543a4144-4f08-8742-5455-0103569d9f4f@FreeBSD.org> <721fdeb3-b9d6-b8f4-9025-a5ae7bfd295f@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=WvBbCZXv c=1 sm=1 tr=0 a=Tj3pCpwHnMupdyZSltBt7Q==:117 a=Tj3pCpwHnMupdyZSltBt7Q==:17 a=kj9zAlcOel0A:10 a=6I5d2MoRAAAA:8 a=C1beX9IksOr_2a5XRB4A:9 a=CjuIK1q_8ugA:10 a=IjZwj45LgO3ly-622nXo:22 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 11:55:34 -0000 On Sun, 4 Jun 2017, Bryan Drewery wrote: > On 6/4/17 4:27 PM, Ed Maste wrote: >> On 4 June 2017 at 14:06, Bryan Drewery wrote: >>> >>> In r189170. It seems to me we should change systm.h back to a macro >>> #define memmove(dst, src, len) bcopy((src), (dst), (len)) >> >> Note that they're not quite equivalent: memmove returns dst, while >> bcopy has no return value. >> > > #define memmove(dst, src, len) (bcopy((src), (dst), (len)), dst) > > Obscure comma operator, memmove() is a function (possibly implemented as a function without a backing function in the kernel, although its man page doesn't document this (memmove(9) doesn't exist, and memmove(3) doesn't document this) but the above is an unsafe macro, even after adding the missing parentheses. Statement-expressions with inner variables named with underscores would be needed to implement memmove() as a macro. Some broken compilers call mem*() for struct copying even with -ffreestanding. This probably affects memcpy() but not memmove(). > or we just add an inline memmove in systm.h too. That moves the namespace problems. Arches can reasonably have optimized MD variants of it. Except it is a style bug to have it at all, and worse to optimize it. We use HAVE_INLINE_XXX idefs to handle this problem. For memset(), we actually have the reverse problem. memset() is both extern in the non-library libkern and static inline in . It can't be both. A mess of ifdefs involving LIBKERN_INLINE and LIBKERN_BODY is used to get both at different times. In some trees, I use macros like the following to recover some builtins: XX #define bzero(p, n) ({ \ XX if (__builtin_constant_p(n) && (n) <= 32) \ XX __builtin_memset((p), 0, (n)); \ XX else \ XX (bzero)((p), (n)); \ XX }) XX XX #define memcpy(to, from, n) __builtin_memcpy((to), (from), (n)) Note that __builtin_memcpy() often ends up calling memcpy(), even in the -ffreestanding case when memcpy() shouldn't exist. These functions may be implemented in either libkern.h or systm.h, but should be in only 1. It is unclear which of these places is a style bug. Clearly bzero() should be in systm.h since it is never in libkern. I put the others there too. Bruce From owner-svn-src-all@freebsd.org Mon Jun 5 16:00:12 2017 Return-Path: Delivered-To: svn-src-all@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 22DA4AFC448; Mon, 5 Jun 2017 16:00:12 +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 E783284D70; Mon, 5 Jun 2017 16:00:11 +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 v55G0BJ1079906; Mon, 5 Jun 2017 16:00:11 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55G0BnM079905; Mon, 5 Jun 2017 16:00:11 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201706051600.v55G0BnM079905@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 5 Jun 2017 16:00:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319602 - head/bin/pkill X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 16:00:12 -0000 Author: bdrewery Date: Mon Jun 5 16:00:10 2017 New Revision: 319602 URL: https://svnweb.freebsd.org/changeset/base/319602 Log: Clarify -q is only for pgrep. MFC after: 3 days Sponsored by: Dell EMC Isilon Modified: head/bin/pkill/pkill.1 Modified: head/bin/pkill/pkill.1 ============================================================================== --- head/bin/pkill/pkill.1 Mon Jun 5 11:55:26 2017 (r319601) +++ head/bin/pkill/pkill.1 Mon Jun 5 16:00:10 2017 (r319602) @@ -29,7 +29,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd August 21, 2015 +.Dd June 5, 2017 .Dt PKILL 1 .Os .Sh NAME @@ -176,6 +176,8 @@ Select only the newest (most recently started) of the .It Fl o Select only the oldest (least recently started) of the matching processes. .It Fl q +For +.Nm pgrep , Do not write anything to standard output. .It Fl s Ar sid Restrict matches to processes with a session ID in the comma-separated From owner-svn-src-all@freebsd.org Mon Jun 5 17:05:08 2017 Return-Path: Delivered-To: svn-src-all@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 2D485AFD53B; Mon, 5 Jun 2017 17:05:08 +0000 (UTC) (envelope-from gjb@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 ECA2C278F; Mon, 5 Jun 2017 17:05:07 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v55H56DA008094; Mon, 5 Jun 2017 17:05:06 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55H56g0008093; Mon, 5 Jun 2017 17:05:06 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706051705.v55H56g0008093@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Mon, 5 Jun 2017 17:05:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319603 - head/release/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 17:05:08 -0000 Author: gjb Date: Mon Jun 5 17:05:06 2017 New Revision: 319603 URL: https://svnweb.freebsd.org/changeset/base/319603 Log: Create a hard link for sun7i-a20-cubieboard2.dtb to allow the cubieboard2 to find the correct dtb file. MFC after: 3 days Sponsored by: The FreeBSD Foundation Modified: head/release/arm/CUBIEBOARD2.conf Modified: head/release/arm/CUBIEBOARD2.conf ============================================================================== --- head/release/arm/CUBIEBOARD2.conf Mon Jun 5 16:00:10 2017 (r319602) +++ head/release/arm/CUBIEBOARD2.conf Mon Jun 5 17:05:06 2017 (r319603) @@ -30,6 +30,8 @@ arm_install_uboot() { chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \ ${FATMOUNT}/ubldr.bin + chroot ${CHROOTDIR} ln ${UFSMOUNT}/boot/dtb/cubieboard2.dtb \ + ${UFSMOUNT}/boot/dtb/sun7i-a20-cubieboard2.dtb chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot sync umount_loop ${CHROOTDIR}/${FATMOUNT} From owner-svn-src-all@freebsd.org Mon Jun 5 17:14:18 2017 Return-Path: Delivered-To: svn-src-all@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 9ABB5AFD874; Mon, 5 Jun 2017 17:14:18 +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 69EBD2D48; Mon, 5 Jun 2017 17:14:18 +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 v55HEHfk012144; Mon, 5 Jun 2017 17:14:17 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55HEHff012141; Mon, 5 Jun 2017 17:14:17 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201706051714.v55HEHff012141@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Mon, 5 Jun 2017 17:14:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319604 - in head/sys: kern sys vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 17:14:18 -0000 Author: alc Date: Mon Jun 5 17:14:16 2017 New Revision: 319604 URL: https://svnweb.freebsd.org/changeset/base/319604 Log: Halve the memory being internally allocated by the blist allocator. In short, half of the memory that is allocated to implement the radix tree is wasted because we did not change "u_daddr_t" to be a 64-bit unsigned int when we changed "daddr_t" to be a 64-bit (signed) int. (See r96849 and r96851.) Reviewed by: kib, markj Tested by: pho MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D11028 Modified: head/sys/kern/subr_blist.c head/sys/sys/blist.h head/sys/vm/swap_pager.c Modified: head/sys/kern/subr_blist.c ============================================================================== --- head/sys/kern/subr_blist.c Mon Jun 5 17:05:06 2017 (r319603) +++ head/sys/kern/subr_blist.c Mon Jun 5 17:14:16 2017 (r319604) @@ -366,7 +366,7 @@ blst_leaf_alloc( j >>= 1; mask >>= j; } - scan->u.bmu_bitmap &= ~(1 << r); + scan->u.bmu_bitmap &= ~((u_daddr_t)1 << r); return(blk + r); } if (count <= BLIST_BMAP_RADIX) { @@ -658,7 +658,7 @@ static void blst_copy( int i; for (i = 0; i < BLIST_BMAP_RADIX && i < count; ++i) { - if (v & (1 << i)) + if (v & ((u_daddr_t)1 << i)) blist_free(dest, blk + i, 1); } } Modified: head/sys/sys/blist.h ============================================================================== --- head/sys/sys/blist.h Mon Jun 5 17:05:06 2017 (r319603) +++ head/sys/sys/blist.h Mon Jun 5 17:14:16 2017 (r319604) @@ -44,7 +44,7 @@ * ops. * * SWAPBLK_NONE is returned on failure. This module is typically - * capable of managing up to (2^31) blocks per blist, though + * capable of managing up to (2^63) blocks per blist, though * the memory utilization would be insane if you actually did * that. Managing something like 512MB worth of 4K blocks * eats around 32 KBytes of memory. @@ -56,7 +56,7 @@ #ifndef _SYS_BLIST_H_ #define _SYS_BLIST_H_ -typedef u_int32_t u_daddr_t; /* unsigned disk address */ +typedef uint64_t u_daddr_t; /* unsigned disk address */ /* * note: currently use SWAPBLK_NONE as an absolute value rather then Modified: head/sys/vm/swap_pager.c ============================================================================== --- head/sys/vm/swap_pager.c Mon Jun 5 17:05:06 2017 (r319603) +++ head/sys/vm/swap_pager.c Mon Jun 5 17:14:16 2017 (r319604) @@ -116,9 +116,8 @@ __FBSDID("$FreeBSD$"); #include /* - * SWB_NPAGES must be a power of 2. It may be set to 1, 2, 4, 8, 16 - * or 32 pages per allocation. - * The 32-page limit is due to the radix code (kern/subr_blist.c). + * MAX_PAGEOUT_CLUSTER must be a power of 2 between 1 and 64. + * The 64-page limit is due to the radix code (kern/subr_blist.c). */ #ifndef MAX_PAGEOUT_CLUSTER #define MAX_PAGEOUT_CLUSTER 16 From owner-svn-src-all@freebsd.org Mon Jun 5 17:33:58 2017 Return-Path: Delivered-To: svn-src-all@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 0549CAFDD02; Mon, 5 Jun 2017 17:33:58 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from gw.catspoiler.org (unknown [IPv6:2602:304:b010:ef20::f2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "gw.catspoiler.org", Issuer "gw.catspoiler.org" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id BDD243749; Mon, 5 Jun 2017 17:33:57 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.15.2/8.15.2) with ESMTP id v55HXiZi044881; Mon, 5 Jun 2017 10:33:48 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Message-Id: <201706051733.v55HXiZi044881@gw.catspoiler.org> Date: Mon, 5 Jun 2017 10:33:44 -0700 (PDT) From: Don Lewis Subject: Re: svn commit: r318441 - in head/etc: . cron.d To: rgrimes@freebsd.org cc: jhb@freebsd.org, bapt@freebsd.org, ngie@freebsd.org, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org In-Reply-To: <201706040439.v544dkCZ005833@pdx.rh.CN85.dnsmgr.net> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 17:33:58 -0000 On 3 Jun, Rodney W. Grimes wrote: > As far as fixing the builds for optional stuff that is rather > easily done in the Makefile with some if's to build a list of > files that can then be catted to conf.foo, using m4 or even > cpp to pre process conf.foo.src, etc, several very easy ways > to solve that and leave the system administration interface > alone. That doesn't help with packaged base where you can add one of the optional pieces later. From owner-svn-src-all@freebsd.org Mon Jun 5 18:07:58 2017 Return-Path: Delivered-To: svn-src-all@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 51E7EAFE428; Mon, 5 Jun 2017 18:07:58 +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 1407464631; Mon, 5 Jun 2017 18:07:58 +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 v55I7usv032492; Mon, 5 Jun 2017 18:07:56 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55I7ulS032491; Mon, 5 Jun 2017 18:07:56 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201706051807.v55I7ulS032491@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Mon, 5 Jun 2017 18:07:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319605 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 18:07:58 -0000 Author: alc Date: Mon Jun 5 18:07:56 2017 New Revision: 319605 URL: https://svnweb.freebsd.org/changeset/base/319605 Log: The variable "breakout" is used like a Boolean, so actually define it as one. Reviewed by: kib MFC after: 5 days Modified: head/sys/vm/vm_pageout.c Modified: head/sys/vm/vm_pageout.c ============================================================================== --- head/sys/vm/vm_pageout.c Mon Jun 5 17:14:16 2017 (r319604) +++ head/sys/vm/vm_pageout.c Mon Jun 5 18:07:56 2017 (r319605) @@ -1855,6 +1855,7 @@ vm_pageout_oom(int shortage) vm_offset_t size, bigsize; struct thread *td; struct vmspace *vm; + bool breakout; /* * We keep the process bigproc locked once we find it to keep anyone @@ -1868,8 +1869,6 @@ vm_pageout_oom(int shortage) bigsize = 0; sx_slock(&allproc_lock); FOREACH_PROC_IN_SYSTEM(p) { - int breakout; - PROC_LOCK(p); /* @@ -1886,7 +1885,7 @@ vm_pageout_oom(int shortage) * If the process is in a non-running type state, * don't touch it. Check all the threads individually. */ - breakout = 0; + breakout = false; FOREACH_THREAD_IN_PROC(p, td) { thread_lock(td); if (!TD_ON_RUNQ(td) && @@ -1895,7 +1894,7 @@ vm_pageout_oom(int shortage) !TD_IS_SUSPENDED(td) && !TD_IS_SWAPPED(td)) { thread_unlock(td); - breakout = 1; + breakout = true; break; } thread_unlock(td); From owner-svn-src-all@freebsd.org Mon Jun 5 18:54:55 2017 Return-Path: Delivered-To: svn-src-all@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 119E8AFF3A0; Mon, 5 Jun 2017 18:54:55 +0000 (UTC) (envelope-from gjb@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 D6F8D65FF1; Mon, 5 Jun 2017 18:54:54 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v55Iss0V052777; Mon, 5 Jun 2017 18:54:54 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55IssDh052776; Mon, 5 Jun 2017 18:54:54 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706051854.v55IssDh052776@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Mon, 5 Jun 2017 18:54:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r319606 - stable/10/release/doc/en_US.ISO8859-1/relnotes X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 18:54:55 -0000 Author: gjb Date: Mon Jun 5 18:54:53 2017 New Revision: 319606 URL: https://svnweb.freebsd.org/changeset/base/319606 Log: Document r319390, cxgbetool(8) addition. Document r298427, truss(1) '-H' flag. Document r304017, ptrace(2) threaded process debugging improvements. Document r306533, devctl(8) 'clear driver' added. Document r309560, cxgbe(4) T6 support. Document r309447, cxgbe(4) VF support for T4/T5 cards. Document r309560, cxgbe(4) VF support for T6 cards. Document r308154, cxgbe(4) additional virtual interface support. Document r306520, PCI passthrough/bhyve improvements. Document r306472, PCI passthrough/bhyve improvements. Submitted by: jhb Sponsored by: The FreeBSD Foundation Modified: stable/10/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: stable/10/release/doc/en_US.ISO8859-1/relnotes/article.xml ============================================================================== --- stable/10/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Jun 5 18:07:56 2017 (r319605) +++ stable/10/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Jun 5 18:54:53 2017 (r319606) @@ -183,9 +183,17 @@ Userland Application Changes + The &man.truss.1; utility has been + updated to include the -H flag, which logs + the thread ID of a thread invoking a system call. + The &man.zfsbootcfg.8; utility has been added, providing one-time &man.boot.config.5;-style options for &man.zfsboot.8;. + + The &man.cxgbetool.8; utility has been + added, providing command-line access to features and debugging + facilities of &man.cxgbe.4; devices. @@ -253,6 +261,22 @@ The type max_align_t is now defined for C11 compliance. + + + Userland Debugging + + &man.ptrace.2; now supports events for + thread creation and destruction, permitting more reliable + debugging of threaded processes. + + &man.ptrace.2; now supports events for + &man.vfork.2;, permitting reliable debugging across + &man.vfork.2; invocations. + + Process core dumps now include the + process ID (PID) and command line + arguments. + @@ -293,7 +317,10 @@ Device Drivers -   + &man.devctl.8; now supports a "clear + driver" command as a complement to "set + driver". @@ -308,6 +335,21 @@ Network Drivers + The &man.cxgbev.4; driver has been added, + providing support for Virtual Function devices + (VFs) on Chelsio T4 and T5 adapters. + + The &man.cxgbe.4; driver has been updated + to provide support for Virtual Function devices + (VFs) on Chelsio T6 adapters. + + The &man.cxgbe.4; driver now supports + devices using T6-based adapters which support 10, 25, 40, and + 100 Gbps. + The &man.alc.4; driver has been updated to provide support for Atheros® Killer E2400™ Gigabit ethernet cards. @@ -344,7 +386,16 @@ Virtualization Support - + PCI passthrough with + &man.bhyve.4; resets functions via FLR when + a virtual machine is started and stopped. + + PCI passthrough with + &man.bhyve.4; supports more dynamic configurations permitting + devices to be marked for passthrough or host use at + runtime. From owner-svn-src-all@freebsd.org Mon Jun 5 18:56:46 2017 Return-Path: Delivered-To: svn-src-all@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 EC26FAFF426; Mon, 5 Jun 2017 18:56:46 +0000 (UTC) (envelope-from gjb@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 BC59066139; Mon, 5 Jun 2017 18:56:46 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v55IujnO052905; Mon, 5 Jun 2017 18:56:45 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55Iujms052904; Mon, 5 Jun 2017 18:56:45 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706051856.v55Iujms052904@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Mon, 5 Jun 2017 18:56:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319607 - stable/11/release/doc/en_US.ISO8859-1/relnotes X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 18:56:47 -0000 Author: gjb Date: Mon Jun 5 18:56:45 2017 New Revision: 319607 URL: https://svnweb.freebsd.org/changeset/base/319607 Log: Document r295930, truss(1) '-H' flag. Document r308154, cxgbe(4) additional virtual interface support. Submitted by: jhb Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Modified: stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml ============================================================================== --- stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Jun 5 18:54:53 2017 (r319606) +++ stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Jun 5 18:56:45 2017 (r319607) @@ -190,6 +190,10 @@ Userland Application Changes + The &man.truss.1; utility has been + updated to include the -H flag, which logs + the thread ID of a thread invoking a system call. + Support for &man.blacklistd.8; has been added to OpenSSH. @@ -644,6 +648,11 @@ sponsor="&chelsio;">The &man.cxgbev.4; driver has been added, providing support for Virtual Function devices (VFs) on Chelsio T4 and T5 adapters. + + The &man.cxgbe.4; driver has been updated + to support creating additional virtual interfaces on + a port. The &man.bnxt.4; driver has been added, From owner-svn-src-all@freebsd.org Mon Jun 5 19:41:08 2017 Return-Path: Delivered-To: svn-src-all@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 20FF5B7917E; Mon, 5 Jun 2017 19:41:08 +0000 (UTC) (envelope-from gjb@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 E57CC675AC; Mon, 5 Jun 2017 19:41:07 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v55Jf79d070042; Mon, 5 Jun 2017 19:41:07 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55Jf7Aa070041; Mon, 5 Jun 2017 19:41:07 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706051941.v55Jf7Aa070041@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Mon, 5 Jun 2017 19:41:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319608 - head/release/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 19:41:08 -0000 Author: gjb Date: Mon Jun 5 19:41:06 2017 New Revision: 319608 URL: https://svnweb.freebsd.org/changeset/base/319608 Log: Fix the source path for the cubieboard2 dtb hard link. MFC after: 3 days MFC with: r319603 Sponsored by: The FreeBSD Foundation Modified: head/release/arm/CUBIEBOARD2.conf Modified: head/release/arm/CUBIEBOARD2.conf ============================================================================== --- head/release/arm/CUBIEBOARD2.conf Mon Jun 5 18:56:45 2017 (r319607) +++ head/release/arm/CUBIEBOARD2.conf Mon Jun 5 19:41:06 2017 (r319608) @@ -30,7 +30,7 @@ arm_install_uboot() { chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \ ${FATMOUNT}/ubldr.bin - chroot ${CHROOTDIR} ln ${UFSMOUNT}/boot/dtb/cubieboard2.dtb \ + chroot ${CHROOTDIR} ln /boot/dtb/cubieboard2.dtb \ ${UFSMOUNT}/boot/dtb/sun7i-a20-cubieboard2.dtb chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot sync From owner-svn-src-all@freebsd.org Mon Jun 5 20:18:56 2017 Return-Path: Delivered-To: svn-src-all@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 AE868B79B5C; Mon, 5 Jun 2017 20:18:56 +0000 (UTC) (envelope-from gjb@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 7EC14686D0; Mon, 5 Jun 2017 20:18:56 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v55KItet085334; Mon, 5 Jun 2017 20:18:55 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v55KItKE085333; Mon, 5 Jun 2017 20:18:55 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706052018.v55KItKE085333@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Mon, 5 Jun 2017 20:18:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319609 - head/release/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 20:18:56 -0000 Author: gjb Date: Mon Jun 5 20:18:55 2017 New Revision: 319609 URL: https://svnweb.freebsd.org/changeset/base/319609 Log: Revert r319608, the dtb path was correct the first time. Sigh. MFC after: 3 days MFC with: r319603, r319608 Sponsored by: The FreeBSD Foundation Modified: head/release/arm/CUBIEBOARD2.conf Modified: head/release/arm/CUBIEBOARD2.conf ============================================================================== --- head/release/arm/CUBIEBOARD2.conf Mon Jun 5 19:41:06 2017 (r319608) +++ head/release/arm/CUBIEBOARD2.conf Mon Jun 5 20:18:55 2017 (r319609) @@ -30,7 +30,7 @@ arm_install_uboot() { chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \ ${FATMOUNT}/ubldr.bin - chroot ${CHROOTDIR} ln /boot/dtb/cubieboard2.dtb \ + chroot ${CHROOTDIR} ln ${UFSMOUNT}/boot/dtb/cubieboard2.dtb \ ${UFSMOUNT}/boot/dtb/sun7i-a20-cubieboard2.dtb chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot sync From owner-svn-src-all@freebsd.org Mon Jun 5 23:16:34 2017 Return-Path: Delivered-To: svn-src-all@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 9D653B7C268; Mon, 5 Jun 2017 23:16:34 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) (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 6FDBA70D28; Mon, 5 Jun 2017 23:16:33 +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 CE80710AFA2; Mon, 5 Jun 2017 19:16:31 -0400 (EDT) From: John Baldwin To: Glen Barber Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r319607 - stable/11/release/doc/en_US.ISO8859-1/relnotes Date: Mon, 05 Jun 2017 16:15:50 -0700 Message-ID: <3942689.MOD8xETb0x@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.0-STABLE; KDE/4.14.10; amd64; ; ) In-Reply-To: <201706051856.v55Iujms052904@repo.freebsd.org> References: <201706051856.v55Iujms052904@repo.freebsd.org> 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, 05 Jun 2017 19:16:31 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 23:16:34 -0000 On Monday, June 05, 2017 06:56:45 PM Glen Barber wrote: > Author: gjb > Date: Mon Jun 5 18:56:45 2017 > New Revision: 319607 > URL: https://svnweb.freebsd.org/changeset/base/319607 > > Log: > Document r295930, truss(1) '-H' flag. > Document r308154, cxgbe(4) additional virtual interface support. Both of these features actually shipped in 11.0 so shouldn't be documented in the 11.1 notes (they are still new in 10.4 relative to 10.3 though). -- John Baldwin From owner-svn-src-all@freebsd.org Mon Jun 5 23:30:44 2017 Return-Path: Delivered-To: svn-src-all@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 776A4B7CB34; Mon, 5 Jun 2017 23:30:44 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-qt0-x231.google.com (mail-qt0-x231.google.com [IPv6:2607:f8b0:400d:c0d::231]) (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 3091772F64; Mon, 5 Jun 2017 23:30:44 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-qt0-x231.google.com with SMTP id u19so50901305qta.3; Mon, 05 Jun 2017 16:30:44 -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=YVls3N3Sk25EZl7h9oPddshl5Lk0ISiFcJ5zl0M8mA8=; b=DYILvOJgjyXF1KgbagiqcCE0RfNlHsZ2gNMVs48iQ9/Vpe8eDmxLGyTyCXJFrpa3PC ecMyfeSbwLhO0z2PhpEI/ayJHsTn0dwfMX4KhJhZ1y4QkRxtQFuB7eU2cb5uyEaoX02B 1DGpgS9NXaz8rq7v1cERIhxVnUxavRp/8ApfwNg7ZwGlHldatfzLsCw9tLXZZSSeTjF7 Y6Nh45JjOXgr961g4Fe03M+Yooj3ekUbClGf1q4OkxEk+rIYz2ZmEQyhKERvUeLP6SFx PQZkz+cC55VO/OYMRyllqTNPVQit5LeitKmxJEpAs0oL6zhfAW/Zlvw3utlJhgmGUaGU RGBg== 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=YVls3N3Sk25EZl7h9oPddshl5Lk0ISiFcJ5zl0M8mA8=; b=B4dHuHTeoAIUA8ze0ZAkWOPWFfw6J7R6hrjsQsYl1qoo0WpDuh33y4+gmhBi2CHcVB kCbA+OQvU5jiEFWtrU597dXufwwqWozfBhxKujqBA+HvkZVOnc21rmFc1ZmeorMPj/Dr ryo5dJEM7x3egY7hsYbpR3ncTqwaYwaz4rFV7e8InUL5k4AivBhvaVONmQMzHsT2OJtO SUupDoGDc7rsia4I7/zroZFmaSoigDgerKyccw20O1ZnlYuqnIkNHOpFg1Wpzt2D0QPV FTExdexnQNmCgNi08WgtNKhGh6sC91PoYRR/ZZM1wb8OaV58ESXgEX8viVEYJlx7dle/ 69/Q== X-Gm-Message-State: AODbwcCcbeEPJ4FqSdBEXb7h/DgfUdTUPu0N1Xdtc/H+nyOIYu5dIlyZ 5zJO6XB6+CalM5KlDp0od1Kt6CesA84N X-Received: by 10.237.59.20 with SMTP id p20mr28838355qte.95.1496705442774; Mon, 05 Jun 2017 16:30:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.140.92.214 with HTTP; Mon, 5 Jun 2017 16:30:42 -0700 (PDT) In-Reply-To: <201706051733.v55HXiZi044881@gw.catspoiler.org> References: <201706040439.v544dkCZ005833@pdx.rh.CN85.dnsmgr.net> <201706051733.v55HXiZi044881@gw.catspoiler.org> From: Ngie Cooper Date: Mon, 5 Jun 2017 16:30:42 -0700 Message-ID: Subject: Re: svn commit: r318441 - in head/etc: . cron.d To: Don Lewis Cc: "Rodney W. Grimes" , John Baldwin , Baptiste Daroussin , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 23:30:44 -0000 On Mon, Jun 5, 2017 at 10:33 AM, Don Lewis wrote: > On 3 Jun, Rodney W. Grimes wrote: > >> As far as fixing the builds for optional stuff that is rather >> easily done in the Makefile with some if's to build a list of >> files that can then be catted to conf.foo, using m4 or even >> cpp to pre process conf.foo.src, etc, several very easy ways >> to solve that and leave the system administration interface >> alone. > > That doesn't help with packaged base where you can add one of the > optional pieces later. BINGO. From owner-svn-src-all@freebsd.org Mon Jun 5 23:32:40 2017 Return-Path: Delivered-To: svn-src-all@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 697E3B7CD0F; Mon, 5 Jun 2017 23:32:40 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-qt0-x22b.google.com (mail-qt0-x22b.google.com [IPv6:2607:f8b0:400d:c0d::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 24EA4732D0; Mon, 5 Jun 2017 23:32:40 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-qt0-x22b.google.com with SMTP id u12so85379970qth.0; Mon, 05 Jun 2017 16:32:40 -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=rW8ypm7mbpAu/ktrqKcZcwFzYtYbfvPYxavmLSRuauU=; b=C2k0Q2N6grm+CBtVEtLKZjWw45q6QZNjN1ExeFkhW5Df3aflGkd2xEGSRds9DIjIOI BupOIup3b9wnlpIxX6Y/0d+b3y1rEpfKkVG45Qv5RuOK7Za1RRyfrkg+IeOKXim7ub6l FtZvx2DY6IH+t8RTqZSbET/3sQOyxD+p9SmRFaW5KbEGUc1N1x2cMGT4+qdC0sQgMYL0 /tsbETS7aHvYdO2dEqZh+2xTlKMujGj+jjtJfUoTLgqID7vWAf+us6z7UStwhdo9gJJc PTR+5jvH/zoj6GLa47kHfFBMnxTkKPIqb+cuz9cKZlLN1sr15vd93j3F1kDL6MElC32Z TN7A== 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=rW8ypm7mbpAu/ktrqKcZcwFzYtYbfvPYxavmLSRuauU=; b=tP+Xik4nZzTUOdmRdFC9ONyiQcqKjrp+Ch2qob+AYYO/1PuVcOrRVLAVVjtJa1tzKv uHWniutfFAjX/VJYsKcVdHouuYyJkSklXSoC0AR61jzASF/CgpcqlO7gMrBVoY2/FenR y4DvnXBVY/Q1qUCAsdA3IkpafqWqL6eooUNhMl2XrPUMEOpD2UfOGB4Nr9vbOB1ErfHy eoGDeOIdsLQMjwOkEc7nG0mzXq8Cg9z1okMbA+jgNsgKoB8EQTp0KOdScLk6Eaexl1BR lfgzQFvc60897fdPkuZyLnbJbryuu7/gK2stdMvLHqMoYMRX55Mz7l4zKc6Quac5JbPk l3bw== X-Gm-Message-State: AKS2vOxBeACK64/Zn1zN7Fv9VkaQ5sBakY9MYoG0G4uFW+JTQSM9f685 CwC8qVpiN7KQewvjUxr2PA2lYv6boPLG X-Received: by 10.55.76.140 with SMTP id z134mr26221754qka.35.1496705558814; Mon, 05 Jun 2017 16:32:38 -0700 (PDT) MIME-Version: 1.0 Received: by 10.140.92.214 with HTTP; Mon, 5 Jun 2017 16:32:38 -0700 (PDT) In-Reply-To: <201706042139.v54LdcxW027238@repo.freebsd.org> References: <201706042139.v54LdcxW027238@repo.freebsd.org> From: Ngie Cooper Date: Mon, 5 Jun 2017 16:32:38 -0700 Message-ID: Subject: Re: svn commit: r319590 - head/tests/sys/aio To: Jilles Tjoelker 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-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2017 23:32:40 -0000 On Sun, Jun 4, 2017 at 2:39 PM, Jilles Tjoelker wrote: > Author: jilles > Date: Sun Jun 4 21:39:37 2017 > New Revision: 319590 > URL: https://svnweb.freebsd.org/changeset/base/319590 > > Log: > tests/sys/aio: Add missing mode to open() calls with O_CREAT. Thanks -- this will need to be MFCed. From owner-svn-src-all@freebsd.org Tue Jun 6 02:03:23 2017 Return-Path: Delivered-To: svn-src-all@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 BCD2CB9437A; Tue, 6 Jun 2017 02:03:23 +0000 (UTC) (envelope-from allanjude@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 8D5CD77B64; Tue, 6 Jun 2017 02:03:23 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5623Mnr031410; Tue, 6 Jun 2017 02:03:22 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5623M55031409; Tue, 6 Jun 2017 02:03:22 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201706060203.v5623M55031409@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Tue, 6 Jun 2017 02:03:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319610 - head/usr.sbin/sesutil X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 02:03:23 -0000 Author: allanjude Date: Tue Jun 6 02:03:22 2017 New Revision: 319610 URL: https://svnweb.freebsd.org/changeset/base/319610 Log: usr.sbin/sesutil: 'locate all off' does not deactivate empty slots PR: 217409 Reported by: asomers Reviewed by: asomers, bapt MFC after: 1 week Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D10458 Modified: head/usr.sbin/sesutil/sesutil.c Modified: head/usr.sbin/sesutil/sesutil.c ============================================================================== --- head/usr.sbin/sesutil/sesutil.c Mon Jun 5 20:18:55 2017 (r319609) +++ head/usr.sbin/sesutil/sesutil.c Tue Jun 6 02:03:22 2017 (r319610) @@ -252,6 +252,10 @@ sesled(int argc, char **argv, bool setfault) break; } for (j = 0; j < nobj; j++) { + if (all) { + do_led(fd, objp[j].elm_idx, onoff, setfault); + continue; + } memset(&objdn, 0, sizeof(objdn)); objdn.elm_idx = objp[j].elm_idx; objdn.elm_names_size = 128; @@ -265,11 +269,6 @@ sesled(int argc, char **argv, bool setfault) continue; } if (objdn.elm_names_len > 0) { - if (all) { - do_led(fd, objdn.elm_idx, - onoff, setfault); - continue; - } if (disk_match(objdn.elm_devnames, disk, len)) { do_led(fd, objdn.elm_idx, onoff, setfault); From owner-svn-src-all@freebsd.org Tue Jun 6 02:15:02 2017 Return-Path: Delivered-To: svn-src-all@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 A4CF7B94BB9; Tue, 6 Jun 2017 02:15:02 +0000 (UTC) (envelope-from allanjude@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 5A6E078324; Tue, 6 Jun 2017 02:15:02 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v562F1qk035686; Tue, 6 Jun 2017 02:15:01 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v562F167035683; Tue, 6 Jun 2017 02:15:01 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201706060215.v562F167035683@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Tue, 6 Jun 2017 02:15:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319611 - in head: sys/kern sys/sys usr.sbin/jail X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 02:15:02 -0000 Author: allanjude Date: Tue Jun 6 02:15:00 2017 New Revision: 319611 URL: https://svnweb.freebsd.org/changeset/base/319611 Log: Jails: Optionally prevent jailed root from binding to privileged ports You may now optionally specify allow.noreserved_ports to prevent root inside a jail from using privileged ports (less than 1024) PR: 217728 Submitted by: Matt Miller Reviewed by: jamie, cem, smh Relnotes: yes Differential Revision: https://reviews.freebsd.org/D10202 Modified: head/sys/kern/kern_jail.c head/sys/sys/jail.h head/usr.sbin/jail/jail.8 Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Tue Jun 6 02:03:22 2017 (r319610) +++ head/sys/kern/kern_jail.c Tue Jun 6 02:15:00 2017 (r319611) @@ -199,6 +199,7 @@ static char *pr_allow_names[] = { "allow.mount.fdescfs", "allow.mount.linprocfs", "allow.mount.linsysfs", + "allow.reserved_ports", }; const size_t pr_allow_names_size = sizeof(pr_allow_names); @@ -218,10 +219,11 @@ static char *pr_allow_nonames[] = { "allow.mount.nofdescfs", "allow.mount.nolinprocfs", "allow.mount.nolinsysfs", + "allow.noreserved_ports", }; const size_t pr_allow_nonames_size = sizeof(pr_allow_nonames); -#define JAIL_DEFAULT_ALLOW PR_ALLOW_SET_HOSTNAME +#define JAIL_DEFAULT_ALLOW (PR_ALLOW_SET_HOSTNAME | PR_ALLOW_RESERVED_PORTS) #define JAIL_DEFAULT_ENFORCE_STATFS 2 #define JAIL_DEFAULT_DEVFS_RSNUM 0 static unsigned jail_default_allow = JAIL_DEFAULT_ALLOW; @@ -3304,10 +3306,17 @@ prison_priv_check(struct ucred *cred, int priv) return (EPERM); /* - * Allow jailed root to bind reserved ports and reuse in-use - * ports. + * Conditionally allow jailed root to bind reserved ports. */ case PRIV_NETINET_RESERVEDPORT: + if (cred->cr_prison->pr_allow & PR_ALLOW_RESERVED_PORTS) + return (0); + else + return (EPERM); + + /* + * Allow jailed root to reuse in-use ports. + */ case PRIV_NETINET_REUSEPORT: return (0); @@ -3788,6 +3797,8 @@ SYSCTL_JAIL_PARAM(_allow, quotas, CTLTYPE_INT | CTLFLA "B", "Jail may set file quotas"); SYSCTL_JAIL_PARAM(_allow, socket_af, CTLTYPE_INT | CTLFLAG_RW, "B", "Jail may create sockets other than just UNIX/IPv4/IPv6/route"); +SYSCTL_JAIL_PARAM(_allow, reserved_ports, CTLTYPE_INT | CTLFLAG_RW, + "B", "Jail may bind sockets to reserved ports"); SYSCTL_JAIL_PARAM_SUBNODE(allow, mount, "Jail mount/unmount permission flags"); SYSCTL_JAIL_PARAM(_allow_mount, , CTLTYPE_INT | CTLFLAG_RW, Modified: head/sys/sys/jail.h ============================================================================== --- head/sys/sys/jail.h Tue Jun 6 02:03:22 2017 (r319610) +++ head/sys/sys/jail.h Tue Jun 6 02:15:00 2017 (r319611) @@ -230,7 +230,8 @@ struct prison_racct { #define PR_ALLOW_MOUNT_FDESCFS 0x1000 #define PR_ALLOW_MOUNT_LINPROCFS 0x2000 #define PR_ALLOW_MOUNT_LINSYSFS 0x4000 -#define PR_ALLOW_ALL 0x7fff +#define PR_ALLOW_RESERVED_PORTS 0x8000 +#define PR_ALLOW_ALL 0xffff /* * OSD methods Modified: head/usr.sbin/jail/jail.8 ============================================================================== --- head/usr.sbin/jail/jail.8 Tue Jun 6 02:03:22 2017 (r319610) +++ head/usr.sbin/jail/jail.8 Tue Jun 6 02:15:00 2017 (r319611) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 30, 2016 +.Dd June 5, 2017 .Dt JAIL 8 .Os .Sh NAME @@ -483,7 +483,9 @@ and uname -K. Some restrictions of the jail environment may be set on a per-jail basis. With the exception of -.Va allow.set_hostname , +.Va allow.set_hostname +and +.Va allow.reserved_ports , these boolean parameters are off by default. .Bl -tag -width indent .It Va allow.set_hostname @@ -611,6 +613,8 @@ with non-jailed parts of the system. Sockets within a jail are normally restricted to IPv4, IPv6, local (UNIX), and route. This allows access to other protocol stacks that have not had jail functionality added to them. +.It Va allow.reserved_ports +The jail root may bind to ports lower than 1024. .El .El .Pp From owner-svn-src-all@freebsd.org Tue Jun 6 03:32:19 2017 Return-Path: Delivered-To: svn-src-all@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 2F992BEF48A; Tue, 6 Jun 2017 03:32:19 +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 F27AC7B153; Tue, 6 Jun 2017 03:32:18 +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 v563WIvx068564; Tue, 6 Jun 2017 03:32:18 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v563WHax068562; Tue, 6 Jun 2017 03:32:17 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201706060332.v563WHax068562@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Tue, 6 Jun 2017 03:32:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319612 - in head/sys: kern vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 03:32:19 -0000 Author: alc Date: Tue Jun 6 03:32:17 2017 New Revision: 319612 URL: https://svnweb.freebsd.org/changeset/base/319612 Log: When the function blist_fill() was added to the kernel in r107913, the swap pager used a different scheme for striping the allocation of swap space across multiple devices. And, although blist_fill() was intended to support fill operations with large counts, the old striping scheme never performed a fill larger than the stripe size. Consequently, the misplacement of a sanity check in blst_meta_fill() went undetected. Now, moving forward in time to r118390, a new scheme for striping was introduced that maintained a blist allocator per device, but as noted in r318995, swapoff_one() was not fully and correctly converted to the new scheme. This change completes what was started in r318995 by fixing the underlying bug in blst_meta_fill() that stops swapoff_one() from simply performing a single blist_fill() operation. Reviewed by: kib MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D11043 Modified: head/sys/kern/subr_blist.c head/sys/vm/swap_pager.c Modified: head/sys/kern/subr_blist.c ============================================================================== --- head/sys/kern/subr_blist.c Tue Jun 6 02:15:00 2017 (r319611) +++ head/sys/kern/subr_blist.c Tue Jun 6 03:32:17 2017 (r319612) @@ -769,6 +769,8 @@ blst_meta_fill( int next_skip = ((u_int)skip / BLIST_META_RADIX); int nblks = 0; + if (count > radix) + panic("blist_meta_fill: allocation too large"); if (count == radix || scan->u.bmu_avail == 0) { /* * ALL-ALLOCATED special case @@ -799,9 +801,6 @@ blst_meta_fill( } else { radix /= BLIST_META_RADIX; } - - if (count > radix) - panic("blist_meta_fill: allocation too large"); i = (allocBlk - blk) / radix; blk += i * radix; Modified: head/sys/vm/swap_pager.c ============================================================================== --- head/sys/vm/swap_pager.c Tue Jun 6 02:15:00 2017 (r319611) +++ head/sys/vm/swap_pager.c Tue Jun 6 03:32:17 2017 (r319612) @@ -2271,7 +2271,7 @@ done: static int swapoff_one(struct swdevt *sp, struct ucred *cred) { - u_long nblks, dvbase; + u_long nblks; #ifdef MAC int error; #endif @@ -2300,14 +2300,7 @@ swapoff_one(struct swdevt *sp, struct ucred *cred) */ mtx_lock(&sw_dev_mtx); sp->sw_flags |= SW_CLOSING; - for (dvbase = 0; dvbase < nblks; dvbase += BLIST_BMAP_RADIX) { - /* - * blist_fill() cannot allocate more than BLIST_BMAP_RADIX - * blocks per call. - */ - swap_pager_avail -= blist_fill(sp->sw_blist, - dvbase, ulmin(nblks - dvbase, BLIST_BMAP_RADIX)); - } + swap_pager_avail -= blist_fill(sp->sw_blist, 0, nblks); swap_total -= (vm_ooffset_t)nblks * PAGE_SIZE; mtx_unlock(&sw_dev_mtx); From owner-svn-src-all@freebsd.org Tue Jun 6 03:40:47 2017 Return-Path: Delivered-To: svn-src-all@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 52055BEF670; Tue, 6 Jun 2017 03:40:47 +0000 (UTC) (envelope-from will@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 211DF7B438; Tue, 6 Jun 2017 03:40:47 +0000 (UTC) (envelope-from will@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v563ekaY068977; Tue, 6 Jun 2017 03:40:46 GMT (envelope-from will@FreeBSD.org) Received: (from will@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v563ektw068976; Tue, 6 Jun 2017 03:40:46 GMT (envelope-from will@FreeBSD.org) Message-Id: <201706060340.v563ektw068976@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: will set sender to will@FreeBSD.org using -f From: Will Andrews Date: Tue, 6 Jun 2017 03:40:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319613 - head/lib/libc/tests/stdlib X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 03:40:47 -0000 Author: will Date: Tue Jun 6 03:40:45 2017 New Revision: 319613 URL: https://svnweb.freebsd.org/changeset/base/319613 Log: tsearch_test: Test twalk & add some determinism. Modified: head/lib/libc/tests/stdlib/tsearch_test.c Modified: head/lib/libc/tests/stdlib/tsearch_test.c ============================================================================== --- head/lib/libc/tests/stdlib/tsearch_test.c Tue Jun 6 03:32:17 2017 (r319612) +++ head/lib/libc/tests/stdlib/tsearch_test.c Tue Jun 6 03:40:45 2017 (r319613) @@ -31,7 +31,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +static int n_nodes = 0; +static int n_seen = 0; + /* Validates the integrity of an AVL tree. */ static inline unsigned int tnode_assert(const posix_tnode *n) @@ -57,6 +61,14 @@ compar(const void *a, const void *b) return *(int *)a - *(int *)b; } +static void +treewalk(const posix_tnode *node, VISIT v, int level) +{ + + if (v == postorder || v == leaf) + n_seen++; +} + ATF_TC_WITHOUT_HEAD(tsearch_test); ATF_TC_BODY(tsearch_test, tc) { @@ -83,11 +95,22 @@ ATF_TC_BODY(tsearch_test, tc) bool present[NKEYS] = {}; for (int i = 0; i < NKEYS * 10; ++i) { int key = nrand48(random_state) % NKEYS; - switch (nrand48(random_state) % 3) { + int sample = i; + + /* + * Ensure each case is tested at least 10 times, plus a + * random sampling. + */ + if ((sample % NKEYS) > 3) + sample = nrand48(random_state) % 3; + + switch (sample) { case 0: /* tdelete(). */ if (present[key]) { ATF_CHECK(tdelete(&key, &root, compar) != NULL); present[key] = false; + ATF_CHECK(n_nodes > 0); + n_nodes--; } else { ATF_CHECK_EQ(NULL, tdelete(&key, &root, compar)); @@ -109,11 +132,16 @@ ATF_TC_BODY(tsearch_test, tc) ATF_CHECK_EQ(&keys[key], *(int **)tsearch( &keys[key], &root, compar)); present[key] = true; + n_nodes++; } break; } tnode_assert(root); } + + /* Walk the tree. */ + twalk(root, treewalk); + ATF_CHECK_EQ(n_nodes, n_seen); /* Remove all entries from the tree. */ for (int key = 0; key < NKEYS; ++key) From owner-svn-src-all@freebsd.org Tue Jun 6 07:21:36 2017 Return-Path: Delivered-To: svn-src-all@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 20B95BF884B; Tue, 6 Jun 2017 07:21:36 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CAC9381293; Tue, 6 Jun 2017 07:21:35 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v567LZmx060462; Tue, 6 Jun 2017 07:21:35 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v567LYt7060023; Tue, 6 Jun 2017 07:21:34 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201706060721.v567LYt7060023@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Tue, 6 Jun 2017 07:21:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319614 - in stable/11: lib/libc/rpc lib/libc/xdr sys/rpc sys/xdr usr.sbin/rpcbind X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 07:21:36 -0000 Author: delphij Date: Tue Jun 6 07:21:33 2017 New Revision: 319614 URL: https://svnweb.freebsd.org/changeset/base/319614 Log: MFC r319369: * limit size of buffers to RPC_MAXDATASIZE * don't leak memory * be more picky about bad parameters From: https://raw.githubusercontent.com/guidovranken/rpcbomb/master/libtirpc_patch.txt https://github.com/guidovranken/rpcbomb/blob/master/rpcbind_patch.txt via NetBSD. Approved by: re (kib) Modified: stable/11/lib/libc/rpc/rpc_generic.c stable/11/lib/libc/rpc/rpcb_prot.c stable/11/lib/libc/rpc/rpcb_st_xdr.c stable/11/lib/libc/xdr/xdr.c stable/11/sys/rpc/rpc_generic.c stable/11/sys/rpc/rpcb_clnt.c stable/11/sys/rpc/rpcb_prot.c stable/11/sys/xdr/xdr.c stable/11/usr.sbin/rpcbind/rpcb_svc_com.c Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/rpc/rpc_generic.c ============================================================================== --- stable/11/lib/libc/rpc/rpc_generic.c Tue Jun 6 03:40:45 2017 (r319613) +++ stable/11/lib/libc/rpc/rpc_generic.c Tue Jun 6 07:21:33 2017 (r319614) @@ -609,6 +609,8 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf switch (af) { case AF_INET: + if (nbuf->len < sizeof(*sin)) + return NULL; sin = nbuf->buf; if (inet_ntop(af, &sin->sin_addr, namebuf, sizeof namebuf) == NULL) @@ -620,6 +622,8 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf break; #ifdef INET6 case AF_INET6: + if (nbuf->len < sizeof(*sin6)) + return NULL; sin6 = nbuf->buf; if (inet_ntop(af, &sin6->sin6_addr, namebuf6, sizeof namebuf6) == NULL) @@ -658,6 +662,10 @@ __rpc_uaddr2taddr_af(int af, const char *uaddr) port = 0; sin = NULL; + + if (uaddr == NULL) + return NULL; + addrstr = strdup(uaddr); if (addrstr == NULL) return NULL; Modified: stable/11/lib/libc/rpc/rpcb_prot.c ============================================================================== --- stable/11/lib/libc/rpc/rpcb_prot.c Tue Jun 6 03:40:45 2017 (r319613) +++ stable/11/lib/libc/rpc/rpcb_prot.c Tue Jun 6 07:21:33 2017 (r319614) @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "un-namespace.h" bool_t @@ -62,13 +63,13 @@ xdr_rpcb(XDR *xdrs, RPCB *objp) if (!xdr_rpcvers(xdrs, &objp->r_vers)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_netid, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_addr, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_addr, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_owner, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_owner, RPC_MAXDATASIZE)) { return (FALSE); } return (TRUE); @@ -162,19 +163,19 @@ xdr_rpcblist(XDR *xdrs, RPCBLIST **rp) bool_t xdr_rpcb_entry(XDR *xdrs, rpcb_entry *objp) { - if (!xdr_string(xdrs, &objp->r_maddr, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_maddr, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_netid, RPC_MAXDATASIZE)) { return (FALSE); } if (!xdr_u_int32_t(xdrs, &objp->r_nc_semantics)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_protofmly, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_protofmly, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_proto, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_proto, RPC_MAXDATASIZE)) { return (FALSE); } return (TRUE); @@ -289,7 +290,7 @@ xdr_rpcb_rmtcallres(XDR *xdrs, struct rpcb_rmtcallres bool_t dummy; struct r_rpcb_rmtcallres *objp = (struct r_rpcb_rmtcallres *)(void *)p; - if (!xdr_string(xdrs, &objp->addr, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->addr, RPC_MAXDATASIZE)) { return (FALSE); } if (!xdr_u_int(xdrs, &objp->results.results_len)) { Modified: stable/11/lib/libc/rpc/rpcb_st_xdr.c ============================================================================== --- stable/11/lib/libc/rpc/rpcb_st_xdr.c Tue Jun 6 03:40:45 2017 (r319613) +++ stable/11/lib/libc/rpc/rpcb_st_xdr.c Tue Jun 6 07:21:33 2017 (r319614) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include "namespace.h" #include +#include #include "un-namespace.h" /* Link list of all the stats about getport and getaddr */ @@ -63,7 +64,7 @@ xdr_rpcbs_addrlist(XDR *xdrs, rpcbs_addrlist *objp) if (!xdr_int(xdrs, &objp->failure)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { return (FALSE); } @@ -115,7 +116,7 @@ xdr_rpcbs_rmtcalllist(XDR *xdrs, rpcbs_rmtcalllist *ob IXDR_PUT_INT32(buf, objp->failure); IXDR_PUT_INT32(buf, objp->indirect); } - if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { return (FALSE); } pnext = &objp->next; @@ -154,7 +155,7 @@ xdr_rpcbs_rmtcalllist(XDR *xdrs, rpcbs_rmtcalllist *ob objp->failure = (int)IXDR_GET_INT32(buf); objp->indirect = (int)IXDR_GET_INT32(buf); } - if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { return (FALSE); } if (!xdr_pointer(xdrs, (char **) pnext, @@ -182,7 +183,7 @@ xdr_rpcbs_rmtcalllist(XDR *xdrs, rpcbs_rmtcalllist *ob if (!xdr_int(xdrs, &objp->indirect)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { return (FALSE); } if (!xdr_pointer(xdrs, (char **) pnext, Modified: stable/11/lib/libc/xdr/xdr.c ============================================================================== --- stable/11/lib/libc/xdr/xdr.c Tue Jun 6 03:40:45 2017 (r319613) +++ stable/11/lib/libc/xdr/xdr.c Tue Jun 6 07:21:33 2017 (r319614) @@ -52,6 +52,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include #include #include "un-namespace.h" @@ -64,7 +66,6 @@ typedef u_quad_t u_longlong_t; /* ANSI unsign */ #define XDR_FALSE ((long) 0) #define XDR_TRUE ((long) 1) -#define LASTUNSIGNED ((u_int) 0-1) /* * for unit alignment @@ -561,6 +562,7 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int m { char *sp = *cpp; /* sp is the actual string pointer */ u_int nodesize; + bool_t ret, allocated = FALSE; /* * first deal with the length since xdr bytes are counted @@ -584,6 +586,7 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int m } if (sp == NULL) { *cpp = sp = mem_alloc(nodesize); + allocated = TRUE; } if (sp == NULL) { warnx("xdr_bytes: out of memory"); @@ -592,7 +595,14 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int m /* FALLTHROUGH */ case XDR_ENCODE: - return (xdr_opaque(xdrs, sp, nodesize)); + ret = xdr_opaque(xdrs, sp, nodesize); + if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { + if (allocated == TRUE) { + free(sp); + *cpp = NULL; + } + } + return (ret); case XDR_FREE: if (sp != NULL) { @@ -683,6 +693,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) char *sp = *cpp; /* sp is the actual string pointer */ u_int size; u_int nodesize; + bool_t ret, allocated = FALSE; /* * first deal with the length since xdr strings are counted-strings @@ -716,8 +727,10 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) if (nodesize == 0) { return (TRUE); } - if (sp == NULL) + if (sp == NULL) { *cpp = sp = mem_alloc(nodesize); + allocated = TRUE; + } if (sp == NULL) { warnx("xdr_string: out of memory"); return (FALSE); @@ -726,7 +739,14 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) /* FALLTHROUGH */ case XDR_ENCODE: - return (xdr_opaque(xdrs, sp, size)); + ret = xdr_opaque(xdrs, sp, size); + if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { + if (allocated == TRUE) { + free(sp); + *cpp = NULL; + } + } + return (ret); case XDR_FREE: mem_free(sp, nodesize); @@ -744,7 +764,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) bool_t xdr_wrapstring(XDR *xdrs, char **cpp) { - return xdr_string(xdrs, cpp, LASTUNSIGNED); + return xdr_string(xdrs, cpp, RPC_MAXDATASIZE); } /* Modified: stable/11/sys/rpc/rpc_generic.c ============================================================================== --- stable/11/sys/rpc/rpc_generic.c Tue Jun 6 03:40:45 2017 (r319613) +++ stable/11/sys/rpc/rpc_generic.c Tue Jun 6 07:21:33 2017 (r319614) @@ -311,6 +311,8 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf switch (af) { case AF_INET: + if (nbuf->len < sizeof(*sin)) + return NULL; sin = nbuf->buf; if (inet_ntop(af, &sin->sin_addr, namebuf, sizeof namebuf) == NULL) @@ -323,6 +325,8 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf break; #ifdef INET6 case AF_INET6: + if (nbuf->len < sizeof(*sin6)) + return NULL; sin6 = nbuf->buf; if (inet_ntop(af, &sin6->sin6_addr, namebuf6, sizeof namebuf6) == NULL) @@ -366,6 +370,10 @@ __rpc_uaddr2taddr_af(int af, const char *uaddr) port = 0; sin = NULL; + + if (uaddr == NULL) + return NULL; + addrstr = strdup(uaddr, M_RPC); if (addrstr == NULL) return NULL; Modified: stable/11/sys/rpc/rpcb_clnt.c ============================================================================== --- stable/11/sys/rpc/rpcb_clnt.c Tue Jun 6 03:40:45 2017 (r319613) +++ stable/11/sys/rpc/rpcb_clnt.c Tue Jun 6 07:21:33 2017 (r319614) @@ -1287,6 +1287,11 @@ xdr_netbuf(XDR *xdrs, struct netbuf *objp) return (FALSE); } pp = &objp->buf; + + if (objp->maxlen > RPC_MAXDATASIZE) { + return (FALSE); + } + dummy = xdr_bytes(xdrs, (char **) pp, (u_int *)&(objp->len), objp->maxlen); return (dummy); Modified: stable/11/sys/rpc/rpcb_prot.c ============================================================================== --- stable/11/sys/rpc/rpcb_prot.c Tue Jun 6 03:40:45 2017 (r319613) +++ stable/11/sys/rpc/rpcb_prot.c Tue Jun 6 07:21:33 2017 (r319614) @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include bool_t @@ -74,13 +75,13 @@ xdr_rpcb(XDR *xdrs, RPCB *objp) if (!xdr_uint32_t(xdrs, &objp->r_vers)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_netid, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_addr, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_addr, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_owner, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_owner, RPC_MAXDATASIZE)) { return (FALSE); } return (TRUE); @@ -175,19 +176,19 @@ xdr_rpcblist(XDR *xdrs, RPCBLIST **rp) bool_t xdr_rpcb_entry(XDR *xdrs, rpcb_entry *objp) { - if (!xdr_string(xdrs, &objp->r_maddr, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_maddr, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_netid, RPC_MAXDATASIZE)) { return (FALSE); } if (!xdr_uint32_t(xdrs, &objp->r_nc_semantics)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_protofmly, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_protofmly, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_proto, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_proto, RPC_MAXDATASIZE)) { return (FALSE); } return (TRUE); Modified: stable/11/sys/xdr/xdr.c ============================================================================== --- stable/11/sys/xdr/xdr.c Tue Jun 6 03:40:45 2017 (r319613) +++ stable/11/sys/xdr/xdr.c Tue Jun 6 07:21:33 2017 (r319614) @@ -51,6 +51,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include #include @@ -62,7 +64,6 @@ typedef u_quad_t u_longlong_t; /* ANSI unsign */ #define XDR_FALSE ((long) 0) #define XDR_TRUE ((long) 1) -#define LASTUNSIGNED ((u_int) 0-1) /* * for unit alignment @@ -503,6 +504,7 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int m { char *sp = *cpp; /* sp is the actual string pointer */ u_int nodesize; + bool_t ret, allocated = FALSE; /* * first deal with the length since xdr bytes are counted @@ -526,6 +528,7 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int m } if (sp == NULL) { *cpp = sp = mem_alloc(nodesize); + allocated = TRUE; } if (sp == NULL) { printf("xdr_bytes: out of memory"); @@ -534,7 +537,14 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int m /* FALLTHROUGH */ case XDR_ENCODE: - return (xdr_opaque(xdrs, sp, nodesize)); + ret = xdr_opaque(xdrs, sp, nodesize); + if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { + if (allocated == TRUE) { + mem_free(sp, nodesize); + *cpp = NULL; + } + } + return (ret); case XDR_FREE: if (sp != NULL) { @@ -622,6 +632,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) char *sp = *cpp; /* sp is the actual string pointer */ u_int size; u_int nodesize; + bool_t ret, allocated = FALSE; /* * first deal with the length since xdr strings are counted-strings @@ -655,8 +666,10 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) if (nodesize == 0) { return (TRUE); } - if (sp == NULL) + if (sp == NULL) { *cpp = sp = mem_alloc(nodesize); + allocated = TRUE; + } if (sp == NULL) { printf("xdr_string: out of memory"); return (FALSE); @@ -665,7 +678,14 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) /* FALLTHROUGH */ case XDR_ENCODE: - return (xdr_opaque(xdrs, sp, size)); + ret = xdr_opaque(xdrs, sp, size); + if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { + if (allocated == TRUE) { + mem_free(sp, nodesize); + *cpp = NULL; + } + } + return (ret); case XDR_FREE: mem_free(sp, nodesize); @@ -683,7 +703,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) bool_t xdr_wrapstring(XDR *xdrs, char **cpp) { - return xdr_string(xdrs, cpp, LASTUNSIGNED); + return xdr_string(xdrs, cpp, RPC_MAXDATASIZE); } /* Modified: stable/11/usr.sbin/rpcbind/rpcb_svc_com.c ============================================================================== --- stable/11/usr.sbin/rpcbind/rpcb_svc_com.c Tue Jun 6 03:40:45 2017 (r319613) +++ stable/11/usr.sbin/rpcbind/rpcb_svc_com.c Tue Jun 6 07:21:33 2017 (r319614) @@ -55,6 +55,7 @@ #include #ifdef PORTMAP #include +#include #include #endif /* PORTMAP */ #include @@ -418,7 +419,8 @@ rpcbproc_taddr2uaddr_com(void *arg, struct svc_req *rq static bool_t xdr_encap_parms(XDR *xdrs, struct encap_parms *epp) { - return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), ~0)); + return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), + RPC_MAXDATASIZE)); } /* From owner-svn-src-all@freebsd.org Tue Jun 6 07:22:28 2017 Return-Path: Delivered-To: svn-src-all@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 EA311BF89C9; Tue, 6 Jun 2017 07:22:28 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A088781558; Tue, 6 Jun 2017 07:22:28 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v567MR8r062662; Tue, 6 Jun 2017 07:22:27 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v567MQmN062652; Tue, 6 Jun 2017 07:22:26 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201706060722.v567MQmN062652@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Tue, 6 Jun 2017 07:22:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r319615 - in stable/10: lib/libc/rpc lib/libc/xdr sys/rpc sys/xdr usr.sbin/rpcbind X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 07:22:29 -0000 Author: delphij Date: Tue Jun 6 07:22:26 2017 New Revision: 319615 URL: https://svnweb.freebsd.org/changeset/base/319615 Log: MFC r319369: * limit size of buffers to RPC_MAXDATASIZE * don't leak memory * be more picky about bad parameters From: https://raw.githubusercontent.com/guidovranken/rpcbomb/master/libtirpc_patch.txt https://github.com/guidovranken/rpcbomb/blob/master/rpcbind_patch.txt via NetBSD. Modified: stable/10/lib/libc/rpc/rpc_generic.c stable/10/lib/libc/rpc/rpcb_prot.c stable/10/lib/libc/rpc/rpcb_st_xdr.c stable/10/lib/libc/xdr/xdr.c stable/10/sys/rpc/rpc_generic.c stable/10/sys/rpc/rpcb_clnt.c stable/10/sys/rpc/rpcb_prot.c stable/10/sys/xdr/xdr.c stable/10/usr.sbin/rpcbind/rpcb_svc_com.c Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libc/rpc/rpc_generic.c ============================================================================== --- stable/10/lib/libc/rpc/rpc_generic.c Tue Jun 6 07:21:33 2017 (r319614) +++ stable/10/lib/libc/rpc/rpc_generic.c Tue Jun 6 07:22:26 2017 (r319615) @@ -610,6 +610,8 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf switch (af) { case AF_INET: + if (nbuf->len < sizeof(*sin)) + return NULL; sin = nbuf->buf; if (inet_ntop(af, &sin->sin_addr, namebuf, sizeof namebuf) == NULL) @@ -621,6 +623,8 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf break; #ifdef INET6 case AF_INET6: + if (nbuf->len < sizeof(*sin6)) + return NULL; sin6 = nbuf->buf; if (inet_ntop(af, &sin6->sin6_addr, namebuf6, sizeof namebuf6) == NULL) @@ -659,6 +663,10 @@ __rpc_uaddr2taddr_af(int af, const char *uaddr) port = 0; sin = NULL; + + if (uaddr == NULL) + return NULL; + addrstr = strdup(uaddr); if (addrstr == NULL) return NULL; Modified: stable/10/lib/libc/rpc/rpcb_prot.c ============================================================================== --- stable/10/lib/libc/rpc/rpcb_prot.c Tue Jun 6 07:21:33 2017 (r319614) +++ stable/10/lib/libc/rpc/rpcb_prot.c Tue Jun 6 07:22:26 2017 (r319615) @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "un-namespace.h" bool_t @@ -62,13 +63,13 @@ xdr_rpcb(XDR *xdrs, RPCB *objp) if (!xdr_rpcvers(xdrs, &objp->r_vers)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_netid, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_addr, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_addr, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_owner, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_owner, RPC_MAXDATASIZE)) { return (FALSE); } return (TRUE); @@ -162,19 +163,19 @@ xdr_rpcblist(XDR *xdrs, RPCBLIST **rp) bool_t xdr_rpcb_entry(XDR *xdrs, rpcb_entry *objp) { - if (!xdr_string(xdrs, &objp->r_maddr, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_maddr, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_netid, RPC_MAXDATASIZE)) { return (FALSE); } if (!xdr_u_int32_t(xdrs, &objp->r_nc_semantics)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_protofmly, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_protofmly, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_proto, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_proto, RPC_MAXDATASIZE)) { return (FALSE); } return (TRUE); @@ -289,7 +290,7 @@ xdr_rpcb_rmtcallres(XDR *xdrs, struct rpcb_rmtcallres bool_t dummy; struct r_rpcb_rmtcallres *objp = (struct r_rpcb_rmtcallres *)(void *)p; - if (!xdr_string(xdrs, &objp->addr, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->addr, RPC_MAXDATASIZE)) { return (FALSE); } if (!xdr_u_int(xdrs, &objp->results.results_len)) { Modified: stable/10/lib/libc/rpc/rpcb_st_xdr.c ============================================================================== --- stable/10/lib/libc/rpc/rpcb_st_xdr.c Tue Jun 6 07:21:33 2017 (r319614) +++ stable/10/lib/libc/rpc/rpcb_st_xdr.c Tue Jun 6 07:22:26 2017 (r319615) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include "namespace.h" #include +#include #include "un-namespace.h" /* Link list of all the stats about getport and getaddr */ @@ -63,7 +64,7 @@ xdr_rpcbs_addrlist(XDR *xdrs, rpcbs_addrlist *objp) if (!xdr_int(xdrs, &objp->failure)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { return (FALSE); } @@ -115,7 +116,7 @@ xdr_rpcbs_rmtcalllist(XDR *xdrs, rpcbs_rmtcalllist *ob IXDR_PUT_INT32(buf, objp->failure); IXDR_PUT_INT32(buf, objp->indirect); } - if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { return (FALSE); } pnext = &objp->next; @@ -154,7 +155,7 @@ xdr_rpcbs_rmtcalllist(XDR *xdrs, rpcbs_rmtcalllist *ob objp->failure = (int)IXDR_GET_INT32(buf); objp->indirect = (int)IXDR_GET_INT32(buf); } - if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { return (FALSE); } if (!xdr_pointer(xdrs, (char **) pnext, @@ -182,7 +183,7 @@ xdr_rpcbs_rmtcalllist(XDR *xdrs, rpcbs_rmtcalllist *ob if (!xdr_int(xdrs, &objp->indirect)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->netid, RPC_MAXDATASIZE)) { return (FALSE); } if (!xdr_pointer(xdrs, (char **) pnext, Modified: stable/10/lib/libc/xdr/xdr.c ============================================================================== --- stable/10/lib/libc/xdr/xdr.c Tue Jun 6 07:21:33 2017 (r319614) +++ stable/10/lib/libc/xdr/xdr.c Tue Jun 6 07:22:26 2017 (r319615) @@ -52,6 +52,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include #include #include "un-namespace.h" @@ -64,7 +66,6 @@ typedef u_quad_t u_longlong_t; /* ANSI unsign */ #define XDR_FALSE ((long) 0) #define XDR_TRUE ((long) 1) -#define LASTUNSIGNED ((u_int) 0-1) /* * for unit alignment @@ -602,6 +603,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) { char *sp = *cpp; /* sp is the actual string pointer */ u_int nodesize; + bool_t ret, allocated = FALSE; /* * first deal with the length since xdr bytes are counted @@ -625,6 +627,7 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) } if (sp == NULL) { *cpp = sp = mem_alloc(nodesize); + allocated = TRUE; } if (sp == NULL) { warnx("xdr_bytes: out of memory"); @@ -633,7 +636,14 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) /* FALLTHROUGH */ case XDR_ENCODE: - return (xdr_opaque(xdrs, sp, nodesize)); + ret = xdr_opaque(xdrs, sp, nodesize); + if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { + if (allocated == TRUE) { + free(sp); + *cpp = NULL; + } + } + return (ret); case XDR_FREE: if (sp != NULL) { @@ -727,6 +737,7 @@ xdr_string(xdrs, cpp, maxsize) char *sp = *cpp; /* sp is the actual string pointer */ u_int size; u_int nodesize; + bool_t ret, allocated = FALSE; /* * first deal with the length since xdr strings are counted-strings @@ -760,8 +771,10 @@ xdr_string(xdrs, cpp, maxsize) if (nodesize == 0) { return (TRUE); } - if (sp == NULL) + if (sp == NULL) { *cpp = sp = mem_alloc(nodesize); + allocated = TRUE; + } if (sp == NULL) { warnx("xdr_string: out of memory"); return (FALSE); @@ -770,7 +783,14 @@ xdr_string(xdrs, cpp, maxsize) /* FALLTHROUGH */ case XDR_ENCODE: - return (xdr_opaque(xdrs, sp, size)); + ret = xdr_opaque(xdrs, sp, size); + if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { + if (allocated == TRUE) { + free(sp); + *cpp = NULL; + } + } + return (ret); case XDR_FREE: mem_free(sp, nodesize); @@ -790,7 +810,7 @@ xdr_wrapstring(xdrs, cpp) XDR *xdrs; char **cpp; { - return xdr_string(xdrs, cpp, LASTUNSIGNED); + return xdr_string(xdrs, cpp, RPC_MAXDATASIZE); } /* Modified: stable/10/sys/rpc/rpc_generic.c ============================================================================== --- stable/10/sys/rpc/rpc_generic.c Tue Jun 6 07:21:33 2017 (r319614) +++ stable/10/sys/rpc/rpc_generic.c Tue Jun 6 07:22:26 2017 (r319615) @@ -311,6 +311,8 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf switch (af) { case AF_INET: + if (nbuf->len < sizeof(*sin)) + return NULL; sin = nbuf->buf; if (inet_ntop(af, &sin->sin_addr, namebuf, sizeof namebuf) == NULL) @@ -323,6 +325,8 @@ __rpc_taddr2uaddr_af(int af, const struct netbuf *nbuf break; #ifdef INET6 case AF_INET6: + if (nbuf->len < sizeof(*sin6)) + return NULL; sin6 = nbuf->buf; if (inet_ntop(af, &sin6->sin6_addr, namebuf6, sizeof namebuf6) == NULL) @@ -366,6 +370,10 @@ __rpc_uaddr2taddr_af(int af, const char *uaddr) port = 0; sin = NULL; + + if (uaddr == NULL) + return NULL; + addrstr = strdup(uaddr, M_RPC); if (addrstr == NULL) return NULL; Modified: stable/10/sys/rpc/rpcb_clnt.c ============================================================================== --- stable/10/sys/rpc/rpcb_clnt.c Tue Jun 6 07:21:33 2017 (r319614) +++ stable/10/sys/rpc/rpcb_clnt.c Tue Jun 6 07:22:26 2017 (r319615) @@ -1287,6 +1287,11 @@ xdr_netbuf(XDR *xdrs, struct netbuf *objp) return (FALSE); } pp = &objp->buf; + + if (objp->maxlen > RPC_MAXDATASIZE) { + return (FALSE); + } + dummy = xdr_bytes(xdrs, (char **) pp, (u_int *)&(objp->len), objp->maxlen); return (dummy); Modified: stable/10/sys/rpc/rpcb_prot.c ============================================================================== --- stable/10/sys/rpc/rpcb_prot.c Tue Jun 6 07:21:33 2017 (r319614) +++ stable/10/sys/rpc/rpcb_prot.c Tue Jun 6 07:22:26 2017 (r319615) @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include bool_t @@ -74,13 +75,13 @@ xdr_rpcb(XDR *xdrs, RPCB *objp) if (!xdr_uint32_t(xdrs, &objp->r_vers)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_netid, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_addr, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_addr, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_owner, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_owner, RPC_MAXDATASIZE)) { return (FALSE); } return (TRUE); @@ -175,19 +176,19 @@ xdr_rpcblist(XDR *xdrs, RPCBLIST **rp) bool_t xdr_rpcb_entry(XDR *xdrs, rpcb_entry *objp) { - if (!xdr_string(xdrs, &objp->r_maddr, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_maddr, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_netid, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_netid, RPC_MAXDATASIZE)) { return (FALSE); } if (!xdr_uint32_t(xdrs, &objp->r_nc_semantics)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_protofmly, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_protofmly, RPC_MAXDATASIZE)) { return (FALSE); } - if (!xdr_string(xdrs, &objp->r_nc_proto, (u_int)~0)) { + if (!xdr_string(xdrs, &objp->r_nc_proto, RPC_MAXDATASIZE)) { return (FALSE); } return (TRUE); Modified: stable/10/sys/xdr/xdr.c ============================================================================== --- stable/10/sys/xdr/xdr.c Tue Jun 6 07:21:33 2017 (r319614) +++ stable/10/sys/xdr/xdr.c Tue Jun 6 07:22:26 2017 (r319615) @@ -51,6 +51,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include #include @@ -62,7 +64,6 @@ typedef u_quad_t u_longlong_t; /* ANSI unsign */ #define XDR_FALSE ((long) 0) #define XDR_TRUE ((long) 1) -#define LASTUNSIGNED ((u_int) 0-1) /* * for unit alignment @@ -503,6 +504,7 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int m { char *sp = *cpp; /* sp is the actual string pointer */ u_int nodesize; + bool_t ret, allocated = FALSE; /* * first deal with the length since xdr bytes are counted @@ -526,6 +528,7 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int m } if (sp == NULL) { *cpp = sp = mem_alloc(nodesize); + allocated = TRUE; } if (sp == NULL) { printf("xdr_bytes: out of memory"); @@ -534,7 +537,14 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int m /* FALLTHROUGH */ case XDR_ENCODE: - return (xdr_opaque(xdrs, sp, nodesize)); + ret = xdr_opaque(xdrs, sp, nodesize); + if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { + if (allocated == TRUE) { + mem_free(sp, nodesize); + *cpp = NULL; + } + } + return (ret); case XDR_FREE: if (sp != NULL) { @@ -622,6 +632,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) char *sp = *cpp; /* sp is the actual string pointer */ u_int size; u_int nodesize; + bool_t ret, allocated = FALSE; /* * first deal with the length since xdr strings are counted-strings @@ -655,8 +666,10 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) if (nodesize == 0) { return (TRUE); } - if (sp == NULL) + if (sp == NULL) { *cpp = sp = mem_alloc(nodesize); + allocated = TRUE; + } if (sp == NULL) { printf("xdr_string: out of memory"); return (FALSE); @@ -665,7 +678,14 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) /* FALLTHROUGH */ case XDR_ENCODE: - return (xdr_opaque(xdrs, sp, size)); + ret = xdr_opaque(xdrs, sp, size); + if ((xdrs->x_op == XDR_DECODE) && (ret == FALSE)) { + if (allocated == TRUE) { + mem_free(sp, nodesize); + *cpp = NULL; + } + } + return (ret); case XDR_FREE: mem_free(sp, nodesize); @@ -683,7 +703,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) bool_t xdr_wrapstring(XDR *xdrs, char **cpp) { - return xdr_string(xdrs, cpp, LASTUNSIGNED); + return xdr_string(xdrs, cpp, RPC_MAXDATASIZE); } /* Modified: stable/10/usr.sbin/rpcbind/rpcb_svc_com.c ============================================================================== --- stable/10/usr.sbin/rpcbind/rpcb_svc_com.c Tue Jun 6 07:21:33 2017 (r319614) +++ stable/10/usr.sbin/rpcbind/rpcb_svc_com.c Tue Jun 6 07:22:26 2017 (r319615) @@ -56,6 +56,7 @@ #include #ifdef PORTMAP #include +#include #include #endif /* PORTMAP */ #include @@ -419,7 +420,8 @@ rpcbproc_taddr2uaddr_com(void *arg, struct svc_req *rq static bool_t xdr_encap_parms(XDR *xdrs, struct encap_parms *epp) { - return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), ~0)); + return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), + RPC_MAXDATASIZE)); } /* From owner-svn-src-all@freebsd.org Tue Jun 6 08:33:21 2017 Return-Path: Delivered-To: svn-src-all@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 7BB1ABFA031; Tue, 6 Jun 2017 08:33:21 +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 497CF835BC; Tue, 6 Jun 2017 08:33:21 +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 v568XKFb091574; Tue, 6 Jun 2017 08:33:20 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v568XKqg091573; Tue, 6 Jun 2017 08:33:20 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706060833.v568XKqg091573@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 6 Jun 2017 08:33:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319616 - stable/11/sys/amd64/include X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 08:33:21 -0000 Author: trasz Date: Tue Jun 6 08:33:19 2017 New Revision: 319616 URL: https://svnweb.freebsd.org/changeset/base/319616 Log: MFC r318398: Bump default MAXTSIZ (kern.maxtsiz) from 128MB to 32GB. The old limit prevents one from running eg clang built with debug; the new one is arbitrary (equal to MAXDSIZ) and... well, should be quite future-proof. Same fix might be applicable to other 64 bit architectures; I'll ask their respective maintainers to make sure it won't break anything. Approved by: re (kib) Modified: stable/11/sys/amd64/include/vmparam.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/include/vmparam.h ============================================================================== --- stable/11/sys/amd64/include/vmparam.h Tue Jun 6 07:22:26 2017 (r319615) +++ stable/11/sys/amd64/include/vmparam.h Tue Jun 6 08:33:19 2017 (r319616) @@ -52,7 +52,7 @@ /* * Virtual memory related constants, all in bytes */ -#define MAXTSIZ (128UL*1024*1024) /* max text size */ +#define MAXTSIZ (32768UL*1024*1024) /* max text size */ #ifndef DFLDSIZ #define DFLDSIZ (32768UL*1024*1024) /* initial data size limit */ #endif From owner-svn-src-all@freebsd.org Tue Jun 6 08:55:12 2017 Return-Path: Delivered-To: svn-src-all@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 CFD3DBFA692; Tue, 6 Jun 2017 08:55:12 +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 988058420A; Tue, 6 Jun 2017 08:55:12 +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 v568tBj8000730; Tue, 6 Jun 2017 08:55:11 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v568tB27000729; Tue, 6 Jun 2017 08:55:11 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706060855.v568tB27000729@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 6 Jun 2017 08:55:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319617 - stable/11/etc/mtree X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 08:55:12 -0000 Author: trasz Date: Tue Jun 6 08:55:11 2017 New Revision: 319617 URL: https://svnweb.freebsd.org/changeset/base/319617 Log: MFC r318861: Create /net by default, for autofs. Approved by: re (kib) Modified: stable/11/etc/mtree/BSD.root.dist Directory Properties: stable/11/ (props changed) Modified: stable/11/etc/mtree/BSD.root.dist ============================================================================== --- stable/11/etc/mtree/BSD.root.dist Tue Jun 6 08:33:19 2017 (r319616) +++ stable/11/etc/mtree/BSD.root.dist Tue Jun 6 08:55:11 2017 (r319617) @@ -97,6 +97,8 @@ .. mnt .. + net + .. proc mode=0555 .. rescue From owner-svn-src-all@freebsd.org Tue Jun 6 09:23:15 2017 Return-Path: Delivered-To: svn-src-all@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 24FA8BFB0E3; Tue, 6 Jun 2017 09:23:15 +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 EF86884FBB; Tue, 6 Jun 2017 09:23:14 +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 v569NDbU013908; Tue, 6 Jun 2017 09:23:13 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v569ND38013897; Tue, 6 Jun 2017 09:23:13 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706060923.v569ND38013897@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 6 Jun 2017 09:23:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319618 - in stable/11: lib/lib80211 lib/libc/net lib/libc/sys lib/libpmc share/man/man4 share/man/man7 usr.sbin/pmcstudy X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 09:23:15 -0000 Author: trasz Date: Tue Jun 6 09:23:12 2017 New Revision: 319618 URL: https://svnweb.freebsd.org/changeset/base/319618 Log: MFC r318816: Don't end up manpage titles with a full stop. Approved by: re (marius) Modified: stable/11/lib/lib80211/lib80211.3 stable/11/lib/libc/net/sctp_bindx.3 stable/11/lib/libc/net/sctp_getassocid.3 stable/11/lib/libc/sys/setfib.2 stable/11/lib/libpmc/pmc_event_names_of_class.3 stable/11/share/man/man4/mmcsd.4 stable/11/share/man/man7/growfs.7 stable/11/usr.sbin/pmcstudy/pmcstudy.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/lib80211/lib80211.3 ============================================================================== --- stable/11/lib/lib80211/lib80211.3 Tue Jun 6 08:55:11 2017 (r319617) +++ stable/11/lib/lib80211/lib80211.3 Tue Jun 6 09:23:12 2017 (r319618) @@ -36,7 +36,7 @@ .Nm lib80211_regdomain_findbyname , .Nm lib80211_country_findbycc , .Nm lib80211_country_findbyname -.Nd manage net80211 configuration and regulatory database. +.Nd manage net80211 configuration and regulatory database .Sh LIBRARY .Lb lib80211 .Sh SYNOPSIS Modified: stable/11/lib/libc/net/sctp_bindx.3 ============================================================================== --- stable/11/lib/libc/net/sctp_bindx.3 Tue Jun 6 08:55:11 2017 (r319617) +++ stable/11/lib/libc/net/sctp_bindx.3 Tue Jun 6 09:23:12 2017 (r319618) @@ -33,7 +33,7 @@ .Os .Sh NAME .Nm sctp_bindx -.Nd bind or unbind an SCTP socket to a list of addresses. +.Nd bind or unbind an SCTP socket to a list of addresses .Sh LIBRARY .Lb libc .Sh SYNOPSIS Modified: stable/11/lib/libc/net/sctp_getassocid.3 ============================================================================== --- stable/11/lib/libc/net/sctp_getassocid.3 Tue Jun 6 08:55:11 2017 (r319617) +++ stable/11/lib/libc/net/sctp_getassocid.3 Tue Jun 6 09:23:12 2017 (r319618) @@ -32,7 +32,7 @@ .Os .Sh NAME .Nm sctp_getassocid -.Nd return an association id for a specified socket address. +.Nd return an association id for a specified socket address .Sh LIBRARY .Lb libc .Sh SYNOPSIS Modified: stable/11/lib/libc/sys/setfib.2 ============================================================================== --- stable/11/lib/libc/sys/setfib.2 Tue Jun 6 08:55:11 2017 (r319617) +++ stable/11/lib/libc/sys/setfib.2 Tue Jun 6 09:23:12 2017 (r319618) @@ -29,7 +29,7 @@ .Os .Sh NAME .Nm setfib -.Nd set the default FIB (routing table) for the calling process. +.Nd set the default FIB (routing table) for the calling process .Sh LIBRARY .Lb libc .Sh SYNOPSIS Modified: stable/11/lib/libpmc/pmc_event_names_of_class.3 ============================================================================== --- stable/11/lib/libpmc/pmc_event_names_of_class.3 Tue Jun 6 08:55:11 2017 (r319617) +++ stable/11/lib/libpmc/pmc_event_names_of_class.3 Tue Jun 6 09:23:12 2017 (r319618) @@ -28,7 +28,7 @@ .Os .Sh NAME .Nm pmc_event_names_of_class -.Nd return a list of event names supported by a PMC class. +.Nd return a list of event names supported by a PMC class .Sh LIBRARY .Lb libpmc .Sh SYNOPSIS Modified: stable/11/share/man/man4/mmcsd.4 ============================================================================== --- stable/11/share/man/man4/mmcsd.4 Tue Jun 6 08:55:11 2017 (r319617) +++ stable/11/share/man/man4/mmcsd.4 Tue Jun 6 09:23:12 2017 (r319618) @@ -29,7 +29,7 @@ .Os .Sh NAME .Nm mmcsd -.Nd MMC and SD memory card driver. +.Nd MMC and SD memory card driver .Sh SYNOPSIS .Cd device mmcsd .Sh DESCRIPTION Modified: stable/11/share/man/man7/growfs.7 ============================================================================== --- stable/11/share/man/man7/growfs.7 Tue Jun 6 08:55:11 2017 (r319617) +++ stable/11/share/man/man7/growfs.7 Tue Jun 6 09:23:12 2017 (r319618) @@ -29,7 +29,7 @@ .Os .Sh NAME .Nm growfs -.Nd start up script to grow the root file-system. +.Nd start up script to grow the root file-system .Sh DESCRIPTION The following options in .Pa /etc/rc.conf Modified: stable/11/usr.sbin/pmcstudy/pmcstudy.8 ============================================================================== --- stable/11/usr.sbin/pmcstudy/pmcstudy.8 Tue Jun 6 08:55:11 2017 (r319617) +++ stable/11/usr.sbin/pmcstudy/pmcstudy.8 Tue Jun 6 09:23:12 2017 (r319618) @@ -29,7 +29,7 @@ .Os .Sh NAME .Nm pmcstudy -.Nd Perform various studies on a system's overall PMCs. +.Nd Perform various studies on a system's overall PMCs .Sh SYNOPSIS .Nm .Oo Fl i Ar inputfile | Fl A | Fl T | Fl v | Fl m Ar max | Fl e exp | Fl Ar E | Fl h | fl H Oc From owner-svn-src-all@freebsd.org Tue Jun 6 09:43:29 2017 Return-Path: Delivered-To: svn-src-all@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 C448FBFB50A; Tue, 6 Jun 2017 09:43:29 +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 8F3ACC79; Tue, 6 Jun 2017 09:43:29 +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 v569hSC6022065; Tue, 6 Jun 2017 09:43:28 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v569hSm5022064; Tue, 6 Jun 2017 09:43:28 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706060943.v569hSm5022064@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 6 Jun 2017 09:43:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319619 - stable/11/usr.sbin/ctld X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 09:43:29 -0000 Author: trasz Date: Tue Jun 6 09:43:28 2017 New Revision: 319619 URL: https://svnweb.freebsd.org/changeset/base/319619 Log: MFC r319072: Make ctld(8) mention cfiscsi(4). Approved by: re (marius) Modified: stable/11/usr.sbin/ctld/ctld.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/ctld/ctld.8 ============================================================================== --- stable/11/usr.sbin/ctld/ctld.8 Tue Jun 6 09:23:12 2017 (r319618) +++ stable/11/usr.sbin/ctld/ctld.8 Tue Jun 6 09:43:28 2017 (r319619) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 21, 2016 +.Dd May 28, 2017 .Dt CTLD 8 .Os .Sh NAME @@ -55,7 +55,9 @@ instances, removes LUNs no longer existing in the conf and creates new LUNs as necessary. After that it listens for the incoming iSCSI connections, performs authentication, and, if successful, passes the connections to the kernel part -of CTL iSCSI target, which handles it from that point. +of CTL iSCSI target, +.Xr cfiscsi 4 , +which handles it from that point. .Pp When it receives a SIGHUP signal, the .Nm @@ -105,6 +107,7 @@ The .Nm utility exits 0 on success, and >0 if an error occurs. .Sh SEE ALSO +.Xr cfiscsi 4 , .Xr ctl 4 , .Xr ctl.conf 5 , .Xr ctladm 8 , From owner-svn-src-all@freebsd.org Tue Jun 6 09:47:07 2017 Return-Path: Delivered-To: svn-src-all@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 3AB94BFB697 for ; Tue, 6 Jun 2017 09:47:07 +0000 (UTC) (envelope-from freebsd-listen@fabiankeil.de) Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.31]) (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 03380F9E; Tue, 6 Jun 2017 09:47:06 +0000 (UTC) (envelope-from freebsd-listen@fabiankeil.de) Received: from [78.35.143.247] (helo=fabiankeil.de) by smtprelay04.ispgateway.de with esmtpsa (TLSv1.2:AES256-GCM-SHA384:256) (Exim 4.84) (envelope-from ) id 1dIB2F-0006qk-7I; Tue, 06 Jun 2017 11:44:23 +0200 Date: Tue, 6 Jun 2017 11:44:25 +0200 From: Fabian Keil To: Allan Jude Cc: svn-src-all@freebsd.org Subject: Re: svn commit: r319611 - in head: sys/kern sys/sys usr.sbin/jail Message-ID: <20170606114425.126fd846@fabiankeil.de> In-Reply-To: <201706060215.v562F167035683@repo.freebsd.org> References: <201706060215.v562F167035683@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; boundary="Sig_/vn+oAw3j4VFLc7lQ=Ngrnzy"; protocol="application/pgp-signature" X-Df-Sender: Nzc1MDY3 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 09:47:07 -0000 --Sig_/vn+oAw3j4VFLc7lQ=Ngrnzy Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Allan Jude wrote: > Author: allanjude > Date: Tue Jun 6 02:15:00 2017 > New Revision: 319611 > URL: https://svnweb.freebsd.org/changeset/base/319611 >=20 > Log: > Jails: Optionally prevent jailed root from binding to privileged ports > =20 > You may now optionally specify allow.noreserved_ports to prevent root > inside a jail from using privileged ports (less than 1024) > =20 > PR: 217728 > Submitted by: Matt Miller > Reviewed by: jamie, cem, smh > Relnotes: yes > Differential Revision: https://reviews.freebsd.org/D10202 >=20 > Modified: > head/sys/kern/kern_jail.c > head/sys/sys/jail.h > head/usr.sbin/jail/jail.8 [...] > @@ -611,6 +613,8 @@ with non-jailed parts of the system. > Sockets within a jail are normally restricted to IPv4, IPv6, local > (UNIX), and route. This allows access to other protocol stacks that > have not had jail functionality added to them. > +.It Va allow.reserved_ports > +The jail root may bind to ports lower than 1024.=20 This description seems to imply that net.inet.ip.portrange.reservedhigh isn't honoured while it actually is. Fabian --Sig_/vn+oAw3j4VFLc7lQ=Ngrnzy Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQTKUNd6H/m3+ByGULIFiohV/3dUnQUCWTZ5ewAKCRAFiohV/3dU nQsYAKC11sINcCYeFKTw2P/wG9Ta1UkMWgCfX9MKH1G1QOjj+H61ZKfu2ATKBKI= =EV4l -----END PGP SIGNATURE----- --Sig_/vn+oAw3j4VFLc7lQ=Ngrnzy-- From owner-svn-src-all@freebsd.org Tue Jun 6 10:13:00 2017 Return-Path: Delivered-To: svn-src-all@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 0FDD4BFBD48; Tue, 6 Jun 2017 10:13:00 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7E3951E35; Tue, 6 Jun 2017 10:12:59 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v56ACwm3034333; Tue, 6 Jun 2017 10:12:58 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56ACwu3034331; Tue, 6 Jun 2017 10:12:58 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201706061012.v56ACwu3034331@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Tue, 6 Jun 2017 10:12:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319620 - head/sys/compat/linuxkpi/common/src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 10:13:00 -0000 Author: hselasky Date: Tue Jun 6 10:12:58 2017 New Revision: 319620 URL: https://svnweb.freebsd.org/changeset/base/319620 Log: Fix init order in the LinuxKPI for IDR support after recent changes. CPU_FOREACH() is not available until SI_SUB_CPU at SI_ORDER_ANY when the LinuxKPI is loaded as part of the kernel. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/src/linux_idr.c Modified: head/sys/compat/linuxkpi/common/src/linux_idr.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_idr.c Tue Jun 6 09:43:28 2017 (r319619) +++ head/sys/compat/linuxkpi/common/src/linux_idr.c Tue Jun 6 10:12:58 2017 (r319620) @@ -96,7 +96,7 @@ idr_preload_init(void *arg) spin_lock_init(&lic->lock); } } -SYSINIT(idr_preload_init, SI_SUB_LOCK, SI_ORDER_FIRST, idr_preload_init, NULL); +SYSINIT(idr_preload_init, SI_SUB_CPU, SI_ORDER_ANY, idr_preload_init, NULL); static void idr_preload_uninit(void *arg) From owner-svn-src-all@freebsd.org Tue Jun 6 13:14:44 2017 Return-Path: Delivered-To: svn-src-all@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 AB78DB954BE; Tue, 6 Jun 2017 13:14:44 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 84A87675E7; Tue, 6 Jun 2017 13:14:44 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 971C814577; Tue, 6 Jun 2017 13:14:43 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Date: Tue, 6 Jun 2017 13:14:41 +0000 From: Glen Barber To: John Baldwin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r319607 - stable/11/release/doc/en_US.ISO8859-1/relnotes Message-ID: <20170606131441.GC20545@FreeBSD.org> References: <201706051856.v55Iujms052904@repo.freebsd.org> <3942689.MOD8xETb0x@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="xo44VMWPx7vlQ2+2" Content-Disposition: inline In-Reply-To: <3942689.MOD8xETb0x@ralph.baldwin.cx> X-Operating-System: FreeBSD 11.0-STABLE amd64 X-SCUD-Definition: Sudden Completely Unexpected Dataloss X-SULE-Definition: Sudden Unexpected Learning Event X-PEKBAC-Definition: Problem Exists, Keyboard Between Admin/Computer X-Spidey-Sense: Uh oh, Peter logged in User-Agent: Mutt/1.8.2 (2017-04-18) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 13:14:44 -0000 --xo44VMWPx7vlQ2+2 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jun 05, 2017 at 04:15:50PM -0700, John Baldwin wrote: > On Monday, June 05, 2017 06:56:45 PM Glen Barber wrote: > > Author: gjb > > Date: Mon Jun 5 18:56:45 2017 > > New Revision: 319607 > > URL: https://svnweb.freebsd.org/changeset/base/319607 > >=20 > > Log: > > Document r295930, truss(1) '-H' flag. > > Document r308154, cxgbe(4) additional virtual interface support. >=20 > Both of these features actually shipped in 11.0 so shouldn't be documented > in the 11.1 notes (they are still new in 10.4 relative to 10.3 though). >=20 Oops. Thanks for pointing this out. Glen --xo44VMWPx7vlQ2+2 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEjRJAPC5sqwhs9k2jAxRYpUeP4pMFAlk2qsEACgkQAxRYpUeP 4pOhnA//aseXiscmDhqJd+UwCsS7OKHl52XcKCuhr16SWNMXgayvuw2Wcz4YePhV mQwdQ6Doni66s0mT1LZf63MiCMTFcIYjvwdPNs0FJSxMe/UKkAC5RrDAZhAfVx3u 8Bnea8ESVxlVuWpPR66uf2OUr+RWWot8WfxoAN7BILoXi63l9QHYkY4xhMVo5f40 sLDu1j2HKWn7iCE6NlaU9d6TOVP0Uy4TyUMRCkMUljwpCCYkTri2W3taeJFll6z4 HU7G51UEGNRWBGlsQGTNcVeQjm/GYjmQ2vsDObVN7APT4EIo8iAfiGe4jCgj/kdw EUzWWa5AhDUz+pUTDHyeeWlydWnNbcIpYqGrA5QoFr3Gy5RZohrh57SzYRgyhcEh VaGQPTrVhwUB/hYW/R1D8gkWz+6R9ZNGDdx2+Swi52xDaoPhYVhpIgJB8XOzO9j3 HsnylsmdEJtIJvxFLiAfkLp+MJGzqClap4614B30PMDQhgeOFp8+eovJNE/iMoca /8C2gkAC+RkYVi+eNgxZ6TctY6U/DrGpG/4RRHB4hsUMBg5FSWqEExTLK4LZ+2+p hq5iPP1Lp6yIJiOpygg+pUhc/Q4qqxLVOQmZp/S7DxcsRgwizAciziUla6g/GPPw iGwm3JQ3k9rzJbbJqXpLDObaNlpDTnmpYzwCOXhWFoBxKhrHZg0= =M/CU -----END PGP SIGNATURE----- --xo44VMWPx7vlQ2+2-- From owner-svn-src-all@freebsd.org Tue Jun 6 13:53:42 2017 Return-Path: Delivered-To: svn-src-all@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 783DDBD3389; Tue, 6 Jun 2017 13:53:42 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [88.99.82.50]) (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 3FF046A54D; Tue, 6 Jun 2017 13:53:41 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2016.home.selasky.org (unknown [62.141.129.119]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id C9791260873; Tue, 6 Jun 2017 15:53:31 +0200 (CEST) From: Hans Petter Selasky Subject: Re: svn commit: r316311 - in head: lib/libstand sys/boot/geli sys/boot/i386/gptboot sys/boot/i386/loader sys/boot/i386/zfsboot To: Allan Jude , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201703310004.v2V04W3A043449@repo.freebsd.org> Message-ID: <85ee6ae1-f934-caf6-a219-3d9901f3d277@selasky.org> Date: Tue, 6 Jun 2017 15:51:26 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <201703310004.v2V04W3A043449@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 13:53:42 -0000 On 03/31/17 02:04, Allan Jude wrote: > Author: allanjude > Date: Fri Mar 31 00:04:32 2017 > New Revision: 316311 > URL: https://svnweb.freebsd.org/changeset/base/316311 > > > Modified: head/sys/boot/i386/zfsboot/zfsboot.c > ============================================================================== > --- head/sys/boot/i386/zfsboot/zfsboot.c Thu Mar 30 23:49:57 2017 (r316310) > +++ head/sys/boot/i386/zfsboot/zfsboot.c Fri Mar 31 00:04:32 2017 (r316311) > @@ -926,7 +926,7 @@ load(void) > zfsargs.primary_pool = primary_spa->spa_guid; > #ifdef LOADER_GELI_SUPPORT > bcopy(gelipw, zfsargs.gelipw, sizeof(zfsargs.gelipw)); > - bzero(gelipw, sizeof(gelipw)); > + explicit_bzero(gelipw, sizeof(gelipw)); > #else > zfsargs.gelipw[0] = '\0'; > #endif > Hi Allan, For ARM platforms you'll need to do a write memory barrier before the explicit_bzero() returns, else the memory can be recovered by invalidating the memory area by the next thread which is allocating this memory ??? --HPS From owner-svn-src-all@freebsd.org Tue Jun 6 14:08:55 2017 Return-Path: Delivered-To: svn-src-all@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 D0D9ABD381C; Tue, 6 Jun 2017 14:08:55 +0000 (UTC) (envelope-from gjb@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 A1F0B6AD07; Tue, 6 Jun 2017 14:08:55 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v56E8ssm030052; Tue, 6 Jun 2017 14:08:54 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56E8smF030051; Tue, 6 Jun 2017 14:08:54 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706061408.v56E8smF030051@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 6 Jun 2017 14:08:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319621 - head/release X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 14:08:55 -0000 Author: gjb Date: Tue Jun 6 14:08:54 2017 New Revision: 319621 URL: https://svnweb.freebsd.org/changeset/base/319621 Log: Ensure ${_CW} is uppercase when passing '-c' to mk-vmimage.sh, otherwise with 'CLOUDWARE=vagrant-virtualbox', the path to the configuration file may be incorrect. MFC after: 3 days Sponsored by: The FreeBSD Foundation Modified: head/release/Makefile.vm Modified: head/release/Makefile.vm ============================================================================== --- head/release/Makefile.vm Tue Jun 6 10:12:58 2017 (r319620) +++ head/release/Makefile.vm Tue Jun 6 14:08:54 2017 (r319621) @@ -59,7 +59,7 @@ cw-${_CW:tl}: ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} \ -i ${.OBJDIR}/${_CW:tl}.img -s ${VMSIZE} -f ${${_CW:tu}_FORMAT} \ - -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}IMAGE} -c ${${_CW}CONF} + -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}IMAGE} -c ${${_CW:tu}CONF} touch ${.TARGET} cw${_CW:tl}-package: From owner-svn-src-all@freebsd.org Tue Jun 6 14:26:39 2017 Return-Path: Delivered-To: svn-src-all@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 29A1FBD3DEA; Tue, 6 Jun 2017 14:26:39 +0000 (UTC) (envelope-from gjb@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 EAB196E725; Tue, 6 Jun 2017 14:26:38 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v56EQcZ3038376; Tue, 6 Jun 2017 14:26:38 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56EQcMF038375; Tue, 6 Jun 2017 14:26:38 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706061426.v56EQcMF038375@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 6 Jun 2017 14:26:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319622 - stable/11/release/doc/en_US.ISO8859-1/relnotes X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 14:26:39 -0000 Author: gjb Date: Tue Jun 6 14:26:37 2017 New Revision: 319622 URL: https://svnweb.freebsd.org/changeset/base/319622 Log: Revert r319607, which documents items that existed in 11.0-RELEASE. Submitted by: jhb Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Modified: stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml ============================================================================== --- stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml Tue Jun 6 14:08:54 2017 (r319621) +++ stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml Tue Jun 6 14:26:37 2017 (r319622) @@ -190,10 +190,6 @@ Userland Application Changes - The &man.truss.1; utility has been - updated to include the -H flag, which logs - the thread ID of a thread invoking a system call. - Support for &man.blacklistd.8; has been added to OpenSSH. @@ -648,11 +644,6 @@ sponsor="&chelsio;">The &man.cxgbev.4; driver has been added, providing support for Virtual Function devices (VFs) on Chelsio T4 and T5 adapters. - - The &man.cxgbe.4; driver has been updated - to support creating additional virtual interfaces on - a port. The &man.bnxt.4; driver has been added, From owner-svn-src-all@freebsd.org Tue Jun 6 14:40:54 2017 Return-Path: Delivered-To: svn-src-all@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 84C9FBEE12B; Tue, 6 Jun 2017 14:40:54 +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 4F0936EC9D; Tue, 6 Jun 2017 14:40:54 +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 v56Eergt042572; Tue, 6 Jun 2017 14:40:53 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56Eer5L042571; Tue, 6 Jun 2017 14:40:53 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706061440.v56Eer5L042571@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 6 Jun 2017 14:40:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319623 - stable/11/share/man/man4 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 14:40:54 -0000 Author: trasz Date: Tue Jun 6 14:40:53 2017 New Revision: 319623 URL: https://svnweb.freebsd.org/changeset/base/319623 Log: MFC r319073: Random tweaks to cfiscsi(4) man page. This improves wording and adds a few Xrs. Approved by: re (gjb) Modified: stable/11/share/man/man4/cfiscsi.4 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man4/cfiscsi.4 ============================================================================== --- stable/11/share/man/man4/cfiscsi.4 Tue Jun 6 14:26:37 2017 (r319622) +++ stable/11/share/man/man4/cfiscsi.4 Tue Jun 6 14:40:53 2017 (r319623) @@ -25,7 +25,7 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD$ -.Dd March 29, 2017 +.Dd May 28, 2017 .Dt CFISCSI 4 .Os .Sh NAME @@ -50,9 +50,15 @@ cfiscsi_load="YES" .Sh DESCRIPTION The .Nm -subsystem provides iSCSI target device emulation via +subsystem provides the kernel component of an iSCSI target. +The target is the iSCSI server, providing LUNs backed by local files +and volumes to remote initiators. +The userspace component is provided by +.Xr ctld 8 . +.Nm +is implemented as a .Xr ctl 4 -and +frontend and uses infrastructure provided by .Xr iscsi 4 . .Sh SYSCTL VARIABLES The following variables are available as both @@ -80,7 +86,9 @@ Defaults to 5. .El .Sh SEE ALSO .Xr ctl 4 , -.Xr iscsi 4 +.Xr iscsi 4 , +.Xr ctl.conf 5 , +.Xr ctld 8 .Sh HISTORY The .Nm From owner-svn-src-all@freebsd.org Tue Jun 6 14:46:24 2017 Return-Path: Delivered-To: svn-src-all@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 B05B5BEE36D; Tue, 6 Jun 2017 14:46:24 +0000 (UTC) (envelope-from gjb@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 7E3786F088; Tue, 6 Jun 2017 14:46:24 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v56EkNKC046369; Tue, 6 Jun 2017 14:46:23 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56EkN8g046368; Tue, 6 Jun 2017 14:46:23 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706061446.v56EkN8g046368@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 6 Jun 2017 14:46:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319624 - stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 14:46:24 -0000 Author: gjb Date: Tue Jun 6 14:46:23 2017 New Revision: 319624 URL: https://svnweb.freebsd.org/changeset/base/319624 Log: MFC r318943 (avg): MFV r318942: 8166 zpool scrub thinks it repaired offline device https://www.illumos.org/issues/8166 If we do a scrub while a leaf device is offline (via "zpool offline"), we will inadvertently clear the DTL (dirty time log) of the offline device, even though it is still damaged. When the device comes back online, we will incompletely resilver it, thinking that the scrub repaired blocks written before the scrub was started. The incomplete resilver can lead to data loss if there is a subsequent failure of a different leaf device. The fix is to never clear the DTL of offline devices. Note that if a device is onlined while a scrub is in progress, the scrub will be restarted. The problem can be worked around by running "zpool scrub" after "zpool online". See also https://github.com/zfsonlinux/zfs/issues/5806 PR: 219537 Approved by: re (kib) Sponsored by: The FreeBSD Foundation Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c ============================================================================== --- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Tue Jun 6 14:40:53 2017 (r319623) +++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Tue Jun 6 14:46:23 2017 (r319624) @@ -1929,6 +1929,9 @@ vdev_dtl_should_excise(vdev_t *vd) ASSERT0(scn->scn_phys.scn_errors); ASSERT0(vd->vdev_children); + if (vd->vdev_state < VDEV_STATE_DEGRADED) + return (B_FALSE); + if (vd->vdev_resilver_txg == 0 || range_tree_space(vd->vdev_dtl[DTL_MISSING]) == 0) return (B_TRUE); From owner-svn-src-all@freebsd.org Tue Jun 6 14:46:47 2017 Return-Path: Delivered-To: svn-src-all@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 28161BEE3C6; Tue, 6 Jun 2017 14:46:47 +0000 (UTC) (envelope-from gjb@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 EA6CB6F1B5; Tue, 6 Jun 2017 14:46:46 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v56EkkSU046439; Tue, 6 Jun 2017 14:46:46 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56Ekkjw046438; Tue, 6 Jun 2017 14:46:46 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706061446.v56Ekkjw046438@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 6 Jun 2017 14:46:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r319625 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 14:46:47 -0000 Author: gjb Date: Tue Jun 6 14:46:45 2017 New Revision: 319625 URL: https://svnweb.freebsd.org/changeset/base/319625 Log: MFC r318943 (avg): MFV r318942: 8166 zpool scrub thinks it repaired offline device https://www.illumos.org/issues/8166 If we do a scrub while a leaf device is offline (via "zpool offline"), we will inadvertently clear the DTL (dirty time log) of the offline device, even though it is still damaged. When the device comes back online, we will incompletely resilver it, thinking that the scrub repaired blocks written before the scrub was started. The incomplete resilver can lead to data loss if there is a subsequent failure of a different leaf device. The fix is to never clear the DTL of offline devices. Note that if a device is onlined while a scrub is in progress, the scrub will be restarted. The problem can be worked around by running "zpool scrub" after "zpool online". See also https://github.com/zfsonlinux/zfs/issues/5806 PR: 219537 Sponsored by: The FreeBSD Foundation Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c ============================================================================== --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Tue Jun 6 14:46:23 2017 (r319624) +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Tue Jun 6 14:46:45 2017 (r319625) @@ -1904,6 +1904,9 @@ vdev_dtl_should_excise(vdev_t *vd) ASSERT0(scn->scn_phys.scn_errors); ASSERT0(vd->vdev_children); + if (vd->vdev_state < VDEV_STATE_DEGRADED) + return (B_FALSE); + if (vd->vdev_resilver_txg == 0 || range_tree_space(vd->vdev_dtl[DTL_MISSING]) == 0) return (B_TRUE); From owner-svn-src-all@freebsd.org Tue Jun 6 15:07:16 2017 Return-Path: Delivered-To: svn-src-all@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 A9E5EBEED46; Tue, 6 Jun 2017 15:07: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 39B0C6FF1A; Tue, 6 Jun 2017 15:07:16 +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 v56F7Afl099005 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 6 Jun 2017 18:07:10 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v56F7Afl099005 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v56F7Atr099004; Tue, 6 Jun 2017 18:07:10 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 6 Jun 2017 18:07:10 +0300 From: Konstantin Belousov To: Hans Petter Selasky Cc: Allan Jude , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316311 - in head: lib/libstand sys/boot/geli sys/boot/i386/gptboot sys/boot/i386/loader sys/boot/i386/zfsboot Message-ID: <20170606150710.GF2088@kib.kiev.ua> References: <201703310004.v2V04W3A043449@repo.freebsd.org> <85ee6ae1-f934-caf6-a219-3d9901f3d277@selasky.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <85ee6ae1-f934-caf6-a219-3d9901f3d277@selasky.org> User-Agent: Mutt/1.8.2 (2017-04-18) 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-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 15:07:16 -0000 On Tue, Jun 06, 2017 at 03:51:26PM +0200, Hans Petter Selasky wrote: > On 03/31/17 02:04, Allan Jude wrote: > > Author: allanjude > > Date: Fri Mar 31 00:04:32 2017 > > New Revision: 316311 > > URL: https://svnweb.freebsd.org/changeset/base/316311 > > > > > > > > Modified: head/sys/boot/i386/zfsboot/zfsboot.c > > ============================================================================== > > --- head/sys/boot/i386/zfsboot/zfsboot.c Thu Mar 30 23:49:57 2017 (r316310) > > +++ head/sys/boot/i386/zfsboot/zfsboot.c Fri Mar 31 00:04:32 2017 (r316311) > > @@ -926,7 +926,7 @@ load(void) > > zfsargs.primary_pool = primary_spa->spa_guid; > > #ifdef LOADER_GELI_SUPPORT > > bcopy(gelipw, zfsargs.gelipw, sizeof(zfsargs.gelipw)); > > - bzero(gelipw, sizeof(gelipw)); > > + explicit_bzero(gelipw, sizeof(gelipw)); > > #else > > zfsargs.gelipw[0] = '\0'; > > #endif > > > > Hi Allan, > > For ARM platforms you'll need to do a write memory barrier before the > explicit_bzero() returns, else the memory can be recovered by > invalidating the memory area by the next thread which is allocating this > memory ??? Note that loader execution is single threaded / single core. As is, it is not possible for the cache invalidation targeting the generic memory in loader to occur. That said, if we consider usage of the explicit_bzero() in more complete environment, then a memory barrier is definitely useless for the stated purpose. After the writing thread issued a barrier, cache is not flushed to RAM. In other words, cache flush is probably worth doing there, as you noted. But this raises a question, shouldn't the explicit_bzero() implementation handle the cache flush ? From owner-svn-src-all@freebsd.org Tue Jun 6 16:04:29 2017 Return-Path: Delivered-To: svn-src-all@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 05CC2BEFBEB; Tue, 6 Jun 2017 16:04:29 +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 D61A7718CB; Tue, 6 Jun 2017 16:04: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 v56G4SWC078921; Tue, 6 Jun 2017 16:04:28 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56G4Rox078917; Tue, 6 Jun 2017 16:04:27 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706061604.v56G4Rox078917@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 6 Jun 2017 16:04:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319626 - in head: bin/echo bin/echo/tests etc/mtree X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 16:04:29 -0000 Author: ngie Date: Tue Jun 6 16:04:27 2017 New Revision: 319626 URL: https://svnweb.freebsd.org/changeset/base/319626 Log: Add basic tests for echo(1) Verify that echo(1) does not... - ... print the trailing newline character with option '-n'. - ... print the trailing newline character when '\c' is appended to the end of the string. Submitted by: shivansh Reviewed by: asomers, ngie MFC after: 1 month Sponsored by: Google, Inc (GSoC 2017) Differential Revision: D11036 Added: head/bin/echo/tests/ head/bin/echo/tests/Makefile (contents, props changed) head/bin/echo/tests/echo_test.sh (contents, props changed) Modified: head/bin/echo/Makefile head/etc/mtree/BSD.tests.dist Modified: head/bin/echo/Makefile ============================================================================== --- head/bin/echo/Makefile Tue Jun 6 14:46:45 2017 (r319625) +++ head/bin/echo/Makefile Tue Jun 6 16:04:27 2017 (r319626) @@ -1,7 +1,13 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include + PACKAGE=runtime PROG= echo + +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif .include Added: head/bin/echo/tests/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/echo/tests/Makefile Tue Jun 6 16:04:27 2017 (r319626) @@ -0,0 +1,5 @@ +# $FreeBSD$ + +ATF_TESTS_SH+= echo_test + +.include Added: head/bin/echo/tests/echo_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/echo/tests/echo_test.sh Tue Jun 6 16:04:27 2017 (r319626) @@ -0,0 +1,55 @@ +# +# Copyright 2017 Shivansh Rai +# 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$ +# + +atf_test_case n_output +n_output_head() { + atf_set "descr" "Verify that echo(1) does not print the trailing " \ + "newline character with option '-n'" +} + +n_output_body() { + atf_check -s ignore -o inline:"Hello world" \ + /bin/echo -n "Hello world" +} + +atf_test_case append_c_output +append_c_output_head() { + atf_set "descr" "Verify that echo(1) does not print the trailing newline " \ + "character when '\c' is appended to the end of the string" +} + +append_c_output_body() { + atf_check -s ignore -o inline:"Hello world" \ + /bin/echo "Hello world\c" +} + +atf_init_test_cases() +{ + atf_add_test_case n_output + atf_add_test_case append_c_output +} Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Tue Jun 6 14:46:45 2017 (r319625) +++ head/etc/mtree/BSD.tests.dist Tue Jun 6 16:04:27 2017 (r319626) @@ -12,6 +12,8 @@ .. dd .. + echo + .. expr .. ls From owner-svn-src-all@freebsd.org Tue Jun 6 16:52:08 2017 Return-Path: Delivered-To: svn-src-all@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 975BBBF0BF4; Tue, 6 Jun 2017 16:52:08 +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 62117734F7; Tue, 6 Jun 2017 16:52:08 +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 v56Gq7Aq000102; Tue, 6 Jun 2017 16:52:07 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56Gq7CR000101; Tue, 6 Jun 2017 16:52:07 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201706061652.v56Gq7CR000101@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Tue, 6 Jun 2017 16:52:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319627 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 16:52:08 -0000 Author: alc Date: Tue Jun 6 16:52:07 2017 New Revision: 319627 URL: https://svnweb.freebsd.org/changeset/base/319627 Log: Starting in r118390, swaponsomething() began to reserve the blocks at the beginning of a swap area for a disk label. However, neither r118390 nor r118544, which increased the reservation from one to two blocks, correctly accounted for these blocks when updating the variable "swap_pager_avail". This change corrects that error. Reviewed by: kib MFC after: 5 days Modified: head/sys/vm/swap_pager.c Modified: head/sys/vm/swap_pager.c ============================================================================== --- head/sys/vm/swap_pager.c Tue Jun 6 16:04:27 2017 (r319626) +++ head/sys/vm/swap_pager.c Tue Jun 6 16:52:07 2017 (r319627) @@ -2203,7 +2203,7 @@ swaponsomething(struct vnode *vp, void *id, u_long nbl sp->sw_end = dvbase + nblks; TAILQ_INSERT_TAIL(&swtailq, sp, sw_list); nswapdev++; - swap_pager_avail += nblks; + swap_pager_avail += nblks - 2; swap_total += (vm_ooffset_t)nblks * PAGE_SIZE; swapon_check_swzone(swap_total / PAGE_SIZE); swp_sizecheck(); From owner-svn-src-all@freebsd.org Tue Jun 6 17:00:22 2017 Return-Path: Delivered-To: svn-src-all@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 CF6B2BF0CD5; Tue, 6 Jun 2017 17:00:22 +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 9D3397375C; Tue, 6 Jun 2017 17:00:22 +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 v56H0LNl001142; Tue, 6 Jun 2017 17:00:21 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56H0LnS001139; Tue, 6 Jun 2017 17:00:21 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706061700.v56H0LnS001139@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 6 Jun 2017 17:00:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319628 - in stable/11: share/man/man4 usr.sbin/iscsid X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 17:00:22 -0000 Author: trasz Date: Tue Jun 6 17:00:21 2017 New Revision: 319628 URL: https://svnweb.freebsd.org/changeset/base/319628 Log: MFC r319074: Minor tweaks to iscsi(4) and iscsid(8). This is mostly wording and clarification of the userspace/kernel split. Approved by: re (gjb) Modified: stable/11/share/man/man4/iscsi.4 stable/11/usr.sbin/iscsid/iscsid.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man4/iscsi.4 ============================================================================== --- stable/11/share/man/man4/iscsi.4 Tue Jun 6 16:52:07 2017 (r319627) +++ stable/11/share/man/man4/iscsi.4 Tue Jun 6 17:00:21 2017 (r319628) @@ -23,7 +23,7 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD$ -.Dd July 11, 2015 +.Dd May 28, 2017 .Dt ISCSI 4 .Os .Sh NAME @@ -46,18 +46,14 @@ iscsi_load="YES" .Sh DESCRIPTION The .Nm -subsystem provides the kernel component of an iSCSI initiator. +subsystem provides the kernel component of an iSCSI initiator, +responsible for implementing the Full Feature Phase of the iSCSI protocol. The initiator is the iSCSI client, which connects to an iSCSI target, providing local access to a remote block device. The userland component is provided by .Xr iscsid 8 and both the kernel and userland are configured using .Xr iscsictl 8 . -The -.Nm -subsystem is responsible for implementing the -.Qq Full Feature Phase -of the iSCSI protocol. .Sh SYSCTL VARIABLES The following variables are available as both .Xr sysctl 8 Modified: stable/11/usr.sbin/iscsid/iscsid.8 ============================================================================== --- stable/11/usr.sbin/iscsid/iscsid.8 Tue Jun 6 16:52:07 2017 (r319627) +++ stable/11/usr.sbin/iscsid/iscsid.8 Tue Jun 6 17:00:21 2017 (r319628) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 12, 2014 +.Dd May 28, 2017 .Dt ISCSID 8 .Os .Sh NAME @@ -43,12 +43,15 @@ .Sh DESCRIPTION The .Nm -daemon is responsible for performing the Login Phase of iSCSI connections, -as well as performing SendTargets discovery. +daemon is the userspace component of the iSCSI initiator, +responsible for performing the Login Phase +of iSCSI connections and the SendTargets discovery. .Pp Upon startup, the .Nm -daemon opens the iSCSI initiator device file and waits for kernel requests. +daemon opens the iSCSI initiator device file and waits for requests +from the kernel component, +.Xr iscsi 4 . .Nm does not use any configuration files. All needed information is supplied by the kernel. From owner-svn-src-all@freebsd.org Tue Jun 6 17:10:35 2017 Return-Path: Delivered-To: svn-src-all@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 E1DE3BF0F7F; Tue, 6 Jun 2017 17:10:35 +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 AFB2973C9B; Tue, 6 Jun 2017 17:10:35 +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 v56HAYQZ007992; Tue, 6 Jun 2017 17:10:34 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56HAY8j007991; Tue, 6 Jun 2017 17:10:34 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706061710.v56HAY8j007991@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 6 Jun 2017 17:10:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319629 - stable/11/usr.bin/rctl X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 17:10:36 -0000 Author: trasz Date: Tue Jun 6 17:10:34 2017 New Revision: 319629 URL: https://svnweb.freebsd.org/changeset/base/319629 Log: MFC r319075: Random tweaks to rctl(8). This is just wording and formatting fixes. MFC r319432: Use proper capitalization with .Dd. Approved by: re (gjb) Modified: stable/11/usr.bin/rctl/rctl.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/rctl/rctl.8 ============================================================================== --- stable/11/usr.bin/rctl/rctl.8 Tue Jun 6 17:00:21 2017 (r319628) +++ stable/11/usr.bin/rctl/rctl.8 Tue Jun 6 17:10:34 2017 (r319629) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 30, 2016 +.Dd May 28, 2017 .Dt RCTL 8 .Os .Sh NAME @@ -84,7 +84,7 @@ Remove rules matching .Ar filter from the RCTL database. .It Fl u Ar filter -Display resource usage for a subject +Display resource utilization for a subject .Po .Sy process , .Sy user , @@ -173,7 +173,6 @@ resource would be "::maxproc". .Sh SUBJECTS .Bl -column -offset 3n "pseudoterminals" ".Sy username or numerical User ID" -.It Em subject Ta Em subject-id .It Sy process Ta numerical Process ID .It Sy user Ta user name or numerical User ID .It Sy loginclass Ta login class from @@ -182,7 +181,6 @@ resource would be .El .Sh RESOURCES .Bl -column -offset 3n "pseudoterminals" -.It Em resource .It Sy cputime Ta "CPU time, in seconds" .It Sy datasize Ta "data size, in bytes" .It Sy stacksize Ta "stack size, in bytes" @@ -211,7 +209,6 @@ resource would be .El .Sh ACTIONS .Bl -column -offset 3n "pseudoterminals" -.It Em action .It Sy deny Ta deny the allocation; not supported for .Sy cputime , .Sy wallclock , @@ -269,7 +266,7 @@ Prevent user "joe" from allocating more than 1GB of vi Remove all RCTL rules: .Dl Nm Fl r Ar \&: .Pp -Display resource usage information for jail named "www": +Display resource utilization information for jail named "www": .Dl Nm Fl hu Ar jail:www .Pp Display all the rules applicable to process with PID 512: From owner-svn-src-all@freebsd.org Tue Jun 6 17:27:43 2017 Return-Path: Delivered-To: svn-src-all@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 282BABF16E1; Tue, 6 Jun 2017 17:27:43 +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 F371074880; Tue, 6 Jun 2017 17:27:42 +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 v56HRg7J013622; Tue, 6 Jun 2017 17:27:42 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56HRfsJ013619; Tue, 6 Jun 2017 17:27:41 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706061727.v56HRfsJ013619@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 6 Jun 2017 17:27:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319630 - in stable/11: share/man/man4 usr.bin/rctl X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 17:27:43 -0000 Author: trasz Date: Tue Jun 6 17:27:41 2017 New Revision: 319630 URL: https://svnweb.freebsd.org/changeset/base/319630 Log: MFC r319076: Declutter rctl(8) by moving kernel build instructions into newly created rctl(4). Approved by: re (gjb) Added: stable/11/share/man/man4/rctl.4 - copied unchanged from r319076, head/share/man/man4/rctl.4 Modified: stable/11/share/man/man4/Makefile stable/11/usr.bin/rctl/rctl.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man4/Makefile ============================================================================== --- stable/11/share/man/man4/Makefile Tue Jun 6 17:10:34 2017 (r319629) +++ stable/11/share/man/man4/Makefile Tue Jun 6 17:27:41 2017 (r319630) @@ -433,6 +433,7 @@ MAN= aac.4 \ ral.4 \ random.4 \ rc.4 \ + rctl.4 \ re.4 \ rgephy.4 \ rights.4 \ Copied: stable/11/share/man/man4/rctl.4 (from r319076, head/share/man/man4/rctl.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/share/man/man4/rctl.4 Tue Jun 6 17:27:41 2017 (r319630, copy of r319076, head/share/man/man4/rctl.4) @@ -0,0 +1,74 @@ +.\" Copyright (c) 2017 Edward Tomasz Napierala +.\" 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$ +.Dd May 28, 2017 +.Dt RCTL 4 +.Os +.Sh NAME +.Nm rctl +.Nd resource limits +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following line in the +kernel configuration file: +.Bd -ragged -offset indent +.Cd "options RACCT" +.Cd "options RCTL" +.Ed +.Sh DESCRIPTION +The +.Nm +subsystem provides a flexible resource limits mechanism, +controlled by a set of rules that can be added or removed at runtime +using the +.Xr rctl 8 +management utility. +.Sh LOADER TUNABLES +Tunables can be set at the +.Xr loader 8 +prompt, or +.Xr loader.conf 5 . +.Bl -tag -width indent +.It Va kern.racct.enable: No 1 +Enable +.Nm . +This defaults to 1, unless +.Cd "options RACCT_DEFAULT_TO_DISABLED" +is set in the kernel configuration file. +.El +.Sh SEE ALSO +.Xr rctl.conf 5 , +.Xr rctl 8 +.Sh HISTORY +The +.Nm +subsystem first appeared in +.Fx 9.0 . +.Sh AUTHORS +The +.Nm +subsystem was developed by +.An Edward Tomasz Napierala Aq Mt trasz@FreeBSD.org +under sponsorship from the FreeBSD Foundation. Modified: stable/11/usr.bin/rctl/rctl.8 ============================================================================== --- stable/11/usr.bin/rctl/rctl.8 Tue Jun 6 17:10:34 2017 (r319629) +++ stable/11/usr.bin/rctl/rctl.8 Tue Jun 6 17:27:41 2017 (r319630) @@ -51,13 +51,6 @@ .Fl u .Op Fl h .Ar filter Ar ... -.Pp -.Nm -requires the kernel to be compiled with: -.Bd -ragged -offset indent -.Cd "options RACCT" -.Cd "options RCTL" -.Ed .Sh DESCRIPTION When called without options, the .Nm @@ -244,19 +237,6 @@ and Not all actions are supported for all resources. Attempting to add a rule with an action not supported by a given resource will result in error. -.Sh LOADER TUNABLES -Tunables can be set at the -.Xr loader 8 -prompt, or -.Xr loader.conf 5 . -.Bl -tag -width indent -.It Va kern.racct.enable: No 1 -Enable -.Nm . -This defaults to 1, unless -.Cd "options RACCT_DEFAULT_TO_DISABLED" -is set in the kernel configuration file. -.El .Sh EXIT STATUS .Ex -std .Sh EXAMPLES @@ -281,6 +261,7 @@ Display all rules matching user "joe": Display all rules matching login classes: .Dl Nm Ar loginclass: .Sh SEE ALSO +.Xr rctl 4 , .Xr rctl.conf 5 .Sh HISTORY The From owner-svn-src-all@freebsd.org Tue Jun 6 18:40:16 2017 Return-Path: Delivered-To: svn-src-all@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 43CDEBF29DE; Tue, 6 Jun 2017 18:40:16 +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 138147686A; Tue, 6 Jun 2017 18:40:16 +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 v56IeFm3041986; Tue, 6 Jun 2017 18:40:15 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56IeFsx041985; Tue, 6 Jun 2017 18:40:15 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706061840.v56IeFsx041985@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 6 Jun 2017 18:40:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r319631 - stable/10/lib/clang X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 18:40:16 -0000 Author: dim Date: Tue Jun 6 18:40:14 2017 New Revision: 319631 URL: https://svnweb.freebsd.org/changeset/base/319631 Log: Work around a gcc 4.2 bug on powerpc architectures, where using -fdata-sections can cause bogus "section type conflict" errors. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33168 for more information. Since the upstream fixes are under GPLv3 and non-trivial, just disable using function and data sections, at the cost of a slightly larger executable. Direct commit to stable/10, since the version of clang in head and stable/11 cannot be built by gcc 4.2 at all. Modified: stable/10/lib/clang/clang.build.mk Modified: stable/10/lib/clang/clang.build.mk ============================================================================== --- stable/10/lib/clang/clang.build.mk Tue Jun 6 17:27:41 2017 (r319630) +++ stable/10/lib/clang/clang.build.mk Tue Jun 6 18:40:14 2017 (r319631) @@ -31,9 +31,14 @@ TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGE BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/}-unknown-freebsd10.3 CFLAGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" \ -DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" \ - -DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\" \ - -ffunction-sections -fdata-sections + -DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\" +# Work around gcc 4.2 "section type conflict" bug with -fdata-sections on +# powerpc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33168 +.if !(${MACHINE_CPUARCH} == "powerpc" && ${COMPILER_TYPE} == "gcc" && \ + ${COMPILER_VERSION} < 40300) +CFLAGS+= -ffunction-sections -fdata-sections LDFLAGS+= -Wl,--gc-sections +.endif CXXFLAGS+= -fno-exceptions -fno-rtti .PATH: ${LLVM_SRCS}/${SRCDIR} From owner-svn-src-all@freebsd.org Tue Jun 6 18:41:33 2017 Return-Path: Delivered-To: svn-src-all@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 156C2BF2A5B; Tue, 6 Jun 2017 18:41:33 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CB26476A45; Tue, 6 Jun 2017 18:41:32 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:470:7a58::44ab:9313:9212:be70] (unknown [IPv6:2001:470:7a58:0:44ab:9313:9212:be70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id F15BB19600; Tue, 6 Jun 2017 20:41:23 +0200 (CEST) From: Dimitry Andric Content-Type: multipart/signed; boundary="Apple-Mail=_DAAE4E40-AE62-4C09-AF64-77A1918FF1CB"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: svn commit: r319631 - stable/10/lib/clang Date: Tue, 6 Jun 2017 20:41:11 +0200 References: <201706061840.v56IeFsx041985@repo.freebsd.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org In-Reply-To: <201706061840.v56IeFsx041985@repo.freebsd.org> Message-Id: <1463BF75-D9E2-4BC2-881F-9DFE07A51FCF@FreeBSD.org> X-Mailer: Apple Mail (2.3273) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 18:41:33 -0000 --Apple-Mail=_DAAE4E40-AE62-4C09-AF64-77A1918FF1CB Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii On 6 Jun 2017, at 20:40, Dimitry Andric wrote: > > Author: dim > Date: Tue Jun 6 18:40:14 2017 > New Revision: 319631 > URL: https://svnweb.freebsd.org/changeset/base/319631 > > Log: > Work around a gcc 4.2 bug on powerpc architectures, where using > -fdata-sections can cause bogus "section type conflict" errors. See > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33168 for more information. > > Since the upstream fixes are under GPLv3 and non-trivial, just disable > using function and data sections, at the cost of a slightly larger > executable. > > Direct commit to stable/10, since the version of clang in head and > stable/11 cannot be built by gcc 4.2 at all. Forgot to add: Reported by: gjb -Dimitry --Apple-Mail=_DAAE4E40-AE62-4C09-AF64-77A1918FF1CB 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----- Version: GnuPG/MacGPG2 v2.0.30 iEYEARECAAYFAlk291MACgkQsF6jCi4glqMHdgCfcf2WtwYa2a2n/jOLlTEQMhzJ ZWgAniG9cXfSVAb5Wk+zO9MV7w5Hi/sl =M3se -----END PGP SIGNATURE----- --Apple-Mail=_DAAE4E40-AE62-4C09-AF64-77A1918FF1CB-- From owner-svn-src-all@freebsd.org Tue Jun 6 18:41:50 2017 Return-Path: Delivered-To: svn-src-all@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 D2133BF2AC2; Tue, 6 Jun 2017 18:41:50 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id ABA4376C86; Tue, 6 Jun 2017 18:41:50 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 1329919DCF; Tue, 6 Jun 2017 18:41:46 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Date: Tue, 6 Jun 2017 18:41:44 +0000 From: Glen Barber To: Dimitry Andric Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: Re: svn commit: r319631 - stable/10/lib/clang Message-ID: <20170606184144.GA54898@FreeBSD.org> References: <201706061840.v56IeFsx041985@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="J/dobhs11T7y2rNN" Content-Disposition: inline In-Reply-To: <201706061840.v56IeFsx041985@repo.freebsd.org> X-Operating-System: FreeBSD 11.0-STABLE amd64 X-SCUD-Definition: Sudden Completely Unexpected Dataloss X-SULE-Definition: Sudden Unexpected Learning Event X-PEKBAC-Definition: Problem Exists, Keyboard Between Admin/Computer X-Spidey-Sense: Uh oh, Peter logged in User-Agent: Mutt/1.8.2 (2017-04-18) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 18:41:50 -0000 --J/dobhs11T7y2rNN Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jun 06, 2017 at 06:40:15PM +0000, Dimitry Andric wrote: > Author: dim > Date: Tue Jun 6 18:40:14 2017 > New Revision: 319631 > URL: https://svnweb.freebsd.org/changeset/base/319631 >=20 > Log: > Work around a gcc 4.2 bug on powerpc architectures, where using > -fdata-sections can cause bogus "section type conflict" errors. See > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D33168 for more informati= on. > =20 > Since the upstream fixes are under GPLv3 and non-trivial, just disable > using function and data sections, at the cost of a slightly larger > executable. > =20 > Direct commit to stable/10, since the version of clang in head and > stable/11 cannot be built by gcc 4.2 at all. >=20 Thank you very much! Glen --J/dobhs11T7y2rNN Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEjRJAPC5sqwhs9k2jAxRYpUeP4pMFAlk292gACgkQAxRYpUeP 4pNjZg//TW/O2zzkZZTFPM6rlWhtRmLEsl+/XFtQuiBcYNogNdPe0i2BIPq35YyY h/bnul8g9/iFy9VhvAx6ovHwr+ZgUuidhFVF9W7rullTlLge45OkASv+A+1kSwnx 07XQXoXJvytBoxWBEeg2LnoVZZz+tbr/q65k7alGbaoogSfnS+E0yiIqyjm+ROwm IEItMxDMCcCu7Mwo27Q/y6vl0mg/mFA4AkKOVgz4BYYTG3FuOQKFAqzcAI+KbtaA VB+g1aE0Vt7CtegpvrGR/oI5hdJEoHSlenLIOrLqeqvS3uKrCvq+Ao6xHRi8jKKA 2lGyS1pBzoh2MYcHqhAyDb8QzVi0JiN+GKKCrs0bxrxYuWCM1bzC2gUHKuKLJ6/J DBXrfbg8o4yehMyemih0XbWzcUPb8ObK5KWgOsIe1dguElHRehGgODA8swRkiwMM KZv+nLfdZHCuIHJUzYYYwFvzHBPlaTFCVw5XHjyVLzHhK8cxq+Rv3onhraQED9w3 SFrqYDyXpLxoxrLiFS7kTN0PdP9ICfgksCttpvmO0tun7z2eM9XlLMDip5p+mIej RJUfJU0DQmDsqf0dkg/prPdX0bW/5H/pkPPHIIsQ53YdNWa/tOpTfysAqhOl0Dqt IFiOhnKcwBZroACKXik4H9leBkaesGPOLsRqhDiYYyktDzl9f9E= =BvbB -----END PGP SIGNATURE----- --J/dobhs11T7y2rNN-- From owner-svn-src-all@freebsd.org Tue Jun 6 19:20:29 2017 Return-Path: Delivered-To: svn-src-all@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 DF5ADBF331A; Tue, 6 Jun 2017 19:20:29 +0000 (UTC) (envelope-from cy@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 AEE71779B2; Tue, 6 Jun 2017 19:20:29 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v56JKSRg058097; Tue, 6 Jun 2017 19:20:28 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56JKSSH058096; Tue, 6 Jun 2017 19:20:28 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201706061920.v56JKSSH058096@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Tue, 6 Jun 2017 19:20:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319632 - stable/11/sys/contrib/ipfilter/netinet X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 19:20:30 -0000 Author: cy Date: Tue Jun 6 19:20:28 2017 New Revision: 319632 URL: https://svnweb.freebsd.org/changeset/base/319632 Log: MFC r318998: Fix return value of ip_sync_nat. Previously, regardless of error it always returned a return code of 0. Obtained from: NetBSD ip_sync.c r1.5 Approved by: re (delphij) Modified: stable/11/sys/contrib/ipfilter/netinet/ip_sync.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/contrib/ipfilter/netinet/ip_sync.c ============================================================================== --- stable/11/sys/contrib/ipfilter/netinet/ip_sync.c Tue Jun 6 18:40:14 2017 (r319631) +++ stable/11/sys/contrib/ipfilter/netinet/ip_sync.c Tue Jun 6 19:20:28 2017 (r319632) @@ -939,7 +939,7 @@ ipf_sync_nat(softc, sp, data) nat_t *n, *nat; synclist_t *sl; u_int hv = 0; - int err; + int err = 0; READ_ENTER(&softs->ipf_syncnat); @@ -1016,7 +1016,7 @@ ipf_sync_nat(softc, sp, data) } RWLOCK_EXIT(&softs->ipf_syncnat); - return 0; + return err; } From owner-svn-src-all@freebsd.org Tue Jun 6 19:21:37 2017 Return-Path: Delivered-To: svn-src-all@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 46305BF3386; Tue, 6 Jun 2017 19:21:37 +0000 (UTC) (envelope-from cy@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 1400B77BB4; Tue, 6 Jun 2017 19:21:37 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v56JLaQ7060273; Tue, 6 Jun 2017 19:21:36 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56JLacK060272; Tue, 6 Jun 2017 19:21:36 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201706061921.v56JLacK060272@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Tue, 6 Jun 2017 19:21:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r319633 - stable/10/sys/contrib/ipfilter/netinet X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 19:21:37 -0000 Author: cy Date: Tue Jun 6 19:21:35 2017 New Revision: 319633 URL: https://svnweb.freebsd.org/changeset/base/319633 Log: MFC r318998: Fix return value of ip_sync_nat. Previously, regardless of error it always returned a return code of 0. Obtained from: NetBSD ip_sync.c r1.5 Modified: stable/10/sys/contrib/ipfilter/netinet/ip_sync.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/contrib/ipfilter/netinet/ip_sync.c ============================================================================== --- stable/10/sys/contrib/ipfilter/netinet/ip_sync.c Tue Jun 6 19:20:28 2017 (r319632) +++ stable/10/sys/contrib/ipfilter/netinet/ip_sync.c Tue Jun 6 19:21:35 2017 (r319633) @@ -939,7 +939,7 @@ ipf_sync_nat(softc, sp, data) nat_t *n, *nat; synclist_t *sl; u_int hv = 0; - int err; + int err = 0; READ_ENTER(&softs->ipf_syncnat); @@ -1016,7 +1016,7 @@ ipf_sync_nat(softc, sp, data) } RWLOCK_EXIT(&softs->ipf_syncnat); - return 0; + return err; } From owner-svn-src-all@freebsd.org Tue Jun 6 21:03:44 2017 Return-Path: Delivered-To: svn-src-all@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 D856ABF5041; Tue, 6 Jun 2017 21:03:44 +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 B2E407B097; Tue, 6 Jun 2017 21:03:44 +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 v56L3hmp004045; Tue, 6 Jun 2017 21:03:43 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56L3h3P004039; Tue, 6 Jun 2017 21:03:43 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706062103.v56L3h3P004039@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 6 Jun 2017 21:03:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319634 - in head: bin/cat/tests contrib/netbsd-tests/bin/cat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 21:03:44 -0000 Author: ngie Date: Tue Jun 6 21:03:43 2017 New Revision: 319634 URL: https://svnweb.freebsd.org/changeset/base/319634 Log: Add additional testcases for cat(1) Verify the following additional cases: - -s (in isolation, in addition to the -se testcase obtained via the NetBSD test). - -vt Submitted by: shivansh Reviewed by: asomers (earlier diff), ngie MFC after: 1 month Sponsored by: Google, Inc (GSoC 2017) Differential Revision: D11020 Added: head/contrib/netbsd-tests/bin/cat/d_s_output.in (contents, props changed) head/contrib/netbsd-tests/bin/cat/d_s_output.out head/contrib/netbsd-tests/bin/cat/d_vt_output.in (contents, props changed) head/contrib/netbsd-tests/bin/cat/d_vt_output.out Modified: head/bin/cat/tests/Makefile head/contrib/netbsd-tests/bin/cat/t_cat.sh Modified: head/bin/cat/tests/Makefile ============================================================================== --- head/bin/cat/tests/Makefile Tue Jun 6 19:21:35 2017 (r319633) +++ head/bin/cat/tests/Makefile Tue Jun 6 21:03:43 2017 (r319634) @@ -8,6 +8,10 @@ ${PACKAGE}FILES+= d_align.in ${PACKAGE}FILES+= d_align.out ${PACKAGE}FILES+= d_se_output.in ${PACKAGE}FILES+= d_se_output.out +${PACKAGE}FILES+= d_s_output.in +${PACKAGE}FILES+= d_s_output.out +${PACKAGE}FILES+= d_vt_output.in +${PACKAGE}FILES+= d_vt_output.out .include Added: head/contrib/netbsd-tests/bin/cat/d_s_output.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/bin/cat/d_s_output.in Tue Jun 6 21:03:43 2017 (r319634) @@ -0,0 +1,6 @@ +a b c + + +1 2 3 + +x y z Added: head/contrib/netbsd-tests/bin/cat/d_s_output.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/bin/cat/d_s_output.out Tue Jun 6 21:03:43 2017 (r319634) @@ -0,0 +1,5 @@ +a b c + +1 2 3 + +x y z Added: head/contrib/netbsd-tests/bin/cat/d_vt_output.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/bin/cat/d_vt_output.in Tue Jun 6 21:03:43 2017 (r319634) @@ -0,0 +1,3 @@ + + +á Added: head/contrib/netbsd-tests/bin/cat/d_vt_output.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/bin/cat/d_vt_output.out Tue Jun 6 21:03:43 2017 (r319634) @@ -0,0 +1,3 @@ +^I +^X +M-a Modified: head/contrib/netbsd-tests/bin/cat/t_cat.sh ============================================================================== --- head/contrib/netbsd-tests/bin/cat/t_cat.sh Tue Jun 6 19:21:35 2017 (r319633) +++ head/contrib/netbsd-tests/bin/cat/t_cat.sh Tue Jun 6 21:03:43 2017 (r319634) @@ -63,9 +63,50 @@ se_output_body() { -x "cat -se $(atf_get_srcdir)/d_se_output.in" } +# Begin FreeBSD +atf_test_case s_output +s_output_head() { + atf_set "descr" "Test that cat(1) squeezes multiple adjacent " \ + "empty lines producing a single spaced output with option '-s'" +} + +s_output_body() { + atf_check -s ignore -o file:$(atf_get_srcdir)/d_s_output.out \ + cat -s $(atf_get_srcdir)/d_s_output.in +} + +atf_test_case e_output +e_output_head() { + atf_set "descr" "Test that cat(1) prints a $ sign " \ + "on blank lines with option '-e'" +} + +e_output_body() { + atf_check -s ignore -o file:$(atf_get_srcdir)/d_se_output.out \ + cat -e $(atf_get_srcdir)/d_se_output.in +} + +atf_test_case vt_output +vt_output_head() { + atf_set "descr" "Test that cat(1) displays non-printing characters, " \ + "namely control characters, tab character and meta-characters " \ + "using options '-vt'" +} + +vt_output_body() { + atf_check -s ignore -o file:$(atf_get_srcdir)/d_vt_output.out \ + cat -vt $(atf_get_srcdir)/d_vt_output.in +} +# End FreeBSD + atf_init_test_cases() { atf_add_test_case align atf_add_test_case nonexistent atf_add_test_case se_output +# Begin FreeBSD + atf_add_test_case s_output + atf_add_test_case e_output + atf_add_test_case vt_output +# End FreeBSD } From owner-svn-src-all@freebsd.org Tue Jun 6 21:08:06 2017 Return-Path: Delivered-To: svn-src-all@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 4A0E1BF50F1; Tue, 6 Jun 2017 21:08:06 +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 1A6717B221; Tue, 6 Jun 2017 21:08:06 +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 v56L85nG004231; Tue, 6 Jun 2017 21:08:05 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56L85NK004230; Tue, 6 Jun 2017 21:08:05 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201706062108.v56L85NK004230@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Tue, 6 Jun 2017 21:08:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319635 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 21:08:06 -0000 Author: jilles Date: Tue Jun 6 21:08:05 2017 New Revision: 319635 URL: https://svnweb.freebsd.org/changeset/base/319635 Log: sh: Call fc -e editor with interrupts enabled. Starting the fc -e editor can execute arbitrary script, and executing arbitrary script with INTOFF in effect may cause unexpected results. This change (together with other changes) serves mainly to allow asserting that INTOFF is not in effect when starting the evaluation of a node. Modified: head/bin/sh/histedit.c Modified: head/bin/sh/histedit.c ============================================================================== --- head/bin/sh/histedit.c Tue Jun 6 21:03:43 2017 (r319634) +++ head/bin/sh/histedit.c Tue Jun 6 21:08:05 2017 (r319635) @@ -376,10 +376,10 @@ histcmd(int argc, char **argv __unused) char *editcmd; fclose(efp); + INTON; editcmd = stalloc(strlen(editor) + strlen(editfile) + 2); sprintf(editcmd, "%s %s", editor, editfile); evalstring(editcmd, 0); /* XXX - should use no JC command */ - INTON; readcmdfile(editfile); /* XXX - should read back - quick tst */ unlink(editfile); } From owner-svn-src-all@freebsd.org Tue Jun 6 21:40:36 2017 Return-Path: Delivered-To: svn-src-all@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 C6743BF55FE; Tue, 6 Jun 2017 21:40:36 +0000 (UTC) (envelope-from stevek@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 947A27C01B; Tue, 6 Jun 2017 21:40:36 +0000 (UTC) (envelope-from stevek@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v56LeZW9017404; Tue, 6 Jun 2017 21:40:35 GMT (envelope-from stevek@FreeBSD.org) Received: (from stevek@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56LeZhF017403; Tue, 6 Jun 2017 21:40:35 GMT (envelope-from stevek@FreeBSD.org) Message-Id: <201706062140.v56LeZhF017403@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: stevek set sender to stevek@FreeBSD.org using -f From: "Stephen J. Kiernan" Date: Tue, 6 Jun 2017 21:40:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319636 - head/usr.bin/tset X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 21:40:36 -0000 Author: stevek Date: Tue Jun 6 21:40:35 2017 New Revision: 319636 URL: https://svnweb.freebsd.org/changeset/base/319636 Log: The memory assigned to the local variable 'copy' needs to be freed. Found using clang's static analyzer - scan-build Submitted by: Thomas Rix Reviewed by: ed Approved by: sjg (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D9663 Modified: head/usr.bin/tset/map.c Modified: head/usr.bin/tset/map.c ============================================================================== --- head/usr.bin/tset/map.c Tue Jun 6 21:08:05 2017 (r319635) +++ head/usr.bin/tset/map.c Tue Jun 6 21:40:35 2017 (r319636) @@ -157,6 +157,7 @@ done: if (port) { badmopt: errx(1, "illegal -m option format: %s", copy); mapp->porttype = strdup(port); } + free(copy); #ifdef MAPDEBUG (void)printf("port: %s\n", mapp->porttype ? mapp->porttype : "ANY"); From owner-svn-src-all@freebsd.org Tue Jun 6 21:50:01 2017 Return-Path: Delivered-To: svn-src-all@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 ED1B0BF57DA; Tue, 6 Jun 2017 21:50:01 +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 C673C7C436; Tue, 6 Jun 2017 21:50:01 +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 v56Lo03d020727; Tue, 6 Jun 2017 21:50:00 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56Lo0vS020722; Tue, 6 Jun 2017 21:50:00 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706062150.v56Lo0vS020722@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 6 Jun 2017 21:50:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319637 - in head: bin/cat/tests contrib/netbsd-tests/bin/cat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 21:50:02 -0000 Author: ngie Date: Tue Jun 6 21:50:00 2017 New Revision: 319637 URL: https://svnweb.freebsd.org/changeset/base/319637 Log: Add testcases for `cat -b` MFC after: 1 month Sponsored by: Dell EMC Isilon Added: head/contrib/netbsd-tests/bin/cat/d_b_output.in (contents, props changed) head/contrib/netbsd-tests/bin/cat/d_b_output.out Modified: head/bin/cat/tests/Makefile head/contrib/netbsd-tests/bin/cat/t_cat.sh Modified: head/bin/cat/tests/Makefile ============================================================================== --- head/bin/cat/tests/Makefile Tue Jun 6 21:40:35 2017 (r319636) +++ head/bin/cat/tests/Makefile Tue Jun 6 21:50:00 2017 (r319637) @@ -6,6 +6,8 @@ NETBSD_ATF_TESTS_SH= cat_test ${PACKAGE}FILES+= d_align.in ${PACKAGE}FILES+= d_align.out +${PACKAGE}FILES+= d_b_output.in +${PACKAGE}FILES+= d_b_output.out ${PACKAGE}FILES+= d_se_output.in ${PACKAGE}FILES+= d_se_output.out ${PACKAGE}FILES+= d_s_output.in Added: head/contrib/netbsd-tests/bin/cat/d_b_output.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/bin/cat/d_b_output.in Tue Jun 6 21:50:00 2017 (r319637) @@ -0,0 +1,4 @@ +This is a line + +The line before this was a blank line. + This line has leading whitespace. Added: head/contrib/netbsd-tests/bin/cat/d_b_output.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/bin/cat/d_b_output.out Tue Jun 6 21:50:00 2017 (r319637) @@ -0,0 +1,4 @@ + 1 This is a line + + 2 The line before this was a blank line. + 3 This line has leading whitespace. Modified: head/contrib/netbsd-tests/bin/cat/t_cat.sh ============================================================================== --- head/contrib/netbsd-tests/bin/cat/t_cat.sh Tue Jun 6 21:40:35 2017 (r319636) +++ head/contrib/netbsd-tests/bin/cat/t_cat.sh Tue Jun 6 21:50:00 2017 (r319637) @@ -52,6 +52,19 @@ nonexistent_body() { -x "cat /some/name/that/does/not/exist" } +# Begin FreeBSD +atf_test_case b_output +b_output_head() { + atf_set "descr" "Test that cat(1) prints out numbers on non-blank "\ + "lines with '-b'" +} + +b_output_body() { + atf_check -o file:$(atf_get_srcdir)/d_b_output.out \ + cat -b $(atf_get_srcdir)/d_b_output.in +} +# End FreeBSD + atf_test_case se_output se_output_head() { atf_set "descr" "Test that cat(1) prints a $ sign " \ @@ -103,6 +116,9 @@ atf_init_test_cases() { atf_add_test_case align atf_add_test_case nonexistent +# Begin FreeBSD + atf_add_test_case b_output +# End FreeBSD atf_add_test_case se_output # Begin FreeBSD atf_add_test_case s_output From owner-svn-src-all@freebsd.org Tue Jun 6 21:51:05 2017 Return-Path: Delivered-To: svn-src-all@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 DF036BF587D; Tue, 6 Jun 2017 21:51:05 +0000 (UTC) (envelope-from stevek@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 AFA9B7C731; Tue, 6 Jun 2017 21:51:05 +0000 (UTC) (envelope-from stevek@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v56Lp4Ol020803; Tue, 6 Jun 2017 21:51:04 GMT (envelope-from stevek@FreeBSD.org) Received: (from stevek@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56Lp4qP020802; Tue, 6 Jun 2017 21:51:04 GMT (envelope-from stevek@FreeBSD.org) Message-Id: <201706062151.v56Lp4qP020802@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: stevek set sender to stevek@FreeBSD.org using -f From: "Stephen J. Kiernan" Date: Tue, 6 Jun 2017 21:51:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319638 - head/usr.sbin/ppp X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 21:51:06 -0000 Author: stevek Date: Tue Jun 6 21:51:04 2017 New Revision: 319638 URL: https://svnweb.freebsd.org/changeset/base/319638 Log: Before returning because of an memory allocation error, free the memory already allocated to buf. Found using clang's static analyzer - scan-build Submitted by: Thomas Rix Reviewed by: stevek Approved by: sjg (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D9852 Modified: head/usr.sbin/ppp/iface.c Modified: head/usr.sbin/ppp/iface.c ============================================================================== --- head/usr.sbin/ppp/iface.c Tue Jun 6 21:50:00 2017 (r319637) +++ head/usr.sbin/ppp/iface.c Tue Jun 6 21:51:04 2017 (r319638) @@ -145,6 +145,7 @@ iface_Create(const char *name) iface = (struct iface *)malloc(sizeof *iface); if (iface == NULL) { fprintf(stderr, "iface_Create: malloc: %s\n", strerror(errno)); + free(buf); return NULL; } iface->name = strdup(name); From owner-svn-src-all@freebsd.org Tue Jun 6 22:17:57 2017 Return-Path: Delivered-To: svn-src-all@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 27551BF5FA5; Tue, 6 Jun 2017 22:17:57 +0000 (UTC) (envelope-from stevek@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 5300C7D08A; Tue, 6 Jun 2017 22:17:56 +0000 (UTC) (envelope-from stevek@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v56MHtsm032756; Tue, 6 Jun 2017 22:17:55 GMT (envelope-from stevek@FreeBSD.org) Received: (from stevek@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v56MHtDa032755; Tue, 6 Jun 2017 22:17:55 GMT (envelope-from stevek@FreeBSD.org) Message-Id: <201706062217.v56MHtDa032755@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: stevek set sender to stevek@FreeBSD.org using -f From: "Stephen J. Kiernan" Date: Tue, 6 Jun 2017 22:17:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319639 - head/usr.sbin/bluetooth/hccontrol X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 22:17:57 -0000 Author: stevek Date: Tue Jun 6 22:17:55 2017 New Revision: 319639 URL: https://svnweb.freebsd.org/changeset/base/319639 Log: When the input parameter node is NULL, memory is allocated to it. To later free the memory, introduce a new variable lnode to track when this happens. Submitted by: Thomas Rix Reviewed by: emax Approved by: sjg (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D9878 Modified: head/usr.sbin/bluetooth/hccontrol/hccontrol.c Modified: head/usr.sbin/bluetooth/hccontrol/hccontrol.c ============================================================================== --- head/usr.sbin/bluetooth/hccontrol/hccontrol.c Tue Jun 6 21:51:04 2017 (r319638) +++ head/usr.sbin/bluetooth/hccontrol/hccontrol.c Tue Jun 6 22:17:55 2017 (r319639) @@ -103,13 +103,14 @@ socket_open(char const *node) int s, mib[4], num; size_t size; struct nodeinfo *nodes; + char *lnode = NULL; num = find_hci_nodes(&nodes); if (num == 0) errx(7, "Could not find HCI nodes"); if (node == NULL) { - node = strdup(nodes[0].name); + node = lnode = strdup(nodes[0].name); if (num > 1) fprintf(stdout, "Using HCI node: %s\n", node); } @@ -130,6 +131,7 @@ socket_open(char const *node) if (connect(s, (struct sockaddr *) &addr, sizeof(addr)) < 0) err(3, "Could not connect socket, node=%s", node); + free(lnode); memset(&filter, 0, sizeof(filter)); bit_set(filter.event_mask, NG_HCI_EVENT_COMMAND_COMPL - 1); bit_set(filter.event_mask, NG_HCI_EVENT_COMMAND_STATUS - 1); From owner-svn-src-all@freebsd.org Wed Jun 7 01:21:36 2017 Return-Path: Delivered-To: svn-src-all@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 054FCBF889E; Wed, 7 Jun 2017 01:21:36 +0000 (UTC) (envelope-from glebius@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 C96B08155C; Wed, 7 Jun 2017 01:21:35 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v571LY3G006207; Wed, 7 Jun 2017 01:21:34 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v571LYb2006206; Wed, 7 Jun 2017 01:21:34 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706070121.v571LYb2006206@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 7 Jun 2017 01:21:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319640 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 01:21:36 -0000 Author: glebius Date: Wed Jun 7 01:21:34 2017 New Revision: 319640 URL: https://svnweb.freebsd.org/changeset/base/319640 Log: Remove a piece of dead code. Modified: head/sys/kern/uipc_socket.c Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Tue Jun 6 22:17:55 2017 (r319639) +++ head/sys/kern/uipc_socket.c Wed Jun 7 01:21:34 2017 (r319640) @@ -3575,10 +3575,6 @@ soupcall_set(struct socket *so, int which, panic("soupcall_set: bad which"); } SOCKBUF_LOCK_ASSERT(sb); -#if 0 - /* XXX: accf_http actually wants to do this on purpose. */ - KASSERT(sb->sb_upcall == NULL, ("soupcall_set: overwriting upcall")); -#endif sb->sb_upcall = func; sb->sb_upcallarg = arg; sb->sb_flags |= SB_UPCALL; From owner-svn-src-all@freebsd.org Wed Jun 7 01:48:13 2017 Return-Path: Delivered-To: svn-src-all@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 5D680BF8FBD; Wed, 7 Jun 2017 01:48:13 +0000 (UTC) (envelope-from glebius@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 1BE5C81E36; Wed, 7 Jun 2017 01:48:13 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v571mCeb017433; Wed, 7 Jun 2017 01:48:12 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v571mCwE017431; Wed, 7 Jun 2017 01:48:12 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706070148.v571mCwE017431@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 7 Jun 2017 01:48:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319641 - in head/sys: kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 01:48:13 -0000 Author: glebius Date: Wed Jun 7 01:48:11 2017 New Revision: 319641 URL: https://svnweb.freebsd.org/changeset/base/319641 Log: Provide typedef for socket upcall function. While here change so_gen_t type to modern uint64_t. Modified: head/sys/kern/uipc_socket.c head/sys/sys/socketvar.h Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Wed Jun 7 01:21:34 2017 (r319640) +++ head/sys/kern/uipc_socket.c Wed Jun 7 01:48:11 2017 (r319641) @@ -3559,8 +3559,7 @@ sodupsockaddr(const struct sockaddr *sa, int mflags) * Register per-socket buffer upcalls. */ void -soupcall_set(struct socket *so, int which, - int (*func)(struct socket *, void *, int), void *arg) +soupcall_set(struct socket *so, int which, so_upcall_t func, void *arg) { struct sockbuf *sb; Modified: head/sys/sys/socketvar.h ============================================================================== --- head/sys/sys/socketvar.h Wed Jun 7 01:21:34 2017 (r319640) +++ head/sys/sys/socketvar.h Wed Jun 7 01:48:11 2017 (r319641) @@ -55,7 +55,8 @@ struct vnet; * handle on protocol and pointer to protocol * private data and error information. */ -typedef u_quad_t so_gen_t; +typedef uint64_t so_gen_t; +typedef int so_upcall_t(struct socket *, void *, int); struct socket; @@ -400,9 +401,8 @@ int sosend_generic(struct socket *so, struct sockaddr int flags, struct thread *td); int soshutdown(struct socket *so, int how); void sotoxsocket(struct socket *so, struct xsocket *xso); -void soupcall_clear(struct socket *so, int which); -void soupcall_set(struct socket *so, int which, - int (*func)(struct socket *, void *, int), void *arg); +void soupcall_clear(struct socket *, int); +void soupcall_set(struct socket *, int, so_upcall_t, void *); void sowakeup(struct socket *so, struct sockbuf *sb); void sowakeup_aio(struct socket *so, struct sockbuf *sb); int selsocket(struct socket *so, int events, struct timeval *tv, From owner-svn-src-all@freebsd.org Wed Jun 7 05:33:57 2017 Return-Path: Delivered-To: svn-src-all@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 B9260BFBDFF; Wed, 7 Jun 2017 05:33:57 +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 780DF246F; Wed, 7 Jun 2017 05:33:57 +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 v575Xuri010881; Wed, 7 Jun 2017 05:33:56 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v575Xu4e010878; Wed, 7 Jun 2017 05:33:56 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706070533.v575Xu4e010878@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 7 Jun 2017 05:33:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319642 - in head: bin/chmod bin/chmod/tests etc/mtree X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 05:33:57 -0000 Author: ngie Date: Wed Jun 7 05:33:56 2017 New Revision: 319642 URL: https://svnweb.freebsd.org/changeset/base/319642 Log: Add some basic tests for chmod(1) MFC after: 1 month Sponsored by: Dell EMC Isilon Added: head/bin/chmod/tests/ head/bin/chmod/tests/Makefile (contents, props changed) head/bin/chmod/tests/chmod_test.sh (contents, props changed) Modified: head/bin/chmod/Makefile head/etc/mtree/BSD.tests.dist Modified: head/bin/chmod/Makefile ============================================================================== --- head/bin/chmod/Makefile Wed Jun 7 01:48:11 2017 (r319641) +++ head/bin/chmod/Makefile Wed Jun 7 05:33:56 2017 (r319642) @@ -1,7 +1,11 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include + PACKAGE=runtime PROG= chmod + +SUBDIR.${MK_TESTS}+= tests .include Added: head/bin/chmod/tests/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/chmod/tests/Makefile Wed Jun 7 05:33:56 2017 (r319642) @@ -0,0 +1,5 @@ +# $FreeBSD$ + +ATF_TESTS_SH+= chmod_test + +.include Added: head/bin/chmod/tests/chmod_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/chmod/tests/chmod_test.sh Wed Jun 7 05:33:56 2017 (r319642) @@ -0,0 +1,160 @@ +# +# Copyright (c) 2017 Dell EMC +# 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$ + +atf_test_case RH_flag +RH_flag_head() +{ + atf_set "descr" "Verify that setting modes recursively via -R doesn't " \ + "affect symlinks specified via the arguments when -H " \ + "is specified" +} +RH_flag_body() +{ + atf_check mkdir -m 0777 -p A/B + atf_check ln -s B A/C + atf_check chmod -h 0777 A/C + atf_check -o inline:'40755\n40777\n120777\n' stat -f '%p' A A/B A/C + atf_check chmod -RH 0700 A + atf_check -o inline:'40700\n40700\n120700\n' stat -f '%p' A A/B A/C + atf_check chmod -RH 0600 A/C + atf_check -o inline:'40700\n40600\n120700\n' stat -f '%p' A A/B A/C +} + +atf_test_case RL_flag +RL_flag_head() +{ + atf_set "descr" "Verify that setting modes recursively via -R doesn't " \ + "affect symlinks specified via the arguments when -L " \ + "is specified" +} +RL_flag_body() +{ + atf_check mkdir -m 0777 -p A/B + atf_check ln -s B A/C + atf_check chmod -h 0777 A/C + atf_check -o inline:'40755\n40777\n120777\n' stat -f '%p' A A/B A/C + atf_check chmod -RL 0700 A + atf_check -o inline:'40700\n40700\n120777\n' stat -f '%p' A A/B A/C + atf_check chmod -RL 0600 A/C + atf_check -o inline:'40700\n40600\n120777\n' stat -f '%p' A A/B A/C +} + +atf_test_case RP_flag +RP_flag_head() +{ + atf_set "descr" "Verify that setting modes recursively via -R doesn't " \ + "affect symlinks specified via the arguments when -P " \ + "is specified" +} +RP_flag_body() +{ + atf_check mkdir -m 0777 -p A/B + atf_check ln -s B A/C + atf_check chmod -h 0777 A/C + atf_check -o inline:'40755\n40777\n120777\n' stat -f '%p' A A/B A/C + atf_check chmod -RP 0700 A + atf_check -o inline:'40700\n40700\n120700\n' stat -f '%p' A A/B A/C + atf_check chmod -RP 0600 A/C + atf_check -o inline:'40700\n40700\n120600\n' stat -f '%p' A A/B A/C +} + +atf_test_case f_flag cleanup +f_flag_head() +{ + atf_set "descr" "Verify that setting a mode for a file with -f " \ + "doesn't emit an error message/exit with a non-zero " \ + "code" +} + +f_flag_body() +{ + atf_check truncate -s 0 foo bar + atf_check chmod 0750 foo bar + atf_check chflags uchg foo + atf_check -e not-empty -s not-exit:0 chmod 0700 foo bar + atf_check -o inline:'100750\n100700\n' stat -f '%p' foo bar + atf_check -s exit:0 chmod -f 0600 foo bar + atf_check -o inline:'100750\n100600\n' stat -f '%p' foo bar +} + +f_flag_cleanup() +{ + atf_check chflags 0 foo +} + +atf_test_case h_flag +h_flag_head() +{ + atf_set "descr" "Verify that setting a mode for a file with -f " \ + "doesn't emit an error message/exit with a non-zero " \ + "code" +} + +h_flag_body() +{ + atf_check truncate -s 0 foo + atf_check chmod 0600 foo + atf_check -o inline:'100600\n' stat -f '%p' foo + umask 0077 + atf_check ln -s foo bar + atf_check -o inline:'100600\n120700\n' stat -f '%p' foo bar + atf_check chmod -h 0500 bar + atf_check -o inline:'100600\n120500\n' stat -f '%p' foo bar + atf_check chmod 0660 bar + atf_check -o inline:'100660\n120500\n' stat -f '%p' foo bar +} + +atf_test_case v_flag +v_flag_head() +{ + atf_set "descr" "Verify that setting a mode with -v emits the file when " \ + "doesn't emit an error message/exit with a non-zero " \ + "code" +} +v_flag_body() +{ + atf_check truncate -s 0 foo bar + atf_check chmod 0600 foo + atf_check chmod 0750 bar + atf_check -o 'inline:bar\n' chmod -v 0600 foo bar + atf_check chmod -v 0600 foo bar + for f in foo bar; do + echo "$f: 0100600 [-rw------- ] -> 0100700 [-rwx------ ]"; + done > output.txt + atf_check -o file:output.txt chmod -vv 0700 foo bar + atf_check chmod -vv 0700 foo bar +} + +atf_init_test_cases() +{ + atf_add_test_case RH_flag + atf_add_test_case RL_flag + atf_add_test_case RP_flag + atf_add_test_case f_flag + atf_add_test_case h_flag + atf_add_test_case v_flag +} Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Wed Jun 7 01:48:11 2017 (r319641) +++ head/etc/mtree/BSD.tests.dist Wed Jun 7 05:33:56 2017 (r319642) @@ -8,6 +8,8 @@ bin cat .. + chmod + .. date .. dd From owner-svn-src-all@freebsd.org Wed Jun 7 08:21:04 2017 Return-Path: Delivered-To: svn-src-all@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 E7913BFE502; Wed, 7 Jun 2017 08:21:04 +0000 (UTC) (envelope-from Alexander@leidinger.net) Received: from mailgate.Leidinger.net (mailgate.leidinger.net [IPv6:2a00:1828:2000:375::1:5]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 942CC667F6; Wed, 7 Jun 2017 08:21:04 +0000 (UTC) (envelope-from Alexander@leidinger.net) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=leidinger.net; s=outgoing-alex; t=1496823633; bh=4BdD/oDBBv7DpWxWKziDM9H5uJynVMRHkAVppIUt3kE=; h=Date:From:To:Cc:Subject:In-Reply-To; b=TxYw0nKBrBOY+xBR/V+T1xcsD9sZfiByi3WnEtWNsxixVd2qRKljHqhjR+wP9YYGF ClzGlOJos1QusW1DKalMe6FgwMpl4Vngez6LE1nXHmo/17VQwBI+ux09d0Fw/uNfkw y8ARpiP1Nk4+9V0Ew5w6hCfQYukBFRruUvjgx8rjcq9lQcVtYUW44FSxftGBXkk1Kj 7kW1qPPM8z4W8e7hzVNDdvk9feGP8r72qz4ZwZHoGjdouQEtHVV/5UmjChsM5FWtyQ SmdegiLbAPF6s9y309doju4dvx7PqOtKMo/ZORzi/bbzmzuW44uNvzfCFhZz1xDcbp lwzFfTZjVd+Tg== DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=leidinger.net; s=outgoing-alex; t=1496823660; bh=4BdD/oDBBv7DpWxWKziDM9H5uJynVMRHkAVppIUt3kE=; h=Date:From:To:Cc:Subject:In-Reply-To; b=wlKWd2r1zZgNqN/Y2/ZCe8to6hAukz5u+ZyYCydarCdbDCIRI3nrEGM47sgQhihcl 0yAV/fslv/wmYeegDgF4A7JAk34ftGpZzn96I4luxL7kjeCvFx8kOiJZcGa5G5sIdg INnbFCpkv1sFJuE9e6dO5H2+2FFfgapgEXjrQtnE9u39aIowGZs5vXcTMkaNnG2Gp3 LPdZ8zMehUM/gxkgNjq1A+1k7KIZMHvGET4DP+9g5XL740Grm0zXy9m1nLAfvaK4ix GImBen7wOisEn7wrsF2StNMGtDRkx8prhdLT38/PZh78zjBEmM6FdsFBH/XqYFuC6m i90nmGg2IznLA== Date: Wed, 07 Jun 2017 10:20:33 +0200 Message-ID: <20170607102033.Horde.fNxJ0jaYva0yGHTMA77wPTz@webmail.leidinger.net> From: Alexander Leidinger To: Allan Jude Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r319611 - in head: sys/kern sys/sys usr.sbin/jail In-Reply-To: <201706060215.v562F167035683@repo.freebsd.org> User-Agent: Horde Application Framework 5 Content-Type: multipart/signed; boundary="=_tcAMtdPDjwf0crhh_kKpgZL"; protocol="application/pgp-signature"; micalg=pgp-sha1 MIME-Version: 1.0 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 08:21:05 -0000 This message is in MIME format and has been PGP signed. --=_tcAMtdPDjwf0crhh_kKpgZL Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Quoting Allan Jude (from Tue, 6 Jun 2017=20=20 02:15:01=20+0000 (UTC)): > Author: allanjude > Date: Tue Jun 6 02:15:00 2017 > New Revision: 319611 > URL: https://svnweb.freebsd.org/changeset/base/319611 > > Log: > Jails: Optionally prevent jailed root from binding to privileged ports > > You may now optionally specify allow.noreserved_ports to prevent root > inside a jail from using privileged ports (less than 1024) What about a different name than "noreserved_ports"? This is very=20=20 close=20to "nonreserverd_ports", and as such it's easy to get wrong the=20= =20 first=20time. IMO "block_reserved_ports" and "noblock_reserved_ports"=20=20 (or=20another similar explicit wording) is less likely to get=20=20 misunderstood=20(please take potential lack of language learning skills=20= =20 into=20account...). > Modified: head/sys/kern/kern_jail.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/kern/kern_jail.c Tue Jun 6 02:03:22 2017 (r319610) > +++ head/sys/kern/kern_jail.c Tue Jun 6 02:15:00 2017 (r319611) > @@ -199,6 +199,7 @@ static char *pr_allow_names[] =3D { > "allow.mount.fdescfs", > "allow.mount.linprocfs", > "allow.mount.linsysfs", > + "allow.reserved_ports", > }; > const size_t pr_allow_names_size =3D sizeof(pr_allow_names); > > @@ -218,10 +219,11 @@ static char *pr_allow_nonames[] =3D { > "allow.mount.nofdescfs", > "allow.mount.nolinprocfs", > "allow.mount.nolinsysfs", > + "allow.noreserved_ports", Bye, Alexander. --=20 http://www.Leidinger.net=20Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF http://www.FreeBSD.org netchild@FreeBSD.org : PGP 0x8F31830F9F2772BF --=_tcAMtdPDjwf0crhh_kKpgZL Content-Type: application/pgp-signature Content-Description: Digitale PGP-Signatur Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJZN7dRAAoJEKrxQhqFIICEEsEP+gLusm7tQ8ecCJgRet9NquQB 36p+23f9Q2E2QxtU7BWqr2nx+0H9nm2omhzQz/mxvzL4HwTcad+KSIJXuTJ095rG 3MGXlGsF/fuhVeLcg96khozHb6cjWNGutf171YTi/1rEga2PPUxbGZ1mGdBX7dNl RUF6hRYx+4p3uDyl6gF9WP/v51jil0Nc8yoAYfaqJxQe9ny0gO/uaZV8O39s+N/E ssGFajv4+XRzLdPgD0cpMxmvMpQY/AqWb4MCj1r1Nf8bdptPlZdz2gQf+EyIJeOX 6oMOazlb6jKuqKloogYcc/Lhy7GeNGhFIq6+Oq6K2KM7TII7DPDMPuVqEuOVQBg7 xRx1CCUOIHlFsKKD15PtR0EbUtRBy+05HjYWJ5XIX43ghw6Uw5DPjHNGpaBuFHkN 5NwHUl0DbNqw9Me6z0KNTgQ97+T9UEAxsTLao31iRQ2ZZNWM17pRjXuFxR7xUUf6 tED7eadWud8VthFZb69zKOS0PJ7S8HXSOCFSe5qsIoo0eEpyuBjGos+f67v4OnOo VXIS9oLLMk8F3l3tysLks9oUq0Xv7b/pVjbnu891SOhZGjCxIpovWZNRU0bVQFcX og1Wn9xzOja8U1H+wZ5adTJp3LyHlbHjotMw0HQLukZQ39rXPWGmp+kI1vPnRt8/ SMCa6+o5RE2T0ADAnMEQ =STAj -----END PGP SIGNATURE----- --=_tcAMtdPDjwf0crhh_kKpgZL-- From owner-svn-src-all@freebsd.org Wed Jun 7 09:10:25 2017 Return-Path: Delivered-To: svn-src-all@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 3ACABBFF492; Wed, 7 Jun 2017 09:10:25 +0000 (UTC) (envelope-from kevlo@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 0B909682B7; Wed, 7 Jun 2017 09:10:24 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v579AO4B095765; Wed, 7 Jun 2017 09:10:24 GMT (envelope-from kevlo@FreeBSD.org) Received: (from kevlo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v579AOll095764; Wed, 7 Jun 2017 09:10:24 GMT (envelope-from kevlo@FreeBSD.org) Message-Id: <201706070910.v579AOll095764@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevlo set sender to kevlo@FreeBSD.org using -f From: Kevin Lo Date: Wed, 7 Jun 2017 09:10:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319649 - head/sys/dev/rtwn/rtl8188e X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 09:10:25 -0000 Author: kevlo Date: Wed Jun 7 09:10:24 2017 New Revision: 319649 URL: https://svnweb.freebsd.org/changeset/base/319649 Log: Change R88E_EFUSE_MAX_LEN to use the same value as the vendor's driver that contains the length of the efuse content. Reviewed by: avos Modified: head/sys/dev/rtwn/rtl8188e/r88e_rom_defs.h Modified: head/sys/dev/rtwn/rtl8188e/r88e_rom_defs.h ============================================================================== --- head/sys/dev/rtwn/rtl8188e/r88e_rom_defs.h Wed Jun 7 07:41:44 2017 (r319648) +++ head/sys/dev/rtwn/rtl8188e/r88e_rom_defs.h Wed Jun 7 09:10:24 2017 (r319649) @@ -23,7 +23,7 @@ #define R88E_GROUP_2G 6 -#define R88E_EFUSE_MAX_LEN 512 +#define R88E_EFUSE_MAX_LEN 256 #define R88E_EFUSE_MAP_LEN 512 #endif /* R88E_ROM_DEFS_H */ From owner-svn-src-all@freebsd.org Wed Jun 7 11:04:39 2017 Return-Path: Delivered-To: svn-src-all@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 BF9DEC099BD; Wed, 7 Jun 2017 11:04:39 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from mx1.scaleengine.net (mx1.scaleengine.net [209.51.186.6]) (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 9A3806F987; Wed, 7 Jun 2017 11:04:39 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from [10.124.37.52] (unknown [209.171.88.52]) (Authenticated sender: allanjude.freebsd@scaleengine.com) by mx1.scaleengine.net (Postfix) with ESMTPSA id B78A313D29; Wed, 7 Jun 2017 11:04:37 +0000 (UTC) Date: Wed, 07 Jun 2017 07:04:34 -0400 User-Agent: K-9 Mail for Android In-Reply-To: <20170607102033.Horde.fNxJ0jaYva0yGHTMA77wPTz@webmail.leidinger.net> References: <20170607102033.Horde.fNxJ0jaYva0yGHTMA77wPTz@webmail.leidinger.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: svn commit: r319611 - in head: sys/kern sys/sys usr.sbin/jail To: Alexander Leidinger CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: Allan Jude Message-ID: <6949814E-4CA8-42AC-A4D4-8FE3680E3051@FreeBSD.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 11:04:39 -0000 On June 7, 2017 4:20:33 AM EDT, Alexander Leidinger wrote: > >Quoting Allan Jude (from Tue, 6 Jun 2017 =20 >02:15:01 +0000 (UTC)): > >> Author: allanjude >> Date: Tue Jun 6 02:15:00 2017 >> New Revision: 319611 >> URL: https://svnweb=2Efreebsd=2Eorg/changeset/base/319611 >> >> Log: >> Jails: Optionally prevent jailed root from binding to privileged >ports >> >> You may now optionally specify allow=2Enoreserved_ports to prevent >root >> inside a jail from using privileged ports (less than 1024) > >What about a different name than "noreserved_ports"? This is very =20 >close to "nonreserverd_ports", and as such it's easy to get wrong the =20 >first time=2E IMO "block_reserved_ports" and "noblock_reserved_ports" =20 >(or another similar explicit wording) is less likely to get =20 >misunderstood (please take potential lack of language learning skills =20 >into account=2E=2E=2E)=2E > >> Modified: head/sys/kern/kern_jail=2Ec >> >=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/sys/kern/kern_jail=2Ec Tue Jun 6 02:03:22 2017 (r319610) >> +++ head/sys/kern/kern_jail=2Ec Tue Jun 6 02:15:00 2017 (r319611) >> @@ -199,6 +199,7 @@ static char *pr_allow_names[] =3D { >> "allow=2Emount=2Efdescfs", >> "allow=2Emount=2Elinprocfs", >> "allow=2Emount=2Elinsysfs", >> + "allow=2Ereserved_ports", >> }; >> const size_t pr_allow_names_size =3D sizeof(pr_allow_names); >> >> @@ -218,10 +219,11 @@ static char *pr_allow_nonames[] =3D { >> "allow=2Emount=2Enofdescfs", >> "allow=2Emount=2Enolinprocfs", >> "allow=2Emount=2Enolinsysfs", >> + "allow=2Enoreserved_ports", > >Bye, >Alexander=2E The option name is reserved_ports which allows root to bind to the ports= =2E As with all jail options, the no prefix disables it=2E This feature is = on by default for backwards compatibility=2E --=20 Allan Jude From owner-svn-src-all@freebsd.org Wed Jun 7 11:05:28 2017 Return-Path: Delivered-To: svn-src-all@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 729C6C09A20 for ; Wed, 7 Jun 2017 11:05:28 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from mx1.scaleengine.net (mx1.scaleengine.net [209.51.186.6]) (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 5633A6FAC2 for ; Wed, 7 Jun 2017 11:05:28 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from [10.124.37.52] (unknown [209.171.88.52]) (Authenticated sender: allanjude.freebsd@scaleengine.com) by mx1.scaleengine.net (Postfix) with ESMTPSA id 1537B13D31; Wed, 7 Jun 2017 11:05:26 +0000 (UTC) Date: Wed, 07 Jun 2017 07:05:24 -0400 User-Agent: K-9 Mail for Android In-Reply-To: <20170606114425.126fd846@fabiankeil.de> References: <201706060215.v562F167035683@repo.freebsd.org> <20170606114425.126fd846@fabiankeil.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: svn commit: r319611 - in head: sys/kern sys/sys usr.sbin/jail To: Fabian Keil CC: svn-src-all@freebsd.org From: Allan Jude Message-ID: <3D906167-AC44-4BA5-B8ED-5E793D492BC0@FreeBSD.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 11:05:28 -0000 On June 6, 2017 5:44:25 AM EDT, Fabian Keil wrote: >Allan Jude wrote: > >> Author: allanjude >> Date: Tue Jun 6 02:15:00 2017 >> New Revision: 319611 >> URL: https://svnweb=2Efreebsd=2Eorg/changeset/base/319611 >>=20 >> Log: >> Jails: Optionally prevent jailed root from binding to privileged >ports >> =20 >> You may now optionally specify allow=2Enoreserved_ports to prevent >root >> inside a jail from using privileged ports (less than 1024) >> =20 >> PR: 217728 >> Submitted by: Matt Miller >> Reviewed by: jamie, cem, smh >> Relnotes: yes >> Differential Revision: https://reviews=2Efreebsd=2Eorg/D10202 >>=20 >> Modified: >> head/sys/kern/kern_jail=2Ec >> head/sys/sys/jail=2Eh >> head/usr=2Esbin/jail/jail=2E8 >[=2E=2E=2E] >> @@ -611,6 +613,8 @@ with non-jailed parts of the system=2E >> Sockets within a jail are normally restricted to IPv4, IPv6, local >> (UNIX), and route=2E This allows access to other protocol stacks that >> have not had jail functionality added to them=2E >> +=2EIt Va allow=2Ereserved_ports >> +The jail root may bind to ports lower than 1024=2E=20 > >This description seems to imply that net=2Einet=2Eip=2Eportrange=2Ereserv= edhigh >isn't honoured while it actually is=2E > >Fabian I think the confusion here is: this option prevents root in the jail from = using reserved ports=2E Nonroot users are always restricted --=20 Allan Jude From owner-svn-src-all@freebsd.org Wed Jun 7 11:25:58 2017 Return-Path: Delivered-To: svn-src-all@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 26C74C09E8C for ; Wed, 7 Jun 2017 11:25:58 +0000 (UTC) (envelope-from freebsd-listen@fabiankeil.de) Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.29.8]) (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 D7FB770304; Wed, 7 Jun 2017 11:25:56 +0000 (UTC) (envelope-from freebsd-listen@fabiankeil.de) Received: from [78.35.161.159] (helo=fabiankeil.de) by smtprelay04.ispgateway.de with esmtpsa (TLSv1.2:AES256-GCM-SHA384:256) (Exim 4.84) (envelope-from ) id 1dIZ4L-0007OB-FI; Wed, 07 Jun 2017 13:24:09 +0200 Date: Wed, 7 Jun 2017 13:24:10 +0200 From: Fabian Keil To: Allan Jude Cc: svn-src-all@freebsd.org Subject: Re: svn commit: r319611 - in head: sys/kern sys/sys usr.sbin/jail Message-ID: <20170607132410.39f52836@fabiankeil.de> In-Reply-To: <3D906167-AC44-4BA5-B8ED-5E793D492BC0@FreeBSD.org> References: <201706060215.v562F167035683@repo.freebsd.org> <20170606114425.126fd846@fabiankeil.de> <3D906167-AC44-4BA5-B8ED-5E793D492BC0@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; boundary="Sig_/zGMVhUxchfB7m2Cw7sqAy0e"; protocol="application/pgp-signature" X-Df-Sender: Nzc1MDY3 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 11:25:58 -0000 --Sig_/zGMVhUxchfB7m2Cw7sqAy0e Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Allan Jude wrote: > On June 6, 2017 5:44:25 AM EDT, Fabian Keil wrote: > >Allan Jude wrote: > > =20 > >> Author: allanjude > >> Date: Tue Jun 6 02:15:00 2017 > >> New Revision: 319611 > >> URL: https://svnweb.freebsd.org/changeset/base/319611 > >>=20 > >> Log: > >> Jails: Optionally prevent jailed root from binding to privileged =20 > >ports =20 > >> =20 > >> You may now optionally specify allow.noreserved_ports to prevent =20 > >root =20 > >> inside a jail from using privileged ports (less than 1024) > >> =20 > >> PR: 217728 > >> Submitted by: Matt Miller > >> Reviewed by: jamie, cem, smh > >> Relnotes: yes > >> Differential Revision: https://reviews.freebsd.org/D10202 > >>=20 > >> Modified: > >> head/sys/kern/kern_jail.c > >> head/sys/sys/jail.h > >> head/usr.sbin/jail/jail.8 =20 > >[...] =20 > >> @@ -611,6 +613,8 @@ with non-jailed parts of the system. > >> Sockets within a jail are normally restricted to IPv4, IPv6, local > >> (UNIX), and route. This allows access to other protocol stacks that > >> have not had jail functionality added to them. > >> +.It Va allow.reserved_ports > >> +The jail root may bind to ports lower than 1024. =20 > > > >This description seems to imply that net.inet.ip.portrange.reservedhigh > >isn't honoured while it actually is. =20 > I think the confusion here is: this option prevents root > in the jail from using reserved ports. Nonroot users are > always restricted I understand that. My point is the man page addition suggests that the reserved port range end is hard coded while the actual end can be changed with net.inet.ip.portrange.reservedhigh. Fabian --Sig_/zGMVhUxchfB7m2Cw7sqAy0e Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQTKUNd6H/m3+ByGULIFiohV/3dUnQUCWTfiWgAKCRAFiohV/3dU nZ/VAKCpptWi0vM2g/gKVGUnmZhqqZxGbgCgzPGICvz5hVl4oQTLP+56qaMpSVI= =SeLC -----END PGP SIGNATURE----- --Sig_/zGMVhUxchfB7m2Cw7sqAy0e-- From owner-svn-src-all@freebsd.org Wed Jun 7 11:30:30 2017 Return-Path: Delivered-To: svn-src-all@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 14BACC09EF7; Wed, 7 Jun 2017 11:30: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 D787D703A4; Wed, 7 Jun 2017 11:30:29 +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 v57BUTT7053475; Wed, 7 Jun 2017 11:30:29 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57BUSPq053473; Wed, 7 Jun 2017 11:30:28 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706071130.v57BUSPq053473@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 7 Jun 2017 11:30:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319650 - in stable/11: share/man/man9 sys/sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 11:30:30 -0000 Author: kib Date: Wed Jun 7 11:30:28 2017 New Revision: 319650 URL: https://svnweb.freebsd.org/changeset/base/319650 Log: MFC r318781: Add BIT_OR2(), BIT_AND2(), BIT_NAND2(), BIT_XOR() and BIT_XOR2(). Approved by: re (marius) Modified: stable/11/share/man/man9/bitset.9 stable/11/sys/sys/bitset.h Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man9/bitset.9 ============================================================================== --- stable/11/share/man/man9/bitset.9 Wed Jun 7 09:10:24 2017 (r319649) +++ stable/11/share/man/man9/bitset.9 Wed Jun 7 11:30:28 2017 (r319650) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 1, 2016 +.Dd May 24, 2017 .Dt BITSET 9 .Os .Sh NAME @@ -48,8 +48,13 @@ .Nm BIT_OVERLAP , .Nm BIT_CMP , .Nm BIT_OR , +.Nm BIT_OR2 , .Nm BIT_AND , +.Nm BIT_AND2 , .Nm BIT_NAND , +.Nm BIT_NAND2 , +.Nm BIT_XOR , +.Nm BIT_XOR2 , .Nm BIT_CLR_ATOMIC , .Nm BIT_SET_ATOMIC , .Nm BIT_SET_ATOMIC_ACQ , @@ -95,8 +100,33 @@ .Fa "const SETSIZE" "struct STRUCTNAME *bitset1" "struct STRUCTNAME *bitset2" .Fc .Fn BIT_OR "const SETSIZE" "struct STRUCTNAME *dst" "struct STRUCTNAME *src" +.Fo BIT_OR2 +.Fa "const SETSIZE" +.Fa "struct STRUCTNAME *dst" +.Fa "struct STRUCTNAME *src1" +.Fa "struct STRUCTNAME *src2" +.Fc .Fn BIT_AND "const SETSIZE" "struct STRUCTNAME *dst" "struct STRUCTNAME *src" +.Fo BIT_AND2 +.Fa "const SETSIZE" +.Fa "struct STRUCTNAME *dst" +.Fa "struct STRUCTNAME *src1" +.Fa "struct STRUCTNAME *src2" +.Fc .Fn BIT_NAND "const SETSIZE" "struct STRUCTNAME *dst" "struct STRUCTNAME *src" +.Fo BIT_NAND2 +.Fa "const SETSIZE" +.Fa "struct STRUCTNAME *dst" +.Fa "struct STRUCTNAME *src1" +.Fa "struct STRUCTNAME *src2" +.Fc +.Fn BIT_XOR "const SETSIZE" "struct STRUCTNAME *dst" "struct STRUCTNAME *src" +.Fo BIT_XOR2 +.Fa "const SETSIZE" +.Fa "struct STRUCTNAME *dst" +.Fa "struct STRUCTNAME *src1" +.Fa "struct STRUCTNAME *src2" +.Fc .\" .Fn BIT_CLR_ATOMIC "const SETSIZE" "size_t bit" "struct STRUCTNAME *bitset" .Fn BIT_SET_ATOMIC "const SETSIZE" "size_t bit" "struct STRUCTNAME *bitset" @@ -312,6 +342,23 @@ is composed of multiple machine words, performs multiple individually atomic operations.) .Pp The +.Fn BIT_OR2 +macro computes +.Fa src1 +bitwise or +.Fa src2 +and assigns the result to +.Fa dst . +(It is the +.Nm +equivalent of the scalar: +.Fa dst += +.Fa src1 +| +.Fa src2 . ) +.Pp +The .Fn BIT_AND macro clears bits absent from .Fa src @@ -328,6 +375,23 @@ is similar, with the same atomic semantics as .Fn BIT_OR_ATOMIC . .Pp The +.Fn BIT_AND2 +macro computes +.Fa src1 +bitwise and +.Fa src2 +and assigns the result to +.Fa dst . +(It is the +.Nm +equivalent of the scalar: +.Fa dst += +.Fa src1 +& +.Fa src2 . ) +.Pp +The .Fn BIT_NAND macro clears bits set in .Fa src @@ -339,6 +403,53 @@ equivalent of the scalar: .Fa dst &= .Fa ~ src . ) +.Pp +The +.Fn BIT_NAND2 +macro computes +.Fa src1 +bitwise and not +.Fa src2 +and assigns the result to +.Fa dst . +(It is the +.Nm +equivalent of the scalar: +.Fa dst += +.Fa src1 +& ~ +.Fa src2 . ) +.Pp +The +.Fn BIT_XOR +macro toggles bits set in +.Fa src +in +.Fa dst . +(It is the +.Nm +equivalent of the scalar: +.Fa dst +^= +.Fa src . ) +.Pp +The +.Fn BIT_XOR2 +macro computes +.Fa src1 +bitwise exclusive or +.Fa src2 +and assigns the result to +.Fa dst . +(It is the +.Nm +equivalent of the scalar: +.Fa dst += +.Fa src1 +^ +.Fa src2 . ) .Sh BITSET_T_INITIALIZER EXAMPLE .Bd -literal BITSET_DEFINE(_myset, MYSETSIZE); Modified: stable/11/sys/sys/bitset.h ============================================================================== --- stable/11/sys/sys/bitset.h Wed Jun 7 09:10:24 2017 (r319649) +++ stable/11/sys/sys/bitset.h Wed Jun 7 11:30:28 2017 (r319650) @@ -122,16 +122,46 @@ (d)->__bits[__i] |= (s)->__bits[__i]; \ } while (0) +#define BIT_OR2(_s, d, s1, s2) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] = (s1)->__bits[__i] | (s2)->__bits[__i];\ +} while (0) + #define BIT_AND(_s, d, s) do { \ __size_t __i; \ for (__i = 0; __i < __bitset_words((_s)); __i++) \ (d)->__bits[__i] &= (s)->__bits[__i]; \ } while (0) +#define BIT_AND2(_s, d, s1, s2) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] = (s1)->__bits[__i] & (s2)->__bits[__i];\ +} while (0) + #define BIT_NAND(_s, d, s) do { \ __size_t __i; \ for (__i = 0; __i < __bitset_words((_s)); __i++) \ (d)->__bits[__i] &= ~(s)->__bits[__i]; \ +} while (0) + +#define BIT_NAND2(_s, d, s1, s2) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] = (s1)->__bits[__i] & ~(s2)->__bits[__i];\ +} while (0) + +#define BIT_XOR(_s, d, s) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] ^= (s)->__bits[__i]; \ +} while (0) + +#define BIT_XOR2(_s, d, s1, s2) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] = (s1)->__bits[__i] ^ (s2)->__bits[__i];\ } while (0) #define BIT_CLR_ATOMIC(_s, n, p) \ From owner-svn-src-all@freebsd.org Wed Jun 7 11:39:54 2017 Return-Path: Delivered-To: svn-src-all@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 1996AC0A0B7; Wed, 7 Jun 2017 11:39:54 +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 DCA3D708F6; Wed, 7 Jun 2017 11:39:53 +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 v57BdrXN057726; Wed, 7 Jun 2017 11:39:53 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57Bdqle057724; Wed, 7 Jun 2017 11:39:52 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706071139.v57Bdqle057724@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 7 Jun 2017 11:39:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319651 - in stable/11: include sys/sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 11:39:54 -0000 Author: kib Date: Wed Jun 7 11:39:52 2017 New Revision: 319651 URL: https://svnweb.freebsd.org/changeset/base/319651 Log: MFC r318780: Use __BSD_VISIBLE test instead checking for absense of _POSIX_SOURCE. Approved by: re (marius) Modified: stable/11/include/termios.h stable/11/sys/sys/_termios.h Directory Properties: stable/11/ (props changed) Modified: stable/11/include/termios.h ============================================================================== --- stable/11/include/termios.h Wed Jun 7 11:30:28 2017 (r319650) +++ stable/11/include/termios.h Wed Jun 7 11:39:52 2017 (r319651) @@ -42,12 +42,12 @@ typedef __pid_t pid_t; #define _PID_T_DECLARED #endif -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define OXTABS TAB3 #define MDMBUF CCAR_OFLOW #endif -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define CCEQ(val, c) ((c) == (val) && (val) != _POSIX_VDISABLE) #endif @@ -57,7 +57,7 @@ typedef __pid_t pid_t; #define TCSANOW 0 /* make change immediate */ #define TCSADRAIN 1 /* drain output, then change */ #define TCSAFLUSH 2 /* drain output, flush input */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define TCSASOFT 0x10 /* flag - don't alter h.w. state */ #endif @@ -95,7 +95,7 @@ __END_DECLS #endif /* !_TERMIOS_H_ */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #include #include #endif Modified: stable/11/sys/sys/_termios.h ============================================================================== --- stable/11/sys/sys/_termios.h Wed Jun 7 11:30:28 2017 (r319650) +++ stable/11/sys/sys/_termios.h Wed Jun 7 11:39:52 2017 (r319651) @@ -42,15 +42,15 @@ */ #define VEOF 0 /* ICANON */ #define VEOL 1 /* ICANON */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VEOL2 2 /* ICANON together with IEXTEN */ #endif #define VERASE 3 /* ICANON */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VWERASE 4 /* ICANON together with IEXTEN */ #endif #define VKILL 5 /* ICANON */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VREPRINT 6 /* ICANON together with IEXTEN */ #define VERASE2 7 /* ICANON */ #endif @@ -58,18 +58,18 @@ #define VINTR 8 /* ISIG */ #define VQUIT 9 /* ISIG */ #define VSUSP 10 /* ISIG */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VDSUSP 11 /* ISIG together with IEXTEN */ #endif #define VSTART 12 /* IXON, IXOFF */ #define VSTOP 13 /* IXON, IXOFF */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VLNEXT 14 /* IEXTEN */ #define VDISCARD 15 /* IEXTEN */ #endif #define VMIN 16 /* !ICANON */ #define VTIME 17 /* !ICANON */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VSTATUS 18 /* ICANON together with IEXTEN */ /* 19 spare 2 */ #endif @@ -91,16 +91,16 @@ #define ICRNL 0x00000100 /* map CR to NL (ala CRMOD) */ #define IXON 0x00000200 /* enable output flow control */ #define IXOFF 0x00000400 /* enable input flow control */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define IXANY 0x00000800 /* any char will restart after stop */ #define IMAXBEL 0x00002000 /* ring bell on input queue full */ -#endif /*_POSIX_SOURCE */ +#endif /* * Output flags - software output processing */ #define OPOST 0x00000001 /* enable following output processing */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define ONLCR 0x00000002 /* map NL to CR-NL (ala CRMOD) */ #define TABDLY 0x00000004 /* tab delay mask */ #define TAB0 0x00000000 /* no tab delay and expansion */ @@ -109,12 +109,12 @@ #define OCRNL 0x00000010 /* map CR to NL on output */ #define ONOCR 0x00000020 /* no CR output at column 0 */ #define ONLRET 0x00000040 /* NL performs CR function */ -#endif /*_POSIX_SOURCE */ +#endif /* * Control flags - hardware control of terminal */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define CIGNORE 0x00000001 /* ignore control flags */ #endif #define CSIZE 0x00000300 /* character size mask */ @@ -128,7 +128,7 @@ #define PARODD 0x00002000 /* odd parity, else even */ #define HUPCL 0x00004000 /* hang up on last close */ #define CLOCAL 0x00008000 /* ignore modem status lines */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define CCTS_OFLOW 0x00010000 /* CTS flow control of output */ #define CRTSCTS (CCTS_OFLOW | CRTS_IFLOW) #define CRTS_IFLOW 0x00020000 /* RTS flow control of input */ @@ -146,30 +146,30 @@ * input flag. */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define ECHOKE 0x00000001 /* visual erase for line kill */ -#endif /*_POSIX_SOURCE */ +#endif #define ECHOE 0x00000002 /* visually erase chars */ #define ECHOK 0x00000004 /* echo NL after line kill */ #define ECHO 0x00000008 /* enable echoing */ #define ECHONL 0x00000010 /* echo NL even if ECHO is off */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define ECHOPRT 0x00000020 /* visual erase mode for hardcopy */ #define ECHOCTL 0x00000040 /* echo control chars as ^(Char) */ -#endif /*_POSIX_SOURCE */ +#endif #define ISIG 0x00000080 /* enable signals INTR, QUIT, [D]SUSP */ #define ICANON 0x00000100 /* canonicalize input lines */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define ALTWERASE 0x00000200 /* use alternate WERASE algorithm */ -#endif /*_POSIX_SOURCE */ +#endif #define IEXTEN 0x00000400 /* enable DISCARD and LNEXT */ #define EXTPROC 0x00000800 /* external processing */ #define TOSTOP 0x00400000 /* stop background jobs from output */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define FLUSHO 0x00800000 /* output being flushed (state) */ #define NOKERNINFO 0x02000000 /* no kernel output from VSTATUS */ #define PENDIN 0x20000000 /* XXX retype pending input (state) */ -#endif /*_POSIX_SOURCE */ +#endif #define NOFLSH 0x80000000 /* don't flush after interrupt */ /* @@ -191,7 +191,7 @@ #define B9600 9600 #define B19200 19200 #define B38400 38400 -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define B7200 7200 #define B14400 14400 #define B28800 28800 @@ -203,7 +203,7 @@ #define B921600 921600 #define EXTA 19200 #define EXTB 38400 -#endif /* !_POSIX_SOURCE */ +#endif typedef unsigned int tcflag_t; typedef unsigned char cc_t; From owner-svn-src-all@freebsd.org Wed Jun 7 11:42:44 2017 Return-Path: Delivered-To: svn-src-all@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 D9806C0A2B2; Wed, 7 Jun 2017 11:42:44 +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 A28FD70D00; Wed, 7 Jun 2017 11:42:44 +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 v57BghJB061682; Wed, 7 Jun 2017 11:42:43 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57BghYx061681; Wed, 7 Jun 2017 11:42:43 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706071142.v57BghYx061681@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 7 Jun 2017 11:42:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r319652 - stable/10/sys/sys X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 11:42:45 -0000 Author: kib Date: Wed Jun 7 11:42:43 2017 New Revision: 319652 URL: https://svnweb.freebsd.org/changeset/base/319652 Log: MFC r318781: Add BIT_OR2(), BIT_AND2(), BIT_NAND2(), BIT_XOR() and BIT_XOR2(). Modified: stable/10/sys/sys/bitset.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/sys/bitset.h ============================================================================== --- stable/10/sys/sys/bitset.h Wed Jun 7 11:39:52 2017 (r319651) +++ stable/10/sys/sys/bitset.h Wed Jun 7 11:42:43 2017 (r319652) @@ -115,16 +115,46 @@ (d)->__bits[__i] |= (s)->__bits[__i]; \ } while (0) +#define BIT_OR2(_s, d, s1, s2) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] = (s1)->__bits[__i] | (s2)->__bits[__i];\ +} while (0) + #define BIT_AND(_s, d, s) do { \ __size_t __i; \ for (__i = 0; __i < __bitset_words((_s)); __i++) \ (d)->__bits[__i] &= (s)->__bits[__i]; \ } while (0) +#define BIT_AND2(_s, d, s1, s2) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] = (s1)->__bits[__i] & (s2)->__bits[__i];\ +} while (0) + #define BIT_NAND(_s, d, s) do { \ __size_t __i; \ for (__i = 0; __i < __bitset_words((_s)); __i++) \ (d)->__bits[__i] &= ~(s)->__bits[__i]; \ +} while (0) + +#define BIT_NAND2(_s, d, s1, s2) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] = (s1)->__bits[__i] & ~(s2)->__bits[__i];\ +} while (0) + +#define BIT_XOR(_s, d, s) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] ^= (s)->__bits[__i]; \ +} while (0) + +#define BIT_XOR2(_s, d, s1, s2) do { \ + __size_t __i; \ + for (__i = 0; __i < __bitset_words((_s)); __i++) \ + (d)->__bits[__i] = (s1)->__bits[__i] ^ (s2)->__bits[__i];\ } while (0) #define BIT_CLR_ATOMIC(_s, n, p) \ From owner-svn-src-all@freebsd.org Wed Jun 7 11:43:37 2017 Return-Path: Delivered-To: svn-src-all@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 C6262C0A36D; Wed, 7 Jun 2017 11:43:37 +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 9E29F70E57; Wed, 7 Jun 2017 11:43:37 +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 v57Bha5E061888; Wed, 7 Jun 2017 11:43:36 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57Bhagt061886; Wed, 7 Jun 2017 11:43:36 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706071143.v57Bhagt061886@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 7 Jun 2017 11:43:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r319653 - in stable/10: include sys/sys X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 11:43:37 -0000 Author: kib Date: Wed Jun 7 11:43:36 2017 New Revision: 319653 URL: https://svnweb.freebsd.org/changeset/base/319653 Log: MFC r318780: Use __BSD_VISIBLE test instead checking for absense of _POSIX_SOURCE. Modified: stable/10/include/termios.h stable/10/sys/sys/_termios.h Directory Properties: stable/10/ (props changed) Modified: stable/10/include/termios.h ============================================================================== --- stable/10/include/termios.h Wed Jun 7 11:42:43 2017 (r319652) +++ stable/10/include/termios.h Wed Jun 7 11:43:36 2017 (r319653) @@ -42,12 +42,12 @@ typedef __pid_t pid_t; #define _PID_T_DECLARED #endif -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define OXTABS TAB3 #define MDMBUF CCAR_OFLOW #endif -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define CCEQ(val, c) ((c) == (val) && (val) != _POSIX_VDISABLE) #endif @@ -57,7 +57,7 @@ typedef __pid_t pid_t; #define TCSANOW 0 /* make change immediate */ #define TCSADRAIN 1 /* drain output, then change */ #define TCSAFLUSH 2 /* drain output, flush input */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define TCSASOFT 0x10 /* flag - don't alter h.w. state */ #endif @@ -95,7 +95,7 @@ __END_DECLS #endif /* !_TERMIOS_H_ */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #include #include #endif Modified: stable/10/sys/sys/_termios.h ============================================================================== --- stable/10/sys/sys/_termios.h Wed Jun 7 11:42:43 2017 (r319652) +++ stable/10/sys/sys/_termios.h Wed Jun 7 11:43:36 2017 (r319653) @@ -42,15 +42,15 @@ */ #define VEOF 0 /* ICANON */ #define VEOL 1 /* ICANON */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VEOL2 2 /* ICANON together with IEXTEN */ #endif #define VERASE 3 /* ICANON */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VWERASE 4 /* ICANON together with IEXTEN */ #endif #define VKILL 5 /* ICANON */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VREPRINT 6 /* ICANON together with IEXTEN */ #define VERASE2 7 /* ICANON */ #endif @@ -58,18 +58,18 @@ #define VINTR 8 /* ISIG */ #define VQUIT 9 /* ISIG */ #define VSUSP 10 /* ISIG */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VDSUSP 11 /* ISIG together with IEXTEN */ #endif #define VSTART 12 /* IXON, IXOFF */ #define VSTOP 13 /* IXON, IXOFF */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VLNEXT 14 /* IEXTEN */ #define VDISCARD 15 /* IEXTEN */ #endif #define VMIN 16 /* !ICANON */ #define VTIME 17 /* !ICANON */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define VSTATUS 18 /* ICANON together with IEXTEN */ /* 19 spare 2 */ #endif @@ -91,16 +91,16 @@ #define ICRNL 0x00000100 /* map CR to NL (ala CRMOD) */ #define IXON 0x00000200 /* enable output flow control */ #define IXOFF 0x00000400 /* enable input flow control */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define IXANY 0x00000800 /* any char will restart after stop */ #define IMAXBEL 0x00002000 /* ring bell on input queue full */ -#endif /*_POSIX_SOURCE */ +#endif /* * Output flags - software output processing */ #define OPOST 0x00000001 /* enable following output processing */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define ONLCR 0x00000002 /* map NL to CR-NL (ala CRMOD) */ #define TABDLY 0x00000004 /* tab delay mask */ #define TAB0 0x00000000 /* no tab delay and expansion */ @@ -109,12 +109,12 @@ #define OCRNL 0x00000010 /* map CR to NL on output */ #define ONOCR 0x00000020 /* no CR output at column 0 */ #define ONLRET 0x00000040 /* NL performs CR function */ -#endif /*_POSIX_SOURCE */ +#endif /* * Control flags - hardware control of terminal */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define CIGNORE 0x00000001 /* ignore control flags */ #endif #define CSIZE 0x00000300 /* character size mask */ @@ -128,7 +128,7 @@ #define PARODD 0x00002000 /* odd parity, else even */ #define HUPCL 0x00004000 /* hang up on last close */ #define CLOCAL 0x00008000 /* ignore modem status lines */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define CCTS_OFLOW 0x00010000 /* CTS flow control of output */ #define CRTSCTS (CCTS_OFLOW | CRTS_IFLOW) #define CRTS_IFLOW 0x00020000 /* RTS flow control of input */ @@ -146,30 +146,30 @@ * input flag. */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define ECHOKE 0x00000001 /* visual erase for line kill */ -#endif /*_POSIX_SOURCE */ +#endif #define ECHOE 0x00000002 /* visually erase chars */ #define ECHOK 0x00000004 /* echo NL after line kill */ #define ECHO 0x00000008 /* enable echoing */ #define ECHONL 0x00000010 /* echo NL even if ECHO is off */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define ECHOPRT 0x00000020 /* visual erase mode for hardcopy */ #define ECHOCTL 0x00000040 /* echo control chars as ^(Char) */ -#endif /*_POSIX_SOURCE */ +#endif #define ISIG 0x00000080 /* enable signals INTR, QUIT, [D]SUSP */ #define ICANON 0x00000100 /* canonicalize input lines */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define ALTWERASE 0x00000200 /* use alternate WERASE algorithm */ -#endif /*_POSIX_SOURCE */ +#endif #define IEXTEN 0x00000400 /* enable DISCARD and LNEXT */ #define EXTPROC 0x00000800 /* external processing */ #define TOSTOP 0x00400000 /* stop background jobs from output */ -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define FLUSHO 0x00800000 /* output being flushed (state) */ #define NOKERNINFO 0x02000000 /* no kernel output from VSTATUS */ #define PENDIN 0x20000000 /* XXX retype pending input (state) */ -#endif /*_POSIX_SOURCE */ +#endif #define NOFLSH 0x80000000 /* don't flush after interrupt */ /* @@ -191,7 +191,7 @@ #define B9600 9600 #define B19200 19200 #define B38400 38400 -#ifndef _POSIX_SOURCE +#if __BSD_VISIBLE #define B7200 7200 #define B14400 14400 #define B28800 28800 @@ -203,7 +203,7 @@ #define B921600 921600 #define EXTA 19200 #define EXTB 38400 -#endif /* !_POSIX_SOURCE */ +#endif typedef unsigned int tcflag_t; typedef unsigned char cc_t; From owner-svn-src-all@freebsd.org Wed Jun 7 12:50:56 2017 Return-Path: Delivered-To: svn-src-all@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 2BE9BC3110D; Wed, 7 Jun 2017 12:50:56 +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 05DB4732DD; Wed, 7 Jun 2017 12:50:55 +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 v57CotWV086615; Wed, 7 Jun 2017 12:50:55 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57Cos26086612; Wed, 7 Jun 2017 12:50:54 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201706071250.v57Cos26086612@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Wed, 7 Jun 2017 12:50:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319654 - stable/11/sys/netinet X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 12:50:56 -0000 Author: tuexen Date: Wed Jun 7 12:50:54 2017 New Revision: 319654 URL: https://svnweb.freebsd.org/changeset/base/319654 Log: MFC r319556: Fix the ICMP6 handling for TCP. The ICMP6 packets might not be contained in a single mbuf. So don't assume this. Keep the IPv4 and IPv6 code in sync and make explicit that the syncache code only need the TCP sequence number, not the complete TCP header. Approved by: re (marius) Modified: stable/11/sys/netinet/tcp_subr.c stable/11/sys/netinet/tcp_syncache.c stable/11/sys/netinet/tcp_syncache.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netinet/tcp_subr.c ============================================================================== --- stable/11/sys/netinet/tcp_subr.c Wed Jun 7 11:43:36 2017 (r319653) +++ stable/11/sys/netinet/tcp_subr.c Wed Jun 7 12:50:54 2017 (r319654) @@ -1966,16 +1966,16 @@ tcp_ctlinput(int cmd, struct sockaddr *sa, void *vip) if (inp != NULL && PRC_IS_REDIRECT(cmd)) { /* signal EHOSTDOWN, as it flushes the cached route */ inp = (*notify)(inp, EHOSTDOWN); - if (inp != NULL) - INP_WUNLOCK(inp); - } else if (inp != NULL) { + goto out; + } + icmp_tcp_seq = th->th_seq; + if (inp != NULL) { if (!(inp->inp_flags & INP_TIMEWAIT) && !(inp->inp_flags & INP_DROPPED) && !(inp->inp_socket == NULL)) { - icmp_tcp_seq = ntohl(th->th_seq); tp = intotcpcb(inp); - if (SEQ_GEQ(icmp_tcp_seq, tp->snd_una) && - SEQ_LT(icmp_tcp_seq, tp->snd_max)) { + if (SEQ_GEQ(ntohl(icmp_tcp_seq), tp->snd_una) && + SEQ_LT(ntohl(icmp_tcp_seq), tp->snd_max)) { if (cmd == PRC_MSGSIZE) { /* * MTU discovery: @@ -1983,7 +1983,7 @@ tcp_ctlinput(int cmd, struct sockaddr *sa, void *vip) * in the route to the suggested new * value (if given) and then notify. */ - mtu = ntohs(icp->icmp_nextmtu); + mtu = ntohs(icp->icmp_nextmtu); /* * If no alternative MTU was * proposed, try the next smaller @@ -2014,16 +2014,17 @@ tcp_ctlinput(int cmd, struct sockaddr *sa, void *vip) inetctlerrmap[cmd]); } } - if (inp != NULL) - INP_WUNLOCK(inp); } else { bzero(&inc, sizeof(inc)); inc.inc_fport = th->th_dport; inc.inc_lport = th->th_sport; inc.inc_faddr = faddr; inc.inc_laddr = ip->ip_src; - syncache_unreach(&inc, th); + syncache_unreach(&inc, icmp_tcp_seq); } +out: + if (inp != NULL) + INP_WUNLOCK(inp); INP_INFO_RUNLOCK(&V_tcbinfo); } #endif /* INET */ @@ -2033,7 +2034,6 @@ void tcp6_ctlinput(int cmd, struct sockaddr *sa, void *d) { struct in6_addr *dst; - struct tcphdr *th; struct inpcb *(*notify)(struct inpcb *, int) = tcp_notify; struct ip6_hdr *ip6; struct mbuf *m; @@ -2043,11 +2043,14 @@ tcp6_ctlinput(int cmd, struct sockaddr *sa, void *d) struct ip6ctlparam *ip6cp = NULL; const struct sockaddr_in6 *sa6_src = NULL; struct in_conninfo inc; + struct tcp_ports { + uint16_t th_sport; + uint16_t th_dport; + } t_ports; tcp_seq icmp_tcp_seq; unsigned int mtu; unsigned int off; - if (sa->sa_family != AF_INET6 || sa->sa_len != sizeof(struct sockaddr_in6)) return; @@ -2096,27 +2099,31 @@ tcp6_ctlinput(int cmd, struct sockaddr *sa, void *d) /* Check if we can safely get the ports from the tcp hdr */ if (m == NULL || (m->m_pkthdr.len < - (int32_t) (off + offsetof(struct tcphdr, th_seq)))) { + (int32_t) (off + sizeof(struct tcp_ports)))) { return; } - - th = (struct tcphdr *) mtodo(ip6cp->ip6c_m, ip6cp->ip6c_off); + bzero(&t_ports, sizeof(struct tcp_ports)); + m_copydata(m, off, sizeof(struct tcp_ports), (caddr_t)&t_ports); INP_INFO_RLOCK(&V_tcbinfo); - inp = in6_pcblookup(&V_tcbinfo, &ip6->ip6_dst, th->th_dport, - &ip6->ip6_src, th->th_sport, INPLOOKUP_WLOCKPCB, NULL); + inp = in6_pcblookup(&V_tcbinfo, &ip6->ip6_dst, t_ports.th_dport, + &ip6->ip6_src, t_ports.th_sport, INPLOOKUP_WLOCKPCB, NULL); if (inp != NULL && PRC_IS_REDIRECT(cmd)) { /* signal EHOSTDOWN, as it flushes the cached route */ inp = (*notify)(inp, EHOSTDOWN); - if (inp != NULL) - INP_WUNLOCK(inp); - } else if (inp != NULL) { + goto out; + } + off += sizeof(struct tcp_ports); + if (m->m_pkthdr.len < (int32_t) (off + sizeof(tcp_seq))) { + goto out; + } + m_copydata(m, off, sizeof(tcp_seq), (caddr_t)&icmp_tcp_seq); + if (inp != NULL) { if (!(inp->inp_flags & INP_TIMEWAIT) && !(inp->inp_flags & INP_DROPPED) && !(inp->inp_socket == NULL)) { - icmp_tcp_seq = ntohl(th->th_seq); tp = intotcpcb(inp); - if (SEQ_GEQ(icmp_tcp_seq, tp->snd_una) && - SEQ_LT(icmp_tcp_seq, tp->snd_max)) { + if (SEQ_GEQ(ntohl(icmp_tcp_seq), tp->snd_una) && + SEQ_LT(ntohl(icmp_tcp_seq), tp->snd_max)) { if (cmd == PRC_MSGSIZE) { /* * MTU discovery: @@ -2133,22 +2140,20 @@ tcp6_ctlinput(int cmd, struct sockaddr *sa, void *d) */ if (mtu < IPV6_MMTU) mtu = IPV6_MMTU - 8; - - bzero(&inc, sizeof(inc)); inc.inc_fibnum = M_GETFIB(m); inc.inc_flags |= INC_ISIPV6; inc.inc6_faddr = *dst; if (in6_setscope(&inc.inc6_faddr, m->m_pkthdr.rcvif, NULL)) - goto unlock_inp; - + goto out; /* * Only process the offered MTU if it * is smaller than the current one. */ if (mtu < tp->t_maxseg + - (sizeof (*th) + sizeof (*ip6))) { + sizeof (struct tcphdr) + + sizeof (struct ip6_hdr)) { tcp_hc_updatemtu(&inc, mtu); tcp_mtudisc(inp, mtu); ICMP6STAT_INC(icp6s_pmtuchg); @@ -2158,19 +2163,19 @@ tcp6_ctlinput(int cmd, struct sockaddr *sa, void *d) inet6ctlerrmap[cmd]); } } -unlock_inp: - if (inp != NULL) - INP_WUNLOCK(inp); } else { bzero(&inc, sizeof(inc)); inc.inc_fibnum = M_GETFIB(m); inc.inc_flags |= INC_ISIPV6; - inc.inc_fport = th->th_dport; - inc.inc_lport = th->th_sport; + inc.inc_fport = t_ports.th_dport; + inc.inc_lport = t_ports.th_sport; inc.inc6_faddr = *dst; inc.inc6_laddr = ip6->ip6_src; - syncache_unreach(&inc, th); + syncache_unreach(&inc, icmp_tcp_seq); } +out: + if (inp != NULL) + INP_WUNLOCK(inp); INP_INFO_RUNLOCK(&V_tcbinfo); } #endif /* INET6 */ Modified: stable/11/sys/netinet/tcp_syncache.c ============================================================================== --- stable/11/sys/netinet/tcp_syncache.c Wed Jun 7 11:43:36 2017 (r319653) +++ stable/11/sys/netinet/tcp_syncache.c Wed Jun 7 12:50:54 2017 (r319654) @@ -594,7 +594,7 @@ syncache_badack(struct in_conninfo *inc) } void -syncache_unreach(struct in_conninfo *inc, struct tcphdr *th) +syncache_unreach(struct in_conninfo *inc, tcp_seq th_seq) { struct syncache *sc; struct syncache_head *sch; @@ -605,7 +605,7 @@ syncache_unreach(struct in_conninfo *inc, struct tcphd goto done; /* If the sequence number != sc_iss, then it's a bogus ICMP msg */ - if (ntohl(th->th_seq) != sc->sc_iss) + if (ntohl(th_seq) != sc->sc_iss) goto done; /* Modified: stable/11/sys/netinet/tcp_syncache.h ============================================================================== --- stable/11/sys/netinet/tcp_syncache.h Wed Jun 7 11:43:36 2017 (r319653) +++ stable/11/sys/netinet/tcp_syncache.h Wed Jun 7 12:50:54 2017 (r319654) @@ -38,7 +38,7 @@ void syncache_init(void); #ifdef VIMAGE void syncache_destroy(void); #endif -void syncache_unreach(struct in_conninfo *, struct tcphdr *); +void syncache_unreach(struct in_conninfo *, tcp_seq); int syncache_expand(struct in_conninfo *, struct tcpopt *, struct tcphdr *, struct socket **, struct mbuf *); int syncache_add(struct in_conninfo *, struct tcpopt *, From owner-svn-src-all@freebsd.org Wed Jun 7 16:04:35 2017 Return-Path: Delivered-To: svn-src-all@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 7C958C7894C; Wed, 7 Jun 2017 16:04:35 +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 3F9B179234; Wed, 7 Jun 2017 16:04:35 +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 v57G4YBN069345; Wed, 7 Jun 2017 16:04:34 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57G4YIJ069344; Wed, 7 Jun 2017 16:04:34 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201706071604.v57G4YIJ069344@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Wed, 7 Jun 2017 16:04:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319655 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 16:04:35 -0000 Author: alc Date: Wed Jun 7 16:04:34 2017 New Revision: 319655 URL: https://svnweb.freebsd.org/changeset/base/319655 Log: Originally, this file could be compiled as a user-space application for testing purposes. However, over the years, various changes to the kernel have broken this feature. This revision applies some fixes to get user- space compilation working again. There are no changes in this revision to code that is used by the kernel. MFC after: 3 days Modified: head/sys/kern/subr_blist.c Modified: head/sys/kern/subr_blist.c ============================================================================== --- head/sys/kern/subr_blist.c Wed Jun 7 12:50:54 2017 (r319654) +++ head/sys/kern/subr_blist.c Wed Jun 7 16:04:34 2017 (r319655) @@ -99,9 +99,8 @@ __FBSDID("$FreeBSD$"); #define BLIST_DEBUG #endif -#define SWAPBLK_NONE ((daddr_t)-1) - #include +#include #include #include #include @@ -110,8 +109,6 @@ __FBSDID("$FreeBSD$"); #define malloc(a,b,c) calloc(a, 1) #define free(a,b) free(a) -typedef unsigned int u_daddr_t; - #include void panic(const char *ctl, ...); @@ -921,7 +918,7 @@ blst_radix_print(blmeta_t *scan, daddr_t blk, daddr_t if (radix == BLIST_BMAP_RADIX) { printf( - "%*.*s(%08llx,%lld): bitmap %08llx 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, @@ -1015,10 +1012,9 @@ main(int ac, char **av) for (;;) { char buf[1024]; - daddr_t da = 0; - daddr_t count = 0; + long long da = 0; + long long count = 0; - printf("%lld/%lld/%lld> ", (long long)bl->bl_free, (long long)size, (long long)bl->bl_radix); fflush(stdout); @@ -1027,7 +1023,7 @@ main(int ac, char **av) switch(buf[0]) { case 'r': if (sscanf(buf + 1, "%lld", &count) == 1) { - blist_resize(&bl, count, 1); + blist_resize(&bl, count, 1, M_WAITOK); } else { printf("?\n"); } @@ -1043,16 +1039,14 @@ main(int ac, char **av) } break; case 'f': - if (sscanf(buf + 1, "%llx %lld", - (long long *)&da, (long long *)&count) == 2) { + if (sscanf(buf + 1, "%llx %lld", &da, &count) == 2) { blist_free(bl, da, count); } else { printf("?\n"); } break; case 'l': - if (sscanf(buf + 1, "%llx %lld", - (long long *)&da, (long long *)&count) == 2) { + if (sscanf(buf + 1, "%llx %lld", &da, &count) == 2) { printf(" n=%d\n", blist_fill(bl, da, count)); } else { From owner-svn-src-all@freebsd.org Wed Jun 7 18:08:13 2017 Return-Path: Delivered-To: svn-src-all@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 12FB7D14FFA; Wed, 7 Jun 2017 18:08:13 +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 E26407D3DC; Wed, 7 Jun 2017 18:08:12 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v57I8CwT019344; Wed, 7 Jun 2017 18:08:12 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57I8BI7019340; Wed, 7 Jun 2017 18:08:11 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201706071808.v57I8BI7019340@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Wed, 7 Jun 2017 18:08:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319656 - in head/sys/compat/linuxkpi/common: include/asm include/linux src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 18:08:13 -0000 Author: jhibbits Date: Wed Jun 7 18:08:11 2017 New Revision: 319656 URL: https://svnweb.freebsd.org/changeset/base/319656 Log: Add more #ifdef arch checks to the linuxkpi arm, mips, and powerpc all implement pmap_mapdev_attr() and pmap_unmapdev(), so add those archs to the checks. powerpc also includes the atomic_swap_*() functions, so add that to the supported list as well. Not tested except by compiling powerpc. Reviewed by: markj Modified: head/sys/compat/linuxkpi/common/include/asm/atomic.h head/sys/compat/linuxkpi/common/include/asm/atomic64.h head/sys/compat/linuxkpi/common/include/linux/io.h head/sys/compat/linuxkpi/common/src/linux_compat.c Modified: head/sys/compat/linuxkpi/common/include/asm/atomic.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/asm/atomic.h Wed Jun 7 16:04:34 2017 (r319655) +++ head/sys/compat/linuxkpi/common/include/asm/atomic.h Wed Jun 7 18:08:11 2017 (r319656) @@ -131,7 +131,8 @@ static inline int atomic_xchg(atomic_t *v, int i) { #if defined(__i386__) || defined(__amd64__) || \ - defined(__arm__) || defined(__aarch64__) + defined(__arm__) || defined(__aarch64__) || \ + defined(__powerpc__) return (atomic_swap_int(&v->counter, i)); #else int ret; Modified: head/sys/compat/linuxkpi/common/include/asm/atomic64.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/asm/atomic64.h Wed Jun 7 16:04:34 2017 (r319655) +++ head/sys/compat/linuxkpi/common/include/asm/atomic64.h Wed Jun 7 18:08:11 2017 (r319656) @@ -108,7 +108,8 @@ static inline int64_t atomic64_xchg(atomic64_t *v, int64_t i) { #if defined(__i386__) || defined(__amd64__) || \ - defined(__arm__) || defined(__aarch64__) + defined(__arm__) || defined(__aarch64__) || \ + defined(__powerpc64__) return (atomic_swap_64(&v->counter, i)); #else int64_t ret; Modified: head/sys/compat/linuxkpi/common/include/linux/io.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/io.h Wed Jun 7 16:04:34 2017 (r319655) +++ head/sys/compat/linuxkpi/common/include/linux/io.h Wed Jun 7 18:08:11 2017 (r319656) @@ -180,7 +180,8 @@ _outb(u_char data, u_int port) } #endif -#if defined(__i386__) || defined(__amd64__) +#if defined(__i386__) || defined(__amd64__) || \ + defined(__arm__) || defined(__mips__) || defined(__powerpc__) void *_ioremap_attr(vm_paddr_t phys_addr, unsigned long size, int attr); #else #define _ioremap_attr(...) NULL Modified: head/sys/compat/linuxkpi/common/src/linux_compat.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_compat.c Wed Jun 7 16:04:34 2017 (r319655) +++ head/sys/compat/linuxkpi/common/src/linux_compat.c Wed Jun 7 18:08:11 2017 (r319656) @@ -1415,7 +1415,8 @@ vmmap_remove(void *addr) return (vmmap); } -#if defined(__i386__) || defined(__amd64__) +#if defined(__i386__) || defined(__amd64__) || \ + defined(__arm__) || defined(__mips__) || defined(__powerpc__) void * _ioremap_attr(vm_paddr_t phys_addr, unsigned long size, int attr) { @@ -1438,7 +1439,8 @@ iounmap(void *addr) vmmap = vmmap_remove(addr); if (vmmap == NULL) return; -#if defined(__i386__) || defined(__amd64__) +#if defined(__i386__) || defined(__amd64__) || \ + defined(__arm__) || defined(__mips__) || defined(__powerpc__) pmap_unmapdev((vm_offset_t)addr, vmmap->vm_size); #endif kfree(vmmap); From owner-svn-src-all@freebsd.org Wed Jun 7 19:36:19 2017 Return-Path: Delivered-To: svn-src-all@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 3CFD3D7BEE0; Wed, 7 Jun 2017 19:36:19 +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 EF0B980E7E; Wed, 7 Jun 2017 19:36:18 +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 v57JaIIK058665; Wed, 7 Jun 2017 19:36:18 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57JaIDd058664; Wed, 7 Jun 2017 19:36:18 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201706071936.v57JaIDd058664@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 7 Jun 2017 19:36:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319657 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 19:36:19 -0000 Author: bdrewery Date: Wed Jun 7 19:36:17 2017 New Revision: 319657 URL: https://svnweb.freebsd.org/changeset/base/319657 Log: vm.defer_swapspace_pageouts was removed in r308474. Modified: head/sys/conf/NOTES Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Wed Jun 7 18:08:11 2017 (r319656) +++ head/sys/conf/NOTES Wed Jun 7 19:36:17 2017 (r319657) @@ -2627,8 +2627,7 @@ options DEADLKRES # it back on at run-time. # # This is sometimes usable for systems which don't have any swap space -# (see also sysctls "vm.defer_swapspace_pageouts" and -# "vm.disable_swapspace_pageouts") +# (see also sysctl "vm.disable_swapspace_pageouts") # #options NO_SWAPPING From owner-svn-src-all@freebsd.org Wed Jun 7 19:42:18 2017 Return-Path: Delivered-To: svn-src-all@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 E8B69D7C0DA; Wed, 7 Jun 2017 19:42:18 +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 B6D4781251; Wed, 7 Jun 2017 19:42:18 +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 v57JgHKj059684; Wed, 7 Jun 2017 19:42:17 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57JgHPH059683; Wed, 7 Jun 2017 19:42:17 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201706071942.v57JgHPH059683@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 7 Jun 2017 19:42:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319658 - head/tools/tools/sysdoc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 19:42:19 -0000 Author: bdrewery Date: Wed Jun 7 19:42:17 2017 New Revision: 319658 URL: https://svnweb.freebsd.org/changeset/base/319658 Log: vm.defer_swapspace_pageouts was removed in r308474. Reported by: pstef Modified: head/tools/tools/sysdoc/tunables.mdoc Modified: head/tools/tools/sysdoc/tunables.mdoc ============================================================================== --- head/tools/tools/sysdoc/tunables.mdoc Wed Jun 7 19:36:17 2017 (r319657) +++ head/tools/tools/sysdoc/tunables.mdoc Wed Jun 7 19:42:17 2017 (r319658) @@ -2185,9 +2185,6 @@ circumstances may stall processes and can therefore be turned off. --- -vm.defer_swapspace_pageouts - ---- vm.disable_swapspace_pageouts --- From owner-svn-src-all@freebsd.org Wed Jun 7 21:03:28 2017 Return-Path: Delivered-To: svn-src-all@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 C3A32D7D332; Wed, 7 Jun 2017 21:03: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 917AB83623; Wed, 7 Jun 2017 21:03: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 v57L3RqI095454; Wed, 7 Jun 2017 21:03:27 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57L3Rh3095453; Wed, 7 Jun 2017 21:03:27 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706072103.v57L3Rh3095453@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 7 Jun 2017 21:03:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319659 - head/libexec/atf/atf-check X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 21:03:28 -0000 Author: ngie Date: Wed Jun 7 21:03:27 2017 New Revision: 319659 URL: https://svnweb.freebsd.org/changeset/base/319659 Log: Add an MLINK for atf_check(1) -> atf-check(1) This is being done to make the documentation for atf-check(1) easier to find/more intuitive for new users, because atf_check is the atf-run(1) shell version of the standalone atf-check(1) command, which is used in atf-sh(3) test programs. MFC after: 1 week Sponsored by: Dell EMC Isilon Modified: head/libexec/atf/atf-check/Makefile Modified: head/libexec/atf/atf-check/Makefile ============================================================================== --- head/libexec/atf/atf-check/Makefile Wed Jun 7 19:42:17 2017 (r319658) +++ head/libexec/atf/atf-check/Makefile Wed Jun 7 21:03:27 2017 (r319659) @@ -34,6 +34,7 @@ ATF= ${SRCTOP}/contrib/atf PROG_CXX= atf-check SRCS= atf-check.cpp MAN= atf-check.1 +MLINKS+= atf-check.1 atf_check.1 CFLAGS+= -I${ATF} CFLAGS+= -DATF_SHELL='"/bin/sh"' From owner-svn-src-all@freebsd.org Wed Jun 7 21:11:33 2017 Return-Path: Delivered-To: svn-src-all@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 5C578D7D579; Wed, 7 Jun 2017 21:11:33 +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 2D3DC83B4E; Wed, 7 Jun 2017 21:11:33 +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 v57LBWmb096543; Wed, 7 Jun 2017 21:11:32 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57LBWAj096542; Wed, 7 Jun 2017 21:11:32 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706072111.v57LBWAj096542@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 7 Jun 2017 21:11:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319660 - head/libexec/atf/atf-check X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 21:11:33 -0000 Author: ngie Date: Wed Jun 7 21:11:32 2017 New Revision: 319660 URL: https://svnweb.freebsd.org/changeset/base/319660 Log: Revert r319659 I missed the fact that atf-sh(3) already documents atf_check(3). I'll be adding an manpage link for that instead in the next commit. MFC after: 1 week MFC with: r319659 Sponsored by: Dell EMC Isilon Modified: head/libexec/atf/atf-check/Makefile Modified: head/libexec/atf/atf-check/Makefile ============================================================================== --- head/libexec/atf/atf-check/Makefile Wed Jun 7 21:03:27 2017 (r319659) +++ head/libexec/atf/atf-check/Makefile Wed Jun 7 21:11:32 2017 (r319660) @@ -34,7 +34,6 @@ ATF= ${SRCTOP}/contrib/atf PROG_CXX= atf-check SRCS= atf-check.cpp MAN= atf-check.1 -MLINKS+= atf-check.1 atf_check.1 CFLAGS+= -I${ATF} CFLAGS+= -DATF_SHELL='"/bin/sh"' From owner-svn-src-all@freebsd.org Wed Jun 7 21:14:08 2017 Return-Path: Delivered-To: svn-src-all@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 4DAFCD7D6ED; Wed, 7 Jun 2017 21:14: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 18D6B83E99; Wed, 7 Jun 2017 21:14: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 v57LE6sc099633; Wed, 7 Jun 2017 21:14:06 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57LE6u5099632; Wed, 7 Jun 2017 21:14:06 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706072114.v57LE6u5099632@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 7 Jun 2017 21:14:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319661 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 21:14:08 -0000 Author: ngie Date: Wed Jun 7 21:14:06 2017 New Revision: 319661 URL: https://svnweb.freebsd.org/changeset/base/319661 Log: Remove incorrect manpage link I added for atf_check(1) in r319659 for completeness. MFC after: never Sponsored by: Dell EMC Isilon Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Wed Jun 7 21:11:32 2017 (r319660) +++ head/ObsoleteFiles.inc Wed Jun 7 21:14:06 2017 (r319661) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20170607: remove incorrect atf_check(1) manpage link +OLD_FILES+=usr/share/man/man1/atf_check.1.gz # 20170601: remove stale manpage OLD_FILES+=usr/share/man/man2/cap_rights_get.2.gz # 20170601: old libifconfig and libifc From owner-svn-src-all@freebsd.org Wed Jun 7 21:18:30 2017 Return-Path: Delivered-To: svn-src-all@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 0F3E1D7D89E; Wed, 7 Jun 2017 21:18:30 +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 CEF0E84097; Wed, 7 Jun 2017 21:18:29 +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 v57LISge099825; Wed, 7 Jun 2017 21:18:28 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57LISIv099824; Wed, 7 Jun 2017 21:18:28 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706072118.v57LISIv099824@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 7 Jun 2017 21:18:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319662 - head/libexec/atf/atf-sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 21:18:30 -0000 Author: ngie Date: Wed Jun 7 21:18:28 2017 New Revision: 319662 URL: https://svnweb.freebsd.org/changeset/base/319662 Log: Add MLINKS for atf-sh(3) to each of the functions it implements This hopefully will make atf-sh(3) easier to understand for newcomers, without having to go through the atf-sh(3) level of indirection. MFC after: 1 week Sponsored by: Dell EMC Isilon Modified: head/libexec/atf/atf-sh/Makefile Modified: head/libexec/atf/atf-sh/Makefile ============================================================================== --- head/libexec/atf/atf-sh/Makefile Wed Jun 7 21:14:06 2017 (r319661) +++ head/libexec/atf/atf-sh/Makefile Wed Jun 7 21:18:28 2017 (r319662) @@ -34,7 +34,29 @@ ATF= ${SRCTOP}/contrib/atf PROG_CXX= atf-sh SRCS= atf-sh.cpp MAN= atf-sh.1 atf-sh.3 -MLINKS+= atf-sh.3 atf-sh-api.3 # Backwards compatibility. +# Backwards compatibility. +MLINKS+= atf-sh.3 atf-sh-api.3 + +MLINKS+= \ + atf-sh.3 atf_add_test_case.3 \ + atf-sh.3 atf_check.3 \ + atf-sh.3 atf_check_equal.3 \ + atf-sh.3 atf_config_get.3 \ + atf-sh.3 atf_config_has.3 \ + atf-sh.3 atf_expect_death.3 \ + atf-sh.3 atf_expect_exit.3 \ + atf-sh.3 atf_expect_fail.3 \ + atf-sh.3 atf_expect_pass.3 \ + atf-sh.3 atf_expect_signal.3 \ + atf-sh.3 atf_expect_timeout.3 \ + atf-sh.3 atf_fail.3 \ + atf-sh.3 atf_get.3 \ + atf-sh.3 atf_get_srcdir.3 \ + atf-sh.3 atf_pass.3 \ + atf-sh.3 atf_require_prog.3 \ + atf-sh.3 atf_set.3 \ + atf-sh.3 atf_skip.3 \ + atf-sh.3 atf_test_case.3 CFLAGS+= -DHAVE_CONFIG_H CFLAGS+= -DATF_LIBEXECDIR='"${LIBEXECDIR}"' From owner-svn-src-all@freebsd.org Wed Jun 7 21:21:15 2017 Return-Path: Delivered-To: svn-src-all@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 EBA83D7DA46; Wed, 7 Jun 2017 21:21:15 +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 B692584265; Wed, 7 Jun 2017 21:21:15 +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 v57LLExa001635; Wed, 7 Jun 2017 21:21:14 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57LLEH2001634; Wed, 7 Jun 2017 21:21:14 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201706072121.v57LLEH2001634@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Wed, 7 Jun 2017 21:21:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319663 - head/lib/libc/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 21:21:16 -0000 Author: jilles Date: Wed Jun 7 21:21:14 2017 New Revision: 319663 URL: https://svnweb.freebsd.org/changeset/base/319663 Log: libc: Remove futimens() and utimensat() compat stubs. The futimens() and utimensat() compat stubs allowed using these functions on kernels that did not have the system calls yet (10.2, old 11-current). Also remove the documentation of the [ENOTSUP] error that could occur with an old kernel. A -DNO_CLEAN build may fail because the depend files refer to the deleted files. Deleted: head/lib/libc/sys/futimens.c head/lib/libc/sys/utimensat.c Modified: head/lib/libc/sys/Makefile.inc head/lib/libc/sys/utimensat.2 Modified: head/lib/libc/sys/Makefile.inc ============================================================================== --- head/lib/libc/sys/Makefile.inc Wed Jun 7 21:18:28 2017 (r319662) +++ head/lib/libc/sys/Makefile.inc Wed Jun 7 21:21:14 2017 (r319663) @@ -37,10 +37,6 @@ SRCS+= \ SRCS+= getdents.c lstat.c mknod.c stat.c -SRCS+= futimens.c utimensat.c -NOASM+= futimens.o utimensat.o -PSEUDO+= _futimens.o _utimensat.o - SRCS+= pipe.c INTERPOSED = \ Modified: head/lib/libc/sys/utimensat.2 ============================================================================== --- head/lib/libc/sys/utimensat.2 Wed Jun 7 21:18:28 2017 (r319662) +++ head/lib/libc/sys/utimensat.2 Wed Jun 7 21:21:14 2017 (r319663) @@ -31,7 +31,7 @@ .\" @(#)utimes.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd January 17, 2016 +.Dd June 7, 2017 .Dt UTIMENSAT 2 .Os .Sh NAME @@ -267,10 +267,6 @@ argument is not an absolute path and is neither .Dv AT_FDCWD nor a file descriptor associated with a directory. -.It Bq Er ENOTSUP -The running kernel does not support this system call and -.Dv AT_SYMLINK_NOFOLLOW -is used with a path relative to a file descriptor. .El .Sh SEE ALSO .Xr chflags 2 , From owner-svn-src-all@freebsd.org Wed Jun 7 22:18:46 2017 Return-Path: Delivered-To: svn-src-all@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 6471FD7E3CA; Wed, 7 Jun 2017 22:18:46 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-io0-x22f.google.com (mail-io0-x22f.google.com [IPv6:2607:f8b0:4001:c06::22f]) (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 30748B85; Wed, 7 Jun 2017 22:18:46 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-io0-x22f.google.com with SMTP id k93so13060504ioi.2; Wed, 07 Jun 2017 15:18:46 -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=uYmPHEAZt96tTlfQo4uC2ZYXS0ozMpDNfQDOiq7MmbM=; b=dkKjL3DShjIWArr2b70Ba0ya8N7DZGpF2gB2+pYZIusWXLSgD86X7wX1Xk9Q/Ynd0Q ArVuAecKps/fUPmF1n83JhC2Q0UO83g+57PgtPil+r4cE5SRdToq5q7PDGPm5kgAMS6y 5zCEFV00eZq3Q5L5BTU+G6KW2th/Phef8mAKJcNl5IZKD6coJfbW84fKhZcprT/IIU4p W3fFeMm0BD/iWAQISocIa1sU6y4KLiIlDvNA9MFWVfczvTyDhne3D7d8y7m2FCsOb9lV Ul9npSrJo1gOW6h3lGSfzHjPzs21Jp/e3NLfx64i/2B79N6Hd2lgfdWR8dDTOXtngWty KnLA== 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=uYmPHEAZt96tTlfQo4uC2ZYXS0ozMpDNfQDOiq7MmbM=; b=mEFIYFMLiyQJ+m8dfhL3fB2uG7EtgC8u/3sUbhdF6TUe5qwkUbATzVKQH/2nRIO+/T y0Axo2kDO39VzsUMxRf9fe1BT46vUz6LwLjT7nK5z4BfMv1R/XGdUVracJ9EnuoxBsIF Sd6CIk1NrHRAwlDEVXtuehUP+QwPR68R5RRpbYyKZNugRj0MJ5Kd+Tfw40UGMqoBbGkv T9zsSKgc0mwWEUQ6pETULzBpeso/toyXhBGfqbRZQ1cUI7QnQsDKISkqmzZJAEE068jL 9fSmcM5w90jziupKaCSI4muwymACPhG+0n2hv0Bf/BRVlbzgZ8SFBMwFDwcq708qfVZb tSqg== X-Gm-Message-State: AODbwcBE9f2CHmRcXQFuJVN0zU/PzbaVW3vLHGNKqyjGXmictVLejBod UkHBCaxT2dZ0QvjyPMRAHxK97uzZNPXKcOQ= X-Received: by 10.107.170.99 with SMTP id t96mr27580964ioe.113.1496873925325; Wed, 07 Jun 2017 15:18:45 -0700 (PDT) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.10.86 with HTTP; Wed, 7 Jun 2017 15:18:24 -0700 (PDT) In-Reply-To: <201704271753.v3RHr6iZ087662@repo.freebsd.org> References: <201704271753.v3RHr6iZ087662@repo.freebsd.org> From: Ed Maste Date: Wed, 7 Jun 2017 18:18:24 -0400 X-Google-Sender-Auth: LiiF-wfYS_luyLBV-S9o9xlfS7E Message-ID: Subject: Re: svn commit: r317512 - in head: sys/conf sys/libkern sys/libkern/arm64 sys/sys tests/sys/kern To: Michael Tuexen , Dimitry Andric 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-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 22:18:46 -0000 On 27 April 2017 at 13:53, Michael Tuexen wrote: > Author: tuexen > Date: Thu Apr 27 17:53:05 2017 > New Revision: 317512 > URL: https://svnweb.freebsd.org/changeset/base/317512 FYI when compiling this with the clang500-import branch I see: /scratch/tmp/emaste/freebsd/sys/libkern/arm64/crc32c_armv8.S:41:2: error: instruction requires: crc crc32cb w0, w0, w10 ^ From owner-svn-src-all@freebsd.org Wed Jun 7 23:00:36 2017 Return-Path: Delivered-To: svn-src-all@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 67602D7EB71; Wed, 7 Jun 2017 23:00:36 +0000 (UTC) (envelope-from bapt@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 0443C1E6F; Wed, 7 Jun 2017 23:00:35 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v57N0ZG7040524; Wed, 7 Jun 2017 23:00:35 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57N0YWX040515; Wed, 7 Jun 2017 23:00:34 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706072300.v57N0YWX040515@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Wed, 7 Jun 2017 23:00:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319664 - in head: . contrib/groff etc etc/mtree gnu/usr.bin gnu/usr.bin/groff release share share/me share/mk tools/build/mk tools/build/options usr.bin usr.bin/checknr usr.bin/colcrt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 23:00:36 -0000 Author: bapt Date: Wed Jun 7 23:00:34 2017 New Revision: 319664 URL: https://svnweb.freebsd.org/changeset/base/319664 Log: Remove groff from base All manpages in base are now compatible with mandoc(1), all roff documentation will be relocated in the doc tree. man(1) can now use groff from the ports tree if it needs. Also remove checknr(1) and colcrt(1) which are only useful with groff. Approved by: (no objections on the mailing lists) Deleted: head/contrib/groff/ head/etc/mtree/BSD.groff.dist head/gnu/usr.bin/groff/ head/share/me/ head/tools/build/options/WITHOUT_GROFF head/usr.bin/checknr/ head/usr.bin/colcrt/ Modified: head/ObsoleteFiles.inc head/UPDATING head/etc/Makefile head/etc/mtree/Makefile head/gnu/usr.bin/Makefile head/release/Makefile head/share/Makefile head/share/mk/src.opts.mk head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.bin/Makefile Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Wed Jun 7 21:21:14 2017 (r319663) +++ head/ObsoleteFiles.inc Wed Jun 7 23:00:34 2017 (r319664) @@ -38,6 +38,488 @@ # xargs -n1 | sort | uniq -d; # done +# 20170531: removal of groff +OLD_FILES+=usr/bin/addftinfo +OLD_FILES+=usr/bin/afmtodit +OLD_FILES+=usr/bin/checknr +OLD_FILES+=usr/bin/colcrt +OLD_FILES+=usr/bin/eqn +OLD_FILES+=usr/bin/grn +OLD_FILES+=usr/bin/grodvi +OLD_FILES+=usr/bin/groff +OLD_FILES+=usr/bin/grog +OLD_FILES+=usr/bin/grolbp +OLD_FILES+=usr/bin/grolj4 +OLD_FILES+=usr/bin/grops +OLD_FILES+=usr/bin/grotty +OLD_FILES+=usr/bin/hpftodit +OLD_FILES+=usr/bin/indxbib +OLD_FILES+=usr/bin/lkbib +OLD_FILES+=usr/bin/lookbib +OLD_FILES+=usr/bin/mmroff +OLD_FILES+=usr/bin/neqn +OLD_FILES+=usr/bin/nroff +OLD_FILES+=usr/bin/pfbtops +OLD_FILES+=usr/bin/pic +OLD_FILES+=usr/bin/post-grohtml +OLD_FILES+=usr/bin/pre-grohtml +OLD_FILES+=usr/bin/psroff +OLD_FILES+=usr/bin/refer +OLD_FILES+=usr/bin/tbl +OLD_FILES+=usr/bin/tfmtodit +OLD_FILES+=usr/bin/troff +OLD_FILES+=usr/bin/vgrind +OLD_FILES+=usr/libexec/vfontedpr +OLD_FILES+=usr/share/dict/eign +OLD_FILES+=usr/share/groff_font/devX100-12/CB +OLD_FILES+=usr/share/groff_font/devX100-12/CBI +OLD_FILES+=usr/share/groff_font/devX100-12/CI +OLD_FILES+=usr/share/groff_font/devX100-12/CR +OLD_FILES+=usr/share/groff_font/devX100-12/DESC +OLD_FILES+=usr/share/groff_font/devX100-12/HB +OLD_FILES+=usr/share/groff_font/devX100-12/HBI +OLD_FILES+=usr/share/groff_font/devX100-12/HI +OLD_FILES+=usr/share/groff_font/devX100-12/HR +OLD_FILES+=usr/share/groff_font/devX100-12/NB +OLD_FILES+=usr/share/groff_font/devX100-12/NBI +OLD_FILES+=usr/share/groff_font/devX100-12/NI +OLD_FILES+=usr/share/groff_font/devX100-12/NR +OLD_FILES+=usr/share/groff_font/devX100-12/S +OLD_FILES+=usr/share/groff_font/devX100-12/TB +OLD_FILES+=usr/share/groff_font/devX100-12/TBI +OLD_FILES+=usr/share/groff_font/devX100-12/TI +OLD_FILES+=usr/share/groff_font/devX100-12/TR +OLD_DIRS+=usr/share/groff_font/devX100-12 +OLD_FILES+=usr/share/groff_font/devX100/CB +OLD_FILES+=usr/share/groff_font/devX100/CBI +OLD_FILES+=usr/share/groff_font/devX100/CI +OLD_FILES+=usr/share/groff_font/devX100/CR +OLD_FILES+=usr/share/groff_font/devX100/DESC +OLD_FILES+=usr/share/groff_font/devX100/HB +OLD_FILES+=usr/share/groff_font/devX100/HBI +OLD_FILES+=usr/share/groff_font/devX100/HI +OLD_FILES+=usr/share/groff_font/devX100/HR +OLD_FILES+=usr/share/groff_font/devX100/NB +OLD_FILES+=usr/share/groff_font/devX100/NBI +OLD_FILES+=usr/share/groff_font/devX100/NI +OLD_FILES+=usr/share/groff_font/devX100/NR +OLD_FILES+=usr/share/groff_font/devX100/S +OLD_FILES+=usr/share/groff_font/devX100/TB +OLD_FILES+=usr/share/groff_font/devX100/TBI +OLD_FILES+=usr/share/groff_font/devX100/TI +OLD_FILES+=usr/share/groff_font/devX100/TR +OLD_DIRS+=usr/share/groff_font/devX100 +OLD_FILES+=usr/share/groff_font/devX75-12/CB +OLD_FILES+=usr/share/groff_font/devX75-12/CBI +OLD_FILES+=usr/share/groff_font/devX75-12/CI +OLD_FILES+=usr/share/groff_font/devX75-12/CR +OLD_FILES+=usr/share/groff_font/devX75-12/DESC +OLD_FILES+=usr/share/groff_font/devX75-12/HB +OLD_FILES+=usr/share/groff_font/devX75-12/HBI +OLD_FILES+=usr/share/groff_font/devX75-12/HI +OLD_FILES+=usr/share/groff_font/devX75-12/HR +OLD_FILES+=usr/share/groff_font/devX75-12/NB +OLD_FILES+=usr/share/groff_font/devX75-12/NBI +OLD_FILES+=usr/share/groff_font/devX75-12/NI +OLD_FILES+=usr/share/groff_font/devX75-12/NR +OLD_FILES+=usr/share/groff_font/devX75-12/S +OLD_FILES+=usr/share/groff_font/devX75-12/TB +OLD_FILES+=usr/share/groff_font/devX75-12/TBI +OLD_FILES+=usr/share/groff_font/devX75-12/TI +OLD_FILES+=usr/share/groff_font/devX75-12/TR +OLD_DIRS+=usr/share/groff_font/devX75-12 +OLD_FILES+=usr/share/groff_font/devX75/CB +OLD_FILES+=usr/share/groff_font/devX75/CBI +OLD_FILES+=usr/share/groff_font/devX75/CI +OLD_FILES+=usr/share/groff_font/devX75/CR +OLD_FILES+=usr/share/groff_font/devX75/DESC +OLD_FILES+=usr/share/groff_font/devX75/HB +OLD_FILES+=usr/share/groff_font/devX75/HBI +OLD_FILES+=usr/share/groff_font/devX75/HI +OLD_FILES+=usr/share/groff_font/devX75/HR +OLD_FILES+=usr/share/groff_font/devX75/NB +OLD_FILES+=usr/share/groff_font/devX75/NBI +OLD_FILES+=usr/share/groff_font/devX75/NI +OLD_FILES+=usr/share/groff_font/devX75/NR +OLD_FILES+=usr/share/groff_font/devX75/S +OLD_FILES+=usr/share/groff_font/devX75/TB +OLD_FILES+=usr/share/groff_font/devX75/TBI +OLD_FILES+=usr/share/groff_font/devX75/TI +OLD_FILES+=usr/share/groff_font/devX75/TR +OLD_DIRS+=usr/share/groff_font/devX75 +OLD_FILES+=usr/share/groff_font/devascii/B +OLD_FILES+=usr/share/groff_font/devascii/BI +OLD_FILES+=usr/share/groff_font/devascii/CW +OLD_FILES+=usr/share/groff_font/devascii/DESC +OLD_FILES+=usr/share/groff_font/devascii/I +OLD_FILES+=usr/share/groff_font/devascii/L +OLD_FILES+=usr/share/groff_font/devascii/R +OLD_FILES+=usr/share/groff_font/devascii/S +OLD_DIRS+=usr/share/groff_font/devascii +OLD_FILES+=usr/share/groff_font/devcp1047/B +OLD_FILES+=usr/share/groff_font/devcp1047/BI +OLD_FILES+=usr/share/groff_font/devcp1047/CW +OLD_FILES+=usr/share/groff_font/devcp1047/DESC +OLD_FILES+=usr/share/groff_font/devcp1047/I +OLD_FILES+=usr/share/groff_font/devcp1047/L +OLD_FILES+=usr/share/groff_font/devcp1047/R +OLD_FILES+=usr/share/groff_font/devcp1047/S +OLD_DIRS+=usr/share/groff_font/devcp1047 +OLD_FILES+=usr/share/groff_font/devdvi/CW +OLD_FILES+=usr/share/groff_font/devdvi/CWEC +OLD_FILES+=usr/share/groff_font/devdvi/CWI +OLD_FILES+=usr/share/groff_font/devdvi/CWIEC +OLD_FILES+=usr/share/groff_font/devdvi/CWITC +OLD_FILES+=usr/share/groff_font/devdvi/CWTC +OLD_FILES+=usr/share/groff_font/devdvi/CompileFonts +OLD_FILES+=usr/share/groff_font/devdvi/DESC +OLD_FILES+=usr/share/groff_font/devdvi/EX +OLD_FILES+=usr/share/groff_font/devdvi/HB +OLD_FILES+=usr/share/groff_font/devdvi/HBEC +OLD_FILES+=usr/share/groff_font/devdvi/HBI +OLD_FILES+=usr/share/groff_font/devdvi/HBIEC +OLD_FILES+=usr/share/groff_font/devdvi/HBITC +OLD_FILES+=usr/share/groff_font/devdvi/HBTC +OLD_FILES+=usr/share/groff_font/devdvi/HI +OLD_FILES+=usr/share/groff_font/devdvi/HIEC +OLD_FILES+=usr/share/groff_font/devdvi/HITC +OLD_FILES+=usr/share/groff_font/devdvi/HR +OLD_FILES+=usr/share/groff_font/devdvi/HREC +OLD_FILES+=usr/share/groff_font/devdvi/HRTC +OLD_FILES+=usr/share/groff_font/devdvi/MI +OLD_FILES+=usr/share/groff_font/devdvi/Makefile +OLD_FILES+=usr/share/groff_font/devdvi/S +OLD_FILES+=usr/share/groff_font/devdvi/SA +OLD_FILES+=usr/share/groff_font/devdvi/SB +OLD_FILES+=usr/share/groff_font/devdvi/SC +OLD_FILES+=usr/share/groff_font/devdvi/TB +OLD_FILES+=usr/share/groff_font/devdvi/TBEC +OLD_FILES+=usr/share/groff_font/devdvi/TBI +OLD_FILES+=usr/share/groff_font/devdvi/TBIEC +OLD_FILES+=usr/share/groff_font/devdvi/TBITC +OLD_FILES+=usr/share/groff_font/devdvi/TBTC +OLD_FILES+=usr/share/groff_font/devdvi/TI +OLD_FILES+=usr/share/groff_font/devdvi/TIEC +OLD_FILES+=usr/share/groff_font/devdvi/TITC +OLD_FILES+=usr/share/groff_font/devdvi/TR +OLD_FILES+=usr/share/groff_font/devdvi/TREC +OLD_FILES+=usr/share/groff_font/devdvi/TRTC +OLD_FILES+=usr/share/groff_font/devdvi/ec.map +OLD_FILES+=usr/share/groff_font/devdvi/msam.map +OLD_FILES+=usr/share/groff_font/devdvi/msbm.map +OLD_FILES+=usr/share/groff_font/devdvi/tc.map +OLD_FILES+=usr/share/groff_font/devdvi/texb.map +OLD_FILES+=usr/share/groff_font/devdvi/texex.map +OLD_FILES+=usr/share/groff_font/devdvi/texi.map +OLD_FILES+=usr/share/groff_font/devdvi/texmi.map +OLD_FILES+=usr/share/groff_font/devdvi/texr.map +OLD_FILES+=usr/share/groff_font/devdvi/texsy.map +OLD_FILES+=usr/share/groff_font/devdvi/textex.map +OLD_FILES+=usr/share/groff_font/devdvi/textt.map +OLD_DIRS+=usr/share/groff_font/devdvi +OLD_FILES+=usr/share/groff_font/devhtml/B +OLD_FILES+=usr/share/groff_font/devhtml/BI +OLD_FILES+=usr/share/groff_font/devhtml/CB +OLD_FILES+=usr/share/groff_font/devhtml/CBI +OLD_FILES+=usr/share/groff_font/devhtml/CI +OLD_FILES+=usr/share/groff_font/devhtml/CR +OLD_FILES+=usr/share/groff_font/devhtml/DESC +OLD_FILES+=usr/share/groff_font/devhtml/I +OLD_FILES+=usr/share/groff_font/devhtml/R +OLD_FILES+=usr/share/groff_font/devhtml/S +OLD_DIRS+=usr/share/groff_font/devhtml +OLD_FILES+=usr/share/groff_font/devkoi8-r/B +OLD_FILES+=usr/share/groff_font/devkoi8-r/BI +OLD_FILES+=usr/share/groff_font/devkoi8-r/CW +OLD_FILES+=usr/share/groff_font/devkoi8-r/DESC +OLD_FILES+=usr/share/groff_font/devkoi8-r/I +OLD_FILES+=usr/share/groff_font/devkoi8-r/L +OLD_FILES+=usr/share/groff_font/devkoi8-r/R +OLD_FILES+=usr/share/groff_font/devkoi8-r/S +OLD_DIRS+=usr/share/groff_font/devkoi8-r +OLD_FILES+=usr/share/groff_font/devlatin1/B +OLD_FILES+=usr/share/groff_font/devlatin1/BI +OLD_FILES+=usr/share/groff_font/devlatin1/CW +OLD_FILES+=usr/share/groff_font/devlatin1/DESC +OLD_FILES+=usr/share/groff_font/devlatin1/I +OLD_FILES+=usr/share/groff_font/devlatin1/L +OLD_FILES+=usr/share/groff_font/devlatin1/R +OLD_FILES+=usr/share/groff_font/devlatin1/S +OLD_DIRS+=usr/share/groff_font/devlatin1 +OLD_FILES+=usr/share/groff_font/devlbp/CB +OLD_FILES+=usr/share/groff_font/devlbp/CI +OLD_FILES+=usr/share/groff_font/devlbp/CR +OLD_FILES+=usr/share/groff_font/devlbp/DESC +OLD_FILES+=usr/share/groff_font/devlbp/EB +OLD_FILES+=usr/share/groff_font/devlbp/EI +OLD_FILES+=usr/share/groff_font/devlbp/ER +OLD_FILES+=usr/share/groff_font/devlbp/HB +OLD_FILES+=usr/share/groff_font/devlbp/HBI +OLD_FILES+=usr/share/groff_font/devlbp/HI +OLD_FILES+=usr/share/groff_font/devlbp/HNB +OLD_FILES+=usr/share/groff_font/devlbp/HNBI +OLD_FILES+=usr/share/groff_font/devlbp/HNI +OLD_FILES+=usr/share/groff_font/devlbp/HNR +OLD_FILES+=usr/share/groff_font/devlbp/HR +OLD_FILES+=usr/share/groff_font/devlbp/TB +OLD_FILES+=usr/share/groff_font/devlbp/TBI +OLD_FILES+=usr/share/groff_font/devlbp/TI +OLD_FILES+=usr/share/groff_font/devlbp/TR +OLD_DIRS+=usr/share/groff_font/devlbp +OLD_FILES+=usr/share/groff_font/devlj4/AB +OLD_FILES+=usr/share/groff_font/devlj4/ABI +OLD_FILES+=usr/share/groff_font/devlj4/AI +OLD_FILES+=usr/share/groff_font/devlj4/ALBB +OLD_FILES+=usr/share/groff_font/devlj4/ALBR +OLD_FILES+=usr/share/groff_font/devlj4/AOB +OLD_FILES+=usr/share/groff_font/devlj4/AOI +OLD_FILES+=usr/share/groff_font/devlj4/AOR +OLD_FILES+=usr/share/groff_font/devlj4/AR +OLD_FILES+=usr/share/groff_font/devlj4/CB +OLD_FILES+=usr/share/groff_font/devlj4/CBI +OLD_FILES+=usr/share/groff_font/devlj4/CI +OLD_FILES+=usr/share/groff_font/devlj4/CLARENDON +OLD_FILES+=usr/share/groff_font/devlj4/CORONET +OLD_FILES+=usr/share/groff_font/devlj4/CR +OLD_FILES+=usr/share/groff_font/devlj4/DESC +OLD_FILES+=usr/share/groff_font/devlj4/GB +OLD_FILES+=usr/share/groff_font/devlj4/GBI +OLD_FILES+=usr/share/groff_font/devlj4/GI +OLD_FILES+=usr/share/groff_font/devlj4/GR +OLD_FILES+=usr/share/groff_font/devlj4/LGB +OLD_FILES+=usr/share/groff_font/devlj4/LGI +OLD_FILES+=usr/share/groff_font/devlj4/LGR +OLD_FILES+=usr/share/groff_font/devlj4/MARIGOLD +OLD_FILES+=usr/share/groff_font/devlj4/OB +OLD_FILES+=usr/share/groff_font/devlj4/OBI +OLD_FILES+=usr/share/groff_font/devlj4/OI +OLD_FILES+=usr/share/groff_font/devlj4/OR +OLD_FILES+=usr/share/groff_font/devlj4/S +OLD_FILES+=usr/share/groff_font/devlj4/SYMBOL +OLD_FILES+=usr/share/groff_font/devlj4/TB +OLD_FILES+=usr/share/groff_font/devlj4/TBI +OLD_FILES+=usr/share/groff_font/devlj4/TI +OLD_FILES+=usr/share/groff_font/devlj4/TNRB +OLD_FILES+=usr/share/groff_font/devlj4/TNRBI +OLD_FILES+=usr/share/groff_font/devlj4/TNRI +OLD_FILES+=usr/share/groff_font/devlj4/TNRR +OLD_FILES+=usr/share/groff_font/devlj4/TR +OLD_FILES+=usr/share/groff_font/devlj4/UB +OLD_FILES+=usr/share/groff_font/devlj4/UBI +OLD_FILES+=usr/share/groff_font/devlj4/UCB +OLD_FILES+=usr/share/groff_font/devlj4/UCBI +OLD_FILES+=usr/share/groff_font/devlj4/UCI +OLD_FILES+=usr/share/groff_font/devlj4/UCR +OLD_FILES+=usr/share/groff_font/devlj4/UI +OLD_FILES+=usr/share/groff_font/devlj4/UR +OLD_FILES+=usr/share/groff_font/devlj4/WINGDINGS +OLD_DIRS+=usr/share/groff_font/devlj4 +OLD_FILES+=usr/share/groff_font/devps/AB +OLD_FILES+=usr/share/groff_font/devps/ABI +OLD_FILES+=usr/share/groff_font/devps/AI +OLD_FILES+=usr/share/groff_font/devps/AR +OLD_FILES+=usr/share/groff_font/devps/BMB +OLD_FILES+=usr/share/groff_font/devps/BMBI +OLD_FILES+=usr/share/groff_font/devps/BMI +OLD_FILES+=usr/share/groff_font/devps/BMR +OLD_FILES+=usr/share/groff_font/devps/CB +OLD_FILES+=usr/share/groff_font/devps/CBI +OLD_FILES+=usr/share/groff_font/devps/CI +OLD_FILES+=usr/share/groff_font/devps/CR +OLD_FILES+=usr/share/groff_font/devps/DESC +OLD_FILES+=usr/share/groff_font/devps/EURO +OLD_FILES+=usr/share/groff_font/devps/HB +OLD_FILES+=usr/share/groff_font/devps/HBI +OLD_FILES+=usr/share/groff_font/devps/HI +OLD_FILES+=usr/share/groff_font/devps/HNB +OLD_FILES+=usr/share/groff_font/devps/HNBI +OLD_FILES+=usr/share/groff_font/devps/HNI +OLD_FILES+=usr/share/groff_font/devps/HNR +OLD_FILES+=usr/share/groff_font/devps/HR +OLD_FILES+=usr/share/groff_font/devps/Makefile +OLD_FILES+=usr/share/groff_font/devps/NB +OLD_FILES+=usr/share/groff_font/devps/NBI +OLD_FILES+=usr/share/groff_font/devps/NI +OLD_FILES+=usr/share/groff_font/devps/NR +OLD_FILES+=usr/share/groff_font/devps/PB +OLD_FILES+=usr/share/groff_font/devps/PBI +OLD_FILES+=usr/share/groff_font/devps/PI +OLD_FILES+=usr/share/groff_font/devps/PR +OLD_FILES+=usr/share/groff_font/devps/S +OLD_FILES+=usr/share/groff_font/devps/SS +OLD_FILES+=usr/share/groff_font/devps/TB +OLD_FILES+=usr/share/groff_font/devps/TBI +OLD_FILES+=usr/share/groff_font/devps/TI +OLD_FILES+=usr/share/groff_font/devps/TR +OLD_FILES+=usr/share/groff_font/devps/ZCMI +OLD_FILES+=usr/share/groff_font/devps/ZD +OLD_FILES+=usr/share/groff_font/devps/ZDR +OLD_FILES+=usr/share/groff_font/devps/afmname +OLD_FILES+=usr/share/groff_font/devps/dingbats.map +OLD_FILES+=usr/share/groff_font/devps/dingbats.rmap +OLD_FILES+=usr/share/groff_font/devps/download +OLD_FILES+=usr/share/groff_font/devps/freeeuro.pfa +OLD_FILES+=usr/share/groff_font/devps/lgreekmap +OLD_FILES+=usr/share/groff_font/devps/prologue +OLD_FILES+=usr/share/groff_font/devps/symbol.sed +OLD_FILES+=usr/share/groff_font/devps/symbolchars +OLD_FILES+=usr/share/groff_font/devps/symbolsl.afm +OLD_FILES+=usr/share/groff_font/devps/symbolsl.pfa +OLD_FILES+=usr/share/groff_font/devps/text.enc +OLD_FILES+=usr/share/groff_font/devps/textmap +OLD_FILES+=usr/share/groff_font/devps/zapfdr.pfa +OLD_DIRS+=usr/share/groff_font/devps +OLD_FILES+=usr/share/groff_font/devutf8/B +OLD_FILES+=usr/share/groff_font/devutf8/BI +OLD_FILES+=usr/share/groff_font/devutf8/CW +OLD_FILES+=usr/share/groff_font/devutf8/DESC +OLD_FILES+=usr/share/groff_font/devutf8/I +OLD_FILES+=usr/share/groff_font/devutf8/L +OLD_FILES+=usr/share/groff_font/devutf8/R +OLD_FILES+=usr/share/groff_font/devutf8/S +OLD_DIRS+=usr/share/groff_font/devutf8 +OLD_DIRS+=usr/share/groff_font +OLD_FILES+=usr/share/man/man1/addftinfo.1.gz +OLD_FILES+=usr/share/man/man1/afmtodit.1.gz +OLD_FILES+=usr/share/man/man1/checknr.1.gz +OLD_FILES+=usr/share/man/man1/colcrt.1.gz +OLD_FILES+=usr/share/man/man1/eqn.1.gz +OLD_FILES+=usr/share/man/man1/grn.1.gz +OLD_FILES+=usr/share/man/man1/grodvi.1.gz +OLD_FILES+=usr/share/man/man1/groff.1.gz +OLD_FILES+=usr/share/man/man1/grog.1.gz +OLD_FILES+=usr/share/man/man1/grolbp.1.gz +OLD_FILES+=usr/share/man/man1/grolj4.1.gz +OLD_FILES+=usr/share/man/man1/grops.1.gz +OLD_FILES+=usr/share/man/man1/grotty.1.gz +OLD_FILES+=usr/share/man/man1/hpftodit.1.gz +OLD_FILES+=usr/share/man/man1/indxbib.1.gz +OLD_FILES+=usr/share/man/man1/lkbib.1.gz +OLD_FILES+=usr/share/man/man1/lookbib.1.gz +OLD_FILES+=usr/share/man/man1/mmroff.1.gz +OLD_FILES+=usr/share/man/man1/neqn.1.gz +OLD_FILES+=usr/share/man/man1/nroff.1.gz +OLD_FILES+=usr/share/man/man1/pfbtops.1.gz +OLD_FILES+=usr/share/man/man1/pic.1.gz +OLD_FILES+=usr/share/man/man1/psroff.1.gz +OLD_FILES+=usr/share/man/man1/refer.1.gz +OLD_FILES+=usr/share/man/man1/tbl.1.gz +OLD_FILES+=usr/share/man/man1/tfmtodit.1.gz +OLD_FILES+=usr/share/man/man1/troff.1.gz +OLD_FILES+=usr/share/man/man1/vgrind.1.gz +OLD_FILES+=usr/share/man/man5/groff_font.5.gz +OLD_FILES+=usr/share/man/man5/groff_out.5.gz +OLD_FILES+=usr/share/man/man5/groff_tmac.5.gz +OLD_FILES+=usr/share/man/man5/lj4_font.5.gz +OLD_FILES+=usr/share/man/man5/tmac.5.gz +OLD_FILES+=usr/share/man/man5/vgrindefs.5.gz +OLD_FILES+=usr/share/man/man7/ditroff.7.gz +OLD_FILES+=usr/share/man/man7/groff.7.gz +OLD_FILES+=usr/share/man/man7/groff_char.7.gz +OLD_FILES+=usr/share/man/man7/groff_diff.7.gz +OLD_FILES+=usr/share/man/man7/groff_man.7.gz +OLD_FILES+=usr/share/man/man7/groff_mdoc.7.gz +OLD_FILES+=usr/share/man/man7/groff_me.7.gz +OLD_FILES+=usr/share/man/man7/groff_mm.7.gz +OLD_FILES+=usr/share/man/man7/groff_mmse.7.gz +OLD_FILES+=usr/share/man/man7/groff_ms.7.gz +OLD_FILES+=usr/share/man/man7/groff_trace.7.gz +OLD_FILES+=usr/share/man/man7/groff_www.7.gz +OLD_FILES+=usr/share/man/man7/mdoc.samples.7.gz +OLD_FILES+=usr/share/man/man7/me.7.gz +OLD_FILES+=usr/share/man/man7/mm.7.gz +OLD_FILES+=usr/share/man/man7/mmse.7.gz +OLD_FILES+=usr/share/man/man7/ms.7.gz +OLD_FILES+=usr/share/man/man7/orig_me.7.gz +OLD_FILES+=usr/share/man/man7/roff.7.gz +OLD_FILES+=usr/share/me/acm.me +OLD_FILES+=usr/share/me/chars.me +OLD_FILES+=usr/share/me/deltext.me +OLD_FILES+=usr/share/me/eqn.me +OLD_FILES+=usr/share/me/float.me +OLD_FILES+=usr/share/me/footnote.me +OLD_FILES+=usr/share/me/index.me +OLD_FILES+=usr/share/me/letterhead.me +OLD_FILES+=usr/share/me/local.me +OLD_FILES+=usr/share/me/null.me +OLD_FILES+=usr/share/me/refer.me +OLD_FILES+=usr/share/me/revisions +OLD_FILES+=usr/share/me/sh.me +OLD_FILES+=usr/share/me/tbl.me +OLD_FILES+=usr/share/me/thesis.me +OLD_DIRS+=usr/share/me +OLD_FILES+=usr/share/misc/vgrindefs +OLD_FILES+=usr/share/misc/vgrindefs.db +OLD_FILES+=usr/share/tmac/X.tmac +OLD_FILES+=usr/share/tmac/Xps.tmac +OLD_FILES+=usr/share/tmac/a4.tmac +OLD_FILES+=usr/share/tmac/an-old.tmac +OLD_FILES+=usr/share/tmac/an.tmac +OLD_FILES+=usr/share/tmac/andoc.tmac +OLD_FILES+=usr/share/tmac/composite.tmac +OLD_FILES+=usr/share/tmac/cp1047.tmac +OLD_FILES+=usr/share/tmac/devtag.tmac +OLD_FILES+=usr/share/tmac/doc.tmac +OLD_FILES+=usr/share/tmac/dvi.tmac +OLD_FILES+=usr/share/tmac/e.tmac +OLD_FILES+=usr/share/tmac/ec.tmac +OLD_FILES+=usr/share/tmac/eqnrc +OLD_FILES+=usr/share/tmac/europs.tmac +OLD_FILES+=usr/share/tmac/html-end.tmac +OLD_FILES+=usr/share/tmac/html.tmac +OLD_FILES+=usr/share/tmac/hyphen.ru +OLD_FILES+=usr/share/tmac/hyphen.us +OLD_FILES+=usr/share/tmac/hyphenex.us +OLD_FILES+=usr/share/tmac/koi8-r.tmac +OLD_FILES+=usr/share/tmac/latin1.tmac +OLD_FILES+=usr/share/tmac/latin2.tmac +OLD_FILES+=usr/share/tmac/latin9.tmac +OLD_FILES+=usr/share/tmac/lbp.tmac +OLD_FILES+=usr/share/tmac/lj4.tmac +OLD_FILES+=usr/share/tmac/m.tmac +OLD_FILES+=usr/share/tmac/man.local +OLD_FILES+=usr/share/tmac/man.tmac +OLD_FILES+=usr/share/tmac/mandoc.tmac +OLD_FILES+=usr/share/tmac/mdoc.local +OLD_FILES+=usr/share/tmac/mdoc.tmac +OLD_FILES+=usr/share/tmac/mdoc/doc-common +OLD_FILES+=usr/share/tmac/mdoc/doc-ditroff +OLD_FILES+=usr/share/tmac/mdoc/doc-nroff +OLD_FILES+=usr/share/tmac/mdoc/doc-syms +OLD_FILES+=usr/share/tmac/mdoc/fr.ISO8859-1 +OLD_FILES+=usr/share/tmac/mdoc/ru.KOI8-R +OLD_DIRS+=usr/share/tmac/mdoc +OLD_FILES+=usr/share/tmac/me.tmac +OLD_FILES+=usr/share/tmac/mm/0.MT +OLD_FILES+=usr/share/tmac/mm/4.MT +OLD_FILES+=usr/share/tmac/mm/5.MT +OLD_FILES+=usr/share/tmac/mm/locale +OLD_FILES+=usr/share/tmac/mm/mm.tmac +OLD_FILES+=usr/share/tmac/mm/mmse.tmac +OLD_FILES+=usr/share/tmac/mm/ms.cov +OLD_FILES+=usr/share/tmac/mm/se_locale +OLD_FILES+=usr/share/tmac/mm/se_ms.cov +OLD_DIRS+=usr/share/tmac/mm +OLD_FILES+=usr/share/tmac/ms.tmac +OLD_FILES+=usr/share/tmac/mse.tmac +OLD_FILES+=usr/share/tmac/papersize.tmac +OLD_FILES+=usr/share/tmac/pic.tmac +OLD_FILES+=usr/share/tmac/ps.tmac +OLD_FILES+=usr/share/tmac/psatk.tmac +OLD_FILES+=usr/share/tmac/psold.tmac +OLD_FILES+=usr/share/tmac/pspic.tmac +OLD_FILES+=usr/share/tmac/s.tmac +OLD_FILES+=usr/share/tmac/safer.tmac +OLD_FILES+=usr/share/tmac/tmac.orig_me +OLD_FILES+=usr/share/tmac/tmac.vgrind +OLD_FILES+=usr/share/tmac/trace.tmac +OLD_FILES+=usr/share/tmac/troffrc +OLD_FILES+=usr/share/tmac/troffrc-end +OLD_FILES+=usr/share/tmac/tty-char.tmac +OLD_FILES+=usr/share/tmac/tty.tmac +OLD_FILES+=usr/share/tmac/unicode.tmac +OLD_FILES+=usr/share/tmac/www.tmac +OLD_DIRS+=usr/share/tmac # 20170607: remove incorrect atf_check(1) manpage link OLD_FILES+=usr/share/man/man1/atf_check.1.gz # 20170601: remove stale manpage Modified: head/UPDATING ============================================================================== --- head/UPDATING Wed Jun 7 21:21:14 2017 (r319663) +++ head/UPDATING Wed Jun 7 23:00:34 2017 (r319664) @@ -76,6 +76,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: For further comments/feedback, poke adrian@ . +20170531: + The GNU roff toolchain has been removed from base. To render manpages + which are not supported by mandoc(1), man(1) can fallback on GNU roff + from ports (and recommends to install it). + To render roff(7) documents, consider using GNU roff from ports or the + heirloom doctools roff toolchain from ports via pkg install groff or + via pkg install heirloom-doctools. + 20170523: The "ino64" 64-bit inode project has been committed, which extends a number of types to 64 bits. Upgrading in place requires care and Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/etc/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -360,9 +360,6 @@ MTREES= mtree/BSD.root.dist / \ mtree/BSD.usr.dist /usr \ mtree/BSD.include.dist /usr/include \ mtree/BSD.debug.dist /usr/lib -.if ${MK_GROFF} != "no" -MTREES+= mtree/BSD.groff.dist /usr -.endif .if ${MK_LIB32} != "no" MTREES+= mtree/BSD.lib32.dist /usr MTREES+= mtree/BSD.lib32.dist /usr/lib/debug/usr Modified: head/etc/mtree/Makefile ============================================================================== --- head/etc/mtree/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/etc/mtree/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -15,9 +15,6 @@ FILES= ${_BSD.debug.dist} \ .if ${MK_DEBUG_FILES} != "no" _BSD.debug.dist= BSD.debug.dist .endif -.if ${MK_GROFF} != "no" -_BSD.groff.dist= BSD.groff.dist -.endif .if ${MK_LIB32} != "no" _BSD.lib32.dist= BSD.lib32.dist .endif Modified: head/gnu/usr.bin/Makefile ============================================================================== --- head/gnu/usr.bin/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/gnu/usr.bin/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -15,7 +15,6 @@ SUBDIR.${MK_GNU_GREP}+= grep SUBDIR.${MK_GDB}+= gdb SUBDIR_DEPEND_gdb= binutils SUBDIR.${MK_GPL_DTC}+= dtc -SUBDIR.${MK_GROFF}+= groff SUBDIR.${MK_TESTS}+= tests SUBDIR_PARALLEL= Modified: head/release/Makefile ============================================================================== --- head/release/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/release/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -202,7 +202,7 @@ bootonly: packagesystem mkdir -p ${.TARGET} cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \ DESTDIR=${.OBJDIR}/${.TARGET} MK_AMD=no MK_AT=no \ - MK_GAMES=no MK_GROFF=no \ + MK_GAMES=no \ MK_INSTALLLIB=no MK_LIB32=no MK_MAIL=no \ MK_NCP=no MK_TOOLCHAIN=no MK_PROFILE=no \ MK_RESCUE=no MK_DICT=no \ Modified: head/share/Makefile ============================================================================== --- head/share/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/share/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -49,10 +49,6 @@ _dict= dict _examples= examples .endif -.if ${MK_GROFF} != "no" -_me= me -.endif - .if ${MK_ICONV} != "no" _i18n= i18n .endif Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Wed Jun 7 21:21:14 2017 (r319663) +++ head/share/mk/src.opts.mk Wed Jun 7 23:00:34 2017 (r319664) @@ -357,7 +357,6 @@ MK_KERBEROS:= no .if ${MK_CXX} == "no" MK_CLANG:= no -MK_GROFF:= no MK_GNUCXX:= no MK_TESTS:= no .endif @@ -388,10 +387,6 @@ MK_AUTHPF:= no .if ${MK_TESTS} == "no" MK_DTRACE_TESTS:= no -.endif - -.if ${MK_TEXTPROC} == "no" -MK_GROFF:= no .endif .if ${MK_CROSS_COMPILER} == "no" Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Wed Jun 7 21:21:14 2017 (r319663) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Wed Jun 7 23:00:34 2017 (r319664) @@ -2494,487 +2494,6 @@ OLD_FILES+=usr/share/man/man1/zgrep.1.gz .endif .endif -# Also includes vgrind(1) -.if ${MK_GROFF} == no -OLD_FILES+=usr/bin/addftinfo -OLD_FILES+=usr/bin/afmtodit -OLD_FILES+=usr/bin/eqn -OLD_FILES+=usr/bin/grn -OLD_FILES+=usr/bin/grodvi -OLD_FILES+=usr/bin/groff -OLD_FILES+=usr/bin/grog -OLD_FILES+=usr/bin/grolbp -OLD_FILES+=usr/bin/grolj4 -OLD_FILES+=usr/bin/grops -OLD_FILES+=usr/bin/grotty -OLD_FILES+=usr/bin/hpftodit -OLD_FILES+=usr/bin/indxbib -OLD_FILES+=usr/bin/lkbib -OLD_FILES+=usr/bin/lookbib -OLD_FILES+=usr/bin/mmroff -OLD_FILES+=usr/bin/neqn -OLD_FILES+=usr/bin/nroff -OLD_FILES+=usr/bin/pfbtops -OLD_FILES+=usr/bin/pic -OLD_FILES+=usr/bin/post-grohtml -OLD_FILES+=usr/bin/pre-grohtml -OLD_FILES+=usr/bin/psroff -OLD_FILES+=usr/bin/refer -OLD_FILES+=usr/bin/tbl -OLD_FILES+=usr/bin/tfmtodit -OLD_FILES+=usr/bin/troff -OLD_FILES+=usr/bin/vgrind -OLD_FILES+=usr/libexec/vfontedpr -OLD_FILES+=usr/share/dict/eign -OLD_FILES+=usr/share/groff_font/devX100-12/CB -OLD_FILES+=usr/share/groff_font/devX100-12/CBI -OLD_FILES+=usr/share/groff_font/devX100-12/CI -OLD_FILES+=usr/share/groff_font/devX100-12/CR -OLD_FILES+=usr/share/groff_font/devX100-12/DESC -OLD_FILES+=usr/share/groff_font/devX100-12/HB -OLD_FILES+=usr/share/groff_font/devX100-12/HBI -OLD_FILES+=usr/share/groff_font/devX100-12/HI -OLD_FILES+=usr/share/groff_font/devX100-12/HR -OLD_FILES+=usr/share/groff_font/devX100-12/NB -OLD_FILES+=usr/share/groff_font/devX100-12/NBI -OLD_FILES+=usr/share/groff_font/devX100-12/NI -OLD_FILES+=usr/share/groff_font/devX100-12/NR -OLD_FILES+=usr/share/groff_font/devX100-12/S -OLD_FILES+=usr/share/groff_font/devX100-12/TB -OLD_FILES+=usr/share/groff_font/devX100-12/TBI -OLD_FILES+=usr/share/groff_font/devX100-12/TI -OLD_FILES+=usr/share/groff_font/devX100-12/TR -OLD_DIRS+=usr/share/groff_font/devX100-12 -OLD_FILES+=usr/share/groff_font/devX100/CB -OLD_FILES+=usr/share/groff_font/devX100/CBI -OLD_FILES+=usr/share/groff_font/devX100/CI -OLD_FILES+=usr/share/groff_font/devX100/CR -OLD_FILES+=usr/share/groff_font/devX100/DESC -OLD_FILES+=usr/share/groff_font/devX100/HB -OLD_FILES+=usr/share/groff_font/devX100/HBI -OLD_FILES+=usr/share/groff_font/devX100/HI -OLD_FILES+=usr/share/groff_font/devX100/HR -OLD_FILES+=usr/share/groff_font/devX100/NB -OLD_FILES+=usr/share/groff_font/devX100/NBI -OLD_FILES+=usr/share/groff_font/devX100/NI -OLD_FILES+=usr/share/groff_font/devX100/NR -OLD_FILES+=usr/share/groff_font/devX100/S -OLD_FILES+=usr/share/groff_font/devX100/TB -OLD_FILES+=usr/share/groff_font/devX100/TBI -OLD_FILES+=usr/share/groff_font/devX100/TI -OLD_FILES+=usr/share/groff_font/devX100/TR -OLD_DIRS+=usr/share/groff_font/devX100 -OLD_FILES+=usr/share/groff_font/devX75-12/CB -OLD_FILES+=usr/share/groff_font/devX75-12/CBI -OLD_FILES+=usr/share/groff_font/devX75-12/CI -OLD_FILES+=usr/share/groff_font/devX75-12/CR -OLD_FILES+=usr/share/groff_font/devX75-12/DESC -OLD_FILES+=usr/share/groff_font/devX75-12/HB -OLD_FILES+=usr/share/groff_font/devX75-12/HBI -OLD_FILES+=usr/share/groff_font/devX75-12/HI -OLD_FILES+=usr/share/groff_font/devX75-12/HR -OLD_FILES+=usr/share/groff_font/devX75-12/NB -OLD_FILES+=usr/share/groff_font/devX75-12/NBI -OLD_FILES+=usr/share/groff_font/devX75-12/NI -OLD_FILES+=usr/share/groff_font/devX75-12/NR -OLD_FILES+=usr/share/groff_font/devX75-12/S -OLD_FILES+=usr/share/groff_font/devX75-12/TB -OLD_FILES+=usr/share/groff_font/devX75-12/TBI -OLD_FILES+=usr/share/groff_font/devX75-12/TI -OLD_FILES+=usr/share/groff_font/devX75-12/TR -OLD_DIRS+=usr/share/groff_font/devX75-12 -OLD_FILES+=usr/share/groff_font/devX75/CB -OLD_FILES+=usr/share/groff_font/devX75/CBI -OLD_FILES+=usr/share/groff_font/devX75/CI -OLD_FILES+=usr/share/groff_font/devX75/CR -OLD_FILES+=usr/share/groff_font/devX75/DESC -OLD_FILES+=usr/share/groff_font/devX75/HB -OLD_FILES+=usr/share/groff_font/devX75/HBI -OLD_FILES+=usr/share/groff_font/devX75/HI -OLD_FILES+=usr/share/groff_font/devX75/HR -OLD_FILES+=usr/share/groff_font/devX75/NB -OLD_FILES+=usr/share/groff_font/devX75/NBI -OLD_FILES+=usr/share/groff_font/devX75/NI -OLD_FILES+=usr/share/groff_font/devX75/NR -OLD_FILES+=usr/share/groff_font/devX75/S -OLD_FILES+=usr/share/groff_font/devX75/TB -OLD_FILES+=usr/share/groff_font/devX75/TBI -OLD_FILES+=usr/share/groff_font/devX75/TI -OLD_FILES+=usr/share/groff_font/devX75/TR -OLD_DIRS+=usr/share/groff_font/devX75 -OLD_FILES+=usr/share/groff_font/devascii/B -OLD_FILES+=usr/share/groff_font/devascii/BI -OLD_FILES+=usr/share/groff_font/devascii/CW -OLD_FILES+=usr/share/groff_font/devascii/DESC -OLD_FILES+=usr/share/groff_font/devascii/I -OLD_FILES+=usr/share/groff_font/devascii/L -OLD_FILES+=usr/share/groff_font/devascii/R -OLD_FILES+=usr/share/groff_font/devascii/S -OLD_DIRS+=usr/share/groff_font/devascii -OLD_FILES+=usr/share/groff_font/devcp1047/B -OLD_FILES+=usr/share/groff_font/devcp1047/BI -OLD_FILES+=usr/share/groff_font/devcp1047/CW -OLD_FILES+=usr/share/groff_font/devcp1047/DESC -OLD_FILES+=usr/share/groff_font/devcp1047/I -OLD_FILES+=usr/share/groff_font/devcp1047/L -OLD_FILES+=usr/share/groff_font/devcp1047/R -OLD_FILES+=usr/share/groff_font/devcp1047/S -OLD_DIRS+=usr/share/groff_font/devcp1047 -OLD_FILES+=usr/share/groff_font/devdvi/CW -OLD_FILES+=usr/share/groff_font/devdvi/CWEC -OLD_FILES+=usr/share/groff_font/devdvi/CWI -OLD_FILES+=usr/share/groff_font/devdvi/CWIEC -OLD_FILES+=usr/share/groff_font/devdvi/CWITC -OLD_FILES+=usr/share/groff_font/devdvi/CWTC -OLD_FILES+=usr/share/groff_font/devdvi/CompileFonts -OLD_FILES+=usr/share/groff_font/devdvi/DESC -OLD_FILES+=usr/share/groff_font/devdvi/EX -OLD_FILES+=usr/share/groff_font/devdvi/HB -OLD_FILES+=usr/share/groff_font/devdvi/HBEC -OLD_FILES+=usr/share/groff_font/devdvi/HBI -OLD_FILES+=usr/share/groff_font/devdvi/HBIEC -OLD_FILES+=usr/share/groff_font/devdvi/HBITC -OLD_FILES+=usr/share/groff_font/devdvi/HBTC -OLD_FILES+=usr/share/groff_font/devdvi/HI -OLD_FILES+=usr/share/groff_font/devdvi/HIEC -OLD_FILES+=usr/share/groff_font/devdvi/HITC -OLD_FILES+=usr/share/groff_font/devdvi/HR -OLD_FILES+=usr/share/groff_font/devdvi/HREC -OLD_FILES+=usr/share/groff_font/devdvi/HRTC -OLD_FILES+=usr/share/groff_font/devdvi/MI -OLD_FILES+=usr/share/groff_font/devdvi/Makefile -OLD_FILES+=usr/share/groff_font/devdvi/S -OLD_FILES+=usr/share/groff_font/devdvi/SA -OLD_FILES+=usr/share/groff_font/devdvi/SB -OLD_FILES+=usr/share/groff_font/devdvi/SC -OLD_FILES+=usr/share/groff_font/devdvi/TB -OLD_FILES+=usr/share/groff_font/devdvi/TBEC -OLD_FILES+=usr/share/groff_font/devdvi/TBI -OLD_FILES+=usr/share/groff_font/devdvi/TBIEC -OLD_FILES+=usr/share/groff_font/devdvi/TBITC -OLD_FILES+=usr/share/groff_font/devdvi/TBTC -OLD_FILES+=usr/share/groff_font/devdvi/TI -OLD_FILES+=usr/share/groff_font/devdvi/TIEC -OLD_FILES+=usr/share/groff_font/devdvi/TITC -OLD_FILES+=usr/share/groff_font/devdvi/TR -OLD_FILES+=usr/share/groff_font/devdvi/TREC -OLD_FILES+=usr/share/groff_font/devdvi/TRTC -OLD_FILES+=usr/share/groff_font/devdvi/ec.map -OLD_FILES+=usr/share/groff_font/devdvi/msam.map -OLD_FILES+=usr/share/groff_font/devdvi/msbm.map -OLD_FILES+=usr/share/groff_font/devdvi/tc.map -OLD_FILES+=usr/share/groff_font/devdvi/texb.map -OLD_FILES+=usr/share/groff_font/devdvi/texex.map -OLD_FILES+=usr/share/groff_font/devdvi/texi.map -OLD_FILES+=usr/share/groff_font/devdvi/texmi.map -OLD_FILES+=usr/share/groff_font/devdvi/texr.map -OLD_FILES+=usr/share/groff_font/devdvi/texsy.map -OLD_FILES+=usr/share/groff_font/devdvi/textex.map -OLD_FILES+=usr/share/groff_font/devdvi/textt.map -OLD_DIRS+=usr/share/groff_font/devdvi -OLD_FILES+=usr/share/groff_font/devhtml/B -OLD_FILES+=usr/share/groff_font/devhtml/BI -OLD_FILES+=usr/share/groff_font/devhtml/CB -OLD_FILES+=usr/share/groff_font/devhtml/CBI -OLD_FILES+=usr/share/groff_font/devhtml/CI -OLD_FILES+=usr/share/groff_font/devhtml/CR -OLD_FILES+=usr/share/groff_font/devhtml/DESC -OLD_FILES+=usr/share/groff_font/devhtml/I -OLD_FILES+=usr/share/groff_font/devhtml/R -OLD_FILES+=usr/share/groff_font/devhtml/S -OLD_DIRS+=usr/share/groff_font/devhtml -OLD_FILES+=usr/share/groff_font/devkoi8-r/B -OLD_FILES+=usr/share/groff_font/devkoi8-r/BI -OLD_FILES+=usr/share/groff_font/devkoi8-r/CW -OLD_FILES+=usr/share/groff_font/devkoi8-r/DESC -OLD_FILES+=usr/share/groff_font/devkoi8-r/I -OLD_FILES+=usr/share/groff_font/devkoi8-r/L -OLD_FILES+=usr/share/groff_font/devkoi8-r/R -OLD_FILES+=usr/share/groff_font/devkoi8-r/S -OLD_DIRS+=usr/share/groff_font/devkoi8-r -OLD_FILES+=usr/share/groff_font/devlatin1/B -OLD_FILES+=usr/share/groff_font/devlatin1/BI -OLD_FILES+=usr/share/groff_font/devlatin1/CW -OLD_FILES+=usr/share/groff_font/devlatin1/DESC -OLD_FILES+=usr/share/groff_font/devlatin1/I -OLD_FILES+=usr/share/groff_font/devlatin1/L -OLD_FILES+=usr/share/groff_font/devlatin1/R -OLD_FILES+=usr/share/groff_font/devlatin1/S -OLD_DIRS+=usr/share/groff_font/devlatin1 -OLD_FILES+=usr/share/groff_font/devlbp/CB -OLD_FILES+=usr/share/groff_font/devlbp/CI -OLD_FILES+=usr/share/groff_font/devlbp/CR -OLD_FILES+=usr/share/groff_font/devlbp/DESC -OLD_FILES+=usr/share/groff_font/devlbp/EB -OLD_FILES+=usr/share/groff_font/devlbp/EI -OLD_FILES+=usr/share/groff_font/devlbp/ER -OLD_FILES+=usr/share/groff_font/devlbp/HB -OLD_FILES+=usr/share/groff_font/devlbp/HBI -OLD_FILES+=usr/share/groff_font/devlbp/HI -OLD_FILES+=usr/share/groff_font/devlbp/HNB -OLD_FILES+=usr/share/groff_font/devlbp/HNBI -OLD_FILES+=usr/share/groff_font/devlbp/HNI -OLD_FILES+=usr/share/groff_font/devlbp/HNR -OLD_FILES+=usr/share/groff_font/devlbp/HR -OLD_FILES+=usr/share/groff_font/devlbp/TB -OLD_FILES+=usr/share/groff_font/devlbp/TBI -OLD_FILES+=usr/share/groff_font/devlbp/TI -OLD_FILES+=usr/share/groff_font/devlbp/TR -OLD_DIRS+=usr/share/groff_font/devlbp -OLD_FILES+=usr/share/groff_font/devlj4/AB -OLD_FILES+=usr/share/groff_font/devlj4/ABI -OLD_FILES+=usr/share/groff_font/devlj4/AI -OLD_FILES+=usr/share/groff_font/devlj4/ALBB -OLD_FILES+=usr/share/groff_font/devlj4/ALBR -OLD_FILES+=usr/share/groff_font/devlj4/AOB -OLD_FILES+=usr/share/groff_font/devlj4/AOI -OLD_FILES+=usr/share/groff_font/devlj4/AOR -OLD_FILES+=usr/share/groff_font/devlj4/AR -OLD_FILES+=usr/share/groff_font/devlj4/CB -OLD_FILES+=usr/share/groff_font/devlj4/CBI -OLD_FILES+=usr/share/groff_font/devlj4/CI -OLD_FILES+=usr/share/groff_font/devlj4/CLARENDON -OLD_FILES+=usr/share/groff_font/devlj4/CORONET -OLD_FILES+=usr/share/groff_font/devlj4/CR -OLD_FILES+=usr/share/groff_font/devlj4/DESC -OLD_FILES+=usr/share/groff_font/devlj4/GB -OLD_FILES+=usr/share/groff_font/devlj4/GBI -OLD_FILES+=usr/share/groff_font/devlj4/GI -OLD_FILES+=usr/share/groff_font/devlj4/GR -OLD_FILES+=usr/share/groff_font/devlj4/LGB -OLD_FILES+=usr/share/groff_font/devlj4/LGI -OLD_FILES+=usr/share/groff_font/devlj4/LGR -OLD_FILES+=usr/share/groff_font/devlj4/MARIGOLD -OLD_FILES+=usr/share/groff_font/devlj4/OB -OLD_FILES+=usr/share/groff_font/devlj4/OBI -OLD_FILES+=usr/share/groff_font/devlj4/OI -OLD_FILES+=usr/share/groff_font/devlj4/OR -OLD_FILES+=usr/share/groff_font/devlj4/S -OLD_FILES+=usr/share/groff_font/devlj4/SYMBOL -OLD_FILES+=usr/share/groff_font/devlj4/TB -OLD_FILES+=usr/share/groff_font/devlj4/TBI -OLD_FILES+=usr/share/groff_font/devlj4/TI -OLD_FILES+=usr/share/groff_font/devlj4/TNRB -OLD_FILES+=usr/share/groff_font/devlj4/TNRBI -OLD_FILES+=usr/share/groff_font/devlj4/TNRI -OLD_FILES+=usr/share/groff_font/devlj4/TNRR -OLD_FILES+=usr/share/groff_font/devlj4/TR -OLD_FILES+=usr/share/groff_font/devlj4/UB -OLD_FILES+=usr/share/groff_font/devlj4/UBI -OLD_FILES+=usr/share/groff_font/devlj4/UCB -OLD_FILES+=usr/share/groff_font/devlj4/UCBI -OLD_FILES+=usr/share/groff_font/devlj4/UCI -OLD_FILES+=usr/share/groff_font/devlj4/UCR -OLD_FILES+=usr/share/groff_font/devlj4/UI -OLD_FILES+=usr/share/groff_font/devlj4/UR -OLD_FILES+=usr/share/groff_font/devlj4/WINGDINGS -OLD_DIRS+=usr/share/groff_font/devlj4 -OLD_FILES+=usr/share/groff_font/devps/AB -OLD_FILES+=usr/share/groff_font/devps/ABI -OLD_FILES+=usr/share/groff_font/devps/AI -OLD_FILES+=usr/share/groff_font/devps/AR -OLD_FILES+=usr/share/groff_font/devps/BMB -OLD_FILES+=usr/share/groff_font/devps/BMBI -OLD_FILES+=usr/share/groff_font/devps/BMI -OLD_FILES+=usr/share/groff_font/devps/BMR -OLD_FILES+=usr/share/groff_font/devps/CB -OLD_FILES+=usr/share/groff_font/devps/CBI -OLD_FILES+=usr/share/groff_font/devps/CI -OLD_FILES+=usr/share/groff_font/devps/CR -OLD_FILES+=usr/share/groff_font/devps/DESC -OLD_FILES+=usr/share/groff_font/devps/EURO -OLD_FILES+=usr/share/groff_font/devps/HB -OLD_FILES+=usr/share/groff_font/devps/HBI -OLD_FILES+=usr/share/groff_font/devps/HI -OLD_FILES+=usr/share/groff_font/devps/HNB -OLD_FILES+=usr/share/groff_font/devps/HNBI -OLD_FILES+=usr/share/groff_font/devps/HNI -OLD_FILES+=usr/share/groff_font/devps/HNR -OLD_FILES+=usr/share/groff_font/devps/HR -OLD_FILES+=usr/share/groff_font/devps/Makefile -OLD_FILES+=usr/share/groff_font/devps/NB -OLD_FILES+=usr/share/groff_font/devps/NBI -OLD_FILES+=usr/share/groff_font/devps/NI -OLD_FILES+=usr/share/groff_font/devps/NR -OLD_FILES+=usr/share/groff_font/devps/PB -OLD_FILES+=usr/share/groff_font/devps/PBI -OLD_FILES+=usr/share/groff_font/devps/PI -OLD_FILES+=usr/share/groff_font/devps/PR -OLD_FILES+=usr/share/groff_font/devps/S -OLD_FILES+=usr/share/groff_font/devps/SS -OLD_FILES+=usr/share/groff_font/devps/TB -OLD_FILES+=usr/share/groff_font/devps/TBI -OLD_FILES+=usr/share/groff_font/devps/TI -OLD_FILES+=usr/share/groff_font/devps/TR -OLD_FILES+=usr/share/groff_font/devps/ZCMI -OLD_FILES+=usr/share/groff_font/devps/ZD -OLD_FILES+=usr/share/groff_font/devps/ZDR -OLD_FILES+=usr/share/groff_font/devps/afmname -OLD_FILES+=usr/share/groff_font/devps/dingbats.map -OLD_FILES+=usr/share/groff_font/devps/dingbats.rmap -OLD_FILES+=usr/share/groff_font/devps/download -OLD_FILES+=usr/share/groff_font/devps/freeeuro.pfa -OLD_FILES+=usr/share/groff_font/devps/lgreekmap -OLD_FILES+=usr/share/groff_font/devps/prologue -OLD_FILES+=usr/share/groff_font/devps/symbol.sed -OLD_FILES+=usr/share/groff_font/devps/symbolchars -OLD_FILES+=usr/share/groff_font/devps/symbolsl.afm -OLD_FILES+=usr/share/groff_font/devps/symbolsl.pfa -OLD_FILES+=usr/share/groff_font/devps/text.enc -OLD_FILES+=usr/share/groff_font/devps/textmap -OLD_FILES+=usr/share/groff_font/devps/zapfdr.pfa -OLD_DIRS+=usr/share/groff_font/devps -OLD_FILES+=usr/share/groff_font/devutf8/B -OLD_FILES+=usr/share/groff_font/devutf8/BI -OLD_FILES+=usr/share/groff_font/devutf8/CW -OLD_FILES+=usr/share/groff_font/devutf8/DESC -OLD_FILES+=usr/share/groff_font/devutf8/I -OLD_FILES+=usr/share/groff_font/devutf8/L -OLD_FILES+=usr/share/groff_font/devutf8/R -OLD_FILES+=usr/share/groff_font/devutf8/S -OLD_DIRS+=usr/share/groff_font/devutf8 -OLD_DIRS+=usr/share/groff_font -OLD_FILES+=usr/share/man/man1/addftinfo.1.gz -OLD_FILES+=usr/share/man/man1/afmtodit.1.gz -OLD_FILES+=usr/share/man/man1/eqn.1.gz -OLD_FILES+=usr/share/man/man1/grn.1.gz -OLD_FILES+=usr/share/man/man1/grodvi.1.gz -OLD_FILES+=usr/share/man/man1/groff.1.gz -OLD_FILES+=usr/share/man/man1/grog.1.gz -OLD_FILES+=usr/share/man/man1/grolbp.1.gz -OLD_FILES+=usr/share/man/man1/grolj4.1.gz -OLD_FILES+=usr/share/man/man1/grops.1.gz -OLD_FILES+=usr/share/man/man1/grotty.1.gz -OLD_FILES+=usr/share/man/man1/hpftodit.1.gz -OLD_FILES+=usr/share/man/man1/indxbib.1.gz -OLD_FILES+=usr/share/man/man1/lkbib.1.gz -OLD_FILES+=usr/share/man/man1/lookbib.1.gz -OLD_FILES+=usr/share/man/man1/mmroff.1.gz -OLD_FILES+=usr/share/man/man1/neqn.1.gz -OLD_FILES+=usr/share/man/man1/nroff.1.gz -OLD_FILES+=usr/share/man/man1/pfbtops.1.gz -OLD_FILES+=usr/share/man/man1/pic.1.gz -OLD_FILES+=usr/share/man/man1/psroff.1.gz -OLD_FILES+=usr/share/man/man1/refer.1.gz -OLD_FILES+=usr/share/man/man1/tbl.1.gz -OLD_FILES+=usr/share/man/man1/tfmtodit.1.gz -OLD_FILES+=usr/share/man/man1/troff.1.gz -OLD_FILES+=usr/share/man/man1/vgrind.1.gz -OLD_FILES+=usr/share/man/man5/groff_font.5.gz -OLD_FILES+=usr/share/man/man5/groff_out.5.gz -OLD_FILES+=usr/share/man/man5/groff_tmac.5.gz -OLD_FILES+=usr/share/man/man5/lj4_font.5.gz -OLD_FILES+=usr/share/man/man5/tmac.5.gz -OLD_FILES+=usr/share/man/man5/vgrindefs.5.gz -OLD_FILES+=usr/share/man/man7/ditroff.7.gz -OLD_FILES+=usr/share/man/man7/groff.7.gz -OLD_FILES+=usr/share/man/man7/groff_char.7.gz -OLD_FILES+=usr/share/man/man7/groff_diff.7.gz -OLD_FILES+=usr/share/man/man7/groff_man.7.gz -OLD_FILES+=usr/share/man/man7/groff_mdoc.7.gz -OLD_FILES+=usr/share/man/man7/groff_me.7.gz -OLD_FILES+=usr/share/man/man7/groff_mm.7.gz -OLD_FILES+=usr/share/man/man7/groff_mmse.7.gz -OLD_FILES+=usr/share/man/man7/groff_ms.7.gz -OLD_FILES+=usr/share/man/man7/groff_trace.7.gz -OLD_FILES+=usr/share/man/man7/groff_www.7.gz -OLD_FILES+=usr/share/man/man7/mdoc.samples.7.gz -OLD_FILES+=usr/share/man/man7/me.7.gz -OLD_FILES+=usr/share/man/man7/mm.7.gz -OLD_FILES+=usr/share/man/man7/mmse.7.gz -OLD_FILES+=usr/share/man/man7/ms.7.gz -OLD_FILES+=usr/share/man/man7/orig_me.7.gz -OLD_FILES+=usr/share/man/man7/roff.7.gz -OLD_FILES+=usr/share/me/acm.me -OLD_FILES+=usr/share/me/chars.me -OLD_FILES+=usr/share/me/deltext.me -OLD_FILES+=usr/share/me/eqn.me -OLD_FILES+=usr/share/me/float.me -OLD_FILES+=usr/share/me/footnote.me -OLD_FILES+=usr/share/me/index.me -OLD_FILES+=usr/share/me/letterhead.me -OLD_FILES+=usr/share/me/local.me -OLD_FILES+=usr/share/me/null.me -OLD_FILES+=usr/share/me/refer.me -OLD_FILES+=usr/share/me/revisions -OLD_FILES+=usr/share/me/sh.me -OLD_FILES+=usr/share/me/tbl.me -OLD_FILES+=usr/share/me/thesis.me -OLD_DIRS+=usr/share/me *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Wed Jun 7 23:26:30 2017 Return-Path: Delivered-To: svn-src-all@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 B88BAD7F22E; Wed, 7 Jun 2017 23:26:30 +0000 (UTC) (envelope-from bapt@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 873B62D53; Wed, 7 Jun 2017 23:26:30 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v57NQTeE052441; Wed, 7 Jun 2017 23:26:29 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57NQTWA052439; Wed, 7 Jun 2017 23:26:29 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706072326.v57NQTWA052439@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Wed, 7 Jun 2017 23:26:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319665 - in head: share/mk tools/build/options X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 23:26:30 -0000 Author: bapt Date: Wed Jun 7 23:26:28 2017 New Revision: 319665 URL: https://svnweb.freebsd.org/changeset/base/319665 Log: Finish removal of groff Deleted: head/tools/build/options/WITH_GROFF Modified: head/share/mk/src.opts.mk Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Wed Jun 7 23:00:34 2017 (r319664) +++ head/share/mk/src.opts.mk Wed Jun 7 23:26:28 2017 (r319665) @@ -102,7 +102,6 @@ __DEFAULT_YES_OPTIONS = \ GNU_GREP \ GPIO \ GPL_DTC \ - GROFF \ HAST \ HTML \ HYPERV \ From owner-svn-src-all@freebsd.org Wed Jun 7 23:41:34 2017 Return-Path: Delivered-To: svn-src-all@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 B73E3D7F95B; Wed, 7 Jun 2017 23:41:34 +0000 (UTC) (envelope-from bapt@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 855913B98; Wed, 7 Jun 2017 23:41:34 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v57NfXtw056771; Wed, 7 Jun 2017 23:41:33 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57NfXoI056770; Wed, 7 Jun 2017 23:41:33 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706072341.v57NfXoI056770@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Wed, 7 Jun 2017 23:41:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319666 - head/usr.bin X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 23:41:34 -0000 Author: bapt Date: Wed Jun 7 23:41:33 2017 New Revision: 319666 URL: https://svnweb.freebsd.org/changeset/base/319666 Log: Remove leftovers from groff removal Reported by: rpokala Modified: head/usr.bin/Makefile Modified: head/usr.bin/Makefile ============================================================================== --- head/usr.bin/Makefile Wed Jun 7 23:26:28 2017 (r319665) +++ head/usr.bin/Makefile Wed Jun 7 23:41:33 2017 (r319666) @@ -257,8 +257,6 @@ SUBDIR.${MK_SENDMAIL}+= vacation SUBDIR.${MK_TALK}+= talk SUBDIR.${MK_TELNET}+= telnet SUBDIR.${MK_TESTS}+= tests -SUBDIR.${MK_TEXTPROC}+= checknr -SUBDIR.${MK_TEXTPROC}+= colcrt SUBDIR.${MK_TEXTPROC}+= ul SUBDIR.${MK_TFTP}+= tftp SUBDIR.${MK_TOOLCHAIN}+= addr2line From owner-svn-src-all@freebsd.org Wed Jun 7 23:42:38 2017 Return-Path: Delivered-To: svn-src-all@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 7213AD7FB00; Wed, 7 Jun 2017 23:42:38 +0000 (UTC) (envelope-from bapt@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 402EA3E04; Wed, 7 Jun 2017 23:42:38 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v57NgbtY060533; Wed, 7 Jun 2017 23:42:37 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v57NgbA5060532; Wed, 7 Jun 2017 23:42:37 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706072342.v57NgbA5060532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Wed, 7 Jun 2017 23:42:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319667 - head/tools/build/options X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 23:42:38 -0000 Author: bapt Date: Wed Jun 7 23:42:37 2017 New Revision: 319667 URL: https://svnweb.freebsd.org/changeset/base/319667 Log: Remove some workaround for an option that does not exists anymore. Modified: head/tools/build/options/makeman Modified: head/tools/build/options/makeman ============================================================================== --- head/tools/build/options/makeman Wed Jun 7 23:41:33 2017 (r319666) +++ head/tools/build/options/makeman Wed Jun 7 23:42:37 2017 (r319667) @@ -279,14 +279,6 @@ EOF comm -13 $t/config_default $t/config_${opt} | sed -n "/^${opt}$/!p" | comm -13 $t/deps - > $t/deps2 - # Work around BIND_UTILS=no being the default when every WITH_ - # option is enabled. - if [ "$(cat $t/deps2)" = WITHOUT_BIND_UTILS ]; then - sort $t/deps $t/deps2 > $t/_deps - mv $t/_deps $t/deps - :> $t/deps2 - fi - havedeps=0 if [ -s $t/deps ] ; then havedeps=1 From owner-svn-src-all@freebsd.org Thu Jun 8 00:30:13 2017 Return-Path: Delivered-To: svn-src-all@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 13052B94B2C; Thu, 8 Jun 2017 00:30:13 +0000 (UTC) (envelope-from rpokala@mac.com) Received: from mr11p00im-asmtp001.me.com (mr11p00im-asmtp001.me.com [17.110.69.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E71EB65916; Thu, 8 Jun 2017 00:30:12 +0000 (UTC) (envelope-from rpokala@mac.com) Received: from process-dkim-sign-daemon.mr11p00im-asmtp001.me.com by mr11p00im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.38.0 64bit (built Feb 26 2016)) id <0OR700K009BKHA00@mr11p00im-asmtp001.me.com>; Wed, 07 Jun 2017 23:29:47 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mac.com; s=4d515a; t=1496878187; bh=gDTuvuYROkaw3Bgxr2eztQOvNrvCIuNflBZAavX8IyQ=; h=Date:Subject:From:To:Message-id:MIME-version:Content-type; b=AsAQDZHiFydK3yMg/r12TGkaam15OotEczbw51cxVXjlJcWy1YXJeZVXGPuVrHoUA mE1zmNzN/i1kvEkGNjXw1Dx47R40ogTqSHcmmJOs+iQaD3YPPW4wA/yFvDCYVYH0eb rwX1ZS4I0HFmylVLpTOS9cFuZ43Pq8Jvtb4bPYlhF9qtKl8I1foS7dTX/9xqbvG+rS kNgNJcS7hPHjsaKs5xuY65Tf7fiXFin5vfKNFuA6L2KbEh6LfvzXbd3hskRf5ZEF9Z Gl9IFfSCWrZf1vRV+IE0y3T2YhHBMCHl6+fqc51qDTL/rYQ4PdqhLF04lI45c3rulN PXJtlJqoUA7lw== Received: from icloud.com ([127.0.0.1]) by mr11p00im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.38.0 64bit (built Feb 26 2016)) with ESMTPSA id <0OR700CUGALHFD30@mr11p00im-asmtp001.me.com>; Wed, 07 Jun 2017 23:29:42 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-06-07_14:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 clxscore=1034 suspectscore=20 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1701120000 definitions=main-1706070419 User-Agent: Microsoft-MacOutlook/f.21.0.170409 Date: Wed, 07 Jun 2017 16:29:41 -0700 Subject: Re: svn commit: r319664 - in head: . contrib/groff etc etc/mtree gnu/usr.bin gnu/usr.bin/groff release share share/me share/mk tools/build/mk tools/build/options usr.bin usr.bin/checknr usr.bin/colcrt From: Ravi Pokala To: Baptiste Daroussin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-id: Thread-topic: svn commit: r319664 - in head: . contrib/groff etc etc/mtree gnu/usr.bin gnu/usr.bin/groff release share share/me share/mk tools/build/mk tools/build/options usr.bin usr.bin/checknr usr.bin/colcrt References: <201706072300.v57N0YWX040515@repo.freebsd.org> In-reply-to: <201706072300.v57N0YWX040515@repo.freebsd.org> MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 00:30:13 -0000 Hi Bapt, Please note that this causes `make clean' to complain about usr.bin/chknr and usr.bin/colcrt not existing: ===> usr.bin/checknr (clean) cd: /usr/home/rpokala/freebsd/clean/base/head/usr.bin/checknr: No such file or directory *** [clean_subdir_usr.bin/checknr] Error code 2 ===> usr.bin/colcrt (clean) cd: /usr/home/rpokala/freebsd/clean/base/head/usr.bin/colcrt: No such file or directory *** [clean_subdir_usr.bin/colcrt] Error code 2 Thanks, Ravi (rpokala@) -----Original Message----- From: on behalf of Baptiste Daroussin Date: 2017-06-07, Wednesday at 16:00 To: , , Subject: svn commit: r319664 - in head: . contrib/groff etc etc/mtree gnu/usr.bin gnu/usr.bin/groff release share share/me share/mk tools/build/mk tools/build/options usr.bin usr.bin/checknr usr.bin/colcrt Author: bapt Date: Wed Jun 7 23:00:34 2017 New Revision: 319664 URL: https://svnweb.freebsd.org/changeset/base/319664 Log: Remove groff from base All manpages in base are now compatible with mandoc(1), all roff documentation will be relocated in the doc tree. man(1) can now use groff from the ports tree if it needs. Also remove checknr(1) and colcrt(1) which are only useful with groff. Approved by: (no objections on the mailing lists) Deleted: head/contrib/groff/ head/etc/mtree/BSD.groff.dist head/gnu/usr.bin/groff/ head/share/me/ head/tools/build/options/WITHOUT_GROFF head/usr.bin/checknr/ head/usr.bin/colcrt/ Modified: head/ObsoleteFiles.inc head/UPDATING head/etc/Makefile head/etc/mtree/Makefile head/gnu/usr.bin/Makefile head/release/Makefile head/share/Makefile head/share/mk/src.opts.mk head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.bin/Makefile Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Wed Jun 7 21:21:14 2017 (r319663) +++ head/ObsoleteFiles.inc Wed Jun 7 23:00:34 2017 (r319664) @@ -38,6 +38,488 @@ # xargs -n1 | sort | uniq -d; # done +# 20170531: removal of groff +OLD_FILES+=usr/bin/addftinfo +OLD_FILES+=usr/bin/afmtodit +OLD_FILES+=usr/bin/checknr +OLD_FILES+=usr/bin/colcrt +OLD_FILES+=usr/bin/eqn +OLD_FILES+=usr/bin/grn +OLD_FILES+=usr/bin/grodvi +OLD_FILES+=usr/bin/groff +OLD_FILES+=usr/bin/grog +OLD_FILES+=usr/bin/grolbp +OLD_FILES+=usr/bin/grolj4 +OLD_FILES+=usr/bin/grops +OLD_FILES+=usr/bin/grotty +OLD_FILES+=usr/bin/hpftodit +OLD_FILES+=usr/bin/indxbib +OLD_FILES+=usr/bin/lkbib +OLD_FILES+=usr/bin/lookbib +OLD_FILES+=usr/bin/mmroff +OLD_FILES+=usr/bin/neqn +OLD_FILES+=usr/bin/nroff +OLD_FILES+=usr/bin/pfbtops +OLD_FILES+=usr/bin/pic +OLD_FILES+=usr/bin/post-grohtml +OLD_FILES+=usr/bin/pre-grohtml +OLD_FILES+=usr/bin/psroff +OLD_FILES+=usr/bin/refer +OLD_FILES+=usr/bin/tbl +OLD_FILES+=usr/bin/tfmtodit +OLD_FILES+=usr/bin/troff +OLD_FILES+=usr/bin/vgrind +OLD_FILES+=usr/libexec/vfontedpr +OLD_FILES+=usr/share/dict/eign +OLD_FILES+=usr/share/groff_font/devX100-12/CB +OLD_FILES+=usr/share/groff_font/devX100-12/CBI +OLD_FILES+=usr/share/groff_font/devX100-12/CI +OLD_FILES+=usr/share/groff_font/devX100-12/CR +OLD_FILES+=usr/share/groff_font/devX100-12/DESC +OLD_FILES+=usr/share/groff_font/devX100-12/HB +OLD_FILES+=usr/share/groff_font/devX100-12/HBI +OLD_FILES+=usr/share/groff_font/devX100-12/HI +OLD_FILES+=usr/share/groff_font/devX100-12/HR +OLD_FILES+=usr/share/groff_font/devX100-12/NB +OLD_FILES+=usr/share/groff_font/devX100-12/NBI +OLD_FILES+=usr/share/groff_font/devX100-12/NI +OLD_FILES+=usr/share/groff_font/devX100-12/NR +OLD_FILES+=usr/share/groff_font/devX100-12/S +OLD_FILES+=usr/share/groff_font/devX100-12/TB +OLD_FILES+=usr/share/groff_font/devX100-12/TBI +OLD_FILES+=usr/share/groff_font/devX100-12/TI +OLD_FILES+=usr/share/groff_font/devX100-12/TR +OLD_DIRS+=usr/share/groff_font/devX100-12 +OLD_FILES+=usr/share/groff_font/devX100/CB +OLD_FILES+=usr/share/groff_font/devX100/CBI +OLD_FILES+=usr/share/groff_font/devX100/CI +OLD_FILES+=usr/share/groff_font/devX100/CR +OLD_FILES+=usr/share/groff_font/devX100/DESC +OLD_FILES+=usr/share/groff_font/devX100/HB +OLD_FILES+=usr/share/groff_font/devX100/HBI +OLD_FILES+=usr/share/groff_font/devX100/HI +OLD_FILES+=usr/share/groff_font/devX100/HR +OLD_FILES+=usr/share/groff_font/devX100/NB +OLD_FILES+=usr/share/groff_font/devX100/NBI +OLD_FILES+=usr/share/groff_font/devX100/NI +OLD_FILES+=usr/share/groff_font/devX100/NR +OLD_FILES+=usr/share/groff_font/devX100/S +OLD_FILES+=usr/share/groff_font/devX100/TB +OLD_FILES+=usr/share/groff_font/devX100/TBI +OLD_FILES+=usr/share/groff_font/devX100/TI +OLD_FILES+=usr/share/groff_font/devX100/TR +OLD_DIRS+=usr/share/groff_font/devX100 +OLD_FILES+=usr/share/groff_font/devX75-12/CB +OLD_FILES+=usr/share/groff_font/devX75-12/CBI +OLD_FILES+=usr/share/groff_font/devX75-12/CI +OLD_FILES+=usr/share/groff_font/devX75-12/CR +OLD_FILES+=usr/share/groff_font/devX75-12/DESC +OLD_FILES+=usr/share/groff_font/devX75-12/HB +OLD_FILES+=usr/share/groff_font/devX75-12/HBI +OLD_FILES+=usr/share/groff_font/devX75-12/HI +OLD_FILES+=usr/share/groff_font/devX75-12/HR +OLD_FILES+=usr/share/groff_font/devX75-12/NB +OLD_FILES+=usr/share/groff_font/devX75-12/NBI +OLD_FILES+=usr/share/groff_font/devX75-12/NI +OLD_FILES+=usr/share/groff_font/devX75-12/NR +OLD_FILES+=usr/share/groff_font/devX75-12/S +OLD_FILES+=usr/share/groff_font/devX75-12/TB +OLD_FILES+=usr/share/groff_font/devX75-12/TBI +OLD_FILES+=usr/share/groff_font/devX75-12/TI +OLD_FILES+=usr/share/groff_font/devX75-12/TR +OLD_DIRS+=usr/share/groff_font/devX75-12 +OLD_FILES+=usr/share/groff_font/devX75/CB +OLD_FILES+=usr/share/groff_font/devX75/CBI +OLD_FILES+=usr/share/groff_font/devX75/CI +OLD_FILES+=usr/share/groff_font/devX75/CR +OLD_FILES+=usr/share/groff_font/devX75/DESC +OLD_FILES+=usr/share/groff_font/devX75/HB +OLD_FILES+=usr/share/groff_font/devX75/HBI +OLD_FILES+=usr/share/groff_font/devX75/HI +OLD_FILES+=usr/share/groff_font/devX75/HR +OLD_FILES+=usr/share/groff_font/devX75/NB +OLD_FILES+=usr/share/groff_font/devX75/NBI +OLD_FILES+=usr/share/groff_font/devX75/NI +OLD_FILES+=usr/share/groff_font/devX75/NR +OLD_FILES+=usr/share/groff_font/devX75/S +OLD_FILES+=usr/share/groff_font/devX75/TB +OLD_FILES+=usr/share/groff_font/devX75/TBI +OLD_FILES+=usr/share/groff_font/devX75/TI +OLD_FILES+=usr/share/groff_font/devX75/TR +OLD_DIRS+=usr/share/groff_font/devX75 +OLD_FILES+=usr/share/groff_font/devascii/B +OLD_FILES+=usr/share/groff_font/devascii/BI +OLD_FILES+=usr/share/groff_font/devascii/CW +OLD_FILES+=usr/share/groff_font/devascii/DESC +OLD_FILES+=usr/share/groff_font/devascii/I +OLD_FILES+=usr/share/groff_font/devascii/L +OLD_FILES+=usr/share/groff_font/devascii/R +OLD_FILES+=usr/share/groff_font/devascii/S +OLD_DIRS+=usr/share/groff_font/devascii +OLD_FILES+=usr/share/groff_font/devcp1047/B +OLD_FILES+=usr/share/groff_font/devcp1047/BI +OLD_FILES+=usr/share/groff_font/devcp1047/CW +OLD_FILES+=usr/share/groff_font/devcp1047/DESC +OLD_FILES+=usr/share/groff_font/devcp1047/I +OLD_FILES+=usr/share/groff_font/devcp1047/L +OLD_FILES+=usr/share/groff_font/devcp1047/R +OLD_FILES+=usr/share/groff_font/devcp1047/S +OLD_DIRS+=usr/share/groff_font/devcp1047 +OLD_FILES+=usr/share/groff_font/devdvi/CW +OLD_FILES+=usr/share/groff_font/devdvi/CWEC +OLD_FILES+=usr/share/groff_font/devdvi/CWI +OLD_FILES+=usr/share/groff_font/devdvi/CWIEC +OLD_FILES+=usr/share/groff_font/devdvi/CWITC +OLD_FILES+=usr/share/groff_font/devdvi/CWTC +OLD_FILES+=usr/share/groff_font/devdvi/CompileFonts +OLD_FILES+=usr/share/groff_font/devdvi/DESC +OLD_FILES+=usr/share/groff_font/devdvi/EX +OLD_FILES+=usr/share/groff_font/devdvi/HB +OLD_FILES+=usr/share/groff_font/devdvi/HBEC +OLD_FILES+=usr/share/groff_font/devdvi/HBI +OLD_FILES+=usr/share/groff_font/devdvi/HBIEC +OLD_FILES+=usr/share/groff_font/devdvi/HBITC +OLD_FILES+=usr/share/groff_font/devdvi/HBTC +OLD_FILES+=usr/share/groff_font/devdvi/HI +OLD_FILES+=usr/share/groff_font/devdvi/HIEC +OLD_FILES+=usr/share/groff_font/devdvi/HITC +OLD_FILES+=usr/share/groff_font/devdvi/HR +OLD_FILES+=usr/share/groff_font/devdvi/HREC +OLD_FILES+=usr/share/groff_font/devdvi/HRTC +OLD_FILES+=usr/share/groff_font/devdvi/MI +OLD_FILES+=usr/share/groff_font/devdvi/Makefile +OLD_FILES+=usr/share/groff_font/devdvi/S +OLD_FILES+=usr/share/groff_font/devdvi/SA +OLD_FILES+=usr/share/groff_font/devdvi/SB +OLD_FILES+=usr/share/groff_font/devdvi/SC +OLD_FILES+=usr/share/groff_font/devdvi/TB +OLD_FILES+=usr/share/groff_font/devdvi/TBEC +OLD_FILES+=usr/share/groff_font/devdvi/TBI +OLD_FILES+=usr/share/groff_font/devdvi/TBIEC +OLD_FILES+=usr/share/groff_font/devdvi/TBITC +OLD_FILES+=usr/share/groff_font/devdvi/TBTC +OLD_FILES+=usr/share/groff_font/devdvi/TI +OLD_FILES+=usr/share/groff_font/devdvi/TIEC +OLD_FILES+=usr/share/groff_font/devdvi/TITC +OLD_FILES+=usr/share/groff_font/devdvi/TR +OLD_FILES+=usr/share/groff_font/devdvi/TREC +OLD_FILES+=usr/share/groff_font/devdvi/TRTC +OLD_FILES+=usr/share/groff_font/devdvi/ec.map +OLD_FILES+=usr/share/groff_font/devdvi/msam.map +OLD_FILES+=usr/share/groff_font/devdvi/msbm.map +OLD_FILES+=usr/share/groff_font/devdvi/tc.map +OLD_FILES+=usr/share/groff_font/devdvi/texb.map +OLD_FILES+=usr/share/groff_font/devdvi/texex.map +OLD_FILES+=usr/share/groff_font/devdvi/texi.map +OLD_FILES+=usr/share/groff_font/devdvi/texmi.map +OLD_FILES+=usr/share/groff_font/devdvi/texr.map +OLD_FILES+=usr/share/groff_font/devdvi/texsy.map +OLD_FILES+=usr/share/groff_font/devdvi/textex.map +OLD_FILES+=usr/share/groff_font/devdvi/textt.map +OLD_DIRS+=usr/share/groff_font/devdvi +OLD_FILES+=usr/share/groff_font/devhtml/B +OLD_FILES+=usr/share/groff_font/devhtml/BI +OLD_FILES+=usr/share/groff_font/devhtml/CB +OLD_FILES+=usr/share/groff_font/devhtml/CBI +OLD_FILES+=usr/share/groff_font/devhtml/CI +OLD_FILES+=usr/share/groff_font/devhtml/CR +OLD_FILES+=usr/share/groff_font/devhtml/DESC +OLD_FILES+=usr/share/groff_font/devhtml/I +OLD_FILES+=usr/share/groff_font/devhtml/R +OLD_FILES+=usr/share/groff_font/devhtml/S +OLD_DIRS+=usr/share/groff_font/devhtml +OLD_FILES+=usr/share/groff_font/devkoi8-r/B +OLD_FILES+=usr/share/groff_font/devkoi8-r/BI +OLD_FILES+=usr/share/groff_font/devkoi8-r/CW +OLD_FILES+=usr/share/groff_font/devkoi8-r/DESC +OLD_FILES+=usr/share/groff_font/devkoi8-r/I +OLD_FILES+=usr/share/groff_font/devkoi8-r/L +OLD_FILES+=usr/share/groff_font/devkoi8-r/R +OLD_FILES+=usr/share/groff_font/devkoi8-r/S +OLD_DIRS+=usr/share/groff_font/devkoi8-r +OLD_FILES+=usr/share/groff_font/devlatin1/B +OLD_FILES+=usr/share/groff_font/devlatin1/BI +OLD_FILES+=usr/share/groff_font/devlatin1/CW +OLD_FILES+=usr/share/groff_font/devlatin1/DESC +OLD_FILES+=usr/share/groff_font/devlatin1/I +OLD_FILES+=usr/share/groff_font/devlatin1/L +OLD_FILES+=usr/share/groff_font/devlatin1/R +OLD_FILES+=usr/share/groff_font/devlatin1/S +OLD_DIRS+=usr/share/groff_font/devlatin1 +OLD_FILES+=usr/share/groff_font/devlbp/CB +OLD_FILES+=usr/share/groff_font/devlbp/CI +OLD_FILES+=usr/share/groff_font/devlbp/CR +OLD_FILES+=usr/share/groff_font/devlbp/DESC +OLD_FILES+=usr/share/groff_font/devlbp/EB +OLD_FILES+=usr/share/groff_font/devlbp/EI +OLD_FILES+=usr/share/groff_font/devlbp/ER +OLD_FILES+=usr/share/groff_font/devlbp/HB +OLD_FILES+=usr/share/groff_font/devlbp/HBI +OLD_FILES+=usr/share/groff_font/devlbp/HI +OLD_FILES+=usr/share/groff_font/devlbp/HNB +OLD_FILES+=usr/share/groff_font/devlbp/HNBI +OLD_FILES+=usr/share/groff_font/devlbp/HNI +OLD_FILES+=usr/share/groff_font/devlbp/HNR +OLD_FILES+=usr/share/groff_font/devlbp/HR +OLD_FILES+=usr/share/groff_font/devlbp/TB +OLD_FILES+=usr/share/groff_font/devlbp/TBI +OLD_FILES+=usr/share/groff_font/devlbp/TI +OLD_FILES+=usr/share/groff_font/devlbp/TR +OLD_DIRS+=usr/share/groff_font/devlbp +OLD_FILES+=usr/share/groff_font/devlj4/AB +OLD_FILES+=usr/share/groff_font/devlj4/ABI +OLD_FILES+=usr/share/groff_font/devlj4/AI +OLD_FILES+=usr/share/groff_font/devlj4/ALBB +OLD_FILES+=usr/share/groff_font/devlj4/ALBR +OLD_FILES+=usr/share/groff_font/devlj4/AOB +OLD_FILES+=usr/share/groff_font/devlj4/AOI +OLD_FILES+=usr/share/groff_font/devlj4/AOR +OLD_FILES+=usr/share/groff_font/devlj4/AR +OLD_FILES+=usr/share/groff_font/devlj4/CB +OLD_FILES+=usr/share/groff_font/devlj4/CBI +OLD_FILES+=usr/share/groff_font/devlj4/CI +OLD_FILES+=usr/share/groff_font/devlj4/CLARENDON +OLD_FILES+=usr/share/groff_font/devlj4/CORONET +OLD_FILES+=usr/share/groff_font/devlj4/CR +OLD_FILES+=usr/share/groff_font/devlj4/DESC +OLD_FILES+=usr/share/groff_font/devlj4/GB +OLD_FILES+=usr/share/groff_font/devlj4/GBI +OLD_FILES+=usr/share/groff_font/devlj4/GI +OLD_FILES+=usr/share/groff_font/devlj4/GR +OLD_FILES+=usr/share/groff_font/devlj4/LGB +OLD_FILES+=usr/share/groff_font/devlj4/LGI +OLD_FILES+=usr/share/groff_font/devlj4/LGR +OLD_FILES+=usr/share/groff_font/devlj4/MARIGOLD +OLD_FILES+=usr/share/groff_font/devlj4/OB +OLD_FILES+=usr/share/groff_font/devlj4/OBI +OLD_FILES+=usr/share/groff_font/devlj4/OI +OLD_FILES+=usr/share/groff_font/devlj4/OR +OLD_FILES+=usr/share/groff_font/devlj4/S +OLD_FILES+=usr/share/groff_font/devlj4/SYMBOL +OLD_FILES+=usr/share/groff_font/devlj4/TB +OLD_FILES+=usr/share/groff_font/devlj4/TBI +OLD_FILES+=usr/share/groff_font/devlj4/TI +OLD_FILES+=usr/share/groff_font/devlj4/TNRB +OLD_FILES+=usr/share/groff_font/devlj4/TNRBI +OLD_FILES+=usr/share/groff_font/devlj4/TNRI +OLD_FILES+=usr/share/groff_font/devlj4/TNRR +OLD_FILES+=usr/share/groff_font/devlj4/TR +OLD_FILES+=usr/share/groff_font/devlj4/UB +OLD_FILES+=usr/share/groff_font/devlj4/UBI +OLD_FILES+=usr/share/groff_font/devlj4/UCB +OLD_FILES+=usr/share/groff_font/devlj4/UCBI +OLD_FILES+=usr/share/groff_font/devlj4/UCI +OLD_FILES+=usr/share/groff_font/devlj4/UCR +OLD_FILES+=usr/share/groff_font/devlj4/UI +OLD_FILES+=usr/share/groff_font/devlj4/UR +OLD_FILES+=usr/share/groff_font/devlj4/WINGDINGS +OLD_DIRS+=usr/share/groff_font/devlj4 +OLD_FILES+=usr/share/groff_font/devps/AB +OLD_FILES+=usr/share/groff_font/devps/ABI +OLD_FILES+=usr/share/groff_font/devps/AI +OLD_FILES+=usr/share/groff_font/devps/AR +OLD_FILES+=usr/share/groff_font/devps/BMB +OLD_FILES+=usr/share/groff_font/devps/BMBI +OLD_FILES+=usr/share/groff_font/devps/BMI +OLD_FILES+=usr/share/groff_font/devps/BMR +OLD_FILES+=usr/share/groff_font/devps/CB +OLD_FILES+=usr/share/groff_font/devps/CBI +OLD_FILES+=usr/share/groff_font/devps/CI +OLD_FILES+=usr/share/groff_font/devps/CR +OLD_FILES+=usr/share/groff_font/devps/DESC +OLD_FILES+=usr/share/groff_font/devps/EURO +OLD_FILES+=usr/share/groff_font/devps/HB +OLD_FILES+=usr/share/groff_font/devps/HBI +OLD_FILES+=usr/share/groff_font/devps/HI +OLD_FILES+=usr/share/groff_font/devps/HNB +OLD_FILES+=usr/share/groff_font/devps/HNBI +OLD_FILES+=usr/share/groff_font/devps/HNI +OLD_FILES+=usr/share/groff_font/devps/HNR +OLD_FILES+=usr/share/groff_font/devps/HR +OLD_FILES+=usr/share/groff_font/devps/Makefile +OLD_FILES+=usr/share/groff_font/devps/NB +OLD_FILES+=usr/share/groff_font/devps/NBI +OLD_FILES+=usr/share/groff_font/devps/NI +OLD_FILES+=usr/share/groff_font/devps/NR +OLD_FILES+=usr/share/groff_font/devps/PB +OLD_FILES+=usr/share/groff_font/devps/PBI +OLD_FILES+=usr/share/groff_font/devps/PI +OLD_FILES+=usr/share/groff_font/devps/PR +OLD_FILES+=usr/share/groff_font/devps/S +OLD_FILES+=usr/share/groff_font/devps/SS +OLD_FILES+=usr/share/groff_font/devps/TB +OLD_FILES+=usr/share/groff_font/devps/TBI +OLD_FILES+=usr/share/groff_font/devps/TI +OLD_FILES+=usr/share/groff_font/devps/TR +OLD_FILES+=usr/share/groff_font/devps/ZCMI +OLD_FILES+=usr/share/groff_font/devps/ZD +OLD_FILES+=usr/share/groff_font/devps/ZDR +OLD_FILES+=usr/share/groff_font/devps/afmname +OLD_FILES+=usr/share/groff_font/devps/dingbats.map +OLD_FILES+=usr/share/groff_font/devps/dingbats.rmap +OLD_FILES+=usr/share/groff_font/devps/download +OLD_FILES+=usr/share/groff_font/devps/freeeuro.pfa +OLD_FILES+=usr/share/groff_font/devps/lgreekmap +OLD_FILES+=usr/share/groff_font/devps/prologue +OLD_FILES+=usr/share/groff_font/devps/symbol.sed +OLD_FILES+=usr/share/groff_font/devps/symbolchars +OLD_FILES+=usr/share/groff_font/devps/symbolsl.afm +OLD_FILES+=usr/share/groff_font/devps/symbolsl.pfa +OLD_FILES+=usr/share/groff_font/devps/text.enc +OLD_FILES+=usr/share/groff_font/devps/textmap +OLD_FILES+=usr/share/groff_font/devps/zapfdr.pfa +OLD_DIRS+=usr/share/groff_font/devps +OLD_FILES+=usr/share/groff_font/devutf8/B +OLD_FILES+=usr/share/groff_font/devutf8/BI +OLD_FILES+=usr/share/groff_font/devutf8/CW +OLD_FILES+=usr/share/groff_font/devutf8/DESC +OLD_FILES+=usr/share/groff_font/devutf8/I +OLD_FILES+=usr/share/groff_font/devutf8/L +OLD_FILES+=usr/share/groff_font/devutf8/R +OLD_FILES+=usr/share/groff_font/devutf8/S +OLD_DIRS+=usr/share/groff_font/devutf8 +OLD_DIRS+=usr/share/groff_font +OLD_FILES+=usr/share/man/man1/addftinfo.1.gz +OLD_FILES+=usr/share/man/man1/afmtodit.1.gz +OLD_FILES+=usr/share/man/man1/checknr.1.gz +OLD_FILES+=usr/share/man/man1/colcrt.1.gz +OLD_FILES+=usr/share/man/man1/eqn.1.gz +OLD_FILES+=usr/share/man/man1/grn.1.gz +OLD_FILES+=usr/share/man/man1/grodvi.1.gz +OLD_FILES+=usr/share/man/man1/groff.1.gz +OLD_FILES+=usr/share/man/man1/grog.1.gz +OLD_FILES+=usr/share/man/man1/grolbp.1.gz +OLD_FILES+=usr/share/man/man1/grolj4.1.gz +OLD_FILES+=usr/share/man/man1/grops.1.gz +OLD_FILES+=usr/share/man/man1/grotty.1.gz +OLD_FILES+=usr/share/man/man1/hpftodit.1.gz +OLD_FILES+=usr/share/man/man1/indxbib.1.gz +OLD_FILES+=usr/share/man/man1/lkbib.1.gz +OLD_FILES+=usr/share/man/man1/lookbib.1.gz +OLD_FILES+=usr/share/man/man1/mmroff.1.gz +OLD_FILES+=usr/share/man/man1/neqn.1.gz +OLD_FILES+=usr/share/man/man1/nroff.1.gz +OLD_FILES+=usr/share/man/man1/pfbtops.1.gz +OLD_FILES+=usr/share/man/man1/pic.1.gz +OLD_FILES+=usr/share/man/man1/psroff.1.gz +OLD_FILES+=usr/share/man/man1/refer.1.gz +OLD_FILES+=usr/share/man/man1/tbl.1.gz +OLD_FILES+=usr/share/man/man1/tfmtodit.1.gz +OLD_FILES+=usr/share/man/man1/troff.1.gz +OLD_FILES+=usr/share/man/man1/vgrind.1.gz +OLD_FILES+=usr/share/man/man5/groff_font.5.gz +OLD_FILES+=usr/share/man/man5/groff_out.5.gz +OLD_FILES+=usr/share/man/man5/groff_tmac.5.gz +OLD_FILES+=usr/share/man/man5/lj4_font.5.gz +OLD_FILES+=usr/share/man/man5/tmac.5.gz +OLD_FILES+=usr/share/man/man5/vgrindefs.5.gz +OLD_FILES+=usr/share/man/man7/ditroff.7.gz +OLD_FILES+=usr/share/man/man7/groff.7.gz +OLD_FILES+=usr/share/man/man7/groff_char.7.gz +OLD_FILES+=usr/share/man/man7/groff_diff.7.gz +OLD_FILES+=usr/share/man/man7/groff_man.7.gz +OLD_FILES+=usr/share/man/man7/groff_mdoc.7.gz +OLD_FILES+=usr/share/man/man7/groff_me.7.gz +OLD_FILES+=usr/share/man/man7/groff_mm.7.gz +OLD_FILES+=usr/share/man/man7/groff_mmse.7.gz +OLD_FILES+=usr/share/man/man7/groff_ms.7.gz +OLD_FILES+=usr/share/man/man7/groff_trace.7.gz +OLD_FILES+=usr/share/man/man7/groff_www.7.gz +OLD_FILES+=usr/share/man/man7/mdoc.samples.7.gz +OLD_FILES+=usr/share/man/man7/me.7.gz +OLD_FILES+=usr/share/man/man7/mm.7.gz +OLD_FILES+=usr/share/man/man7/mmse.7.gz +OLD_FILES+=usr/share/man/man7/ms.7.gz +OLD_FILES+=usr/share/man/man7/orig_me.7.gz +OLD_FILES+=usr/share/man/man7/roff.7.gz +OLD_FILES+=usr/share/me/acm.me +OLD_FILES+=usr/share/me/chars.me +OLD_FILES+=usr/share/me/deltext.me +OLD_FILES+=usr/share/me/eqn.me +OLD_FILES+=usr/share/me/float.me +OLD_FILES+=usr/share/me/footnote.me +OLD_FILES+=usr/share/me/index.me +OLD_FILES+=usr/share/me/letterhead.me +OLD_FILES+=usr/share/me/local.me +OLD_FILES+=usr/share/me/null.me +OLD_FILES+=usr/share/me/refer.me +OLD_FILES+=usr/share/me/revisions +OLD_FILES+=usr/share/me/sh.me +OLD_FILES+=usr/share/me/tbl.me +OLD_FILES+=usr/share/me/thesis.me +OLD_DIRS+=usr/share/me +OLD_FILES+=usr/share/misc/vgrindefs +OLD_FILES+=usr/share/misc/vgrindefs.db +OLD_FILES+=usr/share/tmac/X.tmac +OLD_FILES+=usr/share/tmac/Xps.tmac +OLD_FILES+=usr/share/tmac/a4.tmac +OLD_FILES+=usr/share/tmac/an-old.tmac +OLD_FILES+=usr/share/tmac/an.tmac +OLD_FILES+=usr/share/tmac/andoc.tmac +OLD_FILES+=usr/share/tmac/composite.tmac +OLD_FILES+=usr/share/tmac/cp1047.tmac +OLD_FILES+=usr/share/tmac/devtag.tmac +OLD_FILES+=usr/share/tmac/doc.tmac +OLD_FILES+=usr/share/tmac/dvi.tmac +OLD_FILES+=usr/share/tmac/e.tmac +OLD_FILES+=usr/share/tmac/ec.tmac +OLD_FILES+=usr/share/tmac/eqnrc +OLD_FILES+=usr/share/tmac/europs.tmac +OLD_FILES+=usr/share/tmac/html-end.tmac +OLD_FILES+=usr/share/tmac/html.tmac +OLD_FILES+=usr/share/tmac/hyphen.ru +OLD_FILES+=usr/share/tmac/hyphen.us +OLD_FILES+=usr/share/tmac/hyphenex.us +OLD_FILES+=usr/share/tmac/koi8-r.tmac +OLD_FILES+=usr/share/tmac/latin1.tmac +OLD_FILES+=usr/share/tmac/latin2.tmac +OLD_FILES+=usr/share/tmac/latin9.tmac +OLD_FILES+=usr/share/tmac/lbp.tmac +OLD_FILES+=usr/share/tmac/lj4.tmac +OLD_FILES+=usr/share/tmac/m.tmac +OLD_FILES+=usr/share/tmac/man.local +OLD_FILES+=usr/share/tmac/man.tmac +OLD_FILES+=usr/share/tmac/mandoc.tmac +OLD_FILES+=usr/share/tmac/mdoc.local +OLD_FILES+=usr/share/tmac/mdoc.tmac +OLD_FILES+=usr/share/tmac/mdoc/doc-common +OLD_FILES+=usr/share/tmac/mdoc/doc-ditroff +OLD_FILES+=usr/share/tmac/mdoc/doc-nroff +OLD_FILES+=usr/share/tmac/mdoc/doc-syms +OLD_FILES+=usr/share/tmac/mdoc/fr.ISO8859-1 +OLD_FILES+=usr/share/tmac/mdoc/ru.KOI8-R +OLD_DIRS+=usr/share/tmac/mdoc +OLD_FILES+=usr/share/tmac/me.tmac +OLD_FILES+=usr/share/tmac/mm/0.MT +OLD_FILES+=usr/share/tmac/mm/4.MT +OLD_FILES+=usr/share/tmac/mm/5.MT +OLD_FILES+=usr/share/tmac/mm/locale +OLD_FILES+=usr/share/tmac/mm/mm.tmac +OLD_FILES+=usr/share/tmac/mm/mmse.tmac +OLD_FILES+=usr/share/tmac/mm/ms.cov +OLD_FILES+=usr/share/tmac/mm/se_locale +OLD_FILES+=usr/share/tmac/mm/se_ms.cov +OLD_DIRS+=usr/share/tmac/mm +OLD_FILES+=usr/share/tmac/ms.tmac +OLD_FILES+=usr/share/tmac/mse.tmac +OLD_FILES+=usr/share/tmac/papersize.tmac +OLD_FILES+=usr/share/tmac/pic.tmac +OLD_FILES+=usr/share/tmac/ps.tmac +OLD_FILES+=usr/share/tmac/psatk.tmac +OLD_FILES+=usr/share/tmac/psold.tmac +OLD_FILES+=usr/share/tmac/pspic.tmac +OLD_FILES+=usr/share/tmac/s.tmac +OLD_FILES+=usr/share/tmac/safer.tmac +OLD_FILES+=usr/share/tmac/tmac.orig_me +OLD_FILES+=usr/share/tmac/tmac.vgrind +OLD_FILES+=usr/share/tmac/trace.tmac +OLD_FILES+=usr/share/tmac/troffrc +OLD_FILES+=usr/share/tmac/troffrc-end +OLD_FILES+=usr/share/tmac/tty-char.tmac +OLD_FILES+=usr/share/tmac/tty.tmac +OLD_FILES+=usr/share/tmac/unicode.tmac +OLD_FILES+=usr/share/tmac/www.tmac +OLD_DIRS+=usr/share/tmac # 20170607: remove incorrect atf_check(1) manpage link OLD_FILES+=usr/share/man/man1/atf_check.1.gz # 20170601: remove stale manpage Modified: head/UPDATING ============================================================================== --- head/UPDATING Wed Jun 7 21:21:14 2017 (r319663) +++ head/UPDATING Wed Jun 7 23:00:34 2017 (r319664) @@ -76,6 +76,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: For further comments/feedback, poke adrian@ . +20170531: + The GNU roff toolchain has been removed from base. To render manpages + which are not supported by mandoc(1), man(1) can fallback on GNU roff + from ports (and recommends to install it). + To render roff(7) documents, consider using GNU roff from ports or the + heirloom doctools roff toolchain from ports via pkg install groff or + via pkg install heirloom-doctools. + 20170523: The "ino64" 64-bit inode project has been committed, which extends a number of types to 64 bits. Upgrading in place requires care and Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/etc/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -360,9 +360,6 @@ MTREES= mtree/BSD.root.dist / \ mtree/BSD.usr.dist /usr \ mtree/BSD.include.dist /usr/include \ mtree/BSD.debug.dist /usr/lib -.if ${MK_GROFF} != "no" -MTREES+= mtree/BSD.groff.dist /usr -.endif .if ${MK_LIB32} != "no" MTREES+= mtree/BSD.lib32.dist /usr MTREES+= mtree/BSD.lib32.dist /usr/lib/debug/usr Modified: head/etc/mtree/Makefile ============================================================================== --- head/etc/mtree/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/etc/mtree/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -15,9 +15,6 @@ FILES= ${_BSD.debug.dist} \ .if ${MK_DEBUG_FILES} != "no" _BSD.debug.dist= BSD.debug.dist .endif -.if ${MK_GROFF} != "no" -_BSD.groff.dist= BSD.groff.dist -.endif .if ${MK_LIB32} != "no" _BSD.lib32.dist= BSD.lib32.dist .endif Modified: head/gnu/usr.bin/Makefile ============================================================================== --- head/gnu/usr.bin/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/gnu/usr.bin/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -15,7 +15,6 @@ SUBDIR.${MK_GNU_GREP}+= grep SUBDIR.${MK_GDB}+= gdb SUBDIR_DEPEND_gdb= binutils SUBDIR.${MK_GPL_DTC}+= dtc -SUBDIR.${MK_GROFF}+= groff SUBDIR.${MK_TESTS}+= tests SUBDIR_PARALLEL= Modified: head/release/Makefile ============================================================================== --- head/release/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/release/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -202,7 +202,7 @@ bootonly: packagesystem mkdir -p ${.TARGET} cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \ DESTDIR=${.OBJDIR}/${.TARGET} MK_AMD=no MK_AT=no \ - MK_GAMES=no MK_GROFF=no \ + MK_GAMES=no \ MK_INSTALLLIB=no MK_LIB32=no MK_MAIL=no \ MK_NCP=no MK_TOOLCHAIN=no MK_PROFILE=no \ MK_RESCUE=no MK_DICT=no \ Modified: head/share/Makefile ============================================================================== --- head/share/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/share/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -49,10 +49,6 @@ _dict= dict _examples= examples .endif -.if ${MK_GROFF} != "no" -_me= me -.endif - .if ${MK_ICONV} != "no" _i18n= i18n .endif Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Wed Jun 7 21:21:14 2017 (r319663) +++ head/share/mk/src.opts.mk Wed Jun 7 23:00:34 2017 (r319664) @@ -357,7 +357,6 @@ MK_KERBEROS:= no .if ${MK_CXX} == "no" MK_CLANG:= no -MK_GROFF:= no MK_GNUCXX:= no MK_TESTS:= no .endif @@ -388,10 +387,6 @@ MK_AUTHPF:= no .if ${MK_TESTS} == "no" MK_DTRACE_TESTS:= no -.endif - -.if ${MK_TEXTPROC} == "no" -MK_GROFF:= no .endif .if ${MK_CROSS_COMPILER} == "no" Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Wed Jun 7 21:21:14 2017 (r319663) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Wed Jun 7 23:00:34 2017 (r319664) @@ -2494,487 +2494,6 @@ OLD_FILES+=usr/share/man/man1/zgrep.1.gz .endif .endif -# Also includes vgrind(1) -.if ${MK_GROFF} == no -OLD_FILES+=usr/bin/addftinfo -OLD_FILES+=usr/bin/afmtodit -OLD_FILES+=usr/bin/eqn -OLD_FILES+=usr/bin/grn -OLD_FILES+=usr/bin/grodvi -OLD_FILES+=usr/bin/groff -OLD_FILES+=usr/bin/grog -OLD_FILES+=usr/bin/grolbp -OLD_FILES+=usr/bin/grolj4 -OLD_FILES+=usr/bin/grops -OLD_FILES+=usr/bin/grotty -OLD_FILES+=usr/bin/hpftodit -OLD_FILES+=usr/bin/indxbib -OLD_FILES+=usr/bin/lkbib -OLD_FILES+=usr/bin/lookbib -OLD_FILES+=usr/bin/mmroff -OLD_FILES+=usr/bin/neqn -OLD_FILES+=usr/bin/nroff -OLD_FILES+=usr/bin/pfbtops -OLD_FILES+=usr/bin/pic -OLD_FILES+=usr/bin/post-grohtml -OLD_FILES+=usr/bin/pre-grohtml -OLD_FILES+=usr/bin/psroff -OLD_FILES+=usr/bin/refer -OLD_FILES+=usr/bin/tbl -OLD_FILES+=usr/bin/tfmtodit -OLD_FILES+=usr/bin/troff -OLD_FILES+=usr/bin/vgrind -OLD_FILES+=usr/libexec/vfontedpr -OLD_FILES+=usr/share/dict/eign -OLD_FILES+=usr/share/groff_font/devX100-12/CB -OLD_FILES+=usr/share/groff_font/devX100-12/CBI -OLD_FILES+=usr/share/groff_font/devX100-12/CI -OLD_FILES+=usr/share/groff_font/devX100-12/CR -OLD_FILES+=usr/share/groff_font/devX100-12/DESC -OLD_FILES+=usr/share/groff_font/devX100-12/HB -OLD_FILES+=usr/share/groff_font/devX100-12/HBI -OLD_FILES+=usr/share/groff_font/devX100-12/HI -OLD_FILES+=usr/share/groff_font/devX100-12/HR -OLD_FILES+=usr/share/groff_font/devX100-12/NB -OLD_FILES+=usr/share/groff_font/devX100-12/NBI -OLD_FILES+=usr/share/groff_font/devX100-12/NI -OLD_FILES+=usr/share/groff_font/devX100-12/NR -OLD_FILES+=usr/share/groff_font/devX100-12/S -OLD_FILES+=usr/share/groff_font/devX100-12/TB -OLD_FILES+=usr/share/groff_font/devX100-12/TBI -OLD_FILES+=usr/share/groff_font/devX100-12/TI -OLD_FILES+=usr/share/groff_font/devX100-12/TR -OLD_DIRS+=usr/share/groff_font/devX100-12 -OLD_FILES+=usr/share/groff_font/devX100/CB -OLD_FILES+=usr/share/groff_font/devX100/CBI -OLD_FILES+=usr/share/groff_font/devX100/CI -OLD_FILES+=usr/share/groff_font/devX100/CR -OLD_FILES+=usr/share/groff_font/devX100/DESC -OLD_FILES+=usr/share/groff_font/devX100/HB -OLD_FILES+=usr/share/groff_font/devX100/HBI -OLD_FILES+=usr/share/groff_font/devX100/HI -OLD_FILES+=usr/share/groff_font/devX100/HR -OLD_FILES+=usr/share/groff_font/devX100/NB -OLD_FILES+=usr/share/groff_font/devX100/NBI -OLD_FILES+=usr/share/groff_font/devX100/NI -OLD_FILES+=usr/share/groff_font/devX100/NR -OLD_FILES+=usr/share/groff_font/devX100/S -OLD_FILES+=usr/share/groff_font/devX100/TB -OLD_FILES+=usr/share/groff_font/devX100/TBI -OLD_FILES+=usr/share/groff_font/devX100/TI -OLD_FILES+=usr/share/groff_font/devX100/TR -OLD_DIRS+=usr/share/groff_font/devX100 -OLD_FILES+=usr/share/groff_font/devX75-12/CB -OLD_FILES+=usr/share/groff_font/devX75-12/CBI -OLD_FILES+=usr/share/groff_font/devX75-12/CI -OLD_FILES+=usr/share/groff_font/devX75-12/CR -OLD_FILES+=usr/share/groff_font/devX75-12/DESC -OLD_FILES+=usr/share/groff_font/devX75-12/HB -OLD_FILES+=usr/share/groff_font/devX75-12/HBI -OLD_FILES+=usr/share/groff_font/devX75-12/HI -OLD_FILES+=usr/share/groff_font/devX75-12/HR -OLD_FILES+=usr/share/groff_font/devX75-12/NB -OLD_FILES+=usr/share/groff_font/devX75-12/NBI -OLD_FILES+=usr/share/groff_font/devX75-12/NI -OLD_FILES+=usr/share/groff_font/devX75-12/NR -OLD_FILES+=usr/share/groff_font/devX75-12/S -OLD_FILES+=usr/share/groff_font/devX75-12/TB -OLD_FILES+=usr/share/groff_font/devX75-12/TBI -OLD_FILES+=usr/share/groff_font/devX75-12/TI -OLD_FILES+=usr/share/groff_font/devX75-12/TR -OLD_DIRS+=usr/share/groff_font/devX75-12 -OLD_FILES+=usr/share/groff_font/devX75/CB -OLD_FILES+=usr/share/groff_font/devX75/CBI -OLD_FILES+=usr/share/groff_font/devX75/CI -OLD_FILES+=usr/share/groff_font/devX75/CR -OLD_FILES+=usr/share/groff_font/devX75/DESC -OLD_FILES+=usr/share/groff_font/devX75/HB -OLD_FILES+=usr/share/groff_font/devX75/HBI -OLD_FILES+=usr/share/groff_font/devX75/HI -OLD_FILES+=usr/share/groff_font/devX75/HR -OLD_FILES+=usr/share/groff_font/devX75/NB -OLD_FILES+=usr/share/groff_font/devX75/NBI -OLD_FILES+=usr/share/groff_font/devX75/NI -OLD_FILES+=usr/share/groff_font/devX75/NR -OLD_FILES+=usr/share/groff_font/devX75/S -OLD_FILES+=usr/share/groff_font/devX75/TB -OLD_FILES+=usr/share/groff_font/devX75/TBI -OLD_FILES+=usr/share/groff_font/devX75/TI -OLD_FILES+=usr/share/groff_font/devX75/TR -OLD_DIRS+=usr/share/groff_font/devX75 -OLD_FILES+=usr/share/groff_font/devascii/B -OLD_FILES+=usr/share/groff_font/devascii/BI -OLD_FILES+=usr/share/groff_font/devascii/CW -OLD_FILES+=usr/share/groff_font/devascii/DESC -OLD_FILES+=usr/share/groff_font/devascii/I -OLD_FILES+=usr/share/groff_font/devascii/L -OLD_FILES+=usr/share/groff_font/devascii/R -OLD_FILES+=usr/share/groff_font/devascii/S -OLD_DIRS+=usr/share/groff_font/devascii -OLD_FILES+=usr/share/groff_font/devcp1047/B -OLD_FILES+=usr/share/groff_font/devcp1047/BI -OLD_FILES+=usr/share/groff_font/devcp1047/CW -OLD_FILES+=usr/share/groff_font/devcp1047/DESC -OLD_FILES+=usr/share/groff_font/devcp1047/I -OLD_FILES+=usr/share/groff_font/devcp1047/L -OLD_FILES+=usr/share/groff_font/devcp1047/R -OLD_FILES+=usr/share/groff_font/devcp1047/S -OLD_DIRS+=usr/share/groff_font/devcp1047 -OLD_FILES+=usr/share/groff_font/devdvi/CW -OLD_FILES+=usr/share/groff_font/devdvi/CWEC -OLD_FILES+=usr/share/groff_font/devdvi/CWI -OLD_FILES+=usr/share/groff_font/devdvi/CWIEC -OLD_FILES+=usr/share/groff_font/devdvi/CWITC -OLD_FILES+=usr/share/groff_font/devdvi/CWTC -OLD_FILES+=usr/share/groff_font/devdvi/CompileFonts -OLD_FILES+=usr/share/groff_font/devdvi/DESC -OLD_FILES+=usr/share/groff_font/devdvi/EX -OLD_FILES+=usr/share/groff_font/devdvi/HB -OLD_FILES+=usr/share/groff_font/devdvi/HBEC -OLD_FILES+=usr/share/groff_font/devdvi/HBI -OLD_FILES+=usr/share/groff_font/devdvi/HBIEC -OLD_FILES+=usr/share/groff_font/devdvi/HBITC -OLD_FILES+=usr/share/groff_font/devdvi/HBTC -OLD_FILES+=usr/share/groff_font/devdvi/HI -OLD_FILES+=usr/share/groff_font/devdvi/HIEC -OLD_FILES+=usr/share/groff_font/devdvi/HITC -OLD_FILES+=usr/share/groff_font/devdvi/HR -OLD_FILES+=usr/share/groff_font/devdvi/HREC -OLD_FILES+=usr/share/groff_font/devdvi/HRTC -OLD_FILES+=usr/share/groff_font/devdvi/MI -OLD_FILES+=usr/share/groff_font/devdvi/Makefile -OLD_FILES+=usr/share/groff_font/devdvi/S -OLD_FILES+=usr/share/groff_font/devdvi/SA -OLD_FILES+=usr/share/groff_font/devdvi/SB -OLD_FILES+=usr/share/groff_font/devdvi/SC -OLD_FILES+=usr/share/groff_font/devdvi/TB -OLD_FILES+=usr/share/groff_font/devdvi/TBEC -OLD_FILES+=usr/share/groff_font/devdvi/TBI -OLD_FILES+=usr/share/groff_font/devdvi/TBIEC -OLD_FILES+=usr/share/groff_font/devdvi/TBITC -OLD_FILES+=usr/share/groff_font/devdvi/TBTC -OLD_FILES+=usr/share/groff_font/devdvi/TI -OLD_FILES+=usr/share/groff_font/devdvi/TIEC -OLD_FILES+=usr/share/groff_font/devdvi/TITC -OLD_FILES+=usr/share/groff_font/devdvi/TR -OLD_FILES+=usr/share/groff_font/devdvi/TREC -OLD_FILES+=usr/share/groff_font/devdvi/TRTC -OLD_FILES+=usr/share/groff_font/devdvi/ec.map -OLD_FILES+=usr/share/groff_font/devdvi/msam.map -OLD_FILES+=usr/share/groff_font/devdvi/msbm.map -OLD_FILES+=usr/share/groff_font/devdvi/tc.map -OLD_FILES+=usr/share/groff_font/devdvi/texb.map -OLD_FILES+=usr/share/groff_font/devdvi/texex.map -OLD_FILES+=usr/share/groff_font/devdvi/texi.map -OLD_FILES+=usr/share/groff_font/devdvi/texmi.map -OLD_FILES+=usr/share/groff_font/devdvi/texr.map -OLD_FILES+=usr/share/groff_font/devdvi/texsy.map -OLD_FILES+=usr/share/groff_font/devdvi/textex.map -OLD_FILES+=usr/share/groff_font/devdvi/textt.map -OLD_DIRS+=usr/share/groff_font/devdvi -OLD_FILES+=usr/share/groff_font/devhtml/B -OLD_FILES+=usr/share/groff_font/devhtml/BI -OLD_FILES+=usr/share/groff_font/devhtml/CB -OLD_FILES+=usr/share/groff_font/devhtml/CBI -OLD_FILES+=usr/share/groff_font/devhtml/CI -OLD_FILES+=usr/share/groff_font/devhtml/CR -OLD_FILES+=usr/share/groff_font/devhtml/DESC -OLD_FILES+=usr/share/groff_font/devhtml/I -OLD_FILES+=usr/share/groff_font/devhtml/R -OLD_FILES+=usr/share/groff_font/devhtml/S -OLD_DIRS+=usr/share/groff_font/devhtml -OLD_FILES+=usr/share/groff_font/devkoi8-r/B -OLD_FILES+=usr/share/groff_font/devkoi8-r/BI -OLD_FILES+=usr/share/groff_font/devkoi8-r/CW -OLD_FILES+=usr/share/groff_font/devkoi8-r/DESC -OLD_FILES+=usr/share/groff_font/devkoi8-r/I -OLD_FILES+=usr/share/groff_font/devkoi8-r/L -OLD_FILES+=usr/share/groff_font/devkoi8-r/R -OLD_FILES+=usr/share/groff_font/devkoi8-r/S -OLD_DIRS+=usr/share/groff_font/devkoi8-r -OLD_FILES+=usr/share/groff_font/devlatin1/B -OLD_FILES+=usr/share/groff_font/devlatin1/BI -OLD_FILES+=usr/share/groff_font/devlatin1/CW -OLD_FILES+=usr/share/groff_font/devlatin1/DESC -OLD_FILES+=usr/share/groff_font/devlatin1/I -OLD_FILES+=usr/share/groff_font/devlatin1/L -OLD_FILES+=usr/share/groff_font/devlatin1/R -OLD_FILES+=usr/share/groff_font/devlatin1/S -OLD_DIRS+=usr/share/groff_font/devlatin1 -OLD_FILES+=usr/share/groff_font/devlbp/CB -OLD_FILES+=usr/share/groff_font/devlbp/CI -OLD_FILES+=usr/share/groff_font/devlbp/CR -OLD_FILES+=usr/share/groff_font/devlbp/DESC -OLD_FILES+=usr/share/groff_font/devlbp/EB -OLD_FILES+=usr/share/groff_font/devlbp/EI -OLD_FILES+=usr/share/groff_font/devlbp/ER -OLD_FILES+=usr/share/groff_font/devlbp/HB -OLD_FILES+=usr/share/groff_font/devlbp/HBI -OLD_FILES+=usr/share/groff_font/devlbp/HI -OLD_FILES+=usr/share/groff_font/devlbp/HNB -OLD_FILES+=usr/share/groff_font/devlbp/HNBI -OLD_FILES+=usr/share/groff_font/devlbp/HNI -OLD_FILES+=usr/share/groff_font/devlbp/HNR -OLD_FILES+=usr/share/groff_font/devlbp/HR -OLD_FILES+=usr/share/groff_font/devlbp/TB -OLD_FILES+=usr/share/groff_font/devlbp/TBI -OLD_FILES+=usr/share/groff_font/devlbp/TI -OLD_FILES+=usr/share/groff_font/devlbp/TR -OLD_DIRS+=usr/share/groff_font/devlbp -OLD_FILES+=usr/share/groff_font/devlj4/AB -OLD_FILES+=usr/share/groff_font/devlj4/ABI -OLD_FILES+=usr/share/groff_font/devlj4/AI -OLD_FILES+=usr/share/groff_font/devlj4/ALBB -OLD_FILES+=usr/share/groff_font/devlj4/ALBR -OLD_FILES+=usr/share/groff_font/devlj4/AOB -OLD_FILES+=usr/share/groff_font/devlj4/AOI -OLD_FILES+=usr/share/groff_font/devlj4/AOR -OLD_FILES+=usr/share/groff_font/devlj4/AR -OLD_FILES+=usr/share/groff_font/devlj4/CB -OLD_FILES+=usr/share/groff_font/devlj4/CBI -OLD_FILES+=usr/share/groff_font/devlj4/CI -OLD_FILES+=usr/share/groff_font/devlj4/CLARENDON -OLD_FILES+=usr/share/groff_font/devlj4/CORONET -OLD_FILES+=usr/share/groff_font/devlj4/CR -OLD_FILES+=usr/share/groff_font/devlj4/DESC -OLD_FILES+=usr/share/groff_font/devlj4/GB -OLD_FILES+=usr/share/groff_font/devlj4/GBI -OLD_FILES+=usr/share/groff_font/devlj4/GI -OLD_FILES+=usr/share/groff_font/devlj4/GR -OLD_FILES+=usr/share/groff_font/devlj4/LGB -OLD_FILES+=usr/share/groff_font/devlj4/LGI -OLD_FILES+=usr/share/groff_font/devlj4/LGR -OLD_FILES+=usr/share/groff_font/devlj4/MARIGOLD -OLD_FILES+=usr/share/groff_font/devlj4/OB -OLD_FILES+=usr/share/groff_font/devlj4/OBI -OLD_FILES+=usr/share/groff_font/devlj4/OI -OLD_FILES+=usr/share/groff_font/devlj4/OR -OLD_FILES+=usr/share/groff_font/devlj4/S -OLD_FILES+=usr/share/groff_font/devlj4/SYMBOL -OLD_FILES+=usr/share/groff_font/devlj4/TB -OLD_FILES+=usr/share/groff_font/devlj4/TBI -OLD_FILES+=usr/share/groff_font/devlj4/TI -OLD_FILES+=usr/share/groff_font/devlj4/TNRB -OLD_FILES+=usr/share/groff_font/devlj4/TNRBI -OLD_FILES+=usr/share/groff_font/devlj4/TNRI -OLD_FILES+=usr/share/groff_font/devlj4/TNRR -OLD_FILES+=usr/share/groff_font/devlj4/TR -OLD_FILES+=usr/share/groff_font/devlj4/UB -OLD_FILES+=usr/share/groff_font/devlj4/UBI -OLD_FILES+=usr/share/groff_font/devlj4/UCB -OLD_FILES+=usr/share/groff_font/devlj4/UCBI -OLD_FILES+=usr/share/groff_font/devlj4/UCI -OLD_FILES+=usr/share/groff_font/devlj4/UCR -OLD_FILES+=usr/share/groff_font/devlj4/UI -OLD_FILES+=usr/share/groff_font/devlj4/UR -OLD_FILES+=usr/share/groff_font/devlj4/WINGDINGS -OLD_DIRS+=usr/share/groff_font/devlj4 -OLD_FILES+=usr/share/groff_font/devps/AB -OLD_FILES+=usr/share/groff_font/devps/ABI -OLD_FILES+=usr/share/groff_font/devps/AI -OLD_FILES+=usr/share/groff_font/devps/AR -OLD_FILES+=usr/share/groff_font/devps/BMB -OLD_FILES+=usr/share/groff_font/devps/BMBI -OLD_FILES+=usr/share/groff_font/devps/BMI -OLD_FILES+=usr/share/groff_font/devps/BMR -OLD_FILES+=usr/share/groff_font/devps/CB -OLD_FILES+=usr/share/groff_font/devps/CBI -OLD_FILES+=usr/share/groff_font/devps/CI -OLD_FILES+=usr/share/groff_font/devps/CR -OLD_FILES+=usr/share/groff_font/devps/DESC -OLD_FILES+=usr/share/groff_font/devps/EURO -OLD_FILES+=usr/share/groff_font/devps/HB -OLD_FILES+=usr/share/groff_font/devps/HBI -OLD_FILES+=usr/share/groff_font/devps/HI -OLD_FILES+=usr/share/groff_font/devps/HNB -OLD_FILES+=usr/share/groff_font/devps/HNBI -OLD_FILES+=usr/share/groff_font/devps/HNI -OLD_FILES+=usr/share/groff_font/devps/HNR -OLD_FILES+=usr/share/groff_font/devps/HR -OLD_FILES+=usr/share/groff_font/devps/Makefile -OLD_FILES+=usr/share/groff_font/devps/NB -OLD_FILES+=usr/share/groff_font/devps/NBI -OLD_FILES+=usr/share/groff_font/devps/NI -OLD_FILES+=usr/share/groff_font/devps/NR -OLD_FILES+=usr/share/groff_font/devps/PB -OLD_FILES+=usr/share/groff_font/devps/PBI -OLD_FILES+=usr/share/groff_font/devps/PI -OLD_FILES+=usr/share/groff_font/devps/PR -OLD_FILES+=usr/share/groff_font/devps/S -OLD_FILES+=usr/share/groff_font/devps/SS -OLD_FILES+=usr/share/groff_font/devps/TB -OLD_FILES+=usr/share/groff_font/devps/TBI -OLD_FILES+=usr/share/groff_font/devps/TI -OLD_FILES+=usr/share/groff_font/devps/TR -OLD_FILES+=usr/share/groff_font/devps/ZCMI -OLD_FILES+=usr/share/groff_font/devps/ZD -OLD_FILES+=usr/share/groff_font/devps/ZDR -OLD_FILES+=usr/share/groff_font/devps/afmname -OLD_FILES+=usr/share/groff_font/devps/dingbats.map -OLD_FILES+=usr/share/groff_font/devps/dingbats.rmap -OLD_FILES+=usr/share/groff_font/devps/download -OLD_FILES+=usr/share/groff_font/devps/freeeuro.pfa -OLD_FILES+=usr/share/groff_font/devps/lgreekmap -OLD_FILES+=usr/share/groff_font/devps/prologue -OLD_FILES+=usr/share/groff_font/devps/symbol.sed -OLD_FILES+=usr/share/groff_font/devps/symbolchars -OLD_FILES+=usr/share/groff_font/devps/symbolsl.afm -OLD_FILES+=usr/share/groff_font/devps/symbolsl.pfa -OLD_FILES+=usr/share/groff_font/devps/text.enc -OLD_FILES+=usr/share/groff_font/devps/textmap -OLD_FILES+=usr/share/groff_font/devps/zapfdr.pfa -OLD_DIRS+=usr/share/groff_font/devps -OLD_FILES+=usr/share/groff_font/devutf8/B -OLD_FILES+=usr/share/groff_font/devutf8/BI -OLD_FILES+=usr/share/groff_font/devutf8/CW -OLD_FILES+=usr/share/groff_font/devutf8/DESC -OLD_FILES+=usr/share/groff_font/devutf8/I -OLD_FILES+=usr/share/groff_font/devutf8/L -OLD_FILES+=usr/share/groff_font/devutf8/R -OLD_FILES+=usr/share/groff_font/devutf8/S -OLD_DIRS+=usr/share/groff_font/devutf8 -OLD_DIRS+=usr/share/groff_font -OLD_FILES+=usr/share/man/man1/addftinfo.1.gz -OLD_FILES+=usr/share/man/man1/afmtodit.1.gz -OLD_FILES+=usr/share/man/man1/eqn.1.gz -OLD_FILES+=usr/share/man/man1/grn.1.gz -OLD_FILES+=usr/share/man/man1/grodvi.1.gz -OLD_FILES+=usr/share/man/man1/groff.1.gz -OLD_FILES+=usr/share/man/man1/grog.1.gz -OLD_FILES+=usr/share/man/man1/grolbp.1.gz -OLD_FILES+=usr/share/man/man1/grolj4.1.gz -OLD_FILES+=usr/share/man/man1/grops.1.gz -OLD_FILES+=usr/share/man/man1/grotty.1.gz -OLD_FILES+=usr/share/man/man1/hpftodit.1.gz -OLD_FILES+=usr/share/man/man1/indxbib.1.gz -OLD_FILES+=usr/share/man/man1/lkbib.1.gz -OLD_FILES+=usr/share/man/man1/lookbib.1.gz -OLD_FILES+=usr/share/man/man1/mmroff.1.gz -OLD_FILES+=usr/share/man/man1/neqn.1.gz -OLD_FILES+=usr/share/man/man1/nroff.1.gz -OLD_FILES+=usr/share/man/man1/pfbtops.1.gz -OLD_FILES+=usr/share/man/man1/pic.1.gz -OLD_FILES+=usr/share/man/man1/psroff.1.gz -OLD_FILES+=usr/share/man/man1/refer.1.gz -OLD_FILES+=usr/share/man/man1/tbl.1.gz -OLD_FILES+=usr/share/man/man1/tfmtodit.1.gz -OLD_FILES+=usr/share/man/man1/troff.1.gz -OLD_FILES+=usr/share/man/man1/vgrind.1.gz -OLD_FILES+=usr/share/man/man5/groff_font.5.gz -OLD_FILES+=usr/share/man/man5/groff_out.5.gz -OLD_FILES+=usr/share/man/man5/groff_tmac.5.gz -OLD_FILES+=usr/share/man/man5/lj4_font.5.gz -OLD_FILES+=usr/share/man/man5/tmac.5.gz -OLD_FILES+=usr/share/man/man5/vgrindefs.5.gz -OLD_FILES+=usr/share/man/man7/ditroff.7.gz -OLD_FILES+=usr/share/man/man7/groff.7.gz -OLD_FILES+=usr/share/man/man7/groff_char.7.gz -OLD_FILES+=usr/share/man/man7/groff_diff.7.gz -OLD_FILES+=usr/share/man/man7/groff_man.7.gz -OLD_FILES+=usr/share/man/man7/groff_mdoc.7.gz -OLD_FILES+=usr/share/man/man7/groff_me.7.gz -OLD_FILES+=usr/share/man/man7/groff_mm.7.gz -OLD_FILES+=usr/share/man/man7/groff_mmse.7.gz -OLD_FILES+=usr/share/man/man7/groff_ms.7.gz -OLD_FILES+=usr/share/man/man7/groff_trace.7.gz -OLD_FILES+=usr/share/man/man7/groff_www.7.gz -OLD_FILES+=usr/share/man/man7/mdoc.samples.7.gz -OLD_FILES+=usr/share/man/man7/me.7.gz -OLD_FILES+=usr/share/man/man7/mm.7.gz -OLD_FILES+=usr/share/man/man7/mmse.7.gz -OLD_FILES+=usr/share/man/man7/ms.7.gz -OLD_FILES+=usr/share/man/man7/orig_me.7.gz -OLD_FILES+=usr/share/man/man7/roff.7.gz -OLD_FILES+=usr/share/me/acm.me -OLD_FILES+=usr/share/me/chars.me -OLD_FILES+=usr/share/me/deltext.me -OLD_FILES+=usr/share/me/eqn.me -OLD_FILES+=usr/share/me/float.me -OLD_FILES+=usr/share/me/footnote.me -OLD_FILES+=usr/share/me/index.me -OLD_FILES+=usr/share/me/letterhead.me -OLD_FILES+=usr/share/me/local.me -OLD_FILES+=usr/share/me/null.me -OLD_FILES+=usr/share/me/refer.me -OLD_FILES+=usr/share/me/revisions -OLD_FILES+=usr/share/me/sh.me -OLD_FILES+=usr/share/me/tbl.me -OLD_FILES+=usr/share/me/thesis.me -OLD_DIRS+=usr/share/me *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Jun 8 00:36:59 2017 Return-Path: Delivered-To: svn-src-all@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 5DCD6B94D6E; Thu, 8 Jun 2017 00:36:59 +0000 (UTC) (envelope-from bapt@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 23AE865D13; Thu, 8 Jun 2017 00:36:59 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v580awjh081230; Thu, 8 Jun 2017 00:36:58 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v580awhv081229; Thu, 8 Jun 2017 00:36:58 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706080036.v580awhv081229@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Thu, 8 Jun 2017 00:36:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319668 - head/share/man/man5 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 00:36:59 -0000 Author: bapt Date: Thu Jun 8 00:36:58 2017 New Revision: 319668 URL: https://svnweb.freebsd.org/changeset/base/319668 Log: Regenerate src.conf.5 after removal of groff Modified: head/share/man/man5/src.conf.5 Modified: head/share/man/man5/src.conf.5 ============================================================================== --- head/share/man/man5/src.conf.5 Wed Jun 7 23:42:37 2017 (r319667) +++ head/share/man/man5/src.conf.5 Thu Jun 8 00:36:58 2017 (r319668) @@ -1,6 +1,6 @@ .\" DO NOT EDIT-- this file is generated by tools/build/options/makeman. .\" $FreeBSD$ -.Dd May 30, 2017 +.Dd June 8, 2017 .Dt SRC.CONF 5 .Os .Sh NAME @@ -469,8 +469,6 @@ When set, it enforces these options: .It .Va WITHOUT_GNUCXX .It -.Va WITHOUT_GROFF -.It .Va WITHOUT_TESTS .It .Va WITHOUT_TESTS_SUPPORT @@ -769,24 +767,6 @@ as part of the base system. .It Va WITHOUT_GPL_DTC Set to build the BSD licensed version of the device tree compiler rather than the GPLed one from elinux.org. -.It Va WITHOUT_GROFF -Set to not build -.Xr groff 1 -and -.Xr vgrind 1 . -You should consider installing the textproc/groff port to not break -.Xr man 1 . -.Pp -This is a default setting on -riscv/riscv64 and riscv/riscv64sf. -.It Va WITH_GROFF -Set to build -.Xr groff 1 -and -.Xr vgrind 1 . -.Pp -This is a default setting on -amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64. .It Va WITHOUT_GSSAPI Set to not build libgssapi. .It Va WITHOUT_HAST @@ -1470,12 +1450,6 @@ riscv/riscv64 and riscv/riscv64sf. .It Va WITHOUT_TEXTPROC Set to not build programs used for text processing. -When set, it enforces these options: -.Pp -.Bl -item -compact -.It -.Va WITHOUT_GROFF -.El .It Va WITHOUT_TFTP Set to not build or install .Xr tftp 1 From owner-svn-src-all@freebsd.org Thu Jun 8 00:41:26 2017 Return-Path: Delivered-To: svn-src-all@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 F11CAB94E0F; Thu, 8 Jun 2017 00:41:26 +0000 (UTC) (envelope-from bapt@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 C04416601F; Thu, 8 Jun 2017 00:41:26 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v580fPVV082821; Thu, 8 Jun 2017 00:41:25 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v580fPAr082820; Thu, 8 Jun 2017 00:41:25 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706080041.v580fPAr082820@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Thu, 8 Jun 2017 00:41:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319669 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 00:41:27 -0000 Author: bapt Date: Thu Jun 8 00:41:25 2017 New Revision: 319669 URL: https://svnweb.freebsd.org/changeset/base/319669 Log: Fix src.conf.5 generation When makeman is generating src.conf(5) it tries to test all variation of options including WITH_DIRDEPS_BUILD. it results in an error when filemon(4) is not loaded. Export variables that are needed to prevent this behaviour. Helped by: sjg Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Thu Jun 8 00:36:58 2017 (r319668) +++ head/Makefile.inc1 Thu Jun 8 00:41:25 2017 (r319669) @@ -2576,8 +2576,8 @@ check-old: check-old-files check-old-libs check-old-di # showconfig - show build configuration. # showconfig: .PHONY - @(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1; \ - ${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1) 2>&1 | grep ^MK_ | sort -u + @(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes; \ + ${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes) 2>&1 | grep ^MK_ | sort -u .if !empty(KRNLOBJDIR) && !empty(KERNCONF) DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF}/ From owner-svn-src-all@freebsd.org Thu Jun 8 00:48:27 2017 Return-Path: Delivered-To: svn-src-all@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 40E84B950BE; Thu, 8 Jun 2017 00:48:27 +0000 (UTC) (envelope-from jpaetzel@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 0EC6B662EB; Thu, 8 Jun 2017 00:48:26 +0000 (UTC) (envelope-from jpaetzel@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v580mQ7d085205; Thu, 8 Jun 2017 00:48:26 GMT (envelope-from jpaetzel@FreeBSD.org) Received: (from jpaetzel@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v580mQKZ085204; Thu, 8 Jun 2017 00:48:26 GMT (envelope-from jpaetzel@FreeBSD.org) Message-Id: <201706080048.v580mQKZ085204@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jpaetzel set sender to jpaetzel@FreeBSD.org using -f From: Josh Paetzel Date: Thu, 8 Jun 2017 00:48:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319670 - head/contrib/smbfs/lib/smb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 00:48:27 -0000 Author: jpaetzel Date: Thu Jun 8 00:48:26 2017 New Revision: 319670 URL: https://svnweb.freebsd.org/changeset/base/319670 Log: Fix SMBFS when saved passwords are greater than 18 characters PR: 132302 Submitted by: dhorn2000@gmail.com guru@unixarea.de MFC after: 1 week Modified: head/contrib/smbfs/lib/smb/subr.c Modified: head/contrib/smbfs/lib/smb/subr.c ============================================================================== --- head/contrib/smbfs/lib/smb/subr.c Thu Jun 8 00:41:25 2017 (r319669) +++ head/contrib/smbfs/lib/smb/subr.c Thu Jun 8 00:48:26 2017 (r319670) @@ -232,6 +232,8 @@ smb_simplecrypt(char *dst, const char *src) islower(ch) ? ('a' + (ch - 'a' + 13) % 26) : ch); ch ^= pos; pos += 13; + if (pos > 256) + pos -= 256; sprintf(dst, "%02x", ch); dst += 2; } @@ -262,6 +264,8 @@ smb_simpledecrypt(char *dst, const char *src) return EINVAL; ch ^= pos; pos += 13; + if (pos > 256) + pos -= 256; if (isascii(ch)) ch = (isupper(ch) ? ('A' + (ch - 'A' + 13) % 26) : islower(ch) ? ('a' + (ch - 'a' + 13) % 26) : ch); From owner-svn-src-all@freebsd.org Thu Jun 8 01:12:29 2017 Return-Path: Delivered-To: svn-src-all@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 C6EE8B95A51; Thu, 8 Jun 2017 01:12:29 +0000 (UTC) (envelope-from rpokala@mac.com) Received: from mr11p00im-asmtp001.me.com (mr11p00im-asmtp001.me.com [17.110.69.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A6C226716A; Thu, 8 Jun 2017 01:12:29 +0000 (UTC) (envelope-from rpokala@mac.com) Received: from process-dkim-sign-daemon.mr11p00im-asmtp001.me.com by mr11p00im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.38.0 64bit (built Feb 26 2016)) id <0OR700A00ESBYU00@mr11p00im-asmtp001.me.com>; Thu, 08 Jun 2017 01:12:29 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mac.com; s=4d515a; t=1496884349; bh=oLSn8v8/h1sLIXRDNK4o5cWHZpXHvW2Kf4SIj16hpWk=; h=Date:Subject:From:To:Message-id:MIME-version:Content-type; b=kuHIetfpBnGTcOnpwB4xNl8ZLJ1KKt+nzZkTyj4rEqxQBnstrxFE0SdnxHZpmuKox 2fZsBGqwKkj4Yi7tRTn3y8pMRMuBIzj/SQGhS+jtHYXxeN/bt0lfls7PWMPRMuAESL lAX4JH8pzCo1AkS/fsYlTY5LanwfrSxm2v8roPODePLKEriaEkziN+8VIOmFfmA3IO antczUp/Noc+5r9AQTWxKqwpXir5hRjzcyy0yf9duP8nOO5LVe9U9layMyuxSVQfqB jOTS2HxIm0N5DgJPwEOr1i1lOEafGgXWG+yKUVb9GTPeBX4lyWadr43E5GDgx+RVpl OQ4glbvyNn1jw== Received: from icloud.com ([127.0.0.1]) by mr11p00im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.38.0 64bit (built Feb 26 2016)) with ESMTPSA id <0OR7009D6FCQ5120@mr11p00im-asmtp001.me.com>; Thu, 08 Jun 2017 01:12:27 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-06-07_15:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 clxscore=1034 suspectscore=20 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1701120000 definitions=main-1706080021 User-Agent: Microsoft-MacOutlook/f.21.0.170409 Date: Wed, 07 Jun 2017 18:12:25 -0700 Subject: Re: svn commit: r319664 - in head: . contrib/groff etc etc/mtree gnu/usr.bin gnu/usr.bin/groff release share share/me share/mk tools/build/mk tools/build/options usr.bin usr.bin/checknr usr.bin/colcrt From: Ravi Pokala To: Baptiste Daroussin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-id: Thread-topic: svn commit: r319664 - in head: . contrib/groff etc etc/mtree gnu/usr.bin gnu/usr.bin/groff release share share/me share/mk tools/build/mk tools/build/options usr.bin usr.bin/checknr usr.bin/colcrt References: <201706072300.v57N0YWX040515@repo.freebsd.org> In-reply-to: MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 01:12:29 -0000 Weird, lag; I found Bapt on IRC and told him this, and he fixed it w/ r319666, and this email came through almost an hour later... In any case, all good now. Thanks, Ravi (rpokala@) -----Original Message----- From: on behalf of Ravi Pokala Date: 2017-06-07, Wednesday at 16:29 To: Baptiste Daroussin , , , Subject: Re: svn commit: r319664 - in head: . contrib/groff etc etc/mtree gnu/usr.bin gnu/usr.bin/groff release share share/me share/mk tools/build/mk tools/build/options usr.bin usr.bin/checknr usr.bin/colcrt Hi Bapt, Please note that this causes `make clean' to complain about usr.bin/chknr and usr.bin/colcrt not existing: ===> usr.bin/checknr (clean) cd: /usr/home/rpokala/freebsd/clean/base/head/usr.bin/checknr: No such file or directory *** [clean_subdir_usr.bin/checknr] Error code 2 ===> usr.bin/colcrt (clean) cd: /usr/home/rpokala/freebsd/clean/base/head/usr.bin/colcrt: No such file or directory *** [clean_subdir_usr.bin/colcrt] Error code 2 Thanks, Ravi (rpokala@) -----Original Message----- From: on behalf of Baptiste Daroussin Date: 2017-06-07, Wednesday at 16:00 To: , , Subject: svn commit: r319664 - in head: . contrib/groff etc etc/mtree gnu/usr.bin gnu/usr.bin/groff release share share/me share/mk tools/build/mk tools/build/options usr.bin usr.bin/checknr usr.bin/colcrt Author: bapt Date: Wed Jun 7 23:00:34 2017 New Revision: 319664 URL: https://svnweb.freebsd.org/changeset/base/319664 Log: Remove groff from base All manpages in base are now compatible with mandoc(1), all roff documentation will be relocated in the doc tree. man(1) can now use groff from the ports tree if it needs. Also remove checknr(1) and colcrt(1) which are only useful with groff. Approved by: (no objections on the mailing lists) Deleted: head/contrib/groff/ head/etc/mtree/BSD.groff.dist head/gnu/usr.bin/groff/ head/share/me/ head/tools/build/options/WITHOUT_GROFF head/usr.bin/checknr/ head/usr.bin/colcrt/ Modified: head/ObsoleteFiles.inc head/UPDATING head/etc/Makefile head/etc/mtree/Makefile head/gnu/usr.bin/Makefile head/release/Makefile head/share/Makefile head/share/mk/src.opts.mk head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.bin/Makefile Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Wed Jun 7 21:21:14 2017 (r319663) +++ head/ObsoleteFiles.inc Wed Jun 7 23:00:34 2017 (r319664) @@ -38,6 +38,488 @@ # xargs -n1 | sort | uniq -d; # done +# 20170531: removal of groff +OLD_FILES+=usr/bin/addftinfo +OLD_FILES+=usr/bin/afmtodit +OLD_FILES+=usr/bin/checknr +OLD_FILES+=usr/bin/colcrt +OLD_FILES+=usr/bin/eqn +OLD_FILES+=usr/bin/grn +OLD_FILES+=usr/bin/grodvi +OLD_FILES+=usr/bin/groff +OLD_FILES+=usr/bin/grog +OLD_FILES+=usr/bin/grolbp +OLD_FILES+=usr/bin/grolj4 +OLD_FILES+=usr/bin/grops +OLD_FILES+=usr/bin/grotty +OLD_FILES+=usr/bin/hpftodit +OLD_FILES+=usr/bin/indxbib +OLD_FILES+=usr/bin/lkbib +OLD_FILES+=usr/bin/lookbib +OLD_FILES+=usr/bin/mmroff +OLD_FILES+=usr/bin/neqn +OLD_FILES+=usr/bin/nroff +OLD_FILES+=usr/bin/pfbtops +OLD_FILES+=usr/bin/pic +OLD_FILES+=usr/bin/post-grohtml +OLD_FILES+=usr/bin/pre-grohtml +OLD_FILES+=usr/bin/psroff +OLD_FILES+=usr/bin/refer +OLD_FILES+=usr/bin/tbl +OLD_FILES+=usr/bin/tfmtodit +OLD_FILES+=usr/bin/troff +OLD_FILES+=usr/bin/vgrind +OLD_FILES+=usr/libexec/vfontedpr +OLD_FILES+=usr/share/dict/eign +OLD_FILES+=usr/share/groff_font/devX100-12/CB +OLD_FILES+=usr/share/groff_font/devX100-12/CBI +OLD_FILES+=usr/share/groff_font/devX100-12/CI +OLD_FILES+=usr/share/groff_font/devX100-12/CR +OLD_FILES+=usr/share/groff_font/devX100-12/DESC +OLD_FILES+=usr/share/groff_font/devX100-12/HB +OLD_FILES+=usr/share/groff_font/devX100-12/HBI +OLD_FILES+=usr/share/groff_font/devX100-12/HI +OLD_FILES+=usr/share/groff_font/devX100-12/HR +OLD_FILES+=usr/share/groff_font/devX100-12/NB +OLD_FILES+=usr/share/groff_font/devX100-12/NBI +OLD_FILES+=usr/share/groff_font/devX100-12/NI +OLD_FILES+=usr/share/groff_font/devX100-12/NR +OLD_FILES+=usr/share/groff_font/devX100-12/S +OLD_FILES+=usr/share/groff_font/devX100-12/TB +OLD_FILES+=usr/share/groff_font/devX100-12/TBI +OLD_FILES+=usr/share/groff_font/devX100-12/TI +OLD_FILES+=usr/share/groff_font/devX100-12/TR +OLD_DIRS+=usr/share/groff_font/devX100-12 +OLD_FILES+=usr/share/groff_font/devX100/CB +OLD_FILES+=usr/share/groff_font/devX100/CBI +OLD_FILES+=usr/share/groff_font/devX100/CI +OLD_FILES+=usr/share/groff_font/devX100/CR +OLD_FILES+=usr/share/groff_font/devX100/DESC +OLD_FILES+=usr/share/groff_font/devX100/HB +OLD_FILES+=usr/share/groff_font/devX100/HBI +OLD_FILES+=usr/share/groff_font/devX100/HI +OLD_FILES+=usr/share/groff_font/devX100/HR +OLD_FILES+=usr/share/groff_font/devX100/NB +OLD_FILES+=usr/share/groff_font/devX100/NBI +OLD_FILES+=usr/share/groff_font/devX100/NI +OLD_FILES+=usr/share/groff_font/devX100/NR +OLD_FILES+=usr/share/groff_font/devX100/S +OLD_FILES+=usr/share/groff_font/devX100/TB +OLD_FILES+=usr/share/groff_font/devX100/TBI +OLD_FILES+=usr/share/groff_font/devX100/TI +OLD_FILES+=usr/share/groff_font/devX100/TR +OLD_DIRS+=usr/share/groff_font/devX100 +OLD_FILES+=usr/share/groff_font/devX75-12/CB +OLD_FILES+=usr/share/groff_font/devX75-12/CBI +OLD_FILES+=usr/share/groff_font/devX75-12/CI +OLD_FILES+=usr/share/groff_font/devX75-12/CR +OLD_FILES+=usr/share/groff_font/devX75-12/DESC +OLD_FILES+=usr/share/groff_font/devX75-12/HB +OLD_FILES+=usr/share/groff_font/devX75-12/HBI +OLD_FILES+=usr/share/groff_font/devX75-12/HI +OLD_FILES+=usr/share/groff_font/devX75-12/HR +OLD_FILES+=usr/share/groff_font/devX75-12/NB +OLD_FILES+=usr/share/groff_font/devX75-12/NBI +OLD_FILES+=usr/share/groff_font/devX75-12/NI +OLD_FILES+=usr/share/groff_font/devX75-12/NR +OLD_FILES+=usr/share/groff_font/devX75-12/S +OLD_FILES+=usr/share/groff_font/devX75-12/TB +OLD_FILES+=usr/share/groff_font/devX75-12/TBI +OLD_FILES+=usr/share/groff_font/devX75-12/TI +OLD_FILES+=usr/share/groff_font/devX75-12/TR +OLD_DIRS+=usr/share/groff_font/devX75-12 +OLD_FILES+=usr/share/groff_font/devX75/CB +OLD_FILES+=usr/share/groff_font/devX75/CBI +OLD_FILES+=usr/share/groff_font/devX75/CI +OLD_FILES+=usr/share/groff_font/devX75/CR +OLD_FILES+=usr/share/groff_font/devX75/DESC +OLD_FILES+=usr/share/groff_font/devX75/HB +OLD_FILES+=usr/share/groff_font/devX75/HBI +OLD_FILES+=usr/share/groff_font/devX75/HI +OLD_FILES+=usr/share/groff_font/devX75/HR +OLD_FILES+=usr/share/groff_font/devX75/NB +OLD_FILES+=usr/share/groff_font/devX75/NBI +OLD_FILES+=usr/share/groff_font/devX75/NI +OLD_FILES+=usr/share/groff_font/devX75/NR +OLD_FILES+=usr/share/groff_font/devX75/S +OLD_FILES+=usr/share/groff_font/devX75/TB +OLD_FILES+=usr/share/groff_font/devX75/TBI +OLD_FILES+=usr/share/groff_font/devX75/TI +OLD_FILES+=usr/share/groff_font/devX75/TR +OLD_DIRS+=usr/share/groff_font/devX75 +OLD_FILES+=usr/share/groff_font/devascii/B +OLD_FILES+=usr/share/groff_font/devascii/BI +OLD_FILES+=usr/share/groff_font/devascii/CW +OLD_FILES+=usr/share/groff_font/devascii/DESC +OLD_FILES+=usr/share/groff_font/devascii/I +OLD_FILES+=usr/share/groff_font/devascii/L +OLD_FILES+=usr/share/groff_font/devascii/R +OLD_FILES+=usr/share/groff_font/devascii/S +OLD_DIRS+=usr/share/groff_font/devascii +OLD_FILES+=usr/share/groff_font/devcp1047/B +OLD_FILES+=usr/share/groff_font/devcp1047/BI +OLD_FILES+=usr/share/groff_font/devcp1047/CW +OLD_FILES+=usr/share/groff_font/devcp1047/DESC +OLD_FILES+=usr/share/groff_font/devcp1047/I +OLD_FILES+=usr/share/groff_font/devcp1047/L +OLD_FILES+=usr/share/groff_font/devcp1047/R +OLD_FILES+=usr/share/groff_font/devcp1047/S +OLD_DIRS+=usr/share/groff_font/devcp1047 +OLD_FILES+=usr/share/groff_font/devdvi/CW +OLD_FILES+=usr/share/groff_font/devdvi/CWEC +OLD_FILES+=usr/share/groff_font/devdvi/CWI +OLD_FILES+=usr/share/groff_font/devdvi/CWIEC +OLD_FILES+=usr/share/groff_font/devdvi/CWITC +OLD_FILES+=usr/share/groff_font/devdvi/CWTC +OLD_FILES+=usr/share/groff_font/devdvi/CompileFonts +OLD_FILES+=usr/share/groff_font/devdvi/DESC +OLD_FILES+=usr/share/groff_font/devdvi/EX +OLD_FILES+=usr/share/groff_font/devdvi/HB +OLD_FILES+=usr/share/groff_font/devdvi/HBEC +OLD_FILES+=usr/share/groff_font/devdvi/HBI +OLD_FILES+=usr/share/groff_font/devdvi/HBIEC +OLD_FILES+=usr/share/groff_font/devdvi/HBITC +OLD_FILES+=usr/share/groff_font/devdvi/HBTC +OLD_FILES+=usr/share/groff_font/devdvi/HI +OLD_FILES+=usr/share/groff_font/devdvi/HIEC +OLD_FILES+=usr/share/groff_font/devdvi/HITC +OLD_FILES+=usr/share/groff_font/devdvi/HR +OLD_FILES+=usr/share/groff_font/devdvi/HREC +OLD_FILES+=usr/share/groff_font/devdvi/HRTC +OLD_FILES+=usr/share/groff_font/devdvi/MI +OLD_FILES+=usr/share/groff_font/devdvi/Makefile +OLD_FILES+=usr/share/groff_font/devdvi/S +OLD_FILES+=usr/share/groff_font/devdvi/SA +OLD_FILES+=usr/share/groff_font/devdvi/SB +OLD_FILES+=usr/share/groff_font/devdvi/SC +OLD_FILES+=usr/share/groff_font/devdvi/TB +OLD_FILES+=usr/share/groff_font/devdvi/TBEC +OLD_FILES+=usr/share/groff_font/devdvi/TBI +OLD_FILES+=usr/share/groff_font/devdvi/TBIEC +OLD_FILES+=usr/share/groff_font/devdvi/TBITC +OLD_FILES+=usr/share/groff_font/devdvi/TBTC +OLD_FILES+=usr/share/groff_font/devdvi/TI +OLD_FILES+=usr/share/groff_font/devdvi/TIEC +OLD_FILES+=usr/share/groff_font/devdvi/TITC +OLD_FILES+=usr/share/groff_font/devdvi/TR +OLD_FILES+=usr/share/groff_font/devdvi/TREC +OLD_FILES+=usr/share/groff_font/devdvi/TRTC +OLD_FILES+=usr/share/groff_font/devdvi/ec.map +OLD_FILES+=usr/share/groff_font/devdvi/msam.map +OLD_FILES+=usr/share/groff_font/devdvi/msbm.map +OLD_FILES+=usr/share/groff_font/devdvi/tc.map +OLD_FILES+=usr/share/groff_font/devdvi/texb.map +OLD_FILES+=usr/share/groff_font/devdvi/texex.map +OLD_FILES+=usr/share/groff_font/devdvi/texi.map +OLD_FILES+=usr/share/groff_font/devdvi/texmi.map +OLD_FILES+=usr/share/groff_font/devdvi/texr.map +OLD_FILES+=usr/share/groff_font/devdvi/texsy.map +OLD_FILES+=usr/share/groff_font/devdvi/textex.map +OLD_FILES+=usr/share/groff_font/devdvi/textt.map +OLD_DIRS+=usr/share/groff_font/devdvi +OLD_FILES+=usr/share/groff_font/devhtml/B +OLD_FILES+=usr/share/groff_font/devhtml/BI +OLD_FILES+=usr/share/groff_font/devhtml/CB +OLD_FILES+=usr/share/groff_font/devhtml/CBI +OLD_FILES+=usr/share/groff_font/devhtml/CI +OLD_FILES+=usr/share/groff_font/devhtml/CR +OLD_FILES+=usr/share/groff_font/devhtml/DESC +OLD_FILES+=usr/share/groff_font/devhtml/I +OLD_FILES+=usr/share/groff_font/devhtml/R +OLD_FILES+=usr/share/groff_font/devhtml/S +OLD_DIRS+=usr/share/groff_font/devhtml +OLD_FILES+=usr/share/groff_font/devkoi8-r/B +OLD_FILES+=usr/share/groff_font/devkoi8-r/BI +OLD_FILES+=usr/share/groff_font/devkoi8-r/CW +OLD_FILES+=usr/share/groff_font/devkoi8-r/DESC +OLD_FILES+=usr/share/groff_font/devkoi8-r/I +OLD_FILES+=usr/share/groff_font/devkoi8-r/L +OLD_FILES+=usr/share/groff_font/devkoi8-r/R +OLD_FILES+=usr/share/groff_font/devkoi8-r/S +OLD_DIRS+=usr/share/groff_font/devkoi8-r +OLD_FILES+=usr/share/groff_font/devlatin1/B +OLD_FILES+=usr/share/groff_font/devlatin1/BI +OLD_FILES+=usr/share/groff_font/devlatin1/CW +OLD_FILES+=usr/share/groff_font/devlatin1/DESC +OLD_FILES+=usr/share/groff_font/devlatin1/I +OLD_FILES+=usr/share/groff_font/devlatin1/L +OLD_FILES+=usr/share/groff_font/devlatin1/R +OLD_FILES+=usr/share/groff_font/devlatin1/S +OLD_DIRS+=usr/share/groff_font/devlatin1 +OLD_FILES+=usr/share/groff_font/devlbp/CB +OLD_FILES+=usr/share/groff_font/devlbp/CI +OLD_FILES+=usr/share/groff_font/devlbp/CR +OLD_FILES+=usr/share/groff_font/devlbp/DESC +OLD_FILES+=usr/share/groff_font/devlbp/EB +OLD_FILES+=usr/share/groff_font/devlbp/EI +OLD_FILES+=usr/share/groff_font/devlbp/ER +OLD_FILES+=usr/share/groff_font/devlbp/HB +OLD_FILES+=usr/share/groff_font/devlbp/HBI +OLD_FILES+=usr/share/groff_font/devlbp/HI +OLD_FILES+=usr/share/groff_font/devlbp/HNB +OLD_FILES+=usr/share/groff_font/devlbp/HNBI +OLD_FILES+=usr/share/groff_font/devlbp/HNI +OLD_FILES+=usr/share/groff_font/devlbp/HNR +OLD_FILES+=usr/share/groff_font/devlbp/HR +OLD_FILES+=usr/share/groff_font/devlbp/TB +OLD_FILES+=usr/share/groff_font/devlbp/TBI +OLD_FILES+=usr/share/groff_font/devlbp/TI +OLD_FILES+=usr/share/groff_font/devlbp/TR +OLD_DIRS+=usr/share/groff_font/devlbp +OLD_FILES+=usr/share/groff_font/devlj4/AB +OLD_FILES+=usr/share/groff_font/devlj4/ABI +OLD_FILES+=usr/share/groff_font/devlj4/AI +OLD_FILES+=usr/share/groff_font/devlj4/ALBB +OLD_FILES+=usr/share/groff_font/devlj4/ALBR +OLD_FILES+=usr/share/groff_font/devlj4/AOB +OLD_FILES+=usr/share/groff_font/devlj4/AOI +OLD_FILES+=usr/share/groff_font/devlj4/AOR +OLD_FILES+=usr/share/groff_font/devlj4/AR +OLD_FILES+=usr/share/groff_font/devlj4/CB +OLD_FILES+=usr/share/groff_font/devlj4/CBI +OLD_FILES+=usr/share/groff_font/devlj4/CI +OLD_FILES+=usr/share/groff_font/devlj4/CLARENDON +OLD_FILES+=usr/share/groff_font/devlj4/CORONET +OLD_FILES+=usr/share/groff_font/devlj4/CR +OLD_FILES+=usr/share/groff_font/devlj4/DESC +OLD_FILES+=usr/share/groff_font/devlj4/GB +OLD_FILES+=usr/share/groff_font/devlj4/GBI +OLD_FILES+=usr/share/groff_font/devlj4/GI +OLD_FILES+=usr/share/groff_font/devlj4/GR +OLD_FILES+=usr/share/groff_font/devlj4/LGB +OLD_FILES+=usr/share/groff_font/devlj4/LGI +OLD_FILES+=usr/share/groff_font/devlj4/LGR +OLD_FILES+=usr/share/groff_font/devlj4/MARIGOLD +OLD_FILES+=usr/share/groff_font/devlj4/OB +OLD_FILES+=usr/share/groff_font/devlj4/OBI +OLD_FILES+=usr/share/groff_font/devlj4/OI +OLD_FILES+=usr/share/groff_font/devlj4/OR +OLD_FILES+=usr/share/groff_font/devlj4/S +OLD_FILES+=usr/share/groff_font/devlj4/SYMBOL +OLD_FILES+=usr/share/groff_font/devlj4/TB +OLD_FILES+=usr/share/groff_font/devlj4/TBI +OLD_FILES+=usr/share/groff_font/devlj4/TI +OLD_FILES+=usr/share/groff_font/devlj4/TNRB +OLD_FILES+=usr/share/groff_font/devlj4/TNRBI +OLD_FILES+=usr/share/groff_font/devlj4/TNRI +OLD_FILES+=usr/share/groff_font/devlj4/TNRR +OLD_FILES+=usr/share/groff_font/devlj4/TR +OLD_FILES+=usr/share/groff_font/devlj4/UB +OLD_FILES+=usr/share/groff_font/devlj4/UBI +OLD_FILES+=usr/share/groff_font/devlj4/UCB +OLD_FILES+=usr/share/groff_font/devlj4/UCBI +OLD_FILES+=usr/share/groff_font/devlj4/UCI +OLD_FILES+=usr/share/groff_font/devlj4/UCR +OLD_FILES+=usr/share/groff_font/devlj4/UI +OLD_FILES+=usr/share/groff_font/devlj4/UR +OLD_FILES+=usr/share/groff_font/devlj4/WINGDINGS +OLD_DIRS+=usr/share/groff_font/devlj4 +OLD_FILES+=usr/share/groff_font/devps/AB +OLD_FILES+=usr/share/groff_font/devps/ABI +OLD_FILES+=usr/share/groff_font/devps/AI +OLD_FILES+=usr/share/groff_font/devps/AR +OLD_FILES+=usr/share/groff_font/devps/BMB +OLD_FILES+=usr/share/groff_font/devps/BMBI +OLD_FILES+=usr/share/groff_font/devps/BMI +OLD_FILES+=usr/share/groff_font/devps/BMR +OLD_FILES+=usr/share/groff_font/devps/CB +OLD_FILES+=usr/share/groff_font/devps/CBI +OLD_FILES+=usr/share/groff_font/devps/CI +OLD_FILES+=usr/share/groff_font/devps/CR +OLD_FILES+=usr/share/groff_font/devps/DESC +OLD_FILES+=usr/share/groff_font/devps/EURO +OLD_FILES+=usr/share/groff_font/devps/HB +OLD_FILES+=usr/share/groff_font/devps/HBI +OLD_FILES+=usr/share/groff_font/devps/HI +OLD_FILES+=usr/share/groff_font/devps/HNB +OLD_FILES+=usr/share/groff_font/devps/HNBI +OLD_FILES+=usr/share/groff_font/devps/HNI +OLD_FILES+=usr/share/groff_font/devps/HNR +OLD_FILES+=usr/share/groff_font/devps/HR +OLD_FILES+=usr/share/groff_font/devps/Makefile +OLD_FILES+=usr/share/groff_font/devps/NB +OLD_FILES+=usr/share/groff_font/devps/NBI +OLD_FILES+=usr/share/groff_font/devps/NI +OLD_FILES+=usr/share/groff_font/devps/NR +OLD_FILES+=usr/share/groff_font/devps/PB +OLD_FILES+=usr/share/groff_font/devps/PBI +OLD_FILES+=usr/share/groff_font/devps/PI +OLD_FILES+=usr/share/groff_font/devps/PR +OLD_FILES+=usr/share/groff_font/devps/S +OLD_FILES+=usr/share/groff_font/devps/SS +OLD_FILES+=usr/share/groff_font/devps/TB +OLD_FILES+=usr/share/groff_font/devps/TBI +OLD_FILES+=usr/share/groff_font/devps/TI +OLD_FILES+=usr/share/groff_font/devps/TR +OLD_FILES+=usr/share/groff_font/devps/ZCMI +OLD_FILES+=usr/share/groff_font/devps/ZD +OLD_FILES+=usr/share/groff_font/devps/ZDR +OLD_FILES+=usr/share/groff_font/devps/afmname +OLD_FILES+=usr/share/groff_font/devps/dingbats.map +OLD_FILES+=usr/share/groff_font/devps/dingbats.rmap +OLD_FILES+=usr/share/groff_font/devps/download +OLD_FILES+=usr/share/groff_font/devps/freeeuro.pfa +OLD_FILES+=usr/share/groff_font/devps/lgreekmap +OLD_FILES+=usr/share/groff_font/devps/prologue +OLD_FILES+=usr/share/groff_font/devps/symbol.sed +OLD_FILES+=usr/share/groff_font/devps/symbolchars +OLD_FILES+=usr/share/groff_font/devps/symbolsl.afm +OLD_FILES+=usr/share/groff_font/devps/symbolsl.pfa +OLD_FILES+=usr/share/groff_font/devps/text.enc +OLD_FILES+=usr/share/groff_font/devps/textmap +OLD_FILES+=usr/share/groff_font/devps/zapfdr.pfa +OLD_DIRS+=usr/share/groff_font/devps +OLD_FILES+=usr/share/groff_font/devutf8/B +OLD_FILES+=usr/share/groff_font/devutf8/BI +OLD_FILES+=usr/share/groff_font/devutf8/CW +OLD_FILES+=usr/share/groff_font/devutf8/DESC +OLD_FILES+=usr/share/groff_font/devutf8/I +OLD_FILES+=usr/share/groff_font/devutf8/L +OLD_FILES+=usr/share/groff_font/devutf8/R +OLD_FILES+=usr/share/groff_font/devutf8/S +OLD_DIRS+=usr/share/groff_font/devutf8 +OLD_DIRS+=usr/share/groff_font +OLD_FILES+=usr/share/man/man1/addftinfo.1.gz +OLD_FILES+=usr/share/man/man1/afmtodit.1.gz +OLD_FILES+=usr/share/man/man1/checknr.1.gz +OLD_FILES+=usr/share/man/man1/colcrt.1.gz +OLD_FILES+=usr/share/man/man1/eqn.1.gz +OLD_FILES+=usr/share/man/man1/grn.1.gz +OLD_FILES+=usr/share/man/man1/grodvi.1.gz +OLD_FILES+=usr/share/man/man1/groff.1.gz +OLD_FILES+=usr/share/man/man1/grog.1.gz +OLD_FILES+=usr/share/man/man1/grolbp.1.gz +OLD_FILES+=usr/share/man/man1/grolj4.1.gz +OLD_FILES+=usr/share/man/man1/grops.1.gz +OLD_FILES+=usr/share/man/man1/grotty.1.gz +OLD_FILES+=usr/share/man/man1/hpftodit.1.gz +OLD_FILES+=usr/share/man/man1/indxbib.1.gz +OLD_FILES+=usr/share/man/man1/lkbib.1.gz +OLD_FILES+=usr/share/man/man1/lookbib.1.gz +OLD_FILES+=usr/share/man/man1/mmroff.1.gz +OLD_FILES+=usr/share/man/man1/neqn.1.gz +OLD_FILES+=usr/share/man/man1/nroff.1.gz +OLD_FILES+=usr/share/man/man1/pfbtops.1.gz +OLD_FILES+=usr/share/man/man1/pic.1.gz +OLD_FILES+=usr/share/man/man1/psroff.1.gz +OLD_FILES+=usr/share/man/man1/refer.1.gz +OLD_FILES+=usr/share/man/man1/tbl.1.gz +OLD_FILES+=usr/share/man/man1/tfmtodit.1.gz +OLD_FILES+=usr/share/man/man1/troff.1.gz +OLD_FILES+=usr/share/man/man1/vgrind.1.gz +OLD_FILES+=usr/share/man/man5/groff_font.5.gz +OLD_FILES+=usr/share/man/man5/groff_out.5.gz +OLD_FILES+=usr/share/man/man5/groff_tmac.5.gz +OLD_FILES+=usr/share/man/man5/lj4_font.5.gz +OLD_FILES+=usr/share/man/man5/tmac.5.gz +OLD_FILES+=usr/share/man/man5/vgrindefs.5.gz +OLD_FILES+=usr/share/man/man7/ditroff.7.gz +OLD_FILES+=usr/share/man/man7/groff.7.gz +OLD_FILES+=usr/share/man/man7/groff_char.7.gz +OLD_FILES+=usr/share/man/man7/groff_diff.7.gz +OLD_FILES+=usr/share/man/man7/groff_man.7.gz +OLD_FILES+=usr/share/man/man7/groff_mdoc.7.gz +OLD_FILES+=usr/share/man/man7/groff_me.7.gz +OLD_FILES+=usr/share/man/man7/groff_mm.7.gz +OLD_FILES+=usr/share/man/man7/groff_mmse.7.gz +OLD_FILES+=usr/share/man/man7/groff_ms.7.gz +OLD_FILES+=usr/share/man/man7/groff_trace.7.gz +OLD_FILES+=usr/share/man/man7/groff_www.7.gz +OLD_FILES+=usr/share/man/man7/mdoc.samples.7.gz +OLD_FILES+=usr/share/man/man7/me.7.gz +OLD_FILES+=usr/share/man/man7/mm.7.gz +OLD_FILES+=usr/share/man/man7/mmse.7.gz +OLD_FILES+=usr/share/man/man7/ms.7.gz +OLD_FILES+=usr/share/man/man7/orig_me.7.gz +OLD_FILES+=usr/share/man/man7/roff.7.gz +OLD_FILES+=usr/share/me/acm.me +OLD_FILES+=usr/share/me/chars.me +OLD_FILES+=usr/share/me/deltext.me +OLD_FILES+=usr/share/me/eqn.me +OLD_FILES+=usr/share/me/float.me +OLD_FILES+=usr/share/me/footnote.me +OLD_FILES+=usr/share/me/index.me +OLD_FILES+=usr/share/me/letterhead.me +OLD_FILES+=usr/share/me/local.me +OLD_FILES+=usr/share/me/null.me +OLD_FILES+=usr/share/me/refer.me +OLD_FILES+=usr/share/me/revisions +OLD_FILES+=usr/share/me/sh.me +OLD_FILES+=usr/share/me/tbl.me +OLD_FILES+=usr/share/me/thesis.me +OLD_DIRS+=usr/share/me +OLD_FILES+=usr/share/misc/vgrindefs +OLD_FILES+=usr/share/misc/vgrindefs.db +OLD_FILES+=usr/share/tmac/X.tmac +OLD_FILES+=usr/share/tmac/Xps.tmac +OLD_FILES+=usr/share/tmac/a4.tmac +OLD_FILES+=usr/share/tmac/an-old.tmac +OLD_FILES+=usr/share/tmac/an.tmac +OLD_FILES+=usr/share/tmac/andoc.tmac +OLD_FILES+=usr/share/tmac/composite.tmac +OLD_FILES+=usr/share/tmac/cp1047.tmac +OLD_FILES+=usr/share/tmac/devtag.tmac +OLD_FILES+=usr/share/tmac/doc.tmac +OLD_FILES+=usr/share/tmac/dvi.tmac +OLD_FILES+=usr/share/tmac/e.tmac +OLD_FILES+=usr/share/tmac/ec.tmac +OLD_FILES+=usr/share/tmac/eqnrc +OLD_FILES+=usr/share/tmac/europs.tmac +OLD_FILES+=usr/share/tmac/html-end.tmac +OLD_FILES+=usr/share/tmac/html.tmac +OLD_FILES+=usr/share/tmac/hyphen.ru +OLD_FILES+=usr/share/tmac/hyphen.us +OLD_FILES+=usr/share/tmac/hyphenex.us +OLD_FILES+=usr/share/tmac/koi8-r.tmac +OLD_FILES+=usr/share/tmac/latin1.tmac +OLD_FILES+=usr/share/tmac/latin2.tmac +OLD_FILES+=usr/share/tmac/latin9.tmac +OLD_FILES+=usr/share/tmac/lbp.tmac +OLD_FILES+=usr/share/tmac/lj4.tmac +OLD_FILES+=usr/share/tmac/m.tmac +OLD_FILES+=usr/share/tmac/man.local +OLD_FILES+=usr/share/tmac/man.tmac +OLD_FILES+=usr/share/tmac/mandoc.tmac +OLD_FILES+=usr/share/tmac/mdoc.local +OLD_FILES+=usr/share/tmac/mdoc.tmac +OLD_FILES+=usr/share/tmac/mdoc/doc-common +OLD_FILES+=usr/share/tmac/mdoc/doc-ditroff +OLD_FILES+=usr/share/tmac/mdoc/doc-nroff +OLD_FILES+=usr/share/tmac/mdoc/doc-syms +OLD_FILES+=usr/share/tmac/mdoc/fr.ISO8859-1 +OLD_FILES+=usr/share/tmac/mdoc/ru.KOI8-R +OLD_DIRS+=usr/share/tmac/mdoc +OLD_FILES+=usr/share/tmac/me.tmac +OLD_FILES+=usr/share/tmac/mm/0.MT +OLD_FILES+=usr/share/tmac/mm/4.MT +OLD_FILES+=usr/share/tmac/mm/5.MT +OLD_FILES+=usr/share/tmac/mm/locale +OLD_FILES+=usr/share/tmac/mm/mm.tmac +OLD_FILES+=usr/share/tmac/mm/mmse.tmac +OLD_FILES+=usr/share/tmac/mm/ms.cov +OLD_FILES+=usr/share/tmac/mm/se_locale +OLD_FILES+=usr/share/tmac/mm/se_ms.cov +OLD_DIRS+=usr/share/tmac/mm +OLD_FILES+=usr/share/tmac/ms.tmac +OLD_FILES+=usr/share/tmac/mse.tmac +OLD_FILES+=usr/share/tmac/papersize.tmac +OLD_FILES+=usr/share/tmac/pic.tmac +OLD_FILES+=usr/share/tmac/ps.tmac +OLD_FILES+=usr/share/tmac/psatk.tmac +OLD_FILES+=usr/share/tmac/psold.tmac +OLD_FILES+=usr/share/tmac/pspic.tmac +OLD_FILES+=usr/share/tmac/s.tmac +OLD_FILES+=usr/share/tmac/safer.tmac +OLD_FILES+=usr/share/tmac/tmac.orig_me +OLD_FILES+=usr/share/tmac/tmac.vgrind +OLD_FILES+=usr/share/tmac/trace.tmac +OLD_FILES+=usr/share/tmac/troffrc +OLD_FILES+=usr/share/tmac/troffrc-end +OLD_FILES+=usr/share/tmac/tty-char.tmac +OLD_FILES+=usr/share/tmac/tty.tmac +OLD_FILES+=usr/share/tmac/unicode.tmac +OLD_FILES+=usr/share/tmac/www.tmac +OLD_DIRS+=usr/share/tmac # 20170607: remove incorrect atf_check(1) manpage link OLD_FILES+=usr/share/man/man1/atf_check.1.gz # 20170601: remove stale manpage Modified: head/UPDATING ============================================================================== --- head/UPDATING Wed Jun 7 21:21:14 2017 (r319663) +++ head/UPDATING Wed Jun 7 23:00:34 2017 (r319664) @@ -76,6 +76,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: For further comments/feedback, poke adrian@ . +20170531: + The GNU roff toolchain has been removed from base. To render manpages + which are not supported by mandoc(1), man(1) can fallback on GNU roff + from ports (and recommends to install it). + To render roff(7) documents, consider using GNU roff from ports or the + heirloom doctools roff toolchain from ports via pkg install groff or + via pkg install heirloom-doctools. + 20170523: The "ino64" 64-bit inode project has been committed, which extends a number of types to 64 bits. Upgrading in place requires care and Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/etc/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -360,9 +360,6 @@ MTREES= mtree/BSD.root.dist / \ mtree/BSD.usr.dist /usr \ mtree/BSD.include.dist /usr/include \ mtree/BSD.debug.dist /usr/lib -.if ${MK_GROFF} != "no" -MTREES+= mtree/BSD.groff.dist /usr -.endif .if ${MK_LIB32} != "no" MTREES+= mtree/BSD.lib32.dist /usr MTREES+= mtree/BSD.lib32.dist /usr/lib/debug/usr Modified: head/etc/mtree/Makefile ============================================================================== --- head/etc/mtree/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/etc/mtree/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -15,9 +15,6 @@ FILES= ${_BSD.debug.dist} \ .if ${MK_DEBUG_FILES} != "no" _BSD.debug.dist= BSD.debug.dist .endif -.if ${MK_GROFF} != "no" -_BSD.groff.dist= BSD.groff.dist -.endif .if ${MK_LIB32} != "no" _BSD.lib32.dist= BSD.lib32.dist .endif Modified: head/gnu/usr.bin/Makefile ============================================================================== --- head/gnu/usr.bin/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/gnu/usr.bin/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -15,7 +15,6 @@ SUBDIR.${MK_GNU_GREP}+= grep SUBDIR.${MK_GDB}+= gdb SUBDIR_DEPEND_gdb= binutils SUBDIR.${MK_GPL_DTC}+= dtc -SUBDIR.${MK_GROFF}+= groff SUBDIR.${MK_TESTS}+= tests SUBDIR_PARALLEL= Modified: head/release/Makefile ============================================================================== --- head/release/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/release/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -202,7 +202,7 @@ bootonly: packagesystem mkdir -p ${.TARGET} cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \ DESTDIR=${.OBJDIR}/${.TARGET} MK_AMD=no MK_AT=no \ - MK_GAMES=no MK_GROFF=no \ + MK_GAMES=no \ MK_INSTALLLIB=no MK_LIB32=no MK_MAIL=no \ MK_NCP=no MK_TOOLCHAIN=no MK_PROFILE=no \ MK_RESCUE=no MK_DICT=no \ Modified: head/share/Makefile ============================================================================== --- head/share/Makefile Wed Jun 7 21:21:14 2017 (r319663) +++ head/share/Makefile Wed Jun 7 23:00:34 2017 (r319664) @@ -49,10 +49,6 @@ _dict= dict _examples= examples .endif -.if ${MK_GROFF} != "no" -_me= me -.endif - .if ${MK_ICONV} != "no" _i18n= i18n .endif Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Wed Jun 7 21:21:14 2017 (r319663) +++ head/share/mk/src.opts.mk Wed Jun 7 23:00:34 2017 (r319664) @@ -357,7 +357,6 @@ MK_KERBEROS:= no .if ${MK_CXX} == "no" MK_CLANG:= no -MK_GROFF:= no MK_GNUCXX:= no MK_TESTS:= no .endif @@ -388,10 +387,6 @@ MK_AUTHPF:= no .if ${MK_TESTS} == "no" MK_DTRACE_TESTS:= no -.endif - -.if ${MK_TEXTPROC} == "no" -MK_GROFF:= no .endif .if ${MK_CROSS_COMPILER} == "no" Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Wed Jun 7 21:21:14 2017 (r319663) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Wed Jun 7 23:00:34 2017 (r319664) @@ -2494,487 +2494,6 @@ OLD_FILES+=usr/share/man/man1/zgrep.1.gz .endif .endif -# Also includes vgrind(1) -.if ${MK_GROFF} == no -OLD_FILES+=usr/bin/addftinfo -OLD_FILES+=usr/bin/afmtodit -OLD_FILES+=usr/bin/eqn -OLD_FILES+=usr/bin/grn -OLD_FILES+=usr/bin/grodvi -OLD_FILES+=usr/bin/groff -OLD_FILES+=usr/bin/grog -OLD_FILES+=usr/bin/grolbp -OLD_FILES+=usr/bin/grolj4 -OLD_FILES+=usr/bin/grops -OLD_FILES+=usr/bin/grotty -OLD_FILES+=usr/bin/hpftodit -OLD_FILES+=usr/bin/indxbib -OLD_FILES+=usr/bin/lkbib -OLD_FILES+=usr/bin/lookbib -OLD_FILES+=usr/bin/mmroff -OLD_FILES+=usr/bin/neqn -OLD_FILES+=usr/bin/nroff -OLD_FILES+=usr/bin/pfbtops -OLD_FILES+=usr/bin/pic -OLD_FILES+=usr/bin/post-grohtml -OLD_FILES+=usr/bin/pre-grohtml -OLD_FILES+=usr/bin/psroff -OLD_FILES+=usr/bin/refer -OLD_FILES+=usr/bin/tbl -OLD_FILES+=usr/bin/tfmtodit -OLD_FILES+=usr/bin/troff -OLD_FILES+=usr/bin/vgrind -OLD_FILES+=usr/libexec/vfontedpr -OLD_FILES+=usr/share/dict/eign -OLD_FILES+=usr/share/groff_font/devX100-12/CB -OLD_FILES+=usr/share/groff_font/devX100-12/CBI -OLD_FILES+=usr/share/groff_font/devX100-12/CI -OLD_FILES+=usr/share/groff_font/devX100-12/CR -OLD_FILES+=usr/share/groff_font/devX100-12/DESC -OLD_FILES+=usr/share/groff_font/devX100-12/HB -OLD_FILES+=usr/share/groff_font/devX100-12/HBI -OLD_FILES+=usr/share/groff_font/devX100-12/HI -OLD_FILES+=usr/share/groff_font/devX100-12/HR -OLD_FILES+=usr/share/groff_font/devX100-12/NB -OLD_FILES+=usr/share/groff_font/devX100-12/NBI -OLD_FILES+=usr/share/groff_font/devX100-12/NI -OLD_FILES+=usr/share/groff_font/devX100-12/NR -OLD_FILES+=usr/share/groff_font/devX100-12/S -OLD_FILES+=usr/share/groff_font/devX100-12/TB -OLD_FILES+=usr/share/groff_font/devX100-12/TBI -OLD_FILES+=usr/share/groff_font/devX100-12/TI -OLD_FILES+=usr/share/groff_font/devX100-12/TR -OLD_DIRS+=usr/share/groff_font/devX100-12 -OLD_FILES+=usr/share/groff_font/devX100/CB -OLD_FILES+=usr/share/groff_font/devX100/CBI -OLD_FILES+=usr/share/groff_font/devX100/CI -OLD_FILES+=usr/share/groff_font/devX100/CR -OLD_FILES+=usr/share/groff_font/devX100/DESC -OLD_FILES+=usr/share/groff_font/devX100/HB -OLD_FILES+=usr/share/groff_font/devX100/HBI -OLD_FILES+=usr/share/groff_font/devX100/HI -OLD_FILES+=usr/share/groff_font/devX100/HR -OLD_FILES+=usr/share/groff_font/devX100/NB -OLD_FILES+=usr/share/groff_font/devX100/NBI -OLD_FILES+=usr/share/groff_font/devX100/NI -OLD_FILES+=usr/share/groff_font/devX100/NR -OLD_FILES+=usr/share/groff_font/devX100/S -OLD_FILES+=usr/share/groff_font/devX100/TB -OLD_FILES+=usr/share/groff_font/devX100/TBI -OLD_FILES+=usr/share/groff_font/devX100/TI -OLD_FILES+=usr/share/groff_font/devX100/TR -OLD_DIRS+=usr/share/groff_font/devX100 -OLD_FILES+=usr/share/groff_font/devX75-12/CB -OLD_FILES+=usr/share/groff_font/devX75-12/CBI -OLD_FILES+=usr/share/groff_font/devX75-12/CI -OLD_FILES+=usr/share/groff_font/devX75-12/CR -OLD_FILES+=usr/share/groff_font/devX75-12/DESC -OLD_FILES+=usr/share/groff_font/devX75-12/HB -OLD_FILES+=usr/share/groff_font/devX75-12/HBI -OLD_FILES+=usr/share/groff_font/devX75-12/HI -OLD_FILES+=usr/share/groff_font/devX75-12/HR -OLD_FILES+=usr/share/groff_font/devX75-12/NB -OLD_FILES+=usr/share/groff_font/devX75-12/NBI -OLD_FILES+=usr/share/groff_font/devX75-12/NI -OLD_FILES+=usr/share/groff_font/devX75-12/NR -OLD_FILES+=usr/share/groff_font/devX75-12/S -OLD_FILES+=usr/share/groff_font/devX75-12/TB -OLD_FILES+=usr/share/groff_font/devX75-12/TBI -OLD_FILES+=usr/share/groff_font/devX75-12/TI -OLD_FILES+=usr/share/groff_font/devX75-12/TR -OLD_DIRS+=usr/share/groff_font/devX75-12 -OLD_FILES+=usr/share/groff_font/devX75/CB -OLD_FILES+=usr/share/groff_font/devX75/CBI -OLD_FILES+=usr/share/groff_font/devX75/CI -OLD_FILES+=usr/share/groff_font/devX75/CR -OLD_FILES+=usr/share/groff_font/devX75/DESC -OLD_FILES+=usr/share/groff_font/devX75/HB -OLD_FILES+=usr/share/groff_font/devX75/HBI -OLD_FILES+=usr/share/groff_font/devX75/HI -OLD_FILES+=usr/share/groff_font/devX75/HR -OLD_FILES+=usr/share/groff_font/devX75/NB -OLD_FILES+=usr/share/groff_font/devX75/NBI -OLD_FILES+=usr/share/groff_font/devX75/NI -OLD_FILES+=usr/share/groff_font/devX75/NR -OLD_FILES+=usr/share/groff_font/devX75/S -OLD_FILES+=usr/share/groff_font/devX75/TB -OLD_FILES+=usr/share/groff_font/devX75/TBI -OLD_FILES+=usr/share/groff_font/devX75/TI -OLD_FILES+=usr/share/groff_font/devX75/TR -OLD_DIRS+=usr/share/groff_font/devX75 -OLD_FILES+=usr/share/groff_font/devascii/B -OLD_FILES+=usr/share/groff_font/devascii/BI -OLD_FILES+=usr/share/groff_font/devascii/CW -OLD_FILES+=usr/share/groff_font/devascii/DESC -OLD_FILES+=usr/share/groff_font/devascii/I -OLD_FILES+=usr/share/groff_font/devascii/L -OLD_FILES+=usr/share/groff_font/devascii/R -OLD_FILES+=usr/share/groff_font/devascii/S -OLD_DIRS+=usr/share/groff_font/devascii -OLD_FILES+=usr/share/groff_font/devcp1047/B -OLD_FILES+=usr/share/groff_font/devcp1047/BI -OLD_FILES+=usr/share/groff_font/devcp1047/CW -OLD_FILES+=usr/share/groff_font/devcp1047/DESC -OLD_FILES+=usr/share/groff_font/devcp1047/I -OLD_FILES+=usr/share/groff_font/devcp1047/L -OLD_FILES+=usr/share/groff_font/devcp1047/R -OLD_FILES+=usr/share/groff_font/devcp1047/S -OLD_DIRS+=usr/share/groff_font/devcp1047 -OLD_FILES+=usr/share/groff_font/devdvi/CW -OLD_FILES+=usr/share/groff_font/devdvi/CWEC -OLD_FILES+=usr/share/groff_font/devdvi/CWI -OLD_FILES+=usr/share/groff_font/devdvi/CWIEC -OLD_FILES+=usr/share/groff_font/devdvi/CWITC -OLD_FILES+=usr/share/groff_font/devdvi/CWTC -OLD_FILES+=usr/share/groff_font/devdvi/CompileFonts -OLD_FILES+=usr/share/groff_font/devdvi/DESC -OLD_FILES+=usr/share/groff_font/devdvi/EX -OLD_FILES+=usr/share/groff_font/devdvi/HB -OLD_FILES+=usr/share/groff_font/devdvi/HBEC -OLD_FILES+=usr/share/groff_font/devdvi/HBI -OLD_FILES+=usr/share/groff_font/devdvi/HBIEC -OLD_FILES+=usr/share/groff_font/devdvi/HBITC -OLD_FILES+=usr/share/groff_font/devdvi/HBTC -OLD_FILES+=usr/share/groff_font/devdvi/HI -OLD_FILES+=usr/share/groff_font/devdvi/HIEC -OLD_FILES+=usr/share/groff_font/devdvi/HITC -OLD_FILES+=usr/share/groff_font/devdvi/HR -OLD_FILES+=usr/share/groff_font/devdvi/HREC -OLD_FILES+=usr/share/groff_font/devdvi/HRTC -OLD_FILES+=usr/share/groff_font/devdvi/MI -OLD_FILES+=usr/share/groff_font/devdvi/Makefile -OLD_FILES+=usr/share/groff_font/devdvi/S -OLD_FILES+=usr/share/groff_font/devdvi/SA -OLD_FILES+=usr/share/groff_font/devdvi/SB -OLD_FILES+=usr/share/groff_font/devdvi/SC -OLD_FILES+=usr/share/groff_font/devdvi/TB -OLD_FILES+=usr/share/groff_font/devdvi/TBEC -OLD_FILES+=usr/share/groff_font/devdvi/TBI -OLD_FILES+=usr/share/groff_font/devdvi/TBIEC -OLD_FILES+=usr/share/groff_font/devdvi/TBITC -OLD_FILES+=usr/share/groff_font/devdvi/TBTC -OLD_FILES+=usr/share/groff_font/devdvi/TI -OLD_FILES+=usr/share/groff_font/devdvi/TIEC -OLD_FILES+=usr/share/groff_font/devdvi/TITC -OLD_FILES+=usr/share/groff_font/devdvi/TR -OLD_FILES+=usr/share/groff_font/devdvi/TREC -OLD_FILES+=usr/share/groff_font/devdvi/TRTC -OLD_FILES+=usr/share/groff_font/devdvi/ec.map -OLD_FILES+=usr/share/groff_font/devdvi/msam.map -OLD_FILES+=usr/share/groff_font/devdvi/msbm.map -OLD_FILES+=usr/share/groff_font/devdvi/tc.map -OLD_FILES+=usr/share/groff_font/devdvi/texb.map -OLD_FILES+=usr/share/groff_font/devdvi/texex.map -OLD_FILES+=usr/share/groff_font/devdvi/texi.map -OLD_FILES+=usr/share/groff_font/devdvi/texmi.map -OLD_FILES+=usr/share/groff_font/devdvi/texr.map -OLD_FILES+=usr/share/groff_font/devdvi/texsy.map -OLD_FILES+=usr/share/groff_font/devdvi/textex.map -OLD_FILES+=usr/share/groff_font/devdvi/textt.map -OLD_DIRS+=usr/share/groff_font/devdvi -OLD_FILES+=usr/share/groff_font/devhtml/B -OLD_FILES+=usr/share/groff_font/devhtml/BI -OLD_FILES+=usr/share/groff_font/devhtml/CB -OLD_FILES+=usr/share/groff_font/devhtml/CBI -OLD_FILES+=usr/share/groff_font/devhtml/CI -OLD_FILES+=usr/share/groff_font/devhtml/CR -OLD_FILES+=usr/share/groff_font/devhtml/DESC -OLD_FILES+=usr/share/groff_font/devhtml/I -OLD_FILES+=usr/share/groff_font/devhtml/R -OLD_FILES+=usr/share/groff_font/devhtml/S -OLD_DIRS+=usr/share/groff_font/devhtml -OLD_FILES+=usr/share/groff_font/devkoi8-r/B -OLD_FILES+=usr/share/groff_font/devkoi8-r/BI -OLD_FILES+=usr/share/groff_font/devkoi8-r/CW -OLD_FILES+=usr/share/groff_font/devkoi8-r/DESC -OLD_FILES+=usr/share/groff_font/devkoi8-r/I -OLD_FILES+=usr/share/groff_font/devkoi8-r/L -OLD_FILES+=usr/share/groff_font/devkoi8-r/R -OLD_FILES+=usr/share/groff_font/devkoi8-r/S -OLD_DIRS+=usr/share/groff_font/devkoi8-r -OLD_FILES+=usr/share/groff_font/devlatin1/B -OLD_FILES+=usr/share/groff_font/devlatin1/BI -OLD_FILES+=usr/share/groff_font/devlatin1/CW -OLD_FILES+=usr/share/groff_font/devlatin1/DESC -OLD_FILES+=usr/share/groff_font/devlatin1/I -OLD_FILES+=usr/share/groff_font/devlatin1/L -OLD_FILES+=usr/share/groff_font/devlatin1/R -OLD_FILES+=usr/share/groff_font/devlatin1/S -OLD_DIRS+=usr/share/groff_font/devlatin1 -OLD_FILES+=usr/share/groff_font/devlbp/CB -OLD_FILES+=usr/share/groff_font/devlbp/CI -OLD_FILES+=usr/share/groff_font/devlbp/CR -OLD_FILES+=usr/share/groff_font/devlbp/DESC -OLD_FILES+=usr/share/groff_font/devlbp/EB -OLD_FILES+=usr/share/groff_font/devlbp/EI -OLD_FILES+=usr/share/groff_font/devlbp/ER -OLD_FILES+=usr/share/groff_font/devlbp/HB -OLD_FILES+=usr/share/groff_font/devlbp/HBI -OLD_FILES+=usr/share/groff_font/devlbp/HI -OLD_FILES+=usr/share/groff_font/devlbp/HNB -OLD_FILES+=usr/share/groff_font/devlbp/HNBI -OLD_FILES+=usr/share/groff_font/devlbp/HNI -OLD_FILES+=usr/share/groff_font/devlbp/HNR -OLD_FILES+=usr/share/groff_font/devlbp/HR -OLD_FILES+=usr/share/groff_font/devlbp/TB -OLD_FILES+=usr/share/groff_font/devlbp/TBI -OLD_FILES+=usr/share/groff_font/devlbp/TI -OLD_FILES+=usr/share/groff_font/devlbp/TR -OLD_DIRS+=usr/share/groff_font/devlbp -OLD_FILES+=usr/share/groff_font/devlj4/AB -OLD_FILES+=usr/share/groff_font/devlj4/ABI -OLD_FILES+=usr/share/groff_font/devlj4/AI -OLD_FILES+=usr/share/groff_font/devlj4/ALBB -OLD_FILES+=usr/share/groff_font/devlj4/ALBR -OLD_FILES+=usr/share/groff_font/devlj4/AOB -OLD_FILES+=usr/share/groff_font/devlj4/AOI -OLD_FILES+=usr/share/groff_font/devlj4/AOR -OLD_FILES+=usr/share/groff_font/devlj4/AR -OLD_FILES+=usr/share/groff_font/devlj4/CB -OLD_FILES+=usr/share/groff_font/devlj4/CBI -OLD_FILES+=usr/share/groff_font/devlj4/CI -OLD_FILES+=usr/share/groff_font/devlj4/CLARENDON -OLD_FILES+=usr/share/groff_font/devlj4/CORONET -OLD_FILES+=usr/share/groff_font/devlj4/CR -OLD_FILES+=usr/share/groff_font/devlj4/DESC -OLD_FILES+=usr/share/groff_font/devlj4/GB -OLD_FILES+=usr/share/groff_font/devlj4/GBI -OLD_FILES+=usr/share/groff_font/devlj4/GI -OLD_FILES+=usr/share/groff_font/devlj4/GR -OLD_FILES+=usr/share/groff_font/devlj4/LGB -OLD_FILES+=usr/share/groff_font/devlj4/LGI -OLD_FILES+=usr/share/groff_font/devlj4/LGR -OLD_FILES+=usr/share/groff_font/devlj4/MARIGOLD -OLD_FILES+=usr/share/groff_font/devlj4/OB -OLD_FILES+=usr/share/groff_font/devlj4/OBI -OLD_FILES+=usr/share/groff_font/devlj4/OI -OLD_FILES+=usr/share/groff_font/devlj4/OR -OLD_FILES+=usr/share/groff_font/devlj4/S -OLD_FILES+=usr/share/groff_font/devlj4/SYMBOL -OLD_FILES+=usr/share/groff_font/devlj4/TB -OLD_FILES+=usr/share/groff_font/devlj4/TBI -OLD_FILES+=usr/share/groff_font/devlj4/TI -OLD_FILES+=usr/share/groff_font/devlj4/TNRB -OLD_FILES+=usr/share/groff_font/devlj4/TNRBI -OLD_FILES+=usr/share/groff_font/devlj4/TNRI -OLD_FILES+=usr/share/groff_font/devlj4/TNRR -OLD_FILES+=usr/share/groff_font/devlj4/TR -OLD_FILES+=usr/share/groff_font/devlj4/UB -OLD_FILES+=usr/share/groff_font/devlj4/UBI -OLD_FILES+=usr/share/groff_font/devlj4/UCB -OLD_FILES+=usr/share/groff_font/devlj4/UCBI -OLD_FILES+=usr/share/groff_font/devlj4/UCI -OLD_FILES+=usr/share/groff_font/devlj4/UCR -OLD_FILES+=usr/share/groff_font/devlj4/UI -OLD_FILES+=usr/share/groff_font/devlj4/UR -OLD_FILES+=usr/share/groff_font/devlj4/WINGDINGS -OLD_DIRS+=usr/share/groff_font/devlj4 -OLD_FILES+=usr/share/groff_font/devps/AB -OLD_FILES+=usr/share/groff_font/devps/ABI -OLD_FILES+=usr/share/groff_font/devps/AI -OLD_FILES+=usr/share/groff_font/devps/AR -OLD_FILES+=usr/share/groff_font/devps/BMB -OLD_FILES+=usr/share/groff_font/devps/BMBI -OLD_FILES+=usr/share/groff_font/devps/BMI -OLD_FILES+=usr/share/groff_font/devps/BMR -OLD_FILES+=usr/share/groff_font/devps/CB -OLD_FILES+=usr/share/groff_font/devps/CBI -OLD_FILES+=usr/share/groff_font/devps/CI -OLD_FILES+=usr/share/groff_font/devps/CR -OLD_FILES+=usr/share/groff_font/devps/DESC -OLD_FILES+=usr/share/groff_font/devps/EURO -OLD_FILES+=usr/share/groff_font/devps/HB -OLD_FILES+=usr/share/groff_font/devps/HBI -OLD_FILES+=usr/share/groff_font/devps/HI -OLD_FILES+=usr/share/groff_font/devps/HNB -OLD_FILES+=usr/share/groff_font/devps/HNBI -OLD_FILES+=usr/share/groff_font/devps/HNI -OLD_FILES+=usr/share/groff_font/devps/HNR -OLD_FILES+=usr/share/groff_font/devps/HR -OLD_FILES+=usr/share/groff_font/devps/Makefile -OLD_FILES+=usr/share/groff_font/devps/NB -OLD_FILES+=usr/share/groff_font/devps/NBI -OLD_FILES+=usr/share/groff_font/devps/NI -OLD_FILES+=usr/share/groff_font/devps/NR -OLD_FILES+=usr/share/groff_font/devps/PB -OLD_FILES+=usr/share/groff_font/devps/PBI -OLD_FILES+=usr/share/groff_font/devps/PI -OLD_FILES+=usr/share/groff_font/devps/PR -OLD_FILES+=usr/share/groff_font/devps/S -OLD_FILES+=usr/share/groff_font/devps/SS -OLD_FILES+=usr/share/groff_font/devps/TB -OLD_FILES+=usr/share/groff_font/devps/TBI -OLD_FILES+=usr/share/groff_font/devps/TI -OLD_FILES+=usr/share/groff_font/devps/TR -OLD_FILES+=usr/share/groff_font/devps/ZCMI -OLD_FILES+=usr/share/groff_font/devps/ZD -OLD_FILES+=usr/share/groff_font/devps/ZDR -OLD_FILES+=usr/share/groff_font/devps/afmname -OLD_FILES+=usr/share/groff_font/devps/dingbats.map -OLD_FILES+=usr/share/groff_font/devps/dingbats.rmap -OLD_FILES+=usr/share/groff_font/devps/download -OLD_FILES+=usr/share/groff_font/devps/freeeuro.pfa -OLD_FILES+=usr/share/groff_font/devps/lgreekmap -OLD_FILES+=usr/share/groff_font/devps/prologue -OLD_FILES+=usr/share/groff_font/devps/symbol.sed -OLD_FILES+=usr/share/groff_font/devps/symbolchars -OLD_FILES+=usr/share/groff_font/devps/symbolsl.afm -OLD_FILES+=usr/share/groff_font/devps/symbolsl.pfa -OLD_FILES+=usr/share/groff_font/devps/text.enc -OLD_FILES+=usr/share/groff_font/devps/textmap -OLD_FILES+=usr/share/groff_font/devps/zapfdr.pfa -OLD_DIRS+=usr/share/groff_font/devps -OLD_FILES+=usr/share/groff_font/devutf8/B -OLD_FILES+=usr/share/groff_font/devutf8/BI -OLD_FILES+=usr/share/groff_font/devutf8/CW -OLD_FILES+=usr/share/groff_font/devutf8/DESC -OLD_FILES+=usr/share/groff_font/devutf8/I -OLD_FILES+=usr/share/groff_font/devutf8/L -OLD_FILES+=usr/share/groff_font/devutf8/R -OLD_FILES+=usr/share/groff_font/devutf8/S -OLD_DIRS+=usr/share/groff_font/devutf8 -OLD_DIRS+=usr/share/groff_font -OLD_FILES+=usr/share/man/man1/addftinfo.1.gz -OLD_FILES+=usr/share/man/man1/afmtodit.1.gz -OLD_FILES+=usr/share/man/man1/eqn.1.gz -OLD_FILES+=usr/share/man/man1/grn.1.gz -OLD_FILES+=usr/share/man/man1/grodvi.1.gz -OLD_FILES+=usr/share/man/man1/groff.1.gz -OLD_FILES+=usr/share/man/man1/grog.1.gz -OLD_FILES+=usr/share/man/man1/grolbp.1.gz -OLD_FILES+=usr/share/man/man1/grolj4.1.gz -OLD_FILES+=usr/share/man/man1/grops.1.gz -OLD_FILES+=usr/share/man/man1/grotty.1.gz -OLD_FILES+=usr/share/man/man1/hpftodit.1.gz -OLD_FILES+=usr/share/man/man1/indxbib.1.gz -OLD_FILES+=usr/share/man/man1/lkbib.1.gz -OLD_FILES+=usr/share/man/man1/lookbib.1.gz -OLD_FILES+=usr/share/man/man1/mmroff.1.gz -OLD_FILES+=usr/share/man/man1/neqn.1.gz -OLD_FILES+=usr/share/man/man1/nroff.1.gz -OLD_FILES+=usr/share/man/man1/pfbtops.1.gz -OLD_FILES+=usr/share/man/man1/pic.1.gz -OLD_FILES+=usr/share/man/man1/psroff.1.gz -OLD_FILES+=usr/share/man/man1/refer.1.gz -OLD_FILES+=usr/share/man/man1/tbl.1.gz -OLD_FILES+=usr/share/man/man1/tfmtodit.1.gz -OLD_FILES+=usr/share/man/man1/troff.1.gz -OLD_FILES+=usr/share/man/man1/vgrind.1.gz -OLD_FILES+=usr/share/man/man5/groff_font.5.gz -OLD_FILES+=usr/share/man/man5/groff_out.5.gz -OLD_FILES+=usr/share/man/man5/groff_tmac.5.gz -OLD_FILES+=usr/share/man/man5/lj4_font.5.gz -OLD_FILES+=usr/share/man/man5/tmac.5.gz -OLD_FILES+=usr/share/man/man5/vgrindefs.5.gz -OLD_FILES+=usr/share/man/man7/ditroff.7.gz -OLD_FILES+=usr/share/man/man7/groff.7.gz -OLD_FILES+=usr/share/man/man7/groff_char.7.gz -OLD_FILES+=usr/share/man/man7/groff_diff.7.gz -OLD_FILES+=usr/share/man/man7/groff_man.7.gz -OLD_FILES+=usr/share/man/man7/groff_mdoc.7.gz -OLD_FILES+=usr/share/man/man7/groff_me.7.gz -OLD_FILES+=usr/share/man/man7/groff_mm.7.gz -OLD_FILES+=usr/share/man/man7/groff_mmse.7.gz -OLD_FILES+=usr/share/man/man7/groff_ms.7.gz -OLD_FILES+=usr/share/man/man7/groff_trace.7.gz -OLD_FILES+=usr/share/man/man7/groff_www.7.gz -OLD_FILES+=usr/share/man/man7/mdoc.samples.7.gz -OLD_FILES+=usr/share/man/man7/me.7.gz -OLD_FILES+=usr/share/man/man7/mm.7.gz -OLD_FILES+=usr/share/man/man7/mmse.7.gz -OLD_FILES+=usr/share/man/man7/ms.7.gz -OLD_FILES+=usr/share/man/man7/orig_me.7.gz -OLD_FILES+=usr/share/man/man7/roff.7.gz -OLD_FILES+=usr/share/me/acm.me -OLD_FILES+=usr/share/me/chars.me -OLD_FILES+=usr/share/me/deltext.me -OLD_FILES+=usr/share/me/eqn.me -OLD_FILES+=usr/share/me/float.me -OLD_FILES+=usr/share/me/footnote.me -OLD_FILES+=usr/share/me/index.me -OLD_FILES+=usr/share/me/letterhead.me -OLD_FILES+=usr/share/me/local.me -OLD_FILES+=usr/share/me/null.me -OLD_FILES+=usr/share/me/refer.me -OLD_FILES+=usr/share/me/revisions -OLD_FILES+=usr/share/me/sh.me -OLD_FILES+=usr/share/me/tbl.me -OLD_FILES+=usr/share/me/thesis.me -OLD_DIRS+=usr/share/me *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Jun 8 01:29:25 2017 Return-Path: Delivered-To: svn-src-all@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 E558DBD3CD2; Thu, 8 Jun 2017 01:29:25 +0000 (UTC) (envelope-from allanjude@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 B59BF67D9B; Thu, 8 Jun 2017 01:29:25 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v581TOAa001739; Thu, 8 Jun 2017 01:29:24 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v581TOdc001738; Thu, 8 Jun 2017 01:29:24 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201706080129.v581TOdc001738@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Thu, 8 Jun 2017 01:29:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319671 - head/cddl/contrib/opensolaris/cmd/zpool X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 01:29:26 -0000 Author: allanjude Date: Thu Jun 8 01:29:24 2017 New Revision: 319671 URL: https://svnweb.freebsd.org/changeset/base/319671 Log: SHA-512 and Skein have been supported by the boot loader for some time. Submitted by: lifanov Reviewed by: bcr Sponsored by: BSDCan Dev Summit Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Thu Jun 8 00:48:26 2017 (r319670) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Thu Jun 8 01:29:24 2017 (r319671) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 31, 2016 +.Dd June 7, 2017 .Dt ZPOOL-FEATURES 7 .Os .Sh NAME @@ -493,10 +493,6 @@ and will return to being once all filesystems that have ever had their checksum set to .Sy sha512 are destroyed. -.Pp -Booting off of a pools utilizing SHA-512/256 is -.Em NOT -yet supported. .It Sy skein .Bl -column "READ\-ONLY COMPATIBLE" "org.illumos:skein" .It GUID Ta org.illumos:skein @@ -539,12 +535,6 @@ and will return to being once all filesystems that have ever had their checksum set to .Sy skein are destroyed. -.Pp -Booting off of pools using -.Sy skein -is -.Em NOT -supported. .El .Sh SEE ALSO .Xr zpool 8 From owner-svn-src-all@freebsd.org Thu Jun 8 01:39:18 2017 Return-Path: Delivered-To: svn-src-all@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 66460BEE3AE; Thu, 8 Jun 2017 01:39:18 +0000 (UTC) (envelope-from allanjude@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 31D30684EB; Thu, 8 Jun 2017 01:39:18 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v581dHvY005766; Thu, 8 Jun 2017 01:39:17 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v581dH9C005765; Thu, 8 Jun 2017 01:39:17 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201706080139.v581dH9C005765@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Thu, 8 Jun 2017 01:39:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319672 - head/cddl/contrib/opensolaris/cmd/zpool X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 01:39:18 -0000 Author: allanjude Date: Thu Jun 8 01:39:17 2017 New Revision: 319672 URL: https://svnweb.freebsd.org/changeset/base/319672 Log: New sentences start on new lines, fix two violations Reviewed by: bcr Sponsored by: BSDCan Dev Summit Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Thu Jun 8 01:29:24 2017 (r319671) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Thu Jun 8 01:39:17 2017 (r319672) @@ -48,13 +48,15 @@ to send file systems between pools. Since most features can be enabled independently of each other the on\-disk format of the pool is specified by the set of all features marked as .Sy active -on the pool. If the pool was created by another software version this set may +on the pool. +If the pool was created by another software version this set may include unsupported features. .Ss Identifying features Every feature has a guid of the form .Sy com.example:feature_name . The reverse DNS name ensures that the feature's guid is unique across all ZFS -implementations. When unsupported features are encountered on a pool they will +implementations. +When unsupported features are encountered on a pool they will be identified by their guids. Refer to the documentation for the ZFS implementation that created the pool for information about those features. @@ -283,7 +285,8 @@ configuration. .El .Pp This features allows ZFS to maintain more information about how free space -is organized within the pool. If this feature is +is organized within the pool. +If this feature is .Sy enabled , ZFS will set this feature to @@ -337,7 +340,8 @@ All bookmarks in the pool can be listed by running .El .Pp Once this feature is enabled ZFS records the transaction group number -in which new features are enabled. This has no user-visible impact, +in which new features are enabled. +This has no user-visible impact, but other features may depend on this feature. .Pp This feature becomes From owner-svn-src-all@freebsd.org Thu Jun 8 01:41:21 2017 Return-Path: Delivered-To: svn-src-all@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 BF970BEE639; Thu, 8 Jun 2017 01:41:21 +0000 (UTC) (envelope-from bapt@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 9BC796871C; Thu, 8 Jun 2017 01:41:21 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v581fKwU005895; Thu, 8 Jun 2017 01:41:20 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v581fKp5005893; Thu, 8 Jun 2017 01:41:20 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706080141.v581fKp5005893@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Thu, 8 Jun 2017 01:41:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319673 - in head: . etc/mtree X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 01:41:21 -0000 Author: bapt Date: Thu Jun 8 01:41:20 2017 New Revision: 319673 URL: https://svnweb.freebsd.org/changeset/base/319673 Log: Remove directories for the roff documentations which is built and installed anymore Reported by: trasz Modified: head/ObsoleteFiles.inc head/etc/mtree/BSD.usr.dist Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Thu Jun 8 01:39:17 2017 (r319672) +++ head/ObsoleteFiles.inc Thu Jun 8 01:41:20 2017 (r319673) @@ -549,60 +549,109 @@ OLD_FILES+=usr/share/doc/papers/newvm.ascii.gz OLD_FILES+=usr/share/doc/papers/releng.ascii.gz OLD_FILES+=usr/share/doc/papers/sysperf.ascii.gz OLD_FILES+=usr/share/doc/papers/timecounter.ascii.gz +OLD_DIRS+=usr/share/doc/papers OLD_FILES+=usr/share/doc/psd/01.cacm/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/01.cacm OLD_FILES+=usr/share/doc/psd/02.implement/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/02.implement OLD_FILES+=usr/share/doc/psd/03.iosys/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/03.iosys OLD_FILES+=usr/share/doc/psd/04.uprog/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/04.uprog OLD_FILES+=usr/share/doc/psd/05.sysman/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/05.sysman OLD_FILES+=usr/share/doc/psd/06.Clang/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/06.Clang OLD_FILES+=usr/share/doc/psd/12.make/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/12.make OLD_FILES+=usr/share/doc/psd/13.rcs/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/13.rcs OLD_FILES+=usr/share/doc/psd/13.rcs/rcs_func.ascii.gz +OLD_DIRS+=usr/share/doc/psd/13.rcs OLD_FILES+=usr/share/doc/psd/15.yacc/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/15.yacc OLD_FILES+=usr/share/doc/psd/16.lex/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/16.lex OLD_FILES+=usr/share/doc/psd/17.m4/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/17.m4 OLD_FILES+=usr/share/doc/psd/18.gprof/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/18.gprof OLD_FILES+=usr/share/doc/psd/20.ipctut/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/20.ipctut OLD_FILES+=usr/share/doc/psd/21.ipc/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/21.ipc OLD_FILES+=usr/share/doc/psd/22.rpcgen/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/22.rpcgen OLD_FILES+=usr/share/doc/psd/23.rpc/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/23.rpc OLD_FILES+=usr/share/doc/psd/24.xdr/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/24.xdr OLD_FILES+=usr/share/doc/psd/25.xdrrfc/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/25.xdrrfc OLD_FILES+=usr/share/doc/psd/26.rpcrfc/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/26.rpcrfc OLD_FILES+=usr/share/doc/psd/27.nfsrfc/paper.ascii.gz +OLD_DIRS+=usr/share/doc/psd/27.nfsrfc OLD_FILES+=usr/share/doc/psd/Title.ascii.gz OLD_FILES+=usr/share/doc/psd/contents.ascii.gz +OLD_DIRS+=usr/share/doc/psd/ OLD_FILES+=usr/share/doc/smm/01.setup/paper.ascii.gz +OLD_DIRS+=usr/share/doc/smm OLD_FILES+=usr/share/doc/smm/02.config/paper.ascii.gz +OLD_DIRS+=usr/share/doc/smm/02.config OLD_FILES+=usr/share/doc/smm/03.fsck/paper.ascii.gz +OLD_DIRS+=usr/share/doc/smm/03.fsck OLD_FILES+=usr/share/doc/smm/04.quotas/paper.ascii.gz +OLD_DIRS+=usr/share/doc/smm/04.quotas OLD_FILES+=usr/share/doc/smm/05.fastfs/paper.ascii.gz +OLD_DIRS+=usr/share/doc/smm/05.fastfs OLD_FILES+=usr/share/doc/smm/06.nfs/paper.ascii.gz +OLD_DIRS+=usr/share/doc/smm/06.nfs OLD_FILES+=usr/share/doc/smm/07.lpd/paper.ascii.gz +OLD_DIRS+=usr/share/doc/smm/07.lpd OLD_FILES+=usr/share/doc/smm/08.sendmailop/paper.ascii.gz +OLD_DIRS+=usr/share/doc/smm/08.sendmailop OLD_FILES+=usr/share/doc/smm/11.timedop/paper.ascii.gz +OLD_DIRS+=usr/share/doc/smm/11.timedop OLD_FILES+=usr/share/doc/smm/12.timed/paper.ascii.gz +OLD_DIRS+=usr/share/doc/smm/12.timed OLD_FILES+=usr/share/doc/smm/18.net/paper.ascii.gz +OLD_DIRS+=usr/share/doc/smm/18.net OLD_FILES+=usr/share/doc/smm/Title.ascii.gz OLD_FILES+=usr/share/doc/smm/contents.ascii.gz +OLD_DIRS+=usr/share/doc/smm OLD_FILES+=usr/share/doc/usd/04.csh/paper.ascii.gz +OLD_DIRS+=usr/share/doc/usd/04.csh OLD_FILES+=usr/share/doc/usd/05.dc/paper.ascii.gz +OLD_DIRS+=usr/share/doc/usd/05.dc OLD_FILES+=usr/share/doc/usd/06.bc/paper.ascii.gz +OLD_DIRS+=usr/share/doc/usd/06.bc OLD_FILES+=usr/share/doc/usd/07.mail/paper.ascii.gz +OLD_DIRS+=usr/share/doc/usd/07.mail OLD_FILES+=usr/share/doc/usd/10.exref/paper.ascii.gz OLD_FILES+=usr/share/doc/usd/10.exref/summary.ascii.gz +OLD_DIRS+=usr/share/doc/usd/10.exref OLD_FILES+=usr/share/doc/usd/11.edit/paper.ascii.gz +OLD_DIRS+=usr/share/doc/usd/11.edit OLD_FILES+=usr/share/doc/usd/12.vi/paper.ascii.gz OLD_FILES+=usr/share/doc/usd/12.vi/summary.ascii.gz OLD_FILES+=usr/share/doc/usd/12.vi/viapwh.ascii.gz +OLD_DIRS+=usr/share/doc/usd/12.vi OLD_FILES+=usr/share/doc/usd/13.viref/paper.ascii.gz +OLD_DIRS+=usr/share/doc/usd/13.viref OLD_FILES+=usr/share/doc/usd/18.msdiffs/paper.ascii.gz +OLD_DIRS+=usr/share/doc/usd/18.msdiffs OLD_FILES+=usr/share/doc/usd/19.memacros/paper.ascii.gz +OLD_DIRS+=usr/share/doc/usd/19.memacros OLD_FILES+=usr/share/doc/usd/20.meref/paper.ascii.gz +OLD_DIRS+=usr/share/doc/usd/20.meref OLD_FILES+=usr/share/doc/usd/21.troff/paper.ascii.gz +OLD_DIRS+=usr/share/doc/usd/21.troff OLD_FILES+=usr/share/doc/usd/22.trofftut/paper.ascii.gz +OLD_DIRS+=usr/share/doc/usd/22.trofftut OLD_FILES+=usr/share/doc/usd/Title.ascii.gz OLD_FILES+=usr/share/doc/usd/contents.ascii.gz +OLD_DIRS+=usr/share/doc/usd # 20170523: 64-bit inode support, library version bumps OLD_LIBS+=lib/libzfs.so.2 OLD_LIBS+=usr/lib/libarchive.so.6 Modified: head/etc/mtree/BSD.usr.dist ============================================================================== --- head/etc/mtree/BSD.usr.dist Thu Jun 8 01:39:17 2017 (r319672) +++ head/etc/mtree/BSD.usr.dist Thu Jun 8 01:41:20 2017 (r319673) @@ -213,101 +213,7 @@ scripts .. .. - papers - .. pjdfstest - .. - psd - 01.cacm - .. - 02.implement - .. - 03.iosys - .. - 04.uprog - .. - 05.sysman - .. - 06.Clang - .. - 12.make - .. - 15.yacc - .. - 16.lex - .. - 17.m4 - .. - 18.gprof - .. - 20.ipctut - .. - 21.ipc - .. - 22.rpcgen - .. - 23.rpc - .. - 24.xdr - .. - 25.xdrrfc - .. - 26.rpcrfc - .. - 27.nfsrfc - .. - .. - smm - 01.setup - .. - 02.config - .. - 03.fsck - .. - 04.quotas - .. - 05.fastfs - .. - 06.nfs - .. - 07.lpd - .. - 08.sendmailop - .. - 11.timedop - .. - 12.timed - .. - 18.net - .. - .. - usd - 04.csh - .. - 05.dc - .. - 06.bc - .. - 07.mail - .. - 10.exref - .. - 11.edit - .. - 12.vi - .. - 13.viref - .. - 18.msdiffs - .. - 19.memacros - .. - 20.meref - .. - 21.troff - .. - 22.trofftut - .. .. .. dtrace From owner-svn-src-all@freebsd.org Thu Jun 8 01:42:34 2017 Return-Path: Delivered-To: svn-src-all@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 4DC54BEE755; Thu, 8 Jun 2017 01:42:34 +0000 (UTC) (envelope-from ultima@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 1E2DD68A75; Thu, 8 Jun 2017 01:42:34 +0000 (UTC) (envelope-from ultima@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v581gX8B009658; Thu, 8 Jun 2017 01:42:33 GMT (envelope-from ultima@FreeBSD.org) Received: (from ultima@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v581gXGV009656; Thu, 8 Jun 2017 01:42:33 GMT (envelope-from ultima@FreeBSD.org) Message-Id: <201706080142.v581gXGV009656@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ultima set sender to ultima@FreeBSD.org using -f From: Richard Gallamore Date: Thu, 8 Jun 2017 01:42:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319674 - in head: share/misc usr.bin/calendar/calendars X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 01:42:34 -0000 Author: ultima (ports committer) Date: Thu Jun 8 01:42:32 2017 New Revision: 319674 URL: https://svnweb.freebsd.org/changeset/base/319674 Log: Add myself (ultima) as a new port committer. Reviewed by: matthew (mentor), lifanov (mentor) Approved by: matthew (mentor), lifanov (mentor) Differential Revision: https://reviews.freebsd.org/D11089 Modified: head/share/misc/committers-ports.dot head/usr.bin/calendar/calendars/calendar.freebsd Modified: head/share/misc/committers-ports.dot ============================================================================== --- head/share/misc/committers-ports.dot Thu Jun 8 01:41:20 2017 (r319673) +++ head/share/misc/committers-ports.dot Thu Jun 8 01:42:32 2017 (r319674) @@ -238,6 +238,7 @@ trasz [label="Edward Tomasz Napierala\ntrasz@FreeBSD.o trhodes [label="Tom Rhodes\ntrhodes@FreeBSD.org\n2004/07/06"] trociny [label="Mikolaj Golub\ntrociny@FreeBSD.org\n2013/10/17"] tz [label="Torsten Zuehlsdorff\ntz@FreeBSD.org\n2016/06/04"] +ultima [label="Richard Gallamore\nultima@FreeBSD.org\n2017/06/07"] uqs [label="Ulrich Spoerlein\nuqs@FreeBSD.org\n2012/01/19"] vd [label="Vasil Dimov\nvd@FreeBSD.org\n2006/01/19"] vg [label="Veniamin Gvozdikov\nvg@FreeBSD.org\n2013/06/11"] @@ -463,6 +464,8 @@ lawrance -> itetcu leeym -> clsung +lifanov -> ultima + lioux -> pat lme -> tobik @@ -495,6 +498,7 @@ mat -> tobik mat -> woodsb02 matthew -> lifanov +matthew -> ultima mezz -> tmclaugh Modified: head/usr.bin/calendar/calendars/calendar.freebsd ============================================================================== --- head/usr.bin/calendar/calendars/calendar.freebsd Thu Jun 8 01:41:20 2017 (r319673) +++ head/usr.bin/calendar/calendars/calendar.freebsd Thu Jun 8 01:42:32 2017 (r319674) @@ -141,6 +141,7 @@ 04/22 Joerg Wunsch born in Dresden, Sachsen, Germany, 1962 04/22 Jun Kuriyama born in Matsue, Shimane, Japan, 1973 04/22 Jakub Klama born in Blachownia, Silesia, Poland, 1989 +04/25 Richard Gallamore born in Kissimmee, Florida, United States, 1987 04/26 Rene Ladan born in Geldrop, the Netherlands, 1980 04/29 Adam Weinberger born in Berkeley, California, United States, 1980 04/29 Eric Anholt born in Portland, Oregon, United States, 1983 From owner-svn-src-all@freebsd.org Thu Jun 8 02:44:36 2017 Return-Path: Delivered-To: svn-src-all@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 0C5A9BF093E; Thu, 8 Jun 2017 02:44:36 +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 CE7B96ECC9; Thu, 8 Jun 2017 02:44:35 +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 v582iZWX034531; Thu, 8 Jun 2017 02:44:35 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v582iYTf034529; Thu, 8 Jun 2017 02:44:34 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201706080244.v582iYTf034529@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Thu, 8 Jun 2017 02:44:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319675 - in head/sys/compat/linuxkpi/common: include/linux src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 02:44:36 -0000 Author: jhibbits Date: Thu Jun 8 02:44:34 2017 New Revision: 319675 URL: https://svnweb.freebsd.org/changeset/base/319675 Log: Remove ARM and MIPS from linuxkpi ioremap_attr definition ARM and MIPS fail universe builds. ARM and MIPS are missing the following: * VM_MEMATTR_WRITE_THROUGH * VM_MEMATTR_WRITE_COMBINING Pointy-hat to: jhibbits Modified: head/sys/compat/linuxkpi/common/include/linux/io.h head/sys/compat/linuxkpi/common/src/linux_compat.c Modified: head/sys/compat/linuxkpi/common/include/linux/io.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/io.h Thu Jun 8 01:42:32 2017 (r319674) +++ head/sys/compat/linuxkpi/common/include/linux/io.h Thu Jun 8 02:44:34 2017 (r319675) @@ -180,8 +180,7 @@ _outb(u_char data, u_int port) } #endif -#if defined(__i386__) || defined(__amd64__) || \ - defined(__arm__) || defined(__mips__) || defined(__powerpc__) +#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__) void *_ioremap_attr(vm_paddr_t phys_addr, unsigned long size, int attr); #else #define _ioremap_attr(...) NULL Modified: head/sys/compat/linuxkpi/common/src/linux_compat.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_compat.c Thu Jun 8 01:42:32 2017 (r319674) +++ head/sys/compat/linuxkpi/common/src/linux_compat.c Thu Jun 8 02:44:34 2017 (r319675) @@ -1415,8 +1415,7 @@ vmmap_remove(void *addr) return (vmmap); } -#if defined(__i386__) || defined(__amd64__) || \ - defined(__arm__) || defined(__mips__) || defined(__powerpc__) +#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__) void * _ioremap_attr(vm_paddr_t phys_addr, unsigned long size, int attr) { @@ -1439,8 +1438,7 @@ iounmap(void *addr) vmmap = vmmap_remove(addr); if (vmmap == NULL) return; -#if defined(__i386__) || defined(__amd64__) || \ - defined(__arm__) || defined(__mips__) || defined(__powerpc__) +#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__) pmap_unmapdev((vm_offset_t)addr, vmmap->vm_size); #endif kfree(vmmap); From owner-svn-src-all@freebsd.org Thu Jun 8 02:47:34 2017 Return-Path: Delivered-To: svn-src-all@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 A3A48BF0AA2; Thu, 8 Jun 2017 02:47:34 +0000 (UTC) (envelope-from chmeeedalf@gmail.com) Received: from mail-qt0-x232.google.com (mail-qt0-x232.google.com [IPv6:2607:f8b0:400d:c0d::232]) (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 5CB986EE7C; Thu, 8 Jun 2017 02:47:34 +0000 (UTC) (envelope-from chmeeedalf@gmail.com) Received: by mail-qt0-x232.google.com with SMTP id u19so27408886qta.3; Wed, 07 Jun 2017 19:47:34 -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; bh=NyrHQ7U+u9oKuiXcNLEjg8s1W9tCJJatDM9ZBQiP5zs=; b=iqDk/9B1BlD9f2LA36CcJz3pQTV5SKXM+lZ0UmYsM/ZjmiPVB9BkVyxCvNidiXCFps b4/eFI4uFkIFDFsj6cc/Tc3Tv51xzy/uo7mbrEN5GqADgfbnkqgnJ+DeUJzVJbBKH7lo MmANLBhRMqBymLEETTN3ZGeR1jwd3SfR7iC+TATrv2MSG01yoW6/U7vC/0N9MM+NFOFn kqFsqhxphSynYldb/j6ZhiQn58IqUrYu8P68sTAFuO8rp6Ww60ecEtJAn6JqTfDOSraA /diMkYFXgpX6pNXg1yTeT1xDaGXA7TNZUJ3qrwomRE3irOHJByxoWC/iENEaqvP5qbxf 4hPw== 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; bh=NyrHQ7U+u9oKuiXcNLEjg8s1W9tCJJatDM9ZBQiP5zs=; b=AxV5ofUaS6Q+FdmOiEgMQobmoTCHWDnxWVBCtZEFi8l/UEzb/IOxhwQWeX7HM2A2RH UuckTELx7YOyr2Ls/WEv3nN81wtz0j38WbksMTlJiBU5T9zPnHmFVKrXVHgAwox2JttG xustCFMzq27iZXPwEStQxkghpEZXMlObAyfsLHRZryBTQn3goagu//C73jihjZVenZtK hQjKHQ9yK9WxZ/dwqE8OjuUYFie74lim9VYCBKU2n73+eXIJoUQMRWSHh3kvPndcVzfD AAfEUWXymY4EFLWsmELApZIpB0qU43BggvwMZ5aqL9xSJh21HOA+AxxS4P80rta0DnZT 45Tw== X-Gm-Message-State: AKS2vOykMOINOrJdD5J2/mY5g18eTZmRc0ZboWD9RjuZ1jm1FgAXRUCE J/FPqUNP3ivNI5RO/7q51cmNX4lPAA== X-Received: by 10.55.77.141 with SMTP id a135mr23317109qkb.251.1496890053267; Wed, 07 Jun 2017 19:47:33 -0700 (PDT) MIME-Version: 1.0 Sender: chmeeedalf@gmail.com Received: by 10.12.168.154 with HTTP; Wed, 7 Jun 2017 19:47:32 -0700 (PDT) In-Reply-To: <201706080244.v582iYTf034529@repo.freebsd.org> References: <201706080244.v582iYTf034529@repo.freebsd.org> From: Justin Hibbits Date: Wed, 7 Jun 2017 21:47:32 -0500 X-Google-Sender-Auth: 4FKYcyd7XiKb5qxfl5SjOKt-wcw Message-ID: Subject: Re: svn commit: r319675 - in head/sys/compat/linuxkpi/common: include/linux src To: "src-committers@freebsd.org" , "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-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 02:47:34 -0000 On Wednesday, June 7, 2017, Justin Hibbits wrote: > Author: jhibbits > Date: Thu Jun 8 02:44:34 2017 > New Revision: 319675 > URL: https://svnweb.freebsd.org/changeset/base/319675 > > Log: > Remove ARM and MIPS from linuxkpi ioremap_attr definition > > ARM and MIPS fail universe builds. > > ARM and MIPS are missing the following: > * VM_MEMATTR_WRITE_THROUGH > * VM_MEMATTR_WRITE_COMBINING > > In actuality, only ARMv4 and MIPS are missing these. ARMv6 has them. - Justin From owner-svn-src-all@freebsd.org Thu Jun 8 03:15:09 2017 Return-Path: Delivered-To: svn-src-all@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 98EC8BF1C57; Thu, 8 Jun 2017 03:15:09 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 69E3170265; Thu, 8 Jun 2017 03:15:09 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v583F8vj047515; Thu, 8 Jun 2017 03:15:08 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v583F8oQ047514; Thu, 8 Jun 2017 03:15:08 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201706080315.v583F8oQ047514@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Thu, 8 Jun 2017 03:15:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319676 - head/usr.bin/patch X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 03:15:09 -0000 Author: pfg Date: Thu Jun 8 03:15:08 2017 New Revision: 319676 URL: https://svnweb.freebsd.org/changeset/base/319676 Log: patch: if reading fails, do not go into infinite loop asking for a filename. This can happen if no tty is available. Obtained from: OpenBSD (CVS rev 1.54) MFC after: 5 days Modified: head/usr.bin/patch/pch.c Modified: head/usr.bin/patch/pch.c ============================================================================== --- head/usr.bin/patch/pch.c Thu Jun 8 02:44:34 2017 (r319675) +++ head/usr.bin/patch/pch.c Thu Jun 8 03:15:08 2017 (r319676) @@ -216,8 +216,10 @@ there_is_another_patch(void) filearg[0] = fetchname(buf, &exists, 0); } if (!exists) { - ask("No file found--skip this patch? [n] "); - if (*buf != 'y') + int def_skip = *bestguess == '\0'; + ask("No file found--skip this patch? [%c] ", + def_skip ? 'y' : 'n'); + if (*buf == 'n' || (!def_skip && *buf != 'y')) continue; if (verbose) say("Skipping patch...\n"); From owner-svn-src-all@freebsd.org Thu Jun 8 03:51:18 2017 Return-Path: Delivered-To: svn-src-all@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 DD950BF3314; Thu, 8 Jun 2017 03:51:18 +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 BA6D07188C; Thu, 8 Jun 2017 03:51:18 +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 v583pHfO060202; Thu, 8 Jun 2017 03:51:17 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v583pHNN060200; Thu, 8 Jun 2017 03:51:17 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706080351.v583pHNN060200@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 8 Jun 2017 03:51:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319677 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 03:51:19 -0000 Author: jhb Date: Thu Jun 8 03:51:17 2017 New Revision: 319677 URL: https://svnweb.freebsd.org/changeset/base/319677 Log: Decode arguments to ACL related system calls. This only decodes the raw arguments but not the contents of the struct acl objects. Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Thu Jun 8 03:15:08 2017 (r319676) +++ head/usr.bin/truss/syscall.h Thu Jun 8 03:51:17 2017 (r319677) @@ -48,7 +48,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe Sysarch, ExecArgs, ExecEnv, PipeFds, QuadHex, Utrace, IntArray, Pipe2, CapFcntlRights, Fadvice, FileFlags, Flockop, Getfsstatmode, Kldsymcmd, Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, - Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, + Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, Acltype, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Thu Jun 8 03:15:08 2017 (r319676) +++ head/usr.bin/truss/syscalls.c Thu Jun 8 03:51:17 2017 (r319677) @@ -77,6 +77,30 @@ __FBSDID("$FreeBSD$"); */ static struct syscall decoded_syscalls[] = { /* Native ABI */ + { .name = "__acl_aclcheck_fd", .ret_type = 1, .nargs = 3, + .args = { { Int, 0 }, { Acltype, 1 }, { Ptr, 2 } } }, + { .name = "__acl_aclcheck_file", .ret_type = 1, .nargs = 3, + .args = { { Name, 0 }, { Acltype, 1 }, { Ptr, 2 } } }, + { .name = "__acl_aclcheck_link", .ret_type = 1, .nargs = 3, + .args = { { Name, 0 }, { Acltype, 1 }, { Ptr, 2 } } }, + { .name = "__acl_delete_fd", .ret_type = 1, .nargs = 2, + .args = { { Int, 0 }, { Acltype, 1 } } }, + { .name = "__acl_delete_file", .ret_type = 1, .nargs = 2, + .args = { { Name, 0 }, { Acltype, 1 } } }, + { .name = "__acl_delete_link", .ret_type = 1, .nargs = 2, + .args = { { Name, 0 }, { Acltype, 1 } } }, + { .name = "__acl_get_fd", .ret_type = 1, .nargs = 3, + .args = { { Int, 0 }, { Acltype, 1 }, { Ptr, 2 } } }, + { .name = "__acl_get_file", .ret_type = 1, .nargs = 3, + .args = { { Name, 0 }, { Acltype, 1 }, { Ptr, 2 } } }, + { .name = "__acl_get_link", .ret_type = 1, .nargs = 3, + .args = { { Name, 0 }, { Acltype, 1 }, { Ptr, 2 } } }, + { .name = "__acl_set_fd", .ret_type = 1, .nargs = 3, + .args = { { Int, 0 }, { Acltype, 1 }, { Ptr, 2 } } }, + { .name = "__acl_set_file", .ret_type = 1, .nargs = 3, + .args = { { Name, 0 }, { Acltype, 1 }, { Ptr, 2 } } }, + { .name = "__acl_set_link", .ret_type = 1, .nargs = 3, + .args = { { Name, 0 }, { Acltype, 1 }, { Ptr, 2 } } }, { .name = "__cap_rights_get", .ret_type = 1, .nargs = 3, .args = { { Int, 0 }, { Int, 1 }, { CapRights | OUT, 2 } } }, { .name = "__getcwd", .ret_type = 1, .nargs = 2, @@ -2031,6 +2055,9 @@ print_arg(struct syscall_args *sc, unsigned long *args fprintf(fp, "0x%lx", args[sc->offset]); break; } + case Acltype: + print_integer_arg(sysdecode_acltype, fp, args[sc->offset]); + break; case CloudABIAdvice: fputs(xlookup(cloudabi_advice, args[sc->offset]), fp); From owner-svn-src-all@freebsd.org Thu Jun 8 03:57:16 2017 Return-Path: Delivered-To: svn-src-all@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 6B31EBF36E6; Thu, 8 Jun 2017 03:57:16 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-it0-x22e.google.com (mail-it0-x22e.google.com [IPv6:2607:f8b0:4001:c0b::22e]) (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 320D171D68; Thu, 8 Jun 2017 03:57:16 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-it0-x22e.google.com with SMTP id m62so119643045itc.0; Wed, 07 Jun 2017 20:57:16 -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=z3hOe2bXRMQ33iznkH/TMg8s5fZFFZYqU1SafHp8mw0=; b=T7XuqMxsxLe8zEcCBgVFA9qs91q+cbL5Xa3DyczNPhmVOFwqss5FjnUyubALUj2WNo uSvIK5PMY4WPLAF6H3tOoROKcAltvqP4dKJkStFSBmIg3b6y+fhmbWIOMdej/jaWPfsU ej0KOGIuwixr5GsbkgKfDCG7TZHTASSTwY1ijZ4bQHCFow4h808F+3ayDqZDEl2w5jv3 hv1RMr9FF6IPDZXtCm123F9lPEOJIsY3In2csbUPWIapfP2iQIguoJJfac/5STIuMKdT WE3Gi0Y9gtaYyjJ4ztVf5yKHLse/Zljyw5byKNLmdPwTtgfZ//Ggb37nwwlAlbD9+sL2 wKYQ== 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=z3hOe2bXRMQ33iznkH/TMg8s5fZFFZYqU1SafHp8mw0=; b=jbDN7/d0xJOTxSZuZdnoMQ/O/uilsh+UoJ3kDJ7MOV4YbDk9Ie38nIUfiT975Urn5w qIbjAWodD5ZQR1B6KZYu+8li/D9li7NUhF8mAfvo++BiZZ9vD7NSAVZf7CINFIsPu0V8 Uaqm+jy7VoUUKGdW6PHcujr++i7FwL/4QAZ8EU5lZkAT6zy1Q+L6+Q/um8sFhSp4aZda AIDasdFXKAPHrqSe/Bufa/knfyi82grKGTIectX4KfJzQGw28+4rf5jxhVglScqgt0CR nKE45GOvzhae9jiXPM3+3YPVCrsONEfKUUuyLylytZRXVjMToofCXwVeVloo9Sf5InL/ 5zQw== X-Gm-Message-State: AODbwcCWgsdyta7mS9mjeLLmt7DkIe3qKU///yRVyp+9D4LgAlcUrvuC 0oAUhiV+JG+O2QuIRwRiQY9bxHD7R3RCRoA= X-Received: by 10.36.91.212 with SMTP id g203mr3559156itb.7.1496894235095; Wed, 07 Jun 2017 20:57:15 -0700 (PDT) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.10.86 with HTTP; Wed, 7 Jun 2017 20:56:54 -0700 (PDT) In-Reply-To: References: <201704271753.v3RHr6iZ087662@repo.freebsd.org> From: Ed Maste Date: Wed, 7 Jun 2017 23:56:54 -0400 X-Google-Sender-Auth: zu3uOxR9l8n-rWdSuHiXKMngTDM Message-ID: Subject: Re: svn commit: r317512 - in head: sys/conf sys/libkern sys/libkern/arm64 sys/sys tests/sys/kern To: Michael Tuexen , Dimitry Andric 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-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 03:57:16 -0000 On 7 June 2017 at 18:18, Ed Maste wrote: > On 27 April 2017 at 13:53, Michael Tuexen wrote: >> Author: tuexen >> Date: Thu Apr 27 17:53:05 2017 >> New Revision: 317512 >> URL: https://svnweb.freebsd.org/changeset/base/317512 > > FYI when compiling this with the clang500-import branch I see: > > /scratch/tmp/emaste/freebsd/sys/libkern/arm64/crc32c_armv8.S:41:2: > error: instruction requires: crc > crc32cb w0, w0, w10 > ^ Andrew pointed out this is because there's no .arch armv8-a+crc directive -- which was not supported by Clang 3.8, is supported by Clang 4.0, and is required by Clang 5.0. I will commit it soon. From owner-svn-src-all@freebsd.org Thu Jun 8 04:02:15 2017 Return-Path: Delivered-To: svn-src-all@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 9AD46BF38AA; Thu, 8 Jun 2017 04:02:15 +0000 (UTC) (envelope-from araujo@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 6A55B72152; Thu, 8 Jun 2017 04:02:15 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5842EtW067946; Thu, 8 Jun 2017 04:02:14 GMT (envelope-from araujo@FreeBSD.org) Received: (from araujo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5842E46067943; Thu, 8 Jun 2017 04:02:14 GMT (envelope-from araujo@FreeBSD.org) Message-Id: <201706080402.v5842E46067943@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: araujo set sender to araujo@FreeBSD.org using -f From: Marcelo Araujo Date: Thu, 8 Jun 2017 04:02:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319678 - in head/sys: kern sys x86/x86 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 04:02:15 -0000 Author: araujo Date: Thu Jun 8 04:02:14 2017 New Revision: 319678 URL: https://svnweb.freebsd.org/changeset/base/319678 Log: Allow sysctl kern.vm_guest to return bhyve when running under bhyve. Submitted by: Sean Fagan Reviewed by: grehan MFH: 4 weeks. Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D11090 Modified: head/sys/kern/subr_param.c head/sys/sys/systm.h head/sys/x86/x86/identcpu.c Modified: head/sys/kern/subr_param.c ============================================================================== --- head/sys/kern/subr_param.c Thu Jun 8 03:51:17 2017 (r319677) +++ head/sys/kern/subr_param.c Thu Jun 8 04:02:14 2017 (r319678) @@ -149,6 +149,7 @@ static const char *const vm_guest_sysctl_names[] = { "hv", "vmware", "kvm", + "bhyve", NULL }; CTASSERT(nitems(vm_guest_sysctl_names) - 1 == VM_LAST); Modified: head/sys/sys/systm.h ============================================================================== --- head/sys/sys/systm.h Thu Jun 8 03:51:17 2017 (r319677) +++ head/sys/sys/systm.h Thu Jun 8 04:02:14 2017 (r319678) @@ -76,7 +76,7 @@ extern int vm_guest; /* Running as virtual machine gu * Keep in sync with vm_guest_sysctl_names[]. */ enum VM_GUEST { VM_GUEST_NO = 0, VM_GUEST_VM, VM_GUEST_XEN, VM_GUEST_HV, - VM_GUEST_VMWARE, VM_GUEST_KVM, VM_LAST }; + VM_GUEST_VMWARE, VM_GUEST_KVM, VM_GUEST_BHYVE, VM_LAST }; #if defined(WITNESS) || defined(INVARIANT_SUPPORT) void kassert_panic(const char *fmt, ...) __printflike(1, 2); Modified: head/sys/x86/x86/identcpu.c ============================================================================== --- head/sys/x86/x86/identcpu.c Thu Jun 8 03:51:17 2017 (r319677) +++ head/sys/x86/x86/identcpu.c Thu Jun 8 04:02:14 2017 (r319678) @@ -1282,6 +1282,8 @@ identify_hypervisor(void) vm_guest = VM_GUEST_HV; else if (strcmp(hv_vendor, "KVMKVMKVM") == 0) vm_guest = VM_GUEST_KVM; + else if (strcmp(hv_vendor, "bhyve bhyve") == 0) + vm_guest = VM_GUEST_BHYVE; } return; } From owner-svn-src-all@freebsd.org Thu Jun 8 04:31:17 2017 Return-Path: Delivered-To: svn-src-all@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 20169BF4CE4; Thu, 8 Jun 2017 04:31:17 +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 F0AE673073; Thu, 8 Jun 2017 04:31:16 +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 v584VG5d076179; Thu, 8 Jun 2017 04:31:16 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v584VGLG076177; Thu, 8 Jun 2017 04:31:16 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706080431.v584VGLG076177@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 8 Jun 2017 04:31:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319679 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 04:31:17 -0000 Author: jhb Date: Thu Jun 8 04:31:15 2017 New Revision: 319679 URL: https://svnweb.freebsd.org/changeset/base/319679 Log: Decode arguments passed to extended attribute related system calls. The cmd argument passed to extattrctl() is not decoded as a string constant but is just printed in hex. The value is filesystem-specific but in practice is only used with UFS1 filesystems. Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Thu Jun 8 04:02:14 2017 (r319678) +++ head/usr.bin/truss/syscall.h Thu Jun 8 04:31:15 2017 (r319679) @@ -49,6 +49,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe CapFcntlRights, Fadvice, FileFlags, Flockop, Getfsstatmode, Kldsymcmd, Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, Acltype, + Extattrnamespace, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Thu Jun 8 04:02:14 2017 (r319678) +++ head/usr.bin/truss/syscalls.c Thu Jun 8 04:31:15 2017 (r319679) @@ -160,6 +160,42 @@ static struct syscall decoded_syscalls[] = { { ExecEnv | IN, 2 } } }, { .name = "exit", .ret_type = 0, .nargs = 1, .args = { { Hex, 0 } } }, + { .name = "extattr_delete_fd", .ret_type = 1, .nargs = 3, + .args = { { Int, 0 }, { Extattrnamespace, 1 }, { Name, 2 } } }, + { .name = "extattr_delete_file", .ret_type = 1, .nargs = 3, + .args = { { Name, 0 }, { Extattrnamespace, 1 }, { Name, 2 } } }, + { .name = "extattr_delete_link", .ret_type = 1, .nargs = 3, + .args = { { Name, 0 }, { Extattrnamespace, 1 }, { Name, 2 } } }, + { .name = "extattr_get_fd", .ret_type = 1, .nargs = 5, + .args = { { Int, 0 }, { Extattrnamespace, 1 }, { Name, 2 }, + { BinString | OUT, 3 }, { Sizet, 4 } } }, + { .name = "extattr_get_file", .ret_type = 1, .nargs = 5, + .args = { { Name, 0 }, { Extattrnamespace, 1 }, { Name, 2 }, + { BinString | OUT, 3 }, { Sizet, 4 } } }, + { .name = "extattr_get_link", .ret_type = 1, .nargs = 5, + .args = { { Name, 0 }, { Extattrnamespace, 1 }, { Name, 2 }, + { BinString | OUT, 3 }, { Sizet, 4 } } }, + { .name = "extattr_list_fd", .ret_type = 1, .nargs = 4, + .args = { { Int, 0 }, { Extattrnamespace, 1 }, { BinString | OUT, 2 }, + { Sizet, 3 } } }, + { .name = "extattr_list_file", .ret_type = 1, .nargs = 4, + .args = { { Name, 0 }, { Extattrnamespace, 1 }, { BinString | OUT, 2 }, + { Sizet, 3 } } }, + { .name = "extattr_list_link", .ret_type = 1, .nargs = 4, + .args = { { Name, 0 }, { Extattrnamespace, 1 }, { BinString | OUT, 2 }, + { Sizet, 3 } } }, + { .name = "extattr_set_fd", .ret_type = 1, .nargs = 5, + .args = { { Int, 0 }, { Extattrnamespace, 1 }, { Name, 2 }, + { BinString | IN, 3 }, { Sizet, 4 } } }, + { .name = "extattr_set_file", .ret_type = 1, .nargs = 5, + .args = { { Name, 0 }, { Extattrnamespace, 1 }, { Name, 2 }, + { BinString | IN, 3 }, { Sizet, 4 } } }, + { .name = "extattr_set_link", .ret_type = 1, .nargs = 5, + .args = { { Name, 0 }, { Extattrnamespace, 1 }, { Name, 2 }, + { BinString | IN, 3 }, { Sizet, 4 } } }, + { .name = "extattrctl", .ret_type = 1, .nargs = 5, + .args = { { Name, 0 }, { Hex, 1 }, { Name, 2 }, + { Extattrnamespace, 3 }, { Name, 4 } } }, { .name = "faccessat", .ret_type = 1, .nargs = 4, .args = { { Atfd, 0 }, { Name | IN, 1 }, { Accessmode, 2 }, { Atflags, 3 } } }, @@ -2057,6 +2093,10 @@ print_arg(struct syscall_args *sc, unsigned long *args } case Acltype: print_integer_arg(sysdecode_acltype, fp, args[sc->offset]); + break; + case Extattrnamespace: + print_integer_arg(sysdecode_extattrnamespace, fp, + args[sc->offset]); break; case CloudABIAdvice: From owner-svn-src-all@freebsd.org Thu Jun 8 04:45:14 2017 Return-Path: Delivered-To: svn-src-all@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 E1A13BF5366; Thu, 8 Jun 2017 04:45:14 +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 B087B7379C; Thu, 8 Jun 2017 04:45:14 +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 v584jDiO084099; Thu, 8 Jun 2017 04:45:13 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v584jDX8084097; Thu, 8 Jun 2017 04:45:13 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706080445.v584jDX8084097@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 8 Jun 2017 04:45:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319680 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 04:45:15 -0000 Author: jhb Date: Thu Jun 8 04:45:13 2017 New Revision: 319680 URL: https://svnweb.freebsd.org/changeset/base/319680 Log: Decode arguments to minherit(). Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Thu Jun 8 04:31:15 2017 (r319679) +++ head/usr.bin/truss/syscall.h Thu Jun 8 04:45:13 2017 (r319680) @@ -49,7 +49,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe CapFcntlRights, Fadvice, FileFlags, Flockop, Getfsstatmode, Kldsymcmd, Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, Acltype, - Extattrnamespace, + Extattrnamespace, Minherit, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Thu Jun 8 04:31:15 2017 (r319679) +++ head/usr.bin/truss/syscalls.c Thu Jun 8 04:45:13 2017 (r319680) @@ -299,6 +299,8 @@ static struct syscall decoded_syscalls[] = { .args = { { Name | IN, 0 }, { Timeval2 | IN, 1 } } }, { .name = "madvise", .ret_type = 1, .nargs = 3, .args = { { Ptr, 0 }, { Sizet, 1 }, { Madvice, 2 } } }, + { .name = "minherit", .ret_type = 1, .nargs = 3, + .args = { { Ptr, 0 }, { Sizet, 1 }, { Minherit, 2 } } }, { .name = "mkdir", .ret_type = 1, .nargs = 2, .args = { { Name, 0 }, { Octal, 1 } } }, { .name = "mkdirat", .ret_type = 1, .nargs = 3, @@ -2096,6 +2098,10 @@ print_arg(struct syscall_args *sc, unsigned long *args break; case Extattrnamespace: print_integer_arg(sysdecode_extattrnamespace, fp, + args[sc->offset]); + break; + case Minherit: + print_integer_arg(sysdecode_minherit_inherit, fp, args[sc->offset]); break; From owner-svn-src-all@freebsd.org Thu Jun 8 04:50:51 2017 Return-Path: Delivered-To: svn-src-all@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 93A00BF5553; Thu, 8 Jun 2017 04:50:51 +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 624D7739C9; Thu, 8 Jun 2017 04:50:51 +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 v584ool9084326; Thu, 8 Jun 2017 04:50:50 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v584ooR3084324; Thu, 8 Jun 2017 04:50:50 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706080450.v584ooR3084324@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 8 Jun 2017 04:50:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319681 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 04:50:51 -0000 Author: jhb Date: Thu Jun 8 04:50:50 2017 New Revision: 319681 URL: https://svnweb.freebsd.org/changeset/base/319681 Log: Decode arguments to mlock(), mlockall(), and munlock(). Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Thu Jun 8 04:45:13 2017 (r319680) +++ head/usr.bin/truss/syscall.h Thu Jun 8 04:50:50 2017 (r319681) @@ -49,7 +49,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe CapFcntlRights, Fadvice, FileFlags, Flockop, Getfsstatmode, Kldsymcmd, Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, Acltype, - Extattrnamespace, Minherit, + Extattrnamespace, Minherit, Mlockall, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Thu Jun 8 04:45:13 2017 (r319680) +++ head/usr.bin/truss/syscalls.c Thu Jun 8 04:50:50 2017 (r319681) @@ -313,6 +313,10 @@ static struct syscall decoded_syscalls[] = { .args = { { Name, 0 }, { Octal, 1 }, { Int, 2 } } }, { .name = "mknodat", .ret_type = 1, .nargs = 4, .args = { { Atfd, 0 }, { Name, 1 }, { Octal, 2 }, { Int, 3 } } }, + { .name = "mlock", .ret_type = 1, .nargs = 2, + .args = { { Ptr, 0 }, { Sizet, 1 } } }, + { .name = "mlockall", .ret_type = 1, .nargs = 1, + .args = { { Mlockall, 0 } } }, { .name = "mmap", .ret_type = 1, .nargs = 6, .args = { { Ptr, 0 }, { Sizet, 1 }, { Mprot, 2 }, { Mmapflags, 3 }, { Int, 4 }, { QuadHex, 5 } } }, @@ -322,6 +326,8 @@ static struct syscall decoded_syscalls[] = { .args = { { Name, 0 }, { Name, 1 }, { Int, 2 }, { Ptr, 3 } } }, { .name = "mprotect", .ret_type = 1, .nargs = 3, .args = { { Ptr, 0 }, { Sizet, 1 }, { Mprot, 2 } } }, + { .name = "munlock", .ret_type = 1, .nargs = 2, + .args = { { Ptr, 0 }, { Sizet, 1 } } }, { .name = "munmap", .ret_type = 1, .nargs = 2, .args = { { Ptr, 0 }, { Sizet, 1 } } }, { .name = "nanosleep", .ret_type = 1, .nargs = 1, @@ -2103,6 +2109,9 @@ print_arg(struct syscall_args *sc, unsigned long *args case Minherit: print_integer_arg(sysdecode_minherit_inherit, fp, args[sc->offset]); + break; + case Mlockall: + print_mask_arg(sysdecode_mlockall_flags, fp, args[sc->offset]); break; case CloudABIAdvice: From owner-svn-src-all@freebsd.org Thu Jun 8 04:54:17 2017 Return-Path: Delivered-To: svn-src-all@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 3A984BF57C0; Thu, 8 Jun 2017 04:54:17 +0000 (UTC) (envelope-from araujo@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 0938573DC3; Thu, 8 Jun 2017 04:54:16 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v584sGeQ087974; Thu, 8 Jun 2017 04:54:16 GMT (envelope-from araujo@FreeBSD.org) Received: (from araujo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v584sGw6087973; Thu, 8 Jun 2017 04:54:16 GMT (envelope-from araujo@FreeBSD.org) Message-Id: <201706080454.v584sGw6087973@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: araujo set sender to araujo@FreeBSD.org using -f From: Marcelo Araujo Date: Thu, 8 Jun 2017 04:54:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319682 - head/usr.sbin/bhyve X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 04:54:17 -0000 Author: araujo Date: Thu Jun 8 04:54:15 2017 New Revision: 319682 URL: https://svnweb.freebsd.org/changeset/base/319682 Log: Make the VNC authentication build with LibreSSL on HardenedBSD and TrueOS. PR: 219790 Submitted by: Shirkdog Reviewed by: grehan and rgrimes MFC after: 4 weeks. Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D11071 Modified: head/usr.sbin/bhyve/rfb.c Modified: head/usr.sbin/bhyve/rfb.c ============================================================================== --- head/usr.sbin/bhyve/rfb.c Thu Jun 8 04:50:50 2017 (r319681) +++ head/usr.sbin/bhyve/rfb.c Thu Jun 8 04:54:15 2017 (r319682) @@ -832,12 +832,14 @@ rfb_handle(struct rfb_softc *rc, int cfd) memcpy(crypt_expected, challenge, AUTH_LENGTH); /* Encrypt the Challenge with DES */ - DES_set_key((C_Block *)keystr, &ks); - DES_ecb_encrypt((C_Block *)challenge, - (C_Block *)crypt_expected, &ks, DES_ENCRYPT); - DES_ecb_encrypt((C_Block *)(challenge + PASSWD_LENGTH), - (C_Block *)(crypt_expected + PASSWD_LENGTH), + DES_set_key((const_DES_cblock *)keystr, &ks); + DES_ecb_encrypt((const_DES_cblock *)challenge, + (const_DES_cblock *)crypt_expected, &ks, DES_ENCRYPT); + DES_ecb_encrypt((const_DES_cblock *)(challenge + PASSWD_LENGTH), + (const_DES_cblock *)(crypt_expected + + PASSWD_LENGTH), + &ks, DES_ENCRYPT); if (memcmp(crypt_expected, buf, AUTH_LENGTH) != 0) { message = "Auth Failed: Invalid Password."; @@ -858,7 +860,7 @@ rfb_handle(struct rfb_softc *rc, int cfd) if (sres) { *((uint32_t *) buf) = htonl(strlen(message)); stream_write(cfd, buf, 4); - stream_write(cfd, message, strlen(message)); + stream_write(cfd, message, strlen(message)); goto done; } From owner-svn-src-all@freebsd.org Thu Jun 8 05:12:12 2017 Return-Path: Delivered-To: svn-src-all@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 9947EBF5ED7; Thu, 8 Jun 2017 05:12:12 +0000 (UTC) (envelope-from glebius@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 75B20745D3; Thu, 8 Jun 2017 05:12:12 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v585CBaN093162; Thu, 8 Jun 2017 05:12:11 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v585CBRb093161; Thu, 8 Jun 2017 05:12:11 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706080512.v585CBRb093161@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 8 Jun 2017 05:12:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319683 - head/tools/regression/sockets/accf_data_attach X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 05:12:12 -0000 Author: glebius Date: Thu Jun 8 05:12:11 2017 New Revision: 319683 URL: https://svnweb.freebsd.org/changeset/base/319683 Log: Improve this unit test: make sure that the accept filter actually works. Before this test just checked scenario of setting and removing the accept filter at different states of the socket. Now it also checks that accept filter works: we connect to the server, and then check that we can't accept, then we send 1 byte of data and check again. Modified: head/tools/regression/sockets/accf_data_attach/accf_data_attach.c Modified: head/tools/regression/sockets/accf_data_attach/accf_data_attach.c ============================================================================== --- head/tools/regression/sockets/accf_data_attach/accf_data_attach.c Thu Jun 8 04:54:15 2017 (r319682) +++ head/tools/regression/sockets/accf_data_attach/accf_data_attach.c Thu Jun 8 05:12:11 2017 (r319683) @@ -34,6 +34,7 @@ #include #include +#include #include #include #include @@ -64,7 +65,7 @@ main(void) struct accept_filter_arg afa; struct sockaddr_in sin; socklen_t len; - int lso, ret; + int lso, so, i, ret; /* XXX: PLAIN_TEST_REQUIRE_MODULE "backport" for stable/9 */ const char *_mod_name = "accf_data"; @@ -76,7 +77,7 @@ main(void) } /* XXX: PLAIN_TEST_REQUIRE_MODULE for stable/9 */ - printf("1..11\n"); + printf("1..12\n"); /* * Step 0. Open socket(). @@ -103,6 +104,7 @@ main(void) /* * Step 2. Bind(). Ideally this will succeed. */ + setsockopt(lso, SOL_SOCKET, SO_REUSEADDR, &lso, sizeof(lso)); bzero(&sin, sizeof(sin)); sin.sin_len = sizeof(sin); sin.sin_family = AF_INET; @@ -203,24 +205,53 @@ main(void) printf("ok 10 - getsockopt\n"); /* - * Step 10: Remove accept filter. After removing the accept filter + * Step 10: Set listening socket to non blocking mode. Open + * connection to our listening socket and try to accept. Should + * no succeed. Write a byte of data and try again. Should accept. + */ + i = fcntl(lso, F_GETFL); + if (i < 0) + errx(-1, "not ok 11 - ioctl(F_GETFL): %s", strerror(errno)); + i |= O_NONBLOCK; + if (fcntl(lso, F_SETFL, i) != 0) + errx(-1, "not ok 11 - ioctl(F_SETFL): %s", strerror(errno)); + so = socket(PF_INET, SOCK_STREAM, 0); + if (so == -1) + errx(-1, "not ok 11 - socket: %s", strerror(errno)); + if (connect(so, (struct sockaddr *)&sin, sizeof(sin)) < 0) + errx(-1, "not ok 11 - connect %s", strerror(errno)); + if (accept(lso, NULL, 0) != -1 && errno != EWOULDBLOCK) + errx(-1, "not ok 11 - accept #1 %s", strerror(errno)); + if (write(so, "0", 1) != 1) + errx(-1, "not ok 11 - write %s", strerror(errno)); + /* + * XXXGL: ugly, but we need to make sure that our write reaches + * remote side of the socket. + */ + usleep(10000); + if (accept(lso, NULL, 0) < 1) + errx(-1, "not ok 11 - accept #2 %s", strerror(errno)); + printf("ok 11 - accept\n"); + + /* + * Step 11: Remove accept filter. After removing the accept filter * getsockopt() should fail with EINVAL. */ ret = setsockopt(lso, SOL_SOCKET, SO_ACCEPTFILTER, NULL, 0); if (ret != 0) - errx(-1, "not ok 11 - setsockopt() after listen() " + errx(-1, "not ok 12 - setsockopt() after listen() " "failed with %d (%s)", errno, strerror(errno)); bzero(&afa, sizeof(afa)); len = sizeof(afa); ret = getsockopt(lso, SOL_SOCKET, SO_ACCEPTFILTER, &afa, &len); if (ret == 0) - errx(-1, "not ok 11 - getsockopt() after removing " + errx(-1, "not ok 12 - getsockopt() after removing " "the accept filter returns valid accept filter %s", afa.af_name); if (errno != EINVAL) - errx(-1, "not ok 11 - getsockopt() after removing the accept" + errx(-1, "not ok 12 - getsockopt() after removing the accept" "filter failed with %d (%s)", errno, strerror(errno)); - printf("ok 11 - setsockopt\n"); + printf("ok 12 - setsockopt\n"); close(lso); return (0); From owner-svn-src-all@freebsd.org Thu Jun 8 06:13:54 2017 Return-Path: Delivered-To: svn-src-all@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 DA821BF759A; Thu, 8 Jun 2017 06:13:54 +0000 (UTC) (envelope-from glebius@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 2463175EC6; Thu, 8 Jun 2017 06:13:54 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v586DrfQ020070; Thu, 8 Jun 2017 06:13:53 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v586Dr50020069; Thu, 8 Jun 2017 06:13:53 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706080613.v586Dr50020069@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 8 Jun 2017 06:13:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319684 - head/tools/regression/sockets/accf_data_attach X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 06:13:55 -0000 Author: glebius Date: Thu Jun 8 06:13:53 2017 New Revision: 319684 URL: https://svnweb.freebsd.org/changeset/base/319684 Log: Make the test to leave one connection on the incomplete queue before exiting. This examines some race conditions in kernel. Modified: head/tools/regression/sockets/accf_data_attach/accf_data_attach.c Modified: head/tools/regression/sockets/accf_data_attach/accf_data_attach.c ============================================================================== --- head/tools/regression/sockets/accf_data_attach/accf_data_attach.c Thu Jun 8 05:12:11 2017 (r319683) +++ head/tools/regression/sockets/accf_data_attach/accf_data_attach.c Thu Jun 8 06:13:53 2017 (r319684) @@ -233,6 +233,20 @@ main(void) errx(-1, "not ok 11 - accept #2 %s", strerror(errno)); printf("ok 11 - accept\n"); +#if 1 + /* + * XXXGL: this doesn't belong to the test itself, but is known + * to examine rarely examined paths in the kernel. Intentionally + * leave a socket on the incomplete queue, before the program + * exits. + */ + so = socket(PF_INET, SOCK_STREAM, 0); + if (so == -1) + errx(-1, "not ok 12 - socket: %s", strerror(errno)); + if (connect(so, (struct sockaddr *)&sin, sizeof(sin)) < 0) + errx(-1, "not ok 12 - connect %s", strerror(errno)); +#endif + /* * Step 11: Remove accept filter. After removing the accept filter * getsockopt() should fail with EINVAL. From owner-svn-src-all@freebsd.org Thu Jun 8 06:16:48 2017 Return-Path: Delivered-To: svn-src-all@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 762B7BF7652; Thu, 8 Jun 2017 06:16:48 +0000 (UTC) (envelope-from glebius@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 4693F7603B; Thu, 8 Jun 2017 06:16:48 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v586Glua020212; Thu, 8 Jun 2017 06:16:47 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v586Glh8020211; Thu, 8 Jun 2017 06:16:47 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706080616.v586Glh8020211@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 8 Jun 2017 06:16:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319685 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 06:16:48 -0000 Author: glebius Date: Thu Jun 8 06:16:47 2017 New Revision: 319685 URL: https://svnweb.freebsd.org/changeset/base/319685 Log: Fix a degenerate case when soisdisconnected() would call soisconnected(). This happens when closing a socket with upcall, and trace is: soclose()-> ... protocol ... -> soisdisconnected() -> socantrcvmore_locked() -> sowakeup() -> soisconnected(). Right now this case is innocent for two reasons. First, soisconnected() doesn't clear SS_ISDISCONNECTED flag. Second, the mutex to lock the socket is the socket receive buffer mutex, and sodisconnected() first disables the receive buffer. But in future code, the mutex to lock socket is different to buffer mutex, and we would get undesired mutex recursion. The fix is to check SS_ISDISCONNECTED flag before calling upcall. Modified: head/sys/kern/uipc_sockbuf.c Modified: head/sys/kern/uipc_sockbuf.c ============================================================================== --- head/sys/kern/uipc_sockbuf.c Thu Jun 8 06:13:53 2017 (r319684) +++ head/sys/kern/uipc_sockbuf.c Thu Jun 8 06:16:47 2017 (r319685) @@ -322,7 +322,7 @@ sowakeup(struct socket *so, struct sockbuf *sb) wakeup(&sb->sb_acc); } KNOTE_LOCKED(&sb->sb_sel.si_note, 0); - if (sb->sb_upcall != NULL) { + if (sb->sb_upcall != NULL && !(so->so_state & SS_ISDISCONNECTED)) { ret = sb->sb_upcall(so, sb->sb_upcallarg, M_NOWAIT); if (ret == SU_ISCONNECTED) { KASSERT(sb == &so->so_rcv, From owner-svn-src-all@freebsd.org Thu Jun 8 06:34:11 2017 Return-Path: Delivered-To: svn-src-all@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 087A9BF7C1A; Thu, 8 Jun 2017 06:34:11 +0000 (UTC) (envelope-from glebius@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 CBA437686F; Thu, 8 Jun 2017 06:34:10 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v586Y9Pv028352; Thu, 8 Jun 2017 06:34:09 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v586Y9Gw028351; Thu, 8 Jun 2017 06:34:09 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706080634.v586Y9Gw028351@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 8 Jun 2017 06:34:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319686 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 06:34:11 -0000 Author: glebius Date: Thu Jun 8 06:34:09 2017 New Revision: 319686 URL: https://svnweb.freebsd.org/changeset/base/319686 Log: The desired lock here is socket buffer, not socket. Right now they match, but won't in future. Modified: head/sys/netinet/sctp_pcb.c Modified: head/sys/netinet/sctp_pcb.c ============================================================================== --- head/sys/netinet/sctp_pcb.c Thu Jun 8 06:16:47 2017 (r319685) +++ head/sys/netinet/sctp_pcb.c Thu Jun 8 06:34:09 2017 (r319686) @@ -4856,7 +4856,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc inp->sctp_flags &= ~SCTP_PCB_FLAGS_CONNECTED; inp->sctp_flags |= SCTP_PCB_FLAGS_WAS_CONNECTED; if (so) { - SOCK_LOCK(so); + SOCKBUF_LOCK(&so->so_rcv); if (so->so_rcv.sb_cc == 0) { so->so_state &= ~(SS_ISCONNECTING | SS_ISDISCONNECTING | From owner-svn-src-all@freebsd.org Thu Jun 8 06:37:13 2017 Return-Path: Delivered-To: svn-src-all@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 09F86BF7D32; Thu, 8 Jun 2017 06:37:13 +0000 (UTC) (envelope-from glebius@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 CEBA2769F9; Thu, 8 Jun 2017 06:37:12 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v586bBvw028494; Thu, 8 Jun 2017 06:37:11 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v586bBdD028493; Thu, 8 Jun 2017 06:37:11 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706080637.v586bBdD028493@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 8 Jun 2017 06:37:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319687 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 06:37:13 -0000 Author: glebius Date: Thu Jun 8 06:37:11 2017 New Revision: 319687 URL: https://svnweb.freebsd.org/changeset/base/319687 Log: This code was missing socket unlock and socket buffer lock, but it worked since right now these two locks are the same. Modified: head/sys/netinet/sctputil.c Modified: head/sys/netinet/sctputil.c ============================================================================== --- head/sys/netinet/sctputil.c Thu Jun 8 06:34:09 2017 (r319686) +++ head/sys/netinet/sctputil.c Thu Jun 8 06:37:11 2017 (r319687) @@ -2792,6 +2792,7 @@ set_error: stcb->sctp_socket->so_error = ECONNABORTED; } } + SOCK_UNLOCK(stcb->sctp_socket); } /* Wake ANY sleepers */ #if defined(__APPLE__) || defined(SCTP_SO_LOCK_TESTING) @@ -2811,7 +2812,7 @@ set_error: if (((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) || (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL)) && ((state == SCTP_COMM_LOST) || (state == SCTP_CANT_STR_ASSOC))) { - socantrcvmore_locked(stcb->sctp_socket); + socantrcvmore(stcb->sctp_socket); } sorwakeup(stcb->sctp_socket); sowwakeup(stcb->sctp_socket); From owner-svn-src-all@freebsd.org Thu Jun 8 08:07:53 2017 Return-Path: Delivered-To: svn-src-all@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 1E256BF918A; Thu, 8 Jun 2017 08:07:53 +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 DE86D78B2E; Thu, 8 Jun 2017 08:07:52 +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 v5887qb3064507; Thu, 8 Jun 2017 08:07:52 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5887pqC064505; Thu, 8 Jun 2017 08:07:51 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706080807.v5887pqC064505@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 8 Jun 2017 08:07:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319688 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 08:07:53 -0000 Author: jhb Date: Thu Jun 8 08:07:51 2017 New Revision: 319688 URL: https://svnweb.freebsd.org/changeset/base/319688 Log: Decode flags passed to mount(), nmount(), and unmount(). Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Thu Jun 8 06:37:11 2017 (r319687) +++ head/usr.bin/truss/syscall.h Thu Jun 8 08:07:51 2017 (r319688) @@ -49,7 +49,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe CapFcntlRights, Fadvice, FileFlags, Flockop, Getfsstatmode, Kldsymcmd, Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, Acltype, - Extattrnamespace, Minherit, Mlockall, + Extattrnamespace, Minherit, Mlockall, Mountflags, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Thu Jun 8 06:37:11 2017 (r319687) +++ head/usr.bin/truss/syscalls.c Thu Jun 8 08:07:51 2017 (r319688) @@ -323,7 +323,7 @@ static struct syscall decoded_syscalls[] = { { .name = "modfind", .ret_type = 1, .nargs = 1, .args = { { Name | IN, 0 } } }, { .name = "mount", .ret_type = 1, .nargs = 4, - .args = { { Name, 0 }, { Name, 1 }, { Int, 2 }, { Ptr, 3 } } }, + .args = { { Name, 0 }, { Name, 1 }, { Mountflags, 2 }, { Ptr, 3 } } }, { .name = "mprotect", .ret_type = 1, .nargs = 3, .args = { { Ptr, 0 }, { Sizet, 1 }, { Mprot, 2 } } }, { .name = "munlock", .ret_type = 1, .nargs = 2, @@ -332,6 +332,8 @@ static struct syscall decoded_syscalls[] = { .args = { { Ptr, 0 }, { Sizet, 1 } } }, { .name = "nanosleep", .ret_type = 1, .nargs = 1, .args = { { Timespec, 0 } } }, + { .name = "nmount", .ret_type = 1, .nargs = 3, + .args = { { Ptr, 0 }, { UInt, 1 }, { Mountflags, 2 } } }, { .name = "open", .ret_type = 1, .nargs = 3, .args = { { Name | IN, 0 }, { Open, 1 }, { Octal, 2 } } }, { .name = "openat", .ret_type = 1, .nargs = 4, @@ -452,7 +454,7 @@ static struct syscall decoded_syscalls[] = { { .name = "unlinkat", .ret_type = 1, .nargs = 3, .args = { { Atfd, 0 }, { Name, 1 }, { Atflags, 2 } } }, { .name = "unmount", .ret_type = 1, .nargs = 2, - .args = { { Name, 0 }, { Int, 1 } } }, + .args = { { Name, 0 }, { Mountflags, 1 } } }, { .name = "utimensat", .ret_type = 1, .nargs = 4, .args = { { Atfd, 0 }, { Name | IN, 1 }, { Timespec2 | IN, 2 }, { Atflags, 3 } } }, @@ -2112,6 +2114,9 @@ print_arg(struct syscall_args *sc, unsigned long *args break; case Mlockall: print_mask_arg(sysdecode_mlockall_flags, fp, args[sc->offset]); + break; + case Mountflags: + print_mask_arg(sysdecode_mount_flags, fp, args[sc->offset]); break; case CloudABIAdvice: From owner-svn-src-all@freebsd.org Thu Jun 8 08:10:58 2017 Return-Path: Delivered-To: svn-src-all@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 C8FFBBF923C; Thu, 8 Jun 2017 08:10:58 +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 9848378D7F; Thu, 8 Jun 2017 08:10:58 +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 v588Avug065529; Thu, 8 Jun 2017 08:10:57 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v588Av9U065527; Thu, 8 Jun 2017 08:10:57 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706080810.v588Av9U065527@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 8 Jun 2017 08:10:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319689 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 08:10:58 -0000 Author: jhb Date: Thu Jun 8 08:10:57 2017 New Revision: 319689 URL: https://svnweb.freebsd.org/changeset/base/319689 Log: Decode arguments passed to msync(). Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Thu Jun 8 08:07:51 2017 (r319688) +++ head/usr.bin/truss/syscall.h Thu Jun 8 08:10:57 2017 (r319689) @@ -49,7 +49,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe CapFcntlRights, Fadvice, FileFlags, Flockop, Getfsstatmode, Kldsymcmd, Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, Acltype, - Extattrnamespace, Minherit, Mlockall, Mountflags, + Extattrnamespace, Minherit, Mlockall, Mountflags, Msync, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Thu Jun 8 08:07:51 2017 (r319688) +++ head/usr.bin/truss/syscalls.c Thu Jun 8 08:10:57 2017 (r319689) @@ -326,6 +326,8 @@ static struct syscall decoded_syscalls[] = { .args = { { Name, 0 }, { Name, 1 }, { Mountflags, 2 }, { Ptr, 3 } } }, { .name = "mprotect", .ret_type = 1, .nargs = 3, .args = { { Ptr, 0 }, { Sizet, 1 }, { Mprot, 2 } } }, + { .name = "msync", .ret_type = 1, .nargs = 3, + .args = { { Ptr, 0 }, { Sizet, 1 }, { Msync, 2 } } }, { .name = "munlock", .ret_type = 1, .nargs = 2, .args = { { Ptr, 0 }, { Sizet, 1 } } }, { .name = "munmap", .ret_type = 1, .nargs = 2, @@ -2117,6 +2119,9 @@ print_arg(struct syscall_args *sc, unsigned long *args break; case Mountflags: print_mask_arg(sysdecode_mount_flags, fp, args[sc->offset]); + break; + case Msync: + print_mask_arg(sysdecode_msync_flags, fp, args[sc->offset]); break; case CloudABIAdvice: From owner-svn-src-all@freebsd.org Thu Jun 8 12:11:31 2017 Return-Path: Delivered-To: svn-src-all@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 801E1BFD9D8; Thu, 8 Jun 2017 12:11:31 +0000 (UTC) (envelope-from dexuan@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 446ED7F504; Thu, 8 Jun 2017 12:11:31 +0000 (UTC) (envelope-from dexuan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58CBUnh064785; Thu, 8 Jun 2017 12:11:30 GMT (envelope-from dexuan@FreeBSD.org) Received: (from dexuan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58CBUXr064784; Thu, 8 Jun 2017 12:11:30 GMT (envelope-from dexuan@FreeBSD.org) Message-Id: <201706081211.v58CBUXr064784@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dexuan set sender to dexuan@FreeBSD.org using -f From: Dexuan Cui Date: Thu, 8 Jun 2017 12:11:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319690 - head/sys/dev/hyperv/pcib X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 12:11:31 -0000 Author: dexuan Date: Thu Jun 8 12:11:30 2017 New Revision: 319690 URL: https://svnweb.freebsd.org/changeset/base/319690 Log: hyperv/pcib: use the device serial number as PCI domain Currently the PCI domain is initialized with the instance GUID in vmbus_pcib_attach(). It turns out the GUID can change across VM reboot, while some users want a persistent value for PCI domain. The solution is that we can change to use the device serial number, which starts with 1 and is unique within a VM. Obtained from: Haiyang Zhang MFC after: 1 day Sponsored by: Microsoft Modified: head/sys/dev/hyperv/pcib/vmbus_pcib.c Modified: head/sys/dev/hyperv/pcib/vmbus_pcib.c ============================================================================== --- head/sys/dev/hyperv/pcib/vmbus_pcib.c Thu Jun 8 08:10:57 2017 (r319689) +++ head/sys/dev/hyperv/pcib/vmbus_pcib.c Thu Jun 8 12:11:30 2017 (r319690) @@ -574,6 +574,8 @@ new_pcichild_device(struct hv_pcibus *hbus, struct pci hpdev->desc = *desc; mtx_lock(&hbus->device_list_lock); + if (TAILQ_EMPTY(&hbus->children)) + hbus->pci_domain = desc->ser & 0xFFFF; TAILQ_INSERT_TAIL(&hbus->children, hpdev, link); mtx_unlock(&hbus->device_list_lock); return (hpdev); From owner-svn-src-all@freebsd.org Thu Jun 8 12:39:04 2017 Return-Path: Delivered-To: svn-src-all@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 557F6BFE4AE; Thu, 8 Jun 2017 12:39:04 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 25EE080593; Thu, 8 Jun 2017 12:39:04 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58Cd3bJ074056; Thu, 8 Jun 2017 12:39:03 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58Cd3Hg074055; Thu, 8 Jun 2017 12:39:03 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <201706081239.v58Cd3Hg074055@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Thu, 8 Jun 2017 12:39:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r319691 - svnadmin/conf X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 12:39:04 -0000 Author: sjg Date: Thu Jun 8 12:39:03 2017 New Revision: 319691 URL: https://svnweb.freebsd.org/changeset/base/319691 Log: Release phil to the wild Reviewed by: theraven Modified: svnadmin/conf/mentors Modified: svnadmin/conf/mentors ============================================================================== --- svnadmin/conf/mentors Thu Jun 8 12:11:30 2017 (r319690) +++ svnadmin/conf/mentors Thu Jun 8 12:39:03 2017 (r319691) @@ -22,7 +22,6 @@ jwd rmacklem kadesai ken Co-mentor: scottl, ambrisko mahrens mckusick peterj jhb Co-mentor: grog -phil theraven Co-mentor: sjg rgrimes grehan slm ken Co-mentor: scottl, ambrisko stevek sjg From owner-svn-src-all@freebsd.org Thu Jun 8 12:58:35 2017 Return-Path: Delivered-To: svn-src-all@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 A9628BFE88E; Thu, 8 Jun 2017 12:58:35 +0000 (UTC) (envelope-from phil@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 4DD8280D64; Thu, 8 Jun 2017 12:58:35 +0000 (UTC) (envelope-from phil@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58CwYGK082156; Thu, 8 Jun 2017 12:58:34 GMT (envelope-from phil@FreeBSD.org) Received: (from phil@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58CwYfk082152; Thu, 8 Jun 2017 12:58:34 GMT (envelope-from phil@FreeBSD.org) Message-Id: <201706081258.v58CwYfk082152@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: phil set sender to phil@FreeBSD.org using -f From: Phil Shafer Date: Thu, 8 Jun 2017 12:58:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319692 - in vendor/Juniper/libxo/dist: . doc encoder/cbor encoder/test libxo tests/core tests/core/saved tests/gettext tests/xo xo xohtml xopo X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 12:58:35 -0000 Author: phil Date: Thu Jun 8 12:58:33 2017 New Revision: 319692 URL: https://svnweb.freebsd.org/changeset/base/319692 Log: Import libxo 0.8.0 Modified: vendor/Juniper/libxo/dist/Makefile.am vendor/Juniper/libxo/dist/configure.ac vendor/Juniper/libxo/dist/doc/libxo-manual.html vendor/Juniper/libxo/dist/doc/libxo.txt vendor/Juniper/libxo/dist/encoder/cbor/enc_cbor.c vendor/Juniper/libxo/dist/encoder/test/enc_test.c vendor/Juniper/libxo/dist/libxo/libxo.c vendor/Juniper/libxo/dist/libxo/xo.h vendor/Juniper/libxo/dist/libxo/xo_buf.h vendor/Juniper/libxo/dist/libxo/xo_encoder.c vendor/Juniper/libxo/dist/libxo/xo_encoder.h vendor/Juniper/libxo/dist/libxo/xo_syslog.c vendor/Juniper/libxo/dist/tests/core/Makefile.am vendor/Juniper/libxo/dist/tests/core/saved/test_01.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_02.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_03.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_04.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_05.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_06.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_07.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_08.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_09.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_10.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_11.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_11.HIPx.out vendor/Juniper/libxo/dist/tests/core/saved/test_12.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_12.H.out vendor/Juniper/libxo/dist/tests/core/saved/test_12.HIPx.out vendor/Juniper/libxo/dist/tests/core/saved/test_12.HP.out vendor/Juniper/libxo/dist/tests/core/saved/test_12.J.out vendor/Juniper/libxo/dist/tests/core/saved/test_12.JP.out vendor/Juniper/libxo/dist/tests/core/saved/test_12.T.out vendor/Juniper/libxo/dist/tests/core/saved/test_12.X.out vendor/Juniper/libxo/dist/tests/core/saved/test_12.XP.out vendor/Juniper/libxo/dist/tests/core/test_12.c vendor/Juniper/libxo/dist/tests/gettext/Makefile.am vendor/Juniper/libxo/dist/tests/xo/Makefile.am vendor/Juniper/libxo/dist/xo/xo.1 vendor/Juniper/libxo/dist/xohtml/xohtml.1 vendor/Juniper/libxo/dist/xopo/xopo.1 vendor/Juniper/libxo/dist/xopo/xopo.c Modified: vendor/Juniper/libxo/dist/Makefile.am ============================================================================== --- vendor/Juniper/libxo/dist/Makefile.am Thu Jun 8 12:39:03 2017 (r319691) +++ vendor/Juniper/libxo/dist/Makefile.am Thu Jun 8 12:58:33 2017 (r319692) @@ -100,4 +100,25 @@ ANALYZE_DIR = ~/trash/libxo ANALYZE_CMD = scan-build-mp-3.6 analyze: + ${MAKE} clean ${ANALYZE_CMD} -o ${ANALYZE_DIR} ${MAKE} + +SANIFLAGS=-fno-omit-frame-pointer -g -O2 + +sanitize-address: + ${MAKE} clean + ${MAKE} CFLAGS="-fsanitize=address ${SANIFLAGS}" + ${MAKE} install + ${MAKE} test + +sanitize-undefined: + ${MAKE} clean + ${MAKE} CFLAGS="-fsanitize=undefined ${SANIFLAGS}" + ${MAKE} install + ${MAKE} test + +sanitize-memory: + ${MAKE} clean + ${MAKE} CFLAGS="-fsanitize=memory ${SANIFLAGS}" + ${MAKE} install + ${MAKE} test Modified: vendor/Juniper/libxo/dist/configure.ac ============================================================================== --- vendor/Juniper/libxo/dist/configure.ac Thu Jun 8 12:39:03 2017 (r319691) +++ vendor/Juniper/libxo/dist/configure.ac Thu Jun 8 12:58:33 2017 (r319692) @@ -12,7 +12,7 @@ # AC_PREREQ(2.2) -AC_INIT([libxo], [0.7.2], [phil@juniper.net]) +AC_INIT([libxo], [0.8.0], [phil@juniper.net]) AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability]) # Support silent build rules. Requires at least automake-1.11. Modified: vendor/Juniper/libxo/dist/doc/libxo-manual.html ============================================================================== --- vendor/Juniper/libxo/dist/doc/libxo-manual.html Thu Jun 8 12:39:03 2017 (r319691) +++ vendor/Juniper/libxo/dist/doc/libxo-manual.html Thu Jun 8 12:58:33 2017 (r319692) @@ -515,7 +515,7 @@ li.indline1 { } @top-right { - content: "May 2017"; + content: "June 2017"; } @top-center { @@ -21983,15 +21983,17 @@ jQuery(function ($) { - - - - - - - - - + + + + + + + + + + + @@ -22009,7 +22011,7 @@ jQuery(function ($) { -May 15, 2017 +June 3, 2017

libxo: The Easy Way to Generate text, XML, JSON, and HTML output
libxo-manual

@@ -22018,398 +22020,413 @@ jQuery(function ($) {
  • 1   
    -Overview
    • -
      1.1   
      -Getting libxo
    • -
      2   
      +
      3   
      Formatting with libxo +
    • +
    • +
      4   
      +Command-line Arguments
    • -
      3   
      +
      5   
      The libxo API
    • -
      4   
      +
      6   
      The "xo" Utility
    • -
      5   
      +
      7   
      xolint
    • -
      6   
      +
      8   
      xohtml
    • -
      7   
      +
      9   
      xopo
    • -
      8   
      +
      10   
      FAQs
    • -
      9   
      +
      11   
      Howtos: Focused Directions
    • -
      10   
      +
      12   
      Examples
    • @@ -22642,14 +22659,31 @@ jQuery(function ($) { Overview

      libxo - A Library for Generating Text, XML, JSON, and HTML Output

      -

      You want to prepare for the future, but you need to live in the present. You'd love a flying car, but need to get to work today. You want to support features like XML, JSON, and HTML rendering to allow integration with NETCONF, REST, and web browsers, but you need to make text output for command line users. And you don't want multiple code paths that can't help but get out of sync. None of this "if (xml) {... } else {...}" logic. And ifdefs are right out. But you'd really, really like all the fancy features that modern encoding formats can provide. libxo can help.

      -

      The libxo library allows an application to generate text, XML, JSON, and HTML output using a common set of function calls. The application decides at run time which output style should be produced. The application calls a function "xo_emit" to product output that is described in a format string. A "field descriptor" tells libxo what the field is and what it means. Each field descriptor is placed in braces with a printf-like format string (Section 2.2):

      +

      You want to prepare for the future, but you need to live in the present. You'd love a flying car, but need to get to work today. You want to support features like XML, JSON, and HTML rendering to allow integration with NETCONF, REST, and web browsers, but you need to make text output for command line users.

      +

      And you don't want multiple code paths that can't help but get out of sync:

      +    /* None of this "if (xml) {... } else {...}"  logic */
      +    if (xml) {
      +        /* some code to make xml*/
      +    } else {
      +        /* other code to make text */
      +        /* oops forgot to add something on both clauses! */
      +    }
      +
      +    /* And ifdefs are right out. */
      +    #ifdef MAKE_XML
      +        /* icky */
      +    #else
      +        /* pooh */
      +    #endif
      +	    

      But you'd really, really like all the fancy features that modern encoding formats can provide. libxo can help.

      +

      The libxo library allows an application to generate text, XML, JSON, and HTML output using a common set of function calls. The application decides at run time which output style should be produced. The application calls a function "xo_emit" to product output that is described in a format string. A "field descriptor" tells libxo what the field is and what it means. Each field descriptor is placed in braces with a printf-like format string (Section 3.2):

      +
           xo_emit(" {:lines/%7ju} {:words/%7ju} "
                   "{:characters/%7ju} {d:filename/%s}\n",
                   linect, wordct, charct, file);
      -	    

      Each field can have a role, with the 'value' role being the default, and the role tells libxo how and when to render that field. Output can then be generated in various style, using the "‑‑libxo" option:

      -
      +	    

      Each field can have a role, with the 'value' role being the default, and the role tells libxo how and when to render that field (see Section 3.2.1 for details). Modifiers change how the field is rendered in different output styles (see Section 3.2.2 for details. Output can then be generated in various style, using the "‑‑libxo" option:

      +
           % wc /etc/motd
                 25     165    1140 /etc/motd
           % wc --libxo xml,pretty,warn /etc/motd
      @@ -22685,160 +22719,164 @@ jQuery(function ($) {
             <div class="text"> </div>
             <div class="data" data-tag="filename">/etc/motd</div>
           </div>
      -	    

      Section Contents:

      - +

      Same code path, same format strings, same information, but it's rendered in distinct styles based on run-time flags.

      + +
      -

      +

      -1.1 
      +2_ 

      Getting libxo - -

      libxo lives on github as:

      -

      https://github.com/Juniper/libxo

      -

      The latest release of libxo is available at:

      -

      https://github.com/Juniper/libxo/releases

      -

      We are following the branching scheme from http://nvie.com/posts/a-successful-git-branching-model/ which means we will do development under the "develop" branch, and release from the "master" branch. To clone a developer tree, run the following command:

      -
      +
      +

      libxo now ships as part of the FreeBSD Operating System (as of -11).

      +

      libxo lives on github as:

      +

      https://github.com/Juniper/libxo

      +

      The latest release of libxo is available at:

      +

      https://github.com/Juniper/libxo/releases

      +

      We are following the branching scheme from http://nvie.com/posts/a-successful-git-branching-model/ which means we will do development under the "develop" branch, and release from the "master" branch. To clone a developer tree, run the following command:

      +
         git clone https://github.com/Juniper/libxo.git -b develop
      -	    

      We're using semantic release numbering, as defined in http://semver.org/spec/v2.0.0.html.

      -

      libxo is open source, distributed under the BSD license. It shipped as part of the FreeBSD operating system starting with release 11.0.

      -

      Issues, problems, and bugs should be directly to the issues page on our github site.

      -

      Section Contents:

      +

      We're using semantic release numbering, as defined in http://semver.org/spec/v2.0.0.html.

      +

      libxo is open source, distributed under the BSD license. It shipped as part of the FreeBSD operating system starting with release 11.0.

      +

      Issues, problems, and bugs should be directly to the issues page on our github site.

      +

      Section Contents:

      -

      +

      -1.1.1 
      +2.1 

      Downloading libxo Source Code - -

      You can retrieve the source for libxo in two ways:

      -

      A) Use a "distfile" for a specific release. We use github to maintain our releases. Visit github release page (https://github.com/Juniper/libxo/releases) to see the list of releases. To download the latest, look for the release with the green "Latest release" button and the green "libxo‑RELEASE.tar.gz" button under that section.

      -

      After downloading that release's distfile, untar it as follows:

      -
      +
      +

      You can retrieve the source for libxo in two ways:

      +

      A) Use a "distfile" for a specific release. We use github to maintain our releases. Visit github release page (https://github.com/Juniper/libxo/releases) to see the list of releases. To download the latest, look for the release with the green "Latest release" button and the green "libxo‑RELEASE.tar.gz" button under that section.

      +

      After downloading that release's distfile, untar it as follows:

      +
           tar -zxf libxo-RELEASE.tar.gz
           cd libxo-RELEASE
      -	    

      [Note: for Solaris users, your "tar" command lacks the "‑z" flag, so you'll need to substitute "gzip -dc "file" | tar xf -" instead of "tar -zxf "file"".]

      -

      B) Use the current build from github. This gives you the most recent source code, which might be less stable than a specific release. To build libxo from the git repo:

      -
      +	    

      [Note: for Solaris users, your "tar" command lacks the "‑z" flag, so you'll need to substitute "gzip -dc "file" | tar xf -" instead of "tar -zxf "file"".]

      +

      B) Use the current build from github. This gives you the most recent source code, which might be less stable than a specific release. To build libxo from the git repo:

      +
           git clone https://github.com/Juniper/libxo.git
           cd libxo
      -	    

      _BE AWARE_: The github repository does _not_ contain the files generated by "autoreconf", with the notable exception of the "m4" directory. Since these files (depcomp, configure, missing, install-sh, etc) are generated files, we keep them out of the source code repository.

      -

      This means that if you download the a release distfile, these files will be ready and you'll just need to run "configure", but if you download the source code from svn, then you'll need to run "autoreconf" by hand. This step is done for you by the "setup.sh" script, described in the next section.

      +

      _BE AWARE_: The github repository does _not_ contain the files generated by "autoreconf", with the notable exception of the "m4" directory. Since these files (depcomp, configure, missing, install-sh, etc) are generated files, we keep them out of the source code repository.

      +

      This means that if you download the a release distfile, these files will be ready and you'll just need to run "configure", but if you download the source code from svn, then you'll need to run "autoreconf" by hand. This step is done for you by the "setup.sh" script, described in the next section.

      -

      +

      -1.1.2 
      +2.2 

      Building libxo - -

      To build libxo, you'll need to set up the build, run the "configure" script, run the "make" command, and run the regression tests.

      -

      The following is a summary of the commands needed. These commands are explained in detail in the rest of this section.

      -
      +
      +

      To build libxo, you'll need to set up the build, run the "configure" script, run the "make" command, and run the regression tests.

      +

      The following is a summary of the commands needed. These commands are explained in detail in the rest of this section.

      *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Jun 8 12:58:49 2017 Return-Path: Delivered-To: svn-src-all@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 06310BFE8C7; Thu, 8 Jun 2017 12:58:49 +0000 (UTC) (envelope-from phil@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 B23D080DED; Thu, 8 Jun 2017 12:58:48 +0000 (UTC) (envelope-from phil@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58Cwl9P082207; Thu, 8 Jun 2017 12:58:47 GMT (envelope-from phil@FreeBSD.org) Received: (from phil@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58CwlNk082206; Thu, 8 Jun 2017 12:58:47 GMT (envelope-from phil@FreeBSD.org) Message-Id: <201706081258.v58CwlNk082206@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: phil set sender to phil@FreeBSD.org using -f From: Phil Shafer Date: Thu, 8 Jun 2017 12:58:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319693 - vendor/Juniper/libxo/0.8.0 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 12:58:49 -0000 Author: phil Date: Thu Jun 8 12:58:47 2017 New Revision: 319693 URL: https://svnweb.freebsd.org/changeset/base/319693 Log: Tag libxo 0.8.0 Added: - copied from r319692, vendor/Juniper/libxo/dist/ Directory Properties: vendor/Juniper/libxo/0.8.0/ (props changed) From owner-svn-src-all@freebsd.org Thu Jun 8 13:04:03 2017 Return-Path: Delivered-To: svn-src-all@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 BD9C6BFEB5C; Thu, 8 Jun 2017 13:04:03 +0000 (UTC) (envelope-from phil@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 562E08132C; Thu, 8 Jun 2017 13:04:03 +0000 (UTC) (envelope-from phil@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58D42pv086157; Thu, 8 Jun 2017 13:04:02 GMT (envelope-from phil@FreeBSD.org) Received: (from phil@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58D41Ce086153; Thu, 8 Jun 2017 13:04:01 GMT (envelope-from phil@FreeBSD.org) Message-Id: <201706081304.v58D41Ce086153@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: phil set sender to phil@FreeBSD.org using -f From: Phil Shafer Date: Thu, 8 Jun 2017 13:04:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319694 - in head: contrib/libxo contrib/libxo/doc contrib/libxo/encoder/cbor contrib/libxo/encoder/test contrib/libxo/libxo contrib/libxo/tests/core contrib/libxo/tests/core/saved cont... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 13:04:03 -0000 Author: phil Date: Thu Jun 8 13:04:01 2017 New Revision: 319694 URL: https://svnweb.freebsd.org/changeset/base/319694 Log: Import libxo-0.8.0: - addition of --libxo colors=xxxxx color map (so I never see "blue") - fix bugs from -fsanitize=address and =undefined - utf-8 changes (remove support fore 6 byte utf-8 values, which are "historical") - add comments - fix man pages - update test cases Submitted by: phil Reviewed by: sjg Approved by: sjg (mentor) Modified: head/contrib/libxo/Makefile.am head/contrib/libxo/configure.ac head/contrib/libxo/doc/libxo-manual.html head/contrib/libxo/doc/libxo.txt head/contrib/libxo/encoder/cbor/enc_cbor.c head/contrib/libxo/encoder/test/enc_test.c head/contrib/libxo/libxo/libxo.c head/contrib/libxo/libxo/xo.h head/contrib/libxo/libxo/xo_buf.h head/contrib/libxo/libxo/xo_encoder.c head/contrib/libxo/libxo/xo_encoder.h head/contrib/libxo/libxo/xo_syslog.c head/contrib/libxo/tests/core/Makefile.am head/contrib/libxo/tests/core/saved/test_01.E.out head/contrib/libxo/tests/core/saved/test_02.E.out head/contrib/libxo/tests/core/saved/test_03.E.out head/contrib/libxo/tests/core/saved/test_04.E.out head/contrib/libxo/tests/core/saved/test_05.E.out head/contrib/libxo/tests/core/saved/test_06.E.out head/contrib/libxo/tests/core/saved/test_07.E.out head/contrib/libxo/tests/core/saved/test_08.E.out head/contrib/libxo/tests/core/saved/test_09.E.out head/contrib/libxo/tests/core/saved/test_10.E.out head/contrib/libxo/tests/core/saved/test_11.E.out head/contrib/libxo/tests/core/saved/test_11.HIPx.out head/contrib/libxo/tests/core/saved/test_12.E.out head/contrib/libxo/tests/core/saved/test_12.H.out head/contrib/libxo/tests/core/saved/test_12.HIPx.out head/contrib/libxo/tests/core/saved/test_12.HP.out head/contrib/libxo/tests/core/saved/test_12.J.out head/contrib/libxo/tests/core/saved/test_12.JP.out head/contrib/libxo/tests/core/saved/test_12.T.out head/contrib/libxo/tests/core/saved/test_12.X.out head/contrib/libxo/tests/core/saved/test_12.XP.out head/contrib/libxo/tests/core/test_12.c head/contrib/libxo/tests/gettext/Makefile.am head/contrib/libxo/tests/xo/Makefile.am head/contrib/libxo/xo/xo.1 head/contrib/libxo/xohtml/xohtml.1 head/contrib/libxo/xopo/xopo.1 head/contrib/libxo/xopo/xopo.c head/lib/libxo/add.man head/lib/libxo/xo_config.h Directory Properties: head/contrib/libxo/ (props changed) Modified: head/contrib/libxo/Makefile.am ============================================================================== --- head/contrib/libxo/Makefile.am Thu Jun 8 12:58:47 2017 (r319693) +++ head/contrib/libxo/Makefile.am Thu Jun 8 13:04:01 2017 (r319694) @@ -100,4 +100,25 @@ ANALYZE_DIR = ~/trash/libxo ANALYZE_CMD = scan-build-mp-3.6 analyze: + ${MAKE} clean ${ANALYZE_CMD} -o ${ANALYZE_DIR} ${MAKE} + +SANIFLAGS=-fno-omit-frame-pointer -g -O2 + +sanitize-address: + ${MAKE} clean + ${MAKE} CFLAGS="-fsanitize=address ${SANIFLAGS}" + ${MAKE} install + ${MAKE} test + +sanitize-undefined: + ${MAKE} clean + ${MAKE} CFLAGS="-fsanitize=undefined ${SANIFLAGS}" + ${MAKE} install + ${MAKE} test + +sanitize-memory: + ${MAKE} clean + ${MAKE} CFLAGS="-fsanitize=memory ${SANIFLAGS}" + ${MAKE} install + ${MAKE} test Modified: head/contrib/libxo/configure.ac ============================================================================== --- head/contrib/libxo/configure.ac Thu Jun 8 12:58:47 2017 (r319693) +++ head/contrib/libxo/configure.ac Thu Jun 8 13:04:01 2017 (r319694) @@ -12,7 +12,7 @@ # AC_PREREQ(2.2) -AC_INIT([libxo], [0.7.2], [phil@juniper.net]) +AC_INIT([libxo], [0.8.0], [phil@juniper.net]) AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability]) # Support silent build rules. Requires at least automake-1.11. Modified: head/contrib/libxo/doc/libxo-manual.html ============================================================================== --- head/contrib/libxo/doc/libxo-manual.html Thu Jun 8 12:58:47 2017 (r319693) +++ head/contrib/libxo/doc/libxo-manual.html Thu Jun 8 13:04:01 2017 (r319694) @@ -515,7 +515,7 @@ li.indline1 { } @top-right { - content: "May 2017"; + content: "June 2017"; } @top-center { @@ -21983,15 +21983,17 @@ jQuery(function ($) { - - - - - - - - - + + + + + + + + + + + @@ -22009,7 +22011,7 @@ jQuery(function ($) { -May 15, 2017 +June 3, 2017

      libxo: The Easy Way to Generate text, XML, JSON, and HTML output
      libxo-manual

      @@ -22018,398 +22020,413 @@ jQuery(function ($) {

      Same code path, same format strings, same information, but it's rendered in distinct styles based on run-time flags.

      + +
      -

      +

      -1.1 
      +2_ 

      Getting libxo - -

      libxo lives on github as:

      -

      https://github.com/Juniper/libxo

      -

      The latest release of libxo is available at:

      -

      https://github.com/Juniper/libxo/releases

      -

      We are following the branching scheme from http://nvie.com/posts/a-successful-git-branching-model/ which means we will do development under the "develop" branch, and release from the "master" branch. To clone a developer tree, run the following command:

      -
      +
      +

      libxo now ships as part of the FreeBSD Operating System (as of -11).

      +

      libxo lives on github as:

      +

      https://github.com/Juniper/libxo

      +

      The latest release of libxo is available at:

      +

      https://github.com/Juniper/libxo/releases

      +

      We are following the branching scheme from http://nvie.com/posts/a-successful-git-branching-model/ which means we will do development under the "develop" branch, and release from the "master" branch. To clone a developer tree, run the following command:

      +
         git clone https://github.com/Juniper/libxo.git -b develop
      -	    

      We're using semantic release numbering, as defined in http://semver.org/spec/v2.0.0.html.

      -

      libxo is open source, distributed under the BSD license. It shipped as part of the FreeBSD operating system starting with release 11.0.

      -

      Issues, problems, and bugs should be directly to the issues page on our github site.

      -

      Section Contents:

      +

      We're using semantic release numbering, as defined in http://semver.org/spec/v2.0.0.html.

      +

      libxo is open source, distributed under the BSD license. It shipped as part of the FreeBSD operating system starting with release 11.0.

      +

      Issues, problems, and bugs should be directly to the issues page on our github site.

      +

      Section Contents:

      -

      +

      -1.1.1 
      +2.1 

      Downloading libxo Source Code - -

      You can retrieve the source for libxo in two ways:

      -

      A) Use a "distfile" for a specific release. We use github to maintain our releases. Visit github release page (https://github.com/Juniper/libxo/releases) to see the list of releases. To download the latest, look for the release with the green "Latest release" button and the green "libxo‑RELEASE.tar.gz" button under that section.

      -

      After downloading that release's distfile, untar it as follows:

      -
      +
      +

      You can retrieve the source for libxo in two ways:

      +

      A) Use a "distfile" for a specific release. We use github to maintain our releases. Visit github release page (https://github.com/Juniper/libxo/releases) to see the list of releases. To download the latest, look for the release with the green "Latest release" button and the green "libxo‑RELEASE.tar.gz" button under that section.

      +

      After downloading that release's distfile, untar it as follows:

      +
           tar -zxf libxo-RELEASE.tar.gz
           cd libxo-RELEASE
      -	    

      [Note: for Solaris users, your "tar" command lacks the "‑z" flag, so you'll need to substitute "gzip -dc "file" | tar xf -" instead of "tar -zxf "file"".]

      -

      B) Use the current build from github. This gives you the most recent source code, which might be less stable than a specific release. To build libxo from the git repo:

      -
      +	    

      [Note: for Solaris users, your "tar" command lacks the "‑z" flag, so you'll need to substitute "gzip -dc "file" | tar xf -" instead of "tar -zxf "file"".]

      +

      B) Use the current build from github. This gives you the most recent source code, which might be less stable than a specific release. To build libxo from the git repo:

      +
           git clone https://github.com/Juniper/libxo.git
           cd libxo
      -	    

      _BE AWARE_: The github repository does _not_ contain the files generated by "autoreconf", with the notable exception of the "m4" directory. Since these files (depcomp, configure, missing, install-sh, etc) are generated files, we keep them out of the source code repository.

      -

      This means that if you download the a release distfile, these files will be ready and you'll just need to run "configure", but if you download the source code from svn, then you'll need to run "autoreconf" by hand. This step is done for you by the "setup.sh" script, described in the next section.

      +

      _BE AWARE_: The github repository does _not_ contain the files generated by "autoreconf", with the notable exception of the "m4" directory. Since these files (depcomp, configure, missing, install-sh, etc) are generated files, we keep them out of the source code repository.

      +

      This means that if you download the a release distfile, these files will be ready and you'll just need to run "configure", but if you download the source code from svn, then you'll need to run "autoreconf" by hand. This step is done for you by the "setup.sh" script, described in the next section.

      -

      +

      -1.1.2 
      +2.2 

      Building libxo - -

      To build libxo, you'll need to set up the build, run the "configure" script, run the "make" command, and run the regression tests.

      -

      The following is a summary of the commands needed. These commands are explained in detail in the rest of this section.

      -
      +
      +

      To build libxo, you'll need to set up the build, run the "configure" script, run the "make" command, and run the regression tests.

      +

      The following is a summary of the commands needed. These commands are explained in detail in the rest of this section.

      *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Jun 8 14:32:43 2017 Return-Path: Delivered-To: svn-src-all@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 D1CE4BFFFA0; Thu, 8 Jun 2017 14:32:43 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9BEAE847D4; Thu, 8 Jun 2017 14:32:43 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58EWgZ2024893; Thu, 8 Jun 2017 14:32:42 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58EWgd4024891; Thu, 8 Jun 2017 14:32:42 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201706081432.v58EWgd4024891@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 8 Jun 2017 14:32:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319695 - stable/11/sys/net X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 14:32:43 -0000 Author: mav Date: Thu Jun 8 14:32:42 2017 New Revision: 319695 URL: https://svnweb.freebsd.org/changeset/base/319695 Log: MFC r318907: Remove some code, dead from the day one. Approved by: re (marius) Modified: stable/11/sys/net/if_lagg.c stable/11/sys/net/if_lagg.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net/if_lagg.c ============================================================================== --- stable/11/sys/net/if_lagg.c Thu Jun 8 13:04:01 2017 (r319694) +++ stable/11/sys/net/if_lagg.c Thu Jun 8 14:32:42 2017 (r319695) @@ -1716,7 +1716,6 @@ struct lagg_port * lagg_link_active(struct lagg_softc *sc, struct lagg_port *lp) { struct lagg_port *lp_next, *rval = NULL; - // int new_link = LINK_STATE_DOWN; /* * Search a port which reports an active link state. @@ -1743,22 +1742,6 @@ search: } found: - if (rval != NULL) { - /* - * The IEEE 802.1D standard assumes that a lagg with - * multiple ports is always full duplex. This is valid - * for load sharing laggs and if at least two links - * are active. Unfortunately, checking the latter would - * be too expensive at this point. - XXX - if ((sc->sc_capabilities & IFCAP_LAGG_FULLDUPLEX) && - (sc->sc_count > 1)) - new_link = LINK_STATE_FULL_DUPLEX; - else - new_link = rval->lp_link_state; - */ - } - return (rval); } @@ -1775,7 +1758,6 @@ lagg_enqueue(struct ifnet *ifp, struct mbuf *m) static void lagg_rr_attach(struct lagg_softc *sc) { - sc->sc_capabilities = IFCAP_LAGG_FULLDUPLEX; sc->sc_seq = 0; sc->sc_bkt_count = sc->sc_bkt; } @@ -1944,9 +1926,6 @@ lagg_lb_attach(struct lagg_softc *sc) struct lagg_lb *lb; lb = malloc(sizeof(struct lagg_lb), M_DEVBUF, M_WAITOK | M_ZERO); - - sc->sc_capabilities = IFCAP_LAGG_FULLDUPLEX; - lb->lb_key = m_ether_tcpip_hash_init(); sc->sc_psc = lb; Modified: stable/11/sys/net/if_lagg.h ============================================================================== --- stable/11/sys/net/if_lagg.h Thu Jun 8 13:04:01 2017 (r319694) +++ stable/11/sys/net/if_lagg.h Thu Jun 8 14:32:42 2017 (r319695) @@ -185,10 +185,6 @@ struct lagg_ifreq { #define sc_ifflags sc_ifp->if_flags /* flags */ #define sc_ifname sc_ifp->if_xname /* name */ -#define sc_capabilities sc_ifp->if_capabilities /* capabilities */ - -#define IFCAP_LAGG_MASK 0xffff0000 /* private capabilities */ -#define IFCAP_LAGG_FULLDUPLEX 0x00010000 /* full duplex with >1 ports */ /* Private data used by the loadbalancing protocol */ struct lagg_lb { From owner-svn-src-all@freebsd.org Thu Jun 8 14:33:48 2017 Return-Path: Delivered-To: svn-src-all@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 64A7CC08025; Thu, 8 Jun 2017 14:33:48 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3434984924; Thu, 8 Jun 2017 14:33:48 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58EXlb7025012; Thu, 8 Jun 2017 14:33:47 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58EXlkw025011; Thu, 8 Jun 2017 14:33:47 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201706081433.v58EXlkw025011@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 8 Jun 2017 14:33:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319696 - stable/11/sys/net X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 14:33:48 -0000 Author: mav Date: Thu Jun 8 14:33:47 2017 New Revision: 319696 URL: https://svnweb.freebsd.org/changeset/base/319696 Log: MFC r318966: Improve applying unified capabilities to the lagg ports. Some NICs have some capabilities dependent, so that disabling one require disabling some other (TXCSUM/RXCSUM on em). This code tries to reach the consensus more insistently. Approved by: re (marius) Modified: stable/11/sys/net/if_lagg.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net/if_lagg.c ============================================================================== --- stable/11/sys/net/if_lagg.c Thu Jun 8 14:32:42 2017 (r319695) +++ stable/11/sys/net/if_lagg.c Thu Jun 8 14:33:47 2017 (r319696) @@ -561,24 +561,41 @@ static void lagg_capabilities(struct lagg_softc *sc) { struct lagg_port *lp; - int cap = ~0, ena = ~0; - u_long hwa = ~0UL; + int cap, ena, pena; + uint64_t hwa; struct ifnet_hw_tsomax hw_tsomax; LAGG_XLOCK_ASSERT(sc); - memset(&hw_tsomax, 0, sizeof(hw_tsomax)); + /* Get common enabled capabilities for the lagg ports */ + ena = ~0; + SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) + ena &= lp->lp_ifp->if_capenable; + ena = (ena == ~0 ? 0 : ena); - /* Get capabilities from the lagg ports */ + /* + * Apply common enabled capabilities back to the lagg ports. + * May require several iterations if they are dependent. + */ + do { + pena = ena; + SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) { + lagg_setcaps(lp, ena); + ena &= lp->lp_ifp->if_capenable; + } + } while (pena != ena); + + /* Get other capabilities from the lagg ports */ + cap = ~0; + hwa = ~(uint64_t)0; + memset(&hw_tsomax, 0, sizeof(hw_tsomax)); SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) { cap &= lp->lp_ifp->if_capabilities; - ena &= lp->lp_ifp->if_capenable; hwa &= lp->lp_ifp->if_hwassist; if_hw_tsomax_common(lp->lp_ifp, &hw_tsomax); } cap = (cap == ~0 ? 0 : cap); - ena = (ena == ~0 ? 0 : ena); - hwa = (hwa == ~0 ? 0 : hwa); + hwa = (hwa == ~(uint64_t)0 ? 0 : hwa); if (sc->sc_ifp->if_capabilities != cap || sc->sc_ifp->if_capenable != ena || @@ -593,10 +610,6 @@ lagg_capabilities(struct lagg_softc *sc) if_printf(sc->sc_ifp, "capabilities 0x%08x enabled 0x%08x\n", cap, ena); } - - /* Apply unified capabilities back to the lagg ports. */ - SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) - lagg_setcaps(lp, ena); } static int From owner-svn-src-all@freebsd.org Thu Jun 8 14:34:40 2017 Return-Path: Delivered-To: svn-src-all@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 DA123C0808D; Thu, 8 Jun 2017 14:34:40 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A7D8784A80; Thu, 8 Jun 2017 14:34:40 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58EYd60025096; Thu, 8 Jun 2017 14:34:39 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58EYdBt025095; Thu, 8 Jun 2017 14:34:39 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201706081434.v58EYdBt025095@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 8 Jun 2017 14:34:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319697 - stable/11/sys/net X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 14:34:41 -0000 Author: mav Date: Thu Jun 8 14:34:39 2017 New Revision: 319697 URL: https://svnweb.freebsd.org/changeset/base/319697 Log: MFC r318970: Call VLAN_CAPABILITIES() when LAGG capabilities change. This makes VLAN on top of LAGG to expose proper capabilities if they are changed after creation. Approved by: re (marius) Modified: stable/11/sys/net/if_lagg.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net/if_lagg.c ============================================================================== --- stable/11/sys/net/if_lagg.c Thu Jun 8 14:33:47 2017 (r319696) +++ stable/11/sys/net/if_lagg.c Thu Jun 8 14:34:39 2017 (r319697) @@ -890,6 +890,7 @@ lagg_port_ioctl(struct ifnet *ifp, u_long cmd, caddr_t LAGG_XLOCK(sc); lagg_capabilities(sc); LAGG_XUNLOCK(sc); + VLAN_CAPABILITIES(sc->sc_ifp); break; case SIOCSIFMTU: @@ -1003,6 +1004,7 @@ lagg_port_ifdetach(void *arg __unused, struct ifnet *i lp->lp_detaching = 1; lagg_port_destroy(lp, 1); LAGG_XUNLOCK(sc); + VLAN_CAPABILITIES(sc->sc_ifp); } static void @@ -1362,6 +1364,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data error = lagg_port_create(sc, tpif); LAGG_XUNLOCK(sc); if_rele(tpif); + VLAN_CAPABILITIES(ifp); break; case SIOCSLAGGDELPORT: error = priv_check(td, PRIV_NET_LAGG); @@ -1385,6 +1388,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data error = lagg_port_destroy(lp, 1); LAGG_XUNLOCK(sc); if_rele(tpif); + VLAN_CAPABILITIES(ifp); break; case SIOCSIFFLAGS: /* Set flags on ports too */ @@ -1435,6 +1439,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data } lagg_capabilities(sc); LAGG_XUNLOCK(sc); + VLAN_CAPABILITIES(ifp); error = 0; break; From owner-svn-src-all@freebsd.org Thu Jun 8 15:47:53 2017 Return-Path: Delivered-To: svn-src-all@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 7D0FBC09152; Thu, 8 Jun 2017 15:47:53 +0000 (UTC) (envelope-from gjb@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 4B591219E; Thu, 8 Jun 2017 15:47:53 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58Flqe7053714; Thu, 8 Jun 2017 15:47:52 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58FlqFs053713; Thu, 8 Jun 2017 15:47:52 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706081547.v58FlqFs053713@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 8 Jun 2017 15:47:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319698 - stable/11/release/arm X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 15:47:53 -0000 Author: gjb Date: Thu Jun 8 15:47:52 2017 New Revision: 319698 URL: https://svnweb.freebsd.org/changeset/base/319698 Log: MFC r319603, r319608, r319609: Create a hard link for sun7i-a20-cubieboard2.dtb to allow the cubieboard2 to find the correct dtb file. Note: r319608 and r319609 are included, but are no-op changes to the original change, and only included to prevent these commits from showing up on the MFC tracking page. Approved by: re (marius) Sponsored by: The FreeBSD Foundation Modified: stable/11/release/arm/CUBIEBOARD2.conf Directory Properties: stable/11/ (props changed) Modified: stable/11/release/arm/CUBIEBOARD2.conf ============================================================================== --- stable/11/release/arm/CUBIEBOARD2.conf Thu Jun 8 14:34:39 2017 (r319697) +++ stable/11/release/arm/CUBIEBOARD2.conf Thu Jun 8 15:47:52 2017 (r319698) @@ -30,6 +30,8 @@ arm_install_uboot() { chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \ ${FATMOUNT}/ubldr.bin + chroot ${CHROOTDIR} ln ${UFSMOUNT}/boot/dtb/cubieboard2.dtb \ + ${UFSMOUNT}/boot/dtb/sun7i-a20-cubieboard2.dtb chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot sync umount_loop ${CHROOTDIR}/${FATMOUNT} From owner-svn-src-all@freebsd.org Thu Jun 8 15:48:55 2017 Return-Path: Delivered-To: svn-src-all@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 F09DAC091BA; Thu, 8 Jun 2017 15:48:55 +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 BF97122E1; Thu, 8 Jun 2017 15:48:55 +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 v58Fmsqa053789; Thu, 8 Jun 2017 15:48:54 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58FmsJo053788; Thu, 8 Jun 2017 15:48:54 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201706081548.v58FmsJo053788@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Thu, 8 Jun 2017 15:48:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319699 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 15:48:56 -0000 Author: alc Date: Thu Jun 8 15:48:54 2017 New Revision: 319699 URL: https://svnweb.freebsd.org/changeset/base/319699 Log: When allocating swap blocks, if the available number of free blocks in a subtree is already zero, then setting the "largest contiguous free block" hint for that subtree to anything other than zero makes no sense. To be clear, assigning a value to the hint that is too large is not a correctness problem, only a pessimization. Dragonfly BSD has applied the same change to blst_meta_alloc() but not blst_meta_fill(). MFC after: 6 weeks Modified: head/sys/kern/subr_blist.c Modified: head/sys/kern/subr_blist.c ============================================================================== --- head/sys/kern/subr_blist.c Thu Jun 8 15:47:52 2017 (r319698) +++ head/sys/kern/subr_blist.c Thu Jun 8 15:48:54 2017 (r319699) @@ -419,7 +419,7 @@ blst_meta_alloc( /* * ALL-ALLOCATED special case */ - scan->bm_bighint = count; + scan->bm_bighint = 0; return(SWAPBLK_NONE); } @@ -774,7 +774,7 @@ blst_meta_fill( */ nblks = scan->u.bmu_avail; scan->u.bmu_avail = 0; - scan->bm_bighint = count; + scan->bm_bighint = 0; return nblks; } From owner-svn-src-all@freebsd.org Thu Jun 8 15:50:52 2017 Return-Path: Delivered-To: svn-src-all@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 086B7C09233; Thu, 8 Jun 2017 15:50: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 CA9B12553; Thu, 8 Jun 2017 15:50:51 +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 v58FooC5055302; Thu, 8 Jun 2017 15:50:50 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58Fooe6055301; Thu, 8 Jun 2017 15:50:50 GMT (envelope-from manu@FreeBSD.org) Message-Id: <201706081550.v58Fooe6055301@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Thu, 8 Jun 2017 15:50:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319700 - stable/11/release/arm X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 15:50:52 -0000 Author: manu Date: Thu Jun 8 15:50:50 2017 New Revision: 319700 URL: https://svnweb.freebsd.org/changeset/base/319700 Log: Currently stable/11 is using custom DTS for beaglebone(-black) while CURRENT is using the upstream ones from Linux. U-Boot ports have been changed to use the upstream names so 11.1-PRERELEASE doesn't boot. Since we cannot MFC the DTS easily (a lot of drivers would have to be modified) add links on the dts with upstream names. This is a direct commit to stable/11 Approved by: re (marius) Modified: stable/11/release/arm/BEAGLEBONE.conf Modified: stable/11/release/arm/BEAGLEBONE.conf ============================================================================== --- stable/11/release/arm/BEAGLEBONE.conf Thu Jun 8 15:48:54 2017 (r319699) +++ stable/11/release/arm/BEAGLEBONE.conf Thu Jun 8 15:50:50 2017 (r319700) @@ -28,6 +28,10 @@ arm_install_uboot() { chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \ ${FATMOUNT}/ubldr.bin + chroot ${CHROOTDIR} ln ${UFSMOUNT}/boot/dtb/beaglebone.dtb \ + ${UFSMOUNT}/boot/dtb/am335x-bone.dtb + chroot ${CHROOTDIR} ln ${UFSMOUNT}/boot/dtb/beaglebone-black.dtb \ + ${UFSMOUNT}/boot/dtb/am335x-boneblack.dtb chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot sync umount_loop ${CHROOTDIR}/${FATMOUNT} From owner-svn-src-all@freebsd.org Thu Jun 8 16:04:14 2017 Return-Path: Delivered-To: svn-src-all@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 727A0C0980D; Thu, 8 Jun 2017 16:04:14 +0000 (UTC) (envelope-from gjb@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 373C82E65; Thu, 8 Jun 2017 16:04:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58G4Dgr061942; Thu, 8 Jun 2017 16:04:13 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58G4Dms061941; Thu, 8 Jun 2017 16:04:13 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706081604.v58G4Dms061941@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 8 Jun 2017 16:04:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r319701 - stable/10/release X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 16:04:14 -0000 Author: gjb Date: Thu Jun 8 16:04:13 2017 New Revision: 319701 URL: https://svnweb.freebsd.org/changeset/base/319701 Log: MFC r313021, r319621: r313021 (brd): Force a few variables to be uppercase when they are evaluated. r319621: Ensure ${_CW} is uppercase when passing '-c' to mk-vmimage.sh, otherwise with 'CLOUDWARE=vagrant-virtualbox', the path to the configuration file may be incorrect. Sponsored by: The FreeBSD Foundation Modified: stable/10/release/Makefile.vm Directory Properties: stable/10/ (props changed) Modified: stable/10/release/Makefile.vm ============================================================================== --- stable/10/release/Makefile.vm Thu Jun 8 15:50:50 2017 (r319700) +++ stable/10/release/Makefile.vm Thu Jun 8 16:04:13 2017 (r319701) @@ -61,8 +61,8 @@ cw-${_CW:tl}: env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} \ - -i ${.OBJDIR}/${_CW:tl}.img -s ${VMSIZE} -f ${${_CW}_FORMAT} \ - -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW}IMAGE} -c ${${_CW}CONF} + -i ${.OBJDIR}/${_CW:tl}.img -s ${VMSIZE} -f ${${_CW:tu}_FORMAT} \ + -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}IMAGE} -c ${${_CW:tu}CONF} touch ${.TARGET} cw${_CW:tl}-install: From owner-svn-src-all@freebsd.org Thu Jun 8 16:18:42 2017 Return-Path: Delivered-To: svn-src-all@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 EE1D6C09A72; Thu, 8 Jun 2017 16:18:42 +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 BE64E349B; Thu, 8 Jun 2017 16:18:42 +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 v58GIfTW066107; Thu, 8 Jun 2017 16:18:41 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58GIfZi066106; Thu, 8 Jun 2017 16:18:41 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706081618.v58GIfZi066106@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 8 Jun 2017 16:18:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319702 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 16:18:43 -0000 Author: jhb Date: Thu Jun 8 16:18:41 2017 New Revision: 319702 URL: https://svnweb.freebsd.org/changeset/base/319702 Log: Fix an off-by-one error in the VM page array on some systems. r31386 changed how the size of the VM page array was calculated to be less wasteful. For most systems, the amount of memory is divided by the overhead required by each page (a page of data plus a struct vm_page) to determine the maximum number of available pages. However, if the remainder for the first non-available page was at least a page of data (so that the only memory missing was a struct vm_page), this last page was left in phys_avail[] but was not allocated an entry in the VM page array. Handle this case by explicitly excluding the page from phys_avail[]. Reviewed by: alc Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D11000 Modified: head/sys/vm/vm_page.c Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Thu Jun 8 16:04:13 2017 (r319701) +++ head/sys/vm/vm_page.c Thu Jun 8 16:18:41 2017 (r319702) @@ -573,8 +573,13 @@ vm_page_startup(vm_offset_t vaddr) size += vm_phys_segs[i].end - vm_phys_segs[i].start; for (i = 0; phys_avail[i + 1] != 0; i += 2) size += phys_avail[i + 1] - phys_avail[i]; - page_range = size / (PAGE_SIZE + sizeof(struct vm_page)); #elif defined(VM_PHYSSEG_DENSE) + size = high_avail - low_avail; +#else +#error "Either VM_PHYSSEG_DENSE or VM_PHYSSEG_SPARSE must be defined." +#endif + +#ifdef VM_PHYSSEG_DENSE /* * In the VM_PHYSSEG_DENSE case, the number of pages can account for * the overhead of a page structure per page only if vm_page_array is @@ -582,14 +587,27 @@ vm_page_startup(vm_offset_t vaddr) * allocate page structures representing the physical memory * underlying vm_page_array, even though they will not be used. */ - if (new_end == high_avail) - page_range = (high_avail - low_avail) / (PAGE_SIZE + - sizeof(struct vm_page)); + if (new_end != high_avail) + page_range = size / PAGE_SIZE; else - page_range = high_avail / PAGE_SIZE - first_page; -#else -#error "Either VM_PHYSSEG_DENSE or VM_PHYSSEG_SPARSE must be defined." #endif + { + page_range = size / (PAGE_SIZE + sizeof(struct vm_page)); + + /* + * If the partial bytes remaining are large enough for + * a page (PAGE_SIZE) without a corresponding + * 'struct vm_page', then new_end will contain an + * extra page after subtracting the length of the VM + * page array. Compensate by subtracting an extra + * page from new_end. + */ + if (size % (PAGE_SIZE + sizeof(struct vm_page)) >= PAGE_SIZE) { + if (new_end == high_avail) + high_avail -= PAGE_SIZE; + new_end -= PAGE_SIZE; + } + } end = new_end; /* From owner-svn-src-all@freebsd.org Thu Jun 8 16:46:39 2017 Return-Path: Delivered-To: svn-src-all@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 4742FC0A123; Thu, 8 Jun 2017 16:46:39 +0000 (UTC) (envelope-from zbb@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 217C5642BD; Thu, 8 Jun 2017 16:46:39 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58GkcY9078043; Thu, 8 Jun 2017 16:46:38 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58Gkc5w078042; Thu, 8 Jun 2017 16:46:38 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201706081646.v58Gkc5w078042@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Thu, 8 Jun 2017 16:46:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319703 - head/sys/arm/mv/armada38x X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 16:46:39 -0000 Author: zbb Date: Thu Jun 8 16:46:38 2017 New Revision: 319703 URL: https://svnweb.freebsd.org/changeset/base/319703 Log: Add reset capability to mv_rtc driver This commit enables optional reset of the RTC, in case its registers' contents did not sustain the reboot or power-off/on sequence. Without it, further usage of RTC is impossible (e.g. writing values to RTC_TIME register will not succeed). The reset is performed only if Clock Correction register does not comprise RTC_NOMINAL_TIMING, what helps to distinguish, whether the software configured RTC before or it comprises the default value. Submitted by: Bartosz Szczepanek Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D10900 Modified: head/sys/arm/mv/armada38x/rtc.c Modified: head/sys/arm/mv/armada38x/rtc.c ============================================================================== --- head/sys/arm/mv/armada38x/rtc.c Thu Jun 8 16:18:41 2017 (r319702) +++ head/sys/arm/mv/armada38x/rtc.c Thu Jun 8 16:46:38 2017 (r319703) @@ -56,7 +56,19 @@ __FBSDID("$FreeBSD$"); #define RTC_STATUS 0x0 #define RTC_TIME 0xC +#define RTC_TEST_CONFIG 0x1C +#define RTC_IRQ_1_CONFIG 0x4 +#define RTC_IRQ_2_CONFIG 0x8 +#define RTC_ALARM_1 0x10 +#define RTC_ALARM_2 0x14 +#define RTC_CLOCK_CORR 0x18 +#define RTC_NOMINAL_TIMING 0x2000 +#define RTC_NOMINAL_TIMING_MASK 0x7fff + +#define RTC_STATUS_ALARM1_MASK 0x1 +#define RTC_STATUS_ALARM2_MASK 0x2 + #define MV_RTC_LOCK(sc) mtx_lock(&(sc)->mutex) #define MV_RTC_UNLOCK(sc) mtx_unlock(&(sc)->mutex) @@ -103,6 +115,43 @@ static devclass_t mv_rtc_devclass; DRIVER_MODULE(mv_rtc, simplebus, mv_rtc_driver, mv_rtc_devclass, 0, 0); +static void +mv_rtc_reset(device_t dev) +{ + struct mv_rtc_softc *sc; + + sc = device_get_softc(dev); + + /* Reset Test register */ + mv_rtc_reg_write(sc, RTC_TEST_CONFIG, 0); + DELAY(500000); + + /* Reset Time register */ + mv_rtc_reg_write(sc, RTC_TIME, 0); + DELAY(62); + + /* Reset Status register */ + mv_rtc_reg_write(sc, RTC_STATUS, (RTC_STATUS_ALARM1_MASK | RTC_STATUS_ALARM2_MASK)); + DELAY(62); + + /* Turn off Int1 and Int2 sources & clear the Alarm count */ + mv_rtc_reg_write(sc, RTC_IRQ_1_CONFIG, 0); + mv_rtc_reg_write(sc, RTC_IRQ_2_CONFIG, 0); + mv_rtc_reg_write(sc, RTC_ALARM_1, 0); + mv_rtc_reg_write(sc, RTC_ALARM_2, 0); + + /* Setup nominal register access timing */ + mv_rtc_reg_write(sc, RTC_CLOCK_CORR, RTC_NOMINAL_TIMING); + + /* Reset Time register */ + mv_rtc_reg_write(sc, RTC_TIME, 0); + DELAY(10); + + /* Reset Status register */ + mv_rtc_reg_write(sc, RTC_STATUS, (RTC_STATUS_ALARM1_MASK | RTC_STATUS_ALARM2_MASK)); + DELAY(50); +} + static int mv_rtc_probe(device_t dev) { @@ -197,6 +246,12 @@ mv_rtc_settime(device_t dev, struct timespec *ts) ts->tv_nsec = 0; MV_RTC_LOCK(sc); + + if ((mv_rtc_reg_read(sc, RTC_CLOCK_CORR) & RTC_NOMINAL_TIMING_MASK) != + RTC_NOMINAL_TIMING) { + /* RTC was not resetted yet */ + mv_rtc_reset(dev); + } /* * According to errata FE-3124064, Write to RTC TIME register From owner-svn-src-all@freebsd.org Thu Jun 8 16:48:10 2017 Return-Path: Delivered-To: svn-src-all@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 73CC3C0A19C; Thu, 8 Jun 2017 16:48:10 +0000 (UTC) (envelope-from zbb@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 4DCD464430; Thu, 8 Jun 2017 16:48:10 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58Gm9ki078140; Thu, 8 Jun 2017 16:48:09 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58Gm9c5078139; Thu, 8 Jun 2017 16:48:09 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201706081648.v58Gm9c5078139@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Thu, 8 Jun 2017 16:48:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319704 - head/sys/arm/mv/armada38x X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 16:48:10 -0000 Author: zbb Date: Thu Jun 8 16:48:09 2017 New Revision: 319704 URL: https://svnweb.freebsd.org/changeset/base/319704 Log: Enable MBUS bridge configuration in mv_rtc driver This patch fixes sporadic problems with updating time with mv_rtc driver by configuring access to it via MBUS. For this purpose already existing second set of resources in rtc@3800 node of Armada 38x DT is used. Submitted by: Dominik Ermel Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D10901 Modified: head/sys/arm/mv/armada38x/rtc.c Modified: head/sys/arm/mv/armada38x/rtc.c ============================================================================== --- head/sys/arm/mv/armada38x/rtc.c Thu Jun 8 16:46:38 2017 (r319703) +++ head/sys/arm/mv/armada38x/rtc.c Thu Jun 8 16:48:09 2017 (r319704) @@ -69,17 +69,30 @@ __FBSDID("$FreeBSD$"); #define RTC_STATUS_ALARM1_MASK 0x1 #define RTC_STATUS_ALARM2_MASK 0x2 -#define MV_RTC_LOCK(sc) mtx_lock(&(sc)->mutex) -#define MV_RTC_UNLOCK(sc) mtx_unlock(&(sc)->mutex) +#define MV_RTC_LOCK(sc) mtx_lock_spin(&(sc)->mutex) +#define MV_RTC_UNLOCK(sc) mtx_unlock_spin(&(sc)->mutex) +#define RTC_BRIDGE_TIMING_CTRL 0x0 +#define RTC_WRCLK_PERIOD_SHIFT 0 +#define RTC_WRCLK_PERIOD_MASK 0x00000003FF +#define RTC_WRCLK_PERIOD_MAX 0x3FF +#define RTC_READ_OUTPUT_DELAY_SHIFT 26 +#define RTC_READ_OUTPUT_DELAY_MASK 0x007C000000 +#define RTC_READ_OUTPUT_DELAY_MAX 0x1F + +#define RTC_RES 0 +#define RTC_SOC_RES 1 + + static struct resource_spec res_spec[] = { { SYS_RES_MEMORY, 0, RF_ACTIVE }, + { SYS_RES_MEMORY, 1, RF_ACTIVE }, { -1, 0 } }; struct mv_rtc_softc { device_t dev; - struct resource *res; + struct resource *res[2]; struct mtx mutex; }; @@ -90,9 +103,11 @@ static int mv_rtc_detach(device_t dev); static int mv_rtc_gettime(device_t dev, struct timespec *ts); static int mv_rtc_settime(device_t dev, struct timespec *ts); -static uint32_t mv_rtc_reg_read(struct mv_rtc_softc *sc, bus_size_t off); -static int mv_rtc_reg_write(struct mv_rtc_softc *sc, bus_size_t off, +static inline uint32_t mv_rtc_reg_read(struct mv_rtc_softc *sc, + bus_size_t off); +static inline int mv_rtc_reg_write(struct mv_rtc_softc *sc, bus_size_t off, uint32_t val); +static inline void mv_rtc_configure_bus(struct mv_rtc_softc *sc); static device_method_t mv_rtc_methods[] = { DEVMETHOD(device_probe, mv_rtc_probe), @@ -180,14 +195,16 @@ mv_rtc_attach(device_t dev) clock_register(dev, RTC_RES_US); - mtx_init(&sc->mutex, device_get_nameunit(dev), NULL, MTX_DEF); + mtx_init(&sc->mutex, device_get_nameunit(dev), NULL, MTX_SPIN); - ret = bus_alloc_resources(dev, res_spec, &sc->res); + ret = bus_alloc_resources(dev, res_spec, sc->res); + if (ret != 0) { device_printf(dev, "could not allocate resources\n"); mtx_destroy(&sc->mutex); return (ENXIO); } + mv_rtc_configure_bus(sc); return (0); } @@ -201,7 +218,7 @@ mv_rtc_detach(device_t dev) mtx_destroy(&sc->mutex); - bus_release_resources(dev, res_spec, &sc->res); + bus_release_resources(dev, res_spec, sc->res); return (0); } @@ -267,11 +284,11 @@ mv_rtc_settime(device_t dev, struct timespec *ts) return (0); } -static uint32_t +static inline uint32_t mv_rtc_reg_read(struct mv_rtc_softc *sc, bus_size_t off) { - return (bus_read_4(sc->res, off)); + return (bus_read_4(sc->res[RTC_RES], off)); } /* @@ -279,12 +296,24 @@ mv_rtc_reg_read(struct mv_rtc_softc *sc, bus_size_t of * register write to the RTC hard macro so that the required update * can occur without holding off the system bus */ -static int +static inline int mv_rtc_reg_write(struct mv_rtc_softc *sc, bus_size_t off, uint32_t val) { - bus_write_4(sc->res, off, val); + bus_write_4(sc->res[RTC_RES], off, val); DELAY(5); return (0); +} + +static inline void +mv_rtc_configure_bus(struct mv_rtc_softc *sc) +{ + int val; + + val = bus_read_4(sc->res[RTC_SOC_RES], RTC_BRIDGE_TIMING_CTRL); + val &= ~(RTC_WRCLK_PERIOD_MASK | RTC_READ_OUTPUT_DELAY_MASK); + val |= RTC_WRCLK_PERIOD_MAX << RTC_WRCLK_PERIOD_SHIFT; + val |= RTC_READ_OUTPUT_DELAY_MAX << RTC_READ_OUTPUT_DELAY_SHIFT; + bus_write_4(sc->res[RTC_SOC_RES], RTC_BRIDGE_TIMING_CTRL, val); } From owner-svn-src-all@freebsd.org Thu Jun 8 16:51:48 2017 Return-Path: Delivered-To: svn-src-all@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 43AA7C0A293; Thu, 8 Jun 2017 16:51:48 +0000 (UTC) (envelope-from zbb@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 1A274647FB; Thu, 8 Jun 2017 16:51:48 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58GplKY079026; Thu, 8 Jun 2017 16:51:47 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58GplEV079025; Thu, 8 Jun 2017 16:51:47 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201706081651.v58GplEV079025@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Thu, 8 Jun 2017 16:51:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319705 - head/sys/arm/mv X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 16:51:48 -0000 Author: zbb Date: Thu Jun 8 16:51:46 2017 New Revision: 319705 URL: https://svnweb.freebsd.org/changeset/base/319705 Log: Fix PCIe window decoding on Armada 38x Original PCIe nodes for Marvell SoCs consists of ports' nodes under main controller node. In order to properly parse this kind of representation in DT a mechanism for traversing through the tree required an update. Moreover, processing FDT data consisting of more than 2 cells had to be fixed, because the 'reg' property of mrvl,pcie node have additional parameter in front of 64-bit address. It should be skipped by default. This commit works properly with old mrvl,pcie representation for Kirkwood and ArmadaXP SoCs. Submitted by: Wojciech Macek Michal Mazur Obtained from: Semihalf Sponsored by: Stormshield, Netgate Differential revision: https://reviews.freebsd.org/D10905 Modified: head/sys/arm/mv/mv_common.c Modified: head/sys/arm/mv/mv_common.c ============================================================================== --- head/sys/arm/mv/mv_common.c Thu Jun 8 16:48:09 2017 (r319704) +++ head/sys/arm/mv/mv_common.c Thu Jun 8 16:51:46 2017 (r319705) @@ -2380,13 +2380,60 @@ moveon: } static int -fdt_win_setup(void) +fdt_win_process(phandle_t child) { - phandle_t node, child, sb; + int i; struct soc_node_spec *soc_node; + int addr_cells, size_cells; + pcell_t reg[8]; u_long size, base; - int err, i; + for (i = 0; soc_nodes[i].compat != NULL; i++) { + + soc_node = &soc_nodes[i]; + + /* Setup only for enabled devices */ + if (ofw_bus_node_status_okay(child) == 0) + continue; + + if (!ofw_bus_node_is_compatible(child, soc_node->compat)) + continue; + + if (fdt_addrsize_cells(OF_parent(child), &addr_cells, + &size_cells)) + return (ENXIO); + + if ((sizeof(pcell_t) * (addr_cells + size_cells)) > sizeof(reg)) + return (ENOMEM); + + if (OF_getprop(child, "reg", ®, sizeof(reg)) <= 0) + return (EINVAL); + + if (addr_cells <= 2) + base = fdt_data_get(®[0], addr_cells); + else + base = fdt_data_get(®[addr_cells - 2], 2); + size = fdt_data_get(®[addr_cells], size_cells); + + base = (base & 0x000fffff) | fdt_immr_va; + if (soc_node->decode_handler != NULL) + soc_node->decode_handler(base); + else + return (ENXIO); + + if (MV_DUMP_WIN && (soc_node->dump_handler != NULL)) + soc_node->dump_handler(base); + } + + return (0); +} +static int +fdt_win_setup(void) +{ + phandle_t node, child, sb; + phandle_t child_pci; + int err; + sb = 0; node = OF_finddevice("/"); if (node == -1) @@ -2398,29 +2445,21 @@ fdt_win_setup(void) */ child = OF_child(node); while (child != 0) { - for (i = 0; soc_nodes[i].compat != NULL; i++) { + /* Lookup for callback and run */ + err = fdt_win_process(child); + if (err != 0) + return (err); - soc_node = &soc_nodes[i]; + /* Process Marvell Armada-XP/38x PCIe controllers */ + if (ofw_bus_node_is_compatible(child, "marvell,armada-370-pcie")) { + child_pci = OF_child(child); + while (child_pci != 0) { + err = fdt_win_process(child_pci); + if (err != 0) + return (err); - /* Setup only for enabled devices */ - if (ofw_bus_node_status_okay(child) == 0) - continue; - - if (!ofw_bus_node_is_compatible(child,soc_node->compat)) - continue; - - err = fdt_regsize(child, &base, &size); - if (err != 0) - return (err); - - base = (base & 0x000fffff) | fdt_immr_va; - if (soc_node->decode_handler != NULL) - soc_node->decode_handler(base); - else - return (ENXIO); - - if (MV_DUMP_WIN && (soc_node->dump_handler != NULL)) - soc_node->dump_handler(base); + child_pci = OF_peer(child_pci); + } } /* From owner-svn-src-all@freebsd.org Thu Jun 8 16:53:42 2017 Return-Path: Delivered-To: svn-src-all@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 0CE6EC0A4E8; Thu, 8 Jun 2017 16:53:42 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) (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 DC46A64B45; Thu, 8 Jun 2017 16:53:41 +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 DFBBC10AFA3; Thu, 8 Jun 2017 12:53:32 -0400 (EDT) From: John Baldwin To: Justin Hibbits Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r319675 - in head/sys/compat/linuxkpi/common: include/linux src Date: Thu, 08 Jun 2017 09:46:03 -0700 Message-ID: <1791910.JUImbCqpWx@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.0-STABLE; KDE/4.14.10; amd64; ; ) In-Reply-To: <201706080244.v582iYTf034529@repo.freebsd.org> References: <201706080244.v582iYTf034529@repo.freebsd.org> 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); Thu, 08 Jun 2017 12:53:33 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 16:53:42 -0000 On Thursday, June 08, 2017 02:44:34 AM Justin Hibbits wrote: > Author: jhibbits > Date: Thu Jun 8 02:44:34 2017 > New Revision: 319675 > URL: https://svnweb.freebsd.org/changeset/base/319675 > > Log: > Remove ARM and MIPS from linuxkpi ioremap_attr definition > > ARM and MIPS fail universe builds. > > ARM and MIPS are missing the following: > * VM_MEMATTR_WRITE_THROUGH > * VM_MEMATTR_WRITE_COMBINING > > Pointy-hat to: jhibbits The intention when VM_MEMATTR_* was added was that they were macros on purpose so you could do things like: #ifdef VM_MEMATTR_WRITE_COMBINING /* WC is available as an option */ #endif Perhaps something similar can be done here? -- John Baldwin From owner-svn-src-all@freebsd.org Thu Jun 8 16:54:04 2017 Return-Path: Delivered-To: svn-src-all@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 2F45EC0A541; Thu, 8 Jun 2017 16:54:04 +0000 (UTC) (envelope-from zbb@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 C642E64C8C; Thu, 8 Jun 2017 16:54:03 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58Gs2hd082270; Thu, 8 Jun 2017 16:54:02 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58Gs2c4082267; Thu, 8 Jun 2017 16:54:02 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201706081654.v58Gs2c4082267@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Thu, 8 Jun 2017 16:54:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319706 - head/sys/arm/mv X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 16:54:04 -0000 Author: zbb Date: Thu Jun 8 16:54:02 2017 New Revision: 319706 URL: https://svnweb.freebsd.org/changeset/base/319706 Log: Support multi-port PCIe hierarchy in Marvell boards DTS This commit is another part of preparation for PCIe multi-port support for Marvell SoCs. Some device trees include pcie-controller node as a bus-parent of pcie nodes. This patch adds support for new bus, collects and configures device informations and finally adds PCIB devices as a childs of pcie-controller in Newbus hierarchy. Submitted by: Marcin Mazurek Obtained form: Semihalf Sponsored by: Stormshield Reviewed by: https://reviews.freebsd.org/D10906 Added: head/sys/arm/mv/mv_pci_ctrl.c (contents, props changed) Modified: head/sys/arm/mv/files.mv head/sys/arm/mv/mv_pci.c Modified: head/sys/arm/mv/files.mv ============================================================================== --- head/sys/arm/mv/files.mv Thu Jun 8 16:51:46 2017 (r319705) +++ head/sys/arm/mv/files.mv Thu Jun 8 16:54:02 2017 (r319706) @@ -16,6 +16,7 @@ arm/mv/gpio.c optional gpio arm/mv/mv_common.c standard arm/mv/mv_localbus.c standard arm/mv/mv_machdep.c standard +arm/mv/mv_pci_ctrl.c optional pci | fdt arm/mv/mv_pci.c optional pci arm/mv/mv_ts.c standard arm/mv/timer.c optional !soc_mv_armada38x Modified: head/sys/arm/mv/mv_pci.c ============================================================================== --- head/sys/arm/mv/mv_pci.c Thu Jun 8 16:51:46 2017 (r319705) +++ head/sys/arm/mv/mv_pci.c Thu Jun 8 16:54:02 2017 (r319706) @@ -394,6 +394,7 @@ static driver_t mv_pcib_driver = { devclass_t pcib_devclass; DRIVER_MODULE(pcib, ofwbus, mv_pcib_driver, pcib_devclass, 0, 0); +DRIVER_MODULE(pcib, pcib_ctrl, mv_pcib_driver, pcib_devclass, 0, 0); static struct mtx pcicfg_mtx; @@ -419,21 +420,29 @@ mv_pcib_attach(device_t self) { struct mv_pcib_softc *sc; phandle_t node, parnode; - uint32_t val, unit; - int err; + uint32_t val, reg0; + int err, bus, devfn, port_id; sc = device_get_softc(self); sc->sc_dev = self; - unit = fdt_get_unit(self); - node = ofw_bus_get_node(self); parnode = OF_parent(node); + + if (OF_getencprop(node, "marvell,pcie-port", &(port_id), + sizeof(port_id)) <= 0) { + /* If port ID does not exist in the FDT set value to 0 */ + if (!OF_hasprop(node, "marvell,pcie-port")) + port_id = 0; + else + return(ENXIO); + } + if (ofw_bus_node_is_compatible(node, "mrvl,pcie")) { sc->sc_type = MV_TYPE_PCIE; - sc->sc_win_target = MV_WIN_PCIE_TARGET(unit); - sc->sc_mem_win_attr = MV_WIN_PCIE_MEM_ATTR(unit); - sc->sc_io_win_attr = MV_WIN_PCIE_IO_ATTR(unit); + sc->sc_win_target = MV_WIN_PCIE_TARGET(port_id); + sc->sc_mem_win_attr = MV_WIN_PCIE_MEM_ATTR(port_id); + sc->sc_io_win_attr = MV_WIN_PCIE_IO_ATTR(port_id); } else if (ofw_bus_node_is_compatible(node, "mrvl,pci")) { sc->sc_type = MV_TYPE_PCI; sc->sc_win_target = MV_WIN_PCI_TARGET; @@ -476,7 +485,7 @@ mv_pcib_attach(device_t self) /* * Enable PCIE device. */ - mv_pcib_enable(sc, unit); + mv_pcib_enable(sc, port_id); /* * Memory management. @@ -484,6 +493,22 @@ mv_pcib_attach(device_t self) err = mv_pcib_mem_init(sc); if (err) return (err); + + /* + * Preliminary bus enumeration to find first linked devices and set + * appropriate bus number from which should start the actual enumeration + */ + for (bus = 0; bus < PCI_BUSMAX; bus++) { + for (devfn = 0; devfn < mv_pcib_maxslots(self); devfn++) { + reg0 = mv_pcib_read_config(self, bus, devfn, devfn & 0x7, 0x0, 4); + if (reg0 == (~0U)) + continue; /* no device */ + else { + sc->sc_busnr = bus; /* update bus number */ + break; + } + } + } if (sc->sc_mode == MV_MODE_ROOT) { err = mv_pcib_init(sc, sc->sc_busnr, Added: head/sys/arm/mv/mv_pci_ctrl.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm/mv/mv_pci_ctrl.c Thu Jun 8 16:54:02 2017 (r319706) @@ -0,0 +1,333 @@ +/*- + * Copyright (c) 2016 Stormshield + * Copyright (c) 2016 Semihalf + * All rights reserved. + * + * Developed by Semihalf. + * + * Portions of this software were developed by Semihalf + * under sponsorship from the FreeBSD Foundation. + * + * 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. + * 3. Neither the name of MARVELL nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY 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 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. + */ + +/* + * Marvell integrated PCI/PCI-Express Bus Controller Driver. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +static int mv_pcib_ctrl_probe(device_t); +static int mv_pcib_ctrl_attach(device_t); +static device_t mv_pcib_ctrl_add_child(device_t, u_int, const char *, int); +static const struct ofw_bus_devinfo * mv_pcib_ctrl_get_devinfo(device_t, device_t); +static struct resource * mv_pcib_ctrl_alloc_resource(device_t, device_t, int, + int *, rman_res_t, rman_res_t, rman_res_t, u_int); +void mv_pcib_ctrl_init(device_t, phandle_t); +static int mv_pcib_ofw_bus_attach(device_t); + +struct mv_pcib_ctrl_range { + uint64_t bus; + uint64_t host; + uint64_t size; +}; + +struct mv_pcib_ctrl_softc { + pcell_t addr_cells; + pcell_t size_cells; + int nranges; + struct mv_pcib_ctrl_range *ranges; +}; + +struct mv_pcib_ctrl_devinfo { + struct ofw_bus_devinfo di_dinfo; + struct resource_list di_rl; +}; + +static int mv_pcib_ctrl_fill_ranges(phandle_t, struct mv_pcib_ctrl_softc *); + +/* + * Bus interface definitions + */ +static device_method_t mv_pcib_ctrl_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, mv_pcib_ctrl_probe), + DEVMETHOD(device_attach, mv_pcib_ctrl_attach), + + /* Bus interface */ + DEVMETHOD(bus_add_child, mv_pcib_ctrl_add_child), + DEVMETHOD(bus_alloc_resource, mv_pcib_ctrl_alloc_resource), + DEVMETHOD(bus_release_resource, bus_generic_release_resource), + DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), + DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), + + /* ofw_bus interface */ + DEVMETHOD(ofw_bus_get_devinfo, mv_pcib_ctrl_get_devinfo), + DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat), + DEVMETHOD(ofw_bus_get_model, ofw_bus_gen_get_model), + DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name), + DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node), + DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type), + + DEVMETHOD_END +}; + +static driver_t mv_pcib_ctrl_driver = { + "pcib_ctrl", + mv_pcib_ctrl_methods, + sizeof(struct mv_pcib_ctrl_softc), +}; + +devclass_t pcib_ctrl_devclass; + +DRIVER_MODULE(pcib_ctrl, simplebus, mv_pcib_ctrl_driver, pcib_ctrl_devclass, 0, 0); + +MALLOC_DEFINE(M_PCIB_CTRL, "PCIe Bus Controller", + "Marvell Integrated PCIe Bus Controller"); + +static int +mv_pcib_ctrl_probe(device_t dev) +{ + + if (!ofw_bus_is_compatible(dev, "mrvl,pcie-ctrl") && + !ofw_bus_is_compatible(dev, "marvell,armada-370-pcie")) + return (ENXIO); + + device_set_desc(dev, "Marvell Integrated PCIe Bus Controller"); + return (BUS_PROBE_DEFAULT); +} + +static int +mv_pcib_ctrl_attach(device_t dev) +{ + int err; + + err = mv_pcib_ofw_bus_attach(dev); + if (err != 0) + return (err); + + return (bus_generic_attach(dev)); +} + +static int +mv_pcib_ofw_bus_attach(device_t dev) +{ + struct mv_pcib_ctrl_devinfo *di; + struct mv_pcib_ctrl_softc *sc; + device_t child; + phandle_t parent, node; + + parent = ofw_bus_get_node(dev); + sc = device_get_softc(dev); + if (parent > 0) { + sc->addr_cells = 1; + if (OF_getencprop(parent, "#address-cells", &(sc->addr_cells), + sizeof(sc->addr_cells)) <= 0) + return(ENXIO); + + sc->size_cells = 1; + if (OF_getencprop(parent, "#size-cells", &(sc->size_cells), + sizeof(sc->size_cells)) <= 0) + return(ENXIO); + + for (node = OF_child(parent); node > 0; node = OF_peer(node)) { + di = malloc(sizeof(*di), M_PCIB_CTRL, M_WAITOK | M_ZERO); + if (ofw_bus_gen_setup_devinfo(&di->di_dinfo, node)) { + if (bootverbose) { + device_printf(dev, + "Could not set up devinfo for PCI\n"); + } + free(di, M_PCIB_CTRL); + continue; + } + + child = device_add_child(dev, NULL, -1); + if (child == NULL) { + if (bootverbose) { + device_printf(dev, + "Could not add child: %s\n", + di->di_dinfo.obd_name); + } + ofw_bus_gen_destroy_devinfo(&di->di_dinfo); + free(di, M_PCIB_CTRL); + continue; + } + + resource_list_init(&di->di_rl); + ofw_bus_reg_to_rl(child, node, sc->addr_cells, + sc->size_cells, &di->di_rl); + + device_set_ivars(child, di); + } + } + + if (mv_pcib_ctrl_fill_ranges(parent, sc) < 0) { + device_printf(dev, "could not get ranges\n"); + return (ENXIO); + } + + return (0); +} + +static device_t +mv_pcib_ctrl_add_child(device_t dev, u_int order, const char *name, int unit) +{ + device_t cdev; + struct mv_pcib_ctrl_devinfo *di; + + cdev = device_add_child_ordered(dev, order, name, unit); + if (cdev == NULL) + return (NULL); + + di = malloc(sizeof(*di), M_DEVBUF, M_WAITOK | M_ZERO); + di->di_dinfo.obd_node = -1; + resource_list_init(&di->di_rl); + device_set_ivars(cdev, di); + + return (cdev); +} + +static struct resource * +mv_pcib_ctrl_alloc_resource(device_t bus, device_t child, int type, int *rid, + rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) +{ + struct mv_pcib_ctrl_devinfo *di; + struct resource_list_entry *rle; + struct mv_pcib_ctrl_softc *sc; + int i; + + if (RMAN_IS_DEFAULT_RANGE(start, end)) { + + if ((di = device_get_ivars(child)) == NULL) + return (NULL); + if (type != SYS_RES_MEMORY) + return (NULL); + + /* Find defaults for this rid */ + rle = resource_list_find(&di->di_rl, type, *rid); + + if (rle == NULL) + return (NULL); + + start = rle->start; + end = rle->end; + count = rle->count; + } + + sc = device_get_softc(bus); + if (type == SYS_RES_MEMORY) { + /* Remap through ranges property */ + for (i = 0; i < sc->nranges; i++) { + if (start >= sc->ranges[i].bus && end < + sc->ranges[i].bus + sc->ranges[i].size) { + start -= sc->ranges[i].bus; + start += sc->ranges[i].host; + end -= sc->ranges[i].bus; + end += sc->ranges[i].host; + break; + } + } + + if (i == sc->nranges && sc->nranges != 0) { + device_printf(bus, "Could not map resource " + "%#llx-%#llx\n", start, end); + return (NULL); + } + } + + return (bus_generic_alloc_resource(bus, child, type, rid, start, end, + count, flags)); +} + +static int +mv_pcib_ctrl_fill_ranges(phandle_t node, struct mv_pcib_ctrl_softc *sc) +{ + int host_address_cells; + cell_t *base_ranges; + ssize_t nbase_ranges; + int err; + int i, j, k; + + err = OF_searchencprop(OF_parent(node), "#address-cells", + &host_address_cells, sizeof(host_address_cells)); + if (err <= 0) + return (-1); + + nbase_ranges = OF_getproplen(node, "ranges"); + if (nbase_ranges < 0) + return (-1); + sc->nranges = nbase_ranges / sizeof(cell_t) / + (sc->addr_cells + host_address_cells + sc->size_cells); + if (sc->nranges == 0) + return (0); + + sc->ranges = malloc(sc->nranges * sizeof(sc->ranges[0]), + M_DEVBUF, M_WAITOK); + base_ranges = malloc(nbase_ranges, M_DEVBUF, M_WAITOK); + OF_getencprop(node, "ranges", base_ranges, nbase_ranges); + + for (i = 0, j = 0; i < sc->nranges; i++) { + sc->ranges[i].bus = 0; + for (k = 0; k < sc->addr_cells; k++) { + sc->ranges[i].bus <<= 32; + sc->ranges[i].bus |= base_ranges[j++]; + } + sc->ranges[i].host = 0; + for (k = 0; k < host_address_cells; k++) { + sc->ranges[i].host <<= 32; + sc->ranges[i].host |= base_ranges[j++]; + } + sc->ranges[i].size = 0; + for (k = 0; k < sc->size_cells; k++) { + sc->ranges[i].size <<= 32; + sc->ranges[i].size |= base_ranges[j++]; + } + } + + free(base_ranges, M_DEVBUF); + return (sc->nranges); +} + +static const struct ofw_bus_devinfo * +mv_pcib_ctrl_get_devinfo(device_t bus __unused, device_t child) +{ + struct mv_pcib_ctrl_devinfo *di; + + di = device_get_ivars(child); + return (&di->di_dinfo); +} From owner-svn-src-all@freebsd.org Thu Jun 8 16:55:52 2017 Return-Path: Delivered-To: svn-src-all@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 7C5E2C0A5F8; Thu, 8 Jun 2017 16:55:52 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4E40A64E23; Thu, 8 Jun 2017 16:55:52 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (unknown [127.0.1.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 8655B1C990; Thu, 8 Jun 2017 16:55:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 529EE28CE; Thu, 8 Jun 2017 16:55:50 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id 6ZnzeFBoSG6v; Thu, 8 Jun 2017 16:55:47 +0000 (UTC) Subject: Re: svn commit: r319702 - head/sys/vm DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 3B97228C9 To: John Baldwin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201706081618.v58GIfZi066106@repo.freebsd.org> From: Bryan Drewery Organization: FreeBSD Message-ID: Date: Thu, 8 Jun 2017 12:55:45 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <201706081618.v58GIfZi066106@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="aaBFS2vaCXwdsKToBmfmwE9cGS1cbECoW" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 16:55:52 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --aaBFS2vaCXwdsKToBmfmwE9cGS1cbECoW Content-Type: multipart/mixed; boundary="c7QhVvPdtgr1Ge8JpIG1g6hsTvoJMxMW9"; protected-headers="v1" From: Bryan Drewery To: John Baldwin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: Subject: Re: svn commit: r319702 - head/sys/vm References: <201706081618.v58GIfZi066106@repo.freebsd.org> In-Reply-To: <201706081618.v58GIfZi066106@repo.freebsd.org> --c7QhVvPdtgr1Ge8JpIG1g6hsTvoJMxMW9 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 6/8/17 12:18 PM, John Baldwin wrote: > Author: jhb > Date: Thu Jun 8 16:18:41 2017 > New Revision: 319702 > URL: https://svnweb.freebsd.org/changeset/base/319702 >=20 > Log: > Fix an off-by-one error in the VM page array on some systems. > =20 > r31386 changed how the size of the VM page array was calculated to be= > less wasteful.=20 r313186 --=20 Regards, Bryan Drewery --c7QhVvPdtgr1Ge8JpIG1g6hsTvoJMxMW9-- --aaBFS2vaCXwdsKToBmfmwE9cGS1cbECoW Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJZOYGRAAoJEDXXcbtuRpfPu2kIAJ0NB2YGO98pQiTShH0ODCGB UV4h1A6Rvfh3Nc6v+MJJHpZzbuNFZYztubn/WdXYsiZa/JEUJBSlQi3Ctb74t6gQ hB30shQTvEAo3Z+QNnmi+qTuPMqLhvsiJ00T+4w+tau/prVEIk4WFLWjMVHONQsa gEt8tM0f2c4excSpsL9udPeuHT7Fq/lnlehcSEVHnYpUhyK/pSQWLgvE7GlfShZ+ JgPQfiloDrgjTt+uVLaK5P6Kf6/oEczaQem/marZbcdmp03Ep0g/VGKNpVulhckc OP+vofSwHHO8Q3qZarCr0LeRHUQ3zItxoF8VbMcirg8669yF+LNXJrK0AjQTWas= =n0HL -----END PGP SIGNATURE----- --aaBFS2vaCXwdsKToBmfmwE9cGS1cbECoW-- From owner-svn-src-all@freebsd.org Thu Jun 8 16:56:00 2017 Return-Path: Delivered-To: svn-src-all@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 561B6C0A63E; Thu, 8 Jun 2017 16:56:00 +0000 (UTC) (envelope-from zbb@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 3186E64E8E; Thu, 8 Jun 2017 16:56:00 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58Gtx25082450; Thu, 8 Jun 2017 16:55:59 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58GtwCf082446; Thu, 8 Jun 2017 16:55:58 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201706081655.v58GtwCf082446@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Thu, 8 Jun 2017 16:55:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319707 - head/sys/boot/fdt/dts/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 16:56:00 -0000 Author: zbb Date: Thu Jun 8 16:55:58 2017 New Revision: 319707 URL: https://svnweb.freebsd.org/changeset/base/319707 Log: Restore DTS node of PCIe controller for A38X boards Add pcie-controller node as a bus-parent of pcie nodes for Armada38x boards. This reduces diff between Linux and FreeBSD PCIe device tree representation to the minimum. This commit also allows for using multiple PCIe ports, thanks to the recent driver updates, which support such hierarchy. Restore original PCIe nodes in armada-385.dtsi and apply necessary changes in hitherto unused armada-380.dtsi. Submitted by: Michal Mazur Marcin Wojtas Obtained from: Semihalf Sponsored by: Stormshield, Netgate Differential revision: https://reviews.freebsd.org/D10907 Modified: head/sys/boot/fdt/dts/arm/armada-380.dtsi head/sys/boot/fdt/dts/arm/armada-385.dtsi head/sys/boot/fdt/dts/arm/armada-388-gp.dts head/sys/boot/fdt/dts/arm/armada-38x.dtsi Modified: head/sys/boot/fdt/dts/arm/armada-380.dtsi ============================================================================== --- head/sys/boot/fdt/dts/arm/armada-380.dtsi Thu Jun 8 16:54:02 2017 (r319706) +++ head/sys/boot/fdt/dts/arm/armada-380.dtsi Thu Jun 8 16:55:58 2017 (r319707) @@ -88,26 +88,29 @@ <0x82000000 0 0x80000 MBUS_ID(0xf0, 0x01) 0x80000 0 0x00002000 0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000 0x82000000 0 0x44000 MBUS_ID(0xf0, 0x01) 0x44000 0 0x00002000 - 0x82000000 0 0x48000 MBUS_ID(0xf0, 0x01) 0x48000 0 0x00002000 - 0x82000000 0x1 0 MBUS_ID(0x08, 0xe8) 0 1 0 /* Port 0 MEM */ - 0x81000000 0x1 0 MBUS_ID(0x08, 0xe0) 0 1 0 /* Port 0 IO */ - 0x82000000 0x2 0 MBUS_ID(0x04, 0xe8) 0 1 0 /* Port 1 MEM */ - 0x81000000 0x2 0 MBUS_ID(0x04, 0xe0) 0 1 0 /* Port 1 IO */ - 0x82000000 0x3 0 MBUS_ID(0x04, 0xd8) 0 1 0 /* Port 2 MEM */ - 0x81000000 0x3 0 MBUS_ID(0x04, 0xd0) 0 1 0 /* Port 2 IO */>; + 0x82000000 0x0 0xf1200000 MBUS_ID(0x08, 0xe8) 0xf1200000 0 0x00100000 /* Port 0 MEM */ + 0x81000000 0x0 0xf1300000 MBUS_ID(0x08, 0xe0) 0xf1300000 0 0x00100000 /* Port 0 IO */ + 0x82000000 0x0 0xf1400000 MBUS_ID(0x04, 0xe8) 0xf1400000 0 0x00100000 /* Port 1 MEM */ + 0x81000000 0x0 0xf1500000 MBUS_ID(0x04, 0xe0) 0xf1500000 0 0x00100000 /* Port 1 IO */ + 0x82000000 0x0 0xf1600000 MBUS_ID(0x04, 0xd8) 0xf1600000 0 0x00100000 /* Port 2 MEM */ + 0x81000000 0x0 0xf1700000 MBUS_ID(0x04, 0xd0) 0xf1700000 0 0x00100000 /* Port 2 IO */ + >; /* x1 port */ pcie@1,0 { + compatible = "mrvl,pcie"; device_type = "pci"; assigned-addresses = <0x82000800 0 0x80000 0 0x2000>; - reg = <0x0800 0 0 0 0>; + reg = <0x0 0x0 0x80000 0x0 0x2000>; #address-cells = <3>; #size-cells = <2>; - #interrupt-cells = <1>; - ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0 - 0x81000000 0 0 0x81000000 0x1 0 1 0>; + #interrupt-cells = <3>; + bus-range = <0 255>; + ranges = <0x82000000 0x0 0x0 0x82000000 0x0 0xf1200000 0x0 0x00100000 + 0x81000000 0x0 0x0 0x81000000 0x0 0xf1300000 0x0 0x00100000>; interrupt-map-mask = <0 0 0 0>; interrupt-map = <0 0 0 0 &gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&gic>; marvell,pcie-port = <0>; marvell,pcie-lane = <0>; clocks = <&gateclk 8>; @@ -116,16 +119,19 @@ /* x1 port */ pcie@2,0 { + compatible = "mrvl,pcie"; device_type = "pci"; assigned-addresses = <0x82000800 0 0x40000 0 0x2000>; - reg = <0x1000 0 0 0 0>; + reg = <0x0 0x0 0x40000 0x0 0x2000>; #address-cells = <3>; #size-cells = <2>; - #interrupt-cells = <1>; - ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0 - 0x81000000 0 0 0x81000000 0x2 0 1 0>; + #interrupt-cells = <3>; + bus-range = <0 255>; + ranges = <0x82000000 0x0 0x0 0x82000000 0x0 0xf1400000 0x0 0x00100000 + 0x81000000 0x0 0x0 0x81000000 0x0 0xf1500000 0x0 0x00100000>; interrupt-map-mask = <0 0 0 0>; interrupt-map = <0 0 0 0 &gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&gic>; marvell,pcie-port = <1>; marvell,pcie-lane = <0>; clocks = <&gateclk 5>; @@ -134,16 +140,19 @@ /* x1 port */ pcie@3,0 { + compatible = "mrvl,pcie"; device_type = "pci"; assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; - reg = <0x1800 0 0 0 0>; + reg = <0x0 0x0 0x44000 0x0 0x2000>; #address-cells = <3>; #size-cells = <2>; - #interrupt-cells = <1>; - ranges = <0x82000000 0 0 0x82000000 0x3 0 1 0 - 0x81000000 0 0 0x81000000 0x3 0 1 0>; + #interrupt-cells = <3>; + bus-range = <0 255>; + ranges = <0x82000000 0x0 0x0 0x82000000 0x0 0xf1600000 0x0 0x00100000 + 0x81000000 0x0 0x0 0x81000000 0x0 0xf1700000 0x0 0x00100000>; interrupt-map-mask = <0 0 0 0>; interrupt-map = <0 0 0 0 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&gic>; marvell,pcie-port = <2>; marvell,pcie-lane = <0>; clocks = <&gateclk 6>; Modified: head/sys/boot/fdt/dts/arm/armada-385.dtsi ============================================================================== --- head/sys/boot/fdt/dts/arm/armada-385.dtsi Thu Jun 8 16:54:02 2017 (r319706) +++ head/sys/boot/fdt/dts/arm/armada-385.dtsi Thu Jun 8 16:55:58 2017 (r319707) @@ -77,5 +77,124 @@ compatible = "marvell,mv88f6820-pinctrl"; }; }; + + pcie-controller { + compatible = "marvell,armada-370-pcie"; + status = "disabled"; + device_type = "pci"; + + #address-cells = <3>; + #size-cells = <2>; + + msi-parent = <&mpic>; + bus-range = <0x00 0xff>; + + ranges = + <0x82000000 0 0x80000 MBUS_ID(0xf0, 0x01) 0x80000 0 0x00002000 + 0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000 + 0x82000000 0 0x44000 MBUS_ID(0xf0, 0x01) 0x44000 0 0x00002000 + 0x82000000 0 0x48000 MBUS_ID(0xf0, 0x01) 0x48000 0 0x00002000 + 0x82000000 0x0 0xf1200000 MBUS_ID(0x08, 0xe8) 0xf1200000 0 0x00100000 /* Port 0 MEM */ + 0x81000000 0x0 0xf1300000 MBUS_ID(0x08, 0xe0) 0xf1300000 0 0x00100000 /* Port 0 IO */ + 0x82000000 0x0 0xf1400000 MBUS_ID(0x04, 0xe8) 0xf1400000 0 0x00100000 /* Port 1 MEM */ + 0x81000000 0x0 0xf1500000 MBUS_ID(0x04, 0xe0) 0xf1500000 0 0x00100000 /* Port 1 IO */ + 0x82000000 0x0 0xf1600000 MBUS_ID(0x04, 0xd8) 0xf1600000 0 0x00100000 /* Port 2 MEM */ + 0x81000000 0x0 0xf1700000 MBUS_ID(0x04, 0xd0) 0xf1700000 0 0x00100000 /* Port 2 IO */ + 0x82000000 0x0 0xf1800000 MBUS_ID(0x04, 0xb8) 0xf1800000 0 0x00100000 /* Port 3 MEM */ + 0x81000000 0x0 0xf1900000 MBUS_ID(0x04, 0xb0) 0xf1900000 0 0x00100000 /* Port 3 IO */ + >; + + /* + * This port can be either x4 or x1. When + * configured in x4 by the bootloader, then + * pcie@4,0 is not available. + */ + pcie@1,0 { + compatible = "mrvl,pcie"; + device_type = "pci"; + assigned-addresses = <0x82000800 0 0x80000 0 0x2000>; + reg = <0x0 0x0 0x80000 0x0 0x2000>; + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <3>; + bus-range = <0 255>; + ranges = <0x82000000 0x0 0x0 0x82000000 0x0 0xf1200000 0x0 0x00100000 + 0x81000000 0x0 0x0 0x81000000 0x0 0xf1300000 0x0 0x00100000>; + interrupt-map-mask = <0 0 0 0>; + interrupt-map = <0 0 0 0 &gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&gic>; + marvell,pcie-port = <0>; + marvell,pcie-lane = <0>; + clocks = <&gateclk 8>; + status = "disabled"; + }; + + /* x1 port */ + pcie@2,0 { + compatible = "mrvl,pcie"; + device_type = "pci"; + assigned-addresses = <0x82000800 0 0x40000 0 0x2000>; + reg = <0x0 0x0 0x40000 0x0 0x2000>; + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <3>; + bus-range = <0 255>; + ranges = <0x82000000 0x0 0x0 0x82000000 0x0 0xf1400000 0x0 0x00100000 + 0x81000000 0x0 0x0 0x81000000 0x0 0xf1500000 0x0 0x00100000>; + interrupt-map-mask = <0 0 0 0>; + interrupt-map = <0 0 0 0 &gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&gic>; + marvell,pcie-port = <1>; + marvell,pcie-lane = <0>; + clocks = <&gateclk 5>; + status = "disabled"; + }; + + /* x1 port */ + pcie@3,0 { + compatible = "mrvl,pcie"; + device_type = "pci"; + assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; + reg = <0x0 0x0 0x44000 0x0 0x2000>; + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <3>; + bus-range = <0 255>; + ranges = <0x82000000 0x0 0x0 0x82000000 0x0 0xf1600000 0x0 0x00100000 + 0x81000000 0x0 0x0 0x81000000 0x0 0xf1700000 0x0 0x00100000>; + interrupt-map-mask = <0 0 0 0>; + interrupt-map = <0 0 0 0 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&gic>; + marvell,pcie-port = <2>; + marvell,pcie-lane = <0>; + clocks = <&gateclk 6>; + status = "disabled"; + }; + + /* + * x1 port only available when pcie@1,0 is + * configured as a x1 port + */ + pcie@4,0 { + compatible = "mrvl,pcie"; + device_type = "pci"; + assigned-addresses = <0x82000800 0 0x48000 0 0x2000>; + reg = <0x0 0x0 0x48000 0x0 0x2000>; + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <3>; + bus-range = <0 255>; + ranges = <0x82000000 0x0 0x0 0x82000000 0x0 0xf1800000 0x0 0x00100000 + 0x81000000 0x0 0x0 0x81000000 0x0 0xf1900000 0x0 0x00100000>; + interrupt-map-mask = <0 0 0 0>; + interrupt-map = <0 0 0 0 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&gic>; + marvell,pcie-port = <3>; + marvell,pcie-lane = <0>; + clocks = <&gateclk 7>; + status = "disabled"; + }; + }; }; + }; Modified: head/sys/boot/fdt/dts/arm/armada-388-gp.dts ============================================================================== --- head/sys/boot/fdt/dts/arm/armada-388-gp.dts Thu Jun 8 16:54:02 2017 (r319706) +++ head/sys/boot/fdt/dts/arm/armada-388-gp.dts Thu Jun 8 16:55:58 2017 (r319707) @@ -239,11 +239,32 @@ gpio-fan,speed-map = < 0 0 3000 1>; }; - }; + pcie-controller { + status = "okay"; + /* + * One PCIe units is accessible through + * standard PCIe slot on the board. + */ + pcie@1,0 { + /* Port 0, Lane 0 */ + status = "okay"; + }; - pci0: pcie@f1080000 { - status = "okay"; + /* + * The two other PCIe units are accessible + * through mini PCIe slot on the board. + */ + pcie@2,0 { + /* Port 1, Lane 0 */ + status = "okay"; + }; + pcie@3,0 { + /* Port 2, Lane 0 */ + status = "okay"; + }; + }; }; + reg_usb3_vbus: usb3-vbus { compatible = "regulator-fixed"; Modified: head/sys/boot/fdt/dts/arm/armada-38x.dtsi ============================================================================== --- head/sys/boot/fdt/dts/arm/armada-38x.dtsi Thu Jun 8 16:54:02 2017 (r319706) +++ head/sys/boot/fdt/dts/arm/armada-38x.dtsi Thu Jun 8 16:55:58 2017 (r319707) @@ -644,25 +644,6 @@ }; }; - pci0: pcie@f1080000 { - compatible = "mrvl,pcie"; - status = "disabled"; - device_type = "pci"; - #interrupt-cells = <3>; - #size-cells = <2>; - #address-cells = <3>; - reg = <0xf1080000 0x2000>; - bus-range = <0 255>; - ranges = <0x42000000 0x0 0xf1200000 0xf1200000 0x0 0x00100000 - 0x41000000 0x0 0x00000000 0xf1300000 0x0 0x00100000>; - interrupt-parent = <&gic>; - interrupts = ; - interrupt-map-mask = <0xf800 0x0 0x0 0x7>; - interrupt-map = < - 0x0000 0x0 0x0 0x1 &gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH - >; - }; - clocks { /* 2 GHz fixed main PLL */ mainpll: mainpll { From owner-svn-src-all@freebsd.org Thu Jun 8 16:57:07 2017 Return-Path: Delivered-To: svn-src-all@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 2B44CC0A717; Thu, 8 Jun 2017 16:57:07 +0000 (UTC) (envelope-from zbb@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 F00726518B; Thu, 8 Jun 2017 16:57:06 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58Gv6ig082702; Thu, 8 Jun 2017 16:57:06 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58Gv61a082701; Thu, 8 Jun 2017 16:57:06 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201706081657.v58Gv61a082701@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Thu, 8 Jun 2017 16:57:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319708 - head/sys/arm/mv X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 16:57:07 -0000 Author: zbb Date: Thu Jun 8 16:57:06 2017 New Revision: 319708 URL: https://svnweb.freebsd.org/changeset/base/319708 Log: Add function to dump PCIE MBUS decoding windows and bars This commit allows to dump PCIE MBUS and bars configuration for Marvell platforms. Submitted by: Michal Mazur Obtained from: Semihalf Sponsored by: Netgate Differential revision: https://reviews.freebsd.org/D10908 Modified: head/sys/arm/mv/mv_common.c Modified: head/sys/arm/mv/mv_common.c ============================================================================== --- head/sys/arm/mv/mv_common.c Thu Jun 8 16:55:58 2017 (r319707) +++ head/sys/arm/mv/mv_common.c Thu Jun 8 16:57:06 2017 (r319708) @@ -111,6 +111,7 @@ static void decode_win_idma_dump(u_long base); static void decode_win_xor_dump(u_long base); static void decode_win_ahci_dump(u_long base); static void decode_win_sdhci_dump(u_long); +static void decode_win_pcie_dump(u_long); static int fdt_get_ranges(const char *, void *, int, int *, int *); #ifdef SOC_MV_ARMADA38X @@ -160,7 +161,7 @@ static struct soc_node_spec soc_nodes[] = { { "mrvl,xor", &decode_win_xor_setup, &decode_win_xor_dump }, { "mrvl,idma", &decode_win_idma_setup, &decode_win_idma_dump }, { "mrvl,cesa", &decode_win_cesa_setup, &decode_win_cesa_dump }, - { "mrvl,pcie", &decode_win_pcie_setup, NULL }, + { "mrvl,pcie", &decode_win_pcie_setup, &decode_win_pcie_dump }, { NULL, NULL, NULL }, }; @@ -660,6 +661,8 @@ WIN_REG_BASE_IDX_WR(win_pcie, cr, MV_WIN_PCIE_CTRL); WIN_REG_BASE_IDX_WR(win_pcie, br, MV_WIN_PCIE_BASE); WIN_REG_BASE_IDX_WR(win_pcie, remap, MV_WIN_PCIE_REMAP); WIN_REG_BASE_IDX_RD(pcie_bar, br, MV_PCIE_BAR_BASE); +WIN_REG_BASE_IDX_RD(pcie_bar, brh, MV_PCIE_BAR_BASE_H); +WIN_REG_BASE_IDX_RD(pcie_bar, cr, MV_PCIE_BAR_CTRL); WIN_REG_BASE_IDX_WR(pcie_bar, br, MV_PCIE_BAR_BASE); WIN_REG_BASE_IDX_WR(pcie_bar, brh, MV_PCIE_BAR_BASE_H); WIN_REG_BASE_IDX_WR(pcie_bar, cr, MV_PCIE_BAR_CTRL); @@ -1440,6 +1443,22 @@ decode_win_eth_valid(void) /************************************************************************** * PCIE windows routines **************************************************************************/ +static void +decode_win_pcie_dump(u_long base) +{ + int i; + + printf("PCIE windows base 0x%08lx\n", base); + for (i = 0; i < MV_WIN_PCIE_MAX; i++) + printf("PCIE window#%d: cr 0x%08x br 0x%08x remap 0x%08x\n", + i, win_pcie_cr_read(base, i), + win_pcie_br_read(base, i), win_pcie_remap_read(base, i)); + + for (i = 0; i < MV_PCIE_BAR_MAX; i++) + printf("PCIE bar#%d: cr 0x%08x br 0x%08x brh 0x%08x\n", + i, pcie_bar_cr_read(base, i), + pcie_bar_br_read(base, i), pcie_bar_brh_read(base, i)); +} void decode_win_pcie_setup(u_long base) From owner-svn-src-all@freebsd.org Thu Jun 8 17:00:41 2017 Return-Path: Delivered-To: svn-src-all@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 AAC81C0A7E3; Thu, 8 Jun 2017 17:00:41 +0000 (UTC) (envelope-from phil@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 77DEA65360; Thu, 8 Jun 2017 17:00:41 +0000 (UTC) (envelope-from phil@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58H0eN0082905; Thu, 8 Jun 2017 17:00:40 GMT (envelope-from phil@FreeBSD.org) Received: (from phil@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58H0epV082904; Thu, 8 Jun 2017 17:00:40 GMT (envelope-from phil@FreeBSD.org) Message-Id: <201706081700.v58H0epV082904@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: phil set sender to phil@FreeBSD.org using -f From: Phil Shafer Date: Thu, 8 Jun 2017 17:00:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319709 - head/contrib/libxo/libxo X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 17:00:41 -0000 Author: phil Date: Thu Jun 8 17:00:40 2017 New Revision: 319709 URL: https://svnweb.freebsd.org/changeset/base/319709 Log: remove xo_color_t dup typedef Modified: head/contrib/libxo/libxo/libxo.c Modified: head/contrib/libxo/libxo/libxo.c ============================================================================== --- head/contrib/libxo/libxo/libxo.c Thu Jun 8 16:57:06 2017 (r319708) +++ head/contrib/libxo/libxo/libxo.c Thu Jun 8 17:00:40 2017 (r319709) @@ -239,7 +239,6 @@ typedef uint8_t xo_color_t; #define XO_EFF_CLEAR_BITS XO_EFF_RESET /* Reset gets reset, surprisingly */ typedef uint8_t xo_effect_t; -typedef uint8_t xo_color_t; typedef struct xo_colors_s { xo_effect_t xoc_effects; /* Current effect set */ xo_color_t xoc_col_fg; /* Foreground color */ From owner-svn-src-all@freebsd.org Thu Jun 8 17:06:18 2017 Return-Path: Delivered-To: svn-src-all@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 18D4EC0AAB9; Thu, 8 Jun 2017 17:06:18 +0000 (UTC) (envelope-from bapt@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 D5D07657E3; Thu, 8 Jun 2017 17:06:17 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58H6HaY086649; Thu, 8 Jun 2017 17:06:17 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58H6HJq086648; Thu, 8 Jun 2017 17:06:17 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706081706.v58H6HJq086648@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Thu, 8 Jun 2017 17:06:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319710 - head/sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 17:06:18 -0000 Author: bapt Date: Thu Jun 8 17:06:16 2017 New Revision: 319710 URL: https://svnweb.freebsd.org/changeset/base/319710 Log: Bump _FreeBSD_version after removal of groff Reported by: antoine Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Thu Jun 8 17:00:40 2017 (r319709) +++ head/sys/sys/param.h Thu Jun 8 17:06:16 2017 (r319710) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1200031 /* Master, propagated to newvers */ +#define __FreeBSD_version 1200032 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@freebsd.org Thu Jun 8 17:10:59 2017 Return-Path: Delivered-To: svn-src-all@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 48E35C0ACB5; Thu, 8 Jun 2017 17:10:59 +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 18BE765C84; Thu, 8 Jun 2017 17:10:59 +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 v58HAw42089254; Thu, 8 Jun 2017 17:10:58 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58HAws0089253; Thu, 8 Jun 2017 17:10:58 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706081710.v58HAws0089253@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 8 Jun 2017 17:10:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319711 - stable/11/lib/clang X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 17:10:59 -0000 Author: dim Date: Thu Jun 8 17:10:58 2017 New Revision: 319711 URL: https://svnweb.freebsd.org/changeset/base/319711 Log: MFC r319473: For arm targets, place ABI at the end of the target triple For some reason, we have been inserting the ABI specification into the middle of the target triple, when building LLVM, like so: armv6-gnueabi-freebsd12.0 This is the wrong way around. LLVM even auto-canonicalizes it to: armv6--freebsd12.0-gnueabi Let's do this the right way in llvm.build.mk instead. While here, define a proper VENDOR macro which can be overridden easily. Approved by: re (gjb) Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D10846 Modified: stable/11/lib/clang/llvm.build.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/clang/llvm.build.mk ============================================================================== --- stable/11/lib/clang/llvm.build.mk Thu Jun 8 17:06:16 2017 (r319710) +++ stable/11/lib/clang/llvm.build.mk Thu Jun 8 17:10:58 2017 (r319711) @@ -25,16 +25,17 @@ BUILD_ARCH?= ${MACHINE_ARCH} # arm (for armv4 and armv5 CPUs) always uses the soft float ABI. # For all other targets, we stick with 'unknown'. .if ${TARGET_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "") -TARGET_ABI= gnueabihf +TARGET_ABI= -gnueabihf .elif ${TARGET_ARCH:Marm*} -TARGET_ABI= gnueabi +TARGET_ABI= -gnueabi .else -TARGET_ABI= unknown +TARGET_ABI= .endif +VENDOR= unknown OS_VERSION= freebsd11.1 -TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${TARGET_ABI}-${OS_VERSION} -BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-unknown-${OS_VERSION} +TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${VENDOR}-${OS_VERSION}${TARGET_ABI} +BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${VENDOR}-${OS_VERSION} CFLAGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" CFLAGS+= -DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" From owner-svn-src-all@freebsd.org Thu Jun 8 17:50:49 2017 Return-Path: Delivered-To: svn-src-all@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 55DC4C31420; Thu, 8 Jun 2017 17:50:49 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.9]) (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 0B91666DDC; Thu, 8 Jun 2017 17:50:48 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id J1ZvdcT3VETFpJ1ZwdgCJM; Thu, 08 Jun 2017 11:50:42 -0600 X-Authority-Analysis: v=2.2 cv=dZbw5Tfe c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=kj9zAlcOel0A:10 a=LWSFodeU3zMA:10 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=TLmtYg-FLk0qvXYqCNgA:9 a=vRt-pE1G5l1izYi7:21 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 94ED1A7; Thu, 8 Jun 2017 07:12:04 -0700 (PDT) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v58E6Fok077647; Thu, 8 Jun 2017 07:06:15 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201706081406.v58E6Fok077647@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: Phil Shafer cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r319694 - in head: contrib/libxo contrib/libxo/doc contrib/libxo/encoder/cbor contrib/libxo/encoder/test contrib/libxo/libxo contrib/libxo/tests/core contrib/libxo/tests/core/saved cont... In-Reply-To: Message from Phil Shafer of "Thu, 08 Jun 2017 13:04:01 -0000." <201706081304.v58D41Ce086153@repo.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 08 Jun 2017 07:06:15 -0700 X-CMAE-Envelope: MS4wfIrv2LO3Ctjh4Vc+fQv2KHFqmyuns5PpgOeMngcYCRCZrkKWcah9A8zTzgf/oaA3MpL960zpvCdUEQIrWxZbhOdS8vmS/SgVLr9831Vb8CFVLh8iCTRr b8LEArr0KrsbJHIqaWsIqTksl8x+UokuFOQCp6sZ18e4CKYwyiGcUr9UK24z14WxaXzFOag7vSUIuapMuGrBp+q2HbNZM8LSgLfadDPCogZR2LpJLiBugP6F 6tKjY6hOqQc7Se3I1tJe7PrN7OioTF3OdE8BelaRbOw1VteBgZo6BOCWxKZjgx4t X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 17:50:49 -0000 In message <201706081304.v58D41Ce086153@repo.freebsd.org>, Phil Shafer writes: > Author: phil > Date: Thu Jun 8 13:04:01 2017 > New Revision: 319694 > URL: https://svnweb.freebsd.org/changeset/base/319694 > > Log: > Import libxo-0.8.0: > - addition of --libxo colors=xxxxx color map (so I never see "blue") > - fix bugs from -fsanitize=address and =undefined > - utf-8 changes (remove support fore 6 byte utf-8 values, which are "histo > rical") > - add comments > - fix man pages > - update test cases > > Submitted by: phil > Reviewed by: sjg > Approved by: sjg (mentor) > > Modified: > head/contrib/libxo/Makefile.am > head/contrib/libxo/configure.ac > head/contrib/libxo/doc/libxo-manual.html > head/contrib/libxo/doc/libxo.txt > head/contrib/libxo/encoder/cbor/enc_cbor.c > head/contrib/libxo/encoder/test/enc_test.c > head/contrib/libxo/libxo/libxo.c > head/contrib/libxo/libxo/xo.h > head/contrib/libxo/libxo/xo_buf.h > head/contrib/libxo/libxo/xo_encoder.c > head/contrib/libxo/libxo/xo_encoder.h > head/contrib/libxo/libxo/xo_syslog.c > head/contrib/libxo/tests/core/Makefile.am > head/contrib/libxo/tests/core/saved/test_01.E.out > head/contrib/libxo/tests/core/saved/test_02.E.out > head/contrib/libxo/tests/core/saved/test_03.E.out > head/contrib/libxo/tests/core/saved/test_04.E.out > head/contrib/libxo/tests/core/saved/test_05.E.out > head/contrib/libxo/tests/core/saved/test_06.E.out > head/contrib/libxo/tests/core/saved/test_07.E.out > head/contrib/libxo/tests/core/saved/test_08.E.out > head/contrib/libxo/tests/core/saved/test_09.E.out > head/contrib/libxo/tests/core/saved/test_10.E.out > head/contrib/libxo/tests/core/saved/test_11.E.out > head/contrib/libxo/tests/core/saved/test_11.HIPx.out > head/contrib/libxo/tests/core/saved/test_12.E.out > head/contrib/libxo/tests/core/saved/test_12.H.out > head/contrib/libxo/tests/core/saved/test_12.HIPx.out > head/contrib/libxo/tests/core/saved/test_12.HP.out > head/contrib/libxo/tests/core/saved/test_12.J.out > head/contrib/libxo/tests/core/saved/test_12.JP.out > head/contrib/libxo/tests/core/saved/test_12.T.out > head/contrib/libxo/tests/core/saved/test_12.X.out > head/contrib/libxo/tests/core/saved/test_12.XP.out > head/contrib/libxo/tests/core/test_12.c > head/contrib/libxo/tests/gettext/Makefile.am > head/contrib/libxo/tests/xo/Makefile.am > head/contrib/libxo/xo/xo.1 > head/contrib/libxo/xohtml/xohtml.1 > head/contrib/libxo/xopo/xopo.1 > head/contrib/libxo/xopo/xopo.c > head/lib/libxo/add.man > head/lib/libxo/xo_config.h > Directory Properties: > head/contrib/libxo/ (props changed) > Hi Phil, This commit breaks at the below: ===> lib/libxo (all) /home/cy/current/contrib/libxo/libxo/libxo.c:242:17: error: redefinition of type def 'xo_color_t' is a C11 feature [-Werror,-Wtypedef-redefinition] typedef uint8_t xo_color_t; ^ /home/cy/current/contrib/libxo/libxo/libxo.c:206:17: note: previous definition i s here typedef uint8_t xo_color_t; ^ 1 error generated. --- libxo.o --- *** [libxo.o] Error code 1 on universe12b. -- 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-all@freebsd.org Thu Jun 8 17:54:28 2017 Return-Path: Delivered-To: svn-src-all@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 9E9D0C315D9; Thu, 8 Jun 2017 17:54:28 +0000 (UTC) (envelope-from gjb@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 6CC6367259; Thu, 8 Jun 2017 17:54:28 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58HsRBP007707; Thu, 8 Jun 2017 17:54:27 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58HsRvw007706; Thu, 8 Jun 2017 17:54:27 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706081754.v58HsRvw007706@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 8 Jun 2017 17:54:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319712 - stable/11/release X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 17:54:28 -0000 Author: gjb Date: Thu Jun 8 17:54:27 2017 New Revision: 319712 URL: https://svnweb.freebsd.org/changeset/base/319712 Log: MFC r319621: Ensure ${_CW} is uppercase when passing '-c' to mk-vmimage.sh, otherwise with 'CLOUDWARE=vagrant-virtualbox', the path to the configuration file may be incorrect. Approved by: re (marius) Sponsored by: The FreeBSD Foundation Modified: stable/11/release/Makefile.vm Directory Properties: stable/11/ (props changed) Modified: stable/11/release/Makefile.vm ============================================================================== --- stable/11/release/Makefile.vm Thu Jun 8 17:10:58 2017 (r319711) +++ stable/11/release/Makefile.vm Thu Jun 8 17:54:27 2017 (r319712) @@ -59,7 +59,7 @@ cw-${_CW:tl}: ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} \ -i ${.OBJDIR}/${_CW:tl}.img -s ${VMSIZE} -f ${${_CW:tu}_FORMAT} \ - -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}IMAGE} -c ${${_CW}CONF} + -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}IMAGE} -c ${${_CW:tu}CONF} touch ${.TARGET} cw${_CW:tl}-package: From owner-svn-src-all@freebsd.org Thu Jun 8 17:56:25 2017 Return-Path: Delivered-To: svn-src-all@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 08EBBC31663; Thu, 8 Jun 2017 17:56:25 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D41F967391; Thu, 8 Jun 2017 17:56:24 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id ADD851DEBA; Thu, 8 Jun 2017 17:56:23 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Date: Thu, 8 Jun 2017 17:56:21 +0000 From: Glen Barber To: Cy Schubert Cc: Phil Shafer , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r319694 - in head: contrib/libxo contrib/libxo/doc contrib/libxo/encoder/cbor contrib/libxo/encoder/test contrib/libxo/libxo contrib/libxo/tests/core contrib/libxo/tests/core/saved cont... Message-ID: <20170608175621.GA26362@FreeBSD.org> References: <201706081304.v58D41Ce086153@repo.freebsd.org> <201706081406.v58E6Fok077647@slippy.cwsent.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ew6BAiZeqk4r7MaW" Content-Disposition: inline In-Reply-To: <201706081406.v58E6Fok077647@slippy.cwsent.com> X-Operating-System: FreeBSD 11.0-STABLE amd64 X-SCUD-Definition: Sudden Completely Unexpected Dataloss X-SULE-Definition: Sudden Unexpected Learning Event X-PEKBAC-Definition: Problem Exists, Keyboard Between Admin/Computer X-Spidey-Sense: Uh oh, Peter logged in User-Agent: Mutt/1.8.2 (2017-04-18) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 17:56:25 -0000 --ew6BAiZeqk4r7MaW Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jun 08, 2017 at 07:06:15AM -0700, Cy Schubert wrote: > In message <201706081304.v58D41Ce086153@repo.freebsd.org>, Phil Shafer=20 > writes: > > Author: phil > > Date: Thu Jun 8 13:04:01 2017 > > New Revision: 319694 > > URL: https://svnweb.freebsd.org/changeset/base/319694 > >=20 > > Log: > > Import libxo-0.8.0: > > - addition of --libxo colors=3Dxxxxx color map (so I never see "blue= ") > > - fix bugs from -fsanitize=3Daddress and =3Dundefined > > - utf-8 changes (remove support fore 6 byte utf-8 values, which are = "histo > > rical") > > - add comments > > - fix man pages > > - update test cases > > =20 > > Submitted by: phil > > Reviewed by: sjg > > Approved by: sjg (mentor) > >=20 > > Modified: > > head/contrib/libxo/Makefile.am > > head/contrib/libxo/configure.ac > > head/contrib/libxo/doc/libxo-manual.html > > head/contrib/libxo/doc/libxo.txt > > head/contrib/libxo/encoder/cbor/enc_cbor.c > > head/contrib/libxo/encoder/test/enc_test.c > > head/contrib/libxo/libxo/libxo.c > > head/contrib/libxo/libxo/xo.h > > head/contrib/libxo/libxo/xo_buf.h > > head/contrib/libxo/libxo/xo_encoder.c > > head/contrib/libxo/libxo/xo_encoder.h > > head/contrib/libxo/libxo/xo_syslog.c > > head/contrib/libxo/tests/core/Makefile.am > > head/contrib/libxo/tests/core/saved/test_01.E.out > > head/contrib/libxo/tests/core/saved/test_02.E.out > > head/contrib/libxo/tests/core/saved/test_03.E.out > > head/contrib/libxo/tests/core/saved/test_04.E.out > > head/contrib/libxo/tests/core/saved/test_05.E.out > > head/contrib/libxo/tests/core/saved/test_06.E.out > > head/contrib/libxo/tests/core/saved/test_07.E.out > > head/contrib/libxo/tests/core/saved/test_08.E.out > > head/contrib/libxo/tests/core/saved/test_09.E.out > > head/contrib/libxo/tests/core/saved/test_10.E.out > > head/contrib/libxo/tests/core/saved/test_11.E.out > > head/contrib/libxo/tests/core/saved/test_11.HIPx.out > > head/contrib/libxo/tests/core/saved/test_12.E.out > > head/contrib/libxo/tests/core/saved/test_12.H.out > > head/contrib/libxo/tests/core/saved/test_12.HIPx.out > > head/contrib/libxo/tests/core/saved/test_12.HP.out > > head/contrib/libxo/tests/core/saved/test_12.J.out > > head/contrib/libxo/tests/core/saved/test_12.JP.out > > head/contrib/libxo/tests/core/saved/test_12.T.out > > head/contrib/libxo/tests/core/saved/test_12.X.out > > head/contrib/libxo/tests/core/saved/test_12.XP.out > > head/contrib/libxo/tests/core/test_12.c > > head/contrib/libxo/tests/gettext/Makefile.am > > head/contrib/libxo/tests/xo/Makefile.am > > head/contrib/libxo/xo/xo.1 > > head/contrib/libxo/xohtml/xohtml.1 > > head/contrib/libxo/xopo/xopo.1 > > head/contrib/libxo/xopo/xopo.c > > head/lib/libxo/add.man > > head/lib/libxo/xo_config.h > > Directory Properties: > > head/contrib/libxo/ (props changed) > >=20 >=20 >=20 > Hi Phil, >=20 > This commit breaks at the below: >=20 > =3D=3D=3D> lib/libxo (all) > /home/cy/current/contrib/libxo/libxo/libxo.c:242:17: error: redefinition = of=20 > type > def 'xo_color_t' is a C11 feature [-Werror,-Wtypedef-redefinition] > typedef uint8_t xo_color_t; > ^ > /home/cy/current/contrib/libxo/libxo/libxo.c:206:17: note: previous=20 > definition i > s here > typedef uint8_t xo_color_t; > ^ > 1 error generated. > --- libxo.o --- > *** [libxo.o] Error code 1 >=20 I believe this is fixed by r319709. Glen --ew6BAiZeqk4r7MaW Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEjRJAPC5sqwhs9k2jAxRYpUeP4pMFAlk5j8AACgkQAxRYpUeP 4pNrkg//fUyDhbsTJxFNwy2Xr47dLb60X6oCkWeF3paqoynRjDkDUYUs5m4BIJDL JJL/gK783FsiLCFwfkbfpg6uCHvHhz1z8LVayZTPOQeLKnWD+W0MBVTybNY3cgXD i+w7GY568qdE4is5jSKGdIjs1jWNsonJp4Ybs2Z7G41qV2F0Xuvz6xiGvw2dFzh9 Vk/Oev89VtFO2lncTt0S/oywOUmFTAtxrZJSZHdq2FKB+DgxVZNrtyB8uiBNNi7H ZIU9h/yqNs0i5IJb3gO7hajT7b6M07hc+yldE3ZF8OqsFK42n+AlhXcG0VH9+hhd XDyUM7UiKNa38t3Ys3q9iMLSpDU9I8qGTu1s87M1cL9oSgpnU9f071piPKjGhk2i Bl4mVXppIgGQjeXwXW+onhfGOkZoCCnLRPuh1RTOn/z9Vn8Z5eg7y8Q9F0KwvKhe HARPq4vxYCzRMn5YwQsxP79QSePxK7a/oFVhAIZUFZe2Q6FolliYiQyX25D9BAlu mw0eidRxDlMrwv+F1S5+PBZWkUNnWTiilHPmTrzzkMXmtyyhkzGP5ampZcg8ar8M s0VBqUV3yX7U5MVst2qtHXpQpXmWbP1MG4pfkBPBJMvPgPiX+mdz+doLamVysj9r GxrR+5SafnZqMtFj1fT5UIePe5/7f3BD/6mLN8oRKRxolP30RvI= =qLQl -----END PGP SIGNATURE----- --ew6BAiZeqk4r7MaW-- From owner-svn-src-all@freebsd.org Thu Jun 8 18:01:51 2017 Return-Path: Delivered-To: svn-src-all@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 CBC9BC319A6; Thu, 8 Jun 2017 18:01:51 +0000 (UTC) (envelope-from phil@juniper.net) Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0092.outbound.protection.outlook.com [104.47.34.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7383567915; Thu, 8 Jun 2017 18:01:50 +0000 (UTC) (envelope-from phil@juniper.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=VSxC/kVJiMASeFfmkJdzhBgG4ntgq8OamMdE7oKpZN4=; b=UDnoFp6WwH8b3eeWM4WNYLbzrCxjDWcdwyj8QvCVVSYZ8rsyB3DG/8xRU+/9sFNHbINzv5R2uDPofDOwVjonqPBpXYPOb0V/EeFove5VDUMlcAxu2ybjz+3kN4t3tzLYAdPZdGa02E/8fI7PfRVqln/uq11urPgZC6dt67Sab98= Received: from SN1PR0501CA0022.namprd05.prod.outlook.com (10.163.126.160) by BY1PR0501MB1304.namprd05.prod.outlook.com (10.160.200.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1157.9; Thu, 8 Jun 2017 18:01:49 +0000 Received: from CO1NAM05FT031.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e50::201) by SN1PR0501CA0022.outlook.office365.com (2a01:111:e400:52fe::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1178.5 via Frontend Transport; Thu, 8 Jun 2017 18:01:48 +0000 Authentication-Results: spf=softfail (sender IP is 66.129.239.12) smtp.mailfrom=juniper.net; FreeBSD.org; dkim=none (message not signed) header.d=none;FreeBSD.org; dmarc=fail action=none header.from=juniper.net; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.239.12 as permitted sender) Received: from p-emfe01a-sac.jnpr.net (66.129.239.12) by CO1NAM05FT031.mail.protection.outlook.com (10.152.96.143) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256) id 15.1.1075.12 via Frontend Transport; Thu, 8 Jun 2017 18:01:47 +0000 Received: from p-mailhub01.juniper.net (10.160.2.17) by p-emfe01a-sac.jnpr.net (172.24.192.21) with Microsoft SMTP Server (TLS) id 14.3.123.3; Thu, 8 Jun 2017 11:01:19 -0700 Received: from idle.juniper.net (idleski.juniper.net [172.25.4.26]) by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id v58I1JAv011543; Thu, 8 Jun 2017 11:01:19 -0700 (envelope-from phil@juniper.net) Received: from idle.juniper.net (localhost [127.0.0.1]) by idle.juniper.net (8.15.2/8.15.2) with ESMTP id v58I1TMv075853; Thu, 8 Jun 2017 14:01:30 -0400 (EDT) (envelope-from phil@juniper.net) Message-ID: <201706081801.v58I1TMv075853@idle.juniper.net> From: Phil Shafer To: Cy Schubert CC: Phil Shafer , , , Subject: Re: svn commit: r319694 - in head: contrib/libxo contrib/libxo/doc contrib/libxo/encoder/cbor contrib/libxo/encoder/test contrib/libxo/libxo contrib/libxo/tests/core contrib/libxo/tests/core/saved cont... In-Reply-To: <201706081406.v58E6Fok077647@slippy.cwsent.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <75851.1496944889.1@idle.juniper.net> Content-Transfer-Encoding: quoted-printable Date: Thu, 8 Jun 2017 14:01:29 -0400 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:66.129.239.12; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39450400003)(39400400002)(39850400002)(39410400002)(39840400002)(39860400002)(2980300002)(189002)(199003)(9170700003)(54906002)(46406003)(77096006)(6916009)(229853002)(2950100002)(105596002)(76506005)(53416004)(189998001)(6246003)(23726003)(1076002)(38730400002)(110136004)(53936002)(97756001)(4326008)(2906002)(2810700001)(50986999)(54356999)(356003)(86362001)(7696004)(8276002)(478600001)(47776003)(8936002)(5660300001)(7126002)(81166006)(8746002)(8676002)(305945005); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR0501MB1304; H:p-emfe01a-sac.jnpr.net; FPR:; SPF:SoftFail; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CO1NAM05FT031; 1:EKpI+lqlYAzp3tgV055uIAhI0Nbz0YSQnTWRDuRpE3sMB5aBaqZPnsmOdmi8eiR2XfaXUn2CNfI6R1/kHlquetIqV5o6hdTKOzj/IxAegnvBWMu+m2csBSZnMgDS0zg8Of6EuxEYeByOeuishTBn/M5QQYzyRdJZ1e0DkH2SlDHv7WmK54wSazk1KDym3ojM6jnLWciCxCgKXV+foSzgJkLdTsrqK4daMQfbMfURYoGVU18jPk8k6p+KDpTp0qvBzoJblSZigkXoWVuCIvGrNM8cAq9V05dlPdOvxavRMbPnfSW93nUMdY/bt4ck263DQuIZFP4VTERxQ3cOsQdDyBCHvo4o8u6wVn0oJYL6k2+xls9j0kazqBMB8F0Ksc8wjZywvjFL2aLy3XIz0HmyR1q6L6KDUJvzVRzMtaRHKM+nu45ITjZI9FwtCWC7HLCJd7TTckEvh6mDWSros8MX74AXnGppTM1fXx5NrjcnqfCSPEzg9lYVUTtz4Pel9fSUsha1Vr2/ISexxuXUBv9z8C7AMM5qBBZHHcd47jR0khZGq4wVeLhZOItm6sWNV08C X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY1PR0501MB1304: X-MS-Office365-Filtering-Correlation-Id: 1ef296af-d123-4442-f675-08d4ae986f08 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081); SRVR:BY1PR0501MB1304; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1304; 3:MKX2QmSDBWKZl5K935F5zhHCAr83i29Yhav7qJ7q0LE5mrVnYCLcxkzmJPs5sfRP0wrvH/qbuAtynEkeAbg8YgC0McRKECD2eFi4K8NKKzaBIbmyuKuoRHcoJuRfPIAgLO43j7uS73r1pipQxWN+rWitWeiEhotsKuiZAizk2mA408atq/KMj5TtWyt6JUT7HP/nEFmq2Gcask6U8h86qlxFXQ8PacZSPPhbQjzXNUYya3rgRHNzdjGNj5sziUJL6dl1Eq0+Fvd8OnMEOp8bxL0MwdJfvKVTwxZsv6y5fJhhm2AXfu+1cvospOkFOnfU3tN7ptJfBG1hd/pWEiYLaMcCAmG23oTYgzdcJpVdnihLh7EkJ/rC1MtgkIKgq08VvSbWaTCk5zCrM30lB/rXJi8uveIzfE9LYVn1FgIWkZua5/RVXHo/k66nrx/bI23jZDuItbUiZOxvJd2nPktDOg== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1304; 25:RphERuDlcGFhTii3GhM9YBcfjQpmQ7WaXxvbPy4TxL123z2ZsXzcNJVTOhHMAAtVC0xZvDddChCKvTh80cIdJCkQ+v+jYoRCuaSgsbxYYMKOy5Jat0ICKAqBfM3PgSIDfvb5tvqx08OWZWADkLA0UFW2fT8Fp3mgWK142WamQvtFL6rklOdv768N+3QOJtLBnBQg2cqL3Z9dJI+krwcY60mPxAd3jlHZ9GwkR1Viqq1+OIh5ihorToc9UiciFL86zL24BEeiR4RpFI7eTd1pxLFx5fr7dv3qdfcjKzckB+mf0f9+OL4LFhe2o14sdYPynq+vK4gtG8u++IyON1bY8e1gwsgHkQeb2K/omyyuHnn6GxOE6oR+XeENvdYgzeDoLgTucTvg1xVerz+EQBfkOZmiEbrKP9R0+8pLyfrGawUNgoUZIPb+Wgol29HfD6CJJ2DnU+AE7xehDaqtJ8h/AS4NTAWukITzusaWtEnSvPQ=; 31:MHsugeRY9bC5/WV44IL7kzZTRxK/CYBOl0Pjoc9pZ8dBkKR1l+dPQcpDdbpN6+amHrFZV5MIll05xCqNvE2KreEr/wfWYMzAyHg9ZD7jEkxLUiS0pX6ci2Bc9nbG4ySZ8SssW7TGXi/u9I+efWvGnlhudumzUQvXZYh5xrM6tU94bPox491heZUNb/Uh8BQ8i0WyRSM23dWo5g0qq4bxqHbsGQs+DZnQpGljTZ8QkTbY5gQtRtKKjaymCFrmgaKMPKAyAvCnYVBdu3zvutYtUQ== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1304; 20:KyeohukW5fwM0jc36rbI3MqKSbL6Q/MzbPdN5lKWRJBr1DjNPdlalKrBWdqzD94xVWJD48O0eJqaVYmnX313OtpteBmqzYlykl+/jdSOaMdHVyv6VMM073NgI7Ort1yTGGCH+Z4R/fZ/woz8i2gc+HRwbisowdlbq3QdQ8POeOXPul1gYlGyBINrEW7SNXk5XCxGXFTFQsqDrESqePtUBqcQQCtK3E3WNjyhhLhfqTIS756x4HSbzzLSgnDGkPu8FI3ioW4sMgxL1TbZkS4To1c3aZuLPVYIWqeARtyhq+KihBAIMpVksYkfGSrK0GfFp5F6hTOUqbxLXsb2oOifGmuvjTGzBJNBHONWsI+1cMAF66H/OVrqEVXg+erO0XExKu+ZMDA3zGYcghzsvDvkPRn+9CerkrCdUjm9GxlJMMdslUA+dTmyx1r+Y1CpAPK9Rv1Scy7yd0W7d/g83AycHTgjC3tyOVZvxVULSP9ftW8yDQB17uLnEHYr314ocC1i X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(13016025)(5005006)(13018025)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(93003095)(6055026)(6041248)(20161123560025)(20161123555025)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY1PR0501MB1304; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY1PR0501MB1304; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0501MB1304; 4:xzbdhyUy2wNMfzJpuGQ7i1S8qaOlVg/KkK5Q85O4?= =?us-ascii?Q?JsfTn+L+L+s2TC9X4UGPq6x/V/4frdbhqEgGSEnRMeU5SYK1XcQPOS0++tCH?= =?us-ascii?Q?IpjgOcbs633G9t7Vi1sp3hFdKj8LLWSuiA6xKoG9XjZylwZlGHAVnnb5LlVL?= =?us-ascii?Q?nFSvd95RSJbf63Owi3ezvKx9dIWltb3JXH4lxlRn7YJx3lOCNOYn6BvZBx2X?= =?us-ascii?Q?NLL7BOcb9HVtW1j3j4qptfbB1tv+H+ixCGF5zvJyjwSGoq4K+kSHCURn/KZm?= =?us-ascii?Q?xs3aesN8W0cKq05MxE4FJ5CR6Qhe2YUtvA2+5+l25UdivSJl1A2kBwImS5/A?= =?us-ascii?Q?MEBHMDrOcUn0KK8hxKRDacT0zAz4ttQIwz6PgdalW2VgLB4BPYlJgVcI0G+h?= =?us-ascii?Q?YBoPzTxBXsKM1wfVcrmoHnrBTELcBZCx604cTWqavd0RUs0EF+OoMXdVvLiq?= =?us-ascii?Q?G4onR1K7I1z9RpDGn4wBG1GC4cFqHvYxpNdtkGQTBenqVz6n6f3VDFuwkPGA?= =?us-ascii?Q?GuqvrVj5w681j6kyS9Oagb/JdQZjOw2oI266OizL+CM9NZyyYF/y5gGSvMJP?= =?us-ascii?Q?YC8Qj+c1sxmRvVqDFIxIUyBzAx1gfLgTV7vI14j5ekxBcWbaynTEztCbZxOs?= =?us-ascii?Q?ATBB+7jm05znqQ/2kgUbn2ulK/ZGMxOJJlSOx95P/VwSE4vjychzxVrJ9zGV?= =?us-ascii?Q?yViQB3djADbVppvw2Jifp+rv1pLF25UvRoyjfIMPocVq2gMrCzXMNJAarYyG?= =?us-ascii?Q?2ZBG52dKzzTBL8otbHPKlOJXuP86fXravRSZbLbPIYvwTQL5NB0VXRf/0uXD?= =?us-ascii?Q?dQaxjO5T1L6Btf9z3FCPepuTq6n+sBPUqIaMc83MqVMhsNKq6ZGl7cN/dLhB?= =?us-ascii?Q?uLPRP+qPrQ8Q2GJaJRpD5ZMxggljmpZy5su/RQfYFW2WAqF1DkNTTRP01nS7?= =?us-ascii?Q?SIAKrrK0970aZG6iHwi7Gj6ixW59ycXRhgX2Aqa4lmJrcSU2y/StkQlu5Moi?= =?us-ascii?Q?YXnG/8KYsl07AT1vsVO6YMOvAtd62odOke/w4Lxb+Y9Ud55salASL73qxISc?= =?us-ascii?Q?zgFMdXJUKVk2vBaOCdVRivKfdyYnrMb0T/c2Ar01xwzlI/6lmxB9LIhJ66nU?= =?us-ascii?Q?orKrmcuf4uePm88vbItj+AKZ3hEkAIVQDJwpUufG63LpMzj6xgyHbAIW8C2U?= =?us-ascii?Q?fAdRK+ZF0qpvBirUwgP9M9ttJ4kLuOvTPrIJ?= X-Forefront-PRVS: 0332AACBC3 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0501MB1304; 23:Pxyxym7VUBlT6QjYHiHF2tf8S05SWj3yfsVpWbc?= =?us-ascii?Q?kgwQIjikTNVvcWXuf+HBZVoSRPMO2tly5iBkd6+PwmxAamJ6BBR8em9R7jrH?= =?us-ascii?Q?OQysQsmgR/PNWXIIxWyvGFoHfDiy2ZAsiAXrK7aAjyXFYo8aOFAHc0JXxruk?= =?us-ascii?Q?VeiWwikuFYFHove6Qw1IqPah1bKtPKRUTbx+6NPLDwg1eYRTMbIFeFNKRrzN?= =?us-ascii?Q?2mr1w4KCyyhG0QIms7dRebT0MkrbPIybbGioMfk+B8SabA4QWQ/Z+ytl0qjL?= =?us-ascii?Q?r/SyqH+RXVdLFqRK3wl6fiAyqGKhZ3KkVpakECbhMTl43bvLdz9KPyDXnJ0U?= =?us-ascii?Q?kP11J56Wq59aZdBYH+TbFMV/p01MCc45R+m5ehXBUWFetpfOPh/OnX6+X0QG?= =?us-ascii?Q?tbcg8oM5fHde6GXomkOI7NXNqp8xukN/XhCyzr4I2FVDCMQCHx40vLX5MKst?= =?us-ascii?Q?lLN/uaxYrw6j7lSUmDU2wZeg3ofDwZzyGKbzzeBCA+4Bf/U02Z+ri78Rf1ha?= =?us-ascii?Q?mWQutdT4CXEpJwpKUtFSVHSPWjMymXMhum7QHGuPRgJyPDBZFlXR7LArnWLh?= =?us-ascii?Q?ifqjFAc6Ub/7eWYHdpHO1hd9CXh9OqIE1rFwVdtD2ypUIKNqV3bu3uOSWTdQ?= =?us-ascii?Q?whTClF+J673qEa6c4mHiPPqTPSyGTG+kB5P90ZiXutULpWer9PqYy57o2tzh?= =?us-ascii?Q?08mW+XAlzRc5ZRJjHAWRASP8aE71HfHgt/rjxd4djQJ2kt8g8sF2VJGkMSh1?= =?us-ascii?Q?6hhexMh5hz17kKTp85myg+jGWUkgMcnAEXRN2v3x/gFGgB0BHKbyYQHdOz5P?= =?us-ascii?Q?6wCdXkH2vBJZCr5jW6QJ9FPmfb2pkqjL7NSQ7p+q+Qv7rcXHRGm3ER+3ydHB?= =?us-ascii?Q?xFQT51A4OrBwPabLl9VWyQSPnV7qLTAsEsHzym9H5VApVjh9vCx4yf+/RObF?= =?us-ascii?Q?7loF4fBgfIVMuxTppQYJHWCBZHQ9/+2tU/nXThWYFDPdqADsLo1zGSIgrKYX?= =?us-ascii?Q?3eXz+NvK7vLnEQaBqqHFwjcY0JbjueQcXd1plqGVEZCJYv2RGC+a+YRODmc/?= =?us-ascii?Q?lQoOKcGqbP7nE6rsxiGcHZKHX9CIaJdYk99VbVwMA4kyVgXNPVr3XtSLpGCS?= =?us-ascii?Q?ozyaRRRTJ+/pE+gWGMLK0NXR5Q3sYiyw6?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1304; 6:zbH6e0xA8TizbgL8AKbAW6xzD+bcC141Olnt5rAa9lY5ysxmz9j0mLRZcm0t3wvmpLH2TdEdVe2jkjaQXtuHSqHvHxA/tj8I5obk4Eb96it5VVThYNBHtmGIc9D5e90nzZ4rNI/GVkYjNLKikBvPxdWsief2F97lDNf/jLvPMKY2lo6ve05xzLiKRnlNI2bmrhTFpZYhMzCa3SyzVzAwUsSbwwJG7AT5A1ZAnM1/TkYJfHnVh1l7koewbQuBDt+MIiGxRkHJXi6nqBd/xCg/wQgHZ8l2ZGYPegXtO+mBHvVcYPN8dMv6zXtkvCtPCyNbK/RLjFZ26ANX7Us1/2ZxY+/owSbQTQCcoBo2ribr/EKEM+i5Ob7Bn/YE+QPh4ozDC+JDZc6mz7MgGy5xmc2SDoYTZmDjZ3+gjMw/60YDQx/bo5/dulBJr9M/ikrnP8kZZ9D6sb7HxSORZm+O05PloNZKhciNSSlIqALaiX7zB0E7S7aGOZkd+73w/DdyAns/cUTJvOpwvC8d0FwouPGMGNW4Bq3HdieoCoHKy/9qlvI= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1304; 5:+ruz1RDBvI80dLfvS5RR/5n9WY9lVCdMiuT+nxa606uiEzWAtYp0BmMcCOzm2Vdzwv1a1eBeeMKkqD2Vw8cAN8BPMPG3MvOoJWwi8xitn4MWE9aAr6VLUE2dAzANk41WLmUB1kBQXkPKcPs/kcwxYNU62LVA5Xh49KXp6XtlAW/qULJqJkDLbMnuz7AUiqOGV8Vl+RdIj2wltkMXjZ9oK9BGaHTVsbrfpfoJIoX/ygn8JNR/7p+rgQnzvXvkz8+fwbg47R7suXHryEbKwKLu6Jia7DO/3YAB66Ga60tzFUXzJpjDM52aXHfw7sYoXX1DP4Rk5AcOSZZvrzifxtbOZAHOwGSS+QkVHFKBk2ppJF5eyIVH0D7Auuglkn0gf7Fe/Nvn9PZz5Yg/pDBF7EHWezis7dPdcXiXYAI6/5E8x8ykHvZXPpWxgN58RtNXKkdPC1fBNMwqRhWoEdaUwPxySvLe5ar2f1YRxdyoAlRK7Q3Yk12LfJA8soMC2qHEDMbs; 24:2oqqED34BjdFLt9gH65yAnwW7enyhFBNRVeirvLvLlLt2rfyxN+PO9z1egaR41YWu+UmJrdpt07WxVCXZAaZ5s+RB1YQX8+REAqd5SyRhjM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1304; 7:MvV/LSDWFrDBzTpQrUegZ5CNGbg+huZJnb5mVM+fW9eXw/r3WEgjesIavHtyAhcgJtaCnqiXbf8tj72mj7Jq6jL1BQTkS57PXZGOozWDLaQf2PJWe/OT1c6hdfUcWyfBYgJfZ2c/k8WbYgJGKsxMXbVtaQfpEmBOXyvfAoRNYwYe5RwbNak4+5V8eUKiengqfQPYV5NfmYiAvKBokDtWPVvWyqpaGOo4pPdvBS9bYvXRyLaVY0i/A5MwbIVi6dFtZ6zhzqR8CNSoR2+bZIP5rUyt1iAJ1gbCcHBtsBfSf/ja0FPTkArq9hQGIZokdN0HmGdes894RKN0iYeN7W1+OQ== X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2017 18:01:47.0539 (UTC) X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.239.12]; Helo=[p-emfe01a-sac.jnpr.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0501MB1304 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 18:01:51 -0000 Cy Schubert writes: >/home/cy/current/contrib/libxo/libxo/libxo.c:242:17: error: redefinition = of typedef 'xo_color_t' is a C11 feature [-Werror,-Wtypedef-redefinition] >typedef uint8_t xo_color_t; Apologies. My compiles under macosx and fb11 didn't hit this. It's fixed now. I'll reimport a libxo version with the fix when my "make buildworld" completes. Thanks, Phil From owner-svn-src-all@freebsd.org Thu Jun 8 18:20:33 2017 Return-Path: Delivered-To: svn-src-all@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 7C212C31F53; Thu, 8 Jun 2017 18:20:33 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BB0D6840F; Thu, 8 Jun 2017 18:20:33 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58IKWkU016552; Thu, 8 Jun 2017 18:20:32 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58IKW2v016551; Thu, 8 Jun 2017 18:20:32 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201706081820.v58IKW2v016551@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Thu, 8 Jun 2017 18:20:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319713 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 18:20:33 -0000 Author: jkim Date: Thu Jun 8 18:20:32 2017 New Revision: 319713 URL: https://svnweb.freebsd.org/changeset/base/319713 Log: Correct an obsolete path to delete. Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Thu Jun 8 17:54:27 2017 (r319712) +++ head/ObsoleteFiles.inc Thu Jun 8 18:20:32 2017 (r319713) @@ -596,7 +596,7 @@ OLD_FILES+=usr/share/doc/psd/Title.ascii.gz OLD_FILES+=usr/share/doc/psd/contents.ascii.gz OLD_DIRS+=usr/share/doc/psd/ OLD_FILES+=usr/share/doc/smm/01.setup/paper.ascii.gz -OLD_DIRS+=usr/share/doc/smm +OLD_DIRS+=usr/share/doc/smm/01.setup OLD_FILES+=usr/share/doc/smm/02.config/paper.ascii.gz OLD_DIRS+=usr/share/doc/smm/02.config OLD_FILES+=usr/share/doc/smm/03.fsck/paper.ascii.gz From owner-svn-src-all@freebsd.org Thu Jun 8 19:09:57 2017 Return-Path: Delivered-To: svn-src-all@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 0358BC77D53; Thu, 8 Jun 2017 19:09:57 +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 D18AF6AC52; Thu, 8 Jun 2017 19:09:56 +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 v58J9u92037192; Thu, 8 Jun 2017 19:09:56 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58J9tbZ037188; Thu, 8 Jun 2017 19:09:55 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201706081909.v58J9tbZ037188@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Thu, 8 Jun 2017 19:09:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319714 - in head: bin/ln bin/ln/tests etc/mtree X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 19:09:57 -0000 Author: asomers Date: Thu Jun 8 19:09:55 2017 New Revision: 319714 URL: https://svnweb.freebsd.org/changeset/base/319714 Log: Add tests for ln(1) * Verify that when creating a hard link to a symbolic link, '-L' option creates a hard link to the target of the symbolic link * Verify that when creating a hard link to a symbolic link, '-P' option creates a hard link to the symbolic link itself * Verify that if the target file already exists, '-f' option unlinks it so that link may occur * Verify that if the target file or directory is a symbolic link, '-shf' option prevents following the link * Verify that if the target file or directory is a symbolic link, '-snf' option prevents following the link * Verify that '-s' option creates a symbolic link * Verify that '-w' option produces a warning if the source of a symbolic link does not currently exist Submitted by: shivansh Reviewed by: asomers, ngie MFC after: 1 month Sponsored by: Google, Inc (GSoC 2017) Differential Revision: https://reviews.freebsd.org/D11084 Added: head/bin/ln/tests/ head/bin/ln/tests/Makefile (contents, props changed) head/bin/ln/tests/ln_test.sh (contents, props changed) Modified: head/bin/ln/Makefile head/etc/mtree/BSD.tests.dist Modified: head/bin/ln/Makefile ============================================================================== --- head/bin/ln/Makefile Thu Jun 8 18:20:32 2017 (r319713) +++ head/bin/ln/Makefile Thu Jun 8 19:09:55 2017 (r319714) @@ -1,11 +1,17 @@ # @(#)Makefile 8.2 (Berkeley) 5/31/93 # $FreeBSD$ +.include + PACKAGE=runtime PROG= ln MAN= ln.1 symlink.7 LINKS= ${BINDIR}/ln ${BINDIR}/link MLINKS= ln.1 link.1 + +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif .include Added: head/bin/ln/tests/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/ln/tests/Makefile Thu Jun 8 19:09:55 2017 (r319714) @@ -0,0 +1,5 @@ +# $FreeBSD$ + +ATF_TESTS_SH+= ln_test + +.include Added: head/bin/ln/tests/ln_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/ln/tests/ln_test.sh Thu Jun 8 19:09:55 2017 (r319714) @@ -0,0 +1,217 @@ +# +# Copyright 2017 Shivansh Rai +# 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$ +# + +set_umask() +{ + if ! umask 022; then + atf_fail "setting umask failed" + fi +} + +atf_test_case L_flag +L_flag_head() +{ + atf_set "descr" "Verify that when creating a hard link to a " \ + "symbolic link, '-L' option creates a hard" \ + "link to the target of the symbolic link" +} + +L_flag_body() +{ + set_umask + atf_check touch A + atf_check ln -s A B + atf_check ln -L B C + stat_A=$(stat -f %i A) + stat_C=$(stat -f %i C) + atf_check_equal "$stat_A" "$stat_C" + atf_check -o inline:'B: symbolic link to A\n' file B +} + +atf_test_case P_flag +P_flag_head() +{ + atf_set "descr" "Verify that when creating a hard link to a " \ + "symbolic link, '-P' option creates a hard " \ + "link to the symbolic link itself" +} + +P_flag_body() +{ + set_umask + atf_check touch A + atf_check ln -s A B + atf_check ln -P B C + stat_B=$(stat -f %i B) + stat_C=$(stat -f %i C) + atf_check_equal "$stat_B" "$stat_C" +} + +atf_test_case f_flag +f_flag_head() +{ + atf_set "descr" "Verify that if the target file already exists, " \ + "'-f' option unlinks it so that link may occur" +} + +f_flag_body() +{ + set_umask + atf_check touch A B + atf_check ln -f A B + stat_A=$(stat -f %i A) + stat_B=$(stat -f %i B) + atf_check_equal "$stat_A" "$stat_B" +} + +atf_test_case target_exists_hard +target_exists_hard_head() +{ + atf_set "descr" "Verify whether creating a hard link fails if the " \ + "target file already exists" +} + +target_exists_hard_body() +{ + atf_check touch A B + atf_check -s exit:1 -e inline:'ln: B: File exists\n' \ + ln A B +} + +atf_test_case target_exists_symbolic +target_exists_symbolic_head() +{ + atf_set "descr" "Verify whether creating a symbolic link fails if " \ + "the target file already exists" +} + +target_exists_symbolic_body() +{ + atf_check touch A B + atf_check -s exit:1 -e inline:'ln: B: File exists\n' \ + ln -s A B +} + +atf_test_case shf_flag_dir +shf_flag_dir_head() { + atf_set "descr" "Verify that if the target directory is a symbolic " \ + "link, '-shf' option prevents following the link" +} + +shf_flag_dir_body() +{ + atf_check mkdir -m 0777 A B + atf_check ln -s A C + atf_check ln -shf B C + atf_check -o inline:'C: symbolic link to B\n' file C +} + +atf_test_case snf_flag_dir +snf_flag_dir_head() { + atf_set "descr" "Verify that if the target directory is a symbolic " \ + "link, '-snf' option prevents following the link" +} + +snf_flag_dir_body() +{ + atf_check mkdir -m 0777 A B + atf_check ln -s A C + atf_check ln -snf B C + atf_check -o inline:'C: symbolic link to B\n' file C +} + +atf_test_case sf_flag +sf_flag_head() +{ + atf_set "descr" "Verify that if the target file already exists, " \ + "'-sf' option unlinks it and creates a symbolic link " \ + "to the source file" +} + +sf_flag_body() +{ + atf_check touch A B + atf_check ln -sf A B + atf_check -o inline:'B: symbolic link to A\n' file B +} + +atf_test_case s_flag +s_flag_head() +{ + atf_set "descr" "Verify that '-s' option creates a symbolic link" +} + +s_flag_body() +{ + set_umask + atf_check touch A + atf_check ln -s A B + atf_check -o inline:'B: symbolic link to A\n' file B +} + +atf_test_case s_flag_broken +s_flag_broken_head() +{ + atf_set "descr" "Verify that if the source file does not exists, '-s' " \ + "option creates a broken symbolic link to the source file" +} + +s_flag_broken_body() +{ + atf_check ln -s A B + atf_check -o inline:'B: broken symbolic link to A\n' file B +} + +atf_test_case sw_flag +sw_flag_head() +{ + atf_set "descr" "Verify that '-sw' option produces a warning if the " \ + "source of a symbolic link does not currently exist" +} + +sw_flag_body() +{ + atf_check -s exit:0 -e inline:'ln: warning: A: No such file or directory\n' \ + ln -sw A B + atf_check -o inline:'B: broken symbolic link to A\n' file B +} + +atf_init_test_cases() +{ + atf_add_test_case L_flag + atf_add_test_case P_flag + atf_add_test_case f_flag + atf_add_test_case target_exists_hard + atf_add_test_case target_exists_symbolic + atf_add_test_case shf_flag_dir + atf_add_test_case snf_flag_dir + atf_add_test_case sf_flag + atf_add_test_case s_flag + atf_add_test_case s_flag_broken + atf_add_test_case sw_flag +} Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Thu Jun 8 18:20:32 2017 (r319713) +++ head/etc/mtree/BSD.tests.dist Thu Jun 8 19:09:55 2017 (r319714) @@ -18,6 +18,8 @@ .. expr .. + ln + .. ls .. mv From owner-svn-src-all@freebsd.org Thu Jun 8 19:29:10 2017 Return-Path: Delivered-To: svn-src-all@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 E9DB7C78529; Thu, 8 Jun 2017 19:29:09 +0000 (UTC) (envelope-from bapt@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 997796E6FF; Thu, 8 Jun 2017 19:29:09 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58JT8eb045547; Thu, 8 Jun 2017 19:29:08 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58JT7Sa045531; Thu, 8 Jun 2017 19:29:07 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706081929.v58JT7Sa045531@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Thu, 8 Jun 2017 19:29:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319715 - vendor/mdocml/dist X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 19:29:10 -0000 Author: bapt Date: Thu Jun 8 19:29:07 2017 New Revision: 319715 URL: https://svnweb.freebsd.org/changeset/base/319715 Log: Import mandoc 2017-06-08 Added: vendor/mdocml/dist/mdoc_markdown.c (contents, props changed) vendor/mdocml/dist/roff_html.c (contents, props changed) vendor/mdocml/dist/roff_term.c (contents, props changed) vendor/mdocml/dist/roff_validate.c (contents, props changed) vendor/mdocml/dist/term_tab.c (contents, props changed) Deleted: vendor/mdocml/dist/man_hash.c vendor/mdocml/dist/manpage.c vendor/mdocml/dist/mdoc_hash.c Modified: vendor/mdocml/dist/LICENSE vendor/mdocml/dist/Makefile vendor/mdocml/dist/Makefile.depend vendor/mdocml/dist/NEWS vendor/mdocml/dist/TODO vendor/mdocml/dist/apropos.1 vendor/mdocml/dist/catman.8 vendor/mdocml/dist/cgi.c vendor/mdocml/dist/cgi.h.example vendor/mdocml/dist/chars.c vendor/mdocml/dist/configure vendor/mdocml/dist/configure.local.example vendor/mdocml/dist/eqn.c vendor/mdocml/dist/gmdiff vendor/mdocml/dist/html.c vendor/mdocml/dist/html.h vendor/mdocml/dist/libman.h vendor/mdocml/dist/libmandoc.h vendor/mdocml/dist/libmdoc.h vendor/mdocml/dist/main.c vendor/mdocml/dist/main.h vendor/mdocml/dist/makewhatis.8 vendor/mdocml/dist/man.1 vendor/mdocml/dist/man.7 vendor/mdocml/dist/man.c vendor/mdocml/dist/man.cgi.3 vendor/mdocml/dist/man.cgi.8 vendor/mdocml/dist/man.h vendor/mdocml/dist/man_html.c vendor/mdocml/dist/man_macro.c vendor/mdocml/dist/man_term.c vendor/mdocml/dist/man_validate.c vendor/mdocml/dist/mandoc.1 vendor/mdocml/dist/mandoc.3 vendor/mdocml/dist/mandoc.c vendor/mdocml/dist/mandoc.css vendor/mdocml/dist/mandoc.h vendor/mdocml/dist/mandoc_char.7 vendor/mdocml/dist/mandoc_headers.3 vendor/mdocml/dist/mandoc_html.3 vendor/mdocml/dist/mandocd.8 vendor/mdocml/dist/mandocdb.c vendor/mdocml/dist/mansearch.3 vendor/mdocml/dist/mansearch.c vendor/mdocml/dist/mansearch.h vendor/mdocml/dist/mdoc.7 vendor/mdocml/dist/mdoc.c vendor/mdocml/dist/mdoc.h vendor/mdocml/dist/mdoc_argv.c vendor/mdocml/dist/mdoc_html.c vendor/mdocml/dist/mdoc_macro.c vendor/mdocml/dist/mdoc_man.c vendor/mdocml/dist/mdoc_state.c vendor/mdocml/dist/mdoc_term.c vendor/mdocml/dist/mdoc_validate.c vendor/mdocml/dist/out.c vendor/mdocml/dist/out.h vendor/mdocml/dist/read.c vendor/mdocml/dist/roff.7 vendor/mdocml/dist/roff.c vendor/mdocml/dist/roff.h vendor/mdocml/dist/soelim.1 vendor/mdocml/dist/tbl.7 vendor/mdocml/dist/tbl.c vendor/mdocml/dist/tbl_data.c vendor/mdocml/dist/tbl_html.c vendor/mdocml/dist/tbl_layout.c vendor/mdocml/dist/tbl_term.c vendor/mdocml/dist/term.c vendor/mdocml/dist/term.h vendor/mdocml/dist/term_ascii.c vendor/mdocml/dist/term_ps.c vendor/mdocml/dist/tree.c Modified: vendor/mdocml/dist/LICENSE ============================================================================== --- vendor/mdocml/dist/LICENSE Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/LICENSE Thu Jun 8 19:29:07 2017 (r319715) @@ -1,4 +1,4 @@ -$Id: LICENSE,v 1.14 2017/02/08 12:24:10 schwarze Exp $ +$Id: LICENSE,v 1.15 2017/02/21 00:37:03 schwarze Exp $ With the exceptions noted below, all code and documentation contained in the mdocml toolkit is protected by the Copyright Modified: vendor/mdocml/dist/Makefile ============================================================================== --- vendor/mdocml/dist/Makefile Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/Makefile Thu Jun 8 19:29:07 2017 (r319715) @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.504 2017/02/18 15:29:39 schwarze Exp $ +# $Id: Makefile,v 1.512 2017/05/07 17:31:45 schwarze Exp $ # # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons # Copyright (c) 2011, 2013-2017 Ingo Schwarze @@ -85,7 +85,6 @@ SRCS = att.c \ lib.c \ main.c \ man.c \ - man_hash.c \ man_html.c \ man_macro.c \ man_term.c \ @@ -95,15 +94,14 @@ SRCS = att.c \ mandoc_ohash.c \ mandocd.c \ mandocdb.c \ - manpage.c \ manpath.c \ mansearch.c \ mdoc.c \ mdoc_argv.c \ - mdoc_hash.c \ mdoc_html.c \ mdoc_macro.c \ mdoc_man.c \ + mdoc_markdown.c \ mdoc_state.c \ mdoc_term.c \ mdoc_validate.c \ @@ -112,6 +110,9 @@ SRCS = att.c \ preconv.c \ read.c \ roff.c \ + roff_html.c \ + roff_term.c \ + roff_validate.c \ soelim.c \ st.c \ tag.c \ @@ -124,6 +125,7 @@ SRCS = att.c \ term.c \ term_ascii.c \ term_ps.c \ + term_tab.c \ tree.c DISTFILES = INSTALL \ @@ -198,7 +200,6 @@ DISTFILES = INSTALL \ $(TESTSRCS) LIBMAN_OBJS = man.o \ - man_hash.o \ man_macro.o \ man_validate.o @@ -206,7 +207,6 @@ LIBMDOC_OBJS = att.o \ lib.o \ mdoc.o \ mdoc_argv.o \ - mdoc_hash.o \ mdoc_macro.o \ mdoc_state.o \ mdoc_validate.o \ @@ -214,6 +214,7 @@ LIBMDOC_OBJS = att.o \ LIBROFF_OBJS = eqn.o \ roff.o \ + roff_validate.o \ tbl.o \ tbl_data.o \ tbl_layout.o \ @@ -250,16 +251,17 @@ MANDOC_HTML_OBJS = eqn_html.o \ html.o \ man_html.o \ mdoc_html.o \ + roff_html.o \ tbl_html.o -MANDOC_MAN_OBJS = mdoc_man.o - MANDOC_TERM_OBJS = eqn_term.o \ man_term.o \ mdoc_term.o \ + roff_term.o \ term.o \ term_ascii.o \ term_ps.o \ + term_tab.o \ tbl_term.o DBM_OBJS = dbm.o \ @@ -279,6 +281,8 @@ MAIN_OBJS = $(MANDOC_HTML_OBJS) \ $(DBA_OBJS) \ main.o \ manpath.o \ + mdoc_man.o \ + mdoc_markdown.o \ out.o \ tag.o \ tree.o @@ -294,10 +298,6 @@ MANDOCD_OBJS = $(MANDOC_HTML_OBJS) \ out.o \ tag.o -MANPAGE_OBJS = $(DBM_OBJS) \ - manpage.o \ - manpath.o - DEMANDOC_OBJS = demandoc.o SOELIM_OBJS = soelim.o \ @@ -373,7 +373,6 @@ clean: rm -f mandoc $(MAIN_OBJS) rm -f man.cgi $(CGI_OBJS) rm -f mandocd catman $(MANDOCD_OBJS) - rm -f manpage $(MANPAGE_OBJS) rm -f demandoc $(DEMANDOC_OBJS) rm -f soelim $(SOELIM_OBJS) rm -f $(WWW_MANS) $(WWW_OBJS) @@ -388,17 +387,16 @@ base-install: mandoc demandoc soelim mkdir -p $(DESTDIR)$(MANDIR)/man8 $(INSTALL_PROGRAM) mandoc demandoc $(DESTDIR)$(BINDIR) $(INSTALL_PROGRAM) soelim $(DESTDIR)$(BINDIR)/$(BINM_SOELIM) - $(LN) $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_MAN) - $(LN) $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_APROPOS) - $(LN) $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_WHATIS) - $(LN) $(DESTDIR)$(BINDIR)/mandoc \ - $(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_MAN) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_APROPOS) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_WHATIS) + cd $(DESTDIR)$(SBINDIR) && \ + $(LN) ${BIN_FROM_SBIN}/mandoc $(BINM_MAKEWHATIS) $(INSTALL_MAN) mandoc.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1 $(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1 $(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1 $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 - $(LN) $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 \ - $(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1 + cd $(DESTDIR)$(MANDIR)/man1 && $(LN) $(BINM_APROPOS).1 $(BINM_WHATIS).1 $(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/$(MANM_MANCONF).5 $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5 $(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_MAN).7 @@ -475,7 +473,7 @@ uninstall: rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc_aux.h rm -f $(DESTDIR)$(INCLUDEDIR)/mdoc.h rm -f $(DESTDIR)$(INCLUDEDIR)/roff.h - rmdir $(DESTDIR)$(INCLUDEDIR) + [ ! -e $(DESTDIR)$(INCLUDEDIR) ] || rmdir $(DESTDIR)$(INCLUDEDIR) regress: all cd regress && ./regress.pl @@ -492,9 +490,6 @@ libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS) mandoc: $(MAIN_OBJS) libmandoc.a $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD) - -manpage: $(MANPAGE_OBJS) libmandoc.a - $(CC) -o $@ $(LDFLAGS) $(MANPAGE_OBJS) libmandoc.a $(LDADD) man.cgi: $(CGI_OBJS) libmandoc.a $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD) Modified: vendor/mdocml/dist/Makefile.depend ============================================================================== --- vendor/mdocml/dist/Makefile.depend Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/Makefile.depend Thu Jun 8 19:29:07 2017 (r319715) @@ -28,11 +28,10 @@ demandoc.o: demandoc.c config.h roff.h man.h mdoc.h ma eqn.o: eqn.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h eqn_html.o: eqn_html.c config.h mandoc.h out.h html.h eqn_term.o: eqn_term.c config.h mandoc.h out.h term.h -html.o: html.c config.h mandoc.h mandoc_aux.h out.h html.h manconf.h main.h +html.o: html.c config.h mandoc_aux.h mandoc.h roff.h out.h html.h manconf.h main.h lib.o: lib.c config.h roff.h mdoc.h libmdoc.h lib.in main.o: main.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h tag.h main.h manconf.h mansearch.h man.o: man.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h -man_hash.o: man_hash.c config.h mandoc.h roff.h man.h libmandoc.h libman.h man_html.o: man_html.c config.h mandoc_aux.h roff.h man.h out.h html.h main.h man_macro.o: man_macro.c config.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h man_term.o: man_term.c config.h mandoc_aux.h mandoc.h roff.h man.h out.h term.h main.h @@ -42,15 +41,14 @@ mandoc_aux.o: mandoc_aux.c config.h mandoc.h mandoc_au mandoc_ohash.o: mandoc_ohash.c mandoc_aux.h mandoc_ohash.h compat_ohash.h mandocd.o: mandocd.c config.h mandoc.h roff.h mdoc.h man.h main.h manconf.h mandocdb.o: mandocdb.c config.h compat_fts.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mdoc.h man.h manconf.h mansearch.h dba_array.h dba.h -manpage.o: manpage.c config.h manconf.h mansearch.h manpath.o: manpath.c config.h mandoc_aux.h manconf.h mansearch.o: mansearch.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h manconf.h mansearch.h dbm.h mdoc.o: mdoc.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h mdoc_argv.o: mdoc_argv.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h -mdoc_hash.o: mdoc_hash.c config.h mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h mdoc_html.o: mdoc_html.c config.h mandoc_aux.h roff.h mdoc.h out.h html.h main.h mdoc_macro.o: mdoc_macro.c config.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h mdoc_man.o: mdoc_man.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h out.h main.h +mdoc_markdown.o: mdoc_markdown.c mandoc_aux.h mandoc.h roff.h mdoc.h main.h mdoc_state.o: mdoc_state.c mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h mdoc_term.o: mdoc_term.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h out.h term.h tag.h main.h mdoc_validate.o: mdoc_validate.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h @@ -58,7 +56,10 @@ msec.o: msec.c config.h mandoc.h libmandoc.h msec.in out.o: out.c config.h mandoc_aux.h mandoc.h out.h preconv.o: preconv.c config.h mandoc.h libmandoc.h read.o: read.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h libmandoc.h roff_int.h -roff.o: roff.c config.h mandoc.h mandoc_aux.h roff.h libmandoc.h roff_int.h libroff.h predefs.in +roff.o: roff.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h roff.h libmandoc.h roff_int.h libroff.h predefs.in +roff_html.o: roff_html.c roff.h out.h html.h +roff_term.o: roff_term.c roff.h out.h term.h +roff_validate.o: roff_validate.c mandoc.h roff.h libmandoc.h roff_int.h soelim.o: soelim.c config.h compat_stringlist.h st.o: st.c config.h roff.h mdoc.h libmdoc.h st.in tag.o: tag.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h tag.h @@ -71,4 +72,5 @@ tbl_term.o: tbl_term.c config.h mandoc.h out.h term.h term.o: term.c config.h mandoc.h mandoc_aux.h out.h term.h main.h term_ascii.o: term_ascii.c config.h mandoc.h mandoc_aux.h out.h term.h manconf.h main.h term_ps.o: term_ps.c config.h mandoc_aux.h out.h term.h manconf.h main.h +term_tab.o: term_tab.c mandoc_aux.h out.h term.h tree.o: tree.c config.h mandoc.h roff.h mdoc.h man.h main.h Modified: vendor/mdocml/dist/NEWS ============================================================================== --- vendor/mdocml/dist/NEWS Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/NEWS Thu Jun 8 19:29:07 2017 (r319715) @@ -1,4 +1,4 @@ -$Id: NEWS,v 1.20 2017/02/16 14:38:12 schwarze Exp $ +$Id: NEWS,v 1.21 2017/02/21 00:37:03 schwarze Exp $ This file lists the most important changes in the mdocml.bsd.lv distribution. Modified: vendor/mdocml/dist/TODO ============================================================================== --- vendor/mdocml/dist/TODO Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/TODO Thu Jun 8 19:29:07 2017 (r319715) @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.234 2017/02/18 11:53:33 schwarze Exp $ +* $Id: TODO,v 1.237 2017/05/16 19:06:30 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -61,18 +61,6 @@ are mere guesses, and some may be wrong. reported by brad@ Sat, 15 Jan 2011 15:45:23 -0500 loc *** exist *** algo *** size ** imp * -- .ta (tab settings) - #1 most important issue naddy@ Mon, 16 Feb 2015 20:59:17 +0100 - ircbug(1) gnats(1) reported by brad@ Sat, 15 Jan 2011 15:50:51 -0500 - also Tcl_NewStringObj(3) via wiz@ Wed, 5 Mar 2014 22:27:43 +0100 - also posix2time(3) Carsten Kunze Mon, 1 Dec 2014 13:03:10 +0100 - loc ** exist *** algo ** size ** imp *** - -- .ti (temporary indent) - found by naddy@ in xloadimage(1) [devel/libvstr] vstr(3) - found by bentley@ in nmh(1) Mon, 23 Apr 2012 13:38:28 -0600 - loc ** exist ** algo ** size * imp ** (parser reorg helps a lot) - - .while and .shift found by jca@ in ratpoison(1) Sun, 30 Jun 2013 12:01:09 +0200 loc * exist ** algo ** size ** imp ** @@ -273,12 +261,6 @@ are mere guesses, and some may be wrong. - kettenis wants base roff, ms, and me Fri, 1 Jan 2010 22:13:15 +0100 (CET) loc ** exist ** algo ** size *** imp * -- Vsevolod Stakhov (FreeBSD) needs either a markdown output formatter - for mandoc -mdoc or a markdown to mdoc converter because they - have to maintain manuals needed both in markdown and mdoc format. - Look at the libsoldout (markdown -> whatever) - loc * exist * algo * size ** imp ** - --- compatibility checks ----------------------------------------------- - is .Bk implemented correctly in modern groff? @@ -566,8 +548,6 @@ are mere guesses, and some may be wrong. Several areas can be cleaned up to make mandoc even faster. These are -- improve hashing mechanism for macros (quite important: performance) - - the PDF file is HUGE: this can be reduced by using relative offsets ************************************************************************ @@ -613,3 +593,10 @@ Several areas can be cleaned up to make mandoc even fa - use uname(1) to set doc-default-operating-system at install time tobimensch Mon, 1 Dec 2014 00:25:07 +0100 + +- apostrophe (39), circumflex (94), grave (96), tilde (126) + in manuals: \(aq, \(ha, \`, \(ti + Re: [Groff] ASCII Minus Sign in man Pages. + bentley@ 26 Apr 2017 10:02:06 -0600 + Do we need to fix existing manuals? + Do we need to fix the definition of the mdoc(7) language? Modified: vendor/mdocml/dist/apropos.1 ============================================================================== --- vendor/mdocml/dist/apropos.1 Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/apropos.1 Thu Jun 8 19:29:07 2017 (r319715) @@ -1,7 +1,7 @@ -.\" $Id: apropos.1,v 1.40 2017/01/31 19:44:04 schwarze Exp $ +.\" $Id: apropos.1,v 1.45 2017/03/27 18:51:36 schwarze Exp $ .\" .\" Copyright (c) 2011, 2012 Kristaps Dzonsons -.\" Copyright (c) 2011, 2012, 2014 Ingo Schwarze +.\" Copyright (c) 2011, 2012, 2014, 2017 Ingo Schwarze .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: January 31 2017 $ +.Dd $Mdocdate: March 27 2017 $ .Dt APROPOS 1 .Os .Sh NAME @@ -24,7 +24,7 @@ .Nd search manual page databases .Sh SYNOPSIS .Nm -.Op Fl acfhklw +.Op Fl afk .Op Fl C Ar file .Op Fl M Ar path .Op Fl m Ar path @@ -89,12 +89,6 @@ Specify an alternative configuration in .Xr man.conf 5 format. -.It Fl c -In -.Fl a -mode, copy the formatted manual pages to the standard output without using -.Xr more 1 -to paginate them. .It Fl f Search for all words in .Ar expression @@ -102,37 +96,12 @@ in manual page names only. The search is case insensitive and matches whole words only. In this mode, macro keys, comparison operators, and logical operators are not available. -This overrides any earlier -.Fl k -and -.Fl l -options. -.It Fl h -Instead of showing the title lines, show the SYNOPSIS sections, just like -.Xr man 1 -.Fl h -would. .It Fl k Support the full .Ar expression syntax. -This overrides any earlier -.Fl f -and -.Fl l -options. It is the default for .Nm . -.It Fl l -An alias for -.Xr mandoc 1 -.Fl a . -This overrides any earlier -.Fl f , -.Fl k , -and -.Fl w -options. .It Fl M Ar path Use the colon-separated path instead of the default list of paths searched for @@ -162,14 +131,16 @@ By default, pages from all sections are shown. See .Xr man 1 for a listing of sections. -.It Fl w -Instead of showing title lines, show the pathnames of the matching -manual pages, just like -.Xr man 1 -.Fl w -would. .El .Pp +The options +.Fl chlw +are also supported and are documented in +.Xr man 1 . +The options +.Fl fkl +are mutually exclusive and override each other. +.Pp An .Ar expression consists of search terms joined by logical operators @@ -237,8 +208,29 @@ is evaluated case-insensitively. Has no effect on substring terms. .El .Pp -Results are sorted by manual sections and names, with output formatted as +Results are sorted according to the following criteria: +.Bl -enum +.It +The manpath directory tree the page is found in, according to the +order specified with +.Fl M , +.Fl m , +the +.Ev MANPATH +environment variable, the +.Xr man.conf 5 +configuration file, or the default documented in +.Xr man.conf 5 . +.It +The section number in ascending numerical order. +.It +The page name in ascending +.Xr ascii 7 +alphabetical order, case-insensitive. +.El .Pp +Each output line is formatted as +.Pp .D1 name[, name...](sec) \- description .Pp Where @@ -341,25 +333,25 @@ Text production: .It Ev MANPAGER Any non-empty value of the environment variable .Ev MANPAGER -will be used instead of the standard pagination program, -.Xr more 1 . +is used instead of the standard pagination program, +.Xr more 1 ; +see +.Xr man 1 +for details. +Only used if +.Fl a +or +.Fl l +is specified. .It Ev MANPATH -The standard search path used by +A colon-separated list of directories to search for manual pages; see .Xr man 1 -may be changed by specifying a path in the -.Ev MANPATH -environment variable. -Invalid paths, or paths without manual databases, are ignored. +for details. Overridden by -.Fl M . -If -.Ev MANPATH -begins with a colon, it is appended to the default list; -if it ends with a colon, it is prepended to the default list; -or if it contains two adjacent colons, -the standard search path is inserted between the colons. -If none of these conditions are met, it overrides the -standard search path. +.Fl M , +ignored if +.Fl l +is specified. .It Ev PAGER Specifies the pagination program to use when .Ev MANPAGER @@ -367,7 +359,12 @@ is not defined. If neither PAGER nor MANPAGER is defined, .Xr more 1 .Fl s -will be used. +is used. +Only used if +.Fl a +or +.Fl l +is specified. .El .Sh FILES .Bl -tag -width "/etc/man.conf" -compact Modified: vendor/mdocml/dist/catman.8 ============================================================================== --- vendor/mdocml/dist/catman.8 Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/catman.8 Thu Jun 8 19:29:07 2017 (r319715) @@ -1,4 +1,4 @@ -.\" $Id: catman.8,v 1.7 2017/02/06 19:04:21 schwarze Exp $ +.\" $Id: catman.8,v 1.8 2017/03/18 19:56:01 schwarze Exp $ .\" .\" Copyright (c) 2017 Ingo Schwarze .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: February 6 2017 $ +.Dd $Mdocdate: March 18 2017 $ .Dt CATMAN 8 .Os .Sh NAME @@ -49,7 +49,7 @@ Override the default operating system .Ar name for the .Xr mdoc 7 -.Ic Os +.Ic \&Os and for the .Xr man 7 .Ic TH Modified: vendor/mdocml/dist/cgi.c ============================================================================== --- vendor/mdocml/dist/cgi.c Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/cgi.c Thu Jun 8 19:29:07 2017 (r319715) @@ -1,4 +1,4 @@ -/* $Id: cgi.c,v 1.147 2017/02/08 13:34:27 schwarze Exp $ */ +/* $Id: cgi.c,v 1.154 2017/04/19 01:00:03 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze @@ -76,11 +76,12 @@ static void pg_error_badrequest(const char *); static void pg_error_internal(void); static void pg_index(const struct req *); static void pg_noresult(const struct req *, const char *); +static void pg_redirect(const struct req *, const char *); static void pg_search(const struct req *); static void pg_searchres(const struct req *, struct manpage *, size_t); static void pg_show(struct req *, const char *); -static void resp_begin_html(int, const char *); +static void resp_begin_html(int, const char *, const char *); static void resp_begin_http(int, const char *); static void resp_catman(const struct req *, const char *); static void resp_copy(const char *); @@ -345,8 +346,9 @@ resp_copy(const char *filename) } static void -resp_begin_html(int code, const char *msg) +resp_begin_html(int code, const char *msg, const char *file) { + char *cp; resp_begin_http(code, msg); @@ -356,10 +358,20 @@ resp_begin_html(int code, const char *msg) " \n" " \n" - " %s\n" + " ", + CSS_DIR); + if (file != NULL) { + if ((cp = strrchr(file, '/')) != NULL) + file = cp + 1; + if ((cp = strrchr(file, '.')) != NULL) { + printf("%.*s(%s) - ", (int)(cp - file), file, cp + 1); + } else + printf("%s - ", file); + } + printf("%s\n" "\n" "\n", - CSS_DIR, CUSTOMIZE_TITLE); + CUSTOMIZE_TITLE); resp_copy(MAN_DIR "/header.html"); } @@ -492,7 +504,7 @@ static void pg_index(const struct req *req) { - resp_begin_html(200, NULL); + resp_begin_html(200, NULL, NULL); resp_searchform(req, FOCUS_QUERY); printf("

      \n" "This web interface is documented in the\n" @@ -509,7 +521,7 @@ pg_index(const struct req *req) static void pg_noresult(const struct req *req, const char *msg) { - resp_begin_html(200, NULL); + resp_begin_html(200, NULL, NULL); resp_searchform(req, FOCUS_QUERY); puts("

      "); puts(msg); @@ -521,7 +533,7 @@ static void pg_error_badrequest(const char *msg) { - resp_begin_html(400, "Bad Request"); + resp_begin_html(400, "Bad Request", NULL); puts("

      Bad Request

      \n" "

      \n"); puts(msg); @@ -534,12 +546,29 @@ pg_error_badrequest(const char *msg) static void pg_error_internal(void) { - resp_begin_html(500, "Internal Server Error"); + resp_begin_html(500, "Internal Server Error", NULL); puts("

      Internal Server Error

      "); resp_end_html(); } static void +pg_redirect(const struct req *req, const char *name) +{ + printf("Status: 303 See Other\r\n" + "Location: /"); + if (*scriptname != '\0') + printf("%s/", scriptname); + if (strcmp(req->q.manpath, req->p[0])) + printf("%s/", req->q.manpath); + if (req->q.arch != NULL) + printf("%s/", req->q.arch); + printf("%s", name); + if (req->q.sec != NULL) + printf(".%s", req->q.sec); + printf("\r\nContent-Type: text/html; charset=utf-8\r\n\r\n"); +} + +static void pg_searchres(const struct req *req, struct manpage *r, size_t sz) { char *arch, *archend; @@ -562,47 +591,25 @@ pg_searchres(const struct req *req, struct manpage *r, * If we have just one result, then jump there now * without any delay. */ - printf("Status: 303 See Other\r\n"); - printf("Location: http://%s/%s%s%s/%s", - HTTP_HOST, scriptname, - *scriptname == '\0' ? "" : "/", - req->q.manpath, r[0].file); - printf("\r\n" - "Content-Type: text/html; charset=utf-8\r\n" - "\r\n"); + printf("Status: 303 See Other\r\n" + "Location: /"); + if (*scriptname != '\0') + printf("%s/", scriptname); + if (strcmp(req->q.manpath, req->p[0])) + printf("%s/", req->q.manpath); + printf("%s\r\n" + "Content-Type: text/html; charset=utf-8\r\n\r\n", + r[0].file); return; } - resp_begin_html(200, NULL); - resp_searchform(req, - req->q.equal || sz == 1 ? FOCUS_NONE : FOCUS_QUERY); - - if (sz > 1) { - puts(""); - for (i = 0; i < sz; i++) { - printf(" \n" - " \n" - " \n" - " "); - } - puts("
      " - "", - scriptname, *scriptname == '\0' ? "" : "/", - req->q.manpath, r[i].file); - html_print(r[i].names); - printf(""); - html_print(r[i].output); - puts("
      "); - } - /* * In man(1) mode, show one of the pages * even if more than one is found. */ + iuse = 0; if (req->q.equal || sz == 1) { - puts("
      "); - iuse = 0; priouse = 20; archpriouse = 3; for (i = 0; i < sz; i++) { @@ -635,6 +642,36 @@ pg_searchres(const struct req *req, struct manpage *r, priouse = prio; iuse = i; } + resp_begin_html(200, NULL, r[iuse].file); + } else + resp_begin_html(200, NULL, NULL); + + resp_searchform(req, + req->q.equal || sz == 1 ? FOCUS_NONE : FOCUS_QUERY); + + if (sz > 1) { + puts(""); + for (i = 0; i < sz; i++) { + printf(" \n" + " \n" + " \n" + " "); + } + puts("
      " + "q.manpath, req->p[0])) + printf("%s/", req->q.manpath); + printf("%s\">", r[i].file); + html_print(r[i].names); + printf(""); + html_print(r[i].output); + puts("
      "); + } + + if (req->q.equal || sz == 1) { + puts("
      "); resp_show(req, r[iuse].file); } @@ -803,7 +840,8 @@ resp_format(const struct req *req, const char *file) conf.fragment = 1; conf.style = mandoc_strdup(CSS_DIR "/mandoc.css"); usepath = strcmp(req->q.manpath, req->p[0]); - mandoc_asprintf(&conf.man, "/%s%s%%N.%%S", + mandoc_asprintf(&conf.man, "/%s%s%s%s%%N.%%S", + scriptname, *scriptname == '\0' ? "" : "/", usepath ? req->q.manpath : "", usepath ? "/" : ""); mparse_result(mp, &man, NULL); @@ -886,7 +924,7 @@ pg_show(struct req *req, const char *fullpath) return; } - resp_begin_html(200, NULL); + resp_begin_html(200, NULL, file); resp_searchform(req, FOCUS_NONE); resp_show(req, file); resp_end_html(); @@ -956,9 +994,13 @@ pg_search(const struct req *req) } } - if (0 == mansearch(&search, &paths, argc, argv, &res, &ressz)) + res = NULL; + ressz = 0; + if (req->isquery && req->q.equal && argc == 1) + pg_redirect(req, argv[0]); + else if (mansearch(&search, &paths, argc, argv, &res, &ressz) == 0) pg_noresult(req, "You entered an invalid query."); - else if (0 == ressz) + else if (ressz == 0) pg_noresult(req, "No results found."); else pg_searchres(req, res, ressz); @@ -978,6 +1020,22 @@ main(void) const char *querystring; int i; +#if HAVE_PLEDGE + /* + * The "rpath" pledge could be revoked after mparse_readfd() + * if the file desciptor to "/footer.html" would be opened + * up front, but it's probably not worth the complication + * of the code it would cause: it would require scattering + * pledge() calls in multiple low-level resp_*() functions. + */ + + if (pledge("stdio rpath", NULL) == -1) { + warn("pledge"); + pg_error_internal(); + return EXIT_FAILURE; + } +#endif + /* Poor man's ReDoS mitigation. */ itimer.it_value.tv_sec = 2; @@ -1015,7 +1073,8 @@ main(void) if (*path != '\0') { parse_path_info(&req, path); - if (req.q.manpath == NULL || access(path, F_OK) == -1) + if (req.q.manpath == NULL || req.q.sec == NULL || + *req.q.query == '\0' || access(path, F_OK) == -1) path = ""; } else if ((querystring = getenv("QUERY_STRING")) != NULL) parse_query_string(&req, querystring); Modified: vendor/mdocml/dist/cgi.h.example ============================================================================== --- vendor/mdocml/dist/cgi.h.example Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/cgi.h.example Thu Jun 8 19:29:07 2017 (r319715) @@ -1,6 +1,5 @@ /* Example compile-time configuration file for man.cgi(8). */ -#define HTTP_HOST "mdocml.bsd.lv" #define SCRIPT_NAME "cgi-bin/man.cgi" #define MAN_DIR "/man" #define CSS_DIR "" Modified: vendor/mdocml/dist/chars.c ============================================================================== --- vendor/mdocml/dist/chars.c Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/chars.c Thu Jun 8 19:29:07 2017 (r319715) @@ -1,7 +1,7 @@ -/* $Id: chars.c,v 1.69 2017/02/17 18:28:06 schwarze Exp $ */ +/* $Id: chars.c,v 1.70 2017/06/02 12:43:52 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons - * Copyright (c) 2011, 2014, 2015 Ingo Schwarze + * Copyright (c) 2011, 2014, 2015, 2017 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -81,6 +81,10 @@ static struct ln lines[] = { { "sh", "#", 0x0023 }, { "CR", "_|", 0x21b5 }, { "OK", "\\/", 0x2713 }, + { "CL", "", 0x2663 }, + { "SP", "", 0x2660 }, + { "HE", "", 0x2665 }, + { "DI", "", 0x2666 }, /* Legal symbols. */ { "co", "(C)", 0x00a9 }, @@ -161,6 +165,7 @@ static struct ln lines[] = { { "uA", "=\b^", 0x21d1 }, { "dA", "=\bv", 0x21d3 }, { "vA", "^=v", 0x21d5 }, + { "an", "-", 0x23af }, /* Logic. */ { "AN", "^", 0x2227 }, @@ -234,11 +239,20 @@ static struct ln lines[] = { { "Ah", "N", 0x2135 }, { "Im", "I", 0x2111 }, { "Re", "R", 0x211c }, + { "wp", "P", 0x2118 }, { "pd", "a", 0x2202 }, { "-h", "/h", 0x210f }, + { "hbar", "/h", 0x210f }, { "12", "1/2", 0x00bd }, { "14", "1/4", 0x00bc }, { "34", "3/4", 0x00be }, + { "18", "1/8", 0x215B }, + { "38", "3/8", 0x215C }, + { "58", "5/8", 0x215D }, + { "78", "7/8", 0x215E }, + { "S1", "1", 0x00B9 }, + { "S2", "2", 0x00B2 }, + { "S3", "3", 0x00B3 }, /* Ligatures. */ { "ff", "ff", 0xfb00 }, @@ -354,6 +368,8 @@ static struct ln lines[] = { { "fm", "\'", 0x2032 }, { "sd", "''", 0x2033 }, { "mc", ",\bu", 0x00b5 }, + { "Of", "_\ba", 0x00aa }, + { "Om", "_\bo", 0x00ba }, /* Greek characters. */ { "*A", "A", 0x0391 }, Modified: vendor/mdocml/dist/configure ============================================================================== --- vendor/mdocml/dist/configure Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/configure Thu Jun 8 19:29:07 2017 (r319715) @@ -1,6 +1,6 @@ #!/bin/sh # -# $Id: configure,v 1.61 2017/02/18 12:24:24 schwarze Exp $ +# $Id: configure,v 1.62 2017/03/04 16:36:29 schwarze Exp $ # # Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze # @@ -91,6 +91,7 @@ HAVE_WCHAR= PREFIX="/usr/local" BINDIR= SBINDIR= +BIN_FROM_SBIN= INCLUDEDIR= LIBDIR= MANDIR= @@ -458,14 +459,15 @@ echo "config.h: written" 1>&3 exec > Makefile.local -[ -z "${BINDIR}" ] && BINDIR="${PREFIX}/bin" -[ -z "${SBINDIR}" ] && SBINDIR="${PREFIX}/sbin" -[ -z "${INCLUDEDIR}" ] && INCLUDEDIR="${PREFIX}/include/mandoc" -[ -z "${LIBDIR}" ] && LIBDIR="${PREFIX}/lib/mandoc" -[ -z "${MANDIR}" ] && MANDIR="${PREFIX}/man" +[ -z "${BINDIR}" ] && BINDIR="${PREFIX}/bin" +[ -z "${SBINDIR}" ] && SBINDIR="${PREFIX}/sbin" +[ -z "${BIN_FROM_SBIN}" ] && BIN_FROM_SBIN="../bin" +[ -z "${INCLUDEDIR}" ] && INCLUDEDIR="${PREFIX}/include/mandoc" +[ -z "${LIBDIR}" ] && LIBDIR="${PREFIX}/lib/mandoc" +[ -z "${MANDIR}" ] && MANDIR="${PREFIX}/man" -[ -z "${HTDOCDIR}" ] && HTDOCDIR="${WWWPREFIX}/htdocs" -[ -z "${CGIBINDIR}" ] && CGIBINDIR="${WWWPREFIX}/cgi-bin" +[ -z "${HTDOCDIR}" ] && HTDOCDIR="${WWWPREFIX}/htdocs" +[ -z "${CGIBINDIR}" ] && CGIBINDIR="${WWWPREFIX}/cgi-bin" [ -z "${INSTALL_PROGRAM}" ] && INSTALL_PROGRAM="${INSTALL} -m 0555" [ -z "${INSTALL_LIB}" ] && INSTALL_LIB="${INSTALL} -m 0444" @@ -493,6 +495,7 @@ STATIC = ${STATIC} PREFIX = ${PREFIX} BINDIR = ${BINDIR} SBINDIR = ${SBINDIR} +BIN_FROM_SBIN = ${BIN_FROM_SBIN} INCLUDEDIR = ${INCLUDEDIR} LIBDIR = ${LIBDIR} MANDIR = ${MANDIR} Modified: vendor/mdocml/dist/configure.local.example ============================================================================== --- vendor/mdocml/dist/configure.local.example Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/configure.local.example Thu Jun 8 19:29:07 2017 (r319715) @@ -1,4 +1,4 @@ -# $Id: configure.local.example,v 1.29 2017/02/18 12:24:24 schwarze Exp $ +# $Id: configure.local.example,v 1.30 2017/03/04 16:36:29 schwarze Exp $ # # Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze # @@ -84,6 +84,13 @@ PREFIX="/usr/local" BINDIR="${PREFIX}/bin" SBINDIR="${PREFIX}/sbin" MANDIR="${PREFIX}/man" + +# If BINDIR and SBINDIR are not subdirectories of the same parent +# directory or if the basename(1) of BINDIR differs from "bin", +# the relative path from SBINDIR to BINDIR is also needed. +# The default is: + +BIN_FROM_SBIN="../bin" # Some distributions may want to avoid naming conflicts # with the configuration files of other man(1) implementations. Modified: vendor/mdocml/dist/eqn.c ============================================================================== --- vendor/mdocml/dist/eqn.c Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/eqn.c Thu Jun 8 19:29:07 2017 (r319715) @@ -1,4 +1,4 @@ -/* $Id: eqn.c,v 1.61 2016/01/08 00:50:45 schwarze Exp $ */ +/* $Id: eqn.c,v 1.62 2017/03/11 15:43:04 schwarze Exp $ */ /* * Copyright (c) 2011, 2014 Kristaps Dzonsons * Copyright (c) 2014, 2015 Ingo Schwarze @@ -366,15 +366,19 @@ eqn_def_find(struct eqn_node *ep, const char *key, siz static const char * eqn_next(struct eqn_node *ep, char quote, size_t *sz, int repl) { + static size_t last_len; + static int lim; + char *start, *next; - int q, diff, lim; + int q, diff; size_t ssz, dummy; struct eqn_def *def; if (NULL == sz) sz = &dummy; - lim = 0; + if (ep->cur >= last_len) + lim = 0; ep->rew = ep->cur; again: /* Prevent self-definitions. */ @@ -448,6 +452,7 @@ again: memmove(start + *sz + diff, start + *sz, (strlen(start) - *sz) + 1); memcpy(start, def->val, def->valsz); + last_len = start - ep->data + def->valsz; lim++; goto again; } Modified: vendor/mdocml/dist/gmdiff ============================================================================== --- vendor/mdocml/dist/gmdiff Thu Jun 8 19:09:55 2017 (r319714) +++ vendor/mdocml/dist/gmdiff Thu Jun 8 19:29:07 2017 (r319715) @@ -29,21 +29,24 @@ if [ "X$1" = "X-h" ]; then EQN="neqn" ROFF="nroff" MOPT="-Omdoc $MOPT" +elif [ "X$1" = "X-u" ]; then + shift + ROFF="groff -ket -ww -Tutf8 -P -c" + MOPT="-Werror -Tutf8 $MOPT" else - EQN="eqn -Tascii" - ROFF="groff -ww -Tascii -P -c" + ROFF="groff -et -ww -Tascii -P -c" + MOPT="-Werror -Tascii $MOPT" fi -MOPT="-Werror -Tascii $MOPT" while [ -n "$1" ]; do file=$1 shift echo " ========== $file ========== " - tbl $file | $EQN | $ROFF -mandoc 2> /tmp/roff.err > /tmp/roff.out + $ROFF -mandoc $file 2> /tmp/roff.err > /tmp/roff.out ${MANDOC:=mandoc} -Ios='OpenBSD ports' $MOPT $file \ 2> /tmp/mandoc.err > /tmp/mandoc.out for i in roff mandoc; do - [[ -s /tmp/$i.err ]] && echo "$i errors:" && cat /tmp/$i.err + [ -s /tmp/$i.err ] && echo "$i errors:" && cat /tmp/$i.err done diff -au /tmp/roff.out /tmp/mandoc.out 2>&1 done Modified: vendor/mdocml/dist/html.c ============================================================================== --- vendor/mdocml/dist/html.c Thu Jun 8 19:09:55 2017 (r319714) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Jun 8 19:30:49 2017 Return-Path: Delivered-To: svn-src-all@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 B1F9EC78592; Thu, 8 Jun 2017 19:30:49 +0000 (UTC) (envelope-from bapt@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 6CF936E865; Thu, 8 Jun 2017 19:30:49 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58JUmv2045687; Thu, 8 Jun 2017 19:30:48 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58JUmHc045681; Thu, 8 Jun 2017 19:30:48 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706081930.v58JUmHc045681@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Thu, 8 Jun 2017 19:30:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319716 - vendor/mdocml/20170608 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 19:30:49 -0000 Author: bapt Date: Thu Jun 8 19:30:47 2017 New Revision: 319716 URL: https://svnweb.freebsd.org/changeset/base/319716 Log: tag import of mandoc snapshot 20170608 Added: vendor/mdocml/20170608/ - copied from r313954, vendor/mdocml/dist/ vendor/mdocml/20170608/catman.8 - copied unchanged from r319715, vendor/mdocml/dist/catman.8 vendor/mdocml/20170608/catman.c - copied unchanged from r313956, vendor/mdocml/dist/catman.c vendor/mdocml/20170608/man.options.1 - copied unchanged from r313956, vendor/mdocml/dist/man.options.1 vendor/mdocml/20170608/mandocd.8 - copied unchanged from r319715, vendor/mdocml/dist/mandocd.8 vendor/mdocml/20170608/mandocd.c - copied unchanged from r313956, vendor/mdocml/dist/mandocd.c vendor/mdocml/20170608/mdoc_markdown.c - copied unchanged from r319715, vendor/mdocml/dist/mdoc_markdown.c vendor/mdocml/20170608/roff_html.c - copied unchanged from r319715, vendor/mdocml/dist/roff_html.c vendor/mdocml/20170608/roff_term.c - copied unchanged from r319715, vendor/mdocml/dist/roff_term.c vendor/mdocml/20170608/roff_validate.c - copied unchanged from r319715, vendor/mdocml/dist/roff_validate.c vendor/mdocml/20170608/term_tab.c - copied unchanged from r319715, vendor/mdocml/dist/term_tab.c vendor/mdocml/20170608/test-O_DIRECTORY.c - copied unchanged from r313956, vendor/mdocml/dist/test-O_DIRECTORY.c vendor/mdocml/20170608/test-cmsg.c - copied unchanged from r313956, vendor/mdocml/dist/test-cmsg.c vendor/mdocml/20170608/test-recvmsg.c - copied unchanged from r313956, vendor/mdocml/dist/test-recvmsg.c Replaced: vendor/mdocml/20170608/INSTALL - copied unchanged from r313956, vendor/mdocml/dist/INSTALL vendor/mdocml/20170608/LICENSE - copied unchanged from r319715, vendor/mdocml/dist/LICENSE vendor/mdocml/20170608/Makefile - copied unchanged from r319715, vendor/mdocml/dist/Makefile vendor/mdocml/20170608/Makefile.depend - copied unchanged from r319715, vendor/mdocml/dist/Makefile.depend vendor/mdocml/20170608/NEWS - copied unchanged from r319715, vendor/mdocml/dist/NEWS vendor/mdocml/20170608/TODO - copied unchanged from r319715, vendor/mdocml/dist/TODO vendor/mdocml/20170608/apropos.1 - copied unchanged from r319715, vendor/mdocml/dist/apropos.1 vendor/mdocml/20170608/cgi.c - copied unchanged from r319715, vendor/mdocml/dist/cgi.c vendor/mdocml/20170608/cgi.h.example - copied unchanged from r319715, vendor/mdocml/dist/cgi.h.example vendor/mdocml/20170608/chars.c - copied unchanged from r319715, vendor/mdocml/dist/chars.c vendor/mdocml/20170608/compat_fts.c - copied unchanged from r313956, vendor/mdocml/dist/compat_fts.c vendor/mdocml/20170608/configure - copied unchanged from r319715, vendor/mdocml/dist/configure vendor/mdocml/20170608/configure.local.example - copied unchanged from r319715, vendor/mdocml/dist/configure.local.example vendor/mdocml/20170608/dba.c - copied unchanged from r313956, vendor/mdocml/dist/dba.c vendor/mdocml/20170608/dbm_map.c - copied unchanged from r313956, vendor/mdocml/dist/dbm_map.c vendor/mdocml/20170608/eqn.c - copied unchanged from r319715, vendor/mdocml/dist/eqn.c vendor/mdocml/20170608/eqn_term.c - copied unchanged from r313956, vendor/mdocml/dist/eqn_term.c vendor/mdocml/20170608/gmdiff - copied unchanged from r319715, vendor/mdocml/dist/gmdiff vendor/mdocml/20170608/html.c - copied unchanged from r319715, vendor/mdocml/dist/html.c vendor/mdocml/20170608/html.h - copied unchanged from r319715, vendor/mdocml/dist/html.h vendor/mdocml/20170608/libman.h - copied unchanged from r319715, vendor/mdocml/dist/libman.h vendor/mdocml/20170608/libmandoc.h - copied unchanged from r319715, vendor/mdocml/dist/libmandoc.h vendor/mdocml/20170608/libmdoc.h - copied unchanged from r319715, vendor/mdocml/dist/libmdoc.h vendor/mdocml/20170608/main.c - copied unchanged from r319715, vendor/mdocml/dist/main.c vendor/mdocml/20170608/main.h - copied unchanged from r319715, vendor/mdocml/dist/main.h vendor/mdocml/20170608/makewhatis.8 - copied unchanged from r319715, vendor/mdocml/dist/makewhatis.8 vendor/mdocml/20170608/man.1 - copied unchanged from r319715, vendor/mdocml/dist/man.1 vendor/mdocml/20170608/man.7 - copied unchanged from r319715, vendor/mdocml/dist/man.7 vendor/mdocml/20170608/man.c - copied unchanged from r319715, vendor/mdocml/dist/man.c vendor/mdocml/20170608/man.cgi.3 - copied unchanged from r319715, vendor/mdocml/dist/man.cgi.3 vendor/mdocml/20170608/man.cgi.8 - copied unchanged from r319715, vendor/mdocml/dist/man.cgi.8 vendor/mdocml/20170608/man.h - copied unchanged from r319715, vendor/mdocml/dist/man.h vendor/mdocml/20170608/man_html.c - copied unchanged from r319715, vendor/mdocml/dist/man_html.c vendor/mdocml/20170608/man_macro.c - copied unchanged from r319715, vendor/mdocml/dist/man_macro.c vendor/mdocml/20170608/man_term.c - copied unchanged from r319715, vendor/mdocml/dist/man_term.c vendor/mdocml/20170608/man_validate.c - copied unchanged from r319715, vendor/mdocml/dist/man_validate.c vendor/mdocml/20170608/manconf.h - copied unchanged from r313956, vendor/mdocml/dist/manconf.h vendor/mdocml/20170608/mandoc.1 - copied unchanged from r319715, vendor/mdocml/dist/mandoc.1 vendor/mdocml/20170608/mandoc.3 - copied unchanged from r319715, vendor/mdocml/dist/mandoc.3 vendor/mdocml/20170608/mandoc.c - copied unchanged from r319715, vendor/mdocml/dist/mandoc.c vendor/mdocml/20170608/mandoc.css - copied unchanged from r319715, vendor/mdocml/dist/mandoc.css vendor/mdocml/20170608/mandoc.h - copied unchanged from r319715, vendor/mdocml/dist/mandoc.h vendor/mdocml/20170608/mandoc_aux.h - copied unchanged from r313956, vendor/mdocml/dist/mandoc_aux.h vendor/mdocml/20170608/mandoc_char.7 - copied unchanged from r319715, vendor/mdocml/dist/mandoc_char.7 vendor/mdocml/20170608/mandoc_headers.3 - copied unchanged from r319715, vendor/mdocml/dist/mandoc_headers.3 vendor/mdocml/20170608/mandoc_html.3 - copied unchanged from r319715, vendor/mdocml/dist/mandoc_html.3 vendor/mdocml/20170608/mandocdb.c - copied unchanged from r319715, vendor/mdocml/dist/mandocdb.c vendor/mdocml/20170608/manpath.c - copied unchanged from r313956, vendor/mdocml/dist/manpath.c vendor/mdocml/20170608/mansearch.3 - copied unchanged from r319715, vendor/mdocml/dist/mansearch.3 vendor/mdocml/20170608/mansearch.c - copied unchanged from r319715, vendor/mdocml/dist/mansearch.c vendor/mdocml/20170608/mansearch.h - copied unchanged from r319715, vendor/mdocml/dist/mansearch.h vendor/mdocml/20170608/mdoc.7 - copied unchanged from r319715, vendor/mdocml/dist/mdoc.7 vendor/mdocml/20170608/mdoc.c - copied unchanged from r319715, vendor/mdocml/dist/mdoc.c vendor/mdocml/20170608/mdoc.h - copied unchanged from r319715, vendor/mdocml/dist/mdoc.h vendor/mdocml/20170608/mdoc_argv.c - copied unchanged from r319715, vendor/mdocml/dist/mdoc_argv.c vendor/mdocml/20170608/mdoc_html.c - copied unchanged from r319715, vendor/mdocml/dist/mdoc_html.c vendor/mdocml/20170608/mdoc_macro.c - copied unchanged from r319715, vendor/mdocml/dist/mdoc_macro.c vendor/mdocml/20170608/mdoc_man.c - copied unchanged from r319715, vendor/mdocml/dist/mdoc_man.c vendor/mdocml/20170608/mdoc_state.c - copied unchanged from r319715, vendor/mdocml/dist/mdoc_state.c vendor/mdocml/20170608/mdoc_term.c - copied unchanged from r319715, vendor/mdocml/dist/mdoc_term.c vendor/mdocml/20170608/mdoc_validate.c - copied unchanged from r319715, vendor/mdocml/dist/mdoc_validate.c vendor/mdocml/20170608/out.c - copied unchanged from r319715, vendor/mdocml/dist/out.c vendor/mdocml/20170608/out.h - copied unchanged from r319715, vendor/mdocml/dist/out.h vendor/mdocml/20170608/preconv.c - copied unchanged from r313956, vendor/mdocml/dist/preconv.c vendor/mdocml/20170608/read.c - copied unchanged from r319715, vendor/mdocml/dist/read.c vendor/mdocml/20170608/roff.7 - copied unchanged from r319715, vendor/mdocml/dist/roff.7 vendor/mdocml/20170608/roff.c - copied unchanged from r319715, vendor/mdocml/dist/roff.c vendor/mdocml/20170608/roff.h - copied unchanged from r319715, vendor/mdocml/dist/roff.h vendor/mdocml/20170608/soelim.1 - copied unchanged from r319715, vendor/mdocml/dist/soelim.1 vendor/mdocml/20170608/tag.c - copied unchanged from r313956, vendor/mdocml/dist/tag.c vendor/mdocml/20170608/tbl.7 - copied unchanged from r319715, vendor/mdocml/dist/tbl.7 vendor/mdocml/20170608/tbl.c - copied unchanged from r319715, vendor/mdocml/dist/tbl.c vendor/mdocml/20170608/tbl_data.c - copied unchanged from r319715, vendor/mdocml/dist/tbl_data.c vendor/mdocml/20170608/tbl_html.c - copied unchanged from r319715, vendor/mdocml/dist/tbl_html.c vendor/mdocml/20170608/tbl_layout.c - copied unchanged from r319715, vendor/mdocml/dist/tbl_layout.c vendor/mdocml/20170608/tbl_term.c - copied unchanged from r319715, vendor/mdocml/dist/tbl_term.c vendor/mdocml/20170608/term.c - copied unchanged from r319715, vendor/mdocml/dist/term.c vendor/mdocml/20170608/term.h - copied unchanged from r319715, vendor/mdocml/dist/term.h vendor/mdocml/20170608/term_ascii.c - copied unchanged from r319715, vendor/mdocml/dist/term_ascii.c vendor/mdocml/20170608/term_ps.c - copied unchanged from r319715, vendor/mdocml/dist/term_ps.c vendor/mdocml/20170608/tree.c - copied unchanged from r319715, vendor/mdocml/dist/tree.c Deleted: vendor/mdocml/20170608/man_hash.c vendor/mdocml/20170608/manpage.c vendor/mdocml/20170608/mdoc_hash.c Copied: vendor/mdocml/20170608/INSTALL (from r313956, vendor/mdocml/dist/INSTALL) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/mdocml/20170608/INSTALL Thu Jun 8 19:30:47 2017 (r319716, copy of r313956, vendor/mdocml/dist/INSTALL) @@ -0,0 +1,157 @@ +$Id: INSTALL,v 1.18 2017/02/08 12:24:10 schwarze Exp $ + +About mdocml, the portable mandoc distribution +---------------------------------------------- +The mandoc manpage compiler toolset is a suite of tools compiling +mdoc(7), the roff(7) macro language of choice for BSD manual pages, +and man(7), the predominant historical language for UNIX manuals. +It includes a man(1) manual viewer and additional tools. +For general information, see . + +In case you have questions or want to provide feedback, read +. Consider subscribing to the +discuss@ mailing list mentioned on that page. If you intend to +help with the development of mandoc, consider subscribing to the +tech@ mailing list, too. + +Enjoy using the mandoc toolset! + +Ingo Schwarze, Karlsruhe, February 2017 + + +Installation +------------ +Before manually installing mandoc on your system, please check +whether the newest version of mandoc is already installed by default +or available via a binary package or a ports system. A list of the +latest bundled and ported versions of mandoc for various operating +systems is maintained at . + +Regarding how packages and ports are maintained for your operating +system, please consult your operating system documentation. +To install mandoc manually, the following steps are needed: + +1. If you want to build the CGI program, man.cgi(8), too, +run the command "echo BUILD_CGI=1 >> configure.local". +Then run "cp cgi.h.example cgi.h" and edit cgi.h as desired. + +2. If you also want to build the new catman(8) utility, run the +command "echo BUILD_CATMAN=1 >> configure.local". Note that it +is unlikely to be a drop-in replacement providing the same +functionality as your system's "catman", if your operating +system contains one. + +3. Define MANPATH_DEFAULT in configure.local +if /usr/share/man:/usr/X11R6/man:/usr/local/man is not appropriate +for your operating system. + +4. Run "./configure". +This script attempts autoconfiguration of mandoc for your system. +Read both its standard output and the file "Makefile.local" it +generates. If anything looks wrong or different from what you +wish, read the file "configure.local.example", create and edit +a file "configure.local", and re-run "./configure" until the +result seems right to you. +On Solaris 10 and earlier, you may have to run "ksh ./configure" +because the native /bin/sh lacks some POSIX features. + +5. Run "make". +Any POSIX-compatible make, in particular both BSD make and GNU make, +should work. If the build fails, look at "configure.local.example" +and go back to step 2. + +6. Run "make -n install" and check whether everything will be +installed to the intended places. Otherwise, put some *DIR or *NM* +variables into "configure.local" and go back to step 4. + +7. Optionally run the regression suite. +Basically, that amounts to "cd regress && ./regress.pl". +But you should probably look at "./mandoc -l regress/regress.pl.1" +first. + +8. Run "sudo make install". If you intend to build a binary +package using some kind of fake root mechanism, you may need a +command like "make DESTDIR=... install". Read the *-install targets +in the "Makefile" to understand how DESTDIR is used. + +9. Run the command "sudo makewhatis" to build mandoc.db(5) databases +in all the directory trees configured in step 6. Whenever installing +new manual pages, re-run makewhatis(8) to update the databases, or +apropos(1) will not find the new pages. + +10. To set up a man.cgi(8) server, read its manual page. + +Note that some man(7) pages may contain low-level roff(7) markup +that mandoc does not yet understand. On some BSD systems using +mandoc, third-party software is vetted on whether it may be formatted +with mandoc. If not, groff(1) is pulled in as a dependency and +used to install a pre-formatted "catpage" instead of directly as +manual page source. + + +Understanding mandoc dependencies +--------------------------------- +The following libraries are required: + +1. zlib for decompressing gzipped manual pages. + +2. The fts(3) directory traversion functions. +If your system does not have them, the bundled compatibility version +will be used, so you need not worry in that case. But be careful: old +glibc versions of fts(3) were known to be broken on 32bit platforms, +see . +That was presumably fixed in glibc-2.23. +If you run into that problem, set "HAVE_FTS=0" in configure.local. + +3. Marc Espie's ohash(3) library. +If your system does not have it, the bundled compatibility version +will be used, so you probably need not worry about it. + +One of the chief design goals of the mandoc toolbox is to make +sure that nothing related to documentation requires C++. +Consequently, linking mandoc against any kind of C++ program +would defeat the purpose and is not supported. + + +Checking autoconfiguration quality +---------------------------------- +If you want to check whether automatic configuration works well +on your platform, consider the following: + +The mandoc package intentionally does not use GNU autoconf because +we consider that toolset a blatant example of overengineering that +is obsolete nowadays, since all modern operating systems are now +reasonably close to POSIX and do not need arcane shell magic any +longer. If your system does need such magic, consider upgrading +to reasonably modern POSIX-compliant tools rather than asking for +autoconf-style workarounds. + +As far as mandoc is using any features not mandated by ANSI X3.159-1989 +("ANSI C") or IEEE Std 1003.1-2008 ("POSIX") that some modern systems +do not have, we intend to provide autoconfiguration tests and +compat_*.c implementations. Please report any that turn out to be +missing. Note that while we do strive to produce portable code, +we do not slavishly restrict ourselves to POSIX-only interfaces. +For improved security and readability, we do use well-designed, +modern interfaces like reallocarray(3) even if they are still rather +uncommon, of course bundling compat_*.c implementations as needed. + +Where mandoc is using ANSI C or POSIX features that some systems +still lack and that compat_*.c implementations can be provided for +without too much hassle, we will consider adding them, too, so +please report whatever is missing on your platform. + +The following steps can be used to manually check the automatic +configuration on your platform: + +1. Run "make distclean". + +2. Run "./configure" + +3. Read the file "config.log". It shows the compiler commands used +to test the libraries installed on your system and the standard +output and standard error output these commands produce. Watch out +for unexpected failures. Those are most likely to happen if headers +or libraries are installed in unusual places or interfaces defined +in unusual headers. You can also look at the file "config.h" and +check that no "#define HAVE_*" differ from your expectations. Copied: vendor/mdocml/20170608/LICENSE (from r319715, vendor/mdocml/dist/LICENSE) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/mdocml/20170608/LICENSE Thu Jun 8 19:30:47 2017 (r319716, copy of r319715, vendor/mdocml/dist/LICENSE) @@ -0,0 +1,54 @@ +$Id: LICENSE,v 1.15 2017/02/21 00:37:03 schwarze Exp $ + +With the exceptions noted below, all code and documentation +contained in the mdocml toolkit is protected by the Copyright +of the following developers: + +Copyright (c) 2008-2012, 2014 Kristaps Dzonsons +Copyright (c) 2010-2017 Ingo Schwarze +Copyright (c) 2009, 2010, 2011, 2012 Joerg Sonnenberger +Copyright (c) 2013 Franco Fichtner +Copyright (c) 2014 Baptiste Daroussin +Copyright (c) 2016 Ed Maste +Copyright (c) 2017 Michael Stapelberg +Copyright (c) 1999, 2004 Marc Espie +Copyright (c) 1998, 2004, 2010 Todd C. Miller +Copyright (c) 2008 Otto Moerbeek +Copyright (c) 2004 Ted Unangst +Copyright (c) 1994 Christos Zoulas +Copyright (c) 2003, 2007, 2008, 2014 Jason McIntyre + +See the individual source files for information about who contributed +to which file during which years. + + +The mdocml distribution as a whole is distributed by its developers +under the following license: + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +The following files included from outside sources are protected by +other people's Copyright and are distributed under various 2-clause +and 3-clause BSD licenses; see these individual files for details. + +soelim.c, soelim.1: +Copyright (c) 2014 Baptiste Daroussin + +compat_err.c, compat_fts.c, compat_fts.h, +compat_getsubopt.c, compat_strcasestr.c, compat_strsep.c, +man.1: +Copyright (c) 1989,1990,1993,1994 The Regents of the University of California + +compat_stringlist.c, compat_stringlist.h: +Copyright (c) 1994 Christos Zoulas Copied: vendor/mdocml/20170608/Makefile (from r319715, vendor/mdocml/dist/Makefile) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/mdocml/20170608/Makefile Thu Jun 8 19:30:47 2017 (r319716, copy of r319715, vendor/mdocml/dist/Makefile) @@ -0,0 +1,575 @@ +# $Id: Makefile,v 1.512 2017/05/07 17:31:45 schwarze Exp $ +# +# Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons +# Copyright (c) 2011, 2013-2017 Ingo Schwarze +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +VERSION = 1.14.1 + +# === LIST OF FILES ==================================================== + +TESTSRCS = test-be32toh.c \ + test-cmsg.c \ + test-dirent-namlen.c \ + test-EFTYPE.c \ + test-err.c \ + test-fts.c \ + test-getline.c \ + test-getsubopt.c \ + test-isblank.c \ + test-mkdtemp.c \ + test-nanosleep.c \ + test-ntohl.c \ + test-O_DIRECTORY.c \ + test-ohash.c \ + test-PATH_MAX.c \ + test-pledge.c \ + test-progname.c \ + test-recvmsg.c \ + test-reallocarray.c \ + test-rewb-bsd.c \ + test-rewb-sysv.c \ + test-sandbox_init.c \ + test-strcasestr.c \ + test-stringlist.c \ + test-strlcat.c \ + test-strlcpy.c \ + test-strptime.c \ + test-strsep.c \ + test-strtonum.c \ + test-vasprintf.c \ + test-wchar.c + +SRCS = att.c \ + catman.c \ + cgi.c \ + chars.c \ + compat_err.c \ + compat_fts.c \ + compat_getline.c \ + compat_getsubopt.c \ + compat_isblank.c \ + compat_mkdtemp.c \ + compat_ohash.c \ + compat_progname.c \ + compat_reallocarray.c \ + compat_strcasestr.c \ + compat_stringlist.c \ + compat_strlcat.c \ + compat_strlcpy.c \ + compat_strsep.c \ + compat_strtonum.c \ + compat_vasprintf.c \ + dba.c \ + dba_array.c \ + dba_read.c \ + dba_write.c \ + dbm.c \ + dbm_map.c \ + demandoc.c \ + eqn.c \ + eqn_html.c \ + eqn_term.c \ + html.c \ + lib.c \ + main.c \ + man.c \ + man_html.c \ + man_macro.c \ + man_term.c \ + man_validate.c \ + mandoc.c \ + mandoc_aux.c \ + mandoc_ohash.c \ + mandocd.c \ + mandocdb.c \ + manpath.c \ + mansearch.c \ + mdoc.c \ + mdoc_argv.c \ + mdoc_html.c \ + mdoc_macro.c \ + mdoc_man.c \ + mdoc_markdown.c \ + mdoc_state.c \ + mdoc_term.c \ + mdoc_validate.c \ + msec.c \ + out.c \ + preconv.c \ + read.c \ + roff.c \ + roff_html.c \ + roff_term.c \ + roff_validate.c \ + soelim.c \ + st.c \ + tag.c \ + tbl.c \ + tbl_data.c \ + tbl_html.c \ + tbl_layout.c \ + tbl_opts.c \ + tbl_term.c \ + term.c \ + term_ascii.c \ + term_ps.c \ + term_tab.c \ + tree.c + +DISTFILES = INSTALL \ + LICENSE \ + Makefile \ + Makefile.depend \ + NEWS \ + TODO \ + apropos.1 \ + catman.8 \ + cgi.h.example \ + compat_fts.h \ + compat_ohash.h \ + compat_stringlist.h \ + configure \ + configure.local.example \ + dba.h \ + dba_array.h \ + dba_write.h \ + dbm.h \ + dbm_map.h \ + demandoc.1 \ + eqn.7 \ + gmdiff \ + html.h \ + lib.in \ + libman.h \ + libmandoc.h \ + libmdoc.h \ + libroff.h \ + main.h \ + makewhatis.8 \ + man.1 \ + man.7 \ + man.cgi.3 \ + man.cgi.8 \ + man.conf.5 \ + man.h \ + man.options.1 \ + manconf.h \ + mandoc.1 \ + mandoc.3 \ + mandoc.css \ + mandoc.db.5 \ + mandoc.h \ + mandoc_aux.h \ + mandoc_char.7 \ + mandoc_escape.3 \ + mandoc_headers.3 \ + mandoc_html.3 \ + mandoc_malloc.3 \ + mandoc_ohash.h \ + mandocd.8 \ + mansearch.3 \ + mansearch.h \ + mchars_alloc.3 \ + mdoc.7 \ + mdoc.h \ + msec.in \ + out.h \ + predefs.in \ + roff.7 \ + roff.h \ + roff_int.h \ + soelim.1 \ + st.in \ + tag.h \ + tbl.3 \ + tbl.7 \ + term.h \ + $(SRCS) \ + $(TESTSRCS) + +LIBMAN_OBJS = man.o \ + man_macro.o \ + man_validate.o + +LIBMDOC_OBJS = att.o \ + lib.o \ + mdoc.o \ + mdoc_argv.o \ + mdoc_macro.o \ + mdoc_state.o \ + mdoc_validate.o \ + st.o + +LIBROFF_OBJS = eqn.o \ + roff.o \ + roff_validate.o \ + tbl.o \ + tbl_data.o \ + tbl_layout.o \ + tbl_opts.o + +LIBMANDOC_OBJS = $(LIBMAN_OBJS) \ + $(LIBMDOC_OBJS) \ + $(LIBROFF_OBJS) \ + chars.o \ + mandoc.o \ + mandoc_aux.o \ + mandoc_ohash.o \ + msec.o \ + preconv.o \ + read.o + +COMPAT_OBJS = compat_err.o \ + compat_fts.o \ + compat_getline.o \ + compat_getsubopt.o \ + compat_isblank.o \ + compat_mkdtemp.o \ + compat_ohash.o \ + compat_progname.o \ + compat_reallocarray.o \ + compat_strcasestr.o \ + compat_strlcat.o \ + compat_strlcpy.o \ + compat_strsep.o \ + compat_strtonum.o \ + compat_vasprintf.o + +MANDOC_HTML_OBJS = eqn_html.o \ + html.o \ + man_html.o \ + mdoc_html.o \ + roff_html.o \ + tbl_html.o + +MANDOC_TERM_OBJS = eqn_term.o \ + man_term.o \ + mdoc_term.o \ + roff_term.o \ + term.o \ + term_ascii.o \ + term_ps.o \ + term_tab.o \ + tbl_term.o + +DBM_OBJS = dbm.o \ + dbm_map.o \ + mansearch.o + +DBA_OBJS = dba.o \ + dba_array.o \ + dba_read.o \ + dba_write.o \ + mandocdb.o + +MAIN_OBJS = $(MANDOC_HTML_OBJS) \ + $(MANDOC_MAN_OBJS) \ + $(MANDOC_TERM_OBJS) \ + $(DBM_OBJS) \ + $(DBA_OBJS) \ + main.o \ + manpath.o \ + mdoc_man.o \ + mdoc_markdown.o \ + out.o \ + tag.o \ + tree.o + +CGI_OBJS = $(MANDOC_HTML_OBJS) \ + $(DBM_OBJS) \ + cgi.o \ + out.o + +MANDOCD_OBJS = $(MANDOC_HTML_OBJS) \ + $(MANDOC_TERM_OBJS) \ + mandocd.o \ + out.o \ + tag.o + +DEMANDOC_OBJS = demandoc.o + +SOELIM_OBJS = soelim.o \ + compat_err.o \ + compat_getline.o \ + compat_progname.o \ + compat_reallocarray.o \ + compat_stringlist.o + +WWW_MANS = apropos.1.html \ + demandoc.1.html \ + man.1.html \ + mandoc.1.html \ + soelim.1.html \ + man.cgi.3.html \ + mandoc.3.html \ + mandoc_escape.3.html \ + mandoc_headers.3.html \ + mandoc_html.3.html \ + mandoc_malloc.3.html \ + mansearch.3.html \ + mchars_alloc.3.html \ + tbl.3.html \ + man.conf.5.html \ + mandoc.db.5.html \ + eqn.7.html \ + man.7.html \ + mandoc_char.7.html \ + mandocd.8.html \ + mdoc.7.html \ + roff.7.html \ + tbl.7.html \ + catman.8.html \ + makewhatis.8.html \ + man.cgi.8.html \ + man.h.html \ + manconf.h.html \ + mandoc.h.html \ + mandoc_aux.h.html \ + mansearch.h.html \ + mdoc.h.html \ + roff.h.html + +WWW_OBJS = mdocml.tar.gz \ + mdocml.sha256 + +# === USER CONFIGURATION =============================================== + +include Makefile.local + +# === DEPENDENCY HANDLING ============================================== + +all: mandoc demandoc soelim $(BUILD_TARGETS) Makefile.local + +install: base-install $(INSTALL_TARGETS) + +www: $(WWW_OBJS) $(WWW_MANS) + +$(WWW_MANS): mandoc + +.PHONY: base-install cgi-install install www-install +.PHONY: clean distclean depend + +include Makefile.depend + +# === TARGETS CONTAINING SHELL COMMANDS ================================ + +distclean: clean + rm -f Makefile.local config.h config.h.old config.log config.log.old + +clean: + rm -f libmandoc.a $(LIBMANDOC_OBJS) $(COMPAT_OBJS) + rm -f mandoc $(MAIN_OBJS) + rm -f man.cgi $(CGI_OBJS) + rm -f mandocd catman $(MANDOCD_OBJS) + rm -f demandoc $(DEMANDOC_OBJS) + rm -f soelim $(SOELIM_OBJS) + rm -f $(WWW_MANS) $(WWW_OBJS) + rm -rf *.dSYM + +base-install: mandoc demandoc soelim + mkdir -p $(DESTDIR)$(BINDIR) + mkdir -p $(DESTDIR)$(SBINDIR) + mkdir -p $(DESTDIR)$(MANDIR)/man1 + mkdir -p $(DESTDIR)$(MANDIR)/man5 + mkdir -p $(DESTDIR)$(MANDIR)/man7 + mkdir -p $(DESTDIR)$(MANDIR)/man8 + $(INSTALL_PROGRAM) mandoc demandoc $(DESTDIR)$(BINDIR) + $(INSTALL_PROGRAM) soelim $(DESTDIR)$(BINDIR)/$(BINM_SOELIM) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_MAN) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_APROPOS) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_WHATIS) + cd $(DESTDIR)$(SBINDIR) && \ + $(LN) ${BIN_FROM_SBIN}/mandoc $(BINM_MAKEWHATIS) + $(INSTALL_MAN) mandoc.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1 + $(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1 + $(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1 + $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 + cd $(DESTDIR)$(MANDIR)/man1 && $(LN) $(BINM_APROPOS).1 $(BINM_WHATIS).1 + $(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/$(MANM_MANCONF).5 + $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5 + $(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_MAN).7 + $(INSTALL_MAN) mdoc.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_MDOC).7 + $(INSTALL_MAN) roff.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_ROFF).7 + $(INSTALL_MAN) eqn.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_EQN).7 + $(INSTALL_MAN) tbl.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_TBL).7 + $(INSTALL_MAN) mandoc_char.7 $(DESTDIR)$(MANDIR)/man7 + $(INSTALL_MAN) makewhatis.8 \ + $(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8 + +lib-install: libmandoc.a + mkdir -p $(DESTDIR)$(LIBDIR) + mkdir -p $(DESTDIR)$(INCLUDEDIR) + mkdir -p $(DESTDIR)$(MANDIR)/man3 + $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) + $(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \ + $(DESTDIR)$(INCLUDEDIR) + $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \ + mansearch.3 mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3 + +cgi-install: man.cgi + mkdir -p $(DESTDIR)$(CGIBINDIR) + mkdir -p $(DESTDIR)$(HTDOCDIR) + $(INSTALL_PROGRAM) man.cgi $(DESTDIR)$(CGIBINDIR) + $(INSTALL_DATA) mandoc.css $(DESTDIR)$(HTDOCDIR) + +catman-install: mandocd catman + mkdir -p $(DESTDIR)$(SBINDIR) + mkdir -p $(DESTDIR)$(MANDIR)/man8 + $(INSTALL_PROGRAM) mandocd $(DESTDIR)$(SBINDIR) + $(INSTALL_PROGRAM) catman $(DESTDIR)$(SBINDIR)/$(BINM_CATMAN) + $(INSTALL_MAN) mandocd.8 $(DESTDIR)$(MANDIR)/man8 + $(INSTALL_MAN) catman.8 $(DESTDIR)$(MANDIR)/man8/$(BINM_CATMAN).8 + +uninstall: + rm -f $(DESTDIR)$(BINDIR)/mandoc + rm -f $(DESTDIR)$(BINDIR)/demandoc + rm -f $(DESTDIR)$(BINDIR)/$(BINM_SOELIM) + rm -f $(DESTDIR)$(BINDIR)/$(BINM_MAN) + rm -f $(DESTDIR)$(BINDIR)/$(BINM_APROPOS) + rm -f $(DESTDIR)$(BINDIR)/$(BINM_WHATIS) + rm -f $(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS) + rm -f $(DESTDIR)$(MANDIR)/man1/mandoc.1 + rm -f $(DESTDIR)$(MANDIR)/man1/demandoc.1 + rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1 + rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1 + rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 + rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1 + rm -f $(DESTDIR)$(MANDIR)/man5/$(MANM_MANCONF).5 + rm -f $(DESTDIR)$(MANDIR)/man5/mandoc.db.5 + rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_MAN).7 + rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_MDOC).7 + rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_ROFF).7 + rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_EQN).7 + rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_TBL).7 + rm -f $(DESTDIR)$(MANDIR)/man7/mandoc_char.7 + rm -f $(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8 + rm -f $(DESTDIR)$(CGIBINDIR)/man.cgi + rm -f $(DESTDIR)$(HTDOCDIR)/mandoc.css + rm -f $(DESTDIR)$(SBINDIR)/mandocd + rm -f $(DESTDIR)$(SBINDIR)/$(BINM_CATMAN) + rm -f $(DESTDIR)$(MANDIR)/man8/mandocd.8 + rm -f $(DESTDIR)$(MANDIR)/man8/$(BINM_CATMAN).8 + rm -f $(DESTDIR)$(LIBDIR)/libmandoc.a + rm -f $(DESTDIR)$(MANDIR)/man3/mandoc.3 + rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_escape.3 + rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_malloc.3 + rm -f $(DESTDIR)$(MANDIR)/man3/mansearch.3 + rm -f $(DESTDIR)$(MANDIR)/man3/mchars_alloc.3 + rm -f $(DESTDIR)$(MANDIR)/man3/tbl.3 + rm -f $(DESTDIR)$(INCLUDEDIR)/man.h + rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc.h + rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc_aux.h + rm -f $(DESTDIR)$(INCLUDEDIR)/mdoc.h + rm -f $(DESTDIR)$(INCLUDEDIR)/roff.h + [ ! -e $(DESTDIR)$(INCLUDEDIR) ] || rmdir $(DESTDIR)$(INCLUDEDIR) + +regress: all + cd regress && ./regress.pl + +regress-clean: + cd regress && ./regress.pl . clean + +Makefile.local config.h: configure $(TESTSRCS) + @echo "$@ is out of date; please run ./configure" + @exit 1 + +libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS) + ar rs $@ $(COMPAT_OBJS) $(LIBMANDOC_OBJS) + +mandoc: $(MAIN_OBJS) libmandoc.a + $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD) + +man.cgi: $(CGI_OBJS) libmandoc.a + $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD) + +mandocd: $(MANDOCD_OBJS) libmandoc.a + $(CC) -o $@ $(LDFLAGS) $(MANDOCD_OBJS) libmandoc.a $(LDADD) + +catman: catman.o libmandoc.a + $(CC) -o $@ $(LDFLAGS) catman.o libmandoc.a $(LDADD) + +demandoc: $(DEMANDOC_OBJS) libmandoc.a + $(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) libmandoc.a $(LDADD) + +soelim: $(SOELIM_OBJS) + $(CC) -o $@ $(LDFLAGS) $(SOELIM_OBJS) + +# --- maintainer targets --- + +www-install: www + mkdir -p $(HTDOCDIR)/snapshots + $(INSTALL_DATA) $(WWW_MANS) mandoc.css $(HTDOCDIR) + $(INSTALL_DATA) $(WWW_OBJS) $(HTDOCDIR)/snapshots + $(INSTALL_DATA) mdocml.tar.gz \ + $(HTDOCDIR)/snapshots/mdocml-$(VERSION).tar.gz + $(INSTALL_DATA) mdocml.sha256 \ + $(HTDOCDIR)/snapshots/mdocml-$(VERSION).sha256 + +depend: config.h + mkdep -f Makefile.depend $(CFLAGS) $(SRCS) + perl -e 'undef $$/; $$_ = <>; s|/usr/include/\S+||g; \ + s|\\\n||g; s| +| |g; s| $$||mg; print;' \ + Makefile.depend > Makefile.tmp + mv Makefile.tmp Makefile.depend + +regress-distclean: + @find regress \ + -name '.#*' -o \ + -name '*.orig' -o \ + -name '*.rej' -o \ + -name '*.core' \ + -exec rm -i {} \; + +regress-distcheck: + @find regress ! -type d ! -type f + @find regress -type f \ + ! -path '*/CVS/*' \ + ! -name Makefile \ + ! -name Makefile.inc \ + ! -name '*.in' \ + ! -name '*.out_ascii' \ + ! -name '*.out_utf8' \ + ! -name '*.out_html' \ + ! -name '*.out_lint' \ + ! -path regress/regress.pl \ + ! -path regress/regress.pl.1 + +dist: mdocml.sha256 + +mdocml.sha256: mdocml.tar.gz + sha256 mdocml.tar.gz > $@ + +mdocml.tar.gz: $(DISTFILES) + ls regress/*/*/*.mandoc_* && exit 1 || true + mkdir -p .dist/mdocml-$(VERSION)/ + $(INSTALL) -m 0644 $(DISTFILES) .dist/mdocml-$(VERSION) + cp -pR regress .dist/mdocml-$(VERSION) + find .dist/mdocml-$(VERSION)/regress \ + -type d -name CVS -print0 | xargs -0 rm -rf + chmod 755 .dist/mdocml-$(VERSION)/configure + ( cd .dist/ && tar zcf ../$@ mdocml-$(VERSION) ) + rm -rf .dist/ + +# === SUFFIX RULES ===================================================== + +.SUFFIXES: .1 .3 .5 .7 .8 .h +.SUFFIXES: .1.html .3.html .5.html .7.html .8.html .h.html + +.h.h.html: + highlight -I $< > $@ + +.1.1.html .3.3.html .5.5.html .7.7.html .8.8.html: mandoc + ./mandoc -Thtml -Wall,stop \ + -Ostyle=mandoc.css,man=%N.%S.html,includes=%I.html $< > $@ Copied: vendor/mdocml/20170608/Makefile.depend (from r319715, vendor/mdocml/dist/Makefile.depend) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/mdocml/20170608/Makefile.depend Thu Jun 8 19:30:47 2017 (r319716, copy of r319715, vendor/mdocml/dist/Makefile.depend) @@ -0,0 +1,76 @@ +att.o: att.c config.h roff.h mdoc.h libmdoc.h +catman.o: catman.c config.h compat_fts.h +cgi.o: cgi.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h main.h manconf.h mansearch.h cgi.h +chars.o: chars.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h libmandoc.h +compat_err.o: compat_err.c config.h +compat_fts.o: compat_fts.c config.h compat_fts.h +compat_getline.o: compat_getline.c config.h +compat_getsubopt.o: compat_getsubopt.c config.h +compat_isblank.o: compat_isblank.c config.h +compat_mkdtemp.o: compat_mkdtemp.c config.h +compat_ohash.o: compat_ohash.c config.h compat_ohash.h +compat_progname.o: compat_progname.c config.h +compat_reallocarray.o: compat_reallocarray.c config.h +compat_strcasestr.o: compat_strcasestr.c config.h +compat_stringlist.o: compat_stringlist.c config.h compat_stringlist.h +compat_strlcat.o: compat_strlcat.c config.h +compat_strlcpy.o: compat_strlcpy.c config.h +compat_strsep.o: compat_strsep.c config.h +compat_strtonum.o: compat_strtonum.c config.h +compat_vasprintf.o: compat_vasprintf.c config.h +dba.o: dba.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mansearch.h dba_write.h dba_array.h dba.h +dba_array.o: dba_array.c mandoc_aux.h dba_write.h dba_array.h +dba_read.o: dba_read.c mandoc_aux.h mansearch.h dba_array.h dba.h dbm.h +dba_write.o: dba_write.c config.h dba_write.h +dbm.o: dbm.c config.h mansearch.h dbm_map.h dbm.h +dbm_map.o: dbm_map.c config.h mansearch.h dbm_map.h dbm.h +demandoc.o: demandoc.c config.h roff.h man.h mdoc.h mandoc.h +eqn.o: eqn.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h +eqn_html.o: eqn_html.c config.h mandoc.h out.h html.h +eqn_term.o: eqn_term.c config.h mandoc.h out.h term.h +html.o: html.c config.h mandoc_aux.h mandoc.h roff.h out.h html.h manconf.h main.h +lib.o: lib.c config.h roff.h mdoc.h libmdoc.h lib.in +main.o: main.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h tag.h main.h manconf.h mansearch.h +man.o: man.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h +man_html.o: man_html.c config.h mandoc_aux.h roff.h man.h out.h html.h main.h +man_macro.o: man_macro.c config.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h +man_term.o: man_term.c config.h mandoc_aux.h mandoc.h roff.h man.h out.h term.h main.h +man_validate.o: man_validate.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h +mandoc.o: mandoc.c config.h mandoc.h mandoc_aux.h libmandoc.h +mandoc_aux.o: mandoc_aux.c config.h mandoc.h mandoc_aux.h +mandoc_ohash.o: mandoc_ohash.c mandoc_aux.h mandoc_ohash.h compat_ohash.h +mandocd.o: mandocd.c config.h mandoc.h roff.h mdoc.h man.h main.h manconf.h +mandocdb.o: mandocdb.c config.h compat_fts.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mdoc.h man.h manconf.h mansearch.h dba_array.h dba.h +manpath.o: manpath.c config.h mandoc_aux.h manconf.h +mansearch.o: mansearch.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h manconf.h mansearch.h dbm.h +mdoc.o: mdoc.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h +mdoc_argv.o: mdoc_argv.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h +mdoc_html.o: mdoc_html.c config.h mandoc_aux.h roff.h mdoc.h out.h html.h main.h +mdoc_macro.o: mdoc_macro.c config.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h +mdoc_man.o: mdoc_man.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h out.h main.h +mdoc_markdown.o: mdoc_markdown.c mandoc_aux.h mandoc.h roff.h mdoc.h main.h +mdoc_state.o: mdoc_state.c mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h +mdoc_term.o: mdoc_term.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h out.h term.h tag.h main.h +mdoc_validate.o: mdoc_validate.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h +msec.o: msec.c config.h mandoc.h libmandoc.h msec.in +out.o: out.c config.h mandoc_aux.h mandoc.h out.h +preconv.o: preconv.c config.h mandoc.h libmandoc.h +read.o: read.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h libmandoc.h roff_int.h +roff.o: roff.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h roff.h libmandoc.h roff_int.h libroff.h predefs.in +roff_html.o: roff_html.c roff.h out.h html.h +roff_term.o: roff_term.c roff.h out.h term.h +roff_validate.o: roff_validate.c mandoc.h roff.h libmandoc.h roff_int.h +soelim.o: soelim.c config.h compat_stringlist.h +st.o: st.c config.h roff.h mdoc.h libmdoc.h st.in +tag.o: tag.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h tag.h +tbl.o: tbl.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h +tbl_data.o: tbl_data.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h +tbl_html.o: tbl_html.c config.h mandoc.h out.h html.h +tbl_layout.o: tbl_layout.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h +tbl_opts.o: tbl_opts.c config.h mandoc.h libmandoc.h libroff.h +tbl_term.o: tbl_term.c config.h mandoc.h out.h term.h +term.o: term.c config.h mandoc.h mandoc_aux.h out.h term.h main.h +term_ascii.o: term_ascii.c config.h mandoc.h mandoc_aux.h out.h term.h manconf.h main.h +term_ps.o: term_ps.c config.h mandoc_aux.h out.h term.h manconf.h main.h +term_tab.o: term_tab.c mandoc_aux.h out.h term.h +tree.o: tree.c config.h mandoc.h roff.h mdoc.h man.h main.h Copied: vendor/mdocml/20170608/NEWS (from r319715, vendor/mdocml/dist/NEWS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/mdocml/20170608/NEWS Thu Jun 8 19:30:47 2017 (r319716, copy of r319715, vendor/mdocml/dist/NEWS) @@ -0,0 +1,892 @@ +$Id: NEWS,v 1.21 2017/02/21 00:37:03 schwarze Exp $ + +This file lists the most important changes in the mdocml.bsd.lv distribution. + +Changes in version 1.14.1, released on February 21, 2017 + + --- MAJOR NEW FEATURES --- + * apropos(1): Reimplement complete semantic search functionality + without the dependency on SQLite3, using only POSIX APIs. + This comes with a completely new mandoc.db(5) file format. + * man(1): Support more than one tag entry for the same search term, + plus some minor improvements to the less(1) :t support. + * -Thtml: Use real macro names for CSS classes. + Systematic cleanup of and many improvements to mandoc.css. + * -Thtml: Produce human readable HTML code by using indentation + and better line breaks. Improve various HTML elements, + and trim several useless ones. + * New catman(8) utility, still somewhat experimental. + * Now includes a portable version of the OpenBSD mandoc regression + suite, see regress/regress.pl.1 for details. + --- REMOVED FUNCTIONALITY --- + * Operating systems that don't provide mmap(3) are no longer supported. + * Drop support for manpath(1). Even if your system has manpath(1), + it is simpler to use MANPATH_DEFAULT in configure.local for + operating system defaults, man.conf(5) for machine-specific + modifications, and ${MANPATH}, -m, and -M for user preferences + than to bother with the complexity of manpath(1). + * makewhatis(8) -p: No longer warn about missing MLINKS since these + are no longer needed for anything. + --- MINOR NEW FEATURES --- + * mdoc(7): Warn about invalid punctuation and content below NAME. + * mdoc(7): Warn about .Xr lacking the second argument (section). + * mdoc(7): Warn about violations of the rule "new sentence, new line". + * roff(7): Warn about trailing whitespace at the end of comments. + * mdoc(7): Improve rendering of double quotes. + * mdoc(7): Always do text production in the validator, never in the + formatters. Cleaner, simpler, shorter, helps NetBSD apropos(1) + and also makes -Ttree output more useful. + * -Ttree: Show metadata and some additional node flags. + New -Onoval output option to show the unvalidated tree. + --- RELIABILITY BUGFIXES --- + * man(1): Make "man -l" work with standard input from a pipe or file, + as long as standard output is a terminal. + * man(7): Fix out of bounds read access if a text node immediately + preceded the first .SH header. + * mdoc(7): Fix out of bounds read access for .Bl without a type + but with a width. + * mdoc(7): Fix out of bounds read access for .Bl -column starting + with a tab character instead of a child .It macro. + * mdoc(7): Fix syntax tree corruption leading to segfaults caused + by stray block end macros in nested blocks of mismatching type. + * man(1): Fix NULL dereference when the first of multiple pages + shown was preformatted. + * mdoc(7): Fix syntax tree corruption leading to NULL dereference + caused by partial implicit macros inside .Bl -column table cells. + * mdoc(7): Fix syntax tree corruption leading to NULL dereference + for macro sequences like .Bl .Bl .It Bo .El .It. + * mdoc(7): Fix syntax tree corruption leading to NULL dereference + caused by .Ta following a nested .Bl -column breaking another block. + * mdoc(7): Fix syntax tree corruption sometimes leading to NULL + dereference caused by indirectly broken .Nd or .Nm blocks. + * mdoc(7) -Thtml: Fix a NULL dereference for .Bl -column with 0 columns. + * mdoc(7): Fix NULL dereference in some specific cases of a + block-end macro calling another block-end macro. + * mdoc(7): Fix NULL dereference if the only child of the head + of the first .Sh was an empty in-line macro. + * eqn(7): Fix NULL dereference in the terminal formatter + for empty matrices and empty square roots. + * mdoc(7): Fix an assertion failure for a .Bd without a type that + breaks another block. + * mdoc(7): Fix an assertion failure that happened for some .Bl -column + lists containing a column width of "-4n", "-3n", or "-2n". + * mdoc(7): Fix an assertion failure caused by .Bl -column without .It + but containing eqn(7) or tbl(7) code. + * roff(7): Fix an assertion failure caused by \z\[u00FF] with -Tps/-Tpdf. + * roff(7): Fix an assertion failures caused by whitespace inside \o'' + (overstrike) sequences. + * -Thtml: Fix an assertion failure caused by -Oman or -Oincludes of + excessive length. + --- PORTABILITY IMPROVEMENTS --- + * man(1): Do not mix stdio narrow and wide stream orientation + on stdout, which could cause output corruption on glibc. + * mandoc(1): Autodetect a suitable locale for -Tutf8 mode. + * ./configure: Autodetect whether PATH_MAX and O_DIRECTORY are defined. + * ./configure: Autodetect if nanosleep(3) needs -lrt. + * ./configure: Provide an ${LN} configuration variable. + * ./configure: Put compiler arguments that may contain -l at the end. + --- MINOR BUGFIXES --- + * mdoc(7): Fix SYNOPSIS output if the first child of .Nm is a macro. + * mdoc(7) -Thtml: Improve formatting of .Bl -tag with short tags. + * man(7) -Thtml: Preserve whitespace in .nf (nofill) mode. + * mandoc(1): Error out on invalid output options on the command line. + --- STRUCTURAL CHANGES, no functional change --- + * Redesign part of the mandoc_html(3) interfaces, making them much + easier to use and reducing the amount of code by a few hundred lines. + --- THANKS TO --- + * Michael Stapelberg (Debian) for designing the new mandocd(8) + and parts of the new catman(8), for release testing, and for a + number of patches and bug reports. + * Baptiste Daroussin (FreeBSD) for profiling the new makewhatis(8) + implementation and suggesting an algorithmic improvement which + more than doubled performance, and for a few bug reports. + * Ed Maste (FreeBSD) for an important patch improving reproducibility + of builds in makewhatis(8), and for a few bug reports. + * Theo Buehler (OpenBSD) for almost twenty important bug reports, + most of them found by systematic afl(1) fuzzing. + * Benny Lofgren, David Dahlberg, and in particular Vadim Zhukov + for crucial help in getting .Bl -tag CSS formatting fixed. + * Svyatoslav Mishyn (Crux Linux) for an initial version of the + patch to autodetect a suitable locale for -Tutf8 mode + and for release testing. + * Jason McIntyre (OpenBSD) for multiple useful discussions + and a number of bug reports. + * Sevan Janiyan (NetBSD) for extensive release testing and multiple + bug reports. + * Thomas Klausner and Christos Zoulas (NetBSD), Yuri Pankov (illumos), + and Leah Neukirchen (Void Linux) for release testing and bug reports. + * Ulrich Spoerlein (FreeBSD) for release testing. + * Alexander Bluhm, Andrew Fresh, Antoine Jacoutot, Antony Bentley, + Christian Weisgerber, Jonathan Gray, Marc Espie, Martijn van Duren, + Stuart Henderson, Ted Unangst, Theo de Raadt (OpenBSD), Abhinav + Upadhyay, Kamil Rytarowski (NetBSD), Aaron M. Ucko, Bdale Garbee, + Reiner Herrmann, Shane Kerr (Debian), Daniel Sabogal (Alpine Linux), *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Jun 8 19:38:45 2017 Return-Path: Delivered-To: svn-src-all@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 2C42AC787B6; Thu, 8 Jun 2017 19:38:45 +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 D2C026EDE5; Thu, 8 Jun 2017 19:38:44 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id J3GNd2R2Oyd2DJ3GOdoQdz; Thu, 08 Jun 2017 13:38:37 -0600 X-Authority-Analysis: v=2.2 cv=F5wnTupN c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=kj9zAlcOel0A:10 a=LWSFodeU3zMA:10 a=OUXY8nFuAAAA:8 a=Op11lNqNS-FjsannNWIA:9 a=CjuIK1q_8ugA:10 a=cAcMbU7R10T-QSRYIcO_:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 1D04A41B; Thu, 8 Jun 2017 12:38:35 -0700 (PDT) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v58JbJxs004223; Thu, 8 Jun 2017 12:37:19 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201706081937.v58JbJxs004223@slippy.cwsent.com> Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Phil Shafer cc: Cy Schubert , Phil Shafer , src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org Subject: Re: svn commit: r319694 - in head: contrib/libxo contrib/libxo/doc contrib/libxo/encoder/cbor contrib/libxo/encoder/test contrib/libxo/libxo contrib/libxo/tests/core contrib/libxo/tests/core/saved cont... In-Reply-To: Your message of "Thu, 08 Jun 2017 14:01:29 -0400." <201706081801.v58I1TMv075853@idle.juniper.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <4221.1496950639.1@slippy> Content-Transfer-Encoding: quoted-printable Date: Thu, 08 Jun 2017 12:37:19 -0700 X-CMAE-Envelope: MS4wfPwtaaDs8DhdyviSGl8CGWTHcoi0s6EkJ2b4r/jzaNyECpnxWoXAiWHvU96mPbJ4CPMOhUgKF1uVFN5w8J8uqVBiQx/0FlIAf0f4l38Tt+pT/lhvj7aa 7RhhfYRjdMfen7ZjE/78Ajmy/5jCdOInFGn4M0owbGTh1PGRo5RPW8q6Ebte3cIDQ9Hdh4fz8jJygNqW1SxhzDCBfBcBdFsi6nAFtscEshtMP8VBI/hW3j0l JWwguW8gODbe1q79pzU7PLV/roLeuucmLC05qM/Caky6TgFsebG7qI3p1kJK45la6CPA3JFWhKlCJ1+KigMzSg== X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 19:38:45 -0000 In message <201706081801.v58I1TMv075853@idle.juniper.net>, Phil Shafer wri= tes: > Cy Schubert writes: > >/home/cy/current/contrib/libxo/libxo/libxo.c:242:17: error: redefinitio= n of = > typedef 'xo_color_t' is a C11 feature [-Werror,-Wtypedef-redefinition] > >typedef uint8_t xo_color_t; > = > Apologies. My compiles under macosx and fb11 didn't hit this. It's > fixed now. I'll reimport a libxo version with the fix when my "make > buildworld" completes. No problem. The universe{10,11,12}(a,b} are your friends. From owner-svn-src-all@freebsd.org Thu Jun 8 19:40:02 2017 Return-Path: Delivered-To: svn-src-all@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 E8916C7883F; Thu, 8 Jun 2017 19:40:02 +0000 (UTC) (envelope-from bapt@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 9F16D6EF3C; Thu, 8 Jun 2017 19:40:02 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58Je1rG049964; Thu, 8 Jun 2017 19:40:01 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58Je0gb049950; Thu, 8 Jun 2017 19:40:00 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706081940.v58Je0gb049950@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Thu, 8 Jun 2017 19:40:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319717 - in head: contrib/mdocml usr.bin/mandoc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 19:40:03 -0000 Author: bapt Date: Thu Jun 8 19:40:00 2017 New Revision: 319717 URL: https://svnweb.freebsd.org/changeset/base/319717 Log: Import mandoc snapshot 2017-06-08 It implements missing man(7) macros used in base by kerberos/ntp and makes them supported by mandoc. This import should have been done before the removal of groff. Reported by: gordon Added: head/contrib/mdocml/mdoc_markdown.c - copied unchanged from r319716, vendor/mdocml/dist/mdoc_markdown.c head/contrib/mdocml/roff_html.c - copied unchanged from r319716, vendor/mdocml/dist/roff_html.c head/contrib/mdocml/roff_term.c - copied unchanged from r319716, vendor/mdocml/dist/roff_term.c head/contrib/mdocml/roff_validate.c - copied unchanged from r319716, vendor/mdocml/dist/roff_validate.c head/contrib/mdocml/term_tab.c - copied unchanged from r319716, vendor/mdocml/dist/term_tab.c Deleted: head/contrib/mdocml/man_hash.c head/contrib/mdocml/manpage.c head/contrib/mdocml/mdoc_hash.c Modified: head/contrib/mdocml/LICENSE head/contrib/mdocml/Makefile head/contrib/mdocml/Makefile.depend head/contrib/mdocml/NEWS head/contrib/mdocml/TODO head/contrib/mdocml/apropos.1 head/contrib/mdocml/catman.8 head/contrib/mdocml/cgi.c head/contrib/mdocml/cgi.h.example head/contrib/mdocml/chars.c head/contrib/mdocml/configure head/contrib/mdocml/configure.local.example head/contrib/mdocml/eqn.c head/contrib/mdocml/gmdiff head/contrib/mdocml/html.c head/contrib/mdocml/html.h head/contrib/mdocml/libman.h head/contrib/mdocml/libmandoc.h head/contrib/mdocml/libmdoc.h head/contrib/mdocml/main.c head/contrib/mdocml/main.h head/contrib/mdocml/makewhatis.8 head/contrib/mdocml/man.1 head/contrib/mdocml/man.7 head/contrib/mdocml/man.c head/contrib/mdocml/man.cgi.3 head/contrib/mdocml/man.cgi.8 head/contrib/mdocml/man.h head/contrib/mdocml/man_html.c head/contrib/mdocml/man_macro.c head/contrib/mdocml/man_term.c head/contrib/mdocml/man_validate.c head/contrib/mdocml/mandoc.1 head/contrib/mdocml/mandoc.3 head/contrib/mdocml/mandoc.c head/contrib/mdocml/mandoc.css head/contrib/mdocml/mandoc.h head/contrib/mdocml/mandoc_char.7 head/contrib/mdocml/mandoc_headers.3 head/contrib/mdocml/mandoc_html.3 head/contrib/mdocml/mandocd.8 head/contrib/mdocml/mandocdb.c head/contrib/mdocml/mansearch.3 head/contrib/mdocml/mansearch.c head/contrib/mdocml/mansearch.h head/contrib/mdocml/mdoc.7 head/contrib/mdocml/mdoc.c head/contrib/mdocml/mdoc.h head/contrib/mdocml/mdoc_argv.c head/contrib/mdocml/mdoc_html.c head/contrib/mdocml/mdoc_macro.c head/contrib/mdocml/mdoc_man.c head/contrib/mdocml/mdoc_state.c head/contrib/mdocml/mdoc_term.c head/contrib/mdocml/mdoc_validate.c head/contrib/mdocml/out.c head/contrib/mdocml/out.h head/contrib/mdocml/read.c head/contrib/mdocml/roff.7 head/contrib/mdocml/roff.c head/contrib/mdocml/roff.h head/contrib/mdocml/soelim.1 head/contrib/mdocml/tbl.7 head/contrib/mdocml/tbl.c head/contrib/mdocml/tbl_data.c head/contrib/mdocml/tbl_html.c head/contrib/mdocml/tbl_layout.c head/contrib/mdocml/tbl_term.c head/contrib/mdocml/term.c head/contrib/mdocml/term.h head/contrib/mdocml/term_ascii.c head/contrib/mdocml/term_ps.c head/contrib/mdocml/tree.c head/usr.bin/mandoc/Makefile Directory Properties: head/contrib/mdocml/ (props changed) Modified: head/contrib/mdocml/LICENSE ============================================================================== --- head/contrib/mdocml/LICENSE Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/LICENSE Thu Jun 8 19:40:00 2017 (r319717) @@ -1,11 +1,11 @@ -$Id: LICENSE,v 1.14 2017/02/08 12:24:10 schwarze Exp $ +$Id: LICENSE,v 1.15 2017/02/21 00:37:03 schwarze Exp $ With the exceptions noted below, all code and documentation contained in the mdocml toolkit is protected by the Copyright of the following developers: Copyright (c) 2008-2012, 2014 Kristaps Dzonsons -Copyright (c) 2010-2016 Ingo Schwarze +Copyright (c) 2010-2017 Ingo Schwarze Copyright (c) 2009, 2010, 2011, 2012 Joerg Sonnenberger Copyright (c) 2013 Franco Fichtner Copyright (c) 2014 Baptiste Daroussin Modified: head/contrib/mdocml/Makefile ============================================================================== --- head/contrib/mdocml/Makefile Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/Makefile Thu Jun 8 19:40:00 2017 (r319717) @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.504 2017/02/18 15:29:39 schwarze Exp $ +# $Id: Makefile,v 1.512 2017/05/07 17:31:45 schwarze Exp $ # # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons # Copyright (c) 2011, 2013-2017 Ingo Schwarze @@ -85,7 +85,6 @@ SRCS = att.c \ lib.c \ main.c \ man.c \ - man_hash.c \ man_html.c \ man_macro.c \ man_term.c \ @@ -95,15 +94,14 @@ SRCS = att.c \ mandoc_ohash.c \ mandocd.c \ mandocdb.c \ - manpage.c \ manpath.c \ mansearch.c \ mdoc.c \ mdoc_argv.c \ - mdoc_hash.c \ mdoc_html.c \ mdoc_macro.c \ mdoc_man.c \ + mdoc_markdown.c \ mdoc_state.c \ mdoc_term.c \ mdoc_validate.c \ @@ -112,6 +110,9 @@ SRCS = att.c \ preconv.c \ read.c \ roff.c \ + roff_html.c \ + roff_term.c \ + roff_validate.c \ soelim.c \ st.c \ tag.c \ @@ -124,6 +125,7 @@ SRCS = att.c \ term.c \ term_ascii.c \ term_ps.c \ + term_tab.c \ tree.c DISTFILES = INSTALL \ @@ -198,7 +200,6 @@ DISTFILES = INSTALL \ $(TESTSRCS) LIBMAN_OBJS = man.o \ - man_hash.o \ man_macro.o \ man_validate.o @@ -206,7 +207,6 @@ LIBMDOC_OBJS = att.o \ lib.o \ mdoc.o \ mdoc_argv.o \ - mdoc_hash.o \ mdoc_macro.o \ mdoc_state.o \ mdoc_validate.o \ @@ -214,6 +214,7 @@ LIBMDOC_OBJS = att.o \ LIBROFF_OBJS = eqn.o \ roff.o \ + roff_validate.o \ tbl.o \ tbl_data.o \ tbl_layout.o \ @@ -250,16 +251,17 @@ MANDOC_HTML_OBJS = eqn_html.o \ html.o \ man_html.o \ mdoc_html.o \ + roff_html.o \ tbl_html.o -MANDOC_MAN_OBJS = mdoc_man.o - MANDOC_TERM_OBJS = eqn_term.o \ man_term.o \ mdoc_term.o \ + roff_term.o \ term.o \ term_ascii.o \ term_ps.o \ + term_tab.o \ tbl_term.o DBM_OBJS = dbm.o \ @@ -279,6 +281,8 @@ MAIN_OBJS = $(MANDOC_HTML_OBJS) \ $(DBA_OBJS) \ main.o \ manpath.o \ + mdoc_man.o \ + mdoc_markdown.o \ out.o \ tag.o \ tree.o @@ -294,10 +298,6 @@ MANDOCD_OBJS = $(MANDOC_HTML_OBJS) \ out.o \ tag.o -MANPAGE_OBJS = $(DBM_OBJS) \ - manpage.o \ - manpath.o - DEMANDOC_OBJS = demandoc.o SOELIM_OBJS = soelim.o \ @@ -373,7 +373,6 @@ clean: rm -f mandoc $(MAIN_OBJS) rm -f man.cgi $(CGI_OBJS) rm -f mandocd catman $(MANDOCD_OBJS) - rm -f manpage $(MANPAGE_OBJS) rm -f demandoc $(DEMANDOC_OBJS) rm -f soelim $(SOELIM_OBJS) rm -f $(WWW_MANS) $(WWW_OBJS) @@ -388,17 +387,16 @@ base-install: mandoc demandoc soelim mkdir -p $(DESTDIR)$(MANDIR)/man8 $(INSTALL_PROGRAM) mandoc demandoc $(DESTDIR)$(BINDIR) $(INSTALL_PROGRAM) soelim $(DESTDIR)$(BINDIR)/$(BINM_SOELIM) - $(LN) $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_MAN) - $(LN) $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_APROPOS) - $(LN) $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_WHATIS) - $(LN) $(DESTDIR)$(BINDIR)/mandoc \ - $(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_MAN) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_APROPOS) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_WHATIS) + cd $(DESTDIR)$(SBINDIR) && \ + $(LN) ${BIN_FROM_SBIN}/mandoc $(BINM_MAKEWHATIS) $(INSTALL_MAN) mandoc.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1 $(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1 $(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1 $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 - $(LN) $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 \ - $(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1 + cd $(DESTDIR)$(MANDIR)/man1 && $(LN) $(BINM_APROPOS).1 $(BINM_WHATIS).1 $(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/$(MANM_MANCONF).5 $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5 $(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_MAN).7 @@ -475,7 +473,7 @@ uninstall: rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc_aux.h rm -f $(DESTDIR)$(INCLUDEDIR)/mdoc.h rm -f $(DESTDIR)$(INCLUDEDIR)/roff.h - rmdir $(DESTDIR)$(INCLUDEDIR) + [ ! -e $(DESTDIR)$(INCLUDEDIR) ] || rmdir $(DESTDIR)$(INCLUDEDIR) regress: all cd regress && ./regress.pl @@ -492,9 +490,6 @@ libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS) mandoc: $(MAIN_OBJS) libmandoc.a $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD) - -manpage: $(MANPAGE_OBJS) libmandoc.a - $(CC) -o $@ $(LDFLAGS) $(MANPAGE_OBJS) libmandoc.a $(LDADD) man.cgi: $(CGI_OBJS) libmandoc.a $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD) Modified: head/contrib/mdocml/Makefile.depend ============================================================================== --- head/contrib/mdocml/Makefile.depend Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/Makefile.depend Thu Jun 8 19:40:00 2017 (r319717) @@ -28,11 +28,10 @@ demandoc.o: demandoc.c config.h roff.h man.h mdoc.h ma eqn.o: eqn.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h eqn_html.o: eqn_html.c config.h mandoc.h out.h html.h eqn_term.o: eqn_term.c config.h mandoc.h out.h term.h -html.o: html.c config.h mandoc.h mandoc_aux.h out.h html.h manconf.h main.h +html.o: html.c config.h mandoc_aux.h mandoc.h roff.h out.h html.h manconf.h main.h lib.o: lib.c config.h roff.h mdoc.h libmdoc.h lib.in main.o: main.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h tag.h main.h manconf.h mansearch.h man.o: man.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h -man_hash.o: man_hash.c config.h mandoc.h roff.h man.h libmandoc.h libman.h man_html.o: man_html.c config.h mandoc_aux.h roff.h man.h out.h html.h main.h man_macro.o: man_macro.c config.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h man_term.o: man_term.c config.h mandoc_aux.h mandoc.h roff.h man.h out.h term.h main.h @@ -42,15 +41,14 @@ mandoc_aux.o: mandoc_aux.c config.h mandoc.h mandoc_au mandoc_ohash.o: mandoc_ohash.c mandoc_aux.h mandoc_ohash.h compat_ohash.h mandocd.o: mandocd.c config.h mandoc.h roff.h mdoc.h man.h main.h manconf.h mandocdb.o: mandocdb.c config.h compat_fts.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mdoc.h man.h manconf.h mansearch.h dba_array.h dba.h -manpage.o: manpage.c config.h manconf.h mansearch.h manpath.o: manpath.c config.h mandoc_aux.h manconf.h mansearch.o: mansearch.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h manconf.h mansearch.h dbm.h mdoc.o: mdoc.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h mdoc_argv.o: mdoc_argv.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h -mdoc_hash.o: mdoc_hash.c config.h mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h mdoc_html.o: mdoc_html.c config.h mandoc_aux.h roff.h mdoc.h out.h html.h main.h mdoc_macro.o: mdoc_macro.c config.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h mdoc_man.o: mdoc_man.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h out.h main.h +mdoc_markdown.o: mdoc_markdown.c mandoc_aux.h mandoc.h roff.h mdoc.h main.h mdoc_state.o: mdoc_state.c mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h mdoc_term.o: mdoc_term.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h out.h term.h tag.h main.h mdoc_validate.o: mdoc_validate.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h @@ -58,7 +56,10 @@ msec.o: msec.c config.h mandoc.h libmandoc.h msec.in out.o: out.c config.h mandoc_aux.h mandoc.h out.h preconv.o: preconv.c config.h mandoc.h libmandoc.h read.o: read.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h libmandoc.h roff_int.h -roff.o: roff.c config.h mandoc.h mandoc_aux.h roff.h libmandoc.h roff_int.h libroff.h predefs.in +roff.o: roff.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h roff.h libmandoc.h roff_int.h libroff.h predefs.in +roff_html.o: roff_html.c roff.h out.h html.h +roff_term.o: roff_term.c roff.h out.h term.h +roff_validate.o: roff_validate.c mandoc.h roff.h libmandoc.h roff_int.h soelim.o: soelim.c config.h compat_stringlist.h st.o: st.c config.h roff.h mdoc.h libmdoc.h st.in tag.o: tag.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h tag.h @@ -71,4 +72,5 @@ tbl_term.o: tbl_term.c config.h mandoc.h out.h term.h term.o: term.c config.h mandoc.h mandoc_aux.h out.h term.h main.h term_ascii.o: term_ascii.c config.h mandoc.h mandoc_aux.h out.h term.h manconf.h main.h term_ps.o: term_ps.c config.h mandoc_aux.h out.h term.h manconf.h main.h +term_tab.o: term_tab.c mandoc_aux.h out.h term.h tree.o: tree.c config.h mandoc.h roff.h mdoc.h man.h main.h Modified: head/contrib/mdocml/NEWS ============================================================================== --- head/contrib/mdocml/NEWS Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/NEWS Thu Jun 8 19:40:00 2017 (r319717) @@ -1,8 +1,8 @@ -$Id: NEWS,v 1.20 2017/02/16 14:38:12 schwarze Exp $ +$Id: NEWS,v 1.21 2017/02/21 00:37:03 schwarze Exp $ This file lists the most important changes in the mdocml.bsd.lv distribution. -Changes in version 1.14.1, released on February XXX, 2017 +Changes in version 1.14.1, released on February 21, 2017 --- MAJOR NEW FEATURES --- * apropos(1): Reimplement complete semantic search functionality @@ -95,28 +95,32 @@ Changes in version 1.14.1, released on February XXX, 2 easier to use and reducing the amount of code by a few hundred lines. --- THANKS TO --- * Michael Stapelberg (Debian) for designing the new mandocd(8) - and parts of the new catman(8), and for a number of patches - and bug reports. + and parts of the new catman(8), for release testing, and for a + number of patches and bug reports. * Baptiste Daroussin (FreeBSD) for profiling the new makewhatis(8) implementation and suggesting an algorithmic improvement which more than doubled performance, and for a few bug reports. * Ed Maste (FreeBSD) for an important patch improving reproducibility of builds in makewhatis(8), and for a few bug reports. - * Theo Buehler (OpenBSD) for more than ten important bug reports, + * Theo Buehler (OpenBSD) for almost twenty important bug reports, most of them found by systematic afl(1) fuzzing. * Benny Lofgren, David Dahlberg, and in particular Vadim Zhukov for crucial help in getting .Bl -tag CSS formatting fixed. * Svyatoslav Mishyn (Crux Linux) for an initial version of the - patch to autodetect a suitable locale for -Tutf8 mode. + patch to autodetect a suitable locale for -Tutf8 mode + and for release testing. * Jason McIntyre (OpenBSD) for multiple useful discussions and a number of bug reports. + * Sevan Janiyan (NetBSD) for extensive release testing and multiple + bug reports. + * Thomas Klausner and Christos Zoulas (NetBSD), Yuri Pankov (illumos), + and Leah Neukirchen (Void Linux) for release testing and bug reports. + * Ulrich Spoerlein (FreeBSD) for release testing. * Alexander Bluhm, Andrew Fresh, Antoine Jacoutot, Antony Bentley, Christian Weisgerber, Jonathan Gray, Marc Espie, Martijn van Duren, Stuart Henderson, Ted Unangst, Theo de Raadt (OpenBSD), Abhinav - Upadhyay, Christos Zoulas, Kamil Rytarowski, Sevan Janiyan, - Thomas Klausner (NetBSD), Aaron M. Ucko, Bdale Garbee, Reiner - Herrmann, Shane Kerr (Debian), Leah Neukirchen (Void Linux), - Daniel Sabogal (Alpine Linux), Yuri Pankov (illumos), + Upadhyay, Kamil Rytarowski (NetBSD), Aaron M. Ucko, Bdale Garbee, + Reiner Herrmann, Shane Kerr (Debian), Daniel Sabogal (Alpine Linux), Carsten Kunze (Heirloom roff), Kristaps Dzonsons (bsd.lv), Anton Lindqvist, Jan Stary, Jeremy A. Mates, Mark Patruck, Pavan Maddamsetti, Sean Levy , and Modified: head/contrib/mdocml/TODO ============================================================================== --- head/contrib/mdocml/TODO Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/TODO Thu Jun 8 19:40:00 2017 (r319717) @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.234 2017/02/18 11:53:33 schwarze Exp $ +* $Id: TODO,v 1.237 2017/05/16 19:06:30 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -61,18 +61,6 @@ are mere guesses, and some may be wrong. reported by brad@ Sat, 15 Jan 2011 15:45:23 -0500 loc *** exist *** algo *** size ** imp * -- .ta (tab settings) - #1 most important issue naddy@ Mon, 16 Feb 2015 20:59:17 +0100 - ircbug(1) gnats(1) reported by brad@ Sat, 15 Jan 2011 15:50:51 -0500 - also Tcl_NewStringObj(3) via wiz@ Wed, 5 Mar 2014 22:27:43 +0100 - also posix2time(3) Carsten Kunze Mon, 1 Dec 2014 13:03:10 +0100 - loc ** exist *** algo ** size ** imp *** - -- .ti (temporary indent) - found by naddy@ in xloadimage(1) [devel/libvstr] vstr(3) - found by bentley@ in nmh(1) Mon, 23 Apr 2012 13:38:28 -0600 - loc ** exist ** algo ** size * imp ** (parser reorg helps a lot) - - .while and .shift found by jca@ in ratpoison(1) Sun, 30 Jun 2013 12:01:09 +0200 loc * exist ** algo ** size ** imp ** @@ -273,12 +261,6 @@ are mere guesses, and some may be wrong. - kettenis wants base roff, ms, and me Fri, 1 Jan 2010 22:13:15 +0100 (CET) loc ** exist ** algo ** size *** imp * -- Vsevolod Stakhov (FreeBSD) needs either a markdown output formatter - for mandoc -mdoc or a markdown to mdoc converter because they - have to maintain manuals needed both in markdown and mdoc format. - Look at the libsoldout (markdown -> whatever) - loc * exist * algo * size ** imp ** - --- compatibility checks ----------------------------------------------- - is .Bk implemented correctly in modern groff? @@ -566,8 +548,6 @@ are mere guesses, and some may be wrong. Several areas can be cleaned up to make mandoc even faster. These are -- improve hashing mechanism for macros (quite important: performance) - - the PDF file is HUGE: this can be reduced by using relative offsets ************************************************************************ @@ -613,3 +593,10 @@ Several areas can be cleaned up to make mandoc even fa - use uname(1) to set doc-default-operating-system at install time tobimensch Mon, 1 Dec 2014 00:25:07 +0100 + +- apostrophe (39), circumflex (94), grave (96), tilde (126) + in manuals: \(aq, \(ha, \`, \(ti + Re: [Groff] ASCII Minus Sign in man Pages. + bentley@ 26 Apr 2017 10:02:06 -0600 + Do we need to fix existing manuals? + Do we need to fix the definition of the mdoc(7) language? Modified: head/contrib/mdocml/apropos.1 ============================================================================== --- head/contrib/mdocml/apropos.1 Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/apropos.1 Thu Jun 8 19:40:00 2017 (r319717) @@ -1,7 +1,7 @@ -.\" $Id: apropos.1,v 1.40 2017/01/31 19:44:04 schwarze Exp $ +.\" $Id: apropos.1,v 1.45 2017/03/27 18:51:36 schwarze Exp $ .\" .\" Copyright (c) 2011, 2012 Kristaps Dzonsons -.\" Copyright (c) 2011, 2012, 2014 Ingo Schwarze +.\" Copyright (c) 2011, 2012, 2014, 2017 Ingo Schwarze .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: January 31 2017 $ +.Dd $Mdocdate: March 27 2017 $ .Dt APROPOS 1 .Os .Sh NAME @@ -24,7 +24,7 @@ .Nd search manual page databases .Sh SYNOPSIS .Nm -.Op Fl acfhklw +.Op Fl afk .Op Fl C Ar file .Op Fl M Ar path .Op Fl m Ar path @@ -89,12 +89,6 @@ Specify an alternative configuration in .Xr man.conf 5 format. -.It Fl c -In -.Fl a -mode, copy the formatted manual pages to the standard output without using -.Xr more 1 -to paginate them. .It Fl f Search for all words in .Ar expression @@ -102,37 +96,12 @@ in manual page names only. The search is case insensitive and matches whole words only. In this mode, macro keys, comparison operators, and logical operators are not available. -This overrides any earlier -.Fl k -and -.Fl l -options. -.It Fl h -Instead of showing the title lines, show the SYNOPSIS sections, just like -.Xr man 1 -.Fl h -would. .It Fl k Support the full .Ar expression syntax. -This overrides any earlier -.Fl f -and -.Fl l -options. It is the default for .Nm . -.It Fl l -An alias for -.Xr mandoc 1 -.Fl a . -This overrides any earlier -.Fl f , -.Fl k , -and -.Fl w -options. .It Fl M Ar path Use the colon-separated path instead of the default list of paths searched for @@ -162,14 +131,16 @@ By default, pages from all sections are shown. See .Xr man 1 for a listing of sections. -.It Fl w -Instead of showing title lines, show the pathnames of the matching -manual pages, just like -.Xr man 1 -.Fl w -would. .El .Pp +The options +.Fl chlw +are also supported and are documented in +.Xr man 1 . +The options +.Fl fkl +are mutually exclusive and override each other. +.Pp An .Ar expression consists of search terms joined by logical operators @@ -237,8 +208,29 @@ is evaluated case-insensitively. Has no effect on substring terms. .El .Pp -Results are sorted by manual sections and names, with output formatted as +Results are sorted according to the following criteria: +.Bl -enum +.It +The manpath directory tree the page is found in, according to the +order specified with +.Fl M , +.Fl m , +the +.Ev MANPATH +environment variable, the +.Xr man.conf 5 +configuration file, or the default documented in +.Xr man.conf 5 . +.It +The section number in ascending numerical order. +.It +The page name in ascending +.Xr ascii 7 +alphabetical order, case-insensitive. +.El .Pp +Each output line is formatted as +.Pp .D1 name[, name...](sec) \- description .Pp Where @@ -341,25 +333,25 @@ Text production: .It Ev MANPAGER Any non-empty value of the environment variable .Ev MANPAGER -will be used instead of the standard pagination program, -.Xr more 1 . +is used instead of the standard pagination program, +.Xr more 1 ; +see +.Xr man 1 +for details. +Only used if +.Fl a +or +.Fl l +is specified. .It Ev MANPATH -The standard search path used by +A colon-separated list of directories to search for manual pages; see .Xr man 1 -may be changed by specifying a path in the -.Ev MANPATH -environment variable. -Invalid paths, or paths without manual databases, are ignored. +for details. Overridden by -.Fl M . -If -.Ev MANPATH -begins with a colon, it is appended to the default list; -if it ends with a colon, it is prepended to the default list; -or if it contains two adjacent colons, -the standard search path is inserted between the colons. -If none of these conditions are met, it overrides the -standard search path. +.Fl M , +ignored if +.Fl l +is specified. .It Ev PAGER Specifies the pagination program to use when .Ev MANPAGER @@ -367,7 +359,12 @@ is not defined. If neither PAGER nor MANPAGER is defined, .Xr more 1 .Fl s -will be used. +is used. +Only used if +.Fl a +or +.Fl l +is specified. .El .Sh FILES .Bl -tag -width "/etc/man.conf" -compact Modified: head/contrib/mdocml/catman.8 ============================================================================== --- head/contrib/mdocml/catman.8 Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/catman.8 Thu Jun 8 19:40:00 2017 (r319717) @@ -1,4 +1,4 @@ -.\" $Id: catman.8,v 1.7 2017/02/06 19:04:21 schwarze Exp $ +.\" $Id: catman.8,v 1.8 2017/03/18 19:56:01 schwarze Exp $ .\" .\" Copyright (c) 2017 Ingo Schwarze .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: February 6 2017 $ +.Dd $Mdocdate: March 18 2017 $ .Dt CATMAN 8 .Os .Sh NAME @@ -49,7 +49,7 @@ Override the default operating system .Ar name for the .Xr mdoc 7 -.Ic Os +.Ic \&Os and for the .Xr man 7 .Ic TH Modified: head/contrib/mdocml/cgi.c ============================================================================== --- head/contrib/mdocml/cgi.c Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/cgi.c Thu Jun 8 19:40:00 2017 (r319717) @@ -1,4 +1,4 @@ -/* $Id: cgi.c,v 1.147 2017/02/08 13:34:27 schwarze Exp $ */ +/* $Id: cgi.c,v 1.154 2017/04/19 01:00:03 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze @@ -76,11 +76,12 @@ static void pg_error_badrequest(const char *); static void pg_error_internal(void); static void pg_index(const struct req *); static void pg_noresult(const struct req *, const char *); +static void pg_redirect(const struct req *, const char *); static void pg_search(const struct req *); static void pg_searchres(const struct req *, struct manpage *, size_t); static void pg_show(struct req *, const char *); -static void resp_begin_html(int, const char *); +static void resp_begin_html(int, const char *, const char *); static void resp_begin_http(int, const char *); static void resp_catman(const struct req *, const char *); static void resp_copy(const char *); @@ -345,8 +346,9 @@ resp_copy(const char *filename) } static void -resp_begin_html(int code, const char *msg) +resp_begin_html(int code, const char *msg, const char *file) { + char *cp; resp_begin_http(code, msg); @@ -356,10 +358,20 @@ resp_begin_html(int code, const char *msg) " \n" " \n" - " %s\n" + " ", + CSS_DIR); + if (file != NULL) { + if ((cp = strrchr(file, '/')) != NULL) + file = cp + 1; + if ((cp = strrchr(file, '.')) != NULL) { + printf("%.*s(%s) - ", (int)(cp - file), file, cp + 1); + } else + printf("%s - ", file); + } + printf("%s\n" "\n" "\n", - CSS_DIR, CUSTOMIZE_TITLE); + CUSTOMIZE_TITLE); resp_copy(MAN_DIR "/header.html"); } @@ -492,7 +504,7 @@ static void pg_index(const struct req *req) { - resp_begin_html(200, NULL); + resp_begin_html(200, NULL, NULL); resp_searchform(req, FOCUS_QUERY); printf("

      \n" "This web interface is documented in the\n" @@ -509,7 +521,7 @@ pg_index(const struct req *req) static void pg_noresult(const struct req *req, const char *msg) { - resp_begin_html(200, NULL); + resp_begin_html(200, NULL, NULL); resp_searchform(req, FOCUS_QUERY); puts("

      "); puts(msg); @@ -521,7 +533,7 @@ static void pg_error_badrequest(const char *msg) { - resp_begin_html(400, "Bad Request"); + resp_begin_html(400, "Bad Request", NULL); puts("

      Bad Request

      \n" "

      \n"); puts(msg); @@ -534,12 +546,29 @@ pg_error_badrequest(const char *msg) static void pg_error_internal(void) { - resp_begin_html(500, "Internal Server Error"); + resp_begin_html(500, "Internal Server Error", NULL); puts("

      Internal Server Error

      "); resp_end_html(); } static void +pg_redirect(const struct req *req, const char *name) +{ + printf("Status: 303 See Other\r\n" + "Location: /"); + if (*scriptname != '\0') + printf("%s/", scriptname); + if (strcmp(req->q.manpath, req->p[0])) + printf("%s/", req->q.manpath); + if (req->q.arch != NULL) + printf("%s/", req->q.arch); + printf("%s", name); + if (req->q.sec != NULL) + printf(".%s", req->q.sec); + printf("\r\nContent-Type: text/html; charset=utf-8\r\n\r\n"); +} + +static void pg_searchres(const struct req *req, struct manpage *r, size_t sz) { char *arch, *archend; @@ -562,47 +591,25 @@ pg_searchres(const struct req *req, struct manpage *r, * If we have just one result, then jump there now * without any delay. */ - printf("Status: 303 See Other\r\n"); - printf("Location: http://%s/%s%s%s/%s", - HTTP_HOST, scriptname, - *scriptname == '\0' ? "" : "/", - req->q.manpath, r[0].file); - printf("\r\n" - "Content-Type: text/html; charset=utf-8\r\n" - "\r\n"); + printf("Status: 303 See Other\r\n" + "Location: /"); + if (*scriptname != '\0') + printf("%s/", scriptname); + if (strcmp(req->q.manpath, req->p[0])) + printf("%s/", req->q.manpath); + printf("%s\r\n" + "Content-Type: text/html; charset=utf-8\r\n\r\n", + r[0].file); return; } - resp_begin_html(200, NULL); - resp_searchform(req, - req->q.equal || sz == 1 ? FOCUS_NONE : FOCUS_QUERY); - - if (sz > 1) { - puts(""); - for (i = 0; i < sz; i++) { - printf(" \n" - " \n" - " \n" - " "); - } - puts("
      " - "", - scriptname, *scriptname == '\0' ? "" : "/", - req->q.manpath, r[i].file); - html_print(r[i].names); - printf(""); - html_print(r[i].output); - puts("
      "); - } - /* * In man(1) mode, show one of the pages * even if more than one is found. */ + iuse = 0; if (req->q.equal || sz == 1) { - puts("
      "); - iuse = 0; priouse = 20; archpriouse = 3; for (i = 0; i < sz; i++) { @@ -635,6 +642,36 @@ pg_searchres(const struct req *req, struct manpage *r, priouse = prio; iuse = i; } + resp_begin_html(200, NULL, r[iuse].file); + } else + resp_begin_html(200, NULL, NULL); + + resp_searchform(req, + req->q.equal || sz == 1 ? FOCUS_NONE : FOCUS_QUERY); + + if (sz > 1) { + puts(""); + for (i = 0; i < sz; i++) { + printf(" \n" + " \n" + " \n" + " "); + } + puts("
      " + "q.manpath, req->p[0])) + printf("%s/", req->q.manpath); + printf("%s\">", r[i].file); + html_print(r[i].names); + printf(""); + html_print(r[i].output); + puts("
      "); + } + + if (req->q.equal || sz == 1) { + puts("
      "); resp_show(req, r[iuse].file); } @@ -803,7 +840,8 @@ resp_format(const struct req *req, const char *file) conf.fragment = 1; conf.style = mandoc_strdup(CSS_DIR "/mandoc.css"); usepath = strcmp(req->q.manpath, req->p[0]); - mandoc_asprintf(&conf.man, "/%s%s%%N.%%S", + mandoc_asprintf(&conf.man, "/%s%s%s%s%%N.%%S", + scriptname, *scriptname == '\0' ? "" : "/", usepath ? req->q.manpath : "", usepath ? "/" : ""); mparse_result(mp, &man, NULL); @@ -886,7 +924,7 @@ pg_show(struct req *req, const char *fullpath) return; } - resp_begin_html(200, NULL); + resp_begin_html(200, NULL, file); resp_searchform(req, FOCUS_NONE); resp_show(req, file); resp_end_html(); @@ -956,9 +994,13 @@ pg_search(const struct req *req) } } - if (0 == mansearch(&search, &paths, argc, argv, &res, &ressz)) + res = NULL; + ressz = 0; + if (req->isquery && req->q.equal && argc == 1) + pg_redirect(req, argv[0]); + else if (mansearch(&search, &paths, argc, argv, &res, &ressz) == 0) pg_noresult(req, "You entered an invalid query."); - else if (0 == ressz) + else if (ressz == 0) pg_noresult(req, "No results found."); else pg_searchres(req, res, ressz); @@ -978,6 +1020,22 @@ main(void) const char *querystring; int i; +#if HAVE_PLEDGE + /* + * The "rpath" pledge could be revoked after mparse_readfd() + * if the file desciptor to "/footer.html" would be opened + * up front, but it's probably not worth the complication + * of the code it would cause: it would require scattering + * pledge() calls in multiple low-level resp_*() functions. + */ + + if (pledge("stdio rpath", NULL) == -1) { + warn("pledge"); + pg_error_internal(); + return EXIT_FAILURE; + } +#endif + /* Poor man's ReDoS mitigation. */ itimer.it_value.tv_sec = 2; @@ -1015,7 +1073,8 @@ main(void) if (*path != '\0') { parse_path_info(&req, path); - if (req.q.manpath == NULL || access(path, F_OK) == -1) + if (req.q.manpath == NULL || req.q.sec == NULL || + *req.q.query == '\0' || access(path, F_OK) == -1) path = ""; } else if ((querystring = getenv("QUERY_STRING")) != NULL) parse_query_string(&req, querystring); Modified: head/contrib/mdocml/cgi.h.example ============================================================================== --- head/contrib/mdocml/cgi.h.example Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/cgi.h.example Thu Jun 8 19:40:00 2017 (r319717) @@ -1,6 +1,5 @@ /* Example compile-time configuration file for man.cgi(8). */ -#define HTTP_HOST "mdocml.bsd.lv" #define SCRIPT_NAME "cgi-bin/man.cgi" #define MAN_DIR "/man" #define CSS_DIR "" Modified: head/contrib/mdocml/chars.c ============================================================================== --- head/contrib/mdocml/chars.c Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/chars.c Thu Jun 8 19:40:00 2017 (r319717) @@ -1,7 +1,7 @@ -/* $Id: chars.c,v 1.69 2017/02/17 18:28:06 schwarze Exp $ */ +/* $Id: chars.c,v 1.70 2017/06/02 12:43:52 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons - * Copyright (c) 2011, 2014, 2015 Ingo Schwarze + * Copyright (c) 2011, 2014, 2015, 2017 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -81,6 +81,10 @@ static struct ln lines[] = { { "sh", "#", 0x0023 }, { "CR", "_|", 0x21b5 }, { "OK", "\\/", 0x2713 }, + { "CL", "", 0x2663 }, + { "SP", "", 0x2660 }, + { "HE", "", 0x2665 }, + { "DI", "", 0x2666 }, /* Legal symbols. */ { "co", "(C)", 0x00a9 }, @@ -161,6 +165,7 @@ static struct ln lines[] = { { "uA", "=\b^", 0x21d1 }, { "dA", "=\bv", 0x21d3 }, { "vA", "^=v", 0x21d5 }, + { "an", "-", 0x23af }, /* Logic. */ { "AN", "^", 0x2227 }, @@ -234,11 +239,20 @@ static struct ln lines[] = { { "Ah", "N", 0x2135 }, { "Im", "I", 0x2111 }, { "Re", "R", 0x211c }, + { "wp", "P", 0x2118 }, { "pd", "a", 0x2202 }, { "-h", "/h", 0x210f }, + { "hbar", "/h", 0x210f }, { "12", "1/2", 0x00bd }, { "14", "1/4", 0x00bc }, { "34", "3/4", 0x00be }, + { "18", "1/8", 0x215B }, + { "38", "3/8", 0x215C }, + { "58", "5/8", 0x215D }, + { "78", "7/8", 0x215E }, + { "S1", "1", 0x00B9 }, + { "S2", "2", 0x00B2 }, + { "S3", "3", 0x00B3 }, /* Ligatures. */ { "ff", "ff", 0xfb00 }, @@ -354,6 +368,8 @@ static struct ln lines[] = { { "fm", "\'", 0x2032 }, { "sd", "''", 0x2033 }, { "mc", ",\bu", 0x00b5 }, + { "Of", "_\ba", 0x00aa }, + { "Om", "_\bo", 0x00ba }, /* Greek characters. */ { "*A", "A", 0x0391 }, Modified: head/contrib/mdocml/configure ============================================================================== --- head/contrib/mdocml/configure Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/configure Thu Jun 8 19:40:00 2017 (r319717) @@ -1,6 +1,6 @@ #!/bin/sh # -# $Id: configure,v 1.61 2017/02/18 12:24:24 schwarze Exp $ +# $Id: configure,v 1.62 2017/03/04 16:36:29 schwarze Exp $ # # Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze # @@ -91,6 +91,7 @@ HAVE_WCHAR= PREFIX="/usr/local" BINDIR= SBINDIR= +BIN_FROM_SBIN= INCLUDEDIR= LIBDIR= MANDIR= @@ -458,14 +459,15 @@ echo "config.h: written" 1>&3 exec > Makefile.local -[ -z "${BINDIR}" ] && BINDIR="${PREFIX}/bin" -[ -z "${SBINDIR}" ] && SBINDIR="${PREFIX}/sbin" -[ -z "${INCLUDEDIR}" ] && INCLUDEDIR="${PREFIX}/include/mandoc" -[ -z "${LIBDIR}" ] && LIBDIR="${PREFIX}/lib/mandoc" -[ -z "${MANDIR}" ] && MANDIR="${PREFIX}/man" +[ -z "${BINDIR}" ] && BINDIR="${PREFIX}/bin" +[ -z "${SBINDIR}" ] && SBINDIR="${PREFIX}/sbin" +[ -z "${BIN_FROM_SBIN}" ] && BIN_FROM_SBIN="../bin" +[ -z "${INCLUDEDIR}" ] && INCLUDEDIR="${PREFIX}/include/mandoc" +[ -z "${LIBDIR}" ] && LIBDIR="${PREFIX}/lib/mandoc" +[ -z "${MANDIR}" ] && MANDIR="${PREFIX}/man" -[ -z "${HTDOCDIR}" ] && HTDOCDIR="${WWWPREFIX}/htdocs" -[ -z "${CGIBINDIR}" ] && CGIBINDIR="${WWWPREFIX}/cgi-bin" +[ -z "${HTDOCDIR}" ] && HTDOCDIR="${WWWPREFIX}/htdocs" +[ -z "${CGIBINDIR}" ] && CGIBINDIR="${WWWPREFIX}/cgi-bin" [ -z "${INSTALL_PROGRAM}" ] && INSTALL_PROGRAM="${INSTALL} -m 0555" [ -z "${INSTALL_LIB}" ] && INSTALL_LIB="${INSTALL} -m 0444" @@ -493,6 +495,7 @@ STATIC = ${STATIC} PREFIX = ${PREFIX} BINDIR = ${BINDIR} SBINDIR = ${SBINDIR} +BIN_FROM_SBIN = ${BIN_FROM_SBIN} INCLUDEDIR = ${INCLUDEDIR} LIBDIR = ${LIBDIR} MANDIR = ${MANDIR} Modified: head/contrib/mdocml/configure.local.example ============================================================================== --- head/contrib/mdocml/configure.local.example Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/configure.local.example Thu Jun 8 19:40:00 2017 (r319717) @@ -1,4 +1,4 @@ -# $Id: configure.local.example,v 1.29 2017/02/18 12:24:24 schwarze Exp $ +# $Id: configure.local.example,v 1.30 2017/03/04 16:36:29 schwarze Exp $ # # Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze # @@ -84,6 +84,13 @@ PREFIX="/usr/local" BINDIR="${PREFIX}/bin" SBINDIR="${PREFIX}/sbin" MANDIR="${PREFIX}/man" + +# If BINDIR and SBINDIR are not subdirectories of the same parent +# directory or if the basename(1) of BINDIR differs from "bin", +# the relative path from SBINDIR to BINDIR is also needed. +# The default is: + +BIN_FROM_SBIN="../bin" # Some distributions may want to avoid naming conflicts # with the configuration files of other man(1) implementations. Modified: head/contrib/mdocml/eqn.c ============================================================================== --- head/contrib/mdocml/eqn.c Thu Jun 8 19:30:47 2017 (r319716) +++ head/contrib/mdocml/eqn.c Thu Jun 8 19:40:00 2017 (r319717) @@ -1,4 +1,4 @@ -/* $Id: eqn.c,v 1.61 2016/01/08 00:50:45 schwarze Exp $ */ +/* $Id: eqn.c,v 1.62 2017/03/11 15:43:04 schwarze Exp $ */ /* * Copyright (c) 2011, 2014 Kristaps Dzonsons * Copyright (c) 2014, 2015 Ingo Schwarze @@ -366,15 +366,19 @@ eqn_def_find(struct eqn_node *ep, const char *key, siz static const char * eqn_next(struct eqn_node *ep, char quote, size_t *sz, int repl) { + static size_t last_len; + static int lim; + char *start, *next; - int q, diff, lim; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Jun 8 20:06:11 2017 Return-Path: Delivered-To: svn-src-all@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 28F31C78E15; Thu, 8 Jun 2017 20:06:11 +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 E128F6FDA2; Thu, 8 Jun 2017 20:06:10 +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 v58K69ep062608; Thu, 8 Jun 2017 20:06:09 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58K69Ee062607; Thu, 8 Jun 2017 20:06:09 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201706082006.v58K69Ee062607@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 8 Jun 2017 20:06:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319718 - head/sys/libkern/arm64 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 20:06:11 -0000 Author: emaste Date: Thu Jun 8 20:06:09 2017 New Revision: 319718 URL: https://svnweb.freebsd.org/changeset/base/319718 Log: arm64: add ".arch armv8-a+crc" to allow use of crc instructions With Clang 5.0 the .arch directive is required, otherwise Clang complains "error: instruction requires: crc". This was reported in D10499 but not added initially, because clang 3.8 available on a ref machine reported unknown directive. Clang 4.0 allows but does not require the directive. Submitted by: andrew MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/sys/libkern/arm64/crc32c_armv8.S Modified: head/sys/libkern/arm64/crc32c_armv8.S ============================================================================== --- head/sys/libkern/arm64/crc32c_armv8.S Thu Jun 8 19:40:00 2017 (r319717) +++ head/sys/libkern/arm64/crc32c_armv8.S Thu Jun 8 20:06:09 2017 (r319718) @@ -27,6 +27,7 @@ #include __FBSDID("$FreeBSD$"); +.arch armv8-a+crc /* * uint32_t From owner-svn-src-all@freebsd.org Thu Jun 8 20:41:30 2017 Return-Path: Delivered-To: svn-src-all@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 1C574C795E7; Thu, 8 Jun 2017 20:41:30 +0000 (UTC) (envelope-from jtl@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 DE2A970CB7; Thu, 8 Jun 2017 20:41:29 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58KfTCU078759; Thu, 8 Jun 2017 20:41:29 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58KfSsU078752; Thu, 8 Jun 2017 20:41:28 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <201706082041.v58KfSsU078752@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Thu, 8 Jun 2017 20:41:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319719 - in head: share/man/man9 sys/conf sys/netinet sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 20:41:30 -0000 Author: jtl Date: Thu Jun 8 20:41:28 2017 New Revision: 319719 URL: https://svnweb.freebsd.org/changeset/base/319719 Log: Add the infrastructure to support loading multiple versions of TCP stack modules. It adds support for mangling symbols exported by a module by prepending a string to them. (This avoids overlapping symbols in the kernel linker.) It allows the use of a macro as the module name in the DECLARE_MACRO() and MACRO_VERSION() macros. It allows the code to register stack aliases (e.g. both a generic name ["default"] and version-specific name ["default_10_3p1"]). With these changes, it is trivial to compile TCP stack modules with the name defined in the Makefile and to load multiple versions of the same stack simultaneously. This functionality can be used to enable side-by-side testing of an old and new version of the same TCP stack. It also could support upgrading the TCP stack without a reboot. Reviewed by: gnn, sjg (makefiles only) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D11086 Added: head/sys/conf/kmod_syms_prefix.awk (contents, props changed) Modified: head/share/man/man9/Makefile head/share/man/man9/tcp_functions.9 head/sys/conf/kmod.mk head/sys/netinet/tcp_subr.c head/sys/netinet/tcp_var.h head/sys/sys/module.h Modified: head/share/man/man9/Makefile ============================================================================== --- head/share/man/man9/Makefile Thu Jun 8 20:06:09 2017 (r319718) +++ head/share/man/man9/Makefile Thu Jun 8 20:41:28 2017 (r319719) @@ -1861,6 +1861,8 @@ MLINKS+=taskqueue.9 TASK_INIT.9 \ taskqueue.9 taskqueue_unblock.9 \ taskqueue.9 TIMEOUT_TASK_INIT.9 MLINKS+=tcp_functions.9 register_tcp_functions.9 \ + tcp_functions.9 register_tcp_functions_as_name.9 \ + tcp_functions.9 register_tcp_functions_as_names.9 \ tcp_functions.9 deregister_tcp_functions.9 MLINKS+=time.9 boottime.9 \ time.9 time_second.9 \ Modified: head/share/man/man9/tcp_functions.9 ============================================================================== --- head/share/man/man9/tcp_functions.9 Thu Jun 8 20:06:09 2017 (r319718) +++ head/share/man/man9/tcp_functions.9 Thu Jun 8 20:41:28 2017 (r319719) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 28, 2016 +.Dd March 10, 2017 .Dt TCP_FUNCTIONS 9 .Os .Sh NAME @@ -37,6 +37,11 @@ .Ft int .Fn register_tcp_functions "struct tcp_function_block *blk" "int wait" .Ft int +.Fn register_tcp_functions_as_name "struct tcp_function_block *blk" \ +"const char *name" "int wait" +.Fn register_tcp_functions_as_names "struct tcp_function_block *blk" \ +"int wait" "const char *names[]" "int *num_names" +.Ft int .Fn deregister_tcp_functions "struct tcp_function_block *blk" .Sh DESCRIPTION The @@ -62,27 +67,79 @@ This is intentional. A "TCP stack" is a collection of functions that implement a set of behavior. Therefore, an alternate "function block" defines an alternate "TCP stack". .Pp -.Nm -modules must call the -.Fn register_tcp_functions -function during initialization and successfully call the -.Fn deregister_tcp_functions -function prior to allowing the module to be unloaded. +The +.Fn register_tcp_functions , +.Fn register_tcp_functions_as_name , +and +.Fn register_tcp_functions_as_names +functions request that the system add a specified function block +and register it for use with a given name. +Modules may register the same function block multiple times with different +names. +However, names must be globally unique among all registered function blocks. +Also, modules may not ever modify the contents of the function block (including +the name) after it has been registered, unless the module first successfully +de-registers the function block. .Pp The .Fn register_tcp_functions -function requests that the system add a specified function block to the system. +function requests that the system register the function block with the name +defined in the function block's +.Va tfb_tcp_block_name +field. +Note that this is the only one of the three registration functions that +automatically registers the function block using the name defined in the +function block's +.Va tfb_tcp_block_name +field. +If a module uses one of the other registration functions, it may request that +the system register the function block using the name defined in the +function block's +.Va tfb_tcp_block_name +field by explicitly providing that name. .Pp The +.Fn register_tcp_functions_as_name +function requests that the system register the function block with the name +provided in the +.Fa name +argument. +.Pp +The +.Fn register_tcp_functions_as_names +function requests that the system register the function block with all the +names provided in the +.Fa names +argument. +The +.Fa num_names +argument provides a pointer to the number of names. +This function will either succeed in registering all of the names in the array, +or none of the names in the array. +On failure, the +.Fa num_names +argument is updated with the index number of the entry in the +.Fa names +array which the system was processing when it encountered the error. +.Pp +The .Fn deregister_tcp_functions function requests that the system remove a specified function block from the system. +If this call succeeds, it will completely deregister the function block, +regardless of the number of names used to register the function block. If the call fails because sockets are still using the specified function block, the system will mark the function block as being in the process of being removed. This will prevent additional sockets from using the specified function block. However, it will not impact sockets that are already using the function block. .Pp +.Nm +modules must call one or more of the registration functions during +initialization and successfully call the +.Fn deregister_tcp_functions +function prior to allowing the module to be unloaded. +.Pp The .Fa blk argument is a pointer to a @@ -270,7 +327,9 @@ rest of the system in a standardized format, alternate update all fields in the TCP control block to the greatest extent practical. .Sh RETURN VALUES The -.Fn register_tcp_functions +.Fn register_tcp_functions , +.Fn register_tcp_functions_as_name , +.Fn register_tcp_functions_as_names , and .Fn deregister_tcp_functions functions return zero on success and non-zero on failure. Modified: head/sys/conf/kmod.mk ============================================================================== --- head/sys/conf/kmod.mk Thu Jun 8 20:06:09 2017 (r319718) +++ head/sys/conf/kmod.mk Thu Jun 8 20:41:28 2017 (r319719) @@ -253,6 +253,10 @@ ${FULLPROG}: ${OBJS} export_syms | xargs -J% ${OBJCOPY} % ${.TARGET} .endif .endif +.if defined(PREFIX_SYMS) + ${AWK} -v prefix=${PREFIX_SYMS} -f ${SYSDIR}/conf/kmod_syms_prefix.awk \ + ${.TARGET} /dev/null | xargs -J% ${OBJCOPY} % ${.TARGET} +.endif .if !defined(DEBUG_FLAGS) && ${__KLD_SHARED} == no ${OBJCOPY} --strip-debug ${.TARGET} .endif Added: head/sys/conf/kmod_syms_prefix.awk ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/conf/kmod_syms_prefix.awk Thu Jun 8 20:41:28 2017 (r319719) @@ -0,0 +1,18 @@ +# $FreeBSD$ + +# Read global symbols from object file. +BEGIN { + while ("${NM:='nm'} " ARGV[1] | getline) { + if (match($0, /^[^[:space:]]+ [^AU] (.*)$/)) { + syms[$3] = $2 + } + } + delete ARGV[1] +} + +# Strip commons, make everything else local. +END { + for (member in syms) { + printf("--redefine-sym=%s=%s%s\n", member, prefix, member); + } +} Modified: head/sys/netinet/tcp_subr.c ============================================================================== --- head/sys/netinet/tcp_subr.c Thu Jun 8 20:06:09 2017 (r319718) +++ head/sys/netinet/tcp_subr.c Thu Jun 8 20:41:28 2017 (r319719) @@ -275,7 +275,7 @@ find_tcp_functions_locked(struct tcp_function_set *fs) struct tcp_function_block *blk=NULL; TAILQ_FOREACH(f, &t_functions, tf_next) { - if (strcmp(f->tf_fb->tfb_tcp_block_name, fs->function_set_name) == 0) { + if (strcmp(f->tf_name, fs->function_set_name) == 0) { blk = f->tf_fb; break; } @@ -376,6 +376,7 @@ sysctl_net_inet_list_available(SYSCTL_HANDLER_ARGS) struct tcp_function *f; char *buffer, *cp; size_t bufsz, outsz; + bool alias; cnt = 0; rw_rlock(&tcp_function_lock); @@ -384,22 +385,25 @@ sysctl_net_inet_list_available(SYSCTL_HANDLER_ARGS) } rw_runlock(&tcp_function_lock); - bufsz = (cnt+2) * (TCP_FUNCTION_NAME_LEN_MAX + 12) + 1; + bufsz = (cnt+2) * ((TCP_FUNCTION_NAME_LEN_MAX * 2) + 13) + 1; buffer = malloc(bufsz, M_TEMP, M_WAITOK); error = 0; cp = buffer; - linesz = snprintf(cp, bufsz, "\n%-32s%c %s\n", "Stack", 'D', "PCB count"); + linesz = snprintf(cp, bufsz, "\n%-32s%c %-32s %s\n", "Stack", 'D', + "Alias", "PCB count"); cp += linesz; bufsz -= linesz; outsz = linesz; rw_rlock(&tcp_function_lock); TAILQ_FOREACH(f, &t_functions, tf_next) { - linesz = snprintf(cp, bufsz, "%-32s%c %u\n", + alias = (f->tf_name != f->tf_fb->tfb_tcp_block_name); + linesz = snprintf(cp, bufsz, "%-32s%c %-32s %u\n", f->tf_fb->tfb_tcp_block_name, (f->tf_fb == tcp_func_set_ptr) ? '*' : ' ', + alias ? f->tf_name : "-", f->tf_fb->tfb_refcnt); if (linesz >= bufsz) { error = EOVERFLOW; @@ -500,13 +504,32 @@ maketcp_hashsize(int size) return (hashsize); } +/* + * Register a TCP function block with the name provided in the names + * array. (Note that this function does NOT automatically register + * blk->tfb_tcp_block_name as a stack name. Therefore, you should + * explicitly include blk->tfb_tcp_block_name in the list of names if + * you wish to register the stack with that name.) + * + * Either all name registrations will succeed or all will fail. If + * a name registration fails, the function will update the num_names + * argument to point to the array index of the name that encountered + * the failure. + * + * Returns 0 on success, or an error code on failure. + */ int -register_tcp_functions(struct tcp_function_block *blk, int wait) +register_tcp_functions_as_names(struct tcp_function_block *blk, int wait, + const char *names[], int *num_names) { - struct tcp_function_block *lblk; struct tcp_function *n; struct tcp_function_set fs; + int error, i; + KASSERT(names != NULL && *num_names > 0, + ("%s: Called with 0-length name list", __func__)); + KASSERT(names != NULL, ("%s: Called with NULL name list", __func__)); + if (t_functions_inited == 0) { init_tcp_functions(); } @@ -518,6 +541,7 @@ register_tcp_functions(struct tcp_function_block *blk, * These functions are required and you * need a name. */ + *num_names = 0; return (EINVAL); } if (blk->tfb_tcp_timer_stop_all || @@ -532,34 +556,99 @@ register_tcp_functions(struct tcp_function_block *blk, (blk->tfb_tcp_timer_activate == NULL) || (blk->tfb_tcp_timer_active == NULL) || (blk->tfb_tcp_timer_stop == NULL)) { - return (EINVAL); + *num_names = 0; + return (EINVAL); } - } - n = malloc(sizeof(struct tcp_function), M_TCPFUNCTIONS, wait); - if (n == NULL) { - return (ENOMEM); } - n->tf_fb = blk; - strcpy(fs.function_set_name, blk->tfb_tcp_block_name); - rw_wlock(&tcp_function_lock); - lblk = find_tcp_functions_locked(&fs); - if (lblk) { - /* Duplicate name space not allowed */ - rw_wunlock(&tcp_function_lock); - free(n, M_TCPFUNCTIONS); - return (EALREADY); - } + refcount_init(&blk->tfb_refcnt, 0); blk->tfb_flags = 0; - TAILQ_INSERT_TAIL(&t_functions, n, tf_next); - rw_wunlock(&tcp_function_lock); + for (i = 0; i < *num_names; i++) { + n = malloc(sizeof(struct tcp_function), M_TCPFUNCTIONS, wait); + if (n == NULL) { + error = ENOMEM; + goto cleanup; + } + n->tf_fb = blk; + + (void)strncpy(fs.function_set_name, names[i], + TCP_FUNCTION_NAME_LEN_MAX); + fs.function_set_name[TCP_FUNCTION_NAME_LEN_MAX - 1] = '\0'; + rw_wlock(&tcp_function_lock); + if (find_tcp_functions_locked(&fs) != NULL) { + /* Duplicate name space not allowed */ + rw_wunlock(&tcp_function_lock); + free(n, M_TCPFUNCTIONS); + error = EALREADY; + goto cleanup; + } + (void)strncpy(n->tf_name, names[i], TCP_FUNCTION_NAME_LEN_MAX); + n->tf_name[TCP_FUNCTION_NAME_LEN_MAX - 1] = '\0'; + TAILQ_INSERT_TAIL(&t_functions, n, tf_next); + rw_wunlock(&tcp_function_lock); + } return(0); -} +cleanup: + /* + * Deregister the names we just added. Because registration failed + * for names[i], we don't need to deregister that name. + */ + *num_names = i; + rw_wlock(&tcp_function_lock); + while (--i >= 0) { + TAILQ_FOREACH(n, &t_functions, tf_next) { + if (!strncmp(n->tf_name, names[i], + TCP_FUNCTION_NAME_LEN_MAX)) { + TAILQ_REMOVE(&t_functions, n, tf_next); + n->tf_fb = NULL; + free(n, M_TCPFUNCTIONS); + break; + } + } + } + rw_wunlock(&tcp_function_lock); + return (error); +} + +/* + * Register a TCP function block using the name provided in the name + * argument. + * + * Returns 0 on success, or an error code on failure. + */ int +register_tcp_functions_as_name(struct tcp_function_block *blk, const char *name, + int wait) +{ + const char *name_list[1]; + int num_names, rv; + + num_names = 1; + if (name != NULL) + name_list[0] = name; + else + name_list[0] = blk->tfb_tcp_block_name; + rv = register_tcp_functions_as_names(blk, wait, name_list, &num_names); + return (rv); +} + +/* + * Register a TCP function block using the name defined in + * blk->tfb_tcp_block_name. + * + * Returns 0 on success, or an error code on failure. + */ +int +register_tcp_functions(struct tcp_function_block *blk, int wait) +{ + + return (register_tcp_functions_as_name(blk, NULL, wait)); +} + +int deregister_tcp_functions(struct tcp_function_block *blk) { - struct tcp_function_block *lblk; struct tcp_function *f; int error=ENOENT; @@ -579,8 +668,7 @@ deregister_tcp_functions(struct tcp_function_block *bl rw_wunlock(&tcp_function_lock); return (EBUSY); } - lblk = find_tcp_fb_locked(blk, &f); - if (lblk) { + while (find_tcp_fb_locked(blk, &f) != NULL) { /* Found */ TAILQ_REMOVE(&t_functions, f, tf_next); f->tf_fb = NULL; Modified: head/sys/netinet/tcp_var.h ============================================================================== --- head/sys/netinet/tcp_var.h Thu Jun 8 20:06:09 2017 (r319718) +++ head/sys/netinet/tcp_var.h Thu Jun 8 20:41:28 2017 (r319719) @@ -272,8 +272,9 @@ struct tcp_function_block { }; struct tcp_function { - TAILQ_ENTRY(tcp_function) tf_next; - struct tcp_function_block *tf_fb; + TAILQ_ENTRY(tcp_function) tf_next; + char tf_name[TCP_FUNCTION_NAME_LEN_MAX]; + struct tcp_function_block *tf_fb; }; TAILQ_HEAD(tcp_funchead, tcp_function); @@ -785,6 +786,10 @@ void tcp_do_segment(struct mbuf *, struct tcphdr *, int); int register_tcp_functions(struct tcp_function_block *blk, int wait); +int register_tcp_functions_as_names(struct tcp_function_block *blk, + int wait, const char *names[], int *num_names); +int register_tcp_functions_as_name(struct tcp_function_block *blk, + const char *name, int wait); int deregister_tcp_functions(struct tcp_function_block *blk); struct tcp_function_block *find_and_ref_tcp_functions(struct tcp_function_set *fs); struct tcp_function_block *find_and_ref_tcp_fb(struct tcp_function_block *blk); Modified: head/sys/sys/module.h ============================================================================== --- head/sys/sys/module.h Thu Jun 8 20:06:09 2017 (r319718) +++ head/sys/sys/module.h Thu Jun 8 20:41:28 2017 (r319719) @@ -106,14 +106,15 @@ struct mod_pnp_match_info #include +#define MODULE_METADATA_CONCAT(uniquifier) _mod_metadata##uniquifier #define MODULE_METADATA(uniquifier, type, data, cval) \ - static struct mod_metadata _mod_metadata##uniquifier = { \ + static struct mod_metadata MODULE_METADATA_CONCAT(uniquifier) = { \ MDT_STRUCT_VERSION, \ type, \ data, \ cval \ }; \ - DATA_SET(modmetadata_set, _mod_metadata##uniquifier) + DATA_SET(modmetadata_set, MODULE_METADATA_CONCAT(uniquifier)) #define MODULE_DEPEND(module, mdepend, vmin, vpref, vmax) \ static struct mod_depend _##module##_depend_on_##mdepend \ @@ -139,7 +140,7 @@ struct mod_pnp_match_info #define DECLARE_MODULE_WITH_MAXVER(name, data, sub, order, maxver) \ MODULE_DEPEND(name, kernel, __FreeBSD_version, \ __FreeBSD_version, maxver); \ - MODULE_METADATA(_md_##name, MDT_MODULE, &data, #name); \ + MODULE_METADATA(_md_##name, MDT_MODULE, &data, __XSTRING(name));\ SYSINIT(name##module, sub, order, module_register_init, &data); \ struct __hack @@ -156,13 +157,14 @@ struct mod_pnp_match_info #define DECLARE_MODULE_TIED(name, data, sub, order) \ DECLARE_MODULE_WITH_MAXVER(name, data, sub, order, __FreeBSD_version) +#define MODULE_VERSION_CONCAT(module, version) _##module##_version #define MODULE_VERSION(module, version) \ - static struct mod_version _##module##_version \ + static struct mod_version MODULE_VERSION_CONCAT(module, version)\ __section(".data") = { \ version \ }; \ - MODULE_METADATA(_##module##_version, MDT_VERSION, \ - &_##module##_version, #module) + MODULE_METADATA(MODULE_VERSION_CONCAT(module, version), MDT_VERSION,\ + &MODULE_VERSION_CONCAT(module, version), __XSTRING(module)) /** * Generic macros to create pnp info hints that modules may export From owner-svn-src-all@freebsd.org Thu Jun 8 20:47:20 2017 Return-Path: Delivered-To: svn-src-all@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 13B8DC797A6; Thu, 8 Jun 2017 20:47:20 +0000 (UTC) (envelope-from jtl@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 CC01071086; Thu, 8 Jun 2017 20:47:19 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58KlIcT079004; Thu, 8 Jun 2017 20:47:18 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58KlI51079003; Thu, 8 Jun 2017 20:47:18 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <201706082047.v58KlI51079003@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Thu, 8 Jun 2017 20:47:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319720 - head/sys/dev/vt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 20:47:20 -0000 Author: jtl Date: Thu Jun 8 20:47:18 2017 New Revision: 319720 URL: https://svnweb.freebsd.org/changeset/base/319720 Log: With EARLY_AP_STARTUP enabled, we are seeing crashes in softclock_call_cc() during bootup. Debugging information shows that softclock_call_cc() is trying to execute the vt_consdev.vd_timer callout, and the callout structure contains a NULL c_func. This appears to be due to a race between vt_upgrade() running callout_reset() and vt_resume_flush_timer() calling callout_schedule(). Fix the race by ensuring that vd_timer_armed is always set before attempting to (re)schedule the callout. Discussed with: emaste MFC after: 2 weeks Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D9828 Modified: head/sys/dev/vt/vt_core.c Modified: head/sys/dev/vt/vt_core.c ============================================================================== --- head/sys/dev/vt/vt_core.c Thu Jun 8 20:41:28 2017 (r319719) +++ head/sys/dev/vt/vt_core.c Thu Jun 8 20:47:18 2017 (r319720) @@ -2610,10 +2610,17 @@ vt_upgrade(struct vt_device *vd) /* Init 25 Hz timer. */ callout_init_mtx(&vd->vd_timer, &vd->vd_lock, 0); - /* Start timer when everything ready. */ + /* + * Start timer when everything ready. + * Note that the operations here are purposefully ordered. + * We need to ensure vd_timer_armed is non-zero before we set + * the VDF_ASYNC flag. That prevents this function from + * racing with vt_resume_flush_timer() to update the + * callout structure. + */ + atomic_add_acq_int(&vd->vd_timer_armed, 1); vd->vd_flags |= VDF_ASYNC; callout_reset(&vd->vd_timer, hz / VT_TIMERFREQ, vt_timer, vd); - vd->vd_timer_armed = 1; register_handlers = 1; } From owner-svn-src-all@freebsd.org Thu Jun 8 21:06:20 2017 Return-Path: Delivered-To: svn-src-all@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 18F7DC79A90; Thu, 8 Jun 2017 21:06:20 +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 B9D22717F6; Thu, 8 Jun 2017 21:06:19 +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 v58L6Ida087222; Thu, 8 Jun 2017 21:06:18 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58L6Ika087221; Thu, 8 Jun 2017 21:06:18 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706082106.v58L6Ika087221@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 8 Jun 2017 21:06:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319721 - head/sys/dev/cxgbe/crypto X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 21:06:20 -0000 Author: jhb Date: Thu Jun 8 21:06:18 2017 New Revision: 319721 URL: https://svnweb.freebsd.org/changeset/base/319721 Log: Add explicit handling for requests with an empty payload. - For HMAC requests, construct a special input buffer to request an empty hash result. - For plain cipher requests and requests that chain an AES cipher with an HMAC, fail with EINVAL if there is no cipher payload. If needed in the future, chained requests that only contain AAD could be serviced as HMAC-only requests. - For GCM requests, the hardware does not support generating the tag for an AAD-only request. Instead, complete these requests synchronously in software on the assumption that such requests are rare. Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/crypto/t4_crypto.c Modified: head/sys/dev/cxgbe/crypto/t4_crypto.c ============================================================================== --- head/sys/dev/cxgbe/crypto/t4_crypto.c Thu Jun 8 20:47:18 2017 (r319720) +++ head/sys/dev/cxgbe/crypto/t4_crypto.c Thu Jun 8 21:06:18 2017 (r319721) @@ -438,7 +438,11 @@ ccr_hmac(struct ccr_softc *sc, uint32_t sid, struct cc hash_size_in_response = axf->hashsize; transhdr_len = HASH_TRANSHDR_SIZE(kctx_len); - if (ccr_use_imm_data(transhdr_len, crd->crd_len)) { + if (crd->crd_len == 0) { + imm_len = axf->blocksize; + sgl_nsegs = 0; + sgl_len = 0; + } else if (ccr_use_imm_data(transhdr_len, crd->crd_len)) { imm_len = crd->crd_len; sgl_nsegs = 0; sgl_len = 0; @@ -473,7 +477,8 @@ ccr_hmac(struct ccr_softc *sc, uint32_t sid, struct cc V_CPL_TX_SEC_PDU_CPLLEN(2) | V_CPL_TX_SEC_PDU_PLACEHOLDER(0) | V_CPL_TX_SEC_PDU_IVINSRTOFST(0)); - crwr->sec_cpl.pldlen = htobe32(crd->crd_len); + crwr->sec_cpl.pldlen = htobe32(crd->crd_len == 0 ? axf->blocksize : + crd->crd_len); crwr->sec_cpl.cipherstop_lo_authinsert = htobe32( V_CPL_TX_SEC_PDU_AUTHSTART(1) | V_CPL_TX_SEC_PDU_AUTHSTOP(0)); @@ -486,7 +491,8 @@ ccr_hmac(struct ccr_softc *sc, uint32_t sid, struct cc V_SCMD_AUTH_MODE(s->hmac.auth_mode) | V_SCMD_HMAC_CTRL(CHCR_SCMD_HMAC_CTRL_NO_TRUNC)); crwr->sec_cpl.ivgen_hdrlen = htobe32( - V_SCMD_LAST_FRAG(0) | V_SCMD_MORE_FRAGS(0) | V_SCMD_MAC_ONLY(1)); + V_SCMD_LAST_FRAG(0) | + V_SCMD_MORE_FRAGS(crd->crd_len == 0 ? 1 : 0) | V_SCMD_MAC_ONLY(1)); memcpy(crwr->key_ctx.key, s->hmac.ipad, s->hmac.partial_digest_len); memcpy(crwr->key_ctx.key + iopad_size, s->hmac.opad, @@ -500,7 +506,11 @@ ccr_hmac(struct ccr_softc *sc, uint32_t sid, struct cc V_KEY_CONTEXT_MK_SIZE(s->hmac.mk_size) | V_KEY_CONTEXT_VALID(1)); dst = (char *)(crwr + 1) + kctx_len + DUMMY_BYTES; - if (imm_len != 0) + if (crd->crd_len == 0) { + dst[0] = 0x80; + *(uint64_t *)(dst + axf->blocksize - sizeof(uint64_t)) = + htobe64(axf->blocksize << 3); + } else if (imm_len != 0) crypto_copydata(crp->crp_flags, crp->crp_buf, crd->crd_skip, crd->crd_len, dst); else @@ -544,7 +554,7 @@ ccr_blkcipher(struct ccr_softc *sc, uint32_t sid, stru crd = crp->crp_desc; - if (s->blkcipher.key_len == 0) + if (s->blkcipher.key_len == 0 || crd->crd_len == 0) return (EINVAL); if (crd->crd_alg == CRYPTO_AES_CBC && (crd->crd_len % AES_BLOCK_LEN) != 0) @@ -755,7 +765,11 @@ ccr_authenc(struct ccr_softc *sc, uint32_t sid, struct int sgl_nsegs, sgl_len; int error; - if (s->blkcipher.key_len == 0) + /* + * If there is a need in the future, requests with an empty + * payload could be supported as HMAC-only requests. + */ + if (s->blkcipher.key_len == 0 || crde->crd_len == 0) return (EINVAL); if (crde->crd_alg == CRYPTO_AES_CBC && (crde->crd_len % AES_BLOCK_LEN) != 0) @@ -1332,7 +1346,65 @@ ccr_gcm_done(struct ccr_softc *sc, struct ccr_session return (error); } +/* + * Handle a GCM request with an empty payload by performing the + * operation in software. Derived from swcr_authenc(). + */ static void +ccr_gcm_soft(struct ccr_session *s, struct cryptop *crp, + struct cryptodesc *crda, struct cryptodesc *crde) +{ + struct aes_gmac_ctx gmac_ctx; + char block[GMAC_BLOCK_LEN]; + char digest[GMAC_DIGEST_LEN]; + char iv[AES_BLOCK_LEN]; + int i, len; + + /* + * This assumes a 12-byte IV from the crp. See longer comment + * above in ccr_gcm() for more details. + */ + if (crde->crd_flags & CRD_F_ENCRYPT) { + if (crde->crd_flags & CRD_F_IV_EXPLICIT) + memcpy(iv, crde->crd_iv, 12); + else + arc4rand(iv, 12, 0); + } else { + if (crde->crd_flags & CRD_F_IV_EXPLICIT) + memcpy(iv, crde->crd_iv, 12); + else + crypto_copydata(crp->crp_flags, crp->crp_buf, + crde->crd_inject, 12, iv); + } + *(uint32_t *)&iv[12] = htobe32(1); + + /* Initialize the MAC. */ + AES_GMAC_Init(&gmac_ctx); + AES_GMAC_Setkey(&gmac_ctx, s->blkcipher.enckey, s->blkcipher.key_len); + AES_GMAC_Reinit(&gmac_ctx, iv, sizeof(iv)); + + /* MAC the AAD. */ + for (i = 0; i < crda->crd_len; i += sizeof(block)) { + len = imin(crda->crd_len - i, sizeof(block)); + crypto_copydata(crp->crp_flags, crp->crp_buf, crda->crd_skip + + i, len, block); + bzero(block + len, sizeof(block) - len); + AES_GMAC_Update(&gmac_ctx, block, sizeof(block)); + } + + /* Length block. */ + bzero(block, sizeof(block)); + ((uint32_t *)block)[1] = htobe32(crda->crd_len * 8); + AES_GMAC_Update(&gmac_ctx, block, sizeof(block)); + AES_GMAC_Final(digest, &gmac_ctx); + + crypto_copyback(crp->crp_flags, crp->crp_buf, crda->crd_inject, + sizeof(digest), digest); + crp->crp_etype = 0; + crypto_done(crp); +} + +static void ccr_identify(driver_t *driver, device_t parent) { struct adapter *sc; @@ -2016,6 +2088,11 @@ ccr_process(device_t dev, struct cryptop *crp, int hin break; ccr_aes_setkey(s, crde->crd_alg, crde->crd_key, crde->crd_klen); + } + if (crde->crd_len == 0) { + mtx_unlock(&sc->lock); + ccr_gcm_soft(s, crp, crda, crde); + return (0); } error = ccr_gcm(sc, sid, s, crp, crda, crde); if (error == 0) { From owner-svn-src-all@freebsd.org Thu Jun 8 21:30:36 2017 Return-Path: Delivered-To: svn-src-all@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 7C884D84197; Thu, 8 Jun 2017 21:30:36 +0000 (UTC) (envelope-from glebius@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 3F2DB72511; Thu, 8 Jun 2017 21:30:36 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58LUZ7n095597; Thu, 8 Jun 2017 21:30:35 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58LUY0j095589; Thu, 8 Jun 2017 21:30:34 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706082130.v58LUY0j095589@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 8 Jun 2017 21:30:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319722 - in head: sys/cam/ctl sys/dev/iscsi sys/kern sys/netgraph sys/netgraph/bluetooth/socket sys/netinet sys/ofed/drivers/infiniband/core sys/ofed/drivers/infiniband/ulp/sdp sys/rpc... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 21:30:36 -0000 Author: glebius Date: Thu Jun 8 21:30:34 2017 New Revision: 319722 URL: https://svnweb.freebsd.org/changeset/base/319722 Log: Listening sockets improvements. o Separate fields of struct socket that belong to listening from fields that belong to normal dataflow, and unionize them. This shrinks the structure a bit. - Take out selinfo's from the socket buffers into the socket. The first reason is to support braindamaged scenario when a socket is added to kevent(2) and then listen(2) is cast on it. The second reason is that there is future plan to make socket buffers pluggable, so that for a dataflow socket a socket buffer can be changed, and in this case we also want to keep same selinfos through the lifetime of a socket. - Remove struct struct so_accf. Since now listening stuff no longer affects struct socket size, just move its fields into listening part of the union. - Provide sol_upcall field and enforce that so_upcall_set() may be called only on a dataflow socket, which has buffers, and for listening sockets provide solisten_upcall_set(). o Remove ACCEPT_LOCK() global. - Add a mutex to socket, to be used instead of socket buffer lock to lock fields of struct socket that don't belong to a socket buffer. - Allow to acquire two socket locks, but the first one must belong to a listening socket. - Make soref()/sorele() to use atomic(9). This allows in some situations to do soref() without owning socket lock. There is place for improvement here, it is possible to make sorele() also to lock optionally. - Most protocols aren't touched by this change, except UNIX local sockets. See below for more information. o Reduce copy-and-paste in kernel modules that accept connections from listening sockets: provide function solisten_dequeue(), and use it in the following modules: ctl(4), iscsi(4), ng_btsocket(4), ng_ksocket(4), infiniband, rpc. o UNIX local sockets. - Removal of ACCEPT_LOCK() global uncovered several races in the UNIX local sockets. Most races exist around spawning a new socket, when we are connecting to a local listening socket. To cover them, we need to hold locks on both PCBs when spawning a third one. This means holding them across sonewconn(). This creates a LOR between pcb locks and unp_list_lock. - To fix the new LOR, abandon the global unp_list_lock in favor of global unp_link_lock. Indeed, separating these two locks didn't provide us any extra parralelism in the UNIX sockets. - Now call into uipc_attach() may happen with unp_link_lock hold if, we are accepting, or without unp_link_lock in case if we are just creating a socket. - Another problem in UNIX sockets is that uipc_close() basicly did nothing for a listening socket. The vnode remained opened for connections. This is fixed by removing vnode in uipc_close(). Maybe the right way would be to do it for all sockets (not only listening), simply move the vnode teardown from uipc_detach() to uipc_close()? Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D9770 Modified: head/sys/cam/ctl/ctl_ha.c head/sys/dev/iscsi/icl_soft_proxy.c head/sys/kern/sys_socket.c head/sys/kern/uipc_accf.c head/sys/kern/uipc_debug.c head/sys/kern/uipc_sockbuf.c head/sys/kern/uipc_socket.c head/sys/kern/uipc_syscalls.c head/sys/kern/uipc_usrreq.c head/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c head/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c head/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c head/sys/netgraph/ng_ksocket.c head/sys/netinet/sctp_input.c head/sys/netinet/sctp_syscalls.c head/sys/netinet/sctp_sysctl.c head/sys/netinet/sctp_usrreq.c head/sys/netinet/tcp_subr.c head/sys/netinet/tcp_syncache.c head/sys/netinet/tcp_timewait.c head/sys/ofed/drivers/infiniband/core/iwcm.c head/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c head/sys/rpc/svc_vc.c head/sys/sys/sockbuf.h head/sys/sys/socket.h head/sys/sys/socketvar.h head/usr.bin/netstat/inet.c Modified: head/sys/cam/ctl/ctl_ha.c ============================================================================== --- head/sys/cam/ctl/ctl_ha.c Thu Jun 8 21:06:18 2017 (r319721) +++ head/sys/cam/ctl/ctl_ha.c Thu Jun 8 21:30:34 2017 (r319722) @@ -458,45 +458,20 @@ out: static int ctl_ha_accept(struct ha_softc *softc) { - struct socket *so; + struct socket *lso, *so; struct sockaddr *sap; int error; - ACCEPT_LOCK(); - if (softc->ha_lso->so_rcv.sb_state & SBS_CANTRCVMORE) - softc->ha_lso->so_error = ECONNABORTED; - if (softc->ha_lso->so_error) { - error = softc->ha_lso->so_error; - softc->ha_lso->so_error = 0; - ACCEPT_UNLOCK(); + lso = softc->ha_lso; + SOLISTEN_LOCK(lso); + error = solisten_dequeue(lso, &so, 0); + if (error == EWOULDBLOCK) + return (error); + if (error) { printf("%s: socket error %d\n", __func__, error); goto out; } - so = TAILQ_FIRST(&softc->ha_lso->so_comp); - if (so == NULL) { - ACCEPT_UNLOCK(); - return (EWOULDBLOCK); - } - KASSERT(!(so->so_qstate & SQ_INCOMP), ("accept1: so SQ_INCOMP")); - KASSERT(so->so_qstate & SQ_COMP, ("accept1: so not SQ_COMP")); - /* - * Before changing the flags on the socket, we have to bump the - * reference count. Otherwise, if the protocol calls sofree(), - * the socket will be released due to a zero refcount. - */ - SOCK_LOCK(so); /* soref() and so_state update */ - soref(so); /* file descriptor reference */ - - TAILQ_REMOVE(&softc->ha_lso->so_comp, so, so_list); - softc->ha_lso->so_qlen--; - so->so_state |= SS_NBIO; - so->so_qstate &= ~SQ_COMP; - so->so_head = NULL; - - SOCK_UNLOCK(so); - ACCEPT_UNLOCK(); - sap = NULL; error = soaccept(so, &sap); if (error != 0) { @@ -556,9 +531,6 @@ ctl_ha_listen(struct ha_softc *softc) printf("%s: REUSEPORT setting failed %d\n", __func__, error); } - SOCKBUF_LOCK(&softc->ha_lso->so_rcv); - soupcall_set(softc->ha_lso, SO_RCV, ctl_ha_lupcall, softc); - SOCKBUF_UNLOCK(&softc->ha_lso->so_rcv); } memcpy(&sa, &softc->ha_peer_in, sizeof(sa)); @@ -572,6 +544,10 @@ ctl_ha_listen(struct ha_softc *softc) printf("%s: solisten() error %d\n", __func__, error); goto out; } + SOLISTEN_LOCK(softc->ha_lso); + softc->ha_lso->so_state |= SS_NBIO; + solisten_upcall_set(softc->ha_lso, ctl_ha_lupcall, softc); + SOLISTEN_UNLOCK(softc->ha_lso); return (0); out: Modified: head/sys/dev/iscsi/icl_soft_proxy.c ============================================================================== --- head/sys/dev/iscsi/icl_soft_proxy.c Thu Jun 8 21:06:18 2017 (r319721) +++ head/sys/dev/iscsi/icl_soft_proxy.c Thu Jun 8 21:30:34 2017 (r319722) @@ -92,7 +92,6 @@ struct icl_listen_sock { struct icl_listen *ils_listen; struct socket *ils_socket; bool ils_running; - bool ils_disconnecting; int ils_id; }; @@ -184,7 +183,9 @@ icl_listen_free(struct icl_listen *il) while (ils->ils_running) { ICL_DEBUG("waiting for accept thread to terminate"); sx_xunlock(&il->il_lock); - ils->ils_disconnecting = true; + SOLISTEN_LOCK(ils->ils_socket); + ils->ils_socket->so_error = ENOTCONN; + SOLISTEN_UNLOCK(ils->ils_socket); wakeup(&ils->ils_socket->so_timeo); pause("icl_unlisten", 1 * hz); sx_xlock(&il->il_lock); @@ -200,9 +201,9 @@ icl_listen_free(struct icl_listen *il) } /* - * XXX: Doing accept in a separate thread in each socket might not be the best way - * to do stuff, but it's pretty clean and debuggable - and you probably won't - * have hundreds of listening sockets anyway. + * XXX: Doing accept in a separate thread in each socket might not be the + * best way to do stuff, but it's pretty clean and debuggable - and you + * probably won't have hundreds of listening sockets anyway. */ static void icl_accept_thread(void *arg) @@ -218,55 +219,22 @@ icl_accept_thread(void *arg) ils->ils_running = true; for (;;) { - ACCEPT_LOCK(); - while (TAILQ_EMPTY(&head->so_comp) && head->so_error == 0 && ils->ils_disconnecting == false) { - if (head->so_rcv.sb_state & SBS_CANTRCVMORE) { - head->so_error = ECONNABORTED; - break; - } - error = msleep(&head->so_timeo, &accept_mtx, PSOCK | PCATCH, - "accept", 0); - if (error) { - ACCEPT_UNLOCK(); - ICL_WARN("msleep failed with error %d", error); - continue; - } - if (ils->ils_disconnecting) { - ACCEPT_UNLOCK(); - ICL_DEBUG("terminating"); - ils->ils_running = false; - kthread_exit(); - return; - } + SOLISTEN_LOCK(head); + error = solisten_dequeue(head, &so, 0); + if (error == ENOTCONN) { + /* + * XXXGL: ENOTCONN is our mark from icl_listen_free(). + * Neither socket code, nor msleep(9) may return it. + */ + ICL_DEBUG("terminating"); + ils->ils_running = false; + kthread_exit(); + return; } - if (head->so_error) { - error = head->so_error; - head->so_error = 0; - ACCEPT_UNLOCK(); - ICL_WARN("socket error %d", error); + if (error) { + ICL_WARN("solisten_dequeue error %d", error); continue; } - so = TAILQ_FIRST(&head->so_comp); - KASSERT(so != NULL, ("NULL so")); - KASSERT(!(so->so_qstate & SQ_INCOMP), ("accept1: so SQ_INCOMP")); - KASSERT(so->so_qstate & SQ_COMP, ("accept1: so not SQ_COMP")); - - /* - * Before changing the flags on the socket, we have to bump the - * reference count. Otherwise, if the protocol calls sofree(), - * the socket will be released due to a zero refcount. - */ - SOCK_LOCK(so); /* soref() and so_state update */ - soref(so); /* file descriptor reference */ - - TAILQ_REMOVE(&head->so_comp, so, so_list); - head->so_qlen--; - so->so_state |= (head->so_state & SS_NBIO); - so->so_qstate &= ~SQ_COMP; - so->so_head = NULL; - - SOCK_UNLOCK(so); - ACCEPT_UNLOCK(); sa = NULL; error = soaccept(so, &sa); Modified: head/sys/kern/sys_socket.c ============================================================================== --- head/sys/kern/sys_socket.c Thu Jun 8 21:06:18 2017 (r319721) +++ head/sys/kern/sys_socket.c Thu Jun 8 21:30:34 2017 (r319722) @@ -170,32 +170,36 @@ soo_ioctl(struct file *fp, u_long cmd, void *data, str break; case FIOASYNC: - /* - * XXXRW: This code separately acquires SOCK_LOCK(so) and - * SOCKBUF_LOCK(&so->so_rcv) even though they are the same - * mutex to avoid introducing the assumption that they are - * the same. - */ if (*(int *)data) { SOCK_LOCK(so); so->so_state |= SS_ASYNC; + if (SOLISTENING(so)) { + so->sol_sbrcv_flags |= SB_ASYNC; + so->sol_sbsnd_flags |= SB_ASYNC; + } else { + SOCKBUF_LOCK(&so->so_rcv); + so->so_rcv.sb_flags |= SB_ASYNC; + SOCKBUF_UNLOCK(&so->so_rcv); + SOCKBUF_LOCK(&so->so_snd); + so->so_snd.sb_flags |= SB_ASYNC; + SOCKBUF_UNLOCK(&so->so_snd); + } SOCK_UNLOCK(so); - SOCKBUF_LOCK(&so->so_rcv); - so->so_rcv.sb_flags |= SB_ASYNC; - SOCKBUF_UNLOCK(&so->so_rcv); - SOCKBUF_LOCK(&so->so_snd); - so->so_snd.sb_flags |= SB_ASYNC; - SOCKBUF_UNLOCK(&so->so_snd); } else { SOCK_LOCK(so); so->so_state &= ~SS_ASYNC; + if (SOLISTENING(so)) { + so->sol_sbrcv_flags &= ~SB_ASYNC; + so->sol_sbsnd_flags &= ~SB_ASYNC; + } else { + SOCKBUF_LOCK(&so->so_rcv); + so->so_rcv.sb_flags &= ~SB_ASYNC; + SOCKBUF_UNLOCK(&so->so_rcv); + SOCKBUF_LOCK(&so->so_snd); + so->so_snd.sb_flags &= ~SB_ASYNC; + SOCKBUF_UNLOCK(&so->so_snd); + } SOCK_UNLOCK(so); - SOCKBUF_LOCK(&so->so_rcv); - so->so_rcv.sb_flags &= ~SB_ASYNC; - SOCKBUF_UNLOCK(&so->so_rcv); - SOCKBUF_LOCK(&so->so_snd); - so->so_snd.sb_flags &= ~SB_ASYNC; - SOCKBUF_UNLOCK(&so->so_snd); } break; @@ -706,7 +710,6 @@ soaio_process_sb(struct socket *so, struct sockbuf *sb sb->sb_flags &= ~SB_AIO_RUNNING; SOCKBUF_UNLOCK(sb); - ACCEPT_LOCK(); SOCK_LOCK(so); sorele(so); } Modified: head/sys/kern/uipc_accf.c ============================================================================== --- head/sys/kern/uipc_accf.c Thu Jun 8 21:06:18 2017 (r319721) +++ head/sys/kern/uipc_accf.c Thu Jun 8 21:30:34 2017 (r319722) @@ -173,13 +173,13 @@ accept_filt_getopt(struct socket *so, struct sockopt * error = EINVAL; goto out; } - if ((so->so_options & SO_ACCEPTFILTER) == 0) { + if (so->sol_accept_filter == NULL) { error = EINVAL; goto out; } - strcpy(afap->af_name, so->so_accf->so_accept_filter->accf_name); - if (so->so_accf->so_accept_filter_str != NULL) - strcpy(afap->af_arg, so->so_accf->so_accept_filter_str); + strcpy(afap->af_name, so->sol_accept_filter->accf_name); + if (so->sol_accept_filter_str != NULL) + strcpy(afap->af_arg, so->sol_accept_filter_str); out: SOCK_UNLOCK(so); if (error == 0) @@ -193,31 +193,57 @@ accept_filt_setopt(struct socket *so, struct sockopt * { struct accept_filter_arg *afap; struct accept_filter *afp; - struct so_accf *newaf; - int error = 0; + char *accept_filter_str = NULL; + void *accept_filter_arg = NULL; + int error; /* * Handle the simple delete case first. */ if (sopt == NULL || sopt->sopt_val == NULL) { + struct socket *sp, *sp1; + int wakeup; + SOCK_LOCK(so); if ((so->so_options & SO_ACCEPTCONN) == 0) { SOCK_UNLOCK(so); return (EINVAL); } - if (so->so_accf != NULL) { - struct so_accf *af = so->so_accf; - if (af->so_accept_filter != NULL && - af->so_accept_filter->accf_destroy != NULL) { - af->so_accept_filter->accf_destroy(so); - } - if (af->so_accept_filter_str != NULL) - free(af->so_accept_filter_str, M_ACCF); - free(af, M_ACCF); - so->so_accf = NULL; + if (so->sol_accept_filter == NULL) { + SOCK_UNLOCK(so); + return (0); } + if (so->sol_accept_filter->accf_destroy != NULL) + so->sol_accept_filter->accf_destroy(so); + if (so->sol_accept_filter_str != NULL) + free(so->sol_accept_filter_str, M_ACCF); + so->sol_accept_filter = NULL; + so->sol_accept_filter_arg = NULL; + so->sol_accept_filter_str = NULL; so->so_options &= ~SO_ACCEPTFILTER; - SOCK_UNLOCK(so); + + /* + * Move from incomplete queue to complete only those + * connections, that are blocked by us. + */ + wakeup = 0; + TAILQ_FOREACH_SAFE(sp, &so->sol_incomp, so_list, sp1) { + SOCK_LOCK(sp); + if (sp->so_options & SO_ACCEPTFILTER) { + TAILQ_REMOVE(&so->sol_incomp, sp, so_list); + TAILQ_INSERT_TAIL(&so->sol_comp, sp, so_list); + sp->so_qstate = SQ_COMP; + sp->so_options &= ~SO_ACCEPTFILTER; + so->sol_incqlen--; + so->sol_qlen++; + wakeup = 1; + } + SOCK_UNLOCK(sp); + } + if (wakeup) + solisten_wakeup(so); /* unlocks */ + else + SOLISTEN_UNLOCK(so); return (0); } @@ -238,17 +264,10 @@ accept_filt_setopt(struct socket *so, struct sockopt * free(afap, M_TEMP); return (ENOENT); } - /* - * Allocate the new accept filter instance storage. We may - * have to free it again later if we fail to attach it. If - * attached properly, 'newaf' is NULLed to avoid a free() - * while in use. - */ - newaf = malloc(sizeof(*newaf), M_ACCF, M_WAITOK | M_ZERO); if (afp->accf_create != NULL && afap->af_name[0] != '\0') { size_t len = strlen(afap->af_name) + 1; - newaf->so_accept_filter_str = malloc(len, M_ACCF, M_WAITOK); - strcpy(newaf->so_accept_filter_str, afap->af_name); + accept_filter_str = malloc(len, M_ACCF, M_WAITOK); + strcpy(accept_filter_str, afap->af_name); } /* @@ -256,8 +275,8 @@ accept_filt_setopt(struct socket *so, struct sockopt * * without first removing it. */ SOCK_LOCK(so); - if (((so->so_options & SO_ACCEPTCONN) == 0) || - (so->so_accf != NULL)) { + if ((so->so_options & SO_ACCEPTCONN) == 0 || + so->sol_accept_filter != NULL) { error = EINVAL; goto out; } @@ -268,25 +287,20 @@ accept_filt_setopt(struct socket *so, struct sockopt * * can't block. */ if (afp->accf_create != NULL) { - newaf->so_accept_filter_arg = - afp->accf_create(so, afap->af_arg); - if (newaf->so_accept_filter_arg == NULL) { + accept_filter_arg = afp->accf_create(so, afap->af_arg); + if (accept_filter_arg == NULL) { error = EINVAL; goto out; } } - newaf->so_accept_filter = afp; - so->so_accf = newaf; + so->sol_accept_filter = afp; + so->sol_accept_filter_arg = accept_filter_arg; + so->sol_accept_filter_str = accept_filter_str; so->so_options |= SO_ACCEPTFILTER; - newaf = NULL; out: SOCK_UNLOCK(so); - if (newaf != NULL) { - if (newaf->so_accept_filter_str != NULL) - free(newaf->so_accept_filter_str, M_ACCF); - free(newaf, M_ACCF); - } - if (afap != NULL) - free(afap, M_TEMP); + if (accept_filter_str != NULL) + free(accept_filter_str, M_ACCF); + free(afap, M_TEMP); return (error); } Modified: head/sys/kern/uipc_debug.c ============================================================================== --- head/sys/kern/uipc_debug.c Thu Jun 8 21:06:18 2017 (r319721) +++ head/sys/kern/uipc_debug.c Thu Jun 8 21:30:34 2017 (r319722) @@ -448,8 +448,6 @@ db_print_socket(struct socket *so, const char *socketn db_printf(")\n"); db_print_indent(indent); - db_printf("so_qstate: 0x%x (", so->so_qstate); - db_print_soqstate(so->so_qstate); db_printf(") "); db_printf("so_pcb: %p ", so->so_pcb); db_printf("so_proto: %p\n", so->so_proto); @@ -458,24 +456,28 @@ db_print_socket(struct socket *so, const char *socketn db_print_protosw(so->so_proto, "so_proto", indent); db_print_indent(indent); - db_printf("so_head: %p ", so->so_head); - db_printf("so_incomp first: %p ", TAILQ_FIRST(&so->so_incomp)); - db_printf("so_comp first: %p\n", TAILQ_FIRST(&so->so_comp)); + if (so->so_options & SO_ACCEPTCONN) { + db_printf("sol_incomp first: %p ", + TAILQ_FIRST(&so->sol_incomp)); + db_printf("sol_comp first: %p\n", TAILQ_FIRST(&so->sol_comp)); + db_printf("sol_qlen: %d ", so->sol_qlen); + db_printf("sol_incqlen: %d ", so->sol_incqlen); + db_printf("sol_qlimit: %d ", so->sol_qlimit); + } else { + db_printf("so_qstate: 0x%x (", so->so_qstate); + db_print_soqstate(so->so_qstate); + db_printf("so_listen: %p ", so->so_listen); + /* so_list skipped */ + db_printf("so_timeo: %d ", so->so_timeo); + db_printf("so_error: %d\n", so->so_error); - db_print_indent(indent); - /* so_list skipped */ - db_printf("so_qlen: %u ", so->so_qlen); - db_printf("so_incqlen: %u ", so->so_incqlen); - db_printf("so_qlimit: %u ", so->so_qlimit); - db_printf("so_timeo: %d ", so->so_timeo); - db_printf("so_error: %d\n", so->so_error); + db_print_indent(indent); + db_printf("so_sigio: %p ", so->so_sigio); + db_printf("so_oobmark: %lu ", so->so_oobmark); - db_print_indent(indent); - db_printf("so_sigio: %p ", so->so_sigio); - db_printf("so_oobmark: %lu ", so->so_oobmark); - - db_print_sockbuf(&so->so_rcv, "so_rcv", indent); - db_print_sockbuf(&so->so_snd, "so_snd", indent); + db_print_sockbuf(&so->so_rcv, "so_rcv", indent); + db_print_sockbuf(&so->so_snd, "so_snd", indent); + } } DB_SHOW_COMMAND(socket, db_show_socket) Modified: head/sys/kern/uipc_sockbuf.c ============================================================================== --- head/sys/kern/uipc_sockbuf.c Thu Jun 8 21:06:18 2017 (r319721) +++ head/sys/kern/uipc_sockbuf.c Thu Jun 8 21:30:34 2017 (r319722) @@ -314,14 +314,14 @@ sowakeup(struct socket *so, struct sockbuf *sb) SOCKBUF_LOCK_ASSERT(sb); - selwakeuppri(&sb->sb_sel, PSOCK); - if (!SEL_WAITING(&sb->sb_sel)) + selwakeuppri(sb->sb_sel, PSOCK); + if (!SEL_WAITING(sb->sb_sel)) sb->sb_flags &= ~SB_SEL; if (sb->sb_flags & SB_WAIT) { sb->sb_flags &= ~SB_WAIT; wakeup(&sb->sb_acc); } - KNOTE_LOCKED(&sb->sb_sel.si_note, 0); + KNOTE_LOCKED(&sb->sb_sel->si_note, 0); if (sb->sb_upcall != NULL && !(so->so_state & SS_ISDISCONNECTED)) { ret = sb->sb_upcall(so, sb->sb_upcallarg, M_NOWAIT); if (ret == SU_ISCONNECTED) { Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Thu Jun 8 21:06:18 2017 (r319721) +++ head/sys/kern/uipc_socket.c Thu Jun 8 21:30:34 2017 (r319722) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" #include "opt_compat.h" +#include "opt_sctp.h" #include #include @@ -154,13 +155,21 @@ __FBSDID("$FreeBSD$"); static int soreceive_rcvoob(struct socket *so, struct uio *uio, int flags); +static void so_rdknl_lock(void *); +static void so_rdknl_unlock(void *); +static void so_rdknl_assert_locked(void *); +static void so_rdknl_assert_unlocked(void *); +static void so_wrknl_lock(void *); +static void so_wrknl_unlock(void *); +static void so_wrknl_assert_locked(void *); +static void so_wrknl_assert_unlocked(void *); static void filt_sordetach(struct knote *kn); static int filt_soread(struct knote *kn, long hint); static void filt_sowdetach(struct knote *kn); static int filt_sowrite(struct knote *kn, long hint); -static int inline hhook_run_socket(struct socket *so, void *hctx, int32_t h_id); static int filt_soempty(struct knote *kn, long hint); +static int inline hhook_run_socket(struct socket *so, void *hctx, int32_t h_id); fo_kqfilter_t soo_kqfilter; static struct filterops soread_filtops = { @@ -393,8 +402,16 @@ soalloc(struct vnet *vnet) return (NULL); } + /* + * The socket locking protocol allows to lock 2 sockets at a time, + * however, the first one must be a listening socket. WITNESS lacks + * a feature to change class of an existing lock, so we use DUPOK. + */ + mtx_init(&so->so_lock, "socket", NULL, MTX_DEF | MTX_DUPOK); SOCKBUF_LOCK_INIT(&so->so_snd, "so_snd"); SOCKBUF_LOCK_INIT(&so->so_rcv, "so_rcv"); + so->so_rcv.sb_sel = &so->so_rdsel; + so->so_snd.sb_sel = &so->so_wrsel; sx_init(&so->so_snd.sb_sx, "so_snd_sx"); sx_init(&so->so_rcv.sb_sx, "so_rcv_sx"); TAILQ_INIT(&so->so_snd.sb_aiojobq); @@ -450,9 +467,6 @@ sodealloc(struct socket *so) if (so->so_snd.sb_hiwat) (void)chgsbsize(so->so_cred->cr_uidinfo, &so->so_snd.sb_hiwat, 0, RLIM_INFINITY); - /* remove accept filter if one is present. */ - if (so->so_accf != NULL) - accept_filt_setopt(so, NULL); #ifdef MAC mac_socket_destroy(so); #endif @@ -460,10 +474,16 @@ sodealloc(struct socket *so) crfree(so->so_cred); khelp_destroy_osd(&so->osd); - sx_destroy(&so->so_snd.sb_sx); - sx_destroy(&so->so_rcv.sb_sx); - SOCKBUF_LOCK_DESTROY(&so->so_snd); - SOCKBUF_LOCK_DESTROY(&so->so_rcv); + if (SOLISTENING(so)) { + if (so->sol_accept_filter != NULL) + accept_filt_setopt(so, NULL); + } else { + sx_destroy(&so->so_snd.sb_sx); + sx_destroy(&so->so_rcv.sb_sx); + SOCKBUF_LOCK_DESTROY(&so->so_snd); + SOCKBUF_LOCK_DESTROY(&so->so_rcv); + } + mtx_destroy(&so->so_lock); uma_zfree(socket_zone, so); } @@ -506,8 +526,6 @@ socreate(int dom, struct socket **aso, int type, int p if (so == NULL) return (ENOBUFS); - TAILQ_INIT(&so->so_incomp); - TAILQ_INIT(&so->so_comp); so->so_type = type; so->so_cred = crhold(cred); if ((prp->pr_domain->dom_family == PF_INET) || @@ -520,9 +538,10 @@ socreate(int dom, struct socket **aso, int type, int p #ifdef MAC mac_socket_create(cred, so); #endif - knlist_init_mtx(&so->so_rcv.sb_sel.si_note, SOCKBUF_MTX(&so->so_rcv)); - knlist_init_mtx(&so->so_snd.sb_sel.si_note, SOCKBUF_MTX(&so->so_snd)); - so->so_count = 1; + knlist_init(&so->so_rdsel.si_note, so, so_rdknl_lock, so_rdknl_unlock, + so_rdknl_assert_locked, so_rdknl_assert_unlocked); + knlist_init(&so->so_wrsel.si_note, so, so_wrknl_lock, so_wrknl_unlock, + so_wrknl_assert_locked, so_wrknl_assert_unlocked); /* * Auto-sizing of socket buffers is managed by the protocols and * the appropriate flags must be set in the pru_attach function. @@ -531,12 +550,10 @@ socreate(int dom, struct socket **aso, int type, int p error = (*prp->pr_usrreqs->pru_attach)(so, proto, td); CURVNET_RESTORE(); if (error) { - KASSERT(so->so_count == 1, ("socreate: so_count %d", - so->so_count)); - so->so_count = 0; sodealloc(so); return (error); } + soref(so); *aso = so; return (0); } @@ -564,11 +581,11 @@ sonewconn(struct socket *head, int connstatus) static int overcount; struct socket *so; - int over; + u_int over; - ACCEPT_LOCK(); - over = (head->so_qlen > 3 * head->so_qlimit / 2); - ACCEPT_UNLOCK(); + SOLISTEN_LOCK(head); + over = (head->sol_qlen > 3 * head->sol_qlimit / 2); + SOLISTEN_UNLOCK(head); #ifdef REGRESSION if (regression_sonewconn_earlytest && over) { #else @@ -580,15 +597,15 @@ sonewconn(struct socket *head, int connstatus) log(LOG_DEBUG, "%s: pcb %p: Listen queue overflow: " "%i already in queue awaiting acceptance " "(%d occurrences)\n", - __func__, head->so_pcb, head->so_qlen, overcount); + __func__, head->so_pcb, head->sol_qlen, overcount); overcount = 0; } return (NULL); } - VNET_ASSERT(head->so_vnet != NULL, ("%s:%d so_vnet is NULL, head=%p", - __func__, __LINE__, head)); + VNET_ASSERT(head->so_vnet != NULL, ("%s: so %p vnet is NULL", + __func__, head)); so = soalloc(head->so_vnet); if (so == NULL) { log(LOG_DEBUG, "%s: pcb %p: New socket allocation failure: " @@ -596,11 +613,8 @@ sonewconn(struct socket *head, int connstatus) __func__, head->so_pcb); return (NULL); } - if ((head->so_options & SO_ACCEPTFILTER) != 0) - connstatus = 0; - so->so_head = head; + so->so_listen = head; so->so_type = head->so_type; - so->so_options = head->so_options &~ SO_ACCEPTCONN; so->so_linger = head->so_linger; so->so_state = head->so_state | SS_NOFDREF; so->so_fibnum = head->so_fibnum; @@ -609,10 +623,12 @@ sonewconn(struct socket *head, int connstatus) #ifdef MAC mac_socket_newconn(head, so); #endif - knlist_init_mtx(&so->so_rcv.sb_sel.si_note, SOCKBUF_MTX(&so->so_rcv)); - knlist_init_mtx(&so->so_snd.sb_sel.si_note, SOCKBUF_MTX(&so->so_snd)); + knlist_init(&so->so_rdsel.si_note, so, so_rdknl_lock, so_rdknl_unlock, + so_rdknl_assert_locked, so_rdknl_assert_unlocked); + knlist_init(&so->so_wrsel.si_note, so, so_wrknl_lock, so_wrknl_unlock, + so_wrknl_assert_locked, so_wrknl_assert_unlocked); VNET_SO_ASSERT(head); - if (soreserve(so, head->so_snd.sb_hiwat, head->so_rcv.sb_hiwat)) { + if (soreserve(so, head->sol_sbsnd_hiwat, head->sol_sbrcv_hiwat)) { sodealloc(so); log(LOG_DEBUG, "%s: pcb %p: soreserve() failed\n", __func__, head->so_pcb); @@ -624,32 +640,24 @@ sonewconn(struct socket *head, int connstatus) __func__, head->so_pcb); return (NULL); } - so->so_rcv.sb_lowat = head->so_rcv.sb_lowat; - so->so_snd.sb_lowat = head->so_snd.sb_lowat; - so->so_rcv.sb_timeo = head->so_rcv.sb_timeo; - so->so_snd.sb_timeo = head->so_snd.sb_timeo; - so->so_rcv.sb_flags |= head->so_rcv.sb_flags & SB_AUTOSIZE; - so->so_snd.sb_flags |= head->so_snd.sb_flags & SB_AUTOSIZE; + so->so_rcv.sb_lowat = head->sol_sbrcv_lowat; + so->so_snd.sb_lowat = head->sol_sbsnd_lowat; + so->so_rcv.sb_timeo = head->sol_sbrcv_timeo; + so->so_snd.sb_timeo = head->sol_sbsnd_timeo; + so->so_rcv.sb_flags |= head->sol_sbrcv_flags & SB_AUTOSIZE; + so->so_snd.sb_flags |= head->sol_sbsnd_flags & SB_AUTOSIZE; + + SOLISTEN_LOCK(head); + if (head->sol_accept_filter != NULL) + connstatus = 0; so->so_state |= connstatus; - ACCEPT_LOCK(); - /* - * The accept socket may be tearing down but we just - * won a race on the ACCEPT_LOCK. - * However, if sctp_peeloff() is called on a 1-to-many - * style socket, the SO_ACCEPTCONN doesn't need to be set. - */ - if (!(head->so_options & SO_ACCEPTCONN) && - ((head->so_proto->pr_protocol != IPPROTO_SCTP) || - (head->so_type != SOCK_SEQPACKET))) { - SOCK_LOCK(so); - so->so_head = NULL; - sofree(so); /* NB: returns ACCEPT_UNLOCK'ed. */ - return (NULL); - } + so->so_options = head->so_options & ~SO_ACCEPTCONN; + soref(head); /* A socket on (in)complete queue refs head. */ if (connstatus) { - TAILQ_INSERT_TAIL(&head->so_comp, so, so_list); - so->so_qstate |= SQ_COMP; - head->so_qlen++; + TAILQ_INSERT_TAIL(&head->sol_comp, so, so_list); + so->so_qstate = SQ_COMP; + head->sol_qlen++; + solisten_wakeup(head); /* unlocks */ } else { /* * Keep removing sockets from the head until there's room for @@ -658,28 +666,86 @@ sonewconn(struct socket *head, int connstatus) * threads and soabort() requires dropping locks, we must * loop waiting for the condition to be true. */ - while (head->so_incqlen > head->so_qlimit) { + while (head->sol_incqlen > head->sol_qlimit) { struct socket *sp; - sp = TAILQ_FIRST(&head->so_incomp); - TAILQ_REMOVE(&head->so_incomp, sp, so_list); - head->so_incqlen--; - sp->so_qstate &= ~SQ_INCOMP; - sp->so_head = NULL; - ACCEPT_UNLOCK(); + + sp = TAILQ_FIRST(&head->sol_incomp); + TAILQ_REMOVE(&head->sol_incomp, sp, so_list); + head->sol_incqlen--; + SOCK_LOCK(sp); + sp->so_qstate = SQ_NONE; + sp->so_listen = NULL; + SOCK_UNLOCK(sp); + sorele(head); /* does SOLISTEN_UNLOCK, head stays */ soabort(sp); - ACCEPT_LOCK(); + SOLISTEN_LOCK(head); } - TAILQ_INSERT_TAIL(&head->so_incomp, so, so_list); - so->so_qstate |= SQ_INCOMP; - head->so_incqlen++; + TAILQ_INSERT_TAIL(&head->sol_incomp, so, so_list); + so->so_qstate = SQ_INCOMP; + head->sol_incqlen++; + SOLISTEN_UNLOCK(head); } - ACCEPT_UNLOCK(); - if (connstatus) { - sorwakeup(head); - wakeup_one(&head->so_timeo); + return (so); +} + +#ifdef SCTP +/* + * Socket part of sctp_peeloff(). Detach a new socket from an + * association. The new socket is returned with a reference. + */ +struct socket * +sopeeloff(struct socket *head) +{ + struct socket *so; + + VNET_ASSERT(head->so_vnet != NULL, ("%s:%d so_vnet is NULL, head=%p", + __func__, __LINE__, head)); + so = soalloc(head->so_vnet); + if (so == NULL) { + log(LOG_DEBUG, "%s: pcb %p: New socket allocation failure: " + "limit reached or out of memory\n", + __func__, head->so_pcb); + return (NULL); } + so->so_type = head->so_type; + so->so_options = head->so_options; + so->so_linger = head->so_linger; + so->so_state = (head->so_state & SS_NBIO) | SS_ISCONNECTED; + so->so_fibnum = head->so_fibnum; + so->so_proto = head->so_proto; + so->so_cred = crhold(head->so_cred); +#ifdef MAC + mac_socket_newconn(head, so); +#endif + knlist_init(&so->so_rdsel.si_note, so, so_rdknl_lock, so_rdknl_unlock, + so_rdknl_assert_locked, so_rdknl_assert_unlocked); + knlist_init(&so->so_wrsel.si_note, so, so_wrknl_lock, so_wrknl_unlock, + so_wrknl_assert_locked, so_wrknl_assert_unlocked); + VNET_SO_ASSERT(head); + if (soreserve(so, head->so_snd.sb_hiwat, head->so_rcv.sb_hiwat)) { + sodealloc(so); + log(LOG_DEBUG, "%s: pcb %p: soreserve() failed\n", + __func__, head->so_pcb); + return (NULL); + } + if ((*so->so_proto->pr_usrreqs->pru_attach)(so, 0, NULL)) { + sodealloc(so); + log(LOG_DEBUG, "%s: pcb %p: pru_attach() failed\n", + __func__, head->so_pcb); + return (NULL); + } + so->so_rcv.sb_lowat = head->so_rcv.sb_lowat; + so->so_snd.sb_lowat = head->so_snd.sb_lowat; + so->so_rcv.sb_timeo = head->so_rcv.sb_timeo; + so->so_snd.sb_timeo = head->so_snd.sb_timeo; + so->so_rcv.sb_flags |= head->so_rcv.sb_flags & SB_AUTOSIZE; + so->so_snd.sb_flags |= head->so_snd.sb_flags & SB_AUTOSIZE; + + soref(so); + return (so); } +#endif /* SCTP */ int sobind(struct socket *so, struct sockaddr *nam, struct thread *td) @@ -741,16 +807,140 @@ solisten_proto_check(struct socket *so) void solisten_proto(struct socket *so, int backlog) { + int sbrcv_lowat, sbsnd_lowat; + u_int sbrcv_hiwat, sbsnd_hiwat; + short sbrcv_flags, sbsnd_flags; + sbintime_t sbrcv_timeo, sbsnd_timeo; SOCK_LOCK_ASSERT(so); + if (SOLISTENING(so)) + goto listening; + + /* + * Change this socket to listening state. + */ + sbrcv_lowat = so->so_rcv.sb_lowat; + sbsnd_lowat = so->so_snd.sb_lowat; + sbrcv_hiwat = so->so_rcv.sb_hiwat; + sbsnd_hiwat = so->so_snd.sb_hiwat; + sbrcv_flags = so->so_rcv.sb_flags; + sbsnd_flags = so->so_snd.sb_flags; + sbrcv_timeo = so->so_rcv.sb_timeo; + sbsnd_timeo = so->so_snd.sb_timeo; + + sbdestroy(&so->so_snd, so); + sbdestroy(&so->so_rcv, so); + sx_destroy(&so->so_snd.sb_sx); + sx_destroy(&so->so_rcv.sb_sx); + SOCKBUF_LOCK_DESTROY(&so->so_snd); + SOCKBUF_LOCK_DESTROY(&so->so_rcv); + +#ifdef INVARIANTS + bzero(&so->so_rcv, + sizeof(struct socket) - offsetof(struct socket, so_rcv)); +#endif + + so->sol_sbrcv_lowat = sbrcv_lowat; + so->sol_sbsnd_lowat = sbsnd_lowat; + so->sol_sbrcv_hiwat = sbrcv_hiwat; + so->sol_sbsnd_hiwat = sbsnd_hiwat; + so->sol_sbrcv_flags = sbrcv_flags; + so->sol_sbsnd_flags = sbsnd_flags; + so->sol_sbrcv_timeo = sbrcv_timeo; + so->sol_sbsnd_timeo = sbsnd_timeo; + + so->sol_qlen = so->sol_incqlen = 0; + TAILQ_INIT(&so->sol_incomp); + TAILQ_INIT(&so->sol_comp); + + so->sol_accept_filter = NULL; + so->sol_accept_filter_arg = NULL; + so->sol_accept_filter_str = NULL; + + so->so_options |= SO_ACCEPTCONN; + +listening: if (backlog < 0 || backlog > somaxconn) backlog = somaxconn; - so->so_qlimit = backlog; - so->so_options |= SO_ACCEPTCONN; + so->sol_qlimit = backlog; } /* + * Wakeup listeners/subsystems once we have a complete connection. + * Enters with lock, returns unlocked. + */ +void +solisten_wakeup(struct socket *sol) +{ + + if (sol->sol_upcall != NULL) + (void )sol->sol_upcall(sol, sol->sol_upcallarg, M_NOWAIT); + else { + selwakeuppri(&sol->so_rdsel, PSOCK); + KNOTE_LOCKED(&sol->so_rdsel.si_note, 0); + } + SOLISTEN_UNLOCK(sol); + wakeup_one(&sol->sol_comp); +} + +/* + * Return single connection off a listening socket queue. Main consumer of + * the function is kern_accept4(). Some modules, that do their own accept + * management also use the function. + * + * Listening socket must be locked on entry and is returned unlocked on + * return. + * The flags argument is set of accept4(2) flags and ACCEPT4_INHERIT. + */ +int +solisten_dequeue(struct socket *head, struct socket **ret, int flags) +{ + struct socket *so; + int error; + + SOLISTEN_LOCK_ASSERT(head); + + while (!(head->so_state & SS_NBIO) && TAILQ_EMPTY(&head->sol_comp) && + head->so_error == 0) { + error = msleep(&head->sol_comp, &head->so_lock, PSOCK | PCATCH, + "accept", 0); + if (error != 0) { + SOLISTEN_UNLOCK(head); + return (error); + } + } + if (head->so_error) { + error = head->so_error; + head->so_error = 0; + SOLISTEN_UNLOCK(head); + return (error); + } + if ((head->so_state & SS_NBIO) && TAILQ_EMPTY(&head->sol_comp)) { + SOLISTEN_UNLOCK(head); + return (EWOULDBLOCK); + } + so = TAILQ_FIRST(&head->sol_comp); + SOCK_LOCK(so); + KASSERT(so->so_qstate == SQ_COMP, + ("%s: so %p not SQ_COMP", __func__, so)); + soref(so); + head->sol_qlen--; + so->so_qstate = SQ_NONE; + so->so_listen = NULL; + TAILQ_REMOVE(&head->sol_comp, so, so_list); + if (flags & ACCEPT4_INHERIT) + so->so_state |= (head->so_state & SS_NBIO); + else + so->so_state |= (flags & SOCK_NONBLOCK) ? SS_NBIO : 0; + SOCK_UNLOCK(so); + sorele(head); + + *ret = so; + return (0); +} + +/* * Evaluate the reference count and named references on a socket; if no * references remain, free it. This should be called whenever a reference is * released, such as in sorele(), but also when named reference flags are @@ -774,44 +964,62 @@ void sofree(struct socket *so) { struct protosw *pr = so->so_proto; - struct socket *head; - ACCEPT_LOCK_ASSERT(); SOCK_LOCK_ASSERT(so); if ((so->so_state & SS_NOFDREF) == 0 || so->so_count != 0 || - (so->so_state & SS_PROTOREF) || (so->so_qstate & SQ_COMP)) { + (so->so_state & SS_PROTOREF) || (so->so_qstate == SQ_COMP)) { SOCK_UNLOCK(so); - ACCEPT_UNLOCK(); return; } - head = so->so_head; - if (head != NULL) { - KASSERT((so->so_qstate & SQ_COMP) != 0 || - (so->so_qstate & SQ_INCOMP) != 0, - ("sofree: so_head != NULL, but neither SQ_COMP nor " - "SQ_INCOMP")); - KASSERT((so->so_qstate & SQ_COMP) == 0 || - (so->so_qstate & SQ_INCOMP) == 0, - ("sofree: so->so_qstate is SQ_COMP and also SQ_INCOMP")); - TAILQ_REMOVE(&head->so_incomp, so, so_list); - head->so_incqlen--; - so->so_qstate &= ~SQ_INCOMP; - so->so_head = NULL; + if (!SOLISTENING(so) && so->so_qstate == SQ_INCOMP) { + struct socket *sol; + + sol = so->so_listen; + KASSERT(sol, ("%s: so %p on incomp of NULL", __func__, so)); + + /* + * To solve race between close of a listening socket and + * a socket on its incomplete queue, we need to lock both. + * The order is first listening socket, then regular. + * Since we don't have SS_NOFDREF neither SS_PROTOREF, this + * function and the listening socket are the only pointers + * to so. To preserve so and sol, we reference both and then + * relock. + * After relock the socket may not move to so_comp since it + * doesn't have PCB already, but it may be removed from + * so_incomp. If that happens, we share responsiblity on + * freeing the socket, but soclose() has already removed *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Jun 8 21:33:11 2017 Return-Path: Delivered-To: svn-src-all@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 4F61FD84391; Thu, 8 Jun 2017 21:33:11 +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 1D22A728B0; Thu, 8 Jun 2017 21:33:11 +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 v58LXA2L099427; Thu, 8 Jun 2017 21:33:10 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58LXALC099426; Thu, 8 Jun 2017 21:33:10 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706082133.v58LXALC099426@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 8 Jun 2017 21:33:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319723 - head/sys/dev/cxgbe/crypto X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 21:33:11 -0000 Author: jhb Date: Thu Jun 8 21:33:10 2017 New Revision: 319723 URL: https://svnweb.freebsd.org/changeset/base/319723 Log: Fix the software fallback for GCM to validate the existing tag for decrypts. Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/crypto/t4_crypto.c Modified: head/sys/dev/cxgbe/crypto/t4_crypto.c ============================================================================== --- head/sys/dev/cxgbe/crypto/t4_crypto.c Thu Jun 8 21:30:34 2017 (r319722) +++ head/sys/dev/cxgbe/crypto/t4_crypto.c Thu Jun 8 21:33:10 2017 (r319723) @@ -1398,9 +1398,20 @@ ccr_gcm_soft(struct ccr_session *s, struct cryptop *cr AES_GMAC_Update(&gmac_ctx, block, sizeof(block)); AES_GMAC_Final(digest, &gmac_ctx); - crypto_copyback(crp->crp_flags, crp->crp_buf, crda->crd_inject, - sizeof(digest), digest); - crp->crp_etype = 0; + if (crde->crd_flags & CRD_F_ENCRYPT) { + crypto_copyback(crp->crp_flags, crp->crp_buf, crda->crd_inject, + sizeof(digest), digest); + crp->crp_etype = 0; + } else { + char digest2[GMAC_DIGEST_LEN]; + + crypto_copydata(crp->crp_flags, crp->crp_buf, crda->crd_inject, + sizeof(digest2), digest2); + if (timingsafe_bcmp(digest, digest2, sizeof(digest)) == 0) + crp->crp_etype = 0; + else + crp->crp_etype = EBADMSG; + } crypto_done(crp); } From owner-svn-src-all@freebsd.org Thu Jun 8 21:33:21 2017 Return-Path: Delivered-To: svn-src-all@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 0D0ECD843D4; Thu, 8 Jun 2017 21:33:21 +0000 (UTC) (envelope-from glebius@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 D02227292D; Thu, 8 Jun 2017 21:33:20 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58LXJ4A099477; Thu, 8 Jun 2017 21:33:19 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58LXJ85099476; Thu, 8 Jun 2017 21:33:19 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706082133.v58LXJ85099476@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 8 Jun 2017 21:33:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319724 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 21:33:21 -0000 Author: glebius Date: Thu Jun 8 21:33:19 2017 New Revision: 319724 URL: https://svnweb.freebsd.org/changeset/base/319724 Log: When we are in UMA_STARTUP use startup_alloc() for any zone, not for internal zones only. This allows to create new zones at early stages of boot, without need to mark them as internal to UMA, which isn't always true. Reviewed by: alc Modified: head/sys/vm/uma_core.c Modified: head/sys/vm/uma_core.c ============================================================================== --- head/sys/vm/uma_core.c Thu Jun 8 21:33:10 2017 (r319723) +++ head/sys/vm/uma_core.c Thu Jun 8 21:33:19 2017 (r319724) @@ -1384,8 +1384,6 @@ keg_ctor(void *mem, int size, void *udata, int flags) keg->uk_reserve = 0; keg->uk_pages = 0; keg->uk_flags = arg->flags; - keg->uk_allocf = page_alloc; - keg->uk_freef = page_free; keg->uk_slabzone = NULL; /* @@ -1426,20 +1424,20 @@ keg_ctor(void *mem, int size, void *udata, int flags) * If we haven't booted yet we need allocations to go through the * startup cache until the vm is ready. */ - if (keg->uk_ppera == 1) { + if (booted < UMA_STARTUP2) + keg->uk_allocf = startup_alloc; #ifdef UMA_MD_SMALL_ALLOC + else if (keg->uk_ppera == 1) keg->uk_allocf = uma_small_alloc; +#endif + else + keg->uk_allocf = page_alloc; +#ifdef UMA_MD_SMALL_ALLOC + if (keg->uk_ppera == 1) keg->uk_freef = uma_small_free; - - if (booted < UMA_STARTUP) - keg->uk_allocf = startup_alloc; -#else - if (booted < UMA_STARTUP2) - keg->uk_allocf = startup_alloc; + else #endif - } else if (booted < UMA_STARTUP2 && - (keg->uk_flags & UMA_ZFLAG_INTERNAL)) - keg->uk_allocf = startup_alloc; + keg->uk_freef = page_free; /* * Initialize keg's lock From owner-svn-src-all@freebsd.org Thu Jun 8 21:34:56 2017 Return-Path: Delivered-To: svn-src-all@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 2448FD8448E; Thu, 8 Jun 2017 21:34:56 +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 E903B72B41; Thu, 8 Jun 2017 21:34:55 +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 v58LYtmd099568; Thu, 8 Jun 2017 21:34:55 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58LYtAk099567; Thu, 8 Jun 2017 21:34:55 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706082134.v58LYtAk099567@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 8 Jun 2017 21:34:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319725 - head/tests/sys/opencrypto X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 21:34:56 -0000 Author: jhb Date: Thu Jun 8 21:34:54 2017 New Revision: 319725 URL: https://svnweb.freebsd.org/changeset/base/319725 Log: Add the ccr0 device to the opencrypto tests against the NIST KAT tests. The ccr0 device supports both AES and SHA tests. Sponsored by: Chelsio Communications Modified: head/tests/sys/opencrypto/cryptotest.py Modified: head/tests/sys/opencrypto/cryptotest.py ============================================================================== --- head/tests/sys/opencrypto/cryptotest.py Thu Jun 8 21:33:19 2017 (r319724) +++ head/tests/sys/opencrypto/cryptotest.py Thu Jun 8 21:34:54 2017 (r319725) @@ -42,9 +42,9 @@ katdir = '/usr/local/share/nist-kat' def katg(base, glob): return iglob(os.path.join(katdir, base, glob)) -aesmodules = [ 'cryptosoft0', 'aesni0', ] +aesmodules = [ 'cryptosoft0', 'aesni0', 'ccr0' ] desmodules = [ 'cryptosoft0', ] -shamodules = [ 'cryptosoft0', ] +shamodules = [ 'cryptosoft0', 'ccr0' ] def GenTestCase(cname): try: @@ -260,6 +260,7 @@ def GenTestCase(cname): cryptosoft = GenTestCase('cryptosoft0') aesni = GenTestCase('aesni0') +ccr = GenTestCase('ccr0') if __name__ == '__main__': unittest.main() From owner-svn-src-all@freebsd.org Thu Jun 8 21:49:49 2017 Return-Path: Delivered-To: svn-src-all@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 201A9D84887; Thu, 8 Jun 2017 21:49:49 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) (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 EF382730E7; Thu, 8 Jun 2017 21:49:47 +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 4FD6F10AFA2; Thu, 8 Jun 2017 17:49:46 -0400 (EDT) From: John Baldwin To: "Jonathan T. Looney" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r319720 - head/sys/dev/vt Date: Thu, 08 Jun 2017 14:49:43 -0700 Message-ID: <7306919.ixyIA96xWQ@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.0-STABLE; KDE/4.14.10; amd64; ; ) In-Reply-To: <201706082047.v58KlI51079003@repo.freebsd.org> References: <201706082047.v58KlI51079003@repo.freebsd.org> 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); Thu, 08 Jun 2017 17:49:46 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 21:49:49 -0000 On Thursday, June 08, 2017 08:47:18 PM Jonathan T. Looney wrote: > Author: jtl > Date: Thu Jun 8 20:47:18 2017 > New Revision: 319720 > URL: https://svnweb.freebsd.org/changeset/base/319720 > > Log: > With EARLY_AP_STARTUP enabled, we are seeing crashes in softclock_call_cc() > during bootup. Debugging information shows that softclock_call_cc() is > trying to execute the vt_consdev.vd_timer callout, and the callout > structure contains a NULL c_func. > > This appears to be due to a race between vt_upgrade() running > callout_reset() and vt_resume_flush_timer() calling callout_schedule(). > > Fix the race by ensuring that vd_timer_armed is always set before > attempting to (re)schedule the callout. > > Discussed with: emaste > MFC after: 2 weeks > Sponsored by: Netflix > Differential Revision: https://reviews.freebsd.org/D9828 This should probably be using atomic_thread_fence_foo() in conjunction with a simple 'vd->vd_timer_armed = 1' assignment instead of abusing atomic_add_acq_int(). Unfortunately atomic_thread_fence_*() aren't yet documented in atomic(9). :( The commit message that added them is below though: ------------------------------------------------------------------------ r285283 | kib | 2015-07-08 11:12:24 -0700 (Wed, 08 Jul 2015) | 22 lines Add the atomic_thread_fence() family of functions with intent to provide a semantic defined by the C11 fences with corresponding memory_order. atomic_thread_fence_acq() gives r | r, w, where r and w are read and write accesses, and | denotes the fence itself. atomic_thread_fence_rel() is r, w | w. atomic_thread_fence_acq_rel() is the combination of the acquire and release in single operation. Note that reads after the acq+rel fence could be made visible before writes preceeding the fence. atomic_thread_fence_seq_cst() orders all accesses before/after the fence, and the fence itself is globally ordered against other sequentially consistent atomic operations. Reviewed by: alc Discussed with: bde Sponsored by: The FreeBSD Foundation MFC after: 3 weeks ------------------------------------------------------------------------ That said, it is hard to see how a bare acquire barrier is really sufficient for anything. Acquire barriers generally must be paired with a release barrier in order to provide sychronization. -- John Baldwin From owner-svn-src-all@freebsd.org Thu Jun 8 21:49:49 2017 Return-Path: Delivered-To: svn-src-all@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 1F9A1D84886; Thu, 8 Jun 2017 21:49:49 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) (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 EF32A730E6; Thu, 8 Jun 2017 21:49:48 +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 A24B510AFA3; Thu, 8 Jun 2017 17:49:47 -0400 (EDT) From: John Baldwin To: Bryan Drewery Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r319702 - head/sys/vm Date: Thu, 08 Jun 2017 12:37:24 -0700 Message-ID: <6910627.IXO0pzjk4q@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.0-STABLE; KDE/4.14.10; amd64; ; ) In-Reply-To: References: <201706081618.v58GIfZi066106@repo.freebsd.org> 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); Thu, 08 Jun 2017 17:49:47 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 21:49:49 -0000 On Thursday, June 08, 2017 12:55:45 PM Bryan Drewery wrote: > On 6/8/17 12:18 PM, John Baldwin wrote: > > Author: jhb > > Date: Thu Jun 8 16:18:41 2017 > > New Revision: 319702 > > URL: https://svnweb.freebsd.org/changeset/base/319702 > > > > Log: > > Fix an off-by-one error in the VM page array on some systems. > > > > r31386 changed how the size of the VM page array was calculated to be > > less wasteful. > > r313186 Oops. FWIW, this commit fixes a reliable panic booting mips and mips64 kernels under qemu. Adrian also reported the same panic on real mips hardware. -- John Baldwin From owner-svn-src-all@freebsd.org Thu Jun 8 22:04:51 2017 Return-Path: Delivered-To: svn-src-all@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 11610D84E45; Thu, 8 Jun 2017 22:04:51 +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 AB70B73BB4; Thu, 8 Jun 2017 22:04:50 +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 v58M4iWX030506 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 9 Jun 2017 01:04:45 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v58M4iWX030506 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v58M4iMI030505; Fri, 9 Jun 2017 01:04:44 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 9 Jun 2017 01:04:44 +0300 From: Konstantin Belousov To: John Baldwin Cc: "Jonathan T. Looney" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r319720 - head/sys/dev/vt Message-ID: <20170608220444.GW2088@kib.kiev.ua> References: <201706082047.v58KlI51079003@repo.freebsd.org> <7306919.ixyIA96xWQ@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7306919.ixyIA96xWQ@ralph.baldwin.cx> User-Agent: Mutt/1.8.2 (2017-04-18) 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-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 22:04:51 -0000 On Thu, Jun 08, 2017 at 02:49:43PM -0700, John Baldwin wrote: > On Thursday, June 08, 2017 08:47:18 PM Jonathan T. Looney wrote: > > Author: jtl > > Date: Thu Jun 8 20:47:18 2017 > > New Revision: 319720 > > URL: https://svnweb.freebsd.org/changeset/base/319720 > > > > Log: > > With EARLY_AP_STARTUP enabled, we are seeing crashes in softclock_call_cc() > > during bootup. Debugging information shows that softclock_call_cc() is > > trying to execute the vt_consdev.vd_timer callout, and the callout > > structure contains a NULL c_func. > > > > This appears to be due to a race between vt_upgrade() running > > callout_reset() and vt_resume_flush_timer() calling callout_schedule(). > > > > Fix the race by ensuring that vd_timer_armed is always set before > > attempting to (re)schedule the callout. > > > > Discussed with: emaste > > MFC after: 2 weeks > > Sponsored by: Netflix > > Differential Revision: https://reviews.freebsd.org/D9828 > > This should probably be using atomic_thread_fence_foo() in conjunction with > a simple 'vd->vd_timer_armed = 1' assignment instead of abusing > atomic_add_acq_int(). Unfortunately atomic_thread_fence_*() aren't yet > documented in atomic(9). :( The commit message that added them is below > though: > > ------------------------------------------------------------------------ > r285283 | kib | 2015-07-08 11:12:24 -0700 (Wed, 08 Jul 2015) | 22 lines > > Add the atomic_thread_fence() family of functions with intent to > provide a semantic defined by the C11 fences with corresponding > memory_order. > > atomic_thread_fence_acq() gives r | r, w, where r and w are read and > write accesses, and | denotes the fence itself. > > atomic_thread_fence_rel() is r, w | w. > > atomic_thread_fence_acq_rel() is the combination of the acquire and > release in single operation. Note that reads after the acq+rel fence > could be made visible before writes preceeding the fence. > > atomic_thread_fence_seq_cst() orders all accesses before/after the > fence, and the fence itself is globally ordered against other > sequentially consistent atomic operations. > > Reviewed by: alc > Discussed with: bde > Sponsored by: The FreeBSD Foundation > MFC after: 3 weeks > > ------------------------------------------------------------------------ > > That said, it is hard to see how a bare acquire barrier is really > sufficient for anything. Acquire barriers generally must be paired with > a release barrier in order to provide sychronization. More, it seems that the acquire barrier on this side is not what you want. Acquire is only effective for load, so in the atomic_add_acq() op there, the store action does not provide any guarantees. >From the comment, it looks like you want a typical publish/consume scheme, where vd_timer_armed is the flag, and VDF_ASYNC is the data. That is, in vt_upgrade(): vd->vd_flags |= VDF_ASYNC; atomic_add_rel_int(&vd->vd_timer_armed, 1); and in vt_resume_flush_timer(): if (!atomic_cmpset_acq_int(&vd->vd_timer_armed, 0, 1) || (vd->vd_flags & VDF_ASYNC) == 0) return; But this raises another question: aren't vd_timer_armed and VDF_ASYNC designate the same condition ? From owner-svn-src-all@freebsd.org Thu Jun 8 22:07:45 2017 Return-Path: Delivered-To: svn-src-all@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 3CB2FD84ED8; Thu, 8 Jun 2017 22:07:45 +0000 (UTC) (envelope-from alc@rice.edu) Received: from pp1.rice.edu (proofpoint1.mail.rice.edu [128.42.201.100]) (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 E487673D0A; Thu, 8 Jun 2017 22:07:44 +0000 (UTC) (envelope-from alc@rice.edu) Received: from pps.filterd (pp1.rice.edu [127.0.0.1]) by pp1.rice.edu (8.16.0.17/8.16.0.17) with SMTP id v58Kklc7005493; Thu, 8 Jun 2017 17:07:41 -0500 Received: from mh3.mail.rice.edu (mh3.mail.rice.edu [128.42.199.10]) by pp1.rice.edu with ESMTP id 2aydwwg1gs-1; Thu, 08 Jun 2017 17:07:41 -0500 X-Virus-Scanned: by amavis-2.7.0 at mh3.mail.rice.edu, auth channel Received: from [10.87.79.168] (unknown [10.87.79.168]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) (Authenticated sender: alc) by mh3.mail.rice.edu (Postfix) with ESMTPSA id 1E5F7404EF; Thu, 8 Jun 2017 17:07:41 -0500 (CDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: svn commit: r319702 - head/sys/vm From: Alan Cox In-Reply-To: <6910627.IXO0pzjk4q@ralph.baldwin.cx> Date: Thu, 8 Jun 2017 17:07:40 -0500 Cc: Bryan Drewery , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <207FB492-94EE-47FD-BFB8-18F76C5858A5@rice.edu> References: <201706081618.v58GIfZi066106@repo.freebsd.org> <6910627.IXO0pzjk4q@ralph.baldwin.cx> To: John Baldwin X-Mailer: Apple Mail (2.3124) X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1609300000 definitions=main-1611190142 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 22:07:45 -0000 > On Jun 8, 2017, at 2:37 PM, John Baldwin wrote: >=20 > On Thursday, June 08, 2017 12:55:45 PM Bryan Drewery wrote: >> On 6/8/17 12:18 PM, John Baldwin wrote: >>> Author: jhb >>> Date: Thu Jun 8 16:18:41 2017 >>> New Revision: 319702 >>> URL: https://svnweb.freebsd.org/changeset/base/319702 >>>=20 >>> Log: >>> Fix an off-by-one error in the VM page array on some systems. >>>=20 >>> r31386 changed how the size of the VM page array was calculated to = be >>> less wasteful.=20 >>=20 >> r313186 >=20 > Oops. FWIW, this commit fixes a reliable panic booting mips and = mips64 > kernels under qemu. Adrian also reported the same panic on real mips > hardware. >=20 Any architecture on which we don=E2=80=99t have superpage reservations = enabled could experience the panic at boot time. Amd64, arm, arm64, = i386, and sparc64 would never panic because of the memory allocated for = the reservation array.=20 From owner-svn-src-all@freebsd.org Thu Jun 8 22:12:11 2017 Return-Path: Delivered-To: svn-src-all@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 D8296D8512D; Thu, 8 Jun 2017 22:12:11 +0000 (UTC) (envelope-from glebius@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 ACBFA74099; Thu, 8 Jun 2017 22:12:11 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58MCAKU015798; Thu, 8 Jun 2017 22:12:10 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58MCAXI015794; Thu, 8 Jun 2017 22:12:10 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706082212.v58MCAXI015794@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 8 Jun 2017 22:12:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319726 - in stable/11/sys: compat/ndis dev/if_ndis X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 22:12:12 -0000 Author: glebius Date: Thu Jun 8 22:12:10 2017 New Revision: 319726 URL: https://svnweb.freebsd.org/changeset/base/319726 Log: MFC r318677: Fix regression in ndis(4) after r286410. This adds a bunch of checks for whether this is a Ethernet or 802.11 device and does proper dereferencing. PR: 213237 Submitted by: Approved by: re (marius) Modified: stable/11/sys/compat/ndis/kern_ndis.c stable/11/sys/compat/ndis/subr_ndis.c stable/11/sys/dev/if_ndis/if_ndis.c stable/11/sys/dev/if_ndis/if_ndisvar.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/compat/ndis/kern_ndis.c ============================================================================== --- stable/11/sys/compat/ndis/kern_ndis.c Thu Jun 8 21:34:54 2017 (r319725) +++ stable/11/sys/compat/ndis/kern_ndis.c Thu Jun 8 22:12:10 2017 (r319726) @@ -210,8 +210,8 @@ ndis_status_func(adapter, status, sbuf, slen) block = adapter; sc = device_get_softc(block->nmb_physdeviceobj->do_devext); - ifp = sc->ifp; - if (ifp->if_flags & IFF_DEBUG) + ifp = NDISUSB_GET_IFNET(sc); + if ( ifp && ifp->if_flags & IFF_DEBUG) device_printf(sc->ndis_dev, "status: %x\n", status); } @@ -225,8 +225,8 @@ ndis_statusdone_func(adapter) block = adapter; sc = device_get_softc(block->nmb_physdeviceobj->do_devext); - ifp = sc->ifp; - if (ifp->if_flags & IFF_DEBUG) + ifp = NDISUSB_GET_IFNET(sc); + if (ifp && ifp->if_flags & IFF_DEBUG) device_printf(sc->ndis_dev, "status complete\n"); } @@ -264,9 +264,9 @@ ndis_resetdone_func(ndis_handle adapter, ndis_status s block = adapter; sc = device_get_softc(block->nmb_physdeviceobj->do_devext); - ifp = sc->ifp; + ifp = NDISUSB_GET_IFNET(sc); - if (ifp->if_flags & IFF_DEBUG) + if (ifp && ifp->if_flags & IFF_DEBUG) device_printf(sc->ndis_dev, "reset done...\n"); KeSetEvent(&block->nmb_resetevent, IO_NO_INCREMENT, FALSE); } @@ -285,6 +285,9 @@ ndis_create_sysctls(arg) return (EINVAL); sc = arg; + /* + device_printf(sc->ndis_dev, "ndis_create_sysctls() sc=%p\n", sc); + */ vals = sc->ndis_regvals; TAILQ_INIT(&sc->ndis_cfglist_head); @@ -698,8 +701,8 @@ ndis_ptom(m0, p) */ eh = mtod((*m0), struct ether_header *); - ifp = ((struct ndis_softc *)p->np_softc)->ifp; - if (totlen > ETHER_MAX_FRAME(ifp, eh->ether_type, FALSE)) { + ifp = NDISUSB_GET_IFNET((struct ndis_softc *)p->np_softc); + if (ifp && totlen > ETHER_MAX_FRAME(ifp, eh->ether_type, FALSE)) { diff = totlen - ETHER_MAX_FRAME(ifp, eh->ether_type, FALSE); totlen -= diff; m->m_len -= diff; Modified: stable/11/sys/compat/ndis/subr_ndis.c ============================================================================== --- stable/11/sys/compat/ndis/subr_ndis.c Thu Jun 8 21:34:54 2017 (r319725) +++ stable/11/sys/compat/ndis/subr_ndis.c Thu Jun 8 22:12:10 2017 (r319726) @@ -626,6 +626,9 @@ NdisReadConfiguration(status, parm, cfg, key, type) block = (ndis_miniport_block *)cfg; sc = device_get_softc(block->nmb_physdeviceobj->do_devext); + /* + device_printf(sc->ndis_dev, "NdisReadConfiguration sc=%p\n", sc); + */ if (key->us_len == 0 || key->us_buf == NULL) { *status = NDIS_STATUS_FAILURE; @@ -984,7 +987,7 @@ NdisWriteErrorLogEntry(ndis_handle adapter, ndis_error dev = block->nmb_physdeviceobj->do_devext; drv = block->nmb_deviceobj->do_drvobj; sc = device_get_softc(dev); - ifp = sc->ifp; + ifp = NDISUSB_GET_IFNET(sc); if (ifp != NULL && ifp->if_flags & IFF_DEBUG) { error = pe_get_message((vm_offset_t)drv->dro_driverstart, @@ -1304,17 +1307,19 @@ NdisReadNetworkAddress(status, addr, addrlen, adapter) ndis_handle adapter; { struct ndis_softc *sc; + struct ifnet *ifp; ndis_miniport_block *block; uint8_t empty[] = { 0, 0, 0, 0, 0, 0 }; block = (ndis_miniport_block *)adapter; sc = device_get_softc(block->nmb_physdeviceobj->do_devext); - if (sc->ifp == NULL) { + ifp = NDISUSB_GET_IFNET(sc); + if (ifp == NULL) { *status = NDIS_STATUS_FAILURE; return; } - if (sc->ifp->if_addr == NULL || + if (ifp->if_addr == NULL || bcmp(IF_LLADDR(sc->ifp), empty, ETHER_ADDR_LEN) == 0) *status = NDIS_STATUS_FAILURE; else { Modified: stable/11/sys/dev/if_ndis/if_ndis.c ============================================================================== --- stable/11/sys/dev/if_ndis/if_ndis.c Thu Jun 8 21:34:54 2017 (r319725) +++ stable/11/sys/dev/if_ndis/if_ndis.c Thu Jun 8 22:12:10 2017 (r319726) @@ -147,7 +147,7 @@ static funcptr ndis_rxeof_xfr_done_wrap; static funcptr ndis_linksts_wrap; static funcptr ndis_linksts_done_wrap; static funcptr ndis_ticktask_wrap; -static funcptr ndis_starttask_wrap; +static funcptr ndis_ifstarttask_wrap; static funcptr ndis_resettask_wrap; static funcptr ndis_inputtask_wrap; @@ -162,11 +162,11 @@ static int ndis_raw_xmit (struct ieee80211_node *, str const struct ieee80211_bpf_params *); static void ndis_update_mcast (struct ieee80211com *); static void ndis_update_promisc (struct ieee80211com *); -static void ndis_start (struct ifnet *); -static void ndis_starttask (device_object *, void *); +static void ndis_ifstart (struct ifnet *); +static void ndis_ifstarttask (device_object *, void *); static void ndis_resettask (device_object *, void *); static void ndis_inputtask (device_object *, void *); -static int ndis_ioctl (struct ifnet *, u_long, caddr_t); +static int ndis_ifioctl (struct ifnet *, u_long, caddr_t); static int ndis_newstate (struct ieee80211vap *, enum ieee80211_state, int); static int ndis_nettype_chan (uint32_t); @@ -246,7 +246,7 @@ ndisdrv_modevent(mod, cmd, arg) &ndis_linksts_done_wrap, 1, WINDRV_WRAP_STDCALL); windrv_wrap((funcptr)ndis_ticktask, &ndis_ticktask_wrap, 2, WINDRV_WRAP_STDCALL); - windrv_wrap((funcptr)ndis_starttask, &ndis_starttask_wrap, + windrv_wrap((funcptr)ndis_ifstarttask, &ndis_ifstarttask_wrap, 2, WINDRV_WRAP_STDCALL); windrv_wrap((funcptr)ndis_resettask, &ndis_resettask_wrap, 2, WINDRV_WRAP_STDCALL); @@ -268,7 +268,7 @@ ndisdrv_modevent(mod, cmd, arg) windrv_unwrap(ndis_linksts_wrap); windrv_unwrap(ndis_linksts_done_wrap); windrv_unwrap(ndis_ticktask_wrap); - windrv_unwrap(ndis_starttask_wrap); + windrv_unwrap(ndis_ifstarttask_wrap); windrv_unwrap(ndis_resettask_wrap); windrv_unwrap(ndis_inputtask_wrap); break; @@ -292,11 +292,14 @@ ndis_setmulti(sc) int len, mclistsz, error; uint8_t *mclist; - ifp = sc->ifp; if (!NDIS_INITIALIZED(sc)) return; + if (sc->ndis_80211) + return; + + ifp = sc->ifp; if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { sc->ndis_filter |= NDIS_PACKET_TYPE_ALL_MULTICAST; len = sizeof(sc->ndis_filter); @@ -368,13 +371,14 @@ ndis_set_offload(sc) struct ifnet *ifp; int len, error; - ifp = sc->ifp; - if (!NDIS_INITIALIZED(sc)) return (EINVAL); + if (sc->ndis_80211) + return (EINVAL); /* See if there's anything to set. */ + ifp = sc->ifp; error = ndis_probe_offload(sc); if (error) return (error); @@ -965,8 +969,8 @@ ndis_ifattach(struct ndis_softc *sc) if_initname(ifp, device_get_name(sc->ndis_dev), device_get_unit(sc->ndis_dev)); ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = ndis_ioctl; - ifp->if_start = ndis_start; + ifp->if_ioctl = ndis_ifioctl; + ifp->if_start = ndis_ifstart; ifp->if_init = ndis_init; ifp->if_baudrate = 10000000; IFQ_SET_MAXLEN(&ifp->if_snd, 50); @@ -1560,19 +1564,23 @@ ndis_txeof(adapter, packet, status) sc->ndis_txarray[idx] = NULL; sc->ndis_txpending++; - if (status == NDIS_STATUS_SUCCESS) - if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); - else - if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - + if (!sc->ndis_80211) { + struct ifnet *ifp = sc->ifp; + if (status == NDIS_STATUS_SUCCESS) + if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); + else + if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + } sc->ndis_tx_timer = 0; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; NDIS_UNLOCK(sc); - IoQueueWorkItem(sc->ndis_startitem, - (io_workitem_func)ndis_starttask_wrap, - WORKQUEUE_CRITICAL, ifp); + if (!sc->ndis_80211) + IoQueueWorkItem(sc->ndis_startitem, + (io_workitem_func)ndis_ifstarttask_wrap, + WORKQUEUE_CRITICAL, sc); + DPRINTF(("%s: ndis_ifstarttask_wrap sc=%p\n", __func__, sc)); } static void @@ -1635,9 +1643,10 @@ ndis_linksts_done(adapter) IoQueueWorkItem(sc->ndis_tickitem, (io_workitem_func)ndis_ticktask_wrap, WORKQUEUE_CRITICAL, sc); - IoQueueWorkItem(sc->ndis_startitem, - (io_workitem_func)ndis_starttask_wrap, - WORKQUEUE_CRITICAL, ifp); + if (!sc->ndis_80211) + IoQueueWorkItem(sc->ndis_startitem, + (io_workitem_func)ndis_ifstarttask_wrap, + WORKQUEUE_CRITICAL, sc); break; case NDIS_STATUS_MEDIA_DISCONNECT: if (sc->ndis_link) @@ -1672,9 +1681,10 @@ ndis_tick(xsc) IoQueueWorkItem(sc->ndis_resetitem, (io_workitem_func)ndis_resettask_wrap, WORKQUEUE_CRITICAL, sc); - IoQueueWorkItem(sc->ndis_startitem, - (io_workitem_func)ndis_starttask_wrap, - WORKQUEUE_CRITICAL, sc->ifp); + if (!sc->ndis_80211) + IoQueueWorkItem(sc->ndis_startitem, + (io_workitem_func)ndis_ifstarttask_wrap, + WORKQUEUE_CRITICAL, sc); } callout_reset(&sc->ndis_stat_callout, hz, ndis_tick, sc); @@ -1796,16 +1806,16 @@ ndis_update_promisc(struct ieee80211com *ic) } static void -ndis_starttask(d, arg) - device_object *d; - void *arg; +ndis_ifstarttask(device_object *d, void *arg) { - struct ifnet *ifp; + struct ndis_softc *sc = arg; + DPRINTF(("%s: sc=%p, ifp=%p\n", __func__, sc, sc->ifp)); + if (sc->ndis_80211) + return; - ifp = arg; - + struct ifnet *ifp = sc->ifp; if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) - ndis_start(ifp); + ndis_ifstart(ifp); } /* @@ -1821,8 +1831,7 @@ ndis_starttask(d, arg) * will do the mapping themselves on a buffer by buffer basis. */ static void -ndis_start(ifp) - struct ifnet *ifp; +ndis_ifstart(struct ifnet *ifp) { struct ndis_softc *sc; struct mbuf *m = NULL; @@ -2880,7 +2889,7 @@ ndis_getstate_80211(struct ndis_softc *sc) } static int -ndis_ioctl(ifp, command, data) +ndis_ifioctl(ifp, command, data) struct ifnet *ifp; u_long command; caddr_t data; Modified: stable/11/sys/dev/if_ndis/if_ndisvar.h ============================================================================== --- stable/11/sys/dev/if_ndis/if_ndisvar.h Thu Jun 8 21:34:54 2017 (r319725) +++ stable/11/sys/dev/if_ndis/if_ndisvar.h Thu Jun 8 22:12:10 2017 (r319726) @@ -152,6 +152,7 @@ struct ndisusb_task { }; struct ndis_softc { +#define NDISUSB_GET_IFNET(ndis_softc) ( (ndis_softc)->ndis_80211 ? NULL : (ndis_softc)->ifp ) u_int ndis_80211:1, ndis_link:1, ndis_running:1; From owner-svn-src-all@freebsd.org Thu Jun 8 22:13:30 2017 Return-Path: Delivered-To: svn-src-all@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 4BDB3D851EE; Thu, 8 Jun 2017 22:13:30 +0000 (UTC) (envelope-from glebius@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 197857427B; Thu, 8 Jun 2017 22:13:30 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58MDT9Z015930; Thu, 8 Jun 2017 22:13:29 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58MDTTd015929; Thu, 8 Jun 2017 22:13:29 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706082213.v58MDTTd015929@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 8 Jun 2017 22:13:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319727 - stable/11/sys/dev/nand X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 22:13:30 -0000 Author: glebius Date: Thu Jun 8 22:13:29 2017 New Revision: 319727 URL: https://svnweb.freebsd.org/changeset/base/319727 Log: MFC r317806: The nandsim(4) simulator driver doesn't have any protection against races at least in its ioctl handler, and at the same time it creates device entry with 0666 permissions. To plug possible issues in it: - Mark it as needing Giant. - Switch device mode to 0600. Submitted by: C Turt Reviewed by: imp Security: Possible double free in ioctl handler Approved by: re (marius) Modified: stable/11/sys/dev/nand/nandsim.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/nand/nandsim.c ============================================================================== --- stable/11/sys/dev/nand/nandsim.c Thu Jun 8 22:12:10 2017 (r319726) +++ stable/11/sys/dev/nand/nandsim.c Thu Jun 8 22:13:29 2017 (r319727) @@ -71,6 +71,7 @@ static struct nandsim_chip *get_nandsim_chip(uint8_t, static struct cdevsw nandsim_cdevsw = { .d_version = D_VERSION, + .d_flags = D_NEEDGIANT, .d_ioctl = nandsim_ioctl, .d_name = "nandsim", }; @@ -639,7 +640,7 @@ nandsim_modevent(module_t mod __unused, int type, void switch (type) { case MOD_LOAD: nandsim_dev = make_dev(&nandsim_cdevsw, 0, - UID_ROOT, GID_WHEEL, 0666, "nandsim.ioctl"); + UID_ROOT, GID_WHEEL, 0600, "nandsim.ioctl"); break; case MOD_UNLOAD: for (i = 0; i < MAX_SIM_DEV; i++) { From owner-svn-src-all@freebsd.org Thu Jun 8 22:32:36 2017 Return-Path: Delivered-To: svn-src-all@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 59741D857E3; Thu, 8 Jun 2017 22:32:36 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) (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 2E0A974AD9; Thu, 8 Jun 2017 22:32:35 +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 E09D710AB01; Thu, 8 Jun 2017 18:32:33 -0400 (EDT) From: John Baldwin To: Alan Cox Cc: Bryan Drewery , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r319702 - head/sys/vm Date: Thu, 08 Jun 2017 15:28 -0700 Message-ID: <1987063.fEClCI1ZXD@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.0-STABLE; KDE/4.14.10; amd64; ; ) In-Reply-To: <207FB492-94EE-47FD-BFB8-18F76C5858A5@rice.edu> References: <201706081618.v58GIfZi066106@repo.freebsd.org> <6910627.IXO0pzjk4q@ralph.baldwin.cx> <207FB492-94EE-47FD-BFB8-18F76C5858A5@rice.edu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Thu, 08 Jun 2017 18:32:34 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 22:32:36 -0000 On Thursday, June 08, 2017 05:07:40 PM Alan Cox wrote: >=20 > > On Jun 8, 2017, at 2:37 PM, John Baldwin wrote: > >=20 > > On Thursday, June 08, 2017 12:55:45 PM Bryan Drewery wrote: > >> On 6/8/17 12:18 PM, John Baldwin wrote: > >>> Author: jhb > >>> Date: Thu Jun 8 16:18:41 2017 > >>> New Revision: 319702 > >>> URL: https://svnweb.freebsd.org/changeset/base/319702 > >>>=20 > >>> Log: > >>> Fix an off-by-one error in the VM page array on some systems. > >>>=20 > >>> r31386 changed how the size of the VM page array was calculated = to be > >>> less wasteful.=20 > >>=20 > >> r313186 > >=20 > > Oops. FWIW, this commit fixes a reliable panic booting mips and mi= ps64 > > kernels under qemu. Adrian also reported the same panic on real mi= ps > > hardware. > >=20 >=20 > Any architecture on which we don=E2=80=99t have superpage reservation= s enabled could experience the panic at boot time. Amd64, arm, arm64, = i386, and sparc64 would never panic because of the memory allocated for= the reservation array.=20 Even then it seems to not be guaranteed. The original change has been in CheriBSD for a while, and we have not seen any panics on boot u= nder qemu as I saw with plain FreeBSD probably due to slightly different ear= ly memory allocations. --=20 John Baldwin From owner-svn-src-all@freebsd.org Thu Jun 8 23:10:15 2017 Return-Path: Delivered-To: svn-src-all@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 20EC1D861C0; Thu, 8 Jun 2017 23:10:15 +0000 (UTC) (envelope-from alc@rice.edu) Received: from pp2.rice.edu (proofpoint2.mail.rice.edu [128.42.201.101]) (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 B96E575864; Thu, 8 Jun 2017 23:10:14 +0000 (UTC) (envelope-from alc@rice.edu) Received: from pps.filterd (pp2.rice.edu [127.0.0.1]) by pp2.rice.edu (8.16.0.17/8.16.0.17) with SMTP id v58BRv4q002645; Thu, 8 Jun 2017 18:10:05 -0500 Received: from mh3.mail.rice.edu (mh3.mail.rice.edu [128.42.199.10]) by pp2.rice.edu with ESMTP id 2ay23wrf52-1; Thu, 08 Jun 2017 18:10:05 -0500 X-Virus-Scanned: by amavis-2.7.0 at mh3.mail.rice.edu, auth channel Received: from [10.87.79.168] (unknown [10.87.79.168]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) (Authenticated sender: alc) by mh3.mail.rice.edu (Postfix) with ESMTPSA id 73CC640498; Thu, 8 Jun 2017 18:10:05 -0500 (CDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: svn commit: r319702 - head/sys/vm From: Alan Cox In-Reply-To: <1987063.fEClCI1ZXD@ralph.baldwin.cx> Date: Thu, 8 Jun 2017 18:10:05 -0500 Cc: Bryan Drewery , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <201706081618.v58GIfZi066106@repo.freebsd.org> <6910627.IXO0pzjk4q@ralph.baldwin.cx> <207FB492-94EE-47FD-BFB8-18F76C5858A5@rice.edu> <1987063.fEClCI1ZXD@ralph.baldwin.cx> To: John Baldwin X-Mailer: Apple Mail (2.3124) X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1609300000 definitions=main-1611190142 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 23:10:15 -0000 > On Jun 8, 2017, at 5:28 PM, John Baldwin wrote: >=20 > On Thursday, June 08, 2017 05:07:40 PM Alan Cox wrote: >>=20 >>> On Jun 8, 2017, at 2:37 PM, John Baldwin wrote: >>>=20 >>> On Thursday, June 08, 2017 12:55:45 PM Bryan Drewery wrote: >>>> On 6/8/17 12:18 PM, John Baldwin wrote: >>>>> Author: jhb >>>>> Date: Thu Jun 8 16:18:41 2017 >>>>> New Revision: 319702 >>>>> URL: https://svnweb.freebsd.org/changeset/base/319702 >>>>>=20 >>>>> Log: >>>>> Fix an off-by-one error in the VM page array on some systems. >>>>>=20 >>>>> r31386 changed how the size of the VM page array was calculated to = be >>>>> less wasteful.=20 >>>>=20 >>>> r313186 >>>=20 >>> Oops. FWIW, this commit fixes a reliable panic booting mips and = mips64 >>> kernels under qemu. Adrian also reported the same panic on real = mips >>> hardware. >>>=20 >>=20 >> Any architecture on which we don=E2=80=99t have superpage = reservations enabled could experience the panic at boot time. Amd64, = arm, arm64, i386, and sparc64 would never panic because of the memory = allocated for the reservation array.=20 >=20 > Even then it seems to not be guaranteed. The original change has > been in CheriBSD for a while, and we have not seen any panics on boot = under > qemu as I saw with plain FreeBSD probably due to slightly different = early > memory allocations. >=20 That makes sense. Only a small subset of all possible memory sizes = would trigger the panic, and that subset amounted to only 2.5% of all = possible memory sizes. From owner-svn-src-all@freebsd.org Thu Jun 8 23:56:24 2017 Return-Path: Delivered-To: svn-src-all@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 4E2FED86C5C; Thu, 8 Jun 2017 23:56:24 +0000 (UTC) (envelope-from gjb@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 1612276CAE; Thu, 8 Jun 2017 23:56:24 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v58NuN2G056742; Thu, 8 Jun 2017 23:56:23 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v58NuNXW056741; Thu, 8 Jun 2017 23:56:23 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706082356.v58NuNXW056741@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 8 Jun 2017 23:56:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319728 - stable/11/sys/conf X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jun 2017 23:56:24 -0000 Author: gjb Date: Thu Jun 8 23:56:23 2017 New Revision: 319728 URL: https://svnweb.freebsd.org/changeset/base/319728 Log: Rename stable/11 from PRERELEASE to BETA1 as part of the 11.1-RELEASE cycle. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Modified: stable/11/sys/conf/newvers.sh Modified: stable/11/sys/conf/newvers.sh ============================================================================== --- stable/11/sys/conf/newvers.sh Thu Jun 8 22:13:29 2017 (r319727) +++ stable/11/sys/conf/newvers.sh Thu Jun 8 23:56:23 2017 (r319728) @@ -44,7 +44,7 @@ TYPE="FreeBSD" REVISION="11.1" -BRANCH="PRERELEASE" +BRANCH="BETA1" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi From owner-svn-src-all@freebsd.org Fri Jun 9 01:48:32 2017 Return-Path: Delivered-To: svn-src-all@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 77C1CD88456; Fri, 9 Jun 2017 01:48:32 +0000 (UTC) (envelope-from tuexen@freebsd.org) Received: from drew.franken.de (mail-n.franken.de [193.175.24.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.franken.de", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 322AB79576; Fri, 9 Jun 2017 01:48:31 +0000 (UTC) (envelope-from tuexen@freebsd.org) Received: from [10.0.0.44] (unknown [38.64.177.99]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTPSA id 8FEA7721E281A; Fri, 9 Jun 2017 03:48:21 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: svn commit: r317512 - in head: sys/conf sys/libkern sys/libkern/arm64 sys/sys tests/sys/kern From: Michael Tuexen In-Reply-To: Date: Thu, 8 Jun 2017 21:48:19 -0400 Cc: Dimitry Andric , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Transfer-Encoding: 7bit Message-Id: References: <201704271753.v3RHr6iZ087662@repo.freebsd.org> To: Ed Maste X-Mailer: Apple Mail (2.3273) X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=disabled version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail-n.franken.de X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 01:48:32 -0000 > On 7. Jun 2017, at 23:56, Ed Maste wrote: > > On 7 June 2017 at 18:18, Ed Maste wrote: >> On 27 April 2017 at 13:53, Michael Tuexen wrote: >>> Author: tuexen >>> Date: Thu Apr 27 17:53:05 2017 >>> New Revision: 317512 >>> URL: https://svnweb.freebsd.org/changeset/base/317512 >> >> FYI when compiling this with the clang500-import branch I see: >> >> /scratch/tmp/emaste/freebsd/sys/libkern/arm64/crc32c_armv8.S:41:2: >> error: instruction requires: crc >> crc32cb w0, w0, w10 >> ^ > > Andrew pointed out this is because there's no .arch armv8-a+crc > directive -- which was not supported by Clang 3.8, is supported by > Clang 4.0, and is required by Clang 5.0. I will commit it soon. Thanks a lot! Best regards Michael From owner-svn-src-all@freebsd.org Fri Jun 9 03:30:09 2017 Return-Path: Delivered-To: svn-src-all@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 4E81ED89DB1; Fri, 9 Jun 2017 03:30:09 +0000 (UTC) (envelope-from phil@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 296477C1F8; Fri, 9 Jun 2017 03:30:09 +0000 (UTC) (envelope-from phil@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v593U8iH043093; Fri, 9 Jun 2017 03:30:08 GMT (envelope-from phil@FreeBSD.org) Received: (from phil@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v593U8Yd043090; Fri, 9 Jun 2017 03:30:08 GMT (envelope-from phil@FreeBSD.org) Message-Id: <201706090330.v593U8Yd043090@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: phil set sender to phil@FreeBSD.org using -f From: Phil Shafer Date: Fri, 9 Jun 2017 03:30:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319729 - in vendor/Juniper/libxo/dist: . doc libxo X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 03:30:09 -0000 Author: phil Date: Fri Jun 9 03:30:07 2017 New Revision: 319729 URL: https://svnweb.freebsd.org/changeset/base/319729 Log: Import libxo 0.8.1 Modified: vendor/Juniper/libxo/dist/configure.ac vendor/Juniper/libxo/dist/doc/libxo-manual.html vendor/Juniper/libxo/dist/libxo/libxo.c Modified: vendor/Juniper/libxo/dist/configure.ac ============================================================================== --- vendor/Juniper/libxo/dist/configure.ac Thu Jun 8 23:56:23 2017 (r319728) +++ vendor/Juniper/libxo/dist/configure.ac Fri Jun 9 03:30:07 2017 (r319729) @@ -12,7 +12,7 @@ # AC_PREREQ(2.2) -AC_INIT([libxo], [0.8.0], [phil@juniper.net]) +AC_INIT([libxo], [0.8.1], [phil@juniper.net]) AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability]) # Support silent build rules. Requires at least automake-1.11. Modified: vendor/Juniper/libxo/dist/doc/libxo-manual.html ============================================================================== --- vendor/Juniper/libxo/dist/doc/libxo-manual.html Thu Jun 8 23:56:23 2017 (r319728) +++ vendor/Juniper/libxo/dist/doc/libxo-manual.html Fri Jun 9 03:30:07 2017 (r319729) @@ -22011,7 +22011,7 @@ jQuery(function ($) { -June 3, 2017 +June 8, 2017

      libxo: The Easy Way to Generate text, XML, JSON, and HTML output
      libxo-manual

      Modified: vendor/Juniper/libxo/dist/libxo/libxo.c ============================================================================== --- vendor/Juniper/libxo/dist/libxo/libxo.c Thu Jun 8 23:56:23 2017 (r319728) +++ vendor/Juniper/libxo/dist/libxo/libxo.c Fri Jun 9 03:30:07 2017 (r319729) @@ -239,7 +239,6 @@ typedef uint8_t xo_color_t; #define XO_EFF_CLEAR_BITS XO_EFF_RESET /* Reset gets reset, surprisingly */ typedef uint8_t xo_effect_t; -typedef uint8_t xo_color_t; typedef struct xo_colors_s { xo_effect_t xoc_effects; /* Current effect set */ xo_color_t xoc_col_fg; /* Foreground color */ @@ -685,6 +684,7 @@ xo_default_init (void) #if !defined(NO_LIBXO_OPTIONS) if (!XOF_ISSET(xop, XOF_NO_ENV)) { char *env = getenv("LIBXO_OPTIONS"); + if (env) xo_set_options_simple(xop, env); @@ -1158,7 +1158,7 @@ xo_utf8_emit_len (wchar_t wc) } /* - * Emit a single wide character into the given buffer + * Emit one wide character into the given buffer */ static void xo_utf8_emit_char (char *buf, ssize_t len, wchar_t wc) @@ -1170,7 +1170,7 @@ xo_utf8_emit_char (char *buf, ssize_t len, wchar_t wc) return; } - /* Start with the low bits and insert them, six bits as a time */ + /* Start with the low bits and insert them, six bits at a time */ for (i = len - 1; i >= 0; i--) { buf[i] = 0x80 | (wc & 0x3f); wc >>= 6; /* Drop the low six bits */ @@ -1178,7 +1178,7 @@ xo_utf8_emit_char (char *buf, ssize_t len, wchar_t wc) /* Finish off the first byte with the length bits */ buf[0] &= xo_utf8_data_bits[len]; /* Clear out the length bits */ - buf[0] |= xo_utf8_len_bits[len]; /* Drop in new length bits */ + buf[0] |= xo_utf8_len_bits[len]; /* Drop in new length bits */ } /* @@ -1518,6 +1518,7 @@ xo_warn_hcv (xo_handle_t *xop, int code, int check_war newfmt[plen++] = ':'; newfmt[plen++] = ' '; } + memcpy(newfmt + plen, fmt, len); newfmt[len + plen] = '\0'; @@ -1537,6 +1538,7 @@ xo_warn_hcv (xo_handle_t *xop, int code, int check_war ssize_t left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp); ssize_t rc = vsnprintf(xbp->xb_curp, left, newfmt, vap); + if (rc >= left) { if (!xo_buf_has_room(xbp, rc)) { va_end(va_local); @@ -1549,6 +1551,7 @@ xo_warn_hcv (xo_handle_t *xop, int code, int check_war left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp); rc = vsnprintf(xbp->xb_curp, left, fmt, vap); } + va_end(va_local); rc = xo_escape_xml(xbp, rc, 1); @@ -1559,6 +1562,7 @@ xo_warn_hcv (xo_handle_t *xop, int code, int check_war if (code >= 0) { const char *msg = strerror(code); + if (msg) { xo_buf_append(xbp, ": ", 2); xo_buf_append(xbp, msg, strlen(msg)); @@ -1572,6 +1576,7 @@ xo_warn_hcv (xo_handle_t *xop, int code, int check_war vfprintf(stderr, newfmt, vap); if (code >= 0) { const char *msg = strerror(code); + if (msg) fprintf(stderr, ": %s", msg); } @@ -1688,6 +1693,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char va_copy(va_local, vap); ssize_t left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp); + rc = vsnprintf(xbp->xb_curp, left, fmt, vap); if (rc >= left) { if (!xo_buf_has_room(xbp, rc)) { @@ -1701,6 +1707,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp); rc = vsnprintf(xbp->xb_curp, left, fmt, vap); } + va_end(va_local); rc = xo_escape_xml(xbp, rc, 0); @@ -1708,6 +1715,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char if (need_nl && code > 0) { const char *msg = strerror(code); + if (msg) { xo_buf_append(xbp, ": ", 2); xo_buf_append(xbp, msg, strlen(msg)); @@ -1741,6 +1749,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char va_copy(va_local, vap); rc = vsnprintf(bp, bufsiz, fmt, va_local); } + va_end(va_local); cp = bp + rc; @@ -1776,6 +1785,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char if (need_nl && code > 0) { const char *msg = strerror(code); + if (msg) { xo_printf(xop, ": %s", msg); } @@ -1790,6 +1800,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char case XO_STYLE_HTML: if (XOIF_ISSET(xop, XOIF_DIV_OPEN)) { static char div_close[] = ""; + XOIF_CLEAR(xop, XOIF_DIV_OPEN); xo_data_append(xop, div_close, sizeof(div_close) - 1); @@ -2158,6 +2169,7 @@ xo_set_style_name (xo_handle_t *xop, const char *name) return -1; int style = xo_name_to_style(name); + if (style < 0) return -1; From owner-svn-src-all@freebsd.org Fri Jun 9 03:30:41 2017 Return-Path: Delivered-To: svn-src-all@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 9705CD89E02; Fri, 9 Jun 2017 03:30:41 +0000 (UTC) (envelope-from phil@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 4E6247C330; Fri, 9 Jun 2017 03:30:41 +0000 (UTC) (envelope-from phil@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v593UeEx043154; Fri, 9 Jun 2017 03:30:40 GMT (envelope-from phil@FreeBSD.org) Received: (from phil@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v593Uenq043153; Fri, 9 Jun 2017 03:30:40 GMT (envelope-from phil@FreeBSD.org) Message-Id: <201706090330.v593Uenq043153@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: phil set sender to phil@FreeBSD.org using -f From: Phil Shafer Date: Fri, 9 Jun 2017 03:30:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319730 - vendor/Juniper/libxo/0.8.1 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 03:30:41 -0000 Author: phil Date: Fri Jun 9 03:30:40 2017 New Revision: 319730 URL: https://svnweb.freebsd.org/changeset/base/319730 Log: Tag libxo 0.8.1 Added: - copied from r319729, vendor/Juniper/libxo/dist/ Directory Properties: vendor/Juniper/libxo/0.8.1/ (props changed) From owner-svn-src-all@freebsd.org Fri Jun 9 03:32:50 2017 Return-Path: Delivered-To: svn-src-all@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 B1C7ED89FA6; Fri, 9 Jun 2017 03:32:50 +0000 (UTC) (envelope-from phil@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 8E0747C69D; Fri, 9 Jun 2017 03:32:50 +0000 (UTC) (envelope-from phil@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v593WnSX047008; Fri, 9 Jun 2017 03:32:49 GMT (envelope-from phil@FreeBSD.org) Received: (from phil@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v593Wnj5047003; Fri, 9 Jun 2017 03:32:49 GMT (envelope-from phil@FreeBSD.org) Message-Id: <201706090332.v593Wnj5047003@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: phil set sender to phil@FreeBSD.org using -f From: Phil Shafer Date: Fri, 9 Jun 2017 03:32:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319731 - in head: contrib/libxo contrib/libxo/doc contrib/libxo/libxo lib/libxo X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 03:32:50 -0000 Author: phil Date: Fri Jun 9 03:32:49 2017 New Revision: 319731 URL: https://svnweb.freebsd.org/changeset/base/319731 Log: Import libxo-0.8.1 with official fix to today's build break. Submitted by: phil Modified: head/contrib/libxo/configure.ac head/contrib/libxo/doc/libxo-manual.html head/contrib/libxo/libxo/libxo.c head/lib/libxo/add.man head/lib/libxo/xo_config.h Directory Properties: head/contrib/libxo/ (props changed) Modified: head/contrib/libxo/configure.ac ============================================================================== --- head/contrib/libxo/configure.ac Fri Jun 9 03:30:40 2017 (r319730) +++ head/contrib/libxo/configure.ac Fri Jun 9 03:32:49 2017 (r319731) @@ -12,7 +12,7 @@ # AC_PREREQ(2.2) -AC_INIT([libxo], [0.8.0], [phil@juniper.net]) +AC_INIT([libxo], [0.8.1], [phil@juniper.net]) AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability]) # Support silent build rules. Requires at least automake-1.11. Modified: head/contrib/libxo/doc/libxo-manual.html ============================================================================== --- head/contrib/libxo/doc/libxo-manual.html Fri Jun 9 03:30:40 2017 (r319730) +++ head/contrib/libxo/doc/libxo-manual.html Fri Jun 9 03:32:49 2017 (r319731) @@ -22011,7 +22011,7 @@ jQuery(function ($) { -June 3, 2017 +June 8, 2017

      libxo: The Easy Way to Generate text, XML, JSON, and HTML output
      libxo-manual

      Modified: head/contrib/libxo/libxo/libxo.c ============================================================================== --- head/contrib/libxo/libxo/libxo.c Fri Jun 9 03:30:40 2017 (r319730) +++ head/contrib/libxo/libxo/libxo.c Fri Jun 9 03:32:49 2017 (r319731) @@ -684,6 +684,7 @@ xo_default_init (void) #if !defined(NO_LIBXO_OPTIONS) if (!XOF_ISSET(xop, XOF_NO_ENV)) { char *env = getenv("LIBXO_OPTIONS"); + if (env) xo_set_options_simple(xop, env); @@ -1157,7 +1158,7 @@ xo_utf8_emit_len (wchar_t wc) } /* - * Emit a single wide character into the given buffer + * Emit one wide character into the given buffer */ static void xo_utf8_emit_char (char *buf, ssize_t len, wchar_t wc) @@ -1169,7 +1170,7 @@ xo_utf8_emit_char (char *buf, ssize_t len, wchar_t wc) return; } - /* Start with the low bits and insert them, six bits as a time */ + /* Start with the low bits and insert them, six bits at a time */ for (i = len - 1; i >= 0; i--) { buf[i] = 0x80 | (wc & 0x3f); wc >>= 6; /* Drop the low six bits */ @@ -1177,7 +1178,7 @@ xo_utf8_emit_char (char *buf, ssize_t len, wchar_t wc) /* Finish off the first byte with the length bits */ buf[0] &= xo_utf8_data_bits[len]; /* Clear out the length bits */ - buf[0] |= xo_utf8_len_bits[len]; /* Drop in new length bits */ + buf[0] |= xo_utf8_len_bits[len]; /* Drop in new length bits */ } /* @@ -1517,6 +1518,7 @@ xo_warn_hcv (xo_handle_t *xop, int code, int check_war newfmt[plen++] = ':'; newfmt[plen++] = ' '; } + memcpy(newfmt + plen, fmt, len); newfmt[len + plen] = '\0'; @@ -1536,6 +1538,7 @@ xo_warn_hcv (xo_handle_t *xop, int code, int check_war ssize_t left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp); ssize_t rc = vsnprintf(xbp->xb_curp, left, newfmt, vap); + if (rc >= left) { if (!xo_buf_has_room(xbp, rc)) { va_end(va_local); @@ -1548,6 +1551,7 @@ xo_warn_hcv (xo_handle_t *xop, int code, int check_war left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp); rc = vsnprintf(xbp->xb_curp, left, fmt, vap); } + va_end(va_local); rc = xo_escape_xml(xbp, rc, 1); @@ -1558,6 +1562,7 @@ xo_warn_hcv (xo_handle_t *xop, int code, int check_war if (code >= 0) { const char *msg = strerror(code); + if (msg) { xo_buf_append(xbp, ": ", 2); xo_buf_append(xbp, msg, strlen(msg)); @@ -1571,6 +1576,7 @@ xo_warn_hcv (xo_handle_t *xop, int code, int check_war vfprintf(stderr, newfmt, vap); if (code >= 0) { const char *msg = strerror(code); + if (msg) fprintf(stderr, ": %s", msg); } @@ -1687,6 +1693,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char va_copy(va_local, vap); ssize_t left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp); + rc = vsnprintf(xbp->xb_curp, left, fmt, vap); if (rc >= left) { if (!xo_buf_has_room(xbp, rc)) { @@ -1700,6 +1707,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp); rc = vsnprintf(xbp->xb_curp, left, fmt, vap); } + va_end(va_local); rc = xo_escape_xml(xbp, rc, 0); @@ -1707,6 +1715,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char if (need_nl && code > 0) { const char *msg = strerror(code); + if (msg) { xo_buf_append(xbp, ": ", 2); xo_buf_append(xbp, msg, strlen(msg)); @@ -1740,6 +1749,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char va_copy(va_local, vap); rc = vsnprintf(bp, bufsiz, fmt, va_local); } + va_end(va_local); cp = bp + rc; @@ -1775,6 +1785,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char if (need_nl && code > 0) { const char *msg = strerror(code); + if (msg) { xo_printf(xop, ": %s", msg); } @@ -1789,6 +1800,7 @@ xo_message_hcv (xo_handle_t *xop, int code, const char case XO_STYLE_HTML: if (XOIF_ISSET(xop, XOIF_DIV_OPEN)) { static char div_close[] = ""; + XOIF_CLEAR(xop, XOIF_DIV_OPEN); xo_data_append(xop, div_close, sizeof(div_close) - 1); @@ -2157,6 +2169,7 @@ xo_set_style_name (xo_handle_t *xop, const char *name) return -1; int style = xo_name_to_style(name); + if (style < 0) return -1; Modified: head/lib/libxo/add.man ============================================================================== --- head/lib/libxo/add.man Fri Jun 9 03:30:40 2017 (r319730) +++ head/lib/libxo/add.man Fri Jun 9 03:32:49 2017 (r319731) @@ -3,10 +3,10 @@ .Fx uses .Nm libxo -version 0.8.0. +version 0.8.1. Complete documentation can be found on github: .Bd -literal -offset indent -http://juniper.github.io/libxo/0.8.0/libxo\-manual.html +http://juniper.github.io/libxo/0.8.1/libxo\-manual.html .Ed .Pp .Nm libxo Modified: head/lib/libxo/xo_config.h ============================================================================== --- head/lib/libxo/xo_config.h Fri Jun 9 03:30:40 2017 (r319730) +++ head/lib/libxo/xo_config.h Fri Jun 9 03:32:49 2017 (r319731) @@ -183,16 +183,16 @@ /* #undef LIBXO_TEXT_ONLY */ /* Version number as dotted value */ -#define LIBXO_VERSION "0.8.0" +#define LIBXO_VERSION "0.8.1" /* Version number extra information */ #define LIBXO_VERSION_EXTRA "" /* Version number as a number */ -#define LIBXO_VERSION_NUMBER 8000 +#define LIBXO_VERSION_NUMBER 8001 /* Version number as string */ -#define LIBXO_VERSION_STRING "8000" +#define LIBXO_VERSION_STRING "8001" /* Enable local wcwidth implementation */ #define LIBXO_WCWIDTH 1 @@ -210,7 +210,7 @@ #define PACKAGE_NAME "libxo" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libxo 0.8.0" +#define PACKAGE_STRING "libxo 0.8.1" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "libxo" @@ -219,7 +219,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "0.8.0" +#define PACKAGE_VERSION "0.8.1" /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be @@ -236,7 +236,7 @@ /* #undef USE_INT_RETURN_CODES */ /* Version number of package */ -#define VERSION "0.8.0" +#define VERSION "0.8.1" /* Retain hash bucket size */ /* #undef XO_RETAIN_SIZE */ From owner-svn-src-all@freebsd.org Fri Jun 9 03:34:39 2017 Return-Path: Delivered-To: svn-src-all@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 B0365D8A02F; Fri, 9 Jun 2017 03:34:39 +0000 (UTC) (envelope-from phil@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 80D237C801; Fri, 9 Jun 2017 03:34:39 +0000 (UTC) (envelope-from phil@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v593YcGV047128; Fri, 9 Jun 2017 03:34:38 GMT (envelope-from phil@FreeBSD.org) Received: (from phil@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v593YcnR047127; Fri, 9 Jun 2017 03:34:38 GMT (envelope-from phil@FreeBSD.org) Message-Id: <201706090334.v593YcnR047127@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: phil set sender to phil@FreeBSD.org using -f From: Phil Shafer Date: Fri, 9 Jun 2017 03:34:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319732 - vendor/Juniper/libxo X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 03:34:39 -0000 Author: phil Date: Fri Jun 9 03:34:38 2017 New Revision: 319732 URL: https://svnweb.freebsd.org/changeset/base/319732 Log: Fix import.sh w/ new $BUILDWORLD Submitted by: phil Modified: vendor/Juniper/libxo/import.sh Modified: vendor/Juniper/libxo/import.sh ============================================================================== --- vendor/Juniper/libxo/import.sh Fri Jun 9 03:32:49 2017 (r319731) +++ vendor/Juniper/libxo/import.sh Fri Jun 9 03:34:38 2017 (r319732) @@ -14,6 +14,8 @@ PROJECT=libxo +BUILDWORLD="make -j8 buildworld -DWITH_META_MODE -DNO_CLEAN -DWITHOUT_TESTS" + #"global" vars # Set SVN variables # select the local subversion site @@ -148,6 +150,7 @@ fi info "CWD = $CWD" info "VENDOR_DIR = $VENDOR_DIR" info "VERS = $VERS" +info "BUILDWORLD = $BUILDWORLD" DATESTAMP=`date "+%Y-%m-%d-%H-%M"` [ -z "$VERS" ] && Error "missing version argument (-v)" @@ -158,7 +161,7 @@ Cd $HEAD run "updating all" "svn update" if [ ! -z "$UPDATE" ]; then - run "building the entire world" "script $MAKEOBJDIRPREFIX/out.$DATESTAMP.before make -DNO_CLEAN MK_TESTS=no buildworld" + run "building the entire world" "script $MAKEOBJDIRPREFIX/out.$DATESTAMP.before $BUILDWORLD" fi Cd $CWD @@ -299,7 +302,7 @@ run "copying add.man" "(echo '.\\\" \$FreeBSD\$' ; cat #run "making build dir '$dir'" "make LIBXOSRC=$CWD/dist" #done -run "building the entire world" "script $MAKEOBJDIRPREFIX/out.$DATESTAMP make -DNO_CLEAN MK_TESTS=no buildworld LIBXOSRC=$CWD/dist" +run "building the entire world" "script $MAKEOBJDIRPREFIX/out.$DATESTAMP $BUILDWORLD LIBXOSRC=$CWD/dist" # Okay, so now it all builds!! Now we can start committing.... From owner-svn-src-all@freebsd.org Fri Jun 9 07:08:59 2017 Return-Path: Delivered-To: svn-src-all@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 B6415BD3295; Fri, 9 Jun 2017 07:08:59 +0000 (UTC) (envelope-from avos@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 8155F8137C; Fri, 9 Jun 2017 07:08:59 +0000 (UTC) (envelope-from avos@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5978wvh032181; Fri, 9 Jun 2017 07:08:58 GMT (envelope-from avos@FreeBSD.org) Received: (from avos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5978wG5032178; Fri, 9 Jun 2017 07:08:58 GMT (envelope-from avos@FreeBSD.org) Message-Id: <201706090708.v5978wG5032178@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avos set sender to avos@FreeBSD.org using -f From: Andriy Voskoboinyk Date: Fri, 9 Jun 2017 07:08:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319733 - in head: . share/man/man4 sys/modules/rtwn X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 07:08:59 -0000 Author: avos Date: Fri Jun 9 07:08:58 2017 New Revision: 319733 URL: https://svnweb.freebsd.org/changeset/base/319733 Log: rtwn: rename module (if_rtwn.ko -> rtwn.ko) to match module name + drop manpage link. Reported by: mav, hselasky Modified: head/ObsoleteFiles.inc head/share/man/man4/Makefile head/sys/modules/rtwn/Makefile Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Fri Jun 9 03:34:38 2017 (r319732) +++ head/ObsoleteFiles.inc Fri Jun 9 07:08:58 2017 (r319733) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20170609: drop obsolete manpage link (if_rtwn.ko -> rtwn.ko) +OLD_FILES+=usr/share/man/man4/if_rtwn.4.gz # 20170531: removal of groff OLD_FILES+=usr/bin/addftinfo OLD_FILES+=usr/bin/afmtodit Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Fri Jun 9 03:34:38 2017 (r319732) +++ head/share/man/man4/Makefile Fri Jun 9 07:08:58 2017 (r319733) @@ -700,7 +700,6 @@ MLINKS+=pms.4 pmspcv.4 MLINKS+=ral.4 if_ral.4 MLINKS+=re.4 if_re.4 MLINKS+=rl.4 if_rl.4 -MLINKS+=rtwn.4 if_rtwn.4 MLINKS+=rtwn_pci.4 if_rtwn_pci.4 MLINKS+=rue.4 if_rue.4 MLINKS+=scsi.4 CAM.4 \ Modified: head/sys/modules/rtwn/Makefile ============================================================================== --- head/sys/modules/rtwn/Makefile Fri Jun 9 03:34:38 2017 (r319732) +++ head/sys/modules/rtwn/Makefile Fri Jun 9 07:08:58 2017 (r319733) @@ -5,7 +5,7 @@ SYSDIR?=${SRCTOP}/sys .include "${SYSDIR}/conf/kern.opts.mk" -KMOD = if_rtwn +KMOD = rtwn SRCS = if_rtwn.c if_rtwn_tx.c if_rtwn_rx.c if_rtwn_beacon.c \ if_rtwn_calib.c if_rtwn_cam.c if_rtwn_task.c if_rtwn_efuse.c \ if_rtwn_fw.c if_rtwn_nop.h if_rtwnreg.h if_rtwnvar.h if_rtwn_tx.h \ From owner-svn-src-all@freebsd.org Fri Jun 9 11:17:09 2017 Return-Path: Delivered-To: svn-src-all@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 83A3CBF2291; Fri, 9 Jun 2017 11:17:09 +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 5DDB8366D; Fri, 9 Jun 2017 11:17:09 +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 v59BH8UK034018; Fri, 9 Jun 2017 11:17:08 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59BH89l034016; Fri, 9 Jun 2017 11:17:08 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706091117.v59BH89l034016@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 9 Jun 2017 11:17:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319734 - in head/sys: compat/freebsd32 kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 11:17:09 -0000 Author: kib Date: Fri Jun 9 11:17:08 2017 New Revision: 319734 URL: https://svnweb.freebsd.org/changeset/base/319734 Log: Enhance vfs.ino64_trunc_error sysctl. Provide a new mode "2" which returns a special overflow indicator in the non-representable field instead of the silent truncation (mode "0") or EOVERFLOW (mode "1"). In particular, the typical use of st_ino to detect hard links with mode "2" reports false positives, which might be more suitable for some uses. Discussed with: bde Sponsored by: The FreeBSD Foundation Modified: head/sys/compat/freebsd32/freebsd32_misc.c head/sys/kern/vfs_syscalls.c Modified: head/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_misc.c Fri Jun 9 07:08:58 2017 (r319733) +++ head/sys/compat/freebsd32/freebsd32_misc.c Fri Jun 9 11:17:08 2017 (r319734) @@ -1911,11 +1911,31 @@ freebsd11_cvtstat32(struct stat *in, struct freebsd11_ { CP(*in, *out, st_ino); - if (in->st_ino != out->st_ino && ino64_trunc_error) - return (EOVERFLOW); + if (in->st_ino != out->st_ino) { + switch (ino64_trunc_error) { + default: + case 0: + break; + case 1: + return (EOVERFLOW); + case 2: + out->st_ino = UINT32_MAX; + break; + } + } CP(*in, *out, st_nlink); - if (in->st_nlink != out->st_nlink && ino64_trunc_error) - return (EOVERFLOW); + if (in->st_nlink != out->st_nlink) { + switch (ino64_trunc_error) { + default: + case 0: + break; + case 1: + return (EOVERFLOW); + case 2: + out->st_nlink = UINT16_MAX; + break; + } + } CP(*in, *out, st_dev); CP(*in, *out, st_mode); CP(*in, *out, st_uid); Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Fri Jun 9 07:08:58 2017 (r319733) +++ head/sys/kern/vfs_syscalls.c Fri Jun 9 11:17:08 2017 (r319734) @@ -2117,12 +2117,32 @@ freebsd11_cvtstat(struct stat *st, struct freebsd11_st ost->st_dev = st->st_dev; ost->st_ino = st->st_ino; - if (ost->st_ino != st->st_ino && ino64_trunc_error) - return (EOVERFLOW); + if (ost->st_ino != st->st_ino) { + switch (ino64_trunc_error) { + default: + case 0: + break; + case 1: + return (EOVERFLOW); + case 2: + ost->st_ino = UINT32_MAX; + break; + } + } ost->st_mode = st->st_mode; ost->st_nlink = st->st_nlink; - if (ost->st_nlink != st->st_nlink && ino64_trunc_error) - return (EOVERFLOW); + if (ost->st_nlink != st->st_nlink) { + switch (ino64_trunc_error) { + default: + case 0: + break; + case 1: + return (EOVERFLOW); + case 2: + ost->st_nlink = UINT16_MAX; + break; + } + } ost->st_uid = st->st_uid; ost->st_gid = st->st_gid; ost->st_rdev = st->st_rdev; @@ -3751,8 +3771,19 @@ freebsd11_kern_getdirentries(struct thread *td, int fd dstdp.d_type = dp->d_type; dstdp.d_namlen = dp->d_namlen; dstdp.d_fileno = dp->d_fileno; /* truncate */ - if (dstdp.d_fileno != dp->d_fileno && ino64_trunc_error) - continue; + if (dstdp.d_fileno != dp->d_fileno) { + switch (ino64_trunc_error) { + default: + case 0: + break; + case 1: + error = EOVERFLOW; + goto done; + case 2: + dstdp.d_fileno = UINT32_MAX; + break; + } + } dstdp.d_reclen = sizeof(dstdp) - sizeof(dstdp.d_name) + ((dp->d_namlen + 1 + 3) &~ 3); bcopy(dp->d_name, dstdp.d_name, dstdp.d_namlen); From owner-svn-src-all@freebsd.org Fri Jun 9 12:06:24 2017 Return-Path: Delivered-To: svn-src-all@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 C954EBF35C4; Fri, 9 Jun 2017 12:06:24 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A377B64DEF; Fri, 9 Jun 2017 12:06:24 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v59C6Nj0054111; Fri, 9 Jun 2017 12:06:23 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59C6Nva054105; Fri, 9 Jun 2017 12:06:23 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706091206.v59C6Nva054105@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 9 Jun 2017 12:06:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319735 - in head: sbin/mount_msdosfs sys/conf sys/fs/msdosfs sys/modules/msdosfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 12:06:24 -0000 Author: kib Date: Fri Jun 9 12:06:22 2017 New Revision: 319735 URL: https://svnweb.freebsd.org/changeset/base/319735 Log: Remove msdosfs -o large support. Its purpose was to translate the values for msdosfs inode numbers, which is calculated from the msdosfs structures describing the file, into the range representable by 32bit ino_t. The translation acted for filesystems larger than 128Gb, it reserved the range 0xf0000000 (FILENO_FIRST_DYN) to UINT32_MAX and remembered some arbitrary translation of ino >= FILENO_FIRST_DYN into this range. It consumed memory that could be only freed by unmount, and the translation was not stable across remounts. With ino_t type extended to 64 bit, there is no such issue and values can be returned without compaction to 32bit. That is, for the native environments, the translation layer is not necessary and adds significant undeserved code complexity. For compat ABIs which use 32bit ino_t, the vfs.ino64_trunc_error sysctl provides some measures to soften the failure mode when inode numbers truncation is not safe. Discussed with: bde Sponsored by: The FreeBSD Foundation Deleted: head/sys/fs/msdosfs/msdosfs_fileno.c Modified: head/sbin/mount_msdosfs/mount_msdosfs.8 head/sys/conf/files head/sys/fs/msdosfs/msdosfs_vfsops.c head/sys/fs/msdosfs/msdosfs_vnops.c head/sys/fs/msdosfs/msdosfsmount.h head/sys/modules/msdosfs/Makefile Modified: head/sbin/mount_msdosfs/mount_msdosfs.8 ============================================================================== --- head/sbin/mount_msdosfs/mount_msdosfs.8 Fri Jun 9 11:17:08 2017 (r319734) +++ head/sbin/mount_msdosfs/mount_msdosfs.8 Fri Jun 9 12:06:22 2017 (r319735) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 3, 2017 +.Dd May 28, 2017 .Dt MOUNT_MSDOSFS 8 .Os .Sh NAME @@ -73,11 +73,6 @@ as described in .Xr mount 8 . The following MSDOS file system-specific options are available: .Bl -tag -width indent -.It Cm large -Support file systems larger than 128 gigabytes at the expense -of 32 bytes of kernel memory for each file on disk. -This memory will not be reclaimed until the file system has -been unmounted. .It Cm longnames Force Windows 95 long filenames to be visible. .It Cm shortnames Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Fri Jun 9 11:17:08 2017 (r319734) +++ head/sys/conf/files Fri Jun 9 12:06:22 2017 (r319735) @@ -3323,7 +3323,6 @@ fs/fuse/fuse_vnops.c optional fuse fs/msdosfs/msdosfs_conv.c optional msdosfs fs/msdosfs/msdosfs_denode.c optional msdosfs fs/msdosfs/msdosfs_fat.c optional msdosfs -fs/msdosfs/msdosfs_fileno.c optional msdosfs fs/msdosfs/msdosfs_iconv.c optional msdosfs_iconv fs/msdosfs/msdosfs_lookup.c optional msdosfs fs/msdosfs/msdosfs_vfsops.c optional msdosfs Modified: head/sys/fs/msdosfs/msdosfs_vfsops.c ============================================================================== --- head/sys/fs/msdosfs/msdosfs_vfsops.c Fri Jun 9 11:17:08 2017 (r319734) +++ head/sys/fs/msdosfs/msdosfs_vfsops.c Fri Jun 9 12:06:22 2017 (r319735) @@ -82,7 +82,7 @@ static const char *msdosfs_opts[] = { "async", "noatime", "noclusterr", "noclusterw", "export", "force", "from", "sync", "cs_dos", "cs_local", "cs_win", "dirmask", - "gid", "kiconv", "large", "longname", + "gid", "kiconv", "longname", "longnames", "mask", "shortname", "shortnames", "uid", "win95", "nowin95", NULL @@ -242,17 +242,6 @@ msdosfs_mount(struct mount *mp) */ if (mp->mnt_flag & MNT_UPDATE) { pmp = VFSTOMSDOSFS(mp); - if (vfs_flagopt(mp->mnt_optnew, "export", NULL, 0)) { - /* - * Forbid export requests if filesystem has - * MSDOSFS_LARGEFS flag set. - */ - if ((pmp->pm_flags & MSDOSFS_LARGEFS) != 0) { - vfs_mount_error(mp, - "MSDOSFS_LARGEFS flag set, cannot export"); - return (EOPNOTSUPP); - } - } if (!(pmp->pm_flags & MSDOSFSMNT_RONLY) && vfs_flagopt(mp->mnt_optnew, "ro", NULL, 0)) { error = VFS_SYNC(mp, MNT_WAIT); @@ -467,20 +456,6 @@ mountmsdosfs(struct vnode *devvp, struct mount *mp) S_IRUSR | S_IRGRP | S_IROTH | S_IWUSR; /* - * Experimental support for large MS-DOS filesystems. - * WARNING: This uses at least 32 bytes of kernel memory (which is not - * reclaimed until the FS is unmounted) for each file on disk to map - * between the 32-bit inode numbers used by VFS and the 64-bit - * pseudo-inode numbers used internally by msdosfs. This is only - * safe to use in certain controlled situations (e.g. read-only FS - * with less than 1 million files). - * Since the mappings do not persist across unmounts (or reboots), these - * filesystems are not suitable for exporting through NFS, or any other - * application that requires fixed inode numbers. - */ - vfs_flagopt(mp->mnt_optnew, "large", &pmp->pm_flags, MSDOSFS_LARGEFS); - - /* * Compute several useful quantities from the bpb in the * bootsector. Copy in the dos 5 variant of the bpb then fix up * the fields that are different between dos 5 and dos 3.3. @@ -521,20 +496,6 @@ mountmsdosfs(struct vnode *devvp, struct mount *mp) pmp->pm_HiddenSects = getushort(b33->bpbHiddenSecs); pmp->pm_HugeSectors = pmp->pm_Sectors; } - if (!(pmp->pm_flags & MSDOSFS_LARGEFS)) { - if (pmp->pm_HugeSectors > 0xffffffff / - (pmp->pm_BytesPerSec / sizeof(struct direntry)) + 1) { - /* - * We cannot deal currently with this size of disk - * due to fileid limitations (see msdosfs_getattr and - * msdosfs_readdir) - */ - error = EINVAL; - vfs_mount_error(mp, - "Disk too big, try '-o large' mount option"); - goto error_exit; - } - } if (pmp->pm_RootDirEnts == 0) { if (pmp->pm_FATsecs @@ -745,11 +706,8 @@ mountmsdosfs(struct vnode *devvp, struct mount *mp) mp->mnt_kern_flag |= MNTK_USES_BCACHE | MNTK_NO_IOPF; MNT_IUNLOCK(mp); - if (pmp->pm_flags & MSDOSFS_LARGEFS) - msdosfs_fileno_init(mp); + return (0); - return 0; - error_exit: if (bp) brelse(bp); @@ -835,8 +793,6 @@ msdosfs_unmount(struct mount *mp, int mntflags) vrele(pmp->pm_devvp); dev_rel(pmp->pm_dev); free(pmp->pm_inusemap, M_MSDOSFSFAT); - if (pmp->pm_flags & MSDOSFS_LARGEFS) - msdosfs_fileno_free(mp); lockdestroy(&pmp->pm_fatlock); free(pmp, M_MSDOSFSMNT); mp->mnt_data = NULL; Modified: head/sys/fs/msdosfs/msdosfs_vnops.c ============================================================================== --- head/sys/fs/msdosfs/msdosfs_vnops.c Fri Jun 9 11:17:08 2017 (r319734) +++ head/sys/fs/msdosfs/msdosfs_vnops.c Fri Jun 9 12:06:22 2017 (r319735) @@ -284,12 +284,8 @@ msdosfs_getattr(struct vop_getattr_args *ap) fileid = (uint64_t)roottobn(pmp, 0) * dirsperblk; fileid += (uoff_t)dep->de_diroffset / sizeof(struct direntry); } + vap->va_fileid = fileid; - if (pmp->pm_flags & MSDOSFS_LARGEFS) - vap->va_fileid = msdosfs_fileno_map(pmp->pm_mountp, fileid); - else - vap->va_fileid = (long)fileid; - mode = S_IRWXU|S_IRWXG|S_IRWXO; vap->va_mode = mode & (ap->a_vp->v_type == VDIR ? pmp->pm_dirmask : pmp->pm_mask); @@ -1472,7 +1468,6 @@ msdosfs_readdir(struct vop_readdir_args *ap) int blsize; long on; u_long cn; - uint64_t fileno; u_long dirsperblk; long bias = 0; daddr_t bn, lbn; @@ -1543,20 +1538,9 @@ msdosfs_readdir(struct vop_readdir_args *ap) if (offset < bias) { for (n = (int)offset / sizeof(struct direntry); n < 2; n++) { - if (FAT32(pmp)) - fileno = (uint64_t)cntobn(pmp, - pmp->pm_rootdirblk) - * dirsperblk; - else - fileno = 1; - if (pmp->pm_flags & MSDOSFS_LARGEFS) { - dirbuf.d_fileno = - msdosfs_fileno_map(pmp->pm_mountp, - fileno); - } else { - - dirbuf.d_fileno = (uint32_t)fileno; - } + dirbuf.d_fileno = FAT32(pmp) ? + (uint64_t)cntobn(pmp, pmp->pm_rootdirblk) * + dirsperblk : 1; dirbuf.d_type = DT_DIR; switch (n) { case 0: @@ -1661,31 +1645,24 @@ msdosfs_readdir(struct vop_readdir_args *ap) * msdosfs_getattr. */ if (dentp->deAttributes & ATTR_DIRECTORY) { - fileno = getushort(dentp->deStartCluster); - if (FAT32(pmp)) - fileno |= getushort(dentp->deHighClust) << 16; - /* if this is the root directory */ - if (fileno == MSDOSFSROOT) - if (FAT32(pmp)) - fileno = (uint64_t)cntobn(pmp, - pmp->pm_rootdirblk) - * dirsperblk; - else - fileno = 1; + cn = getushort(dentp->deStartCluster); + if (FAT32(pmp)) { + cn |= getushort(dentp->deHighClust) << + 16; + if (cn == MSDOSFSROOT) + cn = pmp->pm_rootdirblk; + } + if (cn == MSDOSFSROOT && !FAT32(pmp)) + dirbuf.d_fileno = 1; else - fileno = (uint64_t)cntobn(pmp, fileno) * + dirbuf.d_fileno = cntobn(pmp, cn) * dirsperblk; dirbuf.d_type = DT_DIR; } else { - fileno = (uoff_t)offset / + dirbuf.d_fileno = (uoff_t)offset / sizeof(struct direntry); dirbuf.d_type = DT_REG; } - if (pmp->pm_flags & MSDOSFS_LARGEFS) { - dirbuf.d_fileno = - msdosfs_fileno_map(pmp->pm_mountp, fileno); - } else - dirbuf.d_fileno = (uint32_t)fileno; if (chksum != winChksum(dentp->deName)) { dirbuf.d_namlen = dos2unixfn(dentp->deName, Modified: head/sys/fs/msdosfs/msdosfsmount.h ============================================================================== --- head/sys/fs/msdosfs/msdosfsmount.h Fri Jun 9 11:17:08 2017 (r319734) +++ head/sys/fs/msdosfs/msdosfsmount.h Fri Jun 9 12:06:22 2017 (r319735) @@ -108,10 +108,7 @@ struct msdosfsmount { void *pm_w2u; /* Unicode->Local iconv handle */ void *pm_u2d; /* Unicode->DOS iconv handle */ void *pm_d2u; /* DOS->Local iconv handle */ - uint32_t pm_nfileno; /* next 32-bit fileno */ - RB_HEAD(msdosfs_filenotree, msdosfs_fileno) - pm_filenos; /* 64<->32-bit fileno mapping */ - struct lock pm_fatlock; /* lockmgr protecting allocations and rb tree */ + struct lock pm_fatlock; /* lockmgr protecting allocations */ }; /* @@ -216,10 +213,6 @@ struct msdosfs_fileno { ? roottobn((pmp), (dirofs)) \ : cntobn((pmp), (dirclu))) -void msdosfs_fileno_init(struct mount *); -void msdosfs_fileno_free(struct mount *); -uint32_t msdosfs_fileno_map(struct mount *, uint64_t); - #define MSDOSFS_LOCK_MP(pmp) \ lockmgr(&(pmp)->pm_fatlock, LK_EXCLUSIVE, NULL) #define MSDOSFS_UNLOCK_MP(pmp) \ @@ -261,7 +254,6 @@ struct msdosfs_args { #define MSDOSFSMNT_RONLY 0x80000000 /* mounted read-only */ #define MSDOSFSMNT_WAITONFAT 0x40000000 /* mounted synchronous */ #define MSDOSFS_FATMIRROR 0x20000000 /* FAT is mirrored */ -#define MSDOSFS_LARGEFS 0x10000000 /* perform fileno mapping */ #define MSDOSFS_FSIMOD 0x01000000 #endif /* !_MSDOSFS_MSDOSFSMOUNT_H_ */ Modified: head/sys/modules/msdosfs/Makefile ============================================================================== --- head/sys/modules/msdosfs/Makefile Fri Jun 9 11:17:08 2017 (r319734) +++ head/sys/modules/msdosfs/Makefile Fri Jun 9 12:06:22 2017 (r319735) @@ -4,7 +4,7 @@ KMOD= msdosfs SRCS= vnode_if.h \ - msdosfs_conv.c msdosfs_denode.c msdosfs_fat.c msdosfs_fileno.c \ + msdosfs_conv.c msdosfs_denode.c msdosfs_fat.c \ msdosfs_lookup.c msdosfs_vfsops.c msdosfs_vnops.c EXPORT_SYMS= msdosfs_iconv From owner-svn-src-all@freebsd.org Fri Jun 9 14:55:13 2017 Return-Path: Delivered-To: svn-src-all@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 8EE1ABF670B; Fri, 9 Jun 2017 14:55:13 +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 69A346EB15; Fri, 9 Jun 2017 14:55:13 +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 v59EtCAB026868; Fri, 9 Jun 2017 14:55:12 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59EtC5Q026867; Fri, 9 Jun 2017 14:55:12 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091455.v59EtC5Q026867@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 14:55:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319736 - in vendor-sys/illumos/dist/uts/common: . sys/sysevent X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 14:55:13 -0000 Author: avg Date: Fri Jun 9 14:55:12 2017 New Revision: 319736 URL: https://svnweb.freebsd.org/changeset/base/319736 Log: 6396 remove SVM illumos/illumos-gate@5f10ef697f250374b7b917e10961c4e02d4e3112 https://github.com/illumos/illumos-gate/commit/5f10ef697f250374b7b917e10961c4e02d4e3112 https://www.illumos.org/issues/6396 LVM = SVM = Solaris Volume Manager dead code and not using with ZFS based platform. Reviewed by: Igor Kozhukhov Reviewed by: Toomas Soome Approved by: Hans Rosenfeld Author: Yuri Pankov Modified: vendor-sys/illumos/dist/uts/common/Makefile.files vendor-sys/illumos/dist/uts/common/sys/sysevent/eventdefs.h Modified: vendor-sys/illumos/dist/uts/common/Makefile.files ============================================================================== --- vendor-sys/illumos/dist/uts/common/Makefile.files Fri Jun 9 12:06:22 2017 (r319735) +++ vendor-sys/illumos/dist/uts/common/Makefile.files Fri Jun 9 14:55:12 2017 (r319736) @@ -1308,30 +1308,6 @@ SMBFS_OBJS += smbfs_vfsops.o smbfs_vnops.o smbfs_node. $(SMBFS_COMMON_OBJS) -# -# LVM modules -# -MD_OBJS += md.o md_error.o md_ioctl.o md_mddb.o md_names.o \ - md_med.o md_rename.o md_subr.o - -MD_COMMON_OBJS = md_convert.o md_crc.o md_revchk.o - -MD_DERIVED_OBJS = metamed_xdr.o meta_basic_xdr.o - -SOFTPART_OBJS += sp.o sp_ioctl.o - -STRIPE_OBJS += stripe.o stripe_ioctl.o - -HOTSPARES_OBJS += hotspares.o - -RAID_OBJS += raid.o raid_ioctl.o raid_replay.o raid_resync.o raid_hotspare.o - -MIRROR_OBJS += mirror.o mirror_ioctl.o mirror_resync.o - -NOTIFY_OBJS += md_notify.o - -TRANS_OBJS += mdtrans.o trans_ioctl.o trans_log.o - ZFS_COMMON_OBJS += \ abd.o \ arc.o \ Modified: vendor-sys/illumos/dist/uts/common/sys/sysevent/eventdefs.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/sys/sysevent/eventdefs.h Fri Jun 9 12:06:22 2017 (r319735) +++ vendor-sys/illumos/dist/uts/common/sys/sysevent/eventdefs.h Fri Jun 9 14:55:12 2017 (r319736) @@ -18,9 +18,10 @@ * * CDDL HEADER END */ + /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2015 Nexenta Systems, Inc. All rights reserved. + * Copyright 2016 Nexenta Systems, Inc. */ #ifndef _SYS_SYSEVENT_EVENTDEFS_H @@ -59,67 +60,6 @@ extern "C" { * by Sun Cluster software. */ #define EC_CLUSTER "EC_Cluster" - -/* - * The following classes are exclusively reserved for use by the - * Solaris Volume Manager (SVM) - */ -#define EC_SVM_CONFIG "EC_SVM_Config" -#define EC_SVM_STATE "EC_SVM_State" - -/* - * EC_SVM_CONFIG subclass definitions - supporting attributes (name/value pairs) - * are found in sys/sysevent/svm.h - */ -#define ESC_SVM_CREATE "ESC_SVM_Create" -#define ESC_SVM_DELETE "ESC_SVM_Delete" -#define ESC_SVM_ADD "ESC_SVM_Add" -#define ESC_SVM_REMOVE "ESC_SVM_Remove" -#define ESC_SVM_REPLACE "ESC_SVM_Replace" -#define ESC_SVM_GROW "ESC_SVM_Grow" -#define ESC_SVM_RENAME_SRC "ESC_SVM_Rename_Src" -#define ESC_SVM_RENAME_DST "ESC_SVM_Rename_Dst" -#define ESC_SVM_MEDIATOR_ADD "ESC_SVM_Mediator_Add" -#define ESC_SVM_MEDIATOR_DELETE "ESC_SVM_Mediator_Delete" -#define ESC_SVM_HOST_ADD "ESC_SVM_Host_Add" -#define ESC_SVM_HOST_DELETE "ESC_SVM_Host_Delete" -#define ESC_SVM_DRIVE_ADD "ESC_SVM_Drive_Add" -#define ESC_SVM_DRIVE_DELETE "ESC_SVM_Drive_Delete" -#define ESC_SVM_DETACH "ESC_SVM_Detach" -#define ESC_SVM_DETACHING "ESC_SVM_Detaching" -#define ESC_SVM_ATTACH "ESC_SVM_Attach" -#define ESC_SVM_ATTACHING "ESC_SVM_Attaching" - -/* - * EC_SVM_STATE subclass definitions - supporting attributes (name/value pairs) - * are found in sys/sysevent/svm.h - */ -#define ESC_SVM_INIT_START "ESC_SVM_Init_Start" -#define ESC_SVM_INIT_FAILED "ESC_SVM_Init_Failed" -#define ESC_SVM_INIT_FATAL "ESC_SVM_Init_Fatal" -#define ESC_SVM_INIT_SUCCESS "ESC_SVM_Init_Success" -#define ESC_SVM_IOERR "ESC_SVM_Ioerr" -#define ESC_SVM_ERRED "ESC_SVM_Erred" -#define ESC_SVM_LASTERRED "ESC_SVM_Lasterred" -#define ESC_SVM_OK "ESC_SVM_Ok" -#define ESC_SVM_ENABLE "ESC_SVM_Enable" -#define ESC_SVM_RESYNC_START "ESC_SVM_Resync_Start" -#define ESC_SVM_RESYNC_FAILED "ESC_SVM_Resync_Failed" -#define ESC_SVM_RESYNC_SUCCESS "ESC_SVM_Resync_Success" -#define ESC_SVM_RESYNC_DONE "ESC_SVM_Resync_Done" -#define ESC_SVM_HOTSPARED "ESC_SVM_Hotspared" -#define ESC_SVM_HS_FREED "ESC_SVM_HS_Freed" -#define ESC_SVM_HS_CHANGED "ESC_SVM_HS_Changed" -#define ESC_SVM_TAKEOVER "ESC_SVM_Takeover" -#define ESC_SVM_RELEASE "ESC_SVM_Release" -#define ESC_SVM_OPEN_FAIL "ESC_SVM_Open_Fail" -#define ESC_SVM_OFFLINE "ESC_SVM_Offline" -#define ESC_SVM_ONLINE "ESC_SVM_Online" -#define ESC_SVM_CHANGE "ESC_SVM_Change" -#define ESC_SVM_EXCHANGE "ESC_SVM_Exchange" -#define ESC_SVM_REGEN_START "ESC_SVM_Regen_Start" -#define ESC_SVM_REGEN_DONE "ESC_SVM_Regen_Done" -#define ESC_SVM_REGEN_FAILED "ESC_SVM_Regen_Failed" /* * EC_DR subclass definitions - supporting attributes (name/value pairs) From owner-svn-src-all@freebsd.org Fri Jun 9 14:56:19 2017 Return-Path: Delivered-To: svn-src-all@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 D7277BF6771; Fri, 9 Jun 2017 14:56:19 +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 A23FE6EC35; Fri, 9 Jun 2017 14:56:19 +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 v59EuI86026951; Fri, 9 Jun 2017 14:56:18 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59EuIj6026942; Fri, 9 Jun 2017 14:56:18 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091456.v59EuIj6026942@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 14:56:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319737 - in vendor-sys/illumos/dist/uts/common: fs/zfs fs/zfs/sys sys/fs sys/sysevent X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 14:56:19 -0000 Author: avg Date: Fri Jun 9 14:56:17 2017 New Revision: 319737 URL: https://svnweb.freebsd.org/changeset/base/319737 Log: 6939 add sysevents to zfs core for commands illumos/illumos-gate@ce1577b04976f1d8bb5f235b6eaaab15b46a3068 https://github.com/illumos/illumos-gate/commit/ce1577b04976f1d8bb5f235b6eaaab15b46a3068 https://www.illumos.org/issues/6939 Originally created https://smartos.org/bugview/OS-4489 sysevents should be fired in the kernel from ZFS whenever a command is run that is logged in zpool history. Example output Terminal 1 root - gz sunos ~ # zfs create zones/foobar root - gz sunos ~ # zfs set quota=10g zones/foobar root - gz sunos ~ # zfs destroy zones/foobar Terminal 2 root - gz sunos ~ # sysevent EC_zfs nvlist version: 0 date = 2016-04-28T14:50:08.964Z vendor = SUNW publisher = zfs class = EC_zfs subclass = ESC_ZFS_history_event pid = 0 data = (embedded nvlist) nvlist version: 0 pool_name = zones pool_guid = 0x40c964e8f9a7a694 history_record = (embedded nvlist) nvlist version: 0 dsname = zones/foobar dsid = 0x1525 history internal str = internal_name = create history txg = 0x4c4ef3 Reviewed by: Patrick Mooney Reviewed by: Joshua M. Clulow Reviewed by: Josh Wilsdon Reviewed by: Matthew Ahrens Reviewed by: George Wilson Reviewed by: Richard Elling Reviewed by: Alan Somers Reviewed by: Andrew Stormont Approved by: Matthew Ahrens Author: Dave Eddy Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_config.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h vendor-sys/illumos/dist/uts/common/sys/sysevent/eventdefs.h Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c Fri Jun 9 14:55:12 2017 (r319736) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c Fri Jun 9 14:56:17 2017 (r319737) @@ -22,6 +22,7 @@ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2016 Gary Mills * Copyright (c) 2011, 2016 by Delphix. All rights reserved. + * Copyright 2017 Joyent, Inc. */ #include @@ -214,9 +215,10 @@ dsl_scan_setup_sync(void *arg, dmu_tx_t *tx) if (vdev_resilver_needed(spa->spa_root_vdev, &scn->scn_phys.scn_min_txg, &scn->scn_phys.scn_max_txg)) { - spa_event_notify(spa, NULL, ESC_ZFS_RESILVER_START); + spa_event_notify(spa, NULL, NULL, + ESC_ZFS_RESILVER_START); } else { - spa_event_notify(spa, NULL, ESC_ZFS_SCRUB_START); + spa_event_notify(spa, NULL, NULL, ESC_ZFS_SCRUB_START); } spa->spa_scrub_started = B_TRUE; @@ -323,7 +325,8 @@ dsl_scan_done(dsl_scan_t *scn, boolean_t complete, dmu vdev_dtl_reassess(spa->spa_root_vdev, tx->tx_txg, complete ? scn->scn_phys.scn_max_txg : 0, B_TRUE); if (complete) { - spa_event_notify(spa, NULL, scn->scn_phys.scn_min_txg ? + spa_event_notify(spa, NULL, NULL, + scn->scn_phys.scn_min_txg ? ESC_ZFS_RESILVER_FINISH : ESC_ZFS_SCRUB_FINISH); } spa_errlog_rotate(spa); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c Fri Jun 9 14:55:12 2017 (r319736) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c Fri Jun 9 14:56:17 2017 (r319737) @@ -27,6 +27,7 @@ * Copyright 2013 Saso Kiselkov. All rights reserved. * Copyright (c) 2014 Integros [integros.com] * Copyright 2016 Toomas Soome + * Copyright 2017 Joyent, Inc. */ /* @@ -141,7 +142,8 @@ const zio_taskq_info_t zio_taskqs[ZIO_TYPES][ZIO_TASKQ { ZTI_ONE, ZTI_NULL, ZTI_ONE, ZTI_NULL }, /* IOCTL */ }; -static sysevent_t *spa_event_create(spa_t *spa, vdev_t *vd, const char *name); +static sysevent_t *spa_event_create(spa_t *spa, vdev_t *vd, nvlist_t *hist_nvl, + const char *name); static void spa_event_post(sysevent_t *ev); static void spa_sync_version(void *arg, dmu_tx_t *tx); static void spa_sync_props(void *arg, dmu_tx_t *tx); @@ -783,7 +785,7 @@ spa_change_guid(spa_t *spa) if (error == 0) { spa_config_sync(spa, B_FALSE, B_TRUE); - spa_event_notify(spa, NULL, ESC_ZFS_POOL_REGUID); + spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_REGUID); } mutex_exit(&spa_namespace_lock); @@ -1614,7 +1616,7 @@ spa_check_removed(vdev_t *vd) if (vd->vdev_ops->vdev_op_leaf && vdev_is_dead(vd) && !vd->vdev_ishole) { zfs_post_autoreplace(vd->vdev_spa, vd); - spa_event_notify(vd->vdev_spa, vd, ESC_ZFS_VDEV_CHECK); + spa_event_notify(vd->vdev_spa, vd, NULL, ESC_ZFS_VDEV_CHECK); } } @@ -3823,7 +3825,7 @@ spa_create(const char *pool, nvlist_t *nvroot, nvlist_ txg_wait_synced(spa->spa_dsl_pool, txg); spa_config_sync(spa, B_FALSE, B_TRUE); - spa_event_notify(spa, NULL, ESC_ZFS_POOL_CREATE); + spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_CREATE); spa_history_log_version(spa, "create"); @@ -4090,7 +4092,7 @@ spa_import(const char *pool, nvlist_t *config, nvlist_ spa_configfile_set(spa, props, B_FALSE); spa_config_sync(spa, B_FALSE, B_TRUE); - spa_event_notify(spa, NULL, ESC_ZFS_POOL_IMPORT); + spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_IMPORT); mutex_exit(&spa_namespace_lock); return (0); @@ -4223,7 +4225,7 @@ spa_import(const char *pool, nvlist_t *config, nvlist_ spa_history_log_version(spa, "import"); - spa_event_notify(spa, NULL, ESC_ZFS_POOL_IMPORT); + spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_IMPORT); mutex_exit(&spa_namespace_lock); @@ -4412,7 +4414,7 @@ spa_export_common(char *pool, int new_state, nvlist_t } } - spa_event_notify(spa, NULL, ESC_ZFS_POOL_DESTROY); + spa_event_notify(spa, NULL, NULL, ESC_ZFS_POOL_DESTROY); if (spa->spa_state != POOL_STATE_UNINITIALIZED) { spa_unload(spa); @@ -4567,7 +4569,7 @@ spa_vdev_add(spa_t *spa, nvlist_t *nvroot) mutex_enter(&spa_namespace_lock); spa_config_update(spa, SPA_CONFIG_UPDATE_POOL); - spa_event_notify(spa, NULL, ESC_ZFS_VDEV_ADD); + spa_event_notify(spa, NULL, NULL, ESC_ZFS_VDEV_ADD); mutex_exit(&spa_namespace_lock); return (0); @@ -4743,7 +4745,7 @@ spa_vdev_attach(spa_t *spa, uint64_t guid, nvlist_t *n if (newvd->vdev_isspare) { spa_spare_activate(newvd); - spa_event_notify(spa, newvd, ESC_ZFS_VDEV_SPARE); + spa_event_notify(spa, newvd, NULL, ESC_ZFS_VDEV_SPARE); } oldvdpath = spa_strdup(oldvd->vdev_path); @@ -4763,9 +4765,9 @@ spa_vdev_attach(spa_t *spa, uint64_t guid, nvlist_t *n dsl_resilver_restart(spa->spa_dsl_pool, dtl_max_txg); if (spa->spa_bootfs) - spa_event_notify(spa, newvd, ESC_ZFS_BOOTFS_VDEV_ATTACH); + spa_event_notify(spa, newvd, NULL, ESC_ZFS_BOOTFS_VDEV_ATTACH); - spa_event_notify(spa, newvd, ESC_ZFS_VDEV_ATTACH); + spa_event_notify(spa, newvd, NULL, ESC_ZFS_VDEV_ATTACH); /* * Commit the config @@ -4979,7 +4981,7 @@ spa_vdev_detach(spa_t *spa, uint64_t guid, uint64_t pg vd->vdev_detached = B_TRUE; vdev_dirty(tvd, VDD_DTL, vd, txg); - spa_event_notify(spa, vd, ESC_ZFS_VDEV_REMOVE); + spa_event_notify(spa, vd, NULL, ESC_ZFS_VDEV_REMOVE); /* hang on to the spa before we release the lock */ spa_open_ref(spa, FTAG); @@ -5488,7 +5490,8 @@ spa_vdev_remove(spa_t *spa, uint64_t guid, boolean_t u if (vd == NULL || unspare) { if (vd == NULL) vd = spa_lookup_by_guid(spa, guid, B_TRUE); - ev = spa_event_create(spa, vd, ESC_ZFS_VDEV_REMOVE_AUX); + ev = spa_event_create(spa, vd, NULL, + ESC_ZFS_VDEV_REMOVE_AUX); spa_vdev_remove_aux(spa->spa_spares.sav_config, ZPOOL_CONFIG_SPARES, spares, nspares, nv); spa_load_spares(spa); @@ -5504,7 +5507,7 @@ spa_vdev_remove(spa_t *spa, uint64_t guid, boolean_t u * Cache devices can always be removed. */ vd = spa_lookup_by_guid(spa, guid, B_TRUE); - ev = spa_event_create(spa, vd, ESC_ZFS_VDEV_REMOVE_AUX); + ev = spa_event_create(spa, vd, NULL, ESC_ZFS_VDEV_REMOVE_AUX); spa_vdev_remove_aux(spa->spa_l2cache.sav_config, ZPOOL_CONFIG_L2CACHE, l2cache, nl2cache, nv); spa_load_l2cache(spa); @@ -5545,7 +5548,7 @@ spa_vdev_remove(spa_t *spa, uint64_t guid, boolean_t u /* * Clean up the vdev namespace. */ - ev = spa_event_create(spa, vd, ESC_ZFS_VDEV_REMOVE_DEV); + ev = spa_event_create(spa, vd, NULL, ESC_ZFS_VDEV_REMOVE_DEV); spa_vdev_remove_from_namespace(spa, vd); } else if (vd != NULL) { @@ -6949,7 +6952,7 @@ spa_has_active_shared_spare(spa_t *spa) } static sysevent_t * -spa_event_create(spa_t *spa, vdev_t *vd, const char *name) +spa_event_create(spa_t *spa, vdev_t *vd, nvlist_t *hist_nvl, const char *name) { sysevent_t *ev = NULL; #ifdef _KERNEL @@ -6986,6 +6989,10 @@ spa_event_create(spa_t *spa, vdev_t *vd, const char *n } } + if (hist_nvl != NULL) { + fnvlist_merge((nvlist_t *)attr, hist_nvl); + } + if (sysevent_attach_attributes(ev, attr) != 0) goto done; attr = NULL; @@ -7012,12 +7019,12 @@ spa_event_post(sysevent_t *ev) /* * Post a sysevent corresponding to the given event. The 'name' must be one of * the event definitions in sys/sysevent/eventdefs.h. The payload will be - * filled in from the spa and (optionally) the vdev. This doesn't do anything - * in the userland libzpool, as we don't want consumers to misinterpret ztest - * or zdb as real changes. + * filled in from the spa and (optionally) the vdev and history nvl. This + * doesn't do anything in the userland libzpool, as we don't want consumers to + * misinterpret ztest or zdb as real changes. */ void -spa_event_notify(spa_t *spa, vdev_t *vd, const char *name) +spa_event_notify(spa_t *spa, vdev_t *vd, nvlist_t *hist_nvl, const char *name) { - spa_event_post(spa_event_create(spa, vd, name)); + spa_event_post(spa_event_create(spa, vd, hist_nvl, name)); } Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa_config.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/spa_config.c Fri Jun 9 14:55:12 2017 (r319736) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa_config.c Fri Jun 9 14:56:17 2017 (r319737) @@ -23,6 +23,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. + * Copyright 2017 Joyent, Inc. */ #include @@ -298,7 +299,7 @@ spa_config_sync(spa_t *target, boolean_t removing, boo spa_config_generation++; if (postsysevent) - spa_event_notify(target, NULL, ESC_ZFS_CONFIG_SYNC); + spa_event_notify(target, NULL, NULL, ESC_ZFS_CONFIG_SYNC); } /* Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c Fri Jun 9 14:55:12 2017 (r319736) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c Fri Jun 9 14:56:17 2017 (r319737) @@ -23,6 +23,7 @@ * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2014 Integros [integros.com] + * Copyright 2017 Joyent, Inc. */ #include @@ -192,6 +193,71 @@ spa_history_zone(void) } /* + * Post a history sysevent. + * + * The nvlist_t* passed into this function will be transformed into a new + * nvlist where: + * + * 1. Nested nvlists will be flattened to a single level + * 2. Keys will have their names normalized (to remove any problematic + * characters, such as whitespace) + * + * The nvlist_t passed into this function will duplicated and should be freed + * by caller. + * + */ +static void +spa_history_log_notify(spa_t *spa, nvlist_t *nvl) +{ + nvlist_t *hist_nvl = fnvlist_alloc(); + uint64_t uint64; + char *string; + + if (nvlist_lookup_string(nvl, ZPOOL_HIST_CMD, &string) == 0) + fnvlist_add_string(hist_nvl, ZFS_EV_HIST_CMD, string); + + if (nvlist_lookup_string(nvl, ZPOOL_HIST_INT_NAME, &string) == 0) + fnvlist_add_string(hist_nvl, ZFS_EV_HIST_INT_NAME, string); + + if (nvlist_lookup_string(nvl, ZPOOL_HIST_ZONE, &string) == 0) + fnvlist_add_string(hist_nvl, ZFS_EV_HIST_ZONE, string); + + if (nvlist_lookup_string(nvl, ZPOOL_HIST_HOST, &string) == 0) + fnvlist_add_string(hist_nvl, ZFS_EV_HIST_HOST, string); + + if (nvlist_lookup_string(nvl, ZPOOL_HIST_DSNAME, &string) == 0) + fnvlist_add_string(hist_nvl, ZFS_EV_HIST_DSNAME, string); + + if (nvlist_lookup_string(nvl, ZPOOL_HIST_INT_STR, &string) == 0) + fnvlist_add_string(hist_nvl, ZFS_EV_HIST_INT_STR, string); + + if (nvlist_lookup_string(nvl, ZPOOL_HIST_IOCTL, &string) == 0) + fnvlist_add_string(hist_nvl, ZFS_EV_HIST_IOCTL, string); + + if (nvlist_lookup_string(nvl, ZPOOL_HIST_INT_NAME, &string) == 0) + fnvlist_add_string(hist_nvl, ZFS_EV_HIST_INT_NAME, string); + + if (nvlist_lookup_uint64(nvl, ZPOOL_HIST_DSID, &uint64) == 0) + fnvlist_add_uint64(hist_nvl, ZFS_EV_HIST_DSID, uint64); + + if (nvlist_lookup_uint64(nvl, ZPOOL_HIST_TXG, &uint64) == 0) + fnvlist_add_uint64(hist_nvl, ZFS_EV_HIST_TXG, uint64); + + if (nvlist_lookup_uint64(nvl, ZPOOL_HIST_TIME, &uint64) == 0) + fnvlist_add_uint64(hist_nvl, ZFS_EV_HIST_TIME, uint64); + + if (nvlist_lookup_uint64(nvl, ZPOOL_HIST_WHO, &uint64) == 0) + fnvlist_add_uint64(hist_nvl, ZFS_EV_HIST_WHO, uint64); + + if (nvlist_lookup_uint64(nvl, ZPOOL_HIST_INT_EVENT, &uint64) == 0) + fnvlist_add_uint64(hist_nvl, ZFS_EV_HIST_INT_EVENT, uint64); + + spa_event_notify(spa, NULL, hist_nvl, ESC_ZFS_HISTORY_EVENT); + + nvlist_free(hist_nvl); +} + +/* * Write out a history event. */ /*ARGSUSED*/ @@ -255,6 +321,22 @@ spa_history_log_sync(void *arg, dmu_tx_t *tx) fnvlist_lookup_string(nvl, ZPOOL_HIST_INT_NAME), fnvlist_lookup_string(nvl, ZPOOL_HIST_INT_STR)); } + /* + * The history sysevent is posted only for internal history + * messages to show what has happened, not how it happened. For + * example, the following command: + * + * # zfs destroy -r tank/foo + * + * will result in one sysevent posted per dataset that is + * destroyed as a result of the command - which could be more + * than one event in total. By contrast, if the sysevent was + * posted as a result of the ZPOOL_HIST_CMD key being present + * it would result in only one sysevent being posted with the + * full command line arguments, requiring the consumer to know + * how to parse and understand zfs(1M) command invocations. + */ + spa_history_log_notify(spa, nvl); } else if (nvlist_exists(nvl, ZPOOL_HIST_IOCTL)) { zfs_dbgmsg("ioctl %s", fnvlist_lookup_string(nvl, ZPOOL_HIST_IOCTL)); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h Fri Jun 9 14:55:12 2017 (r319736) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h Fri Jun 9 14:56:17 2017 (r319737) @@ -25,6 +25,7 @@ * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. * Copyright (c) 2014 Integros [integros.com] + * Copyright 2017 Joyent, Inc. */ #ifndef _SYS_SPA_H @@ -876,7 +877,8 @@ extern void spa_prop_clear_bootfs(spa_t *spa, uint64_t extern void spa_configfile_set(spa_t *, nvlist_t *, boolean_t); /* asynchronous event notification */ -extern void spa_event_notify(spa_t *spa, vdev_t *vdev, const char *name); +extern void spa_event_notify(spa_t *spa, vdev_t *vdev, nvlist_t *hist_nvl, + const char *name); #ifdef ZFS_DEBUG #define dprintf_bp(bp, fmt, ...) do { \ Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c Fri Jun 9 14:55:12 2017 (r319736) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c Fri Jun 9 14:56:17 2017 (r319737) @@ -25,6 +25,7 @@ * Copyright 2017 Nexenta Systems, Inc. * Copyright (c) 2014 Integros [integros.com] * Copyright 2016 Toomas Soome + * Copyright 2017 Joyent, Inc. */ #include @@ -2506,7 +2507,7 @@ vdev_online(spa_t *spa, uint64_t guid, uint64_t flags, if (wasoffline || (oldstate < VDEV_STATE_DEGRADED && vd->vdev_state >= VDEV_STATE_DEGRADED)) - spa_event_notify(spa, vd, ESC_ZFS_VDEV_ONLINE); + spa_event_notify(spa, vd, NULL, ESC_ZFS_VDEV_ONLINE); return (spa_vdev_state_exit(spa, vd, 0)); } @@ -2669,7 +2670,7 @@ vdev_clear(spa_t *spa, vdev_t *vd) if (vd->vdev_aux == NULL && !vdev_is_dead(vd)) spa_async_request(spa, SPA_ASYNC_RESILVER); - spa_event_notify(spa, vd, ESC_ZFS_VDEV_CLEAR); + spa_event_notify(spa, vd, NULL, ESC_ZFS_VDEV_CLEAR); } /* Modified: vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h Fri Jun 9 14:55:12 2017 (r319736) +++ vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h Fri Jun 9 14:56:17 2017 (r319737) @@ -23,8 +23,8 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. - * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2014 Integros [integros.com] + * Copyright 2017 Joyent, Inc. */ /* Portions Copyright 2010 Robert Milkowski */ @@ -956,11 +956,45 @@ typedef enum { * ZFS_EV_POOL_GUID DATA_TYPE_UINT64 * ZFS_EV_VDEV_PATH DATA_TYPE_STRING (optional) * ZFS_EV_VDEV_GUID DATA_TYPE_UINT64 + * + * ESC_ZFS_HISTORY_EVENT + * + * ZFS_EV_POOL_NAME DATA_TYPE_STRING + * ZFS_EV_POOL_GUID DATA_TYPE_UINT64 + * ZFS_EV_HIST_TIME DATA_TYPE_UINT64 (optional) + * ZFS_EV_HIST_CMD DATA_TYPE_STRING (optional) + * ZFS_EV_HIST_WHO DATA_TYPE_UINT64 (optional) + * ZFS_EV_HIST_ZONE DATA_TYPE_STRING (optional) + * ZFS_EV_HIST_HOST DATA_TYPE_STRING (optional) + * ZFS_EV_HIST_TXG DATA_TYPE_UINT64 (optional) + * ZFS_EV_HIST_INT_EVENT DATA_TYPE_UINT64 (optional) + * ZFS_EV_HIST_INT_STR DATA_TYPE_STRING (optional) + * ZFS_EV_HIST_INT_NAME DATA_TYPE_STRING (optional) + * ZFS_EV_HIST_IOCTL DATA_TYPE_STRING (optional) + * ZFS_EV_HIST_DSNAME DATA_TYPE_STRING (optional) + * ZFS_EV_HIST_DSID DATA_TYPE_UINT64 (optional) + * + * The ZFS_EV_HIST_* members will correspond to the ZPOOL_HIST_* members in the + * history log nvlist. The keynames will be free of any spaces or other + * characters that could be potentially unexpected to consumers of the + * sysevents. */ #define ZFS_EV_POOL_NAME "pool_name" #define ZFS_EV_POOL_GUID "pool_guid" #define ZFS_EV_VDEV_PATH "vdev_path" #define ZFS_EV_VDEV_GUID "vdev_guid" +#define ZFS_EV_HIST_TIME "history_time" +#define ZFS_EV_HIST_CMD "history_command" +#define ZFS_EV_HIST_WHO "history_who" +#define ZFS_EV_HIST_ZONE "history_zone" +#define ZFS_EV_HIST_HOST "history_hostname" +#define ZFS_EV_HIST_TXG "history_txg" +#define ZFS_EV_HIST_INT_EVENT "history_internal_event" +#define ZFS_EV_HIST_INT_STR "history_internal_str" +#define ZFS_EV_HIST_INT_NAME "history_internal_name" +#define ZFS_EV_HIST_IOCTL "history_ioctl" +#define ZFS_EV_HIST_DSNAME "history_dsname" +#define ZFS_EV_HIST_DSID "history_dsid" #ifdef __cplusplus } Modified: vendor-sys/illumos/dist/uts/common/sys/sysevent/eventdefs.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/sys/sysevent/eventdefs.h Fri Jun 9 14:55:12 2017 (r319736) +++ vendor-sys/illumos/dist/uts/common/sys/sysevent/eventdefs.h Fri Jun 9 14:56:17 2017 (r319737) @@ -22,6 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2016 Nexenta Systems, Inc. + * Copyright 2017 Joyent, Inc. */ #ifndef _SYS_SYSEVENT_EVENTDEFS_H @@ -205,6 +206,7 @@ extern "C" { #define ESC_ZFS_VDEV_SPARE "ESC_ZFS_vdev_spare" #define ESC_ZFS_BOOTFS_VDEV_ATTACH "ESC_ZFS_bootfs_vdev_attach" #define ESC_ZFS_POOL_REGUID "ESC_ZFS_pool_reguid" +#define ESC_ZFS_HISTORY_EVENT "ESC_ZFS_history_event" /* * datalink subclass definitions. From owner-svn-src-all@freebsd.org Fri Jun 9 14:57:47 2017 Return-Path: Delivered-To: svn-src-all@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 83D7FBF67ED; Fri, 9 Jun 2017 14:57:47 +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 439296ED55; Fri, 9 Jun 2017 14:57:47 +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 v59Evknx027046; Fri, 9 Jun 2017 14:57:46 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59EvkIx027041; Fri, 9 Jun 2017 14:57:46 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091457.v59EvkIx027041@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 14:57:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319738 - in vendor-sys/illumos/dist/uts/common/fs/zfs: . sys X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 14:57:47 -0000 Author: avg Date: Fri Jun 9 14:57:45 2017 New Revision: 319738 URL: https://svnweb.freebsd.org/changeset/base/319738 Log: 8155 simplify dmu_write_policy handling of pre-compressed buffers illumos/illumos-gate@adaec86ad212d9fd756bee322934fa54d1258605 https://github.com/illumos/illumos-gate/commit/adaec86ad212d9fd756bee322934fa54d1258605 https://www.illumos.org/issues/8155 When writing pre-compressed buffers, arc_write() requires that the compression algorithm used to compress the buffer matches the compression algorithm requested by the zio_prop_t, which is set by dmu_write_policy(). This makes dmu_write_policy() and its callers a bit more complicated. We can simplify this by making arc_write() trust the caller to supply the type of pre-compressed buffer that it wants to write, and override the compression setting in the zio_prop_t. Reviewed by: Dan Kimmel Reviewed by: George Wilson Approved by: Robert Mustacchi Author: Matthew Ahrens Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Fri Jun 9 14:56:17 2017 (r319737) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Fri Jun 9 14:57:45 2017 (r319738) @@ -5607,6 +5607,7 @@ arc_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr arc_buf_hdr_t *hdr = buf->b_hdr; arc_write_callback_t *callback; zio_t *zio; + zio_prop_t localprop = *zp; ASSERT3P(ready, !=, NULL); ASSERT3P(done, !=, NULL); @@ -5617,7 +5618,13 @@ arc_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr if (l2arc) arc_hdr_set_flags(hdr, ARC_FLAG_L2CACHE); if (ARC_BUF_COMPRESSED(buf)) { - ASSERT3U(zp->zp_compress, !=, ZIO_COMPRESS_OFF); + /* + * We're writing a pre-compressed buffer. Make the + * compression algorithm requested by the zio_prop_t match + * the pre-compressed buffer's compression algorithm. + */ + localprop.zp_compress = HDR_GET_COMPRESS(hdr); + ASSERT3U(HDR_GET_LSIZE(hdr), !=, arc_buf_size(buf)); zio_flags |= ZIO_FLAG_RAW; } @@ -5653,7 +5660,7 @@ arc_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr zio = zio_write(pio, spa, txg, bp, abd_get_from_buf(buf->b_data, HDR_GET_LSIZE(hdr)), - HDR_GET_LSIZE(hdr), arc_buf_size(buf), zp, arc_write_ready, + HDR_GET_LSIZE(hdr), arc_buf_size(buf), &localprop, arc_write_ready, (children_ready != NULL) ? arc_write_children_ready : NULL, arc_write_physdone, arc_write_done, callback, priority, zio_flags, zb); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c Fri Jun 9 14:56:17 2017 (r319737) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c Fri Jun 9 14:57:45 2017 (r319738) @@ -3535,9 +3535,7 @@ dbuf_write(dbuf_dirty_record_t *dr, arc_buf_t *data, d wp_flag = WP_SPILL; wp_flag |= (db->db_state == DB_NOFILL) ? WP_NOFILL : 0; - dmu_write_policy(os, dn, db->db_level, wp_flag, - (data != NULL && arc_get_compression(data) != ZIO_COMPRESS_OFF) ? - arc_get_compression(data) : ZIO_COMPRESS_INHERIT, &zp); + dmu_write_policy(os, dn, db->db_level, wp_flag, &zp); DB_DNODE_EXIT(db); /* Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c Fri Jun 9 14:56:17 2017 (r319737) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu.c Fri Jun 9 14:57:45 2017 (r319738) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2016 by Delphix. All rights reserved. + * Copyright (c) 2011, 2017 by Delphix. All rights reserved. */ /* Copyright (c) 2013 by Saso Kiselkov. All rights reserved. */ /* Copyright (c) 2013, Joyent, Inc. All rights reserved. */ @@ -1713,8 +1713,7 @@ dmu_sync(zio_t *pio, uint64_t txg, dmu_sync_cb_t *done DB_DNODE_ENTER(db); dn = DB_DNODE(db); - dmu_write_policy(os, dn, db->db_level, WP_DMU_SYNC, - ZIO_COMPRESS_INHERIT, &zp); + dmu_write_policy(os, dn, db->db_level, WP_DMU_SYNC, &zp); DB_DNODE_EXIT(db); /* @@ -1884,8 +1883,7 @@ int zfs_mdcomp_disable = 0; int zfs_redundant_metadata_most_ditto_level = 2; void -dmu_write_policy(objset_t *os, dnode_t *dn, int level, int wp, - enum zio_compress override_compress, zio_prop_t *zp) +dmu_write_policy(objset_t *os, dnode_t *dn, int level, int wp, zio_prop_t *zp) { dmu_object_type_t type = dn ? dn->dn_type : DMU_OT_OBJSET; boolean_t ismd = (level > 0 || DMU_OT_IS_METADATA(type) || @@ -1897,11 +1895,7 @@ dmu_write_policy(objset_t *os, dnode_t *dn, int level, boolean_t nopwrite = B_FALSE; boolean_t dedup_verify = os->os_dedup_verify; int copies = os->os_copies; - boolean_t lz4_ac = spa_feature_is_active(os->os_spa, - SPA_FEATURE_LZ4_COMPRESS); - IMPLY(override_compress == ZIO_COMPRESS_LZ4, lz4_ac); - /* * We maintain different write policies for each of the following * types of data: @@ -1988,14 +1982,7 @@ dmu_write_policy(objset_t *os, dnode_t *dn, int level, } zp->zp_checksum = checksum; - - /* - * If we're writing a pre-compressed buffer, the compression type we use - * must match the data. If it hasn't been compressed yet, then we should - * use the value dictated by the policies above. - */ - zp->zp_compress = override_compress != ZIO_COMPRESS_INHERIT - ? override_compress : compress; + zp->zp_compress = compress; ASSERT3U(zp->zp_compress, !=, ZIO_COMPRESS_INHERIT); zp->zp_type = (wp & WP_SPILL) ? dn->dn_bonustype : type; Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c Fri Jun 9 14:56:17 2017 (r319737) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c Fri Jun 9 14:57:45 2017 (r319738) @@ -1201,7 +1201,7 @@ dmu_objset_sync(objset_t *os, zio_t *pio, dmu_tx_t *tx ZB_ROOT_OBJECT, ZB_ROOT_LEVEL, ZB_ROOT_BLKID); arc_release(os->os_phys_buf, &os->os_phys_buf); - dmu_write_policy(os, NULL, 0, 0, ZIO_COMPRESS_INHERIT, &zp); + dmu_write_policy(os, NULL, 0, 0, &zp); zio = arc_write(pio, os->os_spa, tx->tx_txg, blkptr_copy, os->os_phys_buf, DMU_OS_IS_L2CACHEABLE(os), Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h Fri Jun 9 14:56:17 2017 (r319737) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h Fri Jun 9 14:57:45 2017 (r319738) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2016 by Delphix. All rights reserved. + * Copyright (c) 2011, 2017 by Delphix. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, Joyent, Inc. All rights reserved. * Copyright 2013 DEY Storage Systems, Inc. @@ -420,7 +420,7 @@ dmu_write_embedded(objset_t *os, uint64_t object, uint #define WP_SPILL 0x4 void dmu_write_policy(objset_t *os, dnode_t *dn, int level, int wp, - enum zio_compress compress_override, struct zio_prop *zp); + struct zio_prop *zp); /* * The bonus data is accessed more or less like a regular buffer. * You must dmu_bonus_hold() to get the buffer, which will give you a From owner-svn-src-all@freebsd.org Fri Jun 9 14:58:52 2017 Return-Path: Delivered-To: svn-src-all@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 54216BF68AA; Fri, 9 Jun 2017 14:58:52 +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 2F3CE6EF8A; Fri, 9 Jun 2017 14:58:52 +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 v59Ewp4B027122; Fri, 9 Jun 2017 14:58:51 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59Ewp9v027121; Fri, 9 Jun 2017 14:58:51 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091458.v59Ewp9v027121@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 14:58:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319739 - vendor-sys/illumos/dist/uts/common/fs/zfs X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 14:58:52 -0000 Author: avg Date: Fri Jun 9 14:58:51 2017 New Revision: 319739 URL: https://svnweb.freebsd.org/changeset/base/319739 Log: 8005 poor performance of 1MB writes on certain RAID-Z configurations illumos/illumos-gate@5b062782532a1d5961c4a4b655906e1238c7c908 https://github.com/illumos/illumos-gate/commit/5b062782532a1d5961c4a4b655906e1238c7c908 https://www.illumos.org/issues/8005 RAID-Z requires that space be allocated in multiples of P+1 sectors, because this is the minimum size block that can have the required amount of parity. Thus blocks on RAIDZ1 must be allocated in a multiple of 2 sectors; on RAIDZ2 multiple of 3; and on RAIDZ3 multiple of 4. A sector is a unit of 2^ashift bytes, typically 512B or 4KB. To satisfy this constraint, the allocation size is rounded up to the proper multiple, resulting in up to 3 "pad sectors" at the end of some blocks. The contents of these pad sectors are not used, so we do not need to read or write these sectors. However, some storage hardware performs much worse (around 1/2 as fast) on mostly-contiguous writes when there are small gaps of non-overwritten data between the writes. Therefore, ZFS creates "optional" zio's when writing RAID-Z blocks that include pad sectors. If writing a pad sector will fill the gap between two (required) writes, we will issue the optional zio, thus doubling performance. The gap-filling performance improvement was introduced in July 2009. Writing the optional zio is done by the io aggregation code in vdev_queue.c. The problem is that it is also subject to the limit on the size of aggregate writes, zfs_vdev_aggregation_limit, which is by default 128KB. For a given block, if the amount of data plus padding written to a leaf device exceeds zfs_vdev_aggregation_limit, the optional zio will not be written, resulting in a ~2x performance degradation. The problem occurs only for certain values of ashift, compressed block size, and RAID-Z configuration (number of parity and data disks). It cannot occur with the default recordsize=128KB. If compression is enabled, all configurations with recordsize=1MB or larger will be impacted to some degree. The problem notably occurs with recordsize=1MB, compression=off, with 10 disks in a RAIDZ2 or RAIDZ3 group (with 512B or 4KB sectors). Therefore Reviewed by: Saso Kiselkov Reviewed by: George Wilson Reviewed by: Pavel Zakharov Approved by: Robert Mustacchi Author: Matthew Ahrens Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c Fri Jun 9 14:57:45 2017 (r319738) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c Fri Jun 9 14:58:51 2017 (r319739) @@ -24,7 +24,7 @@ */ /* - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2017 by Delphix. All rights reserved. * Copyright (c) 2014 Integros [integros.com] */ @@ -539,7 +539,7 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) /* * Walk backwards through sufficiently contiguous I/Os - * recording the last non-option I/O. + * recording the last non-optional I/O. */ while ((dio = AVL_PREV(t, first)) != NULL && (dio->io_flags & ZIO_FLAG_AGG_INHERIT) == flags && @@ -560,10 +560,14 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) /* * Walk forward through sufficiently contiguous I/Os. + * The aggregation limit does not apply to optional i/os, so that + * we can issue contiguous writes even if they are larger than the + * aggregation limit. */ while ((dio = AVL_NEXT(t, last)) != NULL && (dio->io_flags & ZIO_FLAG_AGG_INHERIT) == flags && - IO_SPAN(first, dio) <= zfs_vdev_aggregation_limit && + (IO_SPAN(first, dio) <= zfs_vdev_aggregation_limit || + (dio->io_flags & ZIO_FLAG_OPTIONAL)) && IO_GAP(last, dio) <= maxgap) { last = dio; if (!(last->io_flags & ZIO_FLAG_OPTIONAL)) @@ -594,10 +598,16 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) } if (stretch) { - /* This may be a no-op. */ + /* + * We are going to include an optional io in our aggregated + * span, thus closing the write gap. Only mandatory i/os can + * start aggregated spans, so make sure that the next i/o + * after our span is mandatory. + */ dio = AVL_NEXT(t, last); dio->io_flags &= ~ZIO_FLAG_OPTIONAL; } else { + /* do not include the optional i/o */ while (last != mandatory && last != first) { ASSERT(last->io_flags & ZIO_FLAG_OPTIONAL); last = AVL_PREV(t, last); @@ -609,7 +619,7 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) return (NULL); size = IO_SPAN(first, last); - ASSERT3U(size, <=, zfs_vdev_aggregation_limit); + ASSERT3U(size, <=, SPA_MAXBLOCKSIZE); aio = zio_vdev_delegated_io(first->io_vd, first->io_offset, abd_alloc_for_io(size, B_TRUE), size, first->io_type, From owner-svn-src-all@freebsd.org Fri Jun 9 15:00:14 2017 Return-Path: Delivered-To: svn-src-all@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 D6507BF6982; Fri, 9 Jun 2017 15:00:14 +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 A62EF6F0E7; Fri, 9 Jun 2017 15:00:14 +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 v59F0DZS027256; Fri, 9 Jun 2017 15:00:13 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59F0DZB027255; Fri, 9 Jun 2017 15:00:13 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091500.v59F0DZB027255@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:00:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319740 - vendor/illumos/dist/lib/libzfs/common X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:00:14 -0000 Author: avg Date: Fri Jun 9 15:00:13 2017 New Revision: 319740 URL: https://svnweb.freebsd.org/changeset/base/319740 Log: 8168 NULL pointer dereference in zfs_create() illumos/illumos-gate@690031d326342fa4ea28b5e80f1ad6a16281519d https://github.com/illumos/illumos-gate/commit/690031d326342fa4ea28b5e80f1ad6a16281519d https://www.illumos.org/issues/8168 If we manage to export the pool on which we are creating a dataset (filesystem or zvol) between entering libzfs`zfs_create() and libzfs`zpool_open() call (for which we never check the return value) we end up dereferencing a NULL pointer in libzfs`zpool_close(). This was discovered on ZFS on Linux. The same issue can be reproduced on Illumos running in parallel: while :; do zpool import -d /tmp testpool ; zpool export testpool ; done while :; do zfs create testpool/fs; zfs destroy testpool/fs ; done Eventually this will result in several core dumps like this one: [root@52-54-00-d3-7a-01 /cores]# mdb core.zfs.4244 Loading modules: [ libumem.so.1 libc.so.1 libtopo.so.1 libavl.so.1 libnvpair.so.1 ld.so.1 ] > ::stack libzfs.so.1`zpool_close+0x17(0, 0, 0, 8047450) libzfs.so.1`zfs_create+0x1bb(8090548, 8047e6f, 1, 808cba8) zfs_do_create+0x545(2, 8047d74, 80778a0, 801, 0, 3) main+0x22c(8047d2c, fef5c6e8, 8047d64, 8055a17, 3, 8047d70) _start+0x83(3, 8047e64, 8047e68, 8047e6f, 0, 8047e7b) > Fix and reproducer (systemtap): https://github.com/zfsonlinux/zfs/pull/6096 Reviewed by: Matt Ahrens Approved by: Robert Mustacchi Author: loli10K Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Fri Jun 9 14:58:51 2017 (r319739) +++ vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Fri Jun 9 15:00:13 2017 (r319740) @@ -3271,6 +3271,7 @@ zfs_create(libzfs_handle_t *hdl, const char *path, zfs char errbuf[1024]; uint64_t zoned; enum lzc_dataset_type ost; + zpool_handle_t *zpool_handle; (void) snprintf(errbuf, sizeof (errbuf), dgettext(TEXT_DOMAIN, "cannot create '%s'"), path); @@ -3310,7 +3311,8 @@ zfs_create(libzfs_handle_t *hdl, const char *path, zfs if (p != NULL) *p = '\0'; - zpool_handle_t *zpool_handle = zpool_open(hdl, pool_path); + if ((zpool_handle = zpool_open(hdl, pool_path)) == NULL) + return (-1); if (props && (props = zfs_valid_proplist(hdl, type, props, zoned, NULL, zpool_handle, errbuf)) == 0) { From owner-svn-src-all@freebsd.org Fri Jun 9 15:01:19 2017 Return-Path: Delivered-To: svn-src-all@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 5E941BF69ED; Fri, 9 Jun 2017 15:01:19 +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 2D6DB6F28D; Fri, 9 Jun 2017 15:01:19 +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 v59F1I1K028070; Fri, 9 Jun 2017 15:01:18 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59F1IoC028069; Fri, 9 Jun 2017 15:01:18 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091501.v59F1IoC028069@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:01:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319741 - vendor-sys/illumos/dist/uts/common/fs/zfs X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:01:19 -0000 Author: avg Date: Fri Jun 9 15:01:18 2017 New Revision: 319741 URL: https://svnweb.freebsd.org/changeset/base/319741 Log: 8156 dbuf_evict_notify() does not need dbuf_evict_lock illumos/illumos-gate@dbfd9f930004c390a2ce2cf850c71b4f880eef9c https://github.com/illumos/illumos-gate/commit/dbfd9f930004c390a2ce2cf850c71b4f880eef9c https://www.illumos.org/issues/8156 dbuf_evict_notify() holds the dbuf_evict_lock while checking if it should do the eviction itself (because the evict thread is not able to keep up). This can result in massive lock contention. It isn't necessary to hold the lock, because if we make the wrong choice occasionally, nothing bad will happen. Reviewed by: Dan Kimmel Reviewed by: Paul Dagnelie Approved by: Robert Mustacchi Author: Matthew Ahrens Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c Fri Jun 9 15:00:13 2017 (r319740) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c Fri Jun 9 15:01:18 2017 (r319741) @@ -561,19 +561,15 @@ dbuf_evict_notify(void) if (tsd_get(zfs_dbuf_evict_key) != NULL) return; + /* + * We check if we should evict without holding the dbuf_evict_lock, + * because it's OK to occasionally make the wrong decision here, + * and grabbing the lock results in massive lock contention. + */ if (refcount_count(&dbuf_cache_size) > dbuf_cache_max_bytes) { - boolean_t evict_now = B_FALSE; - - mutex_enter(&dbuf_evict_lock); - if (refcount_count(&dbuf_cache_size) > dbuf_cache_max_bytes) { - evict_now = dbuf_cache_above_hiwater(); - cv_signal(&dbuf_evict_cv); - } - mutex_exit(&dbuf_evict_lock); - - if (evict_now) { + if (dbuf_cache_above_hiwater()) dbuf_evict_one(); - } + cv_signal(&dbuf_evict_cv); } } From owner-svn-src-all@freebsd.org Fri Jun 9 15:02:09 2017 Return-Path: Delivered-To: svn-src-all@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 1CBF4BF6B6C; Fri, 9 Jun 2017 15:02:09 +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 DFA356F551; Fri, 9 Jun 2017 15:02:08 +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 v59F28Zl028993; Fri, 9 Jun 2017 15:02:08 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59F28sQ028992; Fri, 9 Jun 2017 15:02:08 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091502.v59F28sQ028992@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:02:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319742 - vendor-sys/illumos/dist/uts/common/fs/zfs X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:02:09 -0000 Author: avg Date: Fri Jun 9 15:02:07 2017 New Revision: 319742 URL: https://svnweb.freebsd.org/changeset/base/319742 Log: 8056 zfs send size estimate is inaccurate for some zvols illumos/illumos-gate@0255edcc85fc0cd1dda0e49bcd52eb66c06a1b16 https://github.com/illumos/illumos-gate/commit/0255edcc85fc0cd1dda0e49bcd52eb66c06a1b16 https://www.illumos.org/issues/8056 The send size estimate for a zvol can be too low, if the size of the record headers (dmu_replay_record_t's) is a significant portion of the size. This is typically the case when the data is highly compressible, especially with embedded blocks. The problem is that dmu_adjust_send_estimate_for_indirects() assumes that blocks are the size of the "recordsize" property (128KB). However, for zvols, the blocks are the size of the "volblocksize" property (8KB). Therefore, we estimate that there will be 16x less record headers than there really will be. Reviewed by: Matthew Ahrens Reviewed by: Pavel Zakharov Approved by: Robert Mustacchi Author: Paul Dagnelie Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c Fri Jun 9 15:01:18 2017 (r319741) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c Fri Jun 9 15:02:07 2017 (r319742) @@ -1102,10 +1102,17 @@ dmu_adjust_send_estimate_for_indirects(dsl_dataset_t * */ uint64_t recordsize; uint64_t record_count; + objset_t *os; + VERIFY0(dmu_objset_from_ds(ds, &os)); /* Assume all (uncompressed) blocks are recordsize. */ - err = dsl_prop_get_int_ds(ds, zfs_prop_to_name(ZFS_PROP_RECORDSIZE), - &recordsize); + if (os->os_phys->os_type == DMU_OST_ZVOL) { + err = dsl_prop_get_int_ds(ds, + zfs_prop_to_name(ZFS_PROP_VOLBLOCKSIZE), &recordsize); + } else { + err = dsl_prop_get_int_ds(ds, + zfs_prop_to_name(ZFS_PROP_RECORDSIZE), &recordsize); + } if (err != 0) return (err); record_count = uncompressed / recordsize; @@ -1174,6 +1181,10 @@ dmu_send_estimate(dsl_dataset_t *ds, dsl_dataset_t *fr err = dmu_adjust_send_estimate_for_indirects(ds, uncomp, comp, stream_compressed, sizep); + /* + * Add the size of the BEGIN and END records to the estimate. + */ + *sizep += 2 * sizeof (dmu_replay_record_t); return (err); } From owner-svn-src-all@freebsd.org Fri Jun 9 15:03:09 2017 Return-Path: Delivered-To: svn-src-all@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 1CF89BF6BC0; Fri, 9 Jun 2017 15:03:09 +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 DFE436F6B4; Fri, 9 Jun 2017 15:03:08 +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 v59F38Mt031386; Fri, 9 Jun 2017 15:03:08 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59F38Du031385; Fri, 9 Jun 2017 15:03:08 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091503.v59F38Du031385@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:03:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319743 - vendor/illumos/dist/cmd/zdb X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:03:09 -0000 Author: avg Date: Fri Jun 9 15:03:07 2017 New Revision: 319743 URL: https://svnweb.freebsd.org/changeset/base/319743 Log: 8108 zdb -l fails to read labels 2 and 3 illumos/illumos-gate@22c8b9583d07895c16549075a53668d7bc988cf3 https://github.com/illumos/illumos-gate/commit/22c8b9583d07895c16549075a53668d7bc988cf3 https://www.illumos.org/issues/8108 Reviewed by: Matthew Ahrens Reviewed by: Toomas Soome Reviewed by: Igor Kozhukhov Reviewed by: Andrew Stormont Approved by: Robert Mustacchi Author: Yuri Pankov Modified: vendor/illumos/dist/cmd/zdb/zdb.c Modified: vendor/illumos/dist/cmd/zdb/zdb.c ============================================================================== --- vendor/illumos/dist/cmd/zdb/zdb.c Fri Jun 9 15:02:07 2017 (r319742) +++ vendor/illumos/dist/cmd/zdb/zdb.c Fri Jun 9 15:03:07 2017 (r319743) @@ -2299,24 +2299,29 @@ dump_label(const char *dev) (void) snprintf(path, sizeof (path), "%s%s", ZFS_RDISK_ROOTD, dev); - if ((s = strrchr(dev, 's')) == NULL || !isdigit(*(s + 1))) + if (((s = strrchr(dev, 's')) == NULL && + (s = strchr(dev, 'p')) == NULL) || + !isdigit(*(s + 1))) (void) strlcat(path, "s0", sizeof (path)); } - if (stat64(path, &statbuf) != 0) { - (void) printf("failed to stat '%s': %s\n", path, + if ((fd = open64(path, O_RDONLY)) < 0) { + (void) fprintf(stderr, "cannot open '%s': %s\n", path, strerror(errno)); exit(1); } - if (S_ISBLK(statbuf.st_mode)) { - (void) printf("cannot use '%s': character device required\n", - path); + if (fstat64(fd, &statbuf) != 0) { + (void) fprintf(stderr, "failed to stat '%s': %s\n", path, + strerror(errno)); + (void) close(fd); exit(1); } - if ((fd = open64(path, O_RDONLY)) < 0) { - (void) printf("cannot open '%s': %s\n", path, strerror(errno)); + if (S_ISBLK(statbuf.st_mode)) { + (void) fprintf(stderr, + "cannot use '%s': character device required\n", path); + (void) close(fd); exit(1); } From owner-svn-src-all@freebsd.org Fri Jun 9 15:04:11 2017 Return-Path: Delivered-To: svn-src-all@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 B9BDFBF6C26; Fri, 9 Jun 2017 15:04:11 +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 8763D6F7E3; Fri, 9 Jun 2017 15:04:11 +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 v59F4Aqn031475; Fri, 9 Jun 2017 15:04:10 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59F4AJd031474; Fri, 9 Jun 2017 15:04:10 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091504.v59F4AJd031474@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:04:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319744 - vendor/illumos/dist/lib/libdtrace/common X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:04:11 -0000 Author: avg Date: Fri Jun 9 15:04:10 2017 New Revision: 319744 URL: https://svnweb.freebsd.org/changeset/base/319744 Log: 8269 dtrace stddev aggregation is normalized incorrectly illumos/illumos-gate@79809f9cf402f130667349b2d4007ecd65d63c6f https://github.com/illumos/illumos-gate/commit/79809f9cf402f130667349b2d4007ecd65d63c6f https://www.illumos.org/issues/8269 It seems that currently normalization of stddev aggregation is done incorrectly. We divide both the sum of values and the sum of their squares by the normalization factor. But we should divide the sum of squares by the normalization factor squared to scale the original values properly. Reviewed by: Bryan Cantrill Approved by: Robert Mustacchi Author: Andriy Gapon Modified: vendor/illumos/dist/lib/libdtrace/common/dt_consume.c Modified: vendor/illumos/dist/lib/libdtrace/common/dt_consume.c ============================================================================== --- vendor/illumos/dist/lib/libdtrace/common/dt_consume.c Fri Jun 9 15:03:07 2017 (r319743) +++ vendor/illumos/dist/lib/libdtrace/common/dt_consume.c Fri Jun 9 15:04:10 2017 (r319744) @@ -381,8 +381,10 @@ dt_stddev(uint64_t *data, uint64_t normal) * The standard approximation for standard deviation is * sqrt(average(x**2) - average(x)**2), i.e. the square root * of the average of the squares minus the square of the average. + * When normalizing, we should divide the sum of x**2 by normal**2. */ dt_divide_128(data + 2, normal, avg_of_squares); + dt_divide_128(avg_of_squares, normal, avg_of_squares); dt_divide_128(avg_of_squares, data[0], avg_of_squares); norm_avg = (int64_t)data[1] / (int64_t)normal / (int64_t)data[0]; From owner-svn-src-all@freebsd.org Fri Jun 9 15:06:51 2017 Return-Path: Delivered-To: svn-src-all@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 E48E5BF6DF4; Fri, 9 Jun 2017 15:06:51 +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 B39F16FCA2; Fri, 9 Jun 2017 15:06:51 +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 v59F6olF032204; Fri, 9 Jun 2017 15:06:50 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59F6oQC032201; Fri, 9 Jun 2017 15:06:50 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091506.v59F6oQC032201@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:06:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319745 - vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:06:52 -0000 Author: avg Date: Fri Jun 9 15:06:50 2017 New Revision: 319745 URL: https://svnweb.freebsd.org/changeset/base/319745 Log: fix up r319744, add new files 8269 dtrace stddev aggregation is normalized incorrectly illumos/illumos-gate@79809f9cf402f130667349b2d4007ecd65d63c6f https://github.com/illumos/illumos-gate/commit/79809f9cf402f130667349b2d4007ecd65d63c6f https://www.illumos.org/issues/8269 It seems that currently normalization of stddev aggregation is done incorrectly. We divide both the sum of values and the sum of their squares by the normalization factor. But we should divide the sum of squares by the normalization factor squared to scale the original values properly. Reviewed by: Bryan Cantrill Approved by: Robert Mustacchi Author: Andriy Gapon Added: vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d (contents, props changed) vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out Added: vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d Fri Jun 9 15:06:50 2017 (r319745) @@ -0,0 +1,46 @@ +/* + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + */ + +/* + * Copyright 2017 Panzura. All rights reserved. + */ + +/* + * ASSERTION: + * Positive test for normalization() of stddev() + * + * SECTION: Aggregations/Normalization + * + */ + +#pragma D option quiet +#pragma D option aggrate=1ms +#pragma D option switchrate=50ms + +BEGIN +{ + i = 0; +} + +tick-100ms +/i < 11/ +{ + @ = stddev(i * 100); + i++; +} + +tick-100ms +/i == 11/ +{ + printf("normalized data:\n"); + normalize(@, 10); + exit(0); +} Added: vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out Fri Jun 9 15:06:50 2017 (r319745) @@ -0,0 +1,3 @@ +normalized data: + + 31 From owner-svn-src-all@freebsd.org Fri Jun 9 15:16:40 2017 Return-Path: Delivered-To: svn-src-all@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 B8B38BF7290; Fri, 9 Jun 2017 15:16: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 8AE047075C; Fri, 9 Jun 2017 15:16:40 +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 v59FGdYh037100; Fri, 9 Jun 2017 15:16:39 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59FGd0E037097; Fri, 9 Jun 2017 15:16:39 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091516.v59FGd0E037097@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:16:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319746 - in head: cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs sys/dev/aacraid X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:16:40 -0000 Author: avg Date: Fri Jun 9 15:16:39 2017 New Revision: 319746 URL: https://svnweb.freebsd.org/changeset/base/319746 Log: MFV r319744,r319745: 8269 dtrace stddev aggregation is normalized incorrectly illumos/illumos-gate@79809f9cf402f130667349b2d4007ecd65d63c6f https://github.com/illumos/illumos-gate/commit/79809f9cf402f130667349b2d4007ecd65d63c6f https://www.illumos.org/issues/8269 It seems that currently normalization of stddev aggregation is done incorrectly. We divide both the sum of values and the sum of their squares by the normalization factor. But we should divide the sum of squares by the normalization factor squared to scale the original values properly. FreeBSD note: the actual change was committed in r316853, this commit adds the test files and record merge information. Reviewed by: Bryan Cantrill Approved by: Robert Mustacchi Author: Andriy Gapon MFC after: 1 week Sponsored by: Panzura Added: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d - copied unchanged from r319745, vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out - copied unchanged from r319745, vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out Modified: head/sys/dev/aacraid/aacraid.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) Copied: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d (from r319745, vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d Fri Jun 9 15:16:39 2017 (r319746, copy of r319745, vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d) @@ -0,0 +1,46 @@ +/* + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + */ + +/* + * Copyright 2017 Panzura. All rights reserved. + */ + +/* + * ASSERTION: + * Positive test for normalization() of stddev() + * + * SECTION: Aggregations/Normalization + * + */ + +#pragma D option quiet +#pragma D option aggrate=1ms +#pragma D option switchrate=50ms + +BEGIN +{ + i = 0; +} + +tick-100ms +/i < 11/ +{ + @ = stddev(i * 100); + i++; +} + +tick-100ms +/i == 11/ +{ + printf("normalized data:\n"); + normalize(@, 10); + exit(0); +} Copied: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out (from r319745, vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out Fri Jun 9 15:16:39 2017 (r319746, copy of r319745, vendor/illumos/dist/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out) @@ -0,0 +1,3 @@ +normalized data: + + 31 Modified: head/sys/dev/aacraid/aacraid.c ============================================================================== --- head/sys/dev/aacraid/aacraid.c Fri Jun 9 15:06:50 2017 (r319745) +++ head/sys/dev/aacraid/aacraid.c Fri Jun 9 15:16:39 2017 (r319746) @@ -670,12 +670,10 @@ aac_alloc(struct aac_softc *sc) TAILQ_INIT(&sc->aac_fibmap_tqh); sc->aac_commands = malloc(sc->aac_max_fibs * sizeof(struct aac_command), M_AACRAIDBUF, M_WAITOK|M_ZERO); - mtx_lock(&sc->aac_io_lock); while (sc->total_fibs < sc->aac_max_fibs) { if (aac_alloc_commands(sc) != 0) break; } - mtx_unlock(&sc->aac_io_lock); if (sc->total_fibs == 0) return (ENOMEM); @@ -1046,7 +1044,9 @@ aac_command_thread(struct aac_softc *sc) * will grab Giant, and would result in an LOR. */ if ((sc->aifflags & AAC_AIFFLAGS_ALLOCFIBS) != 0) { + mtx_unlock(&sc->aac_io_lock); aac_alloc_commands(sc); + mtx_lock(&sc->aac_io_lock); sc->aifflags &= ~AAC_AIFFLAGS_ALLOCFIBS; aacraid_startio(sc); } @@ -1193,7 +1193,6 @@ aac_alloc_commands(struct aac_softc *sc) u_int32_t maxsize; fwprintf(sc, HBA_FLAGS_DBG_FUNCTION_ENTRY_B, ""); - mtx_assert(&sc->aac_io_lock, MA_OWNED); if (sc->total_fibs + sc->aac_max_fibs_alloc > sc->aac_max_fibs) return (ENOMEM); @@ -1202,7 +1201,6 @@ aac_alloc_commands(struct aac_softc *sc) if (fm == NULL) return (ENOMEM); - mtx_unlock(&sc->aac_io_lock); /* allocate the FIBs in DMAable memory and load them */ if (bus_dmamem_alloc(sc->aac_fib_dmat, (void **)&fm->aac_fibs, BUS_DMA_NOWAIT, &fm->aac_fibmap)) { @@ -1220,7 +1218,6 @@ aac_alloc_commands(struct aac_softc *sc) (void)bus_dmamap_load(sc->aac_fib_dmat, fm->aac_fibmap, fm->aac_fibs, sc->aac_max_fibs_alloc * maxsize, aac_map_command_helper, &fibphys, 0); - mtx_lock(&sc->aac_io_lock); /* initialize constant fields in the command structure */ bzero(fm->aac_fibs, sc->aac_max_fibs_alloc * maxsize); @@ -1250,8 +1247,12 @@ aac_alloc_commands(struct aac_softc *sc) if ((error = bus_dmamap_create(sc->aac_buffer_dmat, 0, &cm->cm_datamap)) != 0) break; - if (sc->aac_max_fibs <= 1 || sc->aac_max_fibs - sc->total_fibs > 1) + if (sc->aac_max_fibs <= 1 || + sc->aac_max_fibs - sc->total_fibs > 1) { + mtx_lock(&sc->aac_io_lock); aacraid_release_command(cm); + mtx_unlock(&sc->aac_io_lock); + } sc->total_fibs++; } @@ -1500,6 +1501,7 @@ aac_unmap_command(struct aac_command *cm) if (!(cm->cm_flags & AAC_CMD_MAPPED)) return; + mtx_assert(&sc->aac_io_lock, MA_OWNED); if (cm->cm_datalen != 0 && cm->cm_passthr_dmat == 0) { if (cm->cm_flags & AAC_CMD_DATAIN) bus_dmamap_sync(sc->aac_buffer_dmat, cm->cm_datamap, From owner-svn-src-all@freebsd.org Fri Jun 9 15:21:30 2017 Return-Path: Delivered-To: svn-src-all@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 07ACBBF7628; Fri, 9 Jun 2017 15:21:30 +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 8A35B70BA2; Fri, 9 Jun 2017 15:21:29 +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 v59FLSc6037425; Fri, 9 Jun 2017 15:21:28 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59FLSbl037424; Fri, 9 Jun 2017 15:21:28 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091521.v59FLSbl037424@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:21:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319747 - head/sys/dev/aacraid X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:21:30 -0000 Author: avg Date: Fri Jun 9 15:21:28 2017 New Revision: 319747 URL: https://svnweb.freebsd.org/changeset/base/319747 Log: remove an unrelated local change from r319746 MFC after: 1 day X-MFC with: r319746 Modified: head/sys/dev/aacraid/aacraid.c Modified: head/sys/dev/aacraid/aacraid.c ============================================================================== --- head/sys/dev/aacraid/aacraid.c Fri Jun 9 15:16:39 2017 (r319746) +++ head/sys/dev/aacraid/aacraid.c Fri Jun 9 15:21:28 2017 (r319747) @@ -670,10 +670,12 @@ aac_alloc(struct aac_softc *sc) TAILQ_INIT(&sc->aac_fibmap_tqh); sc->aac_commands = malloc(sc->aac_max_fibs * sizeof(struct aac_command), M_AACRAIDBUF, M_WAITOK|M_ZERO); + mtx_lock(&sc->aac_io_lock); while (sc->total_fibs < sc->aac_max_fibs) { if (aac_alloc_commands(sc) != 0) break; } + mtx_unlock(&sc->aac_io_lock); if (sc->total_fibs == 0) return (ENOMEM); @@ -1044,9 +1046,7 @@ aac_command_thread(struct aac_softc *sc) * will grab Giant, and would result in an LOR. */ if ((sc->aifflags & AAC_AIFFLAGS_ALLOCFIBS) != 0) { - mtx_unlock(&sc->aac_io_lock); aac_alloc_commands(sc); - mtx_lock(&sc->aac_io_lock); sc->aifflags &= ~AAC_AIFFLAGS_ALLOCFIBS; aacraid_startio(sc); } @@ -1193,6 +1193,7 @@ aac_alloc_commands(struct aac_softc *sc) u_int32_t maxsize; fwprintf(sc, HBA_FLAGS_DBG_FUNCTION_ENTRY_B, ""); + mtx_assert(&sc->aac_io_lock, MA_OWNED); if (sc->total_fibs + sc->aac_max_fibs_alloc > sc->aac_max_fibs) return (ENOMEM); @@ -1201,6 +1202,7 @@ aac_alloc_commands(struct aac_softc *sc) if (fm == NULL) return (ENOMEM); + mtx_unlock(&sc->aac_io_lock); /* allocate the FIBs in DMAable memory and load them */ if (bus_dmamem_alloc(sc->aac_fib_dmat, (void **)&fm->aac_fibs, BUS_DMA_NOWAIT, &fm->aac_fibmap)) { @@ -1218,6 +1220,7 @@ aac_alloc_commands(struct aac_softc *sc) (void)bus_dmamap_load(sc->aac_fib_dmat, fm->aac_fibmap, fm->aac_fibs, sc->aac_max_fibs_alloc * maxsize, aac_map_command_helper, &fibphys, 0); + mtx_lock(&sc->aac_io_lock); /* initialize constant fields in the command structure */ bzero(fm->aac_fibs, sc->aac_max_fibs_alloc * maxsize); @@ -1247,12 +1250,8 @@ aac_alloc_commands(struct aac_softc *sc) if ((error = bus_dmamap_create(sc->aac_buffer_dmat, 0, &cm->cm_datamap)) != 0) break; - if (sc->aac_max_fibs <= 1 || - sc->aac_max_fibs - sc->total_fibs > 1) { - mtx_lock(&sc->aac_io_lock); + if (sc->aac_max_fibs <= 1 || sc->aac_max_fibs - sc->total_fibs > 1) aacraid_release_command(cm); - mtx_unlock(&sc->aac_io_lock); - } sc->total_fibs++; } @@ -1501,7 +1500,6 @@ aac_unmap_command(struct aac_command *cm) if (!(cm->cm_flags & AAC_CMD_MAPPED)) return; - mtx_assert(&sc->aac_io_lock, MA_OWNED); if (cm->cm_datalen != 0 && cm->cm_passthr_dmat == 0) { if (cm->cm_flags & AAC_CMD_DATAIN) bus_dmamap_sync(sc->aac_buffer_dmat, cm->cm_datamap, From owner-svn-src-all@freebsd.org Fri Jun 9 15:26:05 2017 Return-Path: Delivered-To: svn-src-all@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 2388FBF777B; Fri, 9 Jun 2017 15:26:05 +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 D656971016; Fri, 9 Jun 2017 15:26:04 +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 v59FQ3Qp041158; Fri, 9 Jun 2017 15:26:03 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59FQ3bu041153; Fri, 9 Jun 2017 15:26:03 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091526.v59FQ3bu041153@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:26:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319748 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:26:05 -0000 Author: avg Date: Fri Jun 9 15:26:03 2017 New Revision: 319748 URL: https://svnweb.freebsd.org/changeset/base/319748 Log: MFV r319738: 8155 simplify dmu_write_policy handling of pre-compressed buffers illumos/illumos-gate@adaec86ad212d9fd756bee322934fa54d1258605 https://github.com/illumos/illumos-gate/commit/adaec86ad212d9fd756bee322934fa54d1258605 https://www.illumos.org/issues/8155 When writing pre-compressed buffers, arc_write() requires that the compression algorithm used to compress the buffer matches the compression algorithm requested by the zio_prop_t, which is set by dmu_write_policy(). This makes dmu_write_policy() and its callers a bit more complicated. We can simplify this by making arc_write() trust the caller to supply the type of pre-compressed buffer that it wants to write, and override the compression setting in the zio_prop_t. Reviewed by: Dan Kimmel Reviewed by: George Wilson Approved by: Robert Mustacchi Author: Matthew Ahrens MFC after: 10 days Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Fri Jun 9 15:21:28 2017 (r319747) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Fri Jun 9 15:26:03 2017 (r319748) @@ -5937,6 +5937,7 @@ arc_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr arc_buf_hdr_t *hdr = buf->b_hdr; arc_write_callback_t *callback; zio_t *zio; + zio_prop_t localprop = *zp; ASSERT3P(ready, !=, NULL); ASSERT3P(done, !=, NULL); @@ -5947,7 +5948,13 @@ arc_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr if (l2arc) arc_hdr_set_flags(hdr, ARC_FLAG_L2CACHE); if (ARC_BUF_COMPRESSED(buf)) { - ASSERT3U(zp->zp_compress, !=, ZIO_COMPRESS_OFF); + /* + * We're writing a pre-compressed buffer. Make the + * compression algorithm requested by the zio_prop_t match + * the pre-compressed buffer's compression algorithm. + */ + localprop.zp_compress = HDR_GET_COMPRESS(hdr); + ASSERT3U(HDR_GET_LSIZE(hdr), !=, arc_buf_size(buf)); zio_flags |= ZIO_FLAG_RAW; } @@ -5982,7 +5989,7 @@ arc_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr ASSERT3P(hdr->b_l1hdr.b_pdata, ==, NULL); zio = zio_write(pio, spa, txg, bp, buf->b_data, - HDR_GET_LSIZE(hdr), arc_buf_size(buf), zp, arc_write_ready, + HDR_GET_LSIZE(hdr), arc_buf_size(buf), &localprop, arc_write_ready, (children_ready != NULL) ? arc_write_children_ready : NULL, arc_write_physdone, arc_write_done, callback, priority, zio_flags, zb); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Fri Jun 9 15:21:28 2017 (r319747) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Fri Jun 9 15:26:03 2017 (r319748) @@ -3536,9 +3536,7 @@ dbuf_write(dbuf_dirty_record_t *dr, arc_buf_t *data, d wp_flag = WP_SPILL; wp_flag |= (db->db_state == DB_NOFILL) ? WP_NOFILL : 0; - dmu_write_policy(os, dn, db->db_level, wp_flag, - (data != NULL && arc_get_compression(data) != ZIO_COMPRESS_OFF) ? - arc_get_compression(data) : ZIO_COMPRESS_INHERIT, &zp); + dmu_write_policy(os, dn, db->db_level, wp_flag, &zp); DB_DNODE_EXIT(db); /* Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Fri Jun 9 15:21:28 2017 (r319747) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Fri Jun 9 15:26:03 2017 (r319748) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2016 by Delphix. All rights reserved. + * Copyright (c) 2011, 2017 by Delphix. All rights reserved. */ /* Copyright (c) 2013 by Saso Kiselkov. All rights reserved. */ /* Copyright (c) 2013, Joyent, Inc. All rights reserved. */ @@ -1794,8 +1794,7 @@ dmu_sync(zio_t *pio, uint64_t txg, dmu_sync_cb_t *done DB_DNODE_ENTER(db); dn = DB_DNODE(db); - dmu_write_policy(os, dn, db->db_level, WP_DMU_SYNC, - ZIO_COMPRESS_INHERIT, &zp); + dmu_write_policy(os, dn, db->db_level, WP_DMU_SYNC, &zp); DB_DNODE_EXIT(db); /* @@ -1967,8 +1966,7 @@ SYSCTL_INT(_vfs_zfs, OID_AUTO, mdcomp_disable, CTLFLAG int zfs_redundant_metadata_most_ditto_level = 2; void -dmu_write_policy(objset_t *os, dnode_t *dn, int level, int wp, - enum zio_compress override_compress, zio_prop_t *zp) +dmu_write_policy(objset_t *os, dnode_t *dn, int level, int wp, zio_prop_t *zp) { dmu_object_type_t type = dn ? dn->dn_type : DMU_OT_OBJSET; boolean_t ismd = (level > 0 || DMU_OT_IS_METADATA(type) || @@ -1980,11 +1978,7 @@ dmu_write_policy(objset_t *os, dnode_t *dn, int level, boolean_t nopwrite = B_FALSE; boolean_t dedup_verify = os->os_dedup_verify; int copies = os->os_copies; - boolean_t lz4_ac = spa_feature_is_active(os->os_spa, - SPA_FEATURE_LZ4_COMPRESS); - IMPLY(override_compress == ZIO_COMPRESS_LZ4, lz4_ac); - /* * We maintain different write policies for each of the following * types of data: @@ -2071,14 +2065,7 @@ dmu_write_policy(objset_t *os, dnode_t *dn, int level, } zp->zp_checksum = checksum; - - /* - * If we're writing a pre-compressed buffer, the compression type we use - * must match the data. If it hasn't been compressed yet, then we should - * use the value dictated by the policies above. - */ - zp->zp_compress = override_compress != ZIO_COMPRESS_INHERIT - ? override_compress : compress; + zp->zp_compress = compress; ASSERT3U(zp->zp_compress, !=, ZIO_COMPRESS_INHERIT); zp->zp_type = (wp & WP_SPILL) ? dn->dn_bonustype : type; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Fri Jun 9 15:21:28 2017 (r319747) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Fri Jun 9 15:26:03 2017 (r319748) @@ -1201,7 +1201,7 @@ dmu_objset_sync(objset_t *os, zio_t *pio, dmu_tx_t *tx ZB_ROOT_OBJECT, ZB_ROOT_LEVEL, ZB_ROOT_BLKID); arc_release(os->os_phys_buf, &os->os_phys_buf); - dmu_write_policy(os, NULL, 0, 0, ZIO_COMPRESS_INHERIT, &zp); + dmu_write_policy(os, NULL, 0, 0, &zp); zio = arc_write(pio, os->os_spa, tx->tx_txg, blkptr_copy, os->os_phys_buf, DMU_OS_IS_L2CACHEABLE(os), Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Fri Jun 9 15:21:28 2017 (r319747) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Fri Jun 9 15:26:03 2017 (r319748) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2016 by Delphix. All rights reserved. + * Copyright (c) 2011, 2017 by Delphix. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, Joyent, Inc. All rights reserved. * Copyright 2013 DEY Storage Systems, Inc. @@ -422,7 +422,7 @@ dmu_write_embedded(objset_t *os, uint64_t object, uint #define WP_SPILL 0x4 void dmu_write_policy(objset_t *os, dnode_t *dn, int level, int wp, - enum zio_compress compress_override, struct zio_prop *zp); + struct zio_prop *zp); /* * The bonus data is accessed more or less like a regular buffer. * You must dmu_bonus_hold() to get the buffer, which will give you a From owner-svn-src-all@freebsd.org Fri Jun 9 15:27:23 2017 Return-Path: Delivered-To: svn-src-all@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 8B105BF7813; Fri, 9 Jun 2017 15:27:23 +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 6516A71165; Fri, 9 Jun 2017 15:27:23 +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 v59FRMDw041259; Fri, 9 Jun 2017 15:27:22 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59FRM56041258; Fri, 9 Jun 2017 15:27:22 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091527.v59FRM56041258@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:27:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319749 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:27:23 -0000 Author: avg Date: Fri Jun 9 15:27:22 2017 New Revision: 319749 URL: https://svnweb.freebsd.org/changeset/base/319749 Log: MFV r319739: 8005 poor performance of 1MB writes on certain RAID-Z configurations illumos/illumos-gate@5b062782532a1d5961c4a4b655906e1238c7c908 https://github.com/illumos/illumos-gate/commit/5b062782532a1d5961c4a4b655906e1238c7c908 https://www.illumos.org/issues/8005 RAID-Z requires that space be allocated in multiples of P+1 sectors, because this is the minimum size block that can have the required amount of parity. Thus blocks on RAIDZ1 must be allocated in a multiple of 2 sectors; on RAIDZ2 multiple of 3; and on RAIDZ3 multiple of 4. A sector is a unit of 2^ashift bytes, typically 512B or 4KB. To satisfy this constraint, the allocation size is rounded up to the proper multiple, resulting in up to 3 "pad sectors" at the end of some blocks. The contents of these pad sectors are not used, so we do not need to read or write these sectors. However, some storage hardware performs much worse (around 1/2 as fast) on mostly-contiguous writes when there are small gaps of non-overwritten data between the writes. Therefore, ZFS creates "optional" zio's when writing RAID-Z blocks that include pad sectors. If writing a pad sector will fill the gap between two (required) writes, we will issue the optional zio, thus doubling performance. The gap-filling performance improvement was introduced in July 2009. Writing the optional zio is done by the io aggregation code in vdev_queue.c. The problem is that it is also subject to the limit on the size of aggregate writes, zfs_vdev_aggregation_limit, which is by default 128KB. For a given block, if the amount of data plus padding written to a leaf device exceeds zfs_vdev_aggregation_limit, the optional zio will not be written, resulting in a ~2x performance degradation. The problem occurs only for certain values of ashift, compressed block size, and RAID-Z configuration (number of parity and data disks). It cannot occur with the default recordsize=128KB. If compression is enabled, all configurations with recordsize=1MB or larger will be impacted to some degree. The problem notably occurs with recordsize=1MB, compression=off, with 10 disks in a RAIDZ2 or RAIDZ3 group (with 512B or 4KB sectors). Therefore Reviewed by: Saso Kiselkov Reviewed by: George Wilson Reviewed by: Pavel Zakharov Approved by: Robert Mustacchi Author: Matthew Ahrens MFC after: 10 days Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c Fri Jun 9 15:26:03 2017 (r319748) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c Fri Jun 9 15:27:22 2017 (r319749) @@ -24,7 +24,7 @@ */ /* - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2017 by Delphix. All rights reserved. * Copyright (c) 2014 Integros [integros.com] */ @@ -681,7 +681,7 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) /* * Walk backwards through sufficiently contiguous I/Os - * recording the last non-option I/O. + * recording the last non-optional I/O. */ flags = zio->io_flags & ZIO_FLAG_AGG_INHERIT; t = vdev_queue_type_tree(vq, zio->io_type); @@ -704,10 +704,14 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) /* * Walk forward through sufficiently contiguous I/Os. + * The aggregation limit does not apply to optional i/os, so that + * we can issue contiguous writes even if they are larger than the + * aggregation limit. */ while ((dio = AVL_NEXT(t, last)) != NULL && (dio->io_flags & ZIO_FLAG_AGG_INHERIT) == flags && - IO_SPAN(first, dio) <= zfs_vdev_aggregation_limit && + (IO_SPAN(first, dio) <= zfs_vdev_aggregation_limit || + (dio->io_flags & ZIO_FLAG_OPTIONAL)) && IO_GAP(last, dio) <= maxgap) { last = dio; if (!(last->io_flags & ZIO_FLAG_OPTIONAL)) @@ -739,10 +743,16 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) } if (stretch) { - /* This may be a no-op. */ + /* + * We are going to include an optional io in our aggregated + * span, thus closing the write gap. Only mandatory i/os can + * start aggregated spans, so make sure that the next i/o + * after our span is mandatory. + */ dio = AVL_NEXT(t, last); dio->io_flags &= ~ZIO_FLAG_OPTIONAL; } else { + /* do not include the optional i/o */ while (last != mandatory && last != first) { ASSERT(last->io_flags & ZIO_FLAG_OPTIONAL); last = AVL_PREV(t, last); @@ -754,7 +764,7 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) return (NULL); size = IO_SPAN(first, last); - ASSERT3U(size, <=, zfs_vdev_aggregation_limit); + ASSERT3U(size, <=, SPA_MAXBLOCKSIZE); abuf = zio_buf_alloc_nowait(size); if (abuf == NULL) From owner-svn-src-all@freebsd.org Fri Jun 9 15:28:58 2017 Return-Path: Delivered-To: svn-src-all@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 E860ABF7878; Fri, 9 Jun 2017 15:28:58 +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 B665E712BA; Fri, 9 Jun 2017 15:28:58 +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 v59FSvYw041365; Fri, 9 Jun 2017 15:28:57 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59FSvVw041364; Fri, 9 Jun 2017 15:28:57 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091528.v59FSvVw041364@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:28:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319750 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:28:59 -0000 Author: avg Date: Fri Jun 9 15:28:57 2017 New Revision: 319750 URL: https://svnweb.freebsd.org/changeset/base/319750 Log: MFV r319741: 8156 dbuf_evict_notify() does not need dbuf_evict_lock illumos/illumos-gate@dbfd9f930004c390a2ce2cf850c71b4f880eef9c https://github.com/illumos/illumos-gate/commit/dbfd9f930004c390a2ce2cf850c71b4f880eef9c https://www.illumos.org/issues/8156 dbuf_evict_notify() holds the dbuf_evict_lock while checking if it should do the eviction itself (because the evict thread is not able to keep up). This can result in massive lock contention. It isn't necessary to hold the lock, because if we make the wrong choice occasionally, nothing bad will happen. Reviewed by: Dan Kimmel Reviewed by: Paul Dagnelie Approved by: Robert Mustacchi Author: Matthew Ahrens MFC after: 1 week Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Fri Jun 9 15:27:22 2017 (r319749) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Fri Jun 9 15:28:57 2017 (r319750) @@ -560,19 +560,15 @@ dbuf_evict_notify(void) if (tsd_get(zfs_dbuf_evict_key) != NULL) return; + /* + * We check if we should evict without holding the dbuf_evict_lock, + * because it's OK to occasionally make the wrong decision here, + * and grabbing the lock results in massive lock contention. + */ if (refcount_count(&dbuf_cache_size) > dbuf_cache_max_bytes) { - boolean_t evict_now = B_FALSE; - - mutex_enter(&dbuf_evict_lock); - if (refcount_count(&dbuf_cache_size) > dbuf_cache_max_bytes) { - evict_now = dbuf_cache_above_hiwater(); - cv_signal(&dbuf_evict_cv); - } - mutex_exit(&dbuf_evict_lock); - - if (evict_now) { + if (dbuf_cache_above_hiwater()) dbuf_evict_one(); - } + cv_signal(&dbuf_evict_cv); } } From owner-svn-src-all@freebsd.org Fri Jun 9 15:30:42 2017 Return-Path: Delivered-To: svn-src-all@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 AF90CBF7916; Fri, 9 Jun 2017 15:30:42 +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 8B01C7153C; Fri, 9 Jun 2017 15:30:42 +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 v59FUfmB041499; Fri, 9 Jun 2017 15:30:41 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59FUfuW041498; Fri, 9 Jun 2017 15:30:41 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706091530.v59FUfuW041498@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Fri, 9 Jun 2017 15:30:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319751 - head/cddl/contrib/opensolaris/lib/libzfs/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:30:42 -0000 Author: avg Date: Fri Jun 9 15:30:41 2017 New Revision: 319751 URL: https://svnweb.freebsd.org/changeset/base/319751 Log: MFV r319740: 8168 NULL pointer dereference in zfs_create() illumos/illumos-gate@690031d326342fa4ea28b5e80f1ad6a16281519d https://github.com/illumos/illumos-gate/commit/690031d326342fa4ea28b5e80f1ad6a16281519d https://www.illumos.org/issues/8168 If we manage to export the pool on which we are creating a dataset (filesystem or zvol) between entering libzfs`zfs_create() and libzfs`zpool_open() call (for which we never check the return value) we end up dereferencing a NULL pointer in libzfs`zpool_close(). This was discovered on ZFS on Linux. The same issue can be reproduced on Illumos running in parallel: while :; do zpool import -d /tmp testpool ; zpool export testpool ; done while :; do zfs create testpool/fs; zfs destroy testpool/fs ; done Eventually this will result in several core dumps like this one: [root@52-54-00-d3-7a-01 /cores]# mdb core.zfs.4244 Loading modules: [ libumem.so.1 libc.so.1 libtopo.so.1 libavl.so.1 libnvpair.so.1 ld.so.1 ] > ::stack libzfs.so.1`zpool_close+0x17(0, 0, 0, 8047450) libzfs.so.1`zfs_create+0x1bb(8090548, 8047e6f, 1, 808cba8) zfs_do_create+0x545(2, 8047d74, 80778a0, 801, 0, 3) main+0x22c(8047d2c, fef5c6e8, 8047d64, 8055a17, 3, 8047d70) _start+0x83(3, 8047e64, 8047e68, 8047e6f, 0, 8047e7b) > Fix and reproducer (systemtap): https://github.com/zfsonlinux/zfs/pull/6096 Reviewed by: Matt Ahrens Approved by: Robert Mustacchi Author: loli10K MFC after: 2 weeks Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Fri Jun 9 15:28:57 2017 (r319750) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Fri Jun 9 15:30:41 2017 (r319751) @@ -3316,6 +3316,7 @@ zfs_create(libzfs_handle_t *hdl, const char *path, zfs char errbuf[1024]; uint64_t zoned; enum lzc_dataset_type ost; + zpool_handle_t *zpool_handle; (void) snprintf(errbuf, sizeof (errbuf), dgettext(TEXT_DOMAIN, "cannot create '%s'"), path); @@ -3355,7 +3356,8 @@ zfs_create(libzfs_handle_t *hdl, const char *path, zfs if (p != NULL) *p = '\0'; - zpool_handle_t *zpool_handle = zpool_open(hdl, pool_path); + if ((zpool_handle = zpool_open(hdl, pool_path)) == NULL) + return (-1); if (props && (props = zfs_valid_proplist(hdl, type, props, zoned, NULL, zpool_handle, errbuf)) == 0) { From owner-svn-src-all@freebsd.org Fri Jun 9 15:37:18 2017 Return-Path: Delivered-To: svn-src-all@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 BBEE0BF7B89; Fri, 9 Jun 2017 15:37:18 +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 8BC7E71ABF; Fri, 9 Jun 2017 15:37:18 +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 v59FbHnQ045572; Fri, 9 Jun 2017 15:37:17 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59FbHMx045568; Fri, 9 Jun 2017 15:37:17 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201706091537.v59FbHMx045568@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 9 Jun 2017 15:37:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319752 - in head/sys/arm64: arm64 include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:37:18 -0000 Author: andrew Date: Fri Jun 9 15:37:17 2017 New Revision: 319752 URL: https://svnweb.freebsd.org/changeset/base/319752 Log: Store the read-only thread pointer when scheduling a new thread. This is not currently set, however we may wish to set it later. Modified: head/sys/arm64/arm64/genassym.c head/sys/arm64/arm64/swtch.S head/sys/arm64/include/pcb.h Modified: head/sys/arm64/arm64/genassym.c ============================================================================== --- head/sys/arm64/arm64/genassym.c Fri Jun 9 15:30:41 2017 (r319751) +++ head/sys/arm64/arm64/genassym.c Fri Jun 9 15:37:17 2017 (r319752) @@ -49,6 +49,7 @@ ASSYM(PCB_SIZE, roundup2(sizeof(struct pcb), STACKALIG ASSYM(PCB_SINGLE_STEP_SHIFT, PCB_SINGLE_STEP_SHIFT); ASSYM(PCB_REGS, offsetof(struct pcb, pcb_x)); ASSYM(PCB_SP, offsetof(struct pcb, pcb_sp)); +ASSYM(PCB_TPIDRRO, offsetof(struct pcb, pcb_tpidrro_el0)); ASSYM(PCB_L0ADDR, offsetof(struct pcb, pcb_l0addr)); ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault)); ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); Modified: head/sys/arm64/arm64/swtch.S ============================================================================== --- head/sys/arm64/arm64/swtch.S Fri Jun 9 15:30:41 2017 (r319751) +++ head/sys/arm64/arm64/swtch.S Fri Jun 9 15:37:17 2017 (r319752) @@ -104,6 +104,8 @@ ENTRY(cpu_throw) ldp x5, x6, [x4, #PCB_SP] mov sp, x5 msr tpidr_el0, x6 + ldr x6, [x4, #PCB_TPIDRRO] + msr tpidrro_el0, x6 ldp x8, x9, [x4, #PCB_REGS + 8 * 8] ldp x10, x11, [x4, #PCB_REGS + 10 * 8] ldp x12, x13, [x4, #PCB_REGS + 12 * 8] @@ -149,6 +151,8 @@ ENTRY(cpu_switch) str x30, [x4, #PCB_REGS + 30 * 8] /* And the old stack pointer */ mov x5, sp + mrs x6, tpidrro_el0 + str x6, [x4, #PCB_TPIDRRO] mrs x6, tpidr_el0 stp x5, x6, [x4, #PCB_SP] @@ -215,6 +219,8 @@ ENTRY(cpu_switch) ldp x5, x6, [x4, #PCB_SP] mov sp, x5 msr tpidr_el0, x6 + ldr x6, [x4, #PCB_TPIDRRO] + msr tpidrro_el0, x6 ldp x8, x9, [x4, #PCB_REGS + 8 * 8] ldp x10, x11, [x4, #PCB_REGS + 10 * 8] ldp x12, x13, [x4, #PCB_REGS + 12 * 8] @@ -301,6 +307,8 @@ ENTRY(savectx) str x30, [x0, #PCB_REGS + 30 * 8] /* And the old stack pointer */ mov x5, sp + mrs x6, tpidrro_el0 + str x6, [x0, #PCB_TPIDRRO] mrs x6, tpidr_el0 stp x5, x6, [x0, #PCB_SP] Modified: head/sys/arm64/include/pcb.h ============================================================================== --- head/sys/arm64/include/pcb.h Fri Jun 9 15:30:41 2017 (r319751) +++ head/sys/arm64/include/pcb.h Fri Jun 9 15:37:17 2017 (r319752) @@ -42,6 +42,7 @@ struct pcb { /* These two need to be in order as we access them together */ uint64_t pcb_sp; uint64_t pcb_tpidr_el0; + uint64_t pcb_tpidrro_el0; vm_offset_t pcb_l0addr; /* Fault handler, the error value is passed in x0 */ From owner-svn-src-all@freebsd.org Fri Jun 9 15:47:15 2017 Return-Path: Delivered-To: svn-src-all@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 AD737BF7E18; Fri, 9 Jun 2017 15:47:15 +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 7DBCA71FBD; Fri, 9 Jun 2017 15:47:15 +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 v59FlE2h049972; Fri, 9 Jun 2017 15:47:14 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59FlEYq049971; Fri, 9 Jun 2017 15:47:14 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201706091547.v59FlEYq049971@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 9 Jun 2017 15:47:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319753 - head/sys/arm64/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:47:15 -0000 Author: andrew Date: Fri Jun 9 15:47:14 2017 New Revision: 319753 URL: https://svnweb.freebsd.org/changeset/base/319753 Log: Allow the arm64 machine/vfp.h to be included without first including machine/pcb.h. It he latter is only needed for struct pcb. Modified: head/sys/arm64/include/vfp.h Modified: head/sys/arm64/include/vfp.h ============================================================================== --- head/sys/arm64/include/vfp.h Fri Jun 9 15:37:17 2017 (r319752) +++ head/sys/arm64/include/vfp.h Fri Jun 9 15:47:14 2017 (r319753) @@ -41,6 +41,8 @@ struct vfpstate { }; #ifdef _KERNEL +struct pcb; + void vfp_init(void); void vfp_discard(struct thread *); void vfp_restore_state(void); From owner-svn-src-all@freebsd.org Fri Jun 9 15:48:13 2017 Return-Path: Delivered-To: svn-src-all@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 9FE4CBF7EE2; Fri, 9 Jun 2017 15:48:13 +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 6AAD47211A; Fri, 9 Jun 2017 15:48:11 +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 SAA17477; Fri, 09 Jun 2017 18:42:05 +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 1dJM33-0009dq-Ju; Fri, 09 Jun 2017 18:42:05 +0300 Subject: Re: svn commit: r317591 - head/sys/dev/drm2/radeon From: Andriy Gapon To: Takahashi Yoshihiro , src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org References: <201704290947.v3T9lF0r075921@repo.freebsd.org> <03e500d5-76b1-fd38-04c6-90d85a2ddfa8@FreeBSD.org> Message-ID: <086f41db-c2a1-5367-6acb-59df190a43db@FreeBSD.org> Date: Fri, 9 Jun 2017 18:40:44 +0300 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <03e500d5-76b1-fd38-04c6-90d85a2ddfa8@FreeBSD.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:48:13 -0000 [ping] On 31/05/2017 08:22, Andriy Gapon wrote: > On 29/04/2017 12:47, Takahashi Yoshihiro wrote: >> Author: nyan >> Date: Sat Apr 29 09:47:15 2017 >> New Revision: 317591 >> URL: https://svnweb.freebsd.org/changeset/base/317591 >> >> Log: >> Add TUNABLE_INT to radeonkms driver parameters. >> They are required by PowerMac G5 DP. >> >> PR: 217852 >> Submitted by: Hiroo Ono >> MFC after: 1 week > > I think that this solution that I had in my private tree is a little bit more > powerful: > https://people.freebsd.org/~avg/radeon_drv-knobs.diff > > The advantage is that it is less intrusive and also provides read-only sysctl in > addition to the tunables. > Also, hw.drm.radeon seems like a better place for the knobs than just drm.radeon. > > Do you mind if I commit this? > >> Modified: >> head/sys/dev/drm2/radeon/radeon_drv.c >> >> Modified: head/sys/dev/drm2/radeon/radeon_drv.c >> ============================================================================== >> --- head/sys/dev/drm2/radeon/radeon_drv.c Sat Apr 29 09:26:30 2017 (r317590) >> +++ head/sys/dev/drm2/radeon/radeon_drv.c Sat Apr 29 09:47:15 2017 (r317591) >> @@ -127,54 +127,71 @@ int radeon_pcie_gen2 = -1; >> int radeon_msi = -1; >> int radeon_lockup_timeout = 10000; >> >> +TUNABLE_INT("drm.radeon.no_wb", &radeon_no_wb); >> MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers"); >> module_param_named(no_wb, radeon_no_wb, int, 0444); >> >> +TUNABLE_INT("drm.radeon.modeset", &radeon_modeset); >> MODULE_PARM_DESC(modeset, "Disable/Enable modesetting"); >> module_param_named(modeset, radeon_modeset, int, 0400); >> >> +TUNABLE_INT("drm.radeon.dynclks", &radeon_dynclks); >> MODULE_PARM_DESC(dynclks, "Disable/Enable dynamic clocks"); >> module_param_named(dynclks, radeon_dynclks, int, 0444); >> >> +TUNABLE_INT("drm.radeon.r4xx_atom", &radeon_r4xx_atom); >> MODULE_PARM_DESC(r4xx_atom, "Enable ATOMBIOS modesetting for R4xx"); >> module_param_named(r4xx_atom, radeon_r4xx_atom, int, 0444); >> >> +TUNABLE_INT("drm.radeon.vramlimit", &radeon_vram_limit); >> MODULE_PARM_DESC(vramlimit, "Restrict VRAM for testing"); >> module_param_named(vramlimit, radeon_vram_limit, int, 0600); >> >> +TUNABLE_INT("drm.radeon.agpmode", &radeon_agpmode); >> MODULE_PARM_DESC(agpmode, "AGP Mode (-1 == PCI)"); >> module_param_named(agpmode, radeon_agpmode, int, 0444); >> >> +TUNABLE_INT("drm.radeon.gartsize", &radeon_gart_size); >> MODULE_PARM_DESC(gartsize, "Size of PCIE/IGP gart to setup in megabytes (32, 64, etc)"); >> module_param_named(gartsize, radeon_gart_size, int, 0600); >> >> +TUNABLE_INT("drm.radeon.benchmark", &radeon_benchmarking); >> MODULE_PARM_DESC(benchmark, "Run benchmark"); >> module_param_named(benchmark, radeon_benchmarking, int, 0444); >> >> +TUNABLE_INT("drm.radeon.test", &radeon_testing); >> MODULE_PARM_DESC(test, "Run tests"); >> module_param_named(test, radeon_testing, int, 0444); >> >> +TUNABLE_INT("drm.radeon.connector_table", &radeon_connector_table); >> MODULE_PARM_DESC(connector_table, "Force connector table"); >> module_param_named(connector_table, radeon_connector_table, int, 0444); >> >> +TUNABLE_INT("drm.radeon.tv", &radeon_tv); >> MODULE_PARM_DESC(tv, "TV enable (0 = disable)"); >> module_param_named(tv, radeon_tv, int, 0444); >> >> +TUNABLE_INT("drm.radeon.audio", &radeon_audio); >> MODULE_PARM_DESC(audio, "Audio enable (1 = enable)"); >> module_param_named(audio, radeon_audio, int, 0444); >> >> +TUNABLE_INT("drm.radeon.disp_priority", &radeon_disp_priority); >> MODULE_PARM_DESC(disp_priority, "Display Priority (0 = auto, 1 = normal, 2 = high)"); >> module_param_named(disp_priority, radeon_disp_priority, int, 0444); >> >> +TUNABLE_INT("drm.radeon.hw_i2c", &radeon_hw_i2c); >> MODULE_PARM_DESC(hw_i2c, "hw i2c engine enable (0 = disable)"); >> module_param_named(hw_i2c, radeon_hw_i2c, int, 0444); >> >> +TUNABLE_INT("drm.radeon.pcie_gen2", &radeon_pcie_gen2); >> MODULE_PARM_DESC(pcie_gen2, "PCIE Gen2 mode (-1 = auto, 0 = disable, 1 = enable)"); >> module_param_named(pcie_gen2, radeon_pcie_gen2, int, 0444); >> >> +TUNABLE_INT("drm.radeon.msi", &radeon_msi); >> MODULE_PARM_DESC(msi, "MSI support (1 = enable, 0 = disable, -1 = auto)"); >> module_param_named(msi, radeon_msi, int, 0444); >> >> +TUNABLE_INT("drm.radeon.lockup_timeout", &radeon_lockup_timeout); >> MODULE_PARM_DESC(lockup_timeout, "GPU lockup timeout in ms (defaul 10000 = 10 seconds, 0 = disable)"); >> module_param_named(lockup_timeout, radeon_lockup_timeout, int, 0444); >> >> > > -- Andriy Gapon From owner-svn-src-all@freebsd.org Fri Jun 9 15:54:49 2017 Return-Path: Delivered-To: svn-src-all@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 A07FEBF830D; Fri, 9 Jun 2017 15:54:49 +0000 (UTC) (envelope-from glebius@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 548F172743; Fri, 9 Jun 2017 15:54:49 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v59Fsmji053929; Fri, 9 Jun 2017 15:54:48 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59FsmGS053928; Fri, 9 Jun 2017 15:54:48 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706091554.v59FsmGS053928@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 9 Jun 2017 15:54:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319754 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 15:54:49 -0000 Author: glebius Date: Fri Jun 9 15:54:48 2017 New Revision: 319754 URL: https://svnweb.freebsd.org/changeset/base/319754 Log: Fix stat(2) on a listening socket. Modified: head/sys/kern/sys_socket.c Modified: head/sys/kern/sys_socket.c ============================================================================== --- head/sys/kern/sys_socket.c Fri Jun 9 15:47:14 2017 (r319753) +++ head/sys/kern/sys_socket.c Fri Jun 9 15:54:48 2017 (r319754) @@ -285,7 +285,6 @@ soo_stat(struct file *fp, struct stat *ub, struct ucre struct thread *td) { struct socket *so = fp->f_data; - struct sockbuf *sb; #ifdef MAC int error; #endif @@ -297,22 +296,26 @@ soo_stat(struct file *fp, struct stat *ub, struct ucre if (error) return (error); #endif - /* - * If SBS_CANTRCVMORE is set, but there's still data left in the - * receive buffer, the socket is still readable. - */ - sb = &so->so_rcv; - SOCKBUF_LOCK(sb); - if ((sb->sb_state & SBS_CANTRCVMORE) == 0 || sbavail(sb)) - ub->st_mode |= S_IRUSR | S_IRGRP | S_IROTH; - ub->st_size = sbavail(sb) - sb->sb_ctl; - SOCKBUF_UNLOCK(sb); + if (!SOLISTENING(so)) { + struct sockbuf *sb; - sb = &so->so_snd; - SOCKBUF_LOCK(sb); - if ((sb->sb_state & SBS_CANTSENDMORE) == 0) - ub->st_mode |= S_IWUSR | S_IWGRP | S_IWOTH; - SOCKBUF_UNLOCK(sb); + /* + * If SBS_CANTRCVMORE is set, but there's still data left + * in the receive buffer, the socket is still readable. + */ + sb = &so->so_rcv; + SOCKBUF_LOCK(sb); + if ((sb->sb_state & SBS_CANTRCVMORE) == 0 || sbavail(sb)) + ub->st_mode |= S_IRUSR | S_IRGRP | S_IROTH; + ub->st_size = sbavail(sb) - sb->sb_ctl; + SOCKBUF_UNLOCK(sb); + + sb = &so->so_snd; + SOCKBUF_LOCK(sb); + if ((sb->sb_state & SBS_CANTSENDMORE) == 0) + ub->st_mode |= S_IWUSR | S_IWGRP | S_IWOTH; + SOCKBUF_UNLOCK(sb); + } ub->st_uid = so->so_cred->cr_uid; ub->st_gid = so->so_cred->cr_gid; return (*so->so_proto->pr_usrreqs->pru_sense)(so, ub); From owner-svn-src-all@freebsd.org Fri Jun 9 16:19:25 2017 Return-Path: Delivered-To: svn-src-all@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 5F158BF87DC; Fri, 9 Jun 2017 16:19:25 +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 3A7CC731B7; Fri, 9 Jun 2017 16:19:25 +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 v59GJOHd062573; Fri, 9 Jun 2017 16:19:24 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59GJOct062571; Fri, 9 Jun 2017 16:19:24 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201706091619.v59GJOct062571@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Fri, 9 Jun 2017 16:19:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319755 - in head/sys: kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 16:19:25 -0000 Author: alc Date: Fri Jun 9 16:19:24 2017 New Revision: 319755 URL: https://svnweb.freebsd.org/changeset/base/319755 Log: blist_fill()'s return type is too narrow. blist_fill() accepts a 64-bit quantity as the size of the range to fill, but returns a 32-bit quantity as the number of blocks that were allocated to fill that range. This revision corrects that mismatch. Currently, swaponsomething() limits the size of a swap area to prevent arithmetic arithmetic overflow in other parts of the blist allocator. That limit has also prevented this type mismatch from causing problems. Reviewed by: kib, markj MFC after: 6 weeks Differential Revision: https://reviews.freebsd.org/D11096 Modified: head/sys/kern/subr_blist.c head/sys/sys/blist.h Modified: head/sys/kern/subr_blist.c ============================================================================== --- head/sys/kern/subr_blist.c Fri Jun 9 15:54:48 2017 (r319754) +++ head/sys/kern/subr_blist.c Fri Jun 9 16:19:24 2017 (r319755) @@ -127,8 +127,8 @@ static void blst_meta_free(blmeta_t *scan, daddr_t fre daddr_t radix, int 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 int blst_leaf_fill(blmeta_t *scan, daddr_t blk, int count); -static int blst_meta_fill(blmeta_t *scan, daddr_t allocBlk, 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, int skip, daddr_t blk); static daddr_t blst_radix_init(blmeta_t *scan, daddr_t radix, int skip, daddr_t count); @@ -248,10 +248,10 @@ blist_free(blist_t bl, daddr_t blkno, daddr_t count) * actually filled that were free before the call. */ -int +daddr_t blist_fill(blist_t bl, daddr_t blkno, daddr_t count) { - int filled; + daddr_t filled; if (bl) { if (bl->bl_radix == BLIST_BMAP_RADIX) @@ -726,11 +726,11 @@ static void blst_copy( * the number of blocks allocated by the call. */ -static int +static daddr_t blst_leaf_fill(blmeta_t *scan, daddr_t blk, int count) { int n = blk & (BLIST_BMAP_RADIX - 1); - int nblks; + daddr_t nblks; u_daddr_t mask, bitmap; mask = ((u_daddr_t)-1 << n) & @@ -753,7 +753,7 @@ blst_leaf_fill(blmeta_t *scan, daddr_t blk, int count) * range must be within the extent of this node. Returns the * number of blocks allocated by the call. */ -static int +static daddr_t blst_meta_fill( blmeta_t *scan, daddr_t allocBlk, @@ -764,7 +764,7 @@ blst_meta_fill( ) { int i; int next_skip = ((u_int)skip / BLIST_META_RADIX); - int nblks = 0; + daddr_t nblks = 0; if (count > radix) panic("blist_meta_fill: allocation too large"); @@ -1047,8 +1047,8 @@ main(int ac, char **av) break; case 'l': if (sscanf(buf + 1, "%llx %lld", &da, &count) == 2) { - printf(" n=%d\n", - blist_fill(bl, da, count)); + printf(" n=%jd\n", + (intmax_t)blist_fill(bl, da, count)); } else { printf("?\n"); } Modified: head/sys/sys/blist.h ============================================================================== --- head/sys/sys/blist.h Fri Jun 9 15:54:48 2017 (r319754) +++ head/sys/sys/blist.h Fri Jun 9 16:19:24 2017 (r319755) @@ -96,7 +96,7 @@ extern blist_t blist_create(daddr_t blocks, int flags) extern void blist_destroy(blist_t blist); extern daddr_t blist_alloc(blist_t blist, daddr_t count); extern void blist_free(blist_t blist, daddr_t blkno, daddr_t count); -extern int blist_fill(blist_t bl, daddr_t blkno, daddr_t count); +extern daddr_t blist_fill(blist_t bl, daddr_t blkno, daddr_t count); extern void blist_print(blist_t blist); extern void blist_resize(blist_t *pblist, daddr_t count, int freenew, int flags); From owner-svn-src-all@freebsd.org Fri Jun 9 17:19:28 2017 Return-Path: Delivered-To: svn-src-all@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 8E2E9BF9620; Fri, 9 Jun 2017 17:19:28 +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 59DFC74CAE; Fri, 9 Jun 2017 17:19:28 +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 v59HJRqb087476; Fri, 9 Jun 2017 17:19:27 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59HJRCr087475; Fri, 9 Jun 2017 17:19:27 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201706091719.v59HJRCr087475@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Fri, 9 Jun 2017 17:19:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319756 - head/sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 17:19:28 -0000 Author: alc Date: Fri Jun 9 17:19:27 2017 New Revision: 319756 URL: https://svnweb.freebsd.org/changeset/base/319756 Log: Style and comment fixes only. Reviewed by: kib MFC after: 6 weeks Modified: head/sys/sys/blist.h Modified: head/sys/sys/blist.h ============================================================================== --- head/sys/sys/blist.h Fri Jun 9 16:19:24 2017 (r319755) +++ head/sys/sys/blist.h Fri Jun 9 17:19:27 2017 (r319756) @@ -67,7 +67,7 @@ typedef uint64_t u_daddr_t; /* unsigned disk address * #define SWAPBLK_NONE ((daddr_t)((u_daddr_t)SWAPBLK_MASK + 1))/* flag */ /* - * blmeta and bl_bitmap_t MUST be a power of 2 in size. + * Both blmeta and bmu_bitmap MUST be a power of 2 in size. */ typedef struct blmeta { @@ -92,13 +92,13 @@ typedef struct blist { #define BLIST_MAX_ALLOC BLIST_BMAP_RADIX -extern blist_t blist_create(daddr_t blocks, int flags); -extern void blist_destroy(blist_t blist); -extern daddr_t blist_alloc(blist_t blist, daddr_t count); -extern void blist_free(blist_t blist, daddr_t blkno, daddr_t count); -extern daddr_t blist_fill(blist_t bl, daddr_t blkno, daddr_t count); -extern void blist_print(blist_t blist); -extern void blist_resize(blist_t *pblist, daddr_t count, int freenew, int flags); +daddr_t blist_alloc(blist_t blist, daddr_t count); +blist_t blist_create(daddr_t blocks, int flags); +void blist_destroy(blist_t blist); +daddr_t blist_fill(blist_t bl, daddr_t blkno, daddr_t count); +void blist_free(blist_t blist, daddr_t blkno, daddr_t count); +void blist_print(blist_t blist); +void blist_resize(blist_t *pblist, daddr_t count, int freenew, int flags); #endif /* _SYS_BLIST_H_ */ From owner-svn-src-all@freebsd.org Fri Jun 9 19:41:14 2017 Return-Path: Delivered-To: svn-src-all@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 4DEEABFBC0E; Fri, 9 Jun 2017 19:41:14 +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 1673A79D54; Fri, 9 Jun 2017 19:41:14 +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 v59JfDnq047121; Fri, 9 Jun 2017 19:41:13 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59JfCKH047115; Fri, 9 Jun 2017 19:41:12 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706091941.v59JfCKH047115@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 9 Jun 2017 19:41:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319757 - in head/sys: compat/linuxkpi/common/include/linux compat/linuxkpi/common/src conf modules/linuxkpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 19:41:14 -0000 Author: markj Date: Fri Jun 9 19:41:12 2017 New Revision: 319757 URL: https://svnweb.freebsd.org/changeset/base/319757 Log: Augment wait queue support in the LinuxKPI. In particular: - Don't evaluate event conditions with a sleepqueue lock held, since such code may attempt to acquire arbitrary locks. - Fix the return value for wait_event_interruptible() in the case that the wait is interrupted by a signal. - Implement wait_on_bit_timeout() and wait_on_atomic_t(). - Implement some functions used to test for pending signals. - Implement a number of wait_event_*() variants and unify the existing implementations. - Unify the mechanism used by wait_event_*() and schedule() to put the calling thread to sleep. This is required to support updated DRM drivers. Thanks to hselasky for finding and fixing a number of bugs in the original revision. Reviewed by: hselasky MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D10986 Added: head/sys/compat/linuxkpi/common/src/linux_schedule.c (contents, props changed) Modified: head/sys/compat/linuxkpi/common/include/linux/sched.h head/sys/compat/linuxkpi/common/include/linux/wait.h head/sys/compat/linuxkpi/common/src/linux_kthread.c head/sys/conf/files head/sys/modules/linuxkpi/Makefile Modified: head/sys/compat/linuxkpi/common/include/linux/sched.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/sched.h Fri Jun 9 17:19:27 2017 (r319756) +++ head/sys/compat/linuxkpi/common/include/linux/sched.h Fri Jun 9 19:41:12 2017 (r319757) @@ -48,14 +48,13 @@ #include -#define MAX_SCHEDULE_TIMEOUT LONG_MAX +#define MAX_SCHEDULE_TIMEOUT INT_MAX -#define TASK_RUNNING 0 -#define TASK_INTERRUPTIBLE 1 -#define TASK_UNINTERRUPTIBLE 2 -#define TASK_DEAD 64 -#define TASK_WAKEKILL 128 -#define TASK_WAKING 256 +#define TASK_RUNNING 0x0000 +#define TASK_INTERRUPTIBLE 0x0001 +#define TASK_UNINTERRUPTIBLE 0x0002 +#define TASK_NORMAL (TASK_INTERRUPTIBLE | TASK_UNINTERRUPTIBLE) +#define TASK_WAKING 0x0100 struct task_struct { struct thread *task_thread; @@ -89,9 +88,11 @@ struct task_struct { #define put_pid(x) do { } while (0) #define current_euid() (curthread->td_ucred->cr_uid) -#define set_current_state(x) \ - atomic_store_rel_int((volatile int *)¤t->state, (x)) -#define __set_current_state(x) current->state = (x) +#define set_task_state(task, x) \ + atomic_store_rel_int((volatile int *)&task->state, (x)) +#define __set_task_state(task, x) (task->state = (x)) +#define set_current_state(x) set_task_state(current, x) +#define __set_current_state(x) __set_task_state(current, x) static inline void get_task_struct(struct task_struct *task) @@ -106,53 +107,45 @@ put_task_struct(struct task_struct *task) linux_free_current(task); } -#define schedule() \ -do { \ - void *c; \ - \ - if (cold || SCHEDULER_STOPPED()) \ - break; \ - c = curthread; \ - sleepq_lock(c); \ - if (current->state == TASK_INTERRUPTIBLE || \ - current->state == TASK_UNINTERRUPTIBLE) { \ - sleepq_add(c, NULL, "task", SLEEPQ_SLEEP, 0); \ - sleepq_wait(c, 0); \ - } else { \ - sleepq_release(c); \ - sched_relinquish(curthread); \ - } \ -} while (0) - -#define wake_up_process(x) \ -do { \ - int wakeup_swapper; \ - void *c; \ - \ - c = (x)->task_thread; \ - sleepq_lock(c); \ - (x)->state = TASK_RUNNING; \ - wakeup_swapper = sleepq_signal(c, SLEEPQ_SLEEP, 0, 0); \ - sleepq_release(c); \ - if (wakeup_swapper) \ - kick_proc0(); \ -} while (0) - #define cond_resched() if (!cold) sched_relinquish(curthread) +#define yield() kern_yield(PRI_UNCHANGED) #define sched_yield() sched_relinquish(curthread) -static inline long -schedule_timeout(signed long timeout) -{ - if (timeout < 0) - return 0; +#define need_resched() (curthread->td_flags & TDF_NEEDRESCHED) - pause("lstim", timeout); +bool linux_signal_pending(struct task_struct *task); +bool linux_fatal_signal_pending(struct task_struct *task); +bool linux_signal_pending_state(long state, struct task_struct *task); +void linux_send_sig(int signo, struct task_struct *task); - return 0; -} +#define signal_pending(task) linux_signal_pending(task) +#define fatal_signal_pending(task) linux_fatal_signal_pending(task) +#define signal_pending_state(state, task) \ + linux_signal_pending_state(state, task) +#define send_sig(signo, task, priv) do { \ + CTASSERT(priv == 0); \ + linux_send_sig(signo, task); \ +} while (0) -#define need_resched() (curthread->td_flags & TDF_NEEDRESCHED) +int linux_schedule_timeout(int timeout); + +#define schedule() \ + (void)linux_schedule_timeout(MAX_SCHEDULE_TIMEOUT) +#define schedule_timeout(timeout) \ + linux_schedule_timeout(timeout) +#define schedule_timeout_killable(timeout) \ + schedule_timeout_uninterruptible(timeout) +#define schedule_timeout_interruptible(timeout) ({ \ + set_current_state(TASK_INTERRUPTIBLE); \ + schedule_timeout(timeout); \ +}) +#define schedule_timeout_uninterruptible(timeout) ({ \ + set_current_state(TASK_UNINTERRUPTIBLE); \ + schedule_timeout(timeout); \ +}) + +#define io_schedule() schedule() +#define io_schedule_timeout(timeout) schedule_timeout(timeout) #endif /* _LINUX_SCHED_H_ */ Modified: head/sys/compat/linuxkpi/common/include/linux/wait.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/wait.h Fri Jun 9 17:19:27 2017 (r319756) +++ head/sys/compat/linuxkpi/common/include/linux/wait.h Fri Jun 9 19:41:12 2017 (r319757) @@ -3,6 +3,7 @@ * Copyright (c) 2010 iX Systems, Inc. * Copyright (c) 2010 Panasas, Inc. * Copyright (c) 2013, 2014 Mellanox Technologies, Ltd. + * Copyright (c) 2017 Mark Johnston * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,160 +29,243 @@ * * $FreeBSD$ */ -#ifndef _LINUX_WAIT_H_ + +#ifndef _LINUX_WAIT_H_ #define _LINUX_WAIT_H_ #include #include -#include +#include +#include + #include #include -#include -#include -#include -typedef struct { -} wait_queue_t; +#define SKIP_SLEEP() (SCHEDULER_STOPPED() || kdb_active) -typedef struct { - unsigned int wchan; -} wait_queue_head_t; +#define might_sleep() \ + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "might_sleep()") -#define init_waitqueue_head(x) \ - do { } while (0) +struct wait_queue; +struct wait_queue_head; -static inline void -__wake_up(wait_queue_head_t *q, int all) -{ - int wakeup_swapper; - void *c; +typedef struct wait_queue wait_queue_t; +typedef struct wait_queue_head wait_queue_head_t; - c = &q->wchan; - sleepq_lock(c); - if (all) - wakeup_swapper = sleepq_broadcast(c, SLEEPQ_SLEEP, 0, 0); - else - wakeup_swapper = sleepq_signal(c, SLEEPQ_SLEEP, 0, 0); - sleepq_release(c); - if (wakeup_swapper) - kick_proc0(); -} +typedef int wait_queue_func_t(wait_queue_t *, unsigned int, int, void *); -#define wake_up(q) __wake_up(q, 0) -#define wake_up_nr(q, nr) __wake_up(q, 1) -#define wake_up_all(q) __wake_up(q, 1) -#define wake_up_interruptible(q) __wake_up(q, 0) -#define wake_up_interruptible_nr(q, nr) __wake_up(q, 1) -#define wake_up_interruptible_all(q, nr) __wake_up(q, 1) +/* + * Many API consumers directly reference these fields and those of + * wait_queue_head. + */ +struct wait_queue { + unsigned int flags; /* always 0 */ + void *private; + wait_queue_func_t *func; + struct list_head task_list; +}; -#define wait_event(q, cond) \ -do { \ - void *c = &(q).wchan; \ - if (!(cond)) { \ - for (;;) { \ - if (SCHEDULER_STOPPED()) \ - break; \ - sleepq_lock(c); \ - if (cond) { \ - sleepq_release(c); \ - break; \ - } \ - sleepq_add(c, NULL, "completion", SLEEPQ_SLEEP, 0); \ - sleepq_wait(c, 0); \ - } \ - } \ +struct wait_queue_head { + spinlock_t lock; + struct list_head task_list; +}; + +/* + * This function is referenced by at least one DRM driver, so it may not be + * renamed and furthermore must be the default wait queue callback. + */ +extern wait_queue_func_t autoremove_wake_function; + +#define DEFINE_WAIT(name) \ + wait_queue_t name = { \ + .private = current, \ + .func = autoremove_wake_function, \ + .task_list = LINUX_LIST_HEAD_INIT(name.task_list) \ + } + +#define DECLARE_WAITQUEUE(name, task) \ + wait_queue_t name = { \ + .private = task, \ + .task_list = LINUX_LIST_HEAD_INIT(name.task_list) \ + } + +#define DECLARE_WAIT_QUEUE_HEAD(name) \ + wait_queue_head_t name = { \ + .task_list = LINUX_LIST_HEAD_INIT(name.task_list), \ + }; \ + MTX_SYSINIT(name, &(name).lock.m, spin_lock_name("wqhead"), MTX_DEF) + +#define init_waitqueue_head(wqh) do { \ + mtx_init(&(wqh)->lock.m, spin_lock_name("wqhead"), \ + NULL, MTX_DEF | MTX_NEW | MTX_NOWITNESS); \ + INIT_LIST_HEAD(&(wqh)->task_list); \ } while (0) -#define wait_event_interruptible(q, cond) \ -({ \ - void *c = &(q).wchan; \ - int _error; \ - \ - _error = 0; \ - if (!(cond)) { \ - for (; _error == 0;) { \ - if (SCHEDULER_STOPPED()) \ - break; \ - sleepq_lock(c); \ - if (cond) { \ - sleepq_release(c); \ - break; \ - } \ - sleepq_add(c, NULL, "completion", \ - SLEEPQ_SLEEP | SLEEPQ_INTERRUPTIBLE, 0); \ - if (sleepq_wait_sig(c, 0)) \ - _error = -ERESTARTSYS; \ - } \ - } \ - -_error; \ +void linux_wake_up(wait_queue_head_t *, unsigned int, int, bool); + +#define wake_up(wqh) \ + linux_wake_up(wqh, TASK_NORMAL, 1, false) +#define wake_up_all(wqh) \ + linux_wake_up(wqh, TASK_NORMAL, 0, false) +#define wake_up_locked(wqh) \ + linux_wake_up(wqh, TASK_NORMAL, 1, true) +#define wake_up_all_locked(wqh) \ + linux_wake_up(wqh, TASK_NORMAL, 0, true) +#define wake_up_interruptible(wqh) \ + linux_wake_up(wqh, TASK_INTERRUPTIBLE, 1, false) +#define wake_up_interruptible_all(wqh) \ + linux_wake_up(wqh, TASK_INTERRUPTIBLE, 0, false) + +int linux_wait_event_common(wait_queue_head_t *, wait_queue_t *, int, + unsigned int, spinlock_t *); + +/* + * Returns -ERESTARTSYS for a signal, 0 if cond is false after timeout, 1 if + * cond is true after timeout, remaining jiffies (> 0) if cond is true before + * timeout. + */ +#define __wait_event_common(wqh, cond, timeout, state, lock) ({ \ + DEFINE_WAIT(__wq); \ + const int __timeout = (timeout) < 1 ? 1 : (timeout); \ + int __start = ticks; \ + int __ret = 0; \ + \ + for (;;) { \ + linux_prepare_to_wait(&(wqh), &__wq, state); \ + if (cond) { \ + __ret = 1; \ + break; \ + } \ + __ret = linux_wait_event_common(&(wqh), &__wq, \ + __timeout, state, lock); \ + if (__ret != 0) \ + break; \ + } \ + linux_finish_wait(&(wqh), &__wq); \ + if (__timeout != MAX_SCHEDULE_TIMEOUT) { \ + if (__ret == -EWOULDBLOCK) \ + __ret = !!(cond); \ + else if (__ret != -ERESTARTSYS) { \ + __ret = __timeout + __start - ticks; \ + /* range check return value */ \ + if (__ret < 1) \ + __ret = 1; \ + else if (__ret > __timeout) \ + __ret = __timeout; \ + } \ + } \ + __ret; \ }) -#define wait_event_interruptible_timeout(q, cond, timeout) \ -({ \ - void *c = &(q).wchan; \ - long end = jiffies + timeout; \ - int __ret = 0; \ - int __rc = 0; \ +#define wait_event(wqh, cond) ({ \ + __wait_event_common(wqh, cond, MAX_SCHEDULE_TIMEOUT, \ + TASK_UNINTERRUPTIBLE, NULL); \ +}) + +#define wait_event_timeout(wqh, cond, timeout) ({ \ + __wait_event_common(wqh, cond, timeout, TASK_UNINTERRUPTIBLE, \ + NULL); \ +}) + +#define wait_event_interruptible(wqh, cond) ({ \ + __wait_event_common(wqh, cond, MAX_SCHEDULE_TIMEOUT, \ + TASK_INTERRUPTIBLE, NULL); \ +}) + +#define wait_event_interruptible_timeout(wqh, cond, timeout) ({ \ + __wait_event_common(wqh, cond, timeout, TASK_INTERRUPTIBLE, \ + NULL); \ +}) + +/* + * Wait queue is already locked. + */ +#define wait_event_interruptible_locked(wqh, cond) ({ \ + int __ret; \ \ - if (!(cond)) { \ - for (; __rc == 0;) { \ - if (SCHEDULER_STOPPED()) \ - break; \ - sleepq_lock(c); \ - if (cond) { \ - sleepq_release(c); \ - __ret = 1; \ - break; \ - } \ - sleepq_add(c, NULL, "completion", \ - SLEEPQ_SLEEP | SLEEPQ_INTERRUPTIBLE, 0); \ - sleepq_set_timeout(c, linux_timer_jiffies_until(end));\ - __rc = sleepq_timedwait_sig (c, 0); \ - if (__rc != 0) { \ - /* check for timeout or signal. \ - * 0 if the condition evaluated to false\ - * after the timeout elapsed, 1 if the \ - * condition evaluated to true after the\ - * timeout elapsed. \ - */ \ - if (__rc == EWOULDBLOCK) \ - __ret = (cond); \ - else \ - __ret = -ERESTARTSYS; \ - } \ - \ - } \ - } else { \ - /* return remaining jiffies (at least 1) if the \ - * condition evaluated to true before the timeout \ - * elapsed. \ - */ \ - __ret = (end - jiffies); \ - if( __ret < 1 ) \ - __ret = 1; \ - } \ + spin_unlock(&(wqh).lock); \ + __ret = __wait_event_common(wqh, cond, MAX_SCHEDULE_TIMEOUT, \ + TASK_INTERRUPTIBLE, NULL); \ + spin_lock(&(wqh).lock); \ __ret; \ }) +/* + * Hold the (locked) spinlock when testing the cond. + */ +#define wait_event_interruptible_lock_irq(wqh, cond, lock) ({ \ + __wait_event_common(wqh, cond, MAX_SCHEDULE_TIMEOUT, \ + TASK_INTERRUPTIBLE, &(lock)); \ +}) -static inline int -waitqueue_active(wait_queue_head_t *q) +static inline void +__add_wait_queue(wait_queue_head_t *wqh, wait_queue_t *wq) { - return 0; /* XXX: not really implemented */ + list_add(&wq->task_list, &wqh->task_list); } -#define DEFINE_WAIT(name) \ - wait_queue_t name = {} +static inline void +add_wait_queue(wait_queue_head_t *wqh, wait_queue_t *wq) +{ + spin_lock(&wqh->lock); + __add_wait_queue(wqh, wq); + spin_unlock(&wqh->lock); +} + static inline void -prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int state) +__add_wait_queue_tail(wait_queue_head_t *wqh, wait_queue_t *wq) { + list_add_tail(&wq->task_list, &wqh->task_list); } static inline void -finish_wait(wait_queue_head_t *q, wait_queue_t *wait) +__remove_wait_queue(wait_queue_head_t *wqh, wait_queue_t *wq) { + list_del(&wq->task_list); } -#endif /* _LINUX_WAIT_H_ */ +static inline void +remove_wait_queue(wait_queue_head_t *wqh, wait_queue_t *wq) +{ + + spin_lock(&wqh->lock); + __remove_wait_queue(wqh, wq); + spin_unlock(&wqh->lock); +} + +bool linux_waitqueue_active(wait_queue_head_t *); + +#define waitqueue_active(wqh) linux_waitqueue_active(wqh) + +void linux_prepare_to_wait(wait_queue_head_t *, wait_queue_t *, int); +void linux_finish_wait(wait_queue_head_t *, wait_queue_t *); + +#define prepare_to_wait(wqh, wq, state) linux_prepare_to_wait(wqh, wq, state) +#define finish_wait(wqh, wq) linux_finish_wait(wqh, wq) + +void linux_wake_up_bit(void *, int); +int linux_wait_on_bit_timeout(unsigned long *, int, unsigned int, int); +void linux_wake_up_atomic_t(atomic_t *); +int linux_wait_on_atomic_t(atomic_t *, unsigned int); + +#define wake_up_bit(word, bit) linux_wake_up_bit(word, bit) +#define wait_on_bit_timeout(word, bit, state, timeout) \ + linux_wait_on_bit_timeout(word, bit, state, timeout) +#define wake_up_atomic_t(a) linux_wake_up_atomic_t(a) +/* + * All existing callers have a cb that just schedule()s. To avoid adding + * complexity, just emulate that internally. The prototype is different so that + * callers must be manually modified; a cb that does something other than call + * schedule() will require special treatment. + */ +#define wait_on_atomic_t(a, state) linux_wait_on_atomic_t(a, state) + +struct task_struct; +bool linux_wake_up_state(struct task_struct *, unsigned int); + +#define wake_up_process(task) linux_wake_up_state(task, TASK_NORMAL) +#define wake_up_state(task, state) linux_wake_up_state(task, state) + +#endif /* _LINUX_WAIT_H_ */ Modified: head/sys/compat/linuxkpi/common/src/linux_kthread.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_kthread.c Fri Jun 9 17:19:27 2017 (r319756) +++ head/sys/compat/linuxkpi/common/src/linux_kthread.c Fri Jun 9 19:41:12 2017 (r319757) @@ -27,9 +27,10 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include -#include +#include #include #include Added: head/sys/compat/linuxkpi/common/src/linux_schedule.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/compat/linuxkpi/common/src/linux_schedule.c Fri Jun 9 19:41:12 2017 (r319757) @@ -0,0 +1,391 @@ +/*- + * Copyright (c) 2017 Mark Johnston + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conds + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, this list of conds, and the following + * disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conds 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 + +static int +linux_add_to_sleepqueue(void *wchan, const char *wmesg, int timeout, int state) +{ + int flags, ret; + + MPASS((state & ~TASK_NORMAL) == 0); + + flags = SLEEPQ_SLEEP | ((state & TASK_INTERRUPTIBLE) != 0 ? + SLEEPQ_INTERRUPTIBLE : 0); + + sleepq_add(wchan, NULL, wmesg, flags, 0); + if (timeout != 0) + sleepq_set_timeout(wchan, timeout); + if ((state & TASK_INTERRUPTIBLE) != 0) { + if (timeout == 0) + ret = -sleepq_wait_sig(wchan, 0); + else + ret = -sleepq_timedwait_sig(wchan, 0); + } else { + if (timeout == 0) { + sleepq_wait(wchan, 0); + ret = 0; + } else + ret = -sleepq_timedwait(wchan, 0); + } + /* filter return value */ + if (ret != 0 && ret != -EWOULDBLOCK) + ret = -ERESTARTSYS; + return (ret); +} + +static int +wake_up_task(struct task_struct *task, unsigned int state) +{ + int ret, wakeup_swapper; + + ret = wakeup_swapper = 0; + sleepq_lock(task); + if ((atomic_load_acq_int(&task->state) & state) != 0) { + set_task_state(task, TASK_WAKING); + wakeup_swapper = sleepq_signal(task, SLEEPQ_SLEEP, 0, 0); + ret = 1; + } + sleepq_release(task); + if (wakeup_swapper) + kick_proc0(); + return (ret); +} + +bool +linux_signal_pending(struct task_struct *task) +{ + struct thread *td; + sigset_t pending; + + td = task->task_thread; + PROC_LOCK(td->td_proc); + pending = td->td_siglist; + SIGSETOR(pending, td->td_proc->p_siglist); + SIGSETNAND(pending, td->td_sigmask); + PROC_UNLOCK(td->td_proc); + return (!SIGISEMPTY(pending)); +} + +bool +linux_fatal_signal_pending(struct task_struct *task) +{ + struct thread *td; + bool ret; + + td = task->task_thread; + PROC_LOCK(td->td_proc); + ret = SIGISMEMBER(td->td_siglist, SIGKILL) || + SIGISMEMBER(td->td_proc->p_siglist, SIGKILL); + PROC_UNLOCK(td->td_proc); + return (ret); +} + +bool +linux_signal_pending_state(long state, struct task_struct *task) +{ + + MPASS((state & ~TASK_NORMAL) == 0); + + if ((state & TASK_INTERRUPTIBLE) == 0) + return (false); + return (linux_signal_pending(task)); +} + +void +linux_send_sig(int signo, struct task_struct *task) +{ + struct thread *td; + + td = task->task_thread; + PROC_LOCK(td->td_proc); + tdsignal(td, signo); + PROC_UNLOCK(td->td_proc); +} + +int +autoremove_wake_function(wait_queue_t *wq, unsigned int state, int flags, + void *key __unused) +{ + struct task_struct *task; + int ret; + + task = wq->private; + if ((ret = wake_up_task(task, state)) != 0) + list_del_init(&wq->task_list); + return (ret); +} + +void +linux_wake_up(wait_queue_head_t *wqh, unsigned int state, int nr, bool locked) +{ + wait_queue_t *pos, *next; + + if (!locked) + spin_lock(&wqh->lock); + list_for_each_entry_safe(pos, next, &wqh->task_list, task_list) { + if (pos->func == NULL) { + if (wake_up_task(pos->private, state) != 0 && --nr == 0) + break; + } else { + if (pos->func(pos, state, 0, NULL) != 0 && --nr == 0) + break; + } + } + if (!locked) + spin_unlock(&wqh->lock); +} + +void +linux_prepare_to_wait(wait_queue_head_t *wqh, wait_queue_t *wq, int state) +{ + + spin_lock(&wqh->lock); + if (list_empty(&wq->task_list)) + __add_wait_queue(wqh, wq); + set_task_state(current, state); + spin_unlock(&wqh->lock); +} + +void +linux_finish_wait(wait_queue_head_t *wqh, wait_queue_t *wq) +{ + + spin_lock(&wqh->lock); + set_task_state(current, TASK_RUNNING); + if (!list_empty(&wq->task_list)) { + __remove_wait_queue(wqh, wq); + INIT_LIST_HEAD(&wq->task_list); + } + spin_unlock(&wqh->lock); +} + +bool +linux_waitqueue_active(wait_queue_head_t *wqh) +{ + bool ret; + + spin_lock(&wqh->lock); + ret = !list_empty(&wqh->task_list); + spin_unlock(&wqh->lock); + return (ret); +} + +int +linux_wait_event_common(wait_queue_head_t *wqh, wait_queue_t *wq, int timeout, + unsigned int state, spinlock_t *lock) +{ + struct task_struct *task; + long ret; + + if (lock != NULL) + spin_unlock_irq(lock); + + DROP_GIANT(); + + task = current; + + /* + * Our wait queue entry is on the stack - make sure it doesn't + * get swapped out while we sleep. + */ +#ifndef NO_SWAPPING + PHOLD(task->task_thread->td_proc); +#endif + sleepq_lock(task); + if (atomic_load_acq_int(&task->state) != TASK_WAKING) { + ret = linux_add_to_sleepqueue(task, "wevent", timeout, state); + } else { + sleepq_release(task); + ret = linux_signal_pending_state(state, task) ? -ERESTARTSYS : 0; + } +#ifndef NO_SWAPPING + PRELE(task->task_thread->td_proc); +#endif + + PICKUP_GIANT(); + + if (lock != NULL) + spin_lock_irq(lock); + return (ret); +} + +int +linux_schedule_timeout(int timeout) +{ + struct task_struct *task; + int state; + int remainder; + + task = current; + + /* range check timeout */ + if (timeout < 1) + timeout = 1; + else if (timeout == MAX_SCHEDULE_TIMEOUT) + timeout = 0; + + remainder = ticks + timeout; + + DROP_GIANT(); + + sleepq_lock(task); + state = atomic_load_acq_int(&task->state); + if (state != TASK_WAKING) + (void)linux_add_to_sleepqueue(task, "sched", timeout, state); + else + sleepq_release(task); + set_task_state(task, TASK_RUNNING); + + PICKUP_GIANT(); + + if (timeout == 0) + return (MAX_SCHEDULE_TIMEOUT); + + /* range check return value */ + remainder -= ticks; + if (remainder < 0) + remainder = 0; + else if (remainder > timeout) + remainder = timeout; + return (remainder); +} + +static void +wake_up_sleepers(void *wchan) +{ + int wakeup_swapper; + + sleepq_lock(wchan); + wakeup_swapper = sleepq_signal(wchan, SLEEPQ_SLEEP, 0, 0); + sleepq_release(wchan); + if (wakeup_swapper) + kick_proc0(); +} + +#define bit_to_wchan(word, bit) ((void *)(((uintptr_t)(word) << 6) | (bit))) + +void +linux_wake_up_bit(void *word, int bit) +{ + + wake_up_sleepers(bit_to_wchan(word, bit)); +} + +int +linux_wait_on_bit_timeout(unsigned long *word, int bit, unsigned int state, + int timeout) +{ + struct task_struct *task; + void *wchan; + int ret; + + DROP_GIANT(); + + /* range check timeout */ + if (timeout < 1) + timeout = 1; + else if (timeout == MAX_SCHEDULE_TIMEOUT) + timeout = 0; + + task = current; + wchan = bit_to_wchan(word, bit); + for (;;) { + sleepq_lock(wchan); + if ((*word & (1 << bit)) == 0) { + sleepq_release(wchan); + ret = 0; + break; + } + set_task_state(task, state); + ret = linux_add_to_sleepqueue(wchan, "wbit", timeout, state); + if (ret != 0) + break; + } + set_task_state(task, TASK_RUNNING); + + PICKUP_GIANT(); + + return (ret); +} + +void +linux_wake_up_atomic_t(atomic_t *a) +{ + + wake_up_sleepers(a); +} + +int +linux_wait_on_atomic_t(atomic_t *a, unsigned int state) +{ + struct task_struct *task; + void *wchan; + int ret; + + DROP_GIANT(); + + task = current; + wchan = a; + for (;;) { + sleepq_lock(wchan); + if (atomic_read(a) == 0) { + sleepq_release(wchan); + ret = 0; + break; + } + set_task_state(task, state); + ret = linux_add_to_sleepqueue(wchan, "watomic", 0, state); + if (ret != 0) + break; + } + set_task_state(task, TASK_RUNNING); + + PICKUP_GIANT(); + + return (ret); +} + +bool +linux_wake_up_state(struct task_struct *task, unsigned int state) +{ + + return (wake_up_task(task, state) != 0); +} Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Fri Jun 9 17:19:27 2017 (r319756) +++ head/sys/conf/files Fri Jun 9 19:41:12 2017 (r319757) @@ -4281,6 +4281,8 @@ compat/linuxkpi/common/src/linux_radix.c optional comp compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_rcu.c optional compat_linuxkpi \ compile-with "${LINUXKPI_C} -I$S/contrib/ck/include" +compat/linuxkpi/common/src/linux_schedule.c optional compat_linuxkpi \ + compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_slab.c optional compat_linuxkpi \ compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_usb.c optional compat_linuxkpi usb \ Modified: head/sys/modules/linuxkpi/Makefile ============================================================================== --- head/sys/modules/linuxkpi/Makefile Fri Jun 9 17:19:27 2017 (r319756) +++ head/sys/modules/linuxkpi/Makefile Fri Jun 9 19:41:12 2017 (r319757) @@ -11,6 +11,7 @@ SRCS= linux_kmod.c \ linux_pci.c \ linux_radix.c \ linux_rcu.c \ + linux_schedule.c \ linux_slab.c \ linux_tasklet.c \ linux_idr.c \ From owner-svn-src-all@freebsd.org Fri Jun 9 19:57:29 2017 Return-Path: Delivered-To: svn-src-all@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 50619BFBFAC; Fri, 9 Jun 2017 19:57: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 110697A479; Fri, 9 Jun 2017 19:57:28 +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 v59JvSEw054559; Fri, 9 Jun 2017 19:57:28 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59JvS4i054558; Fri, 9 Jun 2017 19:57:28 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706091957.v59JvS4i054558@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 9 Jun 2017 19:57:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319758 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 19:57:29 -0000 Author: markj Date: Fri Jun 9 19:57:27 2017 New Revision: 319758 URL: https://svnweb.freebsd.org/changeset/base/319758 Log: Implement pci_disable_device() in the LinuxKPI. Submitted by: kmacy MFC after: 2 weeks Modified: head/sys/compat/linuxkpi/common/include/linux/pci.h Modified: head/sys/compat/linuxkpi/common/include/linux/pci.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/pci.h Fri Jun 9 19:41:12 2017 (r319757) +++ head/sys/compat/linuxkpi/common/include/linux/pci.h Fri Jun 9 19:57:27 2017 (r319758) @@ -321,6 +321,9 @@ pci_enable_device(struct pci_dev *pdev) static inline void pci_disable_device(struct pci_dev *pdev) { + + pci_disable_io(pdev->dev.bsddev, SYS_RES_IOPORT); + pci_disable_io(pdev->dev.bsddev, SYS_RES_MEMORY); } static inline int From owner-svn-src-all@freebsd.org Fri Jun 9 20:26:43 2017 Return-Path: Delivered-To: svn-src-all@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 97AD0BFC7E7; Fri, 9 Jun 2017 20:26:43 +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 5CCBD7B419; Fri, 9 Jun 2017 20:26:43 +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 v59KQgOA066724; Fri, 9 Jun 2017 20:26:42 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59KQgmr066723; Fri, 9 Jun 2017 20:26:42 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201706092026.v59KQgmr066723@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Fri, 9 Jun 2017 20:26:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319759 - head/sys/cddl/dev/dtrace/powerpc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 20:26:43 -0000 Author: jhibbits Date: Fri Jun 9 20:26:42 2017 New Revision: 319759 URL: https://svnweb.freebsd.org/changeset/base/319759 Log: Follow up r313841 on powerpc Close a potential race in reading the CPU dtrace flags, where a thread can start on one CPU, and partway through retrieving the flags be swapped out, while another thread traps and sets the CPU_DTRACE_NOFAULT. This could cause the first thread to return without handling the fault. Discussed with: markj@ Modified: head/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c Modified: head/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c ============================================================================== --- head/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c Fri Jun 9 19:57:27 2017 (r319758) +++ head/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c Fri Jun 9 20:26:42 2017 (r319759) @@ -267,6 +267,7 @@ dtrace_gethrestime(void) int dtrace_trap(struct trapframe *frame, u_int type) { + uint16_t nofault; /* * A trap can occur while DTrace executes a probe. Before @@ -277,7 +278,11 @@ dtrace_trap(struct trapframe *frame, u_int type) * * Check if DTrace has enabled 'no-fault' mode: */ - if ((cpu_core[curcpu].cpuc_dtrace_flags & CPU_DTRACE_NOFAULT) != 0) { + sched_pin(); + nofault = cpu_core[curcpu].cpuc_dtrace_flags & CPU_DTRACE_NOFAULT; + sched_unpin(); + if (nofault) { + KASSERT((frame->srr1 & PSL_EE) == 0, ("interrupts enabled")); /* * There are only a couple of trap types that are expected. * All the rest will be handled in the usual way. From owner-svn-src-all@freebsd.org Fri Jun 9 20:38:19 2017 Return-Path: Delivered-To: svn-src-all@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 AE711BFCE3B; Fri, 9 Jun 2017 20:38:19 +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 8AA217BBDA; Fri, 9 Jun 2017 20:38:19 +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 v59KcIhQ071172; Fri, 9 Jun 2017 20:38:18 GMT (envelope-from loos@FreeBSD.org) Received: (from loos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v59KcI6L071171; Fri, 9 Jun 2017 20:38:18 GMT (envelope-from loos@FreeBSD.org) Message-Id: <201706092038.v59KcI6L071171@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, 9 Jun 2017 20:38:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319760 - head/sys/dev/etherswitch/e6000sw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 20:38:19 -0000 Author: loos Date: Fri Jun 9 20:38:18 2017 New Revision: 319760 URL: https://svnweb.freebsd.org/changeset/base/319760 Log: Remove an unnecessary variable from the switch softc structure and make the functions that are used as booleans return real boolean values. Sponsored by: Rubicon Communications, LLC (Netgate) Modified: head/sys/dev/etherswitch/e6000sw/e6000sw.c Modified: head/sys/dev/etherswitch/e6000sw/e6000sw.c ============================================================================== --- head/sys/dev/etherswitch/e6000sw/e6000sw.c Fri Jun 9 20:26:42 2017 (r319759) +++ head/sys/dev/etherswitch/e6000sw/e6000sw.c Fri Jun 9 20:38:18 2017 (r319760) @@ -69,7 +69,6 @@ typedef struct e6000sw_softc { struct ifnet *ifp[E6000SW_MAX_PORTS]; char *ifname[E6000SW_MAX_PORTS]; device_t miibus[E6000SW_MAX_PORTS]; - struct mii_data *mii[E6000SW_MAX_PORTS]; struct proc *kproc; uint32_t cpuports_mask; @@ -121,9 +120,9 @@ static int e6000sw_atu_mac_table(device_t, e6000sw_sof int); static int e6000sw_get_pvid(e6000sw_softc_t *, int, int *); static int e6000sw_set_pvid(e6000sw_softc_t *, int, int); -static __inline int e6000sw_is_cpuport(e6000sw_softc_t *, int); -static __inline int e6000sw_is_fixedport(e6000sw_softc_t *, int); -static __inline int e6000sw_is_phyport(e6000sw_softc_t *, int); +static __inline bool e6000sw_is_cpuport(e6000sw_softc_t *, int); +static __inline bool e6000sw_is_fixedport(e6000sw_softc_t *, int); +static __inline bool e6000sw_is_phyport(e6000sw_softc_t *, int); static __inline struct mii_data *e6000sw_miiforphy(e6000sw_softc_t *, unsigned int); @@ -278,7 +277,7 @@ e6000sw_parse_child_fdt(device_t dev, phandle_t child, *fixed_mask |= (1 << port); device_printf(dev, "fixed port at %d\n", port); } else { - device_printf(dev, "PHY at %d\n", port); + device_printf(dev, "PHY at port %d\n", port); } return (0); @@ -319,7 +318,6 @@ e6000sw_attach_miibus(e6000sw_softc_t *sc, int port) if (err != 0) return (err); - sc->mii[port] = device_get_softc(sc->miibus[port]); return (0); } @@ -413,8 +411,8 @@ e6000sw_poll_done(e6000sw_softc_t *sc) for (i = 0; i < E6000SW_SMI_TIMEOUT; i++) { - if (!(e6000sw_readreg(sc, REG_GLOBAL2, SMI_PHY_CMD_REG) & - (1 << PHY_CMD_SMI_BUSY))) + if ((e6000sw_readreg(sc, REG_GLOBAL2, SMI_PHY_CMD_REG) & + (1 << PHY_CMD_SMI_BUSY)) == 0) return (0); pause("e6000sw PHY poll", hz/1000); @@ -915,27 +913,27 @@ e6000sw_writereg(e6000sw_softc_t *sc, int addr, int re } } -static __inline int +static __inline bool e6000sw_is_cpuport(e6000sw_softc_t *sc, int port) { - return (sc->cpuports_mask & (1 << port)); + return ((sc->cpuports_mask & (1 << port)) ? true : false); } -static __inline int +static __inline bool e6000sw_is_fixedport(e6000sw_softc_t *sc, int port) { - return (sc->fixed_mask & (1 << port)); + return ((sc->fixed_mask & (1 << port)) ? true : false); } -static __inline int +static __inline bool e6000sw_is_phyport(e6000sw_softc_t *sc, int port) { uint32_t phy_mask; phy_mask = ~(sc->fixed_mask | sc->cpuports_mask); - return (phy_mask & (1 << port)); + return ((phy_mask & (1 << port)) ? true : false); } static __inline int @@ -999,6 +997,7 @@ static void e6000sw_tick (void *arg) { e6000sw_softc_t *sc; + struct mii_data *mii; struct mii_softc *miisc; uint16_t portstatus; int port; @@ -1014,14 +1013,18 @@ e6000sw_tick (void *arg) if (!e6000sw_is_phyport(sc, port)) continue; - portstatus = e6000sw_readreg(sc, REG_PORT(port), PORT_STATUS); + mii = e6000sw_miiforphy(sc, port); + if (mii == NULL) + continue; + portstatus = e6000sw_readreg(sc, REG_PORT(port), + PORT_STATUS); + e6000sw_update_ifmedia(portstatus, - &sc->mii[port]->mii_media_status, - &sc->mii[port]->mii_media_active); + &mii->mii_media_status, &mii->mii_media_active); - LIST_FOREACH(miisc, &sc->mii[port]->mii_phys, mii_list) { - if (IFM_INST(sc->mii[port]->mii_media.ifm_cur->ifm_media) + LIST_FOREACH(miisc, &mii->mii_phys, mii_list) { + if (IFM_INST(mii->mii_media.ifm_cur->ifm_media) != miisc->mii_inst) continue; mii_phy_update(miisc, MII_POLLSTAT); From owner-svn-src-all@freebsd.org Fri Jun 9 23:56:06 2017 Return-Path: Delivered-To: svn-src-all@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 E7304BFF7C6; Fri, 9 Jun 2017 23:56:06 +0000 (UTC) (envelope-from jonlooney@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 7097580793; Fri, 9 Jun 2017 23:56:06 +0000 (UTC) (envelope-from jonlooney@gmail.com) Received: by mail-wr0-x22b.google.com with SMTP id q97so47178110wrb.2; Fri, 09 Jun 2017 16:56: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=U+jSKBS/qREezkmPGx7XrLb/p9r5uYveUyH6qWU9dv0=; b=A+P6iNwAho/jz984lNjCifiuxXq192wbgn4iciFZv5TxVq7G102/HsHgfL52FSmMGV l3YeJlJ5SeAoYMkjhXgiZypfP6aKIt0E14+tMNTR8U50skQRhRds/FAVia22xy8ZxUKh IRdIztHvKGNAv2MlgmG/HpmIjnlsY3CX7gggLdflTe7hkga3z0qRKmn1zpZOOuaH0mj8 5JdK26vh6xZg7ZoS+glQiwKiF82GfHf8SxFDdG/v2r8t913jlot00WKvj7l2JrCTyt6c IJulRwkJaZifXErO2PGXPkiZu9HGGy5Csrln0kQZ40pb9zQr/xQvtzu/thrSU3nZEMp+ PY8w== 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=U+jSKBS/qREezkmPGx7XrLb/p9r5uYveUyH6qWU9dv0=; b=ra79s6iINh5zXHZmdhAHFG+MQWbXWVgkNYYeqw4giUQnpHzp78oVBgqVN6xFY+bZO7 9ixbMRkNrNjrlv7g0cm1FuTZms+nWRmeicGSYgA/vUTrplTArMY4DdPy317EJE/NxKTW jWt5EV979Qkcx4zSf9xzJIYuh+KJR54uLfTI8h4st03hdS0kQEfYaKgmWvJ3D6GOc4+D DlTiqINIdeu0Lury8TvxUs7iG0rfCuFGsmXunh2m4cvH3GJ1j2oivJF5IFKpl0Zi8dN9 Rtof1edjps3YWhAGYFhnkDc3u/qlpL3btnUwp2H/IJIly3Otrmcp1KGfMnooFlxgWNw7 axPQ== X-Gm-Message-State: AODbwcApd5ewfoP4lb+26EtH8v5OrRpVpG9LIi1VnGGbX5T4fVGvuDGm xOBpoFZBOj6x+Bjbd+US28W8kcN9bK1EdF4= X-Received: by 10.28.96.134 with SMTP id u128mr1382935wmb.85.1497052564395; Fri, 09 Jun 2017 16:56:04 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.151.132 with HTTP; Fri, 9 Jun 2017 16:56:03 -0700 (PDT) In-Reply-To: <7306919.ixyIA96xWQ@ralph.baldwin.cx> References: <201706082047.v58KlI51079003@repo.freebsd.org> <7306919.ixyIA96xWQ@ralph.baldwin.cx> From: Jonathan Looney Date: Fri, 9 Jun 2017 16:56:03 -0700 Message-ID: Subject: Re: svn commit: r319720 - head/sys/dev/vt To: John Baldwin , Konstantin Belousov Cc: "Jonathan T. Looney" , src-committers@freebsd.org, 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-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 23:56:07 -0000 Hi John, Konstantin, This crash occurs during system startup when we are trying to switch from having each write to the vt device do an immediate flush to using a callout-based asynchronous flushing mechanism. It appears the crash was caused by having the VDF_ASYNC flag set while the vd_timer_armed flag was 0. The fix is to make sure that vd_timer_armed is 1 before the VDF_ASYNC flag is set. It is my understanding that the acquire semantics in the atomic_add_acq_int() call should ensure that the write to vd_timer_armed occurs before the load, bitwise-or, and store associated with `vd->vd_flags |= VDF_ASYNC`. Ensuring that ordering (or, at least the store ordering) is all that is really necessary to stop the crash from occurring. (A more thorough analysis is available in the PR [217408], which I forgot to include in the commit metadata.) To answer Konstantin's question, the VDF_ASYNC and vd_timer_armed flags are different. The VDF_ASYNC flag indicates that we want to use async flushing. The vd_timer_armed flag indicates that the callout is actually armed to flush at some point soon, so a thread that writes to the vt device doesn't need to worry about scheduling the callout. I'm not claiming that this fixes all bugs in this area. (In fact, I specifically disclaim this.) But, it does stop the crash from occurring. If you still feel there are better mechanisms to achieve the desired ordering, please let me know and I'll be happy to fix and/or improve this. Jonathan On Thu, Jun 8, 2017 at 2:49 PM, John Baldwin wrote: > On Thursday, June 08, 2017 08:47:18 PM Jonathan T. Looney wrote: > > Author: jtl > > Date: Thu Jun 8 20:47:18 2017 > > New Revision: 319720 > > URL: https://svnweb.freebsd.org/changeset/base/319720 > > > > Log: > > With EARLY_AP_STARTUP enabled, we are seeing crashes in > softclock_call_cc() > > during bootup. Debugging information shows that softclock_call_cc() is > > trying to execute the vt_consdev.vd_timer callout, and the callout > > structure contains a NULL c_func. > > > > This appears to be due to a race between vt_upgrade() running > > callout_reset() and vt_resume_flush_timer() calling callout_schedule(). > > > > Fix the race by ensuring that vd_timer_armed is always set before > > attempting to (re)schedule the callout. > > > > Discussed with: emaste > > MFC after: 2 weeks > > Sponsored by: Netflix > > Differential Revision: https://reviews.freebsd.org/D9828 > > This should probably be using atomic_thread_fence_foo() in conjunction with > a simple 'vd->vd_timer_armed = 1' assignment instead of abusing > atomic_add_acq_int(). Unfortunately atomic_thread_fence_*() aren't yet > documented in atomic(9). :( The commit message that added them is below > though: > > ------------------------------------------------------------------------ > r285283 | kib | 2015-07-08 11:12:24 -0700 (Wed, 08 Jul 2015) | 22 lines > > Add the atomic_thread_fence() family of functions with intent to > provide a semantic defined by the C11 fences with corresponding > memory_order. > > atomic_thread_fence_acq() gives r | r, w, where r and w are read and > write accesses, and | denotes the fence itself. > > atomic_thread_fence_rel() is r, w | w. > > atomic_thread_fence_acq_rel() is the combination of the acquire and > release in single operation. Note that reads after the acq+rel fence > could be made visible before writes preceeding the fence. > > atomic_thread_fence_seq_cst() orders all accesses before/after the > fence, and the fence itself is globally ordered against other > sequentially consistent atomic operations. > > Reviewed by: alc > Discussed with: bde > Sponsored by: The FreeBSD Foundation > MFC after: 3 weeks > > ------------------------------------------------------------------------ > > That said, it is hard to see how a bare acquire barrier is really > sufficient for anything. Acquire barriers generally must be paired with > a release barrier in order to provide sychronization. > > -- > John Baldwin > From owner-svn-src-all@freebsd.org Sat Jun 10 00:35:46 2017 Return-Path: Delivered-To: svn-src-all@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 ADD31C083B1; Sat, 10 Jun 2017 00:35:46 +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 7707281672; Sat, 10 Jun 2017 00:35:46 +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 v5A0Zje4068659; Sat, 10 Jun 2017 00:35:45 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A0Zjer068658; Sat, 10 Jun 2017 00:35:45 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706100035.v5A0Zjer068658@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 10 Jun 2017 00:35:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319761 - head/usr.bin/kdump X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 00:35:46 -0000 Author: jhb Date: Sat Jun 10 00:35:45 2017 New Revision: 319761 URL: https://svnweb.freebsd.org/changeset/base/319761 Log: Fix decoding of setpriority() arguments. The PRIO_* 'which' value is stored in the first argument to setpriority(2), not the last. While here, decode the arguments to getpriority(2). Modified: head/usr.bin/kdump/kdump.c Modified: head/usr.bin/kdump/kdump.c ============================================================================== --- head/usr.bin/kdump/kdump.c Fri Jun 9 20:38:18 2017 (r319760) +++ head/usr.bin/kdump/kdump.c Sat Jun 10 00:35:45 2017 (r319761) @@ -1060,11 +1060,11 @@ ktrsyscall(struct ktr_syscall *ktr, u_int sv_flags) ip++; narg--; break; + case SYS_getpriority: case SYS_setpriority: - print_number(ip, narg, c); - print_number(ip, narg, c); - putchar(','); + putchar('('); print_integer_arg(sysdecode_prio_which, *ip); + c = ','; ip++; narg--; break; From owner-svn-src-all@freebsd.org Sat Jun 10 00:37:03 2017 Return-Path: Delivered-To: svn-src-all@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 70832C0847A; Sat, 10 Jun 2017 00:37:03 +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 40FFB81817; Sat, 10 Jun 2017 00:37:03 +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 v5A0b2FR068788; Sat, 10 Jun 2017 00:37:02 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A0b27M068786; Sat, 10 Jun 2017 00:37:02 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706100037.v5A0b27M068786@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 10 Jun 2017 00:37:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319762 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 00:37:03 -0000 Author: jhb Date: Sat Jun 10 00:37:02 2017 New Revision: 319762 URL: https://svnweb.freebsd.org/changeset/base/319762 Log: Decode arguments to getpriority() and setpriority(). Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Sat Jun 10 00:35:45 2017 (r319761) +++ head/usr.bin/truss/syscall.h Sat Jun 10 00:37:02 2017 (r319762) @@ -49,7 +49,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe CapFcntlRights, Fadvice, FileFlags, Flockop, Getfsstatmode, Kldsymcmd, Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, Acltype, - Extattrnamespace, Minherit, Mlockall, Mountflags, Msync, + Extattrnamespace, Minherit, Mlockall, Mountflags, Msync, Priowhich, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Sat Jun 10 00:35:45 2017 (r319761) +++ head/usr.bin/truss/syscalls.c Sat Jun 10 00:37:02 2017 (r319762) @@ -240,6 +240,8 @@ static struct syscall decoded_syscalls[] = { .args = { { Int, 0 }, { Sockaddr | OUT, 1 }, { Ptr | OUT, 2 } } }, { .name = "getpgid", .ret_type = 1, .nargs = 1, .args = { { Int, 0 } } }, + { .name = "getpriority", .ret_type = 1, .nargs = 2, + .args = { { Priowhich, 0 }, { Int, 1 } } }, { .name = "getrlimit", .ret_type = 1, .nargs = 2, .args = { { Resource, 0 }, { Rlimit | OUT, 1 } } }, { .name = "getrusage", .ret_type = 1, .nargs = 2, @@ -402,6 +404,8 @@ static struct syscall decoded_syscalls[] = { { Socklent | IN, 5 } } }, { .name = "setitimer", .ret_type = 1, .nargs = 3, .args = { { Int, 0 }, { Itimerval, 1 }, { Itimerval | OUT, 2 } } }, + { .name = "setpriority", .ret_type = 1, .nargs = 3, + .args = { { Priowhich, 0 }, { Int, 1 }, { Int, 2 } } }, { .name = "setrlimit", .ret_type = 1, .nargs = 2, .args = { { Resource, 0 }, { Rlimit | IN, 1 } } }, { .name = "setsockopt", .ret_type = 1, .nargs = 5, @@ -2122,6 +2126,9 @@ print_arg(struct syscall_args *sc, unsigned long *args break; case Msync: print_mask_arg(sysdecode_msync_flags, fp, args[sc->offset]); + break; + case Priowhich: + print_integer_arg(sysdecode_prio_which, fp, args[sc->offset]); break; case CloudABIAdvice: From owner-svn-src-all@freebsd.org Sat Jun 10 00:45:09 2017 Return-Path: Delivered-To: svn-src-all@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 18373C08667; Sat, 10 Jun 2017 00:45:09 +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 D012C81C4E; Sat, 10 Jun 2017 00:45:08 +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 v5A0j8Eu072891; Sat, 10 Jun 2017 00:45:08 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A0j7K2072889; Sat, 10 Jun 2017 00:45:07 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706100045.v5A0j7K2072889@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 10 Jun 2017 00:45:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319763 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 00:45:09 -0000 Author: jhb Date: Sat Jun 10 00:45:07 2017 New Revision: 319763 URL: https://svnweb.freebsd.org/changeset/base/319763 Log: Decode the arguments to ptrace(). This does not decode structures returned by ptrace(). Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Sat Jun 10 00:37:02 2017 (r319762) +++ head/usr.bin/truss/syscall.h Sat Jun 10 00:45:07 2017 (r319763) @@ -50,6 +50,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, Acltype, Extattrnamespace, Minherit, Mlockall, Mountflags, Msync, Priowhich, + Ptraceop, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Sat Jun 10 00:37:02 2017 (r319762) +++ head/usr.bin/truss/syscalls.c Sat Jun 10 00:45:07 2017 (r319763) @@ -361,6 +361,8 @@ static struct syscall decoded_syscalls[] = { { QuadHex, 3 } } }, { .name = "procctl", .ret_type = 1, .nargs = 4, .args = { { Idtype, 0 }, { Quad, 1 }, { Procctl, 2 }, { Ptr, 3 } } }, + { .name = "ptrace", .ret_type = 1, .nargs = 4, + .args = { { Ptraceop, 0 }, { Int, 1 }, { Ptr, 2 }, { Int, 3 } } }, { .name = "pwrite", .ret_type = 1, .nargs = 4, .args = { { Int, 0 }, { BinString | IN, 1 }, { Sizet, 2 }, { QuadHex, 3 } } }, @@ -2129,6 +2131,10 @@ print_arg(struct syscall_args *sc, unsigned long *args break; case Priowhich: print_integer_arg(sysdecode_prio_which, fp, args[sc->offset]); + break; + case Ptraceop: + print_integer_arg(sysdecode_ptrace_request, fp, + args[sc->offset]); break; case CloudABIAdvice: From owner-svn-src-all@freebsd.org Sat Jun 10 00:53:02 2017 Return-Path: Delivered-To: svn-src-all@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 40FD5C087FD; Sat, 10 Jun 2017 00:53:02 +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 F3CC4821AB; Sat, 10 Jun 2017 00:53:01 +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 v5A0r1Jd076877; Sat, 10 Jun 2017 00:53:01 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A0r1xq076875; Sat, 10 Jun 2017 00:53:01 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706100053.v5A0r1xq076875@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 10 Jun 2017 00:53:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319764 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 00:53:02 -0000 Author: jhb Date: Sat Jun 10 00:53:00 2017 New Revision: 319764 URL: https://svnweb.freebsd.org/changeset/base/319764 Log: Decode the arguments to quotactl(). Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Sat Jun 10 00:45:07 2017 (r319763) +++ head/usr.bin/truss/syscall.h Sat Jun 10 00:53:00 2017 (r319764) @@ -50,7 +50,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, Acltype, Extattrnamespace, Minherit, Mlockall, Mountflags, Msync, Priowhich, - Ptraceop, + Ptraceop, Quotactlcmd, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Sat Jun 10 00:45:07 2017 (r319763) +++ head/usr.bin/truss/syscalls.c Sat Jun 10 00:53:00 2017 (r319764) @@ -366,6 +366,8 @@ static struct syscall decoded_syscalls[] = { { .name = "pwrite", .ret_type = 1, .nargs = 4, .args = { { Int, 0 }, { BinString | IN, 1 }, { Sizet, 2 }, { QuadHex, 3 } } }, + { .name = "quotactl", .ret_type = 1, .nargs = 4, + .args = { { Name, 0 }, { Quotactlcmd, 1 }, { Int, 2 }, { Ptr, 3 } } }, { .name = "read", .ret_type = 1, .nargs = 3, .args = { { Int, 0 }, { BinString | OUT, 1 }, { Sizet, 2 } } }, { .name = "readlink", .ret_type = 1, .nargs = 3, @@ -2135,6 +2137,10 @@ print_arg(struct syscall_args *sc, unsigned long *args case Ptraceop: print_integer_arg(sysdecode_ptrace_request, fp, args[sc->offset]); + break; + case Quotactlcmd: + if (!sysdecode_quotactl_cmd(fp, args[sc->offset])) + fprintf(fp, "%#x", (int)args[sc->offset]); break; case CloudABIAdvice: From owner-svn-src-all@freebsd.org Sat Jun 10 01:05:43 2017 Return-Path: Delivered-To: svn-src-all@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 6450FC089A0; Sat, 10 Jun 2017 01:05:43 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0114.outbound.protection.outlook.com [104.47.33.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B80E08263E; Sat, 10 Jun 2017 01:05:42 +0000 (UTC) (envelope-from sjg@juniper.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=yWchOuh4XCAdZcc96UiaVwRAEj/4chaeJ5cW+ePFY0U=; b=F/zfS1Xd7zY6E5ktSQS5IlPEJCKqKHlRzlReDg2h2nvCv3fUsuwULZ8TOtxdhRwB/nio+FgS8InJNdlBwqK1HYycbLbsbobT/Mygj9LR6gZpq8TYZa85uEzOxtdPvBcxTSCsqvfh12R6YFZamrqvFebEIBPuZMpWQy9r/0l5nYs= Received: from BLUPR05CA0059.namprd05.prod.outlook.com (10.141.20.29) by BY2PR05MB1975.namprd05.prod.outlook.com (10.163.32.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1157.9; Sat, 10 Jun 2017 01:05:40 +0000 Received: from DM3NAM05FT064.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e51::209) by BLUPR05CA0059.outlook.office365.com (2a01:111:e400:855::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1178.5 via Frontend Transport; Sat, 10 Jun 2017 01:05:40 +0000 Authentication-Results: spf=softfail (sender IP is 66.129.239.12) smtp.mailfrom=juniper.net; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=fail action=none header.from=juniper.net; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.239.12 as permitted sender) Received: from p-emfe01a-sac.jnpr.net (66.129.239.12) by DM3NAM05FT064.mail.protection.outlook.com (10.152.98.188) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256) id 15.1.1075.12 via Frontend Transport; Sat, 10 Jun 2017 01:05:39 +0000 Received: from p-mailhub01.juniper.net (10.160.2.17) by p-emfe01a-sac.jnpr.net (172.24.192.21) with Microsoft SMTP Server (TLS) id 14.3.123.3; Fri, 9 Jun 2017 18:05:20 -0700 Received: from kaos.jnpr.net (kaos.jnpr.net [172.21.30.60]) by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id v5A15Ku0018617; Fri, 9 Jun 2017 18:05:20 -0700 (envelope-from sjg@juniper.net) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id F273438551D; Fri, 9 Jun 2017 18:05:19 -0700 (PDT) To: Cy Schubert CC: Phil Shafer , , , , Subject: Re: svn commit: r319694 - in head: contrib/libxo contrib/libxo/doc contrib/libxo/encoder/cbor contrib/libxo/encoder/test contrib/libxo/libxo contrib/libxo/tests/core contrib/libxo/tests/core/saved cont... In-Reply-To: <201706081406.v58E6Fok077647@slippy.cwsent.com> References: <201706081406.v58E6Fok077647@slippy.cwsent.com> Comments: In-reply-to: Cy Schubert message dated "Thu, 08 Jun 2017 07:06:15 -0700." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6; nmh 1.6; GNU Emacs 25.1.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <51545.1497056719.1@kaos.jnpr.net> Date: Fri, 9 Jun 2017 18:05:19 -0700 Message-ID: <51546.1497056719@kaos.jnpr.net> X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:66.129.239.12; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39840400002)(39860400002)(39450400003)(39410400002)(39400400002)(39850400002)(2980300002)(24454002)(189002)(199003)(9170700003)(2810700001)(189998001)(6916009)(305945005)(9686003)(54906002)(229853002)(77096006)(55016002)(86362001)(7126002)(4326008)(76176999)(5660300001)(117636001)(50986999)(97756001)(47776003)(2906002)(76506005)(53416004)(46406003)(7696004)(356003)(2950100002)(105596002)(50226002)(107886003)(38730400002)(8936002)(8676002)(81166006)(6266002)(6246003)(53936002)(478600001)(110136004)(23726003)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR05MB1975; H:p-emfe01a-sac.jnpr.net; FPR:; SPF:SoftFail; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; DM3NAM05FT064; 1:nCH5niOhpWuU0/70aK8ldCKm7vDdvD6Qqzunmk2Ds5YFEJ/KSGJxUgDjXEwNbHzI/+XwNbA8Y/vPLeXxcbBJ2d8c+ajD9QCtMuFWedmG7HvQjiarvIbH0LRUjcX1yvhJlpHTKQ0BFDajTyssM/qP5ArgPIfAn+m5jk1TLgla0EAvGjQg48rbjikaaCk9C7sAIl1mN4D/CwEwQsdsHY63e7MWoSF6ipFtZoNzxdpxIS9LhTOlLVA1YSuqsBPW7RU2+Mn0oM2EfEiXbkgQLudWFMc4JeNCXfWoLU6e3BzBAjMwM2p9DwdSrpCG5G5LOF1j1Y1WDWYenu3OFwFL6eBbKGRpKvQZQPaajmabORPrP2p143Rr4R2uDmU6vYsNzE2LJCeA0KbdL9fgQCyOIhm+YhQcJ5JzHYyF7374oxNDPH7hxWLXEcgRgbmIofP/0aW/hOa6iZ87vG58e+aayaUtqSZsT0ibHK6hkcbhCu5okzXeMCosZv2c/G2G6J37gkE0CCkRuFbcxuqYiqqwoZ4ye4DJ12uXiDG8dD6VcFuTewdv4J7Xe05hTeNdMzdAr77O X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY2PR05MB1975: X-MS-Office365-Filtering-Correlation-Id: d0c7c8ec-7951-4bce-457f-08d4af9ccfa8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:BY2PR05MB1975; X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB1975; 3:+m/3OT+9PK2FlfpBF8Kf5UYNkZ9EbxcmUIwimoqI1qYMfKxvpFSK/gjIJSd+eOa6e/wAvBg8wTWO5IMoYx+AiGkVj3ESPIGmxqjv8sYVhijFZXO5077eLicy5NjBLTChXQcqvfLfukvKcORBie3NSIkAE5G/1xfFIiRXiuHdcHzH2k2VL6KyBlJeR9xJJ2xNhBuM/e9hbf5VbfZGAkB+zsa60p8ozGTMOHnZaXbnv6VOX9C0yn1Zu/QIdtpzgzEc1MhlSQ77YfON2JVsxU3O3N0lRnOTqCJ29lCU4ReY6zVSBAXHAT/GR8ni4UQw41mSxq3HE4EM5EvBjdFjmZgvRKY6WI89yLvWG1EL1P9PVkxYBeV724l8MEV0Yza+aO7GsMD/pD9naL95v3ZaqBiTIxLvpRY9A3rl/UiQGCB5fDwhC0EibF7xA8o2xLZ69HFN0+I2I8qkTQhJOvDhC1Q5lD7b+Dt9AixvHP0jiBVWXFkX4Ny9+Q2zFdkTj0PaFrZ5 X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB1975; 25:bwvfAUjTHCsxwHZMQnCiCaWVPdHE+iEZsmqgFxVSIzb0dPE7SWfzHiYr/yFuTPZJxsiqE+S3lRb8YlqHZ2z00/y2rvmPy4ihaFSOqqzi9UWuv++Bzdm8wsUJPEAOnh0SduaPzzEQNXEkqFunGAOOxTAvPpqVXfvceYig/jUGlNuW0DEcPUYW7ug0XQcKQrUxV4ic5RPCKFSvKBDCEQkUr/VVGb4+JakAJRA9IpjAmkr3w7CaQdys8t9JWK40Lum0uMui89AkCBuR6B0a3Bzt+n7eLT3HaEPQ4HItku0c6869UekOBXTUODTQM9Wpbbj0HE50IsCTmlHEOIvGgPbLdURaIhMGPVd5fkC3M0ONQoFBqyparqi3LZafh0DoZZlLJjiVle98aGEmyR/ZPaPZl0G1PC/UYSpvcMtZkk9ybnMy0IAIcCT3kPRn3Fb+vOlOpvTPi+sWiRpJ5oPNbF5ERJBAUkcu8f7co3AN6qK3FHE=; 31:QpUB1JZ86APHjpG8q6ERsBrCbH2Uyd/ONM9y4+VsV9rlZnujiDGWlhU/2kxJifEEboQCtT1cxjRMe28yygHibwrKIsCcDwM9Mu2jEBqSXIWZ0z8zquHBVWK1wSRXJKJYIQYDi/eFQFbgrJKY7BrXy0vNIomhWGo3pWHWX/gz1L2v+eSVapLIh6Shk+j602XpeiceVicKf9HyTb/Z3pnp280x0h1qwyoyMU72hNVd/0x+JdujUrmfmpfMAsWBl74rcr40BlZJmM9Rf1nVinGuWQ== X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB1975; 20:fCG3NSYT1+LyPyVQGpMm+MOh6dReHMkKKNRoadpPEMJ1DDFktIAju+1jZDsjz+lVHhEdQsrdlqqzYTUei3fADvrWmHLoVph9785SY2hfdCzuJ35g0gsljSNuSZ+OhZ7VPoJoJMSZ32xUaCirHcip47iM/DW3FkVWie6zCjUKBdICh+3CmBaf6OxHZIDYeyanvY6sXzpsQvtXGj+G+KRk4eaDQHAbsdCXLVi3cZB6nAPe5uKzeFvuEU3NHRGZSO7HCpA9tu47qXBr50e4Ac92OaAUemjXf9NWFB3OK0nW3s0ezPAEqAy+rMTBQoG9ZtAOHHkAOnoJyx7fCTkRJWbLcEA0Uop2j/ot4+WMapttBLd5K9LBsk4n+L6fwaCuo5QoDaa+nmYjEn8x3UTyAfYSCsnDoybsiPDV1ik2fCnu/98PVhz90aSLT7l9WcFJaaSFkq/6cftuBcQJrNzEFuBOiQwhDWBx77MmM/hs9zPetZAjzCt85ES2JMTUKJDWntGm X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(13018025)(8121501046)(13016025)(5005006)(3002001)(93006095)(93003095)(10201501046)(100000703101)(100105400095)(6055026)(6041248)(20161123555025)(20161123558100)(20161123564025)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR05MB1975; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR05MB1975; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR05MB1975; 4:yaIsOxKOV8UJJwkWor6WeRrntrXWmgh6rgNyIp+psV?= =?us-ascii?Q?GSArVEil7POPb9tZYv3wv5lIfD4wDZMqfH/GJu+e2Ul5JEsx5K6NyE6041es?= =?us-ascii?Q?QX/PqXhwYoq9diupiG6bcxWQ83SnKL1xu2txVNQk4JI7FCrkWo1XnCegX4Qy?= =?us-ascii?Q?Kz64Uk3mOCgZposKqK/sF1I7PTzE2DzlIMl/twef5pJR6vmgLkDWZo7yIyP1?= =?us-ascii?Q?ZNnQCjbBY/uU5X7mrweC6h8mgs/r+Pa4jkYlRm7wut4p0+QAFX8MFcziArLv?= =?us-ascii?Q?o02yuWuD8vOlOHbLM0R/ATMEhCK2uYNWdURsG7VEMl3ZdzHmKQW1y5Gkmz9Y?= =?us-ascii?Q?Pugl8jbiSQbA2iS9sX+G3Ch2br5/ACo/VyPh3qCmTxc6q0zelB2rEt1F/fZN?= =?us-ascii?Q?vc5oB65OXJklHvem8InVgsvpBPgI3/NzlVcFimyMmRI3Xxe0mVtA66CE+rwq?= =?us-ascii?Q?s/FsQ7ThCmxLxtX4Qdc/jBDY1vJS4sdwf9oAND/aoEcTzCV9gxF7iBF6zPGm?= =?us-ascii?Q?X3pY1vCJp2ZnMedfdF7h0iVcwgLwl+GAkoyzP1XtqTyJJlrd65xtT5KmS6XD?= =?us-ascii?Q?vhhtLeCzo51iOTQMCsVuiV4nwatfeSwi8F6ETSXLInn8I/SBK9qFp0ChGgVz?= =?us-ascii?Q?5uEjIeWz2VCjzqj+k6R4FH3qARYTNDLwPPDWoC/uG9XXe3dlZGBmqKVgExY8?= =?us-ascii?Q?bwHzCsrZQm/kefUoCs1cxwOr3MR2efAKt3sWAR7gaLvypw7QBAqX6cyFCtBi?= =?us-ascii?Q?H8z2bpOIlfSfDp2HNzKliw7cQKpag7nQbLfpBMg34cMWtZXI1sxDKBfJB9f3?= =?us-ascii?Q?Sbb/uI/lCOttT1seqAj3C1DZnDETvI214j+nexyGfG0+OkiWtox6VBqo5S/J?= =?us-ascii?Q?/4M/K+HmZzTKRXGPUfReanhV3jOchV2ZTbp041fQOlTGvvBf6gi60ij/ZDIx?= =?us-ascii?Q?brgkx0Hl/d7gAbRaWi1/4xZh4fpfUpE2TEJQZfXfO7QVbQbinByAToVWmx+e?= =?us-ascii?Q?WsbnONsFIDi0QZwkz3QIzJdQoViRGjAa28zOcAesPgVLVp4pxpNPaEn4r+K2?= =?us-ascii?Q?w83ClMmmODZS1EARft8HD99DgHpsgyPpvjt2T5vdrLDOucXIFjThTVEdRu1K?= =?us-ascii?Q?fJEG6ulCcZuBKbWQa1T7gZb/zpHdlUFXaQNqzqpG4fi3wjdb7bhN45Pis+ML?= =?us-ascii?Q?lA827t5uoVB+MU+szjL7yp9nBjIdps7GLM?= X-Forefront-PRVS: 0334223192 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR05MB1975; 23:lwLVPqg5xA6z3XPlH6s5v1vSUfd0AWm1YL4YxlV0l?= =?us-ascii?Q?EOGuIFjF33QA2RyXM4Pxg6Swa0JNuYHUbpycaeQjvrqzfO9sXLXQ14GAI3yj?= =?us-ascii?Q?kUFjtuFi14jiOLFollLgoVrM2wI0q2wn/ENXFI8Pf838ChH3/l4GVY7XDsjE?= =?us-ascii?Q?JfeFULoc+w1+poQM2iIL6VMWhieIY6zUa1epYMny69gCDmPc1V26olB5xGCB?= =?us-ascii?Q?L2B5H486yaBEkCNt86yw+nRqN+9wQIyrEmpWsS/h0sD0kxS+vv6mKxXa2xhr?= =?us-ascii?Q?RZh2ynW8eYzbQj5ZJOStwlam9bjQwFcu0YH3YUxt6zAOY+vyPNecgKIwy4iX?= =?us-ascii?Q?7mU8mZ0Tcz+VbeDqXJNhvTCOx8Q1FcmE2QpzkHX3VeQBYKOWnRo4XFZYbpFI?= =?us-ascii?Q?MQAXXEix2YcyBumvoG8rrNcaEqn96KFpqJwS92KZ5cIK7Ru5fWCPqZijhRw2?= =?us-ascii?Q?00LGDCITc3Xfi0kvmxkByziBLD0LafNwx4yUHoiw6u25yn2Avgk++d/c2IdQ?= =?us-ascii?Q?HZHJL/hnyK3A3wPUYz6QfRKpSs7JFVPxsec/f892ofqBOPzS7K4TgymVCkBO?= =?us-ascii?Q?CcGyexHHJGv06hDacc9OUPLWUi2apq/EFFLPZMYen8m9hJweCpmnwLClOfPA?= =?us-ascii?Q?70ML2HiUyn1By39Rvc4RuvZC5EfJpN6iuAhAEFZLMjiqkD5GDf/UKHgHh3Xu?= =?us-ascii?Q?gWRZ5f/2kbDw8wwwbOx1akuYypqgcdIaI0NxnNgkmytR0GDZXgQMdXN9weFn?= =?us-ascii?Q?7aEAZd/hWCNayzXVxbjBs2Qdn/SAtcBzUnW/e8l4hWOaqtsv29NOay4dteFW?= =?us-ascii?Q?IQavlwxxg5d9ucoQw4IdLrE8HSE/eBwh95BnDcmPIuEybrvmQf7ycQa8mT/4?= =?us-ascii?Q?MvMY4FOuAyr1diQwSqw1M2IEK2cUTbV1PEtSTs0nPBZlE/KzWyTHWHnoq9qd?= =?us-ascii?Q?IAoYc6J2/O/zLhmIwTs/7/TDKMiO7tc/pHltkansYWn2sxwvKTXtC9h0jRRk?= =?us-ascii?Q?/X6xwHDJQQ2DBjjrKYZgghUXxcjkf8MfDyvLFDtqs0HuYaG9WR08jdZ8V3Wh?= =?us-ascii?Q?7/mRXIQVqJW1+eRcjJx5tXeJe1JGWhUOKxMa3TTQy4/+iK66PA2xiqj4vGfe?= =?us-ascii?Q?eJHsg22ymS66xGq4DWS923IFN3wVKrJ6zxv8FLotRdbHQBMbDmkOz+VG8pR2?= =?us-ascii?Q?1inT1qh3rTzN1rSXV2uhueyVtWjVue+EHWpFu5ICbP1ewAj1V2iXWW/ULLTP?= =?us-ascii?Q?in0CGN5A9VUXaLpIdI=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB1975; 6:Ti95avQY9JTCHpkKBa9+TbbZzKoR7RlOZVmxqyfQuugKG7kbWMxIRQj3Mc4/v1JGkqgacT/zgCsnmZspR4GREJbf77jVMT47Eb9zoUJs6VUv9+4RG9rXbYuif2rXbwdYCgPWMAwpjQJbHaXlzsP63r1mbVQIbHyy+PJeZr/s4Db0LJ28r76gSBxl6LCvW7JlSV5LEUYvnPWT0Vp7f58o+VQaatAbejI89RzPYDuDI+IoudG10RVw5HZpY5y8M3GB/hR9s2VhpeMJ5Nx5mQj4olrGQ5nQzHLQN4E+Cm/ZqvOyljJ+imd6w+/8TaVZEke/gerhEZfBgy7PCsvtUBjASlI2wliFX4DisDsLfwxmEzcUsZ3X4f1DLN2RoydGFVcgf3xCSNIUxMFT4eSlLYi50a0mI1mq62+ank/7sJfL0uqdxDIrRQdJnwD92t9HVlxg9RMYeI3MZFnCbAe3NLdfU0Sdu6Xs3Of/USGsE2p60k5T2ys7b15HvOwuvoW7uSHf/5DWcQFyLkiJ/333g3nXlv1FJL4PkFvYJ6+h0yRptsY= X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB1975; 5:wgdp2t7SDVtUkgLIiOGZDUv1p9BMAYtQu2cJzbo7sA9dtk4wBDHV8LKeN/wwxdAjyqPXS6x6X1kNR61wcZH2BAPexoTUpSPiKn5wnBDi2XnZtD9s1SrsIlb241rvLJM8VaEshwpptZu729ngSC6AvtPrPNd+neGdfQmXve4eJ8UahM57YiDaNLoRCZTCNvB1ix5U8ffGfLRWY/plCd9a117kSRMihFa6949mZ/djxqsbXdmtjHYXuBldUmcDrEXfAEptUIZLImujdzdicCu7mEfjmogKfPVZc0sKHgP5P9gdPs0fTHSeVNtY6vit/rjtGXg7ebmVX+1Kn5sAvCvC7UCLidwN09af3P+2DjViCeMrQPTq5EcYRsZe2CRdGxyAf+ZFyQMRKckzSUIP4hsbsBOk3rRr4akoe7WHKXS1GUKNneMr0JM62Jzp6ubW5WaQ/Oz9i44FMuRfQtBnMaUNEe3fu3f0QCaPZOp3YshgxdveFkycegkYfV5x31TdIrhk; 24:pxrJIUAEq84m0nmh5mSc3MRtdZ0HiOc7mL7Vl1BGsxC/P16hYmr0saHFNMzCWXhi4WPbQJVAWyxb2DsFwCvv4lyAE5Hhv6w9F3xlXOjCORA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB1975; 7:ph53sh3tq/ZTullTnGaE3tKJ/hrM3mOUNfSlyvzNbU8u9QK3bJoaASEvUd4S8CfnxMjfFTS4192hdtlmDKwYC9ieOfxJ/VbOX2uN2l1rjSJb5IXgwg08Wu6hYhWYsUiFcrI18qSjjjXaAs0WA7810MSoVvL03cg603wnLnqB4Mysqwz9zu2v+rnAF+Jc8tQaWU5dco6hMfFsg3pEWFbPh3bGonJ0LDYGUELtxNGLzSNFzqIDBKV/bwqIvDcizQ35rVyf8lqe4azTFVpaao3Ew0RjcirY93Aqr5ZTobQVoKSz0OB0ReDbme825LroLru5gM/NobUjCSBgB7EjGtM84Q== X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2017 01:05:39.6570 (UTC) X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.239.12]; Helo=[p-emfe01a-sac.jnpr.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR05MB1975 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 01:05:43 -0000 Cy Schubert wrote: > This commit breaks at the below: Can you pls confirm which compiler hit the error below? It has been suggested that this might only have bitten gcc... which would explain why Phil didn't hit it. > > ===> lib/libxo (all) > /home/cy/current/contrib/libxo/libxo/libxo.c:242:17: error: redefinition of > type > def 'xo_color_t' is a C11 feature [-Werror,-Wtypedef-redefinition] > typedef uint8_t xo_color_t; > ^ > /home/cy/current/contrib/libxo/libxo/libxo.c:206:17: note: previous > definition i > s here > typedef uint8_t xo_color_t; > ^ > 1 error generated. > --- libxo.o --- > *** [libxo.o] Error code 1 From owner-svn-src-all@freebsd.org Sat Jun 10 01:22:41 2017 Return-Path: Delivered-To: svn-src-all@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 AF56FC09484; Sat, 10 Jun 2017 01:22:41 +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 7E63D831DA; Sat, 10 Jun 2017 01:22:41 +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 v5A1Me08089007; Sat, 10 Jun 2017 01:22:40 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A1MevS089005; Sat, 10 Jun 2017 01:22:40 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706100122.v5A1MevS089005@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 10 Jun 2017 01:22:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319766 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 01:22:41 -0000 Author: jhb Date: Sat Jun 10 01:22:40 2017 New Revision: 319766 URL: https://svnweb.freebsd.org/changeset/base/319766 Log: Decode the 'howto' argument to reboot(). Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Sat Jun 10 01:20:08 2017 (r319765) +++ head/usr.bin/truss/syscall.h Sat Jun 10 01:22:40 2017 (r319766) @@ -50,7 +50,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, Acltype, Extattrnamespace, Minherit, Mlockall, Mountflags, Msync, Priowhich, - Ptraceop, Quotactlcmd, + Ptraceop, Quotactlcmd, Reboothowto, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Sat Jun 10 01:20:08 2017 (r319765) +++ head/usr.bin/truss/syscalls.c Sat Jun 10 01:22:40 2017 (r319766) @@ -375,6 +375,8 @@ static struct syscall decoded_syscalls[] = { { .name = "readlinkat", .ret_type = 1, .nargs = 4, .args = { { Atfd, 0 }, { Name, 1 }, { Readlinkres | OUT, 2 }, { Sizet, 3 } } }, + { .name = "reboot", .ret_type = 1, .nargs = 1, + .args = { { Reboothowto, 0 } } }, { .name = "recvfrom", .ret_type = 1, .nargs = 6, .args = { { Int, 0 }, { BinString | OUT, 1 }, { Sizet, 2 }, { Msgflags, 3 }, { Sockaddr | OUT, 4 }, @@ -2141,6 +2143,9 @@ print_arg(struct syscall_args *sc, unsigned long *args case Quotactlcmd: if (!sysdecode_quotactl_cmd(fp, args[sc->offset])) fprintf(fp, "%#x", (int)args[sc->offset]); + break; + case Reboothowto: + print_mask_arg(sysdecode_reboot_howto, fp, args[sc->offset]); break; case CloudABIAdvice: From owner-svn-src-all@freebsd.org Sat Jun 10 01:20:09 2017 Return-Path: Delivered-To: svn-src-all@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 615D1C091CC; Sat, 10 Jun 2017 01:20:09 +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 2F43382DB7; Sat, 10 Jun 2017 01:20:09 +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 v5A1K8F8085082; Sat, 10 Jun 2017 01:20:08 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A1K8A7085081; Sat, 10 Jun 2017 01:20:08 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706100120.v5A1K8A7085081@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 10 Jun 2017 01:20:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319765 - head/lib/libsysdecode X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 01:20:09 -0000 Author: jhb Date: Sat Jun 10 01:20:08 2017 New Revision: 319765 URL: https://svnweb.freebsd.org/changeset/base/319765 Log: Improve decoding of RB_AUTOBOOT in the 'howto' argument to reboot(). The reboot() system call accepts a mode (RB_AUTOBOOT, RB_HALT, RB_POWEROFF, or RB_REROOT) as well as zero or more optional flags in 'howto'. However, RB_AUTOBOOT was only displayed if 'howto' was exactly 0. Combinations like 'RB_AUTOBOOT | RB_DUMP' were decoded as 'RB_DUMP'. Instead, imply that RB_AUTOBOOT was specified if none of the other "mode" flags were specified. Modified: head/lib/libsysdecode/flags.c Modified: head/lib/libsysdecode/flags.c ============================================================================== --- head/lib/libsysdecode/flags.c Sat Jun 10 00:53:00 2017 (r319764) +++ head/lib/libsysdecode/flags.c Sat Jun 10 01:20:08 2017 (r319765) @@ -634,8 +634,19 @@ sysdecode_quotactl_cmd(FILE *fp, int cmd) bool sysdecode_reboot_howto(FILE *fp, int howto, int *rem) { + bool printed; - return (print_mask_int(fp, rebootopt, howto, rem)); + /* + * RB_AUTOBOOT is special in that its value is zero, but it is + * also an implied argument if a different operation is not + * requested via RB_HALT, RB_POWEROFF, or RB_REROOT. + */ + if (howto != 0 && (howto & (RB_HALT | RB_POWEROFF | RB_REROOT)) == 0) { + fputs("RB_AUTOBOOT|", fp); + printed = true; + } else + printed = false; + return (print_mask_int(fp, rebootopt, howto, rem) || printed); } bool From owner-svn-src-all@freebsd.org Sat Jun 10 01:32:36 2017 Return-Path: Delivered-To: svn-src-all@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 7A3CAC09B54; Sat, 10 Jun 2017 01:32:36 +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 45D8583990; Sat, 10 Jun 2017 01:32:36 +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 v5A1WZDe093113; Sat, 10 Jun 2017 01:32:35 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A1WZQ3093111; Sat, 10 Jun 2017 01:32:35 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706100132.v5A1WZQ3093111@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 10 Jun 2017 01:32:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319768 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 01:32:36 -0000 Author: jhb Date: Sat Jun 10 01:32:35 2017 New Revision: 319768 URL: https://svnweb.freebsd.org/changeset/base/319768 Log: Decode arguments to rtprio() and rtprio_thread(). Modified: head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscall.h ============================================================================== --- head/usr.bin/truss/syscall.h Sat Jun 10 01:32:18 2017 (r319767) +++ head/usr.bin/truss/syscall.h Sat Jun 10 01:32:35 2017 (r319768) @@ -50,7 +50,7 @@ enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHe Kldunloadflags, Sizet, Madvice, Socklent, Sockprotocol, Sockoptlevel, Sockoptname, Msgflags, CapRights, PUInt, PQuadHex, Acltype, Extattrnamespace, Minherit, Mlockall, Mountflags, Msync, Priowhich, - Ptraceop, Quotactlcmd, Reboothowto, + Ptraceop, Quotactlcmd, Reboothowto, Rtpriofunc, CloudABIAdvice, CloudABIClockID, ClouduABIFDSFlags, CloudABIFDStat, CloudABIFileStat, CloudABIFileType, Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Sat Jun 10 01:32:18 2017 (r319767) +++ head/usr.bin/truss/syscalls.c Sat Jun 10 01:32:35 2017 (r319768) @@ -391,6 +391,10 @@ static struct syscall decoded_syscalls[] = { .args = { { Rforkflags, 0 } } }, { .name = "rmdir", .ret_type = 1, .nargs = 1, .args = { { Name, 0 } } }, + { .name = "rtprio", .ret_type = 1, .nargs = 3, + .args = { { Rtpriofunc, 0 }, { Int, 1 }, { Ptr, 2 } } }, + { .name = "rtprio_thread", .ret_type = 1, .nargs = 3, + .args = { { Rtpriofunc, 0 }, { Int, 1 }, { Ptr, 2 } } }, { .name = "sctp_generic_recvmsg", .ret_type = 1, .nargs = 7, .args = { { Int, 0 }, { Ptr | IN, 1 }, { Int, 2 }, { Sockaddr | OUT, 3 }, { Ptr | OUT, 4 }, { Ptr | OUT, 5 }, @@ -2146,6 +2150,10 @@ print_arg(struct syscall_args *sc, unsigned long *args break; case Reboothowto: print_mask_arg(sysdecode_reboot_howto, fp, args[sc->offset]); + break; + case Rtpriofunc: + print_integer_arg(sysdecode_rtprio_function, fp, + args[sc->offset]); break; case CloudABIAdvice: From owner-svn-src-all@freebsd.org Sat Jun 10 01:32:19 2017 Return-Path: Delivered-To: svn-src-all@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 6E087C09B1B; Sat, 10 Jun 2017 01:32:19 +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 3C1CA8386E; Sat, 10 Jun 2017 01:32:19 +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 v5A1WIqB090954; Sat, 10 Jun 2017 01:32:18 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A1WILt090953; Sat, 10 Jun 2017 01:32:18 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706100132.v5A1WILt090953@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 10 Jun 2017 01:32:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319767 - head/usr.bin/kdump X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 01:32:19 -0000 Author: jhb Date: Sat Jun 10 01:32:18 2017 New Revision: 319767 URL: https://svnweb.freebsd.org/changeset/base/319767 Log: Decode arguments to rtprio_thread() (same as rtprio()). Modified: head/usr.bin/kdump/kdump.c Modified: head/usr.bin/kdump/kdump.c ============================================================================== --- head/usr.bin/kdump/kdump.c Sat Jun 10 01:22:40 2017 (r319766) +++ head/usr.bin/kdump/kdump.c Sat Jun 10 01:32:18 2017 (r319767) @@ -1219,6 +1219,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_int sv_flags) c = ','; break; case SYS_rtprio: + case SYS_rtprio_thread: putchar('('); print_integer_arg(sysdecode_rtprio_function, *ip); From owner-svn-src-all@freebsd.org Sat Jun 10 03:20:40 2017 Return-Path: Delivered-To: svn-src-all@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 8ECD8C78143; Sat, 10 Jun 2017 03:20:40 +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 3EA2D3600; Sat, 10 Jun 2017 03:20:39 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id JWwwdGMKJeQWUJWwxdfnxS; Fri, 09 Jun 2017 21:20:32 -0600 X-Authority-Analysis: v=2.2 cv=UpATD64B c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=kj9zAlcOel0A:10 a=LWSFodeU3zMA:10 a=ymjG5ZiqAAAA:8 a=BWvPGDcYAAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=oFTZIl465TYvDMwdywoA:9 a=CjuIK1q_8ugA:10 a=oappaISLdyUA:10 a=9NY4Jsdw3mG8vwb630s1:22 a=pxhY87DP9d2VeQe4joPk:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id AFA07A1E; Fri, 9 Jun 2017 20:20:30 -0700 (PDT) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v5A3JFEs097169; Fri, 9 Jun 2017 20:19:15 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201706100319.v5A3JFEs097169@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: "Simon J. Gerraty" cc: Cy Schubert , Phil Shafer , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r319694 - in head: contrib/libxo contrib/libxo/doc contrib/libxo/encoder/cbor contrib/libxo/encoder/test contrib/libxo/libxo contrib/libxo/tests/core contrib/libxo/tests/core/saved cont... In-Reply-To: Message from "Simon J. Gerraty" of "Fri, 09 Jun 2017 18:05:19 -0700." <51546.1497056719@kaos.jnpr.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 09 Jun 2017 20:19:15 -0700 X-CMAE-Envelope: MS4wfPRNZ2DTwskacXh7djGjnlNJRRteDkRQ1kHxyuVvs5Bg5GqNIcHC9vd9fFD1djr59UgXqq3b4fn254P0+VeGktloQVLkC0f7DaOmgnrFq4oo/BSjZWP2 90crV3cZfnusBl/hwC3n6kQ43KyaKY8IhWny2zy7z0q/CD73KD48Y3mtqjezzVzc4BtXH9l/kN2byKOrbVqWuuQZkoRT7VSQ49hspDqhInn2haYw+mAJ0775 W7zhcW2dZRJractQixa4s0McRCfWaEBkhCuG1+gRoXuKIC118L/ZUk/lRADLQjy6YJPSGe2EHCkIUrvB1syl0Q== X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 03:20:40 -0000 In message <51546.1497056719@kaos.jnpr.net>, "Simon J. Gerraty" writes: > Cy Schubert wrote: > > This commit breaks at the below: > > Can you pls confirm which compiler hit the error below? > It has been suggested that this might only have bitten gcc... > which would explain why Phil didn't hit it. > The default clang was was the compiler through make tinderbox. The only two buildworlds that completed successfully were riscv.riscv64 and riscv.riscv64sf. All others failed. Phil explained in a private email why he thought it compiled for him while make tinderbox caught the breakage. I think it's all good now. -- 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-all@freebsd.org Sat Jun 10 06:13:53 2017 Return-Path: Delivered-To: svn-src-all@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 C7F9ED85F1A; Sat, 10 Jun 2017 06:13:53 +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 96CEF68657; Sat, 10 Jun 2017 06:13:53 +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 v5A6Dq2l010643; Sat, 10 Jun 2017 06:13:52 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A6DqK3010642; Sat, 10 Jun 2017 06:13:52 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706100613.v5A6DqK3010642@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Sat, 10 Jun 2017 06:13:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319769 - head/cddl/usr.sbin/dtrace/tests/common/aggs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 06:13:53 -0000 Author: avg Date: Sat Jun 10 06:13:52 2017 New Revision: 319769 URL: https://svnweb.freebsd.org/changeset/base/319769 Log: follow up to r319746: add the new test files to the make file Reported by: markj MFC after: 2 days X-MFC with: r319746 Modified: head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile Modified: head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile ============================================================================== --- head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile Sat Jun 10 01:32:35 2017 (r319768) +++ head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile Sat Jun 10 06:13:52 2017 (r319769) @@ -169,6 +169,8 @@ ${PACKAGE}FILES= \ tst.sizedkeys.d.out \ tst.stddev.d \ tst.stddev.d.out \ + tst.stddev.normalize.d \ + tst.stddev.normalize.d.out \ tst.subr.d \ tst.sum.d \ tst.sum.d.out \ From owner-svn-src-all@freebsd.org Sat Jun 10 07:43:25 2017 Return-Path: Delivered-To: svn-src-all@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 679E1D87524; Sat, 10 Jun 2017 07:43:25 +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 359EA6E965; Sat, 10 Jun 2017 07:43:25 +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 v5A7hO1n047037; Sat, 10 Jun 2017 07:43:24 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A7hOB8047036; Sat, 10 Jun 2017 07:43:24 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706100743.v5A7hOB8047036@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 10 Jun 2017 07:43:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319772 - head/share/man/man7 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 07:43:25 -0000 Author: trasz Date: Sat Jun 10 07:43:24 2017 New Revision: 319772 URL: https://svnweb.freebsd.org/changeset/base/319772 Log: Remove groff(1) leftovers from hier(7). Modified: head/share/man/man7/hier.7 Modified: head/share/man/man7/hier.7 ============================================================================== --- head/share/man/man7/hier.7 Sat Jun 10 06:32:44 2017 (r319771) +++ head/share/man/man7/hier.7 Sat Jun 10 07:43:24 2017 (r319772) @@ -28,7 +28,7 @@ .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd April 25, 2017 +.Dd June 10, 2017 .Dt HIER 7 .Os .Sh NAME @@ -509,8 +509,6 @@ various examples for users and programmers firmware images loaded by userland programs .It Pa games/ ASCII text files used by various games -.It Pa groff_font/ -device description file for device name .It Pa keys/ known trusted and revoked keys. .Bl -tag -width "pkg/" -compact @@ -527,10 +525,6 @@ see .Xr setlocale 3 .It Pa man/ manual pages -.It Pa me/ -macros for use with the me macro package; -see -.Xr me 7 .It Pa misc/ miscellaneous system-wide ASCII text files .Bl -tag -width Fl -compact @@ -593,12 +587,6 @@ tab description files for a variety of terminals; used the termcap file; see .Xr termcap 5 -.It Pa tmac/ -text processing macros; -see -.Xr nroff 1 -and -.Xr troff 1 .It Pa vi/ localization support and utilities for .Xr vi 1 From owner-svn-src-all@freebsd.org Sat Jun 10 07:47:22 2017 Return-Path: Delivered-To: svn-src-all@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 D6A41D875A6; Sat, 10 Jun 2017 07:47:22 +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 9C1356EAC2; Sat, 10 Jun 2017 07:47:22 +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 v5A7lLX6047227; Sat, 10 Jun 2017 07:47:21 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A7lLVR047226; Sat, 10 Jun 2017 07:47:21 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706100747.v5A7lLVR047226@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 10 Jun 2017 07:47:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319773 - head/share/man/man7 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 07:47:22 -0000 Author: trasz Date: Sat Jun 10 07:47:21 2017 New Revision: 319773 URL: https://svnweb.freebsd.org/changeset/base/319773 Log: Remove /usr/include/readline/ from hier(7); it's long gone. Modified: head/share/man/man7/hier.7 Modified: head/share/man/man7/hier.7 ============================================================================== --- head/share/man/man7/hier.7 Sat Jun 10 07:43:24 2017 (r319772) +++ head/share/man/man7/hier.7 Sat Jun 10 07:47:21 2017 (r319773) @@ -297,10 +297,6 @@ C include files for NFS (Network File System) version OpenSSL (Cryptography/SSL toolkit) headers .It Pa protocols/ C include files for Berkeley service protocols -.It Pa readline/ -get a line from a user, with editing; -see -.Xr readline 3 .It Pa rpc/ remote procedure calls; see From owner-svn-src-all@freebsd.org Sat Jun 10 08:01:06 2017 Return-Path: Delivered-To: svn-src-all@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 5B442D87B2D; Sat, 10 Jun 2017 08:01:06 +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 2BA0F6F0CC; Sat, 10 Jun 2017 08:01:06 +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 v5A8157u053917; Sat, 10 Jun 2017 08:01:05 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A8156h053916; Sat, 10 Jun 2017 08:01:05 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706100801.v5A8156h053916@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 10 Jun 2017 08:01:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319774 - head/share/man/man7 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 08:01:06 -0000 Author: trasz Date: Sat Jun 10 08:01:05 2017 New Revision: 319774 URL: https://svnweb.freebsd.org/changeset/base/319774 Log: Improve formatting by removing yet another case of '-width ".Pa'. MFC after: 2 weeks Modified: head/share/man/man7/hier.7 Modified: head/share/man/man7/hier.7 ============================================================================== --- head/share/man/man7/hier.7 Sat Jun 10 07:47:21 2017 (r319773) +++ head/share/man/man7/hier.7 Sat Jun 10 08:01:05 2017 (r319774) @@ -660,7 +660,7 @@ source for files in .Pa /usr/share .It Pa sys/ kernel source code -.Bl -tag -width ".Pa opencrypto/" -compact +.Bl -tag -width "opencrypto/" -compact .It Pa amd64/ AMD64 architecture support .It Pa arm/ From owner-svn-src-all@freebsd.org Sat Jun 10 08:08:16 2017 Return-Path: Delivered-To: svn-src-all@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 1AC76D87DC4; Sat, 10 Jun 2017 08:08:16 +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 DDC746F4C1; Sat, 10 Jun 2017 08:08:15 +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 v5A88Fit055666; Sat, 10 Jun 2017 08:08:15 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A88FKe055665; Sat, 10 Jun 2017 08:08:15 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706100808.v5A88FKe055665@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 10 Jun 2017 08:08:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319775 - head/share/man/man7 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 08:08:16 -0000 Author: trasz Date: Sat Jun 10 08:08:14 2017 New Revision: 319775 URL: https://svnweb.freebsd.org/changeset/base/319775 Log: /usr/share/doc/bind is gone since 20040925. MFC after: 2 weeks Modified: head/share/man/man7/hier.7 Modified: head/share/man/man7/hier.7 ============================================================================== --- head/share/man/man7/hier.7 Sat Jun 10 08:01:05 2017 (r319774) +++ head/share/man/man7/hier.7 Sat Jun 10 08:08:14 2017 (r319775) @@ -465,8 +465,6 @@ association) Frequently Asked Questions .It Pa IPv6/ implementation notes for IPv6 -.It Pa bind/ -documents pertaining to BIND (the Berkeley Internet Name Domain) .It Pa es/ Spanish translations of documents in /usr/share/doc .It Pa handbook/ From owner-svn-src-all@freebsd.org Sat Jun 10 08:25:47 2017 Return-Path: Delivered-To: svn-src-all@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 8A27BD882D8; Sat, 10 Jun 2017 08:25:47 +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 52CFE6FCA0; Sat, 10 Jun 2017 08:25:47 +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 v5A8PkJl063452; Sat, 10 Jun 2017 08:25:46 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5A8PkfP063451; Sat, 10 Jun 2017 08:25:46 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706100825.v5A8PkfP063451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 10 Jun 2017 08:25:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319776 - head/share/man/man7 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 08:25:47 -0000 Author: trasz Date: Sat Jun 10 08:25:46 2017 New Revision: 319776 URL: https://svnweb.freebsd.org/changeset/base/319776 Log: Remove mentions of recently removed /usr/share/doc/ subdirectories from hier(7). Modified: head/share/man/man7/hier.7 Modified: head/share/man/man7/hier.7 ============================================================================== --- head/share/man/man7/hier.7 Sat Jun 10 08:08:14 2017 (r319775) +++ head/share/man/man7/hier.7 Sat Jun 10 08:25:46 2017 (r319776) @@ -480,19 +480,11 @@ see .Xr ncurses 3 .It Pa ntp/ HTML documents pertaining to the Network Time Protocol -.It Pa papers/ -UNIX Papers -.It Pa psd/ -UNIX Programmer's Supplementary Documents .It Pa ru/ Russian translations of documents in /usr/share/doc -.It Pa smm/ -UNIX System Manager's Manual .It Pa tutorials/ .Fx tutorials -.It Pa usd/ -UNIX User's Supplementary Documents .It Pa zh/ Chinese translations of documents in /usr/share/doc .El From owner-svn-src-all@freebsd.org Sat Jun 10 09:12:10 2017 Return-Path: Delivered-To: svn-src-all@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 A2C2AD893B0; Sat, 10 Jun 2017 09:12:10 +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 4953F713E1; Sat, 10 Jun 2017 09:12:10 +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 v5A9C4GQ023093 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 10 Jun 2017 12:12:04 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v5A9C4GQ023093 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v5A9C41U023092; Sat, 10 Jun 2017 12:12:04 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 10 Jun 2017 12:12:03 +0300 From: Konstantin Belousov To: Jonathan Looney Cc: John Baldwin , "Jonathan T. Looney" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r319720 - head/sys/dev/vt Message-ID: <20170610091203.GH2088@kib.kiev.ua> References: <201706082047.v58KlI51079003@repo.freebsd.org> <7306919.ixyIA96xWQ@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.2 (2017-04-18) 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-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 09:12:10 -0000 On Fri, Jun 09, 2017 at 04:56:03PM -0700, Jonathan Looney wrote: > Hi John, Konstantin, > > This crash occurs during system startup when we are trying to switch from > having each write to the vt device do an immediate flush to using a > callout-based asynchronous flushing mechanism. > > It appears the crash was caused by having the VDF_ASYNC flag set while the > vd_timer_armed flag was 0. The fix is to make sure that vd_timer_armed is 1 > before the VDF_ASYNC flag is set. It is my understanding that the acquire > semantics in the atomic_add_acq_int() call should ensure that the write to > vd_timer_armed occurs before the load, bitwise-or, and store associated > with `vd->vd_flags |= VDF_ASYNC`. Ensuring that ordering (or, at least the > store ordering) is all that is really necessary to stop the crash from > occurring. No, acquire is only specified for loads, and release for stores. In other words, on some hypothetical ll/sc architecture, the atomic_add_acq() could be implemented as follows, in asm-pseudocode atomic_add_acq(int x): ll x, r1 acq x add 1, r sc r1, x Your use of the atomic does not prevent stores reordering. And equally important, _acq is useless without dual _rel. > > (A more thorough analysis is available in the PR [217408], which I forgot > to include in the commit metadata.) > > To answer Konstantin's question, the VDF_ASYNC and vd_timer_armed flags are > different. The VDF_ASYNC flag indicates that we want to use async flushing. > The vd_timer_armed flag indicates that the callout is actually armed to > flush at some point soon, so a thread that writes to the vt device doesn't > need to worry about scheduling the callout. Ok. > > I'm not claiming that this fixes all bugs in this area. (In fact, I > specifically disclaim this.) But, it does stop the crash from occurring. > > If you still feel there are better mechanisms to achieve the desired > ordering, please let me know and I'll be happy to fix and/or improve this. See the pseudocode I posted in my original reply, which uses acq/rel pair. > > Jonathan > > On Thu, Jun 8, 2017 at 2:49 PM, John Baldwin wrote: > > > On Thursday, June 08, 2017 08:47:18 PM Jonathan T. Looney wrote: > > > Author: jtl > > > Date: Thu Jun 8 20:47:18 2017 > > > New Revision: 319720 > > > URL: https://svnweb.freebsd.org/changeset/base/319720 > > > > > > Log: > > > With EARLY_AP_STARTUP enabled, we are seeing crashes in > > softclock_call_cc() > > > during bootup. Debugging information shows that softclock_call_cc() is > > > trying to execute the vt_consdev.vd_timer callout, and the callout > > > structure contains a NULL c_func. > > > > > > This appears to be due to a race between vt_upgrade() running > > > callout_reset() and vt_resume_flush_timer() calling callout_schedule(). > > > > > > Fix the race by ensuring that vd_timer_armed is always set before > > > attempting to (re)schedule the callout. > > > > > > Discussed with: emaste > > > MFC after: 2 weeks > > > Sponsored by: Netflix > > > Differential Revision: https://reviews.freebsd.org/D9828 > > > > This should probably be using atomic_thread_fence_foo() in conjunction with > > a simple 'vd->vd_timer_armed = 1' assignment instead of abusing > > atomic_add_acq_int(). Unfortunately atomic_thread_fence_*() aren't yet > > documented in atomic(9). :( The commit message that added them is below > > though: > > > > ------------------------------------------------------------------------ > > r285283 | kib | 2015-07-08 11:12:24 -0700 (Wed, 08 Jul 2015) | 22 lines > > > > Add the atomic_thread_fence() family of functions with intent to > > provide a semantic defined by the C11 fences with corresponding > > memory_order. > > > > atomic_thread_fence_acq() gives r | r, w, where r and w are read and > > write accesses, and | denotes the fence itself. > > > > atomic_thread_fence_rel() is r, w | w. > > > > atomic_thread_fence_acq_rel() is the combination of the acquire and > > release in single operation. Note that reads after the acq+rel fence > > could be made visible before writes preceeding the fence. > > > > atomic_thread_fence_seq_cst() orders all accesses before/after the > > fence, and the fence itself is globally ordered against other > > sequentially consistent atomic operations. > > > > Reviewed by: alc > > Discussed with: bde > > Sponsored by: The FreeBSD Foundation > > MFC after: 3 weeks > > > > ------------------------------------------------------------------------ > > > > That said, it is hard to see how a bare acquire barrier is really > > sufficient for anything. Acquire barriers generally must be paired with > > a release barrier in order to provide sychronization. > > > > -- > > John Baldwin > > From owner-svn-src-all@freebsd.org Sat Jun 10 11:14:56 2017 Return-Path: Delivered-To: svn-src-all@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 696E7D8B246; Sat, 10 Jun 2017 11:14:56 +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 B9D0E74762; Sat, 10 Jun 2017 11:14:55 +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 v5ABEshe033696; Sat, 10 Jun 2017 11:14:54 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ABEsM5033694; Sat, 10 Jun 2017 11:14:54 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706101114.v5ABEsM5033694@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 10 Jun 2017 11:14:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r319778 - in stable/11/sys: kern ufs/ffs X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 11:14:56 -0000 Author: kib Date: Sat Jun 10 11:14:54 2017 New Revision: 319778 URL: https://svnweb.freebsd.org/changeset/base/319778 Log: MFC r319518: Ensure that cached struct thread does not keep spurious td_su reference on an UFS mount point. MFC r319519: Clean possible td_su reference on the struct mount being unmounted as the last step of ffs_unmount(). Approved by: re (gjb) Modified: stable/11/sys/kern/kern_proc.c stable/11/sys/ufs/ffs/ffs_vfsops.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/kern_proc.c ============================================================================== --- stable/11/sys/kern/kern_proc.c Sat Jun 10 10:40:15 2017 (r319777) +++ stable/11/sys/kern/kern_proc.c Sat Jun 10 11:14:54 2017 (r319778) @@ -226,6 +226,8 @@ proc_dtor(void *mem, int size, void *arg) #endif /* Free all OSD associated to this thread. */ osd_thread_exit(td); + td_softdep_cleanup(td); + MPASS(td->td_su == NULL); /* Make sure all thread destructors are executed */ EVENTHANDLER_INVOKE(thread_dtor, td); Modified: stable/11/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- stable/11/sys/ufs/ffs/ffs_vfsops.c Sat Jun 10 10:40:15 2017 (r319777) +++ stable/11/sys/ufs/ffs/ffs_vfsops.c Sat Jun 10 11:14:54 2017 (r319778) @@ -1317,6 +1317,10 @@ ffs_unmount(mp, mntflags) MNT_ILOCK(mp); mp->mnt_flag &= ~MNT_LOCAL; MNT_IUNLOCK(mp); + if (td->td_su == mp) { + td->td_su = NULL; + vfs_rel(mp); + } return (error); fail: From owner-svn-src-all@freebsd.org Sat Jun 10 13:44:10 2017 Return-Path: Delivered-To: svn-src-all@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 2AE88B9538C; Sat, 10 Jun 2017 13:44:10 +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 550707881A; Sat, 10 Jun 2017 13:44:09 +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 v5ADi8FJ094605; Sat, 10 Jun 2017 13:44:08 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADi7VN094594; Sat, 10 Jun 2017 13:44:07 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706101344.v5ADi7VN094594@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 10 Jun 2017 13:44:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319780 - in vendor/llvm/dist: . bindings/go/llvm bindings/ocaml/llvm cmake/modules docs examples/ExceptionDemo include/llvm include/llvm-c include/llvm/ADT include/llvm/Analysis includ... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 13:44:10 -0000 Author: dim Date: Sat Jun 10 13:44:06 2017 New Revision: 319780 URL: https://svnweb.freebsd.org/changeset/base/319780 Log: Vendor import of llvm trunk r305145: https://llvm.org/svn/llvm-project/llvm/trunk@305145 Added: vendor/llvm/dist/include/llvm/BinaryFormat/ vendor/llvm/dist/include/llvm/BinaryFormat/COFF.h (contents, props changed) vendor/llvm/dist/include/llvm/BinaryFormat/Dwarf.def vendor/llvm/dist/include/llvm/BinaryFormat/Dwarf.h (contents, props changed) vendor/llvm/dist/include/llvm/BinaryFormat/ELF.h (contents, props changed) vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/ vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/AArch64.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/AMDGPU.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/ARM.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/AVR.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/BPF.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/Hexagon.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/Lanai.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/Mips.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/PowerPC.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/RISCV.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/Sparc.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/SystemZ.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/WebAssembly.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/i386.def vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/x86_64.def vendor/llvm/dist/include/llvm/BinaryFormat/MachO.def vendor/llvm/dist/include/llvm/BinaryFormat/MachO.h (contents, props changed) vendor/llvm/dist/include/llvm/BinaryFormat/Magic.h (contents, props changed) vendor/llvm/dist/include/llvm/BinaryFormat/Wasm.h (contents, props changed) vendor/llvm/dist/include/llvm/BinaryFormat/WasmRelocs/ vendor/llvm/dist/include/llvm/BinaryFormat/WasmRelocs/WebAssembly.def vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugCrossExSubsection.h (contents, props changed) vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugCrossImpSubsection.h (contents, props changed) vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h (contents, props changed) vendor/llvm/dist/include/llvm/Support/AMDGPUCodeObjectMetadata.h (contents, props changed) vendor/llvm/dist/include/llvm/Transforms/Utils/OrderedInstructions.h (contents, props changed) vendor/llvm/dist/lib/BinaryFormat/ vendor/llvm/dist/lib/BinaryFormat/CMakeLists.txt (contents, props changed) vendor/llvm/dist/lib/BinaryFormat/Dwarf.cpp (contents, props changed) vendor/llvm/dist/lib/BinaryFormat/LLVMBuild.txt (contents, props changed) vendor/llvm/dist/lib/BinaryFormat/Magic.cpp (contents, props changed) vendor/llvm/dist/lib/DebugInfo/CodeView/DebugCrossExSubsection.cpp (contents, props changed) vendor/llvm/dist/lib/DebugInfo/CodeView/DebugCrossImpSubsection.cpp (contents, props changed) vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSymbolRVASubsection.cpp (contents, props changed) vendor/llvm/dist/lib/Support/AMDGPUCodeObjectMetadata.cpp (contents, props changed) vendor/llvm/dist/lib/Target/AMDGPU/AMDGPURegAsmNames.inc.cpp (contents, props changed) vendor/llvm/dist/lib/Transforms/Utils/OrderedInstructions.cpp (contents, props changed) vendor/llvm/dist/test/Analysis/BranchProbabilityInfo/libfunc_call.ll vendor/llvm/dist/test/BugPoint/unsymbolized.ll vendor/llvm/dist/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll vendor/llvm/dist/test/CodeGen/AArch64/spill-undef.mir vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/legalize-icmp.mir vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.amdgcn.alignb.ll vendor/llvm/dist/test/CodeGen/AMDGPU/promote-alloca-array-aggregate.ll vendor/llvm/dist/test/CodeGen/AMDGPU/rename-independent-subregs-invalid-mac-operands.mir vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-instruction-select-combos.mir vendor/llvm/dist/test/CodeGen/ARM/clang-section.ll vendor/llvm/dist/test/CodeGen/Hexagon/common-gep-inbounds.ll vendor/llvm/dist/test/CodeGen/Hexagon/mux-undef.ll vendor/llvm/dist/test/CodeGen/MIR/X86/empty0.mir vendor/llvm/dist/test/CodeGen/MIR/X86/empty1.mir vendor/llvm/dist/test/CodeGen/MIR/X86/empty2.mir vendor/llvm/dist/test/CodeGen/MIR/X86/inline-asm.mir vendor/llvm/dist/test/CodeGen/MIR/X86/roundtrip.mir vendor/llvm/dist/test/CodeGen/Mips/cconv/vector.ll vendor/llvm/dist/test/CodeGen/Mips/pbqp-reserved-physreg.ll vendor/llvm/dist/test/CodeGen/PowerPC/BoolRetToIntTest-2.ll vendor/llvm/dist/test/CodeGen/PowerPC/testComparesinesc.ll vendor/llvm/dist/test/CodeGen/PowerPC/testComparesinesi.ll vendor/llvm/dist/test/CodeGen/PowerPC/testComparesinesll.ll vendor/llvm/dist/test/CodeGen/PowerPC/testComparesiness.ll vendor/llvm/dist/test/CodeGen/PowerPC/testComparesineuc.ll vendor/llvm/dist/test/CodeGen/PowerPC/testComparesineui.ll vendor/llvm/dist/test/CodeGen/PowerPC/testComparesineull.ll vendor/llvm/dist/test/CodeGen/PowerPC/testComparesineus.ll vendor/llvm/dist/test/CodeGen/PowerPC/testComparesllnesll.ll vendor/llvm/dist/test/CodeGen/PowerPC/testComparesllneull.ll vendor/llvm/dist/test/CodeGen/PowerPC/vec_int_ext.ll vendor/llvm/dist/test/CodeGen/X86/mul-constant-result.ll vendor/llvm/dist/test/CodeGen/X86/pr32659.ll vendor/llvm/dist/test/CodeGen/X86/selectiondag-dominator.ll vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-v48.ll vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-dwp.s (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-1.s (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-1.x86_64.o (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-2.s (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-2.x86_64.o (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-3.s (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-3.x86_64.o (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-4.s (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-4.x86_64.o (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-5.s (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-5.x86_64.o (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets.s (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets.x86_64.o (contents, props changed) vendor/llvm/dist/test/DebugInfo/PDB/Inputs/debug-subsections.yaml vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-debug-subsections.test vendor/llvm/dist/test/DebugInfo/dwarfdump-str-offsets-invalid.test vendor/llvm/dist/test/DebugInfo/dwarfdump-str-offsets.test vendor/llvm/dist/test/LTO/ARM/Inputs/ vendor/llvm/dist/test/LTO/ARM/Inputs/thumb.ll vendor/llvm/dist/test/LTO/ARM/link-arm-and-thumb.ll vendor/llvm/dist/test/LTO/Resolution/X86/linker-redef.ll vendor/llvm/dist/test/Linker/Inputs/thumb.ll vendor/llvm/dist/test/Linker/link-arm-and-thumb.ll vendor/llvm/dist/test/MC/ARM/arm-thumb-tail-call.ll vendor/llvm/dist/test/MC/ARM/t2-modified-immediate-fixup-error1.s (contents, props changed) vendor/llvm/dist/test/MC/ARM/t2-modified-immediate-fixup-error2.s (contents, props changed) vendor/llvm/dist/test/MC/ARM/t2-modified-immediate-fixup.s (contents, props changed) vendor/llvm/dist/test/MC/AsmParser/empty-comment.s (contents, props changed) vendor/llvm/dist/test/MC/ELF/ARM/clang-section.s (contents, props changed) vendor/llvm/dist/test/MC/MachO/alias.s (contents, props changed) vendor/llvm/dist/test/Object/objc-imageinfo-coff.ll vendor/llvm/dist/test/Object/objc-imageinfo-elf.ll vendor/llvm/dist/test/Object/objc-imageinfo-macho.ll vendor/llvm/dist/test/Transforms/CodeGenPrepare/X86/memcmp.ll vendor/llvm/dist/test/Transforms/IRCE/correct-loop-info.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/lftr_disabled.ll vendor/llvm/dist/test/Transforms/InferAddressSpaces/NVPTX/clone_constexpr.ll vendor/llvm/dist/test/Transforms/InstCombine/constant-fold-libfunc.ll vendor/llvm/dist/test/Transforms/InstSimplify/simplify-nested-bitcast.ll vendor/llvm/dist/test/Transforms/LoopIdiom/X86/unordered-atomic-memcpy.ll vendor/llvm/dist/test/Transforms/LoopIdiom/unordered-atomic-memcpy-noarch.ll vendor/llvm/dist/test/Transforms/LowerExpectIntrinsic/PR33346.ll vendor/llvm/dist/test/Transforms/LowerTypeTests/simplify.ll vendor/llvm/dist/test/Transforms/NewGVN/pr33187.ll vendor/llvm/dist/test/Transforms/SLPVectorizer/X86/reverse_extract_elements.ll vendor/llvm/dist/test/Transforms/Sink/badloadsink.ll vendor/llvm/dist/test/tools/llvm-cvtres/Inputs/test_resource.obj.coff (contents, props changed) vendor/llvm/dist/test/tools/llvm-cvtres/object.test vendor/llvm/dist/test/tools/llvm-cvtres/parse.test vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/ vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/brief.s (contents, props changed) vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/lit.local.cfg vendor/llvm/dist/test/tools/llvm-readobj/Inputs/trivial.obj.elf-amdhsa-gfx803 (contents, props changed) vendor/llvm/dist/test/tools/llvm-readobj/amdgpu-elf-definitions.test vendor/llvm/dist/tools/llvm-pdbutil/ vendor/llvm/dist/tools/llvm-pdbutil/Analyze.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/Analyze.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/CMakeLists.txt (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/CompactTypeDumpVisitor.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/CompactTypeDumpVisitor.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/Diff.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/Diff.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/LLVMBuild.txt (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/LLVMOutputStyle.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/LLVMOutputStyle.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/LinePrinter.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/LinePrinter.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/OutputStyle.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PdbYaml.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PdbYaml.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyBuiltinDumper.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyBuiltinDumper.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyClassDefinitionDumper.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyClassDefinitionDumper.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyClassLayoutGraphicalDumper.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyClassLayoutGraphicalDumper.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyCompilandDumper.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyCompilandDumper.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyEnumDumper.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyEnumDumper.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyExternalSymbolDumper.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyExternalSymbolDumper.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyFunctionDumper.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyFunctionDumper.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyTypeDumper.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyTypeDumper.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyTypedefDumper.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyTypedefDumper.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyVariableDumper.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/PrettyVariableDumper.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/StreamUtil.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/StreamUtil.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/YAMLOutputStyle.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/YAMLOutputStyle.h (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/fuzzer/ vendor/llvm/dist/tools/llvm-pdbutil/fuzzer/CMakeLists.txt (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/fuzzer/llvm-pdbutil-fuzzer.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/llvm-pdbutil.cpp (contents, props changed) vendor/llvm/dist/tools/llvm-pdbutil/llvm-pdbutil.h (contents, props changed) vendor/llvm/dist/unittests/Analysis/GlobalsModRefTest.cpp (contents, props changed) vendor/llvm/dist/unittests/BinaryFormat/ vendor/llvm/dist/unittests/BinaryFormat/CMakeLists.txt (contents, props changed) vendor/llvm/dist/unittests/BinaryFormat/DwarfTest.cpp (contents, props changed) vendor/llvm/dist/unittests/BinaryFormat/TestFileMagic.cpp (contents, props changed) vendor/llvm/dist/unittests/Transforms/Utils/OrderedInstructions.cpp (contents, props changed) Deleted: vendor/llvm/dist/include/llvm/CodeGen/MachineFunctionInitializer.h vendor/llvm/dist/include/llvm/Support/COFF.h vendor/llvm/dist/include/llvm/Support/Dwarf.def vendor/llvm/dist/include/llvm/Support/Dwarf.h vendor/llvm/dist/include/llvm/Support/ELF.h vendor/llvm/dist/include/llvm/Support/ELFRelocs/ vendor/llvm/dist/include/llvm/Support/MachO.def vendor/llvm/dist/include/llvm/Support/MachO.h vendor/llvm/dist/include/llvm/Support/Wasm.h vendor/llvm/dist/include/llvm/Support/WasmRelocs/ vendor/llvm/dist/lib/Support/Dwarf.cpp vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadata.h vendor/llvm/dist/test/CodeGen/MIR/Generic/function-missing-machine-function.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/irtranslator-call.ll vendor/llvm/dist/test/CodeGen/X86/GlobalISel/irtranslator-callingconv_64bit.ll vendor/llvm/dist/test/DebugInfo/PDB/Inputs/simple-line-info.yaml vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-yaml-lineinfo-write.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-yaml-lineinfo.test vendor/llvm/dist/test/tools/llvm-cvtres/resource.test vendor/llvm/dist/test/tools/llvm-readobj/Inputs/trivial.elf-amdhsa-kaveri vendor/llvm/dist/test/tools/llvm-readobj/amdgpu-elf-defs.test vendor/llvm/dist/tools/llvm-pdbdump/ vendor/llvm/dist/unittests/Support/DwarfTest.cpp vendor/llvm/dist/utils/TableGen/X86FoldTablesEmitter.cpp Modified: vendor/llvm/dist/CMakeLists.txt vendor/llvm/dist/bindings/go/llvm/ir.go vendor/llvm/dist/bindings/go/llvm/ir_test.go vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli vendor/llvm/dist/bindings/ocaml/llvm/llvm_ocaml.c vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake vendor/llvm/dist/cmake/modules/TableGen.cmake vendor/llvm/dist/docs/AMDGPUUsage.rst vendor/llvm/dist/docs/CodeGenerator.rst vendor/llvm/dist/docs/CompilerWriterInfo.rst vendor/llvm/dist/docs/LangRef.rst vendor/llvm/dist/docs/ReleaseNotes.rst vendor/llvm/dist/docs/index.rst vendor/llvm/dist/examples/ExceptionDemo/ExceptionDemo.cpp vendor/llvm/dist/include/llvm-c/Core.h vendor/llvm/dist/include/llvm-c/ExecutionEngine.h vendor/llvm/dist/include/llvm-c/Support.h vendor/llvm/dist/include/llvm-c/TargetMachine.h vendor/llvm/dist/include/llvm/ADT/APInt.h vendor/llvm/dist/include/llvm/ADT/GraphTraits.h vendor/llvm/dist/include/llvm/ADT/ImmutableSet.h vendor/llvm/dist/include/llvm/ADT/PointerUnion.h vendor/llvm/dist/include/llvm/ADT/PostOrderIterator.h vendor/llvm/dist/include/llvm/ADT/PriorityWorklist.h vendor/llvm/dist/include/llvm/ADT/SCCIterator.h vendor/llvm/dist/include/llvm/ADT/SmallPtrSet.h vendor/llvm/dist/include/llvm/ADT/SmallVector.h vendor/llvm/dist/include/llvm/ADT/SparseMultiSet.h vendor/llvm/dist/include/llvm/ADT/StringExtras.h vendor/llvm/dist/include/llvm/ADT/StringRef.h vendor/llvm/dist/include/llvm/ADT/iterator_range.h vendor/llvm/dist/include/llvm/Analysis/AliasAnalysis.h vendor/llvm/dist/include/llvm/Analysis/AssumptionCache.h vendor/llvm/dist/include/llvm/Analysis/BranchProbabilityInfo.h vendor/llvm/dist/include/llvm/Analysis/ConstantFolding.h vendor/llvm/dist/include/llvm/Analysis/DemandedBits.h vendor/llvm/dist/include/llvm/Analysis/InlineCost.h vendor/llvm/dist/include/llvm/Analysis/InstructionSimplify.h vendor/llvm/dist/include/llvm/Analysis/LazyBranchProbabilityInfo.h vendor/llvm/dist/include/llvm/Analysis/LazyValueInfo.h vendor/llvm/dist/include/llvm/Analysis/LoopInfoImpl.h vendor/llvm/dist/include/llvm/Analysis/MemoryDependenceAnalysis.h vendor/llvm/dist/include/llvm/Analysis/MemorySSAUpdater.h vendor/llvm/dist/include/llvm/Analysis/ObjCARCAnalysisUtils.h vendor/llvm/dist/include/llvm/Analysis/ObjCARCInstKind.h vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionNormalization.h vendor/llvm/dist/include/llvm/Analysis/TargetLibraryInfo.h vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfo.h vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfoImpl.h vendor/llvm/dist/include/llvm/Bitcode/BitcodeReader.h vendor/llvm/dist/include/llvm/Bitcode/LLVMBitCodes.h vendor/llvm/dist/include/llvm/CodeGen/BasicTTIImpl.h vendor/llvm/dist/include/llvm/CodeGen/DFAPacketizer.h vendor/llvm/dist/include/llvm/CodeGen/DIE.h vendor/llvm/dist/include/llvm/CodeGen/ExecutionDepsFix.h vendor/llvm/dist/include/llvm/CodeGen/FastISel.h vendor/llvm/dist/include/llvm/CodeGen/FunctionLoweringInfo.h vendor/llvm/dist/include/llvm/CodeGen/GCMetadata.h vendor/llvm/dist/include/llvm/CodeGen/GCMetadataPrinter.h vendor/llvm/dist/include/llvm/CodeGen/GCStrategy.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/InstructionSelector.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h vendor/llvm/dist/include/llvm/CodeGen/LexicalScopes.h vendor/llvm/dist/include/llvm/CodeGen/LiveInterval.h vendor/llvm/dist/include/llvm/CodeGen/LiveRegUnits.h vendor/llvm/dist/include/llvm/CodeGen/MIRParser/MIRParser.h vendor/llvm/dist/include/llvm/CodeGen/MIRYamlMapping.h vendor/llvm/dist/include/llvm/CodeGen/MachineBasicBlock.h vendor/llvm/dist/include/llvm/CodeGen/MachineFunction.h vendor/llvm/dist/include/llvm/CodeGen/MachineFunctionPass.h vendor/llvm/dist/include/llvm/CodeGen/MachineMemOperand.h vendor/llvm/dist/include/llvm/CodeGen/MachineModuleInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineModuleInfoImpls.h vendor/llvm/dist/include/llvm/CodeGen/MachineOperand.h vendor/llvm/dist/include/llvm/CodeGen/MachineRegisterInfo.h vendor/llvm/dist/include/llvm/CodeGen/RegAllocRegistry.h vendor/llvm/dist/include/llvm/CodeGen/RegisterPressure.h vendor/llvm/dist/include/llvm/CodeGen/RegisterUsageInfo.h vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAG.h vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAGInstrs.h vendor/llvm/dist/include/llvm/CodeGen/ScheduleDFS.h vendor/llvm/dist/include/llvm/CodeGen/SchedulerRegistry.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAG.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGNodes.h vendor/llvm/dist/include/llvm/CodeGen/SlotIndexes.h vendor/llvm/dist/include/llvm/CodeGen/StackProtector.h vendor/llvm/dist/include/llvm/CodeGen/TailDuplicator.h vendor/llvm/dist/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h vendor/llvm/dist/include/llvm/CodeGen/TargetPassConfig.h vendor/llvm/dist/include/llvm/CodeGen/TargetSchedule.h vendor/llvm/dist/include/llvm/CodeGen/VirtRegMap.h vendor/llvm/dist/include/llvm/Config/abi-breaking.h.cmake vendor/llvm/dist/include/llvm/Config/config.h.cmake vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CVRecord.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CodeView.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/EnumTables.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeSerializer.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeTableBuilder.h vendor/llvm/dist/include/llvm/DebugInfo/DIContext.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFAttribute.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFContext.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDie.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFFormValue.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFUnit.h vendor/llvm/dist/include/llvm/DebugInfo/MSF/MappedBlockStream.h vendor/llvm/dist/include/llvm/DebugInfo/PDB/DIA/DIAEnumDebugStreams.h vendor/llvm/dist/include/llvm/DebugInfo/PDB/DIA/DIAEnumLineNumbers.h vendor/llvm/dist/include/llvm/DebugInfo/PDB/DIA/DIAEnumSourceFiles.h vendor/llvm/dist/include/llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/DbiStream.h vendor/llvm/dist/include/llvm/DebugInfo/PDB/PDBSymbol.h vendor/llvm/dist/include/llvm/ExecutionEngine/ExecutionEngine.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/RTDyldMemoryManager.h vendor/llvm/dist/include/llvm/IR/Attributes.h vendor/llvm/dist/include/llvm/IR/BasicBlock.h vendor/llvm/dist/include/llvm/IR/CallSite.h vendor/llvm/dist/include/llvm/IR/Constants.h vendor/llvm/dist/include/llvm/IR/DataLayout.h vendor/llvm/dist/include/llvm/IR/DebugInfoMetadata.h vendor/llvm/dist/include/llvm/IR/DiagnosticInfo.h vendor/llvm/dist/include/llvm/IR/Dominators.h vendor/llvm/dist/include/llvm/IR/Function.h vendor/llvm/dist/include/llvm/IR/GetElementPtrTypeIterator.h vendor/llvm/dist/include/llvm/IR/GlobalValue.h vendor/llvm/dist/include/llvm/IR/GlobalVariable.h vendor/llvm/dist/include/llvm/IR/IRBuilder.h vendor/llvm/dist/include/llvm/IR/InstrTypes.h vendor/llvm/dist/include/llvm/IR/Instruction.h vendor/llvm/dist/include/llvm/IR/Instructions.h vendor/llvm/dist/include/llvm/IR/IntrinsicsAMDGPU.td vendor/llvm/dist/include/llvm/IR/Metadata.h vendor/llvm/dist/include/llvm/IR/Module.h vendor/llvm/dist/include/llvm/IR/ModuleSummaryIndex.h vendor/llvm/dist/include/llvm/IR/OperandTraits.h vendor/llvm/dist/include/llvm/IR/PatternMatch.h vendor/llvm/dist/include/llvm/IR/Statepoint.h vendor/llvm/dist/include/llvm/IR/Type.h vendor/llvm/dist/include/llvm/IR/Use.h vendor/llvm/dist/include/llvm/IR/Value.h vendor/llvm/dist/include/llvm/LTO/LTO.h vendor/llvm/dist/include/llvm/LinkAllIR.h vendor/llvm/dist/include/llvm/LinkAllPasses.h vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h vendor/llvm/dist/include/llvm/MC/MCAssembler.h vendor/llvm/dist/include/llvm/MC/MCCodeView.h vendor/llvm/dist/include/llvm/MC/MCContext.h vendor/llvm/dist/include/llvm/MC/MCELFObjectWriter.h vendor/llvm/dist/include/llvm/MC/MCFragment.h vendor/llvm/dist/include/llvm/MC/MCMachObjectWriter.h vendor/llvm/dist/include/llvm/MC/MCObjectFileInfo.h vendor/llvm/dist/include/llvm/MC/MCParser/MCAsmParser.h vendor/llvm/dist/include/llvm/MC/MCSection.h vendor/llvm/dist/include/llvm/MC/MCSectionMachO.h vendor/llvm/dist/include/llvm/MC/MCSymbolWasm.h vendor/llvm/dist/include/llvm/MC/MCTargetOptions.h vendor/llvm/dist/include/llvm/MC/MCWasmObjectWriter.h vendor/llvm/dist/include/llvm/Object/Archive.h vendor/llvm/dist/include/llvm/Object/COFF.h vendor/llvm/dist/include/llvm/Object/COFFModuleDefinition.h vendor/llvm/dist/include/llvm/Object/Decompressor.h vendor/llvm/dist/include/llvm/Object/ELF.h vendor/llvm/dist/include/llvm/Object/ELFObjectFile.h vendor/llvm/dist/include/llvm/Object/ELFTypes.h vendor/llvm/dist/include/llvm/Object/IRObjectFile.h vendor/llvm/dist/include/llvm/Object/IRSymtab.h vendor/llvm/dist/include/llvm/Object/MachO.h vendor/llvm/dist/include/llvm/Object/MachOUniversal.h vendor/llvm/dist/include/llvm/Object/ObjectFile.h vendor/llvm/dist/include/llvm/Object/RelocVisitor.h vendor/llvm/dist/include/llvm/Object/SymbolicFile.h vendor/llvm/dist/include/llvm/Object/Wasm.h vendor/llvm/dist/include/llvm/Object/WindowsResource.h vendor/llvm/dist/include/llvm/ObjectYAML/COFFYAML.h vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLTypes.h vendor/llvm/dist/include/llvm/ObjectYAML/DWARFYAML.h vendor/llvm/dist/include/llvm/ObjectYAML/ELFYAML.h vendor/llvm/dist/include/llvm/ObjectYAML/MachOYAML.h vendor/llvm/dist/include/llvm/ObjectYAML/WasmYAML.h vendor/llvm/dist/include/llvm/Option/ArgList.h vendor/llvm/dist/include/llvm/Pass.h vendor/llvm/dist/include/llvm/ProfileData/Coverage/CoverageMapping.h vendor/llvm/dist/include/llvm/Support/BinaryStreamArray.h vendor/llvm/dist/include/llvm/Support/BinaryStreamReader.h vendor/llvm/dist/include/llvm/Support/CBindingWrapping.h vendor/llvm/dist/include/llvm/Support/Casting.h vendor/llvm/dist/include/llvm/Support/CommandLine.h vendor/llvm/dist/include/llvm/Support/ConvertUTF.h vendor/llvm/dist/include/llvm/Support/DataTypes.h.cmake vendor/llvm/dist/include/llvm/Support/Endian.h vendor/llvm/dist/include/llvm/Support/Error.h vendor/llvm/dist/include/llvm/Support/ErrorOr.h vendor/llvm/dist/include/llvm/Support/FileSystem.h vendor/llvm/dist/include/llvm/Support/FormatVariadic.h vendor/llvm/dist/include/llvm/Support/GCOV.h vendor/llvm/dist/include/llvm/Support/GenericDomTree.h vendor/llvm/dist/include/llvm/Support/LowLevelTypeImpl.h vendor/llvm/dist/include/llvm/Support/MathExtras.h vendor/llvm/dist/include/llvm/Support/MemoryBuffer.h vendor/llvm/dist/include/llvm/Support/Solaris.h vendor/llvm/dist/include/llvm/Support/SourceMgr.h vendor/llvm/dist/include/llvm/Support/StringPool.h vendor/llvm/dist/include/llvm/Support/TargetRegistry.h vendor/llvm/dist/include/llvm/Support/raw_sha1_ostream.h vendor/llvm/dist/include/llvm/Support/type_traits.h vendor/llvm/dist/include/llvm/Target/TargetInstrInfo.h vendor/llvm/dist/include/llvm/Target/TargetLowering.h vendor/llvm/dist/include/llvm/Target/TargetMachine.h vendor/llvm/dist/include/llvm/Target/TargetOptions.h vendor/llvm/dist/include/llvm/Target/TargetSubtargetInfo.h vendor/llvm/dist/include/llvm/Transforms/IPO/FunctionAttrs.h vendor/llvm/dist/include/llvm/Transforms/Scalar/GVNExpression.h vendor/llvm/dist/include/llvm/Transforms/Utils/EscapeEnumerator.h vendor/llvm/dist/include/llvm/Transforms/Utils/FunctionComparator.h vendor/llvm/dist/include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h vendor/llvm/dist/include/llvm/Transforms/Utils/Local.h vendor/llvm/dist/include/llvm/Transforms/Utils/LoopVersioning.h vendor/llvm/dist/include/llvm/Transforms/Utils/ValueMapper.h vendor/llvm/dist/include/llvm/Transforms/Vectorize/SLPVectorizer.h vendor/llvm/dist/include/llvm/module.modulemap vendor/llvm/dist/lib/Analysis/AliasAnalysisEvaluator.cpp vendor/llvm/dist/lib/Analysis/AliasSetTracker.cpp vendor/llvm/dist/lib/Analysis/BranchProbabilityInfo.cpp vendor/llvm/dist/lib/Analysis/CFLGraph.h vendor/llvm/dist/lib/Analysis/CallPrinter.cpp vendor/llvm/dist/lib/Analysis/CaptureTracking.cpp vendor/llvm/dist/lib/Analysis/CodeMetrics.cpp vendor/llvm/dist/lib/Analysis/ConstantFolding.cpp vendor/llvm/dist/lib/Analysis/GlobalsModRef.cpp vendor/llvm/dist/lib/Analysis/InlineCost.cpp vendor/llvm/dist/lib/Analysis/InstCount.cpp vendor/llvm/dist/lib/Analysis/InstructionSimplify.cpp vendor/llvm/dist/lib/Analysis/LLVMBuild.txt vendor/llvm/dist/lib/Analysis/LazyBranchProbabilityInfo.cpp vendor/llvm/dist/lib/Analysis/LazyCallGraph.cpp vendor/llvm/dist/lib/Analysis/LazyValueInfo.cpp vendor/llvm/dist/lib/Analysis/Lint.cpp vendor/llvm/dist/lib/Analysis/MemDepPrinter.cpp vendor/llvm/dist/lib/Analysis/MemDerefPrinter.cpp vendor/llvm/dist/lib/Analysis/MemoryDependenceAnalysis.cpp vendor/llvm/dist/lib/Analysis/MemorySSAUpdater.cpp vendor/llvm/dist/lib/Analysis/ModuleDebugInfoPrinter.cpp vendor/llvm/dist/lib/Analysis/ModuleSummaryAnalysis.cpp vendor/llvm/dist/lib/Analysis/ObjCARCInstKind.cpp vendor/llvm/dist/lib/Analysis/RegionPrinter.cpp vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp vendor/llvm/dist/lib/Analysis/ScalarEvolutionNormalization.cpp vendor/llvm/dist/lib/Analysis/TargetTransformInfo.cpp vendor/llvm/dist/lib/Analysis/ValueTracking.cpp vendor/llvm/dist/lib/Analysis/VectorUtils.cpp vendor/llvm/dist/lib/AsmParser/LLParser.cpp vendor/llvm/dist/lib/AsmParser/LLVMBuild.txt vendor/llvm/dist/lib/Bitcode/Reader/BitcodeReader.cpp vendor/llvm/dist/lib/Bitcode/Reader/MetadataLoader.cpp vendor/llvm/dist/lib/Bitcode/Writer/BitcodeWriter.cpp vendor/llvm/dist/lib/CMakeLists.txt vendor/llvm/dist/lib/CodeGen/Analysis.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/ARMException.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/CodeViewDebug.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIEHash.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DebugLocStream.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfAccelTable.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfExpression.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfUnit.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/LLVMBuild.txt vendor/llvm/dist/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/WinException.cpp vendor/llvm/dist/lib/CodeGen/BasicTargetTransformInfo.cpp vendor/llvm/dist/lib/CodeGen/BranchFolding.cpp vendor/llvm/dist/lib/CodeGen/BranchRelaxation.cpp vendor/llvm/dist/lib/CodeGen/BuiltinGCs.cpp vendor/llvm/dist/lib/CodeGen/CalcSpillWeights.cpp vendor/llvm/dist/lib/CodeGen/CodeGen.cpp vendor/llvm/dist/lib/CodeGen/CodeGenPrepare.cpp vendor/llvm/dist/lib/CodeGen/DFAPacketizer.cpp vendor/llvm/dist/lib/CodeGen/DeadMachineInstructionElim.cpp vendor/llvm/dist/lib/CodeGen/DwarfEHPrepare.cpp vendor/llvm/dist/lib/CodeGen/ExpandISelPseudos.cpp vendor/llvm/dist/lib/CodeGen/ExpandPostRAPseudos.cpp vendor/llvm/dist/lib/CodeGen/ExpandReductions.cpp vendor/llvm/dist/lib/CodeGen/FaultMaps.cpp vendor/llvm/dist/lib/CodeGen/FuncletLayout.cpp vendor/llvm/dist/lib/CodeGen/GCMetadata.cpp vendor/llvm/dist/lib/CodeGen/GCMetadataPrinter.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/IRTranslator.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/Legalizer.cpp vendor/llvm/dist/lib/CodeGen/GlobalMerge.cpp vendor/llvm/dist/lib/CodeGen/IfConversion.cpp vendor/llvm/dist/lib/CodeGen/ImplicitNullChecks.cpp vendor/llvm/dist/lib/CodeGen/InlineSpiller.cpp vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp vendor/llvm/dist/lib/CodeGen/LexicalScopes.cpp vendor/llvm/dist/lib/CodeGen/LiveIntervalAnalysis.cpp vendor/llvm/dist/lib/CodeGen/LiveIntervalUnion.cpp vendor/llvm/dist/lib/CodeGen/LiveRegMatrix.cpp vendor/llvm/dist/lib/CodeGen/LocalStackSlotAllocation.cpp vendor/llvm/dist/lib/CodeGen/MIRParser/MILexer.h vendor/llvm/dist/lib/CodeGen/MIRParser/MIParser.cpp vendor/llvm/dist/lib/CodeGen/MIRParser/MIParser.h vendor/llvm/dist/lib/CodeGen/MIRParser/MIRParser.cpp vendor/llvm/dist/lib/CodeGen/MIRPrinter.cpp vendor/llvm/dist/lib/CodeGen/MIRPrintingPass.cpp vendor/llvm/dist/lib/CodeGen/MachineBlockPlacement.cpp vendor/llvm/dist/lib/CodeGen/MachineCSE.cpp vendor/llvm/dist/lib/CodeGen/MachineCopyPropagation.cpp vendor/llvm/dist/lib/CodeGen/MachineDominanceFrontier.cpp vendor/llvm/dist/lib/CodeGen/MachineDominators.cpp vendor/llvm/dist/lib/CodeGen/MachineFunction.cpp vendor/llvm/dist/lib/CodeGen/MachineFunctionPass.cpp vendor/llvm/dist/lib/CodeGen/MachineFunctionPrinterPass.cpp vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp vendor/llvm/dist/lib/CodeGen/MachineLICM.cpp vendor/llvm/dist/lib/CodeGen/MachineModuleInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineOutliner.cpp vendor/llvm/dist/lib/CodeGen/MachinePipeliner.cpp vendor/llvm/dist/lib/CodeGen/MachineRegionInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineRegisterInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineScheduler.cpp vendor/llvm/dist/lib/CodeGen/MachineSink.cpp vendor/llvm/dist/lib/CodeGen/MachineTraceMetrics.cpp vendor/llvm/dist/lib/CodeGen/MachineVerifier.cpp vendor/llvm/dist/lib/CodeGen/OptimizePHIs.cpp vendor/llvm/dist/lib/CodeGen/PatchableFunction.cpp vendor/llvm/dist/lib/CodeGen/PeepholeOptimizer.cpp vendor/llvm/dist/lib/CodeGen/PostRAHazardRecognizer.cpp vendor/llvm/dist/lib/CodeGen/RegAllocBase.cpp vendor/llvm/dist/lib/CodeGen/RegAllocBasic.cpp vendor/llvm/dist/lib/CodeGen/RegAllocGreedy.cpp vendor/llvm/dist/lib/CodeGen/RegAllocPBQP.cpp vendor/llvm/dist/lib/CodeGen/RegisterClassInfo.cpp vendor/llvm/dist/lib/CodeGen/RegisterPressure.cpp vendor/llvm/dist/lib/CodeGen/RegisterUsageInfo.cpp vendor/llvm/dist/lib/CodeGen/RenameIndependentSubregs.cpp vendor/llvm/dist/lib/CodeGen/ResetMachineFunctionPass.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAG.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGInstrs.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGPrinter.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/FastISel.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/StatepointLowering.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/TargetLowering.cpp vendor/llvm/dist/lib/CodeGen/ShadowStackGCLowering.cpp vendor/llvm/dist/lib/CodeGen/SjLjEHPrepare.cpp vendor/llvm/dist/lib/CodeGen/StackMaps.cpp vendor/llvm/dist/lib/CodeGen/StackProtector.cpp vendor/llvm/dist/lib/CodeGen/StackSlotColoring.cpp vendor/llvm/dist/lib/CodeGen/TailDuplication.cpp vendor/llvm/dist/lib/CodeGen/TailDuplicator.cpp vendor/llvm/dist/lib/CodeGen/TargetFrameLoweringImpl.cpp vendor/llvm/dist/lib/CodeGen/TargetLoweringBase.cpp vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp vendor/llvm/dist/lib/CodeGen/TargetOptionsImpl.cpp vendor/llvm/dist/lib/CodeGen/TargetPassConfig.cpp vendor/llvm/dist/lib/CodeGen/TargetRegisterInfo.cpp vendor/llvm/dist/lib/CodeGen/TargetSchedule.cpp vendor/llvm/dist/lib/CodeGen/TargetSubtargetInfo.cpp vendor/llvm/dist/lib/CodeGen/VirtRegMap.cpp vendor/llvm/dist/lib/CodeGen/WinEHPrepare.cpp vendor/llvm/dist/lib/CodeGen/XRayInstrumentation.cpp (contents, props changed) vendor/llvm/dist/lib/DebugInfo/CodeView/CMakeLists.txt vendor/llvm/dist/lib/DebugInfo/CodeView/DebugChecksumsSubsection.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/DebugLinesSubsection.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/TypeTableCollection.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFContext.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugLine.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDie.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFFormValue.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFUnit.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/LLVMBuild.txt vendor/llvm/dist/lib/DebugInfo/PDB/DIA/DIAEnumDebugStreams.cpp vendor/llvm/dist/lib/DebugInfo/PDB/DIA/DIAEnumLineNumbers.cpp vendor/llvm/dist/lib/DebugInfo/PDB/DIA/DIAEnumSourceFiles.cpp vendor/llvm/dist/lib/DebugInfo/PDB/DIA/DIAEnumSymbols.cpp vendor/llvm/dist/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/DbiStream.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/PublicsStream.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBContext.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolBlock.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolCustom.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolFunc.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp vendor/llvm/dist/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp vendor/llvm/dist/lib/DebugInfo/Symbolize/Symbolize.cpp vendor/llvm/dist/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp vendor/llvm/dist/lib/ExecutionEngine/IntelJITEvents/jitprofiling.c vendor/llvm/dist/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp vendor/llvm/dist/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/IndirectionUtils.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFI386.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFThumb.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.cpp vendor/llvm/dist/lib/ExecutionEngine/SectionMemoryManager.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerDriver.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerExtFunctionsDlsymWin.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerLoop.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerMerge.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerMutate.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerShmemPosix.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerShmemWindows.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerTracePC.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerTraceState.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerUtilWindows.cpp vendor/llvm/dist/lib/Fuzzer/afl/afl_driver.cpp vendor/llvm/dist/lib/Fuzzer/test/AFLDriverTest.cpp vendor/llvm/dist/lib/Fuzzer/test/AbsNegAndConstant64Test.cpp vendor/llvm/dist/lib/Fuzzer/test/AbsNegAndConstantTest.cpp vendor/llvm/dist/lib/Fuzzer/test/AccumulateAllocationsTest.cpp vendor/llvm/dist/lib/Fuzzer/test/BadStrcmpTest.cpp vendor/llvm/dist/lib/Fuzzer/test/BufferOverflowOnInput.cpp vendor/llvm/dist/lib/Fuzzer/test/CallerCalleeTest.cpp vendor/llvm/dist/lib/Fuzzer/test/CleanseTest.cpp vendor/llvm/dist/lib/Fuzzer/test/CustomMutatorTest.cpp vendor/llvm/dist/lib/Fuzzer/test/CxxStringEqTest.cpp vendor/llvm/dist/lib/Fuzzer/test/DSOTestMain.cpp vendor/llvm/dist/lib/Fuzzer/test/DivTest.cpp vendor/llvm/dist/lib/Fuzzer/test/FourIndependentBranchesTest.cpp vendor/llvm/dist/lib/Fuzzer/test/FullCoverageSetTest.cpp vendor/llvm/dist/lib/Fuzzer/test/FuzzerUnittest.cpp vendor/llvm/dist/lib/Fuzzer/test/LeakTest.cpp vendor/llvm/dist/lib/Fuzzer/test/LeakTimeoutTest.cpp vendor/llvm/dist/lib/Fuzzer/test/LoadTest.cpp vendor/llvm/dist/lib/Fuzzer/test/Memcmp64BytesTest.cpp vendor/llvm/dist/lib/Fuzzer/test/MemcmpTest.cpp vendor/llvm/dist/lib/Fuzzer/test/NotinstrumentedTest.cpp vendor/llvm/dist/lib/Fuzzer/test/NthRunCrashTest.cpp vendor/llvm/dist/lib/Fuzzer/test/NullDerefOnEmptyTest.cpp vendor/llvm/dist/lib/Fuzzer/test/NullDerefTest.cpp vendor/llvm/dist/lib/Fuzzer/test/OneHugeAllocTest.cpp vendor/llvm/dist/lib/Fuzzer/test/OutOfMemorySingleLargeMallocTest.cpp vendor/llvm/dist/lib/Fuzzer/test/OutOfMemoryTest.cpp vendor/llvm/dist/lib/Fuzzer/test/RepeatedBytesTest.cpp vendor/llvm/dist/lib/Fuzzer/test/RepeatedMemcmp.cpp vendor/llvm/dist/lib/Fuzzer/test/ShrinkControlFlowTest.cpp vendor/llvm/dist/lib/Fuzzer/test/ShrinkValueProfileTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SignedIntOverflowTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SimpleCmpTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SimpleDictionaryTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SimpleHashTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SimpleTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SimpleThreadedTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SingleByteInputTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SingleMemcmpTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SingleStrcmpTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SingleStrncmpTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SpamyTest.cpp vendor/llvm/dist/lib/Fuzzer/test/StrcmpTest.cpp vendor/llvm/dist/lib/Fuzzer/test/StrncmpOOBTest.cpp vendor/llvm/dist/lib/Fuzzer/test/StrncmpTest.cpp vendor/llvm/dist/lib/Fuzzer/test/StrstrTest.cpp vendor/llvm/dist/lib/Fuzzer/test/SwapCmpTest.cpp vendor/llvm/dist/lib/Fuzzer/test/Switch2Test.cpp vendor/llvm/dist/lib/Fuzzer/test/SwitchTest.cpp vendor/llvm/dist/lib/Fuzzer/test/TableLookupTest.cpp vendor/llvm/dist/lib/Fuzzer/test/ThreadedLeakTest.cpp vendor/llvm/dist/lib/Fuzzer/test/ThreadedTest.cpp vendor/llvm/dist/lib/Fuzzer/test/TimeoutEmptyTest.cpp vendor/llvm/dist/lib/Fuzzer/test/TimeoutTest.cpp vendor/llvm/dist/lib/Fuzzer/test/TraceMallocTest.cpp vendor/llvm/dist/lib/Fuzzer/test/TwoDifferentBugsTest.cpp vendor/llvm/dist/lib/IR/AsmWriter.cpp vendor/llvm/dist/lib/IR/Attributes.cpp vendor/llvm/dist/lib/IR/Comdat.cpp vendor/llvm/dist/lib/IR/ConstantRange.cpp vendor/llvm/dist/lib/IR/Constants.cpp vendor/llvm/dist/lib/IR/Core.cpp vendor/llvm/dist/lib/IR/DIBuilder.cpp vendor/llvm/dist/lib/IR/DataLayout.cpp vendor/llvm/dist/lib/IR/DebugInfo.cpp vendor/llvm/dist/lib/IR/DebugLoc.cpp vendor/llvm/dist/lib/IR/DiagnosticInfo.cpp vendor/llvm/dist/lib/IR/DiagnosticPrinter.cpp vendor/llvm/dist/lib/IR/Dominators.cpp vendor/llvm/dist/lib/IR/Function.cpp vendor/llvm/dist/lib/IR/Globals.cpp vendor/llvm/dist/lib/IR/IRBuilder.cpp vendor/llvm/dist/lib/IR/InlineAsm.cpp vendor/llvm/dist/lib/IR/Instruction.cpp vendor/llvm/dist/lib/IR/Instructions.cpp vendor/llvm/dist/lib/IR/IntrinsicInst.cpp vendor/llvm/dist/lib/IR/LLVMBuild.txt vendor/llvm/dist/lib/IR/LLVMContext.cpp vendor/llvm/dist/lib/IR/LLVMContextImpl.h vendor/llvm/dist/lib/IR/LegacyPassManager.cpp vendor/llvm/dist/lib/IR/Metadata.cpp vendor/llvm/dist/lib/IR/Module.cpp vendor/llvm/dist/lib/IR/OptBisect.cpp vendor/llvm/dist/lib/IR/Type.cpp vendor/llvm/dist/lib/IR/TypeFinder.cpp vendor/llvm/dist/lib/IR/ValueSymbolTable.cpp vendor/llvm/dist/lib/IR/Verifier.cpp vendor/llvm/dist/lib/LLVMBuild.txt vendor/llvm/dist/lib/LTO/LTO.cpp vendor/llvm/dist/lib/LTO/ThinLTOCodeGenerator.cpp vendor/llvm/dist/lib/MC/ELFObjectWriter.cpp vendor/llvm/dist/lib/MC/MCAsmBackend.cpp vendor/llvm/dist/lib/MC/MCAsmInfo.cpp vendor/llvm/dist/lib/MC/MCAsmInfoDarwin.cpp vendor/llvm/dist/lib/MC/MCAsmInfoELF.cpp vendor/llvm/dist/lib/MC/MCAssembler.cpp vendor/llvm/dist/lib/MC/MCCodeView.cpp vendor/llvm/dist/lib/MC/MCContext.cpp vendor/llvm/dist/lib/MC/MCDisassembler/Disassembler.cpp vendor/llvm/dist/lib/MC/MCDisassembler/MCRelocationInfo.cpp vendor/llvm/dist/lib/MC/MCDwarf.cpp vendor/llvm/dist/lib/MC/MCELFStreamer.cpp vendor/llvm/dist/lib/MC/MCExpr.cpp vendor/llvm/dist/lib/MC/MCFragment.cpp vendor/llvm/dist/lib/MC/MCInstPrinter.cpp vendor/llvm/dist/lib/MC/MCInstrAnalysis.cpp vendor/llvm/dist/lib/MC/MCMachOStreamer.cpp vendor/llvm/dist/lib/MC/MCNullStreamer.cpp vendor/llvm/dist/lib/MC/MCObjectFileInfo.cpp vendor/llvm/dist/lib/MC/MCObjectWriter.cpp vendor/llvm/dist/lib/MC/MCParser/AsmLexer.cpp vendor/llvm/dist/lib/MC/MCParser/AsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/COFFAsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/DarwinAsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/ELFAsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/MCAsmLexer.cpp vendor/llvm/dist/lib/MC/MCParser/MCAsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/MCTargetAsmParser.cpp vendor/llvm/dist/lib/MC/MCRegisterInfo.cpp vendor/llvm/dist/lib/MC/MCSection.cpp vendor/llvm/dist/lib/MC/MCSectionCOFF.cpp vendor/llvm/dist/lib/MC/MCSectionELF.cpp vendor/llvm/dist/lib/MC/MCStreamer.cpp vendor/llvm/dist/lib/MC/MCSubtargetInfo.cpp vendor/llvm/dist/lib/MC/MCSymbol.cpp vendor/llvm/dist/lib/MC/MCSymbolELF.cpp vendor/llvm/dist/lib/MC/MCTargetOptions.cpp vendor/llvm/dist/lib/MC/MCWasmObjectTargetWriter.cpp vendor/llvm/dist/lib/MC/MCWinEH.cpp vendor/llvm/dist/lib/MC/MachObjectWriter.cpp vendor/llvm/dist/lib/MC/StringTableBuilder.cpp vendor/llvm/dist/lib/MC/SubtargetFeature.cpp vendor/llvm/dist/lib/MC/WasmObjectWriter.cpp vendor/llvm/dist/lib/MC/WinCOFFObjectWriter.cpp vendor/llvm/dist/lib/MC/WinCOFFStreamer.cpp vendor/llvm/dist/lib/Object/Archive.cpp vendor/llvm/dist/lib/Object/ArchiveWriter.cpp vendor/llvm/dist/lib/Object/Binary.cpp vendor/llvm/dist/lib/Object/COFFImportFile.cpp vendor/llvm/dist/lib/Object/COFFObjectFile.cpp vendor/llvm/dist/lib/Object/Decompressor.cpp vendor/llvm/dist/lib/Object/ELF.cpp vendor/llvm/dist/lib/Object/ELFObjectFile.cpp vendor/llvm/dist/lib/Object/IRObjectFile.cpp vendor/llvm/dist/lib/Object/IRSymtab.cpp vendor/llvm/dist/lib/Object/LLVMBuild.txt vendor/llvm/dist/lib/Object/MachOObjectFile.cpp vendor/llvm/dist/lib/Object/ModuleSymbolTable.cpp vendor/llvm/dist/lib/Object/Object.cpp vendor/llvm/dist/lib/Object/ObjectFile.cpp vendor/llvm/dist/lib/Object/SymbolicFile.cpp vendor/llvm/dist/lib/Object/WasmObjectFile.cpp vendor/llvm/dist/lib/Object/WindowsResource.cpp vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLSymbols.cpp vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLTypes.cpp vendor/llvm/dist/lib/ObjectYAML/DWARFEmitter.cpp vendor/llvm/dist/lib/ObjectYAML/DWARFVisitor.h vendor/llvm/dist/lib/ObjectYAML/ELFYAML.cpp vendor/llvm/dist/lib/ObjectYAML/MachOYAML.cpp vendor/llvm/dist/lib/ObjectYAML/ObjectYAML.cpp vendor/llvm/dist/lib/ObjectYAML/WasmYAML.cpp vendor/llvm/dist/lib/Option/Arg.cpp vendor/llvm/dist/lib/Passes/PassBuilder.cpp vendor/llvm/dist/lib/ProfileData/Coverage/CoverageMapping.cpp vendor/llvm/dist/lib/ProfileData/Coverage/CoverageMappingWriter.cpp vendor/llvm/dist/lib/ProfileData/InstrProf.cpp vendor/llvm/dist/lib/ProfileData/InstrProfReader.cpp vendor/llvm/dist/lib/ProfileData/InstrProfWriter.cpp vendor/llvm/dist/lib/ProfileData/SampleProfWriter.cpp vendor/llvm/dist/lib/Support/ARMAttributeParser.cpp vendor/llvm/dist/lib/Support/ARMBuildAttrs.cpp vendor/llvm/dist/lib/Support/Atomic.cpp vendor/llvm/dist/lib/Support/CMakeLists.txt vendor/llvm/dist/lib/Support/CommandLine.cpp vendor/llvm/dist/lib/Support/ConvertUTF.cpp vendor/llvm/dist/lib/Support/ConvertUTFWrapper.cpp vendor/llvm/dist/lib/Support/Errno.cpp vendor/llvm/dist/lib/Support/Error.cpp vendor/llvm/dist/lib/Support/FormattedStream.cpp vendor/llvm/dist/lib/Support/LockFileManager.cpp vendor/llvm/dist/lib/Support/MD5.cpp vendor/llvm/dist/lib/Support/Mutex.cpp vendor/llvm/dist/lib/Support/Path.cpp vendor/llvm/dist/lib/Support/PrettyStackTrace.cpp vendor/llvm/dist/lib/Support/Process.cpp vendor/llvm/dist/lib/Support/RWMutex.cpp vendor/llvm/dist/lib/Support/SHA1.cpp vendor/llvm/dist/lib/Support/Signals.cpp vendor/llvm/dist/lib/Support/SourceMgr.cpp vendor/llvm/dist/lib/Support/SpecialCaseList.cpp vendor/llvm/dist/lib/Support/Statistic.cpp vendor/llvm/dist/lib/Support/StringExtras.cpp vendor/llvm/dist/lib/Support/TargetRegistry.cpp vendor/llvm/dist/lib/Support/ThreadLocal.cpp vendor/llvm/dist/lib/Support/Timer.cpp vendor/llvm/dist/lib/Support/TrigramIndex.cpp vendor/llvm/dist/lib/Support/Triple.cpp vendor/llvm/dist/lib/Support/Unix/DynamicLibrary.inc vendor/llvm/dist/lib/Support/Unix/Path.inc vendor/llvm/dist/lib/Support/Unix/Signals.inc vendor/llvm/dist/lib/Support/Unix/Threading.inc vendor/llvm/dist/lib/Support/Windows/DynamicLibrary.inc vendor/llvm/dist/lib/Support/Windows/WindowsSupport.h vendor/llvm/dist/lib/Support/YAMLParser.cpp vendor/llvm/dist/lib/TableGen/StringMatcher.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64AsmPrinter.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64FastISel.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64ISelLowering.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64LegalizerInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64RegisterBankInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64TargetObjectFile.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64TargetTransformInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPU.td vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAsmPrinter.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUCallLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUISelLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInstrInfo.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInstructionSelector.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUMachineFunction.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPURegisterInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUSubtarget.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp vendor/llvm/dist/lib/Target/AMDGPU/CMakeLists.txt vendor/llvm/dist/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp vendor/llvm/dist/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h vendor/llvm/dist/lib/Target/AMDGPU/GCNHazardRecognizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadataStreamer.cpp vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadataStreamer.h vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp vendor/llvm/dist/lib/Target/AMDGPU/Processors.td vendor/llvm/dist/lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600FrameLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600ISelLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600InstrInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600MachineScheduler.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600Packetizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIDebuggerInsertNops.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIFixSGPRCopies.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIFoldOperands.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIFrameLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIISelLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIInsertWaitcnts.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/SILowerControlFlow.cpp vendor/llvm/dist/lib/Target/AMDGPU/SILowerI1Copies.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIMachineFunctionInfo.h vendor/llvm/dist/lib/Target/AMDGPU/SIMachineScheduler.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIPeepholeSDWA.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIRegisterInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIRegisterInfo.h vendor/llvm/dist/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h vendor/llvm/dist/lib/Target/AMDGPU/VOP3Instructions.td vendor/llvm/dist/lib/Target/ARM/ARMAsmPrinter.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMCallLowering.cpp vendor/llvm/dist/lib/Target/ARM/ARMConstantIslandPass.cpp vendor/llvm/dist/lib/Target/ARM/ARMFastISel.cpp vendor/llvm/dist/lib/Target/ARM/ARMFrameLowering.cpp vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp vendor/llvm/dist/lib/Target/ARM/ARMInstrVFP.td vendor/llvm/dist/lib/Target/ARM/ARMInstructionSelector.cpp vendor/llvm/dist/lib/Target/ARM/ARMLegalizerInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMLoadStoreOptimizer.cpp vendor/llvm/dist/lib/Target/ARM/ARMMCInstLower.cpp vendor/llvm/dist/lib/Target/ARM/ARMRegisterBankInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.cpp vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.cpp vendor/llvm/dist/lib/Target/ARM/ARMTargetObjectFile.cpp vendor/llvm/dist/lib/Target/ARM/AsmParser/ARMAsmParser.cpp vendor/llvm/dist/lib/Target/ARM/Disassembler/ARMDisassembler.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMFixupKinds.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1FrameLowering.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1InstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2InstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2SizeReduction.cpp vendor/llvm/dist/lib/Target/AVR/AVR.h vendor/llvm/dist/lib/Target/AVR/AVRAsmPrinter.cpp vendor/llvm/dist/lib/Target/AVR/AVRRegisterInfo.cpp vendor/llvm/dist/lib/Target/AVR/AVRSubtarget.cpp vendor/llvm/dist/lib/Target/AVR/AVRSubtarget.h vendor/llvm/dist/lib/Target/AVR/AVRTargetMachine.cpp vendor/llvm/dist/lib/Target/AVR/AVRTargetObjectFile.cpp vendor/llvm/dist/lib/Target/AVR/AsmParser/AVRAsmParser.cpp vendor/llvm/dist/lib/Target/AVR/Disassembler/AVRDisassembler.cpp vendor/llvm/dist/lib/Target/AVR/MCTargetDesc/AVRELFStreamer.cpp vendor/llvm/dist/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp vendor/llvm/dist/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp vendor/llvm/dist/lib/Target/BPF/BPFAsmPrinter.cpp vendor/llvm/dist/lib/Target/BPF/BPFInstrInfo.cpp vendor/llvm/dist/lib/Target/BPF/BPFRegisterInfo.cpp vendor/llvm/dist/lib/Target/BPF/BPFTargetMachine.cpp vendor/llvm/dist/lib/Target/BPF/Disassembler/BPFDisassembler.cpp vendor/llvm/dist/lib/Target/BPF/InstPrinter/BPFInstPrinter.cpp vendor/llvm/dist/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp vendor/llvm/dist/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp vendor/llvm/dist/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h vendor/llvm/dist/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp vendor/llvm/dist/lib/Target/Hexagon/BitTracker.cpp vendor/llvm/dist/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonAsmPrinter.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonBitSimplify.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonBitTracker.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonBlockRanges.h vendor/llvm/dist/lib/Target/Hexagon/HexagonCommonGEP.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonConstPropagation.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonCopyToCombine.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonEarlyIfConv.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonFixupHwLoops.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonFrameLowering.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonGenExtract.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonGenInsert.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonGenMux.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonISelLowering.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonMachineScheduler.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonPatterns.td vendor/llvm/dist/lib/Target/Hexagon/HexagonSplitDouble.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetMachine.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetObjectFile.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCShuffler.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp vendor/llvm/dist/lib/Target/Hexagon/RDFDeadCode.cpp vendor/llvm/dist/lib/Target/Hexagon/RDFGraph.cpp vendor/llvm/dist/lib/Target/Hexagon/RDFLiveness.cpp vendor/llvm/dist/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp vendor/llvm/dist/lib/Target/Lanai/LanaiTargetObjectFile.cpp vendor/llvm/dist/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp vendor/llvm/dist/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430AsmPrinter.cpp vendor/llvm/dist/lib/Target/Mips/AsmParser/MipsAsmParser.cpp vendor/llvm/dist/lib/Target/Mips/Disassembler/MipsDisassembler.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp vendor/llvm/dist/lib/Target/Mips/Mips.td vendor/llvm/dist/lib/Target/Mips/Mips16FrameLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsAsmPrinter.cpp vendor/llvm/dist/lib/Target/Mips/MipsCCState.cpp vendor/llvm/dist/lib/Target/Mips/MipsCCState.h vendor/llvm/dist/lib/Target/Mips/MipsCallingConv.td vendor/llvm/dist/lib/Target/Mips/MipsConstantIslandPass.cpp vendor/llvm/dist/lib/Target/Mips/MipsDSPInstrInfo.td vendor/llvm/dist/lib/Target/Mips/MipsFastISel.cpp vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.h vendor/llvm/dist/lib/Target/Mips/MipsInstrFPU.td vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.td vendor/llvm/dist/lib/Target/Mips/MipsMachineFunction.cpp vendor/llvm/dist/lib/Target/Mips/MipsOptimizePICCall.cpp vendor/llvm/dist/lib/Target/Mips/MipsOs16.cpp vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsSEFrameLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsSEISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/Mips/MipsSubtarget.cpp vendor/llvm/dist/lib/Target/Mips/MipsSubtarget.h vendor/llvm/dist/lib/Target/Mips/MipsTargetMachine.cpp vendor/llvm/dist/lib/Target/Mips/MipsTargetObjectFile.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXAsmPrinter.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXISelLowering.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXInstrInfo.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXLowerArgs.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXPeephole.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXTargetMachine.cpp vendor/llvm/dist/lib/Target/NVPTX/NVVMIntrRange.cpp vendor/llvm/dist/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCAsmPrinter.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCBoolRetToInt.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCBranchSelector.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCCTRLoops.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCEarlyReturn.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCFastISel.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCInstrVSX.td vendor/llvm/dist/lib/Target/PowerPC/PPCMCInstLower.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCMIPeephole.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCTLSDynamicCall.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCTOCRegDeps.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCVSXCopy.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCVSXFMAMutate.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h vendor/llvm/dist/lib/Target/RISCV/RISCVTargetMachine.cpp vendor/llvm/dist/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp vendor/llvm/dist/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp vendor/llvm/dist/lib/Target/Sparc/SparcAsmPrinter.cpp vendor/llvm/dist/lib/Target/Sparc/SparcMCInstLower.cpp vendor/llvm/dist/lib/Target/Sparc/SparcTargetMachine.cpp vendor/llvm/dist/lib/Target/Sparc/SparcTargetObjectFile.cpp vendor/llvm/dist/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp vendor/llvm/dist/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp vendor/llvm/dist/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZHazardRecognizer.h vendor/llvm/dist/lib/Target/SystemZ/SystemZISelLowering.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZLDCleanup.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZRegisterInfo.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZShortenInst.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZSubtarget.h vendor/llvm/dist/lib/Target/SystemZ/SystemZTDC.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetMachine.cpp vendor/llvm/dist/lib/Target/Target.cpp vendor/llvm/dist/lib/Target/TargetLoweringObjectFile.cpp vendor/llvm/dist/lib/Target/TargetMachineC.cpp vendor/llvm/dist/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp vendor/llvm/dist/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.h vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyFastISel.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblySetP2AlignOperands.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyStoreResults.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp vendor/llvm/dist/lib/Target/X86/AsmParser/X86Operand.h vendor/llvm/dist/lib/Target/X86/CMakeLists.txt vendor/llvm/dist/lib/Target/X86/Disassembler/X86Disassembler.cpp vendor/llvm/dist/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp vendor/llvm/dist/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp vendor/llvm/dist/lib/Target/X86/InstPrinter/X86InstComments.cpp vendor/llvm/dist/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp vendor/llvm/dist/lib/Target/X86/X86AsmPrinter.cpp vendor/llvm/dist/lib/Target/X86/X86FastISel.cpp vendor/llvm/dist/lib/Target/X86/X86FrameLowering.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp vendor/llvm/dist/lib/Target/X86/X86InstrFragmentsSIMD.td vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td vendor/llvm/dist/lib/Target/X86/X86MCInstLower.cpp vendor/llvm/dist/lib/Target/X86/X86OptimizeLEAs.cpp vendor/llvm/dist/lib/Target/X86/X86SchedHaswell.td vendor/llvm/dist/lib/Target/X86/X86SchedSandyBridge.td vendor/llvm/dist/lib/Target/X86/X86Schedule.td vendor/llvm/dist/lib/Target/X86/X86ScheduleBtVer2.td vendor/llvm/dist/lib/Target/X86/X86ScheduleSLM.td vendor/llvm/dist/lib/Target/X86/X86SelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/X86/X86Subtarget.cpp vendor/llvm/dist/lib/Target/X86/X86TargetMachine.cpp vendor/llvm/dist/lib/Target/X86/X86TargetObjectFile.cpp vendor/llvm/dist/lib/Target/X86/X86TargetTransformInfo.cpp vendor/llvm/dist/lib/Target/X86/X86TargetTransformInfo.h vendor/llvm/dist/lib/Target/X86/X86WinEHState.cpp vendor/llvm/dist/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp vendor/llvm/dist/lib/Target/XCore/XCoreAsmPrinter.cpp vendor/llvm/dist/lib/Target/XCore/XCoreTargetMachine.cpp vendor/llvm/dist/lib/Target/XCore/XCoreTargetMachine.h vendor/llvm/dist/lib/Target/XCore/XCoreTargetObjectFile.cpp vendor/llvm/dist/lib/ToolDrivers/llvm-lib/LLVMBuild.txt vendor/llvm/dist/lib/ToolDrivers/llvm-lib/LibDriver.cpp vendor/llvm/dist/lib/Transforms/Coroutines/CoroSplit.cpp vendor/llvm/dist/lib/Transforms/IPO/ElimAvailExtern.cpp vendor/llvm/dist/lib/Transforms/IPO/ExtractGV.cpp vendor/llvm/dist/lib/Transforms/IPO/FunctionAttrs.cpp vendor/llvm/dist/lib/Transforms/IPO/GlobalSplit.cpp vendor/llvm/dist/lib/Transforms/IPO/IPConstantPropagation.cpp vendor/llvm/dist/lib/Transforms/IPO/IPO.cpp vendor/llvm/dist/lib/Transforms/IPO/InferFunctionAttrs.cpp vendor/llvm/dist/lib/Transforms/IPO/Inliner.cpp vendor/llvm/dist/lib/Transforms/IPO/LoopExtractor.cpp vendor/llvm/dist/lib/Transforms/IPO/LowerTypeTests.cpp vendor/llvm/dist/lib/Transforms/IPO/PruneEH.cpp vendor/llvm/dist/lib/Transforms/IPO/SampleProfile.cpp vendor/llvm/dist/lib/Transforms/IPO/StripSymbols.cpp vendor/llvm/dist/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp vendor/llvm/dist/lib/Transforms/IPO/WholeProgramDevirt.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAddSub.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCalls.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCasts.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCompares.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineInternal.h vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombinePHI.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineSelect.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineShifts.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineVectorOps.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstructionCombining.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/BoundsChecking.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/EfficiencySanitizer.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/InstrProfiling.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/ThreadSanitizer.cpp vendor/llvm/dist/lib/Transforms/ObjCARC/BlotMapVector.h vendor/llvm/dist/lib/Transforms/ObjCARC/DependencyAnalysis.cpp vendor/llvm/dist/lib/Transforms/ObjCARC/ObjCARCContract.cpp vendor/llvm/dist/lib/Transforms/ObjCARC/ObjCARCOpts.cpp vendor/llvm/dist/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp vendor/llvm/dist/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp vendor/llvm/dist/lib/Transforms/ObjCARC/PtrState.h vendor/llvm/dist/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp vendor/llvm/dist/lib/Transforms/Scalar/ConstantProp.cpp vendor/llvm/dist/lib/Transforms/Scalar/DCE.cpp vendor/llvm/dist/lib/Transforms/Scalar/FlattenCFGPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/GVNHoist.cpp vendor/llvm/dist/lib/Transforms/Scalar/GVNSink.cpp vendor/llvm/dist/lib/Transforms/Scalar/GuardWidening.cpp vendor/llvm/dist/lib/Transforms/Scalar/IndVarSimplify.cpp vendor/llvm/dist/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp vendor/llvm/dist/lib/Transforms/Scalar/InferAddressSpaces.cpp vendor/llvm/dist/lib/Transforms/Scalar/JumpThreading.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoadCombine.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopIdiomRecognize.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopPredication.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopRerollPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopStrengthReduce.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopUnswitch.cpp vendor/llvm/dist/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp vendor/llvm/dist/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp vendor/llvm/dist/lib/Transforms/Scalar/MemCpyOptimizer.cpp vendor/llvm/dist/lib/Transforms/Scalar/NewGVN.cpp vendor/llvm/dist/lib/Transforms/Scalar/Reg2Mem.cpp vendor/llvm/dist/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp vendor/llvm/dist/lib/Transforms/Scalar/SROA.cpp vendor/llvm/dist/lib/Transforms/Scalar/Scalar.cpp vendor/llvm/dist/lib/Transforms/Scalar/Scalarizer.cpp vendor/llvm/dist/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp vendor/llvm/dist/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp vendor/llvm/dist/lib/Transforms/Scalar/Sink.cpp vendor/llvm/dist/lib/Transforms/Scalar/StructurizeCFG.cpp vendor/llvm/dist/lib/Transforms/Scalar/TailRecursionElimination.cpp vendor/llvm/dist/lib/Transforms/Utils/CMakeLists.txt vendor/llvm/dist/lib/Transforms/Utils/CloneFunction.cpp vendor/llvm/dist/lib/Transforms/Utils/CloneModule.cpp vendor/llvm/dist/lib/Transforms/Utils/DemoteRegToStack.cpp vendor/llvm/dist/lib/Transforms/Utils/Evaluator.cpp vendor/llvm/dist/lib/Transforms/Utils/FlattenCFG.cpp vendor/llvm/dist/lib/Transforms/Utils/FunctionComparator.cpp vendor/llvm/dist/lib/Transforms/Utils/FunctionImportUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/GlobalStatus.cpp vendor/llvm/dist/lib/Transforms/Utils/InlineFunction.cpp vendor/llvm/dist/lib/Transforms/Utils/InstructionNamer.cpp vendor/llvm/dist/lib/Transforms/Utils/Local.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopSimplify.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopUnroll.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopUnrollRuntime.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/LowerMemIntrinsics.cpp vendor/llvm/dist/lib/Transforms/Utils/LowerSwitch.cpp vendor/llvm/dist/lib/Transforms/Utils/MetaRenamer.cpp vendor/llvm/dist/lib/Transforms/Utils/SSAUpdater.cpp vendor/llvm/dist/lib/Transforms/Utils/SanitizerStats.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyCFG.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyInstructions.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyLibCalls.cpp vendor/llvm/dist/lib/Transforms/Utils/StripGCRelocates.cpp vendor/llvm/dist/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp vendor/llvm/dist/lib/Transforms/Utils/SymbolRewriter.cpp vendor/llvm/dist/lib/Transforms/Utils/Utils.cpp vendor/llvm/dist/lib/Transforms/Vectorize/BBVectorize.cpp vendor/llvm/dist/lib/Transforms/Vectorize/LoopVectorize.cpp vendor/llvm/dist/lib/Transforms/Vectorize/Vectorize.cpp vendor/llvm/dist/lib/XRay/InstrumentationMap.cpp vendor/llvm/dist/test/Analysis/ConstantFolding/gep-constanfolding-error.ll vendor/llvm/dist/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll vendor/llvm/dist/test/Bindings/OCaml/core.ml vendor/llvm/dist/test/Bitcode/ptest-old.ll vendor/llvm/dist/test/CMakeLists.txt vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-stackprotect.ll vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/arm64-regbankselect.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/call-translator-ios.ll vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/call-translator.ll vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/debug-insts.ll vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/localizer-in-O0-pipeline.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/localizer.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/regbankselect-dbg-value.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/regbankselect-default.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-binop.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-fp-casts.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-int-ext.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-int-ptr-casts.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-load.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-muladd.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-store.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-trunc.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-xor.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select.mir vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/varargs-ios-translator.ll vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/regbankselect.mir vendor/llvm/dist/test/CodeGen/AMDGPU/add.v2i16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/ashr.v2i16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/branch-relax-spill.ll vendor/llvm/dist/test/CodeGen/AMDGPU/clamp-omod-special-case.mir vendor/llvm/dist/test/CodeGen/AMDGPU/exceed-max-sgprs.ll vendor/llvm/dist/test/CodeGen/AMDGPU/fabs.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/fadd.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/fcanonicalize.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/flat-scratch-reg.ll vendor/llvm/dist/test/CodeGen/AMDGPU/fmul.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/fneg-fabs.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/fneg.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/fptosi.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/fptoui.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/fsub.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/hsa-note-no-func.ll vendor/llvm/dist/test/CodeGen/AMDGPU/illegal-sgpr-to-vgpr-copy.ll vendor/llvm/dist/test/CodeGen/AMDGPU/immv216.ll vendor/llvm/dist/test/CodeGen/AMDGPU/indirect-addressing-si.ll vendor/llvm/dist/test/CodeGen/AMDGPU/inline-asm.ll vendor/llvm/dist/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/limit-coalesce.mir vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.pk.u16.u8.ll vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.u32.u8.ll vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.amdgcn.qsad.pk.u16.u8.ll vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.minnum.f16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/partial-sgpr-to-vgpr-spills.ll vendor/llvm/dist/test/CodeGen/AMDGPU/scratch-simple.ll vendor/llvm/dist/test/CodeGen/AMDGPU/sdwa-peephole.ll vendor/llvm/dist/test/CodeGen/AMDGPU/shl.v2i16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/si-spill-sgpr-stack.ll vendor/llvm/dist/test/CodeGen/AMDGPU/skip-if-dead.ll vendor/llvm/dist/test/CodeGen/AMDGPU/sminmax.v2i16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/spill-scavenge-offset.ll vendor/llvm/dist/test/CodeGen/AMDGPU/sub.v2i16.ll vendor/llvm/dist/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll vendor/llvm/dist/test/CodeGen/AMDGPU/v_mac_f16.ll vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-isel.ll vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir vendor/llvm/dist/test/CodeGen/ARM/cortex-a57-misched-vfma.ll vendor/llvm/dist/test/CodeGen/ARM/invalidated-save-point.ll vendor/llvm/dist/test/CodeGen/Generic/llc-start-stop.ll vendor/llvm/dist/test/CodeGen/MIR/AArch64/generic-virtual-registers-error.mir vendor/llvm/dist/test/CodeGen/MIR/AArch64/generic-virtual-registers-with-regbank-error.mir vendor/llvm/dist/test/CodeGen/MIR/AArch64/register-operand-bank.mir vendor/llvm/dist/test/CodeGen/MIR/AArch64/stack-object-local-offset.mir vendor/llvm/dist/test/CodeGen/MIR/Generic/frame-info.mir vendor/llvm/dist/test/CodeGen/MIR/X86/callee-saved-info.mir vendor/llvm/dist/test/CodeGen/MIR/X86/fixed-stack-objects.mir vendor/llvm/dist/test/CodeGen/MIR/X86/generic-instr-type.mir vendor/llvm/dist/test/CodeGen/MIR/X86/register-operand-class.mir vendor/llvm/dist/test/CodeGen/MIR/X86/simple-register-allocation-hints.mir vendor/llvm/dist/test/CodeGen/MIR/X86/spill-slot-fixed-stack-objects.mir vendor/llvm/dist/test/CodeGen/MIR/X86/stack-object-debug-info.mir vendor/llvm/dist/test/CodeGen/MIR/X86/stack-objects.mir vendor/llvm/dist/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir vendor/llvm/dist/test/CodeGen/MIR/X86/virtual-registers.mir vendor/llvm/dist/test/CodeGen/Mips/biggot.ll vendor/llvm/dist/test/CodeGen/Mips/ctlz-v.ll vendor/llvm/dist/test/CodeGen/Mips/cttz-v.ll vendor/llvm/dist/test/CodeGen/Mips/dsp-r1.ll vendor/llvm/dist/test/CodeGen/Mips/fmadd1.ll vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/mul.ll vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/sdiv.ll vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/srem.ll vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/udiv.ll vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/urem.ll vendor/llvm/dist/test/CodeGen/Mips/micromips-gp-rc.ll vendor/llvm/dist/test/CodeGen/Mips/mips64fpldst.ll vendor/llvm/dist/test/CodeGen/Mips/return-vector.ll vendor/llvm/dist/test/CodeGen/Mips/tailcall/tailcall.ll vendor/llvm/dist/test/CodeGen/PowerPC/BoolRetToIntTest.ll vendor/llvm/dist/test/CodeGen/PowerPC/crbits.ll vendor/llvm/dist/test/CodeGen/PowerPC/logic-ops-on-compares.ll vendor/llvm/dist/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll vendor/llvm/dist/test/CodeGen/PowerPC/ppc-crbits-onoff.ll vendor/llvm/dist/test/CodeGen/PowerPC/setcc-logic.ll vendor/llvm/dist/test/CodeGen/X86/2006-05-11-InstrSched.ll vendor/llvm/dist/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-mul-scalar.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-mul-v128.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-mul-v256.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-mul-v512.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/regbankselect-AVX2.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/regbankselect-AVX512.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/regbankselect-X32.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/regbankselect-X86_64.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-add-v128.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-add-v256.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-add-v512.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-add-x32.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-add.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-cmp.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-constant.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-ext-x86-64.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-ext.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-gep.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-inc.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-leaf-constant.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-memop-scalar-x32.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-memop-scalar.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-memop-v128.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-memop-v256.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-memop-v512.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-mul-scalar.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-mul-vec.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-sub-v128.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-sub-v256.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-sub-v512.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-sub.mir vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-trunc.mir vendor/llvm/dist/test/CodeGen/X86/O0-pipeline.ll vendor/llvm/dist/test/CodeGen/X86/atom-fixup-lea3.ll vendor/llvm/dist/test/CodeGen/X86/avx-schedule.ll vendor/llvm/dist/test/CodeGen/X86/avx-splat.ll vendor/llvm/dist/test/CodeGen/X86/avx512-cvt.ll vendor/llvm/dist/test/CodeGen/X86/build-vector-128.ll vendor/llvm/dist/test/CodeGen/X86/buildvec-insertvec.ll vendor/llvm/dist/test/CodeGen/X86/clear_upper_vector_element_bits.ll vendor/llvm/dist/test/CodeGen/X86/fast-isel-nontemporal.ll vendor/llvm/dist/test/CodeGen/X86/full-lsr.ll vendor/llvm/dist/test/CodeGen/X86/haddsub-2.ll vendor/llvm/dist/test/CodeGen/X86/haddsub-undef.ll vendor/llvm/dist/test/CodeGen/X86/hoist-spill.ll vendor/llvm/dist/test/CodeGen/X86/loop-strength-reduce4.ll vendor/llvm/dist/test/CodeGen/X86/madd.ll vendor/llvm/dist/test/CodeGen/X86/masked-iv-safe.ll vendor/llvm/dist/test/CodeGen/X86/memcmp.ll vendor/llvm/dist/test/CodeGen/X86/merge-consecutive-loads-128.ll vendor/llvm/dist/test/CodeGen/X86/mul-constant-i16.ll vendor/llvm/dist/test/CodeGen/X86/mul-constant-i32.ll vendor/llvm/dist/test/CodeGen/X86/mul-constant-i64.ll vendor/llvm/dist/test/CodeGen/X86/nontemporal-loads.ll vendor/llvm/dist/test/CodeGen/X86/select.ll vendor/llvm/dist/test/CodeGen/X86/sse-intrinsics-fast-isel.ll vendor/llvm/dist/test/CodeGen/X86/sse1.ll vendor/llvm/dist/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll vendor/llvm/dist/test/CodeGen/X86/sse3-avx-addsub-2.ll vendor/llvm/dist/test/CodeGen/X86/sse42-intrinsics-fast-isel.ll vendor/llvm/dist/test/CodeGen/X86/stack-folding-fp-avx1.ll vendor/llvm/dist/test/CodeGen/X86/stack-folding-int-sse42.ll vendor/llvm/dist/test/CodeGen/X86/trunc-to-bool.ll vendor/llvm/dist/test/CodeGen/X86/vec_fp_to_int.ll vendor/llvm/dist/test/CodeGen/X86/vec_int_to_fp.ll vendor/llvm/dist/test/CodeGen/X86/vec_set.ll vendor/llvm/dist/test/CodeGen/X86/vector-compare-results.ll vendor/llvm/dist/test/CodeGen/X86/vector-rem.ll vendor/llvm/dist/test/CodeGen/X86/vector-sext.ll vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-variable-128.ll vendor/llvm/dist/test/CodeGen/X86/vector-sqrt.ll vendor/llvm/dist/test/CodeGen/X86/vector-unsigned-cmp.ll vendor/llvm/dist/test/CodeGen/X86/virtual-registers-cleared-in-machine-functions-liveins.ll vendor/llvm/dist/test/CodeGen/X86/vshift-1.ll vendor/llvm/dist/test/CodeGen/X86/vshift-2.ll vendor/llvm/dist/test/CodeGen/X86/x86-interleaved-access.ll vendor/llvm/dist/test/DebugInfo/PDB/DIA/pdbdump-flags.test vendor/llvm/dist/test/DebugInfo/PDB/DIA/pdbdump-linenumbers.test vendor/llvm/dist/test/DebugInfo/PDB/DIA/pdbdump-symbol-format.test vendor/llvm/dist/test/DebugInfo/PDB/Native/pdb-native-compilands.test vendor/llvm/dist/test/DebugInfo/PDB/Native/pdb-native-summary.test vendor/llvm/dist/test/DebugInfo/PDB/pdb-longname-truncation.test vendor/llvm/dist/test/DebugInfo/PDB/pdb-minimal-construct.test vendor/llvm/dist/test/DebugInfo/PDB/pdb-yaml-symbols.test vendor/llvm/dist/test/DebugInfo/PDB/pdb-yaml-types.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-headers.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-merge-ids-and-types.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-mergeids.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-mergetypes.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-raw-blocks.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-raw-stream.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-readwrite.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-source-names.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-write.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-yaml-types.test vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-yaml.test vendor/llvm/dist/test/FileCheck/check-dag.txt vendor/llvm/dist/test/Instrumentation/MemorySanitizer/csr.ll vendor/llvm/dist/test/Instrumentation/MemorySanitizer/msan_x86intrinsics.ll vendor/llvm/dist/test/Instrumentation/MemorySanitizer/vector_arith.ll vendor/llvm/dist/test/Instrumentation/MemorySanitizer/vector_cmp.ll vendor/llvm/dist/test/Instrumentation/MemorySanitizer/vector_cvt.ll vendor/llvm/dist/test/Instrumentation/MemorySanitizer/vector_pack.ll vendor/llvm/dist/test/Instrumentation/MemorySanitizer/vector_shift.ll vendor/llvm/dist/test/MC/AMDGPU/sopp-err.s vendor/llvm/dist/test/MC/AMDGPU/sym_option.s vendor/llvm/dist/test/MC/ARM/big-endian-thumb2-fixup.s vendor/llvm/dist/test/MC/ARM/thumb2-diagnostics.s vendor/llvm/dist/test/MC/Disassembler/Mips/micromips-dsp/valid.txt vendor/llvm/dist/test/MC/MachO/variable-exprs.s vendor/llvm/dist/test/MC/Mips/dsp/invalid.s vendor/llvm/dist/test/MC/Mips/micromips-dsp/invalid.s vendor/llvm/dist/test/MC/Mips/micromips-dsp/valid.s vendor/llvm/dist/test/MC/WebAssembly/reloc-code.ll vendor/llvm/dist/test/Object/AMDGPU/elf-definitions.yaml vendor/llvm/dist/test/Transforms/ConstProp/sse.ll vendor/llvm/dist/test/Transforms/DCE/calls-errno.ll vendor/llvm/dist/test/Transforms/GVNSink/sink-common-code.ll vendor/llvm/dist/test/Transforms/Inline/basictest.ll vendor/llvm/dist/test/Transforms/InstCombine/insert-extract-shuffle.ll vendor/llvm/dist/test/Transforms/InstCombine/intrinsics.ll vendor/llvm/dist/test/Transforms/InstCombine/lshr.ll vendor/llvm/dist/test/Transforms/InstSimplify/call.ll vendor/llvm/dist/test/Transforms/InstSimplify/compare.ll vendor/llvm/dist/test/Transforms/InstSimplify/vector_gep.ll vendor/llvm/dist/test/Transforms/InterleavedAccess/X86/interleaved-accesses-64bits-avx.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/canonical.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/lsr-expand-quadratic.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/lsr-insns-1.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/lsr-insns-2.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/nested-loop.ll vendor/llvm/dist/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll vendor/llvm/dist/test/Transforms/LowerTypeTests/simple.ll vendor/llvm/dist/test/Transforms/NewGVN/completeness.ll vendor/llvm/dist/test/Transforms/NewGVN/loadforward.ll vendor/llvm/dist/test/Transforms/NewGVN/pr32403.ll vendor/llvm/dist/test/Transforms/NewGVN/pr32897.ll vendor/llvm/dist/test/Transforms/SLPVectorizer/X86/arith-fp.ll vendor/llvm/dist/test/Transforms/SROA/address-spaces.ll vendor/llvm/dist/test/Transforms/SampleProfile/Inputs/indirect-call.prof vendor/llvm/dist/test/Transforms/SampleProfile/indirect-call.ll vendor/llvm/dist/test/Transforms/ThinLTOBitcodeWriter/split.ll vendor/llvm/dist/test/Transforms/Util/PredicateInfo/condprop2.ll vendor/llvm/dist/test/Transforms/Util/PredicateInfo/testandor2.ll vendor/llvm/dist/test/lit.cfg vendor/llvm/dist/test/lit.site.cfg.in vendor/llvm/dist/test/tools/llvm-pdbdump/class-layout.test vendor/llvm/dist/test/tools/llvm-pdbdump/complex-padding-graphical.test vendor/llvm/dist/test/tools/llvm-pdbdump/enum-layout.test vendor/llvm/dist/test/tools/llvm-pdbdump/load-address.test vendor/llvm/dist/test/tools/llvm-pdbdump/raw-stream-data.test vendor/llvm/dist/test/tools/llvm-pdbdump/regex-filter.test vendor/llvm/dist/test/tools/llvm-pdbdump/simple-padding-graphical.test vendor/llvm/dist/test/tools/llvm-pdbdump/symbol-filters.test vendor/llvm/dist/test/tools/llvm-readobj/elf-sec-flags.test vendor/llvm/dist/tools/LLVMBuild.txt vendor/llvm/dist/tools/bugpoint/OptimizerDriver.cpp vendor/llvm/dist/tools/dsymutil/DwarfLinker.cpp vendor/llvm/dist/tools/llc/llc.cpp vendor/llvm/dist/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp vendor/llvm/dist/tools/llvm-cvtres/LLVMBuild.txt vendor/llvm/dist/tools/llvm-cvtres/llvm-cvtres.cpp vendor/llvm/dist/tools/llvm-cvtres/llvm-cvtres.h vendor/llvm/dist/tools/llvm-dwarfdump/llvm-dwarfdump.cpp vendor/llvm/dist/tools/llvm-lto2/llvm-lto2.cpp vendor/llvm/dist/tools/llvm-mc/llvm-mc.cpp vendor/llvm/dist/tools/llvm-nm/llvm-nm.cpp vendor/llvm/dist/tools/llvm-objdump/MachODump.cpp vendor/llvm/dist/tools/llvm-readobj/CMakeLists.txt vendor/llvm/dist/tools/llvm-readobj/COFFDumper.cpp vendor/llvm/dist/tools/llvm-readobj/COFFImportDumper.cpp vendor/llvm/dist/tools/llvm-readobj/ELFDumper.cpp vendor/llvm/dist/tools/llvm-readobj/LLVMBuild.txt vendor/llvm/dist/tools/llvm-stress/llvm-stress.cpp vendor/llvm/dist/tools/llvm-xray/xray-extract.cc vendor/llvm/dist/tools/obj2yaml/dwarf2yaml.cpp vendor/llvm/dist/tools/obj2yaml/macho2yaml.cpp vendor/llvm/dist/tools/yaml2obj/yaml2elf.cpp vendor/llvm/dist/tools/yaml2obj/yaml2macho.cpp vendor/llvm/dist/unittests/ADT/DAGDeltaAlgorithmTest.cpp vendor/llvm/dist/unittests/ADT/DeltaAlgorithmTest.cpp vendor/llvm/dist/unittests/ADT/DenseMapTest.cpp vendor/llvm/dist/unittests/ADT/DepthFirstIteratorTest.cpp vendor/llvm/dist/unittests/ADT/FoldingSet.cpp vendor/llvm/dist/unittests/ADT/HashingTest.cpp vendor/llvm/dist/unittests/ADT/ImmutableMapTest.cpp vendor/llvm/dist/unittests/ADT/ImmutableSetTest.cpp vendor/llvm/dist/unittests/ADT/IteratorTest.cpp vendor/llvm/dist/unittests/ADT/MapVectorTest.cpp vendor/llvm/dist/unittests/ADT/OptionalTest.cpp vendor/llvm/dist/unittests/ADT/PointerEmbeddedIntTest.cpp vendor/llvm/dist/unittests/ADT/PointerIntPairTest.cpp vendor/llvm/dist/unittests/ADT/PointerSumTypeTest.cpp vendor/llvm/dist/unittests/ADT/PointerUnionTest.cpp vendor/llvm/dist/unittests/ADT/PostOrderIteratorTest.cpp vendor/llvm/dist/unittests/ADT/RangeAdapterTest.cpp vendor/llvm/dist/unittests/ADT/ReverseIterationTest.cpp vendor/llvm/dist/unittests/ADT/SCCIteratorTest.cpp vendor/llvm/dist/unittests/ADT/SmallPtrSetTest.cpp vendor/llvm/dist/unittests/ADT/SmallVectorTest.cpp vendor/llvm/dist/unittests/ADT/TripleTest.cpp vendor/llvm/dist/unittests/ADT/TwineTest.cpp vendor/llvm/dist/unittests/ADT/VariadicFunctionTest.cpp vendor/llvm/dist/unittests/Analysis/BranchProbabilityInfoTest.cpp vendor/llvm/dist/unittests/Analysis/CFGTest.cpp vendor/llvm/dist/unittests/Analysis/CMakeLists.txt vendor/llvm/dist/unittests/Analysis/LazyCallGraphTest.cpp vendor/llvm/dist/unittests/Analysis/MemorySSA.cpp vendor/llvm/dist/unittests/Analysis/ProfileSummaryInfoTest.cpp vendor/llvm/dist/unittests/Analysis/ScalarEvolutionTest.cpp vendor/llvm/dist/unittests/Analysis/TBAATest.cpp vendor/llvm/dist/unittests/Analysis/UnrollAnalyzer.cpp vendor/llvm/dist/unittests/Bitcode/BitstreamReaderTest.cpp vendor/llvm/dist/unittests/Bitcode/BitstreamWriterTest.cpp vendor/llvm/dist/unittests/CMakeLists.txt vendor/llvm/dist/unittests/CodeGen/DIEHashTest.cpp vendor/llvm/dist/unittests/CodeGen/MachineInstrBundleIteratorTest.cpp vendor/llvm/dist/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp vendor/llvm/dist/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp vendor/llvm/dist/unittests/DebugInfo/DWARF/DwarfGenerator.cpp vendor/llvm/dist/unittests/ExecutionEngine/ExecutionEngineTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp vendor/llvm/dist/unittests/ExecutionEngine/MCJIT/MCJITMultipleModuleTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/MCJIT/MCJITTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/Orc/CompileOnDemandLayerTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/Orc/LazyEmittingLayerTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp vendor/llvm/dist/unittests/ExecutionEngine/Orc/OrcTestCommon.h vendor/llvm/dist/unittests/ExecutionEngine/Orc/QueueChannel.h vendor/llvm/dist/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp vendor/llvm/dist/unittests/IR/AsmWriterTest.cpp vendor/llvm/dist/unittests/IR/ConstantRangeTest.cpp vendor/llvm/dist/unittests/IR/ConstantsTest.cpp vendor/llvm/dist/unittests/IR/DebugTypeODRUniquingTest.cpp vendor/llvm/dist/unittests/IR/DominatorTreeTest.cpp vendor/llvm/dist/unittests/IR/IRBuilderTest.cpp vendor/llvm/dist/unittests/IR/MetadataTest.cpp vendor/llvm/dist/unittests/IR/ModuleTest.cpp vendor/llvm/dist/unittests/IR/PassManagerTest.cpp vendor/llvm/dist/unittests/IR/PatternMatch.cpp vendor/llvm/dist/unittests/IR/UserTest.cpp vendor/llvm/dist/unittests/IR/ValueTest.cpp vendor/llvm/dist/unittests/IR/VerifierTest.cpp vendor/llvm/dist/unittests/Linker/LinkModulesTest.cpp vendor/llvm/dist/unittests/MC/DwarfLineTables.cpp vendor/llvm/dist/unittests/MC/StringTableBuilderTest.cpp vendor/llvm/dist/unittests/MI/LiveIntervalTest.cpp vendor/llvm/dist/unittests/ProfileData/CoverageMappingTest.cpp vendor/llvm/dist/unittests/ProfileData/InstrProfTest.cpp vendor/llvm/dist/unittests/ProfileData/SampleProfTest.cpp vendor/llvm/dist/unittests/Support/ARMAttributeParser.cpp vendor/llvm/dist/unittests/Support/BinaryStreamTest.cpp vendor/llvm/dist/unittests/Support/CMakeLists.txt vendor/llvm/dist/unittests/Support/CommandLineTest.cpp vendor/llvm/dist/unittests/Support/CompressionTest.cpp vendor/llvm/dist/unittests/Support/CrashRecoveryTest.cpp vendor/llvm/dist/unittests/Support/DataExtractorTest.cpp vendor/llvm/dist/unittests/Support/DynamicLibrary/CMakeLists.txt vendor/llvm/dist/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp vendor/llvm/dist/unittests/Support/DynamicLibrary/PipSqueak.cxx vendor/llvm/dist/unittests/Support/DynamicLibrary/PipSqueak.h vendor/llvm/dist/unittests/Support/EndianStreamTest.cpp vendor/llvm/dist/unittests/Support/FileOutputBufferTest.cpp vendor/llvm/dist/unittests/Support/FormatVariadicTest.cpp vendor/llvm/dist/unittests/Support/LEB128Test.cpp vendor/llvm/dist/unittests/Support/MD5Test.cpp vendor/llvm/dist/unittests/Support/MathExtrasTest.cpp vendor/llvm/dist/unittests/Support/MemoryBufferTest.cpp vendor/llvm/dist/unittests/Support/MemoryTest.cpp vendor/llvm/dist/unittests/Support/Path.cpp vendor/llvm/dist/unittests/Support/ProgramTest.cpp vendor/llvm/dist/unittests/Support/SpecialCaseListTest.cpp vendor/llvm/dist/unittests/Support/SwapByteOrderTest.cpp vendor/llvm/dist/unittests/Support/TarWriterTest.cpp vendor/llvm/dist/unittests/Support/TargetParserTest.cpp vendor/llvm/dist/unittests/Support/TrigramIndexTest.cpp vendor/llvm/dist/unittests/Support/YAMLIOTest.cpp vendor/llvm/dist/unittests/Support/YAMLParserTest.cpp vendor/llvm/dist/unittests/Support/formatted_raw_ostream_test.cpp vendor/llvm/dist/unittests/Support/raw_ostream_test.cpp vendor/llvm/dist/unittests/Support/raw_pwrite_stream_test.cpp vendor/llvm/dist/unittests/Support/raw_sha1_ostream_test.cpp vendor/llvm/dist/unittests/Target/AArch64/InstSizes.cpp vendor/llvm/dist/unittests/Transforms/Scalar/LoopPassManagerTest.cpp vendor/llvm/dist/unittests/Transforms/Utils/CMakeLists.txt vendor/llvm/dist/unittests/Transforms/Utils/FunctionComparator.cpp vendor/llvm/dist/unittests/Transforms/Utils/ValueMapperTest.cpp vendor/llvm/dist/utils/FileCheck/FileCheck.cpp vendor/llvm/dist/utils/TableGen/CMakeLists.txt vendor/llvm/dist/utils/TableGen/TableGen.cpp vendor/llvm/dist/utils/TableGen/TableGenBackends.h vendor/llvm/dist/utils/gdb-scripts/prettyprinters.py vendor/llvm/dist/utils/git-svn/git-llvm vendor/llvm/dist/utils/opt-viewer/optrecord.py vendor/llvm/dist/utils/release/test-release.sh Modified: vendor/llvm/dist/CMakeLists.txt ============================================================================== --- vendor/llvm/dist/CMakeLists.txt Sat Jun 10 13:22:49 2017 (r319779) +++ vendor/llvm/dist/CMakeLists.txt Sat Jun 10 13:44:06 2017 (r319780) @@ -385,6 +385,7 @@ else() option(LLVM_ENABLE_LOCAL_SUBMODULE_VISIBILITY "Compile with -fmodules-local-submodule-visibility." ON) endif() option(LLVM_ENABLE_CXX1Y "Compile with C++1y enabled." OFF) +option(LLVM_ENABLE_CXX1Z "Compile with C++1z enabled." OFF) option(LLVM_ENABLE_LIBCXX "Use libc++ if available." OFF) option(LLVM_ENABLE_LLD "Use lld as C and C++ linker." OFF) option(LLVM_ENABLE_PEDANTIC "Compile with pedantic enabled." ON) @@ -853,7 +854,6 @@ if( LLVM_INCLUDE_UTILS ) add_subdirectory(utils/not) add_subdirectory(utils/llvm-lit) add_subdirectory(utils/yaml-bench) - add_subdirectory(utils/unittest) else() if ( LLVM_INCLUDE_TESTS ) message(FATAL_ERROR "Including tests when not building utils will not work. @@ -897,6 +897,10 @@ if( LLVM_INCLUDE_TESTS ) endif() add_subdirectory(test) add_subdirectory(unittests) + if( LLVM_INCLUDE_UTILS ) + add_subdirectory(utils/unittest) + endif() + if (WIN32) # This utility is used to prevent crashing tests from calling Dr. Watson on # Windows. Modified: vendor/llvm/dist/bindings/go/llvm/ir.go ============================================================================== --- vendor/llvm/dist/bindings/go/llvm/ir.go Sat Jun 10 13:22:49 2017 (r319779) +++ vendor/llvm/dist/bindings/go/llvm/ir.go Sat Jun 10 13:44:06 2017 (r319780) @@ -611,6 +611,12 @@ func (t Type) StructElementTypes() []Type { } // Operations on array, pointer, and vector types (sequence types) +func (t Type) Subtypes() (ret []Type) { + ret = make([]Type, C.LLVMGetNumContainedTypes(t.C)) + C.LLVMGetSubtypes(t.C, llvmTypeRefPtr(&ret[0])) + return +} + func ArrayType(elementType Type, elementCount int) (t Type) { t.C = C.LLVMArrayType(elementType.C, C.unsigned(elementCount)) return Modified: vendor/llvm/dist/bindings/go/llvm/ir_test.go ============================================================================== --- vendor/llvm/dist/bindings/go/llvm/ir_test.go Sat Jun 10 13:22:49 2017 (r319779) +++ vendor/llvm/dist/bindings/go/llvm/ir_test.go Sat Jun 10 13:44:06 2017 (r319780) @@ -134,3 +134,29 @@ func TestDebugLoc(t *testing.T) { t.Errorf("Got metadata %v as scope, though wanted %v", loc.Scope.C, scope.C) } } + +func TestSubtypes(t *testing.T) { + cont := NewContext() + defer cont.Dispose() + + int_pointer := PointerType(cont.Int32Type(), 0) + int_inner := int_pointer.Subtypes() + if len(int_inner) != 1 { + t.Errorf("Got size %d, though wanted 1") + } + if int_inner[0] != cont.Int32Type() { + t.Errorf("Expected int32 type") + } + + st_pointer := cont.StructType([]Type{cont.Int32Type(), cont.Int8Type()}, false) + st_inner := st_pointer.Subtypes() + if len(st_inner) != 2 { + t.Errorf("Got size %d, though wanted 2") + } + if st_inner[0] != cont.Int32Type() { + t.Errorf("Expected first struct field to be int32") + } + if st_inner[1] != cont.Int8Type() { + t.Errorf("Expected second struct field to be int8") + } +} Modified: vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml ============================================================================== --- vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml Sat Jun 10 13:22:49 2017 (r319779) +++ vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml Sat Jun 10 13:44:06 2017 (r319780) @@ -459,6 +459,8 @@ external is_packed : lltype -> bool = "llvm_is_packed" external is_opaque : lltype -> bool = "llvm_is_opaque" (*--... Operations on pointer, vector, and array types .....................--*) + +external subtypes : lltype -> lltype array = "llvm_subtypes" external array_type : lltype -> int -> lltype = "llvm_array_type" external pointer_type : lltype -> lltype = "llvm_pointer_type" external qualified_pointer_type : lltype -> int -> lltype Modified: vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli ============================================================================== --- vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli Sat Jun 10 13:22:49 2017 (r319779) +++ vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli Sat Jun 10 13:44:06 2017 (r319780) @@ -658,6 +658,9 @@ val is_opaque : lltype -> bool (** {7 Operations on pointer, vector, and array types} *) +(** [subtypes ty] returns [ty]'s subtypes *) +val subtypes : lltype -> lltype array + (** [array_type ty n] returns the array type containing [n] elements of type [ty]. See the method [llvm::ArrayType::get]. *) val array_type : lltype -> int -> lltype Modified: vendor/llvm/dist/bindings/ocaml/llvm/llvm_ocaml.c ============================================================================== --- vendor/llvm/dist/bindings/ocaml/llvm/llvm_ocaml.c Sat Jun 10 13:22:49 2017 (r319779) +++ vendor/llvm/dist/bindings/ocaml/llvm/llvm_ocaml.c Sat Jun 10 13:44:06 2017 (r319780) @@ -506,6 +506,20 @@ CAMLprim value llvm_is_opaque(LLVMTypeRef StructTy) { /*--... Operations on array, pointer, and vector types .....................--*/ +/* lltype -> lltype array */ +CAMLprim value llvm_subtypes(LLVMTypeRef Ty) { + CAMLparam0(); + CAMLlocal1(Arr); + + unsigned Size = LLVMGetNumContainedTypes(Ty); + + Arr = caml_alloc(Size, 0); + + LLVMGetSubtypes(Ty, (LLVMTypeRef *) Arr); + + CAMLreturn(Arr); +} + /* lltype -> int -> lltype */ CAMLprim LLVMTypeRef llvm_array_type(LLVMTypeRef ElementTy, value Count) { return LLVMArrayType(ElementTy, Int_val(Count)); Modified: vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake ============================================================================== --- vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake Sat Jun 10 13:22:49 2017 (r319779) +++ vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake Sat Jun 10 13:44:06 2017 (r319780) @@ -101,6 +101,10 @@ else() message(FATAL_ERROR "Unknown value for LLVM_ABI_BREAKING_CHECKS: \"${LLVM_ABI_BREAKING_CHECKS}\"!") endif() +if( LLVM_REVERSE_ITERATION ) + set( LLVM_ENABLE_REVERSE_ITERATION 1 ) +endif() + if(WIN32) set(LLVM_HAVE_LINK_VERSION_SCRIPT 0) if(CYGWIN) @@ -381,6 +385,9 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE ) if (LLVM_ENABLE_CXX1Y) check_cxx_compiler_flag("-std=c++1y" CXX_SUPPORTS_CXX1Y) append_if(CXX_SUPPORTS_CXX1Y "-std=c++1y" CMAKE_CXX_FLAGS) + elseif(LLVM_ENABLE_CXX1Z) + check_cxx_compiler_flag("-std=c++1z" CXX_SUPPORTS_CXX1Z) + append_if(CXX_SUPPORTS_CXX1Z "-std=c++1z" CMAKE_CXX_FLAGS) else() check_cxx_compiler_flag("-std=c++11" CXX_SUPPORTS_CXX11) if (CXX_SUPPORTS_CXX11) Modified: vendor/llvm/dist/cmake/modules/TableGen.cmake ============================================================================== --- vendor/llvm/dist/cmake/modules/TableGen.cmake Sat Jun 10 13:22:49 2017 (r319779) +++ vendor/llvm/dist/cmake/modules/TableGen.cmake Sat Jun 10 13:44:06 2017 (r319780) @@ -30,19 +30,43 @@ function(tablegen project ofn) endif() endif() - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp - # Generate tablegen output in a temporary file. - COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR} - ${LLVM_TABLEGEN_FLAGS} - ${LLVM_TARGET_DEFINITIONS_ABSOLUTE} - -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp - # The file in LLVM_TARGET_DEFINITIONS may be not in the current - # directory and local_tds may not contain it, so we must - # explicitly list it here: - DEPENDS ${${project}_TABLEGEN_TARGET} ${local_tds} ${global_tds} - ${LLVM_TARGET_DEFINITIONS_ABSOLUTE} - COMMENT "Building ${ofn}..." - ) + # We need both _TABLEGEN_TARGET and _TABLEGEN_EXE in the DEPENDS list + # (both the target and the file) to have .inc files rebuilt on + # a tablegen change, as cmake does not propagate file-level dependencies + # of custom targets. See the following ticket for more information: + # https://cmake.org/Bug/view.php?id=15858 + # We could always have just one dependency on both the target and + # the file, but these 2 cases would produce cleaner cmake files. + if (${${project}_TABLEGEN_TARGET} STREQUAL ${${project}_TABLEGEN_EXE}) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp + # Generate tablegen output in a temporary file. + COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR} + ${LLVM_TABLEGEN_FLAGS} + ${LLVM_TARGET_DEFINITIONS_ABSOLUTE} + -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp + # The file in LLVM_TARGET_DEFINITIONS may be not in the current + # directory and local_tds may not contain it, so we must + # explicitly list it here: + DEPENDS ${${project}_TABLEGEN_TARGET} ${local_tds} ${global_tds} + ${LLVM_TARGET_DEFINITIONS_ABSOLUTE} + COMMENT "Building ${ofn}..." + ) + else() + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp + # Generate tablegen output in a temporary file. + COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR} + ${LLVM_TABLEGEN_FLAGS} + ${LLVM_TARGET_DEFINITIONS_ABSOLUTE} + -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp + # The file in LLVM_TARGET_DEFINITIONS may be not in the current + # directory and local_tds may not contain it, so we must + # explicitly list it here: + DEPENDS ${${project}_TABLEGEN_TARGET} ${${project}_TABLEGEN_EXE} + ${local_tds} ${global_tds} + ${LLVM_TARGET_DEFINITIONS_ABSOLUTE} + COMMENT "Building ${ofn}..." + ) + endif() add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn} # Only update the real output file if there are any differences. # This prevents recompilation of all the files depending on it if there Modified: vendor/llvm/dist/docs/AMDGPUUsage.rst ============================================================================== --- vendor/llvm/dist/docs/AMDGPUUsage.rst Sat Jun 10 13:22:49 2017 (r319779) +++ vendor/llvm/dist/docs/AMDGPUUsage.rst Sat Jun 10 13:44:06 2017 (r319780) @@ -1,109 +1,3441 @@ -============================== -User Guide for AMDGPU Back-end -============================== +============================= +User Guide for AMDGPU Backend +============================= +.. contents:: + :local: + Introduction ============ -The AMDGPU back-end provides ISA code generation for AMD GPUs, starting with -the R600 family up until the current Volcanic Islands (GCN Gen 3). +The AMDGPU backend provides ISA code generation for AMD GPUs, starting with the +R600 family up until the current GCN families. It lives in the +``lib/Target/AMDGPU`` directory. -Refer to `AMDGPU section in Architecture & Platform Information for Compiler Writers `_ -for additional documentation. +LLVM +==== -Conventions -=========== +.. _amdgpu-target-triples: +Target Triples +-------------- + +Use the ``clang -target ---`` option to +specify the target triple: + + .. table:: AMDGPU Target Triples + :name: amdgpu-target-triples-table + + ============ ======== ========= =========== + Architecture Vendor OS Environment + ============ ======== ========= =========== + r600 amd + amdgcn amd + amdgcn amd amdhsa + amdgcn amd amdhsa opencl + amdgcn amd amdhsa amdgizcl + amdgcn amd amdhsa amdgiz + amdgcn amd amdhsa hcc + ============ ======== ========= =========== + +``r600-amd--`` + Supports AMD GPUs HD2XXX-HD6XXX for graphics and compute shaders executed on + the MESA runtime. + +``amdgcn-amd--`` + Supports AMD GPUs GCN 6 onwards for graphics and compute shaders executed on + the MESA runtime. + +``amdgcn-amd-amdhsa-`` + Supports AMD GCN GPUs GFX6 onwards for compute kernels executed on HSA [HSA]_ + compatible runtimes such as AMD's ROCm [AMD-ROCm]_. + +``amdgcn-amd-amdhsa-opencl`` + Supports AMD GCN GPUs GFX6 onwards for OpenCL compute kernels executed on HSA + [HSA]_ compatible runtimes such as AMD's ROCm [AMD-ROCm]_. See + :ref:`amdgpu-opencl`. + +``amdgcn-amd-amdhsa-amdgizcl`` + Same as ``amdgcn-amd-amdhsa-opencl`` except a different address space mapping + is used (see :ref:`amdgpu-address-spaces`). + +``amdgcn-amd-amdhsa-amdgiz`` + Same as ``amdgcn-amd-amdhsa-`` except a different address space mapping is + used (see :ref:`amdgpu-address-spaces`). + +``amdgcn-amd-amdhsa-hcc`` + Supports AMD GCN GPUs GFX6 onwards for AMD HC language compute kernels + executed on HSA [HSA]_ compatible runtimes such as AMD's ROCm [AMD-ROCm]_. See + :ref:`amdgpu-hcc`. + +.. _amdgpu-processors: + +Processors +---------- + +Use the ``clang -mcpu `` option to specify the AMD GPU processor. The +names from both the *Processor* and *Alternative Processor* can be used. + + .. table:: AMDGPU Processors + :name: amdgpu-processors-table + + ========== =========== ============ ===== ======= ================== + Processor Alternative Target dGPU/ Runtime Example + Processor Triple APU Support Products + Architecture + ========== =========== ============ ===== ======= ================== + **R600** [AMD-R6xx]_ + -------------------------------------------------------------------- + r600 r600 dGPU + r630 r600 dGPU + rs880 r600 dGPU + rv670 r600 dGPU + **R700** [AMD-R7xx]_ + -------------------------------------------------------------------- + rv710 r600 dGPU + rv730 r600 dGPU + rv770 r600 dGPU + **Evergreen** [AMD-Evergreen]_ + -------------------------------------------------------------------- + cedar r600 dGPU + redwood r600 dGPU + sumo r600 dGPU + juniper r600 dGPU + cypress r600 dGPU + **Northern Islands** [AMD-Cayman-Trinity]_ + -------------------------------------------------------------------- + barts r600 dGPU + turks r600 dGPU + caicos r600 dGPU + cayman r600 dGPU + **GCN GFX6 (Southern Islands (SI))** [AMD-Souther-Islands]_ + -------------------------------------------------------------------- + gfx600 - SI amdgcn dGPU + - tahiti + gfx601 - pitcairn amdgcn dGPU + - verde + - oland + - hainan + **GCN GFX7 (Sea Islands (CI))** [AMD-Sea-Islands]_ + -------------------------------------------------------------------- + gfx700 - bonaire amdgcn dGPU - Radeon HD 7790 + - Radeon HD 8770 + - R7 260 + - R7 260X + \ - kaveri amdgcn APU - A6-7000 + - A6 Pro-7050B + - A8-7100 + - A8 Pro-7150B + - A10-7300 + - A10 Pro-7350B + - FX-7500 + - A8-7200P + - A10-7400P + - FX-7600P + gfx701 - hawaii amdgcn dGPU ROCm - FirePro W8100 + - FirePro W9100 + - FirePro S9150 + - FirePro S9170 + gfx702 dGPU ROCm - Radeon R9 290 + - Radeon R9 290x + - Radeon R390 + - Radeon R390x + gfx703 - kabini amdgcn APU - E1-2100 + - mullins - E1-2200 + - E1-2500 + - E2-3000 + - E2-3800 + - A4-5000 + - A4-5100 + - A6-5200 + - A4 Pro-3340B + **GCN GFX8 (Volcanic Islands (VI))** [AMD-Volcanic-Islands]_ + -------------------------------------------------------------------- + gfx800 - iceland amdgcn dGPU - FirePro S7150 + - FirePro S7100 + - FirePro W7100 + - Radeon R285 + - Radeon R9 380 + - Radeon R9 385 + - Mobile FirePro + M7170 + gfx801 - carrizo amdgcn APU - A6-8500P + - Pro A6-8500B + - A8-8600P + - Pro A8-8600B + - FX-8800P + - Pro A12-8800B + \ amdgcn APU ROCm - A10-8700P + - Pro A10-8700B + - A10-8780P + \ amdgcn APU - A10-9600P + - A10-9630P + - A12-9700P + - A12-9730P + - FX-9800P + - FX-9830P + \ amdgcn APU - E2-9010 + - A6-9210 + - A9-9410 + gfx802 - tonga amdgcn dGPU ROCm Same as gfx800 + gfx803 - fiji amdgcn dGPU ROCm - Radeon R9 Nano + - Radeon R9 Fury + - Radeon R9 FuryX + - Radeon Pro Duo + - FirePro S9300x2 + \ - polaris10 amdgcn dGPU ROCm - Radeon RX 470 + - Radeon RX 480 + \ - polaris11 amdgcn dGPU ROCm - Radeon RX 460 + gfx804 amdgcn dGPU Same as gfx803 + gfx810 - stoney amdgcn APU + **GCN GFX9** + -------------------------------------------------------------------- + gfx900 amdgcn dGPU - FirePro W9500 + - FirePro S9500 + - FirePro S9500x2 + gfx901 amdgcn dGPU ROCm Same as gfx900 + except XNACK is + enabled + gfx902 amdgcn APU *TBA* + + .. TODO + Add product + names. + gfx903 amdgcn APU Same as gfx902 + except XNACK is + enabled + ========== =========== ============ ===== ======= ================== + +.. _amdgpu-address-spaces: + Address Spaces -------------- -The AMDGPU back-end uses the following address space mapping: +The AMDGPU backend uses the following address space mappings. - ================== =================== ============== - LLVM Address Space DWARF Address Space Memory Space - ================== =================== ============== - 0 1 Private - 1 N/A Global - 2 N/A Constant - 3 2 Local - 4 N/A Generic (Flat) - 5 N/A Region - ================== =================== ============== +The memory space names used in the table, aside from the region memory space, is +from the OpenCL standard. -The terminology in the table, aside from the region memory space, is from the -OpenCL standard. +LLVM Address Space number is used throughout LLVM (for example, in LLVM IR). -LLVM Address Space is used throughout LLVM (for example, in LLVM IR). DWARF -Address Space is emitted in DWARF, and is used by tools, such as debugger, -profiler and others. + .. table:: Address Space Mapping + :name: amdgpu-address-space-mapping-table + ================== ================= ================= ================= ================= + LLVM Address Space Memory Space + ------------------ ----------------------------------------------------------------------- + \ Current Default amdgiz/amdgizcl hcc Future Default + ================== ================= ================= ================= ================= + 0 Private (Scratch) Generic (Flat) Generic (Flat) Generic (Flat) + 1 Global Global Global Global + 2 Constant Constant Constant Region (GDS) + 3 Local (group/LDS) Local (group/LDS) Local (group/LDS) Local (group/LDS) + 4 Generic (Flat) Region (GDS) Region (GDS) Constant + 5 Region (GDS) Private (Scratch) Private (Scratch) Private (Scratch) + ================== ================= ================= ================= ================= + +Current Default + This is the current default address space mapping used for all languages + except hcc. This will shortly be deprecated. + +amdgiz/amdgizcl + This is the current address space mapping used when ``amdgiz`` or ``amdgizcl`` + is specified as the target triple environment value. + +hcc + This is the current address space mapping used when ``hcc`` is specified as + the target triple environment value.This will shortly be deprecated. + +Future Default + This will shortly be the only address space mapping for all languages using + AMDGPU backend. + +.. _amdgpu-memory-scopes: + +Memory Scopes +------------- + +This section provides LLVM memory synchronization scopes supported by the AMDGPU +backend memory model when the target triple OS is ``amdhsa`` (see +:ref:`amdgpu-amdhsa-memory-model` and :ref:`amdgpu-target-triples`). + +The memory model supported is based on the HSA memory model [HSA]_ which is +based in turn on HRF-indirect with scope inclusion [HRF]_. The happens-before +relation is transitive over the synchonizes-with relation independent of scope, +and synchonizes-with allows the memory scope instances to be inclusive (see +table :ref:`amdgpu-amdhsa-llvm-sync-scopes-amdhsa-table`). + +This is different to the OpenCL [OpenCL]_ memory model which does not have scope +inclusion and requires the memory scopes to exactly match. However, this +is conservatively correct for OpenCL. + + .. table:: AMDHSA LLVM Sync Scopes for AMDHSA + :name: amdgpu-amdhsa-llvm-sync-scopes-amdhsa-table + + ================ ========================================================== + LLVM Sync Scope Description + ================ ========================================================== + *none* The default: ``system``. + + Synchronizes with, and participates in modification and + seq_cst total orderings with, other operations (except + image operations) for all address spaces (except private, + or generic that accesses private) provided the other + operation's sync scope is: + + - ``system``. + - ``agent`` and executed by a thread on the same agent. + - ``workgroup`` and executed by a thread in the same + workgroup. + - ``wavefront`` and executed by a thread in the same + wavefront. + + ``agent`` Synchronizes with, and participates in modification and + seq_cst total orderings with, other operations (except + image operations) for all address spaces (except private, + or generic that accesses private) provided the other + operation's sync scope is: + + - ``system`` or ``agent`` and executed by a thread on the + same agent. + - ``workgroup`` and executed by a thread in the same + workgroup. + - ``wavefront`` and executed by a thread in the same + wavefront. + + ``workgroup`` Synchronizes with, and participates in modification and + seq_cst total orderings with, other operations (except + image operations) for all address spaces (except private, + or generic that accesses private) provided the other + operation's sync scope is: + + - ``system``, ``agent`` or ``workgroup`` and executed by a + thread in the same workgroup. + - ``wavefront`` and executed by a thread in the same + wavefront. + + ``wavefront`` Synchronizes with, and participates in modification and + seq_cst total orderings with, other operations (except + image operations) for all address spaces (except private, + or generic that accesses private) provided the other + operation's sync scope is: + + - ``system``, ``agent``, ``workgroup`` or ``wavefront`` + and executed by a thread in the same wavefront. + + ``singlethread`` Only synchronizes with, and participates in modification + and seq_cst total orderings with, other operations (except + image operations) running in the same thread for all + address spaces (for example, in signal handlers). + ================ ========================================================== + +AMDGPU Intrinsics +----------------- + +The AMDGPU backend implements the following intrinsics. + +*This section is WIP.* + +.. TODO + List AMDGPU intrinsics + +Code Object +=========== + +The AMDGPU backend generates a standard ELF [ELF]_ relocatable code object that +can be linked by ``lld`` to produce a standard ELF shared code object which can +be loaded and executed on an AMDGPU target. + +Header +------ + +The AMDGPU backend uses the following ELF header: + + .. table:: AMDGPU ELF Header + :name: amdgpu-elf-header-table + + ========================== ========================= + Field Value + ========================== ========================= + ``e_ident[EI_CLASS]`` ``ELFCLASS64`` + ``e_ident[EI_DATA]`` ``ELFDATA2LSB`` + ``e_ident[EI_OSABI]`` ``ELFOSABI_AMDGPU_HSA`` + ``e_ident[EI_ABIVERSION]`` ``ELFABIVERSION_AMDGPU_HSA`` + ``e_type`` ``ET_REL`` or ``ET_DYN`` + ``e_machine`` ``EM_AMDGPU`` + ``e_entry`` 0 + ``e_flags`` 0 + ========================== ========================= + +.. + + .. table:: AMDGPU ELF Header Enumeration Values + :name: amdgpu-elf-header-enumeration-values-table + + ============================ ===== + Name Value + ============================ ===== + ``EM_AMDGPU`` 224 + ``ELFOSABI_AMDGPU_HSA`` 64 + ``ELFABIVERSION_AMDGPU_HSA`` 1 + ============================ ===== + +``e_ident[EI_CLASS]`` + The ELF class is always ``ELFCLASS64``. The AMDGPU backend only supports 64 bit + applications. + +``e_ident[EI_DATA]`` + All AMDGPU targets use ELFDATA2LSB for little-endian byte ordering. + +``e_ident[EI_OSABI]`` + The AMD GPU architecture specific OS ABI of ``ELFOSABI_AMDGPU_HSA`` is used to + specify that the code object conforms to the AMD HSA runtime ABI [HSA]_. + +``e_ident[EI_ABIVERSION]`` + The AMD GPU architecture specific OS ABI version of + ``ELFABIVERSION_AMDGPU_HSA`` is used to specify the version of AMD HSA runtime + ABI to which the code object conforms. + +``e_type`` + Can be one of the following values: + + + ``ET_REL`` + The type produced by the AMD GPU backend compiler as it is relocatable code + object. + + ``ET_DYN`` + The type produced by the linker as it is a shared code object. + + The AMD HSA runtime loader requires a ``ET_DYN`` code object. + +``e_machine`` + The value ``EM_AMDGPU`` is used for the machine for all members of the AMD GPU + architecture family. The specific member is specified in the + ``NT_AMD_AMDGPU_ISA`` entry in the ``.note`` section (see + :ref:`amdgpu-note-records`). + +``e_entry`` + The entry point is 0 as the entry points for individual kernels must be + selected in order to invoke them through AQL packets. + +``e_flags`` + The value is 0 as no flags are used. + +Sections +-------- + +An AMDGPU target ELF code object has the standard ELF sections which include: + + .. table:: AMDGPU ELF Sections + :name: amdgpu-elf-sections-table + + ================== ================ ================================= + Name Type Attributes + ================== ================ ================================= + ``.bss`` ``SHT_NOBITS`` ``SHF_ALLOC`` + ``SHF_WRITE`` + ``.data`` ``SHT_PROGBITS`` ``SHF_ALLOC`` + ``SHF_WRITE`` + ``.debug_``\ *\** ``SHT_PROGBITS`` *none* + ``.dynamic`` ``SHT_DYNAMIC`` ``SHF_ALLOC`` + ``.dynstr`` ``SHT_PROGBITS`` ``SHF_ALLOC`` + ``.dynsym`` ``SHT_PROGBITS`` ``SHF_ALLOC`` + ``.got`` ``SHT_PROGBITS`` ``SHF_ALLOC`` + ``SHF_WRITE`` + ``.hash`` ``SHT_HASH`` ``SHF_ALLOC`` + ``.note`` ``SHT_NOTE`` *none* + ``.rela``\ *name* ``SHT_RELA`` *none* + ``.rela.dyn`` ``SHT_RELA`` *none* + ``.rodata`` ``SHT_PROGBITS`` ``SHF_ALLOC`` + ``.shstrtab`` ``SHT_STRTAB`` *none* + ``.strtab`` ``SHT_STRTAB`` *none* + ``.symtab`` ``SHT_SYMTAB`` *none* + ``.text`` ``SHT_PROGBITS`` ``SHF_ALLOC`` + ``SHF_EXECINSTR`` + ================== ================ ================================= + +These sections have their standard meanings (see [ELF]_) and are only generated +if needed. + +``.debug``\ *\** + The standard DWARF sections. See :ref:`amdgpu-dwarf` for information on the + DWARF produced by the AMDGPU backend. + +``.dynamic``, ``.dynstr``, ``.dynstr``, ``.hash`` + The standard sections used by a dynamic loader. + +``.note`` + See :ref:`amdgpu-note-records` for the note records supported by the AMDGPU + backend. + +``.rela``\ *name*, ``.rela.dyn`` + For relocatable code objects, *name* is the name of the section that the + relocation records apply. For example, ``.rela.text`` is the section name for + relocation records associated with the ``.text`` section. + + For linked shared code objects, ``.rela.dyn`` contains all the relocation + records from each of the relocatable code object's ``.rela``\ *name* sections. + + See :ref:`amdgpu-relocation-records` for the relocation records supported by + the AMDGPU backend. + +``.text`` + The executable machine code for the kernels and functions they call. Generated + as position independent code. See :ref:`amdgpu-code-conventions` for + information on conventions used in the isa generation. + +.. _amdgpu-note-records: + +Note Records +------------ + +As required by ``ELFCLASS64``, minimal zero byte padding must be generated after +the ``name`` field to ensure the ``desc`` field is 4 byte aligned. In addition, +minimal zero byte padding must be generated to ensure the ``desc`` field size is +a multiple of 4 bytes. The ``sh_addralign`` field of the ``.note`` section must +be at least 4 to indicate at least 8 byte alignment. + +The AMDGPU backend code object uses the following ELF note records in the +``.note`` section. The *Description* column specifies the layout of the note +record’s ``desc`` field. All fields are consecutive bytes. Note records with +variable size strings have a corresponding ``*_size`` field that specifies the +number of bytes, including the terminating null character, in the string. The +string(s) come immediately after the preceding fields. + +Additional note records can be present. + + .. table:: AMDGPU ELF Note Records + :name: amdgpu-elf-note-records-table + + ===== ========================== ========================================== + Name Type Description + ===== ========================== ========================================== + "AMD" ``NT_AMD_AMDGPU_METADATA`` + "AMD" ``NT_AMD_AMDGPU_ISA`` + ===== ========================== ========================================== + +.. + + .. table:: AMDGPU ELF Note Record Enumeration Values + :name: amdgpu-elf-note-record-enumeration-values-table + + ============================= ===== + Name Value + ============================= ===== + *reserved* 0-9 + ``NT_AMD_AMDGPU_METADATA`` 10 + ``NT_AMD_AMDGPU_ISA`` 11 + ============================= ===== + +``NT_AMD_AMDGPU_ISA`` + Specifies the instruction set architecture used by the machine code contained + in the code object. + + This note record is required for code objects containing machine code for + processors matching the ``amdgcn`` architecture in table + :ref:`amdgpu-processors`. + + The null terminated string has the following syntax: + + *architecture*\ ``-``\ *vendor*\ ``-``\ *os*\ ``-``\ *environment*\ ``-``\ *processor* + + where: + + *architecture* + The architecture from table :ref:`amdgpu-target-triples-table`. + + This is always ``amdgcn`` when the target triple OS is ``amdhsa`` (see + :ref:`amdgpu-target-triples`). + + *vendor* + The vendor from table :ref:`amdgpu-target-triples-table`. + + For the AMDGPU backend this is always ``amd``. + + *os* + The OS from table :ref:`amdgpu-target-triples-table`. + + *environment* + An environment from table :ref:`amdgpu-target-triples-table`, or blank if + the environment has no affect on the execution of the code object. + + For the AMDGPU backend this is currently always blank. + *processor* + The processor from table :ref:`amdgpu-processors-table`. + + For example: + + ``amdgcn-amd-amdhsa--gfx901`` + +``NT_AMD_AMDGPU_METADATA`` + Specifies extensible metadata associated with the code object. See + :ref:`amdgpu-code-object-metadata` for the syntax of the code object metadata + string. + + This note record is required and must contain the minimum information + necessary to support the ROCM kernel queries. For example, the segment sizes + needed in a dispatch packet. In addition, a high level language runtime may + require other information to be included. For example, the AMD OpenCL runtime + records kernel argument information. + + .. TODO + Is the string null terminated? It probably should not if YAML allows it to + contain null characters, otherwise it should be. + +.. _amdgpu-code-object-metadata: + +Code Object Metadata +-------------------- + +The code object metadata is specified by the ``NT_AMD_AMDHSA_METADATA`` note +record (see :ref:`amdgpu-note-records`). + +The metadata is specified as a YAML formated string (see [YAML]_ and +:doc:`YamlIO`). + +The metadata is represented as a single YAML document comprised of the mapping +defined in table :ref:`amdgpu-amdhsa-code-object-metadata-mapping-table` and +referenced tables. + +For boolean values, the string values of ``false`` and ``true`` are used for +false and true respectively. + +Additional information can be added to the mappings. To avoid conflicts, any +non-AMD key names should be prefixed by "*vendor-name*.". + + .. table:: AMDHSA Code Object Metadata Mapping + :name: amdgpu-amdhsa-code-object-metadata-mapping-table + + ========== ============== ========= ======================================= + String Key Value Type Required? Description + ========== ============== ========= ======================================= + "Version" sequence of Required - The first integer is the major + 2 integers version. Currently 1. + - The second integer is the minor + version. Currently 0. + "Printf" sequence of Each string is encoded information + strings about a printf function call. The + encoded information is organized as + fields separated by colon (':'): + + ``ID:N:S[0]:S[1]:...:S[N-1]:FormatString`` + + where: + + ``ID`` + A 32 bit integer as a unique id for + each printf function call + + ``N`` + A 32 bit integer equal to the number + of arguments of printf function call + minus 1 + + ``S[i]`` (where i = 0, 1, ... , N-1) + 32 bit integers for the size in bytes + of the i-th FormatString argument of + the printf function call + + FormatString + The format string passed to the + printf function call. + "Kernels" sequence of Required Sequence of the mappings for each + mapping kernel in the code object. See + :ref:`amdgpu-amdhsa-code-object-kernel-metadata-mapping-table` + for the definition of the mapping. + ========== ============== ========= ======================================= + +.. + + .. table:: AMDHSA Code Object Kernel Metadata Mapping + :name: amdgpu-amdhsa-code-object-kernel-metadata-mapping-table + + ================= ============== ========= ================================ + String Key Value Type Required? Description + ================= ============== ========= ================================ + "Name" string Required Source name of the kernel. + "SymbolName" string Required Name of the kernel + descriptor ELF symbol. + "Language" string Source language of the kernel. + Values include: + + - "OpenCL C" + - "OpenCL C++" + - "HCC" + - "OpenMP" + + "LanguageVersion" sequence of - The first integer is the major + 2 integers version. + - The second integer is the + minor version. + "Attrs" mapping Mapping of kernel attributes. + See + :ref:`amdgpu-amdhsa-code-object-kernel-attribute-metadata-mapping-table` + for the mapping definition. + "Arguments" sequence of Sequence of mappings of the + mapping kernel arguments. See + :ref:`amdgpu-amdhsa-code-object-kernel-argument-metadata-mapping-table` + for the definition of the mapping. + "CodeProps" mapping Mapping of properties related to + the kernel code. See + :ref:`amdgpu-amdhsa-code-object-kernel-code-properties-metadata-mapping-table` + for the mapping definition. + "DebugProps" mapping Mapping of properties related to + the kernel debugging. See + :ref:`amdgpu-amdhsa-code-object-kernel-debug-properties-metadata-mapping-table` + for the mapping definition. + ================= ============== ========= ================================ + +.. + + .. table:: AMDHSA Code Object Kernel Attribute Metadata Mapping + :name: amdgpu-amdhsa-code-object-kernel-attribute-metadata-mapping-table + + =================== ============== ========= ============================== + String Key Value Type Required? Description + =================== ============== ========= ============================== + "ReqdWorkGroupSize" sequence of The dispatch work-group size + 3 integers X, Y, Z must correspond to the + specified values. + + Corresponds to the OpenCL + ``reqd_work_group_size`` + attribute. + "WorkGroupSizeHint" sequence of The dispatch work-group size + 3 integers X, Y, Z is likely to be the + specified values. + + Corresponds to the OpenCL + ``work_group_size_hint`` + attribute. + "VecTypeHint" string The name of a scalar or vector + type. + + Corresponds to the OpenCL + ``vec_type_hint`` attribute. + =================== ============== ========= ============================== + +.. + + .. table:: AMDHSA Code Object Kernel Argument Metadata Mapping + :name: amdgpu-amdhsa-code-object-kernel-argument-metadata-mapping-table + + ================= ============== ========= ================================ + String Key Value Type Required? Description + ================= ============== ========= ================================ + "Name" string Kernel argument name. + "TypeName" string Kernel argument type name. + "Size" integer Required Kernel argument size in bytes. + "Align" integer Required Kernel argument alignment in + bytes. Must be a power of two. + "ValueKind" string Required Kernel argument kind that + specifies how to set up the + corresponding argument. + Values include: + + "ByValue" + The argument is copied + directly into the kernarg. + + "GlobalBuffer" + A global address space pointer + to the buffer data is passed + in the kernarg. + + "DynamicSharedPointer" + A group address space pointer + to dynamically allocated LDS + is passed in the kernarg. + + "Sampler" + A global address space + pointer to a S# is passed in + the kernarg. + + "Image" + A global address space + pointer to a T# is passed in + the kernarg. + + "Pipe" + A global address space pointer + to an OpenCL pipe is passed in + the kernarg. + + "Queue" + A global address space pointer + to an OpenCL device enqueue + queue is passed in the + kernarg. + + "HiddenGlobalOffsetX" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sat Jun 10 13:44:15 2017 Return-Path: Delivered-To: svn-src-all@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 0FA32B95390; Sat, 10 Jun 2017 13:44:15 +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 BAEB078820; Sat, 10 Jun 2017 13:44:14 +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 v5ADiDmL094652; Sat, 10 Jun 2017 13:44:13 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADiD9J094651; Sat, 10 Jun 2017 13:44:13 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706101344.v5ADiD9J094651@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 10 Jun 2017 13:44:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319781 - vendor/llvm/llvm-trunk-r305145 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 13:44:15 -0000 Author: dim Date: Sat Jun 10 13:44:13 2017 New Revision: 319781 URL: https://svnweb.freebsd.org/changeset/base/319781 Log: Tag llvm trunk r305145. Added: vendor/llvm/llvm-trunk-r305145/ - copied from r319780, vendor/llvm/dist/ From owner-svn-src-all@freebsd.org Sat Jun 10 13:44:27 2017 Return-Path: Delivered-To: svn-src-all@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 199B4B953C9; Sat, 10 Jun 2017 13:44:27 +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 89C0B788C2; Sat, 10 Jun 2017 13:44:26 +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 v5ADiPKm094727; Sat, 10 Jun 2017 13:44:25 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADiNU1094698; Sat, 10 Jun 2017 13:44:23 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706101344.v5ADiNU1094698@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 10 Jun 2017 13:44:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319782 - in vendor/clang/dist: bindings/python/clang bindings/python/tests/cindex docs include/clang-c include/clang/AST include/clang/ASTMatchers include/clang/ASTMatchers/Dynamic inc... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 13:44:27 -0000 Author: dim Date: Sat Jun 10 13:44:22 2017 New Revision: 319782 URL: https://svnweb.freebsd.org/changeset/base/319782 Log: Vendor import of clang trunk r305145: https://llvm.org/svn/llvm-project/cfe/trunk@305145 Added: vendor/clang/dist/test/Analysis/nullability-notes.m vendor/clang/dist/test/CodeGen/arm-target-attr.c (contents, props changed) vendor/clang/dist/test/CodeGen/arm-thumb-mode-target-feature.c (contents, props changed) vendor/clang/dist/test/CodeGen/mips-madd4.c (contents, props changed) vendor/clang/dist/test/CodeGen/neon-aapcs-align.c (contents, props changed) vendor/clang/dist/test/CodeGenCXX/clang-sections-tentative.c (contents, props changed) vendor/clang/dist/test/CodeGenCXX/clang-sections.cpp (contents, props changed) vendor/clang/dist/test/CodeGenObjC/sections.m vendor/clang/dist/test/FixIt/fixit-format-darwin.m vendor/clang/dist/test/Headers/ms-cppoperkey.cpp (contents, props changed) vendor/clang/dist/test/Headers/ms-cppoperkey1.cpp (contents, props changed) vendor/clang/dist/test/Headers/ms-cppoperkey2.cpp (contents, props changed) vendor/clang/dist/test/Index/pipe-size.cl vendor/clang/dist/test/Index/singe-file-parse.m vendor/clang/dist/test/Modules/Inputs/crash-typo-correction-visibility/ vendor/clang/dist/test/Modules/Inputs/crash-typo-correction-visibility/module.h (contents, props changed) vendor/clang/dist/test/Modules/Inputs/crash-typo-correction-visibility/module.modulemap vendor/clang/dist/test/Modules/crash-typo-correction-visibility.cpp (contents, props changed) vendor/clang/dist/test/Modules/preprocess-build-diamond.m vendor/clang/dist/test/Modules/preprocess-build.cpp (contents, props changed) vendor/clang/dist/test/Sema/ext_vector_ops.c (contents, props changed) vendor/clang/dist/test/Sema/pragma-clang-section.c (contents, props changed) vendor/clang/dist/test/SemaCXX/PR27037.cpp (contents, props changed) Modified: vendor/clang/dist/bindings/python/clang/cindex.py vendor/clang/dist/bindings/python/tests/cindex/test_type.py vendor/clang/dist/docs/ClangFormatStyleOptions.rst vendor/clang/dist/docs/LanguageExtensions.rst vendor/clang/dist/docs/LibASTMatchersReference.html vendor/clang/dist/include/clang-c/Index.h vendor/clang/dist/include/clang/AST/Decl.h vendor/clang/dist/include/clang/AST/ExternalASTMerger.h vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h vendor/clang/dist/include/clang/ASTMatchers/ASTMatchers.h vendor/clang/dist/include/clang/ASTMatchers/Dynamic/Diagnostics.h vendor/clang/dist/include/clang/ASTMatchers/Dynamic/Parser.h vendor/clang/dist/include/clang/ASTMatchers/Dynamic/VariantValue.h vendor/clang/dist/include/clang/Basic/Attr.td vendor/clang/dist/include/clang/Basic/DiagnosticFrontendKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticLexKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticSerializationKinds.td vendor/clang/dist/include/clang/Basic/LangOptions.h vendor/clang/dist/include/clang/Basic/SourceManager.h vendor/clang/dist/include/clang/Driver/Options.td vendor/clang/dist/include/clang/Edit/EditedSource.h vendor/clang/dist/include/clang/Frontend/ASTUnit.h vendor/clang/dist/include/clang/Frontend/CodeGenOptions.def vendor/clang/dist/include/clang/Frontend/CompilerInstance.h vendor/clang/dist/include/clang/Frontend/FrontendAction.h vendor/clang/dist/include/clang/Frontend/FrontendActions.h vendor/clang/dist/include/clang/Frontend/PreprocessorOutputOptions.h vendor/clang/dist/include/clang/Lex/ModuleLoader.h vendor/clang/dist/include/clang/Lex/Preprocessor.h vendor/clang/dist/include/clang/Lex/PreprocessorOptions.h vendor/clang/dist/include/clang/Parse/Parser.h vendor/clang/dist/include/clang/Rewrite/Frontend/FrontendActions.h vendor/clang/dist/include/clang/Sema/Overload.h vendor/clang/dist/include/clang/Sema/Sema.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h vendor/clang/dist/include/clang/Tooling/Tooling.h vendor/clang/dist/lib/AST/ASTContext.cpp vendor/clang/dist/lib/AST/ASTImporter.cpp vendor/clang/dist/lib/AST/CMakeLists.txt vendor/clang/dist/lib/AST/Decl.cpp vendor/clang/dist/lib/AST/DeclObjC.cpp vendor/clang/dist/lib/AST/ODRHash.cpp vendor/clang/dist/lib/AST/StmtProfile.cpp vendor/clang/dist/lib/AST/Type.cpp vendor/clang/dist/lib/ASTMatchers/Dynamic/Diagnostics.cpp vendor/clang/dist/lib/ASTMatchers/Dynamic/Marshallers.h vendor/clang/dist/lib/ASTMatchers/Dynamic/Parser.cpp vendor/clang/dist/lib/ASTMatchers/Dynamic/Registry.cpp vendor/clang/dist/lib/ASTMatchers/Dynamic/VariantValue.cpp vendor/clang/dist/lib/Basic/SourceManager.cpp vendor/clang/dist/lib/Basic/Targets.cpp vendor/clang/dist/lib/CodeGen/BackendUtil.cpp vendor/clang/dist/lib/CodeGen/CGBlocks.cpp vendor/clang/dist/lib/CodeGen/CGCXXABI.cpp vendor/clang/dist/lib/CodeGen/CGDebugInfo.cpp vendor/clang/dist/lib/CodeGen/CGDecl.cpp vendor/clang/dist/lib/CodeGen/CGDeclCXX.cpp vendor/clang/dist/lib/CodeGen/CGException.cpp vendor/clang/dist/lib/CodeGen/CGExpr.cpp vendor/clang/dist/lib/CodeGen/CGObjC.cpp vendor/clang/dist/lib/CodeGen/CGObjCMac.cpp vendor/clang/dist/lib/CodeGen/CGOpenMPRuntime.cpp vendor/clang/dist/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp vendor/clang/dist/lib/CodeGen/CGStmtOpenMP.cpp vendor/clang/dist/lib/CodeGen/CodeGenFunction.cpp vendor/clang/dist/lib/CodeGen/CodeGenModule.cpp vendor/clang/dist/lib/CodeGen/ItaniumCXXABI.cpp vendor/clang/dist/lib/CodeGen/MicrosoftCXXABI.cpp vendor/clang/dist/lib/Driver/CMakeLists.txt vendor/clang/dist/lib/Driver/Driver.cpp vendor/clang/dist/lib/Driver/SanitizerArgs.cpp vendor/clang/dist/lib/Driver/ToolChains/Arch/Mips.cpp vendor/clang/dist/lib/Driver/ToolChains/Clang.cpp vendor/clang/dist/lib/Driver/ToolChains/Linux.cpp vendor/clang/dist/lib/Driver/ToolChains/MSVC.cpp vendor/clang/dist/lib/Edit/EditedSource.cpp vendor/clang/dist/lib/Format/ContinuationIndenter.cpp vendor/clang/dist/lib/Format/TokenAnnotator.cpp vendor/clang/dist/lib/Format/WhitespaceManager.cpp vendor/clang/dist/lib/Frontend/ASTMerge.cpp vendor/clang/dist/lib/Frontend/ASTUnit.cpp vendor/clang/dist/lib/Frontend/CompilerInstance.cpp vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp vendor/clang/dist/lib/Frontend/FrontendAction.cpp vendor/clang/dist/lib/Frontend/FrontendActions.cpp vendor/clang/dist/lib/Frontend/Rewrite/CMakeLists.txt vendor/clang/dist/lib/Frontend/Rewrite/FrontendActions.cpp vendor/clang/dist/lib/FrontendTool/ExecuteCompilerInvocation.cpp vendor/clang/dist/lib/Headers/avxintrin.h vendor/clang/dist/lib/Headers/bmiintrin.h vendor/clang/dist/lib/Headers/emmintrin.h vendor/clang/dist/lib/Headers/xmmintrin.h vendor/clang/dist/lib/Lex/PPDirectives.cpp vendor/clang/dist/lib/Lex/Pragma.cpp vendor/clang/dist/lib/Lex/Preprocessor.cpp vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp vendor/clang/dist/lib/Parse/ParsePragma.cpp vendor/clang/dist/lib/Sema/SemaAttr.cpp vendor/clang/dist/lib/Sema/SemaCodeComplete.cpp vendor/clang/dist/lib/Sema/SemaDecl.cpp vendor/clang/dist/lib/Sema/SemaDeclCXX.cpp vendor/clang/dist/lib/Sema/SemaExpr.cpp vendor/clang/dist/lib/Sema/SemaExprCXX.cpp vendor/clang/dist/lib/Sema/SemaLookup.cpp vendor/clang/dist/lib/Sema/SemaOverload.cpp vendor/clang/dist/lib/Sema/SemaStmt.cpp vendor/clang/dist/lib/Sema/SemaTemplate.cpp vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp vendor/clang/dist/lib/Sema/SemaTemplateInstantiate.cpp vendor/clang/dist/lib/Sema/SemaTemplateInstantiateDecl.cpp vendor/clang/dist/lib/Sema/SemaType.cpp vendor/clang/dist/lib/Serialization/ASTReader.cpp vendor/clang/dist/lib/Serialization/ASTReaderDecl.cpp vendor/clang/dist/lib/Serialization/ASTWriter.cpp vendor/clang/dist/lib/Serialization/ASTWriterDecl.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/BugReporter.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/PathDiagnostic.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.fct.spec/p4.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.meaning/dcl.fct.default/p4.cpp vendor/clang/dist/test/CXX/drs/dr13xx.cpp vendor/clang/dist/test/CXX/temp/temp.decls/temp.mem/p5.cpp vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p4.cpp vendor/clang/dist/test/CodeGen/arm-long-calls.c vendor/clang/dist/test/CodeGen/arm-no-movt.c vendor/clang/dist/test/CodeGen/arm-target-features.c vendor/clang/dist/test/CodeGen/captured-statements.c vendor/clang/dist/test/CodeGenCXX/captured-statements.cpp vendor/clang/dist/test/CodeGenObjC/exceptions-asm-attribute.m vendor/clang/dist/test/CodeGenObjC/image-info.m vendor/clang/dist/test/CodeGenObjC/metadata-symbols-64.m vendor/clang/dist/test/CodeGenObjC/metadata_symbols.m vendor/clang/dist/test/CodeGenObjC/non-lazy-classes.m vendor/clang/dist/test/Driver/baremetal.cpp vendor/clang/dist/test/Driver/cl-link.c vendor/clang/dist/test/Driver/fsanitize-coverage.c vendor/clang/dist/test/Driver/fsanitize.c vendor/clang/dist/test/FixIt/fixit.c vendor/clang/dist/test/Modules/preprocess-module.cpp vendor/clang/dist/test/Modules/requires-coroutines.mm vendor/clang/dist/test/Modules/requires-gnuinlineasm.m vendor/clang/dist/test/Modules/requires.m vendor/clang/dist/test/Modules/requires.mm vendor/clang/dist/test/Preprocessor/init.c vendor/clang/dist/test/Sema/2010-05-31-palignr.c vendor/clang/dist/test/SemaCXX/cxx0x-cursory-default-delete.cpp vendor/clang/dist/test/SemaCXX/cxx1y-generic-lambdas-capturing.cpp vendor/clang/dist/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp vendor/clang/dist/test/SemaCXX/cxx1z-noexcept-function-type.cpp vendor/clang/dist/test/SemaTemplate/deduction.cpp vendor/clang/dist/test/SemaTemplate/dependent-template-recover.cpp vendor/clang/dist/test/SemaTemplate/temp_arg_type.cpp vendor/clang/dist/tools/c-index-test/c-index-test.c vendor/clang/dist/tools/clang-check/ClangCheck.cpp vendor/clang/dist/tools/clang-format/ClangFormat.cpp vendor/clang/dist/tools/clang-offload-bundler/ClangOffloadBundler.cpp vendor/clang/dist/tools/driver/cc1as_main.cpp vendor/clang/dist/tools/libclang/CIndex.cpp vendor/clang/dist/tools/libclang/CXType.cpp vendor/clang/dist/tools/libclang/libclang.exports vendor/clang/dist/unittests/ASTMatchers/Dynamic/ParserTest.cpp vendor/clang/dist/unittests/ASTMatchers/Dynamic/RegistryTest.cpp vendor/clang/dist/unittests/ASTMatchers/Dynamic/VariantValueTest.cpp vendor/clang/dist/unittests/Basic/SourceManagerTest.cpp vendor/clang/dist/unittests/Format/FormatTestComments.cpp vendor/clang/dist/unittests/Format/FormatTestJS.cpp vendor/clang/dist/unittests/Frontend/FrontendActionTest.cpp vendor/clang/dist/unittests/Lex/LexerTest.cpp vendor/clang/dist/unittests/Lex/PPCallbacksTest.cpp vendor/clang/dist/unittests/Lex/PPConditionalDirectiveRecordTest.cpp vendor/clang/dist/unittests/Tooling/CommentHandlerTest.cpp vendor/clang/dist/unittests/Tooling/ToolingTest.cpp Modified: vendor/clang/dist/bindings/python/clang/cindex.py ============================================================================== --- vendor/clang/dist/bindings/python/clang/cindex.py Sat Jun 10 13:44:13 2017 (r319781) +++ vendor/clang/dist/bindings/python/clang/cindex.py Sat Jun 10 13:44:22 2017 (r319782) @@ -2162,6 +2162,12 @@ class Type(Structure): return conf.lib.clang_isFunctionTypeVariadic(self) + def get_address_space(self): + return conf.lib.clang_getAddressSpace(self) + + def get_typedef_name(self): + return conf.lib.clang_getTypedefName(self) + def is_pod(self): """Determine whether this Type represents plain old data (POD).""" return conf.lib.clang_isPODType(self) @@ -3664,6 +3670,11 @@ functionList = [ [Cursor], Type, Type.from_result), + + ("clang_getTypedefName", + [Type], + _CXString, + _CXString.from_result), ("clang_getTypeKindSpelling", [c_uint], Modified: vendor/clang/dist/bindings/python/tests/cindex/test_type.py ============================================================================== --- vendor/clang/dist/bindings/python/tests/cindex/test_type.py Sat Jun 10 13:44:13 2017 (r319781) +++ vendor/clang/dist/bindings/python/tests/cindex/test_type.py Sat Jun 10 13:44:22 2017 (r319782) @@ -37,37 +37,44 @@ def test_a_struct(): assert not fields[0].type.is_const_qualified() assert fields[0].type.kind == TypeKind.INT assert fields[0].type.get_canonical().kind == TypeKind.INT + assert fields[0].type.get_typedef_name() == '' assert fields[1].spelling == 'b' assert not fields[1].type.is_const_qualified() assert fields[1].type.kind == TypeKind.TYPEDEF assert fields[1].type.get_canonical().kind == TypeKind.INT assert fields[1].type.get_declaration().spelling == 'I' + assert fields[1].type.get_typedef_name() == 'I' assert fields[2].spelling == 'c' assert not fields[2].type.is_const_qualified() assert fields[2].type.kind == TypeKind.LONG assert fields[2].type.get_canonical().kind == TypeKind.LONG + assert fields[2].type.get_typedef_name() == '' assert fields[3].spelling == 'd' assert not fields[3].type.is_const_qualified() assert fields[3].type.kind == TypeKind.ULONG assert fields[3].type.get_canonical().kind == TypeKind.ULONG + assert fields[3].type.get_typedef_name() == '' assert fields[4].spelling == 'e' assert not fields[4].type.is_const_qualified() assert fields[4].type.kind == TypeKind.LONG assert fields[4].type.get_canonical().kind == TypeKind.LONG + assert fields[4].type.get_typedef_name() == '' assert fields[5].spelling == 'f' assert fields[5].type.is_const_qualified() assert fields[5].type.kind == TypeKind.INT assert fields[5].type.get_canonical().kind == TypeKind.INT + assert fields[5].type.get_typedef_name() == '' assert fields[6].spelling == 'g' assert not fields[6].type.is_const_qualified() assert fields[6].type.kind == TypeKind.POINTER assert fields[6].type.get_pointee().kind == TypeKind.INT + assert fields[6].type.get_typedef_name() == '' assert fields[7].spelling == 'h' assert not fields[7].type.is_const_qualified() @@ -75,6 +82,7 @@ def test_a_struct(): assert fields[7].type.get_pointee().kind == TypeKind.POINTER assert fields[7].type.get_pointee().get_pointee().kind == TypeKind.POINTER assert fields[7].type.get_pointee().get_pointee().get_pointee().kind == TypeKind.INT + assert fields[7].type.get_typedef_name() == '' def test_references(): """Ensure that a Type maintains a reference to a TranslationUnit.""" @@ -404,3 +412,12 @@ def test_decay(): assert a.kind == TypeKind.INCOMPLETEARRAY assert a.element_type.kind == TypeKind.INT assert a.get_canonical().kind == TypeKind.INCOMPLETEARRAY + +def test_addrspace(): + """Ensure the address space can be queried""" + tu = get_tu('__attribute__((address_space(2))) int testInteger = 3;', 'c') + + testInteger = get_cursor(tu, 'testInteger') + + assert testInteger is not None, "Could not find testInteger." + assert testInteger.type.get_address_space() == 2 Modified: vendor/clang/dist/docs/ClangFormatStyleOptions.rst ============================================================================== --- vendor/clang/dist/docs/ClangFormatStyleOptions.rst Sat Jun 10 13:44:13 2017 (r319781) +++ vendor/clang/dist/docs/ClangFormatStyleOptions.rst Sat Jun 10 13:44:22 2017 (r319782) @@ -894,7 +894,7 @@ the configuration (without a prefix: ``Auto``). ? firstValue : SecondValueVeryVeryVeryVeryLong; - true: + false: veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongDescription ? firstValue : SecondValueVeryVeryVeryVeryLong; Modified: vendor/clang/dist/docs/LanguageExtensions.rst ============================================================================== --- vendor/clang/dist/docs/LanguageExtensions.rst Sat Jun 10 13:44:13 2017 (r319781) +++ vendor/clang/dist/docs/LanguageExtensions.rst Sat Jun 10 13:44:22 2017 (r319782) @@ -2521,3 +2521,45 @@ whether or not an attribute is supported by the pragma The attributes are applied to all matching declarations individually, even when the attribute is semantically incorrect. The attributes that aren't applied to any declaration are not verified semantically. + +Specifying section names for global objects (#pragma clang section) +=================================================================== + +The ``#pragma clang section`` directive provides a means to assign section-names +to global variables, functions and static variables. + +The section names can be specified as: + +.. code-block:: c++ + + #pragma clang section bss="myBSS" data="myData" rodata="myRodata" text="myText" + +The section names can be reverted back to default name by supplying an empty +string to the section kind, for example: + +.. code-block:: c++ + + #pragma clang section bss="" data="" text="" rodata="" + +The ``#pragma clang section`` directive obeys the following rules: + +* The pragma applies to all global variable, statics and function declarations + from the pragma to the end of the translation unit. + +* The pragma clang section is enabled automatically, without need of any flags. + +* This feature is only defined to work sensibly for ELF targets. + +* If section name is specified through _attribute_((section("myname"))), then + the attribute name gains precedence. + +* Global variables that are initialized to zero will be placed in the named + bss section, if one is present. + +* The ``#pragma clang section`` directive does not does try to infer section-kind + from the name. For example, naming a section "``.bss.mySec``" does NOT mean + it will be a bss section name. + +* The decision about which section-kind applies to each global is taken in the back-end. + Once the section-kind is known, appropriate section name, as specified by the user using + ``#pragma clang section`` directive, is applied to that global. Modified: vendor/clang/dist/docs/LibASTMatchersReference.html ============================================================================== --- vendor/clang/dist/docs/LibASTMatchersReference.html Sat Jun 10 13:44:13 2017 (r319781) +++ vendor/clang/dist/docs/LibASTMatchersReference.html Sat Jun 10 13:44:22 2017 (r319782) @@ -1859,17 +1859,36 @@ Example matches a || b (matcher = binaryOperator(hasOp
      -Matcher<CXXBoolLiteral>equalsValueT Value -
      Matches literals that are equal to the given value.
      +Matcher<CXXBoolLiteralExpr>equalsValueT  Value
      +
      Matches literals that are equal to the given value of type ValueT.
       
      -Example matches true (matcher = cxxBoolLiteral(equals(true)))
      -  true
      +Given
      +  f('false, 3.14, 42);
      +characterLiteral(equals(0))
      +  matches 'cxxBoolLiteral(equals(false)) and cxxBoolLiteral(equals(0))
      +  match false
      +floatLiteral(equals(3.14)) and floatLiteral(equals(314e-2))
      +  match 3.14
      +integerLiteral(equals(42))
      +  matches 42
       
      -Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteral>,
      +Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
                  Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
       
      +Matcher<CXXBoolLiteralExpr>equalsbool Value +
      
      +
      +
      +Matcher<CXXBoolLiteralExpr>equalsdouble Value
      +
      
      +
      +
      +Matcher<CXXBoolLiteralExpr>equalsunsigned Value
      +
      
      +
      +
       Matcher<CXXCatchStmt>isCatchAll
       
      Matches a C++ catch statement that has a catch-all handler.
       
      @@ -2296,16 +2315,35 @@ Example: matches the implicit cast around 0
       
       
       Matcher<CharacterLiteral>equalsValueT  Value
      -
      Matches literals that are equal to the given value.
      +
      Matches literals that are equal to the given value of type ValueT.
       
      -Example matches true (matcher = cxxBoolLiteral(equals(true)))
      -  true
      +Given
      +  f('false, 3.14, 42);
      +characterLiteral(equals(0))
      +  matches 'cxxBoolLiteral(equals(false)) and cxxBoolLiteral(equals(0))
      +  match false
      +floatLiteral(equals(3.14)) and floatLiteral(equals(314e-2))
      +  match 3.14
      +integerLiteral(equals(42))
      +  matches 42
       
      -Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteral>,
      +Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
                  Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
       
      +Matcher<CharacterLiteral>equalsbool Value +
      
      +
      +
      +Matcher<CharacterLiteral>equalsdouble Value
      +
      
      +
      +
      +Matcher<CharacterLiteral>equalsunsigned Value
      +
      
      +
      +
       Matcher<ClassTemplateSpecializationDecl>templateArgumentCountIsunsigned N
       
      Matches if the number of template arguments equals N.
       
      @@ -2533,16 +2571,27 @@ fieldDecl(isBitField())
       
       
       Matcher<FloatingLiteral>equalsValueT  Value
      -
      Matches literals that are equal to the given value.
      +
      Matches literals that are equal to the given value of type ValueT.
       
      -Example matches true (matcher = cxxBoolLiteral(equals(true)))
      -  true
      +Given
      +  f('false, 3.14, 42);
      +characterLiteral(equals(0))
      +  matches 'cxxBoolLiteral(equals(false)) and cxxBoolLiteral(equals(0))
      +  match false
      +floatLiteral(equals(3.14)) and floatLiteral(equals(314e-2))
      +  match 3.14
      +integerLiteral(equals(42))
      +  matches 42
       
      -Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteral>,
      +Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
                  Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
       
      +Matcher<FloatingLiteral>equalsdouble Value +
      
      +
      +
       Matcher<FunctionDecl>hasDynamicExceptionSpec
       
      Matches functions that have a dynamic exception specification.
       
      @@ -2805,14 +2854,33 @@ functionProtoType(parameterCountIs(3))
       
       
       Matcher<IntegerLiteral>equalsValueT  Value
      -
      Matches literals that are equal to the given value.
      +
      Matches literals that are equal to the given value of type ValueT.
       
      -Example matches true (matcher = cxxBoolLiteral(equals(true)))
      -  true
      +Given
      +  f('false, 3.14, 42);
      +characterLiteral(equals(0))
      +  matches 'cxxBoolLiteral(equals(false)) and cxxBoolLiteral(equals(0))
      +  match false
      +floatLiteral(equals(3.14)) and floatLiteral(equals(314e-2))
      +  match 3.14
      +integerLiteral(equals(42))
      +  matches 42
       
      -Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteral>,
      +Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
                  Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
       
      + + +Matcher<IntegerLiteral>equalsbool Value +
      
      +
      +
      +Matcher<IntegerLiteral>equalsdouble Value
      +
      
      +
      +
      +Matcher<IntegerLiteral>equalsunsigned Value
      +
      
       
       
       Matcher<MemberExpr>isArrow
      
      Modified: vendor/clang/dist/include/clang-c/Index.h
      ==============================================================================
      --- vendor/clang/dist/include/clang-c/Index.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang-c/Index.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -32,7 +32,7 @@
        * compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable.
        */
       #define CINDEX_VERSION_MAJOR 0
      -#define CINDEX_VERSION_MINOR 41
      +#define CINDEX_VERSION_MINOR 43
       
       #define CINDEX_VERSION_ENCODE(major, minor) ( \
             ((major) * 10000)                       \
      @@ -1234,7 +1234,12 @@ enum CXTranslationUnit_Flags {
          * purposes of an IDE, this is undesirable behavior and as much information
          * as possible should be reported. Use this flag to enable this behavior.
          */
      -  CXTranslationUnit_KeepGoing = 0x200
      +  CXTranslationUnit_KeepGoing = 0x200,
      +
      +  /**
      +   * \brief Sets the preprocessor in a mode for parsing a single file only.
      +   */
      +  CXTranslationUnit_SingleFileParse = 0x400
       };
       
       /**
      @@ -3415,6 +3420,16 @@ CINDEX_LINKAGE unsigned clang_isVolatileQualifiedType(
        * different level.
        */
       CINDEX_LINKAGE unsigned clang_isRestrictQualifiedType(CXType T);
      +
      +/**
      + * \brief Returns the address space of the given type.
      + */
      +CINDEX_LINKAGE unsigned clang_getAddressSpace(CXType T);
      +
      +/**
      + * \brief Returns the typedef name of the given type.
      + */
      +CINDEX_LINKAGE CXString clang_getTypedefName(CXType CT);
       
       /**
        * \brief For pointer types, returns the type of the pointee.
      
      Modified: vendor/clang/dist/include/clang/AST/Decl.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/AST/Decl.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/AST/Decl.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -851,6 +851,7 @@ class VarDecl : public DeclaratorDecl, public Redeclar
       
         class NonParmVarDeclBitfields {
           friend class VarDecl;
      +    friend class ImplicitParamDecl;
           friend class ASTDeclReader;
       
           unsigned : NumVarDeclBits;
      @@ -894,6 +895,10 @@ class VarDecl : public DeclaratorDecl, public Redeclar
           /// declared in the same block scope. This controls whether we should merge
           /// the type of this declaration with its previous declaration.
           unsigned PreviousDeclInSameBlockScope : 1;
      +
      +    /// Defines kind of the ImplicitParamDecl: 'this', 'self', 'vtt', '_cmd' or
      +    /// something else.
      +    unsigned ImplicitParamKind : 3;
         };
       
         union {
      @@ -1376,20 +1381,50 @@ class VarDecl : public DeclaratorDecl, public Redeclar
       
       class ImplicitParamDecl : public VarDecl {
         void anchor() override;
      +
       public:
      +  /// Defines the kind of the implicit parameter: is this an implicit parameter
      +  /// with pointer to 'this', 'self', '_cmd', virtual table pointers, captured
      +  /// context or something else.
      +  enum ImplicitParamKind : unsigned {
      +    ObjCSelf,        /// Parameter for Objective-C 'self' argument
      +    ObjCCmd,         /// Parameter for Objective-C '_cmd' argument
      +    CXXThis,         /// Parameter for C++ 'this' argument
      +    CXXVTT,          /// Parameter for C++ virtual table pointers
      +    CapturedContext, /// Parameter for captured context
      +    Other,           /// Other implicit parameter
      +  };
      +
      +  /// Create implicit parameter.
         static ImplicitParamDecl *Create(ASTContext &C, DeclContext *DC,
                                          SourceLocation IdLoc, IdentifierInfo *Id,
      -                                   QualType T);
      +                                   QualType T, ImplicitParamKind ParamKind);
      +  static ImplicitParamDecl *Create(ASTContext &C, QualType T,
      +                                   ImplicitParamKind ParamKind);
       
         static ImplicitParamDecl *CreateDeserialized(ASTContext &C, unsigned ID);
       
         ImplicitParamDecl(ASTContext &C, DeclContext *DC, SourceLocation IdLoc,
      -                    IdentifierInfo *Id, QualType Type)
      -    : VarDecl(ImplicitParam, C, DC, IdLoc, IdLoc, Id, Type,
      -              /*tinfo*/ nullptr, SC_None) {
      +                    IdentifierInfo *Id, QualType Type,
      +                    ImplicitParamKind ParamKind)
      +      : VarDecl(ImplicitParam, C, DC, IdLoc, IdLoc, Id, Type,
      +                /*TInfo=*/nullptr, SC_None) {
      +    NonParmVarDeclBits.ImplicitParamKind = ParamKind;
           setImplicit();
         }
       
      +  ImplicitParamDecl(ASTContext &C, QualType Type, ImplicitParamKind ParamKind)
      +      : VarDecl(ImplicitParam, C, /*DC=*/nullptr, SourceLocation(),
      +                SourceLocation(), /*Id=*/nullptr, Type,
      +                /*TInfo=*/nullptr, SC_None) {
      +    NonParmVarDeclBits.ImplicitParamKind = ParamKind;
      +    setImplicit();
      +  }
      +
      +  /// Returns the implicit parameter kind.
      +  ImplicitParamKind getParameterKind() const {
      +    return static_cast(NonParmVarDeclBits.ImplicitParamKind);
      +  }
         // Implement isa/cast/dyncast/etc.
         static bool classof(const Decl *D) { return classofKind(D->getKind()); }
         static bool classofKind(Kind K) { return K == ImplicitParam; }
      @@ -1829,14 +1864,15 @@ class FunctionDecl : public DeclaratorDecl, public Dec
           return getBody(Definition);
         }
       
      -  /// isThisDeclarationADefinition - Returns whether this specific
      -  /// declaration of the function is also a definition. This does not
      -  /// determine whether the function has been defined (e.g., in a
      -  /// previous definition); for that information, use isDefined. Note
      -  /// that this returns false for a defaulted function unless that function
      -  /// has been implicitly defined (possibly as deleted).
      +  /// Returns whether this specific declaration of the function is also a
      +  /// definition that does not contain uninstantiated body.
      +  ///
      +  /// This does not determine whether the function has been defined (e.g., in a
      +  /// previous definition); for that information, use isDefined.
      +  ///
         bool isThisDeclarationADefinition() const {
      -    return IsDeleted || Body || IsLateTemplateParsed;
      +    return IsDeleted || IsDefaulted || Body || IsLateTemplateParsed ||
      +      hasDefiningAttr();
         }
       
         /// doesThisDeclarationHaveABody - Returns whether this specific
      
      Modified: vendor/clang/dist/include/clang/AST/ExternalASTMerger.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/AST/ExternalASTMerger.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/AST/ExternalASTMerger.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -45,6 +45,8 @@ class ExternalASTMerger : public ExternalASTSource { (
                                  llvm::function_ref IsKindWeWant,
                                  SmallVectorImpl &Result) override;
       
      +   using ExternalASTSource::CompleteType;
      +
          void CompleteType(TagDecl *Tag) override;
       };
       
      
      Modified: vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -1021,8 +1021,12 @@ DEF_TRAVERSE_TYPE(DeducedTemplateSpecializationType, {
       DEF_TRAVERSE_TYPE(RecordType, {})
       DEF_TRAVERSE_TYPE(EnumType, {})
       DEF_TRAVERSE_TYPE(TemplateTypeParmType, {})
      -DEF_TRAVERSE_TYPE(SubstTemplateTypeParmType, {})
      -DEF_TRAVERSE_TYPE(SubstTemplateTypeParmPackType, {})
      +DEF_TRAVERSE_TYPE(SubstTemplateTypeParmType, {
      +  TRY_TO(TraverseType(T->getReplacementType()));
      +})
      +DEF_TRAVERSE_TYPE(SubstTemplateTypeParmPackType, {
      +  TRY_TO(TraverseTemplateArgument(T->getArgumentPack()));
      +})
       
       DEF_TRAVERSE_TYPE(TemplateSpecializationType, {
         TRY_TO(TraverseTemplateName(T->getTemplateName()));
      @@ -1249,8 +1253,12 @@ DEF_TRAVERSE_TYPELOC(DeducedTemplateSpecializationType
       DEF_TRAVERSE_TYPELOC(RecordType, {})
       DEF_TRAVERSE_TYPELOC(EnumType, {})
       DEF_TRAVERSE_TYPELOC(TemplateTypeParmType, {})
      -DEF_TRAVERSE_TYPELOC(SubstTemplateTypeParmType, {})
      -DEF_TRAVERSE_TYPELOC(SubstTemplateTypeParmPackType, {})
      +DEF_TRAVERSE_TYPELOC(SubstTemplateTypeParmType, {
      +  TRY_TO(TraverseType(TL.getTypePtr()->getReplacementType()));
      +})
      +DEF_TRAVERSE_TYPELOC(SubstTemplateTypeParmPackType, {
      +  TRY_TO(TraverseTemplateArgument(TL.getTypePtr()->getArgumentPack()));
      +})
       
       // FIXME: use the loc for the template name?
       DEF_TRAVERSE_TYPELOC(TemplateSpecializationType, {
      
      Modified: vendor/clang/dist/include/clang/ASTMatchers/ASTMatchers.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/ASTMatchers/ASTMatchers.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/ASTMatchers/ASTMatchers.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -3806,14 +3806,22 @@ AST_MATCHER_P(CompoundStmt, statementCountIs, unsigned
         return Node.size() == N;
       }
       
      -/// \brief Matches literals that are equal to the given value.
      +/// \brief Matches literals that are equal to the given value of type ValueT.
       ///
      -/// Example matches true (matcher = cxxBoolLiteral(equals(true)))
      +/// Given
       /// \code
      -///   true
      +///   f('\0', false, 3.14, 42);
       /// \endcode
      +/// characterLiteral(equals(0))
      +///   matches '\0'
      +/// cxxBoolLiteral(equals(false)) and cxxBoolLiteral(equals(0))
      +///   match false
      +/// floatLiteral(equals(3.14)) and floatLiteral(equals(314e-2))
      +///   match 3.14
      +/// integerLiteral(equals(42))
      +///   matches 42
       ///
      -/// Usable as: Matcher, Matcher,
      +/// Usable as: Matcher, Matcher,
       ///            Matcher, Matcher
       template 
       internal::PolymorphicMatcherWithParam1
      @@ -3821,6 +3829,34 @@ equals(const ValueT &Value) {
         return internal::PolymorphicMatcherWithParam1<
           internal::ValueEqualsMatcher,
           ValueT>(Value);
      +}
      +
      +AST_POLYMORPHIC_MATCHER_P_OVERLOAD(equals,
      +                          AST_POLYMORPHIC_SUPPORTED_TYPES(CharacterLiteral,
      +                                                          CXXBoolLiteralExpr,
      +                                                          IntegerLiteral),
      +                          bool, Value, 0) {
      +  return internal::ValueEqualsMatcher(Value)
      +    .matchesNode(Node);
      +}
      +
      +AST_POLYMORPHIC_MATCHER_P_OVERLOAD(equals,
      +                          AST_POLYMORPHIC_SUPPORTED_TYPES(CharacterLiteral,
      +                                                          CXXBoolLiteralExpr,
      +                                                          IntegerLiteral),
      +                          unsigned, Value, 1) {
      +  return internal::ValueEqualsMatcher(Value)
      +    .matchesNode(Node);
      +}
      +
      +AST_POLYMORPHIC_MATCHER_P_OVERLOAD(equals,
      +                          AST_POLYMORPHIC_SUPPORTED_TYPES(CharacterLiteral,
      +                                                          CXXBoolLiteralExpr,
      +                                                          FloatingLiteral,
      +                                                          IntegerLiteral),
      +                          double, Value, 2) {
      +  return internal::ValueEqualsMatcher(Value)
      +    .matchesNode(Node);
       }
       
       /// \brief Matches the operator Name of operator expressions (binary or
      
      Modified: vendor/clang/dist/include/clang/ASTMatchers/Dynamic/Diagnostics.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/ASTMatchers/Dynamic/Diagnostics.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/ASTMatchers/Dynamic/Diagnostics.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -76,7 +76,7 @@ class Diagnostics { (public)
           ET_ParserInvalidToken = 106,
           ET_ParserMalformedBindExpr = 107,
           ET_ParserTrailingCode = 108,
      -    ET_ParserUnsignedError = 109,
      +    ET_ParserNumberError = 109,
           ET_ParserOverloadedType = 110
         };
       
      
      Modified: vendor/clang/dist/include/clang/ASTMatchers/Dynamic/Parser.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/ASTMatchers/Dynamic/Parser.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/ASTMatchers/Dynamic/Parser.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -19,8 +19,10 @@
       /// \code
       /// Grammar for the expressions supported:
       ///         :=  |  | 
      -///            :=  | 
      +///            :=  |  |  | 
       ///      := "quoted string"
      +///            := true | false
      +///             := [0-9]+.[0-9]* | [0-9]+.[0-9]*[eE][-+]?[0-9]+
       ///           := [0-9]+
       ///         := 
       ///  := () |
      
      Modified: vendor/clang/dist/include/clang/ASTMatchers/Dynamic/VariantValue.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/ASTMatchers/Dynamic/VariantValue.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/ASTMatchers/Dynamic/VariantValue.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -35,6 +35,8 @@ class ArgKind {
        public:
         enum Kind {
           AK_Matcher,
      +    AK_Boolean,
      +    AK_Double,
           AK_Unsigned,
           AK_String
         };
      @@ -241,6 +243,8 @@ struct VariantMatcher::TypedMatcherOps final : Variant
       /// copy/assignment.
       ///
       /// Supported types:
      +///  - \c bool
      +//   - \c double
       ///  - \c unsigned
       ///  - \c llvm::StringRef
       ///  - \c VariantMatcher (\c DynTypedMatcher / \c Matcher)
      @@ -253,14 +257,29 @@ class VariantValue { (public)
         VariantValue &operator=(const VariantValue &Other);
       
         /// \brief Specific constructors for each supported type.
      +  VariantValue(bool Boolean);
      +  VariantValue(double Double);
         VariantValue(unsigned Unsigned);
         VariantValue(StringRef String);
         VariantValue(const VariantMatcher &Matchers);
       
      +  /// \brief Constructs an \c unsigned value (disambiguation from bool).
      +  VariantValue(int Signed) : VariantValue(static_cast(Signed)) {}
      +
         /// \brief Returns true iff this is not an empty value.
         explicit operator bool() const { return hasValue(); }
         bool hasValue() const { return Type != VT_Nothing; }
       
      +  /// \brief Boolean value functions.
      +  bool isBoolean() const;
      +  bool getBoolean() const;
      +  void setBoolean(bool Boolean);
      +
      +  /// \brief Double value functions.
      +  bool isDouble() const;
      +  double getDouble() const;
      +  void setDouble(double Double);
      +
         /// \brief Unsigned value functions.
         bool isUnsigned() const;
         unsigned getUnsigned() const;
      @@ -303,6 +322,8 @@ class VariantValue { (public)
         /// \brief All supported value types.
         enum ValueType {
           VT_Nothing,
      +    VT_Boolean,
      +    VT_Double,
           VT_Unsigned,
           VT_String,
           VT_Matcher
      @@ -311,6 +332,8 @@ class VariantValue { (public)
         /// \brief All supported value types.
         union AllValues {
           unsigned Unsigned;
      +    double Double;
      +    bool Boolean;
           std::string *String;
           VariantMatcher *Matcher;
         };
      
      Modified: vendor/clang/dist/include/clang/Basic/Attr.td
      ==============================================================================
      --- vendor/clang/dist/include/clang/Basic/Attr.td	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Basic/Attr.td	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -1683,6 +1683,42 @@ def Section : InheritableAttr {
         let Documentation = [SectionDocs];
       }
       
      +def PragmaClangBSSSection : InheritableAttr {
      +  // This attribute has no spellings as it is only ever created implicitly.
      +  let Spellings = [];
      +  let Args = [StringArgument<"Name">];
      +  let Subjects = SubjectList<[GlobalVar], ErrorDiag,
      +                             "ExpectedFunctionMethodOrGlobalVar">;
      +  let Documentation = [Undocumented];
      +}
      +
      +def PragmaClangDataSection : InheritableAttr {
      +  // This attribute has no spellings as it is only ever created implicitly.
      +  let Spellings = [];
      +  let Args = [StringArgument<"Name">];
      +  let Subjects = SubjectList<[GlobalVar], ErrorDiag,
      +                             "ExpectedFunctionMethodOrGlobalVar">;
      +  let Documentation = [Undocumented];
      +}
      +
      +def PragmaClangRodataSection : InheritableAttr {
      +  // This attribute has no spellings as it is only ever created implicitly.
      +  let Spellings = [];
      +  let Args = [StringArgument<"Name">];
      +  let Subjects = SubjectList<[GlobalVar], ErrorDiag,
      +                             "ExpectedFunctionMethodOrGlobalVar">;
      +  let Documentation = [Undocumented];
      +}
      +
      +def PragmaClangTextSection : InheritableAttr {
      +  // This attribute has no spellings as it is only ever created implicitly.
      +  let Spellings = [];
      +  let Args = [StringArgument<"Name">];
      +  let Subjects = SubjectList<[Function], ErrorDiag,
      +                             "ExpectedFunctionMethodOrGlobalVar">;
      +  let Documentation = [Undocumented];
      +}
      +
       def Sentinel : InheritableAttr {
         let Spellings = [GCC<"sentinel">];
         let Args = [DefaultIntArgument<"Sentinel", 0>,
      
      Modified: vendor/clang/dist/include/clang/Basic/DiagnosticFrontendKinds.td
      ==============================================================================
      --- vendor/clang/dist/include/clang/Basic/DiagnosticFrontendKinds.td	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Basic/DiagnosticFrontendKinds.td	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -196,6 +196,7 @@ def err_no_submodule_suggest : Error<
         "no submodule named %0 in module '%1'; did you mean '%2'?">;
       def warn_missing_submodule : Warning<"missing submodule '%0'">,
         InGroup;
      +def note_module_import_here : Note<"module imported here">;
       def err_module_cannot_create_includes : Error<
         "cannot create includes file for module %0: %1">;
       def warn_module_config_macro_undef : Warning<
      
      Modified: vendor/clang/dist/include/clang/Basic/DiagnosticLexKinds.td
      ==============================================================================
      --- vendor/clang/dist/include/clang/Basic/DiagnosticLexKinds.td	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Basic/DiagnosticLexKinds.td	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -527,6 +527,10 @@ def err_pp_module_end_without_module_begin : Error<
         "'#pragma clang module end'">;
       def note_pp_module_begin_here : Note<
         "entering module '%0' due to this pragma">;
      +def err_pp_module_build_pth : Error<
      +  "'#pragma clang module build' not supported in pretokenized header">;
      +def err_pp_module_build_missing_end : Error<
      +  "no matching '#pragma clang module endbuild' for this '#pragma clang module build'">;
       
       def err_defined_macro_name : Error<"'defined' cannot be used as a macro name">;
       def err_paste_at_start : Error<
      
      Modified: vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td
      ==============================================================================
      --- vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -887,9 +887,18 @@ def warn_pragma_expected_rparen : Warning<
         "missing ')' after '#pragma %0' - ignoring">, InGroup;
       def warn_pragma_expected_identifier : Warning<
         "expected identifier in '#pragma %0' - ignored">, InGroup;
      +
      +// '#pragma clang section' related errors
      +def err_pragma_expected_clang_section_name : Error<
      +  "expected one of [bss|data|rodata|text] section kind in '#pragma %0'">;
      +def err_pragma_clang_section_expected_equal : Error<
      +  "expected '=' following '#pragma clang section %select{invalid|bss|data|rodata|text}0'">;
      +def err_pragma_clang_section_expected_name_or_clear : Error<
      +  "expected section name or '\"\"' following '#pragma clang section %select{invalid|bss|data|rodata|text}0'">;
       def warn_pragma_expected_section_name : Warning<
         "expected a string literal for the section name in '#pragma %0' - ignored">,
         InGroup;
      +
       def warn_pragma_expected_section_push_pop_or_name : Warning<
         "expected push, pop or a string literal for the section name in '#pragma %0' - ignored">,
         InGroup;
      
      Modified: vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td
      ==============================================================================
      --- vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -5613,6 +5613,11 @@ def err_enumerator_does_not_exist : Error<
       def note_enum_specialized_here : Note<
         "enum %0 was explicitly specialized here">;
       
      +def err_specialization_not_primary_template : Error<
      +  "cannot reference member of primary template because deduced class "
      +  "template specialization %0 is %select{instantiated from a partial|"
      +  "an explicit}1 specialization">;
      +
       def err_member_redeclared : Error<"class member cannot be redeclared">;
       def ext_member_redeclared : ExtWarn<"class member cannot be redeclared">,
         InGroup;
      
      Modified: vendor/clang/dist/include/clang/Basic/DiagnosticSerializationKinds.td
      ==============================================================================
      --- vendor/clang/dist/include/clang/Basic/DiagnosticSerializationKinds.td	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Basic/DiagnosticSerializationKinds.td	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -174,6 +174,15 @@ def note_module_odr_violation_mismatch_decl_diff : Not
         "method %2 with %ordinal3 parameter of type %4%select{| decayed from %6}5|"
         "method %2 with %ordinal3 parameter named %4}1">;
       
      +def err_module_odr_violation_mismatch_decl_unknown : Error<
      +  "%q0 %select{with definition in module '%2'|defined here}1 has different "
      +  "definitions in different modules; first difference is this "
      +  "%select{||||static assert|field|method|unexpected decl}3">;
      +def note_module_odr_violation_mismatch_decl_unknown : Note<
      +  "but in '%0' found "
      +  "%select{||||different static assert|different field|different method|"
      +  "another unexpected decl}1">;
      +
       def warn_duplicate_module_file_extension : Warning<
         "duplicate module file extension block name '%0'">,
         InGroup;
      
      Modified: vendor/clang/dist/include/clang/Basic/LangOptions.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/Basic/LangOptions.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Basic/LangOptions.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -58,6 +58,7 @@ class LangOptions : public LangOptionsBase { (public)
           SOB_Trapping    // -ftrapv
         };
       
      +  // FIXME: Unify with TUKind.
         enum CompilingModuleKind {
           CMK_None,           ///< Not compiling a module interface at all.
           CMK_ModuleMap,      ///< Compiling a module from a module map.
      
      Modified: vendor/clang/dist/include/clang/Basic/SourceManager.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/Basic/SourceManager.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Basic/SourceManager.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -722,6 +722,10 @@ class SourceManager : public RefCountedBase;
       def fno_rewrite_includes : Flag<["-"], "fno-rewrite-includes">, Group;
       
      +def frewrite_imports : Flag<["-"], "frewrite-imports">, Group,
      +  Flags<[CC1Option]>;
      +def fno_rewrite_imports : Flag<["-"], "fno-rewrite-imports">, Group;
      +
       def frewrite_map_file : Separate<["-"], "frewrite-map-file">,
                               Group,
                               Flags<[ DriverOption, CC1Option ]>;
      @@ -2001,6 +2005,10 @@ def mdspr2 : Flag<["-"], "mdspr2">, Group;
       def mno_dspr2 : Flag<["-"], "mno-dspr2">, Group;
       def msingle_float : Flag<["-"], "msingle-float">, Group;
       def mdouble_float : Flag<["-"], "mdouble-float">, Group;
      +def mmadd4 : Flag<["-"], "mmadd4">, Group,
      +  HelpText<"Enable the generation of 4-operand madd.s, madd.d and related instructions.">;
      +def mno_madd4 : Flag<["-"], "mno-madd4">, Group,
      +  HelpText<"Disable the generation of 4-operand madd.s, madd.d and related instructions.">;
       def mmsa : Flag<["-"], "mmsa">, Group,
         HelpText<"Enable MSA ASE (MIPS only)">;
       def mno_msa : Flag<["-"], "mno-msa">, Group,
      
      Modified: vendor/clang/dist/include/clang/Edit/EditedSource.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/Edit/EditedSource.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Edit/EditedSource.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -41,9 +41,11 @@ class EditedSource {
         typedef std::map FileEditsTy;
         FileEditsTy FileEdits;
       
      -  llvm::DenseMap>
      +  // Location of argument use inside the macro body 
      +  typedef std::pair MacroArgUse;
      +  llvm::DenseMap>
           ExpansionToArgMap;
      -  SmallVector, 2>
      +  SmallVector, 2>
           CurrCommitMacroArgExps;
       
         IdentifierTable IdentTable;
      @@ -84,7 +86,7 @@ class EditedSource {
         FileEditsTy::iterator getActionForOffset(FileOffset Offs);
         void deconstructMacroArgLoc(SourceLocation Loc,
                                     SourceLocation &ExpansionLoc,
      -                              IdentifierInfo *&II);
      +                              MacroArgUse &ArgUse);
       
         void startingCommit();
         void finishedCommit();
      
      Modified: vendor/clang/dist/include/clang/Frontend/ASTUnit.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/Frontend/ASTUnit.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Frontend/ASTUnit.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -51,8 +51,10 @@ class DiagnosticsEngine;
       class FileEntry;
       class FileManager;
       class HeaderSearch;
      +class InputKind;
       class MemoryBufferCache;
       class Preprocessor;
      +class PreprocessorOptions;
       class PCHContainerOperations;
       class PCHContainerReader;
       class TargetInfo;
      @@ -65,7 +67,7 @@ class FileSystem;
       
       /// \brief Utility class for loading a ASTContext from an AST file.
       ///
      -class ASTUnit : public ModuleLoader {
      +class ASTUnit {
       public:
         struct StandaloneFixIt {
           std::pair RemoveRange;
      @@ -96,6 +98,7 @@ class ASTUnit : public ModuleLoader { (private)
         IntrusiveRefCntPtr          Ctx;
         std::shared_ptr          TargetOpts;
         std::shared_ptr    HSOpts;
      +  std::shared_ptr    PPOpts;
         IntrusiveRefCntPtr Reader;
         bool HadModuleLoaderFatalFailure;
       
      @@ -116,10 +119,13 @@ class ASTUnit : public ModuleLoader { (private)
         /// LoadFromCommandLine available.
         std::shared_ptr Invocation;
       
      +  /// Fake module loader: the AST unit doesn't need to load any modules.
      +  TrivialModuleLoader ModuleLoader;
      +
         // OnlyLocalDecls - when true, walking this AST should only visit declarations
         // that come from the AST itself, not from included precompiled headers.
         // FIXME: This is temporary; eventually, CIndex will always do this.
      -  bool                              OnlyLocalDecls;
      +  bool OnlyLocalDecls;
       
         /// \brief Whether to capture any diagnostics produced.
         bool CaptureDiagnostics;
      @@ -185,6 +191,14 @@ class ASTUnit : public ModuleLoader { (private)
         /// some number of calls.
         unsigned PreambleRebuildCounter;
       
      +  /// \brief Cache pairs "filename - source location"
      +  ///
      +  /// Cache contains only source locations from preamble so it is
      +  /// guaranteed that they stay valid when the SourceManager is recreated.
      +  /// This cache is used when loading preambule to increase performance
      +  /// of that loading. It must be cleared when preamble is recreated.
      +  llvm::StringMap PreambleSrcLocCache;
      +
       public:
         class PreambleData {
           const FileEntry *File;
      @@ -305,9 +319,6 @@ class ASTUnit : public ModuleLoader { (private)
         /// (likely to change while trying to use them).
         bool UserFilesAreVolatile : 1;
        
      -  /// \brief The language options used when we load an AST file.
      -  LangOptions ASTFileLangOpts;
      -
         static void ConfigureDiags(IntrusiveRefCntPtr Diags,
                                    ASTUnit &AST, bool CaptureDiagnostics);
       
      @@ -488,7 +499,7 @@ class ASTUnit : public ModuleLoader { (private)
         };
         friend class ConcurrencyCheck;
       
      -  ~ASTUnit() override;
      +  ~ASTUnit();
       
         bool isMainFileAST() const { return MainFileIsAST; }
       
      @@ -518,10 +529,20 @@ class ASTUnit : public ModuleLoader { (private)
         }
       
         const LangOptions &getLangOpts() const {
      -    assert(LangOpts && " ASTUnit does not have language options");
      +    assert(LangOpts && "ASTUnit does not have language options");
           return *LangOpts;
         }
      +
      +  const HeaderSearchOptions &getHeaderSearchOpts() const {
      +    assert(HSOpts && "ASTUnit does not have header search options");
      +    return *HSOpts;
      +  }
         
      +  const PreprocessorOptions &getPreprocessorOpts() const {
      +    assert(PPOpts && "ASTUnit does not have preprocessor options");
      +    return *PPOpts;
      +  }
      +  
         const FileManager &getFileManager() const { return *FileMgr; }
               FileManager &getFileManager()       { return *FileMgr; }
       
      @@ -702,6 +723,9 @@ class ASTUnit : public ModuleLoader { (private)
         /// \brief Determine what kind of translation unit this AST represents.
         TranslationUnitKind getTranslationUnitKind() const { return TUKind; }
       
      +  /// \brief Determine the input kind this AST unit represents.
      +  InputKind getInputKind() const;
      +
         /// \brief A mapping from a file name to the memory buffer that stores the
         /// remapped contents of that file.
         typedef std::pair RemappedFile;
      @@ -858,6 +882,7 @@ class ASTUnit : public ModuleLoader { (private)
             bool CacheCodeCompletionResults = false,
             bool IncludeBriefCommentsInCodeCompletion = false,
             bool AllowPCHWithCompilerErrors = false, bool SkipFunctionBodies = false,
      +      bool SingleFileParse = false,
             bool UserFilesAreVolatile = false, bool ForSerialization = false,
             llvm::Optional ModuleFormat = llvm::None,
             std::unique_ptr *ErrAST = nullptr,
      @@ -923,21 +948,6 @@ class ASTUnit : public ModuleLoader { (private)
         ///
         /// \returns True if an error occurred, false otherwise.
         bool serialize(raw_ostream &OS);
      -
      -  ModuleLoadResult loadModule(SourceLocation ImportLoc, ModuleIdPath Path,
      -                              Module::NameVisibilityKind Visibility,
      -                              bool IsInclusionDirective) override {
      -    // ASTUnit doesn't know how to load modules (not that this matters).
      -    return ModuleLoadResult();
      -  }
      -
      -  void makeModuleVisible(Module *Mod, Module::NameVisibilityKind Visibility,
      -                         SourceLocation ImportLoc) override {}
      -
      -  GlobalModuleIndex *loadGlobalModuleIndex(SourceLocation TriggerLoc) override
      -    { return nullptr; }
      -  bool lookupMissingImports(StringRef Name, SourceLocation TriggerLoc) override
      -    { return 0; }
       };
       
       } // namespace clang
      
      Modified: vendor/clang/dist/include/clang/Frontend/CodeGenOptions.def
      ==============================================================================
      --- vendor/clang/dist/include/clang/Frontend/CodeGenOptions.def	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Frontend/CodeGenOptions.def	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -29,7 +29,8 @@ CODEGENOPT(Name, Bits, Default)
       #endif
       
       CODEGENOPT(DisableIntegratedAS, 1, 0) ///< -no-integrated-as
      -CODEGENOPT(CompressDebugSections, 1, 0) ///< -Wa,-compress-debug-sections
      +ENUM_CODEGENOPT(CompressDebugSections, llvm::DebugCompressionType, 2,
      +                llvm::DebugCompressionType::None)
       CODEGENOPT(RelaxELFRelocations, 1, 0) ///< -Wa,--mrelax-relocations
       CODEGENOPT(AsmVerbose        , 1, 0) ///< -dA, -fverbose-asm.
       CODEGENOPT(PreserveAsmComments, 1, 1) ///< -dA, -fno-preserve-as-comments.
      
      Modified: vendor/clang/dist/include/clang/Frontend/CompilerInstance.h
      ==============================================================================
      --- vendor/clang/dist/include/clang/Frontend/CompilerInstance.h	Sat Jun 10 13:44:13 2017	(r319781)
      +++ vendor/clang/dist/include/clang/Frontend/CompilerInstance.h	Sat Jun 10 13:44:22 2017	(r319782)
      @@ -136,6 +136,13 @@ class CompilerInstance : public ModuleLoader {
         /// along with the module map
         llvm::DenseMap KnownModules;
      
      *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
      
      From owner-svn-src-all@freebsd.org  Sat Jun 10 13:44:31 2017
      Return-Path: 
      Delivered-To: svn-src-all@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 21453B953F0;
       Sat, 10 Jun 2017 13:44:31 +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 C829478907;
       Sat, 10 Jun 2017 13:44:30 +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 v5ADiT5N094773;
       Sat, 10 Jun 2017 13:44:29 GMT (envelope-from dim@FreeBSD.org)
      Received: (from dim@localhost)
       by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADiTLI094772;
       Sat, 10 Jun 2017 13:44:29 GMT (envelope-from dim@FreeBSD.org)
      Message-Id: <201706101344.v5ADiTLI094772@repo.freebsd.org>
      X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org
       using -f
      From: Dimitry Andric 
      Date: Sat, 10 Jun 2017 13:44:29 +0000 (UTC)
      To: src-committers@freebsd.org, svn-src-all@freebsd.org,
       svn-src-vendor@freebsd.org
      Subject: svn commit: r319783 - vendor/clang/clang-trunk-r305145
      X-SVN-Group: vendor
      MIME-Version: 1.0
      Content-Type: text/plain; charset=UTF-8
      Content-Transfer-Encoding: 8bit
      X-BeenThere: svn-src-all@freebsd.org
      X-Mailman-Version: 2.1.23
      Precedence: list
      List-Id: "SVN commit messages for the entire src tree \(except for "
       user" and " projects" \)" 
      List-Unsubscribe: ,
       
      List-Archive: 
      List-Post: 
      List-Help: 
      List-Subscribe: ,
       
      X-List-Received-Date: Sat, 10 Jun 2017 13:44:31 -0000
      
      Author: dim
      Date: Sat Jun 10 13:44:29 2017
      New Revision: 319783
      URL: https://svnweb.freebsd.org/changeset/base/319783
      
      Log:
        Tag clang trunk r305145.
      
      Added:
        vendor/clang/clang-trunk-r305145/
           - copied from r319782, vendor/clang/dist/
      
      From owner-svn-src-all@freebsd.org  Sat Jun 10 13:44:35 2017
      Return-Path: 
      Delivered-To: svn-src-all@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 F1262B9543D;
       Sat, 10 Jun 2017 13:44:35 +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 A8F9278964;
       Sat, 10 Jun 2017 13:44:35 +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 v5ADiYAC094846;
       Sat, 10 Jun 2017 13:44:34 GMT (envelope-from dim@FreeBSD.org)
      Received: (from dim@localhost)
       by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADiWx2094820;
       Sat, 10 Jun 2017 13:44:32 GMT (envelope-from dim@FreeBSD.org)
      Message-Id: <201706101344.v5ADiWx2094820@repo.freebsd.org>
      X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org
       using -f
      From: Dimitry Andric 
      Date: Sat, 10 Jun 2017 13:44:32 +0000 (UTC)
      To: src-committers@freebsd.org, svn-src-all@freebsd.org,
       svn-src-vendor@freebsd.org
      Subject: svn commit: r319784 - in vendor/compiler-rt/dist: . lib/asan lib/lsan
       lib/msan lib/sanitizer_common lib/sanitizer_common/symbolizer/scripts
       lib/tsan/rtl test/asan/TestCases/Darwin test/asan/TestCas...
      X-SVN-Group: vendor
      MIME-Version: 1.0
      Content-Type: text/plain; charset=UTF-8
      Content-Transfer-Encoding: 8bit
      X-BeenThere: svn-src-all@freebsd.org
      X-Mailman-Version: 2.1.23
      Precedence: list
      List-Id: "SVN commit messages for the entire src tree \(except for "
       user" and " projects" \)" 
      List-Unsubscribe: ,
       
      List-Archive: 
      List-Post: 
      List-Help: 
      List-Subscribe: ,
       
      X-List-Received-Date: Sat, 10 Jun 2017 13:44:36 -0000
      
      Author: dim
      Date: Sat Jun 10 13:44:32 2017
      New Revision: 319784
      URL: https://svnweb.freebsd.org/changeset/base/319784
      
      Log:
        Vendor import of compiler-rt trunk r305145:
        https://llvm.org/svn/llvm-project/compiler-rt/trunk@305145
      
      Added:
        vendor/compiler-rt/dist/test/asan/TestCases/Linux/asan_preload_test-3.cc   (contents, props changed)
        vendor/compiler-rt/dist/test/msan/Linux/strerror_r.cc   (contents, props changed)
        vendor/compiler-rt/dist/test/tsan/strerror_r.cc   (contents, props changed)
      Deleted:
        vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/allocator_fork_no_hang.cc
      Modified:
        vendor/compiler-rt/dist/CMakeLists.txt
        vendor/compiler-rt/dist/lib/asan/asan_allocator.cc
        vendor/compiler-rt/dist/lib/asan/asan_allocator.h
        vendor/compiler-rt/dist/lib/asan/asan_interceptors.cc
        vendor/compiler-rt/dist/lib/asan/asan_malloc_linux.cc
        vendor/compiler-rt/dist/lib/lsan/lsan_common.cc
        vendor/compiler-rt/dist/lib/lsan/lsan_common_linux.cc
        vendor/compiler-rt/dist/lib/lsan/lsan_interceptors.cc
        vendor/compiler-rt/dist/lib/msan/msan_allocator.cc
        vendor/compiler-rt/dist/lib/msan/msan_allocator.h
        vendor/compiler-rt/dist/lib/msan/msan_interceptors.cc
        vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors.inc
        vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.cc
        vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform.h
        vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
        vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_thread.cc
        vendor/compiler-rt/dist/test/asan/TestCases/Darwin/atos-symbolizer.cc
        vendor/compiler-rt/dist/test/asan/TestCases/Posix/halt_on_error-torture.cc
        vendor/compiler-rt/dist/test/profile/Linux/instrprof-alloc.test
        vendor/compiler-rt/dist/test/profile/Linux/instrprof-value-prof-warn.test
        vendor/compiler-rt/dist/test/sanitizer_common/TestCases/sanitizer_coverage_inline8bit_counter.cc
      
      Modified: vendor/compiler-rt/dist/CMakeLists.txt
      ==============================================================================
      --- vendor/compiler-rt/dist/CMakeLists.txt	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/CMakeLists.txt	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -255,7 +255,7 @@ if(EXISTS ${COMPILER_RT_LLD_PATH}/ AND LLVM_TOOL_LLD_B
         set(COMPILER_RT_HAS_LLD TRUE)
       else()
         set(COMPILER_RT_LLD_PATH ${LLVM_MAIN_SRC_DIR}/../lld)
      -  if(EXISTS ${COMPILER_RT_LLD_PATH}/)
      +  if(EXISTS ${COMPILER_RT_LLD_PATH}/ AND LLVM_TOOL_LLD_BUILD)
           set(COMPILER_RT_HAS_LLD TRUE)
         else()
           set(COMPILER_RT_HAS_LLD FALSE)
      
      Modified: vendor/compiler-rt/dist/lib/asan/asan_allocator.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/asan/asan_allocator.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/asan/asan_allocator.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -47,6 +47,8 @@ static u32 RZSize2Log(u32 rz_size) {
         return res;
       }
       
      +static AsanAllocator &get_allocator();
      +
       // The memory chunk allocated from the underlying allocator looks like this:
       // L L L L L L H H U U U U U U R R
       //   L -- left redzone words (0 or more bytes)
      @@ -717,7 +719,7 @@ struct Allocator {
       
       static Allocator instance(LINKER_INITIALIZED);
       
      -AsanAllocator &get_allocator() {
      +static AsanAllocator &get_allocator() {
         return instance.allocator;
       }
       
      
      Modified: vendor/compiler-rt/dist/lib/asan/asan_allocator.h
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/asan/asan_allocator.h	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/asan/asan_allocator.h	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -213,7 +213,5 @@ void asan_mz_force_unlock();
       void PrintInternalAllocatorStats();
       void AsanSoftRssLimitExceededCallback(bool exceeded);
       
      -AsanAllocator &get_allocator();
      -
       }  // namespace __asan
       #endif  // ASAN_ALLOCATOR_H
      
      Modified: vendor/compiler-rt/dist/lib/asan/asan_interceptors.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/asan/asan_interceptors.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/asan/asan_interceptors.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -22,7 +22,6 @@
       #include "asan_stats.h"
       #include "asan_suppressions.h"
       #include "lsan/lsan_common.h"
      -#include "sanitizer_common/sanitizer_stackdepot.h"
       #include "sanitizer_common/sanitizer_libc.h"
       
       #if SANITIZER_POSIX
      @@ -705,25 +704,9 @@ INTERCEPTOR(int, __cxa_atexit, void (*func)(void *), v
       #endif  // ASAN_INTERCEPT___CXA_ATEXIT
       
       #if ASAN_INTERCEPT_FORK
      -static void BeforeFork() {
      -  if (SANITIZER_LINUX) {
      -    get_allocator().ForceLock();
      -    StackDepotLockAll();
      -  }
      -}
      -
      -static void AfterFork() {
      -  if (SANITIZER_LINUX) {
      -    StackDepotUnlockAll();
      -    get_allocator().ForceUnlock();
      -  }
      -}
      -
       INTERCEPTOR(int, fork, void) {
         ENSURE_ASAN_INITED();
      -  BeforeFork();
         int pid = REAL(fork)();
      -  AfterFork();
         return pid;
       }
       #endif  // ASAN_INTERCEPT_FORK
      
      Modified: vendor/compiler-rt/dist/lib/asan/asan_malloc_linux.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/asan/asan_malloc_linux.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/asan/asan_malloc_linux.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -60,36 +60,42 @@ INTERCEPTOR(void, cfree, void *ptr) {
       #endif // SANITIZER_INTERCEPT_CFREE
       
       INTERCEPTOR(void*, malloc, uptr size) {
      -  if (UNLIKELY(!asan_inited))
      +  if (UNLIKELY(asan_init_is_running))
           // Hack: dlsym calls malloc before REAL(malloc) is retrieved from dlsym.
           return AllocateFromLocalPool(size);
      +  ENSURE_ASAN_INITED();
         GET_STACK_TRACE_MALLOC;
         return asan_malloc(size, &stack);
       }
       
       INTERCEPTOR(void*, calloc, uptr nmemb, uptr size) {
      -  if (UNLIKELY(!asan_inited))
      +  if (UNLIKELY(asan_init_is_running))
           // Hack: dlsym calls calloc before REAL(calloc) is retrieved from dlsym.
           return AllocateFromLocalPool(nmemb * size);
      +  ENSURE_ASAN_INITED();
         GET_STACK_TRACE_MALLOC;
         return asan_calloc(nmemb, size, &stack);
       }
       
       INTERCEPTOR(void*, realloc, void *ptr, uptr size) {
      -  GET_STACK_TRACE_MALLOC;
         if (UNLIKELY(IsInDlsymAllocPool(ptr))) {
      -    uptr offset = (uptr)ptr - (uptr)alloc_memory_for_dlsym;
      -    uptr copy_size = Min(size, kDlsymAllocPoolSize - offset);
      +    const uptr offset = (uptr)ptr - (uptr)alloc_memory_for_dlsym;
      +    const uptr copy_size = Min(size, kDlsymAllocPoolSize - offset);
           void *new_ptr;
      -    if (UNLIKELY(!asan_inited)) {
      +    if (UNLIKELY(asan_init_is_running)) {
             new_ptr = AllocateFromLocalPool(size);
           } else {
      -      copy_size = size;
      -      new_ptr = asan_malloc(copy_size, &stack);
      +      ENSURE_ASAN_INITED();
      +      GET_STACK_TRACE_MALLOC;
      +      new_ptr = asan_malloc(size, &stack);
           }
           internal_memcpy(new_ptr, ptr, copy_size);
           return new_ptr;
         }
      +  if (UNLIKELY(asan_init_is_running))
      +    return AllocateFromLocalPool(size);
      +  ENSURE_ASAN_INITED();
      +  GET_STACK_TRACE_MALLOC;
         return asan_realloc(ptr, size, &stack);
       }
       
      
      Modified: vendor/compiler-rt/dist/lib/lsan/lsan_common.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/lsan/lsan_common.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/lsan/lsan_common.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -408,9 +408,6 @@ static void MarkInvalidPCCb(uptr chunk, void *arg) {
       
       // On Linux, handles dynamically allocated TLS blocks by treating all chunks
       // allocated from ld-linux.so as reachable.
      -// On Linux, treats all chunks allocated from ld-linux.so as reachable, which
      -// covers dynamically allocated TLS blocks, internal dynamic loader's loaded
      -// modules accounting etc.
       // Dynamic TLS blocks contain the TLS variables of dynamically loaded modules.
       // They are allocated with a __libc_memalign() call in allocate_and_init()
       // (elf/dl-tls.c). Glibc won't tell us the address ranges occupied by those
      
      Modified: vendor/compiler-rt/dist/lib/lsan/lsan_common_linux.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/lsan/lsan_common_linux.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/lsan/lsan_common_linux.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -23,10 +23,6 @@
       #include "sanitizer_common/sanitizer_linux.h"
       #include "sanitizer_common/sanitizer_stackdepot.h"
       
      -#if SANITIZER_USE_GETAUXVAL
      -#include 
      -#endif  // SANITIZER_USE_GETAUXVAL
      -
       namespace __lsan {
       
       static const char kLinkerName[] = "ld";
      @@ -34,12 +30,8 @@ static const char kLinkerName[] = "ld";
       static char linker_placeholder[sizeof(LoadedModule)] ALIGNED(64);
       static LoadedModule *linker = nullptr;
       
      -static bool IsLinker(const LoadedModule& module) {
      -#if SANITIZER_USE_GETAUXVAL
      -  return module.base_address() == getauxval(AT_BASE);
      -#else
      -  return LibraryNameIs(module.full_name(), kLinkerName);
      -#endif  // SANITIZER_USE_GETAUXVAL
      +static bool IsLinker(const char* full_name) {
      +  return LibraryNameIs(full_name, kLinkerName);
       }
       
       __attribute__((tls_model("initial-exec")))
      @@ -57,25 +49,22 @@ void InitializePlatformSpecificModules() {
         ListOfModules modules;
         modules.init();
         for (LoadedModule &module : modules) {
      -    if (!IsLinker(module))
      -      continue;
      +    if (!IsLinker(module.full_name())) continue;
           if (linker == nullptr) {
             linker = reinterpret_cast(linker_placeholder);
             *linker = module;
             module = LoadedModule();
           } else {
             VReport(1, "LeakSanitizer: Multiple modules match \"%s\". "
      -                 "TLS and other allocations originating from linker might be "
      -                 "falsely reported as leaks.\n", kLinkerName);
      +              "TLS will not be handled correctly.\n", kLinkerName);
             linker->clear();
             linker = nullptr;
             return;
           }
         }
         if (linker == nullptr) {
      -    VReport(1, "LeakSanitizer: Dynamic linker not found. TLS and other "
      -               "allocations originating from linker might be falsely reported "
      -                "as leaks.\n");
      +    VReport(1, "LeakSanitizer: Dynamic linker not found. "
      +               "TLS will not be handled correctly.\n");
         }
       }
       
      
      Modified: vendor/compiler-rt/dist/lib/lsan/lsan_interceptors.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/lsan/lsan_interceptors.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/lsan/lsan_interceptors.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -22,7 +22,6 @@
       #include "sanitizer_common/sanitizer_platform_interceptors.h"
       #include "sanitizer_common/sanitizer_platform_limits_posix.h"
       #include "sanitizer_common/sanitizer_posix.h"
      -#include "sanitizer_common/sanitizer_stackdepot.h"
       #include "sanitizer_common/sanitizer_tls_get_addr.h"
       #include "lsan.h"
       #include "lsan_allocator.h"
      @@ -98,28 +97,6 @@ INTERCEPTOR(void*, valloc, uptr size) {
       }
       #endif
       
      -static void BeforeFork() {
      -  if (SANITIZER_LINUX) {
      -    LockAllocator();
      -    StackDepotLockAll();
      -  }
      -}
      -
      -static void AfterFork() {
      -  if (SANITIZER_LINUX) {
      -    StackDepotUnlockAll();
      -    UnlockAllocator();
      -  }
      -}
      -
      -INTERCEPTOR(int, fork, void) {
      -  ENSURE_LSAN_INITED;
      -  BeforeFork();
      -  int pid = REAL(fork)();
      -  AfterFork();
      -  return pid;
      -}
      -
       #if SANITIZER_INTERCEPT_MEMALIGN
       INTERCEPTOR(void*, memalign, uptr alignment, uptr size) {
         ENSURE_LSAN_INITED;
      @@ -359,7 +336,6 @@ void InitializeInterceptors() {
         LSAN_MAYBE_INTERCEPT_MALLOPT;
         INTERCEPT_FUNCTION(pthread_create);
         INTERCEPT_FUNCTION(pthread_join);
      -  INTERCEPT_FUNCTION(fork);
       
         if (pthread_key_create(&g_thread_finalize_key, &thread_finalize)) {
           Report("LeakSanitizer: failed to create thread key.\n");
      
      Modified: vendor/compiler-rt/dist/lib/msan/msan_allocator.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/msan/msan_allocator.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/msan/msan_allocator.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -12,6 +12,8 @@
       // MemorySanitizer allocator.
       //===----------------------------------------------------------------------===//
       
      +#include "sanitizer_common/sanitizer_allocator.h"
      +#include "sanitizer_common/sanitizer_allocator_interface.h"
       #include "msan.h"
       #include "msan_allocator.h"
       #include "msan_origin.h"
      @@ -20,11 +22,101 @@
       
       namespace __msan {
       
      +struct Metadata {
      +  uptr requested_size;
      +};
      +
      +struct MsanMapUnmapCallback {
      +  void OnMap(uptr p, uptr size) const {}
      +  void OnUnmap(uptr p, uptr size) const {
      +    __msan_unpoison((void *)p, size);
      +
      +    // We are about to unmap a chunk of user memory.
      +    // Mark the corresponding shadow memory as not needed.
      +    uptr shadow_p = MEM_TO_SHADOW(p);
      +    ReleaseMemoryPagesToOS(shadow_p, shadow_p + size);
      +    if (__msan_get_track_origins()) {
      +      uptr origin_p = MEM_TO_ORIGIN(p);
      +      ReleaseMemoryPagesToOS(origin_p, origin_p + size);
      +    }
      +  }
      +};
      +
      +#if defined(__mips64)
      +  static const uptr kMaxAllowedMallocSize = 2UL << 30;
      +  static const uptr kRegionSizeLog = 20;
      +  static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog;
      +  typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap;
      +
      +  struct AP32 {
      +    static const uptr kSpaceBeg = 0;
      +    static const u64 kSpaceSize = SANITIZER_MMAP_RANGE_SIZE;
      +    static const uptr kMetadataSize = sizeof(Metadata);
      +    typedef __sanitizer::CompactSizeClassMap SizeClassMap;
      +    static const uptr kRegionSizeLog = __msan::kRegionSizeLog;
      +    typedef __msan::ByteMap ByteMap;
      +    typedef MsanMapUnmapCallback MapUnmapCallback;
      +    static const uptr kFlags = 0;
      +  };
      +  typedef SizeClassAllocator32 PrimaryAllocator;
      +#elif defined(__x86_64__)
      +#if SANITIZER_LINUX && !defined(MSAN_LINUX_X86_64_OLD_MAPPING)
      +  static const uptr kAllocatorSpace = 0x700000000000ULL;
      +#else
      +  static const uptr kAllocatorSpace = 0x600000000000ULL;
      +#endif
      +  static const uptr kMaxAllowedMallocSize = 8UL << 30;
      +
      +  struct AP64 {  // Allocator64 parameters. Deliberately using a short name.
      +    static const uptr kSpaceBeg = kAllocatorSpace;
      +    static const uptr kSpaceSize = 0x40000000000; // 4T.
      +    static const uptr kMetadataSize = sizeof(Metadata);
      +    typedef DefaultSizeClassMap SizeClassMap;
      +    typedef MsanMapUnmapCallback MapUnmapCallback;
      +    static const uptr kFlags = 0;
      +  };
      +
      +  typedef SizeClassAllocator64 PrimaryAllocator;
      +
      +#elif defined(__powerpc64__)
      +  static const uptr kMaxAllowedMallocSize = 2UL << 30;  // 2G
      +
      +  struct AP64 {  // Allocator64 parameters. Deliberately using a short name.
      +    static const uptr kSpaceBeg = 0x300000000000;
      +    static const uptr kSpaceSize = 0x020000000000; // 2T.
      +    static const uptr kMetadataSize = sizeof(Metadata);
      +    typedef DefaultSizeClassMap SizeClassMap;
      +    typedef MsanMapUnmapCallback MapUnmapCallback;
      +    static const uptr kFlags = 0;
      +  };
      +
      +  typedef SizeClassAllocator64 PrimaryAllocator;
      +#elif defined(__aarch64__)
      +  static const uptr kMaxAllowedMallocSize = 2UL << 30;  // 2G
      +  static const uptr kRegionSizeLog = 20;
      +  static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog;
      +  typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap;
      +
      +  struct AP32 {
      +    static const uptr kSpaceBeg = 0;
      +    static const u64 kSpaceSize = SANITIZER_MMAP_RANGE_SIZE;
      +    static const uptr kMetadataSize = sizeof(Metadata);
      +    typedef __sanitizer::CompactSizeClassMap SizeClassMap;
      +    static const uptr kRegionSizeLog = __msan::kRegionSizeLog;
      +    typedef __msan::ByteMap ByteMap;
      +    typedef MsanMapUnmapCallback MapUnmapCallback;
      +    static const uptr kFlags = 0;
      +  };
      +  typedef SizeClassAllocator32 PrimaryAllocator;
      +#endif
      +typedef SizeClassAllocatorLocalCache AllocatorCache;
      +typedef LargeMmapAllocator SecondaryAllocator;
      +typedef CombinedAllocator Allocator;
      +
       static Allocator allocator;
       static AllocatorCache fallback_allocator_cache;
       static SpinMutex fallback_mutex;
      -
      -Allocator &get_allocator() { return allocator; }
       
       void MsanAllocatorInit() {
         allocator.Init(
      
      Modified: vendor/compiler-rt/dist/lib/msan/msan_allocator.h
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/msan/msan_allocator.h	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/msan/msan_allocator.h	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -15,105 +15,8 @@
       #define MSAN_ALLOCATOR_H
       
       #include "sanitizer_common/sanitizer_common.h"
      -#include "sanitizer_common/sanitizer_allocator.h"
      -#include "sanitizer_common/sanitizer_allocator_interface.h"
       
       namespace __msan {
      -
      -struct Metadata {
      -  uptr requested_size;
      -};
      -
      -struct MsanMapUnmapCallback {
      -  void OnMap(uptr p, uptr size) const {}
      -  void OnUnmap(uptr p, uptr size) const {
      -    __msan_unpoison((void *)p, size);
      -
      -    // We are about to unmap a chunk of user memory.
      -    // Mark the corresponding shadow memory as not needed.
      -    uptr shadow_p = MEM_TO_SHADOW(p);
      -    ReleaseMemoryPagesToOS(shadow_p, shadow_p + size);
      -    if (__msan_get_track_origins()) {
      -      uptr origin_p = MEM_TO_ORIGIN(p);
      -      ReleaseMemoryPagesToOS(origin_p, origin_p + size);
      -    }
      -  }
      -};
      -
      -#if defined(__mips64)
      -  static const uptr kMaxAllowedMallocSize = 2UL << 30;
      -  static const uptr kRegionSizeLog = 20;
      -  static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog;
      -  typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap;
      -
      -  struct AP32 {
      -    static const uptr kSpaceBeg = 0;
      -    static const u64 kSpaceSize = SANITIZER_MMAP_RANGE_SIZE;
      -    static const uptr kMetadataSize = sizeof(Metadata);
      -    typedef __sanitizer::CompactSizeClassMap SizeClassMap;
      -    static const uptr kRegionSizeLog = __msan::kRegionSizeLog;
      -    typedef __msan::ByteMap ByteMap;
      -    typedef MsanMapUnmapCallback MapUnmapCallback;
      -    static const uptr kFlags = 0;
      -  };
      -  typedef SizeClassAllocator32 PrimaryAllocator;
      -#elif defined(__x86_64__)
      -#if SANITIZER_LINUX && !defined(MSAN_LINUX_X86_64_OLD_MAPPING)
      -  static const uptr kAllocatorSpace = 0x700000000000ULL;
      -#else
      -  static const uptr kAllocatorSpace = 0x600000000000ULL;
      -#endif
      -  static const uptr kMaxAllowedMallocSize = 8UL << 30;
      -
      -  struct AP64 {  // Allocator64 parameters. Deliberately using a short name.
      -    static const uptr kSpaceBeg = kAllocatorSpace;
      -    static const uptr kSpaceSize = 0x40000000000; // 4T.
      -    static const uptr kMetadataSize = sizeof(Metadata);
      -    typedef DefaultSizeClassMap SizeClassMap;
      -    typedef MsanMapUnmapCallback MapUnmapCallback;
      -    static const uptr kFlags = 0;
      -  };
      -
      -  typedef SizeClassAllocator64 PrimaryAllocator;
      -
      -#elif defined(__powerpc64__)
      -  static const uptr kMaxAllowedMallocSize = 2UL << 30;  // 2G
      -
      -  struct AP64 {  // Allocator64 parameters. Deliberately using a short name.
      -    static const uptr kSpaceBeg = 0x300000000000;
      -    static const uptr kSpaceSize = 0x020000000000; // 2T.
      -    static const uptr kMetadataSize = sizeof(Metadata);
      -    typedef DefaultSizeClassMap SizeClassMap;
      -    typedef MsanMapUnmapCallback MapUnmapCallback;
      -    static const uptr kFlags = 0;
      -  };
      -
      -  typedef SizeClassAllocator64 PrimaryAllocator;
      -#elif defined(__aarch64__)
      -  static const uptr kMaxAllowedMallocSize = 2UL << 30;  // 2G
      -  static const uptr kRegionSizeLog = 20;
      -  static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog;
      -  typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap;
      -
      -  struct AP32 {
      -    static const uptr kSpaceBeg = 0;
      -    static const u64 kSpaceSize = SANITIZER_MMAP_RANGE_SIZE;
      -    static const uptr kMetadataSize = sizeof(Metadata);
      -    typedef __sanitizer::CompactSizeClassMap SizeClassMap;
      -    static const uptr kRegionSizeLog = __msan::kRegionSizeLog;
      -    typedef __msan::ByteMap ByteMap;
      -    typedef MsanMapUnmapCallback MapUnmapCallback;
      -    static const uptr kFlags = 0;
      -  };
      -  typedef SizeClassAllocator32 PrimaryAllocator;
      -#endif
      -typedef SizeClassAllocatorLocalCache AllocatorCache;
      -typedef LargeMmapAllocator SecondaryAllocator;
      -typedef CombinedAllocator Allocator;
      -
      -
      -Allocator &get_allocator();
       
       struct MsanThreadLocalMallocStorage {
         uptr quarantine_cache[16];
      
      Modified: vendor/compiler-rt/dist/lib/msan/msan_interceptors.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/msan/msan_interceptors.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/msan/msan_interceptors.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -1201,7 +1201,6 @@ INTERCEPTOR(void *, shmat, int shmid, const void *shma
       }
       
       static void BeforeFork() {
      -  get_allocator().ForceLock();
         StackDepotLockAll();
         ChainedOriginDepotLockAll();
       }
      @@ -1209,7 +1208,6 @@ static void BeforeFork() {
       static void AfterFork() {
         ChainedOriginDepotUnlockAll();
         StackDepotUnlockAll();
      -  get_allocator().ForceUnlock();
       }
       
       INTERCEPTOR(int, fork, void) {
      
      Modified: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors.inc
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors.inc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors.inc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -3395,7 +3395,10 @@ INTERCEPTOR(char *, strerror_r, int errnum, char *buf,
         // its metadata. See
         // https://github.com/google/sanitizers/issues/321.
         char *res = REAL(strerror_r)(errnum, buf, buflen);
      -  COMMON_INTERCEPTOR_WRITE_RANGE(ctx, res, REAL(strlen)(res) + 1);
      +  if (res == buf)
      +    COMMON_INTERCEPTOR_WRITE_RANGE(ctx, res, REAL(strlen)(res) + 1);
      +  else
      +    COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, REAL(strlen)(res) + 1);
         return res;
       }
       #endif //(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE ||
      
      Modified: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -75,6 +75,16 @@ extern char **environ;  // provided by crt1
       #include 
       #endif
       
      +#ifndef __GLIBC_PREREQ
      +#define __GLIBC_PREREQ(x, y) 0
      +#endif
      +
      +#if SANITIZER_LINUX && __GLIBC_PREREQ(2, 16)
      +# define SANITIZER_USE_GETAUXVAL 1
      +#else
      +# define SANITIZER_USE_GETAUXVAL 0
      +#endif
      +
       #if SANITIZER_USE_GETAUXVAL
       #include 
       #endif
      
      Modified: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform.h
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform.h	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform.h	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -269,14 +269,5 @@
       # define SANITIZER_SUPPRESS_LEAK_ON_PTHREAD_EXIT 0
       #endif
       
      -#ifndef __GLIBC_PREREQ
      -#define __GLIBC_PREREQ(x, y) 0
      -#endif
      -
      -#if SANITIZER_LINUX && __GLIBC_PREREQ(2, 16)
      -# define SANITIZER_USE_GETAUXVAL 1
      -#else
      -# define SANITIZER_USE_GETAUXVAL 0
      -#endif
       
       #endif // SANITIZER_PLATFORM_H
      
      Modified: vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -129,7 +129,7 @@ if [[ ! -d ${LLVM_BUILD} ]]; then
         $LLVM_SRC
       fi
       cd ${LLVM_BUILD}
      -ninja LLVMSymbolize LLVMObject LLVMDebugInfoDWARF LLVMSupport LLVMDebugInfoPDB LLVMMC
      +ninja LLVMSymbolize LLVMObject LLVMBinaryFormat LLVMDebugInfoDWARF LLVMSupport LLVMDebugInfoPDB LLVMMC
       
       cd ${BUILD_DIR}
       rm -rf ${SYMBOLIZER_BUILD}
      @@ -148,6 +148,7 @@ $SCRIPT_DIR/ar_to_bc.sh $LIBCXX_BUILD/lib/libc++.a \
                               $LIBCXX_BUILD/lib/libc++abi.a \
                               $LLVM_BUILD/lib/libLLVMSymbolize.a \
                               $LLVM_BUILD/lib/libLLVMObject.a \
      +                        $LLVM_BUILD/lib/libLLVMBinaryFormat.a \
                               $LLVM_BUILD/lib/libLLVMDebugInfoDWARF.a \
                               $LLVM_BUILD/lib/libLLVMSupport.a \
                               $LLVM_BUILD/lib/libLLVMDebugInfoPDB.a \
      
      Modified: vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_thread.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_thread.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_thread.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -345,6 +345,7 @@ void MemoryAccessRange(ThreadState *thr, uptr pc, uptr
         StatInc(thr, StatMopRange);
       
         if (*shadow_mem == kShadowRodata) {
      +    DCHECK(!is_write);
           // Access to .rodata section, no races here.
           // Measurements show that it can be 10-20% of all memory accesses.
           StatInc(thr, StatMopRangeRodata);
      
      Modified: vendor/compiler-rt/dist/test/asan/TestCases/Darwin/atos-symbolizer.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/test/asan/TestCases/Darwin/atos-symbolizer.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/test/asan/TestCases/Darwin/atos-symbolizer.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -4,7 +4,7 @@
       // RUN: %env_asan_opts=verbosity=2 ASAN_SYMBOLIZER_PATH=$(which atos) not %run %t 2>&1 | FileCheck %s
       
       // Path returned by `which atos` is invalid on iOS.
      -// UNSUPPORTED: ios
      +// UNSUPPORTED: ios, i386-darwin
       
       #include 
       #include 
      
      Added: vendor/compiler-rt/dist/test/asan/TestCases/Linux/asan_preload_test-3.cc
      ==============================================================================
      --- /dev/null	00:00:00 1970	(empty, because file is newly added)
      +++ vendor/compiler-rt/dist/test/asan/TestCases/Linux/asan_preload_test-3.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -0,0 +1,33 @@
      +// Regression test for PR33206
      +//
      +// RUN: %clang -DDYN=1 -DMALLOC=1 -fPIC -shared %s -o %t-dso1.so
      +// RUN: %clang -DDYN=1 -DMALLOC=1 -fPIC -shared %s -o %t-dso2.so %t-dso1.so
      +// RUN: %clang %s -o %t-1 %t-dso2.so
      +// RUN: env LD_PRELOAD=%shared_libasan %run %t-1 2>&1 | FileCheck %s
      +// RUN: %clang -DDYN=1 -DREALLOC=1 -fPIC -shared %s -o %t-dso3.so
      +// RUN: %clang -DDYN=1 -DREALLOC=1 -fPIC -shared %s -o %t-dso4.so %t-dso3.so
      +// RUN: %clang %s -o %t-2 %t-dso4.so
      +// RUN: env LD_PRELOAD=%shared_libasan %run %t-2 2>&1 | FileCheck %s
      +// REQUIRES: asan-dynamic-runtime
      +
      +#include 
      +#include 
      +
      +#ifdef DYN
      +__attribute__((constructor)) void foo() {
      +  void *p;
      +#ifdef MALLOC
      +  p = malloc(1 << 20);
      +#endif
      +#ifdef REALLOC
      +  p = realloc (0, 1 << 20);
      +#endif
      +  free(p);
      +}
      +#else
      +int main() {
      +  // CHECK: Success
      +  printf("Success\n");
      +  return 0;
      +}
      +#endif
      
      Modified: vendor/compiler-rt/dist/test/asan/TestCases/Posix/halt_on_error-torture.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/test/asan/TestCases/Posix/halt_on_error-torture.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/test/asan/TestCases/Posix/halt_on_error-torture.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -10,12 +10,12 @@
       //
       // Collisions are unlikely but still possible so we need the ||.
       // RUN: rm -f 10.txt
      -// RUN: %env_asan_opts=halt_on_error=false:suppress_equal_pcs=false %run %t 10 20 >>10.txt 2>&1 || true
      +// RUN: %env_asan_opts=halt_on_error=false:suppress_equal_pcs=false:exitcode=0 %run %t 10 20 2>&1 | cat > 10.txt
       // RUN: FileCheck --check-prefix=CHECK-COLLISION %s < 10.txt || FileCheck --check-prefix=CHECK-NO-COLLISION %s < 10.txt
       //
       // Collisions are unlikely but still possible so we need the ||.
       // RUN: rm -f 20.txt
      -// RUN: %env_asan_opts=halt_on_error=false %run %t 10 20 >>20.txt 2>&1 || true
      +// RUN: %env_asan_opts=halt_on_error=false:exitcode=0 %run %t 10 20 2>&1 | cat > 20.txt
       // RUN: FileCheck --check-prefix=CHECK-COLLISION %s < 20.txt || FileCheck --check-prefix=CHECK-NO-COLLISION %s < 20.txt
       
       #include 
      @@ -38,7 +38,7 @@ void *run(void *arg) {
         unsigned seed = (unsigned)(size_t)arg;
       
         volatile char tmp[2];
      -  __asan_poison_memory_region(&tmp, sizeof(tmp)); 
      +  __asan_poison_memory_region(&tmp, sizeof(tmp));
       
         for (size_t i = 0; i < niter; ++i) {
           random_delay(&seed);
      
      Added: vendor/compiler-rt/dist/test/msan/Linux/strerror_r.cc
      ==============================================================================
      --- /dev/null	00:00:00 1970	(empty, because file is newly added)
      +++ vendor/compiler-rt/dist/test/msan/Linux/strerror_r.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -0,0 +1,18 @@
      +// RUN: %clang_msan -O0 -g %s -o %t && %run %t
      +
      +#include 
      +#include 
      +#include 
      +
      +int main() {
      +  char buf[1000];
      +  char *res = strerror_r(EINVAL, buf, sizeof(buf));
      +  assert(res);
      +  volatile int z = strlen(res);
      +
      +  res = strerror_r(-1, buf, sizeof(buf));
      +  assert(res);
      +  z = strlen(res);
      +
      +  return 0;
      +}
      
      Modified: vendor/compiler-rt/dist/test/profile/Linux/instrprof-alloc.test
      ==============================================================================
      --- vendor/compiler-rt/dist/test/profile/Linux/instrprof-alloc.test	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/test/profile/Linux/instrprof-alloc.test	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -1,6 +1,6 @@
      -// RUN: %clang_profgen -Xclang -fprofile-instrument=llvm  -fuse-ld=gold -Wl,-wrap,malloc -Wl,-wrap,calloc -o %t -O3 %S/../Inputs/instrprof-alloc.c
      +// RUN: %clang_pgogen  -fuse-ld=gold -Wl,-wrap,malloc -Wl,-wrap,calloc -o %t -O3 %S/../Inputs/instrprof-alloc.c
       // RUN: env LLVM_PROFILE_FILE=%t.profraw %run %t
       
      -// RUN: %clang_profgen  -Xclang -fprofile-instrument=llvm -mllvm -vp-static-alloc=false -fuse-ld=gold -Wl,-wrap,malloc -Wl,-wrap,calloc -o %t.dyn -O3 %S/../Inputs/instrprof-alloc.c
      +// RUN: %clang_pgogen  -mllvm -vp-static-alloc=false -fuse-ld=gold -Wl,-wrap,malloc -Wl,-wrap,calloc -o %t.dyn -O3 %S/../Inputs/instrprof-alloc.c
       // RUN: env LLVM_PROFILE_FILE=%t.profraw not %run %t.dyn
       
      
      Modified: vendor/compiler-rt/dist/test/profile/Linux/instrprof-value-prof-warn.test
      ==============================================================================
      --- vendor/compiler-rt/dist/test/profile/Linux/instrprof-value-prof-warn.test	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/test/profile/Linux/instrprof-value-prof-warn.test	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -1,4 +1,4 @@
      -RUN: %clang_profgen -O2 -mllvm -disable-vp=false -Xclang -fprofile-instrument=llvm -mllvm -vp-static-alloc=true -DSTRESS=1 -o %t.ir.warn  %S/../Inputs/instrprof-value-prof-real.c
      +RUN: %clang_pgogen -O2 -mllvm -disable-vp=false -mllvm -vp-static-alloc=true -DSTRESS=1 -o %t.ir.warn  %S/../Inputs/instrprof-value-prof-real.c
       RUN: env LLVM_PROFILE_FILE=%t.ir.profraw LLVM_VP_MAX_NUM_VALS_PER_SITE=255  %run %t.ir.warn 2>&1 |FileCheck --check-prefix=WARNING %s
       #  Test that enough static counters have been allocated
       RUN: env LLVM_PROFILE_FILE=%t.ir.profraw LLVM_VP_MAX_NUM_VALS_PER_SITE=150  %run %t.ir.warn 2>&1 |FileCheck --check-prefix=NOWARNING --allow-empty %s
      
      Modified: vendor/compiler-rt/dist/test/sanitizer_common/TestCases/sanitizer_coverage_inline8bit_counter.cc
      ==============================================================================
      --- vendor/compiler-rt/dist/test/sanitizer_common/TestCases/sanitizer_coverage_inline8bit_counter.cc	Sat Jun 10 13:44:29 2017	(r319783)
      +++ vendor/compiler-rt/dist/test/sanitizer_common/TestCases/sanitizer_coverage_inline8bit_counter.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -1,7 +1,7 @@
       // Tests -fsanitize-coverage=inline-8bit-counters
       //
       // REQUIRES: has_sancovcc,stable-runtime
      -// UNSUPPORTED: i386-darwin
      +// UNSUPPORTED: i386-darwin, x86_64-darwin, x86_64h-darwin
       //
       // RUN: %clangxx -O0 %s -fsanitize-coverage=inline-8bit-counters 2>&1
       
      
      Added: vendor/compiler-rt/dist/test/tsan/strerror_r.cc
      ==============================================================================
      --- /dev/null	00:00:00 1970	(empty, because file is newly added)
      +++ vendor/compiler-rt/dist/test/tsan/strerror_r.cc	Sat Jun 10 13:44:32 2017	(r319784)
      @@ -0,0 +1,29 @@
      +// RUN: %clangxx_tsan -O1 -DTEST_ERROR=ERANGE %s -o %t && %run %t 2>&1 | FileCheck --check-prefixes=CHECK,CHECK-SYS %s
      +// RUN: %clangxx_tsan -O1 -DTEST_ERROR=-1 %s -o %t && not %run %t 2>&1 | FileCheck --check-prefixes=CHECK,CHECK-USER %s
      +// UNSUPPORTED: darwin
      +
      +#include 
      +#include 
      +#include 
      +#include 
      +#include 
      +
      +char buffer[1000];
      +
      +void *Thread(void *p) {
      +  return strerror_r(TEST_ERROR, buffer, sizeof(buffer));
      +}
      +
      +int main() {
      +  pthread_t th[2];
      +  pthread_create(&th[0], 0, Thread, 0);
      +  pthread_create(&th[1], 0, Thread, 0);
      +  pthread_join(th[0], 0);
      +  pthread_join(th[1], 0);
      +  fprintf(stderr, "DONE\n");
      +}
      +
      +// CHECK-USER: WARNING: ThreadSanitizer: data race
      +// CHECK-SYS-NOT: WARNING: ThreadSanitizer: data race
      +
      +// CHECK: DONE
      
      From owner-svn-src-all@freebsd.org  Sat Jun 10 13:44:39 2017
      Return-Path: 
      Delivered-To: svn-src-all@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 BEB4BB95474;
       Sat, 10 Jun 2017 13:44:39 +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 73252789C2;
       Sat, 10 Jun 2017 13:44:39 +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 v5ADicKT094892;
       Sat, 10 Jun 2017 13:44:38 GMT (envelope-from dim@FreeBSD.org)
      Received: (from dim@localhost)
       by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADicww094891;
       Sat, 10 Jun 2017 13:44:38 GMT (envelope-from dim@FreeBSD.org)
      Message-Id: <201706101344.v5ADicww094891@repo.freebsd.org>
      X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org
       using -f
      From: Dimitry Andric 
      Date: Sat, 10 Jun 2017 13:44:38 +0000 (UTC)
      To: src-committers@freebsd.org, svn-src-all@freebsd.org,
       svn-src-vendor@freebsd.org
      Subject: svn commit: r319785 - vendor/compiler-rt/compiler-rt-trunk-r305145
      X-SVN-Group: vendor
      MIME-Version: 1.0
      Content-Type: text/plain; charset=UTF-8
      Content-Transfer-Encoding: 8bit
      X-BeenThere: svn-src-all@freebsd.org
      X-Mailman-Version: 2.1.23
      Precedence: list
      List-Id: "SVN commit messages for the entire src tree \(except for "
       user" and " projects" \)" 
      List-Unsubscribe: ,
       
      List-Archive: 
      List-Post: 
      List-Help: 
      List-Subscribe: ,
       
      X-List-Received-Date: Sat, 10 Jun 2017 13:44:39 -0000
      
      Author: dim
      Date: Sat Jun 10 13:44:38 2017
      New Revision: 319785
      URL: https://svnweb.freebsd.org/changeset/base/319785
      
      Log:
        Tag compiler-rt trunk r305145.
      
      Added:
        vendor/compiler-rt/compiler-rt-trunk-r305145/
           - copied from r319784, vendor/compiler-rt/dist/
      
      From owner-svn-src-all@freebsd.org  Sat Jun 10 13:44:44 2017
      Return-Path: 
      Delivered-To: svn-src-all@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 20E6FB954CF;
       Sat, 10 Jun 2017 13:44:44 +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 CB11578A53;
       Sat, 10 Jun 2017 13:44:43 +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 v5ADihYu094958;
       Sat, 10 Jun 2017 13:44:43 GMT (envelope-from dim@FreeBSD.org)
      Received: (from dim@localhost)
       by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADifoO094939;
       Sat, 10 Jun 2017 13:44:41 GMT (envelope-from dim@FreeBSD.org)
      Message-Id: <201706101344.v5ADifoO094939@repo.freebsd.org>
      X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org
       using -f
      From: Dimitry Andric 
      Date: Sat, 10 Jun 2017 13:44:41 +0000 (UTC)
      To: src-committers@freebsd.org, svn-src-all@freebsd.org,
       svn-src-vendor@freebsd.org
      Subject: svn commit: r319786 - in vendor/libc++/dist: include
       test/libcxx/utilities/variant/variant.variant/variant.assign
       test/libcxx/utilities/variant/variant.variant/variant.ctor
       test/std/localization/lo...
      X-SVN-Group: vendor
      MIME-Version: 1.0
      Content-Type: text/plain; charset=UTF-8
      Content-Transfer-Encoding: 8bit
      X-BeenThere: svn-src-all@freebsd.org
      X-Mailman-Version: 2.1.23
      Precedence: list
      List-Id: "SVN commit messages for the entire src tree \(except for "
       user" and " projects" \)" 
      List-Unsubscribe: ,
       
      List-Archive: 
      List-Post: 
      List-Help: 
      List-Subscribe: ,
       
      X-List-Received-Date: Sat, 10 Jun 2017 13:44:44 -0000
      
      Author: dim
      Date: Sat Jun 10 13:44:41 2017
      New Revision: 319786
      URL: https://svnweb.freebsd.org/changeset/base/319786
      
      Log:
        Vendor import of libc++ trunk r305145:
        https://llvm.org/svn/llvm-project/libcxx/trunk@305145
      
      Added:
        vendor/libc++/dist/test/std/numerics/numeric.ops/exclusive.scan/
        vendor/libc++/dist/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan_iter_iter_iter.pass.cpp   (contents, props changed)
        vendor/libc++/dist/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan_iter_iter_iter_init_op.pass.cpp   (contents, props changed)
        vendor/libc++/dist/test/std/numerics/numeric.ops/transform.exclusive.scan/
        vendor/libc++/dist/test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_iter_iter_iter_init_bop_uop.pass.cpp   (contents, props changed)
        vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/implicit_deduction_guides.pass.cpp   (contents, props changed)
      Deleted:
        vendor/libc++/dist/test/libcxx/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
        vendor/libc++/dist/test/libcxx/utilities/variant/variant.variant/variant.assign/move.pass.cpp
        vendor/libc++/dist/test/libcxx/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
        vendor/libc++/dist/test/libcxx/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
        vendor/libc++/dist/test/support/test.workarounds/c1xx_empty_parameter_pack_expansion.pass.cpp
      Modified:
        vendor/libc++/dist/include/__mutex_base
        vendor/libc++/dist/include/mutex
        vendor/libc++/dist/include/numeric
        vendor/libc++/dist/include/optional
        vendor/libc++/dist/include/tuple
        vendor/libc++/dist/include/variant
        vendor/libc++/dist/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char.pass.cpp
        vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
        vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.mod/reset.pass.cpp
        vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.observe/value_or.pass.cpp
        vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
        vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
        vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
        vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
        vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
        vendor/libc++/dist/test/support/msvc_stdlib_force_include.hpp
        vendor/libc++/dist/test/support/platform_support.h
        vendor/libc++/dist/test/support/test_workarounds.h
        vendor/libc++/dist/test/support/uses_alloc_types.hpp
        vendor/libc++/dist/test/support/variant_test_helpers.hpp
        vendor/libc++/dist/www/cxx1z_status.html
      
      Modified: vendor/libc++/dist/include/__mutex_base
      ==============================================================================
      --- vendor/libc++/dist/include/__mutex_base	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/include/__mutex_base	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -48,7 +48,7 @@ class _LIBCPP_TYPE_VIS _LIBCPP_THREAD_SAFETY_ANNOTATIO
       public:
           _LIBCPP_INLINE_VISIBILITY
       #ifndef _LIBCPP_CXX03_LANG
      -    constexpr mutex() _NOEXCEPT = default;
      +    constexpr mutex() = default;
       #else
           mutex() _NOEXCEPT {__m_ = (__libcpp_mutex_t)_LIBCPP_MUTEX_INITIALIZER;}
       #endif
      @@ -66,6 +66,9 @@ class _LIBCPP_TYPE_VIS _LIBCPP_THREAD_SAFETY_ANNOTATIO
           typedef __libcpp_mutex_t* native_handle_type;
           _LIBCPP_INLINE_VISIBILITY native_handle_type native_handle() {return &__m_;}
       };
      +
      +static_assert(is_nothrow_default_constructible::value,
      +              "the default constructor for std::mutex must be nothrow");
       
       struct _LIBCPP_TYPE_VIS defer_lock_t {};
       struct _LIBCPP_TYPE_VIS try_to_lock_t {};
      
      Modified: vendor/libc++/dist/include/mutex
      ==============================================================================
      --- vendor/libc++/dist/include/mutex	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/include/mutex	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -502,7 +502,6 @@ class _LIBCPP_TEMPLATE_VIS scoped_lock<_Mutex> { (publ
           _LIBCPP_INLINE_VISIBILITY
           explicit scoped_lock(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m))
               : __m_(__m) {}
      -    
       
           scoped_lock(scoped_lock const&) = delete;
           scoped_lock& operator=(scoped_lock const&) = delete;
      
      Modified: vendor/libc++/dist/include/numeric
      ==============================================================================
      --- vendor/libc++/dist/include/numeric	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/include/numeric	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -42,6 +42,23 @@ template 
      +    OutputIterator
      +    exclusive_scan(InputIterator first, InputIterator last,
      +                   OutputIterator result, T init); // C++17
      +                           
      +template
      +    OutputIterator
      +    exclusive_scan(InputIterator first, InputIterator last, 
      +                   OutputIterator result, T init, BinaryOperation binary_op); // C++17
      +
      +template
      +    OutputIterator
      +    transform_exclusive_scan(InputIterator first, InputIterator last,
      +                             OutputIterator result, T init,
      +                             BinaryOperation binary_op, UnaryOperation unary_op);  // C++17
      +
       template 
           OutputIterator
           adjacent_difference(InputIterator first, InputIterator last, OutputIterator result);
      @@ -66,6 +83,7 @@ template 
       #include <__config>
       #include 
       #include  // for numeric_limits
      +#include 
       
       #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
       #pragma GCC system_header
      @@ -153,6 +171,59 @@ partial_sum(_InputIterator __first, _InputIterator __l
           }
           return __result;
       }
      +
      +#if _LIBCPP_STD_VER > 14
      +template 
      +inline _LIBCPP_INLINE_VISIBILITY
      +_OutputIterator
      +exclusive_scan(_InputIterator __first, _InputIterator __last, 
      +               _OutputIterator __result, _Tp __init, _BinaryOp __b)
      +{
      +    if (__first != __last)
      +    {
      +        _Tp __saved = __init;
      +        do
      +        {
      +            __init = __b(__init, *__first);
      +            *__result = __saved;
      +            __saved = __init;
      +            ++__result;
      +        } while (++__first != __last);
      +    }
      +    return __result;
      +}
      +
      +template 
      +inline _LIBCPP_INLINE_VISIBILITY
      +_OutputIterator
      +exclusive_scan(_InputIterator __first, _InputIterator __last, 
      +               _OutputIterator __result, _Tp __init)
      +{
      +    return _VSTD::exclusive_scan(__first, __last, __result, __init, _VSTD::plus<>());
      +}
      +
      +template 
      +inline _LIBCPP_INLINE_VISIBILITY
      +_OutputIterator
      +transform_exclusive_scan(_InputIterator __first, _InputIterator __last, 
      +                           _OutputIterator __result, _Tp __init,
      +                           _BinaryOp __b, _UnaryOp __u)
      +{
      +    if (__first != __last)
      +    {
      +        _Tp __saved = __init;
      +        do
      +        {
      +            __init = __b(__init, __u(*__first));
      +            *__result = __saved;
      +            __saved = __init;
      +            ++__result;
      +        } while (++__first != __last);
      +    }
      +    return __result;
      +}
      +#endif
       
       template 
       inline _LIBCPP_INLINE_VISIBILITY
      
      Modified: vendor/libc++/dist/include/optional
      ==============================================================================
      --- vendor/libc++/dist/include/optional	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/include/optional	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -897,7 +897,7 @@ class optional (public)
       
           template 
           _LIBCPP_INLINE_VISIBILITY
      -    value_type value_or(_Up&& __v) &&
      +    constexpr value_type value_or(_Up&& __v) &&
           {
               static_assert(is_move_constructible_v,
                             "optional::value_or: T must be move constructible");
      
      Modified: vendor/libc++/dist/include/tuple
      ==============================================================================
      --- vendor/libc++/dist/include/tuple	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/include/tuple	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -929,6 +929,16 @@ class _LIBCPP_TEMPLATE_VIS tuple<> (public)
           void swap(tuple&) _NOEXCEPT {}
       };
       
      +#ifdef __cpp_deduction_guides
      +// NOTE: These are not yet standardized, but are required to simulate the
      +// implicit deduction guide that should be generated had libc++ declared the
      +// tuple-like constructors "correctly"
      +template 
      +tuple(allocator_arg_t, const _Alloc&, tuple<_Args...> const&) -> tuple<_Args...>;
      +template 
      +tuple(allocator_arg_t, const _Alloc&, tuple<_Args...>&&) -> tuple<_Args...>;
      +#endif
      +
       template 
       inline _LIBCPP_INLINE_VISIBILITY
       typename enable_if
      
      Modified: vendor/libc++/dist/include/variant
      ==============================================================================
      --- vendor/libc++/dist/include/variant	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/include/variant	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -358,7 +358,6 @@ struct __traits {
       
         static constexpr _Trait __copy_assignable_trait = __common_trait(
             {__copy_constructible_trait,
      -       __move_constructible_trait,
              __trait<_Types, is_trivially_copy_assignable, is_copy_assignable>...});
       
         static constexpr _Trait __move_assignable_trait = __common_trait(
      @@ -877,25 +876,24 @@ class _LIBCPP_TEMPLATE_VIS __assignment : public __cop
         }
       
       protected:
      -  template 
      +  template 
         inline _LIBCPP_INLINE_VISIBILITY
      -  void __assign_alt(__alt<_Ip, _Tp>& __a,
      -                    _Arg&& __arg,
      -                    bool_constant<_CopyAssign> __tag) {
      +  void __assign_alt(__alt<_Ip, _Tp>& __a, _Arg&& __arg) {
           if (this->index() == _Ip) {
             __a.__value = _VSTD::forward<_Arg>(__arg);
           } else {
             struct {
               void operator()(true_type) const {
      -          __this->__emplace<_Ip>(_Tp(_VSTD::forward<_Arg>(__arg)));
      +          __this->__emplace<_Ip>(_VSTD::forward<_Arg>(__arg));
               }
               void operator()(false_type) const {
      -          __this->__emplace<_Ip>(_VSTD::forward<_Arg>(__arg));
      +          __this->__emplace<_Ip>(_Tp(_VSTD::forward<_Arg>(__arg)));
               }
               __assignment* __this;
               _Arg&& __arg;
             } __impl{this, _VSTD::forward<_Arg>(__arg)};
      -      __impl(__tag);
      +      __impl(bool_constant ||
      +                           !is_nothrow_move_constructible_v<_Tp>>{});
           }
         }
       
      @@ -912,8 +910,7 @@ class _LIBCPP_TEMPLATE_VIS __assignment : public __cop
                 [this](auto& __this_alt, auto&& __that_alt) {
                   this->__assign_alt(
                       __this_alt,
      -                _VSTD::forward(__that_alt).__value,
      -                is_lvalue_reference<_That>{});
      +                _VSTD::forward(__that_alt).__value);
                 },
                 *this, _VSTD::forward<_That>(__that));
           }
      @@ -1013,8 +1010,7 @@ class _LIBCPP_TEMPLATE_VIS __impl (public)
         inline _LIBCPP_INLINE_VISIBILITY
         void __assign(_Arg&& __arg) {
           this->__assign_alt(__access::__base::__get_alt<_Ip>(*this),
      -                       _VSTD::forward<_Arg>(__arg),
      -                       false_type{});
      +                       _VSTD::forward<_Arg>(__arg));
         }
       
         inline _LIBCPP_INLINE_VISIBILITY
      @@ -1088,7 +1084,6 @@ class _LIBCPP_TEMPLATE_VIS variant
                 __all...>::value>,
             private __sfinae_assign_base<
                 __all<(is_copy_constructible_v<_Types> &&
      -                 is_move_constructible_v<_Types> &&
                        is_copy_assignable_v<_Types>)...>::value,
                 __all<(is_move_constructible_v<_Types> &&
                        is_move_assignable_v<_Types>)...>::value> {
      
      Modified: vendor/libc++/dist/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char.pass.cpp
      ==============================================================================
      --- vendor/libc++/dist/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char.pass.cpp	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char.pass.cpp	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -17,6 +17,8 @@
       #include 
       #include 
       
      +#include "platform_support.h"
      +
       typedef std::codecvt_byname F;
       
       class my_facet
      @@ -38,12 +40,12 @@ int my_facet::count = 0;
       int main()
       {
           {
      -        std::locale l(std::locale::classic(), new my_facet("en_US"));
      +        std::locale l(std::locale::classic(), new my_facet(LOCALE_en_US));
               assert(my_facet::count == 1);
           }
           assert(my_facet::count == 0);
           {
      -        my_facet f("en_US", 1);
      +        my_facet f(LOCALE_en_US, 1);
               assert(my_facet::count == 1);
               {
                   std::locale l(std::locale::classic(), &f);
      @@ -53,12 +55,12 @@ int main()
           }
           assert(my_facet::count == 0);
           {
      -        std::locale l(std::locale::classic(), new my_facet(std::string("en_US")));
      +        std::locale l(std::locale::classic(), new my_facet(std::string(LOCALE_en_US)));
               assert(my_facet::count == 1);
           }
           assert(my_facet::count == 0);
           {
      -        my_facet f(std::string("en_US"), 1);
      +        my_facet f(std::string(LOCALE_en_US), 1);
               assert(my_facet::count == 1);
               {
                   std::locale l(std::locale::classic(), &f);
      
      Added: vendor/libc++/dist/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan_iter_iter_iter.pass.cpp
      ==============================================================================
      --- /dev/null	00:00:00 1970	(empty, because file is newly added)
      +++ vendor/libc++/dist/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan_iter_iter_iter.pass.cpp	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -0,0 +1,97 @@
      +//===----------------------------------------------------------------------===//
      +//
      +//                     The LLVM Compiler Infrastructure
      +//
      +// This file is dual licensed under the MIT and the University of Illinois Open
      +// Source Licenses. See LICENSE.TXT for details.
      +//
      +//===----------------------------------------------------------------------===//
      +
      +// 
      +// UNSUPPORTED: c++98, c++03, c++11, c++14
      +
      +// template
      +//     OutputIterator exclusive_scan(InputIterator first, InputIterator last,
      +//                                   OutputIterator result, T init);
      +// 
      +
      +#include 
      +#include 
      +#include 
      +
      +#include "test_iterators.h"
      +
      +template 
      +void
      +test(Iter1 first, Iter1 last, T init, Iter2 rFirst, Iter2 rLast)
      +{
      +    std::vector::value_type> v;
      +    
      +//  Not in place
      +    std::exclusive_scan(first, last, std::back_inserter(v), init);
      +    assert(std::equal(v.begin(), v.end(), rFirst, rLast));
      +
      +//  In place
      +    v.clear();
      +    v.assign(first, last);
      +    std::exclusive_scan(v.begin(), v.end(), v.begin(), init);
      +    assert(std::equal(v.begin(), v.end(), rFirst, rLast));  
      +}
      +
      +
      +template 
      +void
      +test()
      +{
      +          int ia[]   = {1, 3, 5, 7,  9};
      +    const int pRes[] = {0, 1, 4, 9, 16};
      +    const unsigned sa = sizeof(ia) / sizeof(ia[0]);
      +    static_assert(sa == sizeof(pRes) / sizeof(pRes[0]));       // just to be sure
      +
      +    for (unsigned int i = 0; i < sa; ++i )
      +        test(Iter(ia), Iter(ia + i), 0, pRes, pRes + i);
      +}
      +
      +int triangle(int n) { return n*(n+1)/2; }
      +
      +//  Basic sanity
      +void basic_tests()
      +{
      +    {
      +    std::vector v(10);
      +    std::fill(v.begin(), v.end(), 3);
      +    std::exclusive_scan(v.begin(), v.end(), v.begin(), 50);
      +    for (size_t i = 0; i < v.size(); ++i)
      +        assert(v[i] == 50 + (int) i * 3);
      +    }
      +
      +    {
      +    std::vector v(10);
      +    std::iota(v.begin(), v.end(), 0);
      +    std::exclusive_scan(v.begin(), v.end(), v.begin(), 30);
      +    for (size_t i = 0; i < v.size(); ++i)
      +        assert(v[i] == 30 + triangle(i-1));
      +    }
      +
      +    {
      +    std::vector v(10);
      +    std::iota(v.begin(), v.end(), 1);
      +    std::exclusive_scan(v.begin(), v.end(), v.begin(), 40);
      +    for (size_t i = 0; i < v.size(); ++i)
      +        assert(v[i] == 40 + triangle(i));
      +    }
      +
      +}
      +
      +int main()
      +{
      +    basic_tests();
      +
      +//  All the iterator categories
      +    test >();
      +    test >();
      +    test >();
      +    test >();
      +    test();
      +    test<      int*>();
      +}
      
      Added: vendor/libc++/dist/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan_iter_iter_iter_init_op.pass.cpp
      ==============================================================================
      --- /dev/null	00:00:00 1970	(empty, because file is newly added)
      +++ vendor/libc++/dist/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan_iter_iter_iter_init_op.pass.cpp	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -0,0 +1,87 @@
      +//===----------------------------------------------------------------------===//
      +//
      +//                     The LLVM Compiler Infrastructure
      +//
      +// This file is dual licensed under the MIT and the University of Illinois Open
      +// Source Licenses. See LICENSE.TXT for details.
      +//
      +//===----------------------------------------------------------------------===//
      +
      +// 
      +// UNSUPPORTED: c++98, c++03, c++11, c++14
      +
      +// template
      +//     OutputIterator
      +//     exclusive_scan(InputIterator first, InputIterator last,
      +//                    OutputIterator result, 
      +//                    T init, BinaryOperation binary_op); // C++17
      +
      +#include 
      +#include 
      +#include 
      +
      +#include "test_iterators.h"
      +
      +template 
      +void
      +test(Iter1 first, Iter1 last, T init, Op op, Iter2 rFirst, Iter2 rLast)
      +{
      +    std::vector::value_type> v;
      +
      +//  Not in place
      +    std::exclusive_scan(first, last, std::back_inserter(v), init, op);
      +    assert(std::equal(v.begin(), v.end(), rFirst, rLast));
      +
      +//  In place
      +    v.clear();
      +    v.assign(first, last);
      +    std::exclusive_scan(v.begin(), v.end(), v.begin(), init, op);
      +    assert(std::equal(v.begin(), v.end(), rFirst, rLast));  
      +}
      +
      +
      +template 
      +void
      +test()
      +{
      +          int ia[]   = {1, 3, 5,  7,   9};
      +    const int pRes[] = {0, 1, 4,  9,  16};
      +    const int mRes[] = {1, 1, 3, 15, 105};
      +    const unsigned sa = sizeof(ia) / sizeof(ia[0]);
      +    static_assert(sa == sizeof(pRes) / sizeof(pRes[0]));       // just to be sure
      +    static_assert(sa == sizeof(mRes) / sizeof(mRes[0]));       // just to be sure
      +
      +    for (unsigned int i = 0; i < sa; ++i ) {
      +        test(Iter(ia), Iter(ia + i), 0, std::plus<>(),       pRes, pRes + i);
      +        test(Iter(ia), Iter(ia + i), 1, std::multiplies<>(), mRes, mRes + i);
      +        }
      +}
      +
      +int main()
      +{
      +//  All the iterator categories
      +    test >();
      +    test >();
      +    test >();
      +    test >();
      +    test();
      +    test<      int*>();
      +
      +//  Make sure that the calculations are done using the init typedef
      +    {
      +    std::vector v(10);
      +    std::iota(v.begin(), v.end(), 1);
      +    std::vector res;
      +    std::exclusive_scan(v.begin(), v.end(), std::back_inserter(res), 1, std::multiplies<>());
      +
      +    assert(res.size() == 10);
      +    int j = 1;
      +    assert(res[0] == 1);
      +    for (size_t i = 1; i < v.size(); ++i)
      +    {
      +        j *= i;
      +        assert(res[i] == j);
      +    }
      +    }
      +}
      + 
      \ No newline at end of file
      
      Added: vendor/libc++/dist/test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_iter_iter_iter_init_bop_uop.pass.cpp
      ==============================================================================
      --- /dev/null	00:00:00 1970	(empty, because file is newly added)
      +++ vendor/libc++/dist/test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_iter_iter_iter_init_bop_uop.pass.cpp	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -0,0 +1,154 @@
      +//===----------------------------------------------------------------------===//
      +//
      +//                     The LLVM Compiler Infrastructure
      +//
      +// This file is dual licensed under the MIT and the University of Illinois Open
      +// Source Licenses. See LICENSE.TXT for details.
      +//
      +//===----------------------------------------------------------------------===//
      +
      +// 
      +// UNSUPPORTED: c++98, c++03, c++11, c++14
      +
      +// template
      +//   OutputIterator transform_exclusive_scan(InputIterator first, InputIterator last,
      +//                                           OutputIterator result, T init,
      +//                                           BinaryOperation binary_op,
      +//                                           UnaryOperation unary_op);
      +
      +
      +#include 
      +#include 
      +#include 
      +#include 
      +
      +#include "test_iterators.h"
      +
      +template 
      +struct identity : std::unary_function<_Tp, _Tp>
      +{
      +    constexpr const _Tp& operator()(const _Tp& __x) const { return __x;}
      +};
      +
      +template <>
      +struct identity
      +{
      +    template 
      +    constexpr auto operator()(_Tp&& __x) const
      +    _NOEXCEPT_(noexcept(_VSTD::forward<_Tp>(__x)))
      +    -> decltype        (_VSTD::forward<_Tp>(__x))
      +        { return        _VSTD::forward<_Tp>(__x); }
      +};
      +
      +template 
      +void
      +test(Iter1 first, Iter1 last, BOp bop, UOp uop, T init, Iter2 rFirst, Iter2 rLast)
      +{
      +    std::vector::value_type> v;
      +//  Test not in-place
      +    std::transform_exclusive_scan(first, last, std::back_inserter(v), init, bop, uop);
      +    assert(std::equal(v.begin(), v.end(), rFirst, rLast));
      +
      +//  Test in-place
      +    v.clear();
      +    v.assign(first, last);
      +    std::transform_exclusive_scan(v.begin(), v.end(), v.begin(), init, bop, uop);
      +    assert(std::equal(v.begin(), v.end(), rFirst, rLast));
      +}
      +
      +
      +template 
      +void
      +test()
      +{
      +          int ia[]     = { 1,  3,  5,   7,   9};
      +    const int pResI0[] = { 0,  1,  4,   9,  16};        // with identity
      +    const int mResI0[] = { 0,  0,  0,   0,   0};        
      +    const int pResN0[] = { 0, -1, -4,  -9, -16};        // with negate
      +    const int mResN0[] = { 0,  0,  0,   0,   0};
      +    const int pResI2[] = { 2,  3,  6,  11,  18};        // with identity
      +    const int mResI2[] = { 2,  2,  6,  30, 210};        
      +    const int pResN2[] = { 2,  1, -2,  -7, -14};        // with negate
      +    const int mResN2[] = { 2, -2,  6, -30, 210};
      +    const unsigned sa = sizeof(ia) / sizeof(ia[0]);
      +    static_assert(sa == sizeof(pResI0) / sizeof(pResI0[0]));       // just to be sure
      +    static_assert(sa == sizeof(mResI0) / sizeof(mResI0[0]));       // just to be sure
      +    static_assert(sa == sizeof(pResN0) / sizeof(pResN0[0]));       // just to be sure
      +    static_assert(sa == sizeof(mResN0) / sizeof(mResN0[0]));       // just to be sure
      +    static_assert(sa == sizeof(pResI2) / sizeof(pResI2[0]));       // just to be sure
      +    static_assert(sa == sizeof(mResI2) / sizeof(mResI2[0]));       // just to be sure
      +    static_assert(sa == sizeof(pResN2) / sizeof(pResN2[0]));       // just to be sure
      +    static_assert(sa == sizeof(mResN2) / sizeof(mResN2[0]));       // just to be sure
      +
      +    for (unsigned int i = 0; i < sa; ++i ) {
      +        test(Iter(ia), Iter(ia + i), std::plus<>(),       identity<>(),    0, pResI0, pResI0 + i);
      +        test(Iter(ia), Iter(ia + i), std::multiplies<>(), identity<>(),    0, mResI0, mResI0 + i);
      +        test(Iter(ia), Iter(ia + i), std::plus<>(),       std::negate<>(), 0, pResN0, pResN0 + i);
      +        test(Iter(ia), Iter(ia + i), std::multiplies<>(), std::negate<>(), 0, mResN0, mResN0 + i);
      +        test(Iter(ia), Iter(ia + i), std::plus<>(),       identity<>(),    2, pResI2, pResI2 + i);
      +        test(Iter(ia), Iter(ia + i), std::multiplies<>(), identity<>(),    2, mResI2, mResI2 + i);
      +        test(Iter(ia), Iter(ia + i), std::plus<>(),       std::negate<>(), 2, pResN2, pResN2 + i);
      +        test(Iter(ia), Iter(ia + i), std::multiplies<>(), std::negate<>(), 2, mResN2, mResN2 + i);
      +        }
      +}
      +
      +int triangle(int n) { return n*(n+1)/2; }
      +
      +//  Basic sanity
      +void basic_tests()
      +{
      +    {
      +    std::vector v(10);
      +    std::fill(v.begin(), v.end(), 3);
      +    std::transform_exclusive_scan(v.begin(), v.end(), v.begin(), 50, std::plus<>(), identity<>());
      +    for (size_t i = 0; i < v.size(); ++i)
      +        assert(v[i] == 50 + (int) i * 3);
      +    }
      +
      +    {
      +    std::vector v(10);
      +    std::iota(v.begin(), v.end(), 0);
      +    std::transform_exclusive_scan(v.begin(), v.end(), v.begin(), 30, std::plus<>(), identity<>());
      +    for (size_t i = 0; i < v.size(); ++i)
      +        assert(v[i] == 30 + triangle(i-1));
      +    }
      +
      +    {
      +    std::vector v(10);
      +    std::iota(v.begin(), v.end(), 1);
      +    std::transform_exclusive_scan(v.begin(), v.end(), v.begin(), 40, std::plus<>(), identity<>());
      +    for (size_t i = 0; i < v.size(); ++i)
      +        assert(v[i] == 40 + triangle(i));
      +    }
      +
      +//  Make sure that the calculations are done using the init typedef
      +    {
      +    std::vector v(10);
      +    std::iota(v.begin(), v.end(), 1);
      +    std::vector res;
      +    std::transform_exclusive_scan(v.begin(), v.end(), std::back_inserter(res), 1, std::multiplies<>(), identity<>());
      +
      +    assert(res.size() == 10);
      +    int j = 1;
      +    assert(res[0] == 1);
      +    for (size_t i = 1; i < res.size(); ++i)
      +    {
      +        j *= i;
      +        assert(res[i] == j);
      +    }
      +    }
      +}
      +
      +int main()
      +{
      +    basic_tests();
      +    
      +//  All the iterator categories
      +    test >();
      +    test >();
      +    test >();
      +    test >();
      +    test();
      +    test<      int*>();
      +}
      
      Modified: vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
      ==============================================================================
      --- vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -16,8 +16,10 @@
       // mutex();
       
       #include 
      +#include 
       
       int main()
       {
      +    static_assert(std::is_nothrow_default_constructible::value, "");
           std::mutex m;
       }
      
      Modified: vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.mod/reset.pass.cpp
      ==============================================================================
      --- vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.mod/reset.pass.cpp	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.mod/reset.pass.cpp	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -48,7 +48,6 @@ int main()
               assert(X::dtor_called == false);
               assert(static_cast(opt) == false);
           }
      -    assert(X::dtor_called == false); // TRANSITION, Clang/C2 VSO#239997
           {
               optional opt(X{});
               X::dtor_called = false;
      @@ -57,5 +56,4 @@ int main()
               assert(static_cast(opt) == false);
               X::dtor_called = false;
           }
      -    assert(X::dtor_called == false); // TRANSITION, Clang/C2 VSO#239997
       }
      
      Modified: vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.observe/value_or.pass.cpp
      ==============================================================================
      --- vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.observe/value_or.pass.cpp	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/test/std/utilities/optional/optional.object/optional.object.observe/value_or.pass.cpp	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -10,7 +10,7 @@
       // UNSUPPORTED: c++98, c++03, c++11, c++14
       // 
       
      -// template  T optional::value_or(U&& v) &&;
      +// template  constexpr T optional::value_or(U&& v) &&;
       
       #include 
       #include 
      @@ -26,22 +26,22 @@ struct Y
       {
           int i_;
       
      -    Y(int i) : i_(i) {}
      +    constexpr Y(int i) : i_(i) {}
       };
       
       struct X
       {
           int i_;
       
      -    X(int i) : i_(i) {}
      -    X(X&& x) : i_(x.i_) {x.i_ = 0;}
      -    X(const Y& y) : i_(y.i_) {}
      -    X(Y&& y) : i_(y.i_+1) {}
      +    constexpr X(int i) : i_(i) {}
      +    constexpr X(X&& x) : i_(x.i_) {x.i_ = 0;}
      +    constexpr X(const Y& y) : i_(y.i_) {}
      +    constexpr X(Y&& y) : i_(y.i_+1) {}
           friend constexpr bool operator==(const X& x, const X& y)
               {return x.i_ == y.i_;}
       };
       
      -int main()
      +constexpr int test()
       {
           {
               optional opt(in_place, 2);
      @@ -65,4 +65,10 @@ int main()
               assert(std::move(opt).value_or(Y(3)) == 4);
               assert(!opt);
           }
      +    return 0;
      +}
      +
      +int main()
      +{
      +    static_assert(test() == 0);
       }
      
      Added: vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/implicit_deduction_guides.pass.cpp
      ==============================================================================
      --- /dev/null	00:00:00 1970	(empty, because file is newly added)
      +++ vendor/libc++/dist/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/implicit_deduction_guides.pass.cpp	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -0,0 +1,155 @@
      +//===----------------------------------------------------------------------===//
      +//
      +//                     The LLVM Compiler Infrastructure
      +//
      +// This file is dual licensed under the MIT and the University of Illinois Open
      +// Source Licenses. See LICENSE.TXT for details.
      +//
      +//===----------------------------------------------------------------------===//
      +
      +// UNSUPPORTED: c++98, c++03, c++11, c++14
      +// UNSUPPORTED: libcpp-no-deduction-guides
      +
      +// GCC's implementation of class template deduction is still immature and runs
      +// into issues with libc++. However GCC accepts this code when compiling
      +// against libstdc++.
      +// XFAIL: gcc
      +
      +// 
      +
      +// Test that the constructors offered by std::basic_string are formulated
      +// so they're compatible with implicit deduction guides.
      +
      +#include 
      +#include 
      +#include 
      +
      +#include "test_macros.h"
      +#include "archetypes.hpp"
      +
      +
      +// Overloads
      +//  using A = Allocator
      +//  using AT = std::allocator_arg_t
      +// ---------------
      +// (1)  tuple(const Types&...) -> tuple
      +// (2)  explicit tuple(const Types&...) -> tuple
      +// (3)  tuple(AT, A const&, Types const&...) -> tuple
      +// (4)  explicit tuple(AT, A const&, Types const&...) -> tuple
      +// (5)  tuple(tuple const& t) -> decltype(t)
      +// (6)  tuple(tuple&& t) -> decltype(t)
      +// (7)  tuple(AT, A const&, tuple const& t) -> decltype(t)
      +// (8)  tuple(AT, A const&, tuple&& t) -> decltype(t)
      +void test_primary_template()
      +{
      +  const std::allocator A;
      +  const auto AT = std::allocator_arg;
      +  { // Testing (1)
      +    int x = 101;
      +    std::tuple t1(42);
      +    ASSERT_SAME_TYPE(decltype(t1), std::tuple);
      +    std::tuple t2(x, 0.0, nullptr);
      +    ASSERT_SAME_TYPE(decltype(t2), std::tuple);
      +  }
      +  { // Testing (2)
      +    using T = ExplicitTestTypes::TestType;
      +    static_assert(!std::is_convertible::value, "");
      +
      +    std::tuple t1(T{});
      +    ASSERT_SAME_TYPE(decltype(t1), std::tuple);
      +
      +    const T v{};
      +    std::tuple t2(T{}, 101l, v);
      +    ASSERT_SAME_TYPE(decltype(t2), std::tuple);
      +  }
      +  { // Testing (3)
      +    int x = 101;
      +    std::tuple t1(AT, A, 42);
      +    ASSERT_SAME_TYPE(decltype(t1), std::tuple);
      +
      +    std::tuple t2(AT, A, 42, 0.0, x);
      +    ASSERT_SAME_TYPE(decltype(t2), std::tuple);
      +  }
      +  { // Testing (4)
      +    using T = ExplicitTestTypes::TestType;
      +    static_assert(!std::is_convertible::value, "");
      +
      +    std::tuple t1(AT, A, T{});
      +    ASSERT_SAME_TYPE(decltype(t1), std::tuple);
      +
      +    const T v{};
      +    std::tuple t2(AT, A, T{}, 101l, v);
      +    ASSERT_SAME_TYPE(decltype(t2), std::tuple);
      +  }
      +  { // Testing (5)
      +    using Tup = std::tuple;
      +    const Tup t(42, nullptr);
      +
      +    std::tuple t1(t);
      +    ASSERT_SAME_TYPE(decltype(t1), Tup);
      +  }
      +  { // Testing (6)
      +    using Tup = std::tuple;
      +    std::tuple t1(Tup(nullptr, 42, 'a'));
      +    ASSERT_SAME_TYPE(decltype(t1), Tup);
      +  }
      +  { // Testing (7)
      +    using Tup = std::tuple;
      +    const Tup t(42, nullptr);
      +
      +    std::tuple t1(AT, A, t);
      +    ASSERT_SAME_TYPE(decltype(t1), Tup);
      +  }
      +  { // Testing (8)
      +    using Tup = std::tuple;
      +    std::tuple t1(AT, A, Tup(nullptr, 42, 'a'));
      +    ASSERT_SAME_TYPE(decltype(t1), Tup);
      +  }
      +}
      +
      +// Overloads
      +//  using A = Allocator
      +//  using AT = std::allocator_arg_t
      +// ---------------
      +// (1)  tuple() -> tuple<>
      +// (2)  tuple(AT, A const&) -> tuple<>
      +// (3)  tuple(tuple const&) -> tuple<>
      +// (4)  tuple(tuple&&) -> tuple<>
      +// (5)  tuple(AT, A const&, tuple const&) -> tuple<>
      +// (6)  tuple(AT, A const&, tuple&&) -> tuple<>
      +void test_empty_specialization()
      +{
      +  std::allocator A;
      +  const auto AT = std::allocator_arg;
      +  { // Testing (1)
      +    std::tuple t1{};
      +    ASSERT_SAME_TYPE(decltype(t1), std::tuple<>);
      +  }
      +  { // Testing (2)
      +    std::tuple t1{AT, A};
      +    ASSERT_SAME_TYPE(decltype(t1), std::tuple<>);
      +  }
      +  { // Testing (3)
      +    const std::tuple<> t{};
      +    std::tuple t1(t);
      +    ASSERT_SAME_TYPE(decltype(t1), std::tuple<>);
      +  }
      +  { // Testing (4)
      +    std::tuple t1(std::tuple<>{});
      +    ASSERT_SAME_TYPE(decltype(t1), std::tuple<>);
      +  }
      +  { // Testing (5)
      +    const std::tuple<> t{};
      +    std::tuple t1(AT, A, t);
      +    ASSERT_SAME_TYPE(decltype(t1), std::tuple<>);
      +  }
      +  { // Testing (6)
      +    std::tuple t1(AT, A, std::tuple<>{});
      +    ASSERT_SAME_TYPE(decltype(t1), std::tuple<>);
      +  }
      +}
      +
      +int main() {
      +  test_primary_template();
      +  test_empty_specialization();
      +}
      
      Modified: vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
      ==============================================================================
      --- vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -68,6 +68,28 @@ struct ThrowsCtorT {
         }
       };
       
      +struct MoveCrashes {
      +  int value;
      +  MoveCrashes(int v = 0) noexcept : value{v} {}
      +  MoveCrashes(MoveCrashes &&) noexcept { assert(false); }
      +  MoveCrashes &operator=(MoveCrashes &&) noexcept { assert(false); return *this; }
      +  MoveCrashes &operator=(int v) noexcept {
      +    value = v;
      +    return *this;
      +  }
      +};
      +
      +struct ThrowsCtorTandMove {
      +  int value;
      +  ThrowsCtorTandMove() : value(0) {}
      +  ThrowsCtorTandMove(int) noexcept(false) { throw 42; }
      +  ThrowsCtorTandMove(ThrowsCtorTandMove &&) noexcept(false) { assert(false); }
      +  ThrowsCtorTandMove &operator=(int v) noexcept {
      +    value = v;
      +    return *this;
      +  }
      +};
      +
       struct ThrowsAssignT {
         int value;
         ThrowsAssignT() : value(0) {}
      @@ -126,7 +148,7 @@ void test_T_assignment_sfinae() {
           using V = std::variant;
           static_assert(!std::is_assignable::value, "ambiguous");
         }
      -#endif
      +#endif // TEST_VARIANT_HAS_NO_REFERENCES
       }
       
       void test_T_assignment_basic() {
      @@ -163,7 +185,7 @@ void test_T_assignment_basic() {
           assert(v.index() == 2);
           assert(std::get<2>(v) == 42);
         }
      -#endif
      +#endif // TEST_VARIANT_HAS_NO_REFERENCES
       }
       
       void test_T_assignment_performs_construction() {
      @@ -174,9 +196,11 @@ void test_T_assignment_performs_construction() {
           V v(std::in_place_type, "hello");
           try {
             v = 42;
      +      assert(false);
           } catch (...) { /* ... */
           }
      -    assert(v.valueless_by_exception());
      +    assert(v.index() == 0);
      +    assert(std::get<0>(v) == "hello");
         }
         {
           using V = std::variant;
      @@ -185,7 +209,7 @@ void test_T_assignment_performs_construction() {
           assert(v.index() == 0);
           assert(std::get<0>(v).value == 42);
         }
      -#endif
      +#endif // TEST_HAS_NO_EXCEPTIONS
       }
       
       void test_T_assignment_performs_assignment() {
      @@ -227,7 +251,7 @@ void test_T_assignment_performs_assignment() {
           assert(v.index() == 1);
           assert(std::get<1>(v).value == 100);
         }
      -#endif
      +#endif // TEST_HAS_NO_EXCEPTIONS
       }
       
       int main() {
      
      Modified: vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
      ==============================================================================
      --- vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp	Sat Jun 10 13:44:38 2017	(r319785)
      +++ vendor/libc++/dist/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp	Sat Jun 10 13:44:41 2017	(r319786)
      @@ -10,6 +10,10 @@
       
       // UNSUPPORTED: c++98, c++03, c++11, c++14
       
      +// The following compilers don't generate constexpr special members correctly.
      +// XFAIL: clang-3.5, clang-3.6, clang-3.7, clang-3.8
      +// XFAIL: apple-clang-6, apple-clang-7, apple-clang-8.0
      +
       // XFAIL: with_system_cxx_lib=macosx10.12
       // XFAIL: with_system_cxx_lib=macosx10.11
       // XFAIL: with_system_cxx_lib=macosx10.10
      @@ -35,11 +39,6 @@ struct NoCopy {
         NoCopy &operator=(const NoCopy &) = default;
       };
       
      -struct NothrowCopy {
      -  NothrowCopy(const NothrowCopy &) noexcept = default;
      -  NothrowCopy &operator=(const NothrowCopy &) noexcept = default;
      -};
      -
       struct CopyOnly {
         CopyOnly(const CopyOnly &) = default;
         CopyOnly(CopyOnly &&) = delete;
      @@ -73,7 +72,7 @@ struct CopyAssign {
           ++alive;
           ++copy_construct;
         }
      -  CopyAssign(CopyAssign &&o) : value(o.value) {
      +  CopyAssign(CopyAssign &&o) noexcept : value(o.value) {
           o.value = -1;
           ++alive;
           ++move_construct;
      @@ -83,7 +82,7 @@ struct CopyAssign {
           ++copy_assign;
           return *this;
         }
      -  CopyAssign &operator=(CopyAssign &&o) {
      +  CopyAssign &operator=(CopyAssign &&o) noexcept {
           value = o.value;
           o.value = -1;
           ++move_assign;
      @@ -108,6 +107,48 @@ struct CopyDoesThrow {
         CopyDoesThrow &operator=(const CopyDoesThrow &) noexcept(false);
       };
       
      +
      +struct NTCopyAssign {
      +  constexpr NTCopyAssign(int v) : value(v) {}
      +  NTCopyAssign(const NTCopyAssign &) = default;
      +  NTCopyAssign(NTCopyAssign &&) = default;
      +  NTCopyAssign &operator=(const NTCopyAssign &that) {
      +    value = that.value;
      +    return *this;
      +  };
      +  NTCopyAssign &operator=(NTCopyAssign &&) = delete;
      +  int value;
      +};
      +
      +static_assert(!std::is_trivially_copy_assignable::value, "");
      +static_assert(std::is_copy_assignable::value, "");
      +
      +struct TCopyAssign {
      +  constexpr TCopyAssign(int v) : value(v) {}
      +  TCopyAssign(const TCopyAssign &) = default;
      +  TCopyAssign(TCopyAssign &&) = default;
      +  TCopyAssign &operator=(const TCopyAssign &) = default;
      
      *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
      
      From owner-svn-src-all@freebsd.org  Sat Jun 10 13:44:48 2017
      Return-Path: 
      Delivered-To: svn-src-all@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 4415FB95506;
       Sat, 10 Jun 2017 13:44:48 +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 F0C1C78AC3;
       Sat, 10 Jun 2017 13:44:47 +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 v5ADilfD095004;
       Sat, 10 Jun 2017 13:44:47 GMT (envelope-from dim@FreeBSD.org)
      Received: (from dim@localhost)
       by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADil2X095003;
       Sat, 10 Jun 2017 13:44:47 GMT (envelope-from dim@FreeBSD.org)
      Message-Id: <201706101344.v5ADil2X095003@repo.freebsd.org>
      X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org
       using -f
      From: Dimitry Andric 
      Date: Sat, 10 Jun 2017 13:44:47 +0000 (UTC)
      To: src-committers@freebsd.org, svn-src-all@freebsd.org,
       svn-src-vendor@freebsd.org
      Subject: svn commit: r319787 - vendor/libc++/libc++-trunk-r305145
      X-SVN-Group: vendor
      MIME-Version: 1.0
      Content-Type: text/plain; charset=UTF-8
      Content-Transfer-Encoding: 8bit
      X-BeenThere: svn-src-all@freebsd.org
      X-Mailman-Version: 2.1.23
      Precedence: list
      List-Id: "SVN commit messages for the entire src tree \(except for "
       user" and " projects" \)" 
      List-Unsubscribe: ,
       
      List-Archive: 
      List-Post: 
      List-Help: 
      List-Subscribe: ,
       
      X-List-Received-Date: Sat, 10 Jun 2017 13:44:48 -0000
      
      Author: dim
      Date: Sat Jun 10 13:44:46 2017
      New Revision: 319787
      URL: https://svnweb.freebsd.org/changeset/base/319787
      
      Log:
        Tag libc++ trunk r305145.
      
      Added:
        vendor/libc++/libc++-trunk-r305145/
           - copied from r319786, vendor/libc++/dist/
      
      From owner-svn-src-all@freebsd.org  Sat Jun 10 13:44:53 2017
      Return-Path: 
      Delivered-To: svn-src-all@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 1D694B9557D;
       Sat, 10 Jun 2017 13:44:53 +0000 (UTC) (envelope-from dim@FreeBSD.org)
      Received: from repo.freebsd.org (repo.freebsd.org
       [IPv6:2610:1c1:1:6068::e6a:0])
       (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
       (Client did not present a certificate)
       by mx1.freebsd.org (Postfix) with ESMTPS id B78E378B53;
       Sat, 10 Jun 2017 13:44:52 +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 v5ADipKg095074;
       Sat, 10 Jun 2017 13:44:51 GMT (envelope-from dim@FreeBSD.org)
      Received: (from dim@localhost)
       by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADinJW095051;
       Sat, 10 Jun 2017 13:44:49 GMT (envelope-from dim@FreeBSD.org)
      Message-Id: <201706101344.v5ADinJW095051@repo.freebsd.org>
      X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org
       using -f
      From: Dimitry Andric 
      Date: Sat, 10 Jun 2017 13:44:49 +0000 (UTC)
      To: src-committers@freebsd.org, svn-src-all@freebsd.org,
       svn-src-vendor@freebsd.org
      Subject: svn commit: r319788 - in vendor/lld/dist: COFF ELF include/lld/Core
       include/lld/ReaderWriter lib/Core lib/Driver lib/ReaderWriter
       lib/ReaderWriter/MachO lib/ReaderWriter/YAML test test/COFF test/EL...
      X-SVN-Group: vendor
      MIME-Version: 1.0
      Content-Type: text/plain; charset=UTF-8
      Content-Transfer-Encoding: 8bit
      X-BeenThere: svn-src-all@freebsd.org
      X-Mailman-Version: 2.1.23
      Precedence: list
      List-Id: "SVN commit messages for the entire src tree \(except for "
       user" and " projects" \)" 
      List-Unsubscribe: ,
       
      List-Archive: 
      List-Post: 
      List-Help: 
      List-Subscribe: ,
       
      X-List-Received-Date: Sat, 10 Jun 2017 13:44:53 -0000
      
      Author: dim
      Date: Sat Jun 10 13:44:49 2017
      New Revision: 319788
      URL: https://svnweb.freebsd.org/changeset/base/319788
      
      Log:
        Vendor import of lld trunk r305145:
        https://llvm.org/svn/llvm-project/lld/trunk@305145
      
      Added:
        vendor/lld/dist/test/ELF/Inputs/relocatable-comdat-multiple.s   (contents, props changed)
        vendor/lld/dist/test/ELF/arm-thumb-thunk-symbols.s   (contents, props changed)
        vendor/lld/dist/test/ELF/dso_handle.s   (contents, props changed)
        vendor/lld/dist/test/ELF/i386-reloc-large-addend.s   (contents, props changed)
        vendor/lld/dist/test/ELF/i386-reloc-range.s   (contents, props changed)
        vendor/lld/dist/test/ELF/icf-comdat.s   (contents, props changed)
        vendor/lld/dist/test/ELF/linkerscript/emit-relocs-multiple.s   (contents, props changed)
        vendor/lld/dist/test/ELF/linkerscript/noload.s   (contents, props changed)
        vendor/lld/dist/test/ELF/lto/Inputs/defsym-bar.ll
        vendor/lld/dist/test/ELF/lto/Inputs/wrap-bar.ll
        vendor/lld/dist/test/ELF/lto/defsym.ll
        vendor/lld/dist/test/ELF/lto/wrap-1.ll
        vendor/lld/dist/test/ELF/lto/wrap-2.ll
        vendor/lld/dist/test/ELF/mips-npic-call-pic-script.s   (contents, props changed)
        vendor/lld/dist/test/ELF/relocatable-comdat-multiple.s   (contents, props changed)
        vendor/lld/dist/test/ELF/relocatable-compressed-input.s   (contents, props changed)
        vendor/lld/dist/test/ELF/relocatable-empty-archive.s   (contents, props changed)
      Modified:
        vendor/lld/dist/COFF/CMakeLists.txt
        vendor/lld/dist/COFF/Chunks.cpp
        vendor/lld/dist/COFF/Driver.cpp
        vendor/lld/dist/COFF/InputFiles.cpp
        vendor/lld/dist/ELF/CMakeLists.txt
        vendor/lld/dist/ELF/Config.h
        vendor/lld/dist/ELF/Driver.cpp
        vendor/lld/dist/ELF/EhFrame.cpp
        vendor/lld/dist/ELF/GdbIndex.h
        vendor/lld/dist/ELF/ICF.cpp
        vendor/lld/dist/ELF/InputFiles.cpp
        vendor/lld/dist/ELF/InputSection.cpp
        vendor/lld/dist/ELF/InputSection.h
        vendor/lld/dist/ELF/LTO.cpp
        vendor/lld/dist/ELF/LinkerScript.cpp
        vendor/lld/dist/ELF/LinkerScript.h
        vendor/lld/dist/ELF/Mips.cpp
        vendor/lld/dist/ELF/OutputSections.cpp
        vendor/lld/dist/ELF/OutputSections.h
        vendor/lld/dist/ELF/Relocations.cpp
        vendor/lld/dist/ELF/Relocations.h
        vendor/lld/dist/ELF/ScriptParser.cpp
        vendor/lld/dist/ELF/SymbolTable.cpp
        vendor/lld/dist/ELF/SymbolTable.h
        vendor/lld/dist/ELF/Symbols.cpp
        vendor/lld/dist/ELF/SyntheticSections.cpp
        vendor/lld/dist/ELF/SyntheticSections.h
        vendor/lld/dist/ELF/Target.cpp
        vendor/lld/dist/ELF/Thunks.cpp
        vendor/lld/dist/ELF/Writer.cpp
        vendor/lld/dist/include/lld/Core/Reader.h
        vendor/lld/dist/include/lld/ReaderWriter/MachOLinkingContext.h
        vendor/lld/dist/lib/Core/CMakeLists.txt
        vendor/lld/dist/lib/Core/Reader.cpp
        vendor/lld/dist/lib/Core/SymbolTable.cpp
        vendor/lld/dist/lib/Driver/DarwinLdDriver.cpp
        vendor/lld/dist/lib/ReaderWriter/FileArchive.cpp
        vendor/lld/dist/lib/ReaderWriter/MachO/ExecutableAtoms.h
        vendor/lld/dist/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
        vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFile.h
        vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
        vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileBinaryUtils.h
        vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp
        vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp
        vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
        vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp
        vendor/lld/dist/lib/ReaderWriter/MachO/WriterMachO.cpp
        vendor/lld/dist/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
        vendor/lld/dist/test/CMakeLists.txt
        vendor/lld/dist/test/COFF/pdb-none.test
        vendor/lld/dist/test/COFF/pdb.test
        vendor/lld/dist/test/ELF/aarch64-undefined-weak.s
        vendor/lld/dist/test/ELF/amdgpu-globals.s
        vendor/lld/dist/test/ELF/amdgpu-kernels.s
        vendor/lld/dist/test/ELF/arm-icf-exidx.s
        vendor/lld/dist/test/ELF/arm-thumb-no-undefined-thunk.s
        vendor/lld/dist/test/ELF/arm-thumb-undefined-weak.s
        vendor/lld/dist/test/ELF/arm-undefined-weak.s
        vendor/lld/dist/test/ELF/ehdr_start.s
        vendor/lld/dist/test/ELF/emit-relocs-merge.s
        vendor/lld/dist/test/ELF/gdb-index-empty.s
        vendor/lld/dist/test/ELF/linkerscript/early-assign-symbol.s
        vendor/lld/dist/test/ELF/linkerscript/expr-invalid-sec.s
        vendor/lld/dist/unittests/DriverTests/DarwinLdDriverTest.cpp
        vendor/lld/dist/unittests/MachOTests/MachONormalizedFileBinaryReaderTests.cpp
        vendor/lld/dist/unittests/MachOTests/MachONormalizedFileBinaryWriterTests.cpp
        vendor/lld/dist/unittests/MachOTests/MachONormalizedFileToAtomsTests.cpp
        vendor/lld/dist/unittests/MachOTests/MachONormalizedFileYAMLTests.cpp
      
      Modified: vendor/lld/dist/COFF/CMakeLists.txt
      ==============================================================================
      --- vendor/lld/dist/COFF/CMakeLists.txt	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/COFF/CMakeLists.txt	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -25,6 +25,7 @@ add_lld_library(lldCOFF
       
         LINK_COMPONENTS
         ${LLVM_TARGETS_TO_BUILD}
      +  BinaryFormat
         BitReader
         Core
         DebugInfoCodeView
      
      Modified: vendor/lld/dist/COFF/Chunks.cpp
      ==============================================================================
      --- vendor/lld/dist/COFF/Chunks.cpp	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/COFF/Chunks.cpp	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -12,8 +12,8 @@
       #include "InputFiles.h"
       #include "Symbols.h"
       #include "llvm/ADT/Twine.h"
      +#include "llvm/BinaryFormat/COFF.h"
       #include "llvm/Object/COFF.h"
      -#include "llvm/Support/COFF.h"
       #include "llvm/Support/Debug.h"
       #include "llvm/Support/Endian.h"
       #include "llvm/Support/raw_ostream.h"
      
      Modified: vendor/lld/dist/COFF/Driver.cpp
      ==============================================================================
      --- vendor/lld/dist/COFF/Driver.cpp	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/COFF/Driver.cpp	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -18,6 +18,7 @@
       #include "lld/Driver/Driver.h"
       #include "llvm/ADT/Optional.h"
       #include "llvm/ADT/StringSwitch.h"
      +#include "llvm/BinaryFormat/Magic.h"
       #include "llvm/Object/ArchiveWriter.h"
       #include "llvm/Object/COFFImportFile.h"
       #include "llvm/Object/COFFModuleDefinition.h"
      @@ -40,8 +41,6 @@ using namespace llvm;
       using namespace llvm::object;
       using namespace llvm::COFF;
       using llvm::sys::Process;
      -using llvm::sys::fs::file_magic;
      -using llvm::sys::fs::identify_magic;
       
       namespace lld {
       namespace coff {
      @@ -457,17 +456,11 @@ static void createImportLibrary() {
       static void parseModuleDefs(StringRef Path) {
         std::unique_ptr MB = check(
           MemoryBuffer::getFile(Path, -1, false, true), "could not open " + Path);
      -  MemoryBufferRef MBRef = MB->getMemBufferRef();
      +  COFFModuleDefinition M =
      +      check(parseCOFFModuleDefinition(MB->getMemBufferRef(), Config->Machine));
       
      -  Expected Def =
      -      parseCOFFModuleDefinition(MBRef, Config->Machine);
      -  if (!Def)
      -    fatal(errorToErrorCode(Def.takeError()).message());
      -
      -  COFFModuleDefinition &M = *Def;
         if (Config->OutputFile.empty())
           Config->OutputFile = Saver.save(M.OutputFile);
      -
         if (M.ImageBase)
           Config->ImageBase = M.ImageBase;
         if (M.StackReserve)
      
      Modified: vendor/lld/dist/COFF/InputFiles.cpp
      ==============================================================================
      --- vendor/lld/dist/COFF/InputFiles.cpp	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/COFF/InputFiles.cpp	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -19,9 +19,9 @@
       #include "llvm/ADT/SmallVector.h"
       #include "llvm/ADT/Triple.h"
       #include "llvm/ADT/Twine.h"
      +#include "llvm/BinaryFormat/COFF.h"
       #include "llvm/Object/Binary.h"
       #include "llvm/Object/COFF.h"
      -#include "llvm/Support/COFF.h"
       #include "llvm/Support/Casting.h"
       #include "llvm/Support/Endian.h"
       #include "llvm/Support/Error.h"
      
      Modified: vendor/lld/dist/ELF/CMakeLists.txt
      ==============================================================================
      --- vendor/lld/dist/ELF/CMakeLists.txt	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/ELF/CMakeLists.txt	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -36,6 +36,7 @@ add_lld_library(lldELF
         LINK_COMPONENTS
         ${LLVM_TARGETS_TO_BUILD}
         Analysis
      +  BinaryFormat
         BitReader
         BitWriter
         Codegen
      
      Modified: vendor/lld/dist/ELF/Config.h
      ==============================================================================
      --- vendor/lld/dist/ELF/Config.h	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/ELF/Config.h	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -13,9 +13,9 @@
       #include "llvm/ADT/MapVector.h"
       #include "llvm/ADT/StringRef.h"
       #include "llvm/ADT/StringSet.h"
      +#include "llvm/BinaryFormat/ELF.h"
       #include "llvm/Support/CachePruning.h"
       #include "llvm/Support/CodeGen.h"
      -#include "llvm/Support/ELF.h"
       #include "llvm/Support/Endian.h"
       
       #include 
      @@ -67,6 +67,12 @@ struct VersionDefinition {
         size_t NameOff = 0; // Offset in the string table
       };
       
      +// Structure for mapping renamed symbols
      +struct RenamedSymbol {
      +  Symbol *Target;
      +  uint8_t OrigBinding;
      +};
      +
       // This struct contains the global configuration for the linker.
       // Most fields are direct mapping from the command line options
       // and such fields have the same name as the corresponding options.
      @@ -98,6 +104,7 @@ struct Configuration {
         std::vector VersionScriptGlobals;
         std::vector VersionScriptLocals;
         std::vector BuildIdVector;
      +  llvm::MapVector RenamedSymbols;
         bool AllowMultipleDefinition;
         bool AsNeeded = false;
         bool Bsymbolic;
      
      Modified: vendor/lld/dist/ELF/Driver.cpp
      ==============================================================================
      --- vendor/lld/dist/ELF/Driver.cpp	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/ELF/Driver.cpp	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -185,7 +185,7 @@ void LinkerDriver::addFile(StringRef Path, bool WithLO
           // is attempting LTO and using a default ar command that doesn't
           // understand the LLVM bitcode file. It is a pretty common error, so
           // we'll handle it as if it had a symbol table.
      -    if (!File->hasSymbolTable()) {
      +    if (!File->isEmpty() && !File->hasSymbolTable()) {
             for (const auto &P : getArchiveMembers(MBRef))
               Files.push_back(make(P.first, Path, P.second));
             return;
      @@ -970,6 +970,14 @@ template  void LinkerDriver::link(opt::Inp
         Symtab.scanShlibUndefined();
         Symtab.scanVersionScript();
       
      +  // Create wrapped symbols for -wrap option.
      +  for (auto *Arg : Args.filtered(OPT_wrap))
      +    Symtab.addSymbolWrap(Arg->getValue());
      +
      +  // Create alias symbols for -defsym option.
      +  for (std::pair &Def : getDefsym(Args))
      +    Symtab.addSymbolAlias(Def.first, Def.second);
      +
         Symtab.addCombinedLTOObject();
         if (ErrorCount)
           return;
      @@ -979,12 +987,8 @@ template  void LinkerDriver::link(opt::Inp
         for (StringRef Sym : Script->Opt.ReferencedSymbols)
           Symtab.addUndefined(Sym);
       
      -  for (auto *Arg : Args.filtered(OPT_wrap))
      -    Symtab.wrap(Arg->getValue());
      -
      -  // Handle --defsym=sym=alias option.
      -  for (std::pair &Def : getDefsym(Args))
      -    Symtab.alias(Def.first, Def.second);
      +  // Apply symbol renames for -wrap and -defsym
      +  Symtab.applySymbolRenames();
       
         // Now that we have a complete list of input files.
         // Beyond this point, no new files are added.
      
      Modified: vendor/lld/dist/ELF/EhFrame.cpp
      ==============================================================================
      --- vendor/lld/dist/ELF/EhFrame.cpp	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/ELF/EhFrame.cpp	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -22,8 +22,8 @@
       #include "Relocations.h"
       #include "Strings.h"
       
      +#include "llvm/BinaryFormat/Dwarf.h"
       #include "llvm/Object/ELF.h"
      -#include "llvm/Support/Dwarf.h"
       #include "llvm/Support/Endian.h"
       
       using namespace llvm;
      
      Modified: vendor/lld/dist/ELF/GdbIndex.h
      ==============================================================================
      --- vendor/lld/dist/ELF/GdbIndex.h	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/ELF/GdbIndex.h	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -24,7 +24,30 @@ struct AddressEntry {
         InputSection *Section;
         uint64_t LowAddress;
         uint64_t HighAddress;
      -  size_t CuIndex;
      +  uint32_t CuIndex;
      +};
      +
      +// Struct represents single entry of compilation units list area of gdb index.
      +// It consist of CU offset in .debug_info section and it's size.
      +struct CompilationUnitEntry {
      +  uint64_t CuOffset;
      +  uint64_t CuLength;
      +};
      +
      +// Represents data about symbol and type names which are used
      +// to build symbol table and constant pool area of gdb index.
      +struct NameTypeEntry {
      +  StringRef Name;
      +  uint8_t Type;
      +};
      +
      +// We fill one GdbIndexDataChunk for each object where scan of
      +// debug information performed. That information futher used
      +// for filling gdb index section areas.
      +struct GdbIndexChunk {
      +  std::vector AddressArea;
      +  std::vector CompilationUnits;
      +  std::vector NamesAndTypes;
       };
       
       // Element of GdbHashTab hash table.
      
      Modified: vendor/lld/dist/ELF/ICF.cpp
      ==============================================================================
      --- vendor/lld/dist/ELF/ICF.cpp	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/ELF/ICF.cpp	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -78,8 +78,8 @@
       #include "SymbolTable.h"
       #include "Threads.h"
       #include "llvm/ADT/Hashing.h"
      +#include "llvm/BinaryFormat/ELF.h"
       #include "llvm/Object/ELF.h"
      -#include "llvm/Support/ELF.h"
       #include 
       #include 
       
      
      Modified: vendor/lld/dist/ELF/InputFiles.cpp
      ==============================================================================
      --- vendor/lld/dist/ELF/InputFiles.cpp	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/ELF/InputFiles.cpp	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -306,21 +306,23 @@ void elf::ObjectFile::initializeSections(
       
           switch (Sec.sh_type) {
           case SHT_GROUP: {
      -      // We discard comdat sections usually. When -r we should not do that. We
      -      // still do deduplication in this case to simplify implementation, because
      -      // otherwise merging group sections together would requre additional
      -      // regeneration of its contents.
      -      bool New = ComdatGroups
      -                     .insert(CachedHashStringRef(
      -                         getShtGroupSignature(ObjSections, Sec)))
      -                     .second;
      -      if (New && Config->Relocatable)
      -        this->Sections[I] = createInputSection(Sec, SectionStringTable);
      -      else
      -        this->Sections[I] = &InputSection::Discarded;
      -      if (New)
      +      // De-duplicate section groups by their signatures.
      +      StringRef Signature = getShtGroupSignature(ObjSections, Sec);
      +      bool IsNew = ComdatGroups.insert(CachedHashStringRef(Signature)).second;
      +      this->Sections[I] = &InputSection::Discarded;
      +
      +      // If it is a new section group, we want to keep group members.
      +      // Group leader sections, which contain indices of group members, are
      +      // discarded because they are useless beyond this point. The only
      +      // exception is the -r option because in order to produce re-linkable
      +      // object files, we want to pass through basically everything.
      +      if (IsNew) {
      +        if (Config->Relocatable)
      +          this->Sections[I] = createInputSection(Sec, SectionStringTable);
               continue;
      +      }
       
      +      // Otherwise, discard group members.
             for (uint32_t SecIndex : getShtGroupEntries(Sec)) {
               if (SecIndex >= Size)
                 fatal(toString(this) +
      
      Modified: vendor/lld/dist/ELF/InputSection.cpp
      ==============================================================================
      --- vendor/lld/dist/ELF/InputSection.cpp	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/ELF/InputSection.cpp	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -20,6 +20,7 @@
       #include "Target.h"
       #include "Thunks.h"
       #include "llvm/Object/Decompressor.h"
      +#include "llvm/Support/Compiler.h"
       #include "llvm/Support/Compression.h"
       #include "llvm/Support/Endian.h"
       #include "llvm/Support/Path.h"
      @@ -72,6 +73,16 @@ InputSectionBase::InputSectionBase(InputFile *File, ui
         this->Alignment = V;
       }
       
      +// Drop SHF_GROUP bit unless we are producing a re-linkable object file.
      +// SHF_GROUP is a marker that a section belongs to some comdat group.
      +// That flag doesn't make sense in an executable.
      +static uint64_t getFlags(uint64_t Flags) {
      +  Flags &= ~(uint64_t)SHF_INFO_LINK;
      +  if (!Config->Relocatable)
      +    Flags &= ~(uint64_t)SHF_GROUP;
      +  return Flags;
      +}
      +
       // GNU assembler 2.24 and LLVM 4.0.0's MC (the newest release as of
       // March 2017) fail to infer section types for sections starting with
       // ".init_array." or ".fini_array.". They set SHT_PROGBITS instead of
      @@ -94,7 +105,7 @@ template 
       InputSectionBase::InputSectionBase(elf::ObjectFile *File,
                                          const typename ELFT::Shdr *Hdr,
                                          StringRef Name, Kind SectionKind)
      -    : InputSectionBase(File, Hdr->sh_flags & ~SHF_INFO_LINK,
      +    : InputSectionBase(File, getFlags(Hdr->sh_flags),
                              getType(Hdr->sh_type, Name), Hdr->sh_entsize,
                              Hdr->sh_link, Hdr->sh_info, Hdr->sh_addralign,
                              getSectionContents(File, Hdr), Name, SectionKind) {
      @@ -308,23 +319,21 @@ OutputSection *InputSection::getParent() const {
         return cast_or_null(Parent);
       }
       
      -void InputSection::copyShtGroup(uint8_t *Buf) {
      -  assert(this->Type == SHT_GROUP);
      +// Copy SHT_GROUP section contents. Used only for the -r option.
      +template  void InputSection::copyShtGroup(uint8_t *Buf) {
      +  // ELFT::Word is the 32-bit integral type in the target endianness.
      +  typedef typename ELFT::Word u32;
      +  ArrayRef From = getDataAs();
      +  auto *To = reinterpret_cast(Buf);
       
      -  ArrayRef From = getDataAs();
      -  uint32_t *To = reinterpret_cast(Buf);
      -
      -  // First entry is a flag word, we leave it unchanged.
      +  // The first entry is not a section number but a flag.
         *To++ = From[0];
       
      -  // Here we adjust indices of sections that belong to group as it
      -  // might change during linking.
      +  // Adjust section numbers because section numbers in an input object
      +  // files are different in the output.
         ArrayRef Sections = this->File->getSections();
      -  for (uint32_t Val : From.slice(1)) {
      -    uint32_t Index = read32(&Val, Config->Endianness);
      -    write32(To++, Sections[Index]->getOutputSection()->SectionIndex,
      -            Config->Endianness);
      -  }
      +  for (uint32_t Idx : From.slice(1))
      +    *To++ = Sections[Idx]->getOutputSection()->SectionIndex;
       }
       
       InputSectionBase *InputSection::getRelocatedSection() {
      @@ -682,7 +691,7 @@ void InputSectionBase::relocateAlloc(uint8_t *Buf, uin
             // Patch a nop (0x60000000) to a ld.
             if (BufLoc + 8 <= BufEnd && read32be(BufLoc + 4) == 0x60000000)
               write32be(BufLoc + 4, 0xe8410028); // ld %r2, 40(%r1)
      -    // fallthrough
      +      LLVM_FALLTHROUGH;
           default:
             Target->relocateOne(BufLoc, Type, TargetVA);
             break;
      @@ -712,10 +721,9 @@ template  void InputSection::writeTo(uint8
           return;
         }
       
      -  // If -r is given, linker should keep SHT_GROUP sections. We should fixup
      -  // them, see copyShtGroup().
      +  // If -r is given, we may have a SHT_GROUP section.
         if (this->Type == SHT_GROUP) {
      -    copyShtGroup(Buf + OutSecOff);
      +    copyShtGroup(Buf + OutSecOff);
           return;
         }
       
      
      Modified: vendor/lld/dist/ELF/InputSection.h
      ==============================================================================
      --- vendor/lld/dist/ELF/InputSection.h	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/ELF/InputSection.h	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -325,7 +325,7 @@ class InputSection : public InputSectionBase { (privat
         template 
         void copyRelocations(uint8_t *Buf, llvm::ArrayRef Rels);
       
      -  void copyShtGroup(uint8_t *Buf);
      +  template  void copyShtGroup(uint8_t *Buf);
       };
       
       // The list of all input sections.
      
      Modified: vendor/lld/dist/ELF/LTO.cpp
      ==============================================================================
      --- vendor/lld/dist/ELF/LTO.cpp	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/ELF/LTO.cpp	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -17,13 +17,13 @@
       #include "llvm/ADT/SmallString.h"
       #include "llvm/ADT/StringRef.h"
       #include "llvm/ADT/Twine.h"
      +#include "llvm/BinaryFormat/ELF.h"
       #include "llvm/IR/DiagnosticPrinter.h"
       #include "llvm/LTO/Caching.h"
       #include "llvm/LTO/Config.h"
       #include "llvm/LTO/LTO.h"
       #include "llvm/Object/SymbolicFile.h"
       #include "llvm/Support/CodeGen.h"
      -#include "llvm/Support/ELF.h"
       #include "llvm/Support/Error.h"
       #include "llvm/Support/FileSystem.h"
       #include "llvm/Support/MemoryBuffer.h"
      @@ -136,6 +136,7 @@ void BitcodeCompiler::add(BitcodeFile &F) {
               Sym->IsUsedInRegularObj || (R.Prevailing && Sym->includeInDynsym());
           if (R.Prevailing)
             undefine(Sym);
      +    R.LinkerRedefined = Config->RenamedSymbols.count(Sym);
         }
         checkError(LTOObj->add(std::move(F.Obj), Resols));
       }
      
      Modified: vendor/lld/dist/ELF/LinkerScript.cpp
      ==============================================================================
      --- vendor/lld/dist/ELF/LinkerScript.cpp	Sat Jun 10 13:44:46 2017	(r319787)
      +++ vendor/lld/dist/ELF/LinkerScript.cpp	Sat Jun 10 13:44:49 2017	(r319788)
      @@ -25,9 +25,9 @@
       #include "Writer.h"
       #include "llvm/ADT/STLExtras.h"
       #include "llvm/ADT/StringRef.h"
      +#include "llvm/BinaryFormat/ELF.h"
       #include "llvm/Support/Casting.h"
       #include "llvm/Support/Compression.h"
      -#include "llvm/Support/ELF.h"
       #include "llvm/Support/Endian.h"
       #include "llvm/Support/ErrorHandling.h"
       #include "llvm/Support/FileSystem.h"
      @@ -54,7 +54,7 @@ uint64_t ExprValue::getValue() const {
         if (Sec) {
           if (OutputSection *OS = Sec->getOutputSection())
             return alignTo(Sec->getOffset(Val) + OS->Addr, Alignment);
      -    error("unable to evaluate expression: input section " + Sec->Name +
      +    error(Loc + ": unable to evaluate expression: input section " + Sec->Name +
                 " has no output section assigned");
         }
         return alignTo(Val, Alignment);
      @@ -431,6 +431,8 @@ void LinkerScript::processCommands(OutputSectionFactor
             if (OutputSection *Sec = Cmd->Sec) {
               assert(Sec->SectionIndex == INT_MAX);
               Sec->SectionIndex = I;
      +        if (Cmd->Noload)
      +          Sec->Type = SHT_NOBITS;
               SecToCommand[Sec] = Cmd;
             }
           }
      @@ -442,7 +444,7 @@ void LinkerScript::fabricateDefaultCommands() {
         std::vector Commands;
       
         // Define start address
      -  uint64_t StartAddr = Config->ImageBase + elf::getHeaderSize();
      +  uint64_t StartAddr = -1;
       
         // The Sections with -T
      have been sorted in order of ascending // address. We must lower StartAddr if the lowest -T
      as @@ -450,8 +452,12 @@ void LinkerScript::fabricateDefaultCommands() { for (auto& KV : Config->SectionStartMap) StartAddr = std::min(StartAddr, KV.second); - Commands.push_back( - make(".", [=] { return StartAddr; }, "")); + Commands.push_back(make( + ".", + [=] { + return std::min(StartAddr, Config->ImageBase + elf::getHeaderSize()); + }, + "")); // For each OutputSection that needs a VA fabricate an OutputSectionCommand // with an InputSectionDescription describing the InputSections @@ -870,51 +876,6 @@ void LinkerScript::processNonSectionCommands() { } } -// Do a last effort at synchronizing the linker script "AST" and the section -// list. This is needed to account for last minute changes, like adding a -// .ARM.exidx terminator and sorting SHF_LINK_ORDER sections. -// -// FIXME: We should instead create the "AST" earlier and the above changes would -// be done directly in the "AST". -// -// This can only handle new sections being added and sections being reordered. -void LinkerScript::synchronize() { - for (BaseCommand *Base : Opt.Commands) { - auto *Cmd = dyn_cast(Base); - if (!Cmd) - continue; - ArrayRef Sections = Cmd->Sec->Sections; - std::vector ScriptSections; - DenseSet ScriptSectionsSet; - for (BaseCommand *Base : Cmd->Commands) { - auto *ISD = dyn_cast(Base); - if (!ISD) - continue; - for (InputSection *&IS : ISD->Sections) { - if (IS->Live) { - ScriptSections.push_back(&IS); - ScriptSectionsSet.insert(IS); - } - } - } - std::vector Missing; - for (InputSection *IS : Sections) - if (!ScriptSectionsSet.count(IS)) - Missing.push_back(IS); - if (!Missing.empty()) { - auto ISD = make(""); - ISD->Sections = Missing; - Cmd->Commands.push_back(ISD); - for (InputSection *&IS : ISD->Sections) - if (IS->Live) - ScriptSections.push_back(&IS); - } - assert(ScriptSections.size() == Sections.size()); - for (int I = 0, N = Sections.size(); I < N; ++I) - *ScriptSections[I] = Sections[I]; - } -} - static bool allocateHeaders(std::vector &Phdrs, ArrayRef OutputSectionCommands, @@ -1071,6 +1032,81 @@ static void writeInt(uint8_t *Buf, uint64_t Data, uint llvm_unreachable("unsupported Size argument"); } +static bool compareByFilePosition(InputSection *A, InputSection *B) { + // Synthetic doesn't have link order dependecy, stable_sort will keep it last + if (A->kind() == InputSectionBase::Synthetic || + B->kind() == InputSectionBase::Synthetic) + return false; + InputSection *LA = A->getLinkOrderDep(); + InputSection *LB = B->getLinkOrderDep(); + OutputSection *AOut = LA->getParent(); + OutputSection *BOut = LB->getParent(); + if (AOut != BOut) + return AOut->SectionIndex < BOut->SectionIndex; + return LA->OutSecOff < LB->OutSecOff; +} + +template +static void finalizeShtGroup(OutputSection *OS, + ArrayRef Sections) { + // sh_link field for SHT_GROUP sections should contain the section index of + // the symbol table. + OS->Link = InX::SymTab->getParent()->SectionIndex; + + // sh_info then contain index of an entry in symbol table section which + // provides signature of the section group. + elf::ObjectFile *Obj = Sections[0]->getFile(); + assert(Config->Relocatable && Sections.size() == 1); + ArrayRef Symbols = Obj->getSymbols(); + OS->Info = InX::SymTab->getSymbolIndex(Symbols[Sections[0]->Info - 1]); +} + +template void OutputSectionCommand::finalize() { + // Link order may be distributed across several InputSectionDescriptions + // but sort must consider them all at once. + std::vector ScriptSections; + std::vector Sections; + for (BaseCommand *Base : Commands) + if (auto *ISD = dyn_cast(Base)) + for (InputSection *&IS : ISD->Sections) { + ScriptSections.push_back(&IS); + Sections.push_back(IS); + } + + if ((Sec->Flags & SHF_LINK_ORDER)) { + std::sort(Sections.begin(), Sections.end(), compareByFilePosition); + for (int I = 0, N = Sections.size(); I < N; ++I) + *ScriptSections[I] = Sections[I]; + + // We must preserve the link order dependency of sections with the + // SHF_LINK_ORDER flag. The dependency is indicated by the sh_link field. We + // need to translate the InputSection sh_link to the OutputSection sh_link, + // all InputSections in the OutputSection have the same dependency. + if (auto *D = Sections.front()->getLinkOrderDep()) + Sec->Link = D->getParent()->SectionIndex; + } + + uint32_t Type = Sec->Type; + if (Type == SHT_GROUP) { + finalizeShtGroup(Sec, Sections); + return; + } + + if (!Config->CopyRelocs || (Type != SHT_RELA && Type != SHT_REL)) + return; + + InputSection *First = Sections[0]; + if (isa(First)) + return; + + Sec->Link = InX::SymTab->getParent()->SectionIndex; + // sh_info for SHT_REL[A] sections should contain the section header index of + // the section to which the relocation applies. + InputSectionBase *S = First->getRelocatedSection(); + Sec->Info = S->getOutputSection()->SectionIndex; + Sec->Flags |= SHF_INFO_LINK; +} + // Compress section contents if this section contains debug info. template void OutputSectionCommand::maybeCompress() { typedef typename ELFT::Chdr Elf_Chdr; @@ -1099,6 +1135,9 @@ template void OutputSectionCommand::maybe } template void OutputSectionCommand::writeTo(uint8_t *Buf) { + if (Sec->Type == SHT_NOBITS) + return; + Sec->Loc = Buf; // We may have already rendered compressed content when using @@ -1110,9 +1149,6 @@ template void OutputSectionCommand::write return; } - if (Sec->Type == SHT_NOBITS) - return; - // Write leading padding. std::vector Sections; for (BaseCommand *Cmd : Commands) @@ -1156,12 +1192,12 @@ bool LinkerScript::hasLMA(OutputSection *Sec) { ExprValue LinkerScript::getSymbolValue(const Twine &Loc, StringRef S) { if (S == ".") - return {CurOutSec, Dot - CurOutSec->Addr}; + return {CurOutSec, Dot - CurOutSec->Addr, Loc}; if (SymbolBody *B = findSymbol(S)) { if (auto *D = dyn_cast(B)) - return {D->Section, D->Value}; + return {D->Section, D->Value, Loc}; if (auto *C = dyn_cast(B)) - return {InX::Common, C->Offset}; + return {InX::Common, C->Offset, Loc}; } error(Loc + ": symbol not found: " + S); return 0; @@ -1201,3 +1237,8 @@ template void OutputSectionCommand::maybeCompress(); template void OutputSectionCommand::maybeCompress(); template void OutputSectionCommand::maybeCompress(); + +template void OutputSectionCommand::finalize(); +template void OutputSectionCommand::finalize(); +template void OutputSectionCommand::finalize(); +template void OutputSectionCommand::finalize(); Modified: vendor/lld/dist/ELF/LinkerScript.h ============================================================================== --- vendor/lld/dist/ELF/LinkerScript.h Sat Jun 10 13:44:46 2017 (r319787) +++ vendor/lld/dist/ELF/LinkerScript.h Sat Jun 10 13:44:49 2017 (r319788) @@ -42,15 +42,14 @@ struct ExprValue { uint64_t Val; bool ForceAbsolute; uint64_t Alignment = 1; + std::string Loc; ExprValue(SectionBase *Sec, bool ForceAbsolute, uint64_t Val, - uint64_t Alignment) - : Sec(Sec), Val(Val), ForceAbsolute(ForceAbsolute), Alignment(Alignment) { - } - ExprValue(SectionBase *Sec, bool ForceAbsolute, uint64_t Val) - : Sec(Sec), Val(Val), ForceAbsolute(ForceAbsolute) {} - ExprValue(SectionBase *Sec, uint64_t Val) : ExprValue(Sec, false, Val) {} - ExprValue(uint64_t Val) : ExprValue(nullptr, Val) {} + const Twine &Loc) + : Sec(Sec), Val(Val), ForceAbsolute(ForceAbsolute), Loc(Loc.str()) {} + ExprValue(SectionBase *Sec, uint64_t Val, const Twine &Loc) + : ExprValue(Sec, false, Val, Loc) {} + ExprValue(uint64_t Val) : ExprValue(nullptr, Val, "") {} bool isAbsolute() const { return ForceAbsolute || Sec == nullptr; } uint64_t getValue() const; uint64_t getSecAddr() const; @@ -135,7 +134,9 @@ struct OutputSectionCommand : BaseCommand { ConstraintKind Constraint = ConstraintKind::NoConstraint; std::string Location; std::string MemoryRegionName; + bool Noload = false; + template void finalize(); template void writeTo(uint8_t *Buf); template void maybeCompress(); uint32_t getFiller(); @@ -281,7 +282,6 @@ class LinkerScript final { (public) void assignOffsets(OutputSectionCommand *Cmd); void placeOrphanSections(); void processNonSectionCommands(); - void synchronize(); void assignAddresses(std::vector &Phdrs, ArrayRef OutputSectionCommands); Modified: vendor/lld/dist/ELF/Mips.cpp ============================================================================== --- vendor/lld/dist/ELF/Mips.cpp Sat Jun 10 13:44:46 2017 (r319787) +++ vendor/lld/dist/ELF/Mips.cpp Sat Jun 10 13:44:49 2017 (r319788) @@ -16,8 +16,8 @@ #include "SymbolTable.h" #include "Writer.h" +#include "llvm/BinaryFormat/ELF.h" #include "llvm/Object/ELF.h" -#include "llvm/Support/ELF.h" #include "llvm/Support/MipsABIFlags.h" using namespace llvm; Modified: vendor/lld/dist/ELF/OutputSections.cpp ============================================================================== --- vendor/lld/dist/ELF/OutputSections.cpp Sat Jun 10 13:44:46 2017 (r319787) +++ vendor/lld/dist/ELF/OutputSections.cpp Sat Jun 10 13:44:49 2017 (r319788) @@ -16,7 +16,7 @@ #include "SyntheticSections.h" #include "Target.h" #include "Threads.h" -#include "llvm/Support/Dwarf.h" +#include "llvm/BinaryFormat/Dwarf.h" #include "llvm/Support/MD5.h" #include "llvm/Support/MathExtras.h" #include "llvm/Support/SHA1.h" @@ -70,67 +70,6 @@ OutputSection::OutputSection(StringRef Name, uint32_t /*Link*/ 0), SectionIndex(INT_MAX) {} -static bool compareByFilePosition(InputSection *A, InputSection *B) { - // Synthetic doesn't have link order dependecy, stable_sort will keep it last - if (A->kind() == InputSectionBase::Synthetic || - B->kind() == InputSectionBase::Synthetic) - return false; - InputSection *LA = A->getLinkOrderDep(); - InputSection *LB = B->getLinkOrderDep(); - OutputSection *AOut = LA->getParent(); - OutputSection *BOut = LB->getParent(); - if (AOut != BOut) - return AOut->SectionIndex < BOut->SectionIndex; - return LA->OutSecOff < LB->OutSecOff; -} - -template static void finalizeShtGroup(OutputSection *Sec) { - // sh_link field for SHT_GROUP sections should contain the section index of - // the symbol table. - Sec->Link = InX::SymTab->getParent()->SectionIndex; - - // sh_info then contain index of an entry in symbol table section which - // provides signature of the section group. - elf::ObjectFile *Obj = Sec->Sections[0]->getFile(); - assert(Config->Relocatable && Sec->Sections.size() == 1); - ArrayRef Symbols = Obj->getSymbols(); - Sec->Info = InX::SymTab->getSymbolIndex(Symbols[Sec->Sections[0]->Info - 1]); -} - -template void OutputSection::finalize() { - if ((this->Flags & SHF_LINK_ORDER) && !this->Sections.empty()) { - std::sort(Sections.begin(), Sections.end(), compareByFilePosition); - assignOffsets(); - - // We must preserve the link order dependency of sections with the - // SHF_LINK_ORDER flag. The dependency is indicated by the sh_link field. We - // need to translate the InputSection sh_link to the OutputSection sh_link, - // all InputSections in the OutputSection have the same dependency. - if (auto *D = this->Sections.front()->getLinkOrderDep()) - this->Link = D->getParent()->SectionIndex; - } - - uint32_t Type = this->Type; - if (Type == SHT_GROUP) { - finalizeShtGroup(this); - return; - } - - if (!Config->CopyRelocs || (Type != SHT_RELA && Type != SHT_REL)) - return; - - InputSection *First = Sections[0]; - if (isa(First)) - return; - - this->Link = InX::SymTab->getParent()->SectionIndex; - // sh_info for SHT_REL[A] sections should contain the section header index of - // the section to which the relocation applies. - InputSectionBase *S = First->getRelocatedSection(); - Info = S->getOutputSection()->SectionIndex; - Flags |= SHF_INFO_LINK; -} - static uint64_t updateOffset(uint64_t Off, InputSection *S) { Off = alignTo(Off, S->Alignment); S->OutSecOff = Off; @@ -162,9 +101,12 @@ void OutputSection::addSection(InputSection *S) { // This function is called after we sort input sections // and scan relocations to setup sections' offsets. void OutputSection::assignOffsets() { + OutputSectionCommand *Cmd = Script->getCmd(this); uint64_t Off = 0; - for (InputSection *S : Sections) - Off = updateOffset(Off, S); + for (BaseCommand *Base : Cmd->Commands) + if (auto *ISD = dyn_cast(Base)) + for (InputSection *S : ISD->Sections) + Off = updateOffset(Off, S); this->Size = Off; } @@ -333,6 +275,31 @@ void elf::reportDiscarded(InputSectionBase *IS) { void OutputSectionFactory::addInputSec(InputSectionBase *IS, StringRef OutsecName) { + // Sections with the SHT_GROUP attribute reach here only when the - r option + // is given. Such sections define "section groups", and InputFiles.cpp has + // dedup'ed section groups by their signatures. For the -r, we want to pass + // through all SHT_GROUP sections without merging them because merging them + // creates broken section contents. + if (IS->Type == SHT_GROUP) { + OutputSection *Out = nullptr; + addInputSec(IS, OutsecName, Out); + return; + } + + // Imagine .zed : { *(.foo) *(.bar) } script. Both foo and bar may have + // relocation sections .rela.foo and .rela.bar for example. Most tools do + // not allow multiple REL[A] sections for output section. Hence we + // should combine these relocation sections into single output. + // We skip synthetic sections because it can be .rela.dyn/.rela.plt or any + // other REL[A] sections created by linker itself. + if (!isa(IS) && + (IS->Type == SHT_REL || IS->Type == SHT_RELA)) { + auto *Sec = cast(IS); + OutputSection *Out = Sec->getRelocatedSection()->getOutputSection(); + addInputSec(IS, OutsecName, Out->RelocationSection); + return; + } + SectionKey Key = createKey(IS, OutsecName); OutputSection *&Sec = Map[Key]; return addInputSec(IS, OutsecName, Sec); @@ -346,10 +313,6 @@ void OutputSectionFactory::addInputSec(InputSectionBas return; } - uint64_t Flags = IS->Flags; - if (!Config->Relocatable) - Flags &= ~(uint64_t)SHF_GROUP; - if (Sec) { if (getIncompatibleFlags(Sec->Flags) != getIncompatibleFlags(IS->Flags)) error("incompatible section flags for " + Sec->Name + @@ -366,9 +329,9 @@ void OutputSectionFactory::addInputSec(InputSectionBas "\n>>> output section " + Sec->Name + ": " + getELFSectionTypeName(Config->EMachine, Sec->Type)); } - Sec->Flags |= Flags; + Sec->Flags |= IS->Flags; } else { - Sec = make(OutsecName, IS->Type, Flags); + Sec = make(OutsecName, IS->Type, IS->Flags); OutputSections.push_back(Sec); } @@ -405,8 +368,3 @@ template void OutputSection::writeHeaderTo(EL template void OutputSection::writeHeaderTo(ELF32BE::Shdr *Shdr); template void OutputSection::writeHeaderTo(ELF64LE::Shdr *Shdr); template void OutputSection::writeHeaderTo(ELF64BE::Shdr *Shdr); - -template void OutputSection::finalize(); -template void OutputSection::finalize(); -template void OutputSection::finalize(); -template void OutputSection::finalize(); Modified: vendor/lld/dist/ELF/OutputSections.h ============================================================================== --- vendor/lld/dist/ELF/OutputSections.h Sat Jun 10 13:44:46 2017 (r319787) +++ vendor/lld/dist/ELF/OutputSections.h Sat Jun 10 13:44:49 2017 (r319788) @@ -67,6 +67,11 @@ class OutputSection final : public SectionBase { (publ // formula: Off = Off_first + VA - VA_first. OutputSection *FirstInPtLoad = nullptr; + // Pointer to a relocation section for this section. Usually nullptr because + // we consume relocations, but if --emit-relocs is specified (which is rare), + // it may have a non-null value. + OutputSection *RelocationSection = nullptr; + // The following fields correspond to Elf_Shdr members. uint64_t Size = 0; uint64_t Offset = 0; @@ -78,7 +83,6 @@ class OutputSection final : public SectionBase { (publ void sort(std::function Order); void sortInitFini(); void sortCtorsDtors(); - template void finalize(); void assignOffsets(); std::vector Sections; Modified: vendor/lld/dist/ELF/Relocations.cpp ============================================================================== --- vendor/lld/dist/ELF/Relocations.cpp Sat Jun 10 13:44:46 2017 (r319787) +++ vendor/lld/dist/ELF/Relocations.cpp Sat Jun 10 13:44:49 2017 (r319788) @@ -43,6 +43,7 @@ #include "Relocations.h" #include "Config.h" +#include "LinkerScript.h" #include "Memory.h" #include "OutputSections.h" #include "Strings.h" @@ -967,48 +968,51 @@ template void elf::scanRelocations(InputS // in the Sections vector, and recalculate the InputSection output section // offsets. // This may invalidate any output section offsets stored outside of InputSection -void ThunkCreator::mergeThunks(OutputSection *OS, - std::vector &Thunks) { - // Order Thunks in ascending OutSecOff - auto ThunkCmp = [](const ThunkSection *A, const ThunkSection *B) { - return A->OutSecOff < B->OutSecOff; - }; - std::stable_sort(Thunks.begin(), Thunks.end(), ThunkCmp); +void ThunkCreator::mergeThunks() { + for (auto &KV : ThunkSections) { + std::vector *ISR = KV.first; + std::vector &Thunks = KV.second; - // Merge sorted vectors of Thunks and InputSections by OutSecOff - std::vector Tmp; - Tmp.reserve(OS->Sections.size() + Thunks.size()); - auto MergeCmp = [](const InputSection *A, const InputSection *B) { - // std::merge requires a strict weak ordering. - if (A->OutSecOff < B->OutSecOff) - return true; - if (A->OutSecOff == B->OutSecOff) - // Check if Thunk is immediately before any specific Target InputSection - // for example Mips LA25 Thunks. - if (auto *TA = dyn_cast(A)) - if (TA && TA->getTargetInputSection() == B) - return true; - return false; - }; - std::merge(OS->Sections.begin(), OS->Sections.end(), Thunks.begin(), - Thunks.end(), std::back_inserter(Tmp), MergeCmp); - OS->Sections = std::move(Tmp); - OS->assignOffsets(); + // Order Thunks in ascending OutSecOff + auto ThunkCmp = [](const ThunkSection *A, const ThunkSection *B) { + return A->OutSecOff < B->OutSecOff; + }; + std::stable_sort(Thunks.begin(), Thunks.end(), ThunkCmp); + + // Merge sorted vectors of Thunks and InputSections by OutSecOff + std::vector Tmp; + Tmp.reserve(ISR->size() + Thunks.size()); + auto MergeCmp = [](const InputSection *A, const InputSection *B) { + // std::merge requires a strict weak ordering. + if (A->OutSecOff < B->OutSecOff) + return true; + if (A->OutSecOff == B->OutSecOff) + // Check if Thunk is immediately before any specific Target InputSection + // for example Mips LA25 Thunks. + if (auto *TA = dyn_cast(A)) + if (TA && TA->getTargetInputSection() == B) + return true; + return false; + }; + std::merge(ISR->begin(), ISR->end(), Thunks.begin(), Thunks.end(), + std::back_inserter(Tmp), MergeCmp); + *ISR = std::move(Tmp); + } } -ThunkSection *ThunkCreator::getOSThunkSec(ThunkSection *&TS, - OutputSection *OS) { - if (TS == nullptr) { +ThunkSection *ThunkCreator::getOSThunkSec(OutputSection *OS, + std::vector *ISR) { + if (CurTS == nullptr) { uint32_t Off = 0; for (auto *IS : OS->Sections) { Off = IS->OutSecOff + IS->getSize(); if ((IS->Flags & SHF_EXECINSTR) == 0) break; } - TS = make(OS, Off); - ThunkSections[OS].push_back(TS); + CurTS = make(OS, Off); + ThunkSections[ISR].push_back(CurTS); } - return TS; + return CurTS; } ThunkSection *ThunkCreator::getISThunkSec(InputSection *IS, OutputSection *OS) { @@ -1017,7 +1021,21 @@ ThunkSection *ThunkCreator::getISThunkSec(InputSection return TS; auto *TOS = IS->getParent(); TS = make(TOS, IS->OutSecOff); - ThunkSections[TOS].push_back(TS); + + // Find InputSectionRange within TOS that IS is in + OutputSectionCommand *C = Script->getCmd(TOS); + std::vector *Range = nullptr; + for (BaseCommand *BC : C->Commands) + if (auto *ISD = dyn_cast (BC)) { + InputSection *first = ISD->Sections.front(); + InputSection *last = ISD->Sections.back(); + if (IS->OutSecOff >= first->OutSecOff && + IS->OutSecOff <= last->OutSecOff) { + Range = &ISD->Sections; + break; + } + } + ThunkSections[Range].push_back(TS); ThunkedSections[IS] = TS; return TS; } @@ -1030,6 +1048,27 @@ std::pair ThunkCreator::getThunk(Symbol return std::make_pair(res.first->second, res.second); } +// Call Fn on every executable InputSection accessed via the linker script +// InputSectionDescription::Sections. +void ThunkCreator::forEachExecInputSection( + ArrayRef OutputSections, + std::function *, + InputSection *)> + Fn) { + for (OutputSectionCommand *Cmd : OutputSections) { + OutputSection *OS = Cmd->Sec; + if (!(OS->Flags & SHF_ALLOC) || !(OS->Flags & SHF_EXECINSTR)) + continue; + if (OutputSectionCommand *C = Script->getCmd(OS)) + for (BaseCommand *BC : C->Commands) + if (auto *ISD = dyn_cast(BC)) { + CurTS = nullptr; + for (InputSection* IS : ISD->Sections) + Fn(OS, &ISD->Sections, IS); + } + } +} + // Process all relocations from the InputSections that have been assigned // to OutputSections and redirect through Thunks if needed. // @@ -1040,42 +1079,41 @@ std::pair ThunkCreator::getThunk(Symbol // *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sat Jun 10 13:44:56 2017 Return-Path: Delivered-To: svn-src-all@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 9EEB0B955A3; Sat, 10 Jun 2017 13:44:56 +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 55FD178BBF; Sat, 10 Jun 2017 13:44:56 +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 v5ADitsq095120; Sat, 10 Jun 2017 13:44:55 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADit0A095119; Sat, 10 Jun 2017 13:44:55 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706101344.v5ADit0A095119@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 10 Jun 2017 13:44:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319789 - vendor/lld/lld-trunk-r305145 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 13:44:56 -0000 Author: dim Date: Sat Jun 10 13:44:55 2017 New Revision: 319789 URL: https://svnweb.freebsd.org/changeset/base/319789 Log: Tag lld trunk r305145. Added: vendor/lld/lld-trunk-r305145/ - copied from r319788, vendor/lld/dist/ From owner-svn-src-all@freebsd.org Sat Jun 10 13:45:04 2017 Return-Path: Delivered-To: svn-src-all@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 CD585B9564F; Sat, 10 Jun 2017 13:45:04 +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 5924778CA6; Sat, 10 Jun 2017 13:45:04 +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 v5ADj3dk095223; Sat, 10 Jun 2017 13:45:03 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADixBK095169; Sat, 10 Jun 2017 13:44:59 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706101344.v5ADixBK095169@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 10 Jun 2017 13:44:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319790 - in vendor/lldb/dist: include/lldb/Core include/lldb/Target include/lldb/Utility packages/Python/lldbsuite/test/functionalities/unwind/noreturn packages/Python/lldbsuite/test/f... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 13:45:04 -0000 Author: dim Date: Sat Jun 10 13:44:58 2017 New Revision: 319790 URL: https://svnweb.freebsd.org/changeset/base/319790 Log: Vendor import of lldb trunk r305145: https://llvm.org/svn/llvm-project/lldb/trunk@305145 Added: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/module-end/ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/module-end/TestNoReturnModuleEnd.py (contents, props changed) vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/module-end/a.s (contents, props changed) vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/module-end/test.core (contents, props changed) vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/module-end/test.out (contents, props changed) vendor/lldb/dist/unittests/tools/ vendor/lldb/dist/unittests/tools/CMakeLists.txt (contents, props changed) vendor/lldb/dist/unittests/tools/lldb-server/ vendor/lldb/dist/unittests/tools/lldb-server/CMakeLists.txt (contents, props changed) vendor/lldb/dist/unittests/tools/lldb-server/inferior/ vendor/lldb/dist/unittests/tools/lldb-server/inferior/thread_inferior.cpp (contents, props changed) vendor/lldb/dist/unittests/tools/lldb-server/tests/ vendor/lldb/dist/unittests/tools/lldb-server/tests/CMakeLists.txt (contents, props changed) vendor/lldb/dist/unittests/tools/lldb-server/tests/MessageObjects.cpp (contents, props changed) vendor/lldb/dist/unittests/tools/lldb-server/tests/MessageObjects.h (contents, props changed) vendor/lldb/dist/unittests/tools/lldb-server/tests/TestClient.cpp (contents, props changed) vendor/lldb/dist/unittests/tools/lldb-server/tests/TestClient.h (contents, props changed) vendor/lldb/dist/unittests/tools/lldb-server/tests/ThreadIdsInJstopinfoTest.cpp (contents, props changed) Modified: vendor/lldb/dist/include/lldb/Core/Address.h vendor/lldb/dist/include/lldb/Core/Section.h vendor/lldb/dist/include/lldb/Core/dwarf.h vendor/lldb/dist/include/lldb/Target/SectionLoadList.h vendor/lldb/dist/include/lldb/Utility/SafeMachO.h vendor/lldb/dist/include/lldb/Utility/TaskPool.h vendor/lldb/dist/include/lldb/Utility/VMRange.h vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/TestNoreturnUnwind.py vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/main.c vendor/lldb/dist/source/Commands/CommandObjectRegister.cpp vendor/lldb/dist/source/Core/Address.cpp vendor/lldb/dist/source/Core/ArchSpec.cpp vendor/lldb/dist/source/Core/CMakeLists.txt vendor/lldb/dist/source/Core/Section.cpp vendor/lldb/dist/source/DataFormatters/TypeCategory.cpp vendor/lldb/dist/source/Host/common/Host.cpp vendor/lldb/dist/source/Host/posix/ConnectionFileDescriptorPosix.cpp vendor/lldb/dist/source/Host/posix/ProcessLauncherPosixFork.cpp vendor/lldb/dist/source/Plugins/Language/ObjC/ObjCLanguage.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp vendor/lldb/dist/source/Plugins/ObjectFile/ELF/CMakeLists.txt vendor/lldb/dist/source/Plugins/ObjectFile/ELF/ELFHeader.h vendor/lldb/dist/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt vendor/lldb/dist/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp vendor/lldb/dist/source/Plugins/Process/Darwin/DarwinProcessLauncher.cpp vendor/lldb/dist/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp vendor/lldb/dist/source/Plugins/Process/Linux/NativeProcessLinux.cpp vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextLLDB.cpp vendor/lldb/dist/source/Plugins/Process/elf-core/CMakeLists.txt vendor/lldb/dist/source/Plugins/Process/elf-core/ProcessElfCore.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp vendor/lldb/dist/source/Target/SectionLoadList.cpp vendor/lldb/dist/source/Target/StackFrame.cpp vendor/lldb/dist/source/Utility/CMakeLists.txt vendor/lldb/dist/source/Utility/Status.cpp vendor/lldb/dist/source/Utility/TaskPool.cpp vendor/lldb/dist/source/Utility/VMRange.cpp vendor/lldb/dist/tools/lldb-server/lldb-gdbserver.cpp vendor/lldb/dist/unittests/CMakeLists.txt vendor/lldb/dist/unittests/Core/ArchSpecTest.cpp vendor/lldb/dist/unittests/Core/StructuredDataTest.cpp vendor/lldb/dist/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp Modified: vendor/lldb/dist/include/lldb/Core/Address.h ============================================================================== --- vendor/lldb/dist/include/lldb/Core/Address.h Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/include/lldb/Core/Address.h Sat Jun 10 13:44:58 2017 (r319790) @@ -422,6 +422,10 @@ class Address { (public) /// a section + offset. The Target's SectionLoadList object /// is used to resolve the address. /// + /// @param[in] allow_section_end + /// If true, treat an address pointing to the end of the module as + /// belonging to that module. + /// /// @return /// Returns \b true if the load address was resolved to be /// section/offset, \b false otherwise. It is often ok for an @@ -429,11 +433,13 @@ class Address { (public) /// happens for JIT'ed code, or any load addresses on the stack /// or heap. //------------------------------------------------------------------ - bool SetLoadAddress(lldb::addr_t load_addr, Target *target); + bool SetLoadAddress(lldb::addr_t load_addr, Target *target, + bool allow_section_end = false); bool SetOpcodeLoadAddress( lldb::addr_t load_addr, Target *target, - lldb::AddressClass addr_class = lldb::eAddressClassInvalid); + lldb::AddressClass addr_class = lldb::eAddressClassInvalid, + bool allow_section_end = false); bool SetCallableLoadAddress(lldb::addr_t load_addr, Target *target); Modified: vendor/lldb/dist/include/lldb/Core/Section.h ============================================================================== --- vendor/lldb/dist/include/lldb/Core/Section.h Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/include/lldb/Core/Section.h Sat Jun 10 13:44:58 2017 (r319790) @@ -143,7 +143,8 @@ class Section : public std::enable_shared_from_this // Get the DWARF constant definitions from llvm -#include "llvm/Support/Dwarf.h" +#include "llvm/BinaryFormat/Dwarf.h" #include "lldb/Core/RangeMap.h" Modified: vendor/lldb/dist/include/lldb/Target/SectionLoadList.h ============================================================================== --- vendor/lldb/dist/include/lldb/Target/SectionLoadList.h Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/include/lldb/Target/SectionLoadList.h Sat Jun 10 13:44:58 2017 (r319790) @@ -47,7 +47,8 @@ class SectionLoadList { (public) lldb::addr_t GetSectionLoadAddress(const lldb::SectionSP §ion_sp) const; - bool ResolveLoadAddress(lldb::addr_t load_addr, Address &so_addr) const; + bool ResolveLoadAddress(lldb::addr_t load_addr, Address &so_addr, + bool allow_section_end = false) const; bool SetSectionLoadAddress(const lldb::SectionSP §ion_sp, lldb::addr_t load_addr, Modified: vendor/lldb/dist/include/lldb/Utility/SafeMachO.h ============================================================================== --- vendor/lldb/dist/include/lldb/Utility/SafeMachO.h Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/include/lldb/Utility/SafeMachO.h Sat Jun 10 13:44:58 2017 (r319790) @@ -114,6 +114,6 @@ #undef CPU_SUBTYPE_MC980000_ALL #undef CPU_SUBTYPE_MC98601 -#include "llvm/Support/MachO.h" +#include "llvm/BinaryFormat/MachO.h" #endif // liblldb_SafeMachO_h_ Modified: vendor/lldb/dist/include/lldb/Utility/TaskPool.h ============================================================================== --- vendor/lldb/dist/include/lldb/Utility/TaskPool.h Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/include/lldb/Utility/TaskPool.h Sat Jun 10 13:44:58 2017 (r319790) @@ -10,6 +10,7 @@ #ifndef utility_TaskPool_h_ #define utility_TaskPool_h_ +#include "llvm/ADT/STLExtras.h" #include // for bind, function #include #include @@ -86,6 +87,6 @@ template <> struct TaskPool::RunTaskImpl<> { // 'batch_size' numbers at a time to work on, so for very fast functions, batch // should be large enough to avoid too much cache line contention. void TaskMapOverInt(size_t begin, size_t end, - std::function const &func); + const llvm::function_ref &func); #endif // #ifndef utility_TaskPool_h_ Modified: vendor/lldb/dist/include/lldb/Utility/VMRange.h ============================================================================== --- vendor/lldb/dist/include/lldb/Utility/VMRange.h Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/include/lldb/Utility/VMRange.h Sat Jun 10 13:44:58 2017 (r319790) @@ -111,11 +111,6 @@ class VMRange { (public) static bool ContainsRange(const VMRange::collection &coll, const VMRange &range); - // Returns a valid index into coll when a match is found, else UINT32_MAX - // is returned - static size_t FindRangeIndexThatContainsValue(const VMRange::collection &coll, - lldb::addr_t value); - protected: lldb::addr_t m_base_addr; lldb::addr_t m_byte_size; Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/TestNoreturnUnwind.py ============================================================================== --- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/TestNoreturnUnwind.py Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/TestNoreturnUnwind.py Sat Jun 10 13:44:58 2017 (r319790) @@ -17,8 +17,8 @@ class NoreturnUnwind(TestBase): mydir = TestBase.compute_mydir(__file__) @skipIfWindows # clang-cl does not support gcc style attributes. - @expectedFailureAndroid(bugnumber="llvm.org/pr31192") - @expectedFailureAll(bugnumber="llvm.org/pr31192", oslist=['linux'], compiler="gcc", archs=['arm']) + # clang does not preserve LR in noreturn functions, making unwinding impossible + @skipIf(compiler="clang", archs=['arm'], oslist=['linux']) def test(self): """Test that we can backtrace correctly with 'noreturn' functions on the stack""" self.build() Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/main.c ============================================================================== --- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/main.c Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/main.c Sat Jun 10 13:44:58 2017 (r319790) @@ -29,8 +29,6 @@ func_a (void) int main (int argc, char *argv[]) { - sleep (2); - func_a (); return 0; Added: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/module-end/TestNoReturnModuleEnd.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/module-end/TestNoReturnModuleEnd.py Sat Jun 10 13:44:58 2017 (r319790) @@ -0,0 +1,53 @@ +""" +Test that we properly display the backtrace when a noreturn function happens to +be at the end of the stack. +""" + +from __future__ import print_function + +import shutil +import struct + +import lldb +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from lldbsuite.test import lldbutil + + +class TestNoreturnModuleEnd(TestBase): + NO_DEBUG_INFO_TESTCASE = True + mydir = TestBase.compute_mydir(__file__) + + def setUp(self): + super(TestNoreturnModuleEnd, self).setUp() + self._initial_platform = lldb.DBG.GetSelectedPlatform() + + def tearDown(self): + lldb.DBG.SetSelectedPlatform(self._initial_platform) + super(TestNoreturnModuleEnd, self).tearDown() + + def test(self): + target = self.dbg.CreateTarget("test.out") + process = target.LoadCore("test.core") + self.assertTrue(process.IsValid(), PROCESS_IS_VALID) + self.assertEqual(process.GetNumThreads(), 1) + + thread = process.GetSelectedThread() + self.assertTrue(thread.IsValid()) + + backtrace = [ + ["func2", 3], + ["func1", 8], + ["_start", 8], + ] + self.assertEqual(thread.GetNumFrames(), len(backtrace)) + for i in range(len(backtrace)): + frame = thread.GetFrameAtIndex(i) + self.assertTrue(frame.IsValid()) + symbol = frame.GetSymbol() + self.assertTrue(symbol.IsValid()) + self.assertEqual(symbol.GetName(), backtrace[i][0]) + function_start = symbol.GetStartAddress().GetLoadAddress(target) + self.assertEquals(function_start + backtrace[i][1], frame.GetPC()) + + self.dbg.DeleteTarget(target) Added: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/module-end/a.s ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/module-end/a.s Sat Jun 10 13:44:58 2017 (r319790) @@ -0,0 +1,35 @@ +# compile this with: +# as a.s -o a.o --32 && ld a.o -m elf_i386 +# generate core file with: +# ulimit -s 12 && ./a.out + +.text + +.globl func2 +.type func2, @function +func2: + pushl %ebp + movl %esp, %ebp + movl 0, %eax + popl %ebp + ret +.size func2, .-func2 + +.globl _start +.type _start, @function +_start: + pushl %ebp + movl %esp, %ebp + call func1 + popl %ebp + ret +.size _start, .-_start + +.globl func1 +.type func1, @function +func1: + pushl %ebp + movl %esp, %ebp + call func2 +.size func1, .-func1 + Added: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/module-end/test.core ============================================================================== Binary file. No diff available. Added: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/module-end/test.out ============================================================================== Binary file. No diff available. Modified: vendor/lldb/dist/source/Commands/CommandObjectRegister.cpp ============================================================================== --- vendor/lldb/dist/source/Commands/CommandObjectRegister.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Commands/CommandObjectRegister.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -7,12 +7,6 @@ // //===----------------------------------------------------------------------===// -// C Includes -// C++ Includes -// Other libraries and framework includes -#include "llvm/ADT/STLExtras.h" - -// Project includes #include "CommandObjectRegister.h" #include "lldb/Core/Debugger.h" #include "lldb/Core/RegisterValue.h" @@ -32,6 +26,7 @@ #include "lldb/Target/SectionLoadList.h" #include "lldb/Target/Thread.h" #include "lldb/Utility/DataExtractor.h" +#include "llvm/Support/Errno.h" using namespace lldb; using namespace lldb_private; @@ -178,8 +173,8 @@ class CommandObjectRegisterRead : public CommandObject if (set_idx < reg_ctx->GetRegisterSetCount()) { if (!DumpRegisterSet(m_exe_ctx, strm, reg_ctx, set_idx)) { if (errno) - result.AppendErrorWithFormat("register read failed: %s\n", - strerror(errno)); + result.AppendErrorWithFormatv("register read failed: {0}\n", + llvm::sys::StrError()); else result.AppendError("unknown error while reading registers.\n"); result.SetStatus(eReturnStatusFailed); Modified: vendor/lldb/dist/source/Core/Address.cpp ============================================================================== --- vendor/lldb/dist/source/Core/Address.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Core/Address.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -361,8 +361,9 @@ addr_t Address::GetOpcodeLoadAddress(Target *target, } bool Address::SetOpcodeLoadAddress(lldb::addr_t load_addr, Target *target, - AddressClass addr_class) { - if (SetLoadAddress(load_addr, target)) { + AddressClass addr_class, + bool allow_section_end) { + if (SetLoadAddress(load_addr, target, allow_section_end)) { if (target) { if (addr_class == eAddressClassInvalid) addr_class = GetAddressClass(); @@ -1001,9 +1002,10 @@ AddressClass Address::GetAddressClass() const { return eAddressClassUnknown; } -bool Address::SetLoadAddress(lldb::addr_t load_addr, Target *target) { - if (target && - target->GetSectionLoadList().ResolveLoadAddress(load_addr, *this)) +bool Address::SetLoadAddress(lldb::addr_t load_addr, Target *target, + bool allow_section_end) { + if (target && target->GetSectionLoadList().ResolveLoadAddress( + load_addr, *this, allow_section_end)) return true; m_section_wp.reset(); m_offset = load_addr; Modified: vendor/lldb/dist/source/Core/ArchSpec.cpp ============================================================================== --- vendor/lldb/dist/source/Core/ArchSpec.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Core/ArchSpec.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -24,11 +24,11 @@ #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/Twine.h" // for Twine -#include "llvm/Support/COFF.h" -#include "llvm/Support/Compiler.h" // for LLVM_FALLTHROUGH -#include "llvm/Support/ELF.h" +#include "llvm/BinaryFormat/COFF.h" +#include "llvm/BinaryFormat/ELF.h" +#include "llvm/BinaryFormat/MachO.h" // for CPUType::CPU_T... +#include "llvm/Support/Compiler.h" // for LLVM_FALLTHROUGH #include "llvm/Support/Host.h" -#include "llvm/Support/MachO.h" // for CPUType::CPU_T... #include // for shared_ptr #include Modified: vendor/lldb/dist/source/Core/CMakeLists.txt ============================================================================== --- vendor/lldb/dist/source/Core/CMakeLists.txt Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Core/CMakeLists.txt Sat Jun 10 13:44:58 2017 (r319790) @@ -67,6 +67,7 @@ add_lldb_library(lldbCore lldbPluginObjectFileJIT LINK_COMPONENTS + BinaryFormat Support Demangle ) Modified: vendor/lldb/dist/source/Core/Section.cpp ============================================================================== --- vendor/lldb/dist/source/Core/Section.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Core/Section.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -220,18 +220,18 @@ addr_t Section::GetLoadBaseAddress(Target *target) con return load_base_addr; } -bool Section::ResolveContainedAddress(addr_t offset, Address &so_addr) const { +bool Section::ResolveContainedAddress(addr_t offset, Address &so_addr, + bool allow_section_end) const { const size_t num_children = m_children.GetSize(); - if (num_children > 0) { - for (size_t i = 0; i < num_children; i++) { - Section *child_section = m_children.GetSectionAtIndex(i).get(); + for (size_t i = 0; i < num_children; i++) { + Section *child_section = m_children.GetSectionAtIndex(i).get(); - addr_t child_offset = child_section->GetOffset(); - if (child_offset <= offset && - offset - child_offset < child_section->GetByteSize()) - return child_section->ResolveContainedAddress(offset - child_offset, - so_addr); - } + addr_t child_offset = child_section->GetOffset(); + if (child_offset <= offset && + offset - child_offset < + child_section->GetByteSize() + (allow_section_end ? 1 : 0)) + return child_section->ResolveContainedAddress(offset - child_offset, + so_addr, allow_section_end); } so_addr.SetOffset(offset); so_addr.SetSection(const_cast
      (this)->shared_from_this()); Modified: vendor/lldb/dist/source/DataFormatters/TypeCategory.cpp ============================================================================== --- vendor/lldb/dist/source/DataFormatters/TypeCategory.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/DataFormatters/TypeCategory.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -36,23 +36,8 @@ TypeCategoryImpl::TypeCategoryImpl( static bool IsApplicable(lldb::LanguageType category_lang, lldb::LanguageType valobj_lang) { switch (category_lang) { - // these are not languages that LLDB would ordinarily deal with - // only allow an exact equality here, since we really don't know - // any better - case eLanguageTypeAda83: - case eLanguageTypeCobol74: - case eLanguageTypeCobol85: - case eLanguageTypeFortran77: - case eLanguageTypeFortran90: - case eLanguageTypePascal83: - case eLanguageTypeModula2: - case eLanguageTypeJava: - case eLanguageTypeAda95: - case eLanguageTypeFortran95: - case eLanguageTypePLI: - case eLanguageTypeUPC: - case eLanguageTypeD: - case eLanguageTypePython: + // Unless we know better, allow only exact equality. + default: return category_lang == valobj_lang; // the C family, we consider it as one @@ -80,7 +65,7 @@ static bool IsApplicable(lldb::LanguageType category_l valobj_lang == eLanguageTypeC_plus_plus || valobj_lang == eLanguageTypeObjC; - default: + // Categories with unspecified language match everything. case eLanguageTypeUnknown: return true; } Modified: vendor/lldb/dist/source/Host/common/Host.cpp ============================================================================== --- vendor/lldb/dist/source/Host/common/Host.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Host/common/Host.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -68,6 +68,7 @@ #include "lldb/Utility/Status.h" #include "lldb/lldb-private-forward.h" #include "llvm/ADT/SmallString.h" +#include "llvm/Support/Errno.h" #include "llvm/Support/FileSystem.h" #if defined(_WIN32) @@ -217,10 +218,9 @@ static thread_result_t MonitorChildProcessThreadFuncti if (errno == EINTR) continue; else { - if (log) - log->Printf( - "%s (arg = %p) thread exiting because waitpid failed (%s)...", - __FUNCTION__, arg, strerror(errno)); + LLDB_LOG(log, + "arg = {0}, thread exiting because waitpid failed ({1})...", + arg, llvm::sys::StrError()); break; } } else if (wait_pid > 0) { Modified: vendor/lldb/dist/source/Host/posix/ConnectionFileDescriptorPosix.cpp ============================================================================== --- vendor/lldb/dist/source/Host/posix/ConnectionFileDescriptorPosix.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Host/posix/ConnectionFileDescriptorPosix.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -36,6 +36,7 @@ #include // Other libraries and framework includes +#include "llvm/Support/Errno.h" #include "llvm/Support/ErrorHandling.h" #if defined(__APPLE__) #include "llvm/ADT/SmallVector.h" @@ -461,10 +462,8 @@ size_t ConnectionFileDescriptor::Read(void *dst, size_ return 0; default: - if (log) - log->Printf( - "%p ConnectionFileDescriptor::Read (), unexpected error: %s", - static_cast(this), strerror(error_value)); + LLDB_LOG(log, "this = {0}, unexpected error: {1}", this, + llvm::sys::StrError(error_value)); status = eConnectionStatusError; break; // Break to close.... } Modified: vendor/lldb/dist/source/Host/posix/ProcessLauncherPosixFork.cpp ============================================================================== --- vendor/lldb/dist/source/Host/posix/ProcessLauncherPosixFork.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Host/posix/ProcessLauncherPosixFork.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -14,6 +14,7 @@ #include "lldb/Target/ProcessLaunchInfo.h" #include "lldb/Utility/FileSpec.h" #include "lldb/Utility/Log.h" +#include "llvm/Support/Errno.h" #include #include @@ -204,8 +205,8 @@ ProcessLauncherPosixFork::LaunchProcess(const ProcessL ::pid_t pid = ::fork(); if (pid == -1) { // Fork failed - error.SetErrorStringWithFormat("Fork failed with error message: %s", - strerror(errno)); + error.SetErrorStringWithFormatv("Fork failed with error message: {0}", + llvm::sys::StrError()); return HostProcess(LLDB_INVALID_PROCESS_ID); } if (pid == 0) { Modified: vendor/lldb/dist/source/Plugins/Language/ObjC/ObjCLanguage.cpp ============================================================================== --- vendor/lldb/dist/source/Plugins/Language/ObjC/ObjCLanguage.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/Language/ObjC/ObjCLanguage.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -95,7 +95,7 @@ bool ObjCLanguage::MethodName::SetName(llvm::StringRef // or '-' can be omitted bool valid_prefix = false; - if (name[0] == '+' || name[0] == '-') { + if (name.size() > 1 && (name[0] == '+' || name[0] == '-')) { valid_prefix = name[1] == '['; if (name[0] == '+') m_type = eTypeClassMethod; Modified: vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp ============================================================================== --- vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -171,6 +171,7 @@ UtilityFunction *AppleObjCRuntimeV1::CreateObjectCheck " \n", name); assert(strformatsize < (int)sizeof(buf->contents)); + (void)strformatsize; Status error; return GetTargetRef().GetUtilityFunctionForLanguage( Modified: vendor/lldb/dist/source/Plugins/ObjectFile/ELF/CMakeLists.txt ============================================================================== --- vendor/lldb/dist/source/Plugins/ObjectFile/ELF/CMakeLists.txt Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/ObjectFile/ELF/CMakeLists.txt Sat Jun 10 13:44:58 2017 (r319790) @@ -8,5 +8,6 @@ add_lldb_library(lldbPluginObjectFileELF PLUGIN lldbSymbol lldbTarget LINK_COMPONENTS + BinaryFormat Support ) Modified: vendor/lldb/dist/source/Plugins/ObjectFile/ELF/ELFHeader.h ============================================================================== --- vendor/lldb/dist/source/Plugins/ObjectFile/ELF/ELFHeader.h Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/ObjectFile/ELF/ELFHeader.h Sat Jun 10 13:44:58 2017 (r319790) @@ -21,7 +21,7 @@ #ifndef liblldb_ELFHeader_h_ #define liblldb_ELFHeader_h_ -#include "llvm/Support/ELF.h" +#include "llvm/BinaryFormat/ELF.h" #include "lldb/lldb-enumerations.h" #include "lldb/lldb-types.h" Modified: vendor/lldb/dist/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt ============================================================================== --- vendor/lldb/dist/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt Sat Jun 10 13:44:58 2017 (r319790) @@ -8,5 +8,6 @@ add_lldb_library(lldbPluginObjectFilePECOFF PLUGIN lldbSymbol lldbTarget LINK_COMPONENTS + BinaryFormat Support ) Modified: vendor/lldb/dist/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp ============================================================================== --- vendor/lldb/dist/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -10,7 +10,7 @@ #include "ObjectFilePECOFF.h" #include "WindowsMiniDump.h" -#include "llvm/Support/COFF.h" +#include "llvm/BinaryFormat/COFF.h" #include "lldb/Core/ArchSpec.h" #include "lldb/Core/FileSpecList.h" Modified: vendor/lldb/dist/source/Plugins/Process/Darwin/DarwinProcessLauncher.cpp ============================================================================== --- vendor/lldb/dist/source/Plugins/Process/Darwin/DarwinProcessLauncher.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/Process/Darwin/DarwinProcessLauncher.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -35,6 +35,7 @@ #include "lldb/Utility/Log.h" #include "lldb/Utility/Status.h" #include "lldb/Utility/StreamString.h" +#include "llvm/Support/Errno.h" #include "CFBundle.h" #include "CFString.h" @@ -319,13 +320,12 @@ static Status PosixSpawnChildForPTraceDebugging(const ::posix_spawnattr_setsigdefault(&attr, &all_signals); if ((error_code = ::posix_spawnattr_setflags(&attr, flags)) != 0) { - if (log) - log->Printf("::posix_spawnattr_setflags(&attr, " - "POSIX_SPAWN_START_SUSPENDED%s) failed: %s", - flags & _POSIX_SPAWN_DISABLE_ASLR - ? " | _POSIX_SPAWN_DISABLE_ASLR" - : "", - strerror(error_code)); + LLDB_LOG(log, + "::posix_spawnattr_setflags(&attr, " + "POSIX_SPAWN_START_SUSPENDED{0}) failed: {1}", + flags & _POSIX_SPAWN_DISABLE_ASLR ? " | _POSIX_SPAWN_DISABLE_ASLR" + : "", + llvm::sys::StrError(error_code)); error.SetError(error_code, eErrorTypePOSIX); return error; } @@ -341,10 +341,10 @@ static Status PosixSpawnChildForPTraceDebugging(const error_code = ::posix_spawnattr_setbinpref_np(&attr, 1, &desired_cpu_type, &ocount); if (error_code != 0) { - if (log) - log->Printf("::posix_spawnattr_setbinpref_np(&attr, 1, " - "cpu_type = 0x%8.8x, count => %llu): %s", - desired_cpu_type, (uint64_t)ocount, strerror(error_code)); + LLDB_LOG(log, + "::posix_spawnattr_setbinpref_np(&attr, 1, " + "cpu_type = {0:x8}, count => {1}): {2}", + desired_cpu_type, ocount, llvm::sys::StrError(error_code)); error.SetError(error_code, eErrorTypePOSIX); return error; } @@ -361,10 +361,8 @@ static Status PosixSpawnChildForPTraceDebugging(const posix_spawn_file_actions_t file_actions; if ((error_code = ::posix_spawn_file_actions_init(&file_actions)) != 0) { - if (log) - log->Printf("::posix_spawn_file_actions_init(&file_actions) " - "failed: %s", - strerror(error_code)); + LLDB_LOG(log, "::posix_spawn_file_actions_init(&file_actions) failed: {0}", + llvm::sys::StrError(error_code)); error.SetError(error_code, eErrorTypePOSIX); return error; } @@ -409,11 +407,11 @@ static Status PosixSpawnChildForPTraceDebugging(const error_code = ::posix_spawnp(pid, path, &file_actions, &attr, (char *const *)argv, (char *const *)envp); if (error_code != 0) { - if (log) - log->Printf("::posix_spawnp(pid => %p, path = '%s', file_actions " - "= %p, attr = %p, argv = %p, envp = %p) failed: %s", - pid, path, &file_actions, &attr, argv, envp, - strerror(error_code)); + LLDB_LOG(log, + "::posix_spawnp(pid => {0}, path = '{1}', file_actions " + "= {2}, attr = {3}, argv = {4}, envp = {5}) failed: {6}", + pid, path, &file_actions, &attr, argv, envp, + llvm::sys::StrError(error_code)); error.SetError(error_code, eErrorTypePOSIX); return error; } Modified: vendor/lldb/dist/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp ============================================================================== --- vendor/lldb/dist/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -30,6 +30,7 @@ #include "lldb/Target/Thread.h" #include "lldb/Target/UnixSignals.h" #include "lldb/Utility/Status.h" +#include "llvm/Support/Errno.h" #include "FreeBSDThread.h" #include "Plugins/Process/POSIX/CrashReason.h" @@ -529,10 +530,8 @@ void ResumeOperation::Execute(ProcessMonitor *monitor) if (PTRACE(PT_CONTINUE, pid, (caddr_t)1, data)) { Log *log(ProcessPOSIXLog::GetLogIfAllCategoriesSet(POSIX_LOG_PROCESS)); - - if (log) - log->Printf("ResumeOperation (%" PRIu64 ") failed: %s", pid, - strerror(errno)); + LLDB_LOG(log, "ResumeOperation ({0}) failed: {1}", pid, + llvm::sys::StrError(errno)); m_result = false; } else m_result = true; Modified: vendor/lldb/dist/source/Plugins/Process/Linux/NativeProcessLinux.cpp ============================================================================== --- vendor/lldb/dist/source/Plugins/Process/Linux/NativeProcessLinux.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/Process/Linux/NativeProcessLinux.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -43,14 +43,14 @@ #include "lldb/Utility/LLDBAssert.h" #include "lldb/Utility/Status.h" #include "lldb/Utility/StringExtractor.h" +#include "llvm/Support/Errno.h" +#include "llvm/Support/FileSystem.h" +#include "llvm/Support/Threading.h" #include "NativeThreadLinux.h" #include "Plugins/Process/POSIX/ProcessPOSIXLog.h" #include "Procfs.h" -#include "llvm/Support/FileSystem.h" -#include "llvm/Support/Threading.h" - #include #include #include @@ -97,7 +97,7 @@ static bool ProcessVmReadvSupported() { LLDB_LOG(log, "syscall process_vm_readv failed (error: {0}). Fast memory " "reads disabled.", - strerror(errno)); + llvm::sys::StrError()); }); return is_supported; @@ -1988,7 +1988,7 @@ Status NativeProcessLinux::ReadMemory(lldb::addr_t add LLDB_LOG(log, "using process_vm_readv to read {0} bytes from inferior " "address {1:x}: {2}", - size, addr, success ? "Success" : strerror(errno)); + size, addr, success ? "Success" : llvm::sys::StrError(errno)); if (success) return Status(); Modified: vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextLLDB.cpp ============================================================================== --- vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextLLDB.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextLLDB.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -329,7 +329,8 @@ void RegisterContextLLDB::InitializeNonZerothFrame() { if (abi) pc = abi->FixCodeAddress(pc); - m_current_pc.SetLoadAddress(pc, &process->GetTarget()); + const bool allow_section_end = true; + m_current_pc.SetLoadAddress(pc, &process->GetTarget(), allow_section_end); // If we don't have a Module for some reason, we're not going to find // symbol/function information - just @@ -477,11 +478,12 @@ void RegisterContextLLDB::InitializeNonZerothFrame() { // Or if we're in the middle of the stack (and not "above" an asynchronous // event like sigtramp), // and our "current" pc is the start of a function... - if (m_sym_ctx_valid && GetNextFrame()->m_frame_type != eTrapHandlerFrame && + if (GetNextFrame()->m_frame_type != eTrapHandlerFrame && GetNextFrame()->m_frame_type != eDebuggerFrame && - addr_range.GetBaseAddress().IsValid() && - addr_range.GetBaseAddress().GetSection() == m_current_pc.GetSection() && - addr_range.GetBaseAddress().GetOffset() == m_current_pc.GetOffset()) { + (!m_sym_ctx_valid || + (addr_range.GetBaseAddress().IsValid() && + addr_range.GetBaseAddress().GetSection() == m_current_pc.GetSection() && + addr_range.GetBaseAddress().GetOffset() == m_current_pc.GetOffset()))) { decr_pc_and_recompute_addr_range = true; } Modified: vendor/lldb/dist/source/Plugins/Process/elf-core/CMakeLists.txt ============================================================================== --- vendor/lldb/dist/source/Plugins/Process/elf-core/CMakeLists.txt Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/Process/elf-core/CMakeLists.txt Sat Jun 10 13:44:58 2017 (r319790) @@ -17,5 +17,6 @@ add_lldb_library(lldbPluginProcessElfCore PLUGIN lldbPluginObjectFileELF lldbPluginProcessUtility LINK_COMPONENTS + BinaryFormat Support ) Modified: vendor/lldb/dist/source/Plugins/Process/elf-core/ProcessElfCore.cpp ============================================================================== --- vendor/lldb/dist/source/Plugins/Process/elf-core/ProcessElfCore.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/Process/elf-core/ProcessElfCore.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -27,7 +27,7 @@ #include "lldb/Utility/DataBufferLLVM.h" #include "lldb/Utility/Log.h" -#include "llvm/Support/ELF.h" +#include "llvm/BinaryFormat/ELF.h" #include "llvm/Support/Threading.h" #include "Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h" Modified: vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp ============================================================================== --- vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -3732,8 +3732,8 @@ static DWARFDIE GetContainingFunctionWithAbstractOrigi } } } - assert(!"Shouldn't call GetContainingFunctionWithAbstractOrigin on something " - "not in a function"); + assert(0 && "Shouldn't call GetContainingFunctionWithAbstractOrigin on " + "something not in a function"); return DWARFDIE(); } Modified: vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp ============================================================================== --- vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -1958,7 +1958,7 @@ void SymbolFileDWARF::Index() { &function_fullname_index, &function_method_index, &function_selector_index, &objc_class_selectors_index, &global_index, &type_index, - &namespace_index](uint32_t cu_idx) { + &namespace_index](size_t cu_idx) { DWARFCompileUnit *dwarf_cu = debug_info->GetCompileUnitAtIndex(cu_idx); if (dwarf_cu) { dwarf_cu->Index( @@ -1967,10 +1967,9 @@ void SymbolFileDWARF::Index() { objc_class_selectors_index[cu_idx], global_index[cu_idx], type_index[cu_idx], namespace_index[cu_idx]); } - return cu_idx; }; - auto extract_fn = [debug_info, &clear_cu_dies](uint32_t cu_idx) { + auto extract_fn = [debug_info, &clear_cu_dies](size_t cu_idx) { DWARFCompileUnit *dwarf_cu = debug_info->GetCompileUnitAtIndex(cu_idx); if (dwarf_cu) { // dwarf_cu->ExtractDIEsIfNeeded(false) will return zero if the Modified: vendor/lldb/dist/source/Target/SectionLoadList.cpp ============================================================================== --- vendor/lldb/dist/source/Target/SectionLoadList.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Target/SectionLoadList.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -207,8 +207,8 @@ bool SectionLoadList::SetSectionUnloaded(const lldb::S return erased; } -bool SectionLoadList::ResolveLoadAddress(addr_t load_addr, - Address &so_addr) const { +bool SectionLoadList::ResolveLoadAddress(addr_t load_addr, Address &so_addr, + bool allow_section_end) const { // First find the top level section that this load address exists in std::lock_guard guard(m_mutex); if (!m_addr_to_sect.empty()) { @@ -220,10 +220,11 @@ bool SectionLoadList::ResolveLoadAddress(addr_t load_a const addr_t pos_load_addr = pos->first; if (load_addr >= pos_load_addr) { addr_t offset = load_addr - pos_load_addr; - if (offset < pos->second->GetByteSize()) { + if (offset < pos->second->GetByteSize() + (allow_section_end ? 1 : 0)) { // We have found the top level section, now we need to find the // deepest child section. - return pos->second->ResolveContainedAddress(offset, so_addr); + return pos->second->ResolveContainedAddress(offset, so_addr, + allow_section_end); } } } else { @@ -233,10 +234,12 @@ bool SectionLoadList::ResolveLoadAddress(addr_t load_a m_addr_to_sect.rbegin(); if (load_addr >= rpos->first) { addr_t offset = load_addr - rpos->first; - if (offset < rpos->second->GetByteSize()) { + if (offset < + rpos->second->GetByteSize() + (allow_section_end ? 1 : 0)) { // We have found the top level section, now we need to find the // deepest child section. - return rpos->second->ResolveContainedAddress(offset, so_addr); + return rpos->second->ResolveContainedAddress(offset, so_addr, + allow_section_end); } } } Modified: vendor/lldb/dist/source/Target/StackFrame.cpp ============================================================================== --- vendor/lldb/dist/source/Target/StackFrame.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Target/StackFrame.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -191,9 +191,10 @@ const Address &StackFrame::GetFrameCodeAddress() { if (thread_sp) { TargetSP target_sp(thread_sp->CalculateTarget()); if (target_sp) { + const bool allow_section_end = true; if (m_frame_code_addr.SetOpcodeLoadAddress( m_frame_code_addr.GetOffset(), target_sp.get(), - eAddressClassCode)) { + eAddressClassCode, allow_section_end)) { ModuleSP module_sp(m_frame_code_addr.GetModule()); if (module_sp) { m_sc.module_sp = module_sp; Modified: vendor/lldb/dist/source/Utility/CMakeLists.txt ============================================================================== --- vendor/lldb/dist/source/Utility/CMakeLists.txt Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Utility/CMakeLists.txt Sat Jun 10 13:44:58 2017 (r319790) @@ -38,5 +38,6 @@ add_lldb_library(lldbUtility # lldbUtility cannot have any dependencies LINK_COMPONENTS + BinaryFormat Support ) Modified: vendor/lldb/dist/source/Utility/Status.cpp ============================================================================== --- vendor/lldb/dist/source/Utility/Status.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Utility/Status.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -11,10 +11,11 @@ #include "lldb/Utility/Status.h" #include "lldb/Utility/VASPrintf.h" -#include "lldb/lldb-defines.h" // for LLDB_GENERIC_ERROR -#include "lldb/lldb-enumerations.h" // for ErrorType, ErrorType::eErr... -#include "llvm/ADT/SmallString.h" // for SmallString -#include "llvm/ADT/StringRef.h" // for StringRef +#include "lldb/lldb-defines.h" // for LLDB_GENERIC_ERROR +#include "lldb/lldb-enumerations.h" // for ErrorType, ErrorType::eErr... +#include "llvm/ADT/SmallString.h" // for SmallString +#include "llvm/ADT/StringRef.h" // for StringRef +#include "llvm/Support/Errno.h" #include "llvm/Support/FormatProviders.h" // for format_provider #include @@ -27,7 +28,6 @@ #endif #include // for uint32_t -#include // for strerror namespace llvm { class raw_ostream; @@ -121,23 +121,21 @@ const char *Status::AsCString(const char *default_erro return nullptr; if (m_string.empty()) { - const char *s = nullptr; switch (m_type) { case eErrorTypeMachKernel: #if defined(__APPLE__) - s = ::mach_error_string(m_code); + if (const char *s = ::mach_error_string(m_code)) + m_string.assign(s); #endif break; case eErrorTypePOSIX: - s = ::strerror(m_code); + m_string = llvm::sys::StrError(m_code); break; default: break; } - if (s != nullptr) - m_string.assign(s); } if (m_string.empty()) { if (default_error_str) Modified: vendor/lldb/dist/source/Utility/TaskPool.cpp ============================================================================== --- vendor/lldb/dist/source/Utility/TaskPool.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Utility/TaskPool.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -75,7 +75,7 @@ void TaskPoolImpl::Worker(TaskPoolImpl *pool) { } void TaskMapOverInt(size_t begin, size_t end, - std::function const &func) { + const llvm::function_ref &func) { std::atomic idx{begin}; size_t num_workers = std::min(end, std::thread::hardware_concurrency()); Modified: vendor/lldb/dist/source/Utility/VMRange.cpp ============================================================================== --- vendor/lldb/dist/source/Utility/VMRange.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/source/Utility/VMRange.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -25,36 +25,15 @@ using namespace lldb_private; bool VMRange::ContainsValue(const VMRange::collection &coll, lldb::addr_t value) { ValueInRangeUnaryPredicate in_range_predicate(value); - VMRange::const_iterator pos; - VMRange::const_iterator end = coll.end(); - pos = std::find_if(coll.begin(), end, in_range_predicate); - if (pos != end) - return true; - return false; + return llvm::find_if(coll, in_range_predicate) != coll.end(); } bool VMRange::ContainsRange(const VMRange::collection &coll, const VMRange &range) { RangeInRangeUnaryPredicate in_range_predicate(range); - VMRange::const_iterator pos; - VMRange::const_iterator end = coll.end(); - pos = std::find_if(coll.begin(), end, in_range_predicate); - if (pos != end) - return true; - return false; + return llvm::find_if(coll, in_range_predicate) != coll.end(); } -size_t VMRange::FindRangeIndexThatContainsValue(const VMRange::collection &coll, - lldb::addr_t value) { - ValueInRangeUnaryPredicate in_range_predicate(value); - VMRange::const_iterator begin = coll.begin(); - VMRange::const_iterator end = coll.end(); - VMRange::const_iterator pos = std::find_if(begin, end, in_range_predicate); - if (pos != end) - return std::distance(begin, pos); - return UINT32_MAX; -} - void VMRange::Dump(Stream *s, lldb::addr_t offset, uint32_t addr_width) const { s->AddressRange(offset + GetBaseAddress(), offset + GetEndAddress(), addr_width); @@ -66,8 +45,7 @@ bool lldb_private::operator==(const VMRange &lhs, cons } bool lldb_private::operator!=(const VMRange &lhs, const VMRange &rhs) { - return lhs.GetBaseAddress() != rhs.GetBaseAddress() || - lhs.GetEndAddress() != rhs.GetEndAddress(); + return !(lhs == rhs); } bool lldb_private::operator<(const VMRange &lhs, const VMRange &rhs) { @@ -79,25 +57,13 @@ bool lldb_private::operator<(const VMRange &lhs, const } bool lldb_private::operator<=(const VMRange &lhs, const VMRange &rhs) { - if (lhs.GetBaseAddress() < rhs.GetBaseAddress()) - return true; - else if (lhs.GetBaseAddress() > rhs.GetBaseAddress()) - return false; - return lhs.GetEndAddress() <= rhs.GetEndAddress(); + return !(lhs > rhs); } bool lldb_private::operator>(const VMRange &lhs, const VMRange &rhs) { - if (lhs.GetBaseAddress() > rhs.GetBaseAddress()) - return true; - else if (lhs.GetBaseAddress() < rhs.GetBaseAddress()) - return false; - return lhs.GetEndAddress() > rhs.GetEndAddress(); + return rhs < lhs; } bool lldb_private::operator>=(const VMRange &lhs, const VMRange &rhs) { - if (lhs.GetBaseAddress() > rhs.GetBaseAddress()) - return true; - else if (lhs.GetBaseAddress() < rhs.GetBaseAddress()) - return false; - return lhs.GetEndAddress() >= rhs.GetEndAddress(); + return !(lhs < rhs); } Modified: vendor/lldb/dist/tools/lldb-server/lldb-gdbserver.cpp ============================================================================== --- vendor/lldb/dist/tools/lldb-server/lldb-gdbserver.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/tools/lldb-server/lldb-gdbserver.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -21,8 +21,6 @@ // C++ Includes -// Other libraries and framework includes -#include "llvm/ADT/StringRef.h" #include "Acceptor.h" #include "LLDBServerUtilities.h" @@ -36,6 +34,8 @@ #include "lldb/Host/Socket.h" #include "lldb/Host/StringConvert.h" #include "lldb/Utility/Status.h" +#include "llvm/ADT/StringRef.h" +#include "llvm/Support/Errno.h" #ifndef LLGS_PROGRAM_NAME #define LLGS_PROGRAM_NAME "lldb-server" @@ -398,10 +398,9 @@ int main_gdbserver(int argc, char *argv[]) { { const ::pid_t new_sid = setsid(); if (new_sid == -1) { - const char *errno_str = strerror(errno); - fprintf(stderr, "failed to set new session id for %s (%s)\n", - LLGS_PROGRAM_NAME, - errno_str ? errno_str : ""); + llvm::errs() << llvm::formatv( + "failed to set new session id for {0} ({1})\n", LLGS_PROGRAM_NAME, + llvm::sys::StrError()); } } break; Modified: vendor/lldb/dist/unittests/CMakeLists.txt ============================================================================== --- vendor/lldb/dist/unittests/CMakeLists.txt Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/unittests/CMakeLists.txt Sat Jun 10 13:44:58 2017 (r319790) @@ -68,9 +68,10 @@ add_subdirectory(Signals) add_subdirectory(Symbol) add_subdirectory(SymbolFile) add_subdirectory(Target) +add_subdirectory(tools) add_subdirectory(UnwindAssembly) add_subdirectory(Utility) if(LLDB_CAN_USE_DEBUGSERVER) add_subdirectory(debugserver) -endif() \ No newline at end of file +endif() Modified: vendor/lldb/dist/unittests/Core/ArchSpecTest.cpp ============================================================================== --- vendor/lldb/dist/unittests/Core/ArchSpecTest.cpp Sat Jun 10 13:44:55 2017 (r319789) +++ vendor/lldb/dist/unittests/Core/ArchSpecTest.cpp Sat Jun 10 13:44:58 2017 (r319790) @@ -11,7 +11,7 @@ #include "lldb/Core/ArchSpec.h" -#include "llvm/Support/MachO.h" +#include "llvm/BinaryFormat/MachO.h" using namespace lldb; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sat Jun 10 13:45:08 2017 Return-Path: Delivered-To: svn-src-all@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 705A5B95674; Sat, 10 Jun 2017 13:45:08 +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 26A2478CF3; Sat, 10 Jun 2017 13:45:08 +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 v5ADj7vk095272; Sat, 10 Jun 2017 13:45:07 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ADj7qf095271; Sat, 10 Jun 2017 13:45:07 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706101345.v5ADj7qf095271@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 10 Jun 2017 13:45:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r319791 - vendor/lldb/lldb-trunk-r305145 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 13:45:08 -0000 Author: dim Date: Sat Jun 10 13:45:07 2017 New Revision: 319791 URL: https://svnweb.freebsd.org/changeset/base/319791 Log: Tag lldb trunk r305145. Added: vendor/lldb/lldb-trunk-r305145/ - copied from r319790, vendor/lldb/dist/ From owner-svn-src-all@freebsd.org Sat Jun 10 14:47:02 2017 Return-Path: Delivered-To: svn-src-all@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 8D1C3BEEEA5; Sat, 10 Jun 2017 14:47:02 +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 5BB387B565; Sat, 10 Jun 2017 14:47:02 +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 v5AEl13e020501; Sat, 10 Jun 2017 14:47:01 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AEl1ec020500; Sat, 10 Jun 2017 14:47:01 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706101447.v5AEl1ec020500@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 10 Jun 2017 14:47:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319792 - head/cddl/usr.sbin/dtrace/tests/tools X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 14:47:02 -0000 Author: markj Date: Sat Jun 10 14:47:01 2017 New Revision: 319792 URL: https://svnweb.freebsd.org/changeset/base/319792 Log: Override the locale so that file lists get a consistent sort order. Reported by: avg MFC after: 1 week Modified: head/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh Modified: head/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh ============================================================================== --- head/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh Sat Jun 10 13:45:07 2017 (r319791) +++ head/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh Sat Jun 10 14:47:01 2017 (r319792) @@ -89,6 +89,8 @@ if [ $# -ne 0 ]; then usage fi +export LC_ALL=C + readonly ORIGINDIR=$(realpath $(dirname $0)) readonly TOPDIR=$(realpath ${ORIGINDIR}/../../../../..) readonly CONTRIB_TESTDIR=${TOPDIR}/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common From owner-svn-src-all@freebsd.org Sat Jun 10 15:07:21 2017 Return-Path: Delivered-To: svn-src-all@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 2C53EBEF922; Sat, 10 Jun 2017 15:07:21 +0000 (UTC) (envelope-from nyan@FreeBSD.org) Received: from sakura.ccs.furiru.org (sakura.ccs.furiru.org [IPv6:2001:2f0:104:8060::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "sakura.ccs.furiru.org", Issuer "sakura.ccs.furiru.org" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id D9B867C3CB; Sat, 10 Jun 2017 15:07:20 +0000 (UTC) (envelope-from nyan@FreeBSD.org) Received: from localhost (authenticated bits=0) by sakura.ccs.furiru.org (unknown) with ESMTPA id v5AF7E6j094414; Sun, 11 Jun 2017 00:07:17 +0900 (JST) (envelope-from nyan@FreeBSD.org) Date: Sun, 11 Jun 2017 00:07:14 +0900 (JST) Message-Id: <20170611.000714.2063715294250192258.nyan@FreeBSD.org> To: avg@FreeBSD.org Cc: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org Subject: Re: svn commit: r317591 - head/sys/dev/drm2/radeon From: TAKAHASHI Yoshihiro In-Reply-To: <03e500d5-76b1-fd38-04c6-90d85a2ddfa8@FreeBSD.org> References: <201704290947.v3T9lF0r075921@repo.freebsd.org> <03e500d5-76b1-fd38-04c6-90d85a2ddfa8@FreeBSD.org> X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 15:07:21 -0000 In article <03e500d5-76b1-fd38-04c6-90d85a2ddfa8@FreeBSD.org> Andriy Gapon writes: > On 29/04/2017 12:47, Takahashi Yoshihiro wrote: >> Author: nyan >> Date: Sat Apr 29 09:47:15 2017 >> New Revision: 317591 >> URL: https://svnweb.freebsd.org/changeset/base/317591 >> >> Log: >> Add TUNABLE_INT to radeonkms driver parameters. >> They are required by PowerMac G5 DP. >> >> PR: 217852 >> Submitted by: Hiroo Ono >> MFC after: 1 week > > I think that this solution that I had in my private tree is a little bit more > powerful: > https://people.freebsd.org/~avg/radeon_drv-knobs.diff > > The advantage is that it is less intrusive and also provides read-only sysctl in > addition to the tunables. > Also, hw.drm.radeon seems like a better place for the knobs than just drm.radeon. > > Do you mind if I commit this? Sorry for late. I don't mind that your suggestion. But if you will commit the patch, I think that you should apply the same way to the i915 driver. --- TAKAHASHI Yoshihiro From owner-svn-src-all@freebsd.org Sat Jun 10 16:11:40 2017 Return-Path: Delivered-To: svn-src-all@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 E3C99BF0BE1; Sat, 10 Jun 2017 16:11:40 +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 BBF807DD7A; Sat, 10 Jun 2017 16:11:40 +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 v5AGBdaA054769; Sat, 10 Jun 2017 16:11:39 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AGBdqg054767; Sat, 10 Jun 2017 16:11:39 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201706101611.v5AGBdqg054767@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Sat, 10 Jun 2017 16:11:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319793 - in head/sys: kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 16:11:41 -0000 Author: alc Date: Sat Jun 10 16:11:39 2017 New Revision: 319793 URL: https://svnweb.freebsd.org/changeset/base/319793 Log: Remove an unnecessary field from struct blist. (The comment describing what this field represented was also inaccurate.) Suggested by: kib In r178792, blist_create() grew a malloc flag, allowing M_NOWAIT to be specified. However, blist_create() was not modified to handle the possibility that a malloc() call failed. Address this omission. Increase the width of the local variable "radix" to 64 bits. (This matches the width of the corresponding field in struct blist.) Reviewed by: kib MFC after: 6 weeks Modified: head/sys/kern/subr_blist.c head/sys/sys/blist.h Modified: head/sys/kern/subr_blist.c ============================================================================== --- head/sys/kern/subr_blist.c Sat Jun 10 14:47:01 2017 (r319792) +++ head/sys/kern/subr_blist.c Sat Jun 10 16:11:39 2017 (r319793) @@ -156,7 +156,7 @@ blist_t blist_create(daddr_t blocks, int flags) { blist_t bl; - int radix; + daddr_t nodes, radix; int skip = 0; /* @@ -170,13 +170,19 @@ blist_create(daddr_t blocks, int flags) } bl = malloc(sizeof(struct blist), M_SWAP, flags | M_ZERO); + if (bl == NULL) + return (NULL); bl->bl_blocks = blocks; bl->bl_radix = radix; bl->bl_skip = skip; - bl->bl_rootblks = 1 + - blst_radix_init(NULL, bl->bl_radix, bl->bl_skip, blocks); - bl->bl_root = malloc(sizeof(blmeta_t) * bl->bl_rootblks, M_SWAP, flags); + nodes = 1 + blst_radix_init(NULL, radix, bl->bl_skip, blocks); + bl->bl_root = malloc(nodes * sizeof(blmeta_t), M_SWAP, flags); + if (bl->bl_root == NULL) { + free(bl, M_SWAP); + return (NULL); + } + blst_radix_init(bl->bl_root, radix, bl->bl_skip, blocks); #if defined(BLIST_DEBUG) printf( @@ -184,14 +190,13 @@ blist_create(daddr_t blocks, int flags) ", requiring %lldK of ram\n", (long long)bl->bl_blocks, (long long)bl->bl_blocks * 4 / 1024, - (long long)(bl->bl_rootblks * sizeof(blmeta_t) + 1023) / 1024 + (long long)(nodes * sizeof(blmeta_t) + 1023) / 1024 ); printf("BLIST raw radix tree contains %lld records\n", - (long long)bl->bl_rootblks); + (long long)nodes); #endif - blst_radix_init(bl->bl_root, bl->bl_radix, bl->bl_skip, blocks); - return(bl); + return (bl); } void Modified: head/sys/sys/blist.h ============================================================================== --- head/sys/sys/blist.h Sat Jun 10 14:47:01 2017 (r319792) +++ head/sys/sys/blist.h Sat Jun 10 16:11:39 2017 (r319793) @@ -84,7 +84,6 @@ typedef struct blist { daddr_t bl_skip; /* starting skip */ daddr_t bl_free; /* number of free blocks */ blmeta_t *bl_root; /* root of radix tree */ - daddr_t bl_rootblks; /* daddr_t blks allocated for tree */ } *blist_t; #define BLIST_META_RADIX 16 From owner-svn-src-all@freebsd.org Sat Jun 10 16:30:59 2017 Return-Path: Delivered-To: svn-src-all@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 859EDBF145B; Sat, 10 Jun 2017 16:30:59 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-wr0-f170.google.com (mail-wr0-f170.google.com [209.85.128.170]) (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 246FF7E92F; Sat, 10 Jun 2017 16:30:58 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-wr0-f170.google.com with SMTP id v111so58911162wrc.3; Sat, 10 Jun 2017 09:30:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:reply-to:in-reply-to:references :from:date:message-id:subject:to:cc; bh=0jeA36kfyMhRUdChIaJAzQk4rivJ0viHUI8bo+hp7RE=; b=aNGmv7tL+C+iGgb87KbnOqDkqNZjniS3pTQS/bMi5XnkRYeyVd39UrP7PUtg+/RDTK rwBAjwYJYtkd/iyF6Jo+A99rAGrEJ7gTy+gI6BmKRgGpiKku/GIC1dwcT0EJPrLuQwrI Yzawyl/T/FjFhunOHgH/2Vc9jq3m16bNTvWeIBVp5cqQ3UI5MmIKt3Xl9JCmpkfSZQdH ZO5bZF8EWR/Pd5aE5DrnOrdQK/WXg7qscbfKgtcr6qBmeI8pzFXgjtlSbqJMTRCDgsFS gswSkucvAdgB1pMgL/3NRMphOTjJI/G4NvdBUodgrSZU9jPlOZ4XNI5chdqUH8L3sZf/ 389w== X-Gm-Message-State: AODbwcCi0my3wAAPZhLoqVD/gf5WIQleeoi4UMgKwedNZLSJSVac7Rta /953kva3M9rQTddntrY= X-Received: by 10.223.139.210 with SMTP id w18mr2648037wra.19.1497110787600; Sat, 10 Jun 2017 09:06:27 -0700 (PDT) Received: from mail-wr0-f170.google.com (mail-wr0-f170.google.com. [209.85.128.170]) by smtp.gmail.com with ESMTPSA id e24sm7921019wre.54.2017.06.10.09.06.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 10 Jun 2017 09:06:27 -0700 (PDT) Received: by mail-wr0-f170.google.com with SMTP id g76so58325494wrd.1; Sat, 10 Jun 2017 09:06:27 -0700 (PDT) X-Received: by 10.80.191.76 with SMTP id g12mr23204219edk.12.1497110787325; Sat, 10 Jun 2017 09:06:27 -0700 (PDT) MIME-Version: 1.0 Reply-To: cem@freebsd.org Received: by 10.80.164.154 with HTTP; Sat, 10 Jun 2017 09:06:26 -0700 (PDT) In-Reply-To: <201706020235.v522ZGeC076100@repo.freebsd.org> References: <201706020235.v522ZGeC076100@repo.freebsd.org> From: Conrad Meyer Date: Sat, 10 Jun 2017 09:06:26 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r319487 - head/usr.sbin/bhyve To: Marcelo Araujo Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 16:30:59 -0000 Hi, See inline comments below. On Thu, Jun 1, 2017 at 7:35 PM, Marcelo Araujo wrote: > Author: araujo > Date: Fri Jun 2 02:35:16 2017 > New Revision: 319487 > URL: https://svnweb.freebsd.org/changeset/base/319487 > > Log: > Add VNC Authentication support based on RFC6143 section 7.2.2. > > ... > > Modified: head/usr.sbin/bhyve/rfb.c > ============================================================================== > --- head/usr.sbin/bhyve/rfb.c Fri Jun 2 01:00:40 2017 (r319486) > +++ head/usr.sbin/bhyve/rfb.c Fri Jun 2 02:35:16 2017 (r319487) > ... > @@ -739,8 +754,19 @@ rfb_handle(struct rfb_softc *rc, int cfd) > { > const char *vbuf = "RFB 003.008\n"; > unsigned char buf[80]; > + unsigned char *message; > + > +#ifndef NO_OPENSSL > + unsigned char challenge[AUTH_LENGTH]; > + unsigned char keystr[PASSWD_LENGTH]; Here, keystr is not zero initialized. > + unsigned char crypt_expected[AUTH_LENGTH]; > + > + DES_key_schedule ks; > + int i; > +#endif > + > pthread_t tid; > - uint32_t sres; > + uint32_t sres; > int len; > > rc->cfd = cfd; > @@ -751,19 +777,91 @@ rfb_handle(struct rfb_softc *rc, int cfd) > ... > + case SECURITY_TYPE_VNC_AUTH: > + /* > + * The client encrypts the challenge with DES, using a password > + * supplied by the user as the key. > + * To form the key, the password is truncated to > + * eight characters, or padded with null bytes on the right. Note that strncpy below does not fill the remainder of the buffer with nuls if rc->password is shorter than 7 characters. > + * The client then sends the resulting 16-bytes response. > + */ > +#ifndef NO_OPENSSL > + strncpy(keystr, rc->password, PASSWD_LENGTH); > + > + /* VNC clients encrypts the challenge with all the bit fields > + * in each byte of the password mirrored. > + * Here we flip each byte of the keystr. > + */ > + for (i = 0; i < PASSWD_LENGTH; i++) { > + keystr[i] = (keystr[i] & 0xF0) >> 4 > + | (keystr[i] & 0x0F) << 4; > + keystr[i] = (keystr[i] & 0xCC) >> 2 > + | (keystr[i] & 0x33) << 2; > + keystr[i] = (keystr[i] & 0xAA) >> 1 > + | (keystr[i] & 0x55) << 1; > + } Above is the first place stack garbage in keystr is accessed if rc->password was shorter than 7 characters. > + > ... > + /* Encrypt the Challenge with DES */ > + DES_set_key((C_Block *)keystr, &ks); Stack garbage in keystr is used as a DES block here. > + DES_ecb_encrypt((C_Block *)challenge, > + (C_Block *)crypt_expected, &ks, DES_ENCRYPT); > + DES_ecb_encrypt((C_Block *)(challenge + PASSWD_LENGTH), > + (C_Block *)(crypt_expected + PASSWD_LENGTH), > + &ks, DES_ENCRYPT); > + > + if (memcmp(crypt_expected, buf, AUTH_LENGTH) != 0) { > + message = "Auth Failed: Invalid Password."; > + sres = htonl(1); > + } else > + sres = 0; > +#else > + sres = 0; > + WPRINTF(("Auth not supported, no OpenSSL in your system")); > +#endif > + > + break; > + } > + > ... I'd suggest zero initializing keystr. I noticed this while investigating Coverity CID 1375945, which is sort of a false positive. It did helpfully point out the broken transition from C string to fixed-length buffer, though. Best, Conrad From owner-svn-src-all@freebsd.org Sat Jun 10 16:33:51 2017 Return-Path: Delivered-To: svn-src-all@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 155D7BF16B6; Sat, 10 Jun 2017 16:33:51 +0000 (UTC) (envelope-from jonlooney@gmail.com) Received: from mail-wr0-x233.google.com (mail-wr0-x233.google.com [IPv6:2a00:1450:400c:c0c::233]) (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 9EC5A7ED10; Sat, 10 Jun 2017 16:33:50 +0000 (UTC) (envelope-from jonlooney@gmail.com) Received: by mail-wr0-x233.google.com with SMTP id g76so58671980wrd.1; Sat, 10 Jun 2017 09:33:50 -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=P3Cb5dL1jvwEsYvoOTMMeh4cFvqJMShd4AvUeEAumM0=; b=Ev8zOe/ti3QGAF2JPDnIwLp77whj1SAuXozf0+k2a7P1QoFek3kApoKc+j8Bi3XBbK hqvtp/S8b/T2lZHx1t25eKoCnJPAsCndKfU0KPHroT1xtwwuH+IlsayNYvGqrhFzm5GD WnI+KfuEvIvIpHcoio7Hx1pwhFgLp/fLtWtub0yfVlPK37e5fRj3bLZugzW4YxdvVzVT qVmgK3f3ewb+R75jRb503ael7ZC0YFct57ROXgLwWHE8EOsqmONUlnR59GATh8biS2sF ctDb0pdTXW1j7IpL62cTXBHJXaStJ4o44J99O8kUNPUjg+zXJs0yssmvkTeyjjlcdSuD DgwQ== 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=P3Cb5dL1jvwEsYvoOTMMeh4cFvqJMShd4AvUeEAumM0=; b=Sbcmdv4rD697DuEdU2YjDGUB+O4EFxbXRcNfneU4ygId3NdWmwPOuANk6xIH7Wukrl DsUJVCqCi6Ve/CHUlG8c4m5RGHyVpsokDhfDdCfpXApn8oDb0gcQfscKuEjXQmAsi1wU fWMKzhOFErXR1ScqaUz/D8AA3KEiI8EQHJB+c5DR2NfuWKPjJDWfdwgZMo4Flppxzdkr 331NUA9XS9HaSbaZ00wXxqlDhWLbs5L7hrQvEbtTIJMN2arbDTZvsozcfWozcmb3JH/x c2DnxMuTARa1GrzBmvx5biAeAAEA4qf8Crt6IHYOfiE03rYQVHjYFLFJ4hPcM2Wvn+Wl YVjw== X-Gm-Message-State: AODbwcDkN11cA29SlLgpKQMONScKVosOHUJJIChUXC531vYiTXfRoG7a FLA0PmvaEzSnqXDONO4D22WgxW094w== X-Received: by 10.28.71.91 with SMTP id u88mr3246350wma.9.1497112429151; Sat, 10 Jun 2017 09:33:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.151.132 with HTTP; Sat, 10 Jun 2017 09:33:48 -0700 (PDT) In-Reply-To: <20170610091203.GH2088@kib.kiev.ua> References: <201706082047.v58KlI51079003@repo.freebsd.org> <7306919.ixyIA96xWQ@ralph.baldwin.cx> <20170610091203.GH2088@kib.kiev.ua> From: Jonathan Looney Date: Sat, 10 Jun 2017 09:33:48 -0700 Message-ID: Subject: Re: svn commit: r319720 - head/sys/dev/vt To: Konstantin Belousov Cc: John Baldwin , "Jonathan T. Looney" , src-committers@freebsd.org, 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-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 16:33:51 -0000 Hi Konstantin, On Sat, Jun 10, 2017 at 2:12 AM, Konstantin Belousov wrote: > No, acquire is only specified for loads, and release for stores. In other > words, on some hypothetical ll/sc architecture, the atomic_add_acq() > could be implemented as follows, in asm-pseudocode > atomic_add_acq(int x): > ll x, r1 > acq x > add 1, r > sc r1, x > Your use of the atomic does not prevent stores reordering. If this is true, it sounds like the atomic(9) man page needs some revision. It says: When an atomic operation has acquire semantics, the effects of the operation must have completed before any subsequent load or store (by program order) is performed. Conversely, acquire semantics do not require that prior loads or stores have completed before the atomic operation is performed. Up until now, I have relied on this description of the way acquire barriers work. If this description is incorrect, I think it is important to fix it quickly. > I'm not claiming that this fixes all bugs in this area. (In fact, I > > specifically disclaim this.) But, it does stop the crash from occurring. > > > > If you still feel there are better mechanisms to achieve the desired > > ordering, please let me know and I'll be happy to fix and/or improve > this. > See the pseudocode I posted in my original reply, which uses acq/rel pair. The code you posted for vt_resume_flush_timer() would switch vd_timer_armed from 0 to 1 even if VDF_ASYNC is not set; however, that is not what we want. vd_timer_armed should be left untouched if VDF_ASYNC is not set. It sounds like what I want is some sort of fence in vt_upgrade() like jhb@ specified in his email. For example: vd->vd_timer_armed = 1; atomic_thread_fence_rel(); vd->vd_flags |= VDF_ASYNC; I recognize a fence would be cleaner since I really only needed the barrier and not the atomic operation. Do you agree the above would be sufficient to ensure store ordering? Jonathan From owner-svn-src-all@freebsd.org Sat Jun 10 16:42:40 2017 Return-Path: Delivered-To: svn-src-all@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 B0D11BF19FD; Sat, 10 Jun 2017 16:42:40 +0000 (UTC) (envelope-from cy@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 814787F241; Sat, 10 Jun 2017 16:42:40 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5AGgdEw069732; Sat, 10 Jun 2017 16:42:39 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AGgdsf069731; Sat, 10 Jun 2017 16:42:39 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201706101642.v5AGgdsf069731@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Sat, 10 Jun 2017 16:42:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319794 - head/contrib/ipfilter/tools X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 16:42:40 -0000 Author: cy Date: Sat Jun 10 16:42:39 2017 New Revision: 319794 URL: https://svnweb.freebsd.org/changeset/base/319794 Log: Flag poollist() (ippool -l) command line syntax errors. Modified: head/contrib/ipfilter/tools/ippool.c Modified: head/contrib/ipfilter/tools/ippool.c ============================================================================== --- head/contrib/ipfilter/tools/ippool.c Sat Jun 10 16:11:39 2017 (r319793) +++ head/contrib/ipfilter/tools/ippool.c Sat Jun 10 16:42:39 2017 (r319794) @@ -700,7 +700,13 @@ poollist(argc, argv) case 'v' : opts |= OPT_VERBOSE; break; + default : + usage(argv[0]); + break; /* keep compiler happy */ } + + if (argc - optind > 0) + usage(argv[0]); if (opts & OPT_DEBUG) fprintf(stderr, "poollist: opts = %#x\n", opts); From owner-svn-src-all@freebsd.org Sat Jun 10 16:55:12 2017 Return-Path: Delivered-To: svn-src-all@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 CB416BF1D41; Sat, 10 Jun 2017 16:55:12 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-wr0-x235.google.com (mail-wr0-x235.google.com [IPv6:2a00:1450:400c:c0c::235]) (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 6055D7F765; Sat, 10 Jun 2017 16:55:12 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-wr0-x235.google.com with SMTP id q97so59278015wrb.2; Sat, 10 Jun 2017 09:55:12 -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:content-transfer-encoding; bh=1EBI6kOXAU/Pa+X/YI2eBsb8dByHucsAldh+VCAl7rM=; b=ZMT5YhmuudF35Y77Wim9Yi9bI0Rz069old4B+4oR1x53/mtkDaNkYKZNM6UchQAOFk 85u0p8yWjd4Rgb25JIPxdMFydwuiiP4cxQ8lffUhGIheNh9w2YBynEUnLFhWON1vBrhh WpP1rHZGKsLKCGrO0PygWmbmZBmhnpq657x4bR8yHtHNAxsQq6cGTYZg/DFPECJBAUrM 1OAqxwR54HRRq/UiThVBarRSwYqVVT6+/IsuDangsZDVJgWKUBM+wssuXxr/UX3ruIFx uVqa3bGDxgQabEDpVpl4NuiioAiHVsYf8QcWr4xYx25ExRqwpkSxl6X56oOdWBoicOLn w8dw== 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:content-transfer-encoding; bh=1EBI6kOXAU/Pa+X/YI2eBsb8dByHucsAldh+VCAl7rM=; b=FEv7dff5ti3vmr/IZ2acDE39Ecv4KED0mV2ac5aBnIQKeOQRwuIbhBd+Omu8EXqoSl znHSN4uzysAQAc9kgKh818z4YV0ta7ZvSw7rs2RYTmnyNi8b0V7Nmr7I/6uy6oJm544P 4F9O8YmisdS0WyMZwX1OKNyP+Em83892oY00HzJVF5JMDszKfAYfevG0JuA+Cwc/x/IO pysnwAYaoBzy/fxvTBK73Qi5G6T/EfIpZA7CaeyHPhB5K81NJ9weJb+7Vmt76/amhPUv WJ1G1w1jgZs/S8j1AIWh3VOuWynB2dBYxSLXy46Kc/LAdB6KmbB5TCG1S1Zc131YDS/a T85w== X-Gm-Message-State: AODbwcBa5790XzJ2EvBz0QrQ18A7gPYnex+nZNKrWyXfI88W7m3cLrJR W0bZX3Xyc3jHJaI7c00H+dEFhccpe/1WbJY= X-Received: by 10.80.135.208 with SMTP id 16mr27412870edz.124.1497113710749; Sat, 10 Jun 2017 09:55:10 -0700 (PDT) MIME-Version: 1.0 Received: by 10.80.164.154 with HTTP; Sat, 10 Jun 2017 09:55:10 -0700 (PDT) In-Reply-To: References: <201706020235.v522ZGeC076100@repo.freebsd.org> From: Conrad Meyer Date: Sat, 10 Jun 2017 09:55:10 -0700 Message-ID: Subject: Re: svn commit: r319487 - head/usr.sbin/bhyve To: Marcelo Araujo Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 16:55:12 -0000 Forgot to mention =E2=80=94 this one was CID 1375949. Additionally additionally, On Thu, Jun 1, 2017 at 7:35 PM, Marcelo Araujo wrote: > Author: araujo > Date: Fri Jun 2 02:35:16 2017 > New Revision: 319487 > URL: https://svnweb.freebsd.org/changeset/base/319487 > > Log: > Add VNC Authentication support based on RFC6143 section 7.2.2. > > ... > > Modified: head/usr.sbin/bhyve/rfb.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/usr.sbin/bhyve/rfb.c Fri Jun 2 01:00:40 2017 (r319486) > +++ head/usr.sbin/bhyve/rfb.c Fri Jun 2 02:35:16 2017 (r319487) > ... > @@ -739,8 +754,19 @@ rfb_handle(struct rfb_softc *rc, int cfd) > { > const char *vbuf =3D "RFB 003.008\n"; > unsigned char buf[80]; > + unsigned char *message; > + > +#ifndef NO_OPENSSL > + unsigned char challenge[AUTH_LENGTH]; > + unsigned char keystr[PASSWD_LENGTH]; > + unsigned char crypt_expected[AUTH_LENGTH]; > + > + DES_key_schedule ks; > + int i; > +#endif > + > pthread_t tid; This is uninitialized. > - uint32_t sres; > + uint32_t sres; > int len; > > rc->cfd =3D cfd; > @@ -751,19 +777,91 @@ rfb_handle(struct rfb_softc *rc, int cfd) > ... > + /* 2c. Do VNC authentication */ > + switch (buf[0]) { > + case SECURITY_TYPE_NONE: > + sres =3D 0; > + break; > + case SECURITY_TYPE_VNC_AUTH: ... > > + > + if (memcmp(crypt_expected, buf, AUTH_LENGTH) !=3D 0) { > + message =3D "Auth Failed: Invalid Password."; > + sres =3D htonl(1); > + } else > + sres =3D 0; > +#else > + sres =3D 0; > + WPRINTF(("Auth not supported, no OpenSSL in your system")= ); > +#endif > + > + break; > + } > + > + /* 2d. Write back a status */ > stream_write(cfd, &sres, 4); > > + if (sres) { > + *((uint32_t *) buf) =3D htonl(strlen(message)); > + stream_write(cfd, buf, 4); > + stream_write(cfd, message, strlen(message)); > + goto done; > + } When authentication fails, 'done:' label will pthread_join(tid), which is also uninitialized at this point. This is CID 1375950. Best, Conrad From owner-svn-src-all@freebsd.org Sat Jun 10 16:57:44 2017 Return-Path: Delivered-To: svn-src-all@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 AC656BF1E1A; Sat, 10 Jun 2017 16:57:44 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-wr0-f176.google.com (mail-wr0-f176.google.com [209.85.128.176]) (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 577627F8B3; Sat, 10 Jun 2017 16:57:44 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-wr0-f176.google.com with SMTP id v104so59016788wrb.0; Sat, 10 Jun 2017 09:57:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:reply-to:in-reply-to:references :from:date:message-id:subject:to:cc; bh=tjGoSbn3T2Z4BRv1St963vRtHvAuPANc2wEboqY39QE=; b=IT/iYJsDSwU3w0St58JOh9b8lymG2vCd0H/sz1LCPY0FyY0Rdnur4Ms9J+07KA3ppi EduPTjcy7p+C4lRFk6pahhh5Mtr7czYnyvTV+TXRYghOw8KI/VGtX8IuVWSo7JGaGg5r 3MOtT1uban28ADAbyDW2ycCGmxqOKA+HwCf4cZbBAwnJw08IpuJvI/PZ2KyDBQe31jX4 7Dhosz/5NJ2zHn23mermU/ZZmEBGiIT+bqHhdygasaRQj2YIn9ESYIvi8gnTpNy6IbfT CeQW6Xf8qvZrCx6IMdhhxzZoZKc4cKYdPZiyoNkBatHiqxOSE8MYBzVVX/+p31ZQVzFo M56A== X-Gm-Message-State: AKS2vOxPEHSgy/JCpAfuTotqfEybfKrUl0kmnT+gJihyymGqjqqhJnGV PJde+UBsJSQRUx5v+bs= X-Received: by 10.28.13.211 with SMTP id 202mr3171844wmn.23.1497113421491; Sat, 10 Jun 2017 09:50:21 -0700 (PDT) Received: from mail-wr0-f170.google.com (mail-wr0-f170.google.com. [209.85.128.170]) by smtp.gmail.com with ESMTPSA id w18sm3057025wmw.26.2017.06.10.09.50.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 10 Jun 2017 09:50:21 -0700 (PDT) Received: by mail-wr0-f170.google.com with SMTP id q97so59219967wrb.2; Sat, 10 Jun 2017 09:50:21 -0700 (PDT) X-Received: by 10.80.186.201 with SMTP id x67mr36995690ede.46.1497113421220; Sat, 10 Jun 2017 09:50:21 -0700 (PDT) MIME-Version: 1.0 Reply-To: cem@freebsd.org Received: by 10.80.164.154 with HTTP; Sat, 10 Jun 2017 09:50:20 -0700 (PDT) In-Reply-To: <201706020235.v522ZGeC076100@repo.freebsd.org> References: <201706020235.v522ZGeC076100@repo.freebsd.org> From: Conrad Meyer Date: Sat, 10 Jun 2017 09:50:20 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r319487 - head/usr.sbin/bhyve To: Marcelo Araujo Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 16:57:44 -0000 Hi, Additionally, one more issue pointed out by Coverity below :-). On Thu, Jun 1, 2017 at 7:35 PM, Marcelo Araujo wrote: > Author: araujo > Date: Fri Jun 2 02:35:16 2017 > New Revision: 319487 > URL: https://svnweb.freebsd.org/changeset/base/319487 > > Log: > Add VNC Authentication support based on RFC6143 section 7.2.2. > > ... > Modified: head/usr.sbin/bhyve/rfb.c > ============================================================================== > --- head/usr.sbin/bhyve/rfb.c Fri Jun 2 01:00:40 2017 (r319486) > +++ head/usr.sbin/bhyve/rfb.c Fri Jun 2 02:35:16 2017 (r319487) > ... > @@ -739,8 +754,19 @@ rfb_handle(struct rfb_softc *rc, int cfd) > { > const char *vbuf = "RFB 003.008\n"; > unsigned char buf[80]; > + unsigned char *message; Message is uninitialized. > + > +#ifndef NO_OPENSSL > + unsigned char challenge[AUTH_LENGTH]; > + unsigned char keystr[PASSWD_LENGTH]; > + unsigned char crypt_expected[AUTH_LENGTH]; > + > + DES_key_schedule ks; > + int i; > +#endif > + > pthread_t tid; > - uint32_t sres; > + uint32_t sres; sres is also uninitialized. > int len; > > rc->cfd = cfd; > @@ -751,19 +777,91 @@ rfb_handle(struct rfb_softc *rc, int cfd) > /* 1b. Read client version */ > len = read(cfd, buf, sizeof(buf)); > > - /* 2a. Send security type 'none' */ > + /* 2a. Send security type */ > buf[0] = 1; > - buf[1] = 1; /* none */ > +#ifndef NO_OPENSSL > + if (rc->password) > + buf[1] = SECURITY_TYPE_VNC_AUTH; > + else > + buf[1] = SECURITY_TYPE_NONE; > +#else > + buf[1] = SECURITY_TYPE_NONE; > +#endif > + > stream_write(cfd, buf, 2); > > - > /* 2b. Read agreed security type */ > len = stream_read(cfd, buf, 1); A malicious server negotiation could respond in ways that break later assumptions: 1. Respond to NONE with VNC_AUTH. In this case rc->password will be NULL and strncpy() below will cause a SIGSEGV. 2. Respond to VNC_AUTH with a bogus value. In this case, neither sres nor message is ever initialized. > ... > + /* 2d. Write back a status */ > stream_write(cfd, &sres, 4); Bogus sres could be used here. > > + if (sres) { > + *((uint32_t *) buf) = htonl(strlen(message)); Bogus message could be dereferenced here, resulting in SIGSEGV. Additionally, aliasing char array buf via a uint32_t pointer is invalid C. I'd suggest instead: be32enc(buf, strlen(message)); > + stream_write(cfd, buf, 4); > + stream_write(cfd, message, strlen(message)); > + goto done; > + } > + > /* 3a. Read client shared-flag byte */ > len = stream_read(cfd, buf, 1); > > ... Best, Conrad From owner-svn-src-all@freebsd.org Sat Jun 10 17:05:15 2017 Return-Path: Delivered-To: svn-src-all@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 4B979BF2024; Sat, 10 Jun 2017 17:05:15 +0000 (UTC) (envelope-from cy@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 115D47FCC4; Sat, 10 Jun 2017 17:05:15 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5AH5E4H078149; Sat, 10 Jun 2017 17:05:14 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AH5Eep078148; Sat, 10 Jun 2017 17:05:14 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201706101705.v5AH5Eep078148@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Sat, 10 Jun 2017 17:05:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319795 - head/contrib/ipfilter/tools X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 17:05:15 -0000 Author: cy Date: Sat Jun 10 17:05:14 2017 New Revision: 319795 URL: https://svnweb.freebsd.org/changeset/base/319795 Log: Disable the -O (output fields) option in poollist() (ippool -l) for now. The option does not presently work. However, similar functions in ipfstat (for state) and ipnat (for nat) do work and provide outputs that can be easily parsed by shell scripts or subsequently loaded into CSV files. The intention here is to return to this option to make it work. I suspect the problem is in printpoolfields.c. Modified: head/contrib/ipfilter/tools/ippool.c Modified: head/contrib/ipfilter/tools/ippool.c ============================================================================== --- head/contrib/ipfilter/tools/ippool.c Sat Jun 10 16:42:39 2017 (r319794) +++ head/contrib/ipfilter/tools/ippool.c Sat Jun 10 17:05:14 2017 (r319795) @@ -79,7 +79,7 @@ usage(prog) fprintf(stderr, "\t-A [-dnv] [-m ] [-o ] [-S ] [-t ]\n"); fprintf(stderr, "\t-f [-dnuv]\n"); fprintf(stderr, "\t-F [-dv] [-o ] [-t ]\n"); - fprintf(stderr, "\t-l [-dv] [-m ] [-t ] [-O ]\n"); + fprintf(stderr, "\t-l [-dv] [-m ] [-t ]\n"); fprintf(stderr, "\t-r [-dnv] [-m ] [-o ] [-t type] -i [/netmask]\n"); fprintf(stderr, "\t-R [-dnv] [-m ] [-o ] [-t ]\n"); fprintf(stderr, "\t-s [-dtv] [-M ] [-N ]\n"); @@ -687,9 +687,16 @@ poollist(argc, argv) return -1; } break; +#if 0 case 'O' : + /* XXX This option does not work. This function as */ + /* XXX used by state and nat can be used to format */ + /* XXX output especially useful for scripting. It */ + /* XXX is left here with the intention of making */ + /* XXX it work for the same purpose at some point. */ pool_fields = parsefields(poolfields, optarg); break; +#endif case 't' : type = gettype(optarg, NULL); if (type == IPLT_NONE) { From owner-svn-src-all@freebsd.org Sat Jun 10 17:15:54 2017 Return-Path: Delivered-To: svn-src-all@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 ADCFFBF2411; Sat, 10 Jun 2017 17:15:54 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 659DE802EC; Sat, 10 Jun 2017 17:15:53 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id JjzLdgNYLM9gtJjzMdAczI; Sat, 10 Jun 2017 11:15:53 -0600 X-Authority-Analysis: v=2.2 cv=a+JAzQaF c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=kj9zAlcOel0A:10 a=LWSFodeU3zMA:10 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=rlky0nllBlnOgKZJO7AA:9 a=OOACZfwmZgXls7C0:21 a=e06E2zqhM-huLnB6:21 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 AD26E1AAC; Sat, 10 Jun 2017 10:15:51 -0700 (PDT) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v5AHEajO026207; Sat, 10 Jun 2017 10:14:36 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201706101714.v5AHEajO026207@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: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org cc: Cy Schubert Subject: Re: svn commit: r319795 - head/contrib/ipfilter/tools In-Reply-To: Message from Cy Schubert of "Sat, 10 Jun 2017 17:05:14 -0000." <201706101705.v5AH5Eep078148@repo.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 10 Jun 2017 10:14:36 -0700 X-CMAE-Envelope: MS4wfAiiSraoaQKK+y2lSrLUPgcdy1nSFZ7r1pA5+5XmDtL73ymU7mPGxEoRwxkwrAU5I+uOjV2F6dbeUIVquM14XBhBv+cFLC1foqOfjCPdu4oh35XMbSuR wRTOGLfBMovLWlYM4qoUcieiijfHufbo82y7eJcsSe/aGfZk/dFBrtPLQF8DKyxrP4xqdNJIERDkTvmNuAdwi9KHztSkxlkcF93UPpqhj2czOf7IXv8p7fXk QScOT4jrrtVXj9rO/YISbf6jAfVM9bZ8fp6iKMRcLV9pCT6H1T8NVQYgTCRGDYS1 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 17:15:54 -0000 In message <201706101705.v5AH5Eep078148@repo.freebsd.org>, Cy Schubert writes: > Author: cy > Date: Sat Jun 10 17:05:14 2017 > New Revision: 319795 > URL: https://svnweb.freebsd.org/changeset/base/319795 > > Log: > Disable the -O (output fields) option in poollist() (ippool -l) for > now. The option does not presently work. However, similar functions in > ipfstat (for state) and ipnat (for nat) do work and provide outputs that > can be easily parsed by shell scripts or subsequently loaded into CSV > files. The intention here is to return to this option to make it work. > I suspect the problem is in printpoolfields.c. > > Modified: > head/contrib/ipfilter/tools/ippool.c > > Modified: head/contrib/ipfilter/tools/ippool.c > ============================================================================= > = > --- head/contrib/ipfilter/tools/ippool.c Sat Jun 10 16:42:39 2017 > (r319794) > +++ head/contrib/ipfilter/tools/ippool.c Sat Jun 10 17:05:14 2017 > (r319795) > @@ -79,7 +79,7 @@ usage(prog) > fprintf(stderr, "\t-A [-dnv] [-m ] [-o ] [-S ] [-t ype>]\n"); > fprintf(stderr, "\t-f [-dnuv]\n"); > fprintf(stderr, "\t-F [-dv] [-o ] [-t ]\n"); > - fprintf(stderr, "\t-l [-dv] [-m ] [-t ] [-O ]\n"); > + fprintf(stderr, "\t-l [-dv] [-m ] [-t ]\n"); > fprintf(stderr, "\t-r [-dnv] [-m ] [-o ] [-t type] -i dr>[/netmask]\n"); > fprintf(stderr, "\t-R [-dnv] [-m ] [-o ] [-t ]\n"); > fprintf(stderr, "\t-s [-dtv] [-M ] [-N ]\n"); > @@ -687,9 +687,16 @@ poollist(argc, argv) > return -1; > } > break; > +#if 0 > case 'O' : > + /* XXX This option does not work. This function as */ > + /* XXX used by state and nat can be used to format */ > + /* XXX output especially useful for scripting. It */ > + /* XXX is left here with the intention of making */ > + /* XXX it work for the same purpose at some point. */ > pool_fields = parsefields(poolfields, optarg); > break; > +#endif > case 't' : > type = gettype(optarg, NULL); > if (type == IPLT_NONE) { > There is other higher priority breakage in ippool that needs to be addressed first before going down this rabbit hole. Addressing this now would delay addressing other general parsing issues and the problem in radix_ipf whereby only the first 32 bits of an IP address are compared to determine if an IP address can be added to a table, meaning that even though IPv6 is generally supported by most of ippool handling in the kernel, it is not effectively supported by because of this. So, disabling of this option for now until larger issues in ippool userspace and kernel can be addressed first. -- 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-all@freebsd.org Sat Jun 10 18:14:36 2017 Return-Path: Delivered-To: svn-src-all@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 608E5BF3615 for ; Sat, 10 Jun 2017 18:14:36 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from alto.onthenet.com.au (alto.OntheNet.com.au [203.13.68.12]) by mx1.freebsd.org (Postfix) with ESMTP id 1F33C822BF for ; Sat, 10 Jun 2017 18:14:35 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from iredmail.onthenet.com.au (iredmail.onthenet.com.au [203.13.68.150]) by alto.onthenet.com.au (Postfix) with ESMTPS id DE5ED20ADBF6 for ; Sun, 11 Jun 2017 04:14:27 +1000 (AEST) Received: from localhost (iredmail.onthenet.com.au [127.0.0.1]) by iredmail.onthenet.com.au (Postfix) with ESMTP id CE369281DC8 for ; Sun, 11 Jun 2017 04:14:27 +1000 (AEST) X-Amavis-Modified: Mail body modified (using disclaimer) - iredmail.onthenet.com.au Received: from iredmail.onthenet.com.au ([127.0.0.1]) by localhost (iredmail.onthenet.com.au [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id T42AKIhScAhL for ; Sun, 11 Jun 2017 04:14:27 +1000 (AEST) Received: from Peters-MacBook-Pro-2.local (unknown [67.133.97.100]) by iredmail.onthenet.com.au (Postfix) with ESMTPSA id 5C7FB280503; Sun, 11 Jun 2017 04:14:24 +1000 (AEST) Subject: Re: svn commit: r319487 - head/usr.sbin/bhyve To: cem@freebsd.org, Marcelo Araujo Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201706020235.v522ZGeC076100@repo.freebsd.org> From: Peter Grehan Message-ID: Date: Sat, 10 Jun 2017 14:14:22 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Score: 0 X-CMAE-Analysis: v=2.2 cv=XKlAcUpE c=1 sm=1 tr=0 a=A6CF0fG5TOl4vs6YHvqXgw==:117 a=TZciygU8X6Kl154L5pxHDA==:17 a=IkcTkHD0fZMA:10 a=LWSFodeU3zMA:10 a=BjELSlJ15GZdusFpcD4A:9 a=AlDQbloNyKnxWHg6:21 a=oqx7VTMaSsGxKFIM:21 a=QEXdDO2ut3YA:10 wl=host:3 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 18:14:36 -0000 Hi Conrad, > Here, keystr is not zero initialized.... > Note that strncpy below does not fill the remainder of the buffer with > nuls if rc->password is shorter than 7 characters. > >> + * The client then sends the resulting 16-bytes response. >> + */ >> +#ifndef NO_OPENSSL >> + strncpy(keystr, rc->password, PASSWD_LENGTH); strncpy() is specified to zero-fill if the source is shorter than the length. Are we missing something ? The other issues you brought up look valid. later, Peter. From owner-svn-src-all@freebsd.org Sat Jun 10 18:22:00 2017 Return-Path: Delivered-To: svn-src-all@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 31CBCBF37E7; Sat, 10 Jun 2017 18:22:00 +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 524B78264E; Sat, 10 Jun 2017 18:21: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 v5AIKdnZ043779 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 10 Jun 2017 21:20:39 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v5AIKdnZ043779 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v5AIKdhI043778; Sat, 10 Jun 2017 21:20:39 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 10 Jun 2017 21:20:39 +0300 From: Konstantin Belousov To: Jonathan Looney Cc: John Baldwin , "Jonathan T. Looney" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r319720 - head/sys/dev/vt Message-ID: <20170610182039.GL2088@kib.kiev.ua> References: <201706082047.v58KlI51079003@repo.freebsd.org> <7306919.ixyIA96xWQ@ralph.baldwin.cx> <20170610091203.GH2088@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.2 (2017-04-18) 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-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 18:22:00 -0000 On Sat, Jun 10, 2017 at 09:33:48AM -0700, Jonathan Looney wrote: > Hi Konstantin, > > On Sat, Jun 10, 2017 at 2:12 AM, Konstantin Belousov > wrote: > > No, acquire is only specified for loads, and release for stores. In other > > words, on some hypothetical ll/sc architecture, the atomic_add_acq() > > could be implemented as follows, in asm-pseudocode > > atomic_add_acq(int x): > > ll x, r1 > > acq x > > add 1, r > > sc r1, x > > Your use of the atomic does not prevent stores reordering. > > If this is true, it sounds like the atomic(9) man page needs some revision. > It says: > > When an atomic operation has acquire semantics, the effects of the > operation must have completed before any subsequent load or store (by > program order) is performed. Conversely, acquire semantics do not > require that prior loads or stores have completed before the atomic > operation is performed. > > Up until now, I have relied on this description of the way acquire barriers > work. If this description is incorrect, I think it is important to fix it > quickly. There are many issues with the atomic(9) man page, and they are not easy to fix. In essence, useful, implementable and rigorous specification of the atomics behaviour or the memory model as whole (which cannot be avoided if atomics are specified) seems to be still somewhat unsolved scientific problem. As is, I strongly suggest to rely on the standard C or C++ specifications and augment it with some code reading of arch/include/atomic.h. Despite it is unfeasible to use compiler-provided atomics in kernel in C runtime, the intended behaviour as specified in standards give us a strong base to get something that does not have inherent design mistakes. Unfortunately, this is the only way to get it correct now. > > > > I'm not claiming that this fixes all bugs in this area. (In fact, I > > > specifically disclaim this.) But, it does stop the crash from occurring. > > > > > > If you still feel there are better mechanisms to achieve the desired > > > ordering, please let me know and I'll be happy to fix and/or improve > > this. > > See the pseudocode I posted in my original reply, which uses acq/rel pair. > > > > The code you posted for vt_resume_flush_timer() would switch vd_timer_armed > from 0 to 1 even if VDF_ASYNC is not set; however, that is not what we > want. vd_timer_armed should be left untouched if VDF_ASYNC is not set. > > It sounds like what I want is some sort of fence in vt_upgrade() like jhb@ > specified in his email. For example: > > vd->vd_timer_armed = 1; > atomic_thread_fence_rel(); > vd->vd_flags |= VDF_ASYNC; > > I recognize a fence would be cleaner since I really only needed the barrier > and not the atomic operation. Do you agree the above would be sufficient to > ensure store ordering? No, it is not sufficient. The release barrier on write needs a dual acquire barrier on read to have an effect. So if you prefer to use fence_rel(), the reader should issue fence_acq() between reading vd_flags and doing cmpset on vd_timer_armed. From owner-svn-src-all@freebsd.org Sat Jun 10 18:52:15 2017 Return-Path: Delivered-To: svn-src-all@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 003E3BF4055; Sat, 10 Jun 2017 18:52:14 +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 CF718832C1; Sat, 10 Jun 2017 18:52:14 +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 v5AIqDiL023871; Sat, 10 Jun 2017 18:52:13 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AIqDlU023869; Sat, 10 Jun 2017 18:52:13 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706101852.v5AIqDlU023869@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 10 Jun 2017 18:52:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319796 - in head/lib/clang: libclang liblldb libllvm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 18:52:15 -0000 Author: dim Date: Sat Jun 10 18:52:13 2017 New Revision: 319796 URL: https://svnweb.freebsd.org/changeset/base/319796 Log: Remove a few unneeded files from libllvm, libclang and liblldb. MFC after: 3 days Modified: head/lib/clang/libclang/Makefile head/lib/clang/liblldb/Makefile head/lib/clang/libllvm/Makefile Modified: head/lib/clang/libclang/Makefile ============================================================================== --- head/lib/clang/libclang/Makefile Sat Jun 10 17:05:14 2017 (r319795) +++ head/lib/clang/libclang/Makefile Sat Jun 10 18:52:13 2017 (r319796) @@ -127,7 +127,6 @@ SRCS_MIN+= Analysis/ReachableCode.cpp SRCS_MIN+= Analysis/ScanfFormatString.cpp SRCS_MIN+= Analysis/ThreadSafety.cpp SRCS_MIN+= Analysis/ThreadSafetyCommon.cpp -SRCS_MIN+= Analysis/ThreadSafetyLogical.cpp SRCS_MIN+= Analysis/ThreadSafetyTIL.cpp SRCS_MIN+= Analysis/UninitializedValues.cpp SRCS_MIN+= Basic/Attributes.cpp @@ -272,8 +271,6 @@ SRCS_MIN+= Frontend/Rewrite/FrontendActions.cpp SRCS_MIN+= Frontend/Rewrite/HTMLPrint.cpp SRCS_MIN+= Frontend/Rewrite/InclusionRewriter.cpp SRCS_MIN+= Frontend/Rewrite/RewriteMacros.cpp -SRCS_MIN+= Frontend/Rewrite/RewriteModernObjC.cpp -SRCS_MIN+= Frontend/Rewrite/RewriteObjC.cpp SRCS_MIN+= Frontend/Rewrite/RewriteTest.cpp SRCS_MIN+= Frontend/SerializedDiagnosticPrinter.cpp SRCS_MIN+= Frontend/SerializedDiagnosticReader.cpp Modified: head/lib/clang/liblldb/Makefile ============================================================================== --- head/lib/clang/liblldb/Makefile Sat Jun 10 17:05:14 2017 (r319795) +++ head/lib/clang/liblldb/Makefile Sat Jun 10 18:52:13 2017 (r319796) @@ -31,7 +31,6 @@ SRCS+= API/SBEvent.cpp SRCS+= API/SBExecutionContext.cpp SRCS+= API/SBExpressionOptions.cpp SRCS+= API/SBFileSpec.cpp -SRCS+= API/SBFileSpecList.cpp SRCS+= API/SBFrame.cpp SRCS+= API/SBFunction.cpp SRCS+= API/SBHostOS.cpp @@ -42,7 +41,6 @@ SRCS+= API/SBLaunchInfo.cpp SRCS+= API/SBLineEntry.cpp SRCS+= API/SBListener.cpp SRCS+= API/SBMemoryRegionInfo.cpp -SRCS+= API/SBMemoryRegionInfoList.cpp SRCS+= API/SBModule.cpp SRCS+= API/SBModuleSpec.cpp SRCS+= API/SBPlatform.cpp @@ -71,7 +69,6 @@ SRCS+= API/SBTypeSummary.cpp SRCS+= API/SBUnixSignals.cpp SRCS+= API/SBValue.cpp SRCS+= API/SBValueList.cpp -SRCS+= API/SBVariablesOptions.cpp SRCS+= API/SBWatchpoint.cpp SRCS+= API/SystemInitializerFull.cpp SRCS+= Breakpoint/Breakpoint.cpp Modified: head/lib/clang/libllvm/Makefile ============================================================================== --- head/lib/clang/libllvm/Makefile Sat Jun 10 17:05:14 2017 (r319795) +++ head/lib/clang/libllvm/Makefile Sat Jun 10 18:52:13 2017 (r319796) @@ -656,7 +656,7 @@ SRCS_MIN+= Support/Regex.cpp SRCS_MIN+= Support/SHA1.cpp SRCS_MIN+= Support/ScaledNumber.cpp SRCS_MIN+= Support/ScopedPrinter.cpp -SRCS_MIN+= Support/SearchForAddressOfSpecialSymbol.cpp +SRCS_LDB+= Support/SearchForAddressOfSpecialSymbol.cpp SRCS_MIN+= Support/Signals.cpp SRCS_MIN+= Support/SmallPtrSet.cpp SRCS_MIN+= Support/SmallVector.cpp @@ -1160,6 +1160,9 @@ SRCS_ALL+= ${SRCS_EXL} .endif .if ${MK_LLD} != "no" SRCS_ALL+= ${SRCS_LLD} +.endif +.if ${MK_LLDB} != "no" +SRCS_ALL+= ${SRCS_LDB} .endif .if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLDB} != "no" SRCS_ALL+= ${SRCS_XDB} From owner-svn-src-all@freebsd.org Sat Jun 10 18:56:31 2017 Return-Path: Delivered-To: svn-src-all@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 91A4BBF40D3; Sat, 10 Jun 2017 18:56:31 +0000 (UTC) (envelope-from erj@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 5C5A983574; Sat, 10 Jun 2017 18:56:31 +0000 (UTC) (envelope-from erj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5AIuU5d024063; Sat, 10 Jun 2017 18:56:30 GMT (envelope-from erj@FreeBSD.org) Received: (from erj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AIuUe1024062; Sat, 10 Jun 2017 18:56:30 GMT (envelope-from erj@FreeBSD.org) Message-Id: <201706101856.v5AIuUe1024062@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: erj set sender to erj@FreeBSD.org using -f From: Eric Joyner Date: Sat, 10 Jun 2017 18:56:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319797 - head/sys/dev/ixl X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 18:56:31 -0000 Author: erj Date: Sat Jun 10 18:56:30 2017 New Revision: 319797 URL: https://svnweb.freebsd.org/changeset/base/319797 Log: ixl(4)/ixlv(4): Fix some busdma tags and improper map NULL. Description from Brett: "The busdma tags used to create mappings for the tx and rx rings did not have the device's tag as parents, meaning that they did not respect the device's busdma properties. The other tags used in the driver had their parents set appropriately. Also, the dma maps for each buffer in ixl_txeof() were being NULLed after being unloaded, which is an error because those maps are then reused without being recreated (I believe this also leaked resources since the maps were not destroyed). Simply removing the line that sets the maps to NULL gives the desired behavior. There does not seem to be a similar problem with ixl_rxeof(). Functions to free the tx and rx rings also NULL out the dma maps for each buffer, but this seems okay because the maps are destroyed and not reused in this case. With these fixes, my ixl card seems to be working with the IOMMU enabled." Submitted by: Brett Gutstein Reviewed by: erj Approved by: Alan Cox MFC after: 1 week Modified: head/sys/dev/ixl/ixl_txrx.c Modified: head/sys/dev/ixl/ixl_txrx.c ============================================================================== --- head/sys/dev/ixl/ixl_txrx.c Sat Jun 10 18:52:13 2017 (r319796) +++ head/sys/dev/ixl/ixl_txrx.c Sat Jun 10 18:56:30 2017 (r319797) @@ -431,7 +431,7 @@ ixl_allocate_tx_data(struct ixl_queue *que) /* * Setup DMA descriptor areas. */ - if ((error = bus_dma_tag_create(NULL, /* parent */ + if ((error = bus_dma_tag_create(bus_get_dma_tag(dev), /* parent */ 1, 0, /* alignment, bounds */ BUS_SPACE_MAXADDR, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ @@ -448,7 +448,7 @@ ixl_allocate_tx_data(struct ixl_queue *que) } /* Make a special tag for TSO */ - if ((error = bus_dma_tag_create(NULL, /* parent */ + if ((error = bus_dma_tag_create(bus_get_dma_tag(dev), /* parent */ 1, 0, /* alignment, bounds */ BUS_SPACE_MAXADDR, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ @@ -933,7 +933,6 @@ ixl_txeof(struct ixl_queue *que) buf->map); m_freem(buf->m_head); buf->m_head = NULL; - buf->map = NULL; } buf->eop_index = -1; @@ -1096,7 +1095,7 @@ ixl_allocate_rx_data(struct ixl_queue *que) return (error); } - if ((error = bus_dma_tag_create(NULL, /* parent */ + if ((error = bus_dma_tag_create(bus_get_dma_tag(dev), /* parent */ 1, 0, /* alignment, bounds */ BUS_SPACE_MAXADDR, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ @@ -1112,7 +1111,7 @@ ixl_allocate_rx_data(struct ixl_queue *que) return (error); } - if ((error = bus_dma_tag_create(NULL, /* parent */ + if ((error = bus_dma_tag_create(bus_get_dma_tag(dev), /* parent */ 1, 0, /* alignment, bounds */ BUS_SPACE_MAXADDR, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ From owner-svn-src-all@freebsd.org Sat Jun 10 19:04:15 2017 Return-Path: Delivered-To: svn-src-all@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 B4523BF4373; Sat, 10 Jun 2017 19:04:15 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-wr0-f173.google.com (mail-wr0-f173.google.com [209.85.128.173]) (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 5076A83A72; Sat, 10 Jun 2017 19:04:14 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-wr0-f173.google.com with SMTP id g76so60447843wrd.1; Sat, 10 Jun 2017 12:04:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:reply-to:in-reply-to:references :from:date:message-id:subject:to:cc:content-transfer-encoding; bh=HrHcSB9mXmEkTzr9CmVINUwEpFzzrdCdTO+BcBRlhR0=; b=gMK6Ieu2ejtu6xFSJSunkcOAePVC8G+UL69fJm/HFEQwUgJL0zujuRoKhsGOkpDHZk P5icIjDHmwrcaHzaD+7bV1Zi124kDld9+3wLQB+gXjFsvviWgBSvA2+fuBAXEmzbdJaI 9G+goFfcZuUhtFu83Ug2zAC2u6FXZYPbhOYGmR3rZfjp/iGUKj6nufvnQJVonvthsAep 00qWwQj03PaNmceoY4Wkc+5JlT9m/9XXTgtX2PmNZf9zJ1pY3x0v9pMop7vUgUw8w0HA BBK1GlZMNqThNKRPo9PCxUHl82BTYwNZQiUZi8WvyKkN3wJw9X40BUV1bVP+p9fVJxd3 bltw== X-Gm-Message-State: AKS2vOyuE5G5hoWoCzU4FwyzrZfZZRf2AeJsAHm1Sexqzlamn/brqdjd ODM7lrt01c+2EyjCc7s= X-Received: by 10.223.157.25 with SMTP id k25mr3035988wre.156.1497119738558; Sat, 10 Jun 2017 11:35:38 -0700 (PDT) Received: from mail-wr0-f169.google.com (mail-wr0-f169.google.com. [209.85.128.169]) by smtp.gmail.com with ESMTPSA id v72sm8335862wrc.53.2017.06.10.11.35.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 10 Jun 2017 11:35:38 -0700 (PDT) Received: by mail-wr0-f169.google.com with SMTP id v111so60401074wrc.3; Sat, 10 Jun 2017 11:35:38 -0700 (PDT) X-Received: by 10.80.148.49 with SMTP id p46mr30129975eda.2.1497119738247; Sat, 10 Jun 2017 11:35:38 -0700 (PDT) MIME-Version: 1.0 Reply-To: cem@freebsd.org Received: by 10.80.164.154 with HTTP; Sat, 10 Jun 2017 11:35:37 -0700 (PDT) In-Reply-To: References: <201706020235.v522ZGeC076100@repo.freebsd.org> From: Conrad Meyer Date: Sat, 10 Jun 2017 11:35:37 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r319487 - head/usr.sbin/bhyve To: Peter Grehan Cc: Marcelo Araujo , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 19:04:15 -0000 On Sat, Jun 10, 2017 at 11:14 AM, Peter Grehan wrote: > strncpy() is specified to zero-fill if the source is shorter than the > length. Are we missing something ? > > The other issues you brought up look valid. Hi Peter, Oops =E2=80=94 didn't realize that about strncpy()! Thanks for the correct= ion. Best, Conrad From owner-svn-src-all@freebsd.org Sat Jun 10 19:05:47 2017 Return-Path: Delivered-To: svn-src-all@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 2BEA6BF43FC; Sat, 10 Jun 2017 19:05:47 +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 EE95D83BB4; Sat, 10 Jun 2017 19:05:46 +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 v5AJ5koc028061; Sat, 10 Jun 2017 19:05:46 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AJ5kF6028060; Sat, 10 Jun 2017 19:05:46 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706101905.v5AJ5kF6028060@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 10 Jun 2017 19:05:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319798 - head/sys/boot/forth X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 19:05:47 -0000 Author: trasz Date: Sat Jun 10 19:05:45 2017 New Revision: 319798 URL: https://svnweb.freebsd.org/changeset/base/319798 Log: Switch the example name for variables controlling loading memory images in /boot/defaults/loader.conf to something that's actually commonly used, "mdroot". It's arbitrary, but it's easier to find this way. MFC after: 2 weeks Modified: head/sys/boot/forth/loader.conf Modified: head/sys/boot/forth/loader.conf ============================================================================== --- head/sys/boot/forth/loader.conf Sat Jun 10 18:56:30 2017 (r319797) +++ head/sys/boot/forth/loader.conf Sat Jun 10 19:05:45 2017 (r319798) @@ -70,9 +70,9 @@ ram_blacklist_type="ram_blacklist" # Required for the ### Initial memory disk settings ########################### ############################################################## -#initmd_load="YES" # The "initmd" prefix is arbitrary. -#initmd_type="md_image" # Create md(4) disk at boot. -#initmd_name="/boot/root.img" # Path to a file containing the image. +#mdroot_load="YES" # The "mdroot" prefix is arbitrary. +#mdroot_type="md_image" # Create md(4) disk at boot. +#mdroot_name="/boot/root.img" # Path to a file containing the image. #rootdev="ufs:/dev/md0" # Set the root filesystem to md(4) device. From owner-svn-src-all@freebsd.org Sat Jun 10 19:48:47 2017 Return-Path: Delivered-To: svn-src-all@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 37D4EBF501F; Sat, 10 Jun 2017 19:48:47 +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 0EEDA84DE0; Sat, 10 Jun 2017 19:48:46 +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 v5AJmj3J045008; Sat, 10 Jun 2017 19:48:45 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AJmjn0045005; Sat, 10 Jun 2017 19:48:45 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706101948.v5AJmjn0045005@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Sat, 10 Jun 2017 19:48:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319800 - head/tools/regression/geom_gpt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 19:48:47 -0000 Author: ngie Date: Sat Jun 10 19:48:45 2017 New Revision: 319800 URL: https://svnweb.freebsd.org/changeset/base/319800 Log: Don't explicitly get the class to PART in gctl_test_helper.c This will allow the tool to be used with arbitrary geom(4) classes, like GEOM. Specify class=PART explicitly in the tester to keep existing behavior. MFC after: 1 month Sponsored by: Dell EMC Isilon Modified: head/tools/regression/geom_gpt/gctl_test.t head/tools/regression/geom_gpt/gctl_test_helper.c Modified: head/tools/regression/geom_gpt/gctl_test.t ============================================================================== --- head/tools/regression/geom_gpt/gctl_test.t Sat Jun 10 19:17:14 2017 (r319799) +++ head/tools/regression/geom_gpt/gctl_test.t Sat Jun 10 19:48:45 2017 (r319800) @@ -35,48 +35,48 @@ my $disk = "/tmp/disk-$$"; my $mntpt_prefix = "/tmp/mount-$$"; my %steps = ( - "000" => "gctl", - "001" => "gctl verb=bogus", - "010" => "gctl verb=create", - "011" => "gctl verb=create provider=bogus", + "000" => "gctl class=PART", + "001" => "gctl class=PART verb=bogus", + "010" => "gctl class=PART verb=create", + "011" => "gctl class=PART verb=create provider=bogus", "020" => "mdcfg create pristine", - "021" => "gctl verb=create provider=%dev% entries=-1", - "022" => "gctl verb=create provider=%dev% entries=128", - "023" => "gctl verb=create provider=%dev%", - "024" => "gctl verb=modify geom=%dev%", + "021" => "gctl class=PART verb=create provider=%dev% entries=-1", + "022" => "gctl class=PART verb=create provider=%dev% entries=128", + "023" => "gctl class=PART verb=create provider=%dev%", + "024" => "gctl class=PART verb=modify geom=%dev%", "025" => "conf", - "030" => "gctl verb=add", - "031" => "gctl verb=add geom=bogus", - "032" => "gctl verb=add geom=%dev%", - "033" => "gctl verb=add geom=%dev% type=bogus", - "034" => "gctl verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace", - "035" => "gctl verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace start=1", - "036" => "gctl verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace start=34", - "037" => "gctl verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace start=34 end=12345678", - "038" => "gctl verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace start=162 end=417 entry=129", - "039" => "gctl verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace start=162 end=417 entry:8=5", - "040" => "gctl verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=34 end=161 entry=5", - "041" => "gctl verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=34 end=546", - "042" => "gctl verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=162 end=417", - "043" => "gctl verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=100 end=300", - "044" => "gctl verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=300 end=500", - "045" => "gctl verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=34 end=161 entry:8", - "046" => "gctl verb=add geom=%dev% type=d2bd4509-c4ff-11da-b4cc-00306e39b62f start=418 end=546 entry:8", + "030" => "gctl class=PART verb=add", + "031" => "gctl class=PART verb=add geom=bogus", + "032" => "gctl class=PART verb=add geom=%dev%", + "033" => "gctl class=PART verb=add geom=%dev% type=bogus", + "034" => "gctl class=PART verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace", + "035" => "gctl class=PART verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace start=1", + "036" => "gctl class=PART verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace start=34", + "037" => "gctl class=PART verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace start=34 end=12345678", + "038" => "gctl class=PART verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace start=162 end=417 entry=129", + "039" => "gctl class=PART verb=add geom=%dev% type=ed0101b0-2a71-11da-ba81-003048416ace start=162 end=417 entry:8=5", + "040" => "gctl class=PART verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=34 end=161 entry=5", + "041" => "gctl class=PART verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=34 end=546", + "042" => "gctl class=PART verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=162 end=417", + "043" => "gctl class=PART verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=100 end=300", + "044" => "gctl class=PART verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=300 end=500", + "045" => "gctl class=PART verb=add geom=%dev% type=83d34ed5-c4ff-11da-b65b-000347c5d7f3 start=34 end=161 entry:8", + "046" => "gctl class=PART verb=add geom=%dev% type=d2bd4509-c4ff-11da-b4cc-00306e39b62f start=418 end=546 entry:8", "047" => "conf", - "050" => "gctl verb=remove geom=%dev% entry=5", - "051" => "gctl verb=remove geom=%dev% entry=2", - "052" => "gctl verb=remove geom=%dev% entry=1", - "053" => "gctl verb=remove geom=%dev% entry=1", + "050" => "gctl class=PART verb=remove geom=%dev% entry=5", + "051" => "gctl class=PART verb=remove geom=%dev% entry=2", + "052" => "gctl class=PART verb=remove geom=%dev% entry=1", + "053" => "gctl class=PART verb=remove geom=%dev% entry=1", "054" => "conf", - "060" => "gctl verb=add geom=%dev% type=516e7cb6-6ecf-11d6-8ff8-00022d09712b start=34 end=546 entry:8=1", + "060" => "gctl class=PART verb=add geom=%dev% type=516e7cb6-6ecf-11d6-8ff8-00022d09712b start=34 end=546 entry:8=1", "061" => "mount %dev%p1", - "062" => "gctl verb=delete geom=%dev% entry=1", + "062" => "gctl class=PART verb=delete geom=%dev% entry=1", "063" => "umount %dev%p1", - "064" => "gctl verb=delete geom=%dev% entry=1", + "064" => "gctl class=PART verb=delete geom=%dev% entry=1", "065" => "conf", "100" => "mdcfg destroy", "110" => "mdcfg create corrupted", - "111" => "gctl verb=add geom=%dev%", + "111" => "gctl class=PART verb=add geom=%dev%", "120" => "mdcfg destroy", ); Modified: head/tools/regression/geom_gpt/gctl_test_helper.c ============================================================================== --- head/tools/regression/geom_gpt/gctl_test_helper.c Sat Jun 10 19:17:14 2017 (r319799) +++ head/tools/regression/geom_gpt/gctl_test_helper.c Sat Jun 10 19:48:45 2017 (r319800) @@ -117,7 +117,6 @@ main(int argc, char *argv[]) req = gctl_get_handle(); assert(req != NULL); - gctl_ro_param(req, "class", -1, "PART"); while ((c = getopt(argc, argv, "v")) != -1) { switch (c) { From owner-svn-src-all@freebsd.org Sat Jun 10 20:38:53 2017 Return-Path: Delivered-To: svn-src-all@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 48DD6BF5AE5; Sat, 10 Jun 2017 20:38:53 +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 17AE21843; Sat, 10 Jun 2017 20:38:53 +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 v5AKcq2V065853; Sat, 10 Jun 2017 20:38:52 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AKcqJw065852; Sat, 10 Jun 2017 20:38:52 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706102038.v5AKcqJw065852@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Sat, 10 Jun 2017 20:38:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319802 - head/usr.bin/fstat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 20:38:53 -0000 Author: avg Date: Sat Jun 10 20:38:52 2017 New Revision: 319802 URL: https://svnweb.freebsd.org/changeset/base/319802 Log: fstat: catch up with r318997 and use 64 bits to store fsid Discussed with: kib Modified: head/usr.bin/fstat/fstat.c Modified: head/usr.bin/fstat/fstat.c ============================================================================== --- head/usr.bin/fstat/fstat.c Sat Jun 10 20:23:49 2017 (r319801) +++ head/usr.bin/fstat/fstat.c Sat Jun 10 20:38:52 2017 (r319802) @@ -67,7 +67,7 @@ static int vflg; /* be verbose */ typedef struct devs { struct devs *next; - uint32_t fsid; + uint64_t fsid; uint64_t ino; const char *name; } DEVS; From owner-svn-src-all@freebsd.org Sat Jun 10 20:41:54 2017 Return-Path: Delivered-To: svn-src-all@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 6F764BF5D7C; Sat, 10 Jun 2017 20:41:54 +0000 (UTC) (envelope-from gnn@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 4AEAA1D15; Sat, 10 Jun 2017 20:41:54 +0000 (UTC) (envelope-from gnn@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5AKfrN0067403; Sat, 10 Jun 2017 20:41:53 GMT (envelope-from gnn@FreeBSD.org) Received: (from gnn@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AKfrIv067402; Sat, 10 Jun 2017 20:41:53 GMT (envelope-from gnn@FreeBSD.org) Message-Id: <201706102041.v5AKfrIv067402@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gnn set sender to gnn@FreeBSD.org using -f From: "George V. Neville-Neil" Date: Sat, 10 Jun 2017 20:41:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319803 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 20:41:54 -0000 Author: gnn Date: Sat Jun 10 20:41:53 2017 New Revision: 319803 URL: https://svnweb.freebsd.org/changeset/base/319803 Log: Manual page for the DTrace lockstat provider Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D11128 Added: head/share/man/man4/dtrace_lockstat.4 (contents, props changed) Added: head/share/man/man4/dtrace_lockstat.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man4/dtrace_lockstat.4 Sat Jun 10 20:41:53 2017 (r319803) @@ -0,0 +1,251 @@ +.\" Copyright (c) 2017 George V. Neville-Neil +.\" 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$ +.\" +.Dd June 9, 2017 +.Dt DTRACE_LOCKSTAT 4 +.Os +.Sh NAME +.Nm dtrace_lockstat +.Nd a DTrace provider for tracing CPU scheduling events +.Sh SYNOPSIS +.Fn lockstat:::adaptive-acquire "struct mtx *" +.Fn lockstat:::adaptive-release "struct mtx *" +.Fn lockstat:::adaptive-spin "struct mtx *" "uint64_t" +.Fn lockstat:::adaptive-block "struct mtx *" "uint64_t" +.Fn lockstat:::spin-acquire "struct mtx *" +.Fn lockstat:::spin-release "struct mtx *" +.Fn lockstat:::spin-spin "struct mtx *" "uint64_t" +.Fn lockstat:::rw-acquire "struct rwlock *" "int" +.Fn lockstat:::rw-release "struct rwlock *" "int" +.Fn lockstat:::rw-block "struct rwlock *" "uint64_t" "int" "int" "int" +.Fn lockstat:::rw-spin "struct rwlock *" "uint64_t" +.Fn lockstat:::rw-upgrade "struct rwlock *" +.Fn lockstat:::rw-downgrade "struct rwlock *" +.Fn lockstat:::sx-acquire "struct sx *" "int" +.Fn lockstat:::sx-release "struct sx *" "int" +.Fn lockstat:::sx-block "struct sx *" "uint64_t" "int" "int" "int" +.Fn lockstat:::sx-spin "struct sx *" "uint64_t" +.Fn lockstat:::sx-upgrade "struct sx *" +.Fn lockstat:::sx-downgrade "struct sx *" +.Fn lockstat:::thread-spin "struct mtx *" "uint64" +.Sh DESCRIPTION +The DTrace +.Nm lockstat +provider allows the tracing of events related to locking on FreeBSD. +.Pp +The +.Nm lockstat +provider contains DTrace probe for inspecting the kernel's lock +state transitions. +Tracepoints exist for several types of kernel +locking primitives, including mutexes, spin, reader-writer, +and shared exclusive locks. +An attempt has been made to provide a regular and easy to understand +interface to the +.Nm lockstat +provider. +Each type of lock has an +.Fn acquire +and +.Fn release +probe which exposes the lock structure that is being operated upon. +.Pp +Whenever an MTX_DEF mutex is acquired the +.Fn lockstat:::adaptive-acquire +probe fires. +The only argument is a pointer to the lock structure which describes +the lock that is being acquired. +.Pp +The +.Fn lockstat:::adaptive-release +probe fires whenever an adaptive lock is released. +The only argument is a pointer to the lock structure which describes +the lock that is being released. +.Pp +The +.Fn lockstat:::adaptive-spin +probe fires when an adaptive lock is acquired. +The first argument is a pointer to the lock structure that describes +the lock and the second argument is the amount of time, +in nanoseconds, +that the mutex spent spinning. +.Pp +The +.Fn lockstat:::adaptive-block +probe fires whenever thread takes itself off of the CPU +while trying to acquire the lock. +The first argument is a pointer to the lock structure that describes +the lock and the second argument is the length of time, +in nanoseconds, +that the waiting thread was blocked. +The +.Fn lockstat:::adaptive-block +probe fires only after the lock has been successfully acquired, +after the adaptive-acquire probe fires. +.Pp +Whenever a spin mutex is acquired the +.Fn lockstat:::spin-acquire +probe fires. +The only argument is a pointer to the lock structure which describes +the lock that is being acquired. +.Pp +The +.Fn lockstat:::spin-release +probe fires whenever a spin mutex is released. +The only argument is a pointer to the lock structure which describes +the lock that is being released. +.Pp +The +.Fn lockstat:::spin-spin +probe fires when a thread stops spinning waiting for a spin mutex. +The first argument is a pointer to the lock structure that describes +the lock and the second argument is the length of the time +spent spinning, in nanoseconds. +.Pp +Whenever a reader-writer lock is acquired the +.Fn lockstat:::rw-acquire +probe fires. +The only argument is a pointer to the structure which describes +the lock that is being acquired. +.Pp +The +.Fn lockstat:::rw-release +probe fires whenever a reader-writer lock is released. +.Pp +The +.Fn lockstat:::rw-block +probe fires whenever a thread removes itself from the CPU while +waiting to acquire the lock. +The first argument is a pointer to the lock structure that describes +the lock and the second argument is the length of time, +in nanoseconds, +that the waiting thread was blocked. +The third argument is 1 if the thread was were spinning while +trying to acquire a read lock, +otherwise it will be 0 indicating that we were spinning for the write lock. +The fourth argument is 1 if we were waiting for a reader to release the lock, +otherwise it will be 0 indicating that we were waiting for a writer +to release the lock. +The fifth argument is the number of readers that held the lock when +we started spinning; in particular, argument 5 is non-zero only +if the fourth argument is 1. +.Pp +The +.Fn lockstat:::rw-spin +probe fires when a reader-writer lock takes itself off the CPU +while waiting for the lock. +The first argument is a pointer to the lock structure that describes +the lock and the second argument returns an integer count of the +number of spins that were completed. +.Pp +The +.Fn lockstat:::rw-upgrade +probe fires whenever a thread tries to upgrade a lock from a +read lock to a write lock. +The only argument is a pointer to the structure which describes +the lock that is being acquired. +.Pp +.Fn lockstat:::rw-downgrade +probe fires whenever a thread tries downgrades a lock from a +read and write lock to a read lock. +The only argument is a pointer to the structure which describes +the lock that is being acquired. +.Pp +Whenever a shared-exclusive lock is acquired the +.Fn lockstat:::sx-acquire +probe fires. +The only argument is a pointer to the structure which describes +the lock that is being acquired. +.Pp +The +.Fn lockstat:::sx-release +probe fires whenever an adaptive lock is released. +The only argument is a pointer to the lock structure which describes +the lock that is being released. +.Pp +The +.Fn lockstat:::sx-block +probe fires whenever a thread takes itself off the CPU while +waiting for the lock. +The first argument is a pointer to the structure that describes +the lock and the second argument is the length of time, +in nanoseconds, +that the waiting thread was blocked. +The third argument is 1 if the thread was were spinning while +trying to acquire a read lock, +otherwise it will be 0 indicating that we were spinning for the write lock. +The fourth argument is 1 if we were waiting for a reader to release the lock, +otherwise it will be 0 indicating that we were waiting for a writer +to release the lock. +The fifth argument is the number of readers that held the lock when +we started spinning; in particular, argument 5 is non-zero only +if the fourth argument is 1. +.Pp +The +.Fn lockstat:::sx-spin +probe fires when a thread takes itself off of the CPU while +waiting for the lock. +The first argument is a pointer to the structure that describes +the lock and the second argument returns an integer count of the +number of spins that were completed. +.Pp +The +.Fn lockstat:::sx-upgrade +probe fires whenever a thread tries to upgrade a lock from a +shared lock to a shared-exclusive lock. +The only argument is a pointer to the structure which describes +the lock that is being upgraded. +.Pp +The +.Fn lockstat:::sx-downgrade +probe fires whenever a thread downgrades a lock from a +shared-exclusive lock to a shared lock. +The only argument is a pointer to the structure which describes +the lock that is being downgraded. +.Pp +The +.Fn lockstat:::thread-spin +probe fires whenever a thread spins on a spin lock. +The first argument is a pointer to the structure that describes +the lock and the second argument is the length of time, +in nanoseconds, +that the thread was spinning. +.Sh SEE ALSO +.Xr dtrace 1 , +.Xr lockstat 1 , +.Xr locking 9 , +.Xr SDT 9 , +.Sh HISTORY +The +.Nm lockstat +provider first appeared in OpenSolaris. +The FreeBSD implementation of the +.Nm lockstat +provider first appeared in +.Fx 9. +.Sh AUTHORS +This manual page was written by +.An George V. Neville-Neil Aq Mt gnn@FreeBSD.org . From owner-svn-src-all@freebsd.org Sat Jun 10 20:47:38 2017 Return-Path: Delivered-To: svn-src-all@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 A0B8DBF5ECC; Sat, 10 Jun 2017 20:47:38 +0000 (UTC) (envelope-from gnn@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 6A8E71FA4; Sat, 10 Jun 2017 20:47:38 +0000 (UTC) (envelope-from gnn@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5AKlbkw069757; Sat, 10 Jun 2017 20:47:37 GMT (envelope-from gnn@FreeBSD.org) Received: (from gnn@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AKlbuT069756; Sat, 10 Jun 2017 20:47:37 GMT (envelope-from gnn@FreeBSD.org) Message-Id: <201706102047.v5AKlbuT069756@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gnn set sender to gnn@FreeBSD.org using -f From: "George V. Neville-Neil" Date: Sat, 10 Jun 2017 20:47:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319804 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 20:47:38 -0000 Author: gnn Date: Sat Jun 10 20:47:37 2017 New Revision: 319804 URL: https://svnweb.freebsd.org/changeset/base/319804 Log: Update Makefile to contain the new DTrace lockstat manual page. Modified: head/share/man/man4/Makefile Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Sat Jun 10 20:41:53 2017 (r319803) +++ head/share/man/man4/Makefile Sat Jun 10 20:47:37 2017 (r319804) @@ -137,6 +137,7 @@ MAN= aac.4 \ ds3231.4 \ ${_dtrace_io.4} \ ${_dtrace_ip.4} \ + ${_dtrace_lockstat.4} \ ${_dtrace_proc.4} \ ${_dtrace_sched.4} \ ${_dtrace_tcp.4} \ From owner-svn-src-all@freebsd.org Sat Jun 10 20:50:51 2017 Return-Path: Delivered-To: svn-src-all@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 653ACBF5FB7; Sat, 10 Jun 2017 20:50:51 +0000 (UTC) (envelope-from gnn@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 34379214A; Sat, 10 Jun 2017 20:50:51 +0000 (UTC) (envelope-from gnn@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5AKooxW072032; Sat, 10 Jun 2017 20:50:50 GMT (envelope-from gnn@FreeBSD.org) Received: (from gnn@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AKooGq072031; Sat, 10 Jun 2017 20:50:50 GMT (envelope-from gnn@FreeBSD.org) Message-Id: <201706102050.v5AKooGq072031@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gnn set sender to gnn@FreeBSD.org using -f From: "George V. Neville-Neil" Date: Sat, 10 Jun 2017 20:50:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319805 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 20:50:51 -0000 Author: gnn Date: Sat Jun 10 20:50:50 2017 New Revision: 319805 URL: https://svnweb.freebsd.org/changeset/base/319805 Log: Update the variables as well. Modified: head/share/man/man4/Makefile Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Sat Jun 10 20:47:37 2017 (r319804) +++ head/share/man/man4/Makefile Sat Jun 10 20:50:50 2017 (r319805) @@ -876,6 +876,7 @@ _ccd.4= ccd.4 .if ${MK_CDDL} != "no" _dtrace_io.4= dtrace_io.4 _dtrace_ip.4= dtrace_ip.4 +_dtrace_lockstat.4= dtrace_lockstat.4 _dtrace_proc.4= dtrace_proc.4 _dtrace_sched.4= dtrace_sched.4 _dtrace_tcp.4= dtrace_tcp.4 From owner-svn-src-all@freebsd.org Sat Jun 10 20:56:33 2017 Return-Path: Delivered-To: svn-src-all@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 04338BF61B8; Sat, 10 Jun 2017 20:56:33 +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 C306E26B2; Sat, 10 Jun 2017 20:56:32 +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 v5AKuVhW073928; Sat, 10 Jun 2017 20:56:31 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AKuVJg073927; Sat, 10 Jun 2017 20:56:31 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706102056.v5AKuVJg073927@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Sat, 10 Jun 2017 20:56:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319806 - head/tools/regression/geom_gpt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 20:56:33 -0000 Author: ngie Date: Sat Jun 10 20:56:31 2017 New Revision: 319806 URL: https://svnweb.freebsd.org/changeset/base/319806 Log: Improve handling with system state - Always unlink $cmd after exit via END block. - The tests don't function well if kern.geom.debugflags != 0. Save debugflags, then restore them at the end of the test. MFC after: 1 month Sponsored by: Dell EMC Isilon Modified: head/tools/regression/geom_gpt/gctl_test.t Modified: head/tools/regression/geom_gpt/gctl_test.t ============================================================================== --- head/tools/regression/geom_gpt/gctl_test.t Sat Jun 10 20:50:50 2017 (r319805) +++ head/tools/regression/geom_gpt/gctl_test.t Sat Jun 10 20:56:31 2017 (r319806) @@ -144,10 +144,20 @@ my $out = basename($cmd) . ".out"; # Make sure we have permission to use gctl... if (`$cmd` =~ "^FAIL Permission denied") { print "1..0 # SKIP insufficient permissions\n"; - unlink $cmd; exit 0; } +my $debugflags_oid = 'kern.geom.debugflags'; +chomp(my $old_geom_debugflags = `sysctl -n $debugflags_oid`); +if ($? != 0) { + print "1..0 # SKIP could not query $debugflags_oid\n"; + exit 0; +} +if (system("sysctl $debugflags_oid=0") != 0) { + print "1..0 # SKIP could not set $debugflags_oid=0\n"; + exit 0; +} + my $count = keys (%steps); print "1..$count\n"; @@ -227,4 +237,7 @@ foreach my $key (sort keys %steps) { } $nr += 1; } -exit 0; +END { + system("sysctl $debugflags_oid=$old_geom_debugflags"); + unlink($cmd); +} From owner-svn-src-all@freebsd.org Sat Jun 10 21:07:56 2017 Return-Path: Delivered-To: svn-src-all@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 CE242BF64AC; Sat, 10 Jun 2017 21:07:56 +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 9E84E2C31; Sat, 10 Jun 2017 21:07:56 +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 v5AL7tgv078147; Sat, 10 Jun 2017 21:07:55 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5AL7t6h078146; Sat, 10 Jun 2017 21:07:55 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706102107.v5AL7t6h078146@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 10 Jun 2017 21:07:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319807 - head/lib/libc/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 21:07:56 -0000 Author: markj Date: Sat Jun 10 21:07:55 2017 New Revision: 319807 URL: https://svnweb.freebsd.org/changeset/base/319807 Log: Remove an inaccuracy from socket.2. SOCK_SEQPACKET is implemented for several protocols. MFC after: 1 week Modified: head/lib/libc/sys/socket.2 Modified: head/lib/libc/sys/socket.2 ============================================================================== --- head/lib/libc/sys/socket.2 Sat Jun 10 20:56:31 2017 (r319806) +++ head/lib/libc/sys/socket.2 Sat Jun 10 21:07:55 2017 (r319807) @@ -28,7 +28,7 @@ .\" From: @(#)socket.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd August 18, 2016 +.Dd June 10, 2017 .Dt SOCKET 2 .Os .Sh NAME @@ -110,7 +110,7 @@ socket may provide a sequenced, reliable, two-way connection-based data transmission path for datagrams of fixed maximum length; a consumer may be required to read an entire packet with each read system call. -This facility is protocol specific, and presently unimplemented. +This facility may have protocol-specific properties. .Dv SOCK_RAW sockets provide access to internal network protocols and interfaces. The types From owner-svn-src-all@freebsd.org Sat Jun 10 21:13:41 2017 Return-Path: Delivered-To: svn-src-all@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 6FC24BF67FE; Sat, 10 Jun 2017 21:13:41 +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 3AD6B326E; Sat, 10 Jun 2017 21:13:41 +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 v5ALDe6R082228; Sat, 10 Jun 2017 21:13:40 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ALDewu082227; Sat, 10 Jun 2017 21:13:40 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706102113.v5ALDewu082227@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 10 Jun 2017 21:13:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319808 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 21:13:41 -0000 Author: markj Date: Sat Jun 10 21:13:39 2017 New Revision: 319808 URL: https://svnweb.freebsd.org/changeset/base/319808 Log: List DTrace provider pages in a single variable. MFC after: 1 week Modified: head/share/man/man4/Makefile Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Sat Jun 10 21:07:55 2017 (r319807) +++ head/share/man/man4/Makefile Sat Jun 10 21:13:39 2017 (r319808) @@ -135,13 +135,7 @@ MAN= aac.4 \ dpt.4 \ ds1307.4 \ ds3231.4 \ - ${_dtrace_io.4} \ - ${_dtrace_ip.4} \ - ${_dtrace_lockstat.4} \ - ${_dtrace_proc.4} \ - ${_dtrace_sched.4} \ - ${_dtrace_tcp.4} \ - ${_dtrace_udp.4} \ + ${_dtrace_provs} \ dummynet.4 \ ed.4 \ edsc.4 \ @@ -874,13 +868,13 @@ _ccd.4= ccd.4 .endif .if ${MK_CDDL} != "no" -_dtrace_io.4= dtrace_io.4 -_dtrace_ip.4= dtrace_ip.4 -_dtrace_lockstat.4= dtrace_lockstat.4 -_dtrace_proc.4= dtrace_proc.4 -_dtrace_sched.4= dtrace_sched.4 -_dtrace_tcp.4= dtrace_tcp.4 -_dtrace_udp.4= dtrace_udp.4 +_dtrace_provs= dtrace_io.4 \ + dtrace_ip.4 \ + dtrace_lockstat.4 \ + dtrace_proc.4 \ + dtrace_sched.4 \ + dtrace_tcp.4 \ + dtrace_udp.4 .endif .if ${MK_ISCSI} != "no" From owner-svn-src-all@freebsd.org Sat Jun 10 23:16:02 2017 Return-Path: Delivered-To: svn-src-all@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 0BD84BF816C; Sat, 10 Jun 2017 23:16:02 +0000 (UTC) (envelope-from cy@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 CE63C66184; Sat, 10 Jun 2017 23:16:01 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5ANG0X0031240; Sat, 10 Jun 2017 23:16:00 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ANG0Bu031239; Sat, 10 Jun 2017 23:16:00 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201706102316.v5ANG0Bu031239@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Sat, 10 Jun 2017 23:16:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319810 - head/contrib/ipfilter/tools X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 23:16:02 -0000 Author: cy Date: Sat Jun 10 23:16:00 2017 New Revision: 319810 URL: https://svnweb.freebsd.org/changeset/base/319810 Log: Remove redundant assignment of infile from optarg in loadpoolfile() which was previously assigned from optarg in the argument list from main(). Modified: head/contrib/ipfilter/tools/ippool.c Modified: head/contrib/ipfilter/tools/ippool.c ============================================================================== --- head/contrib/ipfilter/tools/ippool.c Sat Jun 10 22:41:28 2017 (r319809) +++ head/contrib/ipfilter/tools/ippool.c Sat Jun 10 23:16:00 2017 (r319810) @@ -361,8 +361,6 @@ loadpoolfile(argc, argv, infile) { int c; - infile = optarg; - while ((c = getopt(argc, argv, "dnRuv")) != -1) switch (c) { From owner-svn-src-all@freebsd.org Sat Jun 10 23:26:26 2017 Return-Path: Delivered-To: svn-src-all@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 6C609BF8398; Sat, 10 Jun 2017 23:26:26 +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 3DADC66661; Sat, 10 Jun 2017 23:26:26 +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 v5ANQPBS035343; Sat, 10 Jun 2017 23:26:25 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ANQPhV035342; Sat, 10 Jun 2017 23:26:25 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201706102326.v5ANQPhV035342@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Sat, 10 Jun 2017 23:26:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319811 - head/sys/dev/ffec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 23:26:26 -0000 Author: ian Date: Sat Jun 10 23:26:25 2017 New Revision: 319811 URL: https://svnweb.freebsd.org/changeset/base/319811 Log: if_ffec bugfixes related to harvesting of hardware-maintained statistics... After harvesting the hardware statistics counters and summing them into the interface stats, properly clear the hardware counters back to zero. On imx5 and earlier hardware it is necessary to disable collection of stats while writing zeroes to all the registers. On imx6 and newer it turns out it's not even possible to write zeroes, instead you have to toggle a special "zero everything" control bit in a register. Count incoming packets with a bad start frame delim as input errors, and incoming packets dropped due to no fifo space as input drops. Remove all code related to harvesting the hardware stats less often than once per second. It turns out the 32-bit stats registers are backed by 16-bit counters under the hood, and they can easily roll over if you only harvest them once every 3 seconds like the old code was doing. Now we just read all the regs once a second. The combination of not properly zeroing the stats registers and 16-bit counters sometimes wrapping between harvest calls resulted in basically unusable statistics before these changes. Modified: head/sys/dev/ffec/if_ffec.c Modified: head/sys/dev/ffec/if_ffec.c ============================================================================== --- head/sys/dev/ffec/if_ffec.c Sat Jun 10 23:16:00 2017 (r319810) +++ head/sys/dev/ffec/if_ffec.c Sat Jun 10 23:26:25 2017 (r319811) @@ -129,7 +129,6 @@ static struct ofw_compat_data compat_data[] = { #define TX_DESC_SIZE (sizeof(struct ffec_hwdesc) * TX_DESC_COUNT) #define WATCHDOG_TIMEOUT_SECS 5 -#define STATS_HARVEST_INTERVAL 3 struct ffec_bufmap { struct mbuf *mbuf; @@ -160,7 +159,6 @@ struct ffec_softc { boolean_t is_attached; boolean_t is_detaching; int tx_watchdog_count; - int stats_harvest_count; bus_dma_tag_t rxdesc_tag; bus_dmamap_t rxdesc_map; @@ -462,22 +460,41 @@ ffec_media_change(struct ifnet * ifp) static void ffec_clear_stats(struct ffec_softc *sc) { + uint32_t mibc; - WR4(sc, FEC_RMON_R_PACKETS, 0); - WR4(sc, FEC_RMON_R_MC_PKT, 0); - WR4(sc, FEC_RMON_R_CRC_ALIGN, 0); - WR4(sc, FEC_RMON_R_UNDERSIZE, 0); - WR4(sc, FEC_RMON_R_OVERSIZE, 0); - WR4(sc, FEC_RMON_R_FRAG, 0); - WR4(sc, FEC_RMON_R_JAB, 0); - WR4(sc, FEC_RMON_T_PACKETS, 0); - WR4(sc, FEC_RMON_T_MC_PKT, 0); - WR4(sc, FEC_RMON_T_CRC_ALIGN, 0); - WR4(sc, FEC_RMON_T_UNDERSIZE, 0); - WR4(sc, FEC_RMON_T_OVERSIZE , 0); - WR4(sc, FEC_RMON_T_FRAG, 0); - WR4(sc, FEC_RMON_T_JAB, 0); - WR4(sc, FEC_RMON_T_COL, 0); + mibc = RD4(sc, FEC_MIBC_REG); + + /* + * On newer hardware the statistic regs are cleared by toggling a bit in + * the mib control register. On older hardware the clear procedure is + * to disable statistics collection, zero the regs, then re-enable. + */ + if (sc->fectype == FECTYPE_IMX6 || sc->fectype == FECTYPE_MVF) { + WR4(sc, FEC_MIBC_REG, mibc | FEC_MIBC_CLEAR); + WR4(sc, FEC_MIBC_REG, mibc & ~FEC_MIBC_CLEAR); + } else { + WR4(sc, FEC_MIBC_REG, mibc | FEC_MIBC_DIS); + + WR4(sc, FEC_IEEE_R_DROP, 0); + WR4(sc, FEC_IEEE_R_MACERR, 0); + WR4(sc, FEC_RMON_R_CRC_ALIGN, 0); + WR4(sc, FEC_RMON_R_FRAG, 0); + WR4(sc, FEC_RMON_R_JAB, 0); + WR4(sc, FEC_RMON_R_MC_PKT, 0); + WR4(sc, FEC_RMON_R_OVERSIZE, 0); + WR4(sc, FEC_RMON_R_PACKETS, 0); + WR4(sc, FEC_RMON_R_UNDERSIZE, 0); + WR4(sc, FEC_RMON_T_COL, 0); + WR4(sc, FEC_RMON_T_CRC_ALIGN, 0); + WR4(sc, FEC_RMON_T_FRAG, 0); + WR4(sc, FEC_RMON_T_JAB, 0); + WR4(sc, FEC_RMON_T_MC_PKT, 0); + WR4(sc, FEC_RMON_T_OVERSIZE , 0); + WR4(sc, FEC_RMON_T_PACKETS, 0); + WR4(sc, FEC_RMON_T_UNDERSIZE, 0); + + WR4(sc, FEC_MIBC_REG, mibc); + } } static void @@ -485,29 +502,22 @@ ffec_harvest_stats(struct ffec_softc *sc) { struct ifnet *ifp; - /* We don't need to harvest too often. */ - if (++sc->stats_harvest_count < STATS_HARVEST_INTERVAL) - return; + ifp = sc->ifp; /* - * Try to avoid harvesting unless the IDLE flag is on, but if it has - * been too long just go ahead and do it anyway, the worst that'll - * happen is we'll lose a packet count or two as we clear at the end. + * - FEC_IEEE_R_DROP is "dropped due to invalid start frame delimiter" + * so it's really just another type of input error. + * - FEC_IEEE_R_MACERR is "no receive fifo space"; count as input drops. */ - if (sc->stats_harvest_count < (2 * STATS_HARVEST_INTERVAL) && - ((RD4(sc, FEC_MIBC_REG) & FEC_MIBC_IDLE) == 0)) - return; - - sc->stats_harvest_count = 0; - ifp = sc->ifp; - if_inc_counter(ifp, IFCOUNTER_IPACKETS, RD4(sc, FEC_RMON_R_PACKETS)); if_inc_counter(ifp, IFCOUNTER_IMCASTS, RD4(sc, FEC_RMON_R_MC_PKT)); if_inc_counter(ifp, IFCOUNTER_IERRORS, RD4(sc, FEC_RMON_R_CRC_ALIGN) + RD4(sc, FEC_RMON_R_UNDERSIZE) + RD4(sc, FEC_RMON_R_OVERSIZE) + RD4(sc, FEC_RMON_R_FRAG) + - RD4(sc, FEC_RMON_R_JAB)); + RD4(sc, FEC_RMON_R_JAB) + RD4(sc, FEC_IEEE_R_DROP)); + if_inc_counter(ifp, IFCOUNTER_IQDROPS, RD4(sc, FEC_IEEE_R_MACERR)); + if_inc_counter(ifp, IFCOUNTER_OPACKETS, RD4(sc, FEC_RMON_T_PACKETS)); if_inc_counter(ifp, IFCOUNTER_OMCASTS, RD4(sc, FEC_RMON_T_MC_PKT)); if_inc_counter(ifp, IFCOUNTER_OERRORS, @@ -1016,7 +1026,6 @@ ffec_stop_locked(struct ffec_softc *sc) ifp = sc->ifp; ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); sc->tx_watchdog_count = 0; - sc->stats_harvest_count = 0; /* * Stop the hardware, mask all interrupts, and clear all current @@ -1194,7 +1203,8 @@ ffec_init_locked(struct ffec_softc *sc) WR4(sc, FEC_IEM_REG, FEC_IER_TXF | FEC_IER_RXF | FEC_IER_EBERR); /* - * MIBC - MIB control (hardware stats). + * MIBC - MIB control (hardware stats); clear all statistics regs, then + * enable collection of statistics. */ regval = RD4(sc, FEC_MIBC_REG); WR4(sc, FEC_MIBC_REG, regval | FEC_MIBC_DIS); From owner-svn-src-all@freebsd.org Sat Jun 10 23:45:27 2017 Return-Path: Delivered-To: svn-src-all@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 91638BF86EB; Sat, 10 Jun 2017 23:45:27 +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 6176566D9C; Sat, 10 Jun 2017 23:45:27 +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 v5ANjQ0w043374; Sat, 10 Jun 2017 23:45:26 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ANjQCg043372; Sat, 10 Jun 2017 23:45:26 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201706102345.v5ANjQCg043372@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Sat, 10 Jun 2017 23:45:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319813 - in head/sys/modules: . ffec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 23:45:27 -0000 Author: ian Date: Sat Jun 10 23:45:26 2017 New Revision: 319813 URL: https://svnweb.freebsd.org/changeset/base/319813 Log: Allow building if_ffec as a module. Added: head/sys/modules/ffec/ head/sys/modules/ffec/Makefile (contents, props changed) Modified: head/sys/modules/Makefile Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Sat Jun 10 23:32:23 2017 (r319812) +++ head/sys/modules/Makefile Sat Jun 10 23:45:26 2017 (r319813) @@ -128,6 +128,7 @@ SUBDIR= \ fdc \ fdescfs \ ${_fe} \ + ${_ffec} \ filemon \ firewire \ firmware \ @@ -764,6 +765,7 @@ _cfi= cfi _cpufreq= cpufreq _drm= drm _exca= exca +_ffec= ffec _pccard= pccard _wi= wi .endif @@ -790,6 +792,10 @@ _cloudabi32= cloudabi32 _cloudabi64= cloudabi64 .endif +.endif + +.if ${MACHINE_ARCH} == "armv6" +_ffec= ffec .endif SUBDIR+=${MODULES_EXTRA} Added: head/sys/modules/ffec/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/modules/ffec/Makefile Sat Jun 10 23:45:26 2017 (r319813) @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${SRCTOP}/sys/dev/ffec + +KMOD= if_ffec +SRCS= if_ffec.c miibus_if.h device_if.h bus_if.h pci_if.h + +.include From owner-svn-src-all@freebsd.org Sat Jun 10 23:51:26 2017 Return-Path: Delivered-To: svn-src-all@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 507ACBF88B1; Sat, 10 Jun 2017 23:51:26 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 336B066FAE; Sat, 10 Jun 2017 23:51:26 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 8D02C63BB; Sat, 10 Jun 2017 23:51:25 +0000 (UTC) Date: Sat, 10 Jun 2017 23:51:25 +0000 From: Alexey Dokuchaev To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316767 - head/sys/amd64/amd64 Message-ID: <20170610235125.GA3587@FreeBSD.org> References: <201704131549.v3DFnt9I004050@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201704131549.v3DFnt9I004050@repo.freebsd.org> User-Agent: Mutt/1.8.2 (2017-04-18) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 23:51:26 -0000 On Thu, Apr 13, 2017 at 03:49:55PM +0000, Konstantin Belousov wrote: > New Revision: 316767 > URL: https://svnweb.freebsd.org/changeset/base/316767 > > Log: > Map DMAP as nx. > > Demotions preserve PG_NX, so it is enough to set nx bit for initial > lowest-level paging entries. Hi Kostik, It seems this change breaks resume with radeonkms(4): my laptop fells into sleep, but upon resume it immediately reboots with kernels after r316767. Reverting these two lines fixes resuming at least up to r316986, but the latest -CURRENT still reboots, perhaps for another reason. I'll continue my bisecting of higher revisions. Meanwhile, any ideas? ./danfe > Modified: > head/sys/amd64/amd64/pmap.c > > Modified: head/sys/amd64/amd64/pmap.c > ============================================================================== > --- head/sys/amd64/amd64/pmap.c Thu Apr 13 15:49:32 2017 (r316766) > +++ head/sys/amd64/amd64/pmap.c Thu Apr 13 15:49:55 2017 (r316767) > @@ -933,14 +933,14 @@ create_pagetables(vm_paddr_t *firstaddr) > pd_p[j] = (vm_paddr_t)i << PDRSHIFT; > /* Preset PG_M and PG_A because demotion expects it. */ > pd_p[j] |= X86_PG_RW | X86_PG_V | PG_PS | X86_PG_G | > - X86_PG_M | X86_PG_A; > + X86_PG_M | X86_PG_A | pg_nx; > } > pdp_p = (pdp_entry_t *)DMPDPphys; > for (i = 0; i < ndm1g; i++) { > pdp_p[i] = (vm_paddr_t)i << PDPSHIFT; > /* Preset PG_M and PG_A because demotion expects it. */ > pdp_p[i] |= X86_PG_RW | X86_PG_V | PG_PS | X86_PG_G | > - X86_PG_M | X86_PG_A; > + X86_PG_M | X86_PG_A | pg_nx; > } > for (j = 0; i < ndmpdp; i++, j++) { > pdp_p[i] = DMPDphys + ptoa(j); From owner-svn-src-all@freebsd.org Sat Jun 10 23:55:15 2017 Return-Path: Delivered-To: svn-src-all@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 3745BBF893D; Sat, 10 Jun 2017 23:55:15 +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 F1649672CA; Sat, 10 Jun 2017 23:55:14 +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 v5ANtDIr047388; Sat, 10 Jun 2017 23:55:13 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5ANtDc1047387; Sat, 10 Jun 2017 23:55:13 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201706102355.v5ANtDc1047387@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Sat, 10 Jun 2017 23:55:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319814 - head/sys/dev/mii X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 23:55:15 -0000 Author: ian Date: Sat Jun 10 23:55:13 2017 New Revision: 319814 URL: https://svnweb.freebsd.org/changeset/base/319814 Log: Add a set of constants describing the ways a MAC and PHY can be connected. While the initial need for this is to help support phy drivers which are configured with FDT data, there is nothing devicetree-specific about the concept or the names, so they are available for use even on non-FDT systems. The initial list of connection types comes from the current devicetree bindings documentation, but values not documented there can be added to the list in the future as needed, the values could be sorted into a different order without perturbing FDT code, etc. The only invariant is that MII_CONTYPE_UNKNOWN should be first (so it has a value of zero, so that a con-type variable in a softc, for example, is initialized to MII_CONTYPE_UNKNOWN by default). Modified: head/sys/dev/mii/miivar.h Modified: head/sys/dev/mii/miivar.h ============================================================================== --- head/sys/dev/mii/miivar.h Sat Jun 10 23:45:26 2017 (r319813) +++ head/sys/dev/mii/miivar.h Sat Jun 10 23:55:13 2017 (r319814) @@ -156,6 +156,42 @@ typedef struct mii_softc mii_softc_t; #define MII_PHY_ANY -1 /* + * Constants used to describe the type of attachment between MAC and PHY. + */ +enum mii_contype { + MII_CONTYPE_UNKNOWN, /* Must be have value 0. */ + + MII_CONTYPE_MII, + MII_CONTYPE_GMII, + MII_CONTYPE_SGMII, + MII_CONTYPE_QSGMII, + MII_CONTYPE_TBI, + MII_CONTYPE_REVMII, /* Reverse MII */ + MII_CONTYPE_RMII, + MII_CONTYPE_RGMII, /* Delays provided by MAC or PCB */ + MII_CONTYPE_RGMII_ID, /* Rx and tx delays provided by PHY */ + MII_CONTYPE_RGMII_RXID, /* Only rx delay provided by PHY */ + MII_CONTYPE_RGMII_TXID, /* Only tx delay provided by PHY */ + MII_CONTYPE_RTBI, + MII_CONTYPE_SMII, + MII_CONTYPE_XGMII, + MII_CONTYPE_TRGMII, + MII_CONTYPE_2000BX, + MII_CONTYPE_2500BX, + MII_CONTYPE_RXAUI, + + MII_CONTYPE_COUNT /* Add new types before this line. */ +}; +typedef enum mii_contype mii_contype_t; + +static inline bool +mii_contype_is_rgmii(mii_contype_t con) +{ + + return (con >= MII_CONTYPE_RGMII && con <= MII_CONTYPE_RGMII_TXID); +} + +/* * Used to attach a PHY to a parent. */ struct mii_attach_args {