• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: yaml2obj %s -o %t.o
2
3# Run llvm-strip normally. This will create a stripped object file for later
4# tests so we only have to run FileCheck on it once.
5# RUN: cp %t.o %t.1.o
6# RUN: llvm-strip --keep-symbol=foo %t.1.o -o %t.stripped.o
7# RUN: llvm-readobj --symbols %t.stripped.o | FileCheck %s
8
9# llvm-strip on two files:
10# RUN: cp %t.o %t.1.o
11# RUN: cp %t.o %t.2.o
12# RUN: llvm-strip --keep-symbol=foo %t.1.o %t.2.o
13# RUN: cmp %t.1.o %t.stripped.o
14# RUN: cmp %t.2.o %t.stripped.o
15
16# llvm-strip on three files:
17# RUN: cp %t.o %t.1.o
18# RUN: cp %t.o %t.2.o
19# RUN: cp %t.o %t.3.o
20# RUN: llvm-strip --keep-symbol=foo %t.1.o %t.2.o %t.3.o
21# RUN: cmp %t.1.o %t.stripped.o
22# RUN: cmp %t.2.o %t.stripped.o
23# RUN: cmp %t.3.o %t.stripped.o
24
25# -o cannot be used with multiple input files
26# RUN: cp %t.o %t.1.o
27# RUN: cp %t.o %t.2.o
28# RUN: not llvm-strip --keep-symbol=foo -o %t.stripped.o %t.1.o %t.2.o 2>&1 \
29# RUN:   | FileCheck %s --check-prefix=BAD-O-FLAG
30
31!ELF
32FileHeader:
33  Class:           ELFCLASS64
34  Data:            ELFDATA2LSB
35  Type:            ET_REL
36  Machine:         EM_X86_64
37Sections:
38  - Name:            .text
39    Type:            SHT_PROGBITS
40    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
41Symbols:
42  - Name:     foo
43    Type:     STT_FUNC
44    Section:  .text
45    Value:    0x1234
46    Size:     8
47  - Name:     bar
48    Type:     STT_FUNC
49    Section:  .text
50    Value:    0x5678
51    Size:     8
52
53# CHECK:      Symbols [
54# CHECK-NEXT:   Symbol {
55# CHECK-NEXT:     Name:
56# CHECK-NEXT:     Value: 0x0
57# CHECK-NEXT:     Size: 0
58# CHECK-NEXT:     Binding: Local
59# CHECK-NEXT:     Type: None
60# CHECK-NEXT:     Other: 0
61# CHECK-NEXT:     Section: Undefined
62# CHECK-NEXT:   }
63# CHECK-NEXT:   Symbol {
64# CHECK-NEXT:     Name: foo
65# CHECK-NEXT:     Value: 0x1234
66# CHECK-NEXT:     Size: 8
67# CHECK-NEXT:     Binding: Local
68# CHECK-NEXT:     Type: Function
69# CHECK-NEXT:     Other: 0
70# CHECK-NEXT:     Section: .text
71# CHECK-NEXT:   }
72# CHECK-NEXT: ]
73
74# BAD-O-FLAG: multiple input files cannot be used in combination with -o
75