Skip to content

Commit e0e97f2

Browse files
Rollup merge of rust-lang#157276 - RalfJung:miri, r=RalfJung
miri subtree update Subtree update of `miri` to rust-lang/miri@9fde9f5. Created using https://github.com/rust-lang/josh-sync. r? @ghost
2 parents 3a06130 + 452b0ce commit e0e97f2

62 files changed

Lines changed: 2853 additions & 697 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/tools/miri/.github/workflows/ci.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,18 @@ jobs:
155155
cd ../rust # ./x does not seem to like being invoked from elsewhere
156156
./x check miri
157157
158+
# This job is intentionally separate from `test` so that Priroda can be
159+
# developed as a separate crate inside the Miri repository for now.
160+
priroda-build:
161+
name: Priroda
162+
runs-on: ubuntu-latest
163+
steps:
164+
- uses: actions/checkout@v6
165+
- uses: ./.github/workflows/setup
166+
- name: build Priroda
167+
working-directory: priroda
168+
run: cargo build --locked
169+
158170
coverage:
159171
name: coverage report
160172
runs-on: ubuntu-latest
@@ -168,7 +180,7 @@ jobs:
168180
# ALL THE PREVIOUS JOBS NEED TO BE ADDED TO THE `needs` SECTION OF THIS JOB!
169181
# And they should be added below in `cron-fail-notify` as well.
170182
conclusion:
171-
needs: [test, style, bootstrap, coverage]
183+
needs: [test, style, bootstrap, coverage, priroda-build]
172184
# We need to ensure this job does *not* get skipped if its dependencies fail,
173185
# because a skipped job is considered a success by GitHub. So we have to
174186
# overwrite `if:`. We use `!cancelled()` to ensure the job does still not get run
@@ -252,7 +264,7 @@ jobs:
252264
cron-fail-notify:
253265
name: cronjob failure notification
254266
runs-on: ubuntu-latest
255-
needs: [test, style, bootstrap, coverage]
267+
needs: [test, style, bootstrap, coverage, priroda-build]
256268
if: ${{ github.event_name == 'schedule' && failure() }}
257269
steps:
258270
# Send a Zulip notification

src/tools/miri/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,10 @@ to Miri failing to detect cases of undefined behavior in a program.
517517
track interior mutable data on the level of references instead of on the
518518
byte-level as is done by default. Therefore, with this flag, Tree
519519
Borrows will be more permissive.
520+
* `-Zmiri-tree-borrows-relax-custom-allocator-uniqueness` disables uniqueness assumptions for
521+
`Box<T, A>` where `A` is not `Global`. The exact aliasing rules for such custom allocators are
522+
still up in the air, and by default Miri is conservative and rejects some allocator
523+
implementations that incur relevant aliasing between the allocation and the allocator.
520524
* `-Zmiri-force-page-size=<num>` overrides the default page size for an architecture, in multiples of 1k.
521525
`4` is default for most targets. This value should always be a power of 2 and nonzero.
522526

src/tools/miri/ci/ci.sh

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,10 @@ case $HOST_TARGET in
150150
i686-unknown-linux-gnu)
151151
# Host
152152
MIR_OPT=1 MANY_SEEDS=64 TEST_BENCH=1 CARGO_MIRI_ENV=1 run_tests
153-
# Fully, but not officially, supported tier 2
153+
# Not officially supported tier 2
154154
MANY_SEEDS=16 TEST_TARGET=aarch64-linux-android run_tests
155-
# Partially supported targets (tier 2)
156-
BASIC="empty_main integer heap_alloc libc-mem vec string btreemap" # ensures we have the basics: pre-main code, system allocator
157-
UNIX="hello panic/panic panic/unwind concurrency/simple atomic libc-mem libc-misc libc-random env num_cpus" # the things that are very similar across all Unixes, and hence easily supported there
155+
MANY_SEEDS=16 TEST_TARGET=loongarch64-unknown-linux-gnu run_tests
156+
# Partially supported targets (no_std, tier 2)
158157
TEST_TARGET=wasm32-unknown-unknown run_tests_minimal no_std empty_main wasm # this target doesn't really have std
159158
TEST_TARGET=thumbv7em-none-eabihf run_tests_minimal no_std
160159
;;

0 commit comments

Comments
 (0)