Commit graph

141 commits

Author SHA1 Message Date
J.T. Conklin
1711463ce3 rust/third-party: update to futures-0.3.30
Summary:
Changelog since last import:

```
# 0.3.30 - 2023-12-24

* Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` (#2797)
* Fix panic in `FuturesUnordered::clear` (#2809)
* Fix panic in `AsyncBufReadExt::fill_buf` (#2801, #2812)
* Improve support for targets without atomic CAS (#2811)
* Remove build scripts (#2811)

# 0.3.29 - 2023-10-26

* Add `TryStreamExt::try_ready_chunks` (#2757)
* Add `TryStreamExt::{try_all,try_any}` (#2783)
* Add `UnboundedSender::{len,is_empty}` (#2750)
* Fix `Sync` impl of `FuturesUnordered` (#2788)
* Fix infinite loop caused by invalid UTF-8 bytes (#2785)
* Fix build error with -Z minimal-versions (#2761)
```

I'm updating this as I need `TryStreamExt::try_all()` for a Sandcastle Worker change.

Reviewed By: krallin

Differential Revision: D55318002

fbshipit-source-id: 0f64b13570cd1644000c3639bf16c0746266cb8e
2024-03-27 16:23:45 -07:00
Jeremy Fitzhardinge
b5ec95a82c third-party/rust: make tracing and tracing-subscriber available to no-std universe
Summary: They support no-std with a bunch of features turned off.

Reviewed By: dtolnay

Differential Revision: D55333115

fbshipit-source-id: e66ee699cb3bc3e74f6c7b4d9a81e488e9768e40
2024-03-25 21:40:59 -07:00
Stiopa Koltsov
91b8ebf0b6 Upgrade tokio
Summary:
Need to add some third-party, which is pulling newer tokio.

Land upgrade separately for visibility and for easier bisect and revert.

Reviewed By: Imxset21, JakobDegen

Differential Revision: D55030643

fbshipit-source-id: 47b509ce2103d1dd64c66aa250133eb25758a750
2024-03-18 16:57:05 -07:00
Jade Harley
29ce9faab8 Updated timer to add my processor (#31)
Summary:
A quick fix for https://github.com/facebookexperimental/reverie/issues/30. Have not verified timer functionality, but this prevents a crash.

Pull Request resolved: https://github.com/facebookexperimental/reverie/pull/31

Reviewed By: VladimirMakaev

Differential Revision: D54647876

Pulled By: jasonwhite

fbshipit-source-id: e1b1f110e64f5a78589d0b165cb93578efbe3e66
2024-03-07 12:42:52 -08:00
Zixian Cai
d3e069f0bb Add AMD Zen 2 Matisse support (#28)
Summary:
Checked the AMD PPR and confirmed the event encoding

<img width="1182" alt="image" src="https://github.com/facebookexperimental/reverie/assets/2891235/364b15f9-3af9-47a8-a0ac-c2d4cf6981d9">

Pull Request resolved: https://github.com/facebookexperimental/reverie/pull/28

Reviewed By: asm89

Differential Revision: D53796098

Pulled By: jasonwhite

fbshipit-source-id: 9d7e8f29c5b7307819735034decfd2deba60ca3a
2024-02-15 10:30:52 -08:00
Cameron Pickett
06f05e10f4 Rustfix codemod
Summary:
Apply fixes from `./common/rust/tools/rustfix2/scripts/rustfix_codemod`

Then check any remaining lints highlighted and adjust code to correct them.

Reviewed By: zertosh

Differential Revision: D52975050

fbshipit-source-id: b52d4d84557c78110543d250a40173208fca17ca
2024-01-25 07:02:52 -08:00
Pierre Chevalier
b102b3bf49 Add support for Intel Icelake architecture
Reviewed By: jasonwhite

Differential Revision: D52832812

fbshipit-source-id: 6e388a179aea39cfb21197d895fbf5b14a1123b7
2024-01-17 04:35:38 -08:00
Stiopa Koltsov
00a4d01ee2 format_code_in_doc_comments = true
Summary: D52632085

Reviewed By: zertosh

Differential Revision: D52640376

fbshipit-source-id: da918401a991b1f15dd84e1e9066cca1457afd28
2024-01-09 16:54:59 -08:00
Andres Suarez
9ce4ac6e2b Add default crate information
Summary: Adds basic info that every crate should have.

Reviewed By: dtolnay

Differential Revision: D52051107

fbshipit-source-id: 828ac6a752dbb4b419577fca08815014c8b96c42
2023-12-11 15:49:03 -08:00
David Tolnay
ccaa2e5f1d update platform010 & platform010-aarch64 symlinks
Summary:
Release notes: https://blog.rust-lang.org/2023/10/05/Rust-1.73.0.html

This release is coupled with an update of the `anyhow` and `thiserror` crates because the unstable standard library API for backtraces has changed.

Fbcode changes:

- `feature(default_free_fn)` deleted (D50300881)
- `noop_method_call` lint becomes warn-by-default (D50486032, D50516201)
- stronger `invalid_reference_casting` detection (D50488164)
- `feature(unix_chown)` has been stabilized
- `feature(provide_any)` and `std::provider` deleted
- `clippy::unwrap_or_else_default` renamed to `clippy::unwrap_or_default`
- type inference ambiguities (D51780425)
- `nu-command` build error (D51779062)

Reviewed By: AndreasBackx, shayne-fletcher

Differential Revision: D50294321

fbshipit-source-id: 0fac87f6ba072ad029f9ce41ce94ed813e855b20
2023-12-02 13:52:50 -08:00
Andres Suarez
d22b5fa9de Update autocargo component on FBS:master
Reviewed By: dtolnay

Differential Revision: D51692353

fbshipit-source-id: 44864a348711875983de81758bbe05b46ad4c604
2023-11-29 18:35:29 -08:00
Jason White
b7647f1572 Add support for Intel Sapphire Rapids
Reviewed By: VladimirMakaev

Differential Revision: D51477614

fbshipit-source-id: 244ad482dc4758b410b5262f2c477af9e70b1e05
2023-11-20 13:46:37 -08:00
Andres Suarez
25dd528f72 Update (and unfork) tracing from 0.1.37 to 0.1.40
Summary:
Replaces the various `tracing` forks for [tokio-rs/tracing#2407] with
crates-io releases containing those changes.

[tokio-rs/tracing#2407]: https://github.com/tokio-rs/tracing/pull/2407

Reviewed By: capickett, davidbarsky

Differential Revision: D51266382

fbshipit-source-id: 5ad0b7b9477e5fa450e52c639357fe485e0e89ff
2023-11-13 18:18:35 -08:00
Sebastian Messmer
dd1490f9f3 Update paste to 1.0.14
Summary: This is needed for D50668794, which is updating webauthn-rs

Reviewed By: zertosh

Differential Revision: D50678571

fbshipit-source-id: b7aadd10b7c44377bd04363cf6105c93ecebd302
2023-10-26 00:06:40 -07:00
Andres Suarez
890bb937a0 Update and pin anyhow to 1.0.72
Summary:
anyhow-1.0.73 [uses][1] the new `Error::provide` API. This API is
available starting in Rust 1.73. This means that if you want backtraces,
you need one:

- anyhow-1.0.72 & Rust 1.72
- anyhow-1.0.73 & Rust 1.73

Since we're still on 1.72, pin the version to avoid accidentally losing
backtraces.

There are no real changes between anyhow-1.0.71 and anyhow-1.0.72. But
update to anyhow-1.0.72 so that we're right up until the point where we
get backtrace support.

[1]: https://github.com/dtolnay/anyhow/pull/319

Reviewed By: shayne-fletcher

Differential Revision: D49970958

fbshipit-source-id: 1193611e6d16bc840e63b689e932ea3d33562152
2023-10-05 15:20:03 -07:00
Cooper Lees
74d164283b Fix fbcode TARGETS for compiling with procfs 0.15.1
Summary:
- Fix top level dirs:
  - frl_ee_infra
  - fbcode_devx
  - hermetic_infra
  - hphp/hack
  - remote_execution
  - service_capacity/projection_framework

Going to need to lean on people to help test here once CI passes ...

Reviewed By: aijayadams

Differential Revision: D49899458

fbshipit-source-id: 4eaa7c3b07bfcf5d23c4ed71a9050ffa2b9ac777
2023-10-04 14:10:11 -07:00
Cooper Lees
bda439e5e0 Update procfs to 0.15.1
Summary:
- Want to update to use with monitord >= 0.7.0
- Had to add fixup to ignore build file
  - All it did was make sure we're Linux ... we already do that elsewhere ...
- Will add monitord in a stacked diff (trying to make this as small as possible - Although - Not that small)

Reviewed By: aijayadams

Differential Revision: D49848114

fbshipit-source-id: d95f0784b284ad7915fc948b827531e0a1652a61
2023-10-04 14:10:11 -07:00
Bjoern Doebel
626198d26f Fix vdso_get_symbols_info() assertion for ARM64 (#24)
Summary:
On ARM64 I have been seeing test failures:

```
test vdso::tests::vdso_can_find_symbols_info ... FAILED
test vdso::tests::vdso_patch_info_is_valid ... FAILED
```

Looking closer, this was caused by the debug assertion in vdso_get_symbols_info() which asserts that all symbols found in the VDSO are ELF STT_FUNC symbols. Unfortunately, this is not the case on ARM64, because the VDSO's `__kernel_rt_sigreturn` is special and does appear as STT_NONE symbol.

Fixup the debug assertion by special-casing for this special function.

Note: I shortly considered adding an expected symbol type to the `VDSO_SYMBOLS` hashes, but that didn't seem to make sense just to fix this one special case.

Pull Request resolved: https://github.com/facebookexperimental/reverie/pull/24

Reviewed By: VladimirMakaev

Differential Revision: D49291487

Pulled By: jasonwhite

fbshipit-source-id: 87bf810f590238493603ad9d62421b330bfe0f9d
2023-09-14 14:26:41 -07:00
Bjoern Doebel
9b5480352e Make sure that VDSO patch code is properly aligned (#22)
Summary:
The code that is injected into the tracee processes' VDSO needs to be 8 byte aligned in order to satisfy conditions imposed by the ptrace interface on 64 bit architectures. There have been reproducible reports of that not always being the case:
https://github.com/facebookexperimental/hermit/issues/41. Use an explicitly aligned data structure to enforce this.

Pull Request resolved: https://github.com/facebookexperimental/reverie/pull/22

Reviewed By: VladimirMakaev

Differential Revision: D49195126

Pulled By: jasonwhite

fbshipit-source-id: 8e21cd4306ee2bf75ec321b21e40137be5292f9f
2023-09-12 12:48:51 -07:00
Andres Suarez
e3c97826ef Update serde from 1.0.176 to 1.0.185
Summary:
This release most notably removes the precompiled serde_derive:
https://github.com/serde-rs/serde/releases/tag/v1.0.184

Reviewed By: shayne-fletcher

Differential Revision: D48516549

fbshipit-source-id: 077f650094f9424982de9283d04ede59306947b0
2023-08-21 06:07:02 -07:00
David Tolnay
033ce7edf7 Update serde from 1.0.167 to 1.0.176
Reviewed By: quark-zju

Differential Revision: D47811862

fbshipit-source-id: 03cefc52f3d024a2d0fb5580bed079ff2b4651e0
2023-07-26 21:23:58 -07:00
Astrid Yu
460387b9c8 third-party/rust: bump tokio v1.25.0 -> v1.29.1
Summary: Needed for reqwest QUIC support (requirement of ^1.28)

Reviewed By: zertosh

Differential Revision: D47304356

fbshipit-source-id: d39999373ae51f79123927a073f3073e21a10078
2023-07-12 15:32:56 -07:00
Jason White
f492da1e30 ci: Fix clippy (#20)
Summary:
The clippy action has been in a broken state since 1438ff0f2e. This fixes the GitHub action and all of the clippy warnings.

Pull Request resolved: https://github.com/facebookexperimental/reverie/pull/20

Reviewed By: VladimirMakaev

Differential Revision: D47322336

Pulled By: jasonwhite

fbshipit-source-id: 88f8d16cc81269448c2425d8b56bcc3623e04b31
2023-07-10 16:46:43 -07:00
Akihiko Odaki
36eb4ce4cc Add a perf config for AMD Zen, Milan (#19)
Summary:
Add a perf config for AMD Zen, Milan.

Pull Request resolved: https://github.com/facebookexperimental/reverie/pull/19

Reviewed By: VladimirMakaev

Differential Revision: D47322117

Pulled By: jasonwhite

fbshipit-source-id: a4318efbed9c019a2b65d86c3528fd1869be4931
2023-07-09 09:46:01 -07:00
David Tolnay
2124de21b0 Updates of dtolnay crate-o-matic universe
Reviewed By: zertosh

Differential Revision: D47316925

fbshipit-source-id: d6d374466693cff397a0358bb38c790575998a21
2023-07-08 14:36:37 -07:00
David Tolnay
3c7aee92ee Update serde and serde_json
Reviewed By: zertosh

Differential Revision: D47316922

fbshipit-source-id: bc9c0b407d27fee3d590e456d4ddba34e0228f34
2023-07-08 14:34:39 -07:00
Pedro Rittner
e4e9b2e119 Upgrade rustls to 0.21 across all third party packages
Summary:
rustls 0.21.0 finally has support for IP addresses in certs.

Lots of other crates have (in)direct dependencies on rustls so I have to upgrade those too:

* hyper, reqwest, and auxiliary crates for those have been updated
* tonic has been updated and our local patch removed (since the relevant PR was merged upstream)

Reviewed By: zertosh

Differential Revision: D45989949

fbshipit-source-id: 658c11d29859d6d36368a412dab05e3c99313ee0
2023-05-19 12:39:46 -07:00
Vladimir Makaev
0f9e04a7fd Update 'test-case' crate from 1.2 to 3.1
Summary: The version we're using is > 1 year old. I noticed the old version doesn't allow to override `assert_eq!` in a form of `use pretty_assertions::assert_eq`

Reviewed By: asm89

Differential Revision: D46010319

fbshipit-source-id: b48678e76fe907bdfbc6709ab438db992eb8d674
2023-05-19 03:09:21 -07:00
David Tolnay
e1a36ac27f Update tracing-subscriber from 0.3.16 to 0.3.17
Reviewed By: zertosh

Differential Revision: D45286804

fbshipit-source-id: bb49b1b850f150a865577411de6bb5a0d91b7a20
2023-04-25 15:59:50 -07:00
Sergey Anpilov
547ac07600 Update procfs version 0.9 to 0.10.1
Reviewed By: Imxset21

Differential Revision: D45231077

fbshipit-source-id: 9ff577c5a13e685793056bd782ac0be19f61f74b
2023-04-25 12:27:38 -07:00
Thomas Orozco
999c1698cf (reland) rust/third-party: update to futures 0.3.28
Summary:
Note: this is a re-land of D44623815, which was was reverted because of a land race with D44626072

In particular this fixes `FlattenUnordered` having a nasty deadlock, but also
some other  bugs:

```
# 0.3.28 - 2023-03-30

* Update to syn 2. This raises MSRV of utility crates to 1.56. (#2730, #2733)
* Fix bug in `FlattenUnordered` (#2726, #2728)

# 0.3.27 - 2023-03-11

* Add `TryFlattenUnordered` (#2577, #2590, #2606, #2607)
* Add `AbortHandle::is_aborted` (#2710)
* Add `AbortRegistration::handle` (#2712)
* Make `BiLock` strict-provenance compatible (#2716)

# 0.3.26 - 2023-01-30

* Add `Either::as_pin_mut` and `Either::as_pin_ref` (#2691)
* Add `Shared::ptr_eq` and `Shared::ptr_hash` (#2691)
* Implement `FusedStream` for `Buffered` (#2676)
* Implement `FusedStream` for all streams in `ReadyChunks` (#2693)
* Fix bug in `FuturesOrdered::push_front` (#2664)
* Remove `Fut::Output: Clone` bounds from some `Shared` methods (#2662)
* Remove `T: Debug` bounds from `Debug` implementations of `mpsc` and `oneshot` types (#2666, #2667)

# 0.3.25 - 2022-10-20

* Fix soundness issue in `join!` and `try_join!` macros (#2649)
* Implement `Clone` for `sink::Drain` (#2650)

# 0.3.24 - 2022-08-29

* Fix incorrect termination of `select_with_strategy` streams (#2635)

# 0.3.23 - 2022-08-14

* Work around MSRV increase due to a cargo bug.
```

Reviewed By: zertosh

Differential Revision: D44632588

fbshipit-source-id: bdd87cb02b3aef63a65b1f9b852579225adfedbd
2023-04-04 10:14:43 -07:00
Mark Isaacson
b2db0b2202 Revert D44623815: rust/third-party: update to futures 0.3.28
Differential Revision:
D44623815

Original commit changeset: 343ddb9277e1

Original Phabricator Diff: D44623815

fbshipit-source-id: 2d99e8d24fd9b13343dfeb082788b0a6258fbe8c
2023-04-03 09:25:13 -07:00
Thomas Orozco
ec3b8f6cc1 rust/third-party: update to futures 0.3.28
Summary:
In particular this fixes `FlattenUnordered` having a nasty deadlock, but also
some other  bugs:

```
# 0.3.28 - 2023-03-30

* Update to syn 2. This raises MSRV of utility crates to 1.56. (#2730, #2733)
* Fix bug in `FlattenUnordered` (#2726, #2728)

# 0.3.27 - 2023-03-11

* Add `TryFlattenUnordered` (#2577, #2590, #2606, #2607)
* Add `AbortHandle::is_aborted` (#2710)
* Add `AbortRegistration::handle` (#2712)
* Make `BiLock` strict-provenance compatible (#2716)

# 0.3.26 - 2023-01-30

* Add `Either::as_pin_mut` and `Either::as_pin_ref` (#2691)
* Add `Shared::ptr_eq` and `Shared::ptr_hash` (#2691)
* Implement `FusedStream` for `Buffered` (#2676)
* Implement `FusedStream` for all streams in `ReadyChunks` (#2693)
* Fix bug in `FuturesOrdered::push_front` (#2664)
* Remove `Fut::Output: Clone` bounds from some `Shared` methods (#2662)
* Remove `T: Debug` bounds from `Debug` implementations of `mpsc` and `oneshot` types (#2666, #2667)

# 0.3.25 - 2022-10-20

* Fix soundness issue in `join!` and `try_join!` macros (#2649)
* Implement `Clone` for `sink::Drain` (#2650)

# 0.3.24 - 2022-08-29

* Fix incorrect termination of `select_with_strategy` streams (#2635)

# 0.3.23 - 2022-08-14

* Work around MSRV increase due to a cargo bug.
```

Reviewed By: zertosh

Differential Revision: D44623815

fbshipit-source-id: 343ddb9277e1703104e516d07fe0610b5020930a
2023-04-03 08:30:49 -07:00
Jason White
f1d651f422 Fix broken test perf::trace_other_thread
Summary:
Rust recently changed the default channel implementation, so maybe that's what triggered this failure.

This is a pretty brittle test. :/

Reviewed By: VladimirMakaev

Differential Revision: D44389514

fbshipit-source-id: 65ecc07edcab1aef99eb31dea2343d6ff4a92aa2
2023-03-25 16:12:24 -07:00
Jason White
531faf7a34 Prepare safeptrace to be published as a crate
Summary:
* Adds a `README.md` file.
 * Adds optional features to enable memory access and the async API.

`safeptrace` depends on `reverie-process` and `reverie-memory`, so those will need to be published as crates too.

Reviewed By: VladimirMakaev

Differential Revision: D44386559

fbshipit-source-id: e74c55d5d26239aa09aedac130dca880eb5f1206
2023-03-25 16:12:24 -07:00
Thomas Orozco
e7cdd0db8d third-party/rust: vendor a fork of perf-event
Summary:
For https://github.com/jimblandy/perf-event/pull/29 which sets CLOEXEC by
default.

Reviewed By: edward-shen

Differential Revision:
D43983384

Privacy Context Container: L1123788

fbshipit-source-id: 478c0e11bd815e916094b48ce7763b4dfc3e5f79
2023-03-15 10:34:47 -07:00
Arun Thulasi
d51b9e8a1c Update libc-0.2.137 to libc-0.2.139
Reviewed By: zertosh

Differential Revision: D43203556

fbshipit-source-id: 460f339f603fec97f367967a20a4c6e7a81ad027
2023-02-12 16:30:00 -08:00
Andres Suarez
4dd84a499d Update tokio-1.21.2 to tokio-1.25.0
Reviewed By: diliop

Differential Revision: D42837228

fbshipit-source-id: 5e891cf1ff8ab1beff6e3c845b913144655778ea
2023-01-30 14:49:36 -08:00
Jason White
9515dfe3c2 Only compile for Linux
Summary:
Everything in Reverie is super Linux-specific, so we should just skip compilation if we're not targetting Linux.

This is helpful for consumers of the library when it gets published to crates.io. With this, they don't need to have a special case for this in the `[dependencies]` section of `Cargo.toml`.

Reviewed By: VladimirMakaev

Differential Revision: D41824410

fbshipit-source-id: be1e0a887e35ed151cfad27af8107246df30c2e5
2022-12-07 18:05:11 -08:00
Jason White
bcce15d17d safeptrace: Remove unnecessary copying of registers
Summary: Might lead to a minor speed up, but probably not due to the magic of compiler optimizations. I noticed this a while back and meant to fix it before publishing the `safeptrace` crate (so this won't be a breaking change later).

Reviewed By: VladimirMakaev

Differential Revision: D41699769

fbshipit-source-id: ef3e5f24468ddb4b69b8628e28b1da8cfdcbce7b
2022-12-07 07:38:13 -08:00
Jason White
487f7b6d8b Add Guest::has_cpuid_interception
Summary: This is useful for knowing if we're able to intercept CPUID or not.

Reviewed By: rrnewton

Differential Revision: D41599743

fbshipit-source-id: 56b1ca16f028ad070ecdf4e8489b6e318e386e65
2022-11-30 11:14:39 -08:00
Jason White
0037ec860d Remove usage of 'never_type' nightly feature
Summary: It doesn't look like the never type is going to be stabilized anytime soon, so lets just use the `never-say-never` crate instead.

Reviewed By: dtolnay

Differential Revision: D41459064

fbshipit-source-id: 6bc82377242b31171251b2393a534f76c7f3d97a
2022-11-29 12:40:44 -08:00
Jason White
42a87f915e Add retries to early syscall injection
Summary: Our early injected syscalls could get interrupted by a signal (like `SIGWINCH`), so we should always be sure to retry them.

Reviewed By: rrnewton

Differential Revision: D41568242

fbshipit-source-id: e3026bd162619795e776198b7bf05d3e33753c05
2022-11-29 08:26:39 -08:00
Jason White
ab518fb892 Handle CPUID faulting failures gracefully
Summary: We inject a call to `arch_prctl(ARCH_SET_CPUID, 0)` to enable faulting on CPUID. This isn't supported on virtual machines, so we should gracefully handle any errors.

Reviewed By: rrnewton

Differential Revision: D41567919

fbshipit-source-id: 9623f2852d9b2e8cad0de447214c798c5b9dcb0b
2022-11-29 04:04:22 -08:00
Jason White
5478e47a25 Fix VDSO patching of small entries
Summary:
On Ubuntu 22.04, this is the disassembly of `gettimeofday` and `clock_gettime`:
```
0000000000000bd0 <__vdso_gettimeofday@LINUX_2.6>:
 bd0:   e9 4b fe ff ff          jmp    a20 <LINUX_2.6@LINUX_2.6+0xa20>
 bd5:   66 66 2e 0f 1f 84 00    data16 cs nopw 0x0(%rax,%rax,1)
 bdc:   00 00 00 00

0000000000000c10 <__vdso_clock_gettime@LINUX_2.6>:
 c10:   e9 9b fb ff ff          jmp    7b0 <LINUX_2.6@LINUX_2.6+0x7b0>
 c15:   66 66 2e 0f 1f 84 00    data16 cs nopw 0x0(%rax,%rax,1)
 c1c:   00 00 00 00
```

These implementations just `jmp` to another internal function. The dynamic symbol table reports that these functions are 5 bytes in size, but we can see that they are aligned up to 16 bytes and they are still safe to patch. Thus, our patcher should take this padding and alignment into account.

Fixes https://github.com/facebookexperimental/hermit/issues/16.

Differential Revision: D41565913

fbshipit-source-id: 164aca876abf92642e7ebf4ce96d0860b276647b
2022-11-28 16:28:02 -08:00
Jason White
c448d10586 Reduce size of getcpu vdso
Summary: The `getcpu` VDSO was just returning 0 unconditionally. This was an old hack to determinize the getcpu syscall, but we don't need this anymore because we just intercept it and determinize it instead. Reducing the size of this vdso function will make it more compatible with various VDSO implementations.

Reviewed By: wkhughes

Differential Revision: D41506684

fbshipit-source-id: 3dacad93971ecc7969d725f8b7e984a189a0ebb4
2022-11-23 13:55:56 -08:00
Jason White
debce82715 Remove unnecessary padding on vdso replacements
Summary: If the VDSO replacements are too large, they will overwrite too much memory if the real VDSO functions are smaller than the replacement. This fixes https://github.com/facebookexperimental/hermit/issues/16.

Reviewed By: wkhughes

Differential Revision: D41506686

fbshipit-source-id: 7c33e68ae9cccb440b820245e4d37184e156d03b
2022-11-23 13:55:56 -08:00
Jason White
58bc1cce8b Remove unused bench_black_box unstable feature
Summary: Removes usage of the `bench_black_box` unstable feature. This brings us one step closer to removing all usage of unstable nightly features, which will allow publishing a crate on https://crates.io.

Reviewed By: rrnewton

Differential Revision: D41387686

fbshipit-source-id: 98bfcf053cd320137dbf62f4ef24beb835e1f0df
2022-11-18 12:36:51 -08:00
Jason White
0f5f62c1dd Remove need for map_first_last unstable feature
Summary: Removes usage of the `map_first_last` unstable feature. This brings us one step closer to removing all usage of unstable nightly features, which will allow publishing a crate on https://crates.io.

Reviewed By: rrnewton

Differential Revision: D41387687

fbshipit-source-id: 05184220a6d6cd5ec03339845741b46e9557ca83
2022-11-18 12:36:51 -08:00
Jason White
ee616643a4 Remove need for async_closure unstable feature
Summary: Removes usage of the `async_closure` unstable feature. This brings us one step closer to removing all usage of unstable nightly features, which will allow publishing a crate on https://crates.io.

Reviewed By: rrnewton

Differential Revision: D41387688

fbshipit-source-id: 136c5c8d19876e732d18dca195e87e3bc2ab7661
2022-11-18 12:36:51 -08:00