<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/panic_unwind, branch master</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=master</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-08-20T23:45:24+00:00</updated>
<entry>
<title>Migrate `panic_unwind` to use `cfg_select!`</title>
<updated>2025-08-20T23:45:24+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2025-08-20T23:45:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d41cd486555e2f81b2dade5307316c40ba5c3f54'/>
<id>urn:sha1:d41cd486555e2f81b2dade5307316c40ba5c3f54</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use `core` via `rustc-std-workspace-core` in `library/panic*`</title>
<updated>2025-07-31T22:47:24+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-07-30T14:03:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=daf353461be9c1ea0c9b70023016b150a08baaf2'/>
<id>urn:sha1:daf353461be9c1ea0c9b70023016b150a08baaf2</id>
<content type='text'>
The three panic-related library crates need to have access to `core`,
and `compiler-builtins` needs to be in the crate graph. Rather than
specifying both dependencies, switch these crates to use
`rustc-std-workspace-core` which already does this.

This means there is now a single place that the `compiler-builtins`
dependency needs to get configured, for everything other than `alloc`
and `std`.
</content>
</entry>
<entry>
<title>Win: Use exceptions with empty data for SEH panic exception copies</title>
<updated>2025-07-08T20:07:42+00:00</updated>
<author>
<name>George Tokmaji</name>
<email>tokmajigeorge@gmail.com</email>
</author>
<published>2025-07-08T19:19:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=96cdbb9ba77b9a840a1637e4dab05bb2cc64fef0'/>
<id>urn:sha1:96cdbb9ba77b9a840a1637e4dab05bb2cc64fef0</id>
<content type='text'>
instead of a new panic

For unwinding with SEH, we currently construct a C++ exception with the
panic data. Being a regular C++ exception, it interacts with the C++
exception handling machinery and can be retrieved via
`std::current_exception`, which needs to copy the exception. We can't
support that, so we panic, which throws another exception, which the
C++ runtime tries to copy and store into the exception_ptr, which panics
again, which causes the C++ runtime to store a `bad_exception` instance.

However, this doesn't work because the panics thrown by the copy
function will be dropped without being rethrown, and causes unnecessary
log spam in stderr. Fix this by directly throwing an exception without
data, which doesn't cause log spam and can be dropped without being
rethrown.
</content>
</entry>
<entry>
<title>Rollup merge of #141993 - tgross35:use-in-tree-builtins, r=bjorn3</title>
<updated>2025-06-09T17:17:53+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>t.gross35@gmail.com</email>
</author>
<published>2025-06-09T17:17:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ab87ed150bb3435e8d5487a6e950045f5215cecf'/>
<id>urn:sha1:ab87ed150bb3435e8d5487a6e950045f5215cecf</id>
<content type='text'>
Use the in-tree `compiler-builtins` for the sysroot

Many of `std`'s dependency have a dependency on the crates.io `compiler-builtins` when used with the feature `rustc-std-workspace-core`. Use a Cargo patch to select the in-tree version instead.

`compiler-builtins` is also added as a dependency of `rustc-std-workspace-core` so these crates can remove their crates.io dependency in the future.

