Skip to content

Commit 8a58268

Browse files
committed
Auto merge of #62897 - alexcrichton:fix-i686-msvc-tests, r=pietroalbini
Attempt to fix backtrace tests on i686-msvc Some fixes for i686-msvc and Windows have landed on the `backtrace` crate but hadn't made their way here yet. Let's update that and see if it passes CI.
2 parents e3976ff + 3d2b6e7 commit 8a58268

File tree

4 files changed

+26
-19
lines changed

4 files changed

+26
-19
lines changed

Cargo.lock

+9-16
Original file line numberDiff line numberDiff line change
@@ -97,18 +97,12 @@ dependencies = [
9797
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
9898
]
9999

100-
[[package]]
101-
name = "autocfg"
102-
version = "0.1.4"
103-
source = "registry+https://github.com/rust-lang/crates.io-index"
104-
105100
[[package]]
106101
name = "backtrace"
107-
version = "0.3.29"
102+
version = "0.3.34"
108103
source = "registry+https://github.com/rust-lang/crates.io-index"
109104
dependencies = [
110-
"autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
111-
"backtrace-sys 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
105+
"backtrace-sys 0.1.30 (registry+https://github.com/rust-lang/crates.io-index)",
112106
"cfg-if 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
113107
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
114108
"libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -118,7 +112,7 @@ dependencies = [
118112

119113
[[package]]
120114
name = "backtrace-sys"
121-
version = "0.1.27"
115+
version = "0.1.30"
122116
source = "registry+https://github.com/rust-lang/crates.io-index"
123117
dependencies = [
124118
"cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -864,7 +858,7 @@ name = "error-chain"
864858
version = "0.12.0"
865859
source = "registry+https://github.com/rust-lang/crates.io-index"
866860
dependencies = [
867-
"backtrace 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)",
861+
"backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)",
868862
]
869863

870864
[[package]]
@@ -879,7 +873,7 @@ name = "failure"
879873
version = "0.1.5"
880874
source = "registry+https://github.com/rust-lang/crates.io-index"
881875
dependencies = [
882-
"backtrace 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)",
876+
"backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)",
883877
"failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
884878
]
885879

@@ -2511,7 +2505,7 @@ name = "rustc"
25112505
version = "0.0.0"
25122506
dependencies = [
25132507
"arena 0.0.0",
2514-
"backtrace 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)",
2508+
"backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)",
25152509
"bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
25162510
"byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
25172511
"chalk-engine 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3457,7 +3451,7 @@ name = "std"
34573451
version = "0.0.0"
34583452
dependencies = [
34593453
"alloc 0.0.0",
3460-
"backtrace 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)",
3454+
"backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)",
34613455
"cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
34623456
"cfg-if 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
34633457
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4275,9 +4269,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
42754269
"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
42764270
"checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef"
42774271
"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
4278-
"checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"
4279-
"checksum backtrace 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)" = "2d631cd7af21b7ff796293f1990104e3cdb606852863bac32f000c193aa35dfb"
4280-
"checksum backtrace-sys 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)" = "6ea90dd7b012b3d1a2cb6bec16670a0db2c95d4e931e84f4047e0460c1b34c8d"
4272+
"checksum backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)" = "b5164d292487f037ece34ec0de2fcede2faa162f085dd96d2385ab81b12765ba"
4273+
"checksum backtrace-sys 0.1.30 (registry+https://github.com/rust-lang/crates.io-index)" = "5b3a000b9c543553af61bc01cbfc403b04b5caa9e421033866f2e98061eb3e61"
42814274
"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
42824275
"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
42834276
"checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400"

src/libstd/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ unwind = { path = "../libunwind" }
2626
hashbrown = { version = "0.4.0", features = ['rustc-dep-of-std'] }
2727

2828
[dependencies.backtrace]
29-
version = "0.3.29"
29+
version = "0.3.34"
3030
default-features = false # don't use coresymbolication on OSX
3131
features = [
3232
"rustc-dep-of-std", # enable build support for integrating into libstd

src/test/ui/backtrace-debuginfo.rs

+15-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
// ignore-pretty issue #37195
1212
// ignore-cloudabi spawning processes is not supported
1313
// ignore-emscripten spawning processes is not supported
14-
// ignore-msvc issue #62844
1514
// ignore-sgx no processes
1615
// normalize-stderr-test ".*\n" -> ""
1716

@@ -31,8 +30,23 @@ macro_rules! dump_and_die {
3130
($($pos:expr),*) => ({
3231
// FIXME(#18285): we cannot include the current position because
3332
// the macro span takes over the last frame's file/line.
33+
//
34+
// You might also be wondering why a major platform,
35+
// i686-pc-windows-msvc, is located in here. Some of the saga can be
36+
// found on #62897, but the tl;dr; is that it appears that if the
37+
// standard library doesn't have debug information or frame pointers,
38+
// which it doesn't by default on the test builders, then the stack
39+
// walking routines in dbghelp will randomly terminate the stack trace
40+
// in libstd without going further. Presumably the addition of frame
41+
// pointers and/or debuginfo fixes this since tests always work with
42+
// nightly compilers (which have debuginfo). In general though this test
43+
// is replicated in rust-lang/backtrace-rs and has extensive coverage
44+
// there, even on i686-pc-windows-msvc. We do the best we can in
45+
// rust-lang/rust to test it as well, but sometimes we just gotta keep
46+
// landing PRs.
3447
if cfg!(any(target_os = "android",
3548
all(target_os = "linux", target_arch = "arm"),
49+
all(target_env = "msvc", target_arch = "x86"),
3650
target_os = "freebsd",
3751
target_os = "dragonfly",
3852
target_os = "openbsd")) {

src/test/ui/backtrace.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
// ignore-cloudabi spawning processes is not supported
44
// ignore-emscripten spawning processes is not supported
55
// ignore-openbsd no support for libbacktrace without filename
6-
// ignore-msvc issue #62844
76
// ignore-sgx no processes
7+
// ignore-msvc see #62897 and `backtrace-debuginfo.rs` test
88
// compile-flags:-g
99

1010
use std::env;

0 commit comments

Comments
 (0)