Skip to content

Commit 956ea0e

Browse files
committed
Auto merge of #2828 - JohnTitor:remove-rumprun-support, r=Amanieu
Drop support for Rumprun Closes #2091 Also, document "Supported target policy" on the contributing.md. I'm not sure what we should say other than "Rust removes it, we also may remove it", so put only that for now. Any suggestion is appreciated. Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2 parents a318a94 + a0d4f2d commit 956ea0e

File tree

5 files changed

+5
-40
lines changed

5 files changed

+5
-40
lines changed

CONTRIBUTING.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ after a certain period. The steps are:
7272
If you're using it, please comment on #XXX").
7373
2. If we don't see any concerns for a while, do the change actually.
7474

75+
## Supported target policy
76+
77+
When Rust removes a support for a target, the libc crate also may remove the support anytime.
78+
7579
## Releasing your change to crates.io
7680

7781
Now that you've done the amazing job of landing your new API or your new

ci/README.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ The remaining architectures look like:
3939
then otherwise runs tests normally.
4040
* iOS builds need an extra linker flag currently, but beyond that they're built
4141
as standard as everything else.
42-
* The rumprun target builds an entire kernel from the test suite and then runs
43-
it inside QEMU using the serial console to test whether it succeeded or
44-
failed.
4542
* The BSD builds, currently OpenBSD and FreeBSD, use QEMU to boot up a system
4643
and compile/run tests. More information on that below.
4744

@@ -62,10 +59,6 @@ however. This strategy is used for all Linux architectures that aren't intel.
6259
Note that one downside of this QEMU system is that threads are barely
6360
implemented, so we're careful to not spawn many threads.
6461

65-
For the rumprun target the only output is a kernel image, so we just use that
66-
plus the `rumpbake` command to create a full kernel image which is then run from
67-
within QEMU.
68-
6962
Finally, the fun part, the BSDs. Quite a few hoops are jumped through to get CI
7063
working for these platforms, but the gist of it looks like:
7164

libc-test/build.rs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -969,7 +969,6 @@ fn test_solarish(target: &str) {
969969

970970
fn test_netbsd(target: &str) {
971971
assert!(target.contains("netbsd"));
972-
let rumprun = target.contains("rumprun");
973972
let mut cfg = ctest_cfg();
974973

975974
cfg.flag("-Wno-deprecated-declarations");
@@ -1146,26 +1145,6 @@ fn test_netbsd(target: &str) {
11461145
"setrlimit" | "setrlimit64" | // non-int in 1st arg
11471146
"prlimit" | "prlimit64" | // non-int in 2nd arg
11481147

1149-
// These functions presumably exist on netbsd but don't look like
1150-
// they're implemented on rumprun yet, just let them slide for now.
1151-
// Some of them look like they have headers but then don't have
1152-
// corresponding actual definitions either...
1153-
"shm_open" |
1154-
"shm_unlink" |
1155-
"syscall" |
1156-
"mq_open" |
1157-
"mq_close" |
1158-
"mq_getattr" |
1159-
"mq_notify" |
1160-
"mq_receive" |
1161-
"mq_send" |
1162-
"mq_setattr" |
1163-
"mq_timedreceive" |
1164-
"mq_timedsend" |
1165-
"mq_unlink" |
1166-
"ptrace" |
1167-
"sigaltstack" if rumprun => true,
1168-
11691148
_ => false,
11701149
}
11711150
});

src/unix/bsd/netbsdlike/netbsd/mod.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1568,10 +1568,7 @@ pub const IPPROTO_VRRP: ::c_int = 112;
15681568
/// Common Address Resolution Protocol
15691569
pub const IPPROTO_CARP: ::c_int = 112;
15701570
/// L2TPv3
1571-
// TEMP: Disabled for now; this constant was added to NetBSD on 2017-02-16,
1572-
// but isn't yet supported by the NetBSD rumprun kernel image used for
1573-
// libc testing.
1574-
//pub const IPPROTO_L2TP: ::c_int = 115;
1571+
pub const IPPROTO_L2TP: ::c_int = 115;
15751572
/// SCTP
15761573
pub const IPPROTO_SCTP: ::c_int = 132;
15771574
/// PFSYNC

src/unix/mod.rs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -346,14 +346,6 @@ cfg_if! {
346346
} else if #[cfg(target_os = "emscripten")] {
347347
#[link(name = "c")]
348348
extern {}
349-
} else if #[cfg(all(target_os = "netbsd",
350-
feature = "rustc-dep-of-std",
351-
target_vendor = "rumprun"))] {
352-
// Since we don't use -nodefaultlibs on Rumprun, libc is always pulled
353-
// in automatically by the linker. We avoid passing it explicitly, as it
354-
// causes some versions of binutils to crash with an assertion failure.
355-
#[link(name = "m")]
356-
extern {}
357349
} else if #[cfg(any(target_os = "macos",
358350
target_os = "ios",
359351
target_os = "watchos",

0 commit comments

Comments
 (0)