Update Rust crate libc to v0.2.190 - #73
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
September 23, 2025 13:43
8e3c676 to
9727552
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
October 9, 2025 15:37
9727552 to
4c0a662
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
December 2, 2025 16:50
4c0a662 to
1f66d7b
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
2 times, most recently
from
January 8, 2026 14:37
31e1ccf to
47fa624
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
February 10, 2026 00:53
47fa624 to
8813e17
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
February 13, 2026 09:15
8813e17 to
ed0dcf9
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
March 8, 2026 13:20
ed0dcf9 to
a8f3f0b
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
April 1, 2026 13:20
a8f3f0b to
b06def8
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
April 13, 2026 14:47
b06def8 to
e573302
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
April 23, 2026 22:44
e573302 to
f4d30d9
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
July 21, 2026 01:17
f4d30d9 to
5757fde
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
July 21, 2026 10:33
5757fde to
052455d
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
July 22, 2026 00:00
052455d to
80b1e81
Compare
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
October 2, 2026 20:54
80b1e81 to
3192bf8
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.2.174→0.2.190Release Notes
rust-lang/libc (libc)
v0.2.190Compare Source
There is now a single config for enabling 64-bit
time_t:libc_unstable_time64. This can be setunconditionally; it opts in to 64-bit
time_ton the following platforms that use 32-bit bydefault:
musl v1.2.
Most other 32-bit platforms are either already using 64-bit
time_t, or are considered legacyand will not be gaining support from their upstream maintainers.
You can enable this using
RUSTFLAGS:RUSTFLAGS='--cfg=libc_unstable_time64' cargo ...Note that there may still be some changes to features gated by this config option, hence "unstable"
in its name. In the near future we will rename it to just
libc_time64. Until then, please test itout and report any bugs you find!
Support
Added
We are slowly filling out the
Defaultimplementations, to reduce the need formem::zeroed()in user code:Defaultfor a number of structs, especially on Apple platforms (#5576)statvfsaDefaultimpl (#5583)Defaultto alinux/can.rsstructs (#5257)Other additions:
libc_unstable_time64cfg (#5411)pthread_gettid_np(#5359)RTLD_NEXT(#5323)NET_RT_DUMP2(#5442)posix_spawn_file_actions_add(f)chdir(_np)(#5558)BPF_WORDALIGN(#5320)lchmodandlchflagswhere supported (#5400)minheritand related constants (#4849)AT_RENAME_*andRENAME_*constants (#5560)renameat2(#5563)rt_msghdrandrt_metrics(#5367)libc_unstable_gnu_time_bits(#5242)environ(#5339)f_typefield tostatvfsandstatvfs64(#5434)STATX_*constants (#5412)SIGEV_THREAD_ID(#5375)*_SUPER_MAGICconstants (#5453)statxalways available (#5448)max_align_t(#5389)BCACHEFS_SUPER_MAGIC(#5516)ETH_P_LLDP(#5438)FUTEX_ROBUST_UNLOCKandFUTEX_ROBUST_LIST32(#5525)NLMSG_*helpers (#5321)siginfo_tand add more getter functions (#5345)SYS_futex_waitv(#5527)__errno(#5346)RTLD_NODELETEandRTLD_NOLOAD(#5377)getexecpath(#5465)sensors.h(#5510)HW_*sysctl constants (#5371)FILENAME_MAX(#5530)clock_settimeandpause(#5363)getrandombindings (#5333)group_req/group_source_reqandMCAST_*where supported (#5236)HOST_NAME_MAX(#5531)_PATH_BSHELLand_PATH_DEFPATHwhere available (#5449)SOCK_CLOEXEC(#5336)time_ton 32-bit platforms via cfg (#5261)Deprecated
_kernel_simple_lock(#5380)*_MIN/*_MAXin favor of e.g.c_int::MAX(#5404)fallocate64, which does not exist on the platform (#5242)glob64types and routines (#5242)syscall,mincore, andKERN_NSELCOLL, all of which have been removed upstream (87992e9895c2)tmpnam,tempnam(#5478)Fixed
BPF_ALIGNMENTtosize_tto match upstream and harmonize with other platforms. (#5373)BPF_ALIGNMENTtosize_tto match upstream and harmonize with other platforms. (#5348)fileops_t.fo_select(#5380)file(#5380)ucontext_t(#5189)O_flags (#5554)mcontext_tanducontext_tand make them usable on more platforms (#5127)glob_tandstatvfs(#5127)sigeventand correct the layout of otherpthread.htypes (#5127)sem_t(#5351)statvfs64on 32-bit RISC-V (#5518)ipc_perm(#5527)uc_flagsfield inucontext_t(#5527)WIFSTOPPED(#5458)time_talias. This is a correction on Arm32 RTEMS (#5132)O_open flags (#5414)socket.hdefinitions (#5313)signal.htypes (#5436)Changed
libc_unstable_musl_v1_2_3has been renamed to a more accuratelibc_unstable_musl_v1_2. The old version will continue to work for now, but will be removed in1-2 releases. (#5376)
unsafe(#5380)POSIX_SPAWN_*flags toc_short(#5572)FD_*functions (#5528)__riscv_mc_q_ext_state.__reservedand make it private (#5533)statfields non-pub(#5542)Removed
libcexposed quite a bit of API on all Apple platforms that is not actually available anywhere other than MacOS. This release removes a number of these cases.mach.hAPI on Apple mobile OSs (e6bfb187513c)exec*andforkcalls from tvOS and watchOS (#5158)Additionally, this release cleans up a lot of API that has been deprecated since at least libc 0.2.100, released 2021-08-20.
af_alg_ivtrait implementations. The have been deprecated for a long time because they allowed out-of-bounds reads via safe functions. (444db4456f38)Other removed items:
INHERIT_ZEROthat does not exist upstream (#5587)REG_*definitions (#5527)REG_NARGS(#5527)A huge thank you to our GSoC student Adam Martinez (@dybucc) who did a
huge amount of the time64 work, as well as many of the platform fixes!
v0.2.189Compare Source
Added
pthread_sigmask,sigwait,sigwaitinfo,sigtimedwait,faccessat, andpthread_kill(#5270)clone3syscall (#4980)CLOCK_PROCESS_CPUTIME_IDandCLOCK_THREAD_CPUTIME_ID(#5274)Deprecated
CLONE_INTO_CGROUPandCLONE_CLEAR_SIGHAND. These overflow their types and will be changed to a larger size in the future. (8c6e6710458d)Fixed
wchar_tdefinition under Arm (#5245)time-related symbols (#5300)v0.2.188Compare Source
Changed
SendandSyncforDIR(35b062263401)These were removed in 0.2.187 because
libcdoes not actually makeSendandSyncguarantees 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: Sendorlibc::DIR: Sync.v0.2.187Compare Source
This release contains a number of improvements related to 64-bit
time_tconfiguration.Of note the existing
RUST_LIBC_UNSTABLE_*environment variables have been replacedwith configuration options. The new way to use these is:
Being able to set this via
RUSTFLAGSmakes it easier to only apply configuration tospecific targets (and notably, not the host if build scripts are used).
There are two other notable changes:
The 32-bit
windows-gnutargets now respectlibc_unstable_gnu_time_bitsuClibc 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
aarch64-unknown-linux-pauthtest(#5065)Added
POSIX_SPAWN_*constants (#5104)getpwent,setpwent, andendpwent(#5160)preadv2andpwritev2(#5157)seccomp_notif*structures (#5224)timer_[create, delete, getoverrun, gettime, settime](#5108)PROC_PIDT_SHORTBSDINFOandproc_bsdshortinfo(#5110)SIOC*constants fromsockio.h(#5263)_IOR,_IOW,_IOWR(#5264)bpf_programandbpf_insn(#5235)kqueueconstants (#5077)vm_statistics64with recently added fields (#5253)IN6_IFF_*andSIOCGIFAFLAG_IN6(#5239)O_*,POSIX_FADV_*,NI*, and a few other missing constants (#5116)fdatasync,dlvsym,reallocarray,qsort_r,pthread_*affinity_np,ftok,extattr_*, anddup3(#5116)in6_pktinfo(#5256)DLT_*constants (#5235)PROC_LOGSIGEXIT_*andPPROT_*(#4657)SO_RERROR(#5260)IN6_IFF_*,in6_ifreq, andSIOCGIFAFLAG_IN6(#5239)_IO*helpers fromsys/ioccom.h(#5239)PTHREAD_*_MUTEX_INITIALIZER_NPfor riscv64 (#5094)struct tcp_info(#5215)OPEN_TREE_NAMESPACE(#5145)SECCOMP_IOCTL_*constants (#5224)SO_DETACH_REUSEPORT_BPF(#5081)futex_waitv(#5125)fsopen,fsconfig,fsmount, andfspick(#5145)statxpresent since 6.16 (#4621)ifaddrmsgandrtattr(#5234)sockaddr_iucv(#5041)ENOTCAPABLE(#4925)renameat2(#5113)F_SETFD(#5258)POLLRD*andPOLLWR*constants (#5258)SO_KEEPALIVEand TCP keepalive constants (#5111)TCP_MAXSEG(#5258)eventfdandEFD_*constants (#5258)pipe2(#5258)strerror_r(#5258)netinetstructs and constants (#5258)*atanddirentfunctions (#5117)port_alertandPORT_ALERT*constants (#5203)Deprecated
CPUCTL_RSMSRandUTX_DB_LASTLOG(#5116)Fixed
tsfrom*const timespecto*mut timespecin _lwp_park` (#5169)PTRACE_*ET_SYSCALL_USER_DISPATCH_CONFIGconstants fromu8toc_uint(#4936)cpuset_ttypo inCPU_ZERO(#5098)ifaddrs, pthread barriers, process sizing fields, andmcontextalignment (#5116)CPUCTL_CPUID*,EV_HUP, andEV_SYSFLAGS(#5116)POLLOUT(#5090)EPIOC[GS]PARAMSwith nonstandard _IOC (#5188)unsafe(#3727)__getmntinfo13(#5251)PTHREAD_MUTEX_INITIALIZER(#5241)Changed
-> c_void(#5240)AIO_LISTIO_MAXto account for changes in macOS 27 (#5253)MS_NOUSER(#5215)SW_MAXandSW_CNT(#5215)swapped_counttovm_statistics64(#4926)libc_unstable_gnu_time_bitsfor 64-bittime_tconfig (#5062)Removed
Elf32_Lword,ip_mreq_source, andIP_constants (#5116)KERN_REALROOTDEVandVM_LAPTOP_MODE(#5177)Other
LIBC_BUILD_VERBOSEis set (#5272)*LASTconstants as potentially changing (#5120)*MAXconstants as potentially changing (#5122)ELASTconstants as potentially changing (#5118)RAND_MAXas potentially changing (#5119)*NUMconstants as potentially changing (#5123)*COUNTconstants as potentially changing (#5121)time_t(#5046)RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64(#5197)RUST_LIBC_UNSTABLEenv withlibc_unstable*cfg (#4977)v0.2.186Compare Source
Added
KEVENT_FLAG_*constants (#5070)PR_SET_MEMORY_MERGEandPR_GET_MEMORY_MERGE(#5060)Changed
v0.2.185Compare Source
Added
espidf_picolibccfg for picolibcO_*flag values (#5035)sprintf,snprintf, and thescanffamily (#5024)Fixed
time64types from musl symbol redirects (#5040)POLLconstants fromc_shorttoc_int(#5045)v0.2.184Compare Source
MSRV
This release increases the MSRV of
libcto 1.65. With this update, you can now always use thecore::ffi::c_*types withlibcdefinitions, sincelibchas been changed to reexport fromcorerather than redefining them. (This usually worked before but had edge cases.)(#4972)
Added
IP_MINTTLto bsd (#5026)TIOCM_DSR(#5031)xfilestructe and file descriptor types (#5002)struct ethhdr(#4239)struct ifinfomsg(#5012)max_align_tfor riscv64 (#5029)CLOCK_constants (#5020)_SC_HOST_NAME_MAX(#5004)flockandF_*LCKconstants (#4043)_SC_*sysconf constants (#5023)Deprecated
The remaining fixed-width integer aliases,
__uint128_t,__uint128,__int128_t, and__int128,have been deprecated. Use
i128andu128instead. (#4343)Fixed
DT_*constants (#5034)RTLD_NOLOAD, some TCP constants (#5025)Padding::new(<zeroed>)rather thanPadding::uninit()(#5036)Changed
struct ptrace_syscall_info(#4966)core::ffiinteger types rather than redefining (#5015)F_DUPFD,IP, andTCPconstants to match relibc (#4990)v0.2.183Compare Source
Added
SOMAXCONN(#4993)name_to_handle_atandopen_by_handle_at(#4988)kinfo_file,kinfo_pcb, and related constants (#4985)kinfo_fileand related constants (#4991)Defaultfortimevalandtimespec(#4976)Fixed
time_tsupport andmusl_v1_2_3(#4992)Padding(#4997)sigaction.sa_flagstoc_int(#4986)blkcnt_ttype (#4994)v0.2.182Compare Source
Added
tgkill(#4970)RENAME_NOREPLACE(#4968)renameat2(#4968)v0.2.181Compare Source
Added
MADV_ZERO(#4924)makedev,major, andminor(#4928)PTRACE_SET_SYSCALL_INFO(#4933)max_align_t(#4927)_CS_PATH(#4956)ppoll(#4957)Fixed
dev_t(#4928)tc{g,s}etattr(#4938)cf{g,s}et{i,o}speedon mips{32,64}r6 (#4938)ptrace_thread_state(#4947)PTHREAD_MUTEX_{NORMAL, RECURSIVE}(#4943)Changed
SO_*constants (#4937)v0.2.180Compare Source
Added
Fixed
CMSG_NXTHDR(#4903)CMSG_NXTHDR(#4903)mcontexttype definitions (#4886)__SIZEOF_PTHREAD_COND_Ton non-L4Re uclibc (#4915)netlinkmodule to resolve build errors (#4915)v0.2.179Compare Source
With this release, we now have unstable support for 64-bit
time_ton 32-bitplatforms with both Musl and Glibc. Testing is appreciated!
For now, these can be enabled by setting environment variables during build:
Note that the exact configuration will change in the future. Setting the
MUSL_V1_2_3variable also enables some newer API unrelated totime_t.Added
XCASE(#4847)NAME_MAX(#4888)AT_EXECVE_CHECK(#4422)SUN_LENmacro (#4269)getitimerandsetitimer(#4890)pthread_tryjoin_nandpthread_timedjoin_np(#4887)time_ton 32-bit platforms (#4463)LINK_STATE_*definitions fromsys/net/if.h(#4751)Fixed
cf{g,s}et{i,o}speed(#4882)pthread(#4479)CPU_SETSIZEon musl 1.2+ (#4865)stat/stat64(#4463)SIGSTKSZ/MINSIGSTKSZ(#4884)PT_{GET,SET}FPREGS,_REG_TIPDR, and_REG_{LR,SP}(#4899)if_msghdralignment (#4902)siginfo_tlayout on 32-bit platforms (#4904)pthread_spin_tto allow arch redefinition. (#4899)Changed
pthreadstruct fields private (#4876)Paddingtype (#4862)Removed
RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64(#4865)v0.2.178Compare Source
Added
issetugid(#4744)__psw_t/fprefset_t/*context_t(#4726)AT_HWCAP{3,4}(#4734)eventfd(#4830)unistd.h(#4811)cfmakeraw(#4704)cfsetspeed(#4704)getresgidandgetresuid(#4752)setresgidandsetresuid(#4752)select.h,stat.h,poll.h,ttycom.h,utsname.h,resource.h,mman.h,udp.h,in.h,in6.h,if.h,fnmatch.h, andsioLibCommon.h(#4781)Deprecated:
TIOCREMOTE(#4764)Fixed:
Note that there were a large number of fixes on NetBSD for this
libcrelease, some of which include minor breakage.EWOULDBLOCKto make it an alias ofEAGAIN(#4790)unnecessary_transmuteswarnings (#4780)SF_SETTABLE(#4764)mcontext_t.mc_fpregs(#)gethostname(#4773)NFT_MSG_MAX(#4761)repr(align(8))forcanxl_frame(#4760)eventfdargument names match OS docs/headers (#4830)ipc_perm, split from OpenBSD asipc.rs(#4782)kinfo_vmentry.kve_path(#)uucred.cr_ngroupsfrominttoshort(#4782)kevent.udata(#4782)mcontext_t.__fpregs(#4782)PT_SUSPEND(#4782)sockaddr_dl.sdl_datafrom 12 to 24 (#4782)if_.rs, fix the definition ofifreq(#4782)time.rs, fix the values ofCLOCK_*_CPUTIME_ID(#4782)timex.rs(#4782)types.rs, correct the definition oflwpid_t(#4782)utmp_.rs, correct the definition oflastlog(#4782)utmpx_.rs, correct utmpx definitions (#4782)_cpusetan extern type (#4782)mcontexttypes (#4782)pid_t(#4825)__wasilibc_register_preopened_fd(#4837)Changed
thread_local(#3653)ucontext_tand unskip its tests (#4760)L_tmpnamandTMP_MAXto the UCRT value (#4566)Removed
SIGSTKFLT(#4749)statvfs.f_sparenon-public (#4782)*_MAXIDconstants andAT_SUN_LDPGSIZE(#4782)IFF_NOTRAILERS(#4782)vm_size_t(#4782)v0.2.177Compare Source
Added
TIOCGETA,TIOCSETA,TIOCSETAW,TIOCSETAFconstants (#4736)pthread_cond_timedwait_relative_np(#4719)_CS_PATHconstant (#4738)SIGEMTfor mips* and sparc* architectures (#4730)elf_aux_info(#4729)wcsnlen(#4721)Changed
v0.2.176Compare Source
Support
rustcsince 1.78. (#2406)Debugis now always implemented, rather than being gated behind theextra_traitsfeature. (#4624)Added
_KERNELmacro. (#4607)st_filereftostruct stat(#4642)accept4POSIX call (#4586)EM_RISCV(#4659)MS_NOSYMFOLLOW(#4389)backtrace_symbols(_fd)(#4668)SOL_PACKEToptnames (#4669)SYS_mseal(#4549)__errno(#4687)dirfd,VDISABLE, and resource consts (#4660)resource.h,fcntl.hconstants (#4666)strftimeandmkostemp[s](#4629)qsort_r(Unix), andqsort(_s)(Windows) (#4677)dlvsymfor Linux-gnu, FreeBSD, and NetBSD (#4671)sigqueue(#4620)Changed
kinfo_procas non-exhaustive (#4553)readdir_r(#4694)epoll_eventis packed (#4639)ctestwith the much more reliable new implementation (#4655 and many related PRs)Fixed
getgrnam_r([#4656](#4656P_IDLEPROCto FreeBSD 15 (#4640)mcontext_t::mc_tlsbaseto FreeBSD 15 (#4640)mcontext_t.mc_tlsbase(#4703)statfs[64](#4549)fpreg_ta union (#4549)gid_tanduid_t(#4689)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.