Skip to content

Commit

Permalink
Merge #71
Browse files Browse the repository at this point in the history
71: Automated pull from `rust-lang/libc` r=tshepang a=github-actions[bot]

This PR pulls the following changes from the [`rust-lang/libc`](https://github.com/rust-lang/libc) repository:

* rust-lang/libc#3410
* rust-lang/libc#3302
* rust-lang/libc#3409
* rust-lang/libc#3398
* rust-lang/libc#3324
* rust-lang/libc#3394
* rust-lang/libc#3391
* rust-lang/libc#3399
* rust-lang/libc#3404
* rust-lang/libc#3411
* rust-lang/libc#3291
* rust-lang/libc#3412


Co-authored-by: Qiu Chaofan <qcf@ecnelises.com>
Co-authored-by: Havard Eidnes <he@NetBSD.org>
Co-authored-by: David Carlier <devnexen@gmail.com>
Co-authored-by: Marvin Schmidt <marv@exherbo.org>
Co-authored-by: Khem Raj <raj.khem@gmail.com>
Co-authored-by: Laurence Tratt <laurie@tratt.net>
Co-authored-by: Urgau <urgau@numericable.fr>
Co-authored-by: bors <bors@rust-lang.org>
Co-authored-by: Yuki Okushi <jtitor@2k36.org>
  • Loading branch information
10 people committed Oct 31, 2023
2 parents 4e9576e + 6a3a680 commit 5cf304d
Show file tree
Hide file tree
Showing 34 changed files with 162 additions and 76 deletions.
6 changes: 6 additions & 0 deletions ferrocene/library/libc/.github/dependabot.yml
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
24 changes: 12 additions & 12 deletions ferrocene/library/libc/.github/workflows/bors.yml
Expand Up @@ -26,7 +26,7 @@ jobs:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
- name: Execute run-docker.sh
Expand All @@ -49,7 +49,7 @@ jobs:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
- name: Execute run.sh
Expand Down Expand Up @@ -84,7 +84,7 @@ jobs:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Self-update rustup
run: rustup self update
shell: bash
Expand All @@ -106,7 +106,7 @@ jobs:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: sh ./ci/install-rust.sh
- name: Check style
Expand Down Expand Up @@ -167,7 +167,7 @@ jobs:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
- name: Execute run-docker.sh
Expand Down Expand Up @@ -195,7 +195,7 @@ jobs:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: TOOLCHAIN=nightly INSTALL_RUST_SRC=1 sh ./ci/install-rust.sh
- name: Execute run-docker.sh
Expand All @@ -214,7 +214,7 @@ jobs:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: sh ./ci/install-rust.sh
- name: Execute run-docker.sh
Expand Down Expand Up @@ -250,7 +250,7 @@ jobs:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/install-rust.sh
- name: Execute build.sh
Expand Down Expand Up @@ -285,7 +285,7 @@ jobs:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: TOOLCHAIN=${{ matrix.target.toolchain }} sh ./ci/install-rust.sh
- name: Execute build.sh
Expand All @@ -310,7 +310,7 @@ jobs:
stable,
]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Self-update rustup
run: rustup self update
shell: bash
Expand All @@ -329,11 +329,11 @@ jobs:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@HEAD
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: TOOLCHAIN=nightly sh ./ci/install-rust.sh
- name: Build with check-cfg
run: LIBC_CI=1 LIBC_CHECK_CFG=1 cargo build -Z unstable-options -Z check-cfg=features,names,values,output
run: LIBC_CI=1 LIBC_CHECK_CFG=1 cargo build -Z unstable-options -Z check-cfg