Zulip discussion: [#t-compiler &gt; Using in-tree compiler-builtins](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Using.20in-tree.20compiler-builtins/with/522445336)

Once this merges, the following PRs will need to make it to a release for the relevant crates:

- https://github.com/rust-lang/getopts/pull/119 (can merge at any time)
- https://github.com/rust-lang/hashbrown/pull/625 (can merge at any time)
- https://github.com/rust-lang/stdarch/pull/1825
- https://github.com/rust-lang/rustc-demangle/pull/80
- https://github.com/rust-lang/cfg-if/pull/84
- https://github.com/unicode-rs/unicode-width/pull/77

The above should cover all tier 1 targets with no `std` features enabled. The remaining cover the rest:

- https://github.com/alexcrichton/dlmalloc-rs/pull/50 (wasm, xous, sgx)
- https://github.com/gimli-rs/gimli/pull/769
- https://github.com/r-efi/r-efi/pull/89 (efi)
- https://github.com/r-efi/r-efi-alloc/pull/9 (efi)
- https://github.com/fortanix/rust-sgx/pull/770 (sgx)
- https://github.com/hermit-os/hermit-rs/pull/718 (hermit)
- https://github.com/bytecodealliance/wasi-rs/pull/108 (wasi)
- https://github.com/gimli-rs/addr2line/pull/345
- https://github.com/oyvindln/adler2/pull/2
- https://github.com/BurntSushi/memchr/pull/180
- https://github.com/Frommi/miniz_oxide/pull/173
- https://github.com/gimli-rs/object/pull/777

try-job: x86_64-gnu
try-job: test-various
</content>
</entry>
<entry>
<title>Use the in-tree `compiler-builtins`</title>
<updated>2025-06-08T02:36:58+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-06-04T20:56:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cc3e57147e7cf5933a2bfa4b92b5a3a5eb424997'/>
<id>urn:sha1:cc3e57147e7cf5933a2bfa4b92b5a3a5eb424997</id>
<content type='text'>
Many of `std`'s dependency have a dependency on the crates.io
`compiler-builtins` when used with the feature
`rustc-std-workspace-core`. Use a Cargo patch to select the in-tree
version instead.

`compiler-builtins` is also added as a dependency of
`rustc-std-workspace-core` so these crates can remove their crates.io
dependency in the future.
</content>
</entry>
<entry>
<title>intrinsics: use const generic to set atomic ordering</title>
<updated>2025-06-07T19:45:58+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2025-05-28T16:37:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8808c9d34b04c8c9404aafaba2aeec4142963fa5'/>
<id>urn:sha1:8808c9d34b04c8c9404aafaba2aeec4142963fa5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>deduplicate abort implementations</title>
<updated>2025-05-15T09:20:13+00:00</updated>
<author>
<name>joboet</name>
<email>jonasboettiger@icloud.com</email>
</author>
<published>2025-03-29T11:16:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b7f2cd3a2b1606934018cc64bac52bb887ea892a'/>
<id>urn:sha1:b7f2cd3a2b1606934018cc64bac52bb887ea892a</id>
<content type='text'>
Currently, the code for process aborts is duplicated across `panic_abort` and `std`. This PR uses `#[rustc_std_internal_symbol]` to make the `std` implementation available to `panic_abort` via the linker, thereby deduplicating the code.
</content>
</entry>
<entry>
<title>update cfgs</title>
<updated>2025-04-09T11:29:59+00:00</updated>
<author>
<name>Boxy</name>
<email>rust@boxyuwu.dev</email>
</author>
<published>2025-04-02T20:28:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c93005ee651422f1920ef2a68e5ab9ff772b4b06'/>
<id>urn:sha1:c93005ee651422f1920ef2a68e5ab9ff772b4b06</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Mark imports of #[rustc_std_internal_symbol] items with this attribute</title>
<updated>2025-03-17T14:06:56+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2023-12-02T13:52:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=42de015549ad6e60d6f0e603daf0948259a2840d'/>
<id>urn:sha1:42de015549ad6e60d6f0e603daf0948259a2840d</id>
<content type='text'>
This ensures that they will be correctly mangled in a future commit.
</content>
</entry>
<entry>
<title>Migrate panic_unwind to Rust 2024</title>
<updated>2025-03-11T16:46:34+00:00</updated>
<author>
<name>Eric Huss</name>
<email>eric@huss.org</email>
</author>
<published>2025-02-12T02:56:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=985f66bc22885073b6375d47e1c095ab3510b79a'/>
<id>urn:sha1:985f66bc22885073b6375d47e1c095ab3510b79a</id>
<content type='text'>
</content>
</entry>
</feed>
