Skip to content

Conversation

@kraj
Copy link
Contributor

@kraj kraj commented Jul 23, 2025

Minimum kernel needed on RISCV is fairly new (4.15+) so we are sure to have getrandom syscall, on glibc there is mimimal ABI kernel to denote it but musl does not have any other way to indicate it, so add it as a condition here to choose getrandom backend for rv32/rv64 on linux when using musl.

Minimum kernel needed on RISCV is fairly new (4.15+) so we are sure
to have getrandom syscall, on glibc there is mimimal ABI kernel to denote
it but musl does not have any other way to indicate it, so add it
as a condition here to choose getrandom backend for rv32/rv64 on linux
when using musl.

Signed-off-by: Khem Raj <[email protected]>
Copy link
Member

@josephlr josephlr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks reasonable to me!

I think we should probably go through and clean up that large case statement, to more systematically consider particular libc being used, but that shouldn't block this PR.

@josephlr josephlr merged commit 8f32de2 into rust-random:master Jul 24, 2025
74 of 75 checks passed
@josephlr josephlr mentioned this pull request Oct 14, 2025
josephlr added a commit that referenced this pull request Oct 14, 2025
## [0.3.4] - 2025-10-14

### Major change to `wasm_js` backend

Now, when the `wasm_js` feature is enabled, the `wasm_js` backend will
be used
by default. Users of `wasm32-unknown-unknown` targeting JavaScript
environments
like the Web and Node.js will no longer need to specify:
```
--cfg getrandom_backend="wasm_js"
```
in `RUSTFLAGS` for the crate to compile. They can now simple enable a
feature.

Note: this should not affect non-JS users of the
`wasm32-unknown-unknown`
target. Using `--cfg getrandom_backend` will still override the source
of
randomness _even if_ the `wasm_js` feature is enabled. This includes
`--cfg getrandom_backend=custom` and `--cfg
getrandom_backend=unsupported`.

For more information, see the discussions in [#671], [#675], and [#730].

### Added
- `unsupported` opt-in backend [#667]
- `windows_legacy` opt-in backend [#724]

### Changed
- Implement Memory Sanitizer unpoisoning more precisely [#678]
- Relax MSRV for the `linux_raw` opt-in backend on ARM targets [#688]
- Use `getrandom` syscall on all RISC-V Linux targets [#699]
- Replaced `wasi` dependency with `wasip2` [#721]
- Enable `wasm_js` backend by default if the `wasm_js` feature is
enabled [#730]

### Removed
- Unstable `rustc-dep-of-std` crate feature [#694]

[#667]: #667
[#671]: #671
[#675]: #675
[#678]: #678
[#688]: #688
[#694]: #694
[#699]: #699
[#721]: #721
[#724]: #724
[#730]: #730

---------

Signed-off-by: Joe Richey <[email protected]>
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.

2 participants