mirror of
https://github.com/bdwgc/bdwgc-rust.git
synced 2026-08-22 04:06:24 -06:00
81ec7a606073ea34065b920c4e346a5f1b467d12
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.186 to 0.2.188. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/libc/releases">libc's releases</a>.</em></p> <blockquote> <h2>0.2.188</h2> <h3>Changed</h3> <ul> <li>Restore <code>Send</code> and <code>Sync</code> for <code>DIR</code> (<a href="https://github.com/rust-lang/libc/commit/35b062263401733cd89065c6a553640f2ba51ff1">35b062263401</a>)</li> </ul> <p>These were removed in 0.2.187 because <code>libc</code> does not actually make <code>Send</code> and <code>Sync</code> guarantees about <code>DIR</code> (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 <code>libc::DIR: Send</code> or <code>libc::DIR: Sync</code>.</p> <h2>0.2.187</h2> <p>This release contains a number of improvements related to 64-bit <code>time_t</code> configuration. Of note the existing <code>RUST_LIBC_UNSTABLE_*</code> environment variables have been replaced with configuration options. The new way to use these is:</p> <pre lang="sh"><code>RUSTFLAGS='--cfg=libc_unstable_musl_v1_2_3' cargo ... RUSTFLAGS='--cfg=libc_unstable_gnu_time_bits="64"' cargo ... </code></pre> <p>Being able to set this via <code>RUSTFLAGS</code> makes it easier to only apply configuration to specific targets (and notably, not the host if build scripts are used).</p> <p>There are two other notable changes:</p> <ul> <li> <p>The 32-bit <code>windows-gnu</code> targets now respect <code>libc_unstable_gnu_time_bits</code></p> </li> <li> <p>uClibc now supports a similar configuration option:</p> <pre lang="sh"><code>RUSTFLAGS='--cfg=libc_unstable_uclibc_time64' </code></pre> </li> </ul> <p>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.</p> <h3>Support</h3> <ul> <li>Add support for <code>aarch64-unknown-linux-pauthtest</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/5065">#5065</a>)</li> <li>Add support for new QNX targets (<a href="https://redirect.github.com/rust-lang/libc/pull/5241">#5241</a>)</li> <li>Better document breaking change policy and recommended usage (<a href="https://redirect.github.com/rust-lang/libc/pull/5179">#5179</a>)</li> </ul> <h3>Added</h3> <ul> <li>Android: Add <code>POSIX_SPAWN_*</code> constants (<a href="https://redirect.github.com/rust-lang/libc/pull/5104">#5104</a>)</li> <li>Android: Add <code>getpwent</code>, <code>setpwent</code>, and <code>endpwent</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/5160">#5160</a>)</li> <li>Android: Add <code>preadv2</code> and <code>pwritev2</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/5157">#5157</a>)</li> <li>Android: Add <code>seccomp_notif*</code> structures (<a href="https://redirect.github.com/rust-lang/libc/pull/5224">#5224</a>)</li> <li>Android: Add <code>timer_[create, delete, getoverrun, gettime, settime]</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/5108">#5108</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/libc/blob/0.2.188/CHANGELOG.md">libc's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/rust-lang/libc/compare/0.2.187...0.2.188">0.2.188</a> - 2026-07-21</h2> <h3>Changed</h3> <ul> <li>Restore <code>Send</code> and <code>Sync</code> for <code>DIR</code> (<a href="https://github.com/rust-lang/libc/commit/35b062263401733cd89065c6a553640f2ba51ff1">35b062263401</a>)</li> </ul> <p>These were removed in 0.2.187 because <code>libc</code> does not actually make <code>Send</code> and <code>Sync</code> guarantees about <code>DIR</code> (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 <code>libc::DIR: Send</code> or <code>libc::DIR: Sync</code>.</p> <h2><a href="https://github.com/rust-lang/libc/compare/0.2.186...0.2.187">0.2.187</a> - 2026-07-20</h2> <p>This release contains a number of improvements related to 64-bit <code>time_t</code> configuration. Of note the existing <code>RUST_LIBC_UNSTABLE_*</code> environment variables have been replaced with configuration options. The new way to use these is:</p> <pre lang="sh"><code>RUSTFLAGS='--cfg=libc_unstable_musl_v1_2_3' cargo ... RUSTFLAGS='--cfg=libc_unstable_gnu_time_bits="64"' cargo ... </code></pre> <p>Being able to set this via <code>RUSTFLAGS</code> makes it easier to only apply configuration to specific targets (and notably, not the host if build scripts are used).</p> <p>There are two other notable changes:</p> <ul> <li> <p>The 32-bit <code>windows-gnu</code> targets now respect <code>libc_unstable_gnu_time_bits</code></p> </li> <li> <p>uClibc now supports a similar configuration option:</p> <pre lang="sh"><code>RUSTFLAGS='--cfg=libc_unstable_uclibc_time64' </code></pre> </li> </ul> <p>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.</p> <h3>Support</h3> <ul> <li>Add support for <code>aarch64-unknown-linux-pauthtest</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/5065">#5065</a>)</li> <li>Add support for new QNX targets (<a href="https://redirect.github.com/rust-lang/libc/pull/5241">#5241</a>)</li> <li>Better document breaking change policy and recommended usage (<a href="https://redirect.github.com/rust-lang/libc/pull/5179">#5179</a>)</li> </ul> <h3>Added</h3> <ul> <li>Android: Add <code>POSIX_SPAWN_*</code> constants (<a href="https://redirect.github.com/rust-lang/libc/pull/5104">#5104</a>)</li> <li>Android: Add <code>getpwent</code>, <code>setpwent</code>, and <code>endpwent</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/5160">#5160</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rust-lang/libc/commit/7b7b771895c2a5ae75f358fadb893845ce9ae6cf"><code>7b7b771</code></a> libc: Release 0.2.188</li> <li><a href="https://github.com/rust-lang/libc/commit/ba6a6b56ae09e0640a2b2e27f3f6abdb4b3d243f"><code>ba6a6b5</code></a> [0.2] Restore <code>Send</code> and <code>Sync</code> for <code>DIR</code></li> <li><a href="https://github.com/rust-lang/libc/commit/ee051902acd7ee674e1916e6b12297da3975b351"><code>ee05190</code></a> libc: Release 0.2.187</li> <li><a href="https://github.com/rust-lang/libc/commit/13b22188be02a58d669661c7a177d48d62c7eef5"><code>13b2218</code></a> unix: add preadv2 and pwritev2 to android</li> <li><a href="https://github.com/rust-lang/libc/commit/abc9903188c8454920295d5548cbeb4d7d5f4896"><code>abc9903</code></a> docs: Improve the pull request template and CONTRIBUTING.md</li> <li><a href="https://github.com/rust-lang/libc/commit/c452b48fb208de60fc2788a4a0857de88d8ebece"><code>c452b48</code></a> util: Restructure to use one class per subcommand</li> <li><a href="https://github.com/rust-lang/libc/commit/cbc70c94d25504059b8bd9ba559a20d234c61308"><code>cbc70c9</code></a> nuttx: more document comments</li> <li><a href="https://github.com/rust-lang/libc/commit/2589ea31957596d3cd217e5b36d1ffe9ced9dd83"><code>2589ea3</code></a> nuttx: add TCP_MAXSEG definitions</li> <li><a href="https://github.com/rust-lang/libc/commit/6be50c108554b169a254326f457c1839142fb007"><code>6be50c1</code></a> nuttx: add pipe2 definitions</li> <li><a href="https://github.com/rust-lang/libc/commit/450034486a93a673e4f108ed7a09ebbdac4e3597"><code>4500344</code></a> nuttx: add poll definitions</li> <li>Additional commits viewable in <a href="https://github.com/rust-lang/libc/compare/0.2.186...0.2.188">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
bdwgc-rust
GlobalAlloc implementation for bdwgc, the conservative garbage collector.
This crate is for use cases in which developers need to integrate bdwgc into their programs written in Rust (e.g. writing a runtime library in Rust for their own programming language whose GC is done by bdwgc.)
Usage
See examples directory.
By default bdwgc is built with autotools. To build with cmake, enable the cmake feature:
cargo build --no-default-features --features cmake
License
Languages
Rust
96.8%
Shell
3.2%