Skip to content

Conversation

jieyouxu
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

ChrisDenton and others added 14 commits August 9, 2024 10:43
Refactor `powerpc64` call ABI handling

As the [specification](https://openpowerfoundation.org/specifications/64bitelfabi/) for the ELFv2 ABI states that returned aggregates are returned like arguments as long as they are at most two doublewords, I've merged the `classify_arg` and `classify_ret` functions to reduce code duplication. The only functional change is to fix rust-lang#128579: the `classify_ret` function was incorrectly handling aggregates where `bits > 64 && bits < 128`. I've used the aggregate handling implementation from `classify_arg` which doesn't have this issue.

``@awilfox`` could you test this on `powerpc64-unknown-linux-musl`? I'm only able to cross-test on `powerpc64-unknown-linux-gnu` and `powerpc64le-unknown-linux-gnu` locally at the moment, and as a tier 3 target `powerpc64-unknown-linux-musl` has zero CI coverage.

Fixes: rust-lang#128579
…k-Simulacrum

Add windows-targets crate to std's sysroot

With this PR, when backtrace is used as a crate from crates.io it will (once updated) use the real [windows-targets](https://crates.io/crates/windows-targets) crate. But when used from std it'll use std's replacement version.

This allows sharing our customized `windows_tagets::link!` macro between std proper and the backtrace crate when used as part of std, ensuring a consistent linking story. This will be especially important once we move to using [`raw-dylib`](https://doc.rust-lang.org/reference/items/external-blocks.html#dylib-versus-raw-dylib) by default.
…iler-errors

Tidy up `dump-ice-to-disk` and make assertion failures dump ICE messages

For the future traveler: **if you did a `git blame` and found this PR that last modified `dump-ice-to-disk` because the test failed in a completely unrelated PR, then I'm afraid our ICE dump may have regressed or somehow behaves differently on `i686-mingw`.**

A bit of clean up to the `dump-ice-to-disk` test.

- Fixes/updates the top-level comment.
- Add a FIXME pointing to rust-lang#128911 for flakiness.
- Instead of trying to manually cleanup `rustc-ice*.txt` dumps, run each test instance in a separate temp directory.
- Explicitly make `RUSTC_ICE` unavailable in one of the `-Zmetrics-dir` test case to not have interference from environment.
- Make assertion failures (on ICE dump line count mismatch) extremely verbose to help debug why this test is flakey in CI (rust-lang#128911).

Contains a fix by `@saethlin` in rust-lang#128909, should wait until that is merged then rebase on top.

try-job: aarch64-gnu
try-job: aarch64-apple
try-job: x86_64-msvc
try-job: i686-mingw
try-job: test-various
…s, r=compiler-errors

Fix codegen-units tests that were disabled 8 years ago

I don't know if any of these tests still have value. They were disabled by rust-lang#33890, and we've survived without them for a while. But considering how small this test suite is, maybe it's worth having them.

I also had to add some normalization to the codegen-units tests output. I think the fact that I had to add some underscores how poor our test coverage is.
Fix warnings in rmake tests on `x86_64-unknown-linux-gnu`

r? ``@jieyouxu``

This PR fixes some warnings I saw in rmake tests. I didn't deny more warnings in this PR until ``@jieyouxu`` gives their opinion, but maybe we should actually deny all warnings in `rmake.rs` files?

I've also only looked at non-ignored tests on `x86_64-unknown-linux-gnu`, and denying warnings would require a try build for all targets 😓.
@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc O-windows Operating system: Windows S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Aug 11, 2024
@jieyouxu
Copy link
Member Author

Disables a flakey run-make test on Windows to not cause full CI to fail while I investigate on the side.

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Aug 11, 2024

📌 Commit d1b29fc has been approved by jieyouxu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 11, 2024
@bors
Copy link
Collaborator

bors commented Aug 11, 2024

⌛ Testing commit d1b29fc with merge 8707132...

bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 11, 2024
Rollup of 5 pull requests

Successful merges:

 - rust-lang#128643 (Refactor `powerpc64` call ABI handling)
 - rust-lang#128873 (Add windows-targets crate to std's sysroot)
 - rust-lang#128916 (Tidy up `dump-ice-to-disk` and make assertion failures dump ICE messages)
 - rust-lang#128929 (Fix codegen-units tests that were disabled 8 years ago)
 - rust-lang#128937 (Fix warnings in rmake tests on `x86_64-unknown-linux-gnu`)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-nopt failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
test [assembly] tests/assembly/panic-unwind-no-uwtable.rs ... ok
test [assembly] tests/assembly/pie-relocation-model.rs#x64 ... ok
test [assembly] tests/assembly/pic-relocation-model.rs#x64 ... ok
test [assembly] tests/assembly/simd-bitmask.rs#aarch64 ... ok
test [assembly] tests/assembly/powerpc64-struct-abi.rs#elfv2-le ... FAILED
test [assembly] tests/assembly/powerpc64-struct-abi.rs#elfv2-be ... FAILED
test [assembly] tests/assembly/powerpc64-struct-abi.rs#elfv1-be ... FAILED
test [assembly] tests/assembly/simd-bitmask.rs#x86-avx2 ... ok
test [assembly] tests/assembly/simd-bitmask.rs#x86-avx512 ... ok
test [assembly] tests/assembly/simd-intrinsic-gather.rs#x86-avx512 ... ok
test [assembly] tests/assembly/simd-intrinsic-mask-load.rs#x86-avx512 ... ok
---
test [assembly] tests/assembly/thin-lto.rs ... ok

failures:

---- [assembly] tests/assembly/powerpc64-struct-abi.rs#elfv2-le stdout ----

error in revision `elfv2-le`: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s" "/checkout/tests/assembly/powerpc64-struct-abi.rs" "--check-prefix=CHECK" "--check-prefix" "elfv2-le" "--check-prefix" "NONMSVC" "--allow-unused-prefixes" "--dump-input-context" "100"
--- stderr -------------------------------
--- stderr -------------------------------
/checkout/tests/assembly/powerpc64-struct-abi.rs:52:14: error: elfv2-le: expected string not found in input
// elfv2-le: lxvd2x [[REG1:.*]], 0, 4
             ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:4:27: note: scanning from here
 .section .text.read_large,"ax",@progbits
                          ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:18:2: note: possible intended match here
 ld 3, 0(3)
 ^
/checkout/tests/assembly/powerpc64-struct-abi.rs:71:19: error: elfv2-le-NEXT: expected string not found in input
// elfv2-le-NEXT: lhz 4, 8(3)
                  ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:36:12: note: scanning from here
 ld 3, 0(3)
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:39:2: note: possible intended match here
 ld 4, -8(1)
 ^
/checkout/tests/assembly/powerpc64-struct-abi.rs:88:19: error: elfv2-le-NEXT: is not on the line after the previous match
// elfv2-le-NEXT: lhz 3, 0(3)
                  ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:56:2: note: 'next' match was here
 lhz 3, 0(3)
 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:54:13: note: previous match ended here
 lbz 4, 2(3)
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:55:1: note: non-matching line after previous match is here
 stb 4, -2(1)
/checkout/tests/assembly/powerpc64-struct-abi.rs:99:16: error: CHECK-NEXT: expected string not found in input
/checkout/tests/assembly/powerpc64-struct-abi.rs:99:16: error: CHECK-NEXT: expected string not found in input
// CHECK-NEXT: std 4, 8(6)
               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:89:13: note: scanning from here
 std 3, 0(6)
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:92:4: note: possible intended match here
   ^
   ^
/checkout/tests/assembly/powerpc64-struct-abi.rs:112:19: error: elfv2-le-NEXT: expected string not found in input
// elfv2-le-NEXT: sth 4, 8(5)
                  ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:113:13: note: scanning from here
 std 3, 0(5)
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:118:15: note: possible intended match here
 .size write_medium, .Lfunc_end4-.Lfunc_begin4
              ^
/checkout/tests/assembly/powerpc64-struct-abi.rs:126:19: error: elfv2-le-NEXT: expected string not found in input
// elfv2-le-NEXT: stb [[REG1]], 2(4)
                  ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:138:13: note: scanning from here
 sth 3, 0(4)
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:138:13: note: with "REG1" equal to "3"
 sth 3, 0(4)
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s:146:12: note: possible intended match here
 .ident "rustc version 1.82.0-nightly (870713289 2024-08-11)"


Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-le/powerpc64-struct-abi.s
Check file: /checkout/tests/assembly/powerpc64-struct-abi.rs

-dump-input=help explains the following input dump.
Input was:
<<<<<<
            1:  .text 
            1:  .text 
            2:  .abiversion 2 
            3:  .file "powerpc64_struct_abi.3f29bd1ebc213162-cgu.0" 
            4:  .section .text.read_large,"ax",@progbits 
check:52'0                               X~~~~~~~~~~~~~~~ error: no match found
            5:  .globl read_large 
check:52'0     ~~~~~~~~~~~~~~~~~~~
            6:  .p2align 4 
check:52'0     ~~~~~~~~~~~~
            7:  .type read_large,@function 
check:52'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            8: read_large: 
check:52'0     ~~~~~~~~~~~~
            9: .Lfunc_begin0: 
check:52'0     ~~~~~~~~~~~~~~~
           10:  .cfi_startproc 
check:52'0     ~~~~~~~~~~~~~~~~
           11:  std 4, -8(1) 
check:52'0     ~~~~~~~~~~~~~~
           12:  mr 4, 3 
check:52'0     ~~~~~~~~~
           13:  ld 3, -8(1) 
check:52'0     ~~~~~~~~~~~~~
           14:  lwz 5, 16(3) 
check:52'0     ~~~~~~~~~~~~~~
           15:  stw 5, 16(4) 
check:52'0     ~~~~~~~~~~~~~~
           16:  ld 5, 8(3) 
check:52'0     ~~~~~~~~~~~~
           17:  std 5, 8(4) 
check:52'0     ~~~~~~~~~~~~~
           18:  ld 3, 0(3) 
check:52'0     ~~~~~~~~~~~~
check:52'1      ?           possible intended match
           19:  std 3, 0(4) 
check:52'0     ~~~~~~~~~~~~~
           20:  blr 
check:52'0     ~~~~~
           21:  .long 0 
check:52'0     ~~~~~~~~~
           22:  .quad 0 
check:52'0     ~~~~~~~~~
           23: .Lfunc_end0: 
check:52'0     ~~~~~~~~~~~~~
           24:  .size read_large, .Lfunc_end0-.Lfunc_begin0 
check:52'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           25:  .cfi_endproc 
check:52'0     ~~~~~~~~~~~~~~
check:52'0     ~
check:52'0     ~
           27:  .section .text.read_medium,"ax",@progbits 
check:52'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           28:  .globl read_medium 
           29:  .p2align 4 
           30:  .type read_medium,@function 
           31: read_medium: 
           32: .Lfunc_begin1: 
           33:  .cfi_startproc 
           34:  lhz 4, 8(3) 
           35:  sth 4, -8(1) 
           36:  ld 3, 0(3) 
next:71'0                 X error: no match found
           37:  std 3, -16(1) 
next:71'0      ~~~~~~~~~~~~~~~
           38:  ld 3, -16(1) 
next:71'0      ~~~~~~~~~~~~~~
           39:  ld 4, -8(1) 
next:71'0      ~~~~~~~~~~~~~
next:71'1       ?            possible intended match
           40:  blr 
next:71'0      ~~~~~
           41:  .long 0 
next:71'0      ~~~~~~~~~
           42:  .quad 0 
next:71'0      ~~~~~~~~~
           43: .Lfunc_end1: 
next:71'0      ~~~~~~~~~~~~~
           44:  .size read_medium, .Lfunc_end1-.Lfunc_begin1 
next:71'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           45:  .cfi_endproc 
next:71'0      ~~~~~~~~~~~~~~
           46:  
next:71'0      ~
           47:  .section .text.read_small,"ax",@progbits 
next:71'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~
           48:  .globl read_small 
           49:  .p2align 4 
           50:  .type read_small,@function 
           51: read_small: 
           52: .Lfunc_begin2: 
           53:  .cfi_startproc 
           54:  lbz 4, 2(3) 
           55:  stb 4, -2(1) 
           56:  lhz 3, 0(3) 
next:88         !~~~~~~~~~~  error: match on wrong line
           57:  sth 3, -4(1) 
           58:  lbz 4, -2(1) 
           59:  lhz 3, -4(1) 
           60:  rldimi 3, 4, 16, 0 
           61:  blr 
           62:  .long 0 
           63:  .quad 0 
           64: .Lfunc_end2: 
           65:  .size read_small, .Lfunc_end2-.Lfunc_begin2 
           66:  .cfi_endproc 
           67:  
           68:  .section .text.write_large,"ax",@progbits 
           69:  .globl write_large 
           70:  .p2align 4 
           71:  .type write_large,@function 
           72: write_large: 
           73: .Lfunc_begin3: 
           74:  .cfi_startproc 
           75:  std 3, -24(1) 
           76:  std 4, -16(1) 
           77:  std 5, -8(1) 
           78:  lwz 3, -8(1) 
           79:  stw 3, -32(1) 
           80:  ld 3, -16(1) 
           81:  std 3, -40(1) 
           82:  ld 3, -24(1) 
           83:  std 3, -48(1) 
           84:  lwz 3, -32(1) 
           85:  stw 3, 16(6) 
           86:  ld 3, -40(1) 
           87:  std 3, 8(6) 
           88:  ld 3, -48(1) 
           89:  std 3, 0(6) 
next:99'0                  X error: no match found
           90:  blr 
next:99'0      ~~~~~
           91:  .long 0 
next:99'0      ~~~~~~~~~
           92:  .quad 0 
next:99'0      ~~~~~~~~~
next:99'1         ?      possible intended match
           93: .Lfunc_end3: 
next:99'0      ~~~~~~~~~~~~~
           94:  .size write_large, .Lfunc_end3-.Lfunc_begin3 
next:99'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           95:  .cfi_endproc 
next:99'0      ~~~~~~~~~~~~~~
           96:  
next:99'0      ~
           97:  .section .text.write_medium,"ax",@progbits 
next:99'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           98:  .globl write_medium 
           99:  .p2align 4 
          100:  .type write_medium,@function 
          101: write_medium: 
          102: .Lfunc_begin4: 
          103:  .cfi_startproc 
          104:  std 3, -16(1) 
          105:  std 4, -8(1) 
          106:  lhz 3, -8(1) 
          107:  sth 3, -24(1) 
          108:  ld 3, -16(1) 
          109:  std 3, -32(1) 
          110:  lhz 3, -24(1) 
          111:  sth 3, 8(5) 
          112:  ld 3, -32(1) 
          113:  std 3, 0(5) 
next:112'0                 X error: no match found
          114:  blr 
next:112'0     ~~~~~
          115:  .long 0 
next:112'0     ~~~~~~~~~
          116:  .quad 0 
next:112'0     ~~~~~~~~~
          117: .Lfunc_end4: 
next:112'0     ~~~~~~~~~~~~~
          118:  .size write_medium, .Lfunc_end4-.Lfunc_begin4 
next:112'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:112'1                   ?                                 possible intended match
          119:  .cfi_endproc 
next:112'0     ~~~~~~~~~~~~~~
          120:  
next:112'0     ~
          121:  .section .text.write_small,"ax",@progbits 
next:112'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
          122:  .globl write_small 
          123:  .p2align 4 
          124:  .type write_small,@function 
          125: write_small: 
          126: .Lfunc_begin5: 
          127:  .cfi_startproc 
          128:  sth 3, -4(1) 
          129:  srwi 3, 3, 16 
          130:  stb 3, -2(1) 
          131:  lbz 3, -2(1) 
          132:  stb 3, -6(1) 
          133:  lhz 3, -4(1) 
          134:  sth 3, -8(1) 
          135:  lbz 3, -6(1) 
          136:  stb 3, 2(4) 
          137:  lhz 3, -8(1) 
          138:  sth 3, 0(4) 
next:126'0                 X error: no match found
next:126'1                   with "REG1" equal to "3"
          139:  blr 
next:126'0     ~~~~~
          140:  .long 0 
next:126'0     ~~~~~~~~~
          141:  .quad 0 
next:126'0     ~~~~~~~~~
          142: .Lfunc_end5: 
next:126'0     ~~~~~~~~~~~~~
          143:  .size write_small, .Lfunc_end5-.Lfunc_begin5 
next:126'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          144:  .cfi_endproc 
next:126'0     ~~~~~~~~~~~~~~
          145:  
next:126'0     ~
          146:  .ident "rustc version 1.82.0-nightly (870713289 2024-08-11)" 
next:126'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:126'2                ?                                                   possible intended match
          147:  .section ".note.GNU-stack","",@progbits 
next:126'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------------------------



---- [assembly] tests/assembly/powerpc64-struct-abi.rs#elfv2-be stdout ----

error in revision `elfv2-be`: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s" "/checkout/tests/assembly/powerpc64-struct-abi.rs" "--check-prefix=CHECK" "--check-prefix" "elfv2-be" "--check-prefix" "NONMSVC" "--allow-unused-prefixes" "--dump-input-context" "100" "--check-prefix" "be"
--- stderr -------------------------------
--- stderr -------------------------------
/checkout/tests/assembly/powerpc64-struct-abi.rs:46:8: error: be: expected string not found in input
// be: lwz [[REG1:.*]], 16(4)
       ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:4:27: note: scanning from here
 .section .text.read_large,"ax",@progbits
                          ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:14:2: note: possible intended match here
 lwz 5, 16(3)
 ^
/checkout/tests/assembly/powerpc64-struct-abi.rs:68:19: error: elfv2-be-NEXT: is not on the line after the previous match
// elfv2-be-NEXT: ld 3, 0(3)
                  ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:36:2: note: 'next' match was here
 ld 3, 0(3)
 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:34:13: note: previous match ended here
 lhz 4, 8(3)
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:35:1: note: non-matching line after previous match is here
 sth 4, -8(1)
^
/checkout/tests/assembly/powerpc64-struct-abi.rs:85:19: error: elfv2-be-NEXT: expected string not found in input
// elfv2-be-NEXT: lbz 3, 2(3)
                  ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:56:13: note: scanning from here
 lhz 3, 0(3)
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:59:2: note: possible intended match here
 lbz 3, -2(1)
 ^
/checkout/tests/assembly/powerpc64-struct-abi.rs:98:13: error: be-NEXT: expected string not found in input
// be-NEXT: rldicl [[REG1:.*]], 5, 32, 32
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:89:13: note: scanning from here
 std 3, 0(6)
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:94:2: note: possible intended match here
 .size write_large, .Lfunc_end3-.Lfunc_begin3
 ^
/checkout/tests/assembly/powerpc64-struct-abi.rs:110:13: error: be-NEXT: expected string not found in input
// be-NEXT: rldicl [[REG1:.*]], 4, 16, 48
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:113:13: note: scanning from here
 std 3, 0(5)
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:118:2: note: possible intended match here
 .size write_medium, .Lfunc_end4-.Lfunc_begin4
 ^
/checkout/tests/assembly/powerpc64-struct-abi.rs:121:13: error: be-NEXT: expected string not found in input
// be-NEXT: srwi [[REG1:.*]], 3, 8
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:136:13: note: scanning from here
 stb 3, 2(4)
            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s:138:2: note: possible intended match here
 sth 3, 0(4)


Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly/powerpc64-struct-abi.elfv2-be/powerpc64-struct-abi.s
Check file: /checkout/tests/assembly/powerpc64-struct-abi.rs

-dump-input=help explains the following input dump.
Input was:
<<<<<<
            1:  .text 
            1:  .text 
            2:  .abiversion 2 
            3:  .file "powerpc64_struct_abi.3f29bd1ebc213162-cgu.0" 
            4:  .section .text.read_large,"ax",@progbits 
check:46'0                               X~~~~~~~~~~~~~~~ error: no match found
            5:  .globl read_large 
check:46'0     ~~~~~~~~~~~~~~~~~~~
            6:  .p2align 2 
check:46'0     ~~~~~~~~~~~~
            7:  .type read_large,@function 
check:46'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            8: read_large: 
check:46'0     ~~~~~~~~~~~~
            9: .Lfunc_begin0: 
check:46'0     ~~~~~~~~~~~~~~~
           10:  .cfi_startproc 
check:46'0     ~~~~~~~~~~~~~~~~
           11:  std 4, -8(1) 
check:46'0     ~~~~~~~~~~~~~~
           12:  mr 4, 3 
check:46'0     ~~~~~~~~~
           13:  ld 3, -8(1) 
check:46'0     ~~~~~~~~~~~~~
           14:  lwz 5, 16(3) 
check:46'0     ~~~~~~~~~~~~~~
check:46'1      ?             possible intended match
           15:  stw 5, 16(4) 
check:46'0     ~~~~~~~~~~~~~~
           16:  ld 5, 8(3) 
check:46'0     ~~~~~~~~~~~~
           17:  std 5, 8(4) 
check:46'0     ~~~~~~~~~~~~~
           18:  ld 3, 0(3) 
check:46'0     ~~~~~~~~~~~~
           19:  std 3, 0(4) 
check:46'0     ~~~~~~~~~~~~~
           20:  blr 
check:46'0     ~~~~~
           21:  .long 0 
check:46'0     ~~~~~~~~~
           22:  .quad 0 
check:46'0     ~~~~~~~~~
           23: .Lfunc_end0: 
check:46'0     ~~~~~~~~~~~~~
           24:  .size read_large, .Lfunc_end0-.Lfunc_begin0 
check:46'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           25:  .cfi_endproc 
check:46'0     ~~~~~~~~~~~~~~
check:46'0     ~
check:46'0     ~
           27:  .section .text.read_medium,"ax",@progbits 
check:46'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           28:  .globl read_medium 
           29:  .p2align 2 
           30:  .type read_medium,@function 
           31: read_medium: 
           32: .Lfunc_begin1: 
           33:  .cfi_startproc 
           34:  lhz 4, 8(3) 
           35:  sth 4, -8(1) 
           36:  ld 3, 0(3) 
next:68         !~~~~~~~~~  error: match on wrong line
           37:  std 3, -16(1) 
           38:  ld 3, -16(1) 
           39:  ld 4, -8(1) 
           40:  blr 
           41:  .long 0 
           42:  .quad 0 
           43: .Lfunc_end1: 
           44:  .size read_medium, .Lfunc_end1-.Lfunc_begin1 
           45:  .cfi_endproc 
           46:  
           47:  .section .text.read_small,"ax",@progbits 
           48:  .globl read_small 
           49:  .p2align 2 
           50:  .type read_small,@function 
           51: read_small: 
           52: .Lfunc_begin2: 
           53:  .cfi_startproc 
           54:  lbz 4, 2(3) 
           55:  stb 4, -2(1) 
           56:  lhz 3, 0(3) 
next:85'0                  X error: no match found
           57:  sth 3, -4(1) 
next:85'0      ~~~~~~~~~~~~~~
           58:  lhz 4, -4(1) 
next:85'0      ~~~~~~~~~~~~~~
           59:  lbz 3, -2(1) 
next:85'0      ~~~~~~~~~~~~~~
next:85'1       ?             possible intended match
           60:  rldimi 3, 4, 8, 0 
next:85'0      ~~~~~~~~~~~~~~~~~~~
           61:  blr 
next:85'0      ~~~~~
           62:  .long 0 
next:85'0      ~~~~~~~~~
           63:  .quad 0 
next:85'0      ~~~~~~~~~
           64: .Lfunc_end2: 
next:85'0      ~~~~~~~~~~~~~
           65:  .size read_small, .Lfunc_end2-.Lfunc_begin2 
next:85'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           66:  .cfi_endproc 
next:85'0      ~~~~~~~~~~~~~~
           67:  
next:85'0      ~
           68:  .section .text.write_large,"ax",@progbits 
next:85'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           69:  .globl write_large 
           70:  .p2align 2 
           71:  .type write_large,@function 
           72: write_large: 
           73: .Lfunc_begin3: 
           74:  .cfi_startproc 
           75:  std 3, -24(1) 
           76:  std 4, -16(1) 
           77:  std 5, -8(1) 
           78:  lwz 3, -8(1) 
           79:  stw 3, -32(1) 
           80:  ld 3, -16(1) 
           81:  std 3, -40(1) 
           82:  ld 3, -24(1) 
           83:  std 3, -48(1) 
           84:  lwz 3, -32(1) 
           85:  stw 3, 16(6) 
           86:  ld 3, -40(1) 
           87:  std 3, 8(6) 

@bors
Copy link
Collaborator

bors commented Aug 11, 2024

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 11, 2024
@jieyouxu
Copy link
Member Author

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 11, 2024
@jieyouxu jieyouxu closed this Aug 11, 2024
@jieyouxu jieyouxu deleted the rollup-l23j21x branch August 11, 2024 12:55
@jieyouxu
Copy link
Member Author

test [assembly] tests/assembly/powerpc64-struct-abi.rs#elfv2-le ... FAILED
test [assembly] tests/assembly/powerpc64-struct-abi.rs#elfv2-be ... FAILED
test [assembly] tests/assembly/powerpc64-struct-abi.rs#elfv1-be ... FAILED

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc O-windows Operating system: Windows rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants