118 lines
3.9 KiB
YAML
118 lines
3.9 KiB
YAML
|
## Test that we can pass multiple files. There are several ways to do this:
|
||
|
## list them all individually, use --libdir to shorten the list, or use a
|
||
|
## response file (with or without --libdir).
|
||
|
##
|
||
|
# REQUIRES: x86-registered-target
|
||
|
#
|
||
|
# RUN: mkdir -p %t.dir
|
||
|
# RUN: yaml2obj --docnum=1 %s -o %t.dir/file1
|
||
|
# RUN: yaml2obj --docnum=2 %s -o %t.dir/file2
|
||
|
# RUN: yaml2obj --docnum=3 %s -o %t.dir/file3
|
||
|
|
||
|
# RUN: llvm-tli-checker --triple x86_64-scei-ps4 --report=full \
|
||
|
# RUN: %t.dir/file1 %t.dir/file2 %t.dir/file3 | \
|
||
|
# RUN: FileCheck %s
|
||
|
#
|
||
|
## Same result using --libdir.
|
||
|
# RUN: llvm-tli-checker --triple x86_64-scei-ps4 --report=full \
|
||
|
# RUN: --libdir=%t.dir file1 file2 file3 | \
|
||
|
# RUN: FileCheck %s
|
||
|
#
|
||
|
## And with a response file.
|
||
|
# RUN: echo -e "file1\nfile2\nfile3\n" > %t.dir/resp1.txt
|
||
|
# RUN: llvm-tli-checker --triple x86_64-scei-ps4 --report=full \
|
||
|
# RUN: --libdir=%t.dir @%t.dir/resp1.txt | \
|
||
|
# RUN: FileCheck %s
|
||
|
#
|
||
|
# RUN: echo %t.dir/file1 > %t.dir/resp2.txt
|
||
|
# RUN: echo %t.dir/file2 >> %t.dir/resp2.txt
|
||
|
# RUN: echo %t.dir/file3 >> %t.dir/resp2.txt
|
||
|
# RUN: llvm-tli-checker --triple x86_64-scei-ps4 --report=full \
|
||
|
# RUN: @%t.dir/resp2.txt | \
|
||
|
# RUN: FileCheck %s
|
||
|
#
|
||
|
## Also check that an archive works. Put file1 and file2 into an archive,
|
||
|
## and pass the archive name plus file3 on the command line.
|
||
|
# RUN: rm -f %t.dir/archive.a
|
||
|
# RUN: llvm-ar rc %t.dir/archive.a %t.dir/file1 %t.dir/file2
|
||
|
# RUN: llvm-tli-checker --triple x86_64-scei-ps4 --report=full \
|
||
|
# RUN: --libdir=%t.dir archive.a file3 | \
|
||
|
# RUN: FileCheck %s
|
||
|
#
|
||
|
# CHECK: TLI knows {{[0-9]+}} symbols, [[#AVAILABLE:]] available
|
||
|
# CHECK: >> TLI no SDK yes: '_ZdaPvj'
|
||
|
# CHECK: == TLI yes SDK yes: 'abs'
|
||
|
# CHECK: == TLI yes SDK yes: 'calloc'
|
||
|
## The yes/no and yes/yes should add up to the total available.
|
||
|
## The no/yes aren't included in the total available.
|
||
|
# CHECK: << Total TLI yes SDK no: [[#AVAILABLE-2]]
|
||
|
# CHECK: >> Total TLI no SDK yes: 1{{$}}
|
||
|
# CHECK: == Total TLI yes SDK yes: 2{{$}}
|
||
|
|
||
|
## --separate should give one summary per input file (as listed on the
|
||
|
# command line; it doesn't break things down by archive member).
|
||
|
# RUN: llvm-tli-checker --triple x86_64-scei-ps4 --separate \
|
||
|
# RUN: --libdir=%t.dir archive.a file3 | \
|
||
|
# RUN: FileCheck %s --check-prefix=SEPARATE
|
||
|
#
|
||
|
# SEPARATE: TLI knows {{[0-9]+}} symbols, [[#AVAILABLE:]] available
|
||
|
# SEPARATE: Found 2 global function symbols in '{{.*}}archive.a'
|
||
|
# SEPARATE: << Total TLI yes SDK no: [[#AVAILABLE-1]]
|
||
|
# SEPARATE: >> Total TLI no SDK yes: 1{{$}}
|
||
|
# SEPARATE: == Total TLI yes SDK yes: 1{{$}}
|
||
|
# SEPARATE: Found 1 global function symbols in '{{.*}}file3'
|
||
|
# SEPARATE: << Total TLI yes SDK no: [[#AVAILABLE-1]]
|
||
|
# SEPARATE: >> Total TLI no SDK yes: 0{{$}}
|
||
|
# SEPARATE: == Total TLI yes SDK yes: 1{{$}}
|
||
|
|
||
|
# file1
|
||
|
--- !ELF
|
||
|
FileHeader:
|
||
|
Class: ELFCLASS64
|
||
|
Data: ELFDATA2LSB
|
||
|
OSABI: ELFOSABI_FREEBSD
|
||
|
Type: ET_DYN
|
||
|
Machine: EM_X86_64
|
||
|
Sections:
|
||
|
- Name: .text
|
||
|
Type: SHT_PROGBITS
|
||
|
DynamicSymbols:
|
||
|
- Name: abs
|
||
|
Type: STT_FUNC
|
||
|
Section: .text
|
||
|
Binding: STB_GLOBAL
|
||
|
|
||
|
# file2
|
||
|
--- !ELF
|
||
|
FileHeader:
|
||
|
Class: ELFCLASS64
|
||
|
Data: ELFDATA2LSB
|
||
|
OSABI: ELFOSABI_FREEBSD
|
||
|
Type: ET_DYN
|
||
|
Machine: EM_X86_64
|
||
|
Sections:
|
||
|
- Name: .text
|
||
|
Type: SHT_PROGBITS
|
||
|
DynamicSymbols:
|
||
|
- Name: _ZdaPvj
|
||
|
Type: STT_FUNC
|
||
|
Section: .text
|
||
|
Binding: STB_GLOBAL
|
||
|
|
||
|
# file3
|
||
|
--- !ELF
|
||
|
FileHeader:
|
||
|
Class: ELFCLASS64
|
||
|
Data: ELFDATA2LSB
|
||
|
OSABI: ELFOSABI_FREEBSD
|
||
|
Type: ET_DYN
|
||
|
Machine: EM_X86_64
|
||
|
Sections:
|
||
|
- Name: .text
|
||
|
Type: SHT_PROGBITS
|
||
|
DynamicSymbols:
|
||
|
- Name: calloc
|
||
|
Type: STT_FUNC
|
||
|
Section: .text
|
||
|
Binding: STB_GLOBAL
|