chore(deps): update rust crate libc to v0.2.189 (master) #334

Open
renovate-bot wants to merge 1 commit from renovate/master-libc-0.x-lockfile into master
Collaborator

This PR contains the following updates:

Package Type Update Change
libc workspace.dependencies patch 0.2.1770.2.189

⚠️ Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

rust-lang/libc (libc)

v0.2.189

Compare Source

Added
  • Emscripten: Add pthread_sigmask, sigwait, sigwaitinfo, sigtimedwait, faccessat, and pthread_kill (#​5270)
  • Linux SPARC: Enable the clone3 syscall (#​4980)
  • Solarish: Add CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID (#​5274)
Deprecated
  • Deprecate CLONE_INTO_CGROUP and CLONE_CLEAR_SIGHAND. These overflow their types and will be changed to a larger size in the future. (8c6e6710458d)
Fixed
  • Musl riscv32: Rename padding fields to avoid a conflict and fix the build (2499ff0ad993)
  • NuttX: Fix wchar_t definition under Arm (#​5245)
  • Windows: Add back link names for time-related symbols (#​5300)

v0.2.188

Compare Source

Changed

These were removed in 0.2.187 because libc does not actually make Send and Sync
guarantees about DIR (or other extern types), but this caused some crates to break.
The traits are added back for now to allow time to migrate, but will be removed again
in the future; please make sure your crates are not relying on libc::DIR: Send or
libc::DIR: Sync.

v0.2.187

Compare Source

This release contains a number of improvements related to 64-bit time_t configuration.
Of note the existing RUST_LIBC_UNSTABLE_* environment variables have been replaced
with configuration options. The new way to use these is:

RUSTFLAGS='--cfg=libc_unstable_musl_v1_2_3' cargo ...
RUSTFLAGS='--cfg=libc_unstable_gnu_time_bits="64"' cargo ...

Being able to set this via RUSTFLAGS makes it easier to only apply configuration to
specific targets (and notably, not the host if build scripts are used).

There are two other notable changes:

  • The 32-bit windows-gnu targets now respect libc_unstable_gnu_time_bits

  • uClibc now supports a similar configuration option:

    RUSTFLAGS='--cfg=libc_unstable_uclibc_time64'
    

As a reminder, these options are under active development and may change in the future
(hence the "unstable" in the name). It likely that we will harmonize everything under a
single configuration option before considering them stable.

Support
  • Add support for aarch64-unknown-linux-pauthtest (#​5065)
  • Add support for new QNX targets (#​5241)
  • Better document breaking change policy and recommended usage (#​5179)
Added
  • Android: Add POSIX_SPAWN_* constants (#​5104)
  • Android: Add getpwent, setpwent, and endpwent (#​5160)
  • Android: Add preadv2 and pwritev2 (#​5157)
  • Android: Add seccomp_notif* structures (#​5224)
  • Android: Add timer_[create, delete, getoverrun, gettime, settime] (#​5108)
  • Apple: Add PROC_PIDT_SHORTBSDINFO and proc_bsdshortinfo (#​5110)
  • Apple: Add SIOC* constants from sockio.h (#​5263)
  • Apple: Add _IOR, _IOW, _IOWR (#​5264)
  • Apple: Add bpf_program and bpf_insn (#​5235)
  • Apple: Add additional kqueue constants (#​5077)
  • Apple: Update vm_statistics64 with recently added fields (#​5253)
  • Apple: add IN6_IFF_* and SIOCGIFAFLAG_IN6 (#​5239)
  • Dragonfly: Add O_*, POSIX_FADV_*, NI*, and a few other missing constants (#​5116)
  • Dragonfly: add fdatasync, dlvsym, reallocarray, qsort_r, pthread_*affinity_np, ftok, extattr_*, and dup3 (#​5116)
  • Emscripten: Add in6_pktinfo (#​5256)
  • FreeBSD: Add SOL_LOCAL (#​5185)
  • FreeBSD: Add DLT_* constants (#​5235)
  • FreeBSD: Add PROC_LOGSIGEXIT_* and PPROT_* (#​4657)
  • FreeBSD: Add SO_RERROR (#​5260)
  • FreeBSD: add IN6_IFF_*, in6_ifreq, and SIOCGIFAFLAG_IN6 (#​5239)
  • FreeBSD: add _IO* helpers from sys/ioccom.h (#​5239)
  • Glibc: Add PTHREAD_*_MUTEX_INITIALIZER_NP for riscv64 (#​5094)
  • Glibc: Add new fields to struct tcp_info (#​5215)
  • Linux: Add OPEN_TREE_NAMESPACE (#​5145)
  • Linux: Add SECCOMP_IOCTL_* constants (#​5224)
  • Linux: Add SO_DETACH_REUSEPORT_BPF (#​5081)
  • Linux: Add futex_waitv (#​5125)
  • Linux: Add constants for fsopen, fsconfig, fsmount, and fspick (#​5145)
  • Linux: Add fields to statx present since 6.16 (#​4621)
  • Linux: Add network entry API (#​5049)
  • Linux: add ifaddrmsg and rtattr (#​5234)
  • Linux: add sockaddr_iucv (#​5041)
  • MacOS: Add ENOTCAPABLE (#​4925)
  • Musl: Add renameat2 (#​5113)
  • NuttX: Add F_SETFD (#​5258)
  • NuttX: Add POLLRD* and POLLWR* constants (#​5258)
  • NuttX: Add SO_KEEPALIVE and TCP keepalive constants (#​5111)
  • NuttX: Add TCP_MAXSEG (#​5258)
  • NuttX: Add eventfd and EFD_* constants (#​5258)
  • NuttX: Add pipe2 (#​5258)
  • NuttX: Add strerror_r (#​5258)
  • NuttX: Add netinet structs and constants (#​5258)
  • NuttX: Add socket structs, functions and constants (#​5258)
  • QuRT: Add POSIX timer functions (#​5091)
  • QuRT: Add missing pthread functions from QuRT SDK headers (#​5091)
  • QuRT: Add missing unistd process and file functions (#​5091)
  • QuRT: Add mqueue subsystem (message queues, select/pselect) (#​5091)
  • Redox: Add *at and dirent functions (#​5117)
  • Solarish: Add IP TTL and IPv6 Hop Limit consts (#​5089)
  • Solarish: Add port_alert and PORT_ALERT* constants (#​5203)
  • Solarish: add AI_CANONNAME (#​5085)
  • aarch64: Add SYS_sendfile and SYS_fadvise64 constants (#​5133)
Deprecated
  • Dragonfly: Deprecate compatibility aliases CPUCTL_RSMSR and UTX_DB_LASTLOG (#​5116)
Fixed
  • breaking NetBSD: Correct ts from *const timespec to *mut timespec in _lwp_park` (#​5169)
  • breaking Linux GNU: Change overflowing PTRACE_*ET_SYSCALL_USER_DISPATCH_CONFIG constants from u8 to c_uint (#​4936)
  • Fix the soundness bug in the representation of extern types (#​5021)
  • Cygwin: fix cpuset_t typo in CPU_ZERO (#​5098)
  • Dragonfly: ABI fixes including regex offsets, ifaddrs, pthread barriers, process sizing fields, and mcontext alignment (#​5116)
  • Dragonfly: Correct values of CPUCTL_CPUID*, EV_HUP, and EV_SYSFLAGS (#​5116)
  • Emscripten: fix pthread type sizes for wasm64 (MEMORY64) (#​5156)
  • Horizon: Fix the value of POLLOUT (#​5090)
  • Linux: Correct the value of EPIOC[GS]PARAMS with nonstandard _IOC (#​5188)
  • Make VxWorks shims unsafe (#​3727)
  • NetBSD: Correct getmntinfo to link __getmntinfo13 (#​5251)
  • QNX: Fix the value of PTHREAD_MUTEX_INITIALIZER (#​5241)
  • QuRT: fix type and definition inaccuracies against SDK headers (#​5091)
  • Windows: Correctly link to 32-bit time routines on 32-bit platforms (#​5059)
  • uClibc: Fix constants accidentally removed (#​5141)
  • uclibc: Fix build issues (#​5046)
  • uclibc: Fix type of PRIO_PROCESS and friends (#​5046)
Changed
  • AIX, TeeOS: Drop unneeded -> c_void (#​5240)
  • Apple: Change AIO_LISTIO_MAX to account for changes in macOS 27 (#​5253)
  • Glibc: Update the value of MS_NOUSER (#​5215)
  • L4Re: Update definitions and test infra (#​5275)
  • Linux: Update the value of SW_MAX and SW_CNT (#​5215)
  • MacOS: Add swapped_count to vm_statistics64 (#​4926)
  • Windows: Windows-GNU now respects libc_unstable_gnu_time_bits for 64-bit time_t config (#​5062)
Removed
  • Dragonfly: Remove FreeBSD-only Elf32_Lword, ip_mreq_source, and IP_ constants (#​5116)
  • Dragonfly: Remove private VM type bindings (#​5116)
  • Linux: Remove KERN_REALROOTDEV and VM_LAPTOP_MODE (#​5177)
  • VxWorks: Remove non-user-facing (kernel) API (#​5129)
Other
  • Print config information if LIBC_BUILD_VERBOSE is set (#​5272)
  • Annotate *LAST constants as potentially changing (#​5120)
  • Annotate *MAX constants as potentially changing (#​5122)
  • BSD: Annotate ELAST constants as potentially changing (#​5118)
  • FreeBSD: Annotate RAND_MAX as potentially changing (#​5119)
  • Linux, L4re: Annotate *NUM constants as potentially changing (#​5123)
  • QNX: Restructure to support new platforms (#​4984)
  • Unix: Annotate *COUNT constants as potentially changing (#​5121)
  • uClibc: Add unstable support of 64-bit time_t (#​5046)
  • (internal) FreeBSD: Replace unstable env to set version with an unstable cfg (#​5201)
  • (internal) Glibc: Remove public configuration for file offset bits (#​5268)
  • (internal) Linux: Delete config via RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64 (#​5197)
  • (internal) Replace RUST_LIBC_UNSTABLE env with libc_unstable* cfg (#​4977)

v0.2.186

Compare Source

Added
  • Apple: Add KEVENT_FLAG_* constants (#​5070)
  • Linux: Add PR_SET_MEMORY_MERGE and PR_GET_MEMORY_MERGE (#​5060)
Changed
  • CI: Migrate FreeBSD CI from Cirrus CI to GitHub Actions (#​5058)

v0.2.185

Compare Source

Added
  • EspIDF: Add espidf_picolibc cfg for picolibc O_* flag values (#​5035)
  • Hexagon: add missing constants and fix types for linux-musl (#​5042)
  • Redox: Add semaphore functions (#​5051)
  • Windows: Add sprintf, snprintf, and the scanf family (#​5024)
Fixed
  • Hexagon: Decouple time64 types from musl symbol redirects (#​5040)
  • Horizon: Change POLL constants from c_short to c_int (#​5045)

v0.2.184

Compare Source

MSRV

This release increases the MSRV of libc to 1.65. With this update, you can now always use the
core::ffi::c_* types with libc definitions, since libc has been changed to reexport from
core rather than redefining them. (This usually worked before but had edge cases.)
(#​4972)

Added
  • BSD: Add IP_MINTTL to bsd (#​5026)
  • Cygwin: Add TIOCM_DSR (#​5031)
  • FreeBSD: Added xfile structe and file descriptor types (#​5002)
  • Linux: Add CAN netlink bindings (#​5011)
  • Linux: Add struct ethhdr (#​4239)
  • Linux: Add struct ifinfomsg (#​5012)
  • Linux: Define max_align_t for riscv64 (#​5029)
  • NetBSD: Add missing CLOCK_ constants (#​5020)
  • NuttX: Add _SC_HOST_NAME_MAX (#​5004)
  • VxWorks: Add flock and F_*LCK constants (#​4043)
  • WASI: Add all _SC_* sysconf constants (#​5023)
Deprecated

The remaining fixed-width integer aliases, __uint128_t, __uint128, __int128_t, and __int128,
have been deprecated. Use i128 and u128 instead. (#​4343)

Fixed
  • breaking Redox: Fix signal action constant types (#​5009)
  • EspIDF: Correct the value of DT_* constants (#​5034)
  • Redox: Fix locale values and add RTLD_NOLOAD, some TCP constants (#​5025)
  • Various: Use Padding::new(<zeroed>) rather than Padding::uninit() (#​5036)
Changed
  • potentially breaking Linux: Add new fields to struct ptrace_syscall_info (#​4966)
  • Re-export core::ffi integer types rather than redefining (#​5015)
  • Redox: Update F_DUPFD, IP, and TCP constants to match relibc (#​4990)

v0.2.183

Compare Source

Added
  • ESP-IDF: Add SOMAXCONN (#​4993)
  • Linux: Add name_to_handle_at and open_by_handle_at (#​4988)
  • NetBSD: Add kinfo_file, kinfo_pcb, and related constants (#​4985)
  • OpenBSD: Add kinfo_file and related constants (#​4991)
  • VxWorks: Add additional structs and defines (#​5003)
  • Various: Implement Default for timeval and timespec (#​4976)
Fixed
  • Hexagon musl: Enable unstable 64-bit time_t support and musl_v1_2_3 (#​4992)
  • Nintendo Switch: Fix target support (#​4982)
  • OpenBSD: Wrap an unused field in Padding (#​4997)
  • Redox: Change sigaction.sa_flags to c_int (#​4986)
  • Redox: Fix blkcnt_t type (#​4994)

v0.2.182

Compare Source

Added

v0.2.181

Compare Source

Added
  • Apple: Add MADV_ZERO (#​4924)
  • Redox: Add makedev, major, and minor (#​4928)
  • GLibc: Add PTRACE_SET_SYSCALL_INFO (#​4933)
  • OpenBSD: Add more kqueue related constants for (#​4945)
  • Linux: add CAN error types (#​4944)
  • OpenBSD: Add siginfo_t::si_status (#​4946)
  • QNX NTO: Add max_align_t (#​4927)
  • Illumos: Add _CS_PATH (#​4956)
  • OpenBSD: add ppoll (#​4957)
Fixed
  • Breaking: Redox: Fix the type of dev_t (#​4928)
  • AIX: Change 'tv_nsec' of 'struct timespec' to type 'c_long' (#​4931)
  • AIX: Use 'struct st_timespec' in 'struct stat{,64}' (#​4931)
  • Glibc: Link old version of tc{g,s}etattr (#​4938)
  • Glibc: Link the correct version of cf{g,s}et{i,o}speed on mips{32,64}r6 (#​4938)
  • OpenBSD: Fix constness of tm.tm_zone (#​4948)
  • OpenBSD: Fix the definition of ptrace_thread_state (#​4947)
  • QuRT: Fix type visibility and defs (#​4932)
  • Redox: Fix values for PTHREAD_MUTEX_{NORMAL, RECURSIVE} (#​4943)
  • Various: Mark additional fields as private padding (#​4922)
Changed
  • Fuchsia: Update SO_* constants (#​4937)
  • Revert "musl: convert inline timespecs to timespec" (resolves build issues on targets only supported by Musl 1.2.3+ ) (#​4958)

v0.2.180

Compare Source

Added
  • QNX: Add missing BPF and ifreq structures (#​4769)
Fixed
  • Linux, L4Re: address soundness issues of CMSG_NXTHDR (#​4903)
  • Linux-like: Handle zero-sized payload differences in CMSG_NXTHDR (#​4903)
  • Musl: Fix incorrect definitions of struct stat on some 32-bit architectures (#​4914)
  • NetBSD: RISC-V 64: Correct mcontext type definitions (#​4886)
  • uClibc: Re-enable __SIZEOF_PTHREAD_COND_T on non-L4Re uclibc (#​4915)
  • uClibc: Restructure Linux netlink module to resolve build errors (#​4915)

v0.2.179

Compare Source

With this release, we now have unstable support for 64-bit time_t on 32-bit
platforms with both Musl and Glibc. Testing is appreciated!

For now, these can be enabled by setting environment variables during build:

RUST_LIBC_UNSTABLE_MUSL_V1_2_3=1
RUST_LIBC_UNSTABLE_GNU_TIME_BITS=64

Note that the exact configuration will change in the future. Setting the
MUSL_V1_2_3 variable also enables some newer API unrelated to time_t.

Added
  • L4Re: Add uclibc aarch64 support (#​4479)
  • Linux, Android: Add a generic definition for XCASE (#​4847)
  • Linux-like: Add NAME_MAX (#​4888)
  • Linux: Add AT_EXECVE_CHECK (#​4422)
  • Linux: Add the SUN_LEN macro (#​4269)
  • Linux: add getitimer and setitimer (#​4890)
  • Linux: add pthread_tryjoin_n and pthread_timedjoin_np (#​4887)
  • Musl: Add unstable support for 64-bit time_t on 32-bit platforms (#​4463)
  • NetBSD, OpenBSD: Add interface LINK_STATE_* definitions from sys/net/if.h (#​4751)
  • QuRT: Add support for Qualcomm QuRT (#​4845)
  • Types: Add Padding::uninit() (#​4862)
Fixed
  • Glibc: Link old version of cf{g,s}et{i,o}speed (#​4882)
  • L4Re: Fixes for pthread (#​4479)
  • L4re: Fix a wide variety of incorrect definitions (#​4479)
  • Musl: Fix the value of CPU_SETSIZE on musl 1.2+ (#​4865)
  • Musl: RISC-V: fix public padding fields in stat/stat64 (#​4463)
  • Musl: s390x: Fix definition of SIGSTKSZ/MINSIGSTKSZ (#​4884)
  • NetBSD: Arm: Fix PT_{GET,SET}FPREGS, _REG_TIPDR, and _REG_{LR,SP} (#​4899)
  • NetBSD: Fix if_msghdr alignment (#​4902)
  • NetBSD: Fix siginfo_t layout on 32-bit platforms (#​4904)
  • NetBSD: change definition of pthread_spin_t to allow arch redefinition. (#​4899)
  • Newlib: Fix ambiguous glob exports and other warnings for Vita and 3DS (#​4875)
  • QNX: Fix build error (#​4879)
Changed
  • CI: Update CI images to FreeBSD 15.0-release (#​4857)
  • L4Re: Make pthread struct fields private (#​4876)
  • Linux, Fuchsia: Mark mq_attr padding area as such (#​4858)
  • Types: Wrap a number of private fields in the Padding type (#​4862)
Removed
  • Build: Remove RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64 (#​4865)
  • WASI: Remove nonexistent clocks (#​4880)

v0.2.178

Compare Source

Added
  • BSD: Add issetugid (#​4744)
  • Cygwin: Add missing utmp/x.h, grp.h, and stdio.h interfaces (#​4827)
  • Linux s390x musl: Add __psw_t/fprefset_t/*context_t (#​4726)
  • Linux, Android: Add definition for IUCLC (#​4846)
  • Linux, FreeBSD: Add AT_HWCAP{3,4} (#​4734)
  • Linux: Add definitions from linux/can/bcm.h (#​4683)
  • Linux: Add syscalls 451-469 for m68k (#​4850)
  • Linux: PowerPC: Add 'ucontext.h' definitions (#​4696)
  • NetBSD: Define eventfd (#​4830)
  • Newlib: Add missing constants from unistd.h (#​4811)
  • QNX NTO: Add cfmakeraw (#​4704)
  • QNX NTO: Add cfsetspeed (#​4704)
  • Redox: Add getresgid and getresuid (#​4752)
  • Redox: Add setresgid and setresuid (#​4752)
  • VxWorks: Add definitions from select.h, stat.h, poll.h, ttycom.h, utsname.h, resource.h, mman.h, udp.h, in.h, in6.h, if.h, fnmatch.h, and sioLibCommon.h (#​4781)
  • VxWorks: Add missing defines/functions needed by rust stdlib (#​4779)
  • WASI: Add more definitions for libstd (#​4747)
Deprecated:
  • Apple: Deprecate TIOCREMOTE (#​4764)
Fixed:

Note that there were a large number of fixes on NetBSD for this libc release, some of which include minor breakage.

  • AIX: Change errno EWOULDBLOCK to make it an alias of EAGAIN (#​4790)
  • AIX: Resolve function comparison and unnecessary_transmutes warnings (#​4780)
  • Apple: Correct the value of SF_SETTABLE (#​4764)
  • DragonflyBSD: Fix the type of mcontext_t.mc_fpregs (#)
  • EspIDF: Fix the duplicate definition of gethostname (#​4773)
  • L4Re: Update available pthread API (#​4836)
  • Linux: Correct the value of NFT_MSG_MAX (#​4761)
  • Linux: Remove incorrect repr(align(8)) for canxl_frame (#​4760)
  • Make eventfd argument names match OS docs/headers (#​4830)
  • NetBSD: Account for upstream changes to ptrace with LWP (#​4782)
  • NetBSD: Correct ipc_perm, split from OpenBSD as ipc.rs (#​4782)
  • NetBSD: Correct a number of symbol link names (#​4782)
  • NetBSD: Correct the type of kinfo_vmentry.kve_path (#)
  • NetBSD: Fix uucred.cr_ngroups from int to short (#​4782)
  • NetBSD: Fix the type of kevent.udata (#​4782)
  • NetBSD: Fix the type of mcontext_t.__fpregs (#​4782)
  • NetBSD: Fix the value of PT_SUSPEND (#​4782)
  • NetBSD: Fix the values of FNM_* constants (#​4782)
  • NetBSD: Increase the size of sockaddr_dl.sdl_data from 12 to 24 (#​4782)
  • NetBSD: Introduce if_.rs, fix the definition of ifreq (#​4782)
  • NetBSD: Introduce time.rs, fix the values of CLOCK_*_CPUTIME_ID (#​4782)
  • NetBSD: Introduce timex.rs (#​4782)
  • NetBSD: Introduce types.rs, correct the definition of lwpid_t (#​4782)
  • NetBSD: Introduce utmp_.rs, correct the definition of lastlog (#​4782)
  • NetBSD: Introduce utmpx_.rs, correct utmpx definitions (#​4782)
  • NetBSD: Make _cpuset an extern type (#​4782)
  • NetBSD: RISC-V 64: Fix the mcontext types (#​4782)
  • Nuttx: Resolve warnings (#​4773)
  • OHOS: Don't emit duplicate lfs64 definitions (#​4804)
  • Redox: Fix the type of pid_t (#​4825)
  • WASI: Gate __wasilibc_register_preopened_fd (#​4837)
  • Wali: Fix unknown config (#​4773)
Changed
  • AIX: Declare field 'tv_nsec' of structure 'timespec' as 'i32' in both 32-bit and 64-bit modes (#​4750)
  • DragonFly: Avoid usage of thread_local (#​3653)
  • Linux: Update the definition for ucontext_t and unskip its tests (#​4760)
  • MinGW: Set L_tmpnam and TMP_MAX to the UCRT value (#​4566)
  • WASI: More closely align pthread type reprs (#​4747)
  • Simplify rustc-check-cfg emission in build.rs (#​4724)
  • Transition a number of definitions to the new source structure (internal change)
Removed
  • MIPS Musl: Remove rogue definition of SIGSTKFLT (#​4749)
  • NetBSD: Make statvfs.f_spare non-public (#​4782)
  • NetBSD: Remove BPF constants (#​4782)
  • NetBSD: Remove *_MAXID constants and AT_SUN_LDPGSIZE (#​4782)
  • NetBSD: Remove IFF_NOTRAILERS (#​4782)
  • NetBSD: Remove vm_size_t (#​4782)
  • NetBSD: Replace REG_ENOSYS with REG_ILLSEQ (#​4782)

Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [libc](https://github.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.177` → `0.2.189` | --- > ⚠️ **Warning** > > Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/190) for more information. --- ### Release Notes <details> <summary>rust-lang/libc (libc)</summary> ### [`v0.2.189`](https://github.com/rust-lang/libc/releases/tag/0.2.189) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.188...0.2.189) ##### Added - Emscripten: Add `pthread_sigmask`, `sigwait`, `sigwaitinfo`, `sigtimedwait`, `faccessat`, and `pthread_kill` ([#&#8203;5270](https://github.com/rust-lang/libc/pull/5270)) - Linux SPARC: Enable the `clone3` syscall ([#&#8203;4980](https://github.com/rust-lang/libc/pull/4980)) - Solarish: Add `CLOCK_PROCESS_CPUTIME_ID` and `CLOCK_THREAD_CPUTIME_ID` ([#&#8203;5274](https://github.com/rust-lang/libc/pull/5274)) ##### Deprecated - Deprecate `CLONE_INTO_CGROUP` and `CLONE_CLEAR_SIGHAND`. These overflow their types and will be changed to a larger size in the future. ([8c6e6710458d](https://github.com/rust-lang/libc/commit/8c6e6710458db4d6aa0766f6f84bbf13f640237e)) ##### Fixed - Musl riscv32: Rename padding fields to avoid a conflict and fix the build ([2499ff0ad993](https://github.com/rust-lang/libc/commit/2499ff0ad9936a036e78a4e0991445efee383564)) - NuttX: Fix `wchar_t` definition under Arm ([#&#8203;5245](https://github.com/rust-lang/libc/pull/5245)) - Windows: Add back link names for `time`-related symbols ([#&#8203;5300](https://github.com/rust-lang/libc/pull/5300)) ### [`v0.2.188`](https://github.com/rust-lang/libc/releases/tag/0.2.188) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.187...0.2.188) ##### Changed - Restore `Send` and `Sync` for `DIR` ([35b062263401](https://github.com/rust-lang/libc/commit/35b062263401733cd89065c6a553640f2ba51ff1)) These were removed in 0.2.187 because `libc` does not actually make `Send` and `Sync` guarantees about `DIR` (or other extern types), but this caused some crates to break. The traits are added back for now to allow time to migrate, but will be removed again in the future; please make sure your crates are not relying on `libc::DIR: Send` or `libc::DIR: Sync`. ### [`v0.2.187`](https://github.com/rust-lang/libc/releases/tag/0.2.187) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.186...0.2.187) This release contains a number of improvements related to 64-bit `time_t` configuration. Of note the existing `RUST_LIBC_UNSTABLE_*` environment variables have been replaced with configuration options. The new way to use these is: ```sh RUSTFLAGS='--cfg=libc_unstable_musl_v1_2_3' cargo ... RUSTFLAGS='--cfg=libc_unstable_gnu_time_bits="64"' cargo ... ``` Being able to set this via `RUSTFLAGS` makes it easier to only apply configuration to specific targets (and notably, not the host if build scripts are used). There are two other notable changes: - The 32-bit `windows-gnu` targets now respect `libc_unstable_gnu_time_bits` - uClibc now supports a similar configuration option: ```sh RUSTFLAGS='--cfg=libc_unstable_uclibc_time64' ``` As a reminder, these options are under active development and may change in the future (hence the "unstable" in the name). It likely that we will harmonize everything under a single configuration option before considering them stable. ##### Support - Add support for `aarch64-unknown-linux-pauthtest` ([#&#8203;5065](https://github.com/rust-lang/libc/pull/5065)) - Add support for new QNX targets ([#&#8203;5241](https://github.com/rust-lang/libc/pull/5241)) - Better document breaking change policy and recommended usage ([#&#8203;5179](https://github.com/rust-lang/libc/pull/5179)) ##### Added - Android: Add `POSIX_SPAWN_*` constants ([#&#8203;5104](https://github.com/rust-lang/libc/pull/5104)) - Android: Add `getpwent`, `setpwent`, and `endpwent` ([#&#8203;5160](https://github.com/rust-lang/libc/pull/5160)) - Android: Add `preadv2` and `pwritev2` ([#&#8203;5157](https://github.com/rust-lang/libc/pull/5157)) - Android: Add `seccomp_notif*` structures ([#&#8203;5224](https://github.com/rust-lang/libc/pull/5224)) - Android: Add `timer_[create, delete, getoverrun, gettime, settime]` ([#&#8203;5108](https://github.com/rust-lang/libc/pull/5108)) - Apple: Add `PROC_PIDT_SHORTBSDINFO` and `proc_bsdshortinfo` ([#&#8203;5110](https://github.com/rust-lang/libc/pull/5110)) - Apple: Add `SIOC*` constants from `sockio.h` ([#&#8203;5263](https://github.com/rust-lang/libc/pull/5263)) - Apple: Add `_IOR`, `_IOW`, `_IOWR` ([#&#8203;5264](https://github.com/rust-lang/libc/pull/5264)) - Apple: Add `bpf_program` and `bpf_insn` ([#&#8203;5235](https://github.com/rust-lang/libc/pull/5235)) - Apple: Add additional `kqueue` constants ([#&#8203;5077](https://github.com/rust-lang/libc/pull/5077)) - Apple: Update `vm_statistics64` with recently added fields ([#&#8203;5253](https://github.com/rust-lang/libc/pull/5253)) - Apple: add `IN6_IFF_*` and `SIOCGIFAFLAG_IN6` ([#&#8203;5239](https://github.com/rust-lang/libc/pull/5239)) - Dragonfly: Add `O_*`, `POSIX_FADV_*`, `NI*`, and a few other missing constants ([#&#8203;5116](https://github.com/rust-lang/libc/pull/5116)) - Dragonfly: add `fdatasync`, `dlvsym`, `reallocarray`, `qsort_r`, `pthread_*affinity_np`, `ftok`, `extattr_*`, and `dup3` ([#&#8203;5116](https://github.com/rust-lang/libc/pull/5116)) - Emscripten: Add `in6_pktinfo` ([#&#8203;5256](https://github.com/rust-lang/libc/pull/5256)) - FreeBSD: Add SOL\_LOCAL ([#&#8203;5185](https://github.com/rust-lang/libc/pull/5185)) - FreeBSD: Add `DLT_*` constants ([#&#8203;5235](https://github.com/rust-lang/libc/pull/5235)) - FreeBSD: Add `PROC_LOGSIGEXIT_*` and `PPROT_*` ([#&#8203;4657](https://github.com/rust-lang/libc/pull/4657)) - FreeBSD: Add `SO_RERROR` ([#&#8203;5260](https://github.com/rust-lang/libc/pull/5260)) - FreeBSD: add `IN6_IFF_*`, `in6_ifreq`, and `SIOCGIFAFLAG_IN6` ([#&#8203;5239](https://github.com/rust-lang/libc/pull/5239)) - FreeBSD: add `_IO*` helpers from `sys/ioccom.h` ([#&#8203;5239](https://github.com/rust-lang/libc/pull/5239)) - Glibc: Add `PTHREAD_*_MUTEX_INITIALIZER_NP` for riscv64 ([#&#8203;5094](https://github.com/rust-lang/libc/pull/5094)) - Glibc: Add new fields to `struct tcp_info` ([#&#8203;5215](https://github.com/rust-lang/libc/pull/5215)) - Linux: Add `OPEN_TREE_NAMESPACE` ([#&#8203;5145](https://github.com/rust-lang/libc/pull/5145)) - Linux: Add `SECCOMP_IOCTL_*` constants ([#&#8203;5224](https://github.com/rust-lang/libc/pull/5224)) - Linux: Add `SO_DETACH_REUSEPORT_BPF` ([#&#8203;5081](https://github.com/rust-lang/libc/pull/5081)) - Linux: Add `futex_waitv` ([#&#8203;5125](https://github.com/rust-lang/libc/pull/5125)) - Linux: Add constants for `fsopen`, `fsconfig`, `fsmount`, and `fspick` ([#&#8203;5145](https://github.com/rust-lang/libc/pull/5145)) - Linux: Add fields to `statx` present since 6.16 ([#&#8203;4621](https://github.com/rust-lang/libc/pull/4621)) - Linux: Add network entry API ([#&#8203;5049](https://github.com/rust-lang/libc/pull/5049)) - Linux: add `ifaddrmsg` and `rtattr` ([#&#8203;5234](https://github.com/rust-lang/libc/pull/5234)) - Linux: add `sockaddr_iucv` ([#&#8203;5041](https://github.com/rust-lang/libc/pull/5041)) - MacOS: Add `ENOTCAPABLE` ([#&#8203;4925](https://github.com/rust-lang/libc/pull/4925)) - Musl: Add `renameat2` ([#&#8203;5113](https://github.com/rust-lang/libc/pull/5113)) - NuttX: Add `F_SETFD` ([#&#8203;5258](https://github.com/rust-lang/libc/pull/5258)) - NuttX: Add `POLLRD*` and `POLLWR*` constants ([#&#8203;5258](https://github.com/rust-lang/libc/pull/5258)) - NuttX: Add `SO_KEEPALIVE` and TCP keepalive constants ([#&#8203;5111](https://github.com/rust-lang/libc/pull/5111)) - NuttX: Add `TCP_MAXSEG` ([#&#8203;5258](https://github.com/rust-lang/libc/pull/5258)) - NuttX: Add `eventfd` and `EFD_*` constants ([#&#8203;5258](https://github.com/rust-lang/libc/pull/5258)) - NuttX: Add `pipe2` ([#&#8203;5258](https://github.com/rust-lang/libc/pull/5258)) - NuttX: Add `strerror_r` ([#&#8203;5258](https://github.com/rust-lang/libc/pull/5258)) - NuttX: Add `netinet` structs and constants ([#&#8203;5258](https://github.com/rust-lang/libc/pull/5258)) - NuttX: Add socket structs, functions and constants ([#&#8203;5258](https://github.com/rust-lang/libc/pull/5258)) - QuRT: Add POSIX timer functions ([#&#8203;5091](https://github.com/rust-lang/libc/pull/5091)) - QuRT: Add missing pthread functions from QuRT SDK headers ([#&#8203;5091](https://github.com/rust-lang/libc/pull/5091)) - QuRT: Add missing unistd process and file functions ([#&#8203;5091](https://github.com/rust-lang/libc/pull/5091)) - QuRT: Add mqueue subsystem (message queues, select/pselect) ([#&#8203;5091](https://github.com/rust-lang/libc/pull/5091)) - Redox: Add `*at` and `dirent` functions ([#&#8203;5117](https://github.com/rust-lang/libc/pull/5117)) - Solarish: Add IP TTL and IPv6 Hop Limit consts ([#&#8203;5089](https://github.com/rust-lang/libc/pull/5089)) - Solarish: Add `port_alert` and `PORT_ALERT*` constants ([#&#8203;5203](https://github.com/rust-lang/libc/pull/5203)) - Solarish: add AI\_CANONNAME ([#&#8203;5085](https://github.com/rust-lang/libc/pull/5085)) - aarch64: Add SYS\_sendfile and SYS\_fadvise64 constants ([#&#8203;5133](https://github.com/rust-lang/libc/pull/5133)) ##### Deprecated - Dragonfly: Deprecate compatibility aliases `CPUCTL_RSMSR` and `UTX_DB_LASTLOG` ([#&#8203;5116](https://github.com/rust-lang/libc/pull/5116)) ##### Fixed - **breaking** NetBSD: Correct `ts` from `*const timespec` to `*mut timespec` in \_lwp\_park\` ([#&#8203;5169](https://github.com/rust-lang/libc/pull/5169)) - **breaking** Linux GNU: Change overflowing `PTRACE_*ET_SYSCALL_USER_DISPATCH_CONFIG` constants from `u8` to `c_uint` ([#&#8203;4936](https://github.com/rust-lang/libc/pull/4936)) - Fix the soundness bug in the representation of extern types ([#&#8203;5021](https://github.com/rust-lang/libc/pull/5021)) - Cygwin: fix `cpuset_t` typo in `CPU_ZERO` ([#&#8203;5098](https://github.com/rust-lang/libc/pull/5098)) - Dragonfly: ABI fixes including regex offsets, `ifaddrs`, pthread barriers, process sizing fields, and `mcontext` alignment ([#&#8203;5116](https://github.com/rust-lang/libc/pull/5116)) - Dragonfly: Correct values of `CPUCTL_CPUID*`, `EV_HUP`, and `EV_SYSFLAGS` ([#&#8203;5116](https://github.com/rust-lang/libc/pull/5116)) - Emscripten: fix pthread type sizes for wasm64 (MEMORY64) ([#&#8203;5156](https://github.com/rust-lang/libc/pull/5156)) - Horizon: Fix the value of `POLLOUT` ([#&#8203;5090](https://github.com/rust-lang/libc/pull/5090)) - Linux: Correct the value of `EPIOC[GS]PARAMS` with nonstandard \_IOC ([#&#8203;5188](https://github.com/rust-lang/libc/pull/5188)) - Make VxWorks shims `unsafe` ([#&#8203;3727](https://github.com/rust-lang/libc/pull/3727)) - NetBSD: Correct getmntinfo to link `__getmntinfo13` ([#&#8203;5251](https://github.com/rust-lang/libc/pull/5251)) - QNX: Fix the value of `PTHREAD_MUTEX_INITIALIZER` ([#&#8203;5241](https://github.com/rust-lang/libc/pull/5241)) - QuRT: fix type and definition inaccuracies against SDK headers ([#&#8203;5091](https://github.com/rust-lang/libc/pull/5091)) - Windows: Correctly link to 32-bit time routines on 32-bit platforms ([#&#8203;5059](https://github.com/rust-lang/libc/pull/5059)) - uClibc: Fix constants accidentally removed ([#&#8203;5141](https://github.com/rust-lang/libc/pull/5141)) - uclibc: Fix build issues ([#&#8203;5046](https://github.com/rust-lang/libc/pull/5046)) - uclibc: Fix type of PRIO\_PROCESS and friends ([#&#8203;5046](https://github.com/rust-lang/libc/pull/5046)) ##### Changed - AIX, TeeOS: Drop unneeded `-> c_void` ([#&#8203;5240](https://github.com/rust-lang/libc/pull/5240)) - Apple: Change `AIO_LISTIO_MAX` to account for changes in macOS 27 ([#&#8203;5253](https://github.com/rust-lang/libc/pull/5253)) - Glibc: Update the value of `MS_NOUSER` ([#&#8203;5215](https://github.com/rust-lang/libc/pull/5215)) - L4Re: Update definitions and test infra ([#&#8203;5275](https://github.com/rust-lang/libc/pull/5275)) - Linux: Update the value of `SW_MAX` and `SW_CNT` ([#&#8203;5215](https://github.com/rust-lang/libc/pull/5215)) - MacOS: Add `swapped_count` to `vm_statistics64` ([#&#8203;4926](https://github.com/rust-lang/libc/pull/4926)) - Windows: Windows-GNU now respects `libc_unstable_gnu_time_bits` for 64-bit `time_t` config ([#&#8203;5062](https://github.com/rust-lang/libc/pull/5062)) ##### Removed - Dragonfly: Remove FreeBSD-only `Elf32_Lword`, `ip_mreq_source`, and `IP_` constants ([#&#8203;5116](https://github.com/rust-lang/libc/pull/5116)) - Dragonfly: Remove private VM type bindings ([#&#8203;5116](https://github.com/rust-lang/libc/pull/5116)) - Linux: Remove `KERN_REALROOTDEV` and `VM_LAPTOP_MODE` ([#&#8203;5177](https://github.com/rust-lang/libc/pull/5177)) - VxWorks: Remove non-user-facing (kernel) API ([#&#8203;5129](https://github.com/rust-lang/libc/pull/5129)) ##### Other - Print config information if `LIBC_BUILD_VERBOSE` is set ([#&#8203;5272](https://github.com/rust-lang/libc/pull/5272)) - Annotate `*LAST` constants as potentially changing ([#&#8203;5120](https://github.com/rust-lang/libc/pull/5120)) - Annotate `*MAX` constants as potentially changing ([#&#8203;5122](https://github.com/rust-lang/libc/pull/5122)) - BSD: Annotate `ELAST` constants as potentially changing ([#&#8203;5118](https://github.com/rust-lang/libc/pull/5118)) - FreeBSD: Annotate `RAND_MAX` as potentially changing ([#&#8203;5119](https://github.com/rust-lang/libc/pull/5119)) - Linux, L4re: Annotate `*NUM` constants as potentially changing ([#&#8203;5123](https://github.com/rust-lang/libc/pull/5123)) - QNX: Restructure to support new platforms ([#&#8203;4984](https://github.com/rust-lang/libc/pull/4984)) - Unix: Annotate `*COUNT` constants as potentially changing ([#&#8203;5121](https://github.com/rust-lang/libc/pull/5121)) - uClibc: Add unstable support of 64-bit `time_t` ([#&#8203;5046](https://github.com/rust-lang/libc/pull/5046)) - (internal) FreeBSD: Replace unstable env to set version with an unstable cfg ([#&#8203;5201](https://github.com/rust-lang/libc/pull/5201)) - (internal) Glibc: Remove public configuration for file offset bits ([#&#8203;5268](https://github.com/rust-lang/libc/pull/5268)) - (internal) Linux: Delete config via `RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64` ([#&#8203;5197](https://github.com/rust-lang/libc/pull/5197)) - (internal) Replace `RUST_LIBC_UNSTABLE` env with `libc_unstable*` cfg ([#&#8203;4977](https://github.com/rust-lang/libc/pull/4977)) ### [`v0.2.186`](https://github.com/rust-lang/libc/releases/tag/0.2.186) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.185...0.2.186) ##### Added - Apple: Add `KEVENT_FLAG_*` constants ([#&#8203;5070](https://github.com/rust-lang/libc/pull/5070)) - Linux: Add `PR_SET_MEMORY_MERGE` and `PR_GET_MEMORY_MERGE` ([#&#8203;5060](https://github.com/rust-lang/libc/pull/5060)) ##### Changed - CI: Migrate FreeBSD CI from Cirrus CI to GitHub Actions ([#&#8203;5058](https://github.com/rust-lang/libc/pull/5058)) ### [`v0.2.185`](https://github.com/rust-lang/libc/releases/tag/0.2.185) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.184...0.2.185) ##### Added - EspIDF: Add `espidf_picolibc` cfg for picolibc `O_*` flag values ([#&#8203;5035](https://github.com/rust-lang/libc/pull/5035)) - Hexagon: add missing constants and fix types for linux-musl ([#&#8203;5042](https://github.com/rust-lang/libc/pull/5042)) - Redox: Add semaphore functions ([#&#8203;5051](https://github.com/rust-lang/libc/pull/5051)) - Windows: Add `sprintf`, `snprintf`, and the `scanf` family ([#&#8203;5024](https://github.com/rust-lang/libc/pull/5024)) ##### Fixed - Hexagon: Decouple `time64` types from musl symbol redirects ([#&#8203;5040](https://github.com/rust-lang/libc/pull/5040)) - Horizon: Change `POLL` constants from `c_short` to `c_int` ([#&#8203;5045](https://github.com/rust-lang/libc/pull/5045)) ### [`v0.2.184`](https://github.com/rust-lang/libc/releases/tag/0.2.184) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.183...0.2.184) ##### MSRV This release increases the MSRV of `libc` to 1.65. With this update, you can now always use the `core::ffi::c_*` types with `libc` definitions, since `libc` has been changed to reexport from `core` rather than redefining them. (This *usually* worked before but had edge cases.) ([#&#8203;4972](https://github.com/rust-lang/libc/pull/4972)) ##### Added - BSD: Add `IP_MINTTL` to bsd ([#&#8203;5026](https://github.com/rust-lang/libc/pull/5026)) - Cygwin: Add `TIOCM_DSR` ([#&#8203;5031](https://github.com/rust-lang/libc/pull/5031)) - FreeBSD: Added `xfile` structe and file descriptor types ([#&#8203;5002](https://github.com/rust-lang/libc/pull/5002)) - Linux: Add CAN netlink bindings ([#&#8203;5011](https://github.com/rust-lang/libc/pull/5011)) - Linux: Add `struct ethhdr` ([#&#8203;4239](https://github.com/rust-lang/libc/pull/4239)) - Linux: Add `struct ifinfomsg` ([#&#8203;5012](https://github.com/rust-lang/libc/pull/5012)) - Linux: Define `max_align_t` for riscv64 ([#&#8203;5029](https://github.com/rust-lang/libc/pull/5029)) - NetBSD: Add missing `CLOCK_` constants ([#&#8203;5020](https://github.com/rust-lang/libc/pull/5020)) - NuttX: Add `_SC_HOST_NAME_MAX` ([#&#8203;5004](https://github.com/rust-lang/libc/pull/5004)) - VxWorks: Add `flock` and `F_*LCK` constants ([#&#8203;4043](https://github.com/rust-lang/libc/pull/4043)) - WASI: Add all `_SC_*` sysconf constants ([#&#8203;5023](https://github.com/rust-lang/libc/pull/5023)) ##### Deprecated The remaining fixed-width integer aliases, `__uint128_t`, `__uint128`, `__int128_t`, and `__int128`, have been deprecated. Use `i128` and `u128` instead. ([#&#8203;4343](https://github.com/rust-lang/libc/pull/4343)) ##### Fixed - **breaking** Redox: Fix signal action constant types ([#&#8203;5009](https://github.com/rust-lang/libc/pull/5009)) - EspIDF: Correct the value of `DT_*` constants ([#&#8203;5034](https://github.com/rust-lang/libc/pull/5034)) - Redox: Fix locale values and add `RTLD_NOLOAD`, some TCP constants ([#&#8203;5025](https://github.com/rust-lang/libc/pull/5025)) - Various: Use `Padding::new(<zeroed>)` rather than `Padding::uninit()` ([#&#8203;5036](https://github.com/rust-lang/libc/pull/5036)) ##### Changed - **potentially breaking** Linux: Add new fields to `struct ptrace_syscall_info` ([#&#8203;4966](https://github.com/rust-lang/libc/pull/4966)) - Re-export `core::ffi` integer types rather than redefining ([#&#8203;5015](https://github.com/rust-lang/libc/pull/5015)) - Redox: Update `F_DUPFD`, `IP`, and `TCP` constants to match relibc ([#&#8203;4990](https://github.com/rust-lang/libc/pull/4990)) ### [`v0.2.183`](https://github.com/rust-lang/libc/releases/tag/0.2.183) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.182...0.2.183) ##### Added - ESP-IDF: Add `SOMAXCONN` ([#&#8203;4993](https://github.com/rust-lang/libc/pull/4993)) - Linux: Add `name_to_handle_at` and `open_by_handle_at` ([#&#8203;4988](https://github.com/rust-lang/libc/pull/4988)) - NetBSD: Add `kinfo_file`, `kinfo_pcb`, and related constants ([#&#8203;4985](https://github.com/rust-lang/libc/pull/4985)) - OpenBSD: Add `kinfo_file` and related constants ([#&#8203;4991](https://github.com/rust-lang/libc/pull/4991)) - VxWorks: Add additional structs and defines ([#&#8203;5003](https://github.com/rust-lang/libc/pull/5003)) - Various: Implement `Default` for `timeval` and `timespec` ([#&#8203;4976](https://github.com/rust-lang/libc/pull/4976)) ##### Fixed - Hexagon musl: Enable unstable 64-bit `time_t` support and `musl_v1_2_3` ([#&#8203;4992](https://github.com/rust-lang/libc/pull/4992)) - Nintendo Switch: Fix target support ([#&#8203;4982](https://github.com/rust-lang/libc/pull/4982)) - OpenBSD: Wrap an unused field in `Padding` ([#&#8203;4997](https://github.com/rust-lang/libc/pull/4997)) - Redox: Change `sigaction.sa_flags` to `c_int` ([#&#8203;4986](https://github.com/rust-lang/libc/pull/4986)) - Redox: Fix `blkcnt_t` type ([#&#8203;4994](https://github.com/rust-lang/libc/pull/4994)) ### [`v0.2.182`](https://github.com/rust-lang/libc/releases/tag/0.2.182) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.181...0.2.182) ##### Added - Android, Linux: Add `tgkill` ([#&#8203;4970](https://github.com/rust-lang/libc/pull/4970)) - Redox: Add `RENAME_NOREPLACE` ([#&#8203;4968](https://github.com/rust-lang/libc/pull/4968)) - Redox: Add `renameat2` ([#&#8203;4968](https://github.com/rust-lang/libc/pull/4968)) ### [`v0.2.181`](https://github.com/rust-lang/libc/releases/tag/0.2.181) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.180...0.2.181) ##### Added - Apple: Add `MADV_ZERO` ([#&#8203;4924](https://github.com/rust-lang/libc/pull/4924)) - Redox: Add `makedev`, `major`, and `minor` ([#&#8203;4928](https://github.com/rust-lang/libc/pull/4928)) - GLibc: Add `PTRACE_SET_SYSCALL_INFO` ([#&#8203;4933](https://github.com/rust-lang/libc/pull/4933)) - OpenBSD: Add more kqueue related constants for ([#&#8203;4945](https://github.com/rust-lang/libc/pull/4945)) - Linux: add CAN error types ([#&#8203;4944](https://github.com/rust-lang/libc/pull/4944)) - OpenBSD: Add siginfo\_t::si\_status ([#&#8203;4946](https://github.com/rust-lang/libc/pull/4946)) - QNX NTO: Add `max_align_t` ([#&#8203;4927](https://github.com/rust-lang/libc/pull/4927)) - Illumos: Add `_CS_PATH` ([#&#8203;4956](https://github.com/rust-lang/libc/pull/4956)) - OpenBSD: add `ppoll` ([#&#8203;4957](https://github.com/rust-lang/libc/pull/4957)) ##### Fixed - **Breaking**: Redox: Fix the type of `dev_t` ([#&#8203;4928](https://github.com/rust-lang/libc/pull/4928)) - AIX: Change 'tv\_nsec' of 'struct timespec' to type 'c\_long' ([#&#8203;4931](https://github.com/rust-lang/libc/pull/4931)) - AIX: Use 'struct st\_timespec' in 'struct stat{,64}' ([#&#8203;4931](https://github.com/rust-lang/libc/pull/4931)) - Glibc: Link old version of `tc{g,s}etattr` ([#&#8203;4938](https://github.com/rust-lang/libc/pull/4938)) - Glibc: Link the correct version of `cf{g,s}et{i,o}speed` on mips{32,64}r6 ([#&#8203;4938](https://github.com/rust-lang/libc/pull/4938)) - OpenBSD: Fix constness of tm.tm\_zone ([#&#8203;4948](https://github.com/rust-lang/libc/pull/4948)) - OpenBSD: Fix the definition of `ptrace_thread_state` ([#&#8203;4947](https://github.com/rust-lang/libc/pull/4947)) - QuRT: Fix type visibility and defs ([#&#8203;4932](https://github.com/rust-lang/libc/pull/4932)) - Redox: Fix values for `PTHREAD_MUTEX_{NORMAL, RECURSIVE}` ([#&#8203;4943](https://github.com/rust-lang/libc/pull/4943)) - Various: Mark additional fields as private padding ([#&#8203;4922](https://github.com/rust-lang/libc/pull/4922)) ##### Changed - Fuchsia: Update `SO_*` constants ([#&#8203;4937](https://github.com/rust-lang/libc/pull/4937)) - Revert "musl: convert inline timespecs to timespec" (resolves build issues on targets only supported by Musl 1.2.3+ ) ([#&#8203;4958](https://github.com/rust-lang/libc/pull/4958)) ### [`v0.2.180`](https://github.com/rust-lang/libc/releases/tag/0.2.180) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.179...0.2.180) ##### Added - QNX: Add missing BPF and ifreq structures ([#&#8203;4769](https://github.com/rust-lang/libc/pull/4769)) ##### Fixed - Linux, L4Re: address soundness issues of `CMSG_NXTHDR` ([#&#8203;4903](https://github.com/rust-lang/libc/pull/4903)) - Linux-like: Handle zero-sized payload differences in `CMSG_NXTHDR` ([#&#8203;4903](https://github.com/rust-lang/libc/pull/4903)) - Musl: Fix incorrect definitions of struct stat on some 32-bit architectures ([#&#8203;4914](https://github.com/rust-lang/libc/pull/4914)) - NetBSD: RISC-V 64: Correct `mcontext` type definitions ([#&#8203;4886](https://github.com/rust-lang/libc/pull/4886)) - uClibc: Re-enable `__SIZEOF_PTHREAD_COND_T` on non-L4Re uclibc ([#&#8203;4915](https://github.com/rust-lang/libc/pull/4915)) - uClibc: Restructure Linux `netlink` module to resolve build errors ([#&#8203;4915](https://github.com/rust-lang/libc/pull/4915)) ### [`v0.2.179`](https://github.com/rust-lang/libc/releases/tag/0.2.179) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.178...0.2.179) With this release, we now have *unstable* support for 64-bit `time_t` on 32-bit platforms with both Musl and Glibc. Testing is appreciated! For now, these can be enabled by setting environment variables during build: ```text RUST_LIBC_UNSTABLE_MUSL_V1_2_3=1 RUST_LIBC_UNSTABLE_GNU_TIME_BITS=64 ``` Note that the exact configuration will change in the future. Setting the `MUSL_V1_2_3` variable also enables some newer API unrelated to `time_t`. ##### Added - L4Re: Add uclibc aarch64 support ([#&#8203;4479](https://github.com/rust-lang/libc/pull/4479)) - Linux, Android: Add a generic definition for `XCASE` ([#&#8203;4847](https://github.com/rust-lang/libc/pull/4847)) - Linux-like: Add `NAME_MAX` ([#&#8203;4888](https://github.com/rust-lang/libc/pull/4888)) - Linux: Add `AT_EXECVE_CHECK` ([#&#8203;4422](https://github.com/rust-lang/libc/pull/4422)) - Linux: Add the `SUN_LEN` macro ([#&#8203;4269](https://github.com/rust-lang/libc/pull/4269)) - Linux: add `getitimer` and `setitimer` ([#&#8203;4890](https://github.com/rust-lang/libc/pull/4890)) - Linux: add `pthread_tryjoin_n` and `pthread_timedjoin_np` ([#&#8203;4887](https://github.com/rust-lang/libc/pull/4887)) - Musl: Add unstable support for 64-bit `time_t` on 32-bit platforms ([#&#8203;4463](https://github.com/rust-lang/libc/pull/4463)) - NetBSD, OpenBSD: Add interface `LINK_STATE_*` definitions from `sys/net/if.h` ([#&#8203;4751](https://github.com/rust-lang/libc/pull/4751)) - QuRT: Add support for Qualcomm QuRT ([#&#8203;4845](https://github.com/rust-lang/libc/pull/4845)) - Types: Add Padding<T>::uninit() ([#&#8203;4862](https://github.com/rust-lang/libc/pull/4862)) ##### Fixed - Glibc: Link old version of `cf{g,s}et{i,o}speed` ([#&#8203;4882](https://github.com/rust-lang/libc/pull/4882)) - L4Re: Fixes for `pthread` ([#&#8203;4479](https://github.com/rust-lang/libc/pull/4479)) - L4re: Fix a wide variety of incorrect definitions ([#&#8203;4479](https://github.com/rust-lang/libc/pull/4479)) - Musl: Fix the value of `CPU_SETSIZE` on musl 1.2+ ([#&#8203;4865](https://github.com/rust-lang/libc/pull/4865)) - Musl: RISC-V: fix public padding fields in `stat/stat64` ([#&#8203;4463](https://github.com/rust-lang/libc/pull/4463)) - Musl: s390x: Fix definition of `SIGSTKSZ`/`MINSIGSTKSZ` ([#&#8203;4884](https://github.com/rust-lang/libc/pull/4884)) - NetBSD: Arm: Fix `PT_{GET,SET}FPREGS`, `_REG_TIPDR`, and `_REG_{LR,SP}` ([#&#8203;4899](https://github.com/rust-lang/libc/pull/4899)) - NetBSD: Fix `if_msghdr` alignment ([#&#8203;4902](https://github.com/rust-lang/libc/pull/4902)) - NetBSD: Fix `siginfo_t` layout on 32-bit platforms ([#&#8203;4904](https://github.com/rust-lang/libc/pull/4904)) - NetBSD: change definition of `pthread_spin_t` to allow arch redefinition. ([#&#8203;4899](https://github.com/rust-lang/libc/pull/4899)) - Newlib: Fix ambiguous glob exports and other warnings for Vita and 3DS ([#&#8203;4875](https://github.com/rust-lang/libc/pull/4875)) - QNX: Fix build error ([#&#8203;4879](https://github.com/rust-lang/libc/pull/4879)) ##### Changed - CI: Update CI images to FreeBSD 15.0-release ([#&#8203;4857](https://github.com/rust-lang/libc/pull/4857)) - L4Re: Make `pthread` struct fields private ([#&#8203;4876](https://github.com/rust-lang/libc/pull/4876)) - Linux, Fuchsia: Mark mq\_attr padding area as such ([#&#8203;4858](https://github.com/rust-lang/libc/pull/4858)) - Types: Wrap a number of private fields in the `Padding` type ([#&#8203;4862](https://github.com/rust-lang/libc/pull/4862)) ##### Removed - Build: Remove `RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64` ([#&#8203;4865](https://github.com/rust-lang/libc/pull/4865)) - WASI: Remove nonexistent clocks ([#&#8203;4880](https://github.com/rust-lang/libc/pull/4880)) ### [`v0.2.178`](https://github.com/rust-lang/libc/releases/tag/0.2.178) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.177...0.2.178) ##### Added - BSD: Add `issetugid` ([#&#8203;4744](https://github.com/rust-lang/libc/pull/4744)) - Cygwin: Add missing utmp/x.h, grp.h, and stdio.h interfaces ([#&#8203;4827](https://github.com/rust-lang/libc/pull/4827)) - Linux s390x musl: Add `__psw_t`/`fprefset_t`/`*context_t` ([#&#8203;4726](https://github.com/rust-lang/libc/pull/4726)) - Linux, Android: Add definition for IUCLC ([#&#8203;4846](https://github.com/rust-lang/libc/pull/4846)) - Linux, FreeBSD: Add `AT_HWCAP{3,4}` ([#&#8203;4734](https://github.com/rust-lang/libc/pull/4734)) - Linux: Add definitions from linux/can/bcm.h ([#&#8203;4683](https://github.com/rust-lang/libc/pull/4683)) - Linux: Add syscalls 451-469 for m68k ([#&#8203;4850](https://github.com/rust-lang/libc/pull/4850)) - Linux: PowerPC: Add 'ucontext.h' definitions ([#&#8203;4696](https://github.com/rust-lang/libc/pull/4696)) - NetBSD: Define `eventfd` ([#&#8203;4830](https://github.com/rust-lang/libc/pull/4830)) - Newlib: Add missing constants from `unistd.h` ([#&#8203;4811](https://github.com/rust-lang/libc/pull/4811)) - QNX NTO: Add `cfmakeraw` ([#&#8203;4704](https://github.com/rust-lang/libc/pull/4704)) - QNX NTO: Add `cfsetspeed` ([#&#8203;4704](https://github.com/rust-lang/libc/pull/4704)) - Redox: Add `getresgid` and `getresuid` ([#&#8203;4752](https://github.com/rust-lang/libc/pull/4752)) - Redox: Add `setresgid` and `setresuid` ([#&#8203;4752](https://github.com/rust-lang/libc/pull/4752)) - VxWorks: Add definitions from `select.h`, `stat.h`, `poll.h`, `ttycom.h`, `utsname.h`, `resource.h`, `mman.h`, `udp.h`, `in.h`, `in6.h`, `if.h`, `fnmatch.h`, and `sioLibCommon.h` ([#&#8203;4781](https://github.com/rust-lang/libc/pull/4781)) - VxWorks: Add missing defines/functions needed by rust stdlib ([#&#8203;4779](https://github.com/rust-lang/libc/pull/4779)) - WASI: Add more definitions for libstd ([#&#8203;4747](https://github.com/rust-lang/libc/pull/4747)) ##### Deprecated: - Apple: Deprecate `TIOCREMOTE` ([#&#8203;4764](https://github.com/rust-lang/libc/pull/4764)) ##### Fixed: Note that there were a large number of fixes on NetBSD for this `libc` release, some of which include minor breakage. - AIX: Change errno `EWOULDBLOCK` to make it an alias of `EAGAIN` ([#&#8203;4790](https://github.com/rust-lang/libc/pull/4790)) - AIX: Resolve function comparison and `unnecessary_transmutes` warnings ([#&#8203;4780](https://github.com/rust-lang/libc/pull/4780)) - Apple: Correct the value of `SF_SETTABLE` ([#&#8203;4764](https://github.com/rust-lang/libc/pull/4764)) - DragonflyBSD: Fix the type of `mcontext_t.mc_fpregs` ([#]()) - EspIDF: Fix the duplicate definition of `gethostname` ([#&#8203;4773](https://github.com/rust-lang/libc/pull/4773)) - L4Re: Update available pthread API ([#&#8203;4836](https://github.com/rust-lang/libc/pull/4836)) - Linux: Correct the value of `NFT_MSG_MAX` ([#&#8203;4761](https://github.com/rust-lang/libc/pull/4761)) - Linux: Remove incorrect `repr(align(8))` for `canxl_frame` ([#&#8203;4760](https://github.com/rust-lang/libc/pull/4760)) - Make `eventfd` argument names match OS docs/headers ([#&#8203;4830](https://github.com/rust-lang/libc/pull/4830)) - NetBSD: Account for upstream changes to ptrace with LWP ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Correct `ipc_perm`, split from OpenBSD as `ipc.rs` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Correct a number of symbol link names ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Correct the type of `kinfo_vmentry.kve_path` ([#]()) - NetBSD: Fix `uucred.cr_ngroups` from `int` to `short` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Fix the type of `kevent.udata` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Fix the type of `mcontext_t.__fpregs` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Fix the value of `PT_SUSPEND` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Fix the values of FNM\_\* constants ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Increase the size of `sockaddr_dl.sdl_data` from 12 to 24 ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Introduce `if_.rs`, fix the definition of `ifreq` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Introduce `time.rs`, fix the values of `CLOCK_*_CPUTIME_ID` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Introduce `timex.rs` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Introduce `types.rs`, correct the definition of `lwpid_t` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Introduce `utmp_.rs`, correct the definition of `lastlog` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Introduce `utmpx_.rs`, correct utmpx definitions ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Make `_cpuset` an extern type ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: RISC-V 64: Fix the `mcontext` types ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - Nuttx: Resolve warnings ([#&#8203;4773](https://github.com/rust-lang/libc/pull/4773)) - OHOS: Don't emit duplicate lfs64 definitions ([#&#8203;4804](https://github.com/rust-lang/libc/pull/4804)) - Redox: Fix the type of `pid_t` ([#&#8203;4825](https://github.com/rust-lang/libc/pull/4825)) - WASI: Gate `__wasilibc_register_preopened_fd` ([#&#8203;4837](https://github.com/rust-lang/libc/pull/4837)) - Wali: Fix unknown config ([#&#8203;4773](https://github.com/rust-lang/libc/pull/4773)) ##### Changed - AIX: Declare field 'tv\_nsec' of structure 'timespec' as 'i32' in both 32-bit and 64-bit modes ([#&#8203;4750](https://github.com/rust-lang/libc/pull/4750)) - DragonFly: Avoid usage of `thread_local` ([#&#8203;3653](https://github.com/rust-lang/libc/pull/3653)) - Linux: Update the definition for `ucontext_t` and unskip its tests ([#&#8203;4760](https://github.com/rust-lang/libc/pull/4760)) - MinGW: Set `L_tmpnam` and `TMP_MAX` to the UCRT value ([#&#8203;4566](https://github.com/rust-lang/libc/pull/4566)) - WASI: More closely align pthread type reprs ([#&#8203;4747](https://github.com/rust-lang/libc/pull/4747)) - Simplify rustc-check-cfg emission in build.rs ([#&#8203;4724](https://github.com/rust-lang/libc/pull/4724)) - Transition a number of definitions to the new source structure (internal change) ##### Removed - MIPS Musl: Remove rogue definition of `SIGSTKFLT` ([#&#8203;4749](https://github.com/rust-lang/libc/pull/4749)) - NetBSD: Make `statvfs.f_spare` non-public ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Remove BPF constants ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Remove `*_MAXID` constants and `AT_SUN_LDPGSIZE` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Remove `IFF_NOTRAILERS` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Remove `vm_size_t` ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) - NetBSD: Replace REG\_ENOSYS with REG\_ILLSEQ ([#&#8203;4782](https://github.com/rust-lang/libc/pull/4782)) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNS4zIiwidXBkYXRlZEluVmVyIjoiNDMuMTk1LjAiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIiLCJsYWJlbHMiOltdfQ==-->
renovate-bot bot force-pushed renovate/master-libc-0.x-lockfile from 4b85268b31
All checks were successful
/ clippy (pull_request) Successful in 3m52s
to b1fa06ead2
Some checks failed
/ clippy (pull_request) Failing after 3m1s
2026-03-08 09:02:02 +01:00
Compare
renovate-bot bot changed title from chore(deps): update rust crate libc to v0.2.182 (master) to chore(deps): update rust crate libc to v0.2.183 (master) 2026-03-08 09:02:03 +01:00
renovate-bot bot force-pushed renovate/master-libc-0.x-lockfile from b1fa06ead2
Some checks failed
/ clippy (pull_request) Failing after 3m1s
to 5eb46c255b
Some checks failed
/ clippy (pull_request) Failing after 3m22s
2026-03-31 19:02:45 +02:00
Compare
renovate-bot bot force-pushed renovate/master-libc-0.x-lockfile from 5eb46c255b
Some checks failed
/ clippy (pull_request) Failing after 3m22s
to 98164c8c0a
Some checks failed
/ clippy (pull_request) Failing after 2m35s
2026-04-01 14:02:44 +02:00
Compare
renovate-bot bot changed title from chore(deps): update rust crate libc to v0.2.183 (master) to chore(deps): update rust crate libc to v0.2.184 (master) 2026-04-01 14:02:45 +02:00
renovate-bot bot changed title from chore(deps): update rust crate libc to v0.2.184 (master) to chore(deps): update rust crate libc to v0.2.185 (master) 2026-04-13 13:01:10 +02:00
renovate-bot bot force-pushed renovate/master-libc-0.x-lockfile from 98164c8c0a
Some checks failed
/ clippy (pull_request) Failing after 2m35s
to 42712fd3ed
Some checks failed
/ clippy (pull_request) Failing after 2m33s
2026-04-13 13:01:10 +02:00
Compare
renovate-bot bot force-pushed renovate/master-libc-0.x-lockfile from 42712fd3ed
Some checks failed
/ clippy (pull_request) Failing after 2m33s
to a636d5fca1
Some checks failed
/ clippy (pull_request) Failing after 5m14s
2026-04-23 22:01:50 +02:00
Compare
renovate-bot bot changed title from chore(deps): update rust crate libc to v0.2.185 (master) to chore(deps): update rust crate libc to v0.2.186 (master) 2026-04-23 22:01:51 +02:00
renovate-bot bot force-pushed renovate/master-libc-0.x-lockfile from a636d5fca1
Some checks failed
/ clippy (pull_request) Failing after 5m14s
to aafcae5209
Some checks failed
/ clippy (pull_request) Failing after 2m38s
2026-07-21 02:00:55 +02:00
Compare
renovate-bot bot changed title from chore(deps): update rust crate libc to v0.2.186 (master) to chore(deps): update rust crate libc to v0.2.187 (master) 2026-07-21 02:00:58 +02:00
renovate-bot bot force-pushed renovate/master-libc-0.x-lockfile from aafcae5209
Some checks failed
/ clippy (pull_request) Failing after 2m38s
to ecf3d27b55
Some checks failed
/ clippy (pull_request) Failing after 2m9s
2026-07-21 12:00:52 +02:00
Compare
renovate-bot bot changed title from chore(deps): update rust crate libc to v0.2.187 (master) to chore(deps): update rust crate libc to v0.2.188 (master) 2026-07-21 12:00:53 +02:00
renovate-bot bot force-pushed renovate/master-libc-0.x-lockfile from ecf3d27b55
Some checks failed
/ clippy (pull_request) Failing after 2m9s
to 95ab68967d
Some checks failed
/ clippy (pull_request) Failing after 2m35s
2026-07-22 00:00:50 +02:00
Compare
renovate-bot bot changed title from chore(deps): update rust crate libc to v0.2.188 (master) to chore(deps): update rust crate libc to v0.2.189 (master) 2026-07-22 00:00:52 +02:00
Some checks failed
/ clippy (pull_request) Failing after 2m35s
Required
Details
Some required checks were not successful.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/master-libc-0.x-lockfile:renovate/master-libc-0.x-lockfile
git switch renovate/master-libc-0.x-lockfile
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
bitsquid_dt/dtmt!334
No description provided.