[ARM] Cortex-M4 schedule additions
[llvm-complete.git] / test / tools / llvm-readobj / elf-symbol-types.test
blob3d0ba4a48082203001695eab92143f95efe1a676
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
9 # LLVM: Name: notype
10 # LLVM: Type: None
11 # LLVM: Name: object
12 # LLVM: Type: Object
13 # LLVM: Name: func
14 # LLVM: Type: Function
15 # LLVM: Name: .text
16 # LLVM: Type: Section
17 # LLVM: Name: file
18 # LLVM: Type: File
19 # LLVM: Name: common
20 # LLVM: Type: Common
21 # LLVM: Name: tls
22 # LLVM: Type: TLS
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
51 # GNU: TLS     {{.*}} tls
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
62 !ELF
63 FileHeader:
64   Class:   ELFCLASS64
65   Data:    ELFDATA2LSB
66   Type:    ET_REL
67   Machine: EM_X86_64
68 Sections:
69   - Name: .text
70     Type: SHT_PROGBITS
71 Symbols:
72   - Name:    notype
73     Type:    STT_NOTYPE
74     Binding: STB_GLOBAL
75   - Name:    object
76     Type:    STT_OBJECT
77     Binding: STB_GLOBAL
78   - Name:    func
79     Type:    STT_FUNC
80     Binding: STB_GLOBAL
81   - Name:    .text
82     Type:    STT_SECTION
83     Section: .text
84     Binding: STB_GLOBAL
85   - Name:    file
86     Type:    STT_FILE
87     Binding: STB_GLOBAL
88   - Name:    common
89     Type:    STT_COMMON
90     Binding: STB_GLOBAL 
91   - Name:    tls
92     Type:    STT_TLS
93     Binding: STB_GLOBAL
94   - Name:    gnu_ifunc
95     Type:    STT_GNU_IFUNC
96     Binding: STB_GLOBAL
97   - Name:    os_specific_11
98     Type:    11
99     Binding: STB_GLOBAL
100   - Name:    os_specific_12
101     Type:    12
102     Binding: STB_GLOBAL
103   - Name:    proc_specific_13
104     Type:    13
105     Binding: STB_GLOBAL
106   - Name:    proc_specific_14
107     Type:    14
108     Binding: STB_GLOBAL
109   - Name:    proc_specific_15
110     Type:    15
111     Binding: STB_GLOBAL
112   - Name:    unknown_7
113     Type:    7
114     Binding: STB_GLOBAL
115   - Name:    unknown_8
116     Type:    8
117     Binding: STB_GLOBAL
118   - Name:    unknown_9
119     Type:    9
120     Binding: STB_GLOBAL