Skip to content

Commit 4b6e0ad

Browse files
usamoitgross35
authored andcommitted
fix libc-test ctest on mips64 and sparc64
(backport <rust-lang#4938>) (cherry picked from commit 36bd27a)
1 parent 2d400c8 commit 4b6e0ad

1 file changed

Lines changed: 24 additions & 14 deletions

File tree

libc-test/build.rs

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4961,27 +4961,37 @@ fn test_linux(target: &str) {
49614961
if gnu {
49624962
// old constants, so tests fail if glibc is too new
49634963
cfg.skip_const(|s| {
4964+
// grep -E -h '^B([0-9])*$' libc-test/semver/*
49644965
[
4965-
"B50", "B75", "B110", "B134", "B150", "B200", "B300", "B600", "B1200", "B1800",
4966-
"B2400", "B4800", "B9600", "B19200", "B38400", "EXTA", "EXTB", "B57600", "B115200",
4967-
"B230400", "B460800", "B500000", "B576000", "B921600", "B1000000", "B1152000",
4968-
"B1500000", "B2000000", "B2500000", "B3000000", "B3500000", "B4000000",
4966+
"EXTA", "EXTB", "B0", "B1000000", "B110", "B115200", "B1152000", "B1200", "B134",
4967+
"B14400", "B150", "B1500000", "B153600", "B1800", "B19200", "B200", "B2000000",
4968+
"B230400", "B2400", "B2500000", "B28800", "B300", "B3000000", "B307200",
4969+
"B3500000", "B38400", "B4000000", "B460800", "B4800", "B50", "B500000", "B57600",
4970+
"B576000", "B600", "B614400", "B7200", "B75", "B76800", "B921600", "B9600",
49694971
]
49704972
.contains(&s.ident())
49714973
});
4974+
if mips || sparc {
4975+
cfg.skip_const(|s| s.ident() == "NCCS");
4976+
}
49724977
// old symbols, so tests fail if glibc is too new
4973-
cfg.skip_fn_ptrcheck(|s| {
4974-
[
4975-
"cfgetispeed",
4976-
"cfgetospeed",
4977-
"cfsetispeed",
4978-
"cfsetospeed",
4979-
"cfsetspeed",
4980-
]
4981-
.contains(&s)
4978+
// note: `skip_fn_ptrcheck` overrides the previous function
4979+
cfg.skip_fn_ptrcheck(move |s| {
4980+
let mut result = false;
4981+
result = result || s == "cfgetispeed";
4982+
result = result || s == "cfgetospeed";
4983+
result = result || s == "cfsetispeed";
4984+
result = result || s == "cfsetospeed";
4985+
result = result || s == "cfsetspeed";
4986+
if mips || sparc {
4987+
result = result || s == "tcgetattr";
4988+
result = result || s == "tcsetattr";
4989+
}
4990+
result
49824991
});
4992+
// old structs, so tests fail if glibc is too new
49834993
if mips || sparc {
4984-
cfg.skip_fn_ptrcheck(|s| ["tcgetattr", "tcsetattr"].contains(&s));
4994+
cfg.skip_struct(|s| s.ident() == "termios");
49854995
}
49864996
}
49874997

0 commit comments

Comments
 (0)