about summary refs log tree commit diff
path: root/src/doc/rustc
AgeCommit message (Collapse)AuthorLines
2021-06-08Rollup merge of #85951 - hyd-dev:force-unwind-tables, r=steveklabnikYuki Okushi-2/+1
Update the documentation of `-C force-unwind-tables` for #83482 `panic=unwind` does not require `force-unwind-tables` to be "yes" anymore. I forgot to update this in #83482.
2021-06-06Auto merge of #79608 - alessandrod:bpf, r=nagisabors-0/+4
BPF target support This adds `bpfel-unknown-none` and `bpfeb-unknown-none`, two new no_std targets that generate little and big endian BPF. The approach taken is very similar to the cuda target, where `TargetOptions::obj_is_bitcode` is enabled and code generation is done by the linker. I added the targets to `dist-various-2`. There are [some tests](https://github.com/alessandrod/bpf-linker/tree/main/tests/assembly) in bpf-linker and I'm planning to add more. Those are currently not ran as part of rust CI.
2021-06-03Update the documentation of `-C force-unwind-tables`hyd-dev-2/+1
2021-05-30Rollup merge of #85781 - badboy:document-aarch-ios-sim-support, r=AmanieuGuillaume Gomez-1/+58
Add documentation for aarch64-apple-ios-sim target Documentation as requested for [MCP 428](https://github.com/rust-lang/compiler-team/issues/428) to promote this target to Tier 2. Currently it calls out that it's Tier 3. That should be changed if this target is promoted, but this PR could also land before that. Note: probably should get signoff from the compiler team based on that MCP.
2021-05-29Add documentation for aarch64-apple-ios-sim targetJan-Erik Rediger-1/+58
2021-05-28Fix typo on nvptx supportEric Huss-1/+1
2021-05-23Add BPF target to platform-support.mdAlessandro Decina-0/+2
2021-05-23Add BPF targetAlessandro Decina-0/+2
This change adds the bpfel-unknown-none and bpfeb-unknown-none targets which can be used to generate little endian and big endian BPF
2021-05-03platform-support: Center the contents of the `std` and `host` columnsJosh Triplett-2/+2
2021-05-03Link to MCP from target tier policyJan-Erik Rediger-4/+6
2021-05-01Rollup merge of #84756 - badboy:toc-for-tier-policy, r=GuillaumeGomezYuki Okushi-0/+11
Add a ToC to the Target Tier Policy documentation The policy document is quite lengthy, I figured it might be good to have a quick way to jump to the specific tier policies.
2021-04-30Add a ToC to the Target Tier Policy documentationJan-Erik Rediger-0/+11
2021-04-29platform-support.md: Update for consistency with Target Tier PolicyJosh Triplett-131/+174
Split into five sections to match the tiers: "Tier 1 with Host Tools", "Tier 1", "Tier 2 with Host Tools", "Tier 2", and "Tier 3". Explain each tier briefly in prose, and link to the corresponding section of the policy for full requirements. Drop the `host` columns from the first four, since the different sections distinguish that. (Keep the `host` column for "Tier 3", since it's a single list and the `host` column just indicates if host tools are expected to work.) Targets with host tools always have full support for std, so drop the `std` column from those. Move the explanations of the `std` column next to the appropriate tables, and drop the unknown/WIP case for tier 2 targets. Use "target" terminology consistently throughout. Sort each table by target name.
2021-04-26Cross-reference target tier policy from platform-supportJosh Triplett-1/+2
2021-04-26Add the target tier policy from accepted RFC 2803Josh Triplett-0/+640
2021-04-22doc/platform-support: clarify UEFI supportDavid Rheinsberg-2/+2
Add missing information on what standard-library features are supported by the UEFI targets. All current UEFI targets (which is i686 and x86_64) only support no_std cross-compilations. `std` support has not been worked on and is unlikely to emerge anytime soon, due to the much restricted environment that UEFI provides.
2021-04-08Auto merge of #83500 - camelid:split-debuginfo-docs-cleanup, r=steveklabnikbors-5/+5
Fix some typos in docs for `-C split-debuginfo`
2021-04-07Fix some typos in docs for `-C split-debuginfo`Camelid-5/+5
2021-04-05Rollup merge of #80525 - devsnek:wasm64, r=nagisaDylan DPC-0/+1
wasm64 support There is still some upstream llvm work needed before this can land.
2021-04-04wasm64Gus Caplan-0/+1
2021-03-27Update rustup cross-compilation docs linkJon Jensen-1/+1
2021-03-10Rollup merge of #82733 - Yn0ga:master, r=estebankYuki Okushi-0/+1
Add powerpc-unknown-openbsd target
2021-03-04Add powerpc-unknown-openbsd targetyn0ga-0/+1
Add powerpc-unknown-openbsd target * Fix missing abi::endian crate * Missing platform-support.md
2021-03-01Change built-in kernel targets to be os = none throughoutJohn Ericson-2/+2
Whether for Rust's own `target_os`, LLVM's triples, or GNU config's, the OS-related have fields have been for code running *on* that OS, not code that is *part* of the OS. The difference is huge, as syscall interfaces are nothing like freestanding interfaces. Kernels are (hypervisors and other more exotic situations aside) freestanding programs that use the interfaces provided by the hardware. It's *those* interfaces, the ones external to the program being built and its software dependencies, that are the content of the target. For the Linux Kernel in particular, `target_env: "gnu"` is removed for the same reason: that `-gnu` refers to glibc or GNU/linux, neither of which applies to the kernel itself. Relates to #74247 Thanks @ojeda for catching some things.
2021-03-01Update supported platforms docJakub Kulik-2/+2
2021-02-28Auto merge of #82350 - ehuss:test-chapter, r=jyn514bors-1/+287
Add a chapter on the test harness. There isn't really any online documentation on the test harness, so this adds a chapter to the rustc book which provides information on how the harness works and details on the command-line options.
2021-02-27Remove the x86_64-rumprun-netbsd targetSimonas Kazlauskas-1/+0
Closes #81514
2021-02-23Rollup merge of #82166 - kaniini:s390x-musl-target, r=nagisaDylan DPC-0/+1
add s390x-unknown-linux-musl target This is the first step in bringup for Rust on s390x. The libc and std crates need modifications as well, but getting this upstream makes that work easier.
2021-02-22Update for review comments.Eric Huss-9/+10
2021-02-21Rollup merge of #81966 - deg4uss3r:degausser/aarch64_apple_ios_sim, r=shepmasterYuki Okushi-0/+1
Add new `rustc` target for Arm64 machines that can target the iphonesimulator This PR lands a new target (`aarch64-apple-ios-sim`) that targets arm64 iphone simulator, previously unreachable from Apple Silicon machines. resolves #81632 r? `@shepmaster`
2021-02-20Add a chapter on the test harness.Eric Huss-1/+286
2021-02-20iOS simulator: pick the target based on the environment variableJan-Erik Rediger-1/+1
LLVM picks the right things to put into the compiled object file based on the target deployment version. We need to communicate it through the target triple. Only with that LLVM will use the right commands in the file to make it look and behave like code compiled for the arm64 iOS simulator target.
2021-02-19Fix minor mistake in LTO docs.Eric Huss-3/+3
`-C lto=true` isn't a valid option.
2021-02-19added aarch64_apple_ios_sim as a rustc targetRicky (deg4uss3r)-0/+1
2021-02-19remove checkboxes from s390x-unknown-linux-musl tripletAriadne Conill-1/+1
2021-02-19add s390x-unknown-linux-musl target to platform supportAriadne Conill-0/+1
2021-02-16Add riscv32 and riscv64 musl to supported platform targetsKhem Raj-0/+2
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-02-14Update link for extern prelude.Eric Huss-1/+1
2021-02-04tidy: Run tidy style against markdown files.Eric Huss-6/+6
2021-02-02Rollup merge of #81455 - Amanieu:aarch64_ilp32, r=sanxiynJack Huey-0/+3
Add AArch64 big-endian and ILP32 targets This PR adds 3 new AArch64 targets: - `aarch64_be-unknown-linux-gnu` - `aarch64-unknown-linux-gnu_ilp32` - `aarch64_be-unknown-linux-gnu_ilp32` It also fixes some ABI issues on big-endian ARM and AArch64.
2021-01-28rustc: Stabilize `-Zrun-dsymutil` as `-Csplit-debuginfo`Alex Crichton-1/+29
This commit adds a new stable codegen option to rustc, `-Csplit-debuginfo`. The old `-Zrun-dsymutil` flag is deleted and now subsumed by this stable flag. Additionally `-Zsplit-dwarf` is also subsumed by this flag but still requires `-Zunstable-options` to actually activate. The `-Csplit-debuginfo` flag takes one of three values: * `off` - This indicates that split-debuginfo from the final artifact is not desired. This is not supported on Windows and is the default on Unix platforms except macOS. On macOS this means that `dsymutil` is not executed. * `packed` - This means that debuginfo is desired in one location separate from the main executable. This is the default on Windows (`*.pdb`) and macOS (`*.dSYM`). On other Unix platforms this subsumes `-Zsplit-dwarf=single` and produces a `*.dwp` file. * `unpacked` - This means that debuginfo will be roughly equivalent to object files, meaning that it's throughout the build directory rather than in one location (often the fastest for local development). This is not the default on any platform and is not supported on Windows. Each target can indicate its own default preference for how debuginfo is handled. Almost all platforms default to `off` except for Windows and macOS which default to `packed` for historical reasons. Some equivalencies for previous unstable flags with the new flags are: * `-Zrun-dsymutil=yes` -> `-Csplit-debuginfo=packed` * `-Zrun-dsymutil=no` -> `-Csplit-debuginfo=unpacked` * `-Zsplit-dwarf=single` -> `-Csplit-debuginfo=packed` * `-Zsplit-dwarf=split` -> `-Csplit-debuginfo=unpacked` Note that `-Csplit-debuginfo` still requires `-Zunstable-options` for non-macOS platforms since split-dwarf support was *just* implemented in rustc. There's some more rationale listed on #79361, but the main gist of the motivation for this commit is that `dsymutil` can take quite a long time to execute in debug builds and provides little benefit. This means that incremental compile times appear that much worse on macOS because the compiler is constantly running `dsymutil` over every single binary it produces during `cargo build` (even build scripts!). Ideally rustc would switch to not running `dsymutil` by default, but that's a problem left to get tackled another day. Closes #79361
2021-01-27Add new aarch64 targets to platform-support.mdAmanieu d'Antras-0/+3
2020-12-28Rollup merge of #80393 - ehuss:doc-git-link, r=jyn514Mara Bos-0/+3
Add links to the source for the rustc and rustdoc books. This adds a little icon in the upper-right corner of the books so that readers can find the source if they want to make changes or file issues. This is already included in several of the other books.
2020-12-26Fix missing deny-by-default.md file.Eric Huss-0/+3
2020-12-26Add links to the source for the rustc and rustdoc books.Eric Huss-0/+3
2020-12-22Revert "Remove missing_fragment_specifier lint"Wesley Wiser-3/+0
This reverts commit 5ba961018c482e050af908de60e4f8bd1a00f0ae.
2020-12-01Rollup merge of #79573 - he32:master, r=jonas-schievinkMara Bos-4/+4
Update with status for various NetBSD ports. The NetBSD ports of rust to aarch64, armv7*, i686, and powerpc** all both build and run. Status is as of rust 1.47.0. *) Natively requires repeated successive build attempts (`rustc` is such a resource pig VM-consumption-wise), or run in a chroot on an aarch64 host where the available VM space is 4GB instead of the native 2GB. **) Powerpc either requires `-latomic` in a directory searched by default by `ld` or to be built within pkgsrc which has a patch and support package to tackle this issue.
2020-11-30Update with status for various NetBSD ports.Havard Eidnes-4/+4
The NetBSD ports of rust to aarch64, armv7*, i686, and powerpc** all both build and run. *) Natively requires repeated successive build attempts (rustc is such a resource pig VM-consumption-wise), or run in a chroot on an aarch64 host where the available VM space is 4GB instead of the native 2GB. **) Powerpc either requires -latomic in a directory searched by default by 'ld' or to be built within pkgsrc which has a patch to tackle this.
2020-11-30Add built-in support for the armv5te-unknown-linux-uclibceabi targetOndrej Perutka-0/+1
2020-11-26Add to platform-support.mdBenedikt Terhechte-1/+1