about summary refs log tree commit diff
path: root/src/tools
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2016-05-24 09:51:29 -0700
committerAlex Crichton <alex@alexcrichton.com>2016-05-24 09:51:29 -0700
commit0f3e8650f7f5a2658b639a3b84ee2946dd1fd98d (patch)
treedb4614a4857da58a50f57a8e1c228a7a05768c41 /src/tools
parentdd6e8d45e183861d44ed91a99f0a50403b2776a3 (diff)
test: Use `set sysroot` for more NDK compatibility
Recent versions of the Android NDK no longer ship debuggers like
`arm-linux-androideabi-gdb`, but instead one prebuilt binary `gdb`. We can
symlink this into place at least to get our detection still working, but it now
needs to be told what the sysroot is so it can correctly do... something. Long
story short, tests didn't pass with this change and after this change they pass.
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/compiletest/src/runtest.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
index e6dc3a9d360..88ca0f9caf1 100644
--- a/src/tools/compiletest/src/runtest.rs
+++ b/src/tools/compiletest/src/runtest.rs
@@ -433,9 +433,15 @@ actual:\n\
 
                 cmds = cmds.replace("run", "continue");
 
+                let tool_path = match self.config.android_cross_path.to_str() {
+                    Some(x) => x.to_owned(),
+                    None => self.fatal("cannot find android cross path")
+                };
+
                 // write debugger script
                 let mut script_str = String::with_capacity(2048);
                 script_str.push_str(&format!("set charset {}\n", Self::charset()));
+                script_str.push_str(&format!("set sysroot {}\n", tool_path));
                 script_str.push_str(&format!("file {}\n", exe_file.to_str().unwrap()));
                 script_str.push_str("target remote :5039\n");
                 script_str.push_str(&format!("set solib-search-path \
@@ -508,11 +514,6 @@ actual:\n\
                     }
                 }
 
-                let tool_path = match self.config.android_cross_path.to_str() {
-                    Some(x) => x.to_owned(),
-                    None => self.fatal("cannot find android cross path")
-                };
-
                 let debugger_script = self.make_out_name("debugger.script");
                 // FIXME (#9639): This needs to handle non-utf8 paths
                 let debugger_opts =