about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeremy Soller <jackpot51@gmail.com>2017-07-13 20:07:37 -0600
committerJeremy Soller <jackpot51@gmail.com>2017-07-13 20:07:37 -0600
commit5757e0561975b40f81a739feb73abdc377eeda3a (patch)
treeaf225fd1d0d8312e36e2dd9e8ca1cb08e97abef7
parentb2c0707872082c890f332178f59fd02eea5b98f3 (diff)
downloadrust-5757e0561975b40f81a739feb73abdc377eeda3a.tar.gz
rust-5757e0561975b40f81a739feb73abdc377eeda3a.zip
Fix backtrace on Redox
-rw-r--r--src/libstd/sys/redox/backtrace.rs15
-rw-r--r--src/libstd/sys_common/mod.rs3
2 files changed, 14 insertions, 4 deletions
diff --git a/src/libstd/sys/redox/backtrace.rs b/src/libstd/sys/redox/backtrace.rs
index 961148fb6b4..6cafe3e69ba 100644
--- a/src/libstd/sys/redox/backtrace.rs
+++ b/src/libstd/sys/redox/backtrace.rs
@@ -8,16 +8,25 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use libc;
 use io;
 use sys_common::backtrace::Frame;
 
-pub use sys_common::gnu::libbacktrace::*;
+pub use sys_common::gnu::libbacktrace::{foreach_symbol_fileline, resolve_symname};
 pub struct BacktraceContext;
 
 #[inline(never)]
-pub fn unwind_backtrace(frames: &mut [Frame])
+pub fn unwind_backtrace(_frames: &mut [Frame])
     -> io::Result<(usize, BacktraceContext)>
 {
     Ok((0, BacktraceContext))
 }
+
+pub mod gnu {
+    use io;
+    use fs;
+    use libc::c_char;
+
+    pub fn get_executable_filename() -> io::Result<(Vec<c_char>, fs::File)> {
+        Err(io::Error::new(io::ErrorKind::Other, "Not implemented"))
+    }
+}
diff --git a/src/libstd/sys_common/mod.rs b/src/libstd/sys_common/mod.rs
index d4d3365dc01..ccd4b91a7b7 100644
--- a/src/libstd/sys_common/mod.rs
+++ b/src/libstd/sys_common/mod.rs
@@ -52,7 +52,8 @@ pub mod net;
 
 #[cfg(feature = "backtrace")]
 #[cfg(any(all(unix, not(any(target_os = "macos", target_os = "ios", target_os = "emscripten"))),
-          all(windows, target_env = "gnu")))]
+          all(windows, target_env = "gnu"),
+          target_os = "redox"))]
 pub mod gnu;
 
 // common error constructors