<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/rust.git/src, branch hex-value-process-exit</title>
<subtitle>github.com: rust-lang/rust.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rust.git/'/>
<entry>
<title>Fix incorrect hex value in doc comment example.</title>
<updated>2017-05-02T00:38:59+00:00</updated>
<author>
<name>Corey Farwell</name>
<email>coreyf@rwell.org</email>
</author>
<published>2017-05-02T00:38:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rust.git/commit/?id=7423966714aba0bedafee2d7c957363a25f2d849'/>
<id>7423966714aba0bedafee2d7c957363a25f2d849</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Auto merge of #41611 - cramertj:metadata-queries-1, r=nikomatsakis</title>
<updated>2017-05-01T19:53:19+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2017-05-01T19:53:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rust.git/commit/?id=777ee20796e80a31d4b7c985dd68eda2941460d6'/>
<id>777ee20796e80a31d4b7c985dd68eda2941460d6</id>
<content type='text'>
Queryify crate metadata

Part of https://github.com/rust-lang/rust/issues/41417.

r? @nikomatsakis
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Queryify crate metadata

Part of https://github.com/rust-lang/rust/issues/41417.

r? @nikomatsakis
</pre>
</div>
</content>
</entry>
<entry>
<title>Queryify is_item_mir_available</title>
<updated>2017-05-01T17:24:10+00:00</updated>
<author>
<name>Taylor Cramer</name>
<email>cramertaylorj@gmail.com</email>
</author>
<published>2017-04-28T08:28:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rust.git/commit/?id=daa0094eb791442c7f89645f00c5f33dbb9bf308'/>
<id>daa0094eb791442c7f89645f00c5f33dbb9bf308</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Queryify const_is_rvalue_promotable_to_static</title>
<updated>2017-05-01T17:24:10+00:00</updated>
<author>
<name>Taylor Cramer</name>
<email>cramertaylorj@gmail.com</email>
</author>
<published>2017-04-28T08:08:48+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rust.git/commit/?id=fb4380b12db03264afbd085e1f654b0a38ecc3f2'/>
<id>fb4380b12db03264afbd085e1f654b0a38ecc3f2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Queryify item_body_nested_bodies</title>
<updated>2017-05-01T17:24:04+00:00</updated>
<author>
<name>Taylor Cramer</name>
<email>cramertaylorj@gmail.com</email>
</author>
<published>2017-04-28T07:50:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rust.git/commit/?id=05b2081e2344cf396427451572f8c3b6e2331f6b'/>
<id>05b2081e2344cf396427451572f8c3b6e2331f6b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Auto merge of #41560 - alevy:rwpi-ropi, r=eddyb</title>
<updated>2017-05-01T17:23:09+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2017-05-01T17:23:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rust.git/commit/?id=4cb396c68088f38e517ac8890030d17a969e57ba'/>
<id>4cb396c68088f38e517ac8890030d17a969e57ba</id>
<content type='text'>
Add RWPI/ROPI relocation model support

This PR adds support for using LLVM 4's ROPI and RWPI relocation models for ARM.

