mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 00:34:06 +00:00
Auto merge of #3748 - RalfJung:freebsd-readdir, r=RalfJung
readdir_r shim: assume FreeBSD v12+ Blocked on https://github.com/rust-lang/libc/pull/3723 being released and propagating to std.
This commit is contained in:
commit
e6e294abab
@ -1204,14 +1204,14 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
|
||||
)?;
|
||||
}
|
||||
"freebsd" => {
|
||||
this.write_int(ino, &this.project_field_named(&entry_place, "d_fileno")?)?;
|
||||
// `d_off` only exists on FreeBSD 12+, but we support v11 as well.
|
||||
// `libc` uses a build script to determine which version of the API to use,
|
||||
// and cross-builds always end up using v11.
|
||||
// To support both v11 and v12+, we dynamically check whether the field exists.
|
||||
if this.projectable_has_field(&entry_place, "d_off") {
|
||||
this.write_int(0, &this.project_field_named(&entry_place, "d_off")?)?;
|
||||
}
|
||||
#[rustfmt::skip]
|
||||
this.write_int_fields_named(
|
||||
&[
|
||||
("d_fileno", ino.into()),
|
||||
("d_off", 0),
|
||||
],
|
||||
&entry_place,
|
||||
)?;
|
||||
}
|
||||
_ => unreachable!(),
|
||||
}
|
||||
|
@ -119,9 +119,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.155"
|
||||
version = "0.2.158"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
|
||||
checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
|
Loading…
Reference in New Issue
Block a user