<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/rt/thread.rs, branch 0.10</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=0.10</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=0.10'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2014-03-29T00:12:21+00:00</updated>
<entry>
<title>Convert most code to new inner attribute syntax.</title>
<updated>2014-03-29T00:12:21+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2014-03-22T01:05:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=451e8c1c6178750a4c1789f40749562164a980b7'/>
<id>urn:sha1:451e8c1c6178750a4c1789f40749562164a980b7</id>
<content type='text'>
Closes #2569
</content>
</entry>
<entry>
<title>Fix fallout of removing default bounds</title>
<updated>2014-03-27T17:14:50+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-03-09T02:21:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bb9172d7b512c36f34d34b024640f030d1fde2eb'/>
<id>urn:sha1:bb9172d7b512c36f34d34b024640f030d1fde2eb</id>
<content type='text'>
This is all purely fallout of getting the previous commit to compile.
</content>
</entry>
<entry>
<title>Register new snapshots</title>
<updated>2014-03-20T18:02:26+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-03-20T06:04:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=11ac4df4d2402188f96fa75b3c9b7962e9bac805'/>
<id>urn:sha1:11ac4df4d2402188f96fa75b3c9b7962e9bac805</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rustc: Support various flavors of linkages</title>
<updated>2014-03-11T15:25:42+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-02-26T00:15:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=699b33d060c5c9cc580d50cf3fe39536ae7a059a'/>
<id>urn:sha1:699b33d060c5c9cc580d50cf3fe39536ae7a059a</id>
<content type='text'>
It is often convenient to have forms of weak linkage or other various types of
linkage. Sadly, just using these flavors of linkage are not compatible with
Rust's typesystem and how it considers some pointers to be non-null.

As a compromise, this commit adds support for weak linkage to external symbols,
but it requires that this is only placed on extern statics of type `*T`.
Codegen-wise, we get translations like:

    // rust code
    extern {
        #[linkage = "extern_weak"]
        static foo: *i32;
    }

    // generated IR
    @foo = extern_weak global i32
    @_some_internal_symbol = internal global *i32 @foo

All references to the rust value of `foo` then reference `_some_internal_symbol`
instead of the symbol `_foo` itself. This allows us to guarantee that the
address of `foo` will never be null while the value may sometimes be null.

An example was implemented in `std::rt::thread` to determine if
`__pthread_get_minstack()` is available at runtime, and a test is checked in to
use it for a static value as well. Function pointers a little odd because you
still need to transmute the pointer value to a function pointer, but it's
thankfully better than not having this capability at all.
</content>
</entry>
<entry>
<title>std: Move unstable::stack to rt::stack</title>
<updated>2014-02-23T09:47:08+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2014-02-17T05:37:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=db111846b58253c723750be280a478ed7d27d879'/>
<id>urn:sha1:db111846b58253c723750be280a478ed7d27d879</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Add init and uninit to mem. Replace direct intrinsic usage</title>
<updated>2014-02-09T08:17:40+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2014-02-08T10:46:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d433b80e026960b28ba660ebdb09175237e02e05'/>
<id>urn:sha1:d433b80e026960b28ba660ebdb09175237e02e05</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use __pthread_get_minstack() when available.</title>
<updated>2014-01-31T12:47:25+00:00</updated>
<author>
<name>Ben Noordhuis</name>
<email>info@bnoordhuis.nl</email>
</author>
<published>2014-01-29T17:19:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=431edacbef23e691d1b192da78b4112c35addfbf'/>
<id>urn:sha1:431edacbef23e691d1b192da78b4112c35addfbf</id>
<content type='text'>
glibc &gt;= 2.15 has a __pthread_get_minstack() function that returns
PTHREAD_STACK_MIN plus however many bytes are needed for thread-local
storage.  Use it when it's available because just PTHREAD_STACK_MIN is
not enough in applications that have big thread-local storage
requirements.

Fixes #6233.
</content>
</entry>
<entry>
<title>Retry on EINVAL from pthread_attr_setstacksize()</title>
<updated>2014-01-31T12:47:25+00:00</updated>
<author>
<name>Ben Noordhuis</name>
<email>info@bnoordhuis.nl</email>
</author>
<published>2014-01-28T12:21:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b02b5cdcf42b4fe6b1e3ebe56ad0cd43fd907489'/>
<id>urn:sha1:b02b5cdcf42b4fe6b1e3ebe56ad0cd43fd907489</id>
<content type='text'>
Enforce that the stack size is &gt; RED_ZONE + PTHREAD_STACK_MIN.  If the
call to pthread_attr_setstacksize() subsequently fails with EINVAL, it
means that the platform requires the stack size to be a multiple of the
page size.  In that case, round up to the nearest page and retry.

Fixes #11694.
</content>
</entry>
<entry>
<title>Removing do keyword from libstd and librustc</title>
<updated>2014-01-29T14:15:41+00:00</updated>
<author>
<name>Scott Lawrence</name>
<email>bytbox@gmail.com</email>
</author>
<published>2014-01-27T03:42:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=25e7e7f8076d879f824f013faa6f7470e69c818b'/>
<id>urn:sha1:25e7e7f8076d879f824f013faa6f7470e69c818b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Uppercase numeric constants</title>
<updated>2014-01-25T08:38:25+00:00</updated>
<author>
<name>Chris Wong</name>
<email>lambda.fairy@gmail.com</email>
</author>
<published>2014-01-25T07:37:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=988e4f0a1c2802921375271bdc19f03650c024d2'/>
<id>urn:sha1:988e4f0a1c2802921375271bdc19f03650c024d2</id>
<content type='text'>
The following are renamed:

* `min_value` =&gt; `MIN`
* `max_value` =&gt; `MAX`
* `bits` =&gt; `BITS`
* `bytes` =&gt; `BYTES`

Fixes #10010.
</content>
</entry>
</feed>
