Recommit "rL366894: [yaml2obj] - Allow custom fields for the SHT_UNDEF sections."
[llvm-complete.git] / test / tools / llvm-readobj / symbols.test
blob1931cefdea41143e631ce709868bcd9609af510c
1 RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.coff-i386 \
2 RUN:   | FileCheck %s -check-prefix COFF
3 RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.elf-i386 \
4 RUN:   | FileCheck %s -check-prefix ELF
5 RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.wasm \
6 RUN:   | FileCheck %s -check-prefix WASM
8 # Check flag aliases produce identical output.
9 RUN: llvm-readobj --symbols %p/Inputs/trivial.obj.elf-i386 > %t.symbols
10 RUN: llvm-readobj --syms %p/Inputs/trivial.obj.elf-i386 > %t.syms
11 RUN: cmp %t.symbols %t.syms
12 RUN: llvm-readobj -t %p/Inputs/trivial.obj.elf-i386 > %t.t
13 RUN: cmp %t.symbols %t.t
14 RUN: llvm-readelf -s -elf-output-style LLVM %p/Inputs/trivial.obj.elf-i386 > %t.lowers
15 RUN: cmp %t.symbols %t.lowers
17 COFF:      Symbols [
18 COFF-NEXT:   Symbol {
19 COFF-NEXT:     Name: @comp.id
20 COFF-NEXT:    Value: 14766605
21 COFF-NEXT:    Section:  IMAGE_SYM_ABSOLUTE (-1)
22 COFF-NEXT:     BaseType: Null (0x0)
23 COFF-NEXT:     ComplexType: Null (0x0)
24 COFF-NEXT:    StorageClass: Static (0x3)
25 COFF-NEXT:    AuxSymbolCount: 0
26 COFF-NEXT:   }
27 COFF-NEXT:   Symbol {
28 COFF-NEXT:    Name: @feat.00
29 COFF-NEXT:    Value: 2147484049
30 COFF-NEXT:     Section:  IMAGE_SYM_ABSOLUTE (-1)
31 COFF-NEXT:     BaseType: Null (0x0)
32 COFF-NEXT:    ComplexType: Null (0x0)
33 COFF-NEXT:    StorageClass: Static (0x3)
34 COFF-NEXT:     AuxSymbolCount: 0
35 COFF-NEXT:   }
36 COFF-NEXT:   Symbol {
37 COFF-NEXT:     Name: .text
38 COFF-NEXT:     Value: 0
39 COFF-NEXT:     Section: .text (1)
40 COFF-NEXT:     BaseType: Null (0x0)
41 COFF-NEXT:     ComplexType: Null (0x0)
42 COFF-NEXT:     StorageClass: Static (0x3)
43 COFF-NEXT:     AuxSymbolCount: 1
44 COFF-NEXT:     AuxSectionDef {
45 COFF-NEXT:       Length: 22
46 COFF-NEXT:       RelocationCount: 3
47 COFF-NEXT:       LineNumberCount: 0
48 COFF-NEXT:       Checksum: 0x0
49 COFF-NEXT:       Number: 1
50 COFF-NEXT:       Selection: 0x0
51 COFF-NEXT:     }
52 COFF-NEXT:   }
54 ELF:      Symbols [
55 ELF-NEXT:   Symbol {
56 ELF-NEXT:     Name:  (0)
57 ELF-NEXT:     Value: 0x0
58 ELF-NEXT:     Size: 0
59 ELF-NEXT:     Binding: Local (0x0)
60 ELF-NEXT:     Type: None (0x0)
61 ELF-NEXT:     Other: 0
62 ELF-NEXT:     Section: Undefined (0x0)
63 ELF-NEXT:   }
64 ELF-NEXT:   Symbol {
65 ELF-NEXT:     Name: trivial.ll (1)
66 ELF-NEXT:     Value: 0x0
67 ELF-NEXT:     Size: 0
68 ELF-NEXT:     Binding: Local (0x0)
69 ELF-NEXT:     Type: File (0x4)
70 ELF-NEXT:     Other: 0
71 ELF-NEXT:     Section: Absolute (0xFFF1)
72 ELF-NEXT:   }
73 ELF-NEXT:   Symbol {
74 ELF-NEXT:     Name: .L.str (39)
75 ELF-NEXT:     Value: 0x0
76 ELF-NEXT:     Size: 13
77 ELF-NEXT:     Binding: Local (0x0)
78 ELF-NEXT:     Type: Object (0x1)
79 ELF-NEXT:     Other: 0
80 ELF-NEXT:     Section: .rodata.str1.1 (0x5)
81 ELF-NEXT:   }
83 WASM:      Symbols [
84 WASM-NEXT:   Symbol {
85 WASM-NEXT:     Name: main
86 WASM-NEXT:     Type: FUNCTION (0x0)
87 WASM-NEXT:     Flags [ (0x0)
88 WASM-NEXT:     ]
89 WASM-NEXT:     ElementIndex: 0x2
90 WASM-NEXT:   }
91 WASM-NEXT:   Symbol {
92 WASM-NEXT:     Name: .L.str
93 WASM-NEXT:     Type: DATA (0x1)
94 WASM-NEXT:     Flags [ (0x2)
95 WASM-NEXT:       BINDING_LOCAL (0x2)
96 WASM-NEXT:     ]
97 WASM-NEXT:     Offset: 0x0
98 WASM-NEXT:     Segment: 0x0
99 WASM-NEXT:     Size: 0xD
100 WASM-NEXT:   }
101 WASM-NEXT:   Symbol {
102 WASM-NEXT:     Name: puts
103 WASM-NEXT:     Type: FUNCTION (0x0)
104 WASM-NEXT:     Flags [ (0x10)
105 WASM-NEXT:       UNDEFINED (0x10)
106 WASM-NEXT:     ]
107 WASM-NEXT:     ImportName: puts
108 WASM-NEXT:     ImportModule: env
109 WASM-NEXT:     ElementIndex: 0x0
110 WASM-NEXT:   }
111 WASM-NEXT:   Symbol {
112 WASM-NEXT:     Name: .LSomeOtherFunction_bitcast
113 WASM-NEXT:     Type: FUNCTION (0x0)
114 WASM-NEXT:     Flags [ (0x2)
115 WASM-NEXT:       BINDING_LOCAL (0x2)
116 WASM-NEXT:     ]
117 WASM-NEXT:     ElementIndex: 0x3
118 WASM-NEXT:   }
119 WASM-NEXT:   Symbol {
120 WASM-NEXT:     Name: SomeOtherFunction
121 WASM-NEXT:     Type: FUNCTION (0x0)
122 WASM-NEXT:     Flags [ (0x10)
123 WASM-NEXT:       UNDEFINED (0x10)
124 WASM-NEXT:     ]
125 WASM-NEXT:     ImportName: SomeOtherFunction
126 WASM-NEXT:     ImportModule: env
127 WASM-NEXT:     ElementIndex: 0x1
128 WASM-NEXT:   }
129 WASM-NEXT: ]