Update Rust crate libc to v0.2.189 - #29
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/libc-0.x-lockfile
branch
from
July 25, 2026 15:14
4b31954 to
dae5aa1
Compare
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.87→0.2.189Release Notes
rust-lang/libc (libc)
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)MAP_FIXED(#4684)Deprecated
deprecatedattribute foriconv(a97a0b53)TIOCMGDTRWAITandTIOCMSDTRWAIT(#4685)Removed
JAIL_{GET,SET}_MASK,_MC_FLAG_MASK(#4691)v0.2.175Compare Source
Added
getpeereid(#4524)struct ld_infoand friends (#4578)struct winsize(#4577)CLONE_CLEAR_SIGHANDandCLONE_INTO_CGROUP(#4502)prctlconstants (#4531)mcontext_t.mc_tlsbase(#4503)kinfo_proc.ki_uerrmsg(#4552)in_conninfo(#4482)xinpgenand related types (#4482)xktls_session(#4482)libbsd(#4221)SECBIT_*(#4480)ioctlrequest generator macros (#4460)ptsname_r(#4608)strftime*(#4453)EXEC_RESTRICT_*andEXEC_DENY_*(#4545)Changed
constto signatures to be consistent with other platforms (#4563)Fixed
struct statvfs.f_fsid(#4576)ioctlrequestargument (#4582)stat{,64}.st_*tim(#4597)errnovalues (#4507)target_os->target_archcheck (#4550)xktls_session_onedir.ifnet(#4552)nlink_t(#4509)stack_t(#4528)SI_TIMER,SI_MESGQandSI_ASYNCIOdefinitions (#4529)si_errnoandsi_codeinsiginfo_t(#4530)statfs(#4527)fanotify_event_metadata(#4510)enum fae_actionto be#[repr(C)](#60a8cfd5)char->c_char(eaab4fc3)termiosdefinitions (#4518)EDEADLK(#4517)NCCS(#4513)MAP_LOCKEDandMAP_NORESERVE(#4516)shmid_ds(#4519)Deprecated
MAP_32BITis only defined on x86 on non-x86 architectures (#4511)Removed
FINDandENTER(#4588)O_FSYNC(#4515)RTLD_DEEPBIND(#4515)v0.2.174Compare Source
Added
pidfd_infofields pub (#4487)Fixed
timespec.tv_nsec(#4497)nlink_ttype forst_nlinkinstruct statdefinition (#4483)Other
unpredictable_function_pointer_comparisonslints (#4489)pointer::cast. (#4490)CMSG_NXTHDR. (#4492)v0.2.173Compare Source
Added
SO_SPLICEsocket option support for FreeBSD >= 14.2 (#4451)_TIME_BITS=64(#4433)nsfsioctls (#4436)prctls(#4400)linux/cn_proc.handlinux/connector.h(#4434)pwritev2andpreadv2(#4452)MADV_SOFT_OFFLINEconstant (#4448)struct tcp_info(#4443)arc4randomandarc4random_buf(#4464)MADV_SOFT_OFFLINEdefinition (#4447)time.hfunctions (#4427)Changed
SA_constants. (#4426)CMSG_ALIGN,CMSG_LEN, andCMSG_SPACEconst functions (#4441)Fixed
fpos_t(#4472)struct ipc_permbindings (#4384)O_LARGEFILEconstant value. (#4443)v0.2.172Compare Source
Added
getauxvalfor 32-bit targets (#4338)if_tun.hioctls (#4379)SO_BINDTOIFINDEX(#4391)posix_spawn_file_actions_add[f]chdir[_np](#4387)filedescandfdescenttbl(#4327)AF_UNSPEC(#4344)AF_VSOCK(#4344)timerfdAPIs (#4333)_IO,_IOW,_IOR,_IOWRto the exported API (#4325)tcp_infoto uClibc bindings (#4347)input-event-codes.h(#4326)seccomp.h(#4330)ptrace_sud_configand relatedPTRACE_*ET_SYSCALL_USER_DISPATCH_CONFIG. (#4386)pthread_attr_setstack(#4349)utmpxAPI (#4332)getrandomon all platforms (#4346)io-sock(#4169)sys/socket.handsys/uio.hdefinitions (#4388)O_DIRECTandSIGINFO(#4348)secure_getenv(#4342)d_typemember todirent(#4352)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.