diff options
| author | Ömer Sinan Ağacan <omeragacan@gmail.com> | 2021-02-21 10:18:56 +0300 |
|---|---|---|
| committer | Ömer Sinan Ağacan <omeragacan@gmail.com> | 2021-03-01 09:24:08 +0300 |
| commit | 81cfa98f8286ef280897e6df97e6350196b8e578 (patch) | |
| tree | 3af08ebfad7c7c0d3aca2ddc4f6de1994693e85d /src/bootstrap | |
| parent | 3b150b7a8f77874f26c617666f5608fe4a3e58df (diff) | |
| download | rust-81cfa98f8286ef280897e6df97e6350196b8e578.tar.gz rust-81cfa98f8286ef280897e6df97e6350196b8e578.zip | |
config.toml error reporting:
Improve error messages for musl-libdir and wasi-root keys. Previously
the parser would panic with `unwrap()`. Now it prints
Target "wasm32-wasi" does not have a "wasi-root" key
(and similar for the `musl-libdir` field, which is used in target that
use musl)
Also update comments around wasi-root field to make it clear that the
field is only valid in wasm32-wasi target and needs to be moved to a
`[target.wasm32-wasi]` section to be valid.
Fixes #82317
Diffstat (limited to 'src/bootstrap')
| -rw-r--r-- | src/bootstrap/compile.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs index 859e38dc346..7c8e02bdb8e 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs @@ -178,7 +178,9 @@ fn copy_self_contained_objects( // To do that we have to distribute musl startup objects as a part of Rust toolchain // and link with them manually in the self-contained mode. if target.contains("musl") { - let srcdir = builder.musl_libdir(target).unwrap(); + let srcdir = builder.musl_libdir(target).unwrap_or_else(|| { + panic!("Target {:?} does not have a \"musl-libdir\" key", target.triple) + }); for &obj in &["crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o"] { copy_and_stamp( builder, @@ -196,7 +198,12 @@ fn copy_self_contained_objects( target_deps.push((target, DependencyType::TargetSelfContained)); } } else if target.ends_with("-wasi") { - let srcdir = builder.wasi_root(target).unwrap().join("lib/wasm32-wasi"); + let srcdir = builder + .wasi_root(target) + .unwrap_or_else(|| { + panic!("Target {:?} does not have a \"wasi-root\" key", target.triple) + }) + .join("lib/wasm32-wasi"); for &obj in &["crt1.o", "crt1-reactor.o"] { copy_and_stamp( builder, |
