<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/alloc.rs, branch 1.32.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.32.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.32.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2018-11-15T10:04:42+00:00</updated>
<entry>
<title>Rollup merge of #55901 - euclio:speling, r=petrochenkov</title>
<updated>2018-11-15T10:04:42+00:00</updated>
<author>
<name>Pietro Albini</name>
<email>pietro@pietroalbini.org</email>
</author>
<published>2018-11-15T10:04:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=66fcb3ceb2700ce0d05862305c56097a41f0e69f'/>
<id>urn:sha1:66fcb3ceb2700ce0d05862305c56097a41f0e69f</id>
<content type='text'>
fix various typos in doc comments
</content>
</entry>
<entry>
<title>fix various typos in doc comments</title>
<updated>2018-11-13T19:45:31+00:00</updated>
<author>
<name>Andy Russell</name>
<email>arussell123@gmail.com</email>
</author>
<published>2018-11-12T18:05:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4e35cbb22eceac145a6f794cde869b3684e0b1d5'/>
<id>urn:sha1:4e35cbb22eceac145a6f794cde869b3684e0b1d5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>global allocators: add a few comments</title>
<updated>2018-11-12T08:01:57+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2018-11-12T08:00:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=075983c70ba20f31fc1279dacae6d6fcb8bc9cad'/>
<id>urn:sha1:075983c70ba20f31fc1279dacae6d6fcb8bc9cad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Delete the `alloc_system` crate</title>
<updated>2018-11-11T17:22:28+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2018-11-03T18:15:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cc7590341a6ac213909d0ef56a7ebc2834274c8b'/>
<id>urn:sha1:cc7590341a6ac213909d0ef56a7ebc2834274c8b</id>
<content type='text'>
This commit deletes the `alloc_system` crate from the standard
distribution. This unstable crate is no longer needed in the modern
stable global allocator world, but rather its functionality is folded
directly into the standard library. The standard library was already the
only stable location to access this crate, and as a result this should
not affect any stable code.
</content>
</entry>
<entry>
<title>Remove all jemalloc-related content</title>
<updated>2018-11-02T13:52:56+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2018-10-21T02:04:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=61e89446ef6e115630faa75c985c599d739f7586'/>
<id>urn:sha1:61e89446ef6e115630faa75c985c599d739f7586</id>
<content type='text'>
This commit removes all jemalloc related submodules, configuration, etc,
from the bootstrap, from the standard library, and from the compiler.
This will be followed up with a change to use jemalloc specifically as
part of rustc on blessed platforms.
</content>
</entry>
<entry>
<title>Bump to 1.31.0 and bootstrap from 1.30 beta</title>
<updated>2018-09-28T03:52:53+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2018-09-26T21:26:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ce034951fb907c8aa6abd5e6e04769e5e628953c'/>
<id>urn:sha1:ce034951fb907c8aa6abd5e6e04769e5e628953c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rustc: Continue to tweak "std internal symbols"</title>
<updated>2018-08-26T23:34:14+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2018-08-23T07:33:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0a2282e1286823c06ee9c4fa5e49544fc4f47771'/>
<id>urn:sha1:0a2282e1286823c06ee9c4fa5e49544fc4f47771</id>
<content type='text'>
In investigating [an issue][1] with `panic_implementation` defined in an
executable that's optimized I once again got to rethinking a bit about the
`rustc_std_internal_symbol` attribute as well as weak lang items. We've sort of
been non-stop tweaking these items ever since their inception, and this
continues to the trend.

The crux of the bug was that in the reachability we have a [different branch][2]
for non-library builds which meant that weak lang items (and std internal
symbols) weren't considered reachable, causing them to get eliminiated by
ThinLTO passes. The fix was to basically tweak that branch to consider these
symbols to ensure that they're propagated all the way to the linker.

Along the way I've attempted to erode the distinction between std internal
symbols and weak lang items by having weak lang items automatically configure
fields of `CodegenFnAttrs`. That way most code no longer even considers weak
lang items and they're simply considered normal functions with attributes about
the ABI.

In the end this fixes the final comment of #51342

[1]: https://github.com/rust-lang/rust/issues/51342#issuecomment-414368019
[2]: https://github.com/rust-lang/rust/blob/35bf1ae25799a4e62131159f052e0a3cbd27c960/src/librustc/middle/reachable.rs#L225-L238
</content>
</entry>
<entry>
<title>Switch to bootstrapping from 1.29 beta</title>
<updated>2018-08-01T17:59:08+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2018-08-01T13:37:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=683a3db01fcd00998a36e494ee39209b3105cfb9'/>
<id>urn:sha1:683a3db01fcd00998a36e494ee39209b3105cfb9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement #[alloc_error_handler]</title>
<updated>2018-07-09T21:13:24+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2018-07-06T13:49:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=239ec7d2dce9c19de16c9ee64addbb834119397c'/>
<id>urn:sha1:239ec7d2dce9c19de16c9ee64addbb834119397c</id>
<content type='text'>
This to-be-stable attribute is equivalent to `#[lang = "oom"]`.
It is required when using the alloc crate without the std crate.
It is called by `handle_alloc_error`, which is in turned called
by "infallible" allocations APIs such as `Vec::push`.
</content>
</entry>
<entry>
<title>Remove `extern` on the `pub fn rust_oom` lang item in libstd, to match ABI of the declaration in liballoc</title>
<updated>2018-07-09T21:13:24+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2018-07-08T14:07:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=620599e8860b92db1ebbcef3f50671b937aec9cd'/>
<id>urn:sha1:620599e8860b92db1ebbcef3f50671b937aec9cd</id>
<content type='text'>
This turned out to be important on Windows.
Calling `handle_alloc_error(Layout::new::&lt;[u8; 42]&gt;())` caused:

```
Exception thrown at 0x00007FF7C70DC399 in a.exe: 0xC0000005:
Access violation reading location 0x000000000000002A.
```

0x2A equals 42, so it looks like the `Layout::size` field of type `usize`
was interpreted as a pointer to read from.
</content>
</entry>
</feed>
