[llvm] MIPS: Adding a check for JAL argument in PIC mode to prevent crashing on getExpr (PR #120356)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 22 18:38:06 PST 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-gcc-ubuntu` running on `sie-linux-worker3` while building `llvm` at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/174/builds/10530

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 2: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/test/ExecutionEngine/JITLink/x86-64/Output/LocalDependencyPropagation.s.tmp /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/test/ExecutionEngine/JITLink/x86-64/Output/LocalDependencyPropagation.s.tmp /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
RUN: at line 3: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/llvm-jitlink -debug-only=orc -noexec -abs _external_func=0x1    -entry=_foo /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/test/ExecutionEngine/JITLink/x86-64/Output/LocalDependencyPropagation.s.tmp 2>&1 | /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/llvm-jitlink -debug-only=orc -noexec -abs _external_func=0x1 -entry=_foo /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/test/ExecutionEngine/JITLink/x86-64/Output/LocalDependencyPropagation.s.tmp
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s:14:15: error: CHECK-NEXT: is not on the line after the previous match
# CHECK-NEXT: Initial dependencies:
              ^
<stdin>:79:20: note: 'next' match was here
}, Dependencies: { Initial dependencies:
                   ^
<stdin>:77:86: note: previous match ended here
In main emitting { ("_foo", [Callable]), ("_baz", [Callable] Simplified dependencies:
                                                                                     ^
<stdin>:78:1: note: non-matching line after previous match is here
) Symbols: { _external_func} 
^

Input file: <stdin>
Check file: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s

-dump-input=help explains the following input dump.

Input was:
<<<<<<
          1: Defining MU <Absolute Symbols> for main (tracker: 0x0, default will be used) 
          2:  { ("_external_func", [Data]) } 
          3: Defining MU /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/test/ExecutionEngine/JITLink/x86-64/Output/LocalDependencyPropagation.s.tmp for main (tracker: default) { ("_foo", [Callable]), ("_baz", [Callable]) } 
          4: Looking up { (_foo, RequiredSymbol) } in [ ("main", MatchAllSymbols), ("Process", MatchExportedSymbolsOnly) ] (required state: Ready) 
          5: Dispatching MaterializationUnits... 
          6: Done dispatching MaterializationUnits. 
          7: Entering OL_applyQueryPhase1: 
          8:  Lookup kind: Static 
          9:  Search order: [ ("main", MatchAllSymbols), ("Process", MatchExportedSymbolsOnly) ], Current index = 0 (entering new JITDylib) 
         10:  Lookup set: { (_foo, RequiredSymbol) } 
         11:  Definition generator candidates: { (_foo, RequiredSymbol) } 
         12:  Definition generator non-candidates: { } 
         13: Visiting "main" (MatchAllSymbols) with lookup set { (_foo, RequiredSymbol) }: 
         14:  First time visiting main, resetting candidate sets and building generator stack 
         15:  Updating candidate set... 
         16:  Remaining candidates = { } 
         17:  No generators to run for this JITDylib. 
         18: All symbols matched. 
         19: Phase 1 succeeded. 
         20: Entering OL_completeLookup: 
...

```

</details>

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


More information about the llvm-commits mailing list