<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_ssa/src, branch lcnr/rustc-dev-guide</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=lcnr/rustc-dev-guide</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=lcnr/rustc-dev-guide'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-08-12T16:20:24+00:00</updated>
<entry>
<title>Auto merge of #144678 - jdonszelmann:no-mangle-extern, r=bjorn3</title>
<updated>2025-08-12T16:20:24+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-08-12T16:20:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8e62bfd311791bfd9dca886abdfbab07ec54d8b4'/>
<id>urn:sha1:8e62bfd311791bfd9dca886abdfbab07ec54d8b4</id>
<content type='text'>
Make no_mangle on foreign items explicit instead of implicit

for a followup PR I'm working on I need some foreign items to mangle. I could add a new attribute: `no_no_mangle` or something silly like that but by explicitly putting `no_mangle` in the codegen fn attrs of foreign items we can default it to `no_mangle` and then easily remove it when we don't want it.

I guess you'd know about this r? `@bjorn3.` Shouldn't be too hard to review :)

Builds on rust-lang/rust#144655 which should merge first.
</content>
</entry>
<entry>
<title>make no_mangle explicit on foreign items</title>
<updated>2025-08-12T10:07:14+00:00</updated>
<author>
<name>Jana Dönszelmann</name>
<email>jana@donsz.nl</email>
</author>
<published>2025-07-29T18:51:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7aa8707639ede0605d7182bc13047b6e4549e5b1'/>
<id>urn:sha1:7aa8707639ede0605d7182bc13047b6e4549e5b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Always attempt to invoke xcrun to get the Apple SDK</title>
<updated>2025-08-11T21:31:07+00:00</updated>
<author>
<name>Mads Marquart</name>
<email>mads@marquart.dk</email>
</author>
<published>2025-08-11T18:46:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1d1316240f0fa60b042bcead8ab29609c0090489'/>
<id>urn:sha1:1d1316240f0fa60b042bcead8ab29609c0090489</id>
<content type='text'>
The exact reasoning why we do not always pass the SDK root when linking
on macOS eludes me, but I suspect it's because we want to support
compiler drivers which do not support the `-isysroot` option.

Since we now pass the SDK root via the environment variable SDKROOT,
compiler drivers that don't support it can just ignore it.

Similarly, since we only warn when xcrun fails, users that expect their
compiler driver to provide the SDK location can do so now.
</content>
</entry>
<entry>
<title>Only warn when invoking xcrun</title>
<updated>2025-08-11T20:29:01+00:00</updated>
<author>
<name>Mads Marquart</name>
<email>mads@marquart.dk</email>
</author>
<published>2025-08-11T19:42:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f4a911031daf366aa621871a065390688efbaf5d'/>
<id>urn:sha1:f4a911031daf366aa621871a065390688efbaf5d</id>
<content type='text'>
To allow using zig-cc or similar as the compiler driver.
</content>
</entry>
<entry>
<title>Pass Apple SDK root to compiler driver via SDKROOT env var</title>
<updated>2025-08-11T20:29:00+00:00</updated>
<author>
<name>Mads Marquart</name>
<email>mads@marquart.dk</email>
</author>
<published>2025-08-11T20:29:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1cc44bfd22f4db5bcf3921f4a8b64df4e9cf4124'/>
<id>urn:sha1:1cc44bfd22f4db5bcf3921f4a8b64df4e9cf4124</id>
<content type='text'>
This is more in-line with what Apple's tooling expects, and allows us to
better support custom compiler drivers (such as certain Homebrew and
Nixpkgs compilers) that prefer their own `-isysroot` flag.

