| { | ||
| "git": { | ||
| "sha1": "e6082ef26096154e08ab0cb094d66d5ca116ee15" | ||
| "sha1": "bb5944c67d6f7f3ead944120ec30561731b427de" | ||
| }, | ||
| "path_in_vcs": "" | ||
| } |
+1
-1
@@ -16,3 +16,3 @@ # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO | ||
| name = "libc" | ||
| version = "0.2.168" | ||
| version = "0.2.169" | ||
| authors = ["The Rust Project Developers"] | ||
@@ -19,0 +19,0 @@ build = "build.rs" |
+18
-0
| # Changelog | ||
| ## [Unreleased] | ||
| ## [0.2.169](https://github.com/rust-lang/libc/compare/0.2.168...0.2.169) - 2024-12-18 | ||
| ### Added | ||
| - FreeBSD: add more socket TCP stack constants <https://github.com/rust-lang/libc/pull/4193> | ||
| - Fuchsia: add a `sockaddr_vm` definition <https://github.com/rust-lang/libc/pull/4194> | ||
| ### Fixed | ||
| **Breaking**: [rust-lang/rust#132975](https://github.com/rust-lang/rust/pull/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 <https://github.com/rust-lang/libc/pull/4195> | ||
| - Fix `c_char` on various targets <https://github.com/rust-lang/libc/pull/4199> | ||
| - Mirror `c_char` configuration from `rust-lang/rust` <https://github.com/rust-lang/libc/pull/4198> | ||
| ### Cleanup | ||
| - Do not re-export `c_void` in target-specific code <https://github.com/rust-lang/libc/pull/4200> | ||
| ## [0.2.168](https://github.com/rust-lang/libc/compare/0.2.167...0.2.168) - 2024-12-09 | ||
@@ -6,0 +24,0 @@ |
+1
-8
| //! Hermit C type definitions | ||
| pub use crate::arch::c_char_def as c_char; | ||
| use crate::prelude::*; | ||
| cfg_if! { | ||
| if #[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))] { | ||
| pub type c_char = u8; | ||
| } else { | ||
| pub type c_char = i8; | ||
| } | ||
| } | ||
| pub type c_schar = i8; | ||
@@ -14,0 +7,0 @@ pub type c_uchar = u8; |
+38
-0
@@ -44,2 +44,40 @@ //! libc - Raw FFI bindings to platforms' system libraries | ||
| /// Type definitions that are coupled tighter to architecture than OS. | ||
| mod arch { | ||
| cfg_if! { | ||
| // This configuration comes from `rust-lang/rust` in `library/core/src/ffi/mod.rs`. | ||
| if #[cfg(all( | ||
| not(windows), | ||
| // FIXME(ctest): just use `target_vendor` = "apple"` once `ctest` supports it | ||
| not(any( | ||
| target_os = "macos", | ||
| target_os = "ios", | ||
| target_os = "tvos", | ||
| target_os = "watchos", | ||
| target_os = "visionos", | ||
| )), | ||
| any( | ||
| target_arch = "aarch64", | ||
| target_arch = "arm", | ||
| target_arch = "csky", | ||
| target_arch = "hexagon", | ||
| target_arch = "msp430", | ||
| target_arch = "powerpc", | ||
| target_arch = "powerpc64", | ||
| target_arch = "riscv64", | ||
| target_arch = "riscv32", | ||
| target_arch = "s390x", | ||
| target_arch = "xtensa", | ||
| ) | ||
| ))] { | ||
| // To be reexported as `c_char` | ||
| // FIXME(ctest): just name these `c_char` once `ctest` learns that these don't get | ||
| // exported. | ||
| pub type c_char_def = u8; | ||
| } else { | ||
| pub type c_char_def = i8; | ||
| } | ||
| } | ||
| } | ||
| cfg_if! { | ||
@@ -46,0 +84,0 @@ if #[cfg(windows)] { |
@@ -1,4 +0,4 @@ | ||
| pub type c_char = i8; | ||
| pub type c_char = u8; | ||
| pub type wchar_t = u32; | ||
| pub type c_long = i64; | ||
| pub type c_ulong = u64; |
+1
-1
@@ -1,4 +0,4 @@ | ||
| pub type c_char = i8; | ||
| pub type c_char = u8; | ||
| pub type wchar_t = u32; | ||
| pub type c_long = i32; | ||
| pub type c_ulong = u32; |
+0
-3
@@ -8,5 +8,2 @@ //! Libc bindings for teeos | ||
| // only supported on Rust > 1.59, so we can directly reexport c_void from core. | ||
| pub use core::ffi::c_void; | ||
| use crate::prelude::*; | ||
@@ -13,0 +10,0 @@ |
+2
-10
@@ -1,3 +0,3 @@ | ||
| pub use core::ffi::c_void; | ||
| pub use crate::arch::c_char_def as c_char; | ||
| use crate::prelude::*; | ||
| pub type size_t = usize; | ||
@@ -8,10 +8,2 @@ pub type ssize_t = isize; | ||
| cfg_if! { | ||
| if #[cfg(any(target_arch = "aarch64", target_arch = "arm"))] { | ||
| pub type c_char = u8; | ||
| } else if #[cfg(target_arch = "x86_64")] { | ||
| pub type c_char = i8; | ||
| } | ||
| } | ||
| pub type c_schar = i8; | ||
@@ -18,0 +10,0 @@ pub type c_uchar = u8; |
| use crate::off64_t; | ||
| use crate::prelude::*; | ||
| pub type c_char = i8; | ||
| pub type c_char = u8; | ||
| pub type wchar_t = u32; | ||
@@ -6,0 +6,0 @@ pub type greg_t = i64; |
@@ -9,3 +9,3 @@ //! Definitions for uclibc on 64bit systems | ||
| pub type clock_t = i64; | ||
| pub type c_char = u8; | ||
| pub type c_char = i8; | ||
| pub type c_long = i64; | ||
@@ -12,0 +12,0 @@ pub type c_ulong = u64; |
| use crate::prelude::*; | ||
| pub type clock_t = c_ulong; | ||
| pub type c_char = i8; | ||
| pub type c_char = u8; | ||
| pub type wchar_t = u32; | ||
@@ -6,0 +6,0 @@ |
@@ -6,3 +6,3 @@ use crate::off_t; | ||
| pub type c_char = i8; | ||
| pub type c_char = u8; | ||
| pub type wchar_t = u32; | ||
@@ -9,0 +9,0 @@ |
@@ -0,1 +1,2 @@ | ||
| pub use crate::arch::c_char_def as c_char; | ||
| use crate::prelude::*; | ||
@@ -8,3 +9,2 @@ use crate::{in6_addr, in_addr_t, timespec, DIR}; | ||
| pub type blksize_t = i16; | ||
| pub type c_char = i8; | ||
| pub type c_long = isize; | ||
@@ -11,0 +11,0 @@ pub type c_ulong = usize; |
@@ -0,4 +1,4 @@ | ||
| pub use crate::arch::c_char_def as c_char; | ||
| use crate::prelude::*; | ||
| pub type c_char = i8; | ||
| pub type wchar_t = i32; | ||
@@ -5,0 +5,0 @@ |
@@ -1,4 +0,4 @@ | ||
| pub type c_char = i8; | ||
| pub type c_char = u8; | ||
| pub type wchar_t = i32; | ||
| pub type c_long = i32; | ||
| pub type c_ulong = u32; |
@@ -1,4 +0,4 @@ | ||
| pub type c_char = i8; | ||
| pub type c_char = u8; | ||
| pub type wchar_t = i32; | ||
| pub type c_long = i64; | ||
| pub type c_ulong = u64; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display