# These jobs doesn't actually test anything, but they're only used to tell
# bors the build completed, as there is no practical way to detect when a
Expand Down
8 changes: 4 additions & 4 deletions ferrocene/library/libc/.github/workflows/main.yml
Expand Up @@ -22,7 +22,7 @@ jobs:
x86_64-unknown-linux-gnu,
]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
- name: Execute run-docker.sh
Expand All @@ -38,7 +38,7 @@ jobs:
x86_64-apple-darwin,
]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
- name: Execute run.sh
Expand Down Expand Up @@ -66,7 +66,7 @@ jobs:
# ARCH: i686
- target: i686-pc-windows-msvc
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Self-update rustup
run: rustup self update
shell: bash
Expand All @@ -81,7 +81,7 @@ jobs:
name: Style check
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: sh ./ci/install-rust.sh
- name: Check style
Expand Down
12 changes: 10 additions & 2 deletions ferrocene/library/libc/build.rs
Expand Up @@ -167,11 +167,19 @@ fn main() {
// https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#check-cfg
if libc_check_cfg {
for cfg in ALLOWED_CFGS {
println!("cargo:rustc-check-cfg=values({})", cfg);
if rustc_minor_ver >= 75 {
println!("cargo:rustc-check-cfg=cfg({})", cfg);
} else {
println!("cargo:rustc-check-cfg=values({})", cfg);
}
}
for &(name, values) in CHECK_CFG_EXTRA {
let values = values.join("\",\"");
println!("cargo:rustc-check-cfg=values({},\"{}\")", name, values);
if rustc_minor_ver >= 75 {
println!("cargo:rustc-check-cfg=cfg({},values(\"{}\"))", name, values);
} else {
println!("cargo:rustc-check-cfg=values({},\"{}\")", name, values);
}
}
}
}
Expand Down
8 changes: 7 additions & 1 deletion ferrocene/library/libc/libc-test/build.rs
Expand Up @@ -1863,7 +1863,8 @@ fn test_android(target: &str) {
| "NDA_NDM_FLAGS_MASK"
| "NDTPA_INTERVAL_PROBE_TIME_MS"
| "NFQA_UNSPEC"
| "NTF_EXT_LOCKED" => true,
| "NTF_EXT_LOCKED"
| "ALG_SET_DRBG_ENTROPY" => true,

_ => false,
}
Expand Down Expand Up @@ -3873,6 +3874,11 @@ fn test_linux(target: &str) {
// FIXME: Requires more recent kernel headers
"HWTSTAMP_TX_ONESTEP_P2P" if musl => true, // linux v5.6+

// kernel 6.5 minimum
"MOVE_MOUNT_BENEATH" => true,
// FIXME: Requires linux 6.1
"ALG_SET_KEY_BY_KEY_SERIAL" | "ALG_SET_DRBG_ENTROPY" => true,

_ => false,
}
});
Expand Down
1 change: 1 addition & 0 deletions ferrocene/library/libc/libc-test/semver/android.txt
Expand Up @@ -61,6 +61,7 @@ ALG_OP_DECRYPT
ALG_OP_ENCRYPT
ALG_SET_AEAD_ASSOCLEN
ALG_SET_AEAD_AUTHSIZE
ALG_SET_DRBG_ENTROPY
ALG_SET_IV
ALG_SET_KEY
ALG_SET_OP
Expand Down
4 changes: 4 additions & 0 deletions ferrocene/library/libc/libc-test/semver/dragonfly.txt
Expand Up @@ -1320,6 +1320,8 @@ getitimer
getlastlogx
getline
getloadavg
getmntinfo
getmntvinfo
getnameinfo
getopt_long
getpeereid
Expand Down Expand Up @@ -1453,6 +1455,7 @@ pthread_condattr_getpshared
pthread_condattr_setclock
pthread_condattr_setpshared
pthread_get_name_np
pthread_getname_np
pthread_getcpuclockid
pthread_kill
pthread_main_np
Expand All @@ -1462,6 +1465,7 @@ pthread_mutexattr_setpshared
pthread_rwlockattr_getpshared
pthread_rwlockattr_setpshared
pthread_set_name_np
pthread_setname_np
pthread_spin_destroy
pthread_spin_init
pthread_spin_lock
Expand Down
4 changes: 4 additions & 0 deletions ferrocene/library/libc/libc-test/semver/freebsd.txt
Expand Up @@ -972,6 +972,8 @@ PROC_WX_MAPPINGS_PERMIT
PROC_WXMAP_CTL
PROC_WXMAP_STATUS
PROC_WXORX_ENFORCE
PROT_MAX
PROT_MAX_EXTRACT
PTHREAD_CREATE_DETACHED
PTHREAD_CREATE_JOINABLE
PTHREAD_MUTEX_ADAPTIVE_NP
Expand Down Expand Up @@ -2027,6 +2029,7 @@ pthread_condattr_getpshared
pthread_condattr_setclock
pthread_condattr_setpshared
pthread_get_name_np
pthread_getname_np
pthread_getaffinity_np
pthread_getcpuclockid
pthread_getthreadid_np
Expand All @@ -2042,6 +2045,7 @@ pthread_rwlockattr_getpshared
pthread_rwlockattr_setpshared
pthread_setaffinity_np
pthread_set_name_np
pthread_setname_np
pthread_getschedparam
pthread_setschedparam
pthread_spin_destroy
Expand Down
8 changes: 8 additions & 0 deletions ferrocene/library/libc/libc-test/semver/linux-gnu.txt
Expand Up @@ -140,6 +140,14 @@ MOD_OFFSET
MOD_STATUS
MOD_TAI
MOD_TIMECONST
MOVE_MOUNT_BENEATH
MOVE_MOUNT_F_AUTOMOUNTS
MOVE_MOUNT_F_EMPTY_PATH
MOVE_MOUNT_F_SYMLINKS
MOVE_MOUNT_SET_GROUP
MOVE_MOUNT_T_AUTOMOUNTS
MOVE_MOUNT_T_EMPTY_PATH
MOVE_MOUNT_T_SYMLINKS
MPOL_BIND
MPOL_DEFAULT
MPOL_F_NUMA_BALANCING
Expand Down
2 changes: 2 additions & 0 deletions ferrocene/library/libc/libc-test/semver/linux.txt
Expand Up @@ -71,8 +71,10 @@ ALG_OP_DECRYPT
ALG_OP_ENCRYPT
ALG_SET_AEAD_ASSOCLEN
ALG_SET_AEAD_AUTHSIZE
ALG_SET_DRBG_ENTROPY
ALG_SET_IV
ALG_SET_KEY
ALG_SET_KEY_BY_KEY_SERIAL
ALG_SET_OP
ALT_DIGITS
AM_STR
Expand Down
11 changes: 8 additions & 3 deletions ferrocene/library/libc/src/unix/aix/mod.rs
@@ -1,7 +1,6 @@
pub type c_char = i8;
pub type caddr_t = *mut ::c_char;
// FIXME: clockid_t must be c_long, but time.rs accepts only i32
pub type clockid_t = ::c_int;
pub type clockid_t = ::c_longlong;
pub type blkcnt_t = ::c_long;
pub type clock_t = ::c_int;
pub type daddr_t = ::c_long;
Expand Down Expand Up @@ -3275,7 +3274,13 @@ extern "C" {
pub fn splice(socket1: ::c_int, socket2: ::c_int, flags: ::c_int) -> ::c_int;
pub fn srand(seed: ::c_uint);
pub fn srand48(seed: ::c_long);
pub fn stat64(path: *const c_char, buf: *mut stat64) -> ::c_int;
pub fn stat64(path: *const ::c_char, buf: *mut stat64) -> ::c_int;
pub fn stat64at(
dirfd: ::c_int,
path: *const ::c_char,
buf: *mut stat64,
flags: ::c_int,
) -> ::c_int;
pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int;
pub fn statfs64(path: *const ::c_char, buf: *mut statfs64) -> ::c_int;
pub fn statvfs64(path: *const ::c_char, buf: *mut statvfs64) -> ::c_int;
Expand Down
Expand Up @@ -1678,6 +1678,12 @@ extern "C" {

pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
pub fn getmntinfo(mntbufp: *mut *mut ::statfs, flags: ::c_int) -> ::c_int;
pub fn getmntvinfo(
mntbufp: *mut *mut ::statfs,
mntvbufp: *mut *mut ::statvfs,
flags: ::c_int,
) -> ::c_int;
}

#[link(name = "rt")]
Expand Down
Expand Up @@ -4857,6 +4857,14 @@ f! {
};
::mem::size_of::<sockcred2>() + ::mem::size_of::<::gid_t>() * ngrps
}

