[llvm] [aarch64] XOR the frame pointer with the stack cookie when protecting the stack (PR #161114)

via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 18 01:13:44 PST 2025


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 166048 tests passed
* 2838 tests skipped
* 2 tests failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/arm64ec-indirect-call.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=arm64ec-pc-windows-msvc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/arm64ec-indirect-call.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/arm64ec-indirect-call.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=arm64ec-pc-windows-msvc
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/arm64ec-indirect-call.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/arm64ec-indirect-call.ll:35:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: cmp x8, x10
# |               ^
# | <stdin>:69:2: note: 'next' match was here
# |  cmp x8, x10
# |  ^
# | <stdin>:67:39: note: previous match ended here
# |  ldr x8, [x8, :lo12:__security_cookie]
# |                                       ^
# | <stdin>:68:1: note: non-matching line after previous match is here
# |  sub x8, sp, x8
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/arm64ec-indirect-call.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         64:  blr x8 
# |         65:  adrp x8, __security_cookie 
# |         66:  ldr x10, [sp, #8] 
# |         67:  ldr x8, [x8, :lo12:__security_cookie] 
# |         68:  sub x8, sp, x8 
# |         69:  cmp x8, x10 
# | next:35      !~~~~~~~~~~  error: match on wrong line
# |         70:  b.ne .LBB1_2 
# |         71: // %bb.1: // %entry 
# |         72:  fmov d0, #1.00000000 
# |         73:  .seh_startepilogue 
# |         74:  ldr x30, [sp, #16] // 8-byte Reload 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/mingw-refptr.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/mingw-refptr.ll -mtriple=aarch64-w64-mingw32 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/mingw-refptr.ll --check-prefixes=CHECK,CHECK-SD
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=aarch64-w64-mingw32
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/mingw-refptr.ll --check-prefixes=CHECK,CHECK-SD
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/mingw-refptr.ll -mtriple=aarch64-w64-mingw32 -global-isel | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/mingw-refptr.ll --check-prefixes=CHECK-GI
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=aarch64-w64-mingw32 -global-isel
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/mingw-refptr.ll --check-prefixes=CHECK-GI
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/mingw-refptr.ll:157:18: error: CHECK-GI-NEXT: expected string not found in input
# | ; CHECK-GI-NEXT: str x30, [sp, #16] // 8-byte Folded Spill
# |                  ^
# | <stdin>:91:20: note: scanning from here
# |  .seh_stackalloc 32
# |                    ^
# | <stdin>:92:2: note: possible intended match here
# |  str x30, [sp, #16] // 8-byte Spill
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/mingw-refptr.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            86:  .p2align 2 
# |            87: sspFunc: // @sspFunc 
# |            88: .seh_proc sspFunc 
# |            89: // %bb.0: // %entry 
# |            90:  sub sp, sp, #32 
# |            91:  .seh_stackalloc 32 
# | next:157'0                        X error: no match found
# |            92:  str x30, [sp, #16] // 8-byte Spill 
# | next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:157'1      ?                                   possible intended match
# |            93:  .seh_save_reg x30, 16 
# | next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |            94:  .seh_endprologue 
# | next:157'0     ~~~~~~~~~~~~~~~~~~
# |            95:  adrp x8, .refptr.__stack_chk_guard 
# | next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            96:  add x0, sp, #7 
# | next:157'0     ~~~~~~~~~~~~~~~~
# |            97:  ldr x8, [x8, :lo12:.refptr.__stack_chk_guard] 
# | next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/161114


More information about the llvm-commits mailing list