Skip to content

Releases: rust-lang/libc

0.2.185

13 Apr 10:25

Choose a tag to compare

Added

  • EspIDF: Add espidf_picolibc cfg for picolibc O_* flag values (#5035)
  • Hexagon: add missing constants and fix types for linux-musl (#5042)
  • Redox: Add semaphore functions (#5051)
  • Windows: Add sprintf, snprintf, and the scanf family (#5024)

Fixed

  • Hexagon: Decouple time64 types from musl symbol redirects (#5040)
  • Horizon: Change POLL constants from c_short to c_int (#5045)

ctest-0.5.1

13 Apr 10:11

Choose a tag to compare

  • Add support for using raw keywords, like r#type

0.2.184

01 Apr 11:56

Choose a tag to compare

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_MINTTL to bsd (#5026)
  • Cygwin: Add TIOCM_DSR (#5031)
  • FreeBSD: Added xfile structe 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_t for riscv64 (#5029)
  • NetBSD: Add missing CLOCK_ constants (#5020)
  • NuttX: Add _SC_HOST_NAME_MAX (#5004)
  • VxWorks: Add flock and F_*LCK constants (#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 than Padding::uninit() (#5036)

Changed

  • potentially breaking Linux: Add new fields to struct ptrace_syscall_info (#4966)
  • Re-export core::ffi integer types rather than redefining (#5015)
  • Redox: Update F_DUPFD, IP, and TCP constants to match relibc (#4990)

0.2.183

08 Mar 07:44

Choose a tag to compare

Added

  • ESP-IDF: Add SOMAXCONN (#4993)
  • Linux: Add name_to_handle_at and open_by_handle_at (#4988)
  • NetBSD: Add kinfo_file, kinfo_pcb, and related constants (#4985)
  • OpenBSD: Add kinfo_file and related constants (#4991)
  • VxWorks: Add additional structs and defines (#5003)
  • Various: Implement Default for timeval and timespec (#4976)

Fixed

  • Hexagon musl: Enable unstable 64-bit time_t support and musl_v1_2_3 (#4992)
  • Nintendo Switch: Fix target support (#4982)
  • OpenBSD: Wrap an unused field in Padding (#4997)
  • Redox: Change sigaction.sa_flags to c_int (#4986)
  • Redox: Fix blkcnt_t type (#4994)

0.2.182

13 Feb 08:46

Choose a tag to compare

Added

  • Android, Linux: Add tgkill (#4970)
  • Redox: Add RENAME_NOREPLACE (#4968)
  • Redox: Add renameat2 (#4968)

1.0.0-alpha.3

09 Feb 21:32

Choose a tag to compare

1.0.0-alpha.3 Pre-release
Pre-release

MSRV

This release increases the MSRV of libc to 1.63.

Other

  • 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.181

09 Feb 21:29

Choose a tag to compare

Added

  • Apple: Add MADV_ZERO (#4924)
  • Redox: Add makedev, major, and minor (#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}speed on 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

  • Fuchsia: Update SO_* constants (#4937)
  • Revert "musl: convert inline timespecs to timespec" (resolves build issues on targets only supported by Musl 1.2.3+ ) (#4958)

ctest-0.5.0

29 Jan 14:22

Choose a tag to compare

Initial release of the redesigned ctest.

0.2.180

08 Jan 12:23

Choose a tag to compare

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 mcontext type definitions (#4886)
  • uClibc: Re-enable __SIZEOF_PTHREAD_COND_T on non-L4Re uclibc (#4915)
  • uClibc: Restructure Linux netlink module to resolve build errors (#4915)

1.0.0-alpha.2

06 Jan 10:53

Choose a tag to compare

1.0.0-alpha.2 Pre-release
Pre-release
chore: Release package libc version 1.0.0-alpha.2