about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-09-25 05:05:14 +0000
committerbors <bors@rust-lang.org>2017-09-25 05:05:14 +0000
commitcd93969ec4fb2d0bc2b5376aec269cf08491187b (patch)
tree700a94606a181eaf708c80335232ed7778e7b5c8
parent7a9cdc4c2a98c3a889604762dccd463757079798 (diff)
parenta3aef1aa95a3f2807b80af0336c4fe14dba06bb1 (diff)
downloadrust-cd93969ec4fb2d0bc2b5376aec269cf08491187b.tar.gz
rust-cd93969ec4fb2d0bc2b5376aec269cf08491187b.zip
Auto merge of #44612 - pylaligand:magenta-to-zircon, r=alexcrichton
The Magenta kernel is now called Zircon.
-rw-r--r--src/bootstrap/sanity.rs5
-rw-r--r--src/ci/docker/dist-fuchsia/Dockerfile29
-rwxr-xr-xsrc/ci/docker/dist-fuchsia/build-toolchain.sh109
-rw-r--r--src/ci/docker/dist-fuchsia/compiler-rt-dso-handle.patch41
m---------src/liblibc0
-rw-r--r--src/libstd/build.rs4
-rw-r--r--src/libstd/sys/unix/process/mod.rs2
-rw-r--r--src/libstd/sys/unix/process/process_fuchsia.rs76
-rw-r--r--src/libstd/sys/unix/process/zircon.rs (renamed from src/libstd/sys/unix/process/magenta.rs)182
-rw-r--r--src/libstd/sys/unix/rand.rs8
-rw-r--r--src/tools/tidy/src/deps.rs3
11 files changed, 180 insertions, 279 deletions
diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
index 54208d8bb57..8b23be69a85 100644
--- a/src/bootstrap/sanity.rs
+++ b/src/bootstrap/sanity.rs
@@ -221,8 +221,9 @@ $ pacman -R cmake && pacman -S mingw-w64-x86_64-cmake
     let run = |cmd: &mut Command| {
         cmd.output().map(|output| {
             String::from_utf8_lossy(&output.stdout)
-                   .lines().next().unwrap()
-                   .to_string()
+                   .lines().next().unwrap_or_else(|| {
+                       panic!("{:?} failed {:?}", cmd, output)
+                   }).to_string()
         })
     };
     build.lldb_version = run(Command::new("lldb").arg("--version")).ok();
diff --git a/src/ci/docker/dist-fuchsia/Dockerfile b/src/ci/docker/dist-fuchsia/Dockerfile
index e18cb453baf..bcd95924b42 100644
--- a/src/ci/docker/dist-fuchsia/Dockerfile
+++ b/src/ci/docker/dist-fuchsia/Dockerfile
@@ -1,27 +1,26 @@
 FROM ubuntu:16.04
 
-RUN apt-get update && apt-get install -y --no-install-recommends \
+RUN apt-get update && apt-get build-dep -y clang llvm && apt-get install -y \
+  build-essential \
+  bzip2 \
+  ca-certificates \
+  cmake \
+  curl \
+  file \
   g++ \
+  gdb \
+  git \
+  libedit-dev \
   make \
   ninja-build \
-  file \
-  curl \
-  ca-certificates \
+  nodejs \
   python2.7-dev \
-  git \
   sudo \
-  bzip2 \
   xz-utils \
-  swig \
-  libedit-dev \
-  libncurses5-dev \
-  patch
-
-RUN curl -L https://cmake.org/files/v3.8/cmake-3.8.0-rc1-Linux-x86_64.tar.gz | \
-      tar xzf - -C /usr/local --strip-components=1
+  unzip
 
 WORKDIR /tmp
-COPY dist-fuchsia/shared.sh dist-fuchsia/build-toolchain.sh dist-fuchsia/compiler-rt-dso-handle.patch /tmp/
+COPY dist-fuchsia/shared.sh dist-fuchsia/build-toolchain.sh /tmp/
 RUN /tmp/build-toolchain.sh
 
 COPY scripts/sccache.sh /scripts/
@@ -39,4 +38,4 @@ ENV TARGETS=x86_64-unknown-fuchsia
 ENV TARGETS=$TARGETS,aarch64-unknown-fuchsia
 
 ENV RUST_CONFIGURE_ARGS --target=$TARGETS --enable-extended
-ENV SCRIPT python2.7 ../x.py dist --target $TARGETS
+ENV SCRIPT python2.7 ../x.py dist --target $TARGETS
\ No newline at end of file
diff --git a/src/ci/docker/dist-fuchsia/build-toolchain.sh b/src/ci/docker/dist-fuchsia/build-toolchain.sh
index 10b285a5466..756013a235c 100755
--- a/src/ci/docker/dist-fuchsia/build-toolchain.sh
+++ b/src/ci/docker/dist-fuchsia/build-toolchain.sh
@@ -14,105 +14,44 @@
 set -ex
 source shared.sh
 
-# Download sources
-SRCS=(
-  "https://fuchsia.googlesource.com/magenta magenta d17073dc8de344ead3b65e8cc6a12280dec38c84"
-  "https://llvm.googlesource.com/llvm llvm 3f58a16d8eec385e2b3ebdfbb84ff9d3bf27e025"
-  "https://llvm.googlesource.com/clang llvm/tools/clang 727ea63e6e82677f6e10e05e08bc7d6bdbae3111"
-  "https://llvm.googlesource.com/lld llvm/tools/lld a31286c1366e5e89b8872803fded13805a1a084b"
-  "https://llvm.googlesource.com/lldb llvm/tools/lldb 0b2384abec4cb99ad66687712e07dee4dd9d187e"
-  "https://llvm.googlesource.com/compiler-rt llvm/runtimes/compiler-rt 9093a35c599fe41278606a20b51095ea8bd5a081"
-  "https://llvm.googlesource.com/libcxx llvm/runtimes/libcxx 607e0c71ec4f7fd377ad3f6c47b08dbe89f66eaa"
-  "https://llvm.googlesource.com/libcxxabi llvm/runtimes/libcxxabi 0a3a1a8a5ca5ef69e0f6b7d5b9d13e63e6fd2c19"
-  "https://llvm.googlesource.com/libunwind llvm/runtimes/libunwind e128003563d99d9ee62247c4cee40f07d21c03e3"
-)
-
-fetch() {
-  mkdir -p $2
-  pushd $2 > /dev/null
-  git init
-  git remote add origin $1
-  git fetch --depth=1 origin $3
-  git reset --hard FETCH_HEAD
-  popd > /dev/null
-}
+ZIRCON=e9a26dbc70d631029f8ee9763103910b7e3a2fe1
 
