<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/librustc_back/target/aarch64_linux_android.rs, branch 1.22.1</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.22.1</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.22.1'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2017-09-30T13:54:08+00:00</updated>
<entry>
<title>rustc: Specify c_int width for each target</title>
<updated>2017-09-30T13:54:08+00:00</updated>
<author>
<name>Daniel Klauer</name>
<email>daniel.c.klauer@web.de</email>
</author>
<published>2017-09-30T11:47:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a204c193cad7309412e98db09d6bf8f3c456b063'/>
<id>urn:sha1:a204c193cad7309412e98db09d6bf8f3c456b063</id>
<content type='text'>
(all i32 for now, as in liblibc)
</content>
</entry>
<entry>
<title>-Z linker-flavor</title>
<updated>2017-04-07T15:52:42+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>japaricious@gmail.com</email>
</author>
<published>2017-02-21T19:47:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9d11b089ad136432dff6c49c6eb3c48c7f6e5273'/>
<id>urn:sha1:9d11b089ad136432dff6c49c6eb3c48c7f6e5273</id>
<content type='text'>
This patch adds a `-Z linker-flavor` flag to rustc which can be used to invoke
the linker using a different interface.

For example, by default rustc assumes that all the Linux targets will be linked
using GCC. This makes it impossible to use LLD as a linker using just `-C
linker=ld.lld` because that will invoke LLD with invalid command line
arguments. (e.g. rustc will pass -Wl,--gc-sections to LLD but LLD doesn't
understand that; --gc-sections would be the right argument)

With this patch one can pass `-Z linker-flavor=ld` to rustc to invoke the linker
using a LD-like interface. This way, `rustc -C linker=ld.lld -Z
linker-flavor=ld` will invoke LLD with the right arguments.

`-Z linker-flavor` accepts 4 different arguments: `em` (emcc), `ld`,
`gcc`, `msvc` (link.exe). `em`, `gnu` and `msvc` cover all the existing linker
interfaces. `ld` is a new flavor for interfacing GNU's ld and LLD.

This patch also changes target specifications. `linker-flavor` is now a
mandatory field that specifies the *default* linker flavor that the target will
use. This change also makes the linker interface *explicit*; before, it used to
be derived from other fields like linker-is-gnu, is-like-msvc,
is-like-emscripten, etc.

Another change to target specifications is that the fields `pre-link-args`,
`post-link-args` and `late-link-args` now expect a map from flavor to linker
arguments.

``` diff
-    "pre-link-args": ["-Wl,--as-needed", "-Wl,-z,-noexecstack"],
+    "pre-link-args": {
+        "gcc": ["-Wl,--as-needed", "-Wl,-z,-noexecstack"],
+        "ld": ["--as-needed", "-z,-noexecstack"],
+    },
```

[breaking-change]  for users of custom targets specifications
</content>
</entry>
<entry>
<title>rustc: Link to Android ABI requirements.</title>
<updated>2016-12-16T19:27:12+00:00</updated>
<author>
<name>Ralph Giles</name>
<email>giles@mozilla.com</email>
</author>
<published>2016-12-16T19:27:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9e01f76349ec358009099dd5dc87b921960defc2'/>
<id>urn:sha1:9e01f76349ec358009099dd5dc87b921960defc2</id>
<content type='text'>
Hopefully these references will be stable and provide guidance
when requirements change in the future.
</content>
</entry>
<entry>
<title>check target abi support</title>
<updated>2016-10-24T13:59:53+00:00</updated>
<author>
<name>Tim Neumann</name>
<email>mail@timnn.me</email>
</author>
<published>2016-10-24T09:04:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9eb0fd98c6f780ac93b877c5429fe22b50bf4e1a'/>
<id>urn:sha1:9eb0fd98c6f780ac93b877c5429fe22b50bf4e1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>change max_atomic_width type from u64 to Option&lt;u64&gt;</title>
<updated>2016-10-04T04:45:40+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>japaricious@gmail.com</email>
</author>
<published>2016-10-04T04:45:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6136069609f40e2436d810d4a35433d42266fadc'/>
<id>urn:sha1:6136069609f40e2436d810d4a35433d42266fadc</id>
<content type='text'>
to better express the idea that omitting this field defaults this value
to target_pointer_width
</content>
</entry>
<entry>
<title>Auto merge of #34743 - badboy:llvm-upgrade, r=eddyb</title>
<updated>2016-08-01T11:47:48+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2016-08-01T11:47:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2c1612c62aa59e40cf1a4bddde943938e0147eec'/>
<id>urn:sha1:2c1612c62aa59e40cf1a4bddde943938e0147eec</id>
<content type='text'>
LLVM upgrade

As discussed in https://internals.rust-lang.org/t/need-help-with-emscripten-port/3154/46 I'm trying to update the used LLVM checkout in Rust.

I basically took @shepmaster's code and applied it on top (though I did the commits manually, the [original commits have better descriptions](https://github.com/rust-lang/rust/compare/master...avr-rust:avr-support).

With these changes I was able to build rustc. `make check` throws one last error on `run-pass/issue-28950.rs`. Output: https://gist.github.com/badboy/bcdd3bbde260860b6159aa49070a9052

I took the metadata changes as is and they seem to work, though it now uses the module in another step. I'm not sure if this is the best and correct way.

Things to do:

* [x] ~~Make `run-pass/issue-28950.rs` pass~~ unrelated
* [x] Find out how the `PositionIndependentExecutable` setting is now used
* [x] Is the `llvm::legacy` still the right way to do these things?

cc @brson @alexcrichton
</content>
</entry>
<entry>
<title>rustc: Fix data-layout for AArch64 targets</title>
<updated>2016-07-29T08:29:44+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-07-25T17:21:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e8f76661f13620f075626d27f94750ea94d6cf2e'/>
<id>urn:sha1:e8f76661f13620f075626d27f94750ea94d6cf2e</id>
<content type='text'>
Also relax the assertion whenever we have a custom LLVM root as LLVM may
disagree about exact specifics.
</content>
</entry>
<entry>
<title>librustc_back: convert fn target() to return Result</title>
<updated>2016-07-27T17:28:40+00:00</updated>
<author>
<name>Doug Goldstein</name>
<email>cardoe@cardoe.com</email>
</author>
<published>2016-07-24T16:47:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eafecbf86855c30d2f6d9c518165edec4cca8248'/>
<id>urn:sha1:eafecbf86855c30d2f6d9c518165edec4cca8248</id>
<content type='text'>
Change all the target generation functions to return a Result&lt;Target,
String&gt; so that targets that are unable to be instantiated can be
expressed as an Err instead of a panic!(). This should improve #33497 as
well.
</content>
</entry>
<entry>
<title>Add all possible features (NEON, FP) to aarch64 android target.</title>
<updated>2016-05-14T19:43:50+00:00</updated>
<author>
<name>Nerijus Arlauskas</name>
<email>nercury@gmail.com</email>
</author>
<published>2016-05-14T19:39:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=39b311ecd55e957f8594c6d4c7d7b321c7743406'/>
<id>urn:sha1:39b311ecd55e957f8594c6d4c7d7b321c7743406</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add #[cfg(target_has_atomic)] to get atomic support for the current target</title>
<updated>2016-05-09T12:31:47+00:00</updated>
<author>
<name>Amanieu d'Antras</name>
<email>amanieu@gmail.com</email>
</author>
<published>2016-04-15T19:16:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=04835ea5ec669636fdfbd84d17dbdda4c36bdd9c'/>
<id>urn:sha1:04835ea5ec669636fdfbd84d17dbdda4c36bdd9c</id>
<content type='text'>
</content>
</entry>
</feed>
