<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_target/src/spec/base/wasm.rs, branch try-perf</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try-perf</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try-perf'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-09-19T20:16:38+00:00</updated>
<entry>
<title>Enable `limit_rdylib_exports` on wasm targets</title>
<updated>2025-09-19T20:16:38+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2025-09-19T20:16:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f354d93abe1c404544c18585861518cf03188b0e'/>
<id>urn:sha1:f354d93abe1c404544c18585861518cf03188b0e</id>
<content type='text'>
This commit updates the target specification of wasm targets to set the
`limit_rdylib_exports` value to `true` like it is on other native
platforms. This was originally not implemented long ago as `wasm-ld`
didn't have options for symbol exports, but since then it's grown a
`--export` flag and such to control this. A custom case is needed in the
linker implementation to handle wasm targets as `wasm-ld` doesn't
support linker scripts used on other targets, but other than that the
implementation is straightforward.

The goal of this commit is enable building dynamic libraries on
`wasm32-wasip2` which don't export every single symbol in the Rust
standard library. Currently, without otherwise control over symbol
visibility, all symbols end up being exported which generates
excessively large binaries because `--gc-sections` ends up doing nothing
as it's all exported anyway.
</content>
</entry>
<entry>
<title>Adds binary_format to rustc target specs</title>
<updated>2025-02-17T15:02:12+00:00</updated>
<author>
<name>Pyrode</name>
<email>pyrode.01@gmail.com</email>
</author>
<published>2025-02-14T11:28:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=17f2928caa78b665989fc48f204bcd9b4327a746'/>
<id>urn:sha1:17f2928caa78b665989fc48f204bcd9b4327a746</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reformat using the new identifier sorting from rustfmt</title>
<updated>2024-09-22T23:11:29+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-09-22T23:05:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c682aa162b0d41e21cc6748f4fecfe01efb69d1f'/>
<id>urn:sha1:c682aa162b0d41e21cc6748f4fecfe01efb69d1f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `warn(unreachable_pub)` to `rustc_target`.</title>
<updated>2024-09-02T22:49:54+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-08-30T04:22:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0fb3a509cf437610b4329003de5bc1552aa7e540'/>
<id>urn:sha1:0fb3a509cf437610b4329003de5bc1552aa7e540</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove `default_hidden_visibility: false` from wasm targets</title>
<updated>2024-04-16T19:41:44+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2024-04-16T19:41:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f25668cff5930bc815f84b33861cf57fa5dd4200'/>
<id>urn:sha1:f25668cff5930bc815f84b33861cf57fa5dd4200</id>
<content type='text'>
To the best of my ability I believe that this is no longer necessary. I
don't fully recall why this was first added but I believe it had to do
with symbols all being exported by default and this was required to undo
that. Regardless nowadays the default output of rustc seems suitable so
it seems best to keep wasm in line with other targets.
</content>
</entry>
<entry>
<title>Remove --fatal-warnings on wasm targets</title>
<updated>2024-01-23T19:10:17+00:00</updated>
<author>
<name>David Koloski</name>
<email>djkoloski@gmail.com</email>
</author>
<published>2024-01-23T19:10:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=849d884141530c1e5b04a7cd66a0332fe9dd1d7a'/>
<id>urn:sha1:849d884141530c1e5b04a7cd66a0332fe9dd1d7a</id>
<content type='text'>
These were added with good intentions, but a recent change in LLVM 18
emits a warning while examining .rmeta sections in .rlib files. Since
this flag is a nice-to-have and users can update their LLVM linker
independently of rustc's LLVM version, we can just omit the flag.
</content>
</entry>
<entry>
<title>target: move base specs to spec/base</title>
<updated>2023-11-08T06:15:26+00:00</updated>
<author>
<name>David Wood</name>
<email>david.wood@huawei.com</email>
</author>
<published>2023-11-08T06:15:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=76aa83e3e13bf23168389699ca69c59d7a79a336'/>
<id>urn:sha1:76aa83e3e13bf23168389699ca69c59d7a79a336</id>
<content type='text'>
Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
</feed>
