[lld] [lld][ELF][RISC-V] Fixes undefined_cc symbol (PR #203800)

via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 14 15:55:43 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 3138 tests passed
* 66 tests skipped
* 1 test failed

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

### lld
<details>
<summary>lld.ELF/riscv-variant-cc.s</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 3
rm -rf C:\_work\llvm-project\llvm-project\build\tools\lld\test\ELF\Output\riscv-variant-cc.s.tmp && split-file C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s C:\_work\llvm-project\llvm-project\build\tools\lld\test\ELF\Output\riscv-variant-cc.s.tmp && cd C:\_work\llvm-project\llvm-project\build\tools\lld\test\ELF\Output\riscv-variant-cc.s.tmp
# executed command: rm -rf 'C:\_work\llvm-project\llvm-project\build\tools\lld\test\ELF\Output\riscv-variant-cc.s.tmp'
# note: command had no output on stdout or stderr
# executed command: split-file 'C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s' 'C:\_work\llvm-project\llvm-project\build\tools\lld\test\ELF\Output\riscv-variant-cc.s.tmp'
# note: command had no output on stdout or stderr
# executed command: cd 'C:\_work\llvm-project\llvm-project\build\tools\lld\test\ELF\Output\riscv-variant-cc.s.tmp'
# note: command had no output on stdout or stderr
# RUN: at line 5
c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe -filetype=obj -triple=riscv64 1.s -o 1.o
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe' -filetype=obj -triple=riscv64 1.s -o 1.o
# note: command had no output on stdout or stderr
# RUN: at line 6
c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe 1.o --shared -o 1.so
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe' 1.o --shared -o 1.so
# note: command had no output on stdout or stderr
# RUN: at line 7
c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe -d -s 1.so | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --check-prefix=CHECK1 C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe' -d -s 1.so
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --check-prefix=CHECK1 'C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s'
# note: command had no output on stdout or stderr
# RUN: at line 14
c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe -filetype=obj -triple=riscv64 2.s -o 2.o
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe' -filetype=obj -triple=riscv64 2.s -o 2.o
# note: command had no output on stdout or stderr
# RUN: at line 15
c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe 2.o --shared -o 2.so
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe' 2.o --shared -o 2.so
# note: command had no output on stdout or stderr
# RUN: at line 16
c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe -d -s 2.so | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --check-prefix=CHECK2 C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe' -d -s 2.so
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --check-prefix=CHECK2 'C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s'
# note: command had no output on stdout or stderr
# RUN: at line 24
c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe -filetype=obj -triple=riscv32 3.s -o 3.o
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe' -filetype=obj -triple=riscv32 3.s -o 3.o
# note: command had no output on stdout or stderr
# RUN: at line 25
c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe 3.o --shared -o 3.so
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe' 3.o --shared -o 3.so
# note: command had no output on stdout or stderr
# RUN: at line 26
c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe -d -s 3.so | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --check-prefix=CHECK3 C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe' -d -s 3.so
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --check-prefix=CHECK3 'C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s'
# note: command had no output on stdout or stderr
# RUN: at line 33
c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe -filetype=obj -triple=riscv32 4.s -o 4.o
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe' -filetype=obj -triple=riscv32 4.s -o 4.o
# note: command had no output on stdout or stderr
# RUN: at line 34
c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe 4.o --shared -o 4.so
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe' 4.o --shared -o 4.so
# note: command had no output on stdout or stderr
# RUN: at line 35
c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe -d -s 4.so | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --check-prefix=CHECK4 C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe' -d -s 4.so
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --check-prefix=CHECK4 'C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s'
# note: command had no output on stdout or stderr
# RUN: at line 41
c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe -filetype=obj -triple=riscv64 5.s -o 5.o
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe' -filetype=obj -triple=riscv64 5.s -o 5.o
# note: command had no output on stdout or stderr
# RUN: at line 42
c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe 5.o --shared -o 5.so
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe' 5.o --shared -o 5.so
# note: command had no output on stdout or stderr
# RUN: at line 43
c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe -d -s 5.so | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --check-prefix=CHECK5 C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe' -d -s 5.so
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --check-prefix=CHECK5 'C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s'
# note: command had no output on stdout or stderr
# RUN: at line 58
c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe -filetype=obj -triple=riscv64 6a.s -o 6a.o
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe' -filetype=obj -triple=riscv64 6a.s -o 6a.o
# note: command had no output on stdout or stderr
# RUN: at line 59
c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe -filetype=obj -triple=riscv64 6b.s -o 6b.o
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-mc.exe' -filetype=obj -triple=riscv64 6b.s -o 6b.o
# note: command had no output on stdout or stderr
# RUN: at line 60
c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe 6b.o --shared -o 6b.so
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe' 6b.o --shared -o 6b.so
# note: command had no output on stdout or stderr
# RUN: at line 61
c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe 6a.o 6b.so --shared -o 6.so
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\ld.lld.exe' 6a.o 6b.so --shared -o 6.so
# note: command had no output on stdout or stderr
# RUN: at line 62
c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe -d -s 6.so | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --check-prefix=CHECK6 C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-readelf.exe' -d -s 6.so
# .---command stdout------------
# | Dynamic section at offset 0x2f0 contains 13 entries:
# |   Tag                Type               Name/Value
# |   0x0000000000000001 (NEEDED)           Shared library: [6b.so]
# |   0x0000000000000017 (JMPREL)           0x298
# |   0x0000000000000002 (PLTRELSZ)         24 (bytes)
# |   0x0000000070000001 (RISCV_VARIANT_CC) 0x0
# |   0x0000000000000003 (PLTGOT)           0x33c0
# |   0x0000000000000014 (PLTREL)           RELA
# |   0x0000000000000006 (SYMTAB)           0x200
# |   0x000000000000000b (SYMENT)           24 (bytes)
# |   0x0000000000000005 (STRTAB)           0x288
# |   0x000000000000000a (STRSZ)            15 (bytes)
# |   0x000000006ffffef5 (GNU_HASH)         0x248
# |   0x0000000000000004 (HASH)             0x268
# |   0x0000000000000000 (NULL)             0x0
# | 
# | Symbol table '.dynsym' contains 3 entries:
# |    Num:    Value          Size Type    Bind   Vis                    Ndx Name
# |      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT                UND 
# |      1: 0000000000000000     0 FUNC    GLOBAL DEFAULT [VARIANT_CC]   UND ext
# |      2: 00000000000012b0     0 NOTYPE  GLOBAL DEFAULT                  6 foo
# | 
# | Symbol table '.symtab' contains 5 entries:
# |    Num:    Value          Size Type    Bind   Vis                    Ndx Name
# |      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT                UND 
# |      1: 00000000000012b0     0 NOTYPE  LOCAL  DEFAULT                  6 $xrv64i2p1
# |      2: 00000000000022f0     0 NOTYPE  LOCAL  HIDDEN                   8 _DYNAMIC
# |      3: 00000000000012b0     0 NOTYPE  GLOBAL DEFAULT                  6 foo
# |      4: 0000000000000000     0 FUNC    GLOBAL DEFAULT [VARIANT_CC]   UND ext
# `-----------------------------
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --check-prefix=CHECK6 'C:\_work\llvm-project\llvm-project\lld\test\ELF\riscv-variant-cc.s'
# .---command stderr------------
# | error: no check strings found with prefix 'CHECK6:'
# `-----------------------------
# error: command failed with exit status: 2

--

```
</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/203800


More information about the llvm-commits mailing list