Effectively, we now invoke the compiler driver as-if it was invoked as
`xcrun -sdk $sdk_name $tool`.
</content>
</entry>
<entry>
<title>Simplify `add_apple_sdk`</title>
<updated>2025-08-11T19:33:34+00:00</updated>
<author>
<name>Mads Marquart</name>
<email>mads@marquart.dk</email>
</author>
<published>2025-08-11T19:28:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1dc37df51476b568b1fa94db14a7669656989862'/>
<id>urn:sha1:1dc37df51476b568b1fa94db14a7669656989862</id>
<content type='text'>
Reduce indentation and avoid needless checks (checking the target OS and
vendor is unnecessary).
</content>
</entry>
<entry>
<title>Rollup merge of #141828 - Fulgen301:status-stack-buffer-overrun-diagnostic, r=wesleywiser</title>
<updated>2025-08-09T03:58:43+00:00</updated>
<author>
<name>Stuart Cook</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-08-09T03:58:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2053728d8128998a75c754ed87768f4cdef42938'/>
<id>urn:sha1:2053728d8128998a75c754ed87768f4cdef42938</id>
<content type='text'>
Add diagnostic explaining STATUS_STACK_BUFFER_OVERRUN not only being used for stack buffer overruns if link.exe exits with that exit code

`STATUS_STACK_BUFFER_OVERRUN` is also used for fast abnormal program termination, e.g. by abort(). Emit a special diagnostic to let people know that this most likely doesn't indicate a stack buffer overrun.

This doesn't look up the crash report in the event log to determine what the fast fail error code is. This is due to the way crashes are logged: When a process crash happens, the system logs an "Application Error" event, which contains the exit code and the process ID, but not the fast fail error code. A second event by Windows Error Reporting does contain that fast fail code, but not the process ID - but that event is not emitted at process exit, but when WER has dealt with it (on my system, it happens roughly two seconds later), so querying the code would have to read the `IntegratorReportId`, wait two seconds or potentially longer for the WER event with the same `ReportID`, and read out the code. (Also, that second event doesn't happen if WER is disabled.)

Fixes rust-lang/rust#100519.
</content>
</entry>
<entry>
<title>Rollup merge of #144192 - RalfJung:atomicrmw-ptr, r=nikic</title>
<updated>2025-08-08T19:22:44+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>t.gross35@gmail.com</email>
</author>
<published>2025-08-08T19:22:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6fa6a854cd791e9efa813e9b18cd1a5337ded971'/>
<id>urn:sha1:6fa6a854cd791e9efa813e9b18cd1a5337ded971</id>
<content type='text'>
atomicrmw on pointers: move integer-pointer cast hacks into backend

Conceptually, we want to have atomic operations on pointers of the form `fn atomic_add(ptr: *mut T, offset: usize, ...)`. However, LLVM does not directly support such operations (https://github.com/llvm/llvm-project/issues/120837), so we have to cast the `offset` to a pointer somewhere.

This PR moves that hack into the LLVM backend, so that the standard library, intrinsic, and Miri all work with the conceptual operation we actually want. Hopefully, one day LLVM will gain a way to represent these operations without integer-pointer casts, and then the hack will disappear entirely.

Cc ```@nikic``` -- this is the best we can do right now, right?
Fixes https://github.com/rust-lang/rust/issues/134617
</content>
</entry>
<entry>
<title>Add target_env = "macabi" and target_env = "sim"</title>
<updated>2025-08-08T11:29:46+00:00</updated>
<author>
<name>Mads Marquart</name>
<email>mads@marquart.dk</email>
</author>
<published>2025-03-01T02:10:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d434cae18f92d8a5ef8996fb579e2c11efbaa2cb'/>
<id>urn:sha1:d434cae18f92d8a5ef8996fb579e2c11efbaa2cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #145055 - bjorn3:move_metadata_symbol_export, r=saethlin</title>
<updated>2025-08-08T02:52:58+00:00</updated>
<author>
<name>Stuart Cook</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-08-08T02:52:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=18f5e9b4c973a8e37185f6f4e12a0f3b2f9564c1'/>
<id>urn:sha1:18f5e9b4c973a8e37185f6f4e12a0f3b2f9564c1</id>
<content type='text'>
Move metadata symbol export from exported_non_generic_symbols to exported_symbols

The metadata symbol must not be encoded in the crate metadata, and must be exported from proc-macros. Handling the export of the metadata symbol in exported_symbols handles both things at once without requiring manual fixups elsewhere.
</content>
</entry>
</feed>
