Releases: rust-lang/libc
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.)
(#4972)
Added
- BSD: Add
IP_MINTTLto bsd (#5026) - Cygwin: Add
TIOCM_DSR(#5031) - FreeBSD: Added
xfilestructe 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_tfor riscv64 (#5029) - NetBSD: Add missing
CLOCK_constants (#5020) - NuttX: Add
_SC_HOST_NAME_MAX(#5004) - VxWorks: Add
flockandF_*LCKconstants (#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 thanPadding::uninit()(#5036)
Changed
0.2.183
Added
- ESP-IDF: Add
SOMAXCONN(#4993) - Linux: Add
name_to_handle_atandopen_by_handle_at(#4988) - NetBSD: Add
kinfo_file,kinfo_pcb, and related constants (#4985) - OpenBSD: Add
kinfo_fileand related constants (#4991) - VxWorks: Add additional structs and defines (#5003)
- Various: Implement
Defaultfortimevalandtimespec(#4976)
Fixed
0.2.182
1.0.0-alpha.3
0.2.181
Added
- Apple: Add
MADV_ZERO(#4924) - Redox: Add
makedev,major, andminor(#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}speedon 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
ctest-0.5.0
- Clean up some
ctestinternals - Increase the recursion limit to fix building on docs.rs
0.2.180
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
mcontexttype definitions (#4886) - uClibc: Re-enable
__SIZEOF_PTHREAD_COND_Ton non-L4Re uclibc (#4915) - uClibc: Restructure Linux
netlinkmodule to resolve build errors (#4915)
1.0.0-alpha.2
chore: Release package libc version 1.0.0-alpha.2
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:
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_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)
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_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)
Changed
- 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)
Removed
ctest-0.5.0-beta.3
- Clean up some
ctestinternals - Increase the recursion limit to fix building on docs.rs