diff --git a/pipeline.toml b/pipeline.toml
index 851c7a6..8f7af6d 100644
--- a/pipeline.toml
+++ b/pipeline.toml
@@ -4,7 +4,8 @@
# These files are basically Cargo.toml dependencies, that minidump-pipeline
# will use to fetch binaries, either with `cargo install` or `cargo build`.
-
+inlines = true
+rust-mangling = "v0"
# [my-example-dep]
# # via crates.io (the default, if version not specified, uses latest):
@@ -24,16 +25,20 @@
[minidump-stackwalk]
-# git = "https://github.com/rust-minidump/rust-minidump"
+git = "https://github.com/Gankra/rust-minidump"
+branch = "inline"
# path = "../rust-minidump/minidump-stackwalk/"
# optional! (only used when you pass --debugger)
[minidump-debugger]
-# git = "https://github.com/Gankra/minidump-debugger"
+features = ["inline"]
+git = "https://github.com/Gankra/minidump-debugger"
+branch = "inline"
# path = "../minidump-debugger/"
[dump_syms]
-# git = "https://github.com/mozilla/dump_syms"
+git = "https://github.com/mozilla/dump_syms"
+rev = "54f9e6240e34cf17fc7dc60ac4985772e2c20001"
# path = "../dump_syms/"
diff --git a/src/main.rs b/src/main.rs
index 0c3902f..7d45d8d 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -41,6 +41,14 @@ struct Cli {
#[derive(Debug, Clone, Deserialize)]
struct ConfigFile {
+ /// Whether to pass --inlines to dump_syms (cli flag overrides this)
+ inlines: Option,
+
+ /// What custom `-Csymbol-mangling-version` should be passed to rustc
+ #[serde(rename = "rust-mangling")]
+ rust_mangling: Option,
+
+ // Various dirs
#[serde(default = "default_run_dir")]
run_dir: String,
#[serde(default = "default_install_dir")]
@@ -52,6 +60,7 @@ struct ConfigFile {
#[serde(default = "default_report_dir")]
report_dir: String,
+ // Various deps
#[serde(rename = "minidump-stackwalk")]
minidump_stackwalk: Dep,
dump_syms: Dep,
@@ -131,6 +140,7 @@ struct BuildEnv {
dump_dir: Utf8PathBuf,
report_dir: Utf8PathBuf,
run_dir: Utf8PathBuf,
+ rust_mangling: Option,
}
/////////////////////////////////////////////////////////
@@ -293,6 +303,7 @@ fn do_pipeline(cli: &Cli, config: &ConfigFile) -> Result<(), PipelineError> {
report_dir: run_dir.join(&config.report_dir),
run_dir,
_root_dir: root_dir,
+ rust_mangling: config.rust_mangling.clone(),
};
if env.run_dir.exists() {
@@ -324,13 +335,15 @@ fn do_pipeline(cli: &Cli, config: &ConfigFile) -> Result<(), PipelineError> {
println!("artifacts built!");
println!();
+ let default_inlines = false;
+ let inlines = config.inlines.unwrap_or(default_inlines) || cli.inlines;
let app_sym = do_dump_syms(
&dump_syms.installed,
app.orig_bin_path
.as_ref()
.expect("app must be rebuilt for dump_syms!"),
&env,
- cli.inlines,
+ inlines,
)?;
let client_sym = do_dump_syms(
&dump_syms.installed,
@@ -339,7 +352,7 @@ fn do_pipeline(cli: &Cli, config: &ConfigFile) -> Result<(), PipelineError> {
.as_ref()
.expect("crash-client must be rebuilt for dump_syms!"),
&env,
- cli.inlines,
+ inlines,
)?;
let suite = do_get_suite(&app.installed)?;
@@ -710,6 +723,10 @@ fn build(to_build: &str, dep: &Dep, env: &BuildEnv) -> Result