pub fn PROT_MAX(x: ::c_int) -> ::c_int {
x << 16
}

pub fn PROT_MAX_EXTRACT(x: ::c_int) -> ::c_int {
(x >> 16) & (::PROT_READ | ::PROT_WRITE | ::PROT_EXEC)
}
}

safe_f! {
Expand Down
6 changes: 6 additions & 0 deletions ferrocene/library/libc/src/unix/bsd/freebsdlike/mod.rs
Expand Up @@ -1646,6 +1646,12 @@ extern "C" {
pub fn pthread_barrier_wait(barrier: *mut pthread_barrier_t) -> ::c_int;
pub fn pthread_get_name_np(tid: ::pthread_t, name: *mut ::c_char, len: ::size_t);
pub fn pthread_set_name_np(tid: ::pthread_t, name: *const ::c_char);
pub fn pthread_getname_np(
thread: ::pthread_t,
buffer: *mut ::c_char,
length: ::size_t,
) -> ::c_int;
pub fn pthread_setname_np(thread: ::pthread_t, name: *const ::c_char) -> ::c_int;
pub fn pthread_setschedparam(
native: ::pthread_t,
policy: ::c_int,
Expand Down
3 changes: 3 additions & 0 deletions ferrocene/library/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs
Expand Up @@ -3203,6 +3203,9 @@ cfg_if! {
} else if #[cfg(target_arch = "x86")] {
mod x86;
pub use self::x86::*;
} else if #[cfg(target_arch = "riscv64")] {
mod riscv64;
pub use self::riscv64::*;
} else {
// Unknown target_arch
}
Expand Down
21 changes: 21 additions & 0 deletions ferrocene/library/libc/src/unix/bsd/netbsdlike/netbsd/riscv64.rs
@@ -0,0 +1,21 @@
use PT_FIRSTMACH;

pub type c_long = i64;
pub type c_ulong = u64;
pub type c_char = u8;
pub type __cpu_simple_lock_nv_t = ::c_int;

cfg_if! {
if #[cfg(libc_const_size_of)] {
#[doc(hidden)]
pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_long>() - 1;
} else {
#[doc(hidden)]
pub const _ALIGNBYTES: usize = 8 - 1;
}
}

pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 0;
pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 1;
pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 2;
pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 3;

0 comments on commit 5cf304d

Please sign in to comment.