about summary refs log tree commit diff
path: root/src/tools
AgeCommit message (Collapse)AuthorLines
2024-08-18Auto merge of #126450 - madsmtm:promote-mac-catalyst, r=Mark-Simulacrumbors-0/+2
Promote Mac Catalyst targets to Tier 2, and ship with rustup Promote the Mac Catalyst targets `x86_64-apple-ios-macabi` and `aarch64-apple-ios-macabi` to Tier 2, as per [the MCP](https://github.com/rust-lang/compiler-team/issues/761) (see that for motivation and details). These targets are now also distributed with rustup, although without the sanitizer runtime, as that currently has trouble building, see https://github.com/rust-lang/rust/issues/129069.
2024-08-18Auto merge of #129230 - RalfJung:miri-sync, r=RalfJungbors-1045/+2536
Miri subtree update r? `@ghost`
2024-08-18fix build with bootstrap compilerRalf Jung-0/+7
2024-08-18Add EPOLLER supporttiif-6/+83
2024-08-18Auto merge of #3818 - tiif:loseevents, r=RalfJungbors-17/+94
epoll: iterate through output buffer then fetch an event from ready list Fixes #3812
2024-08-18epoll: iterate through output buffer then fetch an event from ready listtiif-17/+94
2024-08-18Auto merge of #3825 - RalfJung:epoll-miri, r=RalfJungbors-3/+9
epoll test_socketpair_read: explicitly check real and Miri behavior
2024-08-18epoll test_socketpair_read: explicitly check real and Miri behaviorRalf Jung-3/+9
2024-08-18make sure we read all arguments before returning earlyRalf Jung-3/+5
2024-08-18Move the maxevents.try_into().unwrap() after value checktiif-8/+9
2024-08-18Set EINVAL for epoll_wait maxevent value 0tiif-1/+17
2024-08-17Auto merge of #128771 - carbotaniuman:stabilize_unsafe_attr, r=nnethercotebors-1/+0
Stabilize `unsafe_attributes` # Stabilization report ## Summary This is a tracking issue for the RFC 3325: unsafe attributes We are stabilizing `#![feature(unsafe_attributes)]`, which makes certain attributes considered 'unsafe', meaning that they must be surrounded by an `unsafe(...)`, as in `#[unsafe(no_mangle)]`. RFC: rust-lang/rfcs#3325 Tracking issue: #123757 ## What is stabilized ### Summary of stabilization Certain attributes will now be designated as unsafe attributes, namely, `no_mangle`, `export_name`, and `link_section` (stable only), and these attributes will need to be called by surrounding them in `unsafe(...)` syntax. On editions prior to 2024, this is simply an edition lint, but it will become a hard error in 2024. This also works in `cfg_attr`, but `unsafe` is not allowed for any other attributes, including proc-macros ones. ```rust #[unsafe(no_mangle)] fn a() {} #[cfg_attr(any(), unsafe(export_name = "c"))] fn b() {} ``` For a table showing the attributes that were considered to be included in the list to require unsafe, and subsequent reasoning about why each such attribute was or was not included, see [this comment here](https://github.com/rust-lang/rust/pull/124214#issuecomment-2124753464) ## Tests The relevant tests are in `tests/ui/rust-2024/unsafe-attributes` and `tests/ui/attributes/unsafe`.
2024-08-18Apply test fixtiif-38/+65
- Fix epoll_ctl_del test - Simplified epoll_ctl_mod test and add test_no_notification_for_unregister_flag - Use assert_eq(0) for epoll_ctl
2024-08-17Auto merge of #3823 - RalfJung:sync, r=RalfJungbors-102/+27
simplify synchronization object creation logic
2024-08-17simplify synchronization object creation logicRalf Jung-102/+27
2024-08-17run TLS tests on SolarishRalf Jung-2/+2
2024-08-17tls_leak_main_thread_allowed: make test check target_thread_localRalf Jung-10/+13
2024-08-17Auto merge of #3819 - RalfJung:epoll-test, r=RalfJungbors-41/+37
epoll test: further clean up check_epoll_wait Given that `check_epoll_wait` compared the length of the two slices, I don't think it was possible for it to ever return `false`. It's also strange to have some requirements checked inside the function and some checked by the caller, so let's just move it all inside the function. Cc `@tiif` -- did I miss anything?
2024-08-17Auto merge of #3815 - RalfJung:pipe, r=RalfJungbors-66/+253
implement pipe and pipe2 Fixes https://github.com/rust-lang/miri/issues/3746
2024-08-17epoll test: further clean up check_epoll_waitRalf Jung-41/+37
2024-08-17Auto merge of #3817 - rust-lang:rustup-2024-08-17, r=RalfJungbors-34/+63
Automatic Rustup
2024-08-17SocketPair -> AnonSocket, because a single FD is not a pairRalf Jung-15/+15
2024-08-17test cleanupRalf Jung-55/+30
2024-08-17socketpair: test behavior when one end got closedRalf Jung-0/+20
2024-08-17implement pipe and pipe2Ralf Jung-31/+223
2024-08-17Auto merge of #3814 - tiif:epollhup, r=RalfJungbors-7/+30
Add epoll EPOLLHUP flag support Related discussion in https://github.com/rust-lang/miri/issues/3811#issuecomment-2293854742. This PR added support for ``EPOLLHUP`` flag.
2024-08-17extend comments on HUP vs RDHUPRalf Jung-1/+5
2024-08-17Auto merge of #3807 - RalfJung:projects, r=oli-obkbors-1/+34
add 'project' process guidlines for larger contributions Fixes https://github.com/rust-lang/miri/issues/3443 I am honestly not entirely sure what the consensus from what issue was. I feel like the epoll PR worked reasonably well, and not having been closely involved I am not sure which process `@oli-obk` followed there. Compared to the first draft in #3443 I tried to make this less formal and framed more as guidelines than hard rules.
2024-08-17Merge from rustcThe Miri Cronjob Bot-33/+62
2024-08-17Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-08-17Move epoll_ready_events.epollhup = true uptiif-1/+1
2024-08-16Update cargoWeihang Lo-0/+0
2024-08-16Auto merge of #129162 - matthiaskrgr:rollup-r0oxdev, r=matthiaskrgrbors-2/+3
Rollup of 6 pull requests Successful merges: - #128990 (Re-enable more debuginfo tests on freebsd) - #129042 (Special-case alias ty during the delayed bug emission in `try_from_lit`) - #129086 (Stabilize `is_none_or`) - #129149 (Migrate `validate_json.py` script to rust in `run-make/rustdoc-map-file` test) - #129154 (Fix wrong source location for some incorrect macro definitions) - #129161 (Stabilize std::thread::Builder::spawn_unchecked) r? `@ghost` `@rustbot` modify labels: rollup
2024-08-17Add epoll EPOLLHUP flag supporttiif-6/+25
2024-08-16Rollup merge of #129149 - GuillaumeGomez:migrate-python-script, r=jieyouxuMatthias Krüger-0/+2
Migrate `validate_json.py` script to rust in `run-make/rustdoc-map-file` test This PR fixes the FIXME I added for future-me who become present-me. :') Since there are multiple `run-make` tests using python scripts, I suppose more of them will migrate to Rust, hence why I added the `jzon` public reexport to the `run-make-support` crate. cc `@jieyouxu` r? `@Kobzol`
2024-08-16Rollup merge of #129086 - slanterns:is_none_or, r=dtolnayMatthias Krüger-2/+1
Stabilize `is_none_or` Closes: https://github.com/rust-lang/rust/issues/126383. `@rustbot` label: +T-libs-api r? libs-api
2024-08-16Auto merge of #3809 - RalfJung:fd-refcell, r=oli-obkbors-399/+294
FD: remove big surrounding RefCell, simplify socketpair A while ago, I added the big implicit RefCell for all file descriptions since it avoided interior mutability in `eventfd`. However, this requires us to hold the RefCell "lock" around the entire invocation of the `read`/`write` methods on an FD, which is not great. For instance, if an FD wants to update epoll notifications from inside its `read`/`write`, it is very crucial that the notification check does not end up accessing the FD itself. Such cycles, however, occur naturally: - eventfd wants to update notifications for itself - socketfd wants to update notifications on its "peer", which will in turn check *its* peer to see whether that buffer is empty -- and my peer's peer is myself. This then also lets us simplify socketpair, which currently holds a weak reference to its peer *and* a weak reference to the peer's buffer -- that was previously needed precisely to avoid this issue.
2024-08-16Auto merge of #3754 - Vanille-N:master, r=RalfJungbors-134/+200
Make unused states of Reserved unrepresentable In the [previous TB update](https://github.com/rust-lang/miri/pull/3742) we discovered that the existence of `Reserved + !ty_is_freeze + protected` is undesirable. This has the side effect of making `Reserved { conflicted: true, ty_is_freeze: false }` unreachable. As such it is desirable that this state would also be unrepresentable. This PR eliminates the unused configuration by changing ```rs enum PermissionPriv { Reserved { ty_is_freeze: bool, conflicted: bool }, ... } ``` into ```rs enum PermissionPriv { ReservedFrz { conflicted: bool }, ReservedIM, ... } ``` but this is not the only solution and `Reserved(Activable | Conflicted | InteriorMut)` could be discussed. In addition to making the unreachable state not representable anymore, this change has the nice side effect of enabling `foreign_read` to no longer depend explicitly on the `protected` flag. Currently waiting for - `@JoJoDeveloping` to confirm that this is the same representation of `Reserved` as what is being implemented in simuliris, - `@RalfJung` to approve that this does not introduce too much overhead in the trusted codebase.
2024-08-16explain the behavior on closed peersRalf Jung-11/+12
2024-08-16more epoll test cleanupRalf Jung-29/+25
2024-08-16comment and test regarding notifications on writes that dont change readinessRalf Jung-1/+17
2024-08-16epoll test cleanupRalf Jung-118/+58
2024-08-16Reexport `serde_json` crate from run-make-support to give it access to ↵Guillaume Gomez-0/+1
`run-make` tests
2024-08-16Migrate `validate_json.py` script to rust in `run-make/rustdoc-map-file` testGuillaume Gomez-0/+1
2024-08-16make ecx.check_and_update_readiness a truly private helper functionRalf Jung-63/+31
2024-08-16buf_has_writer is not needed any moreRalf Jung-11/+3
2024-08-16FD: remove big surrounding RefCell, simplify socketpairRalf Jung-187/+169
2024-08-16rewrite reproducible-build to rmakeOneirical-1/+0
2024-08-15Rollup merge of #129037 - Zalathar:rmake-libtest, r=jieyouxuJubilee-2/+0
Port `run-make/libtest-json` and `run-make/libtest-junit` to rmake Unlike #126773, this is just a straightforward port to `rmake`, without attempting to switch to compiletest or get rid of the (trivial) Python scripts. Part of #121876. r? ````@jieyouxu```` try-job: x86_64-msvc try-job: i686-mingw try-job: test-various try-job: aarch64-gnu try-job: aarch64-apple
2024-08-15Rollup merge of #129018 - Oneirical:nmemonic-artifice, r=jieyouxuJubilee-2/+6
Migrate `rlib-format-packed-bundled-libs` and `native-link-modifier-bundle` `run-make` tests to rmake Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html). Please try: // try-job: test-various (ATTEMPTED: IGNORE RESTORED) try-job: x86_64-msvc try-job: aarch64-apple try-job: aarch64-gnu try-job: x86_64-mingw try-job: i686-mingw