<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/liballoc_system, branch 1.13.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.13.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.13.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2016-09-09T21:28:19+00:00</updated>
<entry>
<title>Add s390x support</title>
<updated>2016-09-09T21:28:19+00:00</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2016-09-09T21:00:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=19b84088d76b8ded63cbaf12991213f4f437e689'/>
<id>urn:sha1:19b84088d76b8ded63cbaf12991213f4f437e689</id>
<content type='text'>
This adds support for building the Rust compiler and standard
library for s390x-linux, allowing a full cross-bootstrap sequence
to complete.  This includes:

- Makefile/configure changes to allow native s390x builds
- Full Rust compiler support for the s390x C ABI
  (only the non-vector ABI is supported at this point)
- Port of the standard library to s390x
- Update the liblibc submodule to a version including s390x support
- Testsuite fixes to allow clean "make check" on s390x

Caveats:

- Resets base cpu to "z10" to bring support in sync with the default
  behaviour of other compilers on the platforms.  (Usually, upstream
  supports all older processors; a distribution build may then chose
  to require a more recent base version.)  (Also, using zEC12 causes
  failures in the valgrind tests since valgrind doesn't fully support
  this CPU yet.)

- z13 vector ABI is not yet supported.  To ensure compatible code
  generation, the -vector feature is passed to LLVM.  Note that this
  means that even when compiling for z13, no vector instructions
  will be used.  In the future, support for the vector ABI should be
  added (this will require common code support for different ABIs
  that need different data_layout strings on the same platform).

- Two test cases are (temporarily) ignored on s390x to allow passing
  the test suite.  The underlying issues still need to be fixed:
  * debuginfo/simd.rs fails because of incorrect debug information.
    This seems to be a LLVM bug (also seen with C code).
  * run-pass/union/union-basic.rs simply seems to be incorrect for
    all big-endian platforms.

Signed-off-by: Ulrich Weigand &lt;ulrich.weigand@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>fix cross compilation of std</title>
<updated>2016-08-27T06:40:29+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>japaricious@gmail.com</email>
</author>
<published>2016-08-27T06:39:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=43615a03f31d3c60c4af13a1fe17bd4cf3edad06'/>
<id>urn:sha1:43615a03f31d3c60c4af13a1fe17bd4cf3edad06</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Use memalign, not posix_memalign, on Android</title>
<updated>2016-05-24T22:21:01+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-05-24T05:29:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=33dfd0fb16a71cc3c96ca28b57eccbd1e278a3ac'/>
<id>urn:sha1:33dfd0fb16a71cc3c96ca28b57eccbd1e278a3ac</id>
<content type='text'>
We've gotten requests to move our Android support as far back as API level 9
where unfortunately the `posix_memalign` API wasn't implemented yet. Thankfully,
however, the `memalign` API was and it appears to be usable with `free` on the
Android platform (see comments included in commit).

This should help fix some of the last few test failures when compiling against
API level 9.
</content>
</entry>
<entry>
<title>rustc: Implement custom panic runtimes</title>
<updated>2016-05-09T15:22:36+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-04-08T23:18:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0ec321f7b541fcbfbf20286beb497e6d9d3352b2'/>
<id>urn:sha1:0ec321f7b541fcbfbf20286beb497e6d9d3352b2</id>
<content type='text'>
This commit is an implementation of [RFC 1513] which allows applications to
alter the behavior of panics at compile time. A new compiler flag, `-C panic`,
is added and accepts the values `unwind` or `panic`, with the default being
`unwind`. This model affects how code is generated for the local crate, skipping
generation of landing pads with `-C panic=abort`.

[RFC 1513]: https://github.com/rust-lang/rfcs/blob/master/text/1513-less-unwinding.md

Panic implementations are then provided by crates tagged with
`#![panic_runtime]` and lazily required by crates with
`#![needs_panic_runtime]`. The panic strategy (`-C panic` value) of the panic
runtime must match the final product, and if the panic strategy is not `abort`
then the entire DAG must have the same panic strategy.

With the `-C panic=abort` strategy, users can expect a stable method to disable
generation of landing pads, improving optimization in niche scenarios,
decreasing compile time, and decreasing output binary size. With the `-C
panic=unwind` strategy users can expect the existing ability to isolate failure
in Rust code from the outside world.

Organizationally, this commit dismantles the `sys_common::unwind` module in
favor of some bits moving part of it to `libpanic_unwind` and the rest into the
`panicking` module in libstd. The custom panic runtime support is pretty similar
to the custom allocator support with the only major difference being how the
panic runtime is injected (takes the `-C panic` flag into account).
</content>
</entry>
<entry>
<title>alloc_system: Handle failure properly</title>
<updated>2016-04-15T17:02:21+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-04-15T17:02:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=99c05478542c6624d537f587ce34f84d09fd0627'/>
<id>urn:sha1:99c05478542c6624d537f587ce34f84d09fd0627</id>
<content type='text'>
The Unix implementation was incorrectly handling failure for reallocation of
over-aligned types by not checking for NULL.

Closes #32993
</content>
</entry>
<entry>
<title>bootstrap: Add a bunch of Cargo.toml files</title>
<updated>2016-02-11T19:12:32+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-01-21T23:19:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2581b141473f8333728c8dc330a31dc2373dc0e6'/>
<id>urn:sha1:2581b141473f8333728c8dc330a31dc2373dc0e6</id>
<content type='text'>
These describe the structure of all our crate dependencies.
</content>
</entry>
<entry>
<title>Add the asmjs-unknown-emscripten triple. Add cfgs to libs.</title>
<updated>2016-02-06T20:56:14+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2015-11-26T19:05:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d6c0d859f6d859aa6e418b5ec58246071efbc9de'/>
<id>urn:sha1:d6c0d859f6d859aa6e418b5ec58246071efbc9de</id>
<content type='text'>
Backtraces, and the compilation of libbacktrace for asmjs, are disabled.

This port doesn't use jemalloc so, like pnacl, it disables jemalloc *for all targets*
in the configure file.

It disables stack protection.
</content>
</entry>
<entry>
<title>Remove "powerpc64le" and "mipsel" target_arch</title>
<updated>2016-02-02T04:39:07+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-01-30T21:27:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8f803c202681fa137fca691df999ac3f335d29c1'/>
<id>urn:sha1:8f803c202681fa137fca691df999ac3f335d29c1</id>
<content type='text'>
Currently the `mipsel-unknown-linux-gnu` target doesn't actually set the
`target_arch` value to `mipsel` but it rather uses `mips`. Alternatively the
`powerpc64le` target does indeed set the `target_arch` as `powerpc64le`,
causing a bit of inconsistency between theset two.

As these are just the same instance of one instruction set, let's use
`target_endian` to switch between them and only set the `target_arch` as one
value. This should cut down on the number of `#[cfg]` annotations necessary and
all around be a little more ergonomic.
</content>
</entry>
<entry>
<title>mk: Move from `-D warnings` to `#![deny(warnings)]`</title>
<updated>2016-01-25T04:35:55+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-01-21T23:26:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2273b5202354b3091f493cfcfa5bf48165e92b1e'/>
<id>urn:sha1:2273b5202354b3091f493cfcfa5bf48165e92b1e</id>
<content type='text'>
This commit removes the `-D warnings` flag being passed through the makefiles to
all crates to instead be a crate attribute. We want these attributes always
applied for all our standard builds, and this is more amenable to Cargo-based
builds as well.

Note that all `deny(warnings)` attributes are gated with a `cfg(stage0)`
attribute currently to match the same semantics we have today
</content>
</entry>
<entry>
<title>Add powerpc64 and powerpc64le support</title>
<updated>2016-01-13T01:39:00+00:00</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2015-12-28T21:09:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b372910476c40584a22cd253c69106775d0c93fa'/>
<id>urn:sha1:b372910476c40584a22cd253c69106775d0c93fa</id>
<content type='text'>
This adds support for big endian and little endian PowerPC64.
make check runs clean apart from one big endian backtrace issue.
</content>
</entry>
</feed>
