| 51340584 | 15-Jun-2025 |
Trevor Gross <[email protected]> |
Allow new `unpredictable_function_pointer_comparisons` lints
These appeared in a recent nightly from our `PartialEq` derives. Add `allow`s where needed to suppress them, since removing the derive wo
Allow new `unpredictable_function_pointer_comparisons` lints
These appeared in a recent nightly from our `PartialEq` derives. Add `allow`s where needed to suppress them, since removing the derive would be breaking.
(backport <https://github.com/rust-lang/libc/pull/4489>) [ applied to PSP as well - Trevor ] (cherry picked from commit e6378105c41a6bf525bd6a746db11e0c52ce172e)
show more ...
|
| c04c92ed | 02-Jun-2025 |
Trevor Gross <[email protected]> |
Replace handwritten `Debug` impls with derives
`s_no_extra_traits!` doesn't derive `Debug` so there are a lot of handwritten implementations. However, since we have a derive-like solution for unions
Replace handwritten `Debug` impls with derives
`s_no_extra_traits!` doesn't derive `Debug` so there are a lot of handwritten implementations. However, since we have a derive-like solution for unions now (printing them like an opaque struct), there really isn't any reason these can't all be derived.
Add `derive(Debug)` to `s_no_extra_traits`, still gated behind `feature = "extra_traits"`, which allows getting rid of manual implementations.
(backport <https://github.com/rust-lang/libc/pull/4471>) (cherry picked from commit 65c39bf1b0c7b904cf512280860120307d17703b)
show more ...
|
| a598506f | 15-Apr-2025 |
Yuri Astrakhan <[email protected]> |
chore: apply some clippy lints
(backport <https://github.com/rust-lang/libc/pull/4415>) [ drop changes around the FreeBSD version in build.rs since the logic isn't the same - Trevor ] (cherry pick
chore: apply some clippy lints
(backport <https://github.com/rust-lang/libc/pull/4415>) [ drop changes around the FreeBSD version in build.rs since the logic isn't the same - Trevor ] (cherry picked from commit a283b9e66d4a8e9371b0aa69d8534010a1c7d9e7)
show more ...
|
| 66b58759 | 14-Apr-2025 |
Yuri Astrakhan <[email protected]> |
chore: minor cleanup `mode_t` usage
`crate::mode_t` is almost never needed because it is part of prelude. Moreover, in many cases `mode_t` was already used without the prefix - thus confusing if th
chore: minor cleanup `mode_t` usage
`crate::mode_t` is almost never needed because it is part of prelude. Moreover, in many cases `mode_t` was already used without the prefix - thus confusing if they are different or not. Keeping it the same helps readability.
(backport <https://github.com/rust-lang/libc/pull/4405>) [ Resolve conflict around vxworks S_* constants - Trevor ] (cherry picked from commit 1984cc22406f45cae7d6c6e2a1d1bc3faa6dc3e8)
show more ...
|
| fa16c8e3 | 06-Mar-2025 |
Koutheir Attouchi <[email protected]> |
Make msqid_ds.__msg_cbytes public.
(backport <https://github.com/rust-lang/libc/pull/4301>) (cherry picked from commit a4fd45edc8e9807fc0e7f5e5ac737e1cf3f2b7a6) |
| 24430c76 | 18-Dec-2024 |
Ivan Gankevich <[email protected]> |
Make all `major`, `minor`, `makedev` into `const fn`.
(backport <https://github.com/rust-lang/libc/pull/4208>) (cherry picked from commit 37c3333c07105cf29245941ecbbd5733ad0ddd22) |
| 25245d29 | 08-Jan-2025 |
lvllvl <[email protected]> |
chore: add labels to FIXMEs
(backport <https://github.com/rust-lang/libc/pull/4232>) (cherry picked from commit ccf7b41dd47aa6ab07bf14561b1e9f37e2e900ea) |
| e2f92909 | 04-Feb-2025 |
Aphek <[email protected]> |
Copy definitions from core::ffi and centralize them
(backport <https://github.com/rust-lang/libc/pull/4256>) (cherry picked from commit 95446f458e472511d65e560224c1b85570e50944)
[ include the neces
Copy definitions from core::ffi and centralize them
(backport <https://github.com/rust-lang/libc/pull/4256>) (cherry picked from commit 95446f458e472511d65e560224c1b85570e50944)
[ include the necessary changes for psp, which isn't part of the original commit since the target is not present on main - Trevor ]
show more ...
|
| 8e728d74 | 07-Jan-2025 |
lvllvl <[email protected]> |
chore: add labels for FIXMEs in repo
(backport <https://github.com/rust-lang/libc/pull/4237>) (cherry picked from commit 6c6674e2954c1189926f3c8112372263f8e6b730) |
| 8448147a | 18-Dec-2024 |
Taiki Endo <[email protected]> |
Define c_char at top-level and remove per-target c_char definitions
(backport <https://github.com/rust-lang/libc/pull/4202>) (cherry picked from commit 0a02b941cf105dc4d4c5b5bd1ddc7bb546ad89c9) |
| eb4649d1 | 11-Dec-2024 |
James Robinson <[email protected]> |
Add sockaddr_vm definition for Fuchsia
(backport <https://github.com/rust-lang/libc/pull/4194>) (cherry picked from commit 816a236462f9d4031a63e890b0e046e2ce1c1af4) |
| 1645df89 | 07-Dec-2024 |
Trevor Gross <[email protected]> |
Allow the `unpredictable_function_pointer_comparisons` where needed
This lint was recently added so this change is needed to fix CI. The suggested alternative is to use `ptr::fn_addr_eq` which isn't
Allow the `unpredictable_function_pointer_comparisons` where needed
This lint was recently added so this change is needed to fix CI. The suggested alternative is to use `ptr::fn_addr_eq` which isn't available until 1.85, so allow the lint here.
(backport <https://github.com/rust-lang/libc/pull/4177>) (cherry picked from commit 99f4dd920b580ca3d201d948153cffe54158e4b8)
show more ...
|
| 108310db | 27-Nov-2024 |
Trevor Gross <[email protected]> |
Make use of the crate's prelude to replace individual imports
Automatically apply changes with the following:
#!/bin/bash
set -eux
files=()
# Types either defined in this crate o
Make use of the crate's prelude to replace individual imports
Automatically apply changes with the following:
#!/bin/bash
set -eux
files=()
# Types either defined in this crate or in `core` prelude_types=( c_char c_double c_float c_int c_longlong c_long c_short c_uchar c_uint c_ulonglong c_ulong c_ushort c_void intptr_t size_t ssize_t Clone Copy Option Send Sync )
# Reexports from core prelude_modules=( fmt hash iter mem )
# Everything in the prelude prelude=( "${prelude_types[@]}" "${prelude_modules[@]}" )
# Generate a list of all files excluding `lib.rs` (since the prelude being # defined there makes string matching weird). while IFS= read -r -d '' file; do files+=("$file") done < <(find src -name '*.rs' -not -name '*lib.rs' -not -name '*macros.rs' -not -name 'fixed_width_ints.rs' -print0)
for file in "${files[@]}"; do needs_prelude=0
# If the file already has some sort of glob import, skip it if rg --pcre2 -q 'use (crate|super)::(?!prelude).*\*' "$file"; then continue fi
# Core types always require the prelude to handle rustc-dep-of-std if rg --pcre2 -q '\b(?<!\.)(Option|Clone|Copy|Send|Sync|fmt|hash|iter|mem)\b' "$file"; then needs_prelude=1 fi
# If we use any types that are specified in the prelude then we will import it for ty in "${prelude[@]}"; do # If the type is defined in the current module, we don't need it from the prelude if rg -q "type $ty =" "$file"; then continue fi
if rg -qU '((crate|super)::'"$ty"'|use (crate|super)::(\{\n){0,2}.*'"$ty)" "$file"; then needs_prelude=1 fi done
# Check if the prelude is needed and does not already exist; if so, add it if [ "$needs_prelude" = "1" ] && ! rg -q 'use crate::prelude::\*' "$file"; then # Split the file into two parts: module-level attributes and rest # Imports will be added after module-level attributes
attrs=$(awk '/^#!|^\/\/!/ {found=NR} {lines[NR]=$0} END {for (i=1; i<=found; i++) print lines[i]}' "$file") rest=$(awk '/^#!|^\/\/!/ {found=NR} END {if (found) {for (i=found+1; i<=NR; i++) print lines[i]} else {for (i=1; i<=NR; i++) print lines[i]}} {lines[NR]=$0}' "$file")
printf "%s\n" "$attrs" > "$file" printf "\n%s\n\n" "use crate::prelude::*;" >> "$file" printf "%s" "$rest" >> "$file" fi
for ty in "${prelude[@]}"; do export TY="$ty" # env for perl to use
# Remove simple imports `use crate::ty;` perl -pi -0777 -e 's/use ((crate|super)::)?($ENV{TY});//g' "$file"
# Remove the type if it is part of a group import perl -pi -0777 -e 's/(use (crate|super)::\{?(.*|(\n.*){0,2}))\b$ENV{TY}\b,? ?/$1/g' "$file"
# Replace pathed `crate::ty` perl -pi -0777 -e 's/(crate|super)::($ENV{TY})\b/$2/g' "$file" done
# For some reason, rustfmt doesn't trim leading newlines. Do so manually here. perl -pi -0777 -e 's/\A\n+//' "$file"
rustfmt "$file" done
./ci/style.sh
(backport <https://github.com/rust-lang/libc/pull/4161>) (cherry picked from commit f8a018a8e3efaf8cc4fbad84974255b0fa899fc2)
Applied by rerunning the script rather than resolving conflicts manually.
show more ...
|
| 86745492 | 27-Nov-2024 |
Eduardo Sánchez Muñoz <[email protected]> |
Handle remaining leading `::` in paths
I looked for `[^\w]::` and fixed them manually.
(backport <https://github.com/rust-lang/libc/pull/4162>) (cherry picked from commit 82d30c6a287fcbb186539cd21b
Handle remaining leading `::` in paths
I looked for `[^\w]::` and fixed them manually.
(backport <https://github.com/rust-lang/libc/pull/4162>) (cherry picked from commit 82d30c6a287fcbb186539cd21b663e2ee1f48a75)
show more ...
|
| 643182f7 | 26-Nov-2024 |
Eduardo Sánchez Muñoz <[email protected]> |
Automatic migration to Rust edition 2021
Migration script:
```sh set -ex
git restore Cargo.toml src
for file in $(find src -name "*.rs"); do perl -pi -077 -e 's/(?<!\w)::(Option|Copy|Clone)\b/$
Automatic migration to Rust edition 2021
Migration script:
```sh set -ex
git restore Cargo.toml src
for file in $(find src -name "*.rs"); do perl -pi -077 -e 's/(?<!\w)::(Option|Copy|Clone)\b/$1/g' "$file" done
implicit_c_long_ulong_char=( src/fuchsia/mod.rs src/solid/mod.rs src/unix/aix/mod.rs src/unix/bsd/apple/mod.rs src/unix/bsd/freebsdlike/freebsd/mod.rs src/unix/bsd/freebsdlike/mod.rs src/unix/bsd/netbsdlike/netbsd/mod.rs src/unix/bsd/netbsdlike/openbsd/mod.rs src/unix/bsd/netbsdlike/mod.rs src/unix/bsd/mod.rs src/unix/haiku/mod.rs src/unix/hurd/mod.rs src/unix/linux_like/android/b32/mod.rs src/unix/linux_like/android/b64/mod.rs src/unix/linux_like/android/mod.rs src/unix/linux_like/linux/gnu/b32/mod.rs src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs src/unix/linux_like/linux/gnu/b64/mod.rs src/unix/linux_like/linux/gnu/mod.rs src/unix/linux_like/linux/musl/mod.rs src/unix/linux_like/linux/uclibc/mips/mod.rs src/unix/linux_like/linux/uclibc/mod.rs src/unix/linux_like/linux/mod.rs src/unix/linux_like/mod.rs src/unix/newlib/mod.rs src/unix/nto/mod.rs src/unix/mod.rs src/vxworks/mod.rs )
for file in "${implicit_c_long_ulong_char[@]}"; do perl -pi -077 -e 's/(?<!\w)::(c_long|c_ulong|c_char)\b/$1/g' "$file" done
implicit_off_t=( src/unix/linux_like/linux/gnu/mod.rs src/unix/linux_like/linux/mod.rs src/unix/linux_like/mod.rs src/unix/mod.rs )
for file in "${implicit_off_t[@]}"; do perl -pi -077 -e 's/(?<!\w)::(off_t)\b/$1/g' "$file" done
implicit_off64_t=( src/unix/linux_like/android/mod.rs src/unix/linux_like/mod.rs )
for file in "${implicit_off64_t[@]}"; do perl -pi -077 -e 's/(?<!\w)::(off64_t)\b/$1/g' "$file" done
implicit_Ioctl=( src/unix/linux_like/linux/mod.rs )
for file in "${implicit_Ioctl[@]}"; do perl -pi -077 -e 's/(?<!\w)::(Ioctl)\b/$1/g' "$file" done
perl -pi -077 -e 's/(?<!\w)::(__u8|__u16|__u32|__s16|__s32)\b/$1/g' src/unix/linux_like/linux/mod.rs
perl -pi -077 -e 's/(?<!\w)::(SIG[A-Z]+)\b/$1/g' src/unix/solarish/mod.rs
perl -pi -077 -e 's/(?<!\w)::c_ulong\b/crate::c_ulong/g' src/unix/newlib/generic.rs perl -pi -077 -e 's/(?<!\w)::c_ulong\b/crate::c_ulong/g' src/unix/linux_like/linux/arch/generic/mod.rs perl -pi -077 -e 's/(?<!\w)::c_ulonglong\b/crate::c_ulonglong/g' src/unix/linux_like/linux/gnu/b64/mod.rs perl -pi -077 -e 's/(?<!\w)::c_ulonglong\b/crate::c_ulonglong/g' src/unix/linux_like/linux/mod.rs perl -pi -077 -e 's/(?<!\w)::c_ulonglong\b/crate::c_ulonglong/g' src/unix/linux_like/mod.rs perl -pi -077 -e 's/(?<!\w)::c_short\b/crate::c_short/g' src/unix/linux_like/linux/gnu/b32/mod.rs perl -pi -077 -e 's/(?<!\w)::c_short\b/crate::c_short/g' src/unix/newlib/mod.rs perl -pi -077 -e 's/(?<!\w)::c_float\b/c_float/g' src/unix/linux_like/linux/gnu/b64/s390x.rs perl -pi -077 -e 's/(?<!\w)::c_float\b/c_float/g' src/unix/linux_like/linux/musl/b64/s390x.rs
function handle_type() { type="$1" uses_type="$(rg -l "[^\w]::$type\b" src || echo)" has_type_def="$(rg -l "(type|struct) $type " src || echo)" has_type_import="$(rg -l "use ([0-9a-zA-Z_]+::)*$type;" src || echo)"
add_import=($(comm -3 <(echo "$uses_type" | sort) <(printf "%s\n%s" "$has_type_def" "$has_type_import" | sort) | cut -f1)) for file in "${add_import[@]}"; do # Split the file into two parts: module-level attributes and rest # Imports will be added after module-level attributes
awk '/^#!|^\/\/!/ {found=NR} {lines[NR]=$0} END {for (i=1; i<=found; i++) print lines[i]}' \ "$file" > "$file.attrs" awk '/^#!|^\/\/!/ {found=NR} END {if (found) {for (i=found+1; i<=NR; i++) print lines[i]} else {for (i=1; i<=NR; i++) print lines[i]}} {lines[NR]=$0}' \ "$file" > "$file.rest"
cat "$file.attrs" > "$file" echo >> "$file" echo 'use crate::'"$type"';' >> "$file" echo >> "$file" cat "$file.rest" >> "$file"
rm "$file.attrs" "$file.rest" done
for file in $uses_type; do perl -pi -077 -e 's/(?<!\w)::('"$type"')\b/$1/g' "$file" done }
handle_type c_void handle_type c_int handle_type c_uint handle_type c_char handle_type c_schar handle_type c_uchar handle_type c_short handle_type c_ushort handle_type c_long handle_type c_ulong handle_type c_longlong handle_type c_ulonglong handle_type c_float handle_type c_double handle_type size_t handle_type ssize_t handle_type intptr_t handle_type ptrdiff_t handle_type off_t handle_type off64_t handle_type Ioctl handle_type cmsghdr # To avoid "line formatted, but exceeded maximum width"
targets=( aarch64-apple-darwin aarch64-apple-ios aarch64-apple-ios-macabi aarch64-apple-ios-sim aarch64-apple-tvos aarch64-apple-tvos-sim aarch64-apple-visionos aarch64-apple-visionos-sim aarch64-apple-watchos aarch64-apple-watchos-sim aarch64-kmc-solid_asp3 aarch64-linux-android aarch64-nintendo-switch-freestanding aarch64-pc-windows-gnullvm aarch64-pc-windows-msvc aarch64-unknown-freebsd aarch64-unknown-fuchsia aarch64-unknown-hermit aarch64-unknown-illumos aarch64-unknown-linux-gnu aarch64-unknown-linux-gnu_ilp32 aarch64-unknown-linux-musl aarch64-unknown-linux-ohos aarch64-unknown-netbsd aarch64-unknown-none aarch64-unknown-none-softfloat aarch64-unknown-nto-qnx700 aarch64-unknown-nto-qnx710 aarch64-unknown-openbsd aarch64-unknown-redox #aarch64-unknown-teeos aarch64-unknown-trusty aarch64-unknown-uefi aarch64-uwp-windows-msvc aarch64-wrs-vxworks aarch64_be-unknown-linux-gnu aarch64_be-unknown-linux-gnu_ilp32 aarch64_be-unknown-netbsd arm-linux-androideabi arm-unknown-linux-gnueabi arm-unknown-linux-gnueabihf arm-unknown-linux-musleabi arm-unknown-linux-musleabihf arm64_32-apple-watchos arm64e-apple-darwin arm64e-apple-ios arm64e-apple-tvos arm64ec-pc-windows-msvc armeb-unknown-linux-gnueabi armebv7r-none-eabi armebv7r-none-eabihf armv4t-none-eabi armv4t-unknown-linux-gnueabi armv5te-none-eabi armv5te-unknown-linux-gnueabi armv5te-unknown-linux-musleabi armv5te-unknown-linux-uclibceabi armv6-unknown-freebsd armv6-unknown-netbsd-eabihf armv6k-nintendo-3ds armv7-linux-androideabi armv7-rtems-eabihf armv7-sony-vita-newlibeabihf armv7-unknown-freebsd armv7-unknown-linux-gnueabi armv7-unknown-linux-gnueabihf armv7-unknown-linux-musleabi armv7-unknown-linux-musleabihf armv7-unknown-linux-ohos armv7-unknown-linux-uclibceabi armv7-unknown-linux-uclibceabihf armv7-unknown-netbsd-eabihf armv7-unknown-trusty armv7-wrs-vxworks-eabihf armv7a-kmc-solid_asp3-eabi armv7a-kmc-solid_asp3-eabihf armv7a-none-eabi armv7a-none-eabihf armv7k-apple-watchos armv7r-none-eabi armv7r-none-eabihf armv7s-apple-ios armv8r-none-eabihf #avr-unknown-gnu-atmega328 bpfeb-unknown-none bpfel-unknown-none csky-unknown-linux-gnuabiv2 csky-unknown-linux-gnuabiv2hf hexagon-unknown-linux-musl #hexagon-unknown-none-elf i386-apple-ios #i586-pc-nto-qnx700 i586-pc-windows-msvc i586-unknown-linux-gnu i586-unknown-linux-musl i586-unknown-netbsd i686-apple-darwin i686-linux-android i686-pc-windows-gnu i686-pc-windows-gnullvm i686-pc-windows-msvc i686-unknown-freebsd i686-unknown-haiku i686-unknown-hurd-gnu i686-unknown-linux-gnu i686-unknown-linux-musl i686-unknown-netbsd i686-unknown-openbsd i686-unknown-redox i686-unknown-uefi i686-uwp-windows-gnu i686-uwp-windows-msvc i686-win7-windows-msvc i686-wrs-vxworks loongarch64-unknown-linux-gnu loongarch64-unknown-linux-musl loongarch64-unknown-linux-ohos loongarch64-unknown-none loongarch64-unknown-none-softfloat #m68k-unknown-linux-gnu mips-unknown-linux-gnu mips-unknown-linux-musl mips-unknown-linux-uclibc mips64-openwrt-linux-musl mips64-unknown-linux-gnuabi64 mips64-unknown-linux-muslabi64 mips64el-unknown-linux-gnuabi64 mips64el-unknown-linux-muslabi64 mipsel-sony-psp mipsel-sony-psx mipsel-unknown-linux-gnu mipsel-unknown-linux-musl mipsel-unknown-linux-uclibc mipsel-unknown-netbsd mipsel-unknown-none mipsisa32r6-unknown-linux-gnu mipsisa32r6el-unknown-linux-gnu mipsisa64r6-unknown-linux-gnuabi64 mipsisa64r6el-unknown-linux-gnuabi64 msp430-none-elf nvptx64-nvidia-cuda powerpc-unknown-freebsd powerpc-unknown-linux-gnu powerpc-unknown-linux-gnuspe powerpc-unknown-linux-musl powerpc-unknown-linux-muslspe powerpc-unknown-netbsd powerpc-unknown-openbsd powerpc-wrs-vxworks powerpc-wrs-vxworks-spe powerpc64-ibm-aix powerpc64-unknown-freebsd powerpc64-unknown-linux-gnu powerpc64-unknown-linux-musl powerpc64-unknown-openbsd powerpc64-wrs-vxworks powerpc64le-unknown-freebsd powerpc64le-unknown-linux-gnu powerpc64le-unknown-linux-musl riscv32-wrs-vxworks riscv32e-unknown-none-elf riscv32em-unknown-none-elf riscv32emc-unknown-none-elf riscv32gc-unknown-linux-gnu riscv32gc-unknown-linux-musl riscv32i-unknown-none-elf riscv32im-risc0-zkvm-elf riscv32im-unknown-none-elf riscv32ima-unknown-none-elf riscv32imac-esp-espidf riscv32imac-unknown-none-elf riscv32imac-unknown-nuttx-elf riscv32imac-unknown-xous-elf riscv32imafc-esp-espidf riscv32imafc-unknown-none-elf riscv32imafc-unknown-nuttx-elf riscv32imc-esp-espidf riscv32imc-unknown-none-elf riscv32imc-unknown-nuttx-elf riscv64-linux-android riscv64-wrs-vxworks riscv64gc-unknown-freebsd riscv64gc-unknown-fuchsia riscv64gc-unknown-hermit riscv64gc-unknown-linux-gnu riscv64gc-unknown-linux-musl #riscv64gc-unknown-netbsd riscv64gc-unknown-none-elf riscv64gc-unknown-nuttx-elf riscv64gc-unknown-openbsd riscv64imac-unknown-none-elf riscv64imac-unknown-nuttx-elf s390x-unknown-linux-gnu s390x-unknown-linux-musl sparc-unknown-linux-gnu sparc-unknown-none-elf sparc64-unknown-linux-gnu sparc64-unknown-netbsd sparc64-unknown-openbsd sparcv9-sun-solaris thumbv4t-none-eabi thumbv5te-none-eabi thumbv6m-none-eabi thumbv6m-nuttx-eabi thumbv7a-pc-windows-msvc thumbv7a-uwp-windows-msvc thumbv7em-none-eabi thumbv7em-none-eabihf thumbv7em-nuttx-eabi thumbv7em-nuttx-eabihf thumbv7m-none-eabi thumbv7m-nuttx-eabi thumbv7neon-linux-androideabi thumbv7neon-unknown-linux-gnueabihf thumbv7neon-unknown-linux-musleabihf thumbv8m.base-none-eabi thumbv8m.base-nuttx-eabi thumbv8m.main-none-eabi thumbv8m.main-none-eabihf thumbv8m.main-nuttx-eabi thumbv8m.main-nuttx-eabihf wasm32-unknown-emscripten wasm32-unknown-unknown wasm32-wasip1 wasm32-wasip1-threads wasm32-wasip2 wasm32v1-none wasm64-unknown-unknown x86_64-apple-darwin x86_64-apple-ios x86_64-apple-ios-macabi x86_64-apple-tvos x86_64-apple-watchos-sim x86_64-fortanix-unknown-sgx x86_64-linux-android x86_64-pc-nto-qnx710 x86_64-pc-solaris x86_64-pc-windows-gnu x86_64-pc-windows-gnullvm x86_64-pc-windows-msvc x86_64-unikraft-linux-musl x86_64-unknown-dragonfly x86_64-unknown-freebsd x86_64-unknown-fuchsia x86_64-unknown-haiku x86_64-unknown-hermit x86_64-unknown-hurd-gnu x86_64-unknown-illumos x86_64-unknown-l4re-uclibc x86_64-unknown-linux-gnu x86_64-unknown-linux-gnux32 x86_64-unknown-linux-musl #x86_64-unknown-linux-none x86_64-unknown-linux-ohos x86_64-unknown-netbsd x86_64-unknown-none x86_64-unknown-openbsd x86_64-unknown-redox x86_64-unknown-trusty x86_64-unknown-uefi x86_64-uwp-windows-gnu x86_64-uwp-windows-msvc x86_64-win7-windows-msvc x86_64-wrs-vxworks x86_64h-apple-darwin #xtensa-esp32-espidf #xtensa-esp32-none-elf #xtensa-esp32s2-espidf #xtensa-esp32s2-none-elf #xtensa-esp32s3-espidf #xtensa-esp32s3-none-elf )
for target in "${targets[@]}"; do echo "Migrating 2015 -> 2018 target $target" cargo fix --target "$target" -Zbuild-std=core --features extra_traits --allow-dirty --edition --broken-code --lib done
freebsd_versions=(freebsd13 freebsd14 freebsd15) for ver in "${freebsd_versions[@]}"; do echo "Migrating 2015 -> 2018 $ver" RUSTFLAGS="--cfg $ver" cargo fix --target i686-unknown-freebsd -Zbuild-std=core --features extra_traits --allow-dirty --edition --broken-code --lib RUSTFLAGS="--cfg $ver" cargo fix --target x86_64-unknown-freebsd -Zbuild-std=core --features extra_traits --allow-dirty --edition --broken-code --lib done
perl -pi -077 -e 's/edition = "2015"/edition = "2018"/' Cargo.toml
for target in "${targets[@]}"; do echo "Migrating 2018 -> 2021 target $target" cargo fix --target "$target" -Zbuild-std=core --features extra_traits --allow-dirty --edition --broken-code --lib done
perl -pi -077 -e 's/edition = "2018"/edition = "2021"/' Cargo.toml
for target in "${targets[@]}"; do echo "Checking target $target" cargo check --target "$target" -Zbuild-std=core --features extra_traits --lib || { echo "Failed for target $target" exit 1 } done
for ver in "${freebsd_versions[@]}"; do echo "Checking $ver" RUSTFLAGS="--cfg $ver" cargo check --target i686-unknown-freebsd -Zbuild-std=core --features extra_traits --lib || { echo "Failed for i686 $freebsd_versions" exit 1 } RUSTFLAGS="--cfg $ver" cargo check --target x86_64-unknown-freebsd -Zbuild-std=core --features extra_traits || --lib { echo "Failed for x86_64 $freebsd_versions" exit 1 } done
ci/style.sh ```
(backport <https://github.com/rust-lang/libc/pull/4132>) (cherry picked from commit 20f6aa4c8135ba5e2c079ff21b20f0a1be87e1c4)
[ applied by rerunning the script rather than resolving conflicts. Also updated the script to fail on error and to pass `--lib` so `cargo fix` doesn't try to upgrade anything that requires `std`. -Trevor ]
show more ...
|
| 25e022a2 | 18-Nov-2024 |
Trevor Gross <[email protected]> |
Add another `deprecated` attribute for something removed in `main`
Removed in <https://github.com/rust-lang/libc/pull/3526>. |
| 50f26e08 | 19-Nov-2024 |
Trevor Gross <[email protected]> |
Apply formatting to macro bodies
Run `ci/style.sh` with the changes introduced in [1].
[1]: https://github.com/rust-lang/libc/pull/4107
(backport <https://github.com/rust-lang/libc/pull/4107>)
Th
Apply formatting to macro bodies
Run `ci/style.sh` with the changes introduced in [1].
[1]: https://github.com/rust-lang/libc/pull/4107
(backport <https://github.com/rust-lang/libc/pull/4107>)
This is the `libc-0.2` version of 49cb0ff99f ("Apply formatting to macro bodies"), though not a direct cherry pick.
show more ...
|
| 602f0395 | 18-Nov-2024 |
Trevor Gross <[email protected]> |
Small syncs from `main` to `libc-0.2` |
| 84597bd9 | 17-Nov-2024 |
Trevor Gross <[email protected]> |
Add a diff note about execv* mutability changes
Changed in e77f551de9 ("Change prototypes for exec* function to match headers.") |
| e2218872 | 12-Jul-2022 |
Josh Triplett <[email protected]> |
Require rust >= 1.30 and drop libc_core_cvoid conditional
Move the `c_void` re-export to the top-level `lib.rs`. |
| b5b553d0 | 12-Jul-2022 |
Trevor Gross <[email protected]> |
Require rust >= 1.25 and drop libc_align conditional
This is mostly taken from Josh's work at [1], I just updated to account for conflicts and new uses of `libc_align`.
[1]: https://github.com/rust
Require rust >= 1.25 and drop libc_align conditional
This is mostly taken from Josh's work at [1], I just updated to account for conflicts and new uses of `libc_align`.
[1]: https://github.com/rust-lang/libc/pull/2845
Co-authored-by: Josh Triplett <[email protected]>
show more ...
|
| e4424387 | 27-Mar-2024 |
David Tolnay <[email protected]> |
Convert mode_t constants to octal
(backport <https://github.com/rust-lang/libc/pull/3634>) (cherry picked from commit 3cc3f01204bb8969c309554616167aacc77cc2ca) |
| 3242730c | 22-Jul-2024 |
Evan Wildenhain <[email protected]> |
Define SO_BINDTOIFINDEX on Fuchsia
Fuchsia supports SO_BINDTOIFINDEX as of API level 20: https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/lib/zxio/socket.cc;l=755;drc=b03121152bf13fb8898a95b5
Define SO_BINDTOIFINDEX on Fuchsia
Fuchsia supports SO_BINDTOIFINDEX as of API level 20: https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/lib/zxio/socket.cc;l=755;drc=b03121152bf13fb8898a95b58d952c95ee73cd0c
(backport <https://github.com/rust-lang/libc/pull/3784>) (cherry picked from commit 09b8a4f0af7d2cb88fe5eafb35449bd43bf84242)
show more ...
|
| 2a998957 | 09-Apr-2024 |
David Koloski <[email protected]> |
Update src/fuchsia/mod.rs
Co-authored-by: Jubilee <[email protected]> |
| a670db24 | 09-Apr-2024 |
David Koloski <[email protected]> |
Correct types of mode bit constants on Fuchsia
Fuchsia's definitions of these constants were split from the unix impls before #503, and so S_ISUID, S_ISGID, and S_ISVTX are all incorrectly typed as
Correct types of mode bit constants on Fuchsia
Fuchsia's definitions of these constants were split from the unix impls before #503, and so S_ISUID, S_ISGID, and S_ISVTX are all incorrectly typed as c_int instead of mode_t. This applies the same fix to Fuchsia's constant definitions to bring them in line with the rest of libc.
show more ...
|