about summary refs log tree commit diff
path: root/src/doc
AgeCommit message (Collapse)AuthorLines
2022-07-31Rollup merge of #99620 - hudson-ayers:fix-location-detail, r=davidtwcoMatthias Krüger-2/+3
`-Z location-detail`: provide option to disable all location details As reported [here](https://github.com/rust-lang/rust/pull/89920#issuecomment-1190598924), when I first implemented the `-Z location-detail` flag there was a bug, where passing an empty list was not correctly supported, and instead rejected by the compiler. This PR fixes that such that passing an empty list results in no location details being tracked, as originally specified in https://github.com/rust-lang/rfcs/pull/2091 . This PR also adds a test case to verify that this option continues to work as intended.
2022-07-31Rollup merge of #99519 - Urgau:check-cfg-implicit, r=petrochenkovMatthias Krüger-26/+9
Remove implicit names and values from `--cfg` in `--check-cfg` This PR remove the implicit names and values from `--cfg` in `--check-cfg` because the behavior is quite surprising but also because it's really easy to inadvertently really on the implicitness and when the `--cfg` is not set anymore to have an unexpected warning from an unexpected condition that pass with the implicitness. This change in behavior will also enable us to warn when an unexpected `--cfg` is passed, ex: the user wrote `--cfg=unstabl` instead of `--cfg=unstable`. The implementation of the warning will be done in a follow-up PR. cc `@petrochenkov`
2022-07-31address review commentTshepang Mbambo-3/+2
https://github.com/rust-lang/rustc-dev-guide/pull/1402#discussion_r933905339
2022-07-31accept review suggestionTshepang Mbambo-1/+1
Co-authored-by: Joshua Nelson <github@jyn.dev>
2022-07-31try address review commentsTshepang Mbambo-4/+4
2022-07-31summary of chapterTshepang Mbambo-3/+2
2022-07-31Update src/building/compiler-documenting.mdTshepang Mbambo-1/+1
Co-authored-by: Yuki Okushi <jtitor@2k36.org>
2022-07-31revamp doc-build chapterTshepang Mbambo-39/+35
2022-07-30minor fixesTshepang Mbambo-5/+7
2022-07-29Prefer relative linksYuki Okushi-7/+7
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-29Fix the link to clippy docsYuki Okushi-1/+1
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-29Fix the link to `ResolverAstLowering`Yuki Okushi-2/+2
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-29Fix the link to `ProcMacro` traitYuki Okushi-2/+2
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-29Fix the link to `Lazy<T>`Yuki Okushi-8/+10
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-30Rollup merge of #99831 - djkoloski:add_fuchsia_target_documentation, r=tmandryYuki Okushi-0/+296
Add Fuchsia platform support documentation This documentation contains instructions for building and running binaries on Fuchsia using its provided SDK.
2022-07-29Add instructions to fix build errors in std after adding a new targetUrgau-0/+16
2022-07-29Rollup merge of #99845 - xtexChooser:patch-1, r=GuillaumeGomezYuki Okushi-2/+2
Remove `$` prefix for bash scripts in doc
2022-07-29Rollup merge of #99760 - dvdhrm:rw/uefiplat, r=ehussYuki Okushi-0/+255
doc/rustc: describe the uefi target platforms Add a `platform-support` entry to the rustc-docs for the different `*-unknown-uefi` targets. This describes in detail how this platform works, a few basic examples, and how to compile for the platform. Red Hat is sponsoring my work on this platform, so I am putting myself down as target maintainer. Co-maintainers are more than welcome to join me in the effort. Communication is going on off-list to coordinate the different efforts. Note that the ultimate goal is to move the UEFI targets to Tier-2 so bootloaders can be more easily supported in commercial products. This documentation is the first step towards that goal, but should be a viable documentation even for the current Tier-3 status of the targets. I also want to point out that there is an ongoing GSoC-effort to port the rust standard library to UEFI (by Ayush Singh). While this work is not necessarily required to get to Tier-2, we definitely should coordinate the efforts and update the documentation as soon as any such ports are merged. Note that the targets are already used by multiple commercial and non commercial production systems, including, but not limited to: * Tianocore-EDK2 (Official UEFI SDK by Intel) comes with rust support in its staging repository (not part of any release, yet). (https://github.com/tianocore/edk2-staging/tree) * Intel's research program "Project Mu" uses the rust UEFI targets to show possible future replacements for Tianocore-EDK2. * The Rust OS "Redox" uses the UEFI targets for its bootloader. (https://www.redox-os.org/) * The hugely popular in-depth documentation of OS development in Rust by Philipp Oppermann uses the UEFI targets. (https://os.phil-opp.com/)
2022-07-28Add Fuchsia platform support documentationDavid Koloski-0/+296
2022-07-28location-detail: disable all location details when passed `none`Hudson Ayers-2/+3
Prior to this fix, `-Z location-detail` provided no mechanism for disabling all location details. This commit also adds a test case to verify that this option continues to work as intended, and clarifies the documentation of this option.
2022-07-28Update custom.mdxtexChooser-2/+2
2022-07-27doc/rustc: describe the uefi target platformsDavid Rheinsberg-0/+255
Add a `platform-support` entry to the rustc-docs for the different `*-unknown-uefi` targets. This describes in detail how this platform works, a few basic examples, and how to compile for the platform. Red Hat is sponsoring my work on this platform, so I am putting myself down as target maintainer. Co-maintainers are more than welcome to join me in the effort. Communication is going on off-list to coordinate the different efforts. Note that the ultimate goal is to move the UEFI targets to Tier-2 so bootloaders can be more easily supported in commercial products. This documentation is the first step towards that goal, but should be a viable documentation even for the current Tier-3 status of the targets. I also want to point out that there is an ongoing GSoC-effort to port the rust standard library to UEFI (by Ayush Singh). While this work is not necessarily required to get to Tier-2, we definitely should coordinate the efforts and update the documentation as soon as any such ports are merged. Note that the targets are already used by multiple commercial and non commercial production systems, including, but not limited to: * Tianocore-EDK2 (Official UEFI SDK by Intel) comes with rust support in its staging repository (not part of any release, yet). (https://github.com/tianocore/edk2-staging/tree) * Intel's research program "Project Mu" uses the rust UEFI targets to show possible future replacements for Tianocore-EDK2. * The Rust OS "Redox" uses the UEFI targets for its bootloader. (https://www.redox-os.org/) * The hugely popular in-depth documentation of OS development in Rust by Philipp Oppermann uses the UEFI targets. (https://os.phil-opp.com/) Signed-off-by: David Rheinsberg <david.rheinsberg@gmail.com>
2022-07-26Document how to build a cross-compilerbstrie-4/+45
2022-07-26Add documentation about Microsoft provided debuggers and CodeView/PDB… (#1406)ridwanabdillahi-1/+35
Co-authored-by: Yuki Okushi <jtitor@2k36.org> Co-authored-by: Ridwan Abdilahi <riabdila@microsoft.com>
2022-07-25Fix some broken link fragments.Eric Huss-2/+2
2022-07-25rust-analyzer is now a subtreeAmos Wenger-1/+2
It used to be a submodule. cf. https://github.com/rust-lang/rust/pull/99603
2022-07-24Auto merge of #95548 - rcvalle:rust-cfi-2, r=nagisabors-29/+85
Add fine-grained LLVM CFI support to the Rust compiler This PR improves the LLVM Control Flow Integrity (CFI) support in the Rust compiler by providing forward-edge control flow protection for Rust-compiled code only by aggregating function pointers in groups identified by their return and parameter types. Forward-edge control flow protection for C or C++ and Rust -compiled code "mixed binaries" (i.e., for when C or C++ and Rust -compiled code share the same virtual address space) will be provided in later work as part of this project by identifying C char and integer type uses at the time types are encoded (see Type metadata in the design document in the tracking issue https://github.com/rust-lang/rust/issues/89653). LLVM CFI can be enabled with -Zsanitizer=cfi and requires LTO (i.e., -Clto). Thank you again, `@eddyb,` `@nagisa,` `@pcc,` and `@tmiasko` for all the help!
2022-07-23Auto merge of #98208 - ivanloz:master, r=nagisabors-1/+16
Add support for LLVM ShadowCallStack. LLVMs ShadowCallStack provides backward edge control flow integrity protection by using a separate shadow stack to store and retrieve a function's return address. LLVM currently only supports this for AArch64 targets. The x18 register is used to hold the pointer to the shadow stack, and therefore this only works on ABIs which reserve x18. Further details are available in the [LLVM ShadowCallStack](https://clang.llvm.org/docs/ShadowCallStack.html) docs. # Usage `-Zsanitizer=shadow-call-stack` # Comments/Caveats * Currently only enabled for the aarch64-linux-android target * Requires the platform to define a runtime to initialize the shadow stack, see the [LLVM docs](https://clang.llvm.org/docs/ShadowCallStack.html) for more detail.
2022-07-23Update documentation for LLVM CFI supportRamon de C Valle-29/+85
This commit updates the documentation for the LLVM Control Flow Integrity (CFI) support in the Rust compiler (see #95548 and #89653).
2022-07-21Update booksEric Huss-0/+0
2022-07-21Debuginfo tests now also support revisions.Luqman Aden-3/+3
2022-07-20Remove implicit names and values from --cfg in --check-cfgUrgau-26/+9
2022-07-20Add ShadowCallStack SupportIvan Lozano-1/+16
Adds support for the LLVM ShadowCallStack sanitizer.
2022-07-19Link to rendered book directlyAmos Wenger-1/+1
Co-authored-by: Yuki Okushi <jtitor@2k36.org>
2022-07-19Fix link to clippy sync docsAmos Wenger-1/+1
2022-07-19remove stray markupTshepang Mbambo-2/+0
2022-07-19renamedTshepang Mbambo-1/+1
2022-07-19sync with hackmd versionTshepang Mbambo-87/+151
See https://hackmd.io/5t8pLdJcRDmqbfN9ZXje3g
2022-07-19replace misleading name (#1401)Tshepang Mbambo-2/+2
2022-07-18Remove a mention to Steve on r? exampleYuki Okushi-5/+3
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-17obey line length limit (part 3)Tshepang Mbambo-7/+20
2022-07-17obey line length limit (part 2)Tshepang Mbambo-1/+7
2022-07-17obey line length limitTshepang Mbambo-1/+4
2022-07-17sync with hackmdHackMD-7/+26
2022-07-17add draft chapterNiko Matsakis-0/+175
2022-07-17add mdbook-mermaidNiko Matsakis-1/+12
2022-07-17use relative linksTshepang Mbambo-43/+43
Used the following command, followed by some manual tweaking: sd 'https://rustc-dev-guide.rust-lang.org/(.+).html' '$1.md' (fd)
2022-07-17fix some typos (#1398)Tshepang Mbambo-6/+6
2022-07-16typo: monomorph docsdavidrusu-1/+1
2022-07-16Rename debugging_opts to unstable_opts, use link5225225-1/+2