0.2.180 - 2026-01-08
- QNX: Add missing BPF and ifreq structures (#4769)
- 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
mcontexttype definitions (#4886) - uClibc: Re-enable
__SIZEOF_PTHREAD_COND_Ton non-L4Re uclibc (#4915) - uClibc: Restructure Linux
netlinkmodule to resolve build errors (#4915)
0.2.179 - 2025-01-03
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.
- 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_LENmacro (#4269) - Linux: add
getitimerandsetitimer(#4890) - Linux: add
pthread_tryjoin_nandpthread_timedjoin_np(#4887) - Musl: Add unstable support for 64-bit
time_ton 32-bit platforms (#4463) - NetBSD, OpenBSD: Add interface
LINK_STATE_*definitions fromsys/net/if.h(#4751) - QuRT: Add support for Qualcomm QuRT (#4845)
- Types: Add Padding::uninit() (#4862)
- 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_SETSIZEon 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_msghdralignment (#4902) - NetBSD: Fix
siginfo_tlayout on 32-bit platforms (#4904) - NetBSD: change definition of
pthread_spin_tto allow arch redefinition. (#4899) - Newlib: Fix ambiguous glob exports and other warnings for Vita and 3DS (#4875)
- QNX: Fix build error (#4879)
- CI: Update CI images to FreeBSD 15.0-release (#4857)
- L4Re: Make
pthreadstruct fields private (#4876) - Linux, Fuchsia: Mark mq_attr padding area as such (#4858)
- Types: Wrap a number of private fields in the
Paddingtype (#4862)
0.2.178 - 2025-12-01
- 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
getresgidandgetresuid(#4752) - Redox: Add
setresgidandsetresuid(#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, andsioLibCommon.h(#4781) - VxWorks: Add missing defines/functions needed by rust stdlib (#4779)
- WASI: Add more definitions for libstd (#4747)
- Apple: Deprecate
TIOCREMOTE(#4764)
Note that there were a large number of fixes on NetBSD for this libc release, some of which include minor breakage.
- AIX: Change errno
EWOULDBLOCKto make it an alias ofEAGAIN(#4790) - AIX: Resolve function comparison and
unnecessary_transmuteswarnings (#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))forcanxl_frame(#4760) - Make
eventfdargument names match OS docs/headers (#4830) - NetBSD: Account for upstream changes to ptrace with LWP (#4782)
- NetBSD: Correct
ipc_perm, split from OpenBSD asipc.rs(#4782) - NetBSD: Correct a number of symbol link names (#4782)
- NetBSD: Correct the type of
kinfo_vmentry.kve_path(#) - NetBSD: Fix
uucred.cr_ngroupsfrominttoshort(#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_datafrom 12 to 24 (#4782) - NetBSD: Introduce
if_.rs, fix the definition ofifreq(#4782) - NetBSD: Introduce
time.rs, fix the values ofCLOCK_*_CPUTIME_ID(#4782) - NetBSD: Introduce
timex.rs(#4782) - NetBSD: Introduce
types.rs, correct the definition oflwpid_t(#4782) - NetBSD: Introduce
utmp_.rs, correct the definition oflastlog(#4782) - NetBSD: Introduce
utmpx_.rs, correct utmpx definitions (#4782) - NetBSD: Make
_cpusetan extern type (#4782) - NetBSD: RISC-V 64: Fix the
mcontexttypes (#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)
- 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_tand unskip its tests (#4760) - MinGW: Set
L_tmpnamandTMP_MAXto 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)
- MIPS Musl: Remove rogue definition of
SIGSTKFLT(#4749) - NetBSD: Make
statvfs.f_sparenon-public (#4782) - NetBSD: Remove BPF constants (#4782)
- NetBSD: Remove
*_MAXIDconstants andAT_SUN_LDPGSIZE(#4782) - NetBSD: Remove
IFF_NOTRAILERS(#4782) - NetBSD: Remove
vm_size_t(#4782) - NetBSD: Replace REG_ENOSYS with REG_ILLSEQ (#4782)
0.2.177 - 2025-10-09
- Apple: Add
TIOCGETA,TIOCSETA,TIOCSETAW,TIOCSETAFconstants (#4736) - Apple: Add
pthread_cond_timedwait_relative_np(#4719) - BSDs: Add
_CS_PATHconstant (#4738) - Linux-like: Add
SIGEMTfor mips* and sparc* architectures (#4730) - OpenBSD: Add
elf_aux_info(#4729) - Redox: Add more sysconf constants (#4728)
- Windows: Add
wcsnlen(#4721)
- WASIP2: Invert conditional to include p2 APIs (#4733)
0.2.176 - 2025-09-23
- The default FreeBSD version has been raised from 11 to 12. This matches
rustcsince 1.78. (#2406) Debugis now always implemented, rather than being gated behind theextra_traitsfeature. (#4624)
- AIX: Restore some non-POSIX functions guarded by the
_KERNELmacro. (#4607) - FreeBSD 14: Add
st_filereftostruct stat(#4642) - Haiku: Add the
accept4POSIX call (#4586) - Introduce a wrapper for representing padding (#4632)
- Linux: Add
EM_RISCV(#4659) - Linux: Add
MS_NOSYMFOLLOW(#4389) - Linux: Add
backtrace_symbols(_fd)(#4668) - Linux: Add missing
SOL_PACKEToptnames (#4669) - Musl s390x: Add
SYS_mseal(#4549) - NuttX: Add
__errno(#4687) - Redox: Add
dirfd,VDISABLE, and resource consts (#4660) - Redox: Add more
resource.h,fcntl.hconstants (#4666) - Redox: Enable
strftimeandmkostemp[s](#4629) - Unix, Windows: Add
qsort_r(Unix), andqsort(_s)(Windows) (#4677) - Unix: Add
dlvsymfor Linux-gnu, FreeBSD, and NetBSD (#4671) - Unix: Add
sigqueue(#4620)
- FreeBSD 15: Mark
kinfo_procas non-exhaustive (#4553) - FreeBSD: Set the ELF symbol version for
readdir_r(#4694) - Linux: Correct the config for whether or not
epoll_eventis packed (#4639) - Tests: Replace the old
ctestwith the much more reliable new implementation (#4655 and many related PRs)
- AIX: Fix the type of the 4th arguement of
getgrnam_r([#4656](#4656 - FreeBSD: Limit
P_IDLEPROCto FreeBSD 15 (#4640) - FreeBSD: Limit
mcontext_t::mc_tlsbaseto FreeBSD 15 (#4640) - FreeBSD: Update gating of
mcontext_t.mc_tlsbase(#4703) - Musl s390x: Correct the definition of
statfs[64](#4549) - Musl s390x: Make
fpreg_ta union (#4549) - Redox: Fix the types of
gid_tanduid_t(#4689) - Redox: Fix the value of
MAP_FIXED(#4684)
- Apple: Correct the
deprecatedattribute foriconv(a97a0b53) - FreeBSD: Deprecate
TIOCMGDTRWAITandTIOCMSDTRWAIT(#4685)
- FreeBSD: Remove
JAIL_{GET,SET}_MASK,_MC_FLAG_MASK(#4691)
0.2.175 - 2025-08-10
- AIX: Add
getpeereid(#4524) - AIX: Add
struct ld_infoand friends (#4578) - AIX: Retore
struct winsize(#4577) - Android: Add UDP socket option constants (#4619)
- Android: Add
CLONE_CLEAR_SIGHANDandCLONE_INTO_CGROUP(#4502) - Android: Add more
prctlconstants (#4531) - FreeBSD Add further TCP stack-related constants (#4196)
- FreeBSD x86-64: Add
mcontext_t.mc_tlsbase(#4503) - FreeBSD15: Add
kinfo_proc.ki_uerrmsg(#4552) - FreeBSD: Add
in_conninfo(#4482) - FreeBSD: Add
xinpgenand related types (#4482) - FreeBSD: Add
xktls_session(#4482) - Haiku: Add functionality from
libbsd(#4221) - Linux: Add
SECBIT_*(#4480) - NetBSD, OpenBSD: Export
ioctlrequest generator macros (#4460) - NetBSD: Add
ptsname_r(#4608) - RISCV32: Add time-related syscalls (#4612)
- Solarish: Add
strftime*(#4453) - linux: Add
EXEC_RESTRICT_*andEXEC_DENY_*(#4545)
- AIX: Add
constto signatures to be consistent with other platforms (#4563)
- AIX: Fix the type of
struct statvfs.f_fsid(#4576) - AIX: Fix the type of constants for the
ioctlrequestargument (#4582) - AIX: Fix the types of
stat{,64}.st_*tim(#4597) - AIX: Use unique
errnovalues (#4507) - Build: Fix an incorrect
target_os->target_archcheck (#4550) - FreeBSD: Fix the type of
xktls_session_onedir.ifnet(#4552) - Mips64 musl: Fix the type of
nlink_t(#4509) - Mips64 musl: Use a special MIPS definition of
stack_t(#4528) - Mips64: Fix
SI_TIMER,SI_MESGQandSI_ASYNCIOdefinitions (#4529) - Musl Mips64: Swap the order of
si_errnoandsi_codeinsiginfo_t(#4530) - Musl Mips64: Use a special MIPS definition of
statfs(#4527) - Musl: Fix the definition of
fanotify_event_metadata(#4510) - NetBSD: Correct
enum fae_actionto be#[repr(C)](#60a8cfd5) - PSP: Correct
char->c_char(eaab4fc3) - PowerPC musl: Fix
termiosdefinitions (#4518) - PowerPC musl: Fix the definition of
EDEADLK(#4517) - PowerPC musl: Fix the definition of
NCCS(#4513) - PowerPC musl: Fix the definitions of
MAP_LOCKEDandMAP_NORESERVE(#4516) - PowerPC64 musl: Fix the definition of
shmid_ds(#4519)
- Linux:
MAP_32BITis only defined on x86 on non-x86 architectures (#4511)
- AIX: Remove duplicate constant definitions
FINDandENTER(#4588) - s390x musl: Remove
O_FSYNC(#4515) - s390x musl: Remove
RTLD_DEEPBIND(#4515)
0.2.174 - 2025-06-17
- Linux: Make
pidfd_infofields pub (#4487)
- Gnu x32: Add missing
timespec.tv_nsec(#4497) - NuttX: Use
nlink_ttype forst_nlinkinstruct statdefinition (#4483)
- Allow new
unpredictable_function_pointer_comparisonslints (#4489) - OpenBSD: Fix some clippy warnings to use
pointer::cast. (#4490) - Remove unessecary semicolons from definitions of
CMSG_NXTHDR. (#4492)
0.2.173 - 2025-06-09
- AIX: Add an AIX triple to Cargo.toml for doc (#4475)
- FreeBSD: Add the
SO_SPLICEsocket option support for FreeBSD >= 14.2 (#4451) - Linux GNU: Prepare for supporting
_TIME_BITS=64(#4433) - Linux: Add constant PACKET_IGNORE_OUTGOING (#4319)
- Linux: Add constants and types for
nsfsioctls (#4436) - Linux: Add constants for Memory-Deny-Write-Execute
prctls(#4400) - Linux: Add constants from
linux/cn_proc.handlinux/connector.h(#4434) - Linux: Add new flags for
pwritev2andpreadv2(#4452) - Linux: Add pid_type enum values (#4403)
- Linux: Update pidfd constants and types (Linux 6.9-6.15) (#4402)
- Loongarch64 musl: Define the
MADV_SOFT_OFFLINEconstant (#4448) - Musl: Add new fields since 1.2.0/1.2.2 to
struct tcp_info(#4443) - Musl: Prepare for supporting v1.2.3 (#4443)
- NuttX: Add
arc4randomandarc4random_buf(#4464) - RISC-V Musl: Add
MADV_SOFT_OFFLINEdefinition (#4447) - Redox: Define SCM_RIGHTS (#4440)
- VxWorks: Add missing UTIME defines and TASK_RENAME_LENGTH (#4407)
- Windows: Add more
time.hfunctions (#4427)
- Redox: Update
SA_constants. (#4426) - Redox: make
CMSG_ALIGN,CMSG_LEN, andCMSG_SPACEconst functions (#4441)
- AIX: Enable libc-test and fix definitions/declarations. (#4450)
- Emscripten: Fix querying emcc on windows (use emcc.bat) (#4248)
- Hurd: Fix build from missing
fpos_t(#4472) - Loongarch64 Musl: Fix the
struct ipc_permbindings (#4384) - Musl: Fix the
O_LARGEFILEconstant value. (#4443)
0.2.172 - 2025-04-14
- Android: Add
getauxvalfor 32-bit targets (#4338) - Android: Add
if_tun.hioctls (#4379) - Android: Define
SO_BINDTOIFINDEX(#4391) - Cygwin: Add
posix_spawn_file_actions_add[f]chdir[_np](#4387) - Cygwin: Add new socket options (#4350)
- Cygwin: Add statfs & fcntl (#4321)
- FreeBSD: Add
filedescandfdescenttbl(#4327) - Glibc: Add unstable support for _FILE_OFFSET_BITS=64 (#4345)
- Hermit: Add
AF_UNSPEC(#4344) - Hermit: Add
AF_VSOCK(#4344) - Illumos, NetBSD: Add
timerfdAPIs (#4333) - Linux: Add
_IO,_IOW,_IOR,_IOWRto the exported API (#4325) - Linux: Add
tcp_infoto uClibc bindings (#4347) - Linux: Add further BPF program flags (#4356)
- Linux: Add missing INPUT_PROP_XXX flags from
input-event-codes.h(#4326) - Linux: Add missing TLS bindings (#4296)
- Linux: Add more constants from
seccomp.h(#4330) - Linux: Add more glibc
ptrace_sud_configand relatedPTRACE_*ET_SYSCALL_USER_DISPATCH_CONFIG. (#4386) - Linux: Add new netlink flags (#4288)
- Linux: Define ioctl codes on more architectures (#4382)
- Linux: Add missing
pthread_attr_setstack(#4349) - Musl: Add missing
utmpxAPI (#4332) - Musl: Enable
getrandomon all platforms (#4346) - NuttX: Add more signal constants (#4353)
- QNX: Add QNX 7.1-iosock and 8.0 to list of additional cfgs (#4169)
- QNX: Add support for alternative Neutrino network stack
io-sock(#4169) - Redox: Add more
sys/socket.handsys/uio.hdefinitions (#4388) - Solaris: Temporarily define
O_DIRECTandSIGINFO(#4348) - Solarish: Add
secure_getenv(#4342) - VxWorks: Add missing
d_typemember todirent(#4352) - VxWorks: Add missing signal-related constsants (#4352)
- VxWorks: Add more error codes (#4337)
- FreeBSD: Deprecate
TCP_PCAP_OUTandTCP_PCAP_IN(#4381)
- Cygwin: Fix member types of
statfs(#4324) - Cygwin: Fix tests (#4357)
- Hermit: Make
AF_INET = 3(#4344) - Musl: Fix the syscall table on RISC-V-32 (#4335)
- Musl: Fix the value of
SA_ONSTACKon RISC-V-32 (#4335) - VxWorks: Fix a typo in the
waitpidparameter name (#4334)
- Musl: Remove
O_FSYNCon RISC-V-32 (useO_SYNCinstead) (#4335) - Musl: Remove
RTLD_DEEPBINDon RISC-V-32 (#4335)
- CI: Add matrix env variables to the environment (#4345)
- CI: Always deny warnings (#4363)
- CI: Always upload successfully created artifacts (#4345)
- CI: Install musl from source for loongarch64 (#4320)
- CI: Revert "Also skip
MFD_EXECandMFD_NOEXEC_SEALon sparc64" (#) - CI: Use
$PWDinstead of$(pwd)in run-docker (#4345) - Solarish: Restrict
openptyandforkptypolyfills to Illumos, replace Solaris implementation with bindings (#4329) - Testing: Ensure the makedev test does not emit unused errors (#4363)
0.2.171 - 2025-03-11
- Android: Add
if_nameindex/if_freenameindexsupport (#4247) - Apple: Add missing proc types and constants (#4310)
- BSD: Add
devname(#4285) - Cygwin: Add PTY and group API (#4309)
- Cygwin: Add support (#4279)
- FreeBSD: Make
spawn.hinterfaces available on all FreeBSD-like systems (#4294) - Linux: Add
AF_XDPstructs for all Linux environments (#4163) - Linux: Add SysV semaphore constants (#4286)
- Linux: Add
F_SEAL_EXEC(#4316) - Linux: Add
SO_PREFER_BUSY_POLLandSO_BUSY_POLL_BUDGET(#3917) - Linux: Add
devmemstructs (#4299) - Linux: Add socket constants up to
SO_DEVMEM_DONTNEED(#4299) - NetBSD, OpenBSD, DragonflyBSD: Add
closefrom(#4290) - NuttX: Add
pw_passwdfield topasswd(#4222) - Solarish: define
IP_BOUND_IFandIPV6_BOUND_IF(#4287) - Wali: Add bindings for
wasm32-wali-linux-musltarget (#4244)
- AIX: Use
sa_sigactioninstead of a union (#4250) - Make
msqid_ds.__msg_cbytespublic (#4301) - Unix: Make all
major,minor,makedevintoconst fn(#4208)
- Linux: Deprecate obsolete packet filter interfaces (#4267)
- Cygwin: Fix strerror_r (#4308)
- Cygwin: Fix usage of f! (#4308)
- Hermit: Make
stat::st_sizesigned (#4298) - Linux: Correct values for
SI_TIMER,SI_MESGQ,SI_ASYNCIO(#4292) - NuttX: Update
tm_zoneandd_namefields to usec_chartype (#4222) - Xous: Include the prelude to define
c_int(#4304)
- Add labels to FIXMEs (#4231, #4232, #4234, #4235, #4236)
- CI: Fix "cannot find libc" error on Sparc64 (#4317)
- CI: Fix "cannot find libc" error on s390x (#4317)
- CI: Pass
--no-self-updatetorustup update(#4306) - CI: Remove tests for the
i586-pc-windows-msvctarget (#4311) - CI: Remove the
check_cfgjob (#4322) - Change the range syntax that is giving
ctestproblems (#4311) - Linux: Split out the stat struct for gnu/b32/mips (#4276)
- NuttX: Remove
pthread_set_name_np(#4251)
0.2.170 - 2025-02-23
- Android: Declare
setdomainnameandgetdomainname#4212 - FreeBSD: Add
evdevstructures #3756 - FreeBSD: Add the new
st_filerevfield tostat32(#4254) - Linux: Add
SI_*`` andTRAP_*`` signal codes #4225 - Linux: Add experimental configuration to enable 64-bit time in kernel APIs, set by
RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64. #4148 - Linux: Add recent socket timestamping flags #4273
- Linux: Added new CANFD_FDF flag for the flags field of canfd_frame #4223
- Musl: add CLONE_NEWTIME #4226
- Solarish: add the posix_spawn family of functions #4259
- Linux: deprecate kernel modules syscalls #4228
- Emscripten: Assume version is at least 3.1.42 #4243
- BSD: Correct the definition of
WEXITSTATUS#4213 - Hurd: Fix CMSG_DATA on 64bit systems (#4240)
- NetBSD: fix
getmntinfo(#4265 - VxWorks: Fix the size of
time_t#426
- Add labels to FIXMEs #4230, #4229, #4237
- CI: Bump FreeBSD CI to 13.4 and 14.2 #4260
- Copy definitions from core::ffi and centralize them #4256
- Define c_char at top-level and remove per-target c_char definitions #4202
- Port style.rs to syn and add tests for the style checker #4220
0.2.169 - 2024-12-18
Breaking: rust-lang/rust#132975 corrected the signedness of core::ffi::c_char on various Tier 2 and Tier 3 platforms (mostly Arm and RISC-V) to match Clang. This release contains the corresponding changes to libc, including the following specific pull requests:
- ESP-IDF: Replace arch-conditional
c_charwith a reexport #4195 - Fix
c_charon various targets #4199 - Mirror
c_charconfiguration fromrust-lang/rust#4198
- Do not re-export
c_voidin target-specific code #4200
0.2.168 - 2024-12-09
- Linux: Add new process flags (#4174)
- Linux: Make
IFA_*constants available on all Linux targets #4185 - Linux: add
MAP_DROPPABLE#4173 - Solaris, Illumos: add
SIGRTMINandSIGRTMAX#4171 - Unix, Linux: adding POSIX
memccpyandmempcpyGNU extension <#4186.
- FreeBSD: Deprecate the CAP_UNUSED* and CAP_ALL* constants (#4183)
- Make the
Debugimplementation for unions opaque (#4176)
- Allow the
unpredictable_function_pointer_comparisonslint where needed #4177 - CI: Upload artifacts created by libc-test #4180
- CI: Use workflow commands to group output by target #4179
- CI: add caching #4183
0.2.167 - 2024-11-28
- Fix the build with
rustc-dep-of-std#4158 - Wasi: Add back unsafe block for
clockid_tstatic variables (#4157)
- CI: Check various FreeBSD versions (#4159)
- CI: add a timeout for all jobs #4164
- CI: verify MSRV for
wasm32-wasi#4157 - Migrate to the 2021 edition #4132
- Remove one unused import after the edition 2021 bump
0.2.166 - 2024-11-26
This release resolves two cases of unintentional breakage from the previous release:
0.2.165 - 2024-11-25
- Android: add
mkostemp,mkostemps#3601 - Android: add a few API 30 calls #3604
- Android: add missing syscall constants #3558
- Apple: add
in6_ifreq#3617 - Apple: add missing
sysctlnet types #4022 (before release: removeif_family_id(#4137)) - Freebsd: add
kcmpcall support #3746 - Hurd: add
MAP_32BITandMAP_EXCL#4127 - Hurd: add
domainnamefield toutsname(#4089) - Linux GNU: add
f_flagsto structstatfsfor arm, mips, powerpc and x86 #3663 - Linux GNU: add
malloc_stats#3596 - Linux: add ELF relocation-related structs #3583
- Linux: add
ptp_*structs #4113 - Linux: add
ptp_clock_caps#4128 - Linux: add
ptp_pin_functionand mostPTP_constants #4114 - Linux: add missing AF_XDP structs & constants #3956
- Linux: add missing netfilter consts (#3734)
- Linux: add struct and constants for the
mount_setattrsyscall #4046 - Linux: add wireless API #3441
- Linux: expose the
len8_dlcfield ofcan_frame#3357 - Musl: add
utmpxAPI #3213 - Musl: add missing syscall constants #4028
- NetBSD: add
mcontext-related data for RISCV64 #3468 - Redox: add new
netinetconstants #3586) - Solarish: add
_POSIX_VDISABLE(#4103) - Tests: Add a test that the
const extern fnmacro works #4134 - Tests: Add test of primitive types against
std#3616 - Unix: Add
htonl,htons,ntohl,ntohs#3669 - Unix: add
aligned_alloc#3843 - Windows: add
aligned_realloc#3592
- breaking Hurd: fix
MAP_HASSEMAPHOREname (#4127) - breaking ulibc Mips: fix
SA_*mismatched types (#3211) - Aix: fix an enum FFI safety warning #3644
- Haiku: fix some typos (#3664)
- Tests: fix
Elf{32,64}_Relr-related tests #3647 - Tests: fix libc-tests for
loongarch64-linux-musl - Tests: fix some clippy warnings #3855
- Tests: fix tests on
riscv64gc-unknown-freebsd#4129
- Apple: deprecate
iconv_openhttps://github.com/rust-lang/libc/commit/25e022a22eca3634166ef472b748c297e60fcf7f - Apple: deprecate
mach_task_self#4095 - Apple: update
machdeprecation notices for things that were removed inmain#4097
- Adjust the
f!macro to be more flexible #4107 - Aix: remove duplicate constants #3643
- CI: make scripts more uniform #4042
- Drop the
libc_alignconditional https://github.com/rust-lang/libc/commit/b5b553d0ee7de0d4781432a9a9a0a6445dd7f34f - Drop the
libc_cfg_target_vendorconditional #4060 - Drop the
libc_const_size_ofconditional https://github.com/rust-lang/libc/commit/5a43dd2754366f99b3a83881b30246ce0e51833c - Drop the
libc_core_cvoidconditional #4060 - Drop the
libc_int128conditional #4060 - Drop the
libc_non_exhaustiveconditional #4060 - Drop the
libc_packedNconditional #4060 - Drop the
libc_priv_mod_useconditional https://github.com/rust-lang/libc/commit/19c59376d11b015009fb9b04f233a30a1bf50a91 - Drop the
libc_unionconditional https://github.com/rust-lang/libc/commit/b9e4d8012f612dfe24147da3e69522763f92b6e3 - Drop the
long_arrayconditional #4096 - Drop the
ptr_addr_ofconditional #4065 - Drop warnings about deprecated cargo features #4060
- Eliminate uses of
struct_formatter#4074 - Fix a few other array size hacks https://github.com/rust-lang/libc/commit/d63be8b69b0736753213f5d933767866a5801ee7
- Glibc: remove redundant definitions (#3261)
- Musl: remove redundant definitions (#3261)
- Musl: unify definitions of
siginfo_t(#3261) - Musl: unify definitions of statfs and statfs64 (#3261)
- Musl: unify definitions of statvfs and statvfs64 (#3261)
- Musl: unify statx definitions (#3978)
- Remove array size hacks for Rust < 1.47 https://github.com/rust-lang/libc/commit/27ee6fe02ca0848b2af3cd747536264e4c7b697d
- Remove repetitive words https://github.com/rust-lang/libc/commit/77de375891285e18a81616f7dceda6d52732eed6
- Use #[derive] for Copy/Clone in s! and friends #4038
- Use some tricks to format macro bodies #4107
- Apply formatting to macro bodies #4107
- Bump libc-test to Rust 2021 Edition #3905
- CI: Add a check that semver files don't contain duplicate entries #4087
- CI: Add
fanotify_event_info_fidto FAM-exempt types #4038 - CI: Allow rustfmt to organize imports (#4136)
- CI: Always run rustfmt #4120
- CI: Change 32-bit Docker images to use EOL repos #4120
- CI: Change 64-bit Docker images to ubuntu:24.10 #4120
- CI: Disable the check for >1 s! invocation #4107
- CI: Ensure build channels get run even if FILTER is unset #4125
- CI: Ensure there is a fallback for no_std #4125
- CI: Fix cases where unset variables cause errors #4108
- CI: Naming adjustments and cleanup #4124
- CI: Only invoke rustup if running in CI #4107
- CI: Remove the logic to handle old rust versions #4068
- CI: Set -u (error on unset) in all script files #4108
- CI: add support for
loongarch64-unknown-linux-musl#4092 - CI: make
aarch64-apple-darwinnot a nightly-only target #4068 - CI: run shellcheck on all scripts #4042
- CI: update musl headers to Linux 6.6 #3921
- CI: use qemu-sparc64 to run sparc64 tests #4133
- Drop the
libc_const_extern_fnconditional https://github.com/rust-lang/libc/commit/674cc1f47f605038ef1aa2cce8e8bc9dac128276 - Drop the
libc_underscore_const_namesconditional https://github.com/rust-lang/libc/commit/f0febd5e2e50b38e05259d3afad3c9783711bcf0 - Explicitly set the edition to 2015 #4058
- Introduce a
git-blame-ignore-revsfile #4107 - Tests: Ignore fields as required on Ubuntu 24.10 #4120
- Tests: skip
ATF_*constants for OpenBSD #4088 - Triagebot: Add an autolabel for CI #4052
0.2.164 - 2024-11-16
This release increases the MSRV of libc to 1.63.
- CI: remove tests with rust < 1.63 #4051
- MSRV: document the MSRV of the stable channel to be 1.63 #4040
- MacOS: move ifconf to s_no_extra_traits #4051
0.2.163 - 2024-11-16
- Aix: add more
dlopenflags #4044 - Android: add group calls #3499
- FreeBSD: add
TCP_FUNCTION_BLKandTCP_FUNCTION_ALIAS#4047 - Linux: add
confstr#3612 - Solarish: add
aio#4033 - Solarish: add
arc4random*#3944
- Emscripten: upgrade emsdk to 3.1.68 #3962
- Hurd: use more standard types #3733
- Hurd: use the standard
ssize_t = isize#4029 - Solaris: fix
confstranducontext_t#4035
- CI: add Solaris #4035
- CI: add
i686-unknown-freebsd#3997 - CI: ensure that calls to
sortdo not depend on locale #4026 - Specify
rust-versioninCargo.toml#4041
0.2.162 - 2024-11-07
- Android: fix the alignment of
uc_mcontexton arm64 #3894 - Apple: add
host_cpu_load_info#3916 - ESP-IDF: add a time flag #3993
- FreeBSD: add the
CLOSE_RANGE_CLOEXECflag#3996 - FreeBSD: fix test errors regarding
__gregset_t#3995 - FreeBSD: fix tests on x86 FreeBSD 15 #3948
- FreeBSD: make
ucontext_tandmcontext_tavailable on all architectures #3848 - Haiku: add
getentropy#3991 - Illumos: add
syncfs#3990 - Illumos: add some recently-added constants #3999
- Linux: add
ioctlflags #3960 - Linux: add epoll busy polling parameters #3922
- NuttX: add
pthread_[get/set]name_np#4003 - RTEMS: add
arc4random_buf#3989 - Trusty OS: add initial support #3942
- WASIp2: expand socket support #3981
- Emscripten: don't pass
-lc#4002 - Hurd: change
st_fsidfield tost_dev#3785 - Hurd: fix the definition of
utsname#3992 - Illumos/Solaris: fix
FNM_CASEFOLDdefinition #4004 - Solaris: fix all tests #3864
- CI: Add loongarch64 #4000
- CI: Check that semver files are sorted #4018
- CI: Re-enable the FreeBSD 15 job #3988
- Clean up imports and
extern crateusage #3897 - Convert
mode_tconstants to octal #3634 - Remove the
wasm32-wasitarget that has been deleted upstream #4013
0.2.161 - 2024-10-17
- OpenBSD: fix
FNM_PATHNAMEandFNM_NOESCAPEvalues #3983
0.2.160 - 2024-10-17
- Android: add
PR_GET_NAMEandPR_SET_NAME#3941 - Apple: add
F_TRANSFEREXTENTS#3925 - Apple: add
mach_error_string#3913 - Apple: add additional
pthreadAPIs #3846 - Apple: add the
LOCAL_PEERTOKENsocket option #3929 - BSD: add
RTF_*,RTA_*,RTAX_*, andRTM_*definitions #3714 - Emscripten: add
AT_EACCESS#3911 - Emscripten: add
getgrgid,getgrnam,getgrnam_randgetgrgid_r#3912 - Emscripten: add
getpwnam_randgetpwuid_r#3906 - FreeBSD: add
POLLRDHUP#3936 - Haiku: add
arc4random#3945 - Illumos: add
ptsname_r#3867 - Linux: add
fanotifyinterfaces #3695 - Linux: add
tcp_info#3480 - Linux: add additional AF_PACKET options #3540
- Linux: make Elf constants always available #3938
- Musl x86: add
ioplandioperm#3720 - Musl: add
posix_spawnchdir functions #3949 - Musl: add
utmpx.hconstants #3908 - NetBSD: add
sysctlnametomib,CLOCK_THREAD_CPUTIME_IDandCLOCK_PROCESS_CPUTIME_ID#3927 - Nuttx: initial support #3909
- RTEMS: add
getentropy#3973 - RTEMS: initial support #3866
- Solarish: add
POLLRDHUP,POSIX_FADV_*,O_RSYNC, andposix_fallocate#3936 - Unix: add
fnmatch.h#3937 - VxWorks: add riscv64 support #3935
- VxWorks: update constants related to the scheduler #3963
- Redox: change
ino_tto bec_ulonglong#3919
0.2.159 - 2024-09-24
- Android: add more
AT_*constants in #3779 - Apple: add missing
NOTE_*constants in #3883 - Hermit: add missing error numbers in #3858
- Hurd: add
__timevalfor 64-bit support in #3786 - Linux: add
epoll_pwait2in https://github.com/rust-lang/libc/pull/3868 - Linux: add
mq_notifyin https://github.com/rust-lang/libc/pull/3849 - Linux: add missing
NFT_CT_*constants in https://github.com/rust-lang/libc/pull/3844 - Linux: add the
fchmodat2syscall in https://github.com/rust-lang/libc/pull/3588 - Linux: add the
msealsyscall in https://github.com/rust-lang/libc/pull/3798 - OpenBSD: add
sendmmsgandrecvmmsgin https://github.com/rust-lang/libc/pull/3831 - Unix: add
IN6ADDR_ANY_INITandIN6ADDR_LOOPBACK_INITin https://github.com/rust-lang/libc/pull/3693 - VxWorks: add
S_ISVTXin https://github.com/rust-lang/libc/pull/3768 - VxWorks: add
vxCpuLibandtaskLibfunctions https://github.com/rust-lang/libc/pull/3861 - WASIp2: add definitions for
std::netsupport in https://github.com/rust-lang/libc/pull/3892
- Correctly handle version checks when
clippy-driveris used https://github.com/rust-lang/libc/pull/3893
- EspIdf: change signal constants to c_int in https://github.com/rust-lang/libc/pull/3895
- HorizonOS: update network definitions in https://github.com/rust-lang/libc/pull/3863
- Linux: combine
ioctlAPIs in https://github.com/rust-lang/libc/pull/3722 - WASI: enable CI testing in https://github.com/rust-lang/libc/pull/3869
- WASIp2: enable CI testing in https://github.com/rust-lang/libc/pull/3870
0.2.158 - 2024-08-19
- WASI: fix missing
Iteratorwithrustc-dep-of-stdin https://github.com/rust-lang/libc/pull/3856#event-13924913068
0.2.157 - 2024-08-17
- Apple: add
_NSGetArgv,_NSGetArgcand_NSGetPrognamein https://github.com/rust-lang/libc/pull/3702 - Build: add
RUSTC_WRAPPERsupport in https://github.com/rust-lang/libc/pull/3845 - FreeBSD: add
execvpesupport from 14.1 release in https://github.com/rust-lang/libc/pull/3745 - Fuchsia: add
SO_BINDTOIFINDEX - Linux: add
klogctlin https://github.com/rust-lang/libc/pull/3777 - MacOS: add
fcntlOFD commands in https://github.com/rust-lang/libc/pull/3563 - NetBSD: add
_lwp_parkin https://github.com/rust-lang/libc/pull/3721 - Solaris: add missing networking support in https://github.com/rust-lang/libc/pull/3717
- Unix: add
pthread_equalin https://github.com/rust-lang/libc/pull/3773 - WASI: add
select,FD_SET,FD_ZERO,FD_ISSETin https://github.com/rust-lang/libc/pull/3681
- TEEOS: fix octal notation for
O_*constants in https://github.com/rust-lang/libc/pull/3841
- FreeBSD: always use freebsd12 when
rustc_dep_of_stdis set in https://github.com/rust-lang/libc/pull/3723
0.2.156 - 2024-08-15
- Apple: add
F_ALLOCATEPERSISTin https://github.com/rust-lang/libc/pull/3712 - Apple: add
os_sync_wait_on_addressand related definitions in https://github.com/rust-lang/libc/pull/3769 - BSD: generalise
IPV6_DONTFRAGto all BSD targets in https://github.com/rust-lang/libc/pull/3716 - FreeBSD/DragonFly: add
IP_RECVTTL/IPV6_RECVHOPLIMITin https://github.com/rust-lang/libc/pull/3751 - Hurd: add
XATTR_CREATE,XATTR_REPLACEin https://github.com/rust-lang/libc/pull/3739 - Linux GNU:
confstrAPI and_CS_*in https://github.com/rust-lang/libc/pull/3771 - Linux musl: add
preadv2andpwritev2(1.2.5 min.) in https://github.com/rust-lang/libc/pull/3762 - VxWorks: add the constant
SOMAXCONNin https://github.com/rust-lang/libc/pull/3761 - VxWorks: add a few errnoLib related constants in https://github.com/rust-lang/libc/pull/3780
- Solaris/illumos: Change
ifa_flagstype to u64 in https://github.com/rust-lang/libc/pull/3729 - QNX 7.0: Disable
libregexin https://github.com/rust-lang/libc/pull/3775
- QNX NTO: update platform support in https://github.com/rust-lang/libc/pull/3815
addr_of!(EXTERN_STATIC)is now considered safe in https://github.com/rust-lang/libc/pull/3776
- Apple: remove
rmx_statein https://github.com/rust-lang/libc/pull/3776
- Update or remove CI tests that have been failing