]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/tools/llvm-objcopy/ELF/keep-file-symbols.test
Vendor import of llvm trunk r338536:
[FreeBSD/FreeBSD.git] / test / tools / llvm-objcopy / ELF / keep-file-symbols.test
1 # RUN: yaml2obj %s > %t
2 # RUN: llvm-objcopy --strip-all --keep-file-symbols %t %t2
3 # RUN: llvm-readobj --symbols %t2 | FileCheck %s --check-prefix=STRIPALL
4 # RUN: llvm-objcopy --keep-file-symbols --strip-symbol foo %t %t2
5 # RUN: llvm-readobj --symbols %t2 | FileCheck %s --check-prefix=STRIP
6
7 !ELF
8 FileHeader:
9   Class:           ELFCLASS64
10   Data:            ELFDATA2LSB
11   Type:            ET_REL
12   Machine:         EM_X86_64
13 Sections:
14   - Name:            .text
15     Type:            SHT_PROGBITS
16     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
17     Address:         0x1000
18     AddressAlign:    0x0000000000000010
19     Size:            64
20 Symbols:
21   Local:
22     - Name:     foo
23       Type:     STT_FILE
24       Section:  .text
25   Global:
26     - Name:     bar
27       Type:     STT_FUNC
28       Section:  .text
29
30 #STRIPALL: Symbols [
31 #STRIPALL-NEXT:  Symbol {
32 #STRIPALL-NEXT:    Name:
33 #STRIPALL-NEXT:    Value: 0x0
34 #STRIPALL-NEXT:    Size: 0
35 #STRIPALL-NEXT:    Binding: Local
36 #STRIPALL-NEXT:    Type: None
37 #STRIPALL-NEXT:    Other: 0
38 #STRIPALL-NEXT:    Section: Undefined
39 #STRIPALL-NEXT:  }
40 #STRIPALL-NEXT:  Symbol {
41 #STRIPALL-NEXT:    Name: foo
42 #STRIPALL-NEXT:    Value: 0x0
43 #STRIPALL-NEXT:    Size: 0
44 #STRIPALL-NEXT:    Binding: Local
45 #STRIPALL-NEXT:    Type: File
46 #STRIPALL-NEXT:    Other: 0
47 #STRIPALL-NEXT:    Section: .text
48 #STRIPALL-NEXT:  }
49 #STRIPALL-NEXT:]
50
51 #STRIP: Symbols [
52 #STRIP-NEXT:  Symbol {
53 #STRIP-NEXT:    Name:
54 #STRIP-NEXT:    Value: 0x0
55 #STRIP-NEXT:    Size: 0
56 #STRIP-NEXT:    Binding: Local
57 #STRIP-NEXT:    Type: None
58 #STRIP-NEXT:    Other: 0
59 #STRIP-NEXT:    Section: Undefined
60 #STRIP-NEXT:  }
61 #STRIP-NEXT:  Symbol {
62 #STRIP-NEXT:    Name: foo
63 #STRIP-NEXT:    Value: 0x0
64 #STRIP-NEXT:    Size: 0
65 #STRIP-NEXT:    Binding: Local
66 #STRIP-NEXT:    Type: File
67 #STRIP-NEXT:    Other: 0
68 #STRIP-NEXT:    Section: .text
69 #STRIP-NEXT:  }
70 #STRIP-NEXT:  Symbol {
71 #STRIP-NEXT:    Name: bar
72 #STRIP-NEXT:    Value: 0x0
73 #STRIP-NEXT:    Size: 0
74 #STRIP-NEXT:    Binding: Global
75 #STRIP-NEXT:    Type: Function
76 #STRIP-NEXT:    Other: 0
77 #STRIP-NEXT:    Section: .text
78 #STRIP-NEXT:  }
79 #STRIP-NEXT:]