Lines Matching full:symbols

1 ## This is a general test for --symbols option and its aliases.
2 ## There are also other symbols* tests that check specific things.
6 ## They might never have dynamic symbols normally, for example, though we still want
7 ## to document the --dyn-symbols behavior.
11 ## Case 1: Test how llvm-readobj and llvm-readelf dumps symbols.
14 # RUN: llvm-readobj --symbols %t64 | FileCheck %s --match-full-lines --strict-whitespace --check-pr…
15 # RUN: llvm-readelf --symbols %t64 | FileCheck %s --match-full-lines --strict-whitespace --check-pr…
16 …a-sym-info %t64 | FileCheck %s --match-full-lines --strict-whitespace --check-prefix=SYMBOLS-GNU64X
18 # RUN: llvm-readobj --symbols %t32 | FileCheck %s --match-full-lines --strict-whitespace --check-pr…
19 # RUN: llvm-readelf --symbols %t32 | FileCheck %s --match-full-lines --strict-whitespace --check-pr…
20 …delf -s -X %t32 | FileCheck %s --match-full-lines --strict-whitespace --check-prefix=SYMBOLS-GNU32X
23 # RUN: llvm-readobj --symbols %t64.so > %t64llvm.txt
24 …eck --input-file=%t64llvm.txt %s --match-full-lines --strict-whitespace --check-prefix=SYMBOLS-LLVM
25 # RUN: llvm-readelf --symbols %t64.so | FileCheck %s --match-full-lines --strict-whitespace --check…
27 # RUN: llvm-readobj --symbols --extra-sym-info %t64.so | diff %t64llvm.txt -
29 # RUN: llvm-readobj --symbols %t32.so | FileCheck %s --match-full-lines --strict-whitespace --check…
30 # RUN: llvm-readelf --symbols %t32.so | FileCheck %s --match-full-lines --strict-whitespace --check…
32 # SYMBOLS-LLVM:Symbols [
33 # SYMBOLS-LLVM-NEXT: Symbol {
34 # SYMBOLS-LLVM-NEXT: Name: (0)
35 # SYMBOLS-LLVM-NEXT: Value: 0x0
36 # SYMBOLS-LLVM-NEXT: Size: 0
37 # SYMBOLS-LLVM-NEXT: Binding: Local (0x0)
38 # SYMBOLS-LLVM-NEXT: Type: None (0x0)
39 # SYMBOLS-LLVM-NEXT: Other: 0
40 # SYMBOLS-LLVM-NEXT: Section: Undefined (0x0)
41 # SYMBOLS-LLVM-NEXT: }
42 # SYMBOLS-LLVM-NEXT: Symbol {
43 # SYMBOLS-LLVM-NEXT: Name: foo (5)
44 # SYMBOLS-LLVM-NEXT: Value: 0x1
45 # SYMBOLS-LLVM-NEXT: Size: 0
46 # SYMBOLS-LLVM-NEXT: Binding: Local (0x0)
47 # SYMBOLS-LLVM-NEXT: Type: None (0x0)
48 # SYMBOLS-LLVM-NEXT: Other: 0
49 # SYMBOLS-LLVM-NEXT: Section: .text (0x1)
50 # SYMBOLS-LLVM-NEXT: }
51 # SYMBOLS-LLVM-NEXT: Symbol {
52 # SYMBOLS-LLVM-NEXT: Name: bar (1)
53 # SYMBOLS-LLVM-NEXT: Value: 0x2
54 # SYMBOLS-LLVM-NEXT: Size: 0
55 # SYMBOLS-LLVM-NEXT: Binding: Local (0x0)
56 # SYMBOLS-LLVM-NEXT: Type: None (0x0)
57 # SYMBOLS-LLVM-NEXT: Other: 0
58 # SYMBOLS-LLVM-NEXT: Section: Undefined (0x0)
59 # SYMBOLS-LLVM-NEXT: }
60 # SYMBOLS-LLVM-NEXT: Symbol {
61 # SYMBOLS-LLVM-NEXT: Name: data (9)
62 # SYMBOLS-LLVM-NEXT: Value: 0x3
63 # SYMBOLS-LLVM-NEXT: Size: 0
64 # SYMBOLS-LLVM-NEXT: Binding: Global (0x1)
65 # SYMBOLS-LLVM-NEXT: Type: None (0x0)
66 # SYMBOLS-LLVM-NEXT: Other: 0
67 # SYMBOLS-LLVM-NEXT: Section: .data (0x2)
68 # SYMBOLS-LLVM-NEXT: }
69 # SYMBOLS-LLVM-NEXT:]
71 # SYMBOLS-GNU64:Symbol table '.symtab' contains 4 entries:
72 # SYMBOLS-GNU64-NEXT: Num: Value Size Type Bind Vis Ndx Name
73 # SYMBOLS-GNU64-NEXT: 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
74 # SYMBOLS-GNU64-NEXT: 1: 0000000000000001 0 NOTYPE LOCAL DEFAULT 1 foo
75 # SYMBOLS-GNU64-NEXT: 2: 0000000000000002 0 NOTYPE LOCAL DEFAULT UND bar
76 # SYMBOLS-GNU64-NEXT: 3: 0000000000000003 0 NOTYPE GLOBAL DEFAULT 2 data
78 # SYMBOLS-GNU64X:Symbol table '.symtab' contains 4 entries:
79 #SYMBOLS-GNU64X-NEXT: Num: Value Size Type Bind Vis+Other Ndx(SecName) Name [+ V…
80 #SYMBOLS-GNU64X-NEXT: 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
81 #SYMBOLS-GNU64X-NEXT: 1: 0000000000000001 0 NOTYPE LOCAL DEFAULT 1 (.text) foo
82 #SYMBOLS-GNU64X-NEXT: 2: 0000000000000002 0 NOTYPE LOCAL DEFAULT UND bar
83 #SYMBOLS-GNU64X-NEXT: 3: 0000000000000003 0 NOTYPE GLOBAL DEFAULT 2 (.data) data
85 # SYMBOLS-GNU32:Symbol table '.symtab' contains 4 entries:
86 # SYMBOLS-GNU32-NEXT: Num: Value Size Type Bind Vis Ndx Name
87 # SYMBOLS-GNU32-NEXT: 0: 00000000 0 NOTYPE LOCAL DEFAULT UND
88 # SYMBOLS-GNU32-NEXT: 1: 00000001 0 NOTYPE LOCAL DEFAULT 1 foo
89 # SYMBOLS-GNU32-NEXT: 2: 00000002 0 NOTYPE LOCAL DEFAULT UND bar
90 # SYMBOLS-GNU32-NEXT: 3: 00000003 0 NOTYPE GLOBAL DEFAULT 2 data
92 # SYMBOLS-GNU32X:Symbol table '.symtab' contains 4 entries:
93 #SYMBOLS-GNU32X-NEXT: Num: Value Size Type Bind Vis+Other Ndx(SecName) Name [+ Version I…
94 #SYMBOLS-GNU32X-NEXT: 0: 00000000 0 NOTYPE LOCAL DEFAULT UND
95 #SYMBOLS-GNU32X-NEXT: 1: 00000001 0 NOTYPE LOCAL DEFAULT 1 (.text) foo
96 #SYMBOLS-GNU32X-NEXT: 2: 00000002 0 NOTYPE LOCAL DEFAULT UND bar
97 #SYMBOLS-GNU32X-NEXT: 3: 00000003 0 NOTYPE GLOBAL DEFAULT 2 (.data) data
100 # RUN: llvm-readobj --symbols %t64 > %t.symbols
102 # RUN: cmp %t.symbols %t.syms
103 # RUN: llvm-readobj -s %t64 | diff %t.symbols -
104 # RUN: llvm-readelf -s --elf-output-style=LLVM %t64 | diff %t.symbols -
106 # RUN: llvm-readelf --symbols %t64 > %t.symbols.gnu
108 # RUN: cmp %t.symbols.gnu %t.syms.gnu
109 # RUN: llvm-readelf -s %t64 | diff %t.symbols.gnu -
111 ## Case 3: Test that both regular and dynamic symbols are dumped when `--symbols` and `--dyn-symbol…
113 # RUN: llvm-readobj --symbols --dyn-symbols %t64 | FileCheck %s --check-prefix=BOTH-LLVM
114 # RUN: llvm-readelf --symbols --dyn-symbols %t64 | FileCheck %s --check-prefix=BOTH-GNU
116 # BOTH-LLVM: Symbols [
122 ## Case 4: --symbols implies --dyn-symbols for llvm-readelf.
123 # RUN: llvm-readobj --symbols %t64 | FileCheck %s --implicit-check-not="DynamicSymbols ["
124 # RUN: llvm-readelf --symbols %t64 | FileCheck %s --check-prefix=BOTH-GNU
126 ## Case 5: Test that `--dyn-symbols` does not trigger `--symbols` implicitly.
127 # RUN: llvm-readobj --dyn-symbols %t64 | FileCheck %s --implicit-check-not="{{^}}Symbols ["
128 # RUN: llvm-readelf --dyn-symbols %t64 | FileCheck %s --implicit-check-not="Symbol table '.symtab'"
131 # RUN: llvm-readelf --symbols %t64 %t64 | FileCheck %s --check-prefix=NUM-INDEX
150 Symbols:
163 ## Check the behavior when we are unable to print symbols due to an error.
165 ## Case 1: check we are able to dump symbols even when can't get the string table for the
168 # RUN: llvm-readobj --symbols %t64.err1 2>&1 | \
170 # RUN: llvm-readelf --symbols %t64.err1 2>&1 | \
173 # STRTAB-LINK-ERR-LLVM: Symbols [
215 Symbols:
221 ## Case 2: check we report a warning when we are unable to read symbols
224 # RUN: llvm-readobj --symbols %t64.err2 2>&1 | \
226 # RUN: llvm-readelf --symbols %t64.err2 2>&1 | \
229 # SYMTAB-ENTSIZE-ERR-LLVM: Symbols [
230 # SYMTAB-ENTSIZE-ERR-LLVM-NEXT: warning: '[[FILE]]': unable to read symbols from the SHT_SYMTAB s…
233 # SYMTAB-ENTSIZE-ERR-GNU: warning: '[[FILE]]': unable to read symbols from the SHT_SYMTAB secti…
239 # RUN: llvm-readobj --symbols %t64.err3 2>&1 | \
241 # RUN: llvm-readelf --symbols %t64.err3 2>&1 | \
244 # SYMTAB-SHSTRTAB-ERR-LLVM: Symbols [
293 Symbols: