rust/src
Matthias Krüger 0bb72a2c66
Rollup merge of #91675 - ivanloz:memtagsan, r=nagisa
Add MemTagSanitizer Support

Add support for the LLVM [MemTagSanitizer](https://llvm.org/docs/MemTagSanitizer.html).

On hardware which supports it (see caveats below), the MemTagSanitizer can catch bugs similar to AddressSanitizer and HardwareAddressSanitizer, but with lower overhead.

On a tag mismatch, a SIGSEGV is signaled with code SEGV_MTESERR / SEGV_MTEAERR.

# Usage

`-Zsanitizer=memtag -C target-feature="+mte"`

# Comments/Caveats

* MemTagSanitizer is only supported on AArch64 targets with hardware support
* Requires `-C target-feature="+mte"`
* LLVM MemTagSanitizer currently only performs stack tagging.

# TODO

* Tests
* Example
2022-02-18 23:23:03 +01:00
..
bootstrap Rollup merge of #94082 - bjorn3:remove_cfg_platform, r=Mark-Simulacrum 2022-02-17 23:01:02 +01:00
build_helper Hide failed command unless in verbose mode 2022-01-30 17:37:11 -05:00
ci Rollup merge of #94064 - nikic:update-musl-image, r=Mark-Simulacrum 2022-02-17 06:30:05 +01:00
doc Rollup merge of #91675 - ivanloz:memtagsan, r=nagisa 2022-02-18 23:23:03 +01:00
etc Auto merge of #93626 - wesleywiser:fix_hashmap_natvis, r=michaelwoerister 2022-02-08 10:05:05 +00:00
librustdoc Auto merge of #93766 - petrochenkov:doclinkregr, r=camelid,GuillaumeGomez 2022-02-18 10:26:45 +00:00
llvm-project@e29ac13bc9 Update LLVM submodule 2022-02-16 21:15:30 +01:00
rustdoc-json-types Increase the format version of rustdoc-json-types 2022-01-20 22:14:02 +01:00
test Rollup merge of #91675 - ivanloz:memtagsan, r=nagisa 2022-02-18 23:23:03 +01:00
tools Rollup merge of #91675 - ivanloz:memtagsan, r=nagisa 2022-02-18 23:23:03 +01:00
README.md
stage0.json bump bootstrap compiler 2022-01-28 15:01:04 +01:00
version bump version to 1.60.0 2022-01-07 10:04:15 +01:00

This directory contains the source code of the rust project, including:

  • The test suite
  • The bootstrapping build system
  • Various submodules for tools, like rustdoc, rls, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.