x86_64-wrs-vxworks has no prebuilt std, and -Zbuild-std fails on an empty
project — you don't have to touch std::process for this to bite:
cargo new vxcheck && cd vxcheck
cargo +nightly check -Zbuild-std=std,panic_abort --target x86_64-wrs-vxworks
error[E0425]: cannot find function `killpg` in crate `libc`
--> library/std/src/sys/process/unix/vxworks.rs:179:28
libc has never declared killpg for vxworks, and declaring it wouldn't help:
VxWorks has no process groups. In wrsdk-vxworks7-qemu-1.17.0 there's no killpg
symbol anywhere, and getpgrp/setpgid are no-ops in libunix — getpgrp
returns a constant 0, setpgid stores nothing and returns 0. So kill(-pgrp, sig) is out as well.
Command::process_group is already ignored on this target too: get_pgroup is
only read by the fork/posix_spawn path in unix.rs, while vxworks.rs spawns
with rtpSpawn.
So ErrorKind::Unsupported looks right here. (rustc suggests kill, but :179
is send_process_group_signal, not Child::kill — send_signal above it
already uses kill.)
Same build also fails on libc::pread/pwrite with libc 0.2.187 or later:
rust-lang/libc#5328.
x86_64-wrs-vxworkshas no prebuilt std, and-Zbuild-stdfails on an emptyproject — you don't have to touch
std::processfor this to bite:libc has never declared
killpgfor vxworks, and declaring it wouldn't help:VxWorks has no process groups. In wrsdk-vxworks7-qemu-1.17.0 there's no
killpgsymbol anywhere, and
getpgrp/setpgidare no-ops in libunix —getpgrpreturns a constant 0,
setpgidstores nothing and returns 0. Sokill(-pgrp, sig)is out as well.Command::process_groupis already ignored on this target too:get_pgroupisonly read by the fork/posix_spawn path in
unix.rs, whilevxworks.rsspawnswith
rtpSpawn.So
ErrorKind::Unsupportedlooks right here. (rustc suggestskill, but :179is
send_process_group_signal, notChild::kill—send_signalabove italready uses
kill.)Same build also fails on
libc::pread/pwritewith libc 0.2.187 or later:rust-lang/libc#5328.