diff options
| author | Mingming Liu <mingmingl@google.com> | 2025-09-10 15:25:31 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-10 15:25:31 -0700 |
| commit | 1417dafa1db9cb1b2b09438aa9f53ea5ab6e36e2 (patch) | |
| tree | 57f4b1f313c8cf74eed8819870f39c36ea263c68 /lld/test/ELF | |
| parent | 898b813bc8a6d0276bf0f4769f5f2f64b34e632d (diff) | |
| parent | b8cefcb601ddaa18482555c4ff363c01a270c2fe (diff) | |
Merge branch 'main' into users/mingmingl-llvm/samplefdo-profile-formatusers/mingmingl-llvm/samplefdo-profile-format
Diffstat (limited to 'lld/test/ELF')
| -rw-r--r-- | lld/test/ELF/arm-exidx-range.s | 4 | ||||
| -rw-r--r-- | lld/test/ELF/color-diagnostics.test | 2 | ||||
| -rw-r--r-- | lld/test/ELF/emulation-hexagon.s | 2 | ||||
| -rw-r--r-- | lld/test/ELF/file-access.s | 3 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/invalid.test | 2 | ||||
| -rw-r--r-- | lld/test/ELF/loongarch-call36.s | 6 | ||||
| -rw-r--r-- | lld/test/ELF/lto/cache-warnings.ll | 12 | ||||
| -rw-r--r-- | lld/test/ELF/lto/comdat-nodeduplicate.ll | 14 | ||||
| -rw-r--r-- | lld/test/ELF/lto/resolution-err.ll | 2 | ||||
| -rw-r--r-- | lld/test/ELF/msp430.s | 2 | ||||
| -rw-r--r-- | lld/test/ELF/weak-shared-gc.s | 2 | ||||
| -rw-r--r-- | lld/test/ELF/weak-undef-lib.s | 2 |
12 files changed, 33 insertions, 20 deletions
diff --git a/lld/test/ELF/arm-exidx-range.s b/lld/test/ELF/arm-exidx-range.s index 480910997358..b955b39e29f5 100644 --- a/lld/test/ELF/arm-exidx-range.s +++ b/lld/test/ELF/arm-exidx-range.s @@ -1,4 +1,6 @@ -// REQUIRES: arm, shell +// REQUIRES: arm +// Fails for unclear reasons on 32-bit windows +// UNSUPPORTED: system-windows // RUN: llvm-mc --arm-add-build-attributes --triple=armv7a-linux-gnueabihf -filetype=obj %s -o %t.o // RUN: echo "SECTIONS { \ // RUN: . = 0x80000000; \ diff --git a/lld/test/ELF/color-diagnostics.test b/lld/test/ELF/color-diagnostics.test index 6d87b1130bee..ad201fada283 100644 --- a/lld/test/ELF/color-diagnostics.test +++ b/lld/test/ELF/color-diagnostics.test @@ -1,5 +1,5 @@ # Windows command prompt doesn't support ANSI escape sequences. -# REQUIRES: shell +# UNSUPPORTED: system-windows # RUN: not ld.lld -xyz --color-diagnostics /nosuchfile 2>&1 \ # RUN: | FileCheck -check-prefix=COLOR %s diff --git a/lld/test/ELF/emulation-hexagon.s b/lld/test/ELF/emulation-hexagon.s index 5bdd88941c26..df692ef99ef5 100644 --- a/lld/test/ELF/emulation-hexagon.s +++ b/lld/test/ELF/emulation-hexagon.s @@ -23,7 +23,7 @@ # CHECK-NEXT: Type: EXEC (Executable file) # CHECK-NEXT: Machine: Qualcomm Hexagon # CHECK-NEXT: Version: 0x1 -# CHECK-NEXT: Entry point address: 0x200B4 +# CHECK-NEXT: Entry point address: 0x200b4 # CHECK-NEXT: Start of program headers: 52 (bytes into file) # CHECK-NEXT: Start of section headers: # CHECK-NEXT: Flags: 0x73 diff --git a/lld/test/ELF/file-access.s b/lld/test/ELF/file-access.s index 5a9e53b11140..8658f774682f 100644 --- a/lld/test/ELF/file-access.s +++ b/lld/test/ELF/file-access.s @@ -1,4 +1,5 @@ -# REQUIRES: x86, shell +# REQUIRES: x86 +# UNSUPPORTED: system-windows # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o # RUN: ld.lld -r %t.o -o %t1.o diff --git a/lld/test/ELF/linkerscript/invalid.test b/lld/test/ELF/linkerscript/invalid.test index 73b761ce4d57..cb5e52c38dcc 100644 --- a/lld/test/ELF/linkerscript/invalid.test +++ b/lld/test/ELF/linkerscript/invalid.test @@ -5,7 +5,7 @@ ## We can't write quoted strings that are interpreted the same way ## by all echo commands. So, we don't want to run this on Windows. -# REQUIRES: shell +# UNSUPPORTED: system-windows # RUN: mkdir -p %t.dir diff --git a/lld/test/ELF/loongarch-call36.s b/lld/test/ELF/loongarch-call36.s index b593fdf1f604..5cc0f2f3827c 100644 --- a/lld/test/ELF/loongarch-call36.s +++ b/lld/test/ELF/loongarch-call36.s @@ -8,14 +8,14 @@ ## hi20 = target - pc + (1 << 17) >> 18 = 0x60020 - 0x20010 + 0x20000 >> 18 = 1 ## lo18 = target - pc & (1 << 18) - 1 = 0x60020 - 0x20010 & 0x3ffff = 16 # EXE1: 20010: pcaddu18i $t0, 1 -# EXE1-NEXT: 20014: jirl $zero, $t0, 16 +# EXE1-NEXT: 20014: jirl $zero, $t0, 16 <foo> # RUN: ld.lld %t/a.o --section-start=.text=0x20010 --section-start=.sec.foo=0x40020 -o %t/exe2 # RUN: llvm-objdump --no-show-raw-insn -d %t/exe2 | FileCheck --match-full-lines %s --check-prefix=EXE2 ## hi20 = target - pc + (1 << 17) >> 18 = 0x40020 - 0x20010 + 0x20000 >> 18 = 1 ## lo18 = target - pc & (1 << 18) - 1 = 0x40020 - 0x20010 & 0x3ffff = -131056 # EXE2: 20010: pcaddu18i $t0, 1 -# EXE2-NEXT: 20014: jirl $zero, $t0, -131056 +# EXE2-NEXT: 20014: jirl $zero, $t0, -131056 <foo> # RUN: ld.lld %t/a.o -shared -T %t/a.t -o %t/a.so # RUN: llvm-readelf -x .got.plt %t/a.so | FileCheck --check-prefix=GOTPLT %s @@ -34,7 +34,7 @@ ## hi20 = foo@plt - pc + (1 << 17) >> 18 = 0x1234520 - 0x1274670 + 0x20000 >> 18 = -1 ## lo18 = foo@plt - pc & (1 << 18) - 1 = 0x1234520 - 0x1274670 & 0x3ffff = -336 # SO-NEXT: pcaddu18i $t0, -1{{$}} -# SO-NEXT: jirl $zero, $t0, -336{{$}} +# SO-NEXT: jirl $zero, $t0, -336 <.plt+0x20>{{$}} # GOTPLT: section '.got.plt': # GOTPLT-NEXT: 0x01274730 00000000 00000000 00000000 00000000 diff --git a/lld/test/ELF/lto/cache-warnings.ll b/lld/test/ELF/lto/cache-warnings.ll index d0224d5426ff..711d18e80910 100644 --- a/lld/test/ELF/lto/cache-warnings.ll +++ b/lld/test/ELF/lto/cache-warnings.ll @@ -1,4 +1,4 @@ -; REQUIRES: x86, shell +; REQUIRES: x86 ; UNSUPPORTED: main-run-twice ; RUN: opt -module-hash -module-summary %s -o %t.o @@ -21,13 +21,17 @@ ;; Get the total size of created cache files. ; RUN: rm -rf %t && mkdir %t && cd %t ; RUN: ld.lld --thinlto-cache-dir=%t --thinlto-cache-policy=prune_interval=0s:cache_size_bytes=32k %t2.o %t.o -o %t3 2>&1 -; RUN: %python -c "import os, sys; print(sum(os.path.getsize(filename) for filename in os.listdir('.') if os.path.isfile(filename) and filename.startswith('llvmcache-')))" > %t.size.txt +; RUN: %python -c "import os, sys; size=sum(os.path.getsize(filename) for filename in os.listdir('.') if os.path.isfile(filename) and filename.startswith('llvmcache-')); print(size+5); print(size-5)" > %t.size.txt ;; Case 2: If the total size of the cache files created by the current link job is less than the maximum size for the cache directory in bytes, there is no warning. -; RUN: ld.lld --verbose --thinlto-cache-dir=%t --thinlto-cache-policy=prune_interval=0s:cache_size_bytes=$(($(cat %t.size.txt) + 5)) %t2.o %t.o -o %t3 2>&1 | FileCheck %s --implicit-check-not=warning: +; RUN: echo -n "--thinlto-cache-policy=prune_interval=0s:cache_size_bytes=" > %t.response +; RUN: head -1 %t.size.txt >> %t.response +; RUN: ld.lld --verbose --thinlto-cache-dir=%t @%t.response %t2.o %t.o -o %t3 2>&1 | FileCheck %s --implicit-check-not=warning: ;; Case 3: If the total size of the cache files created by the current link job exceeds the maximum size for the cache directory in bytes, a warning is given. -; RUN: ld.lld --verbose --thinlto-cache-dir=%t --thinlto-cache-policy=prune_interval=0s:cache_size_bytes=$(($(cat %t.size.txt) - 5)) %t2.o %t.o -o %t3 2>&1 | FileCheck %s --check-prefixes=SIZE,WARN +; RUN: echo -n "--thinlto-cache-policy=prune_interval=0s:cache_size_bytes=" > %t.response +; RUN: tail -1 %t.size.txt >> %t.response +; RUN: ld.lld --verbose --thinlto-cache-dir=%t @%t.response %t2.o %t.o -o %t3 2>&1 | FileCheck %s --check-prefixes=SIZE,WARN ;; Check emit two warnings if pruning happens due to reach both the size and number limits. ; RUN: ld.lld --thinlto-cache-dir=%t --thinlto-cache-policy=prune_interval=0s:cache_size_files=1:cache_size_bytes=1 %t2.o %t.o -o %t3 2>&1 | FileCheck %s --check-prefixes=NUM,SIZE,WARN diff --git a/lld/test/ELF/lto/comdat-nodeduplicate.ll b/lld/test/ELF/lto/comdat-nodeduplicate.ll index 13d4ab394813..928da5c82e51 100644 --- a/lld/test/ELF/lto/comdat-nodeduplicate.ll +++ b/lld/test/ELF/lto/comdat-nodeduplicate.ll @@ -1,4 +1,4 @@ -; REQUIRES: x86, shell +; REQUIRES: x86 ;; Keep __profd_foo in a nodeduplicate comdat, despite a comdat of the same name ;; in a previous object file. @@ -36,19 +36,25 @@ ; RUN: ld.lld --thinlto-index-only --save-temps -u foo %t/a.bc %t/b.bc -o %t/ab ; RUN: FileCheck %s --check-prefix=RESOL_AB < %t/ab.resolution.txt -; RUN: (llvm-dis < %t/b.bc && llvm-dis < %t/b.bc.thinlto.bc) | FileCheck %s --check-prefix=IR_AB +; RUN: llvm-dis < %t/b.bc > %t.out +; RUN: llvm-dis < %t/b.bc.thinlto.bc >> %t.out +; RUN: FileCheck %s --check-prefix=IR_AB --input-file %t.out ; RUN: ld.lld -u foo %t/a.bc %t/b.bc -o %t/ab ; RUN: llvm-readelf -x .data %t/ab | FileCheck %s --check-prefix=DATA ; RUN: ld.lld --thinlto-index-only --save-temps -u foo %t/a.bc --start-lib %t/b.bc --end-lib -o %t/ab ; RUN: FileCheck %s --check-prefix=RESOL_AB < %t/ab.resolution.txt -; RUN: (llvm-dis < %t/b.bc && llvm-dis < %t/b.bc.thinlto.bc) | FileCheck %s --check-prefix=IR_AB +; RUN: llvm-dis < %t/b.bc > %t.out +; RUN: llvm-dis < %t/b.bc.thinlto.bc >> %t.out +; RUN: FileCheck %s --check-prefix=IR_AB --input-file %t.out ; RUN: ld.lld -u foo %t/a.bc --start-lib %t/b.bc --end-lib -o %t/ab ; RUN: llvm-readelf -x .data %t/ab | FileCheck %s --check-prefix=DATA ; RUN: ld.lld --thinlto-index-only --save-temps -u foo -u c %t/a.bc --start-lib %t/b.bc %t/c.bc --end-lib -o %t/abc ; RUN: FileCheck %s --check-prefix=RESOL_ABC < %t/abc.resolution.txt -; RUN: (llvm-dis < %t/b.bc && llvm-dis < %t/b.bc.thinlto.bc) | FileCheck %s --check-prefix=IR_ABC +; RUN: llvm-dis < %t/b.bc > %t.out +; RUN: llvm-dis < %t/b.bc.thinlto.bc >> %t.out +; RUN: FileCheck %s --check-prefix=IR_ABC --input-file %t.out ; RUN: ld.lld -u foo %t/a.bc --start-lib %t/b.bc %t/c.bc --end-lib -o %t/abc ; RUN: llvm-readelf -x .data %t/abc | FileCheck %s --check-prefix=DATA diff --git a/lld/test/ELF/lto/resolution-err.ll b/lld/test/ELF/lto/resolution-err.ll index f9855abaff32..6bc0bfc2f200 100644 --- a/lld/test/ELF/lto/resolution-err.ll +++ b/lld/test/ELF/lto/resolution-err.ll @@ -1,5 +1,5 @@ ; UNSUPPORTED: system-windows -; REQUIRES: shell, non-root-user +; REQUIRES: non-root-user ; RUN: llvm-as %s -o %t.bc ; RUN: touch %t.resolution.txt ; RUN: chmod u-w %t.resolution.txt diff --git a/lld/test/ELF/msp430.s b/lld/test/ELF/msp430.s index 39079ed59697..732af387d261 100644 --- a/lld/test/ELF/msp430.s +++ b/lld/test/ELF/msp430.s @@ -1,6 +1,6 @@ ; REQUIRES: msp430 ; RUN: llvm-mc -filetype=obj -triple=msp430-elf -o %t1.o %s -; RUN: echo -e '.global _start\n _start: nop' | llvm-mc -filetype=obj -triple=msp430-elf -o %t2.o - +; RUN: printf '.global _start\n _start: nop' | llvm-mc -filetype=obj -triple=msp430-elf -o %t2.o - ; RUN: ld.lld -o %t.exe --image-base=0x1000 --Tdata=0x2000 --Ttext=0x8000 --defsym=_byte=0x21 -z separate-code %t2.o %t1.o ; RUN: llvm-objdump -s -d %t.exe | FileCheck %s diff --git a/lld/test/ELF/weak-shared-gc.s b/lld/test/ELF/weak-shared-gc.s index 833d7b7ab409..2bba6341d750 100644 --- a/lld/test/ELF/weak-shared-gc.s +++ b/lld/test/ELF/weak-shared-gc.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t1.o -# RUN: echo -e '.globl __cxa_finalize\n__cxa_finalize:' | \ +# RUN: printf '.globl __cxa_finalize\n__cxa_finalize:' | \ # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux - -o %t2.o # RUN: ld.lld %t2.o -o %t2.so -shared # RUN: ld.lld %t1.o --as-needed --gc-sections %t2.so -o %t diff --git a/lld/test/ELF/weak-undef-lib.s b/lld/test/ELF/weak-undef-lib.s index 0ff1bc755f07..8f89c6f421ad 100644 --- a/lld/test/ELF/weak-undef-lib.s +++ b/lld/test/ELF/weak-undef-lib.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t1.o -# RUN: echo -e '.globl foo\nfoo: ret' | \ +# RUN: printf '.globl foo\nfoo: ret' | \ # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux - -o %t2.o # RUN: ld.lld -shared -o %t.so %t1.o --start-lib %t2.o |
