Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jun 2017 15:43:50 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r444651 - in head/www/firefox: . files
Message-ID:  <201706291543.v5TFhoVY071288@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Thu Jun 29 15:43:50 2017
New Revision: 444651
URL: https://svnweb.freebsd.org/changeset/ports/444651

Log:
  www/firefox: unbreak aarch64 after r444090
  
  error[E0412]: cannot find type `c_long` in this scope
     --> third_party/rust/libc/src/lib.rs:192:45
      |
  192 |     pub fn fseek(stream: *mut FILE, offset: c_long, whence: c_int) -> c_int;
      |                                             ^^^^^^ not found in this scope
      |
      = help: possible candidate is found in another module, you can import it into scope:
                `use core::os::raw::c_long;`
  
  Reported by:	pkg-fallout

Added:
  head/www/firefox/files/patch-bug1376411   (contents, props changed)
Modified:
  head/www/firefox/Makefile   (contents, props changed)

Modified: head/www/firefox/Makefile
==============================================================================
--- head/www/firefox/Makefile	Thu Jun 29 15:42:41 2017	(r444650)
+++ head/www/firefox/Makefile	Thu Jun 29 15:43:50 2017	(r444651)
@@ -4,6 +4,7 @@
 PORTNAME=	firefox
 DISTVERSION=	54.0.1
 DISTVERSIONSUFFIX=.source
+PORTREVISION=	1
 PORTEPOCH=	1
 CATEGORIES=	www ipv6
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \

