<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/librustc_back/target/le32_unknown_nacl.rs, branch master</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=master</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2017-10-05T03:01:19+00:00</updated>
<entry>
<title>Remove nacl from librustc_back</title>
<updated>2017-10-05T03:01:19+00:00</updated>
<author>
<name>est31</name>
<email>MTest31@outlook.com</email>
</author>
<published>2017-10-05T03:01:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b8fad2d21961307ec908ced9d3e2a64595eb5deb'/>
<id>urn:sha1:b8fad2d21961307ec908ced9d3e2a64595eb5deb</id>
<content type='text'>
</content>
</entry>
<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>use field init shorthand EVERYWHERE</title>
<updated>2017-08-15T22:29:17+00:00</updated>
<author>
<name>Zack M. Davis</name>
<email>code@zackmdavis.net</email>
</author>
<published>2017-08-07T05:54:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1b6c9605e41b7c7dc23e0e6f633f05912d0463dd'/>
<id>urn:sha1:1b6c9605e41b7c7dc23e0e6f633f05912d0463dd</id>
<content type='text'>
Like #43008 (f668999), but _much more aggressive_.
</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>Changed most vec! invocations to use square braces</title>
<updated>2016-10-31T22:51:40+00:00</updated>
<author>
<name>iirelu</name>
<email>anna@bawk.space</email>
</author>
<published>2016-10-29T21:54:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e593c3b89343a98bdcc76ce9f5869ff18882dfff'/>
<id>urn:sha1:e593c3b89343a98bdcc76ce9f5869ff18882dfff</id>
<content type='text'>
Most of the Rust community agrees that the vec! macro is clearer when
called using square brackets [] instead of regular brackets (). Most of
these ocurrences are from before macros allowed using different types of
brackets.

There is one left unchanged in a pretty-print test, as the pretty
printer still wants it to have regular brackets.
</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>crate-ify compiler-rt into compiler-builtins</title>
<updated>2016-09-13T04:22:15+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>japaricious@gmail.com</email>
</author>
<published>2016-07-25T02:42:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3fd5fdd8d3e64e957a7eafe3d6d0b10ef4170d59'/>
<id>urn:sha1:3fd5fdd8d3e64e957a7eafe3d6d0b10ef4170d59</id>
<content type='text'>
libcompiler-rt.a is dead, long live libcompiler-builtins.rlib

This commit moves the logic that used to build libcompiler-rt.a into a
compiler-builtins crate on top of the core crate and below the std crate.
This new crate still compiles the compiler-rt instrinsics using gcc-rs
but produces an .rlib instead of a static library.

Also, with this commit rustc no longer passes -lcompiler-rt to the
linker. This effectively makes the "no-compiler-rt" field of target
specifications a no-op. Users of `no_std` will have to explicitly add
the compiler-builtins crate to their crate dependency graph *if* they
need the compiler-rt intrinsics. Users of the `std` have to do nothing
extra as the std crate depends on compiler-builtins.

Finally, this a step towards lazy compilation of std with Cargo as the
compiler-rt intrinsics can now be built by Cargo instead of having to
be supplied by the user by some other method.

closes #34400
</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 #[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>
<entry>
<title>Make data-layout mandatory in target specs.</title>
<updated>2016-04-19T13:08:45+00:00</updated>
<author>
<name>Eduard Burtescu</name>
<email>edy.burt@gmail.com</email>
</author>
<published>2016-04-18T12:38:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0776399eac62f8cf5cb02761014e8ed6c51204aa'/>
<id>urn:sha1:0776399eac62f8cf5cb02761014e8ed6c51204aa</id>
<content type='text'>
</content>
</entry>
</feed>
