Skip to content

add volatile copy/copy_nonoverlapping/set #13693

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 23, 2014
Merged

add volatile copy/copy_nonoverlapping/set #13693

merged 1 commit into from
Apr 23, 2014

Conversation

thestinger
Copy link
Contributor

This exposes volatile versions of the memset/memmove/memcpy intrinsics.

The volatile parameter must be constant, so this can't simply be a
parameter to our intrinsics.

This exposes volatile versions of the memset/memmove/memcpy intrinsics.

The volatile parameter must be constant, so this can't simply be a
parameter to our intrinsics.
@brson
Copy link
Contributor

brson commented Apr 23, 2014

What is this and why is it being added?

@thestinger
Copy link
Contributor Author

@brson: There's a section in the module documentation about what volatile means in this context, but we don't seem to have a way of making a link back up to it via markdown. It mentions LLVM because I copied the documentation from the non-volatile versions and added the line at the end.

I agree it should be fixed, but I don't really think it has to be done here. I'd rather just document these in std::ptr and hide these inside a private module there.

It's being added because people have been asking for a way to do a secure erase due to the OpenSSL furore. These are much more efficient than using the existing volatile_load/volatile_store since LLVM is forbidden from joining multiple volatile stores/loads into a volatile memset/memmove/memcpy. There are other use cases like interacting with hardware too.

bors added a commit that referenced this pull request Apr 23, 2014
This exposes volatile versions of the memset/memmove/memcpy intrinsics.

The volatile parameter must be constant, so this can't simply be a
parameter to our intrinsics.
@bors bors closed this Apr 23, 2014
@bors bors merged commit b272472 into rust-lang:master Apr 23, 2014
@thestinger thestinger deleted the mem branch May 1, 2014 06:31
flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 28, 2024
…g#13693)

Follow up to rust-lang/rust-clippy#13691

Adds metadata to the `clippy_utils/Cargo.toml`, which is mostly copied
from the root `Cargo.toml`.
Adds a `README.md` file listing the nightly version `clippy_utils` can
be used with, mentions that there are no stability guarantees and the
license.

The next PR will add automation to update the nightly toolchains in
those files and the versions in the `Cargo.toml`s.

cc rust-lang/rust-clippy#13556

changelog: none
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants