Skip to content

build(deps): Bump libc from 0.2.186 to 0.2.188#2570

Merged
mkroening merged 1 commit into
mainfrom
dependabot/cargo/libc-0.2.188
Jul 21, 2026
Merged

build(deps): Bump libc from 0.2.186 to 0.2.188#2570
mkroening merged 1 commit into
mainfrom
dependabot/cargo/libc-0.2.188

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 21, 2026

Copy link
Copy Markdown
Contributor

Bumps libc from 0.2.186 to 0.2.188.

Release notes

Sourced from libc's releases.

0.2.188

Changed

These were removed in 0.2.187 because libc does not actually make Send and Sync guarantees about DIR (or other extern types), but this caused some crates to break. The traits are added back for now to allow time to migrate, but will be removed again in the future; please make sure your crates are not relying on libc::DIR: Send or libc::DIR: Sync.

0.2.187

This release contains a number of improvements related to 64-bit time_t configuration. Of note the existing RUST_LIBC_UNSTABLE_* environment variables have been replaced with configuration options. The new way to use these is:

RUSTFLAGS='--cfg=libc_unstable_musl_v1_2_3' cargo ...
RUSTFLAGS='--cfg=libc_unstable_gnu_time_bits="64"' cargo ...

Being able to set this via RUSTFLAGS makes it easier to only apply configuration to specific targets (and notably, not the host if build scripts are used).

There are two other notable changes:

  • The 32-bit windows-gnu targets now respect libc_unstable_gnu_time_bits

  • uClibc now supports a similar configuration option:

    RUSTFLAGS='--cfg=libc_unstable_uclibc_time64'

As a reminder, these options are under active development and may change in the future (hence the "unstable" in the name). It likely that we will harmonize everything under a single configuration option before considering them stable.

