1 # Show that llvm-readobj can print the type of symbol for all known symbol types
2 # and also for unknown types, both in the os/processor specific ranges and not,
3 # for both GNU and LLVM styles.
5 # RUN: yaml2obj %s > %t
6 # RUN: llvm-readobj --symbols %t | FileCheck %s --check-prefix=LLVM
7 # RUN: llvm-readelf --symbols %t | FileCheck %s --check-prefix=GNU
14 # LLVM: Type: Function
23 # LLVM: Name: gnu_ifunc
24 # LLVM: Type: GNU_IFunc
26 # LLVM: Name: os_specific_11
27 # LLVM: Type: OS Specific (0xB)
28 # LLVM: Name: os_specific_12
29 # LLVM: Type: OS Specific (0xC)
31 # LLVM: Name: proc_specific_13
32 # LLVM: Type: Proc Specific (0xD)
33 # LLVM: Name: proc_specific_14
34 # LLVM: Type: Proc Specific (0xE)
35 # LLVM: Name: proc_specific_15
36 # LLVM: Type: Proc Specific (0xF)
38 # LLVM: Name: unknown_7
39 # LLVM: Type: Unknown (0x7)
40 # LLVM: Name: unknown_8
41 # LLVM: Type: Unknown (0x8)
42 # LLVM: Name: unknown_9
43 # LLVM: Type: Unknown (0x9)
45 # GNU: NOTYPE {{.*}} notype
46 # GNU: OBJECT {{.*}} object
47 # GNU: FUNC {{.*}} func
48 # GNU: SECTION {{.*}} .text
49 # GNU: FILE {{.*}} file
50 # GNU: COMMON {{.*}} common
52 # GNU: IFUNC {{.*}} gnu_ifunc
53 # GNU: <OS specific>: 11 {{.*}} os_specific_11
54 # GNU: <OS specific>: 12 {{.*}} os_specific_12
55 # GNU: <processor specific>: 13 {{.*}} proc_specific_13
56 # GNU: <processor specific>: 14 {{.*}} proc_specific_14
57 # GNU: <processor specific>: 15 {{.*}} proc_specific_15
58 # GNU: <unknown>: 7 {{.*}} unknown_7
59 # GNU: <unknown>: 8 {{.*}} unknown_8
60 # GNU: <unknown>: 9 {{.*}} unknown_9
97 - Name: os_specific_11
100 - Name: os_specific_12
103 - Name: proc_specific_13
106 - Name: proc_specific_14
109 - Name: proc_specific_15