-for i in "${SRCS[@]}"; do
-  fetch $i
-done
+mkdir -p zircon
+pushd zircon > /dev/null
 
-# Remove this once https://reviews.llvm.org/D28791 is resolved
-cd llvm/runtimes/compiler-rt
-patch -Np1 < /tmp/compiler-rt-dso-handle.patch
-cd ../../..
+# Download sources
+git init
+git remote add origin https://fuchsia.googlesource.com/zircon
+git fetch --depth=1 origin $ZIRCON
+git reset --hard FETCH_HEAD
 
-# Build toolchain
-cd llvm
-mkdir build
-cd build
-hide_output cmake -GNinja \
-  -DFUCHSIA_SYSROOT=${PWD}/../../magenta/third_party/ulib/musl \
-  -DLLVM_ENABLE_LTO=OFF \
-  -DCLANG_BOOTSTRAP_PASSTHROUGH=LLVM_ENABLE_LTO \
-  -C ../tools/clang/cmake/caches/Fuchsia.cmake \
-  ..
-hide_output ninja stage2-distribution
-hide_output ninja stage2-install-distribution
-cd ../..
+# Download toolchain
+./scripts/download-toolchain
+chmod -R a+rx prebuilt/downloads/clang+llvm-x86_64-linux
+cp -a prebuilt/downloads/clang+llvm-x86_64-linux/. /usr/local
 
-# Build sysroot
-rm -rf llvm/runtimes/compiler-rt
-./magenta/scripts/download-toolchain
-
-build_sysroot() {
+build() {
   local arch="$1"
 
   case "${arch}" in
-    x86_64) tgt="magenta-pc-x86-64" ;;
-    aarch64) tgt="magenta-qemu-arm64" ;;
+    x86_64) tgt="zircon-pc-x86-64" ;;
+    aarch64) tgt="zircon-qemu-arm64" ;;
   esac
 
-  hide_output make -C magenta -j$(getconf _NPROCESSORS_ONLN) $tgt
+  hide_output make -j$(getconf _NPROCESSORS_ONLN) $tgt
   dst=/usr/local/${arch}-unknown-fuchsia
   mkdir -p $dst
-  cp -r magenta/build-${tgt}/sysroot/include $dst/
-  cp -r magenta/build-${tgt}/sysroot/lib $dst/
-
-  cd llvm
-  mkdir build-runtimes-${arch}
-  cd build-runtimes-${arch}
-  hide_output cmake -GNinja \
-    -DCMAKE_C_COMPILER=clang \
-    -DCMAKE_CXX_COMPILER=clang++ \
-    -DCMAKE_AR=/usr/local/bin/llvm-ar \
-    -DCMAKE_RANLIB=/usr/local/bin/llvm-ranlib \
-    -DCMAKE_INSTALL_PREFIX= \
-    -DLLVM_MAIN_SRC_DIR=${PWD}/.. \
-    -DLLVM_BINARY_DIR=${PWD}/../build \
-    -DLLVM_ENABLE_WERROR=OFF \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DLLVM_INCLUDE_TESTS=ON \
-    -DCMAKE_SYSTEM_NAME=Fuchsia \
-    -DCMAKE_C_COMPILER_TARGET=${arch}-fuchsia \
-    -DCMAKE_CXX_COMPILER_TARGET=${arch}-fuchsia \
-    -DUNIX=1 \
-    -DLIBCXX_HAS_MUSL_LIBC=ON \
-    -DLIBCXXABI_USE_LLVM_UNWINDER=ON \
-    -DCMAKE_SYSROOT=${dst} \
-    -DCMAKE_C_COMPILER_FORCED=TRUE \
-    -DCMAKE_CXX_COMPILER_FORCED=TRUE \
-    -DLLVM_ENABLE_LIBCXX=ON \
-    -DCMAKE_EXE_LINKER_FLAGS="-nodefaultlibs -lc" \
-    -DCMAKE_SHARED_LINKER_FLAGS="$(clang --target=${arch}-fuchsia -print-libgcc-file-name)" \
-    ../runtimes
-  hide_output env DESTDIR="${dst}" ninja install
-  cd ../..
+  cp -a build-${tgt}/sysroot/include $dst/
+  cp -a build-${tgt}/sysroot/lib $dst/
 }
 
-build_sysroot "x86_64"
-build_sysroot "aarch64"
+# Build sysroot
+for arch in x86_64 aarch64; do
+  build ${arch}
+done
 
-rm -rf magenta llvm
+popd > /dev/null
+rm -rf zircon
 
 for arch in x86_64 aarch64; do
   for tool in clang clang++; do
diff --git a/src/ci/docker/dist-fuchsia/compiler-rt-dso-handle.patch b/src/ci/docker/dist-fuchsia/compiler-rt-dso-handle.patch
deleted file mode 100644
index 0b702894bb2..00000000000
--- a/src/ci/docker/dist-fuchsia/compiler-rt-dso-handle.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt
-index fc4384af2..b442264c0 100644
---- a/lib/builtins/CMakeLists.txt
-+++ b/lib/builtins/CMakeLists.txt
-@@ -194,6 +194,12 @@ if(APPLE)
-     atomic_thread_fence.c)
- endif()
- 
-+if(FUCHSIA)
-+  set(GENERIC_SOURCES
-+    ${GENERIC_SOURCES}
-+    dso_handle.c)
-+endif()
-+
- if(NOT WIN32 OR MINGW)
-   set(GENERIC_SOURCES
-       ${GENERIC_SOURCES}
-diff --git a/lib/builtins/dso_handle.c b/lib/builtins/dso_handle.c
-new file mode 100644
-index 000000000..7766cd0aa
---- /dev/null
-+++ b/lib/builtins/dso_handle.c
-@@ -0,0 +1,18 @@
-+/* ===-- dso_handle.c - Provide __dso_handle -------------------------------===
-+ *
-+ *               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.
-+ *
-+ * ===----------------------------------------------------------------------===
-+ */
-+
-+/* __dso_handle symbol is mandated by C++ ABI with a value which is an address
-+ * in one of the object's segments, and as such this symbol has to be included
-+ * statically and cannot be a part of a shared library. Traditionally, it has
-+ * been defined in crtbegin.o but there's no principled reason for it to be
-+ * there. We defined this symbol in the builtin library which is built as a
-+ * static library and always included in the final link.
-+ */
-+__attribute__((visibility("hidden"))) void *const __dso_handle;
diff --git a/src/liblibc b/src/liblibc
-Subproject 136bf195dfa546a3589f414c1dfe693aa6ff101
+Subproject 44e4018e1a37716286ec98cb5b7dd7d33ecaf94
diff --git a/src/libstd/build.rs b/src/libstd/build.rs
index 19ea25fc7df..b8061665aa1 100644
--- a/src/libstd/build.rs
+++ b/src/libstd/build.rs
@@ -68,8 +68,8 @@ fn main() {
         if cfg!(feature = "backtrace") {
             println!("cargo:rustc-link-lib=backtrace");
         }
-        println!("cargo:rustc-link-lib=magenta");
-        println!("cargo:rustc-link-lib=mxio");
+        println!("cargo:rustc-link-lib=zircon");
+        println!("cargo:rustc-link-lib=fdio");
         println!("cargo:rustc-link-lib=launchpad"); // for std::process
     }
 }
diff --git a/src/libstd/sys/unix/process/mod.rs b/src/libstd/sys/unix/process/mod.rs
index b50384d8eee..2a331069bc2 100644
--- a/src/libstd/sys/unix/process/mod.rs
+++ b/src/libstd/sys/unix/process/mod.rs
@@ -19,4 +19,4 @@ mod process_inner;
 #[path = "process_fuchsia.rs"]
 mod process_inner;
 #[cfg(target_os = "fuchsia")]
-mod magenta;
+mod zircon;
diff --git a/src/libstd/sys/unix/process/process_fuchsia.rs b/src/libstd/sys/unix/process/process_fuchsia.rs
index 7d583cb3dfc..5d34da04446 100644
--- a/src/libstd/sys/unix/process/process_fuchsia.rs
+++ b/src/libstd/sys/unix/process/process_fuchsia.rs
@@ -13,7 +13,7 @@ use libc;
 use mem;
 use ptr;
 
-use sys::process::magenta::{Handle, mx_handle_t};
+use sys::process::zircon::{Handle, zx_handle_t};
 use sys::process::process_common::*;
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -51,10 +51,10 @@ impl Command {
     }
 
     unsafe fn do_exec(&mut self, stdio: ChildPipes)
-                      -> io::Result<mx_handle_t> {
-        use sys::process::magenta::*;
+                      -> io::Result<zx_handle_t> {
+        use sys::process::zircon::*;
 
-        let job_handle = mx_job_default();
+        let job_handle = zx_job_default();
         let envp = match *self.get_envp() {
             Some(ref envp) => envp.as_ptr(),
             None => ptr::null(),
@@ -67,39 +67,39 @@ impl Command {
         }
 
         // Duplicate the job handle
-        let mut job_copy: mx_handle_t = MX_HANDLE_INVALID;
-        mx_cvt(mx_handle_duplicate(job_handle, MX_RIGHT_SAME_RIGHTS, &mut job_copy))?;
+        let mut job_copy: zx_handle_t = ZX_HANDLE_INVALID;
+        zx_cvt(zx_handle_duplicate(job_handle, ZX_RIGHT_SAME_RIGHTS, &mut job_copy))?;
         // Create a launchpad
         let mut launchpad: *mut launchpad_t = ptr::null_mut();
-        mx_cvt(launchpad_create(job_copy, self.get_argv()[0], &mut launchpad))?;
+        zx_cvt(launchpad_create(job_copy, self.get_argv()[0], &mut launchpad))?;
         let launchpad_destructor = LaunchpadDestructor(launchpad);
 
         // Set the process argv
-        mx_cvt(launchpad_set_args(launchpad, self.get_argv().len() as i32 - 1,
+        zx_cvt(launchpad_set_args(launchpad, self.get_argv().len() as i32 - 1,
                                   self.get_argv().as_ptr()))?;
         // Setup the environment vars
-        mx_cvt(launchpad_set_environ(launchpad, envp))?;
-        mx_cvt(launchpad_add_vdso_vmo(launchpad))?;
+        zx_cvt(launchpad_set_environ(launchpad, envp))?;
+        zx_cvt(launchpad_add_vdso_vmo(launchpad))?;
         // Load the executable
-        mx_cvt(launchpad_elf_load(launchpad, launchpad_vmo_from_file(self.get_argv()[0])))?;
-        mx_cvt(launchpad_load_vdso(launchpad, MX_HANDLE_INVALID))?;
-        mx_cvt(launchpad_clone(launchpad, LP_CLONE_MXIO_ROOT | LP_CLONE_MXIO_CWD))?;
+        zx_cvt(launchpad_elf_load(launchpad, launchpad_vmo_from_file(self.get_argv()[0])))?;
+        zx_cvt(launchpad_load_vdso(launchpad, ZX_HANDLE_INVALID))?;
+        zx_cvt(launchpad_clone(launchpad, LP_CLONE_FDIO_NAMESPACE | LP_CLONE_FDIO_CWD))?;
 
         // Clone stdin, stdout, and stderr
         if let Some(fd) = stdio.stdin.fd() {
-            mx_cvt(launchpad_transfer_fd(launchpad, fd, 0))?;
+            zx_cvt(launchpad_transfer_fd(launchpad, fd, 0))?;
         } else {
-            mx_cvt(launchpad_clone_fd(launchpad, 0, 0))?;
+            zx_cvt(launchpad_clone_fd(launchpad, 0, 0))?;
         }
         if let Some(fd) = stdio.stdout.fd() {
-            mx_cvt(launchpad_transfer_fd(launchpad, fd, 1))?;
+            zx_cvt(launchpad_transfer_fd(launchpad, fd, 1))?;
         } else {
-            mx_cvt(launchpad_clone_fd(launchpad, 1, 1))?;
+            zx_cvt(launchpad_clone_fd(launchpad, 1, 1))?;
         }
         if let Some(fd) = stdio.stderr.fd() {
-            mx_cvt(launchpad_transfer_fd(launchpad, fd, 2))?;
+            zx_cvt(launchpad_transfer_fd(launchpad, fd, 2))?;
         } else {
-            mx_cvt(launchpad_clone_fd(launchpad, 2, 2))?;
+            zx_cvt(launchpad_clone_fd(launchpad, 2, 2))?;
         }
 
         // We don't want FileDesc::drop to be called on any stdio. It would close their fds. The
@@ -113,9 +113,9 @@ impl Command {
         // `launchpad_go` destroys the launchpad, so we must not
         mem::forget(launchpad_destructor);
 
-        let mut process_handle: mx_handle_t = 0;
+        let mut process_handle: zx_handle_t = 0;
         let mut err_msg: *const libc::c_char = ptr::null();
-        mx_cvt(launchpad_go(launchpad, &mut process_handle, &mut err_msg))?;
+        zx_cvt(launchpad_go(launchpad, &mut process_handle, &mut err_msg))?;
         // FIXME: See if we want to do something with that err_msg
 
         Ok(process_handle)
@@ -136,27 +136,27 @@ impl Process {
     }
 
     pub fn kill(&mut self) -> io::Result<()> {
-        use sys::process::magenta::*;
+        use sys::process::zircon::*;
 
-        unsafe { mx_cvt(mx_task_kill(self.handle.raw()))?; }
+        unsafe { zx_cvt(zx_task_kill(self.handle.raw()))?; }
 
         Ok(())
     }
 
     pub fn wait(&mut self) -> io::Result<ExitStatus> {
         use default::Default;
-        use sys::process::magenta::*;
+        use sys::process::zircon::*;
 
-        let mut proc_info: mx_info_process_t = Default::default();
-        let mut actual: mx_size_t = 0;
-        let mut avail: mx_size_t = 0;
+        let mut proc_info: zx_info_process_t = Default::default();
+        let mut actual: zx_size_t = 0;
+        let mut avail: zx_size_t = 0;
 
         unsafe {
-            mx_cvt(mx_object_wait_one(self.handle.raw(), MX_TASK_TERMINATED,
-                                      MX_TIME_INFINITE, ptr::null_mut()))?;
-            mx_cvt(mx_object_get_info(self.handle.raw(), MX_INFO_PROCESS,
+            zx_cvt(zx_object_wait_one(self.handle.raw(), ZX_TASK_TERMINATED,
+                                      ZX_TIME_INFINITE, ptr::null_mut()))?;
+            zx_cvt(zx_object_get_info(self.handle.raw(), ZX_INFO_PROCESS,
                                       &mut proc_info as *mut _ as *mut libc::c_void,
-                                      mem::size_of::<mx_info_process_t>(), &mut actual,
+                                      mem::size_of::<zx_info_process_t>(), &mut actual,
                                       &mut avail))?;
         }
         if actual != 1 {
@@ -168,14 +168,14 @@ impl Process {
 
     pub fn try_wait(&mut self) -> io::Result<Option<ExitStatus>> {
         use default::Default;
-        use sys::process::magenta::*;
+        use sys::process::zircon::*;
 
-        let mut proc_info: mx_info_process_t = Default::default();
-        let mut actual: mx_size_t = 0;
-        let mut avail: mx_size_t = 0;
+        let mut proc_info: zx_info_process_t = Default::default();
+        let mut actual: zx_size_t = 0;
+        let mut avail: zx_size_t = 0;
 
         unsafe {
-            let status = mx_object_wait_one(self.handle.raw(), MX_TASK_TERMINATED,
+            let status = zx_object_wait_one(self.handle.raw(), ZX_TASK_TERMINATED,
                                             0, ptr::null_mut());
             match status {
                 0 => { }, // Success
@@ -184,9 +184,9 @@ impl Process {
                 },
                 _ => { panic!("Failed to wait on process handle: {}", status); },
             }
-            mx_cvt(mx_object_get_info(self.handle.raw(), MX_INFO_PROCESS,
+            zx_cvt(zx_object_get_info(self.handle.raw(), ZX_INFO_PROCESS,
                                       &mut proc_info as *mut _ as *mut libc::c_void,
-                                      mem::size_of::<mx_info_process_t>(), &mut actual,
+                                      mem::size_of::<zx_info_process_t>(), &mut actual,
                                       &mut avail))?;
         }
         if actual != 1 {
diff --git a/src/libstd/sys/unix/process/magenta.rs b/src/libstd/sys/unix/process/zircon.rs
index bc20a74f114..b5ec11b40fd 100644
--- a/src/libstd/sys/unix/process/magenta.rs
+++ b/src/libstd/sys/unix/process/zircon.rs
@@ -17,31 +17,31 @@ use u64;
 
 use libc::{c_int, c_void};
 
-pub type mx_handle_t = i32;
-pub type mx_vaddr_t = usize;
-pub type mx_rights_t = u32;
-pub type mx_status_t = i32;
+pub type zx_handle_t = i32;
+pub type zx_vaddr_t = usize;
+pub type zx_rights_t = u32;
+pub type zx_status_t = i32;
 
-pub type mx_size_t = usize;
+pub type zx_size_t = usize;
 
-pub const MX_HANDLE_INVALID: mx_handle_t = 0;
+pub const ZX_HANDLE_INVALID: zx_handle_t = 0;
 
-pub type mx_time_t = u64;
-pub const MX_TIME_INFINITE : mx_time_t = u64::MAX;
+pub type zx_time_t = u64;
+pub const ZX_TIME_INFINITE : zx_time_t = u64::MAX;
 
-pub type mx_signals_t = u32;
+pub type zx_signals_t = u32;
 
-pub const MX_OBJECT_SIGNAL_3         : mx_signals_t = 1 << 3;
+pub const ZX_OBJECT_SIGNAL_3         : zx_signals_t = 1 << 3;
 
-pub const MX_TASK_TERMINATED        : mx_signals_t = MX_OBJECT_SIGNAL_3;
+pub const ZX_TASK_TERMINATED        : zx_signals_t = ZX_OBJECT_SIGNAL_3;
 
-pub const MX_RIGHT_SAME_RIGHTS  : mx_rights_t = 1 << 31;
+pub const ZX_RIGHT_SAME_RIGHTS  : zx_rights_t = 1 << 31;
 
-pub type mx_object_info_topic_t = u32;
+pub type zx_object_info_topic_t = u32;
 
-pub const MX_INFO_PROCESS         : mx_object_info_topic_t = 3;
+pub const ZX_INFO_PROCESS         : zx_object_info_topic_t = 3;
 
-pub fn mx_cvt<T>(t: T) -> io::Result<T> where T: TryInto<mx_status_t>+Copy {
+pub fn zx_cvt<T>(t: T) -> io::Result<T> where T: TryInto<zx_status_t>+Copy {
     if let Ok(status) = TryInto::try_into(t) {
         if status < 0 {
             Err(io::Error::from_raw_os_error(status))
@@ -53,33 +53,33 @@ pub fn mx_cvt<T>(t: T) -> io::Result<T> where T: TryInto<mx_status_t>+Copy {
     }
 }
 
-// Safe wrapper around mx_handle_t
+// Safe wrapper around zx_handle_t
 pub struct Handle {
-    raw: mx_handle_t,
+    raw: zx_handle_t,
 }
 
 impl Handle {
-    pub fn new(raw: mx_handle_t) -> Handle {
+    pub fn new(raw: zx_handle_t) -> Handle {
         Handle {
             raw,
         }
     }
 
-    pub fn raw(&self) -> mx_handle_t {
+    pub fn raw(&self) -> zx_handle_t {
         self.raw
     }
 }
 
 impl Drop for Handle {
     fn drop(&mut self) {
-        unsafe { mx_cvt(mx_handle_close(self.raw)).expect("Failed to close mx_handle_t"); }
+        unsafe { zx_cvt(zx_handle_close(self.raw)).expect("Failed to close zx_handle_t"); }
     }
 }
 
-// Common MX_INFO header
+// Common ZX_INFO header
 #[derive(Default)]
 #[repr(C)]
-pub struct mx_info_header_t {
+pub struct zx_info_header_t {
     pub topic: u32,              // identifies the info struct
     pub avail_topic_size: u16,   // “native” size of the struct
     pub topic_size: u16,         // size of the returned struct (<=topic_size)
@@ -89,34 +89,34 @@ pub struct mx_info_header_t {
 
 #[derive(Default)]
 #[repr(C)]
-pub struct mx_record_process_t {
+pub struct zx_record_process_t {
     pub return_code: c_int,
 }
 
-// Returned for topic MX_INFO_PROCESS
+// Returned for topic ZX_INFO_PROCESS
 #[derive(Default)]
 #[repr(C)]
-pub struct mx_info_process_t {
-    pub hdr: mx_info_header_t,
-    pub rec: mx_record_process_t,
+pub struct zx_info_process_t {
+    pub hdr: zx_info_header_t,
+    pub rec: zx_record_process_t,
 }
 
 extern {
-    pub fn mx_job_default() -> mx_handle_t;
+    pub fn zx_job_default() -> zx_handle_t;
 
-    pub fn mx_task_kill(handle: mx_handle_t) -> mx_status_t;
+    pub fn zx_task_kill(handle: zx_handle_t) -> zx_status_t;
 
-    pub fn mx_handle_close(handle: mx_handle_t) -> mx_status_t;
+    pub fn zx_handle_close(handle: zx_handle_t) -> zx_status_t;
 
-    pub fn mx_handle_duplicate(handle: mx_handle_t, rights: mx_rights_t,
-                               out: *const mx_handle_t) -> mx_handle_t;
+    pub fn zx_handle_duplicate(handle: zx_handle_t, rights: zx_rights_t,
+                               out: *const zx_handle_t) -> zx_handle_t;
 
-    pub fn mx_object_wait_one(handle: mx_handle_t, signals: mx_signals_t, timeout: mx_time_t,
-                              pending: *mut mx_signals_t) -> mx_status_t;
+    pub fn zx_object_wait_one(handle: zx_handle_t, signals: zx_signals_t, timeout: zx_time_t,
+                              pending: *mut zx_signals_t) -> zx_status_t;
 
-    pub fn mx_object_get_info(handle: mx_handle_t, topic: u32, buffer: *mut c_void,
-                              buffer_size: mx_size_t, actual_size: *mut mx_size_t,
-                              avail: *mut mx_size_t) -> mx_status_t;
+    pub fn zx_object_get_info(handle: zx_handle_t, topic: u32, buffer: *mut c_void,
+                              buffer_size: zx_size_t, actual_size: *mut zx_size_t,
+                              avail: *mut zx_size_t) -> zx_status_t;
 }
 
 // From `enum special_handles` in system/ulib/launchpad/launchpad.c
@@ -133,117 +133,117 @@ pub struct launchpad_t {
     env: *const c_char,
     env_len: usize,
 
-    handles: *mut mx_handle_t,
+    handles: *mut zx_handle_t,
     handles_info: *mut u32,
     handle_count: usize,
     handle_alloc: usize,
 
-    entry: mx_vaddr_t,
-    base: mx_vaddr_t,
-    vdso_base: mx_vaddr_t,
+    entry: zx_vaddr_t,
+    base: zx_vaddr_t,
+    vdso_base: zx_vaddr_t,
 
     stack_size: usize,
 
-    special_handles: [mx_handle_t; HND_SPECIAL_COUNT],
+    special_handles: [zx_handle_t; HND_SPECIAL_COUNT],
     loader_message: bool,
 }
 
 extern {
-    pub fn launchpad_create(job: mx_handle_t, name: *const c_char,
-                            lp: *mut *mut launchpad_t) -> mx_status_t;
+    pub fn launchpad_create(job: zx_handle_t, name: *const c_char,
+                            lp: *mut *mut launchpad_t) -> zx_status_t;
 
     pub fn launchpad_go(lp: *mut launchpad_t,
-                        proc_handle: *mut mx_handle_t,
-                        err_msg: *mut *const c_char) -> mx_status_t;
+                        proc_handle: *mut zx_handle_t,
+                        err_msg: *mut *const c_char) -> zx_status_t;
 
     pub fn launchpad_destroy(lp: *mut launchpad_t);
 
     pub fn launchpad_set_args(lp: *mut launchpad_t, argc: c_int,
-                               argv: *const *const c_char) -> mx_status_t;
+                               argv: *const *const c_char) -> zx_status_t;
 
-    pub fn launchpad_set_environ(lp: *mut launchpad_t, envp: *const *const c_char) -> mx_status_t;
+    pub fn launchpad_set_environ(lp: *mut launchpad_t, envp: *const *const c_char) -> zx_status_t;
 
-    pub fn launchpad_clone(lp: *mut launchpad_t, what: u32) -> mx_status_t;
+    pub fn launchpad_clone(lp: *mut launchpad_t, what: u32) -> zx_status_t;
 
-    pub fn launchpad_clone_fd(lp: *mut launchpad_t, fd: c_int, target_fd: c_int) -> mx_status_t;
+    pub fn launchpad_clone_fd(lp: *mut launchpad_t, fd: c_int, target_fd: c_int) -> zx_status_t;
 
-    pub fn launchpad_transfer_fd(lp: *mut launchpad_t, fd: c_int, target_fd: c_int) -> mx_status_t;
+    pub fn launchpad_transfer_fd(lp: *mut launchpad_t, fd: c_int, target_fd: c_int) -> zx_status_t;
 
-    pub fn launchpad_elf_load(lp: *mut launchpad_t, vmo: mx_handle_t) -> mx_status_t;
+    pub fn launchpad_elf_load(lp: *mut launchpad_t, vmo: zx_handle_t) -> zx_status_t;
 
-    pub fn launchpad_add_vdso_vmo(lp: *mut launchpad_t) -> mx_status_t;
+    pub fn launchpad_add_vdso_vmo(lp: *mut launchpad_t) -> zx_status_t;
 
-    pub fn launchpad_load_vdso(lp: *mut launchpad_t, vmo: mx_handle_t) -> mx_status_t;
+    pub fn launchpad_load_vdso(lp: *mut launchpad_t, vmo: zx_handle_t) -> zx_status_t;
 
-    pub fn launchpad_vmo_from_file(filename: *const c_char) -> mx_handle_t;
+    pub fn launchpad_vmo_from_file(filename: *const c_char) -> zx_handle_t;
 }
 
 // Launchpad clone constants
 
-pub const LP_CLONE_MXIO_ROOT: u32 = 0x0001;
-pub const LP_CLONE_MXIO_CWD: u32 = 0x0002;
-// LP_CLONE_MXIO_STDIO = 0x0004
-// LP_CLONE_MXIO_ALL = 0x00FF
+pub const LP_CLONE_FDIO_NAMESPACE: u32 = 0x0001;
+pub const LP_CLONE_FDIO_CWD: u32 = 0x0002;
+// LP_CLONE_FDIO_STDIO = 0x0004
+// LP_CLONE_FDIO_ALL = 0x00FF
 // LP_CLONE_ENVIRON = 0x0100
 // LP_CLONE_DEFAULT_JOB = 0x0200
 // LP_CLONE_ALL = 0xFFFF
 
 // Errors
 
-#[allow(unused)] pub const ERR_INTERNAL: mx_status_t = -1;
+#[allow(unused)] pub const ERR_INTERNAL: zx_status_t = -1;
 
 // ERR_NOT_SUPPORTED: The operation is not implemented, supported,
 // or enabled.
-#[allow(unused)] pub const ERR_NOT_SUPPORTED: mx_status_t = -2;
+#[allow(unused)] pub const ERR_NOT_SUPPORTED: zx_status_t = -2;
 
 // ERR_NO_RESOURCES: The system was not able to allocate some resource
 // needed for the operation.
-#[allow(unused)] pub const ERR_NO_RESOURCES: mx_status_t = -3;
+#[allow(unused)] pub const ERR_NO_RESOURCES: zx_status_t = -3;
 
 // ERR_NO_MEMORY: The system was not able to allocate memory needed
 // for the operation.
-#[allow(unused)] pub const ERR_NO_MEMORY: mx_status_t = -4;
+#[allow(unused)] pub const ERR_NO_MEMORY: zx_status_t = -4;
 
-// ERR_CALL_FAILED: The second phase of mx_channel_call(; did not complete
+// ERR_CALL_FAILED: The second phase of zx_channel_call(; did not complete
 // successfully.
-#[allow(unused)] pub const ERR_CALL_FAILED: mx_status_t = -5;
+#[allow(unused)] pub const ERR_CALL_FAILED: zx_status_t = -5;
 
 // ERR_INTERRUPTED_RETRY: The system call was interrupted, but should be
 // retried.  This should not be seen outside of the VDSO.
-#[allow(unused)] pub const ERR_INTERRUPTED_RETRY: mx_status_t = -6;
+#[allow(unused)] pub const ERR_INTERRUPTED_RETRY: zx_status_t = -6;
 
 // ======= Parameter errors =======
 // ERR_INVALID_ARGS: an argument is invalid, ex. null pointer
-#[allow(unused)] pub const ERR_INVALID_ARGS: mx_status_t = -10;
+#[allow(unused)] pub const ERR_INVALID_ARGS: zx_status_t = -10;
 
 // ERR_BAD_HANDLE: A specified handle value does not refer to a handle.
-#[allow(unused)] pub const ERR_BAD_HANDLE: mx_status_t = -11;
+#[allow(unused)] pub const ERR_BAD_HANDLE: zx_status_t = -11;
 
 // ERR_WRONG_TYPE: The subject of the operation is the wrong type to
 // perform the operation.
 // Example: Attempting a message_read on a thread handle.
-#[allow(unused)] pub const ERR_WRONG_TYPE: mx_status_t = -12;
+#[allow(unused)] pub const ERR_WRONG_TYPE: zx_status_t = -12;
 
 // ERR_BAD_SYSCALL: The specified syscall number is invalid.
-#[allow(unused)] pub const ERR_BAD_SYSCALL: mx_status_t = -13;
+#[allow(unused)] pub const ERR_BAD_SYSCALL: zx_status_t = -13;
 
 // ERR_OUT_OF_RANGE: An argument is outside the valid range for this
 // operation.
-#[allow(unused)] pub const ERR_OUT_OF_RANGE: mx_status_t = -14;
+#[allow(unused)] pub const ERR_OUT_OF_RANGE: zx_status_t = -14;
 
 // ERR_BUFFER_TOO_SMALL: A caller provided buffer is too small for
 // this operation.
-#[allow(unused)] pub const ERR_BUFFER_TOO_SMALL: mx_status_t = -15;
+#[allow(unused)] pub const ERR_BUFFER_TOO_SMALL: zx_status_t = -15;
 
 // ======= Precondition or state errors =======
 // ERR_BAD_STATE: operation failed because the current state of the
 // object does not allow it, or a precondition of the operation is
 // not satisfied
-#[allow(unused)] pub const ERR_BAD_STATE: mx_status_t = -20;
+#[allow(unused)] pub const ERR_BAD_STATE: zx_status_t = -20;
 
 // ERR_TIMED_OUT: The time limit for the operation elapsed before
 // the operation completed.
-#[allow(unused)] pub const ERR_TIMED_OUT: mx_status_t = -21;
+#[allow(unused)] pub const ERR_TIMED_OUT: zx_status_t = -21;
 
 // ERR_SHOULD_WAIT: The operation cannot be performed currently but
 // potentially could succeed if the caller waits for a prerequisite
@@ -253,67 +253,67 @@ pub const LP_CLONE_MXIO_CWD: u32 = 0x0002;
 // messages waiting but has an open remote will return ERR_SHOULD_WAIT.
 // Attempting to read from a message pipe that has no messages waiting
 // and has a closed remote end will return ERR_REMOTE_CLOSED.
-#[allow(unused)] pub const ERR_SHOULD_WAIT: mx_status_t = -22;
+#[allow(unused)] pub const ERR_SHOULD_WAIT: zx_status_t = -22;
 
 // ERR_CANCELED: The in-progress operation (e.g. a wait) has been
 // // canceled.
-#[allow(unused)] pub const ERR_CANCELED: mx_status_t = -23;
+#[allow(unused)] pub const ERR_CANCELED: zx_status_t = -23;
 
 // ERR_PEER_CLOSED: The operation failed because the remote end
 // of the subject of the operation was closed.
-#[allow(unused)] pub const ERR_PEER_CLOSED: mx_status_t = -24;
+#[allow(unused)] pub const ERR_PEER_CLOSED: zx_status_t = -24;
 
 // ERR_NOT_FOUND: The requested entity is not found.
-#[allow(unused)] pub const ERR_NOT_FOUND: mx_status_t = -25;
+#[allow(unused)] pub const ERR_NOT_FOUND: zx_status_t = -25;
 
 // ERR_ALREADY_EXISTS: An object with the specified identifier
 // already exists.
 // Example: Attempting to create a file when a file already exists
 // with that name.
-#[allow(unused)] pub const ERR_ALREADY_EXISTS: mx_status_t = -26;
+#[allow(unused)] pub const ERR_ALREADY_EXISTS: zx_status_t = -26;
 
 // ERR_ALREADY_BOUND: The operation failed because the named entity
 // is already owned or controlled by another entity. The operation
 // could succeed later if the current owner releases the entity.
-#[allow(unused)] pub const ERR_ALREADY_BOUND: mx_status_t = -27;
+#[allow(unused)] pub const ERR_ALREADY_BOUND: zx_status_t = -27;
 
 // ERR_UNAVAILABLE: The subject of the operation is currently unable
 // to perform the operation.
 // Note: This is used when there's no direct way for the caller to
 // observe when the subject will be able to perform the operation
 // and should thus retry.
-#[allow(unused)] pub const ERR_UNAVAILABLE: mx_status_t = -28;
+#[allow(unused)] pub const ERR_UNAVAILABLE: zx_status_t = -28;
 
 // ======= Permission check errors =======
 // ERR_ACCESS_DENIED: The caller did not have permission to perform
 // the specified operation.
-#[allow(unused)] pub const ERR_ACCESS_DENIED: mx_status_t = -30;
+#[allow(unused)] pub const ERR_ACCESS_DENIED: zx_status_t = -30;
 
 // ======= Input-output errors =======
 // ERR_IO: Otherwise unspecified error occurred during I/O.
-#[allow(unused)] pub const ERR_IO: mx_status_t = -40;
+#[allow(unused)] pub const ERR_IO: zx_status_t = -40;
 
 // ERR_REFUSED: The entity the I/O operation is being performed on
 // rejected the operation.
 // Example: an I2C device NAK'ing a transaction or a disk controller
 // rejecting an invalid command.
-#[allow(unused)] pub const ERR_IO_REFUSED: mx_status_t = -41;
+#[allow(unused)] pub const ERR_IO_REFUSED: zx_status_t = -41;
 
 // ERR_IO_DATA_INTEGRITY: The data in the operation failed an integrity
 // check and is possibly corrupted.
 // Example: CRC or Parity error.
-#[allow(unused)] pub const ERR_IO_DATA_INTEGRITY: mx_status_t = -42;
+#[allow(unused)] pub const ERR_IO_DATA_INTEGRITY: zx_status_t = -42;
 
 // ERR_IO_DATA_LOSS: The data in the operation is currently unavailable
 // and may be permanently lost.
 // Example: A disk block is irrecoverably damaged.
-#[allow(unused)] pub const ERR_IO_DATA_LOSS: mx_status_t = -43;
+#[allow(unused)] pub const ERR_IO_DATA_LOSS: zx_status_t = -43;
 
 // Filesystem specific errors
-#[allow(unused)] pub const ERR_BAD_PATH: mx_status_t = -50;
-#[allow(unused)] pub const ERR_NOT_DIR: mx_status_t = -51;
-#[allow(unused)] pub const ERR_NOT_FILE: mx_status_t = -52;
+#[allow(unused)] pub const ERR_BAD_PATH: zx_status_t = -50;
+#[allow(unused)] pub const ERR_NOT_DIR: zx_status_t = -51;
+#[allow(unused)] pub const ERR_NOT_FILE: zx_status_t = -52;
 // ERR_FILE_BIG: A file exceeds a filesystem-specific size limit.
-#[allow(unused)] pub const ERR_FILE_BIG: mx_status_t = -53;
+#[allow(unused)] pub const ERR_FILE_BIG: zx_status_t = -53;
 // ERR_NO_SPACE: Filesystem or device space is exhausted.
-#[allow(unused)] pub const ERR_NO_SPACE: mx_status_t = -54;
+#[allow(unused)] pub const ERR_NO_SPACE: zx_status_t = -54;
diff --git a/src/libstd/sys/unix/rand.rs b/src/libstd/sys/unix/rand.rs
index 1f56a299407..fd066c9cdbe 100644
--- a/src/libstd/sys/unix/rand.rs
+++ b/src/libstd/sys/unix/rand.rs
@@ -344,15 +344,15 @@ mod imp {
     use io;
     use rand::Rng;
 
-    #[link(name = "magenta")]
+    #[link(name = "zircon")]
     extern {
-        fn mx_cprng_draw(buffer: *mut u8, len: usize, actual: *mut usize) -> i32;
+        fn zx_cprng_draw(buffer: *mut u8, len: usize, actual: *mut usize) -> i32;
     }
 
     fn getrandom(buf: &mut [u8]) -> Result<usize, i32> {
         unsafe {
             let mut actual = 0;
-            let status = mx_cprng_draw(buf.as_mut_ptr(), buf.len(), &mut actual);
+            let status = zx_cprng_draw(buf.as_mut_ptr(), buf.len(), &mut actual);
             if status == 0 {
                 Ok(actual)
             } else {
@@ -387,7 +387,7 @@ mod imp {
                 let ret = getrandom(buf);
                 match ret {
                     Err(err) => {
-                        panic!("kernel mx_cprng_draw call failed! (returned {}, buf.len() {})",
+                        panic!("kernel zx_cprng_draw call failed! (returned {}, buf.len() {})",
                             err, buf.len())
                     }
                     Ok(actual) => {
diff --git a/src/tools/tidy/src/deps.rs b/src/tools/tidy/src/deps.rs
index e9e4b55402c..38df6577694 100644
--- a/src/tools/tidy/src/deps.rs
+++ b/src/tools/tidy/src/deps.rs
@@ -35,8 +35,11 @@ static EXCEPTIONS: &'static [&'static str] = &[
     "thread-id", // Apache-2.0, mdbook
     "cssparser", // MPL-2.0, rustdoc
     "smallvec", // MPL-2.0, rustdoc
+    // FIXME: remove magenta references when "everything" has moved over to using the zircon name.
     "magenta-sys", // BSD-3-Clause, rustdoc
     "magenta", // BSD-3-Clause, rustdoc
+    "zircon-sys", // BSD-3-Clause, rustdoc
+    "zircon", // BSD-3-Clause, rustdoc
     "cssparser-macros", // MPL-2.0, rustdoc
     "selectors", // MPL-2.0, rustdoc
 ];