Added: head/www/firefox/files/patch-bug1376411
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/firefox/files/patch-bug1376411	Thu Jun 29 15:43:50 2017	(r444651)
@@ -0,0 +1,9687 @@
+Update libc crate to 0.2.24 for FreeBSD aarch64 support.
+
+diff --git js/src/Cargo.lock js/src/Cargo.lock
+index 8466b5f1a9e5..438516496682 100644
+--- js/src/Cargo.lock
++++ js/src/Cargo.lock
+@@ -2,7 +2,7 @@
+ name = "mozjs_sys"
+ version = "0.0.0"
+ dependencies = [
+- "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+  "libz-sys 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+ 
+@@ -13,7 +13,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ 
+ [[package]]
+ name = "libc"
+-version = "0.2.20"
++version = "0.2.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ 
+ [[package]]
+@@ -22,7 +22,7 @@ version = "1.0.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+  "gcc 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
+  "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+ 
+@@ -33,6 +33,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ 
+ [metadata]
+ "checksum gcc 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)" = "291055c78f59ca3d84c99026c9501c469413d386bb46be1e1cf1d285cd1db3b0"
+-"checksum libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)" = "684f330624d8c3784fb9558ca46c4ce488073a8d22450415c5eb4f4cfb0d11b5"
++"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc"
+ "checksum libz-sys 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)" = "7616099a575493da60cddc1174b686fcfb00ece89dc6f61f31ff47c35f07bbe8"
+ "checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903"
+diff --git third_party/rust/libc/.cargo-checksum.json third_party/rust/libc/.cargo-checksum.json
+index e1e2ea34c5e4..3514e55b4293 100644
+--- third_party/rust/libc/.cargo-checksum.json
++++ third_party/rust/libc/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".gitignore":"7150ee9391a955b2ef7e0762fc61c0c1aab167620ca36d88d78062d93b8334ba",".travis.yml":"7cdd02047a3044fcc50a43aacede564cfbe061bab9ccd143a58e7e92e64750c2","Cargo.toml":"00205808e35bc6a436829e57222639e63a899330cd2fd6303a37d5b2f2335667","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"4222225ac1d974faee08172b0b0773dfe2b312a13054f090f04c651aa1d1e6ef","appveyor.yml":"c0d70c650b6231e6ff78a352224f1a522a9be69d9da4251adbaddb3f0393294d","ci/README.md":"be804f15e2128e5fd4b160cb0b13cff5f19e7d77b55ec5254aa6fd8731c84f0d","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"62ca7317439f9c303990e897450a91cd467be05eb75dfc01456d417932ac8672","ci/docker/arm-linux-androideabi/Dockerfile":"172bac5a76024737847ffdac49f68e2b3d890cb2fc1b5e3f7aaaf19b46916830","ci/docker/arm-linux-androidea
 bi/accept-licenses.sh":"84ad00815f628005ed22c5d6cd14990ebc97812a7163bd275b2877904eddab53","ci/docker/arm-linux-androideabi/install-ndk.sh":"eef063bb01a16c0f90471dbce1b5a395b53141d7704e15a3c9a1c4fc5e06d4b1","ci/docker/arm-linux-androideabi/install-sdk.sh":"42c04b17c4a35bef58757332e960a6e4aba1b5e41f8fc0182265163ff93f6182","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"e349f7caa463adbde8d6ec4d2b9f7720ed81c77f48d75bbfb78c89751f55c2dc","ci/docker/i686-unknown-linux-gnu/Dockerfile":"07e9df6ba91025cbec7ae81ade63f8cfb8a54c5e1e5a8f8def0617e17bd59db0","ci/docker/i686-unknown-linux-musl/Dockerfile":"1a4d064adff4a8f58773305567cfe5d915bcd0762bcb0e101cf6f4ca628a96da","ci/docker/mips-unknown-linux-gnu/Dockerfile":"860299d96ee50ebdbd788e65eb6ba1f561ef66107647bddffcb2567ac350896b","ci/docker/mips-unknown-linux-musl/Dockerfile":"711c43122fa34cee83a69944493213924b0ff1fccd78c7a141cb2b2127526484","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"163776e0fd38f66df7415421202ac29efc7d345a628947434
 e573c3885594ab5","ci/docker/mipsel-unknown-l!
 inux-musl/Dockerfile":"aef213df08da03ab6a723c3e6e5594a0586251950d81482cf53179d8e64e95c7","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"08b846a338c2ee70100f4e80db812668dc58bfb536c44a95cd1cf004d965186b","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"4da285ffd035d16f5da9e3701841eb86049c8cfa417fa81e53da4ef74152eac0","ci/docker/x86_64-rumprun-netbsd/Dockerfile":"44c3107fb30380785aaed6ff73fa334017a5bb4e3b5c7d4876154f09023a2b99","ci/docker/x86_64-unknown-freebsd/Dockerfile":"ef0f9f63065218728d2daafaa5ba71b17e4ccc23d72e859e0a7133fc64c0815e","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"67fabbc8c6ac02376cf9344251ad49ecdac396b71accb572fd1ae65225325bc0","ci/docker/x86_64-unknown-linux-musl/Dockerfile":"f71019fed5204b950843ef5e56144161fda7e27fad68ed0e8bc4353c388c7bcf","ci/docker/x86_64-unknown-openbsd/Dockerfile":"dfa5c23a6cff8c7a9a846668118c71a8406a360801fd3632fb12e8fbda6b7338","ci/dox.sh":"9ea240a4a607036235fd68c01b5d2a59f365768d103d3be774dcf34aa3ff563e","ci/landing-page-footer.ht
 ml":"b70b3112c2147f5c967e7481061ef38bc2d79a28dd55a16fb916d9c9426da2c4","ci/landing-page-head.html":"ad69663fac7924f27d0209bc519d55838e86edfc4133713a6fd08caadac1b142","ci/run-docker.sh":"7f6c68dbca93788111170ac4678608957a179e76cfe8c5a51d11dfea1742d7f2","ci/run-qemu.sh":"bb859421170871ef23a8940c5e150efec0c01b95e32d2ce2d37b79a45d9d346c","ci/run.sh":"b6a6307ea989b6a84bad0fd7d46c3206b30f7aa06d0b3e92d6cb1c855f4e0c42","ci/style.rs":"60564abc1d5197ed1598426dd0d6ee9939a16d2875b03373538f58843bb616c4","src/dox.rs":"f732d3c0dcd6ace854ee32d8f898b96ac42204a799c6e386c4ba88f6e58673dc","src/lib.rs":"cc328e10a4c2879e7de1858aabc30e667cb07398e021e0d2d002f4195632127a","src/macros.rs":"bd9802772b0e5c8b3c550d1c24307f06c0d1e4ce656b4ae1cf092142bbe5412c","src/redox.rs":"3dd158ba9fbbabe96ce2607e91dbf07b93b37c0427734118702dcb4901fe8964","src/unix/bsd/apple/b32.rs":"110ecff78da0e8d405d861447904da403d8b3f6da1f0f9dc9987633f3f04fe46","src/unix/bsd/apple/b64.rs":"e6808081c0b276cca3189628716f507c7c0d00b62417cd44addb
 daefe848cec7","src/unix/bsd/apple/mod.rs":"1!
 e854694c3!
 8e8eee8ce17e93c4c92755b4b4838cf002a7740108605f58e7d029","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"2c65314cfb38c540979facaea9f97596446dffbc0a2efa29db7c1ace5243f6ee","src/unix/bsd/freebsdlike/freebsd/mod.rs":"77b6c96a8b30761c9ed77f55fd39778fa2248b57ca60c59c8a1035c2821ec5ca","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/freebsd/x86_64.rs":"c7f46b9ae23fde5a9e245a28ed1380066e67f081323b4d253a18e9da3b97b860","src/unix/bsd/freebsdlike/mod.rs":"66ba7ca5a09a893776e955f7632e5c3cb9457bf39e3823f1b337ec841569b776","src/unix/bsd/mod.rs":"55bf99b86abf3149f2b03f73f3dad3b67f6d11e5ddca4adfb550f6f116449fe0","src/unix/bsd/netbsdlike/mod.rs":"b19e7f839bfeb6ae83fcd73574083d80a5b1b90dbd168b33a6ed0e94a5f5e2b3","src/unix/bsd/netbsdlike/netbsd/mod.rs":"d8539c69d1db8e2e8e3126b3dd6f175eb8157530cec21a05578bed66b55efe5b","src/unix/bsd/netbsdlike/netbsd/other/b32/mod.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c965121211
 5548f86256d0","src/unix/bsd/netbsdlike/netbsd/other/b64/mod.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/netbsd/other/mod.rs":"4d9f7091af8e166943ac6f42ce85558909e5b6e61325039bff7adfbcf4b90212","src/unix/bsd/netbsdlike/openbsdlike/bitrig.rs":"f8cd05dacd3a3136c58da5a2fbe26f703767823b28e74fe8a2b57a7bd98d6d5c","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"48a32d25326ce03aec64ff0eaac4d921b1a1144f48d020a623306ecf986ea52a","src/unix/bsd/netbsdlike/openbsdlike/openbsd.rs":"b1b9cf7be9f0e4d294a57092594074ad03a65fe0eeac9d1104fa874c313e7900","src/unix/bsd/netbsdlike/openbsdlike/other/b32/mod.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/other/b64/mod.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/openbsdlike/other/mod.rs":"f5d8db6f54efd05520b31b764a6bacbf612e1aebce097d2d5bfaaef3b91f37b5","src/unix/haiku/b32.rs":"bd251a102bed65d5cb34592
 75f6ec3310fe5803ff4c9651212115548f86256d0","!
 src/unix/!
 haiku/b64.rs":"b422430c550c0ba833c9206d1350861e344e3a2eb33d7d58693efb35044be1cc","src/unix/haiku/mod.rs":"245d5500a1d836974ef407edeadee36a51a486bf9d5566d129aaa8f51741e966","src/unix/mod.rs":"1dd0ac155b99862e2368618e16ceb071a2a9b525e7a02dea5ef91d624b21f7ce","src/unix/notbsd/android/b32.rs":"148e1b4ed8b4f700d5aa24178af925164176e1c18b54db877ced4b55ba9f03d4","src/unix/notbsd/android/b64.rs":"302caf0aa95fa022030717c58de17d85d814b04350eca081a722ec435bc4f217","src/unix/notbsd/android/mod.rs":"d255ba6737efea3c4c3ef7ef499a54bc1875debdfec4233cbe8e2601afadc994","src/unix/notbsd/linux/mips/mips32.rs":"b268f603f71d854614c20cea00431812def9b683d43e6254ae62a8f88a14f7c3","src/unix/notbsd/linux/mips/mips64.rs":"8bce84a47a6ad7fc95234fdd3513ddb8c78634f4ac18209c0276ab705c092ebe","src/unix/notbsd/linux/mips/mod.rs":"5eaf645c3ce69860062adf2df6bf56bdcad955990401dee671d4f5b8fea755a4","src/unix/notbsd/linux/mod.rs":"ed2287e8a77f3c97ea1ae0497832984b1c3d5b306413428f1823d58490ed25bc","src/unix/notbsd/linux/musl
 /b32/arm.rs":"0ad8c97458743dc7d81200df0e1223f0a20936933ace77fe786477027597dd7b","src/unix/notbsd/linux/musl/b32/asmjs.rs":"085e410f990312de76f74cb9bbf9fcc27d686e94334143b34511f565d1b8bb91","src/unix/notbsd/linux/musl/b32/mips.rs":"01a92b5dc28ca67e41d7791e398f75210208368e53a848297186de5829d158ec","src/unix/notbsd/linux/musl/b32/mod.rs":"fc7e055edbe6fa170c2bda6b3415066c1871b3e60ebb70a6329d008f77100f0b","src/unix/notbsd/linux/musl/b32/x86.rs":"b47963c6bc5fceec96fded47d58e1c0466b190ec7ae207d666d23be35131c638","src/unix/notbsd/linux/musl/b64/aarch64.rs":"4009c7eaf703472daef2a70bdac910d9fc395a33689ef2e8cf1c4e692445d3f0","src/unix/notbsd/linux/musl/b64/mod.rs":"3f7cc45104103ecff4f7ea6cfdc76d2b0132cff31f7e36a0da2f613ac076256c","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"dc28f5b7284235d6cf5519053cac59a1c16dc39223b71cca0871e4880755f852","src/unix/notbsd/linux/musl/b64/x86_64.rs":"43291acc0dfc92c2fec8ba6ce77ee9ca3c20bcdccec18e149f95ba911cee704b","src/unix/notbsd/linux/musl/mod.rs":"926a5e04
 1377406ec3dc869fae42b1cba3b41e163aacbdbb8122!
 f6a41756b!
 aaf","src/unix/notbsd/linux/other/b32/arm.rs":"f5cb989075fa3b5f997e7101495532c8d5c9f3577412d4c07e4c8c1a16f7b43c","src/unix/notbsd/linux/other/b32/mod.rs":"6122be151c5d85b9df6a3aaefc5cafd0657b371cafa9cb31ed9b1a394976af45","src/unix/notbsd/linux/other/b32/powerpc.rs":"3b62052bb9741afa5349098e6e9c675b60e822e41fed6b5e1b694be1872097b1","src/unix/notbsd/linux/other/b32/x86.rs":"1eda37736f5966c7968b594f74f5018f56b6b8c67bbdeb31fc3db1b6e4ac31b4","src/unix/notbsd/linux/other/b64/aarch64.rs":"e0637555c38346f264e666bb235e8c53ae2dfa79310eeaee6e7d916e8e9a7aff","src/unix/notbsd/linux/other/b64/mod.rs":"bee90e8d9217ee344d0e99fd483766a1b28e8b1ded930d44a0400a5e5224bb6a","src/unix/notbsd/linux/other/b64/powerpc64.rs":"3653528376afdd267aaa3ae0020d2e4aca16c28303dcf731cfa96a8ff5db1a5c","src/unix/notbsd/linux/other/b64/sparc64.rs":"fbfb3b17da347723ddf15fb490e51acdddc9ca7e6b4db072370ba2619cc2ff97","src/unix/notbsd/linux/other/b64/x86_64.rs":"8c9bad7d14fc787ec7aa943fd552b7f35b74548a122e53711708de809ef1148d"
 ,"src/unix/notbsd/linux/other/mod.rs":"9d6643fddab3e68dafa1d34424ea04561d3b414530dd9ce0adde5bc6af828b3a","src/unix/notbsd/linux/s390x.rs":"0ed3108cca67cb731f334d6beecbb99fdfc16de475320007d354fe1c4571fbd8","src/unix/notbsd/mod.rs":"da50b86c6649c3dc12e23185def473d4562128470c3037fae648aeeb27eb5569","src/unix/solaris/mod.rs":"f3956d14342be8631806c56f677d8e14178131578bd26f92d5e90a3cf3f5f37d","src/windows.rs":"acccbd341e81206cb1dc66af41762c193ac0dd719d700b64f7e26c967ee7d670"},"package":"684f330624d8c3784fb9558ca46c4ce488073a8d22450415c5eb4f4cfb0d11b5"}