ROPI (Read-Only Position Independence) and RWPI (Read-Write Position Independence) are two new relocation models in LLVM for the ARM backend ([LLVM changset](https://reviews.llvm.org/rL278015)). The motivation is that these are the specific strategies we use in userspace [Tock](https://www.tockos.org) apps, so supporting this is an important step (perhaps the final step, but can't confirm yet) in enabling userspace Rust processes.

## Explanation

ROPI makes all code and immutable accesses PC relative, but not assumed to be overriden at runtime (so for example, jumps are always relative).

RWPI uses a base register (`r9`) that stores the addresses of the GOT in memory so the runtime (e.g. a kernel) only adjusts r9 tell running code where the GOT is.

## Complications adding support in Rust

While this landed in LLVM master back in August, the header files in `llvm-c` have not been updated yet to reflect it. Rust replicates that header file's version of the `LLVMRelocMode` enum as the Rust enum `llvm::RelocMode` and uses an implicit cast in the ffi to translate from Rust's notion of the relocation model to the LLVM library's notion.

My workaround for this currently is to replace the `LLVMRelocMode` argument to `LLVMTargetMachineRef` with an int and using the hardcoded int representation of the `RelocMode` enum. This is A Bad Idea(tm), but I think very nearly the right thing.

Would a better alternative be to patch rust-llvm to support these enum variants (also a fairly trivial change)?
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add RWPI/ROPI relocation model support

This PR adds support for using LLVM 4's ROPI and RWPI relocation models for ARM.

ROPI (Read-Only Position Independence) and RWPI (Read-Write Position Independence) are two new relocation models in LLVM for the ARM backend ([LLVM changset](https://reviews.llvm.org/rL278015)). The motivation is that these are the specific strategies we use in userspace [Tock](https://www.tockos.org) apps, so supporting this is an important step (perhaps the final step, but can't confirm yet) in enabling userspace Rust processes.

## Explanation

ROPI makes all code and immutable accesses PC relative, but not assumed to be overriden at runtime (so for example, jumps are always relative).

RWPI uses a base register (`r9`) that stores the addresses of the GOT in memory so the runtime (e.g. a kernel) only adjusts r9 tell running code where the GOT is.

## Complications adding support in Rust

While this landed in LLVM master back in August, the header files in `llvm-c` have not been updated yet to reflect it. Rust replicates that header file's version of the `LLVMRelocMode` enum as the Rust enum `llvm::RelocMode` and uses an implicit cast in the ffi to translate from Rust's notion of the relocation model to the LLVM library's notion.

My workaround for this currently is to replace the `LLVMRelocMode` argument to `LLVMTargetMachineRef` with an int and using the hardcoded int representation of the `RelocMode` enum. This is A Bad Idea(tm), but I think very nearly the right thing.

Would a better alternative be to patch rust-llvm to support these enum variants (also a fairly trivial change)?
</pre>
</div>
</content>
</entry>
<entry>
<title>Auto merge of #41632 - Mark-Simulacrum:test-16994, r=arielb1</title>
<updated>2017-05-01T12:13:27+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2017-05-01T12:13:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rust.git/commit/?id=526d39948af4004bb60c04dc82d60b7b395966bb'/>
<id>526d39948af4004bb60c04dc82d60b7b395966bb</id>
<content type='text'>
Add test for issue #16994.

Fixes #16994.

Please check that this is the correct way to write this test.

r? @arielb1 (author of test case)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add test for issue #16994.

Fixes #16994.

Please check that this is the correct way to write this test.

r? @arielb1 (author of test case)
</pre>
</div>
</content>
</entry>
<entry>
<title>Try fixing bigendian metadata serialisation</title>
<updated>2017-05-01T01:51:17+00:00</updated>
<author>
<name>Simonas Kazlauskas</name>
<email>git@kazlauskas.me</email>
</author>
<published>2017-05-01T01:51:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rust.git/commit/?id=54de2749b03e330fe747846b23e5725ff7b0f5b8'/>
<id>54de2749b03e330fe747846b23e5725ff7b0f5b8</id>
<content type='text'>
I compiled this on PPC to check and it seems to work, but not sure whether I didn't mess up
anything in a major way.

Maybe a good shot at #41443
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I compiled this on PPC to check and it seems to work, but not sure whether I didn't mess up
anything in a major way.

Maybe a good shot at #41443
</pre>
</div>
</content>
</entry>
<entry>
<title>Add test for issue #16994.</title>
<updated>2017-04-30T14:53:47+00:00</updated>
<author>
<name>Mark Simulacrum</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2017-04-29T14:04:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rust.git/commit/?id=3b003233fd8439d36e5b8a1d72f3f3871d5d14c9'/>
<id>3b003233fd8439d36e5b8a1d72f3f3871d5d14c9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Auto merge of #41651 - arielb1:missing-adjustment-2, r=eddyb</title>
<updated>2017-04-30T13:38:12+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2017-04-30T13:38:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/rust.git/commit/?id=06fb4d25642a3f223db1441972dd5962085cfba1'/>
<id>06fb4d25642a3f223db1441972dd5962085cfba1</id>
<content type='text'>
refactor the handling of lvalue ops

I think I got the code into a "mostly sane" situation.

Fixes #41604.

beta-nominating because fixes regression in #41578. I think I can do a smaller fix, but the previous code is too fragile.

r? @eddyb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
refactor the handling of lvalue ops

I think I got the code into a "mostly sane" situation.

Fixes #41604.

beta-nominating because fixes regression in #41578. I think I can do a smaller fix, but the previous code is too fragile.

r? @eddyb
</pre>
</div>
</content>
</entry>
</feed>
