about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-02-18 23:23:07 +0100
committerGitHub <noreply@github.com>2022-02-18 23:23:07 +0100
commit724cca6d7f792cf3edea743a8fdc2dab397467e2 (patch)
treebfa0696afadfac9d4e3ecc6b80ffcccdf17f50de /compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
parent32c8acd769bdf8d649b8eba3b382a98f22827df5 (diff)
parent64406c5996a0775493c8a2acd457e612bd84cde6 (diff)
downloadrust-724cca6d7f792cf3edea743a8fdc2dab397467e2.tar.gz
rust-724cca6d7f792cf3edea743a8fdc2dab397467e2.zip
Rollup merge of #93847 - solid-rs:fix-kmc-solid-fs-ts, r=yaahc
kmc-solid: Use the filesystem thread-safety wrapper

Fixes the thread unsafety of the `std::fs` implementation used by the [`*-kmc-solid_*`](https://doc.rust-lang.org/nightly/rustc/platform-support/kmc-solid.html) Tier 3 targets.

Neither the SOLID filesystem API nor built-in filesystem drivers guarantee thread safety by default. Although this may suffice in general embedded-system use cases, and in fact the API can be used from multiple threads without any problems in many cases, this has been a source of unsoundness in `std::sys::solid::fs`.

This commit updates the implementation to leverage the filesystem thread-safety wrapper (which uses a pluggable synchronization mechanism) to enforce thread safety. This is done by prefixing all paths passed to the filesystem API with `\TS`. (Note that relative paths aren't supported in this platform.)
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp')
0 files changed, 0 insertions, 0 deletions