+\ No newline at end of file
++{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".gitignore":"7150ee9391a955b2ef7e0762fc61c0c1aab167620ca36d88d78062d93b8334ba",".travis.yml":"85d7a35a85a0653ea7072811fd0ba37cf00df4e0b2bcc3781bfc171220046001","Cargo.toml":"7ea5ce66ef7d756befcc155bdeb4135171920a934ecd384eb9f54359a4ce547a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"8a9859c60f78d9075e22bc9f85b40e0b0216cccaeb7025c9f464cc33dcddaf5c","appveyor.yml":"483ae27670e061eb91f055699a9ad88255050b7b300f183b8580340407751bb4","ci/README.md":"be804f15e2128e5fd4b160cb0b13cff5f19e7d77b55ec5254aa6fd8731c84f0d","ci/android-accept-licenses.sh":"84ad00815f628005ed22c5d6cd14990ebc97812a7163bd275b2877904eddab53","ci/android-install-ndk.sh":"73c5f21438c024ce1b8c793184447ff9aecd83c87cbde8de580b782842b3563f","ci/android-install-sdk.sh":"891900fe4e4ceb04717b91a253753858270
 defc6d6401936d08c09801c1de178","ci/android-sysimage.sh":"901415631752827454c827e8c51906ba4260612e4021eda98eb7fff771c7d0e8","ci/docker/aarch64-linux-android/Dockerfile":"68f375c6e0b3716f8c0b6ed217bc6c3631fa2b86c578b983a0bf60d0344efd74","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"62ca7317439f9c303990e897450a91cd467be05eb75dfc01456d417932ac8672","ci/docker/arm-linux-androideabi/Dockerfile":"1193bf048efbeb9be3c9fac0836dcf6ae07e12cdf09b36b386dd4cbd62abbffa","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"e349f7caa463adbde8d6ec4d2b9f7720ed81c77f48d75bbfb78c89751f55c2dc","ci/docker/i686-linux-android/Dockerfile":"7c353aecdf0b21d8584392cc6ea31d455adad769034c3ea09191a1b26a2521e1","ci/docker/i686-unknown-linux-gnu/Dockerfile":"07e9df6ba91025cbec7ae81ade63f8cfb8a54c5e1e5a8f8def0617e17bd59db0","ci/docker/i686-unknown-linux-musl/Dockerfile":"fcaedc90fbb90375186b36b4324bff0a042aae70695be0f2b632e3cf7479eae6","ci/docker/mips-unknown-linux-gnu/Dockerfile":"860299d96ee50ebdbd788e65eb6ba1f56
 1ef66107647bddffcb2567ac350896b","ci/docker/!
 mips-unknown-linux-musl/Dockerfile":"711c43122fa34cee83a69944493213924b0ff1fccd78c7a141cb2b2127526484","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"163776e0fd38f66df7415421202ac29efc7d345a628947434e573c3885594ab5","ci/docker/mipsel-unknown-linux-musl/Dockerfile":"aef213df08da03ab6a723c3e6e5594a0586251950d81482cf53179d8e64e95c7","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"08b846a338c2ee70100f4e80db812668dc58bfb536c44a95cd1cf004d965186b","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"4da285ffd035d16f5da9e3701841eb86049c8cfa417fa81e53da4ef74152eac0","ci/docker/x86_64-linux-android/Dockerfile":"a73a344c60575b8ef78b0178f93285ffa2e2d9aa5eb0d2e86d4bad3cab63276f","ci/docker/x86_64-rumprun-netbsd/Dockerfile":"44c3107fb30380785aaed6ff73fa334017a5bb4e3b5c7d4876154f09023a2b99","ci/docker/x86_64-unknown-freebsd/Dockerfile":"ef0f9f63065218728d2daafaa5ba71b17e4ccc23d72e859e0a7133fc64c0815e","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"67fabbc8c6ac02376cf9344251ad49ecdac396b
 71accb572fd1ae65225325bc0","ci/docker/x86_64-unknown-linux-musl/Dockerfile":"f71019fed5204b950843ef5e56144161fda7e27fad68ed0e8bc4353c388c7bcf","ci/docker/x86_64-unknown-openbsd/Dockerfile":"dfa5c23a6cff8c7a9a846668118c71a8406a360801fd3632fb12e8fbda6b7338","ci/dox.sh":"9ea240a4a607036235fd68c01b5d2a59f365768d103d3be774dcf34aa3ff563e","ci/ios/deploy_and_run_on_ios_simulator.rs":"3175066fd7f82390f6226d881e1a1dda9767ea2705656870e0d7774e2731800e","ci/landing-page-footer.html":"b70b3112c2147f5c967e7481061ef38bc2d79a28dd55a16fb916d9c9426da2c4","ci/landing-page-head.html":"ad69663fac7924f27d0209bc519d55838e86edfc4133713a6fd08caadac1b142","ci/run-docker.sh":"655712ba6127eb2efe2c641cf4cf1246f3e485096d72ec57b423e9d2bff6fb73","ci/run-qemu.sh":"bb859421170871ef23a8940c5e150efec0c01b95e32d2ce2d37b79a45d9d346c","ci/run.sh":"48c0318287f02889cb73a55e3e2058e79c556d11797d47a1ed66d7c55d1be12f","ci/style.rs":"60564abc1d5197ed1598426dd0d6ee9939a16d2875b03373538f58843bb616c4","src/dox.rs":"bb9a85519e0d4a8
 d3bfb81301759b9b938435d79da9ce2918248fb2b0df!
 19638","s!
 rc/lib.rs":"651696755aed40230cde8a505a2dfef61bea52d6349c9b9343497a5c7158ec92","src/macros.rs":"bd9802772b0e5c8b3c550d1c24307f06c0d1e4ce656b4ae1cf092142bbe5412c","src/redox.rs":"3dd158ba9fbbabe96ce2607e91dbf07b93b37c0427734118702dcb4901fe8964","src/unix/bsd/apple/b32.rs":"110ecff78da0e8d405d861447904da403d8b3f6da1f0f9dc9987633f3f04fe46","src/unix/bsd/apple/b64.rs":"2c51c1c063bfb5076ecf08fbc9371ce9473878d2e046c186eb9433955f6f8ba6","src/unix/bsd/apple/mod.rs":"8e437addefb32336671f46b93a5a8827260163abcf623c0f1613d4d685faca34","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"54b3b30c4cac35ced9197e7267f209b0f168de8a6899ab0cba290c5ae399f0e7","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"c7f46b9ae23fde5a9e245a28ed1380066e67f081323b4d253a18e9da3b97b860","src/unix/bsd/freebsdlike/freebsd/mod.rs":"ba1bd1487b41be91115a21e3968d15e4d877043ba4946cd11ed2be2ee66afc19","src/unix/bsd/freebsdlike/freebsd/x86.rs":"54311d3ebf2bb091ab22361e377e6ef9224aec2ecfe459fbfcedde4932db9c58","src/unix/bsd/freebsdlike/f
 reebsd/x86_64.rs":"c7f46b9ae23fde5a9e245a28ed1380066e67f081323b4d253a18e9da3b97b860","src/unix/bsd/freebsdlike/mod.rs":"6b184872bf7979e5da042399a8aa3a46fff6716301f3d068912a2d6296c6ab94","src/unix/bsd/mod.rs":"c75c328dc62a621ce2a9408cb8764206e365e6f14db1bfe535a23c4728521d97","src/unix/bsd/netbsdlike/mod.rs":"50ca4e29f06669a0ebff72f2f24b2b08ff55478f580b1684e16a0cf6938a6a50","src/unix/bsd/netbsdlike/netbsd/mod.rs":"51f6f2309d59f8fb5dbd6b29ac4aa7ad431f1dddae151aef2db9f66c5f3362b0","src/unix/bsd/netbsdlike/netbsd/other/b32/mod.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/netbsd/other/b64/mod.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/netbsd/other/mod.rs":"4d9f7091af8e166943ac6f42ce85558909e5b6e61325039bff7adfbcf4b90212","src/unix/bsd/netbsdlike/openbsdlike/bitrig.rs":"f8cd05dacd3a3136c58da5a2fbe26f703767823b28e74fe8a2b57a7bd98d6d5c","src/unix/bsd/netbsdlike/openbsdlike/mod.rs":"97a7cdb
 8824949e6ca7202691bde4e1c46c2cfdeb5f3735a033!
 448b52da1!
 bb59","src/unix/bsd/netbsdlike/openbsdlike/openbsd.rs":"31686679c2df5f11437a338b9281fa0dd4f8d061dcd895d67619992171e115c9","src/unix/bsd/netbsdlike/openbsdlike/other/b32/mod.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/bsd/netbsdlike/openbsdlike/other/b64/mod.rs":"927eeccaf3269d299db4c2a55f8010807bf43dfa894aea6a783215f5d3560baa","src/unix/bsd/netbsdlike/openbsdlike/other/mod.rs":"f5d8db6f54efd05520b31b764a6bacbf612e1aebce097d2d5bfaaef3b91f37b5","src/unix/haiku/b32.rs":"bd251a102bed65d5cb3459275f6ec3310fe5803ff4c9651212115548f86256d0","src/unix/haiku/b64.rs":"b422430c550c0ba833c9206d1350861e344e3a2eb33d7d58693efb35044be1cc","src/unix/haiku/mod.rs":"f0daa9910d2beade8be1d67bab652c239e779a27e4be54f93b7bceb7afe45d30","src/unix/mod.rs":"841d523014553865ee35355425da44fe1a31944a991831efc7c046263ad44a89","src/unix/notbsd/android/b32/arm.rs":"d63a234f3a2399bdef1fa13c6a209386cb5ddac04c90f2c6d42badc8235dc49d","src/unix/notbsd/android/b32/mod.rs":"c09b53e42b286
 a7ec56fb28d0a3e71ec42fecaec39b2015d1d4a3338b172c570","src/unix/notbsd/android/b32/x86.rs":"10e6879dcbf136f0e907337987a0609b357e27e0f24ccb907525fcad881c24c3","src/unix/notbsd/android/b64/aarch64.rs":"d0a25e73f8d02f8412fa9237e41d3f4993b45603a2a8f8d1690bc6624a190d42","src/unix/notbsd/android/b64/mod.rs":"172d704a50d6fb9f67683c7e66ff15b5c9f7b11e7064aa8bd129228ff074393f","src/unix/notbsd/android/b64/x86_64.rs":"a2b048dad18c60ede035645bbfea2ba3dd75197c1ee0d54fb5fcab14d6c35194","src/unix/notbsd/android/mod.rs":"25d09d308f0beb7925a3efdf1fae8412251ea04f595f6852e52114df51b6747e","src/unix/notbsd/linux/mips/mips32.rs":"003b4e204e13380cd7f1ce783a0eded0f520f4e7d25634738e8ee50fc09b07c9","src/unix/notbsd/linux/mips/mips64.rs":"a8d3e38e9f9359233db04c66d7a8de957530ad2b8596661d3ac25ea81ee44a78","src/unix/notbsd/linux/mips/mod.rs":"7157a427fabff6e970288c75cb246981e316f76f3c2bb59b254d613a8389f859","src/unix/notbsd/linux/mod.rs":"c200ff5e7c7ad5d0b4c01531384acd408057665cb49175fba0d453b08c166bcf","src/uni
 x/notbsd/linux/musl/b32/arm.rs":"d43ba5c5289!
 26261b1cc!
 d529ab55636254360a084ab84a7ec22a4eb5afddb8f8","src/unix/notbsd/linux/musl/b32/asmjs.rs":"085e410f990312de76f74cb9bbf9fcc27d686e94334143b34511f565d1b8bb91","src/unix/notbsd/linux/musl/b32/mips.rs":"941c88bc413ba2b87eb6a6cfe03355ee148b865f39598456965b3d04b3adbbe6","src/unix/notbsd/linux/musl/b32/mod.rs":"fc7e055edbe6fa170c2bda6b3415066c1871b3e60ebb70a6329d008f77100f0b","src/unix/notbsd/linux/musl/b32/x86.rs":"ffa5781b52a7d2774a34b1e3e2034a498b919fd96eb85e88098dba2e674a3797","src/unix/notbsd/linux/musl/b64/aarch64.rs":"4009c7eaf703472daef2a70bdac910d9fc395a33689ef2e8cf1c4e692445d3f0","src/unix/notbsd/linux/musl/b64/mod.rs":"d9b03a59a54a568b07ffa4380103a926cbb45dbfd87745edef79cd971ef31283","src/unix/notbsd/linux/musl/b64/powerpc64.rs":"dc28f5b7284235d6cf5519053cac59a1c16dc39223b71cca0871e4880755f852","src/unix/notbsd/linux/musl/b64/x86_64.rs":"43291acc0dfc92c2fec8ba6ce77ee9ca3c20bcdccec18e149f95ba911cee704b","src/unix/notbsd/linux/musl/mod.rs":"0bd97702f5c84181c53f45466fb04afb9441f69505
 80b6ad59257e5c73089796","src/unix/notbsd/linux/other/b32/arm.rs":"d373022fd152341ec8f5d106937c7898dd68fb4c0346bd94a37526542a605e9a","src/unix/notbsd/linux/other/b32/mod.rs":"6122be151c5d85b9df6a3aaefc5cafd0657b371cafa9cb31ed9b1a394976af45","src/unix/notbsd/linux/other/b32/powerpc.rs":"cc85e75675abc37414fc7701dda7c3f6396e7b2d3c52eea7febdc41f7b033ea9","src/unix/notbsd/linux/other/b32/x86.rs":"5a6c789355da5abf64c2a0c867d2dfd4f72f004d0bd6c476fd34172b340ea1c3","src/unix/notbsd/linux/other/b64/aarch64.rs":"ce342b37a4a60c216625c8e177a50b3f328bdfd5c527e32e06c73f4aa5926829","src/unix/notbsd/linux/other/b64/mod.rs":"bee90e8d9217ee344d0e99fd483766a1b28e8b1ded930d44a0400a5e5224bb6a","src/unix/notbsd/linux/other/b64/powerpc64.rs":"fc7131f39a75a9e35d474d70b0bc829c52590dadf472ae5785972a94ffb95f12","src/unix/notbsd/linux/other/b64/sparc64.rs":"0ba7f399349bc586ebb73d0caef5c67f195c9e3a942eabfb2efd133b4cea9872","src/unix/notbsd/linux/other/b64/x86_64.rs":"bf17645b237d8059da5e9cc0f6d2d56bc665b0946a6deb
 8aedf46e5b44578fa6","src/unix/notbsd/linux/o!
 ther/mod.!
 rs":"46b060787a60493e71406be35b77c24048cdc54326b65c9961fbb1fb9d354de3","src/unix/notbsd/linux/s390x.rs":"2dec96036cadd8354cd56ef8dd7018e75ae92326ec7b5963bc9cdbba0c7d694b","src/unix/notbsd/mod.rs":"bb4550e749328a3aebc450a1684c136821babc3fc161093eecb231f3998cfe8c","src/unix/solaris/mod.rs":"ba70c4ebd371f2580c1fb8f3f6cd32a391ec017e1eed9812137caa94e5149a03","src/unix/uclibc/mips/mips32.rs":"31b23e466cffb86116421ec9240b86e7419aacd84b0b1b04d23c7142c8717566","src/unix/uclibc/mips/mips64.rs":"e67eec1636a998b047d89a4cda1c99cb6bc3071db017762675179a68201c4438","src/unix/uclibc/mips/mod.rs":"74817a9b1ee3998d8e0b751a555d57225f70fd979c283c94ada344a162a8b856","src/unix/uclibc/mod.rs":"3cef4087b743e5af239a8c699c2eeaeda4e19bb57a3683736c8bd87dc71e0a2d","src/unix/uclibc/x86_64/mod.rs":"98e6685519372f7b247e3bb0008ed2ee8d94fd7cca0ed2f0b9336485c734d8a9","src/windows.rs":"acccbd341e81206cb1dc66af41762c193ac0dd719d700b64f7e26c967ee7d670"},"package":"38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f
 78b7ddc"}
+\ No newline at end of file
+diff --git third_party/rust/libc/.travis.yml third_party/rust/libc/.travis.yml
+index fa07ffc7c7b6..b7721b5e6049 100644
+--- third_party/rust/libc/.travis.yml
++++ third_party/rust/libc/.travis.yml
+@@ -4,8 +4,7 @@ dist: trusty
+ services:
+   - docker
+ install:
+-  - curl https://static.rust-lang.org/rustup.sh |
+-    sh -s -- --add-target=$TARGET --disable-sudo -y --prefix=`rustc --print sysroot`
++  - if [ -z "$NO_ADD" ]; then rustup target add $TARGET; fi
+ script:
+   - cargo build
+   - cargo build --no-default-features
+@@ -17,7 +16,6 @@ script:
+       sh ci/run.sh $TARGET;
+     fi
+   - rustc ci/style.rs && ./style src
+-osx_image: xcode7.3
+ env:
+   global:
+     secure: "e2/3QjgRN9atOuSHp22TrYG7QVKcYUWY48Hi9b60w+r1+BhPkTseIJLte7WefRhdXtqpjjUJTooKDhnurFOeHaCT+nmBgiv+FPU893sBl4bhesY4m0vgUJVbNZcs6lTImYekWVb+aqjGdgV/XAgCw7c3kPmrZV0MzGDWL64Xaps="
+@@ -25,26 +23,26 @@ matrix:
+   include:
+     # 1.0.0 compat
+     - os: linux
+-      env: TARGET=x86_64-unknown-linux-gnu
++      env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
+       rust: 1.0.0
+       script: cargo build
+       install:
+ 
+     # build documentation
+     - os: linux
+-      env: TARGET=x86_64-unknown-linux-gnu
++      env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
+       rust: nightly
+       script: sh ci/dox.sh
+ 
+     # stable compat
+     - os: linux
+-      env: TARGET=x86_64-unknown-linux-gnu
++      env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
+       rust: stable
+     - os: linux
+       env: TARGET=i686-unknown-linux-gnu
+       rust: stable
+     - os: osx
+-      env: TARGET=x86_64-apple-darwin
++      env: TARGET=x86_64-apple-darwin NO_ADD=1
+       rust: stable
+     - os: osx
+       env: TARGET=i686-apple-darwin
+@@ -53,6 +51,16 @@ matrix:
+       env: TARGET=arm-linux-androideabi
+       rust: stable
+     - os: linux
++      env: TARGET=aarch64-linux-android
++      rust: stable
++    - os: linux
++      env: TARGET=i686-linux-android
++      rust: stable
++    # as of 2017/05/03 x86_64-linux-android are not on stable
++    - os: linux
++      env: TARGET=x86_64-linux-android
++      rust: beta
++    - os: linux
+       env: TARGET=x86_64-unknown-linux-musl
+       rust: stable
+     - os: linux
+@@ -65,9 +73,11 @@ matrix:
+       env: TARGET=aarch64-unknown-linux-gnu
+       rust: stable
+     - os: osx
++      osx_image: xcode8.2
+       env: TARGET=i386-apple-ios
+       rust: stable
+     - os: osx
++      osx_image: xcode8.2
+       env: TARGET=x86_64-apple-ios
+       rust: stable
+     - os: linux
+@@ -94,18 +104,18 @@ matrix:
+ 
+     # beta
+     - os: linux
+-      env: TARGET=x86_64-unknown-linux-gnu
++      env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
+       rust: beta
+     - os: osx
+-      env: TARGET=x86_64-apple-darwin
++      env: TARGET=x86_64-apple-darwin NO_ADD=1
+       rust: beta
+ 
+     # nightly
+     - os: linux
+-      env: TARGET=x86_64-unknown-linux-gnu
++      env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
+       rust: nightly
+     - os: osx
+-      env: TARGET=x86_64-apple-darwin
++      env: TARGET=x86_64-apple-darwin NO_ADD=1
+       rust: nightly
+ 
+     # QEMU based targets that compile in an emulator
+diff --git third_party/rust/libc/Cargo.toml third_party/rust/libc/Cargo.toml
+index 084337e0d30f..ecebaed935bb 100644
+--- third_party/rust/libc/Cargo.toml
++++ third_party/rust/libc/Cargo.toml
+@@ -1,7 +1,7 @@
+ [package]
+ 
+ name = "libc"
+-version = "0.2.20"
++version = "0.2.24"
+ authors = ["The Rust Project Developers"]
+ license = "MIT/Apache-2.0"
+ readme = "README.md"
+diff --git third_party/rust/libc/README.md third_party/rust/libc/README.md
+index 255283643508..67535d211e9c 100644
+--- third_party/rust/libc/README.md
++++ third_party/rust/libc/README.md
+@@ -98,6 +98,25 @@ We have two automated tests running on [Travis](https://travis-ci.org/rust-lang/
+ 2. Style checker
+   - `rustc ci/style.rs && ./style src`
+ 
++### Releasing your change to crates.io
++
++Now that you've done the amazing job of landing your new API or your new
++platform in this crate, the next step is to get that sweet, sweet usage from
++crates.io! The only next step is to bump the version of libc and then publish
++it. If you'd like to get a release out ASAP you can follow these steps:
++
++1. Update the version number in `Cargo.toml`, you'll just be bumping the patch
++   version number.
++2. Run `cargo update` to regenerate the lockfile to encode your version bump in
++   the lock file. You may pull in some other updated dependencies, that's ok.
++3. Send a PR to this repository. It should [look like this][example], but it'd
++   also be nice to fill out the description with a small rationale for the
++   release (any rationale is ok though!)
++4. Once merged the release will be tagged and published by one of the libc crate
++   maintainers.
++
++[example]: https://github.com/rust-lang/libc/pull/583
++
+ ## Platforms and Documentation
+ 
+ The following platforms are currently tested and have documentation available:
+@@ -111,7 +130,7 @@ Tested:
+   * [`i686-apple-darwin`](https://doc.rust-lang.org/libc/i686-apple-darwin/libc/)
+   * [`x86_64-apple-darwin`](https://doc.rust-lang.org/libc/x86_64-apple-darwin/libc/)
+     (OSX)
+-  * `i686-apple-ios`
++  * `i386-apple-ios`
+   * `x86_64-apple-ios`
+   * [`i686-unknown-linux-gnu`](https://doc.rust-lang.org/libc/i686-unknown-linux-gnu/libc/)
+   * [`x86_64-unknown-linux-gnu`](https://doc.rust-lang.org/libc/x86_64-unknown-linux-gnu/libc/)
+diff --git third_party/rust/libc/appveyor.yml third_party/rust/libc/appveyor.yml
+index a851bb87b6c3..b6c666c8b538 100644
+--- third_party/rust/libc/appveyor.yml
++++ third_party/rust/libc/appveyor.yml
+@@ -7,7 +7,7 @@ environment:
+   - TARGET: x86_64-pc-windows-msvc
+   - TARGET: i686-pc-windows-msvc
+ install:
+-  - curl -sSf -o rustup-init.exe https://win.rustup.rs/
++  - appveyor-retry appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
+   - rustup-init.exe -y --default-host %TARGET%
+   - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
+   - if defined MSYS2_BITS set PATH=%PATH%;C:\msys64\mingw%MSYS2_BITS%\bin
+diff --git third_party/rust/libc/ci/android-accept-licenses.sh third_party/rust/libc/ci/android-accept-licenses.sh
+new file mode 100755
+index 000000000000..8d8f60a5ec26
+--- /dev/null
++++ third_party/rust/libc/ci/android-accept-licenses.sh
+@@ -0,0 +1,15 @@
++#!/usr/bin/expect -f
++# ignore-license
++
++set timeout 1800
++set cmd [lindex $argv 0]
++set licenses [lindex $argv 1]
++
++spawn {*}$cmd
++expect {
++  "Do you accept the license '*'*" {
++        exp_send "y\r"
++        exp_continue
++  }
++  eof
++}
+diff --git third_party/rust/libc/ci/android-install-ndk.sh third_party/rust/libc/ci/android-install-ndk.sh
+new file mode 100644
+index 000000000000..75bcd20f2f77
+--- /dev/null
++++ third_party/rust/libc/ci/android-install-ndk.sh
+@@ -0,0 +1,36 @@
++#!/bin/sh
++# Copyright 2016 The Rust Project Developers. See the COPYRIGHT
++# file at the top-level directory of this distribution and at
++# http://rust-lang.org/COPYRIGHT.
++#
++# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
++# http://www.apache.org/licenses/LICENSE-2.0>; or the MIT license
++# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
++# option. This file may not be copied, modified, or distributed
++# except according to those terms.
++
++set -ex
++
++curl -O https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip
++unzip -q android-ndk-r13b-linux-x86_64.zip
++
++case "$1" in
++  aarch64)
++    arch=arm64
++    ;;
++
++  i686)
++    arch=x86
++    ;;
++
++  *)
++    arch=$1
++    ;;
++esac;
++
++android-ndk-r13b/build/tools/make_standalone_toolchain.py \
++        --install-dir /android/ndk-$1 \
++        --arch $arch \
++        --api 24
++
++rm -rf ./android-ndk-r13b-linux-x86_64.zip ./android-ndk-r13b
+diff --git third_party/rust/libc/ci/android-install-sdk.sh third_party/rust/libc/ci/android-install-sdk.sh
+new file mode 100644
+index 000000000000..d03b7623bf78
+--- /dev/null
++++ third_party/rust/libc/ci/android-install-sdk.sh
+@@ -0,0 +1,57 @@
++#!/bin/sh
++# Copyright 2016 The Rust Project Developers. See the COPYRIGHT
++# file at the top-level directory of this distribution and at
++# http://rust-lang.org/COPYRIGHT.
++#
++# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
++# http://www.apache.org/licenses/LICENSE-2.0>; or the MIT license
++# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
++# option. This file may not be copied, modified, or distributed
++# except according to those terms.
++
++set -ex
++
++# Prep the SDK and emulator
++#
++# Note that the update process requires that we accept a bunch of licenses, and
++# we can't just pipe `yes` into it for some reason, so we take the same strategy
++# located in https://github.com/appunite/docker by just wrapping it in a script
++# which apparently magically accepts the licenses.
++
++mkdir sdk
++curl https://dl.google.com/android/repository/tools_r25.2.5-linux.zip -O
++unzip -d sdk tools_r25.2.5-linux.zip
++
++filter="platform-tools,android-24"
++
++case "$1" in
++  arm | armv7)
++    abi=armeabi-v7a
++    ;;
++
++  aarch64)
++    abi=arm64-v8a
++    ;;
++
++  i686)
++    abi=x86
++    ;;
++
++  x86_64)
++    abi=x86_64
++    ;;
++
++  *)
++    echo "invalid arch: $1"
++    exit 1
++    ;;
++esac;
++
++filter="$filter,sys-img-$abi-android-24"
++
++./android-accept-licenses.sh "android - update sdk -a --no-ui --filter $filter"
++
++echo "no" | android create avd \
++                --name $1 \
++                --target android-24 \
++                --abi $abi
+diff --git third_party/rust/libc/ci/android-sysimage.sh third_party/rust/libc/ci/android-sysimage.sh
+new file mode 100644
+index 000000000000..9611dfeb0d52
+--- /dev/null
++++ third_party/rust/libc/ci/android-sysimage.sh
+@@ -0,0 +1,52 @@
++# Copyright 2017 The Rust Project Developers. See the COPYRIGHT
++# file at the top-level directory of this distribution and at
++# http://rust-lang.org/COPYRIGHT.
++#
++# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
++# http://www.apache.org/licenses/LICENSE-2.0>; or the MIT license
++# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
++# option. This file may not be copied, modified, or distributed
++# except according to those terms.
++
++set -ex
++
++URL=https://dl.google.com/android/repository/sys-img/android
++
++main() {
++    local arch=$1
++    local name=$2
++    local dest=/system
++    local td=$(mktemp -d)
++
++    apt-get install --no-install-recommends e2tools
++
++    pushd $td
++    curl -O $URL/$name
++    unzip -q $name
++
++    local system=$(find . -name system.img)
++    mkdir -p $dest/{bin,lib,lib64}
++
++    # Extract android linker and libraries to /system
++    # This allows android executables to be run directly (or with qemu)
++    if [ $arch = "x86_64" -o $arch = "arm64" ]; then
++        e2cp -p $system:/bin/linker64 $dest/bin/
++        e2cp -p $system:/lib64/libdl.so $dest/lib64/
++        e2cp -p $system:/lib64/libc.so $dest/lib64/
++        e2cp -p $system:/lib64/libm.so $dest/lib64/
++    else
++        e2cp -p $system:/bin/linker $dest/bin/
++        e2cp -p $system:/lib/libdl.so $dest/lib/
++        e2cp -p $system:/lib/libc.so $dest/lib/
++        e2cp -p $system:/lib/libm.so $dest/lib/
++    fi
++
++    # clean up
++    apt-get purge --auto-remove -y e2tools
++
++    popd
++
++    rm -rf $td
++}
++
++main "${@}"
+diff --git third_party/rust/libc/ci/docker/aarch64-linux-android/Dockerfile third_party/rust/libc/ci/docker/aarch64-linux-android/Dockerfile
+new file mode 100644
+index 000000000000..7ad84926bf82
+--- /dev/null
++++ third_party/rust/libc/ci/docker/aarch64-linux-android/Dockerfile
+@@ -0,0 +1,32 @@
++FROM ubuntu:16.04
++
++RUN dpkg --add-architecture i386 && \
++    apt-get update && \
++    apt-get install -y --no-install-recommends \
++  file \
++  curl \
++  ca-certificates \
++  python \
++  unzip \
++  expect \
++  openjdk-9-jre \
++  libstdc++6:i386 \
++  libpulse0 \
++  gcc \
++  libc6-dev
++
++WORKDIR /android/
++COPY android* /android/
++
++ENV ANDROID_ARCH=aarch64
++ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/tools:/android/sdk/platform-tools
++
++RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
++RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
++RUN mv /root/.android /tmp
++RUN chmod 777 -R /tmp/.android
++RUN chmod 755 /android/sdk/tools/* /android/sdk/tools/qemu/linux-x86_64/*
++
++ENV PATH=$PATH:/rust/bin \
++    CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android-gcc \
++    HOME=/tmp
+diff --git third_party/rust/libc/ci/docker/arm-linux-androideabi/Dockerfile third_party/rust/libc/ci/docker/arm-linux-androideabi/Dockerfile
+index 1911fbd87970..054941416dfb 100644
+--- third_party/rust/libc/ci/docker/arm-linux-androideabi/Dockerfile
++++ third_party/rust/libc/ci/docker/arm-linux-androideabi/Dockerfile
+@@ -11,24 +11,22 @@ RUN dpkg --add-architecture i386 && \
+   expect \
+   openjdk-9-jre \
+   libstdc++6:i386 \
++  libpulse0 \
+   gcc \
+   libc6-dev
+ 
+ WORKDIR /android/
++COPY android* /android/
+ 
+-COPY install-ndk.sh /android/
+-RUN sh /android/install-ndk.sh
++ENV ANDROID_ARCH=arm
++ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/tools:/android/sdk/platform-tools
+ 
+-ENV PATH=$PATH:/android/ndk-arm/bin:/android/sdk/tools:/android/sdk/platform-tools
+-
+-COPY install-sdk.sh accept-licenses.sh /android/
+-RUN sh /android/install-sdk.sh
++RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
++RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
++RUN mv /root/.android /tmp
++RUN chmod 777 -R /tmp/.android
++RUN chmod 755 /android/sdk/tools/* /android/sdk/tools/qemu/linux-x86_64/*
+ 
+ ENV PATH=$PATH:/rust/bin \
+     CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc \
+-    ANDROID_EMULATOR_FORCE_32BIT=1 \
+     HOME=/tmp
+-RUN chmod 755 /android/sdk/tools/*
+-
+-RUN cp -r /root/.android /tmp
+-RUN chmod 777 -R /tmp/.android
+diff --git third_party/rust/libc/ci/docker/arm-linux-androideabi/accept-licenses.sh third_party/rust/libc/ci/docker/arm-linux-androideabi/accept-licenses.sh
+deleted file mode 100755
+index 8d8f60a5ec26..000000000000
+--- third_party/rust/libc/ci/docker/arm-linux-androideabi/accept-licenses.sh
++++ /dev/null
+@@ -1,15 +0,0 @@
+-#!/usr/bin/expect -f
+-# ignore-license
+-
+-set timeout 1800
+-set cmd [lindex $argv 0]
+-set licenses [lindex $argv 1]
+-
+-spawn {*}$cmd
+-expect {
+-  "Do you accept the license '*'*" {
+-        exp_send "y\r"
+-        exp_continue
+-  }
+-  eof
+-}
+diff --git third_party/rust/libc/ci/docker/arm-linux-androideabi/install-ndk.sh third_party/rust/libc/ci/docker/arm-linux-androideabi/install-ndk.sh
+deleted file mode 100644
+index 566a3191848a..000000000000
+--- third_party/rust/libc/ci/docker/arm-linux-androideabi/install-ndk.sh
++++ /dev/null
+@@ -1,21 +0,0 @@
+-#!/bin/sh
+-# Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+-# file at the top-level directory of this distribution and at
+-# http://rust-lang.org/COPYRIGHT.
+-#
+-# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+-# http://www.apache.org/licenses/LICENSE-2.0>; or the MIT license
+-# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+-# option. This file may not be copied, modified, or distributed
+-# except according to those terms.
+-
+-set -ex
+-
+-curl -O https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip
+-unzip -q android-ndk-r13b-linux-x86_64.zip
+-android-ndk-r13b/build/tools/make_standalone_toolchain.py \
+-        --install-dir /android/ndk-arm \
+-        --arch arm \
+-        --api 24
+-
+-rm -rf ./android-ndk-r13b-linux-x86_64.zip ./android-ndk-r13b
+diff --git third_party/rust/libc/ci/docker/arm-linux-androideabi/install-sdk.sh third_party/rust/libc/ci/docker/arm-linux-androideabi/install-sdk.sh
+deleted file mode 100644
+index 3f20837fe061..000000000000
+--- third_party/rust/libc/ci/docker/arm-linux-androideabi/install-sdk.sh
++++ /dev/null
+@@ -1,33 +0,0 @@
+-#!/bin/sh
+-# Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+-# file at the top-level directory of this distribution and at
+-# http://rust-lang.org/COPYRIGHT.
+-#
+-# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+-# http://www.apache.org/licenses/LICENSE-2.0>; or the MIT license
+-# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+-# option. This file may not be copied, modified, or distributed
+-# except according to those terms.
+-
+-set -ex
+-
+-# Prep the SDK and emulator
+-#
+-# Note that the update process requires that we accept a bunch of licenses, and
+-# we can't just pipe `yes` into it for some reason, so we take the same strategy
+-# located in https://github.com/appunite/docker by just wrapping it in a script
+-# which apparently magically accepts the licenses.
+-
+-mkdir sdk
+-curl https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz | \
+-    tar xzf - -C sdk --strip-components=1
+-
+-filter="platform-tools,android-21"
+-filter="$filter,sys-img-armeabi-v7a-android-21"
+-
+-./accept-licenses.sh "android - update sdk -a --no-ui --filter $filter"
+-
+-echo "no" | android create avd \
+-                --name arm-21 \
+-                --target android-21 \
+-                --abi armeabi-v7a
+diff --git third_party/rust/libc/ci/docker/i686-linux-android/Dockerfile third_party/rust/libc/ci/docker/i686-linux-android/Dockerfile
+new file mode 100644
+index 000000000000..bee904379645
+--- /dev/null
++++ third_party/rust/libc/ci/docker/i686-linux-android/Dockerfile
+@@ -0,0 +1,32 @@
++FROM ubuntu:16.04
++
++RUN dpkg --add-architecture i386 && \
++    apt-get update && \
++    apt-get install -y --no-install-recommends \
++  file \
++  curl \
++  ca-certificates \
++  python \
++  unzip \
++  expect \
++  openjdk-9-jre \
++  libstdc++6:i386 \
++  libpulse0 \
++  gcc \
++  libc6-dev
++
++WORKDIR /android/
++COPY android* /android/
++
++ENV ANDROID_ARCH=i686
++ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/tools:/android/sdk/platform-tools
++
++RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
++RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
++RUN mv /root/.android /tmp
++RUN chmod 777 -R /tmp/.android
++RUN chmod 755 /android/sdk/tools/* /android/sdk/tools/qemu/linux-x86_64/*
++
++ENV PATH=$PATH:/rust/bin \
++    CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android-gcc \
++    HOME=/tmp
+diff --git third_party/rust/libc/ci/docker/i686-unknown-linux-musl/Dockerfile third_party/rust/libc/ci/docker/i686-unknown-linux-musl/Dockerfile
+index 87459a1672bd..bdc2272a35dc 100644
+--- third_party/rust/libc/ci/docker/i686-unknown-linux-musl/Dockerfile
++++ third_party/rust/libc/ci/docker/i686-unknown-linux-musl/Dockerfile
+@@ -1,8 +1,9 @@
+ FROM ubuntu:16.10
+ 
++RUN dpkg --add-architecture i386
+ RUN apt-get update
+ RUN apt-get install -y --no-install-recommends \
+-  gcc make libc6-dev git curl ca-certificates
++  gcc-multilib make libc6-dev git curl ca-certificates libc6:i386
+ # Below we're cross-compiling musl for i686 using the system compiler on an
+ # x86_64 system. This is an awkward thing to be doing and so we have to jump
+ # through a couple hoops to get musl to be happy. In particular:
+diff --git third_party/rust/libc/ci/docker/x86_64-linux-android/Dockerfile third_party/rust/libc/ci/docker/x86_64-linux-android/Dockerfile
+new file mode 100644
+index 000000000000..dfc0c83dae92
+--- /dev/null
++++ third_party/rust/libc/ci/docker/x86_64-linux-android/Dockerfile
+@@ -0,0 +1,26 @@
++FROM ubuntu:16.04
++
++RUN apt-get update && \
++    apt-get install -y --no-install-recommends \
++  ca-certificates \
++  curl \
++  gcc \
++  libc-dev \
++  python \
++  unzip
++
++WORKDIR /android/
++ENV ANDROID_ARCH=x86_64
++COPY android-install-ndk.sh /android/
++RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
++
++# We do not run x86_64-linux-android tests on an android emulator.
++# See ci/android-sysimage.sh for informations about how tests are run.
++COPY android-sysimage.sh /android/
++RUN bash /android/android-sysimage.sh x86_64 x86_64-21_r04.zip
++
++ENV PATH=$PATH:/rust/bin:/android/ndk-$ANDROID_ARCH/bin \
++    CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=x86_64-linux-android-gcc \
++    CC_x86_64_linux_android=x86_64-linux-android-gcc \
++    CXX_x86_64_linux_android=x86_64-linux-android-g++ \
++    HOME=/tmp
+diff --git third_party/rust/libc/ci/ios/deploy_and_run_on_ios_simulator.rs third_party/rust/libc/ci/ios/deploy_and_run_on_ios_simulator.rs
+new file mode 100644
+index 000000000000..b14615036d02
+--- /dev/null
++++ third_party/rust/libc/ci/ios/deploy_and_run_on_ios_simulator.rs
+@@ -0,0 +1,171 @@
++// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
++// file at the top-level directory of this distribution and at
++// http://rust-lang.org/COPYRIGHT.
++//
++// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
++// http://www.apache.org/licenses/LICENSE-2.0>; or the MIT license
++// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
++// option. This file may not be copied, modified, or distributed
++// except according to those terms.
++
++// This is a script to deploy and execute a binary on an iOS simulator.
++// The primary use of this is to be able to run unit tests on the simulator and
++// retrieve the results.
++//
++// To do this through Cargo instead, use Dinghy
++// (https://github.com/snipsco/dinghy): cargo dinghy install, then cargo dinghy
++// test.
++
++use std::env;
++use std::fs::{self, File};
++use std::io::Write;
++use std::path::Path;
++use std::process;
++use std::process::Command;
++
++macro_rules! t {
++    ($e:expr) => (match $e {
++        Ok(e) => e,
++        Err(e) => panic!("{} failed with: {}", stringify!($e), e),
++    })
++}
++
++// Step one: Wrap as an app
++fn package_as_simulator_app(crate_name: &str, test_binary_path: &Path) {
++    println!("Packaging simulator app");
++    drop(fs::remove_dir_all("ios_simulator_app"));
++    t!(fs::create_dir("ios_simulator_app"));
++    t!(fs::copy(test_binary_path,
++                Path::new("ios_simulator_app").join(crate_name)));
++
++    let mut f = t!(File::create("ios_simulator_app/Info.plist"));
++    t!(f.write_all(format!(r#"
++        <?xml version="1.0" encoding="UTF-8"?>
++        <!DOCTYPE plist PUBLIC
++                "-//Apple//DTD PLIST 1.0//EN"
++                "http://www.apple.com/DTDs/PropertyList-1.0.dtd">;
++        <plist version="1.0">
++            <dict>
++                <key>CFBundleExecutable</key>
++                <string>{}</string>
++                <key>CFBundleIdentifier</key>
++                <string>com.rust.unittests</string>
++            </dict>
++        </plist>
++    "#, crate_name).as_bytes()));
++}
++
++// Step two: Start the iOS simulator
++fn start_simulator() {
++    println!("Looking for iOS simulator");
++    let output = t!(Command::new("xcrun").arg("simctl").arg("list").output());
++    assert!(output.status.success());
++    let mut simulator_exists = false;
++    let mut simulator_booted = false;
++    let mut found_rust_sim = false;
++    let stdout = t!(String::from_utf8(output.stdout));
++    for line in stdout.lines() {
++        if line.contains("rust_ios") {
++            if found_rust_sim {
++                panic!("Duplicate rust_ios simulators found. Please \
++                        double-check xcrun simctl list.");
++            }
++            simulator_exists = true;
++            simulator_booted = line.contains("(Booted)");
++            found_rust_sim = true;
++        }
++    }
++
++    if simulator_exists == false {
++        println!("Creating iOS simulator");
++        Command::new("xcrun")
++                .arg("simctl")
++                .arg("create")
++                .arg("rust_ios")
++                .arg("com.apple.CoreSimulator.SimDeviceType.iPhone-SE")
++                .arg("com.apple.CoreSimulator.SimRuntime.iOS-10-2")
++                .check_status();
++    } else if simulator_booted == true {
++        println!("Shutting down already-booted simulator");
++        Command::new("xcrun")
++                .arg("simctl")
++                .arg("shutdown")
++                .arg("rust_ios")
++                .check_status();
++    }
++
++    println!("Starting iOS simulator");
++    // We can't uninstall the app (if present) as that will hang if the
++    // simulator isn't completely booted; just erase the simulator instead.
++    Command::new("xcrun").arg("simctl").arg("erase").arg("rust_ios").check_status();
++    Command::new("xcrun").arg("simctl").arg("boot").arg("rust_ios").check_status();
++}
++
++// Step three: Install the app
++fn install_app_to_simulator() {
++    println!("Installing app to simulator");
++    Command::new("xcrun")
++            .arg("simctl")
++            .arg("install")
++            .arg("booted")
++            .arg("ios_simulator_app/")
++            .check_status();
++}
++
++// Step four: Run the app
++fn run_app_on_simulator() {
++    println!("Running app");
++    let output = t!(Command::new("xcrun")
++                    .arg("simctl")
++                    .arg("launch")
++                    .arg("--console")
++                    .arg("booted")
++                    .arg("com.rust.unittests")
++                    .output());
++
++    println!("stdout --\n{}\n", String::from_utf8_lossy(&output.stdout));
++    println!("stderr --\n{}\n", String::from_utf8_lossy(&output.stderr));
++
++    let stdout = String::from_utf8_lossy(&output.stdout);
++    let passed = stdout.lines()
++                       .find(|l| l.contains("PASSED"))
++                       .map(|l| l.contains("tests"))
++                       .unwrap_or(false);
++
++    println!("Shutting down simulator");
++    Command::new("xcrun")
++        .arg("simctl")
++        .arg("shutdown")
++        .arg("rust_ios")
++        .check_status();
++    if !passed {
++        panic!("tests didn't pass");
++    }
++}
++
++trait CheckStatus {
++    fn check_status(&mut self);
++}
++
++impl CheckStatus for Command {
++    fn check_status(&mut self) {
++        println!("\trunning: {:?}", self);
++        assert!(t!(self.status()).success());
++    }
++}
++
++fn main() {
++    let args: Vec<String> = env::args().collect();
++    if args.len() != 2 {
++        println!("Usage: {} <executable>", args[0]);
++        process::exit(-1);
++    }
++
++    let test_binary_path = Path::new(&args[1]);
++    let crate_name = test_binary_path.file_name().unwrap();
++
++    package_as_simulator_app(crate_name.to_str().unwrap(), test_binary_path);
++    start_simulator();
++    install_app_to_simulator();
++    run_app_on_simulator();
++}
+diff --git third_party/rust/libc/ci/run-docker.sh third_party/rust/libc/ci/run-docker.sh
+index a7702ae1dc51..e963078af8c1 100644
+--- third_party/rust/libc/ci/run-docker.sh
++++ third_party/rust/libc/ci/run-docker.sh
+@@ -5,12 +5,17 @@ set -ex
+ 
+ run() {
+     echo $1
+-    docker build -t libc ci/docker/$1
++    # use -f so we can use ci/ as build context
++    docker build -t libc -f ci/docker/$1/Dockerfile ci/
+     mkdir -p target
++    if [ -w /dev/kvm ]; then
++      kvm="--volume /dev/kvm:/dev/kvm"
++    fi
+     docker run \
+       --user `id -u`:`id -g` \
+       --rm \
+       --volume $HOME/.cargo:/cargo \
++      $kvm \
+       --env CARGO_HOME=/cargo \
+       --volume `rustc --print sysroot`:/rust:ro \
+       --volume `pwd`:/checkout:ro \
+@@ -18,8 +23,6 @@ run() {
+       --env CARGO_TARGET_DIR=/checkout/target \
+       --workdir /checkout \
+       --privileged \
+-      --interactive \
+-      --tty \
+       libc \
+       ci/run.sh $1
+ }
+diff --git third_party/rust/libc/ci/run.sh third_party/rust/libc/ci/run.sh
+index 179fe7a88532..3ddc7b395476 100755
+--- third_party/rust/libc/ci/run.sh
++++ third_party/rust/libc/ci/run.sh
+@@ -105,14 +105,36 @@ case "$TARGET" in
+ esac
+ 
+ case "$TARGET" in
+-  arm-linux-androideabi)
+-    emulator @arm-21 -no-window &
++  # Android emulator for x86_64 does not work on travis (missing hardware
++  # acceleration). Tests are run on case *). See ci/android-sysimage.sh for
++  # informations about how tests are run.
++  arm-linux-androideabi | aarch64-linux-android | i686-linux-android)
++    # set SHELL so android can detect a 64bits system, see
++    # http://stackoverflow.com/a/41789144
++    # https://issues.jenkins-ci.org/browse/JENKINS-26930?focusedCommentId=230791&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-230791
++    export SHELL=/bin/dash
++    arch=$(echo $TARGET | cut -d- -f1)
++    accel="-no-accel"
++    if emulator -accel-check; then
++      accel=""
++    fi
++    emulator @$arch -no-window $accel &
+     adb wait-for-device
+-    adb push $CARGO_TARGET_DIR/$TARGET/debug/libc-test /data/libc-test
+-    adb shell /data/libc-test 2>&1 | tee /tmp/out
++    adb push $CARGO_TARGET_DIR/$TARGET/debug/libc-test /data/local/tmp/libc-test
++    adb shell /data/local/tmp/libc-test 2>&1 | tee /tmp/out
+     grep "^PASSED .* tests" /tmp/out
+     ;;
+ 
++  i386-apple-ios)
++    rustc -O ./ci/ios/deploy_and_run_on_ios_simulator.rs
++    ./deploy_and_run_on_ios_simulator $CARGO_TARGET_DIR/$TARGET/debug/libc-test
++    ;;
++
++  x86_64-apple-ios)
++    rustc -O ./ci/ios/deploy_and_run_on_ios_simulator.rs
++    ./deploy_and_run_on_ios_simulator $CARGO_TARGET_DIR/$TARGET/debug/libc-test
++    ;;
++
+   arm-unknown-linux-gnueabihf)
+     qemu-arm -L /usr/arm-linux-gnueabihf $CARGO_TARGET_DIR/$TARGET/debug/libc-test
+     ;;
+diff --git third_party/rust/libc/src/dox.rs third_party/rust/libc/src/dox.rs
+index fbec3f2d4e69..41aac385f47b 100644
+--- third_party/rust/libc/src/dox.rs
++++ third_party/rust/libc/src/dox.rs
+@@ -26,6 +26,9 @@ mod imp {
+     #[lang = "copy"]
+     pub trait Copy {}
+ 
++    #[lang = "freeze"]
++    pub trait Freeze {}
++
+     #[lang = "sync"]
+     pub trait Sync {}
+     impl<T> Sync for T {}
+diff --git third_party/rust/libc/src/lib.rs third_party/rust/libc/src/lib.rs
+index 5b80aca66c9d..c17a504787db 100644
+--- third_party/rust/libc/src/lib.rs
++++ third_party/rust/libc/src/lib.rs
+@@ -243,6 +243,7 @@ extern {
+     pub fn strtok(s: *mut c_char, t: *const c_char) -> *mut c_char;
+     pub fn strxfrm(s: *mut c_char, ct: *const c_char, n: size_t) -> size_t;
+     pub fn wcslen(buf: *const wchar_t) -> size_t;
++    pub fn wcstombs(dest: *mut c_char, src: *const wchar_t, n: size_t) -> ::size_t;
+ 
+     pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void;
+     pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int;
+diff --git third_party/rust/libc/src/unix/bsd/apple/b64.rs third_party/rust/libc/src/unix/bsd/apple/b64.rs
+index 327a4b63116b..3f83230805fe 100644
+--- third_party/rust/libc/src/unix/bsd/apple/b64.rs
++++ third_party/rust/libc/src/unix/bsd/apple/b64.rs
+@@ -17,3 +17,5 @@ pub const __PTHREAD_RWLOCK_SIZE__: usize = 192;
+ 
+ pub const TIOCTIMESTAMP: ::c_ulong = 0x40107459;
+ pub const TIOCDCDTIMESTAMP: ::c_ulong = 0x40107458;
++
++pub const FIONREAD: ::c_ulong = 0x4004667f;
+diff --git third_party/rust/libc/src/unix/bsd/apple/mod.rs third_party/rust/libc/src/unix/bsd/apple/mod.rs
+index afd2610e1a0a..148188b10705 100644
+--- third_party/rust/libc/src/unix/bsd/apple/mod.rs
++++ third_party/rust/libc/src/unix/bsd/apple/mod.rs
+@@ -665,6 +665,12 @@ pub const F_ALLOCATEALL: ::c_uint = 0x04;
+ pub const F_PEOFPOSMODE: ::c_int = 3;
+ pub const F_VOLPOSMODE: ::c_int = 4;
+ 
++pub const AT_FDCWD: ::c_int = -2;
++pub const AT_EACCESS: ::c_int = 0x0010;
++pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x0020;
++pub const AT_SYMLINK_FOLLOW: ::c_int = 0x0040;
++pub const AT_REMOVEDIR: ::c_int = 0x0080;
++
+ pub const O_ACCMODE: ::c_int = 3;
+ 
+ pub const TIOCMODG: ::c_ulong = 0x40047403;
+@@ -731,6 +737,32 @@ pub const TIOCPTYGRANT: ::c_uint = 0x20007454;
+ pub const TIOCPTYGNAME: ::c_uint = 0x40807453;
+ pub const TIOCPTYUNLK: ::c_uint = 0x20007452;
+ 
++pub const B0: speed_t = 0;
++pub const B50: speed_t = 50;
++pub const B75: speed_t = 75;
++pub const B110: speed_t = 110;
++pub const B134: speed_t = 134;
++pub const B150: speed_t = 150;
++pub const B200: speed_t = 200;
++pub const B300: speed_t = 300;
++pub const B600: speed_t = 600;
++pub const B1200: speed_t = 1200;
++pub const B1800: speed_t = 1800;
++pub const B2400: speed_t = 2400;
++pub const B4800: speed_t = 4800;
++pub const B9600: speed_t = 9600;
++pub const B19200: speed_t = 19200;
++pub const B38400: speed_t = 38400;
++pub const B7200: speed_t = 7200;
++pub const B14400: speed_t = 14400;
++pub const B28800: speed_t = 28800;
++pub const B57600: speed_t = 57600;
++pub const B76800: speed_t = 76800;
++pub const B115200: speed_t = 115200;
++pub const B230400: speed_t = 230400;
++pub const EXTA: speed_t = 19200;

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706291543.v5TFhoVY071288>