mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-04 12:15:46 +00:00
[ELF] Replace unused output filenames with /dev/null in tests
Post commit review at rLLD335992 llvm-svn: 336129
This commit is contained in:
parent
b999d74132
commit
40a9f2251b
@ -1,6 +1,6 @@
|
||||
// REQUIRES: x86
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
// RUN: not ld.lld %t -fix-cortex-a53-843419 -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t -fix-cortex-a53-843419 -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: --fix-cortex-a53-843419 is only supported on AArch64 targets.
|
||||
.globl entry
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-linux %s -o %t.o
|
||||
// RUN: ld.lld -fix-cortex-a53-843419 -verbose -t %t.o -o %t2 | FileCheck %s
|
||||
// RUN: ld.lld -fix-cortex-a53-843419 -verbose -t %t.o -o /dev/null | FileCheck %s
|
||||
// Test cases for Cortex-A53 Erratum 843419 that we don't expect to recognize
|
||||
// as needing a patch as one or more of the conditions isn't satisfied.
|
||||
// See ARM-EPM-048406 Cortex_A53_MPCore_Software_Developers_Errata_Notice.pdf
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o
|
||||
// RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
// CHECK: relocation R_AARCH64_ABS16 cannot be used against symbol foo; recompile with -fPIC
|
||||
// CHECK-NEXT: >>> defined in {{.*}}.o
|
||||
// CHECK-NEXT: >>> referenced by {{.*}}.o:(.data+0x0)
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o
|
||||
// RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
// CHECK: can't create dynamic relocation R_AARCH64_ADD_ABS_LO12_NC against symbol: dat in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
|
||||
// CHECK: >>> defined in {{.*}}.o
|
||||
// CHECK: >>> referenced by {{.*}}.o:(.text+0x0)
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o
|
||||
// RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
// CHECK: relocation R_AARCH64_ADR_PREL_LO21 cannot be used against symbol dat; recompile with -fPIC
|
||||
// CHECK: >>> defined in {{.*}}.o
|
||||
// CHECK: >>> referenced by {{.*}}.o:(.text+0x0)
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o
|
||||
// RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
// CHECK: relocation R_AARCH64_ADR_PREL_PG_HI21 cannot be used against symbol dat; recompile with -fPIC
|
||||
// CHECK: >>> defined in {{.*}}.o
|
||||
// CHECK: >>> referenced by {{.*}}.o:(.text+0x0)
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o
|
||||
// RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
// CHECK: can't create dynamic relocation R_AARCH64_LDST32_ABS_LO12_NC against symbol: dat in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
|
||||
// CHECK: >>> defined in {{.*}}.o
|
||||
// CHECK: >>> referenced by {{.*}}.o:(.text+0x0)
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o
|
||||
// RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
// CHECK: can't create dynamic relocation R_AARCH64_LDST64_ABS_LO12_NC against symbol: dat in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
|
||||
// CHECK: >>> defined in {{.*}}.o
|
||||
// CHECK: >>> referenced by {{.*}}.o:(.text+0x0)
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o
|
||||
// RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
// CHECK: can't create dynamic relocation R_AARCH64_LDST8_ABS_LO12_NC against symbol: dat in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
|
||||
// CHECK: >>> defined in {{.*}}.o
|
||||
// CHECK: >>> referenced by {{.*}}.o:(.text+0x0)
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o
|
||||
// RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
// CHECK: R_AARCH64_PREL16 cannot be used against symbol foo; recompile with -fPIC
|
||||
// CHECK: >>> defined in {{.*}}
|
||||
// CHECK: >>> referenced by {{.*}}:(.data+0x0)
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o
|
||||
// RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
// CHECK: relocation R_AARCH64_PREL32 cannot be used against symbol foo; recompile with -fPIC
|
||||
// CHECK: >>> defined in {{.*}}
|
||||
// CHECK: >>> referenced by {{.*}}:(.data+0x0)
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o
|
||||
// RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
// CHECK: relocation R_AARCH64_PREL64 cannot be used against symbol foo; recompile with -fPIC
|
||||
// CHECK: >>> defined in {{.*}}
|
||||
// CHECK: >>> referenced by {{.*}}:(.data+0x0)
|
||||
|
@ -1,7 +1,7 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-pc-freebsd %S/Inputs/abs.s -o %tabs
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-pc-freebsd %s -o %t
|
||||
// RUN: not ld.lld %tabs %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %tabs %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: aarch64
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=aarch64-linux-none %s -o %t.o
|
||||
# RUN: not ld.lld -shared %t.o -o %t 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: relocation R_AARCH64_LD_PREL_LO19 out of range: 2065536 is not in [-1048576, 1048575]
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-none-linux %s -o %t
|
||||
// RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
// Test derived from a typical ODR violation where a global is declared
|
||||
// extern int but defined as a half or byte sized type.
|
||||
|
@ -1,7 +1,7 @@
|
||||
// REQUIRES: aarch64
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-pc-freebsd %S/Inputs/abs.s -o %tabs
|
||||
// RUN: llvm-mc -filetype=obj -triple=aarch64-pc-freebsd %s -o %t
|
||||
// RUN: not ld.lld %tabs %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %tabs %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: aarch64
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=aarch64-linux-none %s -o %t.o
|
||||
# RUN: not ld.lld -shared %t.o -o %t 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: improper alignment for relocation R_AARCH64_LD_PREL_LO19: 0x10005 is not aligned to 4 bytes
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# REQUIRES: amdgpu
|
||||
# RUN: llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx802 -filetype=obj %S/Inputs/amdgpu-kernel-0.s -o %t-0.o
|
||||
# RUN: llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx803 -filetype=obj %S/Inputs/amdgpu-kernel-1.s -o %t-1.o
|
||||
# RUN: not ld.lld -shared %t-0.o %t-1.o -o %t.so 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld -shared %t-0.o %t-1.o -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: error: incompatible e_flags: {{.*}}-1.o
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: arm
|
||||
// RUN: llvm-mc -filetype=obj -triple=arm-none-linux-gnueabi %s -o %t
|
||||
// RUN: ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: ld.lld %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
// On Arm v6 the range of a Thumb BL instruction is only 4 megabytes as the
|
||||
// extended range encoding is not supported. The following example has a Thumb
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: arm
|
||||
// RUN: llvm-mc -filetype=obj -triple=arm-none-linux-gnueabi %s -o %t
|
||||
// RUN: ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: ld.lld %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
// On Arm v4t there is no blx instruction so all interworking must go via
|
||||
// a thunk. At present we don't support v4t so we give a warning for unsupported
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: arm
|
||||
// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t.o
|
||||
// RUN: ld.lld %t.o -o %t -image-base=0x80000000
|
||||
// RUN: ld.lld %t.o -o /dev/null -image-base=0x80000000
|
||||
|
||||
// Test that when the thunk is at a high address we don't get confused with it
|
||||
// being out of range.
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: ARM
|
||||
// RUN: llvm-mc %s -triple=armv7a-linux-gnueabihf -arm-add-build-attributes -filetype=obj -o %t.o
|
||||
// RUN: not ld.lld %t.o -o %t 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: InputSection too large for range extension thunk
|
||||
.syntax unified
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: arm
|
||||
// RUN: llvm-mc -filetype=obj -triple=thumbv7a-none-linux-gnueabi %s -o %t
|
||||
// RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s
|
||||
.syntax unified
|
||||
.balign 0x1000
|
||||
.thumb
|
||||
|
@ -1,7 +1,7 @@
|
||||
// REQUIRES: arm
|
||||
// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t.o
|
||||
// RUN: ld.lld -r %t.o -o %t2.o
|
||||
// RUN: ld.lld -shared %t2.o -o %t.so
|
||||
// RUN: ld.lld -shared %t2.o -o /dev/null
|
||||
|
||||
// We used to crash using the output of -r because of the relative order of
|
||||
// SHF_LINK_ORDER sections.
|
||||
|
@ -7,7 +7,7 @@
|
||||
# RUN: echo "B C 30" >> %t.call_graph
|
||||
# RUN: echo "adena A 30" >> %t.call_graph
|
||||
# RUN: echo "poppy A 30" >> %t.call_graph
|
||||
# RUN: ld.lld -e A %t --call-graph-ordering-file %t.call_graph -o %t.out \
|
||||
# RUN: ld.lld -e A %t --call-graph-ordering-file %t.call_graph -o /dev/null \
|
||||
# RUN: -noinhibit-exec -icf=all 2>&1 | FileCheck %s
|
||||
|
||||
.section .text.C,"ax",@progbits
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86, zlib
|
||||
# RUN: llvm-mc -filetype=obj -triple i686-linux-gnu -compress-debug-sections=zlib %s -o %t.o
|
||||
# RUN: llvm-readobj -sections %t.o | FileCheck -check-prefix=OBJ %s
|
||||
# RUN: not ld.lld %t.o %t.o -o %tout 2>&1 | FileCheck -check-prefix=ERROR %s
|
||||
# RUN: not ld.lld %t.o %t.o -o /dev/null 2>&1 | FileCheck -check-prefix=ERROR %s
|
||||
|
||||
# OBJ: Sections [
|
||||
# OBJ: Section {
|
||||
|
@ -19,7 +19,7 @@
|
||||
# INPUT-NEXT: DW_AT_location [DW_FORM_exprloc] (DW_OP_addr 0x0)
|
||||
|
||||
## Check we use information from .debug_info in messages.
|
||||
# RUN: not ld.lld %t.o %t.o -o %t 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld %t.o %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
# CHECK: duplicate symbol: bar
|
||||
# CHECK-NEXT: >>> defined at test.c:2
|
||||
# CHECK-NEXT: >>> {{.*}}:(bar)
|
||||
|
@ -1,6 +1,6 @@
|
||||
# REQUIRES: x86
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o
|
||||
# RUN: not ld.lld %t.o %t.o -o %t 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld %t.o %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
## Check we can report the locations of 2 different "bar" variables.
|
||||
# CHECK: duplicate symbol: A::bar
|
||||
|
@ -34,7 +34,7 @@
|
||||
# ARCHIVE-NEXT: >>> defined at {{.*}}:(.text+0x0) in archive {{.*}}.a
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/conflict-debug.s -o %t-dbg.o
|
||||
# RUN: not ld.lld %t-dbg.o %t-dbg.o -o %t-dbg 2>&1 | FileCheck -check-prefix=DBGINFO %s
|
||||
# RUN: not ld.lld %t-dbg.o %t-dbg.o -o /dev/null 2>&1 | FileCheck -check-prefix=DBGINFO %s
|
||||
|
||||
# DBGINFO: duplicate symbol: zed
|
||||
# DBGINFO-NEXT: >>> defined at conflict-debug.s:4
|
||||
|
@ -2,7 +2,7 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/copy-in-shared.s -o %t1.o
|
||||
// RUN: ld.lld -shared %t1.o -o %t1.so
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t2.o
|
||||
// RUN: not ld.lld %t2.o %t1.so -o %t2.so -shared 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t2.o %t1.so -o /dev/null -shared 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: can't create dynamic relocation R_X86_64_64 against symbol: foo in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
|
||||
// CHECK: >>> defined in {{.*}}.so
|
||||
|
@ -2,7 +2,7 @@
|
||||
// RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux
|
||||
// RUN: llvm-mc %p/Inputs/copy-rel-corrupted.s -o %t2.o -filetype=obj -triple=x86_64-pc-linux
|
||||
// RUN: ld.lld %t2.o -o %t2.so -shared
|
||||
// RUN: not ld.lld %t.o %t2.so -o %t.exe 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t.o %t2.so -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: error: cannot create a copy relocation for symbol x
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux
|
||||
// RUN: llvm-mc %p/Inputs/copy-rel-pie.s -o %t2.o -filetype=obj -triple=x86_64-pc-linux
|
||||
// RUN: ld.lld %t2.o -o %t2.so -shared
|
||||
// RUN: not ld.lld %t.o %t2.so -o %t.exe -pie 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t.o %t2.so -o /dev/null -pie 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: can't create dynamic relocation R_X86_64_64 against symbol: bar in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
|
||||
// CHECK: >>> defined in {{.*}}.so
|
||||
|
@ -1,6 +1,6 @@
|
||||
# REQUIRES: mips
|
||||
# RUN: llvm-mc -triple=mips64-unknown-freebsd %s -filetype=obj -o %t.o
|
||||
# RUN: not ld.lld %t.o %S/Inputs/corrupt-version-reference.so -o %t.exe 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld %t.o %S/Inputs/corrupt-version-reference.so -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: error: corrupt input file: version definition index 9 for symbol __cxa_finalize is out of bounds
|
||||
# CHECK: >>> defined in {{.+}}/corrupt-version-reference.so
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: x86
|
||||
// RUN: llvm-mc %s -o %t.o -triple x86_64-pc-linux -filetype=obj
|
||||
// RUN: ld.lld %t.o -o %t
|
||||
// RUN: ld.lld %t.o -o /dev/null
|
||||
|
||||
// Don't error if __tls_get_addr is defined.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: x86
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
|
||||
// RUN: not ld.lld %t.o -o %t.so -shared 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t.o -o /dev/null -shared 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: can't create dynamic relocation R_X86_64_64 against local symbol in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
|
||||
// CHECK-NEXT: >>> defined in {{.*}}.o
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: x86
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
|
||||
// RUN: not ld.lld %t.o %t.o -o %t -shared 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t.o %t.o -o /dev/null -shared 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: can't create dynamic relocation R_X86_64_64 against symbol: foo in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
|
||||
// CHECK: >>> defined in {{.*}}.o
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: x86
|
||||
// RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux
|
||||
// RUN: ld.lld --eh-frame-hdr %t.o -o %t.so -shared
|
||||
// RUN: ld.lld --eh-frame-hdr %t.o -o /dev/null -shared
|
||||
// We would fail to parse multiple cies in the same file.
|
||||
|
||||
.cfi_startproc
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: x86
|
||||
// RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t.o
|
||||
// RUN: ld.lld %t.o %t.o -o %t -shared
|
||||
// RUN: ld.lld %t.o %t.o -o /dev/null -shared
|
||||
// We used to try to read the relocations as RELA and error out
|
||||
|
||||
.cfi_startproc
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o %t2
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o /dev/null
|
||||
|
||||
.section .eh_frame
|
||||
.byte 0x14
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o %t2
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o /dev/null
|
||||
|
||||
.section .eh_frame
|
||||
.byte 0x14
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o %t2
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o /dev/null
|
||||
|
||||
.section .eh_frame
|
||||
.byte 0x0E
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o %t2
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o /dev/null
|
||||
|
||||
.section .eh_frame
|
||||
.byte 0x0E
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o %t2
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o /dev/null
|
||||
|
||||
.section .eh_frame
|
||||
.byte 0x14
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o %t2
|
||||
# RUN: ld.lld --eh-frame-hdr %t -o /dev/null
|
||||
|
||||
.section .eh_frame
|
||||
.byte 0x14
|
||||
|
@ -1,4 +1,4 @@
|
||||
// REQUIRES: x86
|
||||
// RUN: llvm-ar rc %t.a
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
|
||||
// RUN: ld.lld -shared %t.o %t.a -o %t
|
||||
// RUN: ld.lld -shared %t.o %t.a -o /dev/null
|
||||
|
@ -1,6 +1,6 @@
|
||||
# REQUIRES: x86
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: not ld.lld %t -o %tout --unresolved-symbols=ignore-all -pie 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld %t -o /dev/null --unresolved-symbols=ignore-all -pie 2>&1 | FileCheck %s
|
||||
# CHECK: error: undefined symbol: foo
|
||||
|
||||
.protected foo
|
||||
|
@ -2,11 +2,11 @@
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t1.o
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/warn-common.s -o %t2.o
|
||||
|
||||
# RUN: ld.lld --warn-common %t1.o %t2.o -o %t1.out 2>&1 | \
|
||||
# RUN: ld.lld --warn-common %t1.o %t2.o -o /dev/null 2>&1 | \
|
||||
# RUN: FileCheck -check-prefix=ERR %s
|
||||
# ERR: multiple common of
|
||||
|
||||
# RUN: not ld.lld --warn-common --fatal-warnings %t1.o %t2.o -o %t2.out 2>&1 | \
|
||||
# RUN: not ld.lld --warn-common --fatal-warnings %t1.o %t2.o -o /dev/null 2>&1 | \
|
||||
# RUN: FileCheck -check-prefix=ERR %s
|
||||
|
||||
.globl _start
|
||||
|
@ -16,5 +16,5 @@
|
||||
# CHECK-NEXT: 0x000000007FFFFFFF FILTER Filter library: [foo.so]
|
||||
# CHECK-NEXT: 0x000000007FFFFFFF FILTER Filter library: [boo.so]
|
||||
|
||||
# RUN: not ld.lld %t.o -F x -o %t 2>&1 | FileCheck -check-prefix=ERR %s
|
||||
# RUN: not ld.lld %t.o -F x -o /dev/null 2>&1 | FileCheck -check-prefix=ERR %s
|
||||
# ERR: -F may not be used without -shared
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: ld.lld %t -o %t2 -shared --gc-sections
|
||||
# RUN: ld.lld %t -o /dev/null -shared --gc-sections
|
||||
|
||||
.global foo
|
||||
foo = 0x123
|
||||
|
@ -10,7 +10,7 @@
|
||||
##
|
||||
## Debug information does not contain any address ranges.
|
||||
## We crashed in that case. Check we don't.
|
||||
# RUN: ld.lld --gdb-index %t1.o -o %t
|
||||
# RUN: ld.lld --gdb-index %t1.o -o /dev/null
|
||||
|
||||
.section .debug_str,"MS",@progbits,1
|
||||
.Lskel_string0:
|
||||
|
@ -1,6 +1,6 @@
|
||||
# REQUIRES: x86
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
|
||||
# RUN: ld.lld --gdb-index -shared %t.o -o %t
|
||||
# RUN: ld.lld --gdb-index -shared %t.o -o /dev/null
|
||||
|
||||
# This used to fail trying to compute R_X86_64_DTPOFF64
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: x86
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
// RUN: ld.lld %t -o %t2
|
||||
// RUN: ld.lld %t -o /dev/null
|
||||
.global _start
|
||||
_start:
|
||||
.long _GLOBAL_OFFSET_TABLE_
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: yaml2obj %s -o %t.o
|
||||
# RUN: ld.lld %t.o -o %t.exe --entry 0 --fatal-warnings
|
||||
# RUN: ld.lld %t.o -o /dev/null --entry 0 --fatal-warnings
|
||||
|
||||
## This is for https://bugs.llvm.org//show_bug.cgi?id=34852. GCC 8.0 or
|
||||
## earlier have a bug which creates non-absolute R_386_GOTPC relocations
|
||||
|
@ -9,7 +9,7 @@
|
||||
// CHECK: Contents of section .text:
|
||||
// CHECK-NEXT: 1000 42
|
||||
|
||||
// RUN: not ld.lld -shared %t %t2 -o %t4 2>&1 | FileCheck --check-prefix=ERROR %s
|
||||
// RUN: not ld.lld -shared %t %t2 -o /dev/null 2>&1 | FileCheck --check-prefix=ERROR %s
|
||||
// ERROR: relocation R_386_16 out of range: 65536 is not in [-32768, 32767]
|
||||
|
||||
.short foo
|
||||
|
@ -9,7 +9,7 @@
|
||||
// CHECK: Contents of section .text:
|
||||
// CHECK-NEXT: 1000 ff
|
||||
|
||||
// RUN: not ld.lld -shared %t %t2 -o %t4 2>&1 | FileCheck --check-prefix=ERROR %s
|
||||
// RUN: not ld.lld -shared %t %t2 -o /dev/null 2>&1 | FileCheck --check-prefix=ERROR %s
|
||||
// ERROR: relocation R_386_8 out of range: 256 is not in [-128, 127]
|
||||
|
||||
.byte foo
|
||||
|
@ -14,7 +14,7 @@
|
||||
// CHECK-NEXT: 200: {{.*}} jmp -1
|
||||
// 0x10202 - 0x203 == 0xffff
|
||||
|
||||
// RUN: not ld.lld -Ttext 0x200 %t.o %t2.o -o %t2 2>&1 | FileCheck --check-prefix=ERR %s
|
||||
// RUN: not ld.lld -Ttext 0x200 %t.o %t2.o -o /dev/null 2>&1 | FileCheck --check-prefix=ERR %s
|
||||
|
||||
// ERR: {{.*}}:(.text+0x1): relocation R_386_PC16 out of range: 65536 is not in [-65536, 65535]
|
||||
|
||||
|
@ -2,6 +2,6 @@
|
||||
# RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %S/Inputs/i386-tls-got.s -o %t1.o
|
||||
# RUN: ld.lld %t1.o -o %t1.so -shared
|
||||
# RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %s -o %t2.o
|
||||
# RUN: ld.lld %t2.o %t1.so -o %t
|
||||
# RUN: ld.lld %t2.o %t1.so -o /dev/null
|
||||
|
||||
addl foobar@INDNTPOFF, %eax
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/icf-absolute.s -o %t2
|
||||
# RUN: ld.lld %t %t2 -o %t3 --icf=all --print-icf-sections | FileCheck %s
|
||||
# RUN: ld.lld %t %t2 -o /dev/null --icf=all --print-icf-sections | FileCheck %s
|
||||
|
||||
# CHECK: selected section {{.*}}:(.text.f1)
|
||||
# CHECK: removing identical section {{.*}}:(.text.f2)
|
||||
|
@ -1,6 +1,6 @@
|
||||
# REQUIRES: x86
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: ld.lld %t -o %t2 --icf=all --print-icf-sections | count 0
|
||||
# RUN: ld.lld %t -o /dev/null --icf=all --print-icf-sections | count 0
|
||||
|
||||
.section foo,"ax",@progbits,unique,0
|
||||
.byte 42
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: ld.lld %t -o %t2 --icf=all --print-icf-sections | FileCheck %s
|
||||
# RUN: ld.lld %t -o /dev/null --icf=all --print-icf-sections | FileCheck %s
|
||||
|
||||
# CHECK: selected section {{.*}}:(.text.f1)
|
||||
# CHECK: removing identical section {{.*}}:(.text.f2)
|
||||
|
@ -1,6 +1,6 @@
|
||||
# REQUIRES: x86
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: ld.lld %t -o %t2 --icf=all --print-icf-sections | count 0
|
||||
# RUN: ld.lld %t -o /dev/null --icf=all --print-icf-sections | count 0
|
||||
|
||||
.section .foo,"ax"
|
||||
.byte 42
|
||||
|
@ -2,7 +2,7 @@
|
||||
# This test is to make sure that we can handle implicit addends properly.
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=i386-unknown-linux %s -o %t
|
||||
# RUN: ld.lld %t -o %t2 --icf=all --print-icf-sections 2>&1 | FileCheck %s
|
||||
# RUN: ld.lld %t -o /dev/null --icf=all --print-icf-sections 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: selected section {{.*}}:(.text.f1)
|
||||
# CHECK: removing identical section {{.*}}:(.text.f2)
|
||||
|
@ -1,6 +1,6 @@
|
||||
# REQUIRES: x86
|
||||
# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o %t
|
||||
# RUN: ld.lld --icf=all --print-icf-sections %t -o %t2 | FileCheck %s -allow-empty
|
||||
# RUN: ld.lld --icf=all --print-icf-sections %t -o /dev/null | FileCheck %s -allow-empty
|
||||
|
||||
# CHECK-NOT: selected
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/icf-merge-sec.s -o %t2
|
||||
# RUN: ld.lld %t %t2 -o %t3 --icf=all --print-icf-sections | FileCheck %s
|
||||
# RUN: ld.lld %t %t2 -o /dev/null --icf=all --print-icf-sections | FileCheck %s
|
||||
|
||||
# CHECK: selected section {{.*}}:(.text.f1)
|
||||
# CHECK: removing identical section {{.*}}:(.text.f2)
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/icf-merge.s -o %t1
|
||||
# RUN: ld.lld %t %t1 -o %t1.out --icf=all --print-icf-sections | FileCheck %s
|
||||
# RUN: ld.lld %t %t1 -o /dev/null --icf=all --print-icf-sections | FileCheck %s
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/icf-merge2.s -o %t2
|
||||
# RUN: ld.lld %t %t2 -o %t3.out --icf=all --print-icf-sections | FileCheck --check-prefix=NOMERGE %s
|
||||
|
@ -8,7 +8,7 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux \
|
||||
// RUN: %p/Inputs/icf-non-mergeable.s -o %t2
|
||||
|
||||
// RUN: ld.lld %t1 %t2 -o %t3 --icf=all --verbose 2>&1 | FileCheck %s
|
||||
// RUN: ld.lld %t1 %t2 -o /dev/null --icf=all --verbose 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK-NOT: selected section '.text.f1'
|
||||
// CHECK-NOT: removing identical section '.text.f2'
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: ld.lld %t -o %t2 --icf=all --icf=none --verbose 2>&1 | FileCheck %s
|
||||
# RUN: ld.lld %t -o /dev/null --icf=all --icf=none --verbose 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK-NOT: selected section '.text.f1'
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# REQUIRES: x86
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: ld.lld %t -o %t2 --icf=all --ignore-data-address-equality --print-icf-sections | FileCheck %s
|
||||
# RUN: ld.lld %t -o /dev/null --icf=all --ignore-data-address-equality --print-icf-sections | FileCheck %s
|
||||
|
||||
# CHECK: selected section {{.*}}:(.data.rel.ro)
|
||||
# CHECK: removing identical section {{.*}}:(.data.rel.ro.foo)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: ld.lld %t -o %t2 --icf=all --print-icf-sections | FileCheck %s
|
||||
# RUN: ld.lld %t -o /dev/null --icf=all --print-icf-sections | FileCheck %s
|
||||
|
||||
# CHECK: selected section {{.*}}:(.text.f1)
|
||||
# CHECK: removing identical section {{.*}}:(.text.f2)
|
||||
|
@ -1,5 +1,5 @@
|
||||
# RUN: yaml2obj %s -o %t.o
|
||||
# RUN: ld.lld --icf=all %t.o -o %t --print-icf-sections 2>&1 | FileCheck %s
|
||||
# RUN: ld.lld --icf=all %t.o -o /dev/null --print-icf-sections 2>&1 | FileCheck %s
|
||||
|
||||
# Checks that ICF does not merge 2 sections the offset of
|
||||
# the relocations of which differ.
|
||||
|
@ -1,5 +1,5 @@
|
||||
# RUN: yaml2obj %s -o %t.o
|
||||
# RUN: ld.lld --icf=all %t.o -o %t --print-icf-sections 2>&1 | FileCheck %s
|
||||
# RUN: ld.lld --icf=all %t.o -o /dev/null --print-icf-sections 2>&1 | FileCheck %s
|
||||
|
||||
# Checks that ICF does not merge 2 sections the type of
|
||||
# the relocations of which differ.
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1
|
||||
# RUN: ld.lld %t1 -o %t --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
# RUN: ld.lld %t1 -o /dev/null --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
|
||||
# Check that ICF does not merge 2 sections which relocations
|
||||
# differs in addend only.
|
||||
|
@ -1,5 +1,5 @@
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1
|
||||
# RUN: ld.lld -shared -z notext %t1 -o %t --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
# RUN: ld.lld -shared -z notext %t1 -o /dev/null --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
|
||||
## Check that ICF does not merge sections which relocations point to symbols
|
||||
## that are not of the regular defined kind.
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1
|
||||
# RUN: ld.lld %t1 -o %t --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
# RUN: ld.lld %t1 -o /dev/null --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
|
||||
# Check that ICF does not merge 2 sections which relocations
|
||||
# refer to symbols that live in sections of the different types
|
||||
|
@ -1,5 +1,5 @@
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1
|
||||
# RUN: ld.lld %t1 -o %t --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
# RUN: ld.lld %t1 -o /dev/null --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
|
||||
## Check that ICF does not merge sections which relocations have equal addends,
|
||||
## but different target values.
|
||||
|
@ -1,5 +1,5 @@
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1
|
||||
# RUN: ld.lld -shared -z notext %t1 -o %t --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
# RUN: ld.lld -shared -z notext %t1 -o /dev/null --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
|
||||
## ICF is able to merge sections which relocations referring regular input sections
|
||||
## or mergeable sections. .eh_frame is represented with a different kind of section,
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/icf2.s -o %t2
|
||||
# RUN: ld.lld %t1 %t2 -o %t --icf=all --print-icf-sections 2>&1 | FileCheck %s
|
||||
# RUN: ld.lld %t1 %t2 -o /dev/null --icf=all --print-icf-sections 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: selected section {{.*}}:(.text.f1)
|
||||
# CHECK: removing identical section {{.*}}:(.text.f2)
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/icf2.s -o %t2
|
||||
# RUN: ld.lld %t1 %t2 -o %t --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
# RUN: ld.lld %t1 %t2 -o /dev/null --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
|
||||
# CHECK-NOT: selected section '.text.f1' from file
|
||||
# CHECK-NOT: selected section '.text.f2' from file
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: ld.lld %t -o %t2 --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
# RUN: ld.lld %t -o /dev/null --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
|
||||
# CHECK-NOT: selected section '.text.f1'
|
||||
# CHECK-NOT: selected section '.text.f2'
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: ld.lld %t -o %t2 --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
# RUN: ld.lld %t -o /dev/null --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
|
||||
# CHECK-NOT: selected section '.text.f1'
|
||||
# CHECK-NOT: selected section '.text.f2'
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||
# RUN: ld.lld %t -o %t2 --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
# RUN: ld.lld %t -o /dev/null --icf=all --print-icf-sections 2>&1 | FileCheck -allow-empty %s
|
||||
|
||||
# CHECK-NOT: selected section '.text.f1'
|
||||
# CHECK-NOT: selected section '.text.f2'
|
||||
|
@ -2,7 +2,7 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/archive.s -o %ta.o
|
||||
// RUN: llvm-ar rc %t.a %ta.o
|
||||
// RUN: llvm-mc -filetype=obj -triple=i686-linux %s -o %tb.o
|
||||
// RUN: not ld.lld %t.a %tb.o -o %t 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t.a %tb.o -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
// We used to crash when
|
||||
// * The first object seen by the symbol table is from an archive.
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: x86
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
|
||||
// RUN: not ld.lld -shared %t.o -o %t 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: error: incompatible section flags for .foo
|
||||
// CHECK-NEXT: >>> {{.*}}incompatible-section-flags.s.tmp.o:(.foo): 0x3
|
||||
|
@ -1,6 +1,6 @@
|
||||
// REQUIRES: x86
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
|
||||
// RUN: not ld.lld %t.o -o %t 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t.o -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: error: section type mismatch for .shstrtab
|
||||
// CHECK-NEXT: >>> <internal>:(.shstrtab): SHT_STRTAB
|
||||
|
@ -1,7 +1,7 @@
|
||||
// REQUIRES: x86
|
||||
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
// RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
.section .eh_frame
|
||||
.byte 0
|
||||
|
@ -1,7 +1,7 @@
|
||||
// REQUIRES: x86
|
||||
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
// RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
.section .eh_frame
|
||||
.long 42
|
||||
|
@ -1,7 +1,7 @@
|
||||
// REQUIRES: x86
|
||||
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
// RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
.section .eh_frame
|
||||
.long 0xFFFFFFFC
|
||||
|
@ -1,7 +1,7 @@
|
||||
// REQUIRES: x86
|
||||
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
// RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
.section .eh_frame
|
||||
.long 0xFFFFFFFF
|
||||
|
@ -1,7 +1,7 @@
|
||||
// REQUIRES: x86
|
||||
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
// RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
.section .eh_frame
|
||||
.long 0xFFFFFFFF
|
||||
|
@ -1,7 +1,7 @@
|
||||
// REQUIRES: x86
|
||||
|
||||
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
// RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||
// RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
.section .eh_frame
|
||||
.long 0x14
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o %t2 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: error: corrupted .eh_frame: unexpected end of CIE
|
||||
# CHECK-NEXT: >>> defined in {{.*}}:(.eh_frame+0x8)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o %t2 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: error: corrupted .eh_frame: corrupted CIE (failed to read string)
|
||||
# CHECK-NEXT: >>> defined in {{.*}}:(.eh_frame+0x9)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o %t2 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: error: corrupted .eh_frame: corrupted CIE (failed to read LEB128)
|
||||
# CHECK-NEXT: >>> defined in {{.*}}:(.eh_frame+0xC)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o %t2 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: corrupted .eh_frame: unknown .eh_frame augmentation string:
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o %t2 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: corrupted .eh_frame: unknown .eh_frame augmentation string:
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o %t2 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: error: corrupted .eh_frame: unknown FDE encoding
|
||||
# CHECK-NEXT: >>> defined in {{.*}}:(.eh_frame+0xE)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o %t2 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: error: corrupted .eh_frame: DW_EH_PE_aligned encoding is not supported
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o %t2 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: error: corrupted .eh_frame: corrupted CIE
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# REQUIRES: x86
|
||||
|
||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o %t2 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld --eh-frame-hdr %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
# CHECK: error: corrupted .eh_frame: CIE is too small
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
# RUN: yaml2obj %s -o %t
|
||||
# RUN: not ld.lld %t -o %tout 2>&1 | FileCheck %s
|
||||
# RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s
|
||||
|
||||
!ELF
|
||||
FileHeader:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user