Skip to content

Releases: rust-lang/libc

0.2.174

17 Jun 17:54
ea6f07f
Compare
Choose a tag to compare

Added

  • Linux: Make pidfd_info fields pub (#4487)

Fixed

  • Gnu x32: Add missing timespec.tv_nsec (#4497)
  • NuttX: Use nlink_t type for st_nlink in struct stat definition (#4483)

Other

  • Allow new unpredictable_function_pointer_comparisons lints (#4489)
  • OpenBSD: Fix some clippy warnings to use pointer::cast. (#4490)
  • Remove unessecary semicolons from definitions of CMSG_NXTHDR. (#4492)

0.2.173

13 Jun 17:37
9288ec0
Compare
Choose a tag to compare

Added

  • AIX: Add an AIX triple to Cargo.toml for doc (#4475)
  • FreeBSD: Add the SO_SPLICE socket 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 nsfs ioctls (#4436)
  • Linux: Add constants for Memory-Deny-Write-Execute prctls (#4400)
  • Linux: Add constants from linux/cn_proc.h and linux/connector.h (#4434)
  • Linux: Add new flags for pwritev2 and preadv2 (#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_OFFLINE constant (#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 arc4random and arc4random_buf (#4464)
  • RISC-V Musl: Add MADV_SOFT_OFFLINE definition (#4447)
  • Redox: Define SCM_RIGHTS (#4440)
  • VxWorks: Add missing UTIME defines and TASK_RENAME_LENGTH (#4407)
  • Windows: Add more time.h functions (#4427)

Changed

  • Redox: Update SA_ constants. (#4426)
  • Redox: make CMSG_ALIGN, CMSG_LEN, and CMSG_SPACE const functions (#4441)

Fixed

  • 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_perm bindings (#4384)
  • Musl: Fix the O_LARGEFILE constant value. (#4443)

0.2.172

15 Apr 04:07
a5eab58
Compare
Choose a tag to compare

Added

  • Android: Add getauxval for 32-bit targets (#4338)
  • Android: Add if_tun.h ioctls (#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 filedesc and fdescenttbl (#4327)
  • Glibc: Add unstable support for _FILE_OFFSET_BITS=64 (#4345)
  • Hermit: Add AF_UNSPEC (#4344)
  • Hermit: Add AF_VSOCK (#4344)
  • Illumos, NetBSD: Add timerfd APIs (#4333)
  • Linux: Add _IO, _IOW, _IOR, _IOWR to the exported API (#4325)
  • Linux: Add tcp_info to 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_config and related PTRACE_*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 utmpx API (#4332)
  • Musl: Enable getrandom on 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.h and sys/uio.h definitions (#4388)
  • Solaris: Temporarily define O_DIRECT and SIGINFO (#4348)
  • Solarish: Add secure_getenv (#4342)
  • VxWorks: Add missing d_type member to dirent (#4352)
  • VxWorks: Add missing signal-related constsants (#4352)
  • VxWorks: Add more error codes (#4337)

Deprecated

  • FreeBSD: Deprecate TCP_PCAP_OUT and TCP_PCAP_IN (#4381)

Fixed

  • 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_ONSTACK on RISC-V-32 (#4335)
  • VxWorks: Fix a typo in the waitpid parameter name (#4334)

Removed

  • Musl: Remove O_FSYNC on RISC-V-32 (use O_SYNC instead) (#4335)
  • Musl: Remove RTLD_DEEPBIND on RISC-V-32 (#4335)

Other

  • 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_EXEC and MFD_NOEXEC_SEAL on sparc64" (#)
  • CI: Use $PWD instead of $(pwd) in run-docker (#4345)
  • Solarish: Restrict openpty and forkpty polyfills to Illumos, replace Solaris implementation with bindings (#4329)
  • Testing: Ensure the makedev test does not emit unused errors (#4363)

ctest-0.4.11

12 Apr 20:45
bf63904
Compare
Choose a tag to compare
  • Clean up some ctest internals
  • Increase the recursion limit to fix building on docs.rs

0.2.171

11 Mar 11:05
Compare
Choose a tag to compare

Added

  • Android: Add if_nameindex/if_freenameindex support (#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.h interfaces available on all FreeBSD-like systems (#4294)
  • Linux: Add AF_XDP structs for all Linux environments (#4163)
  • Linux: Add SysV semaphore constants (#4286)
  • Linux: Add F_SEAL_EXEC (#4316)
  • Linux: Add SO_PREFER_BUSY_POLL and SO_BUSY_POLL_BUDGET (#3917)
  • Linux: Add devmem structs (#4299)
  • Linux: Add socket constants up to SO_DEVMEM_DONTNEED (#4299)
  • NetBSD, OpenBSD, DragonflyBSD: Add closefrom (#4290)
  • NuttX: Add pw_passwd field to passwd (#4222)
  • Solarish: define IP_BOUND_IF and IPV6_BOUND_IF (#4287)
  • Wali: Add bindings for wasm32-wali-linux-musl target (#4244)

Changed

  • AIX: Use sa_sigaction instead of a union (#4250)
  • Make msqid_ds.__msg_cbytes public (#4301)
  • Unix: Make all major, minor, makedev into const fn (#4208)

Deprecated

  • Linux: Deprecate obsolete packet filter interfaces (#4267)

Fixed

  • Cygwin: Fix strerror_r (#4308)
  • Cygwin: Fix usage of f! (#4308)
  • Hermit: Make stat::st_size signed (#4298)
  • Linux: Correct values for SI_TIMER, SI_MESGQ, SI_ASYNCIO (#4292)
  • NuttX: Update tm_zone and d_name fields to use c_char type (#4222)
  • Xous: Include the prelude to define c_int (#4304)

Other

  • 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-update to rustup update (#4306)
  • CI: Remove tests for the i586-pc-windows-msvc target (#4311)
  • CI: Remove the check_cfg job (#4322)
  • Change the range syntax that is giving ctest problems (#4311)
  • Linux: Split out the stat struct for gnu/b32/mips (#4276)

Removed

  • NuttX: Remove pthread_set_name_np (#4251)

0.2.170

23 Feb 05:31
Compare
Choose a tag to compare

Added

  • Android: Declare setdomainname and getdomainname #4212
  • FreeBSD: Add evdev structures #3756
  • FreeBSD: Add the new st_filerev field to stat32 (#4254)
  • Linux: Add SI_*`` and TRAP_*`` 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

Deprecated

  • Linux: deprecate kernel modules syscalls #4228

Changed

  • Emscripten: Assume version is at least 3.1.42 #4243

Fixed

  • 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

Other

  • 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

19 Dec 05:18
Compare
Choose a tag to compare

Added

  • FreeBSD: add more socket TCP stack constants #4193
  • Fuchsia: add a sockaddr_vm definition #4194

Fixed

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_char with a reexport #4195
  • Fix c_char on various targets #4199
  • Mirror c_char configuration from rust-lang/rust #4198

Cleanup

  • Do not re-export c_void in target-specific code #4200

0.2.168

09 Dec 09:43
Compare
Choose a tag to compare

Added

  • Linux: Add new process flags (#4174)
  • Linux: Make IFA_* constants available on all Linux targets #4185
  • Linux: add MAP_DROPPABLE #4173
  • Solaris, Illumos: add SIGRTMIN and SIGRTMAX #4171
  • Unix, Linux: adding POSIX memccpy and mempcpy GNU extension <#4186.

Deprecated

  • FreeBSD: Deprecate the CAP_UNUSED* and CAP_ALL* constants (#4183)

Fixed

  • Make the Debug implementation for unions opaque (#4176)

Other

  • Allow the unpredictable_function_pointer_comparisons lint 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

29 Nov 10:23
Compare
Choose a tag to compare

Added

  • Solarish: add st_fstype to stat #4145
  • Trusty: Add intptr_t and uintptr_t (#4161)

Fixed

  • Fix the build with rustc-dep-of-std #4158
  • Wasi: Add back unsafe block for clockid_t static variables (#4157)

Cleanup

  • Create an internal prelude #4161
  • Fix unused_qualifications#4132

Other

  • 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

Removed

  • Remove one unused import after the edition 2021 bump

0.2.166

26 Nov 22:55
Compare
Choose a tag to compare

Fixed

This release resolves two cases of unintentional breakage from the previous release:

  • Revert removal of array size hacks #4150
  • Ensure const extern functions are always enabled #4151