Support

  • Add support for aarch64-unknown-linux-pauthtest (#5065)
  • Add support for new QNX targets (#5241)
  • Better document breaking change policy and recommended usage (#5179)

Added

  • Android: Add POSIX_SPAWN_* constants (#5104)
  • Android: Add getpwent, setpwent, and endpwent (#5160)
  • Android: Add preadv2 and pwritev2 (#5157)
  • Android: Add seccomp_notif* structures (#5224)
  • Android: Add timer_[create, delete, getoverrun, gettime, settime] (#5108)

... (truncated)

Changelog

Sourced from libc's changelog.

0.2.188 - 2026-07-21

Changed

These were removed in 0.2.187 because libc does not actually make Send and Sync guarantees about DIR (or other extern types), but this caused some crates to break. The traits are added back for now to allow time to migrate, but will be removed again in the future; please make sure your crates are not relying on libc::DIR: Send or libc::DIR: Sync.

0.2.187 - 2026-07-20

This release contains a number of improvements related to 64-bit time_t configuration. Of note the existing RUST_LIBC_UNSTABLE_* environment variables have been replaced with configuration options. The new way to use these is:

RUSTFLAGS='--cfg=libc_unstable_musl_v1_2_3' cargo ...
RUSTFLAGS='--cfg=libc_unstable_gnu_time_bits="64"' cargo ...

Being able to set this via RUSTFLAGS makes it easier to only apply configuration to specific targets (and notably, not the host if build scripts are used).

There are two other notable changes:

  • The 32-bit windows-gnu targets now respect libc_unstable_gnu_time_bits

  • uClibc now supports a similar configuration option:

    RUSTFLAGS='--cfg=libc_unstable_uclibc_time64'

As a reminder, these options are under active development and may change in the future (hence the "unstable" in the name). It likely that we will harmonize everything under a single configuration option before considering them stable.

Support

  • Add support for aarch64-unknown-linux-pauthtest (#5065)
  • Add support for new QNX targets (#5241)
  • Better document breaking change policy and recommended usage (#5179)

Added

  • Android: Add POSIX_SPAWN_* constants (#5104)
  • Android: Add getpwent, setpwent, and endpwent (#5160)

... (truncated)

Commits
  • 7b7b771 libc: Release 0.2.188
  • ba6a6b5 [0.2] Restore Send and Sync for DIR
  • ee05190 libc: Release 0.2.187
  • 13b2218 unix: add preadv2 and pwritev2 to android
  • abc9903 docs: Improve the pull request template and CONTRIBUTING.md
  • c452b48 util: Restructure to use one class per subcommand
  • cbc70c9 nuttx: more document comments
  • 2589ea3 nuttx: add TCP_MAXSEG definitions
  • 6be50c1 nuttx: add pipe2 definitions
  • 4500344 nuttx: add poll definitions
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [libc](https://github.com/rust-lang/libc) from 0.2.186 to 0.2.188.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.188/CHANGELOG.md)
- [Commits](rust-lang/libc@0.2.186...0.2.188)

---
updated-dependencies:
- dependency-name: libc
  dependency-version: 0.2.188
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Jul 21, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark Results

Details
Benchmark Current: 40185e2 Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 85.73 s 80.34 s 1.07
startup_benchmark File Size 0.76 MB 0.80 MB 0.95
Startup Time - 1 core 0.76 s (±0.02 s) 0.75 s (±0.02 s) 1.02
Startup Time - 2 cores 0.76 s (±0.02 s) 0.74 s (±0.02 s) 1.03
Startup Time - 4 cores 0.77 s (±0.02 s) 0.74 s (±0.02 s) 1.04
multithreaded_benchmark Build Time 82.17 s 82.11 s 1.00
multithreaded_benchmark File Size 0.90 MB 0.86 MB 1.05
Multithreaded Pi Efficiency - 2 Threads 88.00 % (±6.62 %) 85.89 % (±6.61 %) 1.02
Multithreaded Pi Efficiency - 4 Threads 44.44 % (±4.08 %) 43.43 % (±2.56 %) 1.02
Multithreaded Pi Efficiency - 8 Threads 26.11 % (±1.73 %) 25.76 % (±1.53 %) 1.01
micro_benchmarks Build Time 80.84 s 80.40 s 1.01
micro_benchmarks File Size 0.90 MB 0.86 MB 1.05
Scheduling time - 1 thread 63.97 ticks (±1.29 ticks) 62.65 ticks (±4.06 ticks) 1.02
Scheduling time - 2 threads 35.58 ticks (±5.27 ticks) 34.08 ticks (±4.10 ticks) 1.04
Micro - Time for syscall (getpid) 3.45 ticks (±0.56 ticks) 3.45 ticks (±0.58 ticks) 1.00
Memcpy speed - (built_in) block size 4096 85736.30 MByte/s (±59227.89 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 1.04
Memcpy speed - (built_in) block size 1048576 30480.87 MByte/s (±24546.27 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 1.00
Memcpy speed - (built_in) block size 16777216 29342.84 MByte/s (±24138.21 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 1.11
Memset speed - (built_in) block size 4096 86000.48 MByte/s (±59406.65 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 1.05
Memset speed - (built_in) block size 1048576 31227.34 MByte/s (±24986.30 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 1.00
Memset speed - (built_in) block size 16777216 30118.85 MByte/s (±24590.22 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 1.11
Memcpy speed - (rust) block size 4096 73170.30 MByte/s (±50989.49 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 0.99
Memcpy speed - (rust) block size 1048576 30190.68 MByte/s (±24423.83 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 0.99
Memcpy speed - (rust) block size 16777216 29364.61 MByte/s (±24143.19 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 1.06
Memset speed - (rust) block size 4096 73593.13 MByte/s (±51297.32 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 0.99
Memset speed - (rust) block size 1048576 30938.49 MByte/s (±24866.75 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 0.99
Memset speed - (rust) block size 16777216 30139.06 MByte/s (±24593.49 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 1.06
alloc_benchmarks Build Time 77.34 s 74.76 s 1.03
alloc_benchmarks File Size 0.84 MB 0.87 MB 0.96
Allocations - Allocation success 91.31 % 91.31 % 1
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 61.44 % 61.44 % 1
Allocations - Average Allocation time 2373.45 Ticks (±518.46 Ticks) 5860.58 Ticks (±98.43 Ticks) 0.40
Allocations - Average Allocation time (no fail) 3448.09 Ticks (±443.39 Ticks) 6554.81 Ticks (±92.86 Ticks) 0.53
Allocations - Average Deallocation time 641.40 Ticks (±71.03 Ticks) 1805.01 Ticks (±250.35 Ticks) 0.36
mutex_benchmark Build Time 78.82 s 79.82 s 0.99
mutex_benchmark File Size 0.90 MB 0.86 MB 1.05
Mutex Stress Test Average Time per Iteration - 1 Threads 12.08 ns (±0.34 ns) 12.10 ns (±0.41 ns) 1.00
Mutex Stress Test Average Time per Iteration - 2 Threads 39.20 ns (±2.29 ns) 40.26 ns (±1.68 ns) 0.97

This comment was automatically generated by workflow using github-action-benchmark.

@mkroening
mkroening added this pull request to the merge queue Jul 21, 2026
Merged via the queue into main with commit 66d30dc Jul 21, 2026
31 of 38 checks passed
@dependabot
dependabot Bot deleted the dependabot/cargo/libc-0.2.188 branch July 21, 2026 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant