about summary refs log tree commit diff
path: root/src/doc/rustc
AgeCommit message (Collapse)AuthorLines
2023-06-26Rollup merge of #112840 - loongarch-rs:update-docs, r=GuillaumeGomezMatthias Krüger-1/+1
doc: loongarch: Update maintainers My colleague, `@zhaixiaojuan,` has been completely occupied with other matters and is no longer in charge of Rust. Consequently, I intend to update the maintainers in the platform documentation to avoid causing any disruptions for her and to ensure that relevant notifications regarding LoongArch are promptly directed to the appropriate developers. Thanks your for contributions!
2023-06-26Rollup merge of #112559 - SergioGasquez:master, r=JohnTitorMatthias Krüger-4/+6
Add esp-idf missing targets Adds some esp-idf missing targets to the table
2023-06-26Rollup merge of #111326 - he32:netbsd-aarch64-be, r=oli-obkMatthias Krüger-6/+115
Add support for NetBSD/aarch64-be (big-endian arm64).
2023-06-26Add target documentation for MIPS Release 6 targetsCyan-4/+186
- This documentation describes the Rust support for Linux MIPS Release 6 targets. - Also update the status of mipsisa64r6el-unknown-linux-gnuabi64i in SUMMARY, as we have successfully built the native toolchain. - Also fill out the description of MIPS R6 targets in SUMMARY.
2023-06-25platform-support.md: remove references to not-yet upstreamed targets.Havard Eidnes-2/+0
2023-06-25SUMMARY.md: add entry for NetBSD.Havard Eidnes-0/+1
2023-06-22Remove extra trailing newlineWesley Wiser-1/+0
2023-06-21Note that posix_spawnp probably still does not work the way people may wantThom Chiovoloni-3/+5
2023-06-21Note the incomplete Command support in the apple-tvos.md documentThom Chiovoloni-3/+16
2023-06-21Apply suggestions from code reviewThom Chiovoloni-7/+7
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2023-06-21Fix missing link in SUMMARY.mdThom Chiovoloni-0/+1
2023-06-21Add a tvOS entry to the platform-support documentationThom Chiovoloni-2/+72
2023-06-20doc: loongarch: Update maintainersWANG Rui-1/+1
2023-06-16Fix edit failTyler Mandry-1/+0
2023-06-16Fix --rust-build flag in docsTyler Mandry-1/+2
2023-06-16Replace fvdl with ffx, allow test without installDavid Koloski-11/+8
Along with replacing fvdl uses with the equivalent ffx commands, this also switches from using the install path for libstd-*.so and libtest-*.so to using the build directory (now passed on the command line). The user no longer needs to run x.py install before running tests now, and the correct libstd and libtest are detected on run instead of startup so the test runner can handle recompilations after starting the testing environment.
2023-06-14Introduce a minimum CGU size in non-incremental builds.Nicholas Nethercote-2/+2
Because tiny CGUs make compilation less efficient *and* result in worse generated code. We don't do this when the number of CGUs is explicitly given, because there are times when the requested number is very important, as described in some comments within the commit. So the commit also introduces a `CodegenUnits` type that distinguishes between default values and user-specified values. This change has a roughly neutral effect on walltimes across the rustc-perf benchmarks; there are some speedups and some slowdowns. But it has significant wins for most other metrics on numerous benchmarks, including instruction counts, cycles, binary size, and max-rss. It also reduces parallelism, which is good for reducing jobserver competition when multiple rustc processes are running at the same time. It's smaller benchmarks that benefit the most; larger benchmarks already have CGUs that are all larger than the minimum size. Here are some example before/after CGU sizes for opt builds. - html5ever - CGUs: 16, mean size: 1196.1, sizes: [3908, 2992, 1706, 1652, 1572, 1136, 1045, 948, 946, 938, 579, 471, 443, 327, 286, 189] - CGUs: 4, mean size: 4396.0, sizes: [6706, 3908, 3490, 3480] - libc - CGUs: 12, mean size: 35.3, sizes: [163, 93, 58, 53, 37, 8, 2 (x6)] - CGUs: 1, mean size: 424.0, sizes: [424] - tt-muncher - CGUs: 5, mean size: 1819.4, sizes: [8508, 350, 198, 34, 7] - CGUs: 1, mean size: 9075.0, sizes: [9075] Note that CGUs of size 100,000+ aren't unusual in larger programs.
2023-06-12docs: 📝 Add missing targetsSergio Gasquez-4/+6
2023-06-09Auto merge of #111626 - pjhades:output, r=b-naberbors-0/+6
Write to stdout if `-` is given as output file With this PR, if `-o -` or `--emit KIND=-` is provided, output will be written to stdout instead. Binary output (those of type `obj`, `llvm-bc`, `link` and `metadata`) being written this way will result in an error unless stdout is not a tty. Multiple output types going to stdout will trigger an error too, as they will all be mixded together. This implements https://github.com/rust-lang/compiler-team/issues/431 The idea behind the changes is to introduce an `OutFileName` enum that represents the output - be it a real path or stdout - and to use this enum along the code paths that handle different output types.
2023-06-07Auto merge of #111698 - Amanieu:force-static-lib, r=petrochenkovbors-2/+2
Force all native libraries to be statically linked when linking a static binary Previously, `#[link]` without an explicit `kind = "static"` would confuse the linker and end up producing a dynamically linked library because of the `-Bdynamic` flag. However this binary would not work correctly anyways since it was linked with startup code for a static binary. This PR solves this by forcing all native libraries to be statically linked when the output is a static binary that cannot link to dynamic libraries anyways. Fixes #108878 Fixes #102993
2023-06-07Force all native libraries to be statically linked when linking a static binaryAmanieu d'Antras-2/+2
2023-06-07Auto merge of #111819 - nikarh:vita-improved, r=Amanieubors-60/+15
Improved std support for ps vita target Fixed a couple of things in std support for ps vita via Vita SDK newlib oss implementation: - Added missing hardware features to target spec - Compile in thumb by default (newlib is also compiled in thumb) - Fixed fs calls. Vita newlib has a not-very-posix dirent. Also vita does not expose inodes, it's stubbed as 0 in stat, and I'm stubbing it here for dirent (because vita newlibs's dirent doesn't even have that field) - Enabled signal handlers for panic unwinding - Dropped static link requirement from the platform support md. Also, rearranged sections to better stick with the template.
2023-06-06Write to stdout if `-` is given as output fileJing Peng-0/+6
If `-o -` or `--emit KIND=-` is provided, output will be written to stdout instead. Binary output (`obj`, `llvm-bc`, `link` and `metadata`) being written this way will result in an error unless stdout is not a tty. Multiple output types going to stdout will trigger an error too, as they will all be mixded together.
2023-06-06Auto merge of #112361 - matthiaskrgr:rollup-39zxrw1, r=matthiaskrgrbors-0/+82
Rollup of 8 pull requests Successful merges: - #111250 (Add Terminator conversion from MIR to SMIR, part #2) - #112310 (Add new Tier-3 targets: `loongarch64-unknown-none*`) - #112334 (Add myself to highfive rotation) - #112340 (remove `TyCtxt::has_error_field` helper method) - #112343 (Prevent emitting `missing_docs` for `pub extern crate`) - #112350 (Avoid duplicate type sanitization of local decls in borrowck) - #112356 (Fix comment for `get_region_var_origins`) - #112358 (Remove default visitor impl in region constraint generation) r? `@ghost` `@rustbot` modify labels: rollup
2023-06-06Add new Tier-3 targets: `loongarch64-unknown-none*`WANG Rui-0/+82
MCP: https://github.com/rust-lang/compiler-team/issues/628
2023-06-05Add description of forwards-compatible behavior.Eric Huss-0/+8
2023-06-05Add missing word "the".Eric Huss-1/+1
2023-06-05Add an example of placeholders.Eric Huss-2/+34
2023-06-05Rewrite recommended demangling for lifetimes using "De Bruijn level".Eric Huss-5/+5
2023-06-05Clarify grammar for decimal-number cannot have leading zeroes.Eric Huss-4/+11
2023-06-05Clarify missing tick.Eric Huss-1/+1
2023-06-05Update from review from michaelwoerister.Eric Huss-9/+12
2023-06-05Remove 64-bit limit for base-62-numbers.Eric Huss-1/+1
Demanglers should be prepared for any arbitrary length number.
2023-06-05Rearrange symbol-mangling chapter out of codegen-options.Eric Huss-81/+81
2023-06-05Add documentation on v0 symbol mangling.Eric Huss-2/+1233
2023-06-05Std support improvement for ps vita targetNikolay Arhipov-60/+15
2023-06-04Added custom risc32-imac for esp-espidf targetVictor Gil-4/+6
2023-06-02Remove "one thread in tests" limitation in nto-qnx.mdFlorian Bartels-7/+1
2023-05-26platform-support.md: document the various NetBSD targets.Havard Eidnes-6/+117
This is slightly patterned after what OpenBSD has done. This is a step along the path to reduce the number and amount of diffs that pkgsrc carries around for rust, and this documents also some parts which have not yet been upstreamed (mipsel-*).
2023-05-26Add SafeStack support to rustcWesley Wiser-7/+20
Adds support for LLVM [SafeStack] which provides backward edge control flow protection by separating the stack into two parts: data which is only accessed in provable safe ways is allocated on the normal stack (the "safe stack") and all other data is placed in a separate allocation (the "unsafe stack"). SafeStack support is enabled by passing `-Zsanitizer=safestack`. [SafeStack]: https://clang.llvm.org/docs/SafeStack.html
2023-05-26Convert html table to markdownWesley Wiser-82/+12
2023-05-24Auto merge of #110936 - loongarch-rs:promote-tier2, r=Mark-Simulacrumbors-2/+2
Promote loongarch64-unknown-linux-gnu to Tier 2 with host tools This PR promotes `loongarch64-unknown-linux-gnu` to Tier 2 (with host tools). MCP: https://github.com/rust-lang/compiler-team/issues/518
2023-05-23Promote loongarch64-unknown-linux-gnu to Tier 2 with host toolsWANG Rui-2/+2
MCP: https://github.com/rust-lang/compiler-team/issues/518
2023-05-21doc: Update exploit-mitigations.md, update image3.pngMarcin S-3/+3
2023-05-18Document stack-protector optionMarcin S-5/+6
Only updated `exploit-mitigations.md` to reflect that the option exists. Removed the alternatives mentioned as they are not actually implemented yet. As this is an unstable feature, should it be added to `unstable-book` also? I didn't do that because I couldn't find the tracking issue for it. (There should be one to track stabilization of the feature.)
2023-05-09Add esp-idf platform support pageScott Mabin-1/+43
2023-05-08Rollup merge of #110638 - nikarh:vita, r=Mark-SimulacrumYuki Okushi-14/+83
STD support for PSVita This PR adds std support for `armv7-sony-vita-newlibeabihf` target. The work here is fairly similar to #95897, just for a different target platform. This depends on the following pull requests: rust-lang/backtrace-rs#523 rust-lang/libc#3209
2023-05-08Rollup merge of #105354 - BlackHoleFox:apple-deployment-printer, r=oli-obkYuki Okushi-0/+6
Add deployment-target --print flag for Apple targets This is very useful for crates that need to know what the Apple OS deployment target is for their build scripts or inside of a build environment. Right now, the defaults just get copy/pasted around the ecosystem since they've been stable for so long. But with #104385 in progress, that won't be true anymore and everything will need to move. Ideally whenever it happens again, this could be less painful as everything can ask the compiler what its default is instead. To show examples of the copy/paste proliferation, here's some crates and/or apps that do: - [cc](https://github.com/rust-lang/cc-rs/pull/708/files), Soon - [mac-notification-sys](https://github.com/h4llow3En/mac-notification-sys/pull/46/files#diff-d0d98998092552a1d3259338c2c71e118a5b8343dd4703c0c7f552ada7f9cb42R10-R12) - [PyO3](https://github.com/PyO3/maturin/blob/ccb02d1aa1cc41e82a3572a3c8b35cace15f3e78/src/target.rs#L755-L758) - [Anki](https://github.com/ankitects/anki/blob/613b5c1034cc9943f3f68d818ae22b2e0acec877/build/runner/src/bundle/artifacts.rs#L49-L54) - [jsc-rs](https://github.com/Brooooooklyn/jsc-rs/blob/37767267568fb2de62fc441473e7d158dd980520/xtask/src/build.rs#L402-L405) ... and probably more that a simple GitHub codesearch didn't see
2023-05-07PS Vita std supportNikolay Arhipov-14/+83
2023-05-06Rollup merge of #109677 - dpaoliello:rawdylib, r=michaelwoerister,wesleywiserYuki Okushi-0/+8
Stabilize raw-dylib, link_ordinal, import_name_type and -Cdlltool This stabilizes the `raw-dylib` feature (#58713) for all architectures (i.e., `x86` as it is already stable for all other architectures). Changes: * Permit the use of the `raw-dylib` link kind for x86, the `link_ordinal` attribute and the `import_name_type` key for the `link` attribute. * Mark the `raw_dylib` feature as stable. * Stabilized the `-Zdlltool` argument as `-Cdlltool`. * Note the path to `dlltool` if invoking it failed (we don't need to do this if `dlltool` returns an error since it prints its path in the error message). * Adds tests for `-Cdlltool`. * Adds tests for being unable to find the dlltool executable, and dlltool failing. * Fixes a bug where we were checking the exit code of dlltool to see if it failed, but dlltool always returns 0 (indicating success), so instead we need to check if anything was written to `stderr`. NOTE: As previously noted (https://github.com/rust-lang/rust/pull/104218#issuecomment-1315895618) using dlltool within rustc is temporary, but this is not the first time that Rust has added a temporary tool use and argument: https://github.com/rust-lang/rust/pull/104218#issuecomment-1318720482 Big thanks to ``````@tbu-`````` for the first version of this